CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	      1 #define FTP_TIMEOUT
	      2 
	      3 /*  C K C F T P  --  FTP Client for C-Kermit  */
	      4 
	      5 char *ckftpv = "FTP Client, 10.0.280, 21 Jun 2023";
	      6 
	      7 /*
	      8   Authors:
	      9     Jeffrey E Altman <jaltman@secure-endpoints.com>
	     10       Secure Endpoints Inc., New York City
	     11     Frank da Cruz <fdc@columbia.edu>,
	     12       The Kermit Project, Columbia University.
	     13     David Goodwin, New Zealand
	     14 
	     15   Copyright (C) 2000, 2023
	     16     Trustees of Columbia University in the City of New York.
	     17     All rights reserved.  See the C-Kermit COPYING.TXT file or the
	     18     copyright text in the ckcmai.c module for disclaimer and permissions.
	     19 
	     20   Portions of conditionally included code Copyright Regents of the
	     21     University of California and The Stanford SRP Authentication Project;
	     22     see notices below.
	     23 */
	     24 
	     25 /*
	     26   Pending...
	     27 
	     28   . Implement recursive NLST downloads by trying to CD to each filename.
	     29     If it works, it's a directory; if not, it's a file -- GET it.  But
	     30     that won't work with servers like wu-ftpd that don't send directory 
	     31     names.  Recursion with MLSD is done.
	     32 
	     33   . Make syslog entries for session?  Files?
	     34 
	     35   . Messages are printed to stdout and stderr in random fashion.  We should
	     36     either print everything to stdout, or else be systematic about when
	     37     to use stderr.
	     38 
	     39   . Implement mail (MAIL, MLFL, MSOM, etc) if any servers support it.
	     40 
	     41   . Adapt to VMS.  Big job because of its record-oriented file system.
	     42     RMS programmer required.  There are probably also some VMS TCP/IP
	     43     product-specific wrinkles, e.g. attribute preservation in VMS-to-VMS
	     44     transfers using special options for Multinet or other FTP servers
	     45     (find out about STRU VMS).
	     46 */
	     47 
	     48 /*
	     49   Quick FTP command reference:
	     50 
	     51   RFC765 (1980) and earlier:
	     52     MODE  S(tream), B(lock), C(ompressed)
	     53     STRU  F(ILE), R(ECORD), P(AGE)
	     54     TYPE  A(SCII) <format>,  E(BCDIC) <format>, I(MAGE), L(OCAL) <bytesize>
	     55     PORT  - Port
	     56     PASV  - Passive mode
	     57     USER  - User

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	     58     PASS  - Password
	     59     ACCT  - Account
	     60     CWD   - Change Working Directory
	     61     REIN  - Logout but not disconnect
	     62     QUIT  - Bye
	     63     RETR  - Retreive
	     64     STOR  - Store
	     65     APPE  - Append
	     66     ALLO  - Allocate
	     67     REST  - Restart
	     68     RNFR  - Rename from
	     69     RNTO  - Rename to
	     70     ABOR  - Cancel
	     71     DELE  - Delete
	     72     LIST  - Directory
	     73     NLST  - Name List
	     74     SITE  - Site parameters or commands
	     75     STAT  - Status
	     76     HELP  - Help
	     77     NOOP  - Noop
	     78 
	     79   RFC959 (1985):
	     80     CDUP  - Change to Parent Directory
	     81     SMNT  - Structure Mount
	     82     STOU  - Store Unique
	     83     RMD   - Remove Directory
	     84     MKD   - Make Directory
	     85     PWD   - Print Directory
	     86     SYST  - System
	     87 
	     88   RFC2389 (1998):
	     89     FEAT  - List Features (done)
	     90     OPTS  - Send options (done)
	     91 
	     92   RFC2640 (1999):
	     93     LANG  - Specify language for messages (not done)
	     94 
	     95   Pending (Internet Drafts):
	     96     SIZE  - File size (done)
	     97     MDTM  - File modification date-time (done)
	     98     MLST  - File name and attribute list (single file) (not done)
	     99     MLSD  - File list with attributes (multiple files) (done)
	    100     MAIL, MLFL, MSOM - mail delivery (not done)
	    101 
	    102   Alphabetical syntax list:
	    103     ABOR <CRLF>
	    104     ACCT <SP> <account-information> <CRLF>
	    105     ALLO <SP> <decimal-integer> [<SP> R <SP> <decimal-integer>] <CRLF>
	    106     APPE <SP> <pathname> <CRLF>
	    107     CDUP <CRLF>
	    108     CWD  <SP> <pathname> <CRLF>
	    109     DELE <SP> <pathname> <CRLF>
	    110     FEAT <CRLF>
	    111     HELP [<SP> <string>] <CRLF>
	    112     LANG [<SP> <language-tag> ] <CRLF>
	    113     LIST [<SP> <pathname>] <CRLF>
	    114     MKD  <SP> <pathname> <CRLF>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 3
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	    115     MLSD [<SP> <pathname>] <CRLF>
	    116     MLST [<SP> <pathname>] <CRLF>
	    117     MODE <SP> <mode-code> <CRLF>
	    118     NLST [<SP> <pathname-or-wildcard>] <CRLF>
	    119     NOOP <CRLF>
	    120     OPTS <SP> <commandname> [ <SP> <command-options> ] <CRLF>
	    121     PASS <SP> <password> <CRLF>
	    122     PASV <CRLF>
	    123     PORT <SP> <host-port> <CRLF>
	    124     PWD  <CRLF>
	    125     QUIT <CRLF>
	    126     REIN <CRLF>
	    127     REST <SP> <marker> <CRLF>
	    128     RETR <SP> <pathname> <CRLF>
	    129     RMD  <SP> <pathname> <CRLF>
	    130     RNFR <SP> <pathname> <CRLF>
	    131     RNTO <SP> <pathname> <CRLF>
	    132     SITE <SP> <string> <CRLF>
	    133     SIZE <SP> <pathname> <CRLF>
	    134     SMNT <SP> <pathname> <CRLF>
	    135     STAT [<SP> <pathname>] <CRLF>
	    136     STOR <SP> <pathname> <CRLF>
	    137     STOU <CRLF>
	    138     STRU <SP> <structure-code> <CRLF>
	    139     SYST <CRLF>
	    140     TYPE <SP> <type-code> <CRLF>
	    141     USER <SP> <username> <CRLF>
	    142 */
	    143 #include "ckcsym.h"                     /* Standard includes */
 I1	    144 /* This file is for use with compilers that don't have the capability to
 I1	    145  * #define symbols on the C compiler command line.  This file must
 I1	    146  * be #include'd before all other ck*.h files so that the symbols #define'd
 I1	    147  * here can be used for any subsequent conditional code.
 I1	    148  */
	    149 #include "ckcdeb.h"
 I1	    150 /*  C K C D E B . H  */
 I1	    151 
 I1	    152 /*
 I1	    153   For recent additions search below for "2021" and "2022" and "2023".
 I1	    154   Most recent update: Fri May  5 15:32:58 2023
 I1	    155 
 I1	    156   NOTE TO CONTRIBUTORS: This file, and all the other C-Kermit files, must be
 I1	    157   compatible with C preprocessors that support only #ifdef, #else, #endif,
 I1	    158   #define, and #undef.  Please do not use #if, logical operators, or other
 I1	    159   later-model preprocessor features in any of the portable C-Kermit modules.
 I1	    160   You can, of course, use these constructions in platform-specific modules
 I1	    161   when you know they are supported.
 I1	    162 */
 I1	    163 
 I1	    164 /*
 I1	    165   This file is included by all C-Kermit modules, including the modules
 I1	    166   that aren't specific to Kermit (like the command parser and the ck?tio and
 I1	    167   ck?fio modules).  It should be included BEFORE any other C-Kermit header
 I1	    168   files.  It specifies format codes for debug(), tlog(), and similar
 I1	    169   functions, and includes any necessary definitions to be used by all C-Kermit
 I1	    170   modules, and also includes some feature selection compile-time switches, and
 I1	    171   also system- or compiler-dependent definitions, plus #includes and prototypes

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 4
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	    172   required by all C-Kermit modules.
 I1	    173 */
 I1	    174 
 I1	    175 /*
 I1	    176   Author: Frank da Cruz <fdc@columbia.edu>,
 I1	    177     Columbia University Academic Information Systems, NYC (1974-2011)
 I1	    178     The Kermit Project, Bronx NY (2011-present)
 I1	    179     Changes from David Goodwin for Windows and OS/2 (2022)
 I1	    180 
 I1	    181   Copyright (C) 1985, 2023,
 I1	    182     Trustees of Columbia University in the City of New York.
 I1	    183     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	    184     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	    185 */
 I1	    186 
 I1	    187 /*
 I1	    188   Etymology: The name of this file means "C-Kermit Common-C-Language Debugging
 I1	    189   Header", because originally it contained only the formats (F000-F111) for
 I1	    190   the debug() and tlog() functions.  Since then it has grown to include all
 I1	    191   material required by all or most of the other C-Kermit modules, including
 I1	    192   the non-Kermit specific ones.  In other words, this is the one header file
 I1	    193   that is guaranteed to be included by all C-Kermit source modules.
 I1	    194 */
 I1	    195 #ifndef CKCDEB_H			/* Don't include me more than once. */
 I1	    196 #define CKCDEB_H
 I1	    197 
 I1	    198 /* Moved here from ckcmai.c October 2022... REMOVE THIS AFTER BETA TEST! */
 I1	    199 #ifndef BETATEST
 I1	    200 #define BETATEST
 I1	    201 #endif  /* BETATEST */
 I1	    202 
 I1	    203 /* Now that WTMP and Syslog are "deprecated" don't include them by default */
 I1	    204 
 I1	    205 #ifndef DOWTMP                          /* Unless explicitly requested */
 I1	    206 #ifndef NOWTMP                          /* No more WTMP logging */
 I1	    207 #define NOWTMP
 I1	    208 #endif  /* NOWTMP */
 I1	    209 #endif  /* DOWTMP */
 I1	    210 #ifndef DOSYSLOG                        /* Unless explicitly requested */
 I1	    211 #ifndef NOSYSLOG                        /* No more syslog */
 I1	    212 #define NOSYSLOG
 I1	    213 #endif  /* NOSYSLOG */
 I1	    214 #endif  /* DOSYSLOG */
 I1	    215 /* 
 I1	    216    14 Sep 2022 - TYPE command's new /INTERPRET switch enabled by default
 I1	    217    except in Windows where it doesn't work because of character-set issues.
 I1	    218 */
 I1    X    219 #ifdef NT
 I1    X    220 #ifndef NOTYPEINTERPRET
 I1    X    221 #define NOTYPEINTERPRET
 I1    X    222 #endif  /* NOTYPEINTERPRET */
 I1    X    223 #endif  /* NT */
 I1	    224 
 I1    X    225 #ifdef NOICP                            /* 2 Nov 2022 */
 I1    X    226 #ifndef NOIKSD
 I1    X    227 #define NOIKSD
 I1    X    228 #endif /* NOIKSD */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 5
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    229 #endif /* NOICP */
 I1	    230 
 I1    X    231 #ifdef NOSPL                            /* 30 Oct 2022 */
 I1    X    232 #ifndef NOIKSD                          /* 30 Oct 2022 */
 I1    X    233 #define NOIKSD
 I1    X    234 #endif /* NOIKSD */
 I1    X    235 #ifndef NOLEARN                         /* 30 Oct 2022 */
 I1    X    236 #define NOLEARN
 I1    X    237 #endif /* NOLEARN */
 I1    X    238 #else                                   /* 12 December 2022 */
 I1	    239 
 I1	    240 #ifndef NOTYPEINTERPRET                 /* 23 August 2022 - TYPE /INTERPRET */
 I1	    241 #ifndef TYPEINTERPRET
 I1	    242 #define TYPEINTERPRET
 I1	    243 #endif  /* TYPEINTERPRET */
 I1	    244 #endif  /* NOTYPEINTERPRET */
 I1	    245 
 I1	    246 #ifndef NOCOPYINTERPRET                 /* 20 Sep 2022 - COPY /INTERPRET */
 I1	    247 #ifndef COPYINTERPRET
 I1	    248 #define COPYINTERPRET
 I1	    249 #endif  /* COPYINTERPRET */
 I1	    250 #endif  /* NOCOPYINTERPRET */
 I1	    251 
 I1	    252 #endif /* NOSPL */
 I1	    253 /*
 I1	    254   Disinclude features that are "deprecated" in 2022;
 I1	    255   on amd64 this saves about 185K out of 2.48MB, so this is really more
 I1	    256   about political correctness that saving space.  -fdc 12 May 2022
 I1	    257 */
 I1    X    258 #ifdef NODEPRECATED 
 I1    X    259 #ifndef NOFTP                           /* No more FTP client */
 I1    X    260 #define NOFTP
 I1    X    261 #endif  /* NOFTP */
 I1    X    262 #ifndef NOTELNET                        /* No more Telnet client */
 I1    X    263 #define NOTELNET
 I1    X    264 #endif  /* NOTELNET */
 I1    X    265 #ifdef TNCODE
 I1    X    266 #undef TNCODE
 I1    X    267 #endif /* TNCODE */
 I1    X    268 #ifndef NORLOGIN                        /* No more RLOGIN client */
 I1    X    269 #define NORLOGIN
 I1    X    270 #endif  /* NORLOGIN */
 I1    X    271 #endif  /* NODEPRECATED */
 I1	    272 /*
 I1	    273   As of 26 September 2022, the Arrow-key feature is included only if 
 I1	    274   explicitly requested because the API is disappearing not only in glibc
 I1	    275   but also other libcs like musl and whatever Android uses.
 I1	    276 */
 I1	    277 #ifndef DOARROWKEYS
 I1	    278 #ifndef NOARROWKEYS                     /* Arrow keys use a deprecated API */
 I1	    279 #define NOARROWKEYS                     /* (at least in glibc) */
 I1	    280 #endif /* NOARROWKEYS */
 I1	    281 #endif /* DOARROWKEYS */
 I1	    282 
 I1    X    283 #ifdef OS2
 I1    X    284 #ifndef CKODIALER
 I1    X    285 #include "ckoker.h"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 6
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    286 #endif /* CKODIALER */
 I1    X    287 #else /* OS2 */
 I1	    288 /* Unsigned numbers */
 I1	    289 
 I1	    290 #ifndef USHORT
 I1	    291 #define USHORT unsigned short
 I1	    292 #endif /* USHORT */
 I1	    293 
 I1	    294 #ifndef UINT
 I1	    295 #define UINT unsigned int
 I1	    296 #endif /* UINT */
 I1	    297 
 I1	    298 #ifndef ULONG
 I1	    299 #define ULONG unsigned long
 I1	    300 #endif /* ULONG */
 I1	    301 #endif /* OS2 */
 I1	    302 
 I1    X    303 #ifdef MACOSX10				/* Mac OS X 1.0 */
 I1    X    304 #ifndef MACOSX				/* implies Mac OS X */
 I1    X    305 #define MACOSX
 I1    X    306 #endif /* MACOSX */
 I1    X    307 #endif /* MACOSX10 */
 I1	    308 
 I1    X    309 #ifdef MACOSX				/* Mac OS X */
 I1    X    310 #ifndef BSD44				/* implies 4.4 BSD */
 I1    X    311 #define BSD44
 I1    X    312 #endif /* BSD44 */
 I1    X    313 #endif /* MACOSX */
 I1	    314 
 I1    X    315 #ifdef SCO_OSR505			/* SCO 3.2v5.0.5 */
 I1    X    316 #ifndef SCO_OSR504			/* implies SCO 3.2v5.0.4 */
 I1    X    317 #define SCO_OSR504
 I1    X    318 #endif /* SCO_OSR504 */
 I1    X    319 #endif /* SCO_OSR505 */
 I1	    320 
 I1    X    321 #ifdef SCO_OSR504			/* SCO 3.2v5.0.4 */
 I1    X    322 #ifndef CK_SCOV5			/* implies SCO 3.2v5.0 */
 I1    X    323 #define CK_SCOV5
 I1    X    324 #endif /* CK_SCOV5 */
 I1    X    325 #include <sys/types.h>			/* To sidestep header-file mess */
 I1    X    326 #endif /* SCO_OSR504 */
 I1	    327 
 I1    X    328 #ifdef CK_SCOV5
 I1    X    329 #ifndef ANYSCO
 I1    X    330 #define ANYSCO
 I1    X    331 #endif /* ANYSCO */
 I1    X    332 #endif /* CK_SCOV5 */
 I1	    333 
 I1    X    334 #ifdef UNIXWARE
 I1    X    335 #ifndef ANYSCO
 I1    X    336 #define ANYSCO
 I1    X    337 #endif /* ANYSCO */
 I1    X    338 #endif /* UNIXWARE */
 I1	    339 
 I1	    340 #ifndef MINIX				/* MINIX versions */
 I1    X    341 #ifdef MINIX340                         /* TIH 1 Feb 2022 */
 I1    X    342 #define MINIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 7
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    343 #else
 I1    X    344 #ifdef MINIX315
 I1    X    345 #define MINIX
 I1    X    346 #else
 I1    X    347 #ifdef MINIX3
 I1    X    348 #define MINIX
 I1    X    349 #else
 I1    X    350 #ifdef MINIX2
 I1    X    351 #define MINIX
 I1    X    352 #endif	/* MINIX2 */
 I1	    353 #endif	/* MINIX3 */
 I1	    354 #endif	/* MINIX315 */
 I1	    355 #endif	/* MINIX340 */
 I1	    356 #endif	/* MINIX */
 I1	    357 
 I1    X    358 #ifdef CK_SCO32V4			/* SCO 3.2v4 */
 I1    X    359 #ifndef ANYSCO
 I1    X    360 #define ANYSCO
 I1    X    361 #endif /* ANYSCO */
 I1    X    362 #ifndef XENIX
 I1    X    363 #define XENIX
 I1    X    364 #endif /* XENIX */
 I1    X    365 #ifndef SVR3
 I1    X    366 #define SVR3
 I1    X    367 #endif /* SVR3 */
 I1    X    368 #ifndef DIRENT
 I1    X    369 #define DIRENT
 I1    X    370 #endif /* DIRENT */
 I1    X    371 #ifndef RENAME
 I1    X    372 #define RENAME
 I1    X    373 #endif /* RENAME */
 I1    X    374 #ifndef SVR3JC
 I1    X    375 #define SVR3JC
 I1    X    376 #endif /* SVR3JC */
 I1    X    377 #ifndef CK_RTSCTS
 I1    X    378 #define CK_RTSCTS
 I1    X    379 #endif /* CK_RTSCTS */
 I1    X    380 #ifndef PID_T
 I1    X    381 #define PID_T pid_t
 I1    X    382 #endif /* PID_T */
 I1    X    383 #ifndef PWID_T
 I1    X    384 #define PWID_T int
 I1    X    385 #endif /* PWID_T */
 I1    X    386 #endif /* CK_SCO32V4 */
 I1	    387 
 I1	    388 /*
 I1	    389   The UNIX Seventh Edition (1979) compiler doesn't allow a lot of -D's on
 I1	    390   the make command line and big modules can result in nonsensical fatal
 I1	    391   compilation errors so I have to remove a lot of features to make it
 I1	    392   compile at all without putting more -D's on the make-command line.
 I1	    393 
 I1	    394   KFLAGS=-DV7MIN can also be used on other platforms, e.g. Linux, to build
 I1	    395   the smallest possible C-Kermit program, about 400kb: command-line only, no
 I1	    396   script programming, no making network connections, no character-set
 I1	    397   support, dialing of only the most common modem types, no use of external
 I1	    398   processes, and no logging or debugging.  On Ubuntu this results in an
 I1	    399   executable of about 402KB, compared to the normal one of 2.8MB.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 8
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	    400 
 I1	    401   -fdc, 3 November 2022
 I1	    402 */
 I1    X    403 #ifdef V7MIN                            /* UNIX V7 MINIMUM-SIZE BUILD */
 I1    X    404 #ifndef NOICP                           /* No interactive commands */
 I1    X    405 #define NOICP
 I1    X    406 #endif /* NOICP */
 I1    X    407 #ifndef NONET                           /* No networking of any kind */
 I1    X    408 #define NONET
 I1    X    409 #endif /* NONET */
 I1    X    410 #ifndef NOCSETS                         /* No character-set conversion */
 I1    X    411 #define NOCSETS
 I1    X    412 #endif /* NOCSETS */
 I1    X    413 #ifndef MINIDIAL                        /* Minimum modem support */
 I1    X    414 #define MINIDIAL
 I1    X    415 #endif /* MINIDIAL */
 I1    X    416 #ifndef NOPTY                           /* No spawning */
 I1    X    417 #define NOPTY
 I1    X    418 #endif /* NOPTY */
 I1    X    419 #ifndef NODEBUG                         /* No debugging */
 I1    X    420 #define NODEBUG
 I1    X    421 #endif  /* NODEBUG */
 I1    X    422 #endif /* V7MIN */
 I1	    423 
 I1    X    424 #ifdef NOICP				/* If no command parser */
 I1    X    425 #ifndef NOSPL				/* Then no script language either */
 I1    X    426 #define NOSPL
 I1    X    427 #endif /* NOSPL */
 I1    X    428 #ifndef NOCSETS				/* Or characer sets */
 I1    X    429 #define NOCSETS
 I1    X    430 #endif /* NOCSETS */
 I1    X    431 #ifndef NOFTP				/* Or FTP client */
 I1    X    432 #define NOFTP
 I1    X    433 #endif /* NOFTP */
 I1    X    434 #endif /* NOICP */
 I1	    435 
 I1	    436 /* Built-in makefile entries */
 I1	    437 
 I1    X    438 #ifdef SOLARIS11			/* Solaris 11 implies 10 */
 I1    X    439 #ifndef SOLARIS10
 I1    X    440 #define SOLARIS10
 I1    X    441 #endif /* SOLARIS10 */
 I1    X    442 #endif /* SOLARIS11 */
 I1	    443 
 I1    X    444 #ifdef SOLARIS10			/* Solaris 10 implies 9 */
 I1    X    445 #ifndef SOLARIS9
 I1    X    446 #define SOLARIS9
 I1    X    447 #endif /* SOLARIS9 */
 I1    X    448 #endif /* SOLARIS10 */
 I1	    449 
 I1    X    450 #ifdef SOLARIS9				/* Solaris 9 implies 8 */
 I1    X    451 #ifndef SOLARIS8
 I1    X    452 #define SOLARIS8
 I1    X    453 #endif /* SOLARIS8 */
 I1    X    454 #endif /* SOLARIS9 */
 I1	    455 
 I1    X    456 #ifdef SOLARIS8				/* Solaris 8 implies 7 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 9
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    457 #ifndef SOLARIS7
 I1    X    458 #define SOLARIS7
 I1    X    459 #endif /* SOLARIS7 */
 I1    X    460 #endif /* SOLARIS8 */
 I1	    461 
 I1    X    462 #ifdef SOLARIS7				/* Solaris 7 implies 2.6 */
 I1    X    463 #ifndef SOLARIS26
 I1    X    464 #define SOLARIS26
 I1    X    465 #endif /* SOLARIS26 */
 I1    X    466 #endif /* SOLARIS7 */
 I1	    467 
 I1    X    468 #ifdef SOLARIS26			/* Solaris 2.6 implies 2.5 */
 I1    X    469 #ifndef SOLARIS25
 I1    X    470 #define SOLARIS25
 I1    X    471 #endif /* SOLARIS25 */
 I1    X    472 #endif /* SOLARIS26 */
 I1	    473 
 I1    X    474 #ifdef SOLARIS25			/* Solaris 2.5 implies Solaris */
 I1    X    475 #ifndef SOLARIS
 I1    X    476 #define SOLARIS
 I1    X    477 #endif /* SOLARIS */
 I1    X    478 #ifndef POSIX				/* And POSIX */
 I1    X    479 #define POSIX
 I1    X    480 #endif /* POSIX */
 I1    X    481 #ifndef CK_WREFRESH			/* And this (curses) */
 I1    X    482 #define CK_WREFRESH
 I1    X    483 #endif /* CK_WREFRESH */
 I1    X    484 #endif /* SOLARIS25 */
 I1	    485 
 I1    X    486 #ifdef SOLARIS24			/* Solaris 2.4 implies Solaris */
 I1    X    487 #ifndef SOLARIS
 I1    X    488 #define SOLARIS
 I1    X    489 #endif /* SOLARIS */
 I1    X    490 #endif /* SOLARIS24 */
 I1	    491 
 I1    X    492 #ifdef SOLARIS				/* Solaris gets "POSIX" RTS/CTS API */
 I1    X    493 #ifdef POSIX
 I1    X    494 #ifndef POSIX_CRTSCTS
 I1    X    495 #define POSIX_CRTSCTS
 I1    X    496 #endif /* POSIX_CRTSCTS */
 I1    X    497 #endif /* POSIX */
 I1    X    498 #ifndef SVR4
 I1    X    499 #define SVR4
 I1    X    500 #endif	/* SVR4 */
 I1    X    501 #ifndef STERMIOX
 I1    X    502 #define STERMIOX
 I1    X    503 #endif	/* STERMIOX */
 I1    X    504 #ifndef SELECT
 I1    X    505 #define SELECT
 I1    X    506 #endif	/* SELECT */
 I1    X    507 #ifndef FNFLOAT
 I1    X    508 #define FNFLOAT
 I1    X    509 #endif	/* FNFLOAT */
 I1    X    510 #ifndef DIRENT
 I1    X    511 #define DIRENT
 I1    X    512 #endif	/* DIRENT */
 I1    X    513 #ifndef BIGBUFOK

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 10
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    514 #define BIGBUFOK
 I1    X    515 #endif	/* BIGBUFOK */
 I1    X    516 #ifndef CK_NEWTERM
 I1    X    517 #define CK_NEWTERM
 I1    X    518 #endif	/* CK_NEWTERM */
 I1    X    519 #endif /* SOLARIS */
 I1	    520 
 I1    X    521 #ifdef SUN4S5				/* Sun-4 System V environment */
 I1    X    522 #ifndef SVR3				/* implies System V R3 or later */
 I1    X    523 #define SVR3
 I1    X    524 #endif /* SVR3 */
 I1    X    525 #endif /* SUN4S5 */
 I1    X    526 #ifdef SUNOS41				/* SUNOS41 implies SUNOS4 */
 I1    X    527 #ifndef SUNOS4
 I1    X    528 #define SUNOS4
 I1    X    529 #endif /* SUNOS4 */
 I1    X    530 #endif /* SUNOS41 */
 I1	    531 
 I1    X    532 #ifdef SUN4S5				/* Sun-4 System V environment */
 I1    X    533 #ifndef SVR3				/* implies System V R3 or later */
 I1    X    534 #define SVR3
 I1    X    535 #endif /* SVR3 */
 I1    X    536 #endif /* SUN4S5 */
 I1	    537 
 I1    X    538 #ifdef SUNOS41				/* SUNOS41 implies SUNOS4 */
 I1    X    539 #ifndef SUNOS4
 I1    X    540 #define SUNOS4
 I1    X    541 #endif /* SUNOS4 */
 I1    X    542 #endif /* SUNOS41 */
 I1	    543 
 I1    X    544 #ifdef SUNOS4				/* Built-in SUNOS4 makefile entry */
 I1    X    545 #ifndef UNIX
 I1    X    546 #define UNIX
 I1    X    547 #endif /* UNIX */
 I1    X    548 #ifndef BSD4
 I1    X    549 #define BSD4
 I1    X    550 #endif /* BSD4 */
 I1    X    551 #ifndef NOSETBUF
 I1    X    552 #define NOSETBUF
 I1    X    553 #endif /* NOSETBUF */
 I1    X    554 #ifndef DIRENT
 I1    X    555 #define DIRENT
 I1    X    556 #endif /* DIRENT */
 I1    X    557 #ifndef NONET
 I1    X    558 #ifndef TCPSOCKET
 I1    X    559 #define TCPSOCKET
 I1    X    560 #endif /* TCPSOCKET */
 I1    X    561 #endif /* NONET */
 I1    X    562 #ifndef SAVEDUID
 I1    X    563 #define SAVEDUID
 I1    X    564 #endif /* SAVEDUID */
 I1    X    565 #ifndef DYNAMIC
 I1    X    566 #define DYNAMIC
 I1    X    567 #endif /* DYNAMIC */
 I1    X    568 #endif /* SUNOS4 */
 I1	    569 
 I1    X    570 #ifdef SOLARIS				/* Built in makefile entry */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 11
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    571 #ifndef NOSETBUF			/* for Solaris 2.x */
 I1    X    572 #define NOSETBUF
 I1    X    573 #endif /* NOSETBUF */
 I1    X    574 #ifndef NOCURSES
 I1    X    575 #ifndef CK_CURSES
 I1    X    576 #define CK_CURSES
 I1    X    577 #endif /* CK_CURSES */
 I1    X    578 #endif /* NOCURSES */
 I1    X    579 #ifndef CK_NEWTERM
 I1    X    580 #define CK_NEWTERM
 I1    X    581 #endif /* CK_NEWTERM */
 I1    X    582 #ifndef DIRENT
 I1    X    583 #define DIRENT
 I1    X    584 #endif /* DIRENT */
 I1    X    585 #ifndef NONET
 I1    X    586 #ifndef TCPSOCKET
 I1    X    587 #define TCPSOCKET
 I1    X    588 #endif /* TCPSOCKET */
 I1    X    589 #endif /* NONET */
 I1    X    590 #ifndef UNIX
 I1    X    591 #define UNIX
 I1    X    592 #endif /* UNIX */
 I1    X    593 #ifndef SVR4
 I1    X    594 #define SVR4
 I1    X    595 #endif /* SVR4 */
 I1    X    596 #ifndef HADDRLIST
 I1    X    597 #define HADDRLIST
 I1    X    598 #endif /* HADDRLIST */
 I1    X    599 #ifndef STERMIOX
 I1    X    600 #define STERMIOX
 I1    X    601 #endif /* STERMIOX */
 I1    X    602 #ifndef SELECT
 I1    X    603 #define SELECT
 I1    X    604 #endif /* SELECT */
 I1    X    605 #ifndef DYNAMIC
 I1    X    606 #define DYNAMIC
 I1    X    607 #endif /* DYNAMIC */
 I1    X    608 #ifndef NOUUCP
 I1    X    609 #ifndef HDBUUCP
 I1    X    610 #define HDBUUCP
 I1    X    611 #endif /* HDBUUCP */
 I1    X    612 #endif /* NOUUCP */
 I1    X    613 #endif /* SOLARIS */
 I1	    614 
 I1	    615 /* Features that can be eliminated from a no-file-transfer version */
 I1	    616 
 I1    X    617 #ifdef NOXFER
 I1    X    618 #ifndef NOFTP
 I1    X    619 #define NOFTP
 I1    X    620 #endif /* NOFTP */
 I1    X    621 #ifndef OS2
 I1    X    622 #ifndef NOCURSES			/* Fullscreen file-transfer display */
 I1    X    623 #define NOCURSES
 I1    X    624 #endif /* NOCURSES */
 I1    X    625 #endif /* OS2 */
 I1    X    626 #ifndef NOCKXYZ				/* XYZMODEM support */
 I1    X    627 #define NOCKXYZ

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 12
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    628 #endif /* NOCKXYZ */
 I1    X    629 #ifndef NOCKSPEED			/* Ctrl-char unprefixing */
 I1    X    630 #define NOCKSPEED
 I1    X    631 #endif /* NOCKSPEED */
 I1    X    632 #ifndef NOSERVER			/* Server mode */
 I1    X    633 #define NOSERVER
 I1    X    634 #endif /* NOSERVER */
 I1    X    635 #ifndef NOCKTIMERS			/* Dynamic packet timers */
 I1    X    636 #define NOCKTIMERS
 I1    X    637 #endif /* NOCKTIMERS */
 I1    X    638 #ifndef NOPATTERNS			/* File-type patterns */
 I1    X    639 #define NOPATTERNS
 I1    X    640 #endif /* NOPATTERNS */
 I1    X    641 #ifndef NOSTREAMING			/* Streaming */
 I1    X    642 #define NOSTREAMING
 I1    X    643 #endif /* NOSTREAMING */
 I1    X    644 #ifndef NOIKSD				/* Internet Kermit Service */
 I1    X    645 #define NOIKSD
 I1    X    646 #endif /* NOIKSD */
 I1    X    647 #ifndef NOPIPESEND			/* Sending from pipes */
 I1    X    648 #define NOPIPESEND
 I1    X    649 #endif /* NOPIPESEND */
 I1    X    650 #ifndef NOAUTODL			/* Autodownload */
 I1    X    651 #define NOAUTODL
 I1    X    652 #endif /* NOAUTODL */
 I1    X    653 #ifndef NOMSEND				/* MSEND */
 I1    X    654 #define NOMSEND
 I1    X    655 #endif /* NOMSEND */
 I1    X    656 #ifndef NOTLOG				/* Transaction logging */
 I1    X    657 #define NOTLOG
 I1    X    658 #endif /* NOTLOG */
 I1    X    659 #ifndef NOCKXXCHAR			/* Packet character doubling */
 I1    X    660 #define NOCKXXCHAR
 I1    X    661 #endif /* NOCKXXCHAR */
 I1    X    662 #endif /* NOXFER */
 I1	    663 
 I1    X    664 #ifdef NOICP				/* No Interactive Command Parser */
 I1    X    665 #ifndef NODIAL				/* Implies No DIAL command */
 I1    X    666 #define NODIAL
 I1    X    667 #endif /* NODIAL */
 I1    X    668 #ifndef NOCKXYZ				/* and no external protocols */
 I1    X    669 #define NOCKXYZ
 I1    X    670 #endif /* NOCKXYZ */
 I1    X    671 #endif /* NOICP */
 I1	    672 
 I1	    673 #ifndef NOIKSD
 I1    X    674 #ifdef IKSDONLY
 I1    X    675 #ifndef IKSD
 I1    X    676 #define IKSD
 I1    X    677 #endif /* IKSD */
 I1    X    678 #ifndef NOLOCAL
 I1    X    679 #define NOLOCAL
 I1    X    680 #endif /* NOLOCAL */
 I1    X    681 #ifndef NOPUSH
 I1    X    682 #define NOPUSH
 I1    X    683 #endif /* NOPUSH */
 I1    X    684 #ifndef TNCODE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 13
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    685 #define TNCODE
 I1    X    686 #endif /* TNCODE */
 I1    X    687 #ifndef TCPSOCKET
 I1    X    688 #define TCPSOCKET
 I1    X    689 #endif /* TCPSOCKET */
 I1    X    690 #ifndef NETCONN
 I1    X    691 #define NETCONN
 I1    X    692 #endif /* NETCONN */
 I1    X    693 #ifdef SUNX25
 I1    X    694 #undef SUNX25
 I1    X    695 #endif /* SUNX25 */
 I1    X    696 #ifdef IBMX25
 I1    X    697 #undef IBMX25
 I1    X    698 #endif /* IBMX25 */
 I1    X    699 #ifdef STRATUSX25
 I1    X    700 #undef STRATUSX25
 I1    X    701 #endif /* STRATUSX25 */
 I1    X    702 #ifdef CK_NETBIOS
 I1    X    703 #undef CK_NETBIOS
 I1    X    704 #endif /* CK_NETBIOS */
 I1    X    705 #ifdef SUPERLAT
 I1    X    706 #undef SUPERLAT
 I1    X    707 #endif /* SUPERLAT */
 I1    X    708 #ifdef NPIPE
 I1    X    709 #undef NPIPE
 I1    X    710 #endif /* NPIPE */
 I1    X    711 #ifdef NETFILE
 I1    X    712 #undef NETFILE
 I1    X    713 #endif /* NETFILE */
 I1    X    714 #ifdef NETCMD
 I1    X    715 #undef NETCMD
 I1    X    716 #endif /* NETCMD */
 I1    X    717 #ifdef NETPTY
 I1    X    718 #undef NETPTY
 I1    X    719 #endif /* NETPTY */
 I1    X    720 #ifdef RLOGCODE
 I1    X    721 #undef RLOGCODE
 I1    X    722 #endif /* RLOGCODE */
 I1    X    723 #ifdef NETDLL
 I1    X    724 #undef NETDLL
 I1    X    725 #endif /* NETDLL */
 I1    X    726 #ifndef NOSSH
 I1    X    727 #undef NOSSH
 I1    X    728 #endif /* NOSSH */
 I1    X    729 #ifndef NOFORWARDX
 I1    X    730 #define NOFORWARDX
 I1    X    731 #endif /* NOFORWARDX */
 I1    X    732 #ifndef NOBROWSER
 I1    X    733 #define NOBROWSER
 I1    X    734 #endif /* NOBROWSER */
 I1    X    735 #ifndef NOHTTP
 I1    X    736 #define NOHTTP
 I1    X    737 #endif /* NOHTTP */
 I1    X    738 #ifndef NOFTP
 I1    X    739 #define NOFTP
 I1    X    740 #endif /* NOFTP */
 I1    X    741 #ifndef NO_COMPORT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 14
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    742 #define NO_COMPORT
 I1    X    743 #endif /* NO_COMPORT */
 I1    X    744 #endif /* IKSDONLY */
 I1	    745 #endif /* NOIKSD */
 I1	    746 
 I1	    747 /* Features that can be eliminated from a remote-only version */
 I1	    748 
 I1    X    749 #ifdef NOLOCAL
 I1    X    750 #ifndef NOFTP
 I1    X    751 #define NOFTP
 I1    X    752 #endif /* NOFTP */
 I1    X    753 #ifndef NOHTTP
 I1    X    754 #define NOHTTP
 I1    X    755 #endif /* NOHTTP */
 I1    X    756 #ifndef NOSSH
 I1    X    757 #define NOSSH
 I1    X    758 #endif /* NOSSH */
 I1    X    759 #ifndef NOTERM
 I1    X    760 #define NOTERM
 I1    X    761 #endif /* NOTERM */
 I1    X    762 #ifndef NOCURSES			/* Fullscreen file-transfer display */
 I1    X    763 #define NOCURSES
 I1    X    764 #endif /* NOCURSES */
 I1    X    765 #ifndef NODIAL
 I1    X    766 #define NODIAL
 I1    X    767 #endif /* NODIAL */
 I1    X    768 #ifndef NOSCRIPT
 I1    X    769 #define NOSCRIPT
 I1    X    770 #endif /* NOSCRIPT */
 I1    X    771 #ifndef NOSETKEY
 I1    X    772 #define NOSETKEY
 I1    X    773 #endif /* NOSETKEY */
 I1    X    774 #ifndef NOKVERBS
 I1    X    775 #define NOKVERBS
 I1    X    776 #endif /* NOKVERBS */
 I1    X    777 #ifndef NOXMIT
 I1    X    778 #define NOXMIT
 I1    X    779 #endif /* NOXMIT */
 I1    X    780 #ifdef CK_CURSES
 I1    X    781 #undef CK_CURSES
 I1    X    782 #endif /* CK_CURSES */
 I1    X    783 #ifndef IKSDONLY
 I1    X    784 #ifndef NOAPC
 I1    X    785 #define NOAPC
 I1    X    786 #endif /* NOAPC */
 I1    X    787 #ifndef NONET
 I1    X    788 #define NONET
 I1    X    789 #endif /* NONET */
 I1    X    790 #endif /* IKSDONLY */
 I1    X    791 #endif /* NOLOCAL */
 I1	    792 
 I1    X    793 #ifdef NONET
 I1    X    794 #ifndef NOTCPIP
 I1    X    795 #define NOTCPIP
 I1    X    796 #endif  /* NOTCPIP */
 I1    X    797 #ifndef NONETDIR
 I1    X    798 #define NONETDIR

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 15
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    799 #endif  /* NONETDIR */
 I1    X    800 #ifndef NOIKSD
 I1    X    801 #define NOIKSD
 I1    X    802 #endif /* NOIKSD */
 I1    X    803 #ifdef TNCODE
 I1    X    804 #undef TNCODE
 I1    X    805 #endif /* TNCODE */
 I1    X    806 #ifdef NETCONN
 I1    X    807 #undef NETCONN
 I1    X    808 #endif /* NETCONN */
 I1    X    809 #ifdef TCPSOCKET
 I1    X    810 #undef TCPSOCKET
 I1    X    811 #endif /* TCPSOCKET */
 I1    X    812 #ifndef NOTCPOPTS
 I1    X    813 #define NOTCPOPTS
 I1    X    814 #endif /* NOTCPOPTS */
 I1    X    815 #ifdef SUNX25
 I1    X    816 #undef SUNX25
 I1    X    817 #endif /* SUNX25 */
 I1    X    818 #ifdef IBMX25
 I1    X    819 #undef IBMX25
 I1    X    820 #endif /* IBMX25 */
 I1    X    821 #ifdef STRATUSX25
 I1    X    822 #undef STRATUSX25
 I1    X    823 #endif /* STRATUSX25 */
 I1    X    824 #ifdef CK_NETBIOS
 I1    X    825 #undef CK_NETBIOS
 I1    X    826 #endif /* CK_NETBIOS */
 I1    X    827 #ifdef SUPERLAT
 I1    X    828 #undef SUPERLAT
 I1    X    829 #endif /* SUPERLAT */
 I1    X    830 #ifdef NPIPE
 I1    X    831 #undef NPIPE
 I1    X    832 #endif /* NPIPE */
 I1    X    833 #ifdef NETFILE
 I1    X    834 #undef NETFILE
 I1    X    835 #endif /* NETFILE */
 I1    X    836 #ifdef NETCMD
 I1    X    837 #undef NETCMD
 I1    X    838 #endif /* NETCMD */
 I1    X    839 /* Commented out fdc May 2020 to allow external SSH command */
 I1    X    840 /* #ifdef NETPTY */
 I1    X    841 /* #undef NETPTY */
 I1    X    842 /* #endif NETPTY */
 I1    X    843 #ifdef RLOGCODE
 I1    X    844 #undef RLOGCODE
 I1    X    845 #endif /* RLOGCODE */
 I1    X    846 #ifdef NETDLL
 I1    X    847 #undef NETDLL
 I1    X    848 #endif /* NETDLL */
 I1    X    849 #ifndef NO_SSL                          /* added May 2020 fdc */
 I1    X    850 #define NO_SSL
 I1    X    851 #endif  /* NO_SSL */
 I1    X    852 /* Commented out fdc May 2020 */
 I1    X    853 /* so we can use external ssh client in NONET builds */
 I1    X    854 /* #ifndef NOSSH */
 I1    X    855 /* #define NOSSH */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 16
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    856 /* #endif */ /* NOSSH */
 I1    X    857 #ifndef NOFTP
 I1    X    858 #define NOFTP
 I1    X    859 #endif /* NOFTP */
 I1    X    860 #ifndef NOHTTP
 I1    X    861 #define NOHTTP
 I1    X    862 #endif /* NOHTTP */
 I1    X    863 #ifndef NOBROWSER
 I1    X    864 #define NOBROWSER
 I1    X    865 #endif /* NOBROWSER */
 I1    X    866 #ifndef NOFORWARDX
 I1    X    867 #define NOFORWARDX
 I1    X    868 #endif /* NOFORWARDX */
 I1    X    869 #endif /* NONET */
 I1	    870 
 I1    X    871 #ifdef IKSDONLY
 I1    X    872 #ifdef SUNX25
 I1    X    873 #undef SUNX25
 I1    X    874 #endif /* SUNX25 */
 I1    X    875 #ifdef IBMX25
 I1    X    876 #undef IBMX25
 I1    X    877 #endif /* IBMX25 */
 I1    X    878 #ifdef STRATUSX25
 I1    X    879 #undef STRATUSX25
 I1    X    880 #endif /* STRATUSX25 */
 I1    X    881 #ifdef CK_NETBIOS
 I1    X    882 #undef CK_NETBIOS
 I1    X    883 #endif /* CK_NETBIOS */
 I1    X    884 #ifdef SUPERLAT
 I1    X    885 #undef SUPERLAT
 I1    X    886 #endif /* SUPERLAT */
 I1    X    887 #ifdef NPIPE
 I1    X    888 #undef NPIPE
 I1    X    889 #endif /* NPIPE */
 I1    X    890 #ifdef NETFILE
 I1    X    891 #undef NETFILE
 I1    X    892 #endif /* NETFILE */
 I1    X    893 #ifdef NETCMD
 I1    X    894 #undef NETCMD
 I1    X    895 #endif /* NETCMD */
 I1    X    896 #ifdef NETPTY
 I1    X    897 #undef NETPTY
 I1    X    898 #endif /* NETPTY */
 I1    X    899 #ifdef RLOGCODE
 I1    X    900 #undef RLOGCODE
 I1    X    901 #endif /* RLOGCODE */
 I1    X    902 #ifdef NETDLL
 I1    X    903 #undef NETDLL
 I1    X    904 #endif /* NETDLL */
 I1    X    905 #ifndef NOSSH
 I1    X    906 #define NOSSH
 I1    X    907 #endif /* NOSSH */
 I1    X    908 #ifndef NOHTTP
 I1    X    909 #define NOHTTP
 I1    X    910 #endif /* NOHTTP */
 I1    X    911 #ifndef NOBROWSER
 I1    X    912 #define NOBROWSER

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 17
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X    913 #endif /* NOBROWSER */
 I1    X    914 #endif /* IKSDONLY */
 I1	    915 /*
 I1	    916   Note that none of the above precludes TNCODE, which can be defined in
 I1	    917   the absence of TCPSOCKET, etc, to enable server-side Telnet negotation.
 I1	    918 */
 I1	    919 #ifndef TNCODE				/* This is for the benefit of */
 I1	    920 #ifdef TCPSOCKET			/* modules that might need TNCODE */
 I1	    921 #define TNCODE				/* not all of ckcnet.h... */
 I1	    922 #endif /* TCPSOCKET */
 I1	    923 #endif /* TNCODE */
 I1	    924 
 I1	    925 #ifndef NETCONN
 I1	    926 #ifdef TCPSOCKET
 I1	    927 #define NETCONN
 I1	    928 #endif /* TCPSOCKET */
 I1	    929 #endif /* NETCONN */
 I1	    930 
 I1	    931 #ifndef DEFPAR				/* Default parity */
 I1	    932 #define DEFPAR 0			/* Must be here because it is used */
 I1	    933 #endif /* DEFPAR */			/* by all classes of modules */
 I1	    934 
 I1    X    935 #ifdef NT
 I1    X    936 #ifndef OS2ORWIN32
 I1    X    937 #define OS2ORWIN32
 I1    X    938 #endif /* OS2ORWIN32 */
 I1    X    939 #ifndef OS2
 I1    X    940 #define WIN32ONLY
 I1    X    941 #endif /* OS2 */
 I1    X    942 #endif /* NT */
 I1	    943 
 I1    X    944 #ifdef OS2				/* For OS/2 debugging */
 I1    X    945 #ifndef OS2ORWIN32
 I1    X    946 #define OS2ORWIN32
 I1    X    947 #endif /* OS2ORWIN32 */
 I1    X    948 #ifdef NT
 I1    X    949 #define NOCRYPT
 I1    X    950 #include <windows.h>
 I1    X    951 #define NTSIG
 I1    X    952 #else /* NT */
 I1    X    953 #define OS2ONLY
 I1    X    954 #include <os2def.h>
 I1    X    955 #endif /* NT */
 I1    X    956 #ifndef OS2ORUNIX
 I1    X    957 #define OS2ORUNIX
 I1    X    958 #endif /* OS2ORUNIX */
 I1    X    959 #ifndef OS2ORVMS
 I1    X    960 #define OS2ORVMS
 I1    X    961 #endif /* OS2ORVMS */
 I1    X    962 #endif /* OS2 */
 I1	    963 
 I1	    964 /* C-Kermit for Windows can now be 64-bit so OS2ORWIN32 is a misnomer */
 I1    X    965 #ifdef OS2ORWIN32
 I1    X    966 #ifndef OS2ORWINDOWS
 I1    X    967 #define OS2ORWINDOWS
 I1    X    968 #endif /* OS2ORWINDOWS */
 I1    X    969 #endif /* OS2ORWIN32 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 18
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	    970 
 I1	    971 /* Moved here from ckcfnp.h 3 May 2023 */
 I1	    972 /* NEW PROTOTYPE FOR MAIN() ADDED 02 MAY 2023 */
 I1	    973 
 I1	    974 #ifndef MAINNAME
 I1    X    975 #ifdef OS2ORWINDOWS
 I1    X    976 #define MAINISVOID
 I1    X    977 #ifdef KUI
 I1    X    978 #define MAINNAME Main
 I1    X    979 #else /* not KUI */
 I1    X    980 #define MAINNAME main
 I1    X    981 #endif /* KUI */
 I1    X    982 #else /* not OS/2 or Windows */
 I1	    983 #define MAINNAME main
 I1	    984 #endif /* OS2ORWINDOWS */
 I1	    985 #endif /* MAINNAME */
 I1	    986 
 I1    X    987 #ifdef MAINISVOID
 I1    X    988 /* This is a leftover from original Macintosh */
 I1    X    989 typedef VOID MAINTYPE;
 I1    X    990 #else
 I1	    991 typedef int MAINTYPE;
 I1	    992 /* if any other types are needed add them here */
 I1	    993 #endif /* MAINISVOID */
 I1	    994 
 I1	    995 #include <stdio.h>			/* Begin by including this. */
 I2	    996 #ifndef __STDIO_LOADED
 I2	    997 #define __STDIO_LOADED 1
 I2	    998 
 I2	    999 #ifndef __STDIO_PROCESSED
 I2	   1000 #define __STDIO_PROCESSED
 I2	   1001 
 I2	   1002 /****************************************************************************
 I2	   1003 **
 I2	   1004 **  <stdio.h> - Standard Input/Output
 I2	   1005 **
 I2	   1006 *****************************************************************************
 I2	   1007 **  Header introduced by the ANSI C Standard
 I2	   1008 *****************************************************************************
 I2	   1009 */
 I2	   1010 /* ************************************************************************* */
 I2	   1011 /* *                                                                       * */
 I2	   1012 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I2	   1013 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I2	   1014 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I2	   1015 /* * prior written permission of HPE.                                      * */
 I2	   1016 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I2	   1017 /* *                                                                       * */
 I2	   1018 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I2	   1019 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I2	   1020 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I2	   1021 /* * the prior written permission of VMS Software, Inc.                    * */
 I2	   1022 /* * Copyright 2017-2021 VMS Software, Inc.                                * */
 I2	   1023 /* *                                                                       * */
 I2	   1024 /* ************************************************************************* */
 I2	   1025 
 I2	   1026 #pragma __nostandard

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 19
V1.0                                                             5-MAY-2023 14:33:19  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1027 #include <decc$types.h>
 I3	   1028 #ifndef ____DECC_TYPES_LOADED
 I3	   1029 
 I3	   1030 /*
 I3	   1031 ** Note, that for decc$types.h header we cannot use the name of the header
 I3	   1032 ** file with leading underscores as protecting macro, as we usually do in
 I3	   1033 ** our public header files, because the file name contains dollar sign which
 I3	   1034 ** is not allowed in identifier in strict ANSI mode. This is why we use
 I3	   1035 ** ____DECC_TYPES_LOADED instead of ____DECC$TYPES_LOADED .
 I3	   1036 */
 I3	   1037 
 I3	   1038 #define ____DECC_TYPES_LOADED
 I3	   1039 /****************************************************************************
 I3	   1040 **
 I3	   1041 **  This header file is included by all header files.  The purpose of this
 I3	   1042 **  header file is to include those things which are either done by all
 I3	   1043 **  header files or introduce no name space violations by doing so.
 I3	   1044 **
 I3	   1045 *****************************************************************************
 I3	   1046 **  Header not defined by any specification or standard
 I3	   1047 *****************************************************************************
 I3	   1048 **/                                                                       
 I3	   1049 /* ************************************************************************* */
 I3	   1050 /* *                                                                       * */
 I3	   1051 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I3	   1052 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I3	   1053 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I3	   1054 /* * prior written permission of HPE.                                      * */
 I3	   1055 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I3	   1056 /* *                                                                       * */
 I3	   1057 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I3	   1058 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I3	   1059 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I3	   1060 /* * the prior written permission of VMS Software, Inc.                    * */
 I3	   1061 /* * Copyright 2017-2020 VMS Software, Inc.                                * */
 I3	   1062 /* *                                                                       * */
 I3	   1063 /* ************************************************************************* */
 I3	   1064 
 I3	   1065 #pragma __nostandard
 I3	   1066 
 I3	   1067 #define __preferred_base_alignment __quadword
 I3	   1068 
 I3	   1069 /*
 I3	   1070 ** Set up feature test macros
 I3	   1071 */
 I3    X   1072 # if defined _XOPEN_SOURCE_EXTENDED && !defined _XOPEN_SOURCE
 I3    X   1073 #   define _XOPEN_SOURCE
 I3    X   1074 # endif
 I3	   1075 
 I3    X   1076 # if defined _XOPEN_SOURCE 
 I3    X   1077 #   if !defined _POSIX_C_SOURCE
 I3    X   1078 #      define _POSIX_C_SOURCE 2
 I3    X   1079 #   endif
 I3    X   1080 #   if _POSIX_C_SOURCE < 2
 I3    X   1081 #      undef  _POSIX_C_SOURCE
 I3    X   1082 #      define _POSIX_C_SOURCE 2
 I3    X   1083 #   endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 20
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3    X   1084 # endif
 I3	   1085 
 I3    X   1086 # if defined _POSIX_SOURCE 
 I3    X   1087 #   if !defined _POSIX_C_SOURCE
 I3    X   1088 #      define _POSIX_C_SOURCE 1
 I3    X   1089 #   endif
 I3    X   1090 #   if _POSIX_C_SOURCE < 1
 I3    X   1091 #      undef  _POSIX_C_SOURCE     /*  Use _POSIX_C_SOURCE with a value of 1 */
 I3    X   1092 #      define _POSIX_C_SOURCE 1   /*  instead of _POSIX_SOURCE (obsolete)   */
 I3    X   1093 #   endif
 I3    X   1094 # endif
 I3	   1095 
 I3    X   1096 # if defined _POSIX_C_SOURCE && !defined _ANSI_C_SOURCE
 I3    X   1097 #   define _ANSI_C_SOURCE
 I3    X   1098 # endif 
 I3	   1099 
 I3    X   1100 # if defined __HIDE_FORBIDDEN_NAMES && !defined _ANSI_C_SOURCE
 I3    X   1101 #   define _ANSI_C_SOURCE
 I3    X   1102 # endif
 I3	   1103 
 I3	   1104 /*
 I3	   1105 ** Define __CRTL_VER_OVERRIDE on the compiler command line to 
 I3	   1106 ** override the value of __CRTL_VER. Defining __CRTL_VER_OVERRIDE 
 I3	   1107 ** without a value sets __CRTL_VER to the maximum value.
 I3	   1108 */
 I3	   1109 
 I3    X   1110 # if defined __CRTL_VER_OVERRIDE
 I3    X   1111 #    if __CRTL_VER_OVERRIDE == 1
 I3    X   1112 #	undef __CRTL_VER_OVERRIDE
 I3    X   1113 #	define __CRTL_VER_OVERRIDE 0x7fffffff
 I3    X   1114 #    endif
 I3    X   1115 #    if __CRTL_VER_OVERRIDE
 I3    X   1116 #	if defined __CRTL_VER
 I3    X   1117 #	   undef __CRTL_VER
 I3    X   1118 #       endif
 I3    X   1119 #       define __CRTL_VER __CRTL_VER_OVERRIDE
 I3    X   1120 #    endif
 I3    X   1121 # endif
 I3	   1122 
 I3	   1123 
 I3	   1124 /*
 I3	   1125 ** Define __VMS_VER_OVERRIDE on the compiler command line to 
 I3	   1126 ** override the value of __VMS_VER. Defining __VMS_VER_OVERRIDE 
 I3	   1127 ** without a value sets __VMS_VER to the maximum value.
 I3	   1128 */
 I3	   1129 
 I3    X   1130 # ifdef __VMS_VER_OVERRIDE
 I3    X   1131 #    if __VMS_VER_OVERRIDE == 1
 I3    X   1132 #	undef __VMS_VER_OVERRIDE
 I3    X   1133 #	define __VMS_VER_OVERRIDE 0x7fffffff
 I3    X   1134 #    endif
 I3    X   1135 #    if __VMS_VER_OVERRIDE
 I3    X   1136 #       ifndef __VMS_VER
 I3    X   1137 #	   undef __VMS_VER
 I3    X   1138 #       endif
 I3    X   1139 #       define __VMS_VER __VMS_VER_OVERRIDE
 I3    X   1140 #    endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 21
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3    X   1141 # endif
 I3	   1142 
 I3	   1143 /*
 I3	   1144 ** On development versions of OpenVMS the C compiler
 I3	   1145 ** may not be able to set __VMS_VER.
 I3	   1146 **
 I3	   1147 ** Assume that this version is the highest version
 I3	   1148 ** supported by the C Run-time library.
 I3	   1149 */
 I3	   1150 
 I3    X   1151 # ifndef __VMS_VER
 I3    X   1152 #    define __VMS_VER 0x7fffffff
 I3    X   1153 # endif
 I3	   1154 
 I3	   1155 /*
 I3	   1156 **  If the compiler was not already given a definition for __CRTL_VER, then
 I3	   1157 **  define it now.
 I3	   1158 */
 I3    X   1159 # ifndef __CRTL_VER
 I3    X   1160 #    if (__VMS_VER > 70260300 && __VMS_VER < 70300000) 
 I3    X   1161 #	define __CRTL_VER 70301000 
 I3    X   1162 #    else 
 I3    X   1163 #	define __CRTL_VER __VMS_VER 
 I3    X   1164 #    endif 
 I3    X   1165 # endif 
 I3	   1166  
 I3	   1167 /* 
 I3	   1168 ** __CRTL_VER was mistakenly set to 70300010 in some 
 I3	   1169 ** DECC$SHR images released for VMS 7.2-6C1. In this case 
 I3	   1170 ** set __CRTL_VER to 70301000. 
 I3	   1171 ** 
 I3	   1172 */ 
 I3    X   1173 # if __CRTL_VER == 70300010 
 I3    X   1174 #    undef __CRTL_VER 
 I3    X   1175 #    define __CRTL_VER 70301000 
 I3    X   1176 # endif
 I3	   1177 
 I3	   1178 /*
 I3	   1179 **  The DEC C RTL relies on the use of extern_prefix support in the compilers.
 I3	   1180 **  The scenario of a customer getting these new headers via DEC C++, while at 
 I3	   1181 **  the same time using a compiler before DEC C V5.2 is still supported. 
 I3	   1182 */
 I3	   1183 # if defined(__DECC_VER) 
 I3	   1184 #    if (__DECC_VER > 50230003) 
 I3	   1185 #	define __CAN_USE_EXTERN_PREFIX 1 
 I3	   1186 #    endif 
 I3    X   1187 # else 
 I3    X   1188 #    if defined(__DECCXX) 
 I3    X   1189 #	define __CAN_USE_EXTERN_PREFIX 1 
 I3    X   1190 #    endif 
 I3    X   1191 # endif 
 I3	   1192 
 I3	   1193 
 I3	   1194 /*
 I3	   1195 ** Support for the 'restrict' type qualifier is defined here.
 I3	   1196 ** Define __IOSC_RESTRICT and __XOPEN_RESTRICT appropriately.
 I3	   1197 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 22
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3	   1198 #if __STDC_VERSION__ >= 199901
 I3	   1199 /* The compiler being used supports the restrict keyword. */
 I3	   1200 
 I3	   1201    /* Standard C APIs will use the restrict keyword. */
 I3	   1202 #  define __ISOC_RESTRICT restrict
 I3	   1203 
 I3    X   1204 #  if defined(_XOPEN_SOURCE) && ((_XOPEN_SOURCE + 0) >= 600)
 I3    X   1205      /* XOPEN extensions to standard C will use the restrict keyword. */
 I3    X   1206 #    define __XOPEN_RESTRICT  restrict
 I3    X   1207 #  else
 I3	   1208      /* Older XOPEN extension APIs do not use the restrict keyword. */
 I3	   1209 #    define __XOPEN_RESTRICT
 I3	   1210 #  endif
 I3	   1211 
 I3    X   1212 #else
 I3    X   1213 
 I3    X   1214    /* The compiler being used may not support the restrict keyword. */
 I3    X   1215 #  define __ISOC_RESTRICT
 I3    X   1216 #  define __XOPEN_RESTRICT
 I3    X   1217 
 I3    X   1218 #endif
 I3	   1219 
 I3	   1220 
 I3	   1221 /*
 I3	   1222 **  _USE_STD_STAT:  The new standardized stat structure takes the place of 
 I3	   1223 **  all prior versions, if you compile with _USE_STD_STAT defined.
 I3	   1224 */
 I3    X   1225 #if defined(_USE_STD_STAT)
 I3    X   1226 
 I3    X   1227     /*
 I3    X   1228     ** The _USE_STD_STAT feature requires extern prefixing support.
 I3    X   1229     */
 I3    X   1230 #   if !__CAN_USE_EXTERN_PREFIX
 I3    X   1231 #	error "_USE_STD_STAT feature macro requires extern prefixing support, unavailable on this platform"
 I3    X   1232 #   endif
 I3    X   1233 
 I3    X   1234     /*
 I3    X   1235     ** The _USE_STD_STAT feature uses UTC time. Therefore we cannot compile
 I3    X   1236     ** this header with _VMS_V6_SOURCE enabled. _VMS_V6_SOURCE implies localtime.
 I3    X   1237     */
 I3    X   1238 #   if defined(_VMS_V6_SOURCE)
 I3    X   1239 #	error "Incompatible feature macros: _USE_STD_STAT and _VMS_V6_SOURCE"
 I3    X   1240 #   endif
 I3    X   1241 
 I3    X   1242     /*
 I3    X   1243     ** The _USE_STD_STAT feature does not honor requests
 I3    X   1244     ** for source-code compatibility with DEC C Version 4.0.
 I3    X   1245     */
 I3    X   1246 #   if defined(_DECC_V4_SOURCE)
 I3    X   1247 #	error "Incompatible feature macros: _USE_STD_STAT and _DECC_V4_SOURCE"
 I3    X   1248 #   endif
 I3    X   1249 
 I3    X   1250     /*
 I3    X   1251     ** _USE_STD_STAT implies 64-bit file offsets.  
 I3    X   1252     */
 I3    X   1253 #   define __USE_OFF64_T 1
 I3    X   1254 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 23
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3    X   1255     /*
 I3    X   1256     ** _USE_STD_STAT implies 32-bit uid/gid.
 I3    X   1257     ** Feature macro _DECC_SHORT_GID_T is inconsistent with __USE_LONG_GID_T,
 I3    X   1258     ** but we don't flag it, as the former is overridden by the latter anyway.
 I3    X   1259     */
 I3    X   1260 #   define __USE_LONG_GID_T 1
 I3    X   1261 
 I3    X   1262     /*
 I3    X   1263     ** _USE_STD_STAT provides standardized implementations of the following types,
 I3    X   1264     ** which are used as the types of some stat (and dirent) structure members.
 I3    X   1265     */
 I3    X   1266     typedef unsigned __int64	__dev_t;    /* device id */
 I3    X   1267     typedef unsigned __int64    __ino_t;    /* file ino */
 I3    X   1268     typedef __int64		blksize_t;  /* block size */
 I3    X   1269     typedef __int64		blkcnt_t;   /* block count */
 I3    X   1270 
 I3    X   1271     /*
 I3    X   1272     ** _USE_STD_STAT implies the potential for 64-bit time_t fields.
 I3    X   1273     ** We provide a macro for that support here.
 I3    X   1274     ** This macro is used in the stat.h header file.
 I3    X   1275     ** It should be turned on here if 64-bit time support is implemented.
 I3    X   1276     */
 I3    X   1277 #   define __USING_64BIT_TIME_T 0
 I3    X   1278 
 I3    X   1279     /*
 I3    X   1280     ** Set the macro which controls further compilation of this feature.
 I3    X   1281     */
 I3    X   1282 #   define __USING_STD_STAT 1
 I3    X   1283 
 I3    X   1284 #endif
 I3	   1285 
 I3	   1286 typedef unsigned long fsblkcnt_t, fsfilcnt_t;
 I3	   1287 
 I3	   1288 /*
 I3	   1289 **  In OpenVMS Alpha V7.2-6C1, support for POSIX-style GID/UID
 I3	   1290 **  was introduced with the intention to merge this functionality 
 I3	   1291 **  into some future (currently unspecified) release of OpenVMS
 I3	   1292 **  following OpenVMS Alpha V7.3.
 I3	   1293 **
 I3	   1294 **  POSIX-style GID requires 32-bit gid_t datatype. On a version of
 I3	   1295 **  OpenVMS which supports POSIX-style GID/UID, 32-bit gid_t
 I3	   1296 **  becomes a default meaning, that unless _DECC_SHORT_GID_T,
 I3	   1297 **  _VMS_V6_SOURCE or _DECC_V4_SOURCE macro is defined, __gid_t is declared
 I3	   1298 **  as 'unsigned int' rather than 'unsigned short'.
 I3	   1299 **
 I3	   1300 **  Since the exact version of OpenVMS Alpha into which the support for
 I3	   1301 **  POSIX-style GID/UID will be merged into has not been determined yet,
 I3	   1302 **  we provide __COE_SYSTEM macro which allows to request 32-bit gid_t
 I3	   1303 **  datatype on a version of VMS other than OpenVMS Alpha V7.2-6C1. Note,
 I3	   1304 **  that defining the __COE_SYSTEM macro on a system that does not support
 I3	   1305 **  POSIX-style GID/UID, can result in generating code which may not
 I3	   1306 **  execute correctly.
 I3	   1307 **
 I3	   1308 **  Note also, that 32-bit gid_t datatype requires a version of the
 I3	   1309 **  C compiler that supports external prefixing.
 I3	   1310 */
 I3	   1311 # ifndef __USE_LONG_GID_T

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 24
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3	   1312 #   if (__CRTL_VER >= 70301000) && __CAN_USE_EXTERN_PREFIX && \
 I3	   1313        !defined(_DECC_SHORT_GID_T) && !defined(_VMS_V6_SOURCE) && !defined(_DECC_V4_SOURCE)
 I3	   1314 #      define __USE_LONG_GID_T 1
 I3    X   1315 #   else
 I3    X   1316 #      define __USE_LONG_GID_T 0
 I3    X   1317 #   endif
 I3	   1318 # endif
 I3	   1319 
 I3	   1320 /*
 I3	   1321 ** On some OpenVMS systems support for files larger than 2 gigabyte
 I3	   1322 ** is available. This feature is enabled by specifying the MACRO _LARGEFILE.
 I3	   1323 ** When enabled all file offsets are accepted and returned as 64-bit values.
 I3	   1324 **
 I3	   1325 ** This feature requires a version of the C compiler with support
 I3	   1326 ** for #pragma __extern_prefix.
 I3	   1327 **
 I3	   1328 */
 I3	   1329 # if __CAN_USE_EXTERN_PREFIX && !defined(_DECC_V4_SOURCE)
 I3	   1330 #   ifndef __USE_OFF64_T
 I3	   1331 #	if defined(_LARGEFILE)
 I3	   1332 #	    define __USE_OFF64_T 1
 I3    X   1333 #	else
 I3    X   1334 #	    define __USE_OFF64_T 0
 I3    X   1335 #	endif
 I3	   1336 #   endif
 I3    X   1337 # else
 I3    X   1338 #   undef __USE_OFF64_T
 I3    X   1339 #   define __USE_OFF64_T 0
 I3    X   1340 
 I3    X   1341 #   if defined(_LARGEFILE)
 I3    X   1342 #	error " Support for large files not available before OpenVMS Alpha V7.2"
 I3    X   1343 #   endif
 I3    X   1344 # endif
 I3	   1345 
 I3	   1346 /*
 I3	   1347 ** Support for cname headers is available starting with Version V7.1 of the
 I3	   1348 ** hp C++ compiler. This support can be disabled by defining the macro
 I3	   1349 ** __NONAMESPACE_STD either on CXX command line or in the source file prior
 I3	   1350 ** to inclusion any of C or C++ header file.
 I3	   1351 */
 I3    X   1352 #if (__DECCXX_VER >= 70100000) && !defined(__STD_CFRONT)
 I3    X   1353 #   if !defined __NONAMESPACE_STD
 I3    X   1354 #      define __NAMESPACE_STD
 I3    X   1355 #   endif
 I3    X   1356 #endif
 I3	   1357 
 I3	   1358 /*
 I3	   1359 **  Define typedefs which are used throughout the header files.  Pointer size
 I3	   1360 **  is only allowed on OpenVMS after V7.0.
 I3	   1361 */
 I3    X   1362 #if __INITIAL_POINTER_SIZE
 I3    X   1363 #   if (__CRTL_VER < 70000000) 
 I3    X   1364 #         error " Pointer size usage not permitted before OpenVMS Alpha V7.0"
 I3    X   1365 #   endif
 I3    X   1366 #   pragma __pointer_size __save
 I3    X   1367 #   pragma __pointer_size 32
 I3    X   1368 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 25
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3	   1369 
 I3	   1370 /*
 I3	   1371 **  In ANSI C++, a wchar_t is a builtin type and __WCHAR_T is defined.
 I3	   1372 **  This is only defined in such compilers (> V6.0 C++).
 I3	   1373 */
 I3    X   1374 # ifdef __WCHAR_T
 I3    X   1375 #   define __wchar_t wchar_t
 I3    X   1376 # else
 I3	   1377     typedef unsigned int __wchar_t;
 I3	   1378 # endif
 I3	   1379 
 I3	   1380     typedef unsigned int __id_t;
 I3	   1381     typedef unsigned int __size_t;
 I3	   1382     typedef unsigned int __u_int;
 I3	   1383     typedef unsigned int __uid_t;
 I3	   1384     typedef unsigned int __useconds_t;
 I3	   1385 
 I3    X   1386 #ifdef __SIGNED_INT_TIME_T
 I3	   1387     /*
 I3	   1388     ** Unix comptability feature.
 I3	   1389     ** This can change behavior of programs relying on the sign bit.
 I3    X   1390     */
 I3    X   1391     typedef int __time_t;
 I3    X   1392 #else
 I3	   1393     typedef unsigned long int __time_t;
 I3	   1394 #endif
 I3	   1395 
 I3	   1396     typedef unsigned short __gid16_t;
 I3	   1397     typedef unsigned int   __gid32_t;
 I3	   1398 
 I3	   1399 # if __USE_LONG_GID_T
 I3	   1400     typedef __gid32_t __gid_t;
 I3    X   1401 # else
 I3    X   1402     typedef __gid16_t __gid_t;
 I3    X   1403 # endif
 I3	   1404 
 I3	   1405 #if !__USING_STD_STAT 
 I3	   1406     typedef unsigned short __ino_t;
 I3	   1407 #endif
 I3	   1408     typedef unsigned short __ino16_t;
 I3	   1409     typedef unsigned int   __ino32_t;
 I3	   1410 
 I3	   1411 #ifndef ____SIGSET_T
 I3	   1412 #   define ____SIGSET_T 1
 I3	   1413     typedef struct __sigset {unsigned int _set[2];} __sigset_t;
 I3	   1414 #endif
 I3	   1415 
 I3	   1416     typedef unsigned __int64 __ino64_t;
 I3	   1417     typedef long int __key_t;
 I3	   1418     typedef unsigned short __mode_t;
 I3	   1419     typedef int __nlink_t;
 I3	   1420 
 I3	   1421 # if __USE_OFF64_T
 I3	   1422     typedef __int64 __off_t;
 I3    X   1423 # else
 I3    X   1424     typedef int __off_t;
 I3    X   1425 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 26
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3	   1426 
 I3	   1427     typedef int __off32_t;
 I3	   1428     typedef unsigned int __uoff32_t;
 I3	   1429     typedef __int64 __off64_t;
 I3	   1430     typedef unsigned __int64 __uoff64_t;
 I3	   1431     typedef int __pid_t;
 I3	   1432     typedef int __ssize_t;
 I3	   1433     typedef char *__caddr_t;
 I3	   1434 
 I3	   1435 #if !__USING_STD_STAT 
 I3	   1436     typedef char *__dev_t;
 I3	   1437 #endif
 I3	   1438     typedef unsigned int __dev32_t;
 I3	   1439     typedef unsigned __int64 __dev64_t;
 I3	   1440     typedef unsigned int   __in_addr_t;
 I3	   1441     typedef unsigned short __in_port_t;
 I3	   1442     typedef unsigned char  __sa_family_t;
 I3	   1443 
 I3	   1444     typedef unsigned char  __u_char;
 I3	   1445     typedef unsigned short __u_short;
 I3	   1446     typedef unsigned long  __u_long;
 I3	   1447 
 I3	   1448     typedef __wchar_t * __wchar_ptr32;
 I3	   1449     typedef const __wchar_t * __const_wchar_ptr32;
 I3	   1450     typedef int __wint_t;
 I3	   1451     typedef int __wctrans_t;
 I3	   1452     typedef int __wctype_t;
 I3	   1453 
 I3	   1454     struct _iobuf;
 I3	   1455     typedef struct _iobuf *__FILE;
 I3	   1456     typedef __FILE * __FILE_ptr32;
 I3	   1457 
 I3	   1458     typedef char * __char_ptr32;
 I3	   1459     typedef const char * __const_char_ptr32;
 I3	   1460 
 I3	   1461     typedef void * __void_ptr32;
 I3	   1462     typedef const void * __const_void_ptr32;
 I3	   1463 
 I3	   1464     typedef void ** __void_ptr_ptr32;
 I3	   1465     typedef void * const *  __void_ptr_const_ptr32;
 I3	   1466 
 I3	   1467     typedef short * __short_ptr32;
 I3	   1468     typedef const short * __const_short_ptr32;
 I3	   1469 
 I3	   1470     typedef unsigned short * __unsigned_short_ptr32;
 I3	   1471     typedef const unsigned short * __const_unsigned_short_ptr32;
 I3	   1472 
 I3	   1473     typedef char ** __char_ptr_ptr32;
 I3	   1474     typedef char * const *  __char_ptr_const_ptr32;
 I3	   1475 
 I3	   1476     typedef __u_char * __u_char_ptr32;
 I3	   1477     typedef const __u_char * __const_u_char_ptr32;
 I3	   1478 
 I3	   1479     typedef __u_short * __u_short_ptr32;
 I3	   1480     typedef const __u_short * __const_u_short_ptr32;
 I3	   1481 
 I3	   1482     typedef __u_long * __u_long_ptr32;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 27
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3	   1483     typedef const __u_long * __const_u_long_ptr32;
 I3	   1484 
 I3	   1485     typedef __int64 * __int64_ptr32;
 I3	   1486     typedef const __int64 * __const_int64_ptr32;
 I3	   1487 
 I3	   1488     typedef unsigned int * __u_int_ptr32;
 I3	   1489     typedef const unsigned int * __const_u_int_ptr32;
 I3	   1490 
 I3	   1491     typedef int * __int_ptr32;
 I3	   1492     typedef const int * __const_int_ptr32;
 I3	   1493 
 I3	   1494 # ifndef __NULL
 I3    X   1495 #   if defined(__DECCXX) && (__DECCXX_VER >= 60000000)
 I3    X   1496 #      define __NULL 0
 I3    X   1497 #   else
 I3	   1498 #      define __NULL ((void *) 0)
 I3	   1499 #   endif
 I3	   1500 # endif  
 I3	   1501 
 I3	   1502 /*
 I3	   1503 **  The ANSI standard defines EOF as a negative integral constant expression.
 I3	   1504 */
 I3	   1505 
 I3	   1506 # ifndef __EOF
 I3	   1507 #   define __EOF (-1)
 I3	   1508 # endif  
 I3	   1509 
 I3    X   1510 #if defined(__x86_64)   /* Verified for x86, John Reagan */
 I3    X   1511 /* pointer must be 64-bits regardless */
 I3    X   1512 #   pragma __required_pointer_size __save
 I3    X   1513 #   pragma __required_pointer_size __long
 I3    X   1514     typedef char *__va_list;
 I3    X   1515 #   pragma __required_pointer_size __restore
 I3    X   1516 #else
 I3	   1517     typedef char *__va_list;
 I3	   1518 #endif
 I3	   1519 
 I3    X   1520 #if __INITIAL_POINTER_SIZE
 I3    X   1521 #   pragma __pointer_size 64
 I3    X   1522 #endif
 I3	   1523 
 I3	   1524     typedef __FILE * __FILE_ptr64;
 I3	   1525 
 I3	   1526     typedef char * __char_ptr64;
 I3	   1527     typedef const char * __const_char_ptr64;
 I3	   1528 
 I3	   1529     typedef char ** __char_ptr_ptr64;
 I3	   1530     typedef char * const *  __char_ptr_const_ptr64;
 I3	   1531 
 I3	   1532     typedef void * __void_ptr64;
 I3	   1533     typedef const void * __const_void_ptr64;
 I3	   1534 
 I3	   1535     typedef void ** __void_ptr_ptr64;
 I3	   1536     typedef void * const *  __void_ptr_const_ptr64;
 I3	   1537 
 I3	   1538     typedef __size_t * __size_t_ptr64;
 I3	   1539     typedef const __size_t * __const_size_t_ptr64;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 28
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(DECC$TYPES)

 I3	   1540 
 I3	   1541     typedef __wchar_t * __wchar_ptr64;
 I3	   1542     typedef const __wchar_t * __const_wchar_ptr64;
 I3	   1543 
 I3	   1544     typedef __u_char * __u_char_ptr64;
 I3	   1545     typedef const __u_char * __const_u_char_ptr64;
 I3	   1546 
 I3	   1547     typedef __u_short * __u_short_ptr64;
 I3	   1548     typedef const __u_short * __const_u_short_ptr64;
 I3	   1549 
 I3	   1550     typedef __u_long * __u_long_ptr64;
 I3	   1551     typedef const __u_long * __const_u_long_ptr64;
 I3	   1552 
 I3	   1553     typedef unsigned int * __u_int_ptr64;
 I3	   1554     typedef const unsigned int * __const_u_int_ptr64;
 I3	   1555 
 I3	   1556     typedef int * __int_ptr64;
 I3	   1557     typedef const int * __const_int_ptr64;
 I3	   1558 
 I3    X   1559 #if __INITIAL_POINTER_SIZE
 I3    X   1560 #      pragma __pointer_size __restore
 I3    X   1561 #endif
 I3	   1562 
 I3	   1563 # pragma __standard
 I3	   1564 
 I3	   1565 # endif /* ____DECC_TYPES_LOADED */
 I2    X   1566 #ifdef __cplusplus
 I2    X   1567     extern "C" {
 I2    X   1568 #endif
 I2	   1569 
 I2    X   1570 #if __INITIAL_POINTER_SIZE
 I2    X   1571 #   pragma __pointer_size __save
 I2    X   1572 #   pragma __pointer_size 32
 I2    X   1573 #endif
 I2	   1574 
 I2	   1575 /*
 I2	   1576 **  Cplusplus and unix_putc does not work together.
 I2	   1577 **  Primarily for pragma inline functions. So put out an error. 
 I2	   1578 */
 I2    X   1579 # if defined __UNIX_PUTC && defined __cplusplus
 I2    X   1580 #   error " Use of __UNIX_PUTC not permitted with C++"
 I2    X   1581 # endif
 I2	   1582 
 I2	   1583 
 I2	   1584 /*
 I2	   1585 **  Member align structures
 I2	   1586 */
 I2	   1587 #pragma __member_alignment __save
 I2	   1588 #pragma __member_alignment
 I2	   1589 
 I2	   1590 
 I2	   1591 /*
 I2	   1592 **  Create 'public' typedefs that are either insensitive to pointer size or
 I2	   1593 **  are sensitive to pointer size and must use short pointers.
 I2	   1594 */
 I2	   1595 #ifndef NULL
 I2	   1596 #   define NULL __NULL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 29
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1597 #endif
 I2	   1598 
 I2	   1599 struct _iobuf 
 I2	   1600 {
 I2	   1601         int            _cnt;
 I2	   1602         char          *_ptr;
 I2	   1603         char          *_base;
 I2	   1604         unsigned char  _flag;
 I2	   1605 
 I2	   1606 #if __CRTL_VER >= 70000000
 I2	   1607 
 I2	   1608         unsigned char  _padfile;  
 I2	   1609         unsigned char  _pad1;
 I2	   1610         unsigned char  _pad2;
 I2	   1611         int            _file;
 I2    X   1612 #else
 I2    X   1613         unsigned char  _file;
 I2    X   1614         unsigned char  _pad1;
 I2    X   1615         unsigned char  _pad2;
 I2    X   1616 #endif
 I2	   1617 };
 I2	   1618 
 I2    X   1619 #ifdef __NAMESPACE_STD
 I2    X   1620 namespace std {
 I2    X   1621 #endif
 I2	   1622 
 I2	   1623 #ifndef __FILE_T
 I2	   1624 #   define __FILE_T
 I2	   1625     typedef __FILE FILE;
 I2	   1626 #endif
 I2	   1627 
 I2	   1628 typedef struct __fpos {unsigned __f0 : 32; unsigned __f1 : 32; } fpos_t;
 I2	   1629 
 I2	   1630 #ifndef __SIZE_T
 I2	   1631 #   define __SIZE_T 1
 I2	   1632     typedef __size_t size_t;
 I2	   1633 #endif
 I2	   1634 
 I2    X   1635 #ifdef __NAMESPACE_STD
 I2    X   1636 } /* namespace std */
 I2    X   1637 #endif
 I2	   1638 
 I2	   1639 #if !defined(_DECC_V4_SOURCE) && (__USE_OFF64_T || defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE) )
 I2	   1640 #  ifndef __OFF_T
 I2	   1641 #    define __OFF_T 1
 I2	   1642      typedef __off_t off_t;
 I2	   1643 #  endif
 I2	   1644 #endif
 I2	   1645 /*
 I2	   1646 **  Define macros to access stdin, stdout, and stderr
 I2	   1647 */
 I2	   1648 #define stderr (decc$ga_stderr)
 I2	   1649 #define stdin  (decc$ga_stdin)
 I2	   1650 #define stdout (decc$ga_stdout)
 I2	   1651 
 I2	   1652 /*
 I2	   1653 **  Define stdin, stdout, and stderr

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 30
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1654 */
 I2	   1655 #pragma __extern_model __save
 I2	   1656 #pragma __extern_model __strict_refdef
 I2	   1657  extern __FILE * stderr;
       E	                  ( decc$ga_stderr )
 I2	   1658  extern __FILE * stdin;
       E	                  ( decc$ga_stdin )
 I2	   1659  extern __FILE * stdout;
       E	                  ( decc$ga_stdout )
 I2	   1660 #pragma __extern_model __restore
 I2	   1661 
 I2	   1662 
 I2	   1663 /*
 I2	   1664 **  Define optind, opterr, optopt, and optarg.  X/Open originally
 I2	   1665 **  specified these in <stdio.h>.  ISO POSIX-2 moved them to <unistd.h>
 I2	   1666 **  X/Open retains them in both.
 I2	   1667 */
 I2	   1668 #if __CRTL_VER >= 60200000  /* Supported starting with OpenVMS V6.2  */
 I2	   1669 #   if defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   1670 #       pragma __extern_model __save
 I2	   1671 #       pragma __extern_model __strict_refdef
 I2	   1672         extern int optind;
 I2	   1673         extern int opterr;
 I2	   1674         extern int optopt;
 I2	   1675 #       if !defined(__OPTARG64)
 I2	   1676             extern char *optarg;
 I2	   1677 #           if __CRTL_VER >= 80500000
 I2	   1678 #               define __OPTARG64
 I2	   1679 #               pragma __required_pointer_size __save
 I2	   1680 #               pragma __required_pointer_size 64
 I2	   1681                 extern char *_optarg64;
 I2	   1682 #               pragma __required_pointer_size __restore
 I2    X   1683 #               if __INITIAL_POINTER_SIZE == 64
 I2    X   1684 #                   define optarg _optarg64
 I2    X   1685 #               endif
 I2	   1686 #           endif
 I2	   1687 #       endif
 I2	   1688 #       pragma __extern_model __restore
 I2	   1689 #   endif
 I2	   1690 #endif
 I2	   1691 
 I2	   1692 
 I2	   1693 /*
 I2	   1694 **  The ANSI standard defines the following integral constant expressions as
 I2	   1695 **  having distinct values, suitable for use as the third argument to the 
 I2	   1696 **  setvbuf function.
 I2	   1697 */
 I2	   1698 #define _IOLBF 0x01
 I2	   1699 #define _IOFBF 0x02
 I2	   1700 #define _IONBF 0x04
 I2	   1701 
 I2	   1702 
 I2	   1703 /*
 I2	   1704 **  Values for _flag field in the _iobuf structure.  This flag is used by the
 I2	   1705 **  functions clearerr(), feof() and ferror().   A standards conforming
 I2	   1706 **  program should not use _IOEOF or _IOERR.  Use clearerr, feof
 I2	   1707 **  and ferror macros instead.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 31
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1708 */
 I2	   1709 #   define _IOEOF   0x10
 I2	   1710 #   define _IOERR   0x20
 I2	   1711 
 I2	   1712 #ifndef _ANSI_C_SOURCE
 I2	   1713 #   define _IOREAD  0x01
 I2	   1714 #   define _IOWRT   0x02
 I2	   1715 #   define _IOMYBUF 0x08
 I2	   1716 #   define _IOSTRG  0x40
 I2	   1717 #   define _IORW    0x80
 I2	   1718 #endif
 I2	   1719 
 I2	   1720 
 I2	   1721 /*
 I2	   1722 **  Define seek modes.  Note that the SEEK_EOF value is not defined by
 I2	   1723 **  the ANSI standard, but is provided for compatibility with VAX C.
 I2	   1724 */
 I2	   1725 #define SEEK_SET 0
 I2	   1726 #define SEEK_CUR 1
 I2	   1727 #define SEEK_END 2
 I2	   1728 
 I2	   1729 #ifndef _ANSI_C_SOURCE
 I2	   1730 #   define SEEK_EOF SEEK_END
 I2	   1731 #endif
 I2	   1732 
 I2	   1733 
 I2	   1734 /*
 I2	   1735 **  The literal BUFSIZ is defined by the ANSI standard as the size of the
 I2	   1736 **  buffer used by the setbuf function.
 I2	   1737 */
 I2	   1738 #define BUFSIZ 32768
 I2	   1739 
 I2	   1740 /*
 I2	   1741 **  DEC C RTL extension.  Define the values TRUE and FALSE.
 I2	   1742 */
 I2	   1743 #ifndef _ANSI_C_SOURCE
 I2	   1744 #   ifndef TRUE
 I2	   1745 #      define TRUE 1
 I2	   1746 #   endif
 I2	   1747 #   ifndef FALSE
 I2	   1748 #      define FALSE 0
 I2	   1749 #   endif
 I2	   1750 #endif
 I2	   1751 
 I2	   1752 
 I2	   1753 /*
 I2	   1754 **  The ANSI standard defines EOF as a negative integral constant expression
 I2	   1755 **  that is returned by several functions to indicate end-of-file. Internal
 I2	   1756 **  __EOF macro is defined in <decc$types.h> header as (-1)
 I2	   1757 */
 I2	   1758 #define EOF __EOF
 I2	   1759 
 I2	   1760 
 I2	   1761 /*
 I2	   1762 **  The ANSI standard defines FILENAME_MAX as an integral constant
 I2	   1763 **  expression that is the size needed for an array of char large enough to
 I2	   1764 **  hold the longest file name string that the implementation guarantees

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 32
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1765 **  can be opened.
 I2	   1766 **
 I2	   1767 **  The ANSI standard defines FOPEN_MAX as an integral constant expression
 I2	   1768 **  that is the minumum number of files that the implementation guarantees
 I2	   1769 **  can be opened simultaneously.  This value is difficult to define as an
 I2	   1770 **  accurate constant value since many things affect the ability to open a
 I2	   1771 **  given number of files.
 I2	   1772 */
 I2	   1773 #define FILENAME_MAX 256
 I2	   1774 #define FOPEN_MAX    8
 I2	   1775 
 I2	   1776 
 I2	   1777 /*
 I2	   1778 **  DEC C RTL extension.  Define OPEN_MAX to be identical to FOPEN_MAX.  Also
 I2	   1779 **  define _NFILE for VAX C compatibility.
 I2	   1780 */
 I2	   1781 #ifndef _ANSI_C_SOURCE
 I2	   1782 #   define OPEN_MAX FOPEN_MAX
 I2	   1783 #   define _NFILE 20
 I2	   1784 #endif
 I2	   1785 
 I2	   1786 
 I2	   1787 /*
 I2	   1788 **  The literal values L_tmpnam and TMP_MAX are defined by the ANSI
 I2	   1789 **  standard.  If the argument to the tmpnam() function is not a null
 I2	   1790 **  pointer, it is assumed to point to an array of at least L_tmpnam
 I2	   1791 **  characters.  The value TMP_MAX represents the number of unique names
 I2	   1792 **  which must be returned from the tmpnam() function on successive calls.
 I2	   1793 */
 I2	   1794 #define L_tmpnam 256
 I2	   1795 
 I2	   1796 #if __CRTL_VER >= 70301000
 I2	   1797 #   define TMP_MAX 17576
 I2    X   1798 #else
 I2    X   1799 #   define TMP_MAX 156
 I2    X   1800 #endif
 I2	   1801 
 I2	   1802 /*
 I2	   1803 **  ISO POSIX-1 extensions.  These literal values are analogous to the
 I2	   1804 **  L_tmpnam value for tmpnam() function calls.
 I2	   1805 */
 I2	   1806 #if defined(_POSIX_C_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   1807 #   define L_cuserid   16
 I2	   1808 #   define L_ctermid   64
 I2	   1809 #endif
 I2	   1810 
 I2	   1811 
 I2	   1812 /*
 I2	   1813 **  DEC C RTL extensions.  These literal values are analogous to the
 I2	   1814 **  L_tmpnam value for tmpnam() function calls.
 I2	   1815 */
 I2	   1816 #ifndef _ANSI_C_SOURCE
 I2	   1817 #   define L_lcltmpnam 256
 I2	   1818 #   define L_nettmpnam 256
 I2	   1819 #endif
 I2	   1820 
 I2	   1821 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 33
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1822 /*
 I2	   1823 **  The MIA standard requires use of a special rename() and freopen()
 I2	   1824 **  function.  Define macros when compiling with that mode.
 I2	   1825 */
 I2    X   1826 #ifdef __MIA
 I2    X   1827 #   define rename  decc$mia_rename
 I2    X   1828 #   define freopen decc$mia_freopen
 I2    X   1829 #endif
 I2	   1830 
 I2	   1831 /*
 I2	   1832 ** Conditions for X/Open file pointer locking functions to be visible.
 I2	   1833 */
 I2	   1834 #if ( (defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)) && \
 I2	   1835     (__CRTL_VER >= 80200000) )
 I2	   1836 
 I2	   1837 #   define __FP_LOCKING 1
 I2    X   1838 #else
 I2    X   1839 #   define __FP_LOCKING 0
 I2    X   1840 #endif
 I2	   1841 
 I2	   1842 /*
 I2	   1843 ** Conditions to permit optimizations not requiring X/Open file pointer locking.
 I2	   1844 */
 I2    X   1845 #ifdef __STDIO_UNLOCK_CHAR_IO
 I2    X   1846 #   define __FP_OPTIMIZATIONS 1
 I2    X   1847 #else
 I2	   1848 #   if __FP_LOCKING
 I2	   1849 #      define __FP_OPTIMIZATIONS 0
 I2    X   1850 #   else
 I2    X   1851 #      define __FP_OPTIMIZATIONS 1
 I2    X   1852 #   endif
 I2	   1853 #endif
 I2	   1854 
 I2	   1855 /*
 I2	   1856 ** Throughout this header file, for a C++ compilation with __NAMESPACE_STD
 I2	   1857 ** enabled, functions from ANSI C standard that are defined as macros in this
 I2	   1858 ** header file, are defined as inline functions instead of macros.
 I2	   1859 **
 I2	   1860 ** This is to comply with clause 17.4.1.2 Headers [lib.headers] of the C++
 I2	   1861 ** standard which says, in particular:
 I2	   1862 
 I2	   1863 -6- Names that are defined as functions in C shall be defined as functions
 I2	   1864     in the C++ Standard Library.*)
 I2	   1865 
 I2	   1866 *) This disallows the practice, allowed in C, of providing a "masking macro"
 I2	   1867    in addition to the function prototype. The only way to achieve equivalent
 I2	   1868    "inline" behavior in C++ is to provide a definition as an extern inline
 I2	   1869    function.
 I2	   1870 */
 I2	   1871 
 I2	   1872 /*
 I2	   1873 **  DEC C Performance (Macros)
 I2	   1874 */
 I2	   1875 
 I2	   1876 /*
 I2	   1877 ** __feof_(stream), __ferror_(stream) and __clearerr_(stream) causes accvio if *(stream) == NULL.
 I2	   1878 ** This scenrio occurs when calling ferror() or feof() or clearerr() for closed file pointers.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 34
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1879 ** check for *(stream) == NULL before calling __feof_(stream), __ferror_(stream) and __clearerr_(stream).
 I2	   1880 */
 I2	   1881 
 I2	   1882 #define __feof_(stream) ((*stream) ? (((unsigned int)((*(stream))->_flag) & _IOEOF) != 0): 0 )
 I2	   1883 #define __ferror_(stream) ((*stream)? (((unsigned int)((*(stream))->_flag) & _IOERR) != 0) : 0 )
 I2	   1884 #define __clearerr_(stream)((*stream)? ((void)((*(stream))->_flag &= ~(_IOERR | _IOEOF))) : (void)0 )
 I2	   1885                                              
 I2	   1886 #ifndef __NAMESPACE_STD
 I2	   1887 
 I2    X   1888 #   if __FP_OPTIMIZATIONS
 I2    X   1889 #      define feof(stream)     __feof_(stream)
 I2    X   1890 #      define ferror(stream)   __ferror_(stream)
 I2    X   1891 #      define clearerr(stream) __clearerr_(stream)
 I2    X   1892 #   endif
 I2	   1893 
 I2    X   1894 #else /* __NAMESPACE_STD */
 I2    X   1895 
 I2    X   1896 #   if __INITIAL_POINTER_SIZE
 I2    X   1897 #      pragma __pointer_size __save
 I2    X   1898 #      pragma __pointer_size 64
 I2    X   1899 #   endif
 I2    X   1900 
 I2    X   1901     namespace std {
 I2    X   1902 
 I2    X   1903 #   pragma __extern_prefix __save
 I2    X   1904 #   pragma __extern_prefix "CXXL$"
 I2    X   1905 
 I2    X   1906 #   if __FP_OPTIMIZATIONS
 I2    X   1907        inline int feof(FILE* stream)     { return __feof_(stream); }
 I2    X   1908        inline int ferror(FILE* stream)   { return __ferror_(stream); }
 I2    X   1909        inline void clearerr(FILE* stream) { __clearerr_(stream); }
 I2    X   1910 #   endif
 I2    X   1911 
 I2    X   1912 #   pragma __extern_prefix __restore
 I2    X   1913 
 I2    X   1914     } /* namespace std */
 I2    X   1915 
 I2    X   1916 #   if __INITIAL_POINTER_SIZE
 I2    X   1917 #      pragma __pointer_size __restore
 I2    X   1918 #   endif
 I2    X   1919 
 I2    X   1920 #endif /* __NAMESPACE_STD */
 I2	   1921 
 I2	   1922 /*
 I2	   1923 **  DEC C Performance (Inlined)
 I2	   1924 **
 I2	   1925 **  Certain DEC C functions are available as inline code instead of making a
 I2	   1926 **  call to the DEC C RTL.  Using this inline code offers performance
 I2	   1927 **  improvements and are enabled here for all programs not on VAX.
 I2	   1928 */
 I2	   1929 
 I2	   1930     /*
 I2	   1931     **  Optimized getc, getchar, putc, putchar, fgetc, fputc.
 I2	   1932     **  ANSI standard says that getc/putc can evaluate its parameters
 I2	   1933     **  more than once.
 I2	   1934     **
 I2	   1935     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 35
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   1936 
 I2	   1937 #ifndef __NAMESPACE_STD
 I2	   1938 
 I2	   1939     /*
 I2	   1940     ** C compilation, define macros
 I2	   1941     **
 I2	   1942     ** Any change in the macro below should be made in corresponding
 I2	   1943     ** inline function for a C++ compilation, and vice versa.
 I2	   1944     **
 I2	   1945     */
 I2	   1946 
 I2	   1947 #   define __getc_(__fp) ((*(__fp)) ? \
 I2	   1948            (((((*(__fp))->_cnt > 0) & !((int)(*(__fp))->_flag & 0x40)) ? \
 I2	   1949            ((*(__fp))->_cnt--, ((int) ((unsigned char) *((*(__fp))->_ptr++)))) : \
 I2	   1950            (getc)(__fp))) : (getc)(__fp))
 I2	   1951 
 I2    X   1952 #   if !defined(getc) && __FP_OPTIMIZATIONS
 I2    X   1953 #      define getc(__fp) __getc_(__fp)
 I2    X   1954 #   endif
 I2	   1955 
 I2	   1956 #   define __getchar_() ((*stdin) ? \
 I2	   1957            (((((*stdin)->_cnt > 0) & !((int)(*stdin)->_flag & 0x40)) ? \
 I2	   1958            ((*stdin)->_cnt--, ((int) ((unsigned char) *((*stdin)->_ptr++)))) : \
 I2	   1959            (getchar)())) : (getchar)())
 I2	   1960 
 I2    X   1961 #   if !defined(getchar) && __FP_OPTIMIZATIONS
 I2    X   1962 #      define getchar() __getchar_()
 I2    X   1963 #   endif
 I2	   1964 
 I2    X   1965 #else /* __NAMESPACE_STD */
 I2    X   1966 
 I2    X   1967 #   if __FP_OPTIMIZATIONS
 I2    X   1968 
 I2    X   1969     /*
 I2    X   1970     ** C++ compilation, define inline functions
 I2    X   1971     */
 I2    X   1972 
 I2    X   1973 #   if __INITIAL_POINTER_SIZE
 I2    X   1974 #      pragma __pointer_size __save
 I2    X   1975 #      pragma __pointer_size 64
 I2    X   1976 #   endif
 I2    X   1977 
 I2    X   1978     namespace std {
 I2    X   1979 
 I2    X   1980 #   pragma __extern_prefix __save
 I2    X   1981 #   pragma __extern_prefix "CXXL$"
 I2    X   1982 
 I2    X   1983     inline int getc(FILE* __fp);
 I2    X   1984     inline int getchar();
 I2    X   1985 
 I2    X   1986 #   pragma __extern_prefix __restore
 I2    X   1987 
 I2    X   1988     inline int getc(FILE* __fp) {
 I2    X   1989        int decc$getc(FILE*);
 I2    X   1990        return ((*__fp) ?
 I2    X   1991            (((((*__fp)->_cnt > 0) & !((int)(*__fp)->_flag & 0x40)) ?
 I2    X   1992            ((*__fp)->_cnt--, ((int) ((unsigned char) *((*__fp)->_ptr++)))) :

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 36
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2    X   1993            (decc$getc)(__fp))) : (decc$getc)(__fp));
 I2    X   1994     }
 I2    X   1995 
 I2    X   1996     inline int getchar() {
 I2    X   1997        int decc$getchar(void);
 I2    X   1998        return ((*stdin) ?
 I2    X   1999            (((((*stdin)->_cnt > 0) & !((int)(*stdin)->_flag & 0x40)) ?
 I2    X   2000            ((*stdin)->_cnt--, ((int) ((unsigned char) *((*stdin)->_ptr++)))) :
 I2    X   2001            (decc$getchar)())) : (decc$getchar)());
 I2    X   2002     }
 I2    X   2003 
 I2    X   2004     } /* namespace std */
 I2    X   2005 
 I2    X   2006 #   if __INITIAL_POINTER_SIZE
 I2    X   2007 #      pragma __pointer_size __restore
 I2    X   2008 #   endif
 I2    X   2009 
 I2    X   2010 #   endif /* __FP_OPTIMIZATIONS locking */
 I2    X   2011 
 I2    X   2012 #endif /* __NAMESPACE_STD */
 I2	   2013 
 I2	   2014 
 I2	   2015     /*
 I2	   2016     **  This is conditional until a problem with static inline 
 I2	   2017     **  procedures is corrected in the compiler.
 I2	   2018     **  When this is corrected, we must separate this and
 I2	   2019     **  conditionalize this out of c++.
 I2	   2020     **  
 I2	   2021     */
 I2    X   2022 #ifdef __UNIX_PUTC
 I2    X   2023 #   ifndef putc
 I2    X   2024 #      pragma __inline __putc
 I2    X   2025        static int __putc( int __c, struct _iobuf **__p2 ) {
 I2    X   2026        struct _iobuf *__p = *__p2;
 I2    X   2027           if (!(*__p2)) return (putc)(__c,__p2);
 I2    X   2028           if ( !((__p)->_flag & 0x40)
 I2    X   2029             & ((int)((__p)->_ptr) != (int) *(((int *) (__p)) + 6))
 I2    X   2030             & !(*(((unsigned char *)(__p))+14) & 0x10 ))
 I2    X   2031             {
 I2    X   2032               if ((__p)->_cnt) (__p)->_cnt--;
 I2    X   2033               *(__p)->_ptr++ = (__c);
 I2    X   2034               *(((unsigned char *) (__p)) + 14) |= 0x02;
 I2    X   2035               return __c; 
 I2    X   2036             } else return (putc)(__c,__p2);
 I2    X   2037        }
 I2    X   2038 #      if __FP_OPTIMIZATIONS
 I2    X   2039 #         define putc(c,fp) __putc(c,fp)
 I2    X   2040 #      endif
 I2    X   2041 #   endif /* ifndef putc */
 I2    X   2042 
 I2    X   2043 #   ifndef putchar
 I2    X   2044 #      pragma __inline __putchar
 I2    X   2045        static int __putchar( int __c ) {
 I2    X   2046          struct _iobuf *__p = *stdout;
 I2    X   2047          if (!(*stdout)) return (putchar)(__c);
 I2    X   2048          if (!((__p)->_flag & 0x40)
 I2    X   2049             & ((int)((__p)->_ptr)!=(int) *(((int *)(__p))+6))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 37
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2    X   2050             & !(*(((unsigned char *)(__p))+14) & 0x10 ))
 I2    X   2051             {
 I2    X   2052               if ((__p)->_cnt) (__p)->_cnt--;
 I2    X   2053               *(__p)->_ptr++ = (__c);
 I2    X   2054               *(((unsigned char *) (__p)) + 14) |= 0x02;
 I2    X   2055               return __c; 
 I2    X   2056             } else return (putchar)(__c);
 I2    X   2057        }
 I2    X   2058 #      if __FP_OPTIMIZATIONS
 I2    X   2059 #	  define putchar(c) __putchar(c)
 I2    X   2060 #      endif
 I2    X   2061 #   endif /* ifndef putchar */
 I2    X   2062 
 I2    X   2063     /*
 I2    X   2064     **  ANSI standard says that fgetc/fputc cannot evaluate its 
 I2    X   2065     **  parameters more than once so make sure it is done
 I2    X   2066     **  via a static inline function. and surrounded by unix conditionals.
 I2    X   2067     */
 I2    X   2068 
 I2    X   2069 #   ifndef fgetc
 I2    X   2070 #      pragma inline __fgetc
 I2    X   2071        static int __fgetc (__FILE *__fp) {return (getc (__fp));}
 I2    X   2072 #      if __FP_OPTIMIZATIONS
 I2    X   2073 #	  define fgetc(fp) __fgetc(fp)
 I2    X   2074 #      endif
 I2    X   2075 #   endif
 I2    X   2076 
 I2    X   2077 #   ifndef fputc
 I2    X   2078 #      pragma __inline __fputc
 I2    X   2079        static int __fputc(int __c, struct _iobuf **__p2) {return (putc(__c, __p2));}
 I2    X   2080 #      if __FP_OPTIMIZATIONS
 I2    X   2081 #         define fputc(c,fp) __fputc(c,fp)
 I2    X   2082 #      endif
 I2    X   2083 #   endif
 I2    X   2084 #endif /* ifdef __UNIX_PUTC */
 I2	   2085 
 I2	   2086 /*
 I2	   2087 **  The function cuserid is defined by IEEE Std 1003.1-1988 and was changed
 I2	   2088 **  from mandatory to permitted by ISO POSIX-1.  With IEEE Std 1003.1-1988, the
 I2	   2089 **  definition is in <unistd.h>.  X/Open added it to <stdio.h> while retaining
 I2	   2090 **  the definition in <unistd.h>
 I2	   2091 **
 I2	   2092 **  The function getopt was originally in <stdio.h>  ISO POSIX-2 moved it to
 I2	   2093 **  <unistd.h> X/Open retains it in both.
 I2	   2094 */
 I2	   2095 #if defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   2096 #   if __CRTL_VER >= 60200000  /* Supported starting with OpenVMS V6.2  */
 I2    X   2097 #       if __INITIAL_POINTER_SIZE == 64 && __CRTL_VER >= 80500000
 I2    X   2098 #           pragma __pointer_size 64
 I2    X   2099 #       endif
 I2	   2100         int getopt (int __argc, char * const __argv[], __const_char_ptr64 __optstring);
 I2    X   2101 #       if __INITIAL_POINTER_SIZE && __CRTL_VER >= 80500000
 I2    X   2102 #           pragma __pointer_size 32
 I2    X   2103             int _getopt32 (int __argc, char * const __argv[], __const_char_ptr64 __optstring);
 I2    X   2104 #           pragma __pointer_size 64
 I2    X   2105             int _getopt64 (int __argc, char * const __argv[], const char *__optstring);
 I2    X   2106 #       endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 38
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   2107 #   endif
 I2	   2108 #endif
 I2	   2109 
 I2	   2110 
 I2	   2111 /*
 I2	   2112 **  We are done (for now) defining things which must always be short pointers. 
 I2	   2113 **  If the user has used /pointer_size=short or /pointer_size=long, we will
 I2	   2114 **  allow long pointers to be used in function calls.
 I2	   2115 */
 I2    X   2116 #if __INITIAL_POINTER_SIZE
 I2    X   2117 #   pragma __pointer_size 64
 I2    X   2118 #endif
 I2	   2119 
 I2	   2120 
 I2    X   2121 #ifdef __NAMESPACE_STD
 I2    X   2122 namespace std {
 I2    X   2123 #endif
 I2	   2124 
 I2	   2125 /*
 I2	   2126 **  ANSI Function prototypes
 I2	   2127 */
 I2	   2128 __size_t fread  (void *__ptr, __size_t __size, __size_t __nmemb, __FILE *__stream);
 I2	   2129 __size_t fwrite (const void *__ptr, __size_t __size, __size_t __nmemb, __FILE *__stream);
 I2	   2130 
 I2	   2131 int    fclose   (__FILE *__stream);
 I2	   2132 int    fflush   (__FILE *__stream);
 I2	   2133 int    fgetpos  (__FILE *__stream, fpos_t *__pos);
 I2	   2134 int    fprintf  (__FILE *__stream, const char *__format, ...);
 I2	   2135 int    fputs    (const char *__s, __FILE *__stream);
 I2	   2136 int    fscanf   (__FILE *__stream, const char *__format, ...);
 I2	   2137 
 I2	   2138 int    fseek    (__FILE *__stream, long int __offset, int __whence);
 I2	   2139 int    fsetpos  (__FILE *__stream, const fpos_t *__pos);
 I2	   2140 long   ftell    (__FILE *__stream);
 I2	   2141 
 I2	   2142 void   setbuf   (__FILE *__stream, char *__buf);
 I2	   2143 int    setvbuf  (__FILE *__stream, char *__buf, int __mode, __size_t __size);
 I2	   2144 
 I2    X   2145 #ifdef __NAMESPACE_STD
 I2    X   2146 } /* namespace std */
 I2    X   2147 #endif
 I2	   2148 
 I2	   2149 #if __USE_OFF64_T || defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   2150 #  if __USE_OFF64_T
 I2	   2151 #    pragma extern_prefix __save
 I2	   2152 #    pragma __extern_prefix "__off64_"
 I2	   2153      __off_t fseeko   (__FILE *__stream, __off_t __offset, int __whence);
 I2	   2154      __off_t ftello   (__FILE *__stream);
 I2	   2155 #    pragma __extern_prefix __restore
 I2    X   2156 #  elif __CRTL_VER >= 70301000
 I2    X   2157      __off_t fseeko   (__FILE *__stream, __off_t __offset, int __whence);
 I2    X   2158      __off_t ftello   (__FILE *__stream);
 I2    X   2159 #  endif
 I2	   2160 #endif
 I2	   2161 
 I2    X   2162 #ifdef __NAMESPACE_STD
 I2    X   2163 namespace std {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 39
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2    X   2164 #endif
 I2	   2165 
 I2	   2166 void   perror   (const char *__s);
 I2	   2167 int    printf   (const char *__format, ...);
 I2	   2168 int    puts     (const char *__s);
 I2	   2169 int    remove   (const char *__filename);
 I2	   2170 int    rename   (const char *__old, const char *__new);
 I2	   2171 int    scanf    (const char *__format, ...);
 I2	   2172 int    sprintf  (char *__s, const char *__format, ...);
 I2	   2173 int    sscanf   (const char *__s, const char *__format, ...);
 I2	   2174 int    ungetc   (int __c, __FILE *__stream);
 I2	   2175 int    vfprintf (__FILE *__stream, const char *__format, __va_list __arg); 
 I2	   2176 int    vprintf  (const char *__format, __va_list __arg);
 I2	   2177 int    vsprintf (char *__s, const char *__format, __va_list __arg);
 I2	   2178 
 I2	   2179 __FILE_ptr32 tmpfile(void);
 I2	   2180 
 I2	   2181 /*
 I2	   2182 **  The following function prototypes may be defined as macros
 I2	   2183 */
 I2	   2184 
 I2	   2185 #ifndef __NAMESPACE_STD
 I2	   2186 
 I2	   2187    /*
 I2	   2188    ** For a C++ compilation with __NAMESPACE_STD macro defined, the functions
 I2	   2189    ** below may have been already defined as inline functions. We declare them
 I2	   2190    ** here only if function definitions have not been provided.
 I2	   2191    */
 I2	   2192 
 I2	   2193    void (clearerr) (__FILE *__stream);
 I2	   2194    int  (feof)     (__FILE *__stream);
 I2	   2195    int  (ferror)   (__FILE *__stream);
 I2	   2196    int  (getc)     (__FILE *__stream);
 I2	   2197    int  (getchar)  (void);
 I2	   2198 
 I2    X   2199 #else /* ifndef __NAMESPACE_STD */
 I2    X   2200 
 I2    X   2201    #if !(__FP_OPTIMIZATIONS)
 I2    X   2202       void (clearerr) (__FILE *__stream);
 I2    X   2203       int  (feof)     (__FILE *__stream);
 I2    X   2204       int  (ferror)   (__FILE *__stream);
 I2    X   2205       int  (getc)     (__FILE *__stream);
 I2    X   2206       int  (getchar)  (void);
 I2    X   2207    #endif
 I2    X   2208 
 I2    X   2209 #endif /* ifndef __NAMESPACE_STD */
 I2	   2210 
 I2	   2211 int  (fgetc)    (__FILE *__stream);
 I2	   2212 int  (fputc)    (int __c, __FILE *__stream);
 I2	   2213 int  (putc)     (int __c, __FILE *__stream);
 I2	   2214 int  (putchar)  (int __c);
 I2	   2215 
 I2	   2216 /*
 I2	   2217 **  By defining __UNIX_FOPEN, a macro for fopen is defined which ensures
 I2	   2218 **  that the created file does not inherit attributes from an existing
 I2	   2219 **  file.  To use the fopen function with optional RMS arguments, the
 I2	   2220 **  caller is required to use (fopen)() to prevent macro expansion.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 40
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   2221 */
 I2    X   2222 #ifdef __UNIX_FOPEN
 I2    X   2223     __FILE_ptr32 fopen (const char *__filename, const char *__mode, ...);
 I2    X   2224 #   define fopen(__p1,__p2) \
 I2    X   2225           (fopen)(__p1,__p2,"ctx=stm","rfm=stmlf","rat=cr","mrs=0")
 I2    X   2226 #else
 I2    X   2227 #   ifdef _ANSI_C_SOURCE
 I2    X   2228        __FILE_ptr32 fopen (const char *__filename, const char *__mode);
 I2    X   2229 #   else 
 I2	   2230        __FILE_ptr32 fopen (const char *__filename, const char *__mode, ...);
 I2	   2231 #   endif
 I2	   2232 #endif
 I2	   2233 
 I2	   2234 
 I2	   2235 /*
 I2	   2236 **  The DEC C RTL extends the ANSI standard definitions of the following
 I2	   2237 **  functions.  The function prototypes used in this header file differ 
 I2	   2238 **  when the user is compiling /standard=ansi89.
 I2	   2239 */
 I2    X   2240 #ifdef _ANSI_C_SOURCE
 I2    X   2241     __FILE_ptr32 freopen (const char *__filename, const char *__mode, __FILE *__stream);
 I2    X   2242     void rewind (__FILE *__stream);
 I2    X   2243 #else
 I2	   2244     __FILE_ptr32 freopen (const char *__filename, const char *__mode, __FILE *__stream, ...);
 I2	   2245     int  rewind (__FILE *__stream);
 I2	   2246 #endif
 I2	   2247 
 I2    X   2248 #ifdef __NAMESPACE_STD
 I2    X   2249 } /* namespace std */
 I2    X   2250 #endif
 I2	   2251 
 I2	   2252 /*
 I2	   2253 **  The following functions have interfaces of XXX, _XXX32, and _XXX64 due 
 I2	   2254 **  to the fact that the return argument is a pointer that is relative to 
 I2	   2255 **  one of the arguments.
 I2	   2256 */
 I2    X   2257 #if __INITIAL_POINTER_SIZE == 32
 I2    X   2258 #   pragma __pointer_size 32
 I2    X   2259 #endif
 I2	   2260 
 I2	   2261 #if defined(_POSIX_C_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   2262     char *ctermid (char *__str);
 I2	   2263 #endif
 I2	   2264 
 I2	   2265 #if defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   2266     char *cuserid (char *__str);
 I2	   2267 #endif
 I2	   2268 
 I2    X   2269 #ifdef __NAMESPACE_STD
 I2    X   2270     namespace std {
 I2    X   2271 #endif
 I2	   2272 
 I2	   2273     char *gets    (char *__s);
 I2	   2274     char *fgets   (char *__s, int __n, __FILE *__stream);
 I2	   2275     char *tmpnam  (char *__s);
 I2	   2276 
 I2    X   2277 #ifdef __NAMESPACE_STD

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 41
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2    X   2278     } /* namespace std */
 I2    X   2279 #endif
 I2	   2280 
 I2	   2281 /*
 I2	   2282 **  End functions with interfaces of XXX, _XXX32, and _XXX64 
 I2	   2283 **  Restore allowing long pointers to be used in function calls if 
 I2	   2284 **  the user has used /pointer_size=short or /pointer_size=long.
 I2	   2285 */
 I2	   2286 
 I2    X   2287 #if __INITIAL_POINTER_SIZE
 I2    X   2288 #   pragma __pointer_size 64
 I2    X   2289 #endif
 I2	   2290 
 I2	   2291 #if !(defined(__DECCXX) && \
 I2	   2292      (defined(__STD_STRICT_ANSI) || defined(__STD_STRICT_ANSI_ERRORS)))
 I2	   2293 
 I2	   2294 /*
 I2	   2295 ** The functions below are not in the ISO/IEC 9899:1990 standard (so called
 I2	   2296 ** C89). They should not be visible in a C++ compilation in strict ansi mode.
 I2	   2297 */
 I2	   2298 
 I2	   2299 #if __CRTL_VER >= 70301000
 I2	   2300 int    vfscanf  (__FILE *__stream, const char *__format, __va_list __arg);
 I2	   2301 int    vscanf   (const char *__format, __va_list __arg);
 I2	   2302 int    vsscanf  (const char *__s, const char *__format, __va_list __arg);
 I2	   2303 #endif
 I2	   2304 
 I2	   2305 #if __CRTL_VER >= 70312000
 I2	   2306 int    snprintf(char *__s, __size_t __n, const char *__format, ...);
 I2	   2307 int    vsnprintf(char *__s, __size_t __n, const char *__format, __va_list __ap);
 I2	   2308 #endif
 I2	   2309 
 I2	   2310 #endif /* C++ compilation in strict ansi mode */
 I2	   2311 
 I2	   2312 
 I2    X   2313 #if __INITIAL_POINTER_SIZE && !defined(_ANSI_C_SOURCE) && __CRTL_VER >= 70000000
 I2    X   2314 #   pragma __pointer_size 32
 I2    X   2315     char *_ctermid32 (char *__str);
 I2    X   2316     char *_cuserid32 (char *__str);
 I2    X   2317     char *_gets32    (char *);
 I2    X   2318     char *_fgets32   (char *, int, __FILE *);
 I2    X   2319     char *_tmpnam32  (char *);
 I2    X   2320 
 I2    X   2321 #   pragma __pointer_size 64
 I2    X   2322     char *_ctermid64 (char *__str);
 I2    X   2323     char *_cuserid64 (char *__str);
 I2    X   2324     char *_gets64    (char *);
 I2    X   2325     char *_fgets64   (char *, int, __FILE *);
 I2    X   2326     char *_tmpnam64  (char *);
 I2    X   2327 #endif
 I2	   2328 
 I2	   2329 
 I2	   2330 /*
 I2	   2331 **  ISO POSIX-1 Extensions
 I2	   2332 */
 I2	   2333 #if defined(_POSIX_C_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   2334     int (fileno) (__FILE *__stream);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 42
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   2335     __FILE_ptr32 fdopen(int __file_desc, const char *__mode);
 I2	   2336 #endif
 I2	   2337 
 I2	   2338 
 I2	   2339 /*	 
 I2	   2340 **  ISO POSX-2 Extensions
 I2	   2341 */	 
 I2	   2342 #if _POSIX_C_SOURCE >= 2 || !defined(_ANSI_C_SOURCE) && __CRTL_VER >= 70000000
 I2	   2343     __FILE_ptr32 popen(const char *__command, const char *__mode);
 I2    X   2344 #   if  __CRTL_VER >= 70301000 && defined(_VMS_WAIT)
 I2    X   2345 #	ifdef __CAN_USE_EXTERN_PREFIX
 I2    X   2346 #	    pragma __extern_prefix __save
 I2    X   2347 #	    pragma __extern_prefix "__vms_"
 I2    X   2348 #	else
 I2    X   2349 #	    define pclose(__p1)	__vms_pclose(__p1)
 I2    X   2350 #	endif
 I2    X   2351 
 I2    X   2352 	int pclose(__FILE *__stream);
 I2    X   2353 
 I2    X   2354 #	ifdef __CAN_USE_EXTERN_PREFIX
 I2    X   2355 #	    pragma __extern_prefix __restore
 I2    X   2356 #	endif
 I2    X   2357 #    else
 I2	   2358 	int pclose(__FILE *__stream);
 I2	   2359 #    endif
 I2	   2360 
 I2	   2361 #   if defined(__DECC) && (__CRTL_VER >= 80500000)
 I2    X   2362 #       if __INITIAL_POINTER_SIZE == 32
 I2    X   2363 #           pragma __pointer_size 32
 I2    X   2364 #       endif
 I2	   2365         __ssize_t getdelim(char **lineptr, __size_t_ptr64 n, int delimiter, __FILE_ptr64 stream);
 I2	   2366 #       define getline(lineptr, n, stream) getdelim((lineptr), (n), '\n', (stream))
 I2	   2367         __ssize_t getwdelim(__wchar_t **lineptr, __size_t_ptr64 n, __wint_t delimiter, __FILE_ptr64 stream);
 I2	   2368 #       define getwline(lineptr, n, stream) getwdelim((lineptr), (n), L'\n', (stream))
 I2	   2369 
 I2    X   2370 #       if __INITIAL_POINTER_SIZE
 I2    X   2371 #           pragma __pointer_size 32
 I2    X   2372             __ssize_t _getdelim32(char **lineptr, __size_t_ptr64 n, int delimiter, __FILE_ptr64 stream);
 I2    X   2373 #           define _getline32(lineptr, n, stream) _getdelim32((lineptr), (n), '\n', (stream))
 I2    X   2374             __ssize_t _getwdelim32(__wchar_t **lineptr, __size_t_ptr64 n, __wint_t delimiter, __FILE_ptr64 stream);
 I2    X   2375 #           define _getwline32(lineptr, n, stream) _getwdelim32((lineptr), (n), L'\n', (stream))
 I2    X   2376 
 I2    X   2377 #           pragma __pointer_size 64
 I2    X   2378             __ssize_t _getdelim64(char **lineptr, __size_t_ptr64 n, int delimiter, __FILE_ptr64 rstream);
 I2    X   2379 #           define _getline64(lineptr, n, stream) _getdelim64((lineptr), (n), '\n', (stream))
 I2    X   2380             __ssize_t _getwdelim64(__wchar_t **lineptr, __size_t_ptr64 n, __wint_t delimiter, __FILE_ptr64 rstream);
 I2    X   2381 #           define _getwline64(lineptr, n, stream) _getwdelim64((lineptr), (n), L'\n', (stream))
 I2    X   2382 #       endif
 I2	   2383 #   endif
 I2	   2384 #endif
 I2	   2385 
 I2    X   2386 #if __INITIAL_POINTER_SIZE && !defined(_ANSI_C_SOURCE) && __CRTL_VER >= 70000000
 I2    X   2387 #   pragma __pointer_size 64
 I2    X   2388 #endif
 I2	   2389 
 I2	   2390 /*
 I2	   2391 **  X/Open extensions

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 43
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   2392 */	 
 I2	   2393 #if defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   2394     int getw (__FILE *__stream);
 I2	   2395     int putw (int __integer, __FILE *__stream);
 I2	   2396 
 I2	   2397 #   if __CRTL_VER >= 70000000 /* tempnam() was introduced in OpenVMS V7.0  */
 I2	   2398    /* 
 I2	   2399    **  P_tmpdir is the directory name used for tempnam().  It is defined
 I2	   2400    **  by X/Open.
 I2	   2401    */
 I2	   2402 #      define P_tmpdir "SYS$SCRATCH:"
 I2	   2403 #      if __CRTL_VER >= 70301000
 I2	   2404           __char_ptr32 tempnam(const char *dir, const char *pfx, ...);
 I2    X   2405 #      else
 I2    X   2406           __char_ptr32 tempnam(const char *dir, const char *pfx);
 I2    X   2407 #      endif
 I2	   2408 #   endif
 I2	   2409 #endif
 I2	   2410 
 I2	   2411 
 I2	   2412 /*	 
 I2	   2413 **  DEC C RTL extensions.  This include explicit 64-bit interfaces
 I2	   2414 **  to otherwise standard routines.
 I2	   2415 */	 
 I2	   2416 #ifndef _ANSI_C_SOURCE
 I2    X   2417 #   if __INITIAL_POINTER_SIZE == 32
 I2    X   2418 #	pragma __pointer_size 32
 I2    X   2419 #   endif
 I2	   2420 
 I2	   2421     char *fgetname(__FILE *__stream, char *__buf, ...);
 I2	   2422 
 I2    X   2423 #   if __INITIAL_POINTER_SIZE && __CRTL_VER >= 70000000
 I2    X   2424 #       pragma __pointer_size 32
 I2    X   2425         char *_fgetname32(__FILE *__stream, char *__buf, ...);
 I2    X   2426 #       pragma __pointer_size 64
 I2    X   2427         char *_fgetname64(__FILE *__stream, char *__buf, ...);
 I2    X   2428 #   endif
 I2	   2429 
 I2	   2430     int DECC$RECORD_READ(__FILE *__stream, void *__buffer, int __nbytes, ...);
 I2	   2431     int DECC$RECORD_WRITE(__FILE *__stream, void *__buffer, int __nbytes, ...);
 I2	   2432 
 I2	   2433     int decc$read (int __file_desc, void *__buffer, int __nbytes);
 I2	   2434 #   define decc$record_read(stream, buf, max_size) decc$read (((*(stream))->_file), (buf), (max_size))
 I2	   2435 
 I2	   2436 #   define decc$record_write(stream, buf, size) fwrite ((buf), (size), 1, (stream))
 I2	   2437 
 I2	   2438     int fwait (__FILE *__stream);
 I2	   2439     int lwait (int __file_desc);
 I2	   2440 
 I2	   2441     /*	 
 I2	   2442     **  fsync is standardized by X/Open to be in <unistd.h>
 I2	   2443     */	 
 I2	   2444     int fsync (int __file_desc);
 I2	   2445 
 I2	   2446 #   if __CRTL_VER >= 80400000
 I2	   2447         unsigned short int decc$get_channel(__FILE_ptr32 fp);
 I2	   2448 #   endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 44
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   2449 
 I2	   2450 # endif
 I2	   2451 
 I2	   2452 
 I2	   2453 /*
 I2	   2454 **  Support code for precompiled printf functions
 I2	   2455 */
 I2    X   2456 #if ((__DECC_VER > 50600000) && defined(_INTRINSICS))
 I2    X   2457 #    pragma intrinsic(printf, fprintf, sprintf)
 I2    X   2458 #    if defined(_INLINE_INTRINSICS) && __FP_OPTIMIZATIONS
 I2    X   2459 
 I2    X   2460         static __inline int decc$__CFE_print_puts(const char *x) {
 I2    X   2461            return(fputs(x,stdout));
 I2    X   2462         }
 I2    X   2463         static __inline int decc$__CFE_print_putc(int x) {
 I2    X   2464            putc(x,stdout);
 I2    X   2465            return(1);
 I2    X   2466         }
 I2    X   2467         static __inline int decc$__CFE_print_putc_nl(int x) {
 I2    X   2468            putc(x,stdout); putc('\n',stdout);
 I2    X   2469            return(2);
 I2    X   2470         }
 I2    X   2471         static __inline int decc$__CFE_fprint_puts_nl(const char *x, __FILE *f) { 
 I2    X   2472            register int i = fputs(x,f); 
 I2    X   2473            putc('\n',f); 
 I2    X   2474            return(i+1);
 I2    X   2475         }
 I2    X   2476         static __inline int decc$__CFE_fprint_putc(int x, __FILE *f) {
 I2    X   2477            putc(x,f);
 I2    X   2478            return(1);
 I2    X   2479         }
 I2    X   2480         static __inline int decc$__CFE_fprint_putc_nl(int x, __FILE *f) {
 I2    X   2481            putc(x,f); putc('\n',f);
 I2    X   2482            return(2);
 I2    X   2483         }
 I2    X   2484 
 I2    X   2485 #    else /* if defined(_INLINE_INTRINSICS) && __FP_OPTIMIZATIONS */
 I2    X   2486         int decc$__CFE_print_puts( const char *x );
 I2    X   2487         int decc$__CFE_print_putc( int x );
 I2    X   2488         int decc$__CFE_print_putc_nl( int x );
 I2    X   2489         int decc$__CFE_fprint_puts_nl( const char *x, __FILE *f );
 I2    X   2490         int decc$__CFE_fprint_putc( int x, __FILE *f );
 I2    X   2491         int decc$__CFE_fprint_putc_nl( int x, __FILE *f );
 I2    X   2492 #    endif /* if defined(_INLINE_INTRINSICS) && __FP_OPTIMIZATIONS */
 I2    X   2493 #endif /* defined(_INTRINSICS) */
 I2	   2494 
 I2	   2495 #if __FP_LOCKING
 I2	   2496 
 I2	   2497     /*
 I2	   2498     ** These functions shall provide for explicit application-level locking of 
 I2	   2499     ** stdio ( FILE *) objects. These functions can be used by a thread to 
 I2	   2500     ** delineate a sequence of I/O statements that are executed as a unit.
 I2	   2501     */
 I2	   2502 
 I2	   2503     void flockfile(__FILE *__stream);
 I2	   2504 
 I2	   2505     int ftrylockfile(__FILE *__stream);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 45
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2	   2506 
 I2	   2507     void funlockfile(__FILE *__stream); 
 I2	   2508 
 I2	   2509     /*
 I2	   2510     ** Versions of the file pointer functions which are functionally
 I2	   2511     ** equivalent to the original versions, with the exception that they 
 I2	   2512     ** are not required to be implemented in a thread-safe manner. 
 I2	   2513     ** They may only safely be used within a scope protected by flockfile() 
 I2	   2514     ** (or ftrylockfile()) and funlockfile().
 I2	   2515     */
 I2	   2516 #   define clearerr_unlocked(stream)	__clearerr_(stream)
 I2	   2517 #   define getc_unlocked(stream)	__getc_(stream)
 I2	   2518 #   define getchar_unlocked(stream)	__getchar_(stream)
 I2	   2519 #   define feof_unlocked(stream)	__feof_(stream)
 I2	   2520 #   define ferror_unlocked(stream)	__ferror_(stream)
 I2	   2521 
 I2	   2522     void (clearerr_unlocked) (__FILE *__stream);
 I2	   2523     int  (getc_unlocked)     (__FILE *__stream);
 I2	   2524     int  (getchar_unlocked)  (void);
 I2	   2525     int  (feof_unlocked)     (__FILE *__stream);
 I2	   2526     int  (ferror_unlocked)   (__FILE *__stream);
 I2	   2527 
 I2    X   2528 #   ifdef __UNIX_PUTC
 I2    X   2529 #	define fgetc_unlocked(stream)		__fgetc(stream)
 I2    X   2530 #	define fputc_unlocked(c, stream)	__fputc(c, stream)
 I2    X   2531 #	define putc_unlocked(c,fp)		__putc(c,fp)
 I2    X   2532 #	define putchar_unlocked(c)		__putchar(c)
 I2    X   2533 
 I2    X   2534 	int  (fgetc_unlocked)    (__FILE *__stream);
 I2    X   2535 	int  (fputc_unlocked)    (int __c, __FILE *__stream);
 I2    X   2536 	int  (putc_unlocked)     (int __c, __FILE *__stream);
 I2    X   2537 	int  (putchar_unlocked)  (int __c);
 I2    X   2538 #   endif
 I2	   2539 
 I2	   2540 #endif	    /* __FP_LOCKING X/Open file locking */
 I2	   2541 
 I2	   2542 /*
 I2	   2543 **  Restore the users pointer context
 I2	   2544 */
 I2    X   2545 #if __INITIAL_POINTER_SIZE
 I2    X   2546 #   pragma __pointer_size __restore
 I2    X   2547 #endif
 I2	   2548 
 I2    X   2549 #ifdef __cplusplus
 I2    X   2550     }
 I2    X   2551 #endif
 I2	   2552 
 I2	   2553 #pragma __member_alignment __restore
 I2	   2554 
 I2	   2555 #pragma __standard
 I2	   2556 #endif /* __STDIO_PROCESSED */
 I2	   2557 
 I2    X   2558 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I2    X   2559 #  ifndef __USING_STDIO_NAMES
 I2    X   2560 #    define __USING_STDIO_NAMES
 I2    X   2561      using std::FILE;
 I2    X   2562      using std::clearerr;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 46
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDIO)

 I2    X   2563      using std::fclose;
 I2    X   2564      using std::feof;
 I2    X   2565      using std::ferror;
 I2    X   2566      using std::fflush;
 I2    X   2567      using std::fgetc;
 I2    X   2568      using std::fgetpos;
 I2    X   2569      using std::fgets;
 I2    X   2570      using std::fopen;
 I2    X   2571      using std::fpos_t;
 I2    X   2572      using std::fprintf;
 I2    X   2573      using std::fputc;
 I2    X   2574      using std::fputs;
 I2    X   2575      using std::fread;
 I2    X   2576      using std::freopen;
 I2    X   2577      using std::fscanf;
 I2    X   2578      using std::fseek;
 I2    X   2579      using std::fsetpos;
 I2    X   2580      using std::ftell;
 I2    X   2581      using std::fwrite;
 I2    X   2582      using std::getc;
 I2    X   2583      using std::getchar;
 I2    X   2584      using std::gets;
 I2    X   2585      using std::perror;
 I2    X   2586      using std::printf;
 I2    X   2587      using std::putc;
 I2    X   2588      using std::putchar;
 I2    X   2589      using std::puts;
 I2    X   2590      using std::remove;
 I2    X   2591      using std::rename;
 I2    X   2592      using std::rewind;
 I2    X   2593      using std::scanf;
 I2    X   2594      using std::setbuf;
 I2    X   2595      using std::setvbuf;
 I2    X   2596      using std::sprintf;
 I2    X   2597      using std::sscanf;
 I2    X   2598      using std::tmpfile;
 I2    X   2599      using std::tmpnam;
 I2    X   2600      using std::ungetc;
 I2    X   2601      using std::vfprintf;
 I2    X   2602      using std::vprintf;
 I2    X   2603      using std::vsprintf;
 I2    X   2604      using std::size_t;
 I2    X   2605 #  endif
 I2    X   2606 #endif
 I2	   2607 
 I2	   2608 #endif  /* __STDIO_LOADED */
 I1	   2609 #include <ctype.h>			/* and this. */
 I2	   2610 #ifndef __CTYPE_LOADED
 I2	   2611 #define __CTYPE_LOADED
 I2	   2612 
 I2	   2613 #ifndef __CTYPE_PROCESSED
 I2	   2614 #define __CTYPE_PROCESSED
 I2	   2615 
 I2	   2616 /****************************************************************************
 I2	   2617 **
 I2	   2618 **  <ctype.h> - Character Type Classification Macros/Routines
 I2	   2619 **

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 47
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(CTYPE)

 I2	   2620 *****************************************************************************
 I2	   2621 **  Header introduced by the ANSI C Standard
 I2	   2622 *****************************************************************************
 I2	   2623 **                                                                         **
 I2	   2624 ** HPE CONFIDENTIAL. This software is confidential proprietary software    **
 I2	   2625 ** licensed by Hewlett Packard Enterprise Development, LP, and is not      **
 I2	   2626 ** authorized to be used, duplicated or disclosed to anyone without the    **
 I2	   2627 ** prior written permission of HPE.                                        **
 I2	   2628 ** Copyright 2019 Hewlett Packard Enterprise Development, LP               **
 I2	   2629 **                                                                         **
 I2	   2630 ** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential          **
 I2	   2631 ** proprietary software licensed by VMS Software, Inc., and is not         **
 I2	   2632 ** authorized to be used, duplicated or disclosed to anyone without        **
 I2	   2633 ** the prior written permission of VMS Software, Inc.                      **
 I2	   2634 ** Copyright 2019 VMS Software, Inc.                                       **
 I2	   2635 **                                                                         **
 I2	   2636 **                                                                         **
 I2	   2637 *****************************************************************************
 I2	   2638 */
 I2	   2639 
 I2	   2640 #pragma __nostandard
 I2    X   2641 #include <decc$types.h>
 I2    X   2642 #ifdef __cplusplus
 I2    X   2643     extern "C" {
 I2    X   2644 #endif
 I2	   2645 
 I2	   2646 
 I2	   2647 /*
 I2	   2648 **  If the user has used /pointer_size=short or /pointer_size=long, we will
 I2	   2649 **  begin in a 32-bit pointer size context.
 I2	   2650 */
 I2    X   2651 #if __INITIAL_POINTER_SIZE
 I2    X   2652 #   pragma __pointer_size __save
 I2    X   2653 #   pragma __pointer_size 32
 I2    X   2654 #endif
 I2	   2655 
 I2	   2656 
 I2    X   2657 #ifdef __NAMESPACE_STD
 I2    X   2658 namespace std {
 I2    X   2659 #endif
 I2	   2660 
 I2	   2661 /*
 I2	   2662 **  4.3.1 Character Testing Functions
 I2	   2663 */
 I2	   2664 
 I2    X   2665 #ifdef __NAMESPACE_STD
 I2    X   2666 #  pragma __extern_prefix __save
 I2    X   2667 #  pragma __extern_prefix "CXXL$"
 I2    X   2668 #endif
 I2	   2669 
 I2	   2670 int isalnum  (int);
 I2	   2671 int isalpha  (int);
 I2	   2672 int iscntrl  (int);
 I2	   2673 int isdigit  (int);
 I2	   2674 int isgraph  (int);
 I2	   2675 int islower  (int);
 I2	   2676 int isprint  (int);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 48
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(CTYPE)

 I2	   2677 int ispunct  (int);
 I2	   2678 int isspace  (int);
 I2	   2679 int isupper  (int);
 I2	   2680 int isxdigit (int);
 I2	   2681 #if defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L) /* C99 */
 I2	   2682 int isblank  (int);
 I2	   2683 #endif
 I2	   2684 
 I2    X   2685 #ifdef __NAMESPACE_STD
 I2    X   2686 #  pragma __extern_prefix __restore
 I2    X   2687 #endif
 I2	   2688 
 I2	   2689 /*
 I2	   2690 **  4.3.2 Character Case Mapping Functions
 I2	   2691 */
 I2	   2692 int tolower (int);
 I2	   2693 int toupper (int);
 I2	   2694 
 I2    X   2695 #ifdef __NAMESPACE_STD
 I2    X   2696 } /* namespace std */
 I2    X   2697 #endif
 I2	   2698 
 I2	   2699 /******************************************************************************
 I2	   2700 **
 I2	   2701 **  OpenVMS V6.2 and later
 I2	   2702 **
 I2	   2703 ******************************************************************************/
 I2	   2704 #if __CRTL_VER >= 60200000
 I2	   2705 
 I2	   2706 #   define __ctypet    (decc$$ga___ctypet)
 I2	   2707 #   define __ctypea    (decc$$gl___ctypea)
 I2	   2708 #   define __isclocale (decc$$gl___isclocale)
 I2	   2709 
 I2	   2710 #   pragma __extern_model __save
 I2	   2711 #   pragma __extern_model __strict_refdef
 I2	   2712 
 I2	   2713     /*
 I2	   2714     ** Classmask array __ctypet is declared as a pointer in order
 I2	   2715     ** to prevent BADSUBSCRIPT message which otherwise would be
 I2	   2716     ** issued by the compiler when one of the is* functions is called
 I2	   2717     ** with EOF and, accordingly, __ISFUNCTION macro below expands
 I2	   2718     ** into __ctypet[-1]
 I2	   2719     */
 I2	   2720     extern const unsigned int  * __ctypet ;
       E	                                  ( decc$$ga___ctypet )
 I2	   2721 
 I2	   2722     extern int __ctypea ;
       E	                ( decc$$gl___ctypea )
 I2	   2723     extern int __isclocale ;
       E	                ( decc$$gl___isclocale )
 I2	   2724 #   pragma __extern_model __restore
 I2	   2725 
 I2	   2726 #   define __UPPER     0x1
 I2	   2727 #   define __LOWER     0x2
 I2	   2728 #   define __DIGIT     0x4
 I2	   2729 #   define __SPACE     0x8
 I2	   2730 #   define __PUNCT     0x10

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 49
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(CTYPE)

 I2	   2731 #   define __CNTRL     0x20
 I2	   2732 #   define __XDIGIT    0x40
 I2	   2733 #   define __PRINT     0x80
 I2	   2734 #   define __ALPHABET  0x100
 I2	   2735 #   define __ALNUM     0x104
 I2	   2736 #   define __GRAPH     0x200
 I2	   2737 #   define __BLANK     0X400
 I2	   2738 
 I2	   2739 #   define __ISALPHABET  (isalpha)
 I2	   2740 #   define __ISCNTRL     (iscntrl)
 I2	   2741 #   define __ISUPPER     (isupper)
 I2	   2742 #   define __ISLOWER     (islower)
 I2	   2743 #   define __ISDIGIT     (isdigit)
 I2	   2744 #   define __ISSPACE     (isspace)
 I2	   2745 #   define __ISPUNCT     (ispunct)
 I2	   2746 #   define __ISXDIGIT    (isxdigit)
 I2	   2747 #   define __ISPRINT     (isprint)
 I2	   2748 #   define __ISGRAPH     (isgraph)
 I2	   2749 #   define __ISALNUM     (isalnum)
 I2	   2750 #if defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L) /* C99 */
 I2	   2751 #   define __ISBLANK     (isblank)
 I2	   2752 #endif
 I2	   2753 /*
 I2	   2754 ** Throughout this header file, for a C++ compilation with __NAMESPACE_STD
 I2	   2755 ** enabled, functions from ANSI C standard that are defined as macros in this
 I2	   2756 ** header file, are defined as inline functions instead of macros.
 I2	   2757 **
 I2	   2758 ** This is to comply with clause 17.4.1.2 Headers [lib.headers] of the C++
 I2	   2759 ** standard which says, in particular:
 I2	   2760 
 I2	   2761 -6- Names that are defined as functions in C shall be defined as functions
 I2	   2762     in the C++ Standard Library.*)
 I2	   2763 
 I2	   2764 *) This disallows the practice, allowed in C, of providing a "masking macro"
 I2	   2765    in addition to the function prototype. The only way to achieve equivalent
 I2	   2766    "inline" behavior in C++ is to provide a definition as an extern inline
 I2	   2767    function.
 I2	   2768 */
 I2	   2769 
 I2	   2770 #ifndef __NAMESPACE_STD
 I2	   2771 
 I2	   2772 /*
 I2	   2773 **  Macro definitions
 I2	   2774 */
 I2	   2775 
 I2	   2776 #   define __ISFUNCTION(c,p)  (__ctypea?__ctypet[(int)(c)]&__##p:__IS##p(c))
 I2	   2777 
 I2	   2778 #   define iscntrl(c)  __ISFUNCTION(c, CNTRL)
 I2	   2779 #   define isalnum(c)  __ISFUNCTION(c, ALNUM)
 I2	   2780 #   define isalpha(c)  __ISFUNCTION(c, ALPHABET)
 I2	   2781 #   define isdigit(c)  __ISFUNCTION(c, DIGIT)
 I2	   2782 #   define isgraph(c)  __ISFUNCTION(c, GRAPH)
 I2	   2783 #   define islower(c)  __ISFUNCTION(c, LOWER)
 I2	   2784 #   define isprint(c)  __ISFUNCTION(c, PRINT)
 I2	   2785 #   define ispunct(c)  __ISFUNCTION(c, PUNCT)
 I2	   2786 #   define isspace(c)  __ISFUNCTION(c, SPACE)
 I2	   2787 #   define isxdigit(c) __ISFUNCTION(c, XDIGIT)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 50
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(CTYPE)

 I2	   2788 #   define isupper(c)  __ISFUNCTION(c, UPPER)
 I2	   2789 #if defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L) /* C99 */
 I2	   2790 #   define isblank(c)  __ISFUNCTION(c, BLANK)
 I2	   2791 #endif
 I2	   2792 
 I2    X   2793 #else
 I2    X   2794 
 I2    X   2795 /*
 I2    X   2796 **  Inline functions
 I2    X   2797 */
 I2    X   2798 
 I2    X   2799 namespace std {
 I2    X   2800 
 I2    X   2801 #define __INLINE_ISFUNCTION(c,p) { \
 I2    X   2802   /* no need to check __ctypea on VMS V6.2 and above */ \
 I2    X   2803   return (c == __EOF ? 0 : __ctypet[(unsigned) c & 0xff] & __##p); \
 I2    X   2804 }
 I2    X   2805 
 I2    X   2806 inline int iscntrl(int c)  __INLINE_ISFUNCTION(c, CNTRL)
 I2    X   2807 inline int isalnum(int c)  __INLINE_ISFUNCTION(c, ALNUM)
 I2    X   2808 inline int isalpha(int c)  __INLINE_ISFUNCTION(c, ALPHABET)
 I2    X   2809 inline int isdigit(int c)  __INLINE_ISFUNCTION(c, DIGIT)
 I2    X   2810 inline int isgraph(int c)  __INLINE_ISFUNCTION(c, GRAPH)
 I2    X   2811 inline int islower(int c)  __INLINE_ISFUNCTION(c, LOWER)
 I2    X   2812 inline int isprint(int c)  __INLINE_ISFUNCTION(c, PRINT)
 I2    X   2813 inline int ispunct(int c)  __INLINE_ISFUNCTION(c, PUNCT)
 I2    X   2814 inline int isspace(int c)  __INLINE_ISFUNCTION(c, SPACE)
 I2    X   2815 inline int isxdigit(int c) __INLINE_ISFUNCTION(c, XDIGIT)
 I2    X   2816 inline int isupper(int c)  __INLINE_ISFUNCTION(c, UPPER)
 I2    X   2817 #if defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L) /* C99 */
 I2    X   2818 inline int isblank(int c)  __INLINE_ISFUNCTION(c, BLANK)
 I2    X   2819 #endif
 I2    X   2820 
 I2    X   2821 } /* namespace std */
 I2    X   2822 
 I2    X   2823 #endif /* __NAMESPACE_STD */
 I2	   2824 
 I2	   2825 #   define __IS_LOWER(c) (((c) >= 'a' && (c) <= 'z')?1:0)
 I2	   2826 #   define __IS_UPPER(c) (((c) >= 'A' && (c) <= 'Z')?1:0)
 I2	   2827 
 I2	   2828 
 I2	   2829 /* 
 I2	   2830 **  X/Open extensions
 I2	   2831 */ 
 I2	   2832 #   if defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2	   2833 
 I2    X   2834 #     if defined(_FAST_TOUPPER)
 I2    X   2835 	/* Note - these evaluate macro parameters multiple times */
 I2    X   2836 #       define _toupper(c)  (__isclocale? (__IS_LOWER(c) ? (c) & 0xDF: (c)): (toupper)(c))
 I2    X   2837 #       define _tolower(c)  (__isclocale? (__IS_UPPER(c) ? (c) | 0x20: (c)): (tolower)(c))
 I2    X   2838 #     else
 I2	   2839 #	define _toupper(c)  (toupper)(c)
 I2	   2840 #	define _tolower(c)  (tolower)(c)
 I2	   2841 #     endif
 I2	   2842 
 I2	   2843         int isascii (int);
 I2	   2844         int toascii (int);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 51
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(CTYPE)

 I2	   2845 
 I2	   2846 #       define isascii(c) ((unsigned)(c) <= 0x7F)
 I2	   2847 #       define toascii(c) ((c) & 0x7F)
 I2	   2848 #   endif
 I2	   2849 
 I2	   2850 #endif
 I2	   2851 
 I2	   2852 
 I2	   2853 /******************************************************************************
 I2	   2854 **
 I2	   2855 **  Prior to OpenVMS V6.2
 I2	   2856 **
 I2	   2857 ******************************************************************************/
 I2    X   2858 #if __CRTL_VER < 60200000
 I2    X   2859 
 I2    X   2860 #   define __ctype (*decc$ga___ctype)
 I2    X   2861 
 I2    X   2862 #   pragma __extern_model __save
 I2    X   2863 #   pragma __extern_model __strict_refdef
 I2    X   2864     extern const char __ctype [];
 I2    X   2865 #   pragma __extern_model __restore
 I2    X   2866 
 I2    X   2867 #   define _U 0x1
 I2    X   2868 #   define _L 0x2
 I2    X   2869 #   define _D 0x4
 I2    X   2870 #   define _S 0x8
 I2    X   2871 #   define _P 0x10
 I2    X   2872 #   define _C 0x20
 I2    X   2873 #   define _X 0x40
 I2    X   2874 #   define _B 0x80
 I2    X   2875 #   define _K 0x400
 I2    X   2876 
 I2    X   2877 #   ifdef __DECC
 I2    X   2878 #   pragma __message __save
 I2    X   2879 #   pragma __message __disable (__CHECK)
 I2    X   2880 #   endif
 I2    X   2881 
 I2    X   2882     static int __iscntrl (int __c) {
 I2    X   2883        /* Check explicitly for EOF */
 I2    X   2884        return __c < 0 ? 0 : __ctype [__c & 0xFF] & _C;
 I2    X   2885     }
 I2    X   2886 
 I2    X   2887 #   define iscntrl  __iscntrl
 I2    X   2888 
 I2    X   2889 #   ifdef __DECC
 I2    X   2890 #   pragma __message __restore
 I2    X   2891 #   endif
 I2    X   2892 
 I2    X   2893 #   define isalnum(c)  (__ctype [(c) & 0xFF] & (_U | _L | _D))
 I2    X   2894 #   define isalpha(c)  (__ctype [(c) & 0xFF] & (_U | _L))
 I2    X   2895 #   define isdigit(c)  (__ctype [(c) & 0xFF] & _D)
 I2    X   2896 #   define isgraph(c)  (__ctype [(c) & 0xFF] & (_P | _U | _L | _D))
 I2    X   2897 #   define islower(c)  (__ctype [(c) & 0xFF] & _L)
 I2    X   2898 #   define isprint(c)  (__ctype [(c) & 0xFF] & (_P | _U | _L | _D | _B))
 I2    X   2899 #   define ispunct(c)  (__ctype [(c) & 0xFF] & _P)
 I2    X   2900 #   define isspace(c)  (__ctype [(c) & 0xFF] & _S)
 I2    X   2901 #   define isupper(c)  (__ctype [(c) & 0xFF] & _U)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 52
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(CTYPE)

 I2    X   2902 #   define isxdigit(c) (__ctype [(c) & 0xFF] & _X)
 I2    X   2903 #if defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L) /* C99 */
 I2    X   2904 #   define isblank(c)  (__ctype [(c) & 0XFF] & _K)
 I2    X   2905 #endif
 I2    X   2906 
 I2    X   2907 /* 
 I2    X   2908 **  X/Open extensions
 I2    X   2909 */ 
 I2    X   2910 #   if defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)
 I2    X   2911 #      define _ctype_ __ctype
 I2    X   2912        int isascii (int);
 I2    X   2913 #      define isascii(c) ((unsigned)(c) <= 0x7F)
 I2    X   2914 #      define toascii(c) ((c) & 0x7F)
 I2    X   2915 #      define _toupper(c) (((c) >= 'a' && (c) <= 'z') ? (c) & 0xDF : (c))
 I2    X   2916 #      define _tolower(c) (((c) >= 'A' && (c) <= 'Z') ? (c) | 0x20 : (c))
 I2    X   2917 #   endif
 I2    X   2918 #endif
 I2	   2919 
 I2	   2920 
 I2	   2921 /*
 I2	   2922 **  Restore the users pointer context
 I2	   2923 */
 I2    X   2924 #if __INITIAL_POINTER_SIZE
 I2    X   2925 #   pragma __pointer_size __restore
 I2    X   2926 #endif
 I2	   2927 
 I2    X   2928 #ifdef __cplusplus
 I2    X   2929     }
 I2    X   2930 #endif
 I2	   2931 
 I2	   2932 #pragma __standard
 I2	   2933 #endif /* __CTYPE_PROCESSED */
 I2	   2934 
 I2    X   2935 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I2    X   2936 #  ifndef __USING_CTYPE_NAMES
 I2    X   2937 #    define __USING_CTYPE_NAMES
 I2    X   2938      using std::isalnum;
 I2    X   2939      using std::isalpha;
 I2    X   2940      using std::iscntrl;
 I2    X   2941      using std::isdigit;
 I2    X   2942      using std::isgraph;
 I2    X   2943      using std::islower;
 I2    X   2944      using std::isprint;
 I2    X   2945      using std::ispunct;
 I2    X   2946      using std::isspace;
 I2    X   2947      using std::isupper;
 I2    X   2948      using std::isxdigit;
 I2    X   2949      using std::tolower;
 I2    X   2950      using std::toupper;
 I2    X   2951 #  endif
 I2    X   2952 #endif
 I2	   2953 
 I2	   2954 #endif /* __CTYPE_LOADED */
 I1	   2955 
 I1	   2956 #ifdef VMS
 I1	   2957 #include <types.h>			/* Ensure off_t. */
 I2	   2958 #ifndef __TYPES_LOADED

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 53
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I2	   2959 #define __TYPES_LOADED 1
 I2	   2960 /****************************************************************************
 I2	   2961 **
 I2	   2962 **  <types.h> - Standard Type Definitions
 I2	   2963 **
 I2	   2964 *****************************************************************************
 I2	   2965 **  Header introduced by the ISO POSIX-1 Standard
 I2	   2966 *****************************************************************************
 I2	   2967 **                                                                       
 I2	   2968 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I2	   2969 **                                                                       
 I2	   2970 ** Confidential computer software.  Valid license from HP and/or         
 I2	   2971 ** its subsidiaries required for possession, use, or copying.            
 I2	   2972 **                                                                       
 I2	   2973 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I2	   2974 ** Computer Software Documentation, and Technical Data for Commercial    
 I2	   2975 ** Items are licensed to the U.S. Government under vendor's standard     
 I2	   2976 ** commercial license.                                                   
 I2	   2977 **                                                                       
 I2	   2978 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I2	   2979 ** or editorial errors or omissions contained herein.  The information   
 I2	   2980 ** in this document is provided "as is" without warranty of any kind and 
 I2	   2981 ** is subject to change without notice.  The warranties for HP products  
 I2	   2982 ** are set forth in the express limited warranty statements accompanying 
 I2	   2983 ** such products.  Nothing herein should be construed as constituting an 
 I2	   2984 ** additional warranty.                                                  
 I2	   2985 **                                                                       
 I2	   2986 *****************************************************************************
 I2	   2987 */
 I2	   2988 
 I2	   2989 #pragma __nostandard
 I2    X   2990 #include <decc$types.h>
 I2	   2991 
 I2    X   2992 #ifdef __cplusplus
 I2    X   2993     extern "C" {
 I2    X   2994 #endif
 I2	   2995 
 I2    X   2996 #if __INITIAL_POINTER_SIZE
 I2    X   2997 #   pragma __pointer_size __save
 I2    X   2998 #   pragma __pointer_size 32
 I2    X   2999 #endif
 I2	   3000 
 I2	   3001 
 I2	   3002 /*
 I2	   3003 **  Public typedefs 
 I2	   3004 */
 I2	   3005 
 I2	   3006 /*
 I2	   3007 **  ISO POSIX-1 typedefs
 I2	   3008 */
 I2	   3009 
 I2	   3010 /* 
 I2	   3011 **  Used for device IDs.
 I2	   3012 */
 I2	   3013 #if !defined __DEV_T  && !defined _DECC_V4_SOURCE
 I2	   3014 #   define __DEV_T 1
 I2	   3015     typedef __dev_t dev_t;    

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 54
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I2	   3016 #endif
 I2	   3017 
 I2	   3018 /*  
 I2	   3019 **  Used for group IDs.
 I2	   3020 */
 I2	   3021 #if !defined __GID_T  && !defined _DECC_V4_SOURCE
 I2	   3022 #   define __GID_T 1
 I2	   3023     typedef __gid_t gid_t;    
 I2	   3024 #endif
 I2	   3025 
 I2	   3026 /* 
 I2	   3027 **  Used for file serial numbers.
 I2	   3028 */
 I2	   3029 #if !defined __INO_T  && !defined _DECC_V4_SOURCE
 I2	   3030 #   define __INO_T 1
 I2	   3031     typedef __ino_t ino_t;    
 I2	   3032 #endif
 I2	   3033 
 I2	   3034 /*  
 I2	   3035 **  Used for some file attributes.
 I2	   3036 */
 I2	   3037 #if !defined __MODE_T  && !defined _DECC_V4_SOURCE
 I2	   3038 #   define __MODE_T 1
 I2	   3039     typedef __mode_t mode_t;  
 I2	   3040 #endif
 I2	   3041 
 I2	   3042 /* 
 I2	   3043 **  Used for link counts.
 I2	   3044 */
 I2	   3045 #if !defined __NLINK_T  && !defined _DECC_V4_SOURCE
 I2	   3046 #   define __NLINK_T 1
 I2	   3047     typedef __nlink_t nlink_t;
 I2	   3048 #endif
 I2	   3049 
 I2	   3050 /* 
 I2	   3051 **  Used for file sizes.
 I2	   3052 */
 I2    X   3053 #if !defined __OFF_T  && !defined _DECC_V4_SOURCE
 I2    X   3054 #   define __OFF_T 1
 I2    X   3055     typedef __off_t off_t;    
 I2    X   3056 #endif
 I2	   3057 
 I2	   3058 /* 
 I2	   3059 ** Used for process IDs and process group IDs.
 I2	   3060 */
 I2	   3061 #if !defined __PID_T  && !defined _DECC_V4_SOURCE
 I2	   3062 #   define __PID_T 1
 I2	   3063     typedef __pid_t pid_t; 
 I2	   3064 #endif
 I2	   3065 
 I2	   3066 /*
 I2	   3067 ** Used for sizes of objects.
 I2	   3068 */
 I2    X   3069 #if !defined __SIZE_T  && !defined _DECC_V4_SOURCE
 I2    X   3070 #   define __SIZE_T 1
 I2    X   3071 #ifdef __NAMESPACE_STD
 I2    X   3072 namespace std {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 55
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I2    X   3073 #endif
 I2    X   3074     typedef __size_t size_t;
 I2    X   3075 #ifdef __NAMESPACE_STD
 I2    X   3076 } /* namespace std */
 I2    X   3077     using std::size_t;
 I2    X   3078 #endif
 I2    X   3079 #endif
 I2	   3080 
 I2	   3081 /*
 I2	   3082 ** Used for a count of bytes or an error indication.
 I2	   3083 */
 I2	   3084 #if !defined __SSIZE_T  && !defined _DECC_V4_SOURCE
 I2	   3085 #   define __SSIZE_T 1
 I2	   3086     typedef __ssize_t ssize_t;
 I2	   3087 #endif
 I2	   3088 
 I2	   3089 /*
 I2	   3090 ** Used for user IDs.
 I2	   3091 */
 I2	   3092 #if !defined __UID_T  && !defined _DECC_V4_SOURCE
 I2	   3093 #   define __UID_T 1
 I2	   3094     typedef __uid_t uid_t;
 I2	   3095 #endif
 I2	   3096 
 I2	   3097 
 I2	   3098 /*	 
 I2	   3099 **  X/Open XPG4 typedefs, also defined in DECC V4
 I2	   3100 */	 
 I2	   3101 #if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I2	   3102 
 I2	   3103 /* 
 I2	   3104 **  Used for time in seconds.
 I2	   3105 */
 I2	   3106 #   ifndef __TIME_T
 I2	   3107 #	define __TIME_T 1
 I2    X   3108 #ifdef __NAMESPACE_STD
 I2    X   3109 namespace std {
 I2    X   3110 #endif
 I2	   3111      typedef __time_t time_t;
 I2    X   3112 #ifdef __NAMESPACE_STD
 I2    X   3113 } /* namespace std */
 I2    X   3114      using std::time_t;
 I2    X   3115 #endif
 I2	   3116 #   endif
 I2	   3117 
 I2	   3118 #endif
 I2	   3119 
 I2	   3120 
 I2	   3121 /*	 
 I2	   3122 **  X/Open XPG4 typedefs, new in DEC C V5.n
 I2	   3123 */	 
 I2	   3124 #if defined _XOPEN_SOURCE || (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE)
 I2	   3125 
 I2	   3126 /* 
 I2	   3127 **  Used for system times in clock ticks or CLOCKS_PER_SEC.
 I2	   3128 */
 I2	   3129 #   ifndef __CLOCK_T 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 56
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I2	   3130 #	define __CLOCK_T 1
 I2    X   3131 #ifdef __NAMESPACE_STD
 I2    X   3132 namespace std {
 I2    X   3133 #endif
 I2	   3134 	typedef long int  clock_t;    
 I2    X   3135 #ifdef __NAMESPACE_STD
 I2    X   3136 } /* namespace std */
 I2    X   3137         using std::clock_t;
 I2    X   3138 #endif
 I2	   3139 #   endif
 I2	   3140 
 I2	   3141 /* 
 I2	   3142 **  Used for interprocess communication.  
 I2	   3143 */
 I2	   3144 #   ifndef __KEY_T 
 I2	   3145 #	define __KEY_T 1
 I2	   3146 	typedef __key_t  key_t;
 I2	   3147 #   endif
 I2	   3148 
 I2	   3149 #endif
 I2	   3150 
 I2	   3151 
 I2	   3152 /*	 
 I2	   3153 **  X/Open extended (XPG4) typedefs
 I2	   3154 */	 
 I2	   3155 #if defined _XOPEN_SOURCE_EXTENDED || (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE)
 I2	   3156 
 I2	   3157 /*
 I2	   3158 **  Used as a general identifier; can be used to contain at least a pid_t, uid_t or gid_t.
 I2	   3159 */
 I2	   3160 #   ifndef __ID_T
 I2	   3161 #	define __ID_T
 I2	   3162 	typedef __id_t id_t;
 I2	   3163 #   endif
 I2	   3164 
 I2	   3165 /*
 I2	   3166 ** Used for time in microseconds.
 I2	   3167 */
 I2	   3168 #   ifndef __USECONDS_T
 I2	   3169 #	define __USECONDS_T
 I2	   3170 	typedef __useconds_t useconds_t;
 I2	   3171 #   endif
 I2	   3172 
 I2	   3173 #endif
 I2	   3174 
 I2	   3175 
 I2	   3176 /*
 I2	   3177 **  Define non-standard socket compatible typedefs for BSD portability
 I2	   3178 */
 I2	   3179 #ifndef _POSIX_C_SOURCE
 I2	   3180 
 I2	   3181 #   if !defined(__CADDR_T) && !defined(CADDR_T) && !defined(_DECC_V4_SOURCE)
 I2	   3182 #       define __CADDR_T 1
 I2	   3183 #       if !defined __HIDE_FORBIDDEN_NAMES
 I2	   3184 #           define CADDR_T 1
 I2	   3185 #       endif
 I2	   3186         typedef __caddr_t caddr_t;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 57
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I2	   3187 #   endif
 I2	   3188 
 I2	   3189 #   ifndef __SOCKET_TYPEDEFS
 I2	   3190 #       define __SOCKET_TYPEDEFS   1
 I2	   3191         typedef unsigned char   u_char;
 I2	   3192         typedef unsigned short  u_short;
 I2	   3193         typedef unsigned long   u_long;
 I2	   3194 #   endif
 I2	   3195 
 I2	   3196 #   if !defined __U_INT && !defined _DECC_V4_SOURCE
 I2	   3197 #       define __U_INT
 I2	   3198         typedef __u_int u_int;
 I2	   3199 #   endif
 I2	   3200 
 I2	   3201 
 I2	   3202 #   ifndef _DECC_V4_SOURCE
 I2	   3203 	typedef volatile char     v_char;
 I2	   3204 	typedef volatile short    v_short;
 I2	   3205 	typedef volatile long     v_long;
 I2	   3206 	typedef volatile u_char   vu_char;
 I2	   3207 	typedef volatile u_short  vu_short;
 I2	   3208 	typedef volatile u_long   vu_long;
 I2	   3209 
 I2	   3210 	typedef u_char   uchar;   /*  For System III & V portability  */
 I2	   3211 	typedef u_short  ushort;
 I2	   3212 	typedef __u_int    uint;
 I2	   3213 	typedef u_long   ulong;
 I2	   3214 #   endif
 I2	   3215 #endif
 I2	   3216 
 I2	   3217 
 I2	   3218 /*
 I2	   3219 **  Restore the users pointer context
 I2	   3220 */
 I2    X   3221 #if __INITIAL_POINTER_SIZE
 I2    X   3222 #   pragma __pointer_size __restore
 I2    X   3223 #endif
 I2	   3224 
 I2    X   3225 #ifdef __cplusplus
 I2    X   3226     }
 I2    X   3227 #endif
 I2	   3228 
 I2	   3229 #pragma __standard
 I2	   3230 
 I2	   3231 #endif  /* __TYPES_LOADED */
 I1	   3232 #include "ckvrms.h"			/* Get NAMDEF NAMX_C_MAXRSS. */
 I2	   3233 /*
 I2	   3234   C-Kermit C RMS NAM[L]-related macros.
 I2	   3235 */
 I2	   3236 
 I2	   3237 #ifndef CKVRMS_H
 I2	   3238 #define CKVRMS_H
 I2	   3239 
 I2	   3240 #include <rms.h>
 I3	   3241 #ifndef __RMS_LOADED
 I3	   3242 #define __RMS_LOADED	1
 I3	   3243 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 58
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMS)

 I3	   3244 /*	RMS - V3.0 - Include all RMS data structure definitions	*/
 I3	   3245 
 I3	   3246 # include <namdef.h>
 I4	   3247 /*******************************************************************************************************************
 I4	   3247 *************/
 I4	   3248 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I4	   3249 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I4	   3250 /*******************************************************************************************************************
 I4	   3250 *************/
 I4	   3251 /*** MODULE $NAMDEF ***/
 I4	   3252 #ifndef __NAMDEF_LOADED
 I4	   3253 #define __NAMDEF_LOADED 1
 I4	   3254  
 I4	   3255 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I4	   3256 #pragma __member_alignment __save
 I4	   3257 #pragma __nomember_alignment
 I4	   3258 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	   3259 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I4	   3260 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I4	   3261 #endif
 I4	   3262  
 I4    X   3263 #ifdef __cplusplus
 I4    X   3264     extern "C" {
 I4    X   3265 #define __unknown_params ...
 I4    X   3266 #define __optional_params ...
 I4    X   3267 #else
 I4	   3268 #define __unknown_params
 I4	   3269 #define __optional_params ...
 I4	   3270 #endif
 I4	   3271  
 I4	   3272 #ifndef __struct
 I4	   3273 #if !defined(__VAXC)
 I4	   3274 #define __struct struct
 I4    X   3275 #else
 I4    X   3276 #define __struct variant_struct
 I4    X   3277 #endif
 I4	   3278 #endif
 I4	   3279  
 I4	   3280 #ifndef __union
 I4	   3281 #if !defined(__VAXC)
 I4	   3282 #define __union union
 I4    X   3283 #else
 I4    X   3284 #define __union variant_union
 I4    X   3285 #endif
 I4	   3286 #endif
 I4	   3287  
 I4	   3288 /*                                                                          */
 I4	   3289 /*         name block field definitions                                     */
 I4	   3290 /*                                                                          */
 I4	   3291 /*  the nam block is used to communicate optional                           */
 I4	   3292 /*  filename-related information                                            */
 I4	   3293 /*                                                                          */
 I4	   3294 	
 I4    X   3295 #ifdef __NEW_STARLET
 I4    X   3296 struct _namdef;
 I4    X   3297 struct _namldef;
 I4    X   3298 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 59
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3299 struct namdef;
 I4	   3300 struct namldef;
 I4	   3301 #endif
 I4	   3302 #define NAM$C_BID 2                     /* code for nam block               */
 I4	   3303 #define NAM$C_MAXRSS 255                /* maximum resultant name string size (network) */
 I4	   3304 #define NAM$C_MAXRSSLCL 255             /* maximum resultant name string size (local) */
 I4	   3305 #define NAM$M_PWD 0x1
 I4	   3306 #define NAM$M_FILL_1 0x2
 I4	   3307 #define NAM$M_FILL_2 0x4
 I4	   3308 #define NAM$M_SYNCHK 0x8
 I4	   3309 #define NAM$M_NOCONCEAL 0x10
 I4	   3310 #define NAM$M_SLPARSE 0x20
 I4	   3311 #define NAM$M_SRCHXABS 0x40
 I4	   3312 #define NAM$M_NO_SHORT_UPCASE 0x80
 I4	   3313 #define NAM$C_UFS 0                     /* Unknown file system for remote file access or */
 I4	   3314 /*  not applicable for local file access or                                 */
 I4	   3315 #define NAM$C_NO_RFS 0                  /*  task-to-task operation          */
 I4	   3316 #define NAM$C_RMS11 1                   /* RMS-11                           */
 I4	   3317 #define NAM$C_RMS20 2                   /* RMS-20                           */
 I4	   3318 #define NAM$C_RMS32 3                   /* RMS-32                           */
 I4	   3319 #define NAM$C_FCS11 4                   /* FCS-11                           */
 I4	   3320 #define NAM$C_RT11FS 5                  /* RT-11 file system                */
 I4	   3321 #define NAM$C_TOPS20FS 7                /* TOPS-20 file system              */
 I4	   3322 #define NAM$C_TOPS10FS 8                /* TOPS-10 file system              */
 I4	   3323 #define NAM$C_RMS32S 10                 /* RMS-32 subset (e.g., VAXELAN)    */
 I4	   3324 #define NAM$C_CPMFS 11                  /* CP/M file system                 */
 I4	   3325 #define NAM$C_MS_DOSFS 12               /* MS/DOS file system               */
 I4	   3326 #define NAM$C_ULTRIX32_FS 13            /* Ultrix-32 file system            */
 I4	   3327 #define NAM$C_ULTRIX11_FS 14            /* Ultrix-11 file system            */
 I4	   3328 #define DAP$K_SNADTF_FS 15              /* SNADTF compatable FS             */
 I4	   3329 /*+++++++++++++++++++++++                                                   */
 I4	   3330 #define NAM$C_DVI 16                    /* length of dvi field              */
 I4	   3331 /*+++++*****                                                                */
 I4	   3332 #define NAM$M_IFI 0x10000
 I4	   3333 #define NAM$M_SRCHNMF 0x40000000
 I4	   3334 #define NAM$M_SVCTX 0x80000000
 I4	   3335 #define NAM$K_BLN_V2 56                 /* Version 2 name block length      */
 I4	   3336 #define NAM$C_BLN_V2 56                 /* Version 2 name block length      */
 I4	   3337 #define NAM$M_EXP_VER 0x1
 I4	   3338 #define NAM$M_EXP_TYPE 0x2
 I4	   3339 #define NAM$M_EXP_NAME 0x4
 I4	   3340 #define NAM$M_WILD_VER 0x8
 I4	   3341 #define NAM$M_WILD_TYPE 0x10
 I4	   3342 #define NAM$M_WILD_NAME 0x20
 I4	   3343 #define NAM$M_EXP_DIR 0x40
 I4	   3344 #define NAM$M_EXP_DEV 0x80
 I4	   3345 #define NAM$M_WILDCARD 0x100
 I4	   3346 #define NAM$M_DIR_LVLS_G7 0x200
 I4	   3347 #define NAM$M_WILD_SFDG7 0x400
 I4	   3348 #define NAM$M_SEARCH_LIST 0x800
 I4	   3349 #define NAM$M_CNCL_DEV 0x1000
 I4	   3350 #define NAM$M_ROOT_DIR 0x2000
 I4	   3351 #define NAM$M_LOWVER 0x4000
 I4	   3352 #define NAM$M_HIGHVER 0x8000
 I4	   3353 #define NAM$M_PPF 0x10000
 I4	   3354 #define NAM$M_NODE 0x20000
 I4	   3355 #define NAM$M_QUOTED 0x40000

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 60
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3356 #define NAM$M_GRP_MBR 0x80000
 I4	   3357 #define NAM$M_WILD_DIR 0x100000
 I4	   3358 #define NAM$M_DIR_LVLS 0xE00000
 I4	   3359 #define NAM$M_WILD_UFD 0x1000000
 I4	   3360 #define NAM$M_WILD_SFD1 0x2000000
 I4	   3361 #define NAM$M_WILD_SFD2 0x4000000
 I4	   3362 #define NAM$M_WILD_SFD3 0x8000000
 I4	   3363 #define NAM$M_WILD_SFD4 0x10000000
 I4	   3364 #define NAM$M_WILD_SFD5 0x20000000
 I4	   3365 #define NAM$M_WILD_SFD6 0x40000000
 I4	   3366 #define NAM$M_WILD_SFD7 0x80000000
 I4	   3367 #define NAM$M_WILD_GRP 0x1000000
 I4	   3368 #define NAM$M_WILD_MBR 0x2000000
 I4	   3369 #define NAM$M_DID 0x1
 I4	   3370 #define NAM$M_FID 0x2
 I4	   3371 #define NAM$M_RES_DID 0x4
 I4	   3372 #define NAM$M_RES_FID 0x8
 I4	   3373 #define NAM$M_RES_ESCAPE 0x10
 I4	   3374 #define NAM$M_RES_UNICODE 0x20
 I4	   3375 	
 I4	   3376  
 I4    X   3377 #ifdef __cplusplus		    /* Define structure prototypes */
 I4    X   3378 struct _namldef;
 I4    X   3379 #endif		/* #ifdef __cplusplus */
 I4	   3380  
 I4    X   3381 #ifdef __NEW_STARLET
 I4    X   3382 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   3383 #pragma __nomember_alignment __longword
 I4    X   3384 #else
 I4    X   3385 #pragma __nomember_alignment
 I4    X   3386 #endif
 I4    X   3387 typedef struct _namdef {
 I4    X   3388 #pragma __nomember_alignment
 I4    X   3389     unsigned char nam$b_bid;            /* block id                         */
 I4    X   3390     unsigned char nam$b_bln;            /* block length                     */
 I4    X   3391 /*+++++++++++++++++++++++                                                   */
 I4    X   3392 /*  the following 3 fields must not be rearranged relative to each other    */
 I4    X   3393 /*                                                                          */
 I4    X   3394     unsigned char nam$b_rss;            /* resultant string area size       */
 I4    X   3395     unsigned char nam$b_rsl;            /* resultant string length          */
 I4    X   3396 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   3397 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I4    X   3398 #endif
 I4    X   3399     char *nam$l_rsa;                    /* resultant string area address    */
 I4    X   3400 /*-----------------------                                                   */
 I4    X   3401     __union  {
 I4    X   3402         unsigned char nam$b_nop;        /* Name options                     */
 I4    X   3403         __struct  {
 I4    X   3404             unsigned nam$v_pwd : 1;     /* Return password if present in nodespec string and any */
 I4    X   3405 /* other task-specific data of the form /netacp_data"                       */
 I4    X   3406 /*  (default is to mask out password from expanded and                      */
 I4    X   3407 /*  resultant name strings and to create a logical name                     */
 I4    X   3408 /*  whose equivalence string is the unaltered nodespec)                     */
 I4    X   3409             unsigned nam$v_fill_1 : 1;  /* unused.  (used to be undocumented ROD) */
 I4    X   3410             unsigned nam$v_fill_2 : 1;  /* unused.  (used to be undocumented SOD) */
 I4    X   3411             unsigned nam$v_synchk : 1;  /* Only do syntax check on $parse operation */
 I4    X   3412             unsigned nam$v_noconceal : 1; /* Do not conceal device/root directory */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 61
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   3413             unsigned nam$v_slparse : 1; /* Parse search list (not documented) -- used by BACKUP. */
 I4    X   3414             unsigned nam$v_srchxabs : 1; /* Fill in attached XABS on $SEARCH operations over the */
 I4    X   3415 /*  network (not documented) -- used by directory.                          */
 I4    X   3416             unsigned nam$v_no_short_upcase : 1; /* Don't upcase the ESA     */
 I4    X   3417             } nam$r_nop_bits;
 I4    X   3418         } nam$r_nop_overlay;
 I4    X   3419     unsigned char nam$b_rfs;            /* Remote file system type (currently not documented) */
 I4    X   3420 /* Note: This field is reserved for use by Digital                          */
 I4    X   3421 /*  the following 3 fields must not be rearranged relative to each other    */
 I4    X   3422 /*                                                                          */
 I4    X   3423     unsigned char nam$b_ess;            /* expanded string area size        */
 I4    X   3424     unsigned char nam$b_esl;            /* expanded string length           */
 I4    X   3425     char *nam$l_esa;                    /* expanded string area address     */
 I4    X   3426 /*-----------------------                                                   */
 I4    X   3427     __union  {
 I4    X   3428         struct _namdef *nam$l_rlf;      /* related file nam block addr ~~~ struct namdef ~~~ */
 I4    X   3429         struct _namldef *nam$l_rlf_naml; /* related file naml block addr ~~~ struct namldef ~~~ */
 I4    X   3430         } nam$r_rlf_overlay;
 I4    X   3431     char nam$t_dvi [16];                /* device id                        */
 I4    X   3432 /*  the location of the following fields must not                           */
 I4    X   3433 /*  be changed due to their commonality with the fib                        */
 I4    X   3434     __union  {
 I4    X   3435         unsigned short int nam$w_fid [3]; /* file id                        */
 I4    X   3436         __struct  {
 I4    X   3437             unsigned short int nam$w_fid_num; /* file number                */
 I4    X   3438             unsigned short int nam$w_fid_seq; /* sequence number            */
 I4    X   3439             __union  {
 I4    X   3440                 unsigned short int nam$w_fid_rvn; /* relative volume number */
 I4    X   3441                 __struct  {
 I4    X   3442                     unsigned char nam$b_fid_rvn; /* alternate format RVN    */
 I4    X   3443                     unsigned char nam$b_fid_nmx; /* alternate format file number extension */
 I4    X   3444                     } nam$r_fid_rvn_fields;
 I4    X   3445                 } nam$r_fid_rvn_overlay;
 I4    X   3446             } nam$r_fid_fields;
 I4    X   3447         } nam$r_fid_overlay;
 I4    X   3448     __union  {
 I4    X   3449         unsigned short int nam$w_did [3]; /* directory id                   */
 I4    X   3450         __struct  {
 I4    X   3451             unsigned short int nam$w_did_num; /* file number                */
 I4    X   3452             unsigned short int nam$w_did_seq; /* sequence number            */
 I4    X   3453             __union  {
 I4    X   3454                 unsigned short int nam$w_did_rvn; /* relative volume number */
 I4    X   3455                 __struct  {
 I4    X   3456                     unsigned char nam$b_did_rvn; /* alternate format RVN    */
 I4    X   3457                     unsigned char nam$b_did_nmx; /* alternate format file number extension */
 I4    X   3458                     } nam$r_did_rvn_fields;
 I4    X   3459                 } nam$r_did_rvn_overlay;
 I4    X   3460             } nam$r_did_fields;
 I4    X   3461         } nam$r_did_overlay;
 I4    X   3462     __union  {
 I4    X   3463         unsigned int nam$l_wcc;         /* wild card context                */
 I4    X   3464         __struct  {
 I4    X   3465             unsigned namdef$$_fill_1 : 16; /* the first word is reserved for IFI/ACP context */
 I4    X   3466             unsigned nam$v_ifi : 1;     /* the first word contains an IFI   */
 I4    X   3467             unsigned namdef$$_fill_2 : 13; /* grow from top down, start at top bit */
 I4    X   3468             unsigned nam$v_srchnmf : 1; /* no-more-files has been encountered on a search */
 I4    X   3469             unsigned nam$v_svctx : 1;   /* save context across search calls */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 62
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   3470             } nam$r_wcc_bits;
 I4    X   3471         } nam$r_wcc_overlay;
 I4    X   3472     __union  {
 I4    X   3473         unsigned int nam$l_fnb;         /* file name status bits            */
 I4    X   3474         __struct  {
 I4    X   3475             unsigned nam$v_exp_ver : 1; /* version was explicit             */
 I4    X   3476             unsigned nam$v_exp_type : 1; /* type was explicit               */
 I4    X   3477             unsigned nam$v_exp_name : 1; /* name was explicit               */
 I4    X   3478             unsigned nam$v_wild_ver : 1; /* version contained a wild card   */
 I4    X   3479             unsigned nam$v_wild_type : 1; /* type contained a wild card     */
 I4    X   3480             unsigned nam$v_wild_name : 1; /* name contained a wild card     */
 I4    X   3481             unsigned nam$v_exp_dir : 1; /* directory was explicit           */
 I4    X   3482             unsigned nam$v_exp_dev : 1; /* device was explicit              */
 I4    X   3483             unsigned nam$v_wildcard : 1; /* filename string included a wild card */
 I4    X   3484 /* (inclusive or of other wild card bits)                                   */
 I4    X   3485             unsigned nam$v_dir_lvls_g7 : 1; /* Dir levels greater than 7    */
 I4    X   3486             unsigned nam$v_wild_sfdg7 : 1; /* A subdir greater than 7 has a wildcard */
 I4    X   3487             unsigned nam$v_search_list : 1; /* search list present          */
 I4    X   3488             unsigned nam$v_cncl_dev : 1; /* concealed device present        */
 I4    X   3489             unsigned nam$v_root_dir : 1; /* root directory present          */
 I4    X   3490             unsigned nam$v_lowver : 1;  /* lower numbered version(s) of file exist(s) */
 I4    X   3491             unsigned nam$v_highver : 1; /* higher "                         */
 I4    X   3492 /*                                                                          */
 I4    X   3493             unsigned nam$v_ppf : 1;     /* process-permanent file referenced indirectly */
 I4    X   3494             unsigned nam$v_node : 1;    /* filename specification included a nodename */
 I4    X   3495             unsigned nam$v_quoted : 1;  /* filename spec included a quoted string */
 I4    X   3496             unsigned nam$v_grp_mbr : 1; /* directory spec was of group-member format */
 I4    X   3497             unsigned nam$v_wild_dir : 1; /* directory spec included a wild card */
 I4    X   3498             unsigned nam$v_dir_lvls : 3; /* number of directory levels (0=ufd only) */
 I4    X   3499             } nam$r_fnb_bits0;
 I4    X   3500         __struct  {
 I4    X   3501             unsigned namdef$$_fill_4 : 24; /* separate byte for wild card directory flags */
 I4    X   3502             unsigned nam$v_wild_ufd : 1; /* ufd included a wild card        */
 I4    X   3503             unsigned nam$v_wild_sfd1 : 1; /* sfd1 included a wild card      */
 I4    X   3504             unsigned nam$v_wild_sfd2 : 1; /* sfd2 included a wild card      */
 I4    X   3505             unsigned nam$v_wild_sfd3 : 1; /* sfd3 included a wild card      */
 I4    X   3506             unsigned nam$v_wild_sfd4 : 1; /* sfd4 included a wild card      */
 I4    X   3507             unsigned nam$v_wild_sfd5 : 1; /* sfd5 included a wild card      */
 I4    X   3508             unsigned nam$v_wild_sfd6 : 1; /* sfd6 included a wild card      */
 I4    X   3509             unsigned nam$v_wild_sfd7 : 1; /* sfd7 included a wild card      */
 I4    X   3510             } nam$r_fnb_bits1;
 I4    X   3511         __struct  {
 I4    X   3512             unsigned namdef$$_fill_5 : 24; /* alternate definitions for wild_ufd and wild_sfd1 */
 I4    X   3513             unsigned nam$v_wild_grp : 1; /* group contained a wild card     */
 I4    X   3514             unsigned nam$v_wild_mbr : 1; /* member contained a wild card    */
 I4    X   3515             unsigned nam$v_fill_5_ : 6;
 I4    X   3516             } nam$r_fnb_bits2;
 I4    X   3517 /*-----*****                                                                */
 I4    X   3518 /* (prior to 40 byte extension)                                             */
 I4    X   3519 /*                                                                          */
 I4    X   3520 /* Extend the NAM block by 40 bytes.                                        */
 I4    X   3521 /*                                                                          */
 I4    X   3522         } nam$r_fnb_overlay;
 I4    X   3523     unsigned char nam$b_node;           /* Nodespec length                  */
 I4    X   3524     unsigned char nam$b_dev;            /* Device length                    */
 I4    X   3525     unsigned char nam$b_dir;            /* Directory length                 */
 I4    X   3526     unsigned char nam$b_name;           /* Filename length                  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 63
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   3527     unsigned char nam$b_type;           /* Filetype length                  */
 I4    X   3528     unsigned char nam$b_ver;            /* Version number length            */
 I4    X   3529     __union  {                          /* Name characteristics             */
 I4    X   3530         unsigned char nam$b_nmc;
 I4    X   3531         __struct  {
 I4    X   3532             unsigned nam$v_did : 1;     /* Input file spec DIDed            */
 I4    X   3533             unsigned nam$v_fid : 1;     /* Input file spec FIDed            */
 I4    X   3534             unsigned nam$v_res_did : 1; /* Result or Exp string spec DIDed  */
 I4    X   3535             unsigned nam$v_res_fid : 1; /* Result or Exp string spec FIDed  */
 I4    X   3536             unsigned nam$v_res_escape : 1; /* Result or Exp string spec has "^" */
 I4    X   3537             unsigned nam$v_res_unicode : 1; /* Result or Exp string spec contains ^U */
 I4    X   3538             unsigned namdef$$_fill_3 : 2;
 I4    X   3539             } nam$r_nmc_bits;
 I4    X   3540         } nam$r_nmc_overlay;
 I4    X   3541     char namdef$$_fill_6 [1];           /* Currently unused                 */
 I4    X   3542     char *nam$l_node;                   /* Nodespec address                 */
 I4    X   3543     char *nam$l_dev;                    /* Device address                   */
 I4    X   3544     char *nam$l_dir;                    /* Directory address                */
 I4    X   3545     char *nam$l_name;                   /* Filename address                 */
 I4    X   3546     char *nam$l_type;                   /* Filetype address                 */
 I4    X   3547     char *nam$l_ver;                    /* Version number address           */
 I4    X   3548     unsigned short int nam$w_first_wild_dir; /*First wild directory in related nam */
 I4    X   3549     unsigned short int nam$w_long_dir_levels; /*Total number of directories */
 I4    X   3550     unsigned int namdef$$_fill_7 [1];   /* Currently unused                 */
 I4    X   3551     } NAMDEF;
 I4    X   3552  
 I4    X   3553 #if !defined(__VAXC)
 I4    X   3554 #define nam$b_nop nam$r_nop_overlay.nam$b_nop
 I4    X   3555 #define nam$r_nop_bits	nam$r_nop_overlay.nam$r_nop_bits
 I4    X   3556 #define nam$v_pwd nam$r_nop_bits.nam$v_pwd
 I4    X   3557 #define nam$v_fill_1 nam$r_nop_bits.nam$v_fill_1
 I4    X   3558 #define nam$v_fill_2 nam$r_nop_bits.nam$v_fill_2
 I4    X   3559 #define nam$v_synchk nam$r_nop_bits.nam$v_synchk
 I4    X   3560 #define nam$v_noconceal nam$r_nop_bits.nam$v_noconceal
 I4    X   3561 #define nam$v_slparse nam$r_nop_bits.nam$v_slparse
 I4    X   3562 #define nam$v_srchxabs nam$r_nop_bits.nam$v_srchxabs
 I4    X   3563 #define nam$v_no_short_upcase nam$r_nop_bits.nam$v_no_short_upcase
 I4    X   3564 #define nam$l_rlf nam$r_rlf_overlay.nam$l_rlf
 I4    X   3565 #define nam$l_rlf_naml nam$r_rlf_overlay.nam$l_rlf_naml
 I4    X   3566 #define nam$w_fid nam$r_fid_overlay.nam$w_fid
 I4    X   3567 #define nam$r_fid_fields	nam$r_fid_overlay.nam$r_fid_fields
 I4    X   3568 #define nam$w_fid_num nam$r_fid_fields.nam$w_fid_num
 I4    X   3569 #define nam$w_fid_seq nam$r_fid_fields.nam$w_fid_seq
 I4    X   3570 #define nam$r_fid_rvn_overlay	nam$r_fid_fields.nam$r_fid_rvn_overlay
 I4    X   3571 #define nam$w_fid_rvn nam$r_fid_rvn_overlay.nam$w_fid_rvn
 I4    X   3572 #define nam$r_fid_rvn_fields	nam$r_fid_rvn_overlay.nam$r_fid_rvn_fields
 I4    X   3573 #define nam$b_fid_rvn nam$r_fid_rvn_fields.nam$b_fid_rvn
 I4    X   3574 #define nam$b_fid_nmx nam$r_fid_rvn_fields.nam$b_fid_nmx
 I4    X   3575 #define nam$w_did nam$r_did_overlay.nam$w_did
 I4    X   3576 #define nam$r_did_fields	nam$r_did_overlay.nam$r_did_fields
 I4    X   3577 #define nam$w_did_num nam$r_did_fields.nam$w_did_num
 I4    X   3578 #define nam$w_did_seq nam$r_did_fields.nam$w_did_seq
 I4    X   3579 #define nam$r_did_rvn_overlay	nam$r_did_fields.nam$r_did_rvn_overlay
 I4    X   3580 #define nam$w_did_rvn nam$r_did_rvn_overlay.nam$w_did_rvn
 I4    X   3581 #define nam$r_did_rvn_fields	nam$r_did_rvn_overlay.nam$r_did_rvn_fields
 I4    X   3582 #define nam$b_did_rvn nam$r_did_rvn_fields.nam$b_did_rvn
 I4    X   3583 #define nam$b_did_nmx nam$r_did_rvn_fields.nam$b_did_nmx

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 64
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   3584 #define nam$l_wcc nam$r_wcc_overlay.nam$l_wcc
 I4    X   3585 #define nam$r_wcc_bits	nam$r_wcc_overlay.nam$r_wcc_bits
 I4    X   3586 #define nam$v_ifi nam$r_wcc_bits.nam$v_ifi
 I4    X   3587 #define nam$v_srchnmf nam$r_wcc_bits.nam$v_srchnmf
 I4    X   3588 #define nam$v_svctx nam$r_wcc_bits.nam$v_svctx
 I4    X   3589 #define nam$l_fnb nam$r_fnb_overlay.nam$l_fnb
 I4    X   3590 #define nam$r_fnb_bits0	nam$r_fnb_overlay.nam$r_fnb_bits0
 I4    X   3591 #define nam$v_exp_ver nam$r_fnb_bits0.nam$v_exp_ver
 I4    X   3592 #define nam$v_exp_type nam$r_fnb_bits0.nam$v_exp_type
 I4    X   3593 #define nam$v_exp_name nam$r_fnb_bits0.nam$v_exp_name
 I4    X   3594 #define nam$v_wild_ver nam$r_fnb_bits0.nam$v_wild_ver
 I4    X   3595 #define nam$v_wild_type nam$r_fnb_bits0.nam$v_wild_type
 I4    X   3596 #define nam$v_wild_name nam$r_fnb_bits0.nam$v_wild_name
 I4    X   3597 #define nam$v_exp_dir nam$r_fnb_bits0.nam$v_exp_dir
 I4    X   3598 #define nam$v_exp_dev nam$r_fnb_bits0.nam$v_exp_dev
 I4    X   3599 #define nam$v_wildcard nam$r_fnb_bits0.nam$v_wildcard
 I4    X   3600 #define nam$v_dir_lvls_g7 nam$r_fnb_bits0.nam$v_dir_lvls_g7
 I4    X   3601 #define nam$v_wild_sfdg7 nam$r_fnb_bits0.nam$v_wild_sfdg7
 I4    X   3602 #define nam$v_search_list nam$r_fnb_bits0.nam$v_search_list
 I4    X   3603 #define nam$v_cncl_dev nam$r_fnb_bits0.nam$v_cncl_dev
 I4    X   3604 #define nam$v_root_dir nam$r_fnb_bits0.nam$v_root_dir
 I4    X   3605 #define nam$v_lowver nam$r_fnb_bits0.nam$v_lowver
 I4    X   3606 #define nam$v_highver nam$r_fnb_bits0.nam$v_highver
 I4    X   3607 #define nam$v_ppf nam$r_fnb_bits0.nam$v_ppf
 I4    X   3608 #define nam$v_node nam$r_fnb_bits0.nam$v_node
 I4    X   3609 #define nam$v_quoted nam$r_fnb_bits0.nam$v_quoted
 I4    X   3610 #define nam$v_grp_mbr nam$r_fnb_bits0.nam$v_grp_mbr
 I4    X   3611 #define nam$v_wild_dir nam$r_fnb_bits0.nam$v_wild_dir
 I4    X   3612 #define nam$v_dir_lvls nam$r_fnb_bits0.nam$v_dir_lvls
 I4    X   3613 #define nam$r_fnb_bits1	nam$r_fnb_overlay.nam$r_fnb_bits1
 I4    X   3614 #define nam$v_wild_ufd nam$r_fnb_bits1.nam$v_wild_ufd
 I4    X   3615 #define nam$v_wild_sfd1 nam$r_fnb_bits1.nam$v_wild_sfd1
 I4    X   3616 #define nam$v_wild_sfd2 nam$r_fnb_bits1.nam$v_wild_sfd2
 I4    X   3617 #define nam$v_wild_sfd3 nam$r_fnb_bits1.nam$v_wild_sfd3
 I4    X   3618 #define nam$v_wild_sfd4 nam$r_fnb_bits1.nam$v_wild_sfd4
 I4    X   3619 #define nam$v_wild_sfd5 nam$r_fnb_bits1.nam$v_wild_sfd5
 I4    X   3620 #define nam$v_wild_sfd6 nam$r_fnb_bits1.nam$v_wild_sfd6
 I4    X   3621 #define nam$v_wild_sfd7 nam$r_fnb_bits1.nam$v_wild_sfd7
 I4    X   3622 #define nam$r_fnb_bits2	nam$r_fnb_overlay.nam$r_fnb_bits2
 I4    X   3623 #define nam$v_wild_grp nam$r_fnb_bits2.nam$v_wild_grp
 I4    X   3624 #define nam$v_wild_mbr nam$r_fnb_bits2.nam$v_wild_mbr
 I4    X   3625 #define nam$b_nmc nam$r_nmc_overlay.nam$b_nmc
 I4    X   3626 #define nam$r_nmc_bits	nam$r_nmc_overlay.nam$r_nmc_bits
 I4    X   3627 #define nam$v_did nam$r_nmc_bits.nam$v_did
 I4    X   3628 #define nam$v_fid nam$r_nmc_bits.nam$v_fid
 I4    X   3629 #define nam$v_res_did nam$r_nmc_bits.nam$v_res_did
 I4    X   3630 #define nam$v_res_fid nam$r_nmc_bits.nam$v_res_fid
 I4    X   3631 #define nam$v_res_escape nam$r_nmc_bits.nam$v_res_escape
 I4    X   3632 #define nam$v_res_unicode nam$r_nmc_bits.nam$v_res_unicode
 I4    X   3633 #endif		/* #if !defined(__VAXC) */
 I4    X   3634  
 I4    X   3635 #else	    /* __OLD_STARLET */
 I4	   3636 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   3637 #pragma __nomember_alignment __longword
 I4    X   3638 #else
 I4    X   3639 #pragma __nomember_alignment
 I4    X   3640 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 65
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3641 struct namdef {
 I4	   3642 #pragma __nomember_alignment
 I4	   3643     unsigned char nam$b_bid;            /* block id                         */
 I4	   3644     unsigned char nam$b_bln;            /* block length                     */
 I4	   3645 /*+++++++++++++++++++++++                                                   */
 I4	   3646 /*  the following 3 fields must not be rearranged relative to each other    */
 I4	   3647 /*                                                                          */
 I4	   3648     unsigned char nam$b_rss;            /* resultant string area size       */
 I4	   3649     unsigned char nam$b_rsl;            /* resultant string length          */
 I4	   3650     char *nam$l_rsa;                    /* resultant string area address    */
 I4	   3651 /*-----------------------                                                   */
 I4	   3652     __union  {
       E	     union
 I4	   3653         unsigned char nam$b_nop;        /* Name options                     */
 I4	   3654         __struct  {
       E	         struct
 I4	   3655             unsigned nam$v_pwd : 1;     /* Return password if present in nodespec string and any */
 I4	   3656 /* other task-specific data of the form /netacp_data"                       */
 I4	   3657 /*  (default is to mask out password from expanded and                      */
 I4	   3658 /*  resultant name strings and to create a logical name                     */
 I4	   3659 /*  whose equivalence string is the unaltered nodespec)                     */
 I4	   3660             unsigned nam$v_fill_1 : 1;  /* unused.  (used to be undocumented ROD) */
 I4	   3661             unsigned nam$v_fill_2 : 1;  /* unused.  (used to be undocumented SOD) */
 I4	   3662             unsigned nam$v_synchk : 1;  /* Only do syntax check on $parse operation */
 I4	   3663             unsigned nam$v_noconceal : 1; /* Do not conceal device/root directory */
 I4	   3664             unsigned nam$v_slparse : 1; /* Parse search list (not documented) -- used by BACKUP. */
 I4	   3665             unsigned nam$v_srchxabs : 1; /* Fill in attached XABS on $SEARCH operations over the */
 I4	   3666 /*  network (not documented) -- used by directory.                          */
 I4	   3667             unsigned nam$v_no_short_upcase : 1; /* Don't upcase the ESA     */
 I4	   3668             } nam$r_nop_bits;
 I4	   3669         } nam$r_nop_overlay;
 I4	   3670     unsigned char nam$b_rfs;            /* Remote file system type (currently not documented) */
 I4	   3671 /* Note: This field is reserved for use by Digital                          */
 I4	   3672 /*  the following 3 fields must not be rearranged relative to each other    */
 I4	   3673 /*                                                                          */
 I4	   3674     unsigned char nam$b_ess;            /* expanded string area size        */
 I4	   3675     unsigned char nam$b_esl;            /* expanded string length           */
 I4	   3676     char *nam$l_esa;                    /* expanded string area address     */
 I4	   3677 /*-----------------------                                                   */
 I4	   3678     __union  {
       E	     union
 I4	   3679          struct namdef  *nam$l_rlf;                /* related file nam block addr  */
 I4	   3680          struct namldef  *nam$l_rlf_naml;           /* related file naml block addr  */
 I4	   3681         } nam$r_rlf_overlay;
 I4	   3682     char nam$t_dvi [16];                /* device id                        */
 I4	   3683 /*  the location of the following fields must not                           */
 I4	   3684 /*  be changed due to their commonality with the fib                        */
 I4	   3685     __union  {
       E	     union
 I4	   3686         unsigned short int nam$w_fid [3]; /* file id                        */
 I4	   3687         __struct  {
       E	         struct
 I4	   3688             unsigned short int nam$w_fid_num; /* file number                */
 I4	   3689             unsigned short int nam$w_fid_seq; /* sequence number            */
 I4	   3690             __union  {
       E	             union
 I4	   3691                 unsigned short int nam$w_fid_rvn; /* relative volume number */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 66
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3692                 __struct  {
       E	                 struct
 I4	   3693                     unsigned char nam$b_fid_rvn; /* alternate format RVN    */
 I4	   3694                     unsigned char nam$b_fid_nmx; /* alternate format file number extension */
 I4	   3695                     } nam$r_fid_rvn_fields;
 I4	   3696                 } nam$r_fid_rvn_overlay;
 I4	   3697             } nam$r_fid_fields;
 I4	   3698         } nam$r_fid_overlay;
 I4	   3699     __union  {
       E	     union
 I4	   3700         unsigned short int nam$w_did [3]; /* directory id                   */
 I4	   3701         __struct  {
       E	         struct
 I4	   3702             unsigned short int nam$w_did_num; /* file number                */
 I4	   3703             unsigned short int nam$w_did_seq; /* sequence number            */
 I4	   3704             __union  {
       E	             union
 I4	   3705                 unsigned short int nam$w_did_rvn; /* relative volume number */
 I4	   3706                 __struct  {
       E	                 struct
 I4	   3707                     unsigned char nam$b_did_rvn; /* alternate format RVN    */
 I4	   3708                     unsigned char nam$b_did_nmx; /* alternate format file number extension */
 I4	   3709                     } nam$r_did_rvn_fields;
 I4	   3710                 } nam$r_did_rvn_overlay;
 I4	   3711             } nam$r_did_fields;
 I4	   3712         } nam$r_did_overlay;
 I4	   3713     __union  {
       E	     union
 I4	   3714         unsigned int nam$l_wcc;         /* wild card context                */
 I4	   3715         __struct  {
       E	         struct
 I4	   3716             unsigned namdef$$_fill_1 : 16; /* the first word is reserved for IFI/ACP context */
 I4	   3717             unsigned nam$v_ifi : 1;     /* the first word contains an IFI   */
 I4	   3718             unsigned namdef$$_fill_2 : 13; /* grow from top down, start at top bit */
 I4	   3719             unsigned nam$v_srchnmf : 1; /* no-more-files has been encountered on a search */
 I4	   3720             unsigned nam$v_svctx : 1;   /* save context across search calls */
 I4	   3721             } nam$r_wcc_bits;
 I4	   3722         } nam$r_wcc_overlay;
 I4	   3723     __union  {
       E	     union
 I4	   3724         unsigned int nam$l_fnb;         /* file name status bits            */
 I4	   3725         __struct  {
       E	         struct
 I4	   3726             unsigned nam$v_exp_ver : 1; /* version was explicit             */
 I4	   3727             unsigned nam$v_exp_type : 1; /* type was explicit               */
 I4	   3728             unsigned nam$v_exp_name : 1; /* name was explicit               */
 I4	   3729             unsigned nam$v_wild_ver : 1; /* version contained a wild card   */
 I4	   3730             unsigned nam$v_wild_type : 1; /* type contained a wild card     */
 I4	   3731             unsigned nam$v_wild_name : 1; /* name contained a wild card     */
 I4	   3732             unsigned nam$v_exp_dir : 1; /* directory was explicit           */
 I4	   3733             unsigned nam$v_exp_dev : 1; /* device was explicit              */
 I4	   3734             unsigned nam$v_wildcard : 1; /* filename string included a wild card */
 I4	   3735 /* (inclusive or of other wild card bits)                                   */
 I4	   3736             unsigned nam$v_dir_lvls_g7 : 1; /* Dir levels greater than 7    */
 I4	   3737             unsigned nam$v_wild_sfdg7 : 1; /* A subdir greater than 7 has a wildcard */
 I4	   3738             unsigned nam$v_search_list : 1; /* search list present          */
 I4	   3739             unsigned nam$v_cncl_dev : 1; /* concealed device present        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 67
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3740             unsigned nam$v_root_dir : 1; /* root directory present          */
 I4	   3741             unsigned nam$v_lowver : 1;  /* lower numbered version(s) of file exist(s) */
 I4	   3742             unsigned nam$v_highver : 1; /* higher "                         */
 I4	   3743 /*                                                                          */
 I4	   3744             unsigned nam$v_ppf : 1;     /* process-permanent file referenced indirectly */
 I4	   3745             unsigned nam$v_node : 1;    /* filename specification included a nodename */
 I4	   3746             unsigned nam$v_quoted : 1;  /* filename spec included a quoted string */
 I4	   3747             unsigned nam$v_grp_mbr : 1; /* directory spec was of group-member format */
 I4	   3748             unsigned nam$v_wild_dir : 1; /* directory spec included a wild card */
 I4	   3749             unsigned nam$v_dir_lvls : 3; /* number of directory levels (0=ufd only) */
 I4	   3750             } nam$r_fnb_bits0;
 I4	   3751         __struct  {
       E	         struct
 I4	   3752             unsigned namdef$$_fill_4 : 24; /* separate byte for wild card directory flags */
 I4	   3753             unsigned nam$v_wild_ufd : 1; /* ufd included a wild card        */
 I4	   3754             unsigned nam$v_wild_sfd1 : 1; /* sfd1 included a wild card      */
 I4	   3755             unsigned nam$v_wild_sfd2 : 1; /* sfd2 included a wild card      */
 I4	   3756             unsigned nam$v_wild_sfd3 : 1; /* sfd3 included a wild card      */
 I4	   3757             unsigned nam$v_wild_sfd4 : 1; /* sfd4 included a wild card      */
 I4	   3758             unsigned nam$v_wild_sfd5 : 1; /* sfd5 included a wild card      */
 I4	   3759             unsigned nam$v_wild_sfd6 : 1; /* sfd6 included a wild card      */
 I4	   3760             unsigned nam$v_wild_sfd7 : 1; /* sfd7 included a wild card      */
 I4	   3761             } nam$r_fnb_bits1;
 I4	   3762         __struct  {
       E	         struct
 I4	   3763             unsigned namdef$$_fill_5 : 24; /* alternate definitions for wild_ufd and wild_sfd1 */
 I4	   3764             unsigned nam$v_wild_grp : 1; /* group contained a wild card     */
 I4	   3765             unsigned nam$v_wild_mbr : 1; /* member contained a wild card    */
 I4	   3766             unsigned nam$v_fill_5_ : 6;
 I4	   3767             } nam$r_fnb_bits2;
 I4	   3768 /*-----*****                                                                */
 I4	   3769 /* (prior to 40 byte extension)                                             */
 I4	   3770 /*                                                                          */
 I4	   3771 /* Extend the NAM block by 40 bytes.                                        */
 I4	   3772 /*                                                                          */
 I4	   3773         } nam$r_fnb_overlay;
 I4	   3774     unsigned char nam$b_node;           /* Nodespec length                  */
 I4	   3775     unsigned char nam$b_dev;            /* Device length                    */
 I4	   3776     unsigned char nam$b_dir;            /* Directory length                 */
 I4	   3777     unsigned char nam$b_name;           /* Filename length                  */
 I4	   3778     unsigned char nam$b_type;           /* Filetype length                  */
 I4	   3779     unsigned char nam$b_ver;            /* Version number length            */
 I4	   3780     __union  {                          /* Name characteristics             */
       E	     union
 I4	   3781         unsigned char nam$b_nmc;
 I4	   3782         __struct  {
       E	         struct
 I4	   3783             unsigned nam$v_did : 1;     /* Input file spec DIDed            */
 I4	   3784             unsigned nam$v_fid : 1;     /* Input file spec FIDed            */
 I4	   3785             unsigned nam$v_res_did : 1; /* Result or Exp string spec DIDed  */
 I4	   3786             unsigned nam$v_res_fid : 1; /* Result or Exp string spec FIDed  */
 I4	   3787             unsigned nam$v_res_escape : 1; /* Result or Exp string spec has "^" */
 I4	   3788             unsigned nam$v_res_unicode : 1; /* Result or Exp string spec contains ^U */
 I4	   3789             unsigned namdef$$_fill_3 : 2;
 I4	   3790             } nam$r_nmc_bits;
 I4	   3791         } nam$r_nmc_overlay;
 I4	   3792     char namdef$$_fill_6 [1];           /* Currently unused                 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 68
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3793     char *nam$l_node;                   /* Nodespec address                 */
 I4	   3794     char *nam$l_dev;                    /* Device address                   */
 I4	   3795     char *nam$l_dir;                    /* Directory address                */
 I4	   3796     char *nam$l_name;                   /* Filename address                 */
 I4	   3797     char *nam$l_type;                   /* Filetype address                 */
 I4	   3798     char *nam$l_ver;                    /* Version number address           */
 I4	   3799     unsigned short int nam$w_first_wild_dir; /*First wild directory in related nam */
 I4	   3800     unsigned short int nam$w_long_dir_levels; /*Total number of directories */
 I4	   3801     unsigned int namdef$$_fill_7 [1];   /* Currently unused                 */
 I4	   3802     } ;
 I4	   3803  
 I4	   3804 #if !defined(__VAXC)
 I4	   3805 #define nam$b_nop nam$r_nop_overlay.nam$b_nop
 I4	   3806 #define nam$v_pwd nam$r_nop_overlay.nam$r_nop_bits.nam$v_pwd
 I4	   3807 #define nam$v_fill_1 nam$r_nop_overlay.nam$r_nop_bits.nam$v_fill_1
 I4	   3808 #define nam$v_fill_2 nam$r_nop_overlay.nam$r_nop_bits.nam$v_fill_2
 I4	   3809 #define nam$v_synchk nam$r_nop_overlay.nam$r_nop_bits.nam$v_synchk
 I4	   3810 #define nam$v_noconceal nam$r_nop_overlay.nam$r_nop_bits.nam$v_noconceal
 I4	   3811 #define nam$v_slparse nam$r_nop_overlay.nam$r_nop_bits.nam$v_slparse
 I4	   3812 #define nam$v_srchxabs nam$r_nop_overlay.nam$r_nop_bits.nam$v_srchxabs
 I4	   3813 #define nam$v_no_short_upcase nam$r_nop_overlay.nam$r_nop_bits.nam$v_no_short_upcase
 I4	   3814 #define nam$l_rlf nam$r_rlf_overlay.nam$l_rlf
 I4	   3815 #define nam$l_rlf_naml nam$r_rlf_overlay.nam$l_rlf_naml
 I4	   3816 #define nam$w_fid nam$r_fid_overlay.nam$w_fid
 I4	   3817 #define nam$w_fid_num nam$r_fid_overlay.nam$r_fid_fields.nam$w_fid_num
 I4	   3818 #define nam$w_fid_seq nam$r_fid_overlay.nam$r_fid_fields.nam$w_fid_seq
 I4	   3819 #define nam$w_fid_rvn nam$r_fid_overlay.nam$r_fid_fields.nam$r_fid_rvn_overlay.nam$w_fid_rvn
 I4	   3820 #define nam$b_fid_rvn nam$r_fid_overlay.nam$r_fid_fields.nam$r_fid_rvn_overlay.nam$r_fid_rvn_fields.nam$b_fid_rvn
 I4	   3821 #define nam$b_fid_nmx nam$r_fid_overlay.nam$r_fid_fields.nam$r_fid_rvn_overlay.nam$r_fid_rvn_fields.nam$b_fid_nmx
 I4	   3822 #define nam$w_did nam$r_did_overlay.nam$w_did
 I4	   3823 #define nam$w_did_num nam$r_did_overlay.nam$r_did_fields.nam$w_did_num
 I4	   3824 #define nam$w_did_seq nam$r_did_overlay.nam$r_did_fields.nam$w_did_seq
 I4	   3825 #define nam$w_did_rvn nam$r_did_overlay.nam$r_did_fields.nam$r_did_rvn_overlay.nam$w_did_rvn
 I4	   3826 #define nam$b_did_rvn nam$r_did_overlay.nam$r_did_fields.nam$r_did_rvn_overlay.nam$r_did_rvn_fields.nam$b_did_rvn
 I4	   3827 #define nam$b_did_nmx nam$r_did_overlay.nam$r_did_fields.nam$r_did_rvn_overlay.nam$r_did_rvn_fields.nam$b_did_nmx
 I4	   3828 #define nam$l_wcc nam$r_wcc_overlay.nam$l_wcc
 I4	   3829 #define nam$v_ifi nam$r_wcc_overlay.nam$r_wcc_bits.nam$v_ifi
 I4	   3830 #define nam$v_srchnmf nam$r_wcc_overlay.nam$r_wcc_bits.nam$v_srchnmf
 I4	   3831 #define nam$v_svctx nam$r_wcc_overlay.nam$r_wcc_bits.nam$v_svctx
 I4	   3832 #define nam$l_fnb nam$r_fnb_overlay.nam$l_fnb
 I4	   3833 #define nam$v_exp_ver nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_exp_ver
 I4	   3834 #define nam$v_exp_type nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_exp_type
 I4	   3835 #define nam$v_exp_name nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_exp_name
 I4	   3836 #define nam$v_wild_ver nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_wild_ver
 I4	   3837 #define nam$v_wild_type nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_wild_type
 I4	   3838 #define nam$v_wild_name nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_wild_name
 I4	   3839 #define nam$v_exp_dir nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_exp_dir
 I4	   3840 #define nam$v_exp_dev nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_exp_dev
 I4	   3841 #define nam$v_wildcard nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_wildcard
 I4	   3842 #define nam$v_dir_lvls_g7 nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_dir_lvls_g7
 I4	   3843 #define nam$v_wild_sfdg7 nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_wild_sfdg7
 I4	   3844 #define nam$v_search_list nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_search_list
 I4	   3845 #define nam$v_cncl_dev nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_cncl_dev
 I4	   3846 #define nam$v_root_dir nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_root_dir
 I4	   3847 #define nam$v_lowver nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_lowver
 I4	   3848 #define nam$v_highver nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_highver
 I4	   3849 #define nam$v_ppf nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_ppf

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 69
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3850 #define nam$v_node nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_node
 I4	   3851 #define nam$v_quoted nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_quoted
 I4	   3852 #define nam$v_grp_mbr nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_grp_mbr
 I4	   3853 #define nam$v_wild_dir nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_wild_dir
 I4	   3854 #define nam$v_dir_lvls nam$r_fnb_overlay.nam$r_fnb_bits0.nam$v_dir_lvls
 I4	   3855 #define nam$v_wild_ufd nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_ufd
 I4	   3856 #define nam$v_wild_sfd1 nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_sfd1
 I4	   3857 #define nam$v_wild_sfd2 nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_sfd2
 I4	   3858 #define nam$v_wild_sfd3 nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_sfd3
 I4	   3859 #define nam$v_wild_sfd4 nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_sfd4
 I4	   3860 #define nam$v_wild_sfd5 nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_sfd5
 I4	   3861 #define nam$v_wild_sfd6 nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_sfd6
 I4	   3862 #define nam$v_wild_sfd7 nam$r_fnb_overlay.nam$r_fnb_bits1.nam$v_wild_sfd7
 I4	   3863 #define nam$v_wild_grp nam$r_fnb_overlay.nam$r_fnb_bits2.nam$v_wild_grp
 I4	   3864 #define nam$v_wild_mbr nam$r_fnb_overlay.nam$r_fnb_bits2.nam$v_wild_mbr
 I4	   3865 #define nam$b_nmc nam$r_nmc_overlay.nam$b_nmc
 I4	   3866 #define nam$v_did nam$r_nmc_overlay.nam$r_nmc_bits.nam$v_did
 I4	   3867 #define nam$v_fid nam$r_nmc_overlay.nam$r_nmc_bits.nam$v_fid
 I4	   3868 #define nam$v_res_did nam$r_nmc_overlay.nam$r_nmc_bits.nam$v_res_did
 I4	   3869 #define nam$v_res_fid nam$r_nmc_overlay.nam$r_nmc_bits.nam$v_res_fid
 I4	   3870 #define nam$v_res_escape nam$r_nmc_overlay.nam$r_nmc_bits.nam$v_res_escape
 I4	   3871 #define nam$v_res_unicode nam$r_nmc_overlay.nam$r_nmc_bits.nam$v_res_unicode
 I4	   3872 #endif		/* #if !defined(__VAXC) */
 I4	   3873  
 I4	   3874 #endif	    /* #ifdef __NEW_STARLET */
 I4	   3875 /* basealign on aggregate NAMDEF operates after aggregate end               */
 I4	   3876 #define NAM$K_BLN_DIRWC 96              /* Not documented optional length   */
 I4	   3877 #define NAM$C_BLN_DIRWC 96              /* Not documented optional length   */
 I4	   3878 #define NAM$K_BLN 96                    /* Name block length                */
 I4	   3879 #define NAM$C_BLN 96                    /* Name block length                */
 I4	   3880 	
 I4	   3881 /* These are traditional macros that should be hand-maintained for compatibility */
 I4	   3882 /* Do not have to add new ones, but do have to maintain those that are here already. */
 I4	   3883 #define NAM$V_PWD	0		/* return password if present in nodespec string */
 I4	   3884 #define NAM$V_FILL_1	1
 I4	   3885 #define NAM$V_FILL_2	2
 I4	   3886 #define NAM$V_SYNCHK	3		/* Only do syntax check on $PARSE operation */
 I4	   3887 #define NAM$V_NOCONCEAL	4		/* do not conceal device/root directory */
 I4	   3888 #define NAM$V_SLPARSE	5		/* parse search list */
 I4	   3889 #define NAM$V_SRCHXABS	6		/* fill in attached XABS on $SEARCH ops over the network */
 I4	   3890 #define NAM$V_NO_SHORT_UPCASE 7		/* Don't upcase the ESA */
 I4	   3891 #define NAM$V_IFI	16		/* Internal file identifier */
 I4	   3892 #define NAM$V_SRCHNMF	30		/* no-more-files has been encountered on $SEARCH */
 I4	   3893 #define NAM$V_SVCTX	31		/* save context across search calls */
 I4	   3894 #define NAM$V_EXP_VER	0		/* version number is explicit */
 I4	   3895 #define NAM$V_EXP_TYPE	1		/* file type is explicit */
 I4	   3896 #define NAM$V_EXP_NAME	2		/* file name is explicit */
 I4	   3897 #define NAM$V_WILD_VER	3		/* version number containes a wild card */
 I4	   3898 #define NAM$V_WILD_TYPE	4		/* file type containes a wild card */
 I4	   3899 #define NAM$V_WILD_NAME	5		/* file name containes a wild card */
 I4	   3900 #define NAM$V_EXP_DIR	6		/* directory spec is explicit */
 I4	   3901 #define NAM$V_EXP_DEV	7		/* device name is explicit */
 I4	   3902 #define NAM$V_WILDCARD	8		/* file name string includes a wild card */
 I4	   3903 #define NAM$V_DIR_LVLS_G7 9		/* Dir levels greater than 7 */
 I4	   3904 #define NAM$V_WILD_SFDG7 10		/* A subdir greater than 7 has a wildcard */
 I4	   3905 #define NAM$V_SEARCH_LIST 11		/* search list present */
 I4	   3906 #define NAM$V_CNCL_DEV	12		/* device name is a concealed device */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 70
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3907 #define NAM$V_ROOT_DIR	13		/* device name incorporates a root directory */
 I4	   3908 #define NAM$V_LOWVER	14		/* lower numbered version(s) of the file exist(s) */
 I4	   3909 #define NAM$V_HIGHVER	15		/* higher numbered version(s) of the file exist(s) */
 I4	   3910 #define NAM$V_PPF	16		/* indirectly accessed process permanent file */
 I4	   3911 #define NAM$V_NODE	17		/* file specification includes a node name */
 I4	   3912 #define NAM$V_QUOTED	18		/* file spec includes a quoted string */
 I4	   3913 #define NAM$V_GRP_MBR	19		/* directory spec is of group-member number format */
 I4	   3914 #define NAM$V_WILD_DIR	20		/* directory spec includes a wild card */
 I4	   3915 #define NAM$V_DIR_LVLS	21		/* number of subdirectory levels (0 = ufd only) */
 I4	   3916 #define NAM$S_DIR_LVLS	3
 I4	   3917 #define NAM$V_WILD_UFD	24		/* user file directory spec includes a wild card */
 I4	   3918 #define NAM$V_WILD_SFD1	25		/* subfile directory 1 spec includes a wild card */
 I4	   3919 #define NAM$V_WILD_SFD2	26		/* sfd2 includes a wild card */
 I4	   3920 #define NAM$V_WILD_SFD3	27		/* sfd3 includes a wild card */
 I4	   3921 #define NAM$V_WILD_SFD4	28		/* sfd4 includes a wild card */
 I4	   3922 #define NAM$V_WILD_SFD5	29		/* sfd5 includes a wild card */
 I4	   3923 #define NAM$V_WILD_SFD6	30		/* sfd6 includes a wild card */
 I4	   3924 #define NAM$V_WILD_SFD7	31		/* sfd7 includes a wild card */
 I4	   3925 #define NAM$V_WILD_GRP	24		/* group containes a wild card */
 I4	   3926 #define NAM$V_WILD_MBR	25		/* member containes a wild card */
 I4	   3927 #define NAM$V_DID	0		/* Input string is DIDed */
 I4	   3928 #define NAM$V_FID	1		/* Input string is FIDed */
 I4	   3929 #define NAM$V_RES_DID	2		/* Result or Exp string is DIDded */
 I4	   3930 #define NAM$V_RES_FID	3		/* Result or Exp string is FIDded */
 I4	   3931 #define NAM$V_RES_ESCAPE 4		/* Result or Exp string has escapes */
 I4	   3932 #define NAM$V_RES_UNICODE 5		/* Result or Exp string has ^U */
 I4	   3933 #define NAML$V_NO_SHORT_OUTPUT 0	/* Don't write to RSA and ESA */
 I4	   3934 #define NAML$V_LONG_RESULT_ESCAPE 0	/* There is an escape characater in the long output */
 I4	   3935 #define NAML$V_FILESYS_NAME_UCS2 1	/* The filesys name output is 2-byte Unicode*/
 I4	   3936 #define NAML$V_LONG_RESULT_DID 2	/* There is DIDding in the long result or expanded */
 I4	   3937 #define NAML$V_LONG_RESULT_FID 3	/* There is FIDding in the long result or expanded */
 I4	   3938 #define NAML$V_LONG_RESULT_UNICODE 4	/* There is ^U in the long result or expanded */
 I4    X   3939 #ifdef __NEW_STARLET
 I4    X   3940 #define NAM _namdef
 I4    X   3941 #else
 I4	   3942 #define NAM namdef
 I4	   3943 #endif
 I4	   3944 #define cc$rms_nam (*decc$ga_rms_nam)
 I4	   3945 #if defined(__DECC) || defined(__DECCXX)
 I4	   3946 # pragma extern_model __save
 I4	   3947 # pragma extern_model strict_refdef
 I4	   3948    extern struct NAM cc$rms_nam;			/* Declare initialized prototype data structures */
       E	                  namdef
       E	                      ( * decc$ga_rms_nam )
 I4	   3949 # pragma extern_model __restore
 I4    X   3950 #else
 I4    X   3951    globalref struct NAM cc$rms_nam;			/* Declare initialized prototype data structures */
 I4    X   3952 #endif
 I4	   3953 /* Start NAML here                                                          */
 I4	   3954 /*                                                                          */
 I4	   3955 /*         name block field definitions                                     */
 I4	   3956 /*                                                                          */
 I4	   3957 /*  The naml block is an extended version of the NAM                        */
 I4	   3958 /*  block used to communicate optional filename-related                     */
 I4	   3959 /*  information.  It differs from the NAM in that it                        */
 I4	   3960 /*  includes a default name and a file name field and that                  */
 I4	   3961 /*  these as well as the result and expanded file names                     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 71
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   3962 /*  have 32-bit length fields (though the top 16 bits is                    */
 I4	   3963 /*  required to be 0, limiting the length to 65535).  There                 */
 I4	   3964 /*  are also some additional flags available.                               */
 I4	   3965 /*                                                                          */
 I4	   3966 /*  In order for RMS to recognize this block as a NAML, it must             */
 I4	   3967 /*  have NAML$B_BLN set to NAML$C_BLN, and must have                        */
 I4	   3968 /*  NAML$B_BID set to NAML$C_BID.                                           */
 I4	   3969 /*                                                                          */
 I4	   3970 	
 I4    X   3971 #ifdef __NEW_STARLET
 I4    X   3972 struct _namldef;
 I4    X   3973 #else
 I4	   3974 struct namldef;
 I4	   3975 #endif
 I4	   3976 #define NAML$C_BID 4                    /* code for naml block              */
 I4	   3977 /* (Same as nam)                                                            */
 I4	   3978 #define NAML$C_MAXRSS 4095              /* maximum resultant name string size  */
 I4	   3979 #define NAML$M_PWD 0x1
 I4	   3980 #define NAML$M_FILL_1 0x2
 I4	   3981 #define NAML$M_FILL_2 0x4
 I4	   3982 #define NAML$M_SYNCHK 0x8
 I4	   3983 #define NAML$M_NOCONCEAL 0x10
 I4	   3984 #define NAML$M_SLPARSE 0x20
 I4	   3985 #define NAML$M_SRCHXABS 0x40
 I4	   3986 #define NAML$M_NO_SHORT_UPCASE 0x80
 I4	   3987 #define NAML$C_UFS 0                    /* Unknown file system for remote file access or */
 I4	   3988 /*  not applicable for local file access or                                 */
 I4	   3989 #define NAML$C_NO_RFS 0                 /*  task-to-task operation          */
 I4	   3990 #define NAML$C_RMS11 1                  /* RMS-11                           */
 I4	   3991 #define NAML$C_RMS20 2                  /* RMS-20                           */
 I4	   3992 #define NAML$C_RMS32 3                  /* RMS-32                           */
 I4	   3993 #define NAML$C_FCS11 4                  /* FCS-11                           */
 I4	   3994 #define NAML$C_RT11FS 5                 /* RT-11 file system                */
 I4	   3995 #define NAML$C_TOPS20FS 7               /* TOPS-20 file system              */
 I4	   3996 #define NAML$C_TOPS10FS 8               /* TOPS-10 file system              */
 I4	   3997 #define NAML$C_RMS32S 10                /* RMS-32 subset (e.g., VAXELAN)    */
 I4	   3998 #define NAML$C_CPMFS 11                 /* CP/M file system                 */
 I4	   3999 #define NAML$C_MS_DOSFS 12              /* MS/DOS file system               */
 I4	   4000 #define NAML$C_ULTRIX32_FS 13           /* Ultrix-32 file system            */
 I4	   4001 #define NAML$C_ULTRIX11_FS 14           /* Ultrix-11 file system            */
 I4	   4002 /*+++++++++++++++++++++++                                                   */
 I4	   4003 #define NAML$C_DVI 16                   /* length of dvi field              */
 I4	   4004 /*+++++*****                                                                */
 I4	   4005 #define NAML$M_IFI 0x10000
 I4	   4006 #define NAML$M_SRCHNMF 0x40000000
 I4	   4007 #define NAML$M_SVCTX 0x80000000
 I4	   4008 #define NAML$K_BLN_V2 56                /* Version 2 name block length      */
 I4	   4009 #define NAML$C_BLN_V2 56                /* Version 2 name block length      */
 I4	   4010 #define NAML$M_EXP_VER 0x1
 I4	   4011 #define NAML$M_EXP_TYPE 0x2
 I4	   4012 #define NAML$M_EXP_NAME 0x4
 I4	   4013 #define NAML$M_WILD_VER 0x8
 I4	   4014 #define NAML$M_WILD_TYPE 0x10
 I4	   4015 #define NAML$M_WILD_NAME 0x20
 I4	   4016 #define NAML$M_EXP_DIR 0x40
 I4	   4017 #define NAML$M_EXP_DEV 0x80
 I4	   4018 #define NAML$M_WILDCARD 0x100

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 72
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4019 #define NAML$M_DIR_LVLS_G7 0x200
 I4	   4020 #define NAML$M_WILD_SFDG7 0x400
 I4	   4021 #define NAML$M_SEARCH_LIST 0x800
 I4	   4022 #define NAML$M_CNCL_DEV 0x1000
 I4	   4023 #define NAML$M_ROOT_DIR 0x2000
 I4	   4024 #define NAML$M_LOWVER 0x4000
 I4	   4025 #define NAML$M_HIGHVER 0x8000
 I4	   4026 #define NAML$M_PPF 0x10000
 I4	   4027 #define NAML$M_NODE 0x20000
 I4	   4028 #define NAML$M_QUOTED 0x40000
 I4	   4029 #define NAML$M_GRP_MBR 0x80000
 I4	   4030 #define NAML$M_WILD_DIR 0x100000
 I4	   4031 #define NAML$M_DIR_LVLS 0xE00000
 I4	   4032 #define NAML$M_WILD_UFD 0x1000000
 I4	   4033 #define NAML$M_WILD_SFD1 0x2000000
 I4	   4034 #define NAML$M_WILD_SFD2 0x4000000
 I4	   4035 #define NAML$M_WILD_SFD3 0x8000000
 I4	   4036 #define NAML$M_WILD_SFD4 0x10000000
 I4	   4037 #define NAML$M_WILD_SFD5 0x20000000
 I4	   4038 #define NAML$M_WILD_SFD6 0x40000000
 I4	   4039 #define NAML$M_WILD_SFD7 0x80000000
 I4	   4040 #define NAML$M_WILD_GRP 0x1000000
 I4	   4041 #define NAML$M_WILD_MBR 0x2000000
 I4	   4042 #define NAML$M_DID 0x1
 I4	   4043 #define NAML$M_FID 0x2
 I4	   4044 #define NAML$M_RES_DID 0x4
 I4	   4045 #define NAML$M_RES_FID 0x8
 I4	   4046 #define NAML$M_RES_ESCAPE 0x10
 I4	   4047 #define NAML$M_RES_UNICODE 0x20
 I4	   4048 #define NAML$M_LONG_RESULT_ESCAPE 0x1
 I4	   4049 #define NAML$M_FILESYS_NAME_UCS2 0x2
 I4	   4050 #define NAML$M_LONG_RESULT_DID 0x4
 I4	   4051 #define NAML$M_LONG_RESULT_FID 0x8
 I4	   4052 #define NAML$M_LONG_RESULT_UNICODE 0x10
 I4	   4053 #define NAML$M_MP_IN_PATH 0x20
 I4	   4054 #define NAML$M_SYMLNK_IN_PATH 0x40
 I4	   4055 #define NAML$M_OBJECT_SYMLINK 0x80
 I4	   4056 #define NAML$M_IS_DIRECTORY 0x100
 I4	   4057 #define NAML$M_NO_SHORT_OUTPUT 0x1
 I4	   4058 #define NAML$C_CASE_LOOKUP_BLIND 2      /* case blind                       */
 I4	   4059 #define NAML$C_CASE_LOOKUP_SENSITIVE 3  /* case sensitive                   */
 I4	   4060 #define NAML$M_OPEN_SPECIAL 0x8
 I4	   4061 #define NAML$C_SEARCH_SYMLINK_DEFAULT 0 /* use process default              */
 I4	   4062 #define NAML$C_SEARCH_SYMLINK_NONE 1    /* use no symlinks                  */
 I4	   4063 #define NAML$C_SEARCH_SYMLINK_ALL 2     /* use symlinks always              */
 I4	   4064 #define NAML$C_SEARCH_SYMLINK_NOELLIPS 3 /* use symlinks except in ellipsis */
 I4	   4065 	
 I4    X   4066 #ifdef __NEW_STARLET
 I4    X   4067 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   4068 #pragma __nomember_alignment __longword
 I4    X   4069 #else
 I4    X   4070 #pragma __nomember_alignment
 I4    X   4071 #endif
 I4    X   4072 typedef struct _namldef {
 I4    X   4073 #pragma __nomember_alignment
 I4    X   4074     unsigned char naml$b_bid;           /* block id                         */
 I4    X   4075     unsigned char naml$b_bln;           /* block length                     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 73
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   4076 /*+++++++++++++++++++++++                                                   */
 I4    X   4077 /*  the following 3 fields must not be rearranged relative to each other    */
 I4    X   4078 /*                                                                          */
 I4    X   4079     unsigned char naml$b_rss;           /* resultant string area size       */
 I4    X   4080     unsigned char naml$b_rsl;           /* resultant string length          */
 I4    X   4081     char *naml$l_rsa;                   /* resultant string area address    */
 I4    X   4082 /*-----------------------                                                   */
 I4    X   4083     __union  {
 I4    X   4084         unsigned char naml$b_nop;       /* Name options                     */
 I4    X   4085         __struct  {
 I4    X   4086             unsigned naml$v_pwd : 1;    /* Return password if present in nodespec string and any */
 I4    X   4087 /* other task-specific data of the form /netacp_data"                       */
 I4    X   4088 /*  (default is to mask out password from expanded and                      */
 I4    X   4089 /*  resultant name strings and to create a logical name                     */
 I4    X   4090 /*  whose equivalence string is the unaltered nodespec)                     */
 I4    X   4091             unsigned naml$v_fill_1 : 1; /* unused.  (used to be undocumented ROD) */
 I4    X   4092             unsigned naml$v_fill_2 : 1; /* unused.  (used to be undocumented SOD) */
 I4    X   4093             unsigned naml$v_synchk : 1; /* Only do syntax check on $parse operation */
 I4    X   4094             unsigned naml$v_noconceal : 1; /* Do not conceal device/root directory */
 I4    X   4095             unsigned naml$v_slparse : 1; /* Parse search list (not documented) -- used by BACKUP. */
 I4    X   4096             unsigned naml$v_srchxabs : 1; /* Fill in attached XABS on $SEARCH operations over the */
 I4    X   4097 /*  network (not documented) -- used by directory.                          */
 I4    X   4098             unsigned naml$v_no_short_upcase : 1; /* Don't upcase the ESA    */
 I4    X   4099             } naml$r_nop_bits;
 I4    X   4100         } naml$r_nop_overlay;
 I4    X   4101     unsigned char naml$b_rfs;           /* Remote file system type (currently not documented) */
 I4    X   4102 /* Note: This field is reserved for use by Digital                          */
 I4    X   4103 /*  the following 3 fields must not be rearranged relative to each other    */
 I4    X   4104 /*                                                                          */
 I4    X   4105     unsigned char naml$b_ess;           /* espanded string area size        */
 I4    X   4106     unsigned char naml$b_esl;           /* expanded string length           */
 I4    X   4107     char *naml$l_esa;                   /* expanded string area address     */
 I4    X   4108 /*-----------------------                                                   */
 I4    X   4109     __union  {
 I4    X   4110         NAMDEF *naml$l_rlf;             /* related file nam block addr ~~~ struct namdef ~~~ */
 I4    X   4111         struct _namldef *naml$l_rlf_naml; /* related file naml block addr ~~~ struct namldef ~~~ */
 I4    X   4112         } naml$r_rlf_overlay;
 I4    X   4113     char naml$t_dvi [16];               /* device id                        */
 I4    X   4114 /*  the location of the following fields must not                           */
 I4    X   4115 /*  be changed due to their commonality with the fib                        */
 I4    X   4116     __union  {
 I4    X   4117         unsigned short int naml$w_fid [3]; /* file id                       */
 I4    X   4118         __struct  {
 I4    X   4119             unsigned short int naml$w_fid_num; /* file number               */
 I4    X   4120             unsigned short int naml$w_fid_seq; /* sequence number           */
 I4    X   4121             __union  {
 I4    X   4122                 unsigned short int naml$w_fid_rvn; /* relative volume number */
 I4    X   4123                 __struct  {
 I4    X   4124                     unsigned char naml$b_fid_rvn; /* alternate format RVN   */
 I4    X   4125                     unsigned char naml$b_fid_nmx; /* alternate format file number extension */
 I4    X   4126                     } naml$r_fid_rvn_fields;
 I4    X   4127                 } naml$r_fid_rvn_overlay;
 I4    X   4128             } naml$r_fid_fields;
 I4    X   4129         } naml$r_fid_overlay;
 I4    X   4130     __union  {
 I4    X   4131         unsigned short int naml$w_did [3]; /* directory id                  */
 I4    X   4132         __struct  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 74
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   4133             unsigned short int naml$w_did_num; /* file number               */
 I4    X   4134             unsigned short int naml$w_did_seq; /* sequence number           */
 I4    X   4135             __union  {
 I4    X   4136                 unsigned short int naml$w_did_rvn; /* relative volume number */
 I4    X   4137                 __struct  {
 I4    X   4138                     unsigned char naml$b_did_rvn; /* alternate format RVN   */
 I4    X   4139                     unsigned char naml$b_did_nmx; /* alternate format file number extension */
 I4    X   4140                     } naml$r_did_rvn_fields;
 I4    X   4141                 } naml$r_did_rvn_overlay;
 I4    X   4142             } naml$r_did_fields;
 I4    X   4143         } naml$r_did_overlay;
 I4    X   4144     __union  {
 I4    X   4145         unsigned int naml$l_wcc;        /* wild card context                */
 I4    X   4146         __struct  {
 I4    X   4147             unsigned namldef$$_fill_1 : 16; /* the first word is reserved for IFI/ACP context */
 I4    X   4148             unsigned naml$v_ifi : 1;    /* the first word contains an IFI   */
 I4    X   4149             unsigned namldef$$_fill_2 : 13; /* grow from top down, start at top bit */
 I4    X   4150             unsigned naml$v_srchnmf : 1; /* no-more-files has been encountered on a search */
 I4    X   4151             unsigned naml$v_svctx : 1;  /* save context across search calls */
 I4    X   4152             } naml$r_wcc_bits;
 I4    X   4153         } naml$r_wcc_overlay;
 I4    X   4154     __union  {
 I4    X   4155         unsigned int naml$l_fnb;        /* file name status bits            */
 I4    X   4156         __struct  {
 I4    X   4157             unsigned naml$v_exp_ver : 1; /* version was explicit            */
 I4    X   4158             unsigned naml$v_exp_type : 1; /* type was explicit              */
 I4    X   4159             unsigned naml$v_exp_name : 1; /* name was explicit              */
 I4    X   4160             unsigned naml$v_wild_ver : 1; /* version contained a wild card  */
 I4    X   4161             unsigned naml$v_wild_type : 1; /* type contained a wild card    */
 I4    X   4162             unsigned naml$v_wild_name : 1; /* name contained a wild card    */
 I4    X   4163             unsigned naml$v_exp_dir : 1; /* directory was explicit          */
 I4    X   4164             unsigned naml$v_exp_dev : 1; /* device was explicit             */
 I4    X   4165             unsigned naml$v_wildcard : 1; /* filename string included a wild card */
 I4    X   4166 /* (inclusive or of other wild card bits)                                   */
 I4    X   4167             unsigned naml$v_dir_lvls_g7 : 1; /* Dir levels greater than 7   */
 I4    X   4168             unsigned naml$v_wild_sfdg7 : 1; /* A subdir greater than 7 has a wildcard */
 I4    X   4169             unsigned naml$v_search_list : 1; /* search list present         */
 I4    X   4170             unsigned naml$v_cncl_dev : 1; /* concealed device present       */
 I4    X   4171             unsigned naml$v_root_dir : 1; /* root directory present         */
 I4    X   4172             unsigned naml$v_lowver : 1; /* lower numbered version(s) of file exist(s) */
 I4    X   4173             unsigned naml$v_highver : 1; /* higher "                        */
 I4    X   4174 /*                                                                          */
 I4    X   4175             unsigned naml$v_ppf : 1;    /* process-permanent file referenced indirectly */
 I4    X   4176             unsigned naml$v_node : 1;   /* filename specification included a nodename */
 I4    X   4177             unsigned naml$v_quoted : 1; /* filename spec included a quoted string */
 I4    X   4178             unsigned naml$v_grp_mbr : 1; /* directory spec was of group-member format */
 I4    X   4179             unsigned naml$v_wild_dir : 1; /* directory spec included a wild card */
 I4    X   4180             unsigned naml$v_dir_lvls : 3; /* number of directory levels (0=ufd only) */
 I4    X   4181             } naml$r_fnb_bits0;
 I4    X   4182         __struct  {
 I4    X   4183             unsigned namldef$$_fill_4 : 24; /* separate byte for wild card directory flags */
 I4    X   4184             unsigned naml$v_wild_ufd : 1; /* ufd included a wild card       */
 I4    X   4185             unsigned naml$v_wild_sfd1 : 1; /* sfd1 included a wild card     */
 I4    X   4186             unsigned naml$v_wild_sfd2 : 1; /* sfd2 included a wild card     */
 I4    X   4187             unsigned naml$v_wild_sfd3 : 1; /* sfd3 included a wild card     */
 I4    X   4188             unsigned naml$v_wild_sfd4 : 1; /* sfd4 included a wild card     */
 I4    X   4189             unsigned naml$v_wild_sfd5 : 1; /* sfd5 included a wild card     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 75
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   4190             unsigned naml$v_wild_sfd6 : 1; /* sfd6 included a wild card     */
 I4    X   4191             unsigned naml$v_wild_sfd7 : 1; /* sfd7 included a wild card     */
 I4    X   4192             } naml$r_fnb_bits1;
 I4    X   4193         __struct  {
 I4    X   4194             unsigned namldef$$_fill_5 : 24; /* alternate definitions for wild_ufd and wild_sfd1 */
 I4    X   4195             unsigned naml$v_wild_grp : 1; /* group contained a wild card    */
 I4    X   4196             unsigned naml$v_wild_mbr : 1; /* member contained a wild card   */
 I4    X   4197             unsigned naml$v_fill_6_ : 6;
 I4    X   4198             } naml$r_fnb_bits2;
 I4    X   4199         } naml$r_fnb_overlay;
 I4    X   4200     unsigned char naml$b_node;          /* Nodespec length                  */
 I4    X   4201     unsigned char naml$b_dev;           /* Device length                    */
 I4    X   4202     unsigned char naml$b_dir;           /* Directory length                 */
 I4    X   4203     unsigned char naml$b_name;          /* Filename length                  */
 I4    X   4204     unsigned char naml$b_type;          /* Filetype length                  */
 I4    X   4205     unsigned char naml$b_ver;           /* Version number length            */
 I4    X   4206     __union  {                          /* Name characteristics             */
 I4    X   4207         unsigned char naml$b_nmc;
 I4    X   4208         __struct  {
 I4    X   4209             unsigned naml$v_did : 1;    /* Input file spec DIDed            */
 I4    X   4210             unsigned naml$v_fid : 1;    /* Input file spec FIDed            */
 I4    X   4211             unsigned naml$v_res_did : 1; /* Result or Exp string spec DIDed */
 I4    X   4212             unsigned naml$v_res_fid : 1; /* Result or Exp string spec FIDed */
 I4    X   4213             unsigned naml$v_res_escape : 1; /* Result or Exp string spec has "^" */
 I4    X   4214             unsigned naml$v_res_unicode : 1; /* Result or Exp string spec contains ^U */
 I4    X   4215             unsigned namldef$$_fill_3 : 2;
 I4    X   4216             } naml$r_nmc_bits;
 I4    X   4217         } naml$r_nmc_overlay;
 I4    X   4218     char namldef$$_fill_6 [1];          /* Currently unused                 */
 I4    X   4219     char *naml$l_node;                  /* Nodespec address                 */
 I4    X   4220     char *naml$l_dev;                   /* Device address                   */
 I4    X   4221     char *naml$l_dir;                   /* Directory address                */
 I4    X   4222     char *naml$l_name;                  /* Filename address                 */
 I4    X   4223     char *naml$l_type;                  /* Filetype address                 */
 I4    X   4224     char *naml$l_ver;                   /* Version number address           */
 I4    X   4225     unsigned short int naml$w_first_wild_dir; /*First wild directory in related nam */
 I4    X   4226     unsigned short int naml$w_long_dir_levels; /*Total number of directories */
 I4    X   4227     unsigned int namldef$$_fill_7 [1];  /* Currently unused                 */
 I4    X   4228 /* New NAML-only items:                                                     */
 I4    X   4229     unsigned int naml$l_long_defname_size; /*Analogous to FAB$B_DNS         */
 I4    X   4230     char *naml$l_long_defname;          /*Analogous to FAB$L_DNA            */
 I4    X   4231     unsigned int naml$l_long_filename_size; /*Analogous to FAB$B_FNS        */
 I4    X   4232     char *naml$l_long_filename;         /*Analogous to FAB$L_FNA            */
 I4    X   4233     unsigned int naml$l_long_node_size; /*Analogous to NAM$B_NODE           */
 I4    X   4234     char *naml$l_long_node;             /*Analogous to NAM$L_NODE           */
 I4    X   4235     unsigned int naml$l_long_dev_size;  /*Analogous to NAM$B_DEV            */
 I4    X   4236     char *naml$l_long_dev;              /*Analogous to NAM$L_DEV            */
 I4    X   4237     unsigned int naml$l_long_dir_size;  /*Analogous to NAM$B_DIR            */
 I4    X   4238     char *naml$l_long_dir;              /*Analogous to NAM$L_DIR            */
 I4    X   4239     unsigned int naml$l_long_name_size; /*Analogous to NAM$B_NAME           */
 I4    X   4240     char *naml$l_long_name;             /*Analogous to NAM$L_NAME           */
 I4    X   4241     unsigned int naml$l_long_type_size; /*Analogous to NAM$B_TYPE           */
 I4    X   4242     char *naml$l_long_type;             /*Analogous to NAM$L_TYPE           */
 I4    X   4243     unsigned int naml$l_long_ver_size;  /*Analogous to NAM$B_VER            */
 I4    X   4244     char *naml$l_long_ver;              /*Analogous to NAM$L_VER            */
 I4    X   4245 /*The following three "LONG_EXPAND" fields must be fixed relative to each other */
 I4    X   4246 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 76
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   4247 #pragma __nomember_alignment __quadword
 I4    X   4248 #else
 I4    X   4249 #pragma __nomember_alignment
 I4    X   4250 #endif
 I4    X   4251     unsigned int naml$l_long_expand_size; /*Analogous to NAM$B_ESL          */
 I4    X   4252 #pragma __nomember_alignment
 I4    X   4253     char *naml$l_long_expand;           /*Analogous to NAM$L_ESA            */
 I4    X   4254     unsigned int naml$l_long_expand_alloc; /*Analogous to NAM$B_ESS         */
 I4    X   4255     int naml$l_reserved_mbz_9;
 I4    X   4256 /*The following three "LONG_RESULT" fields must be fixed relative to each other */
 I4    X   4257 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   4258 #pragma __nomember_alignment __quadword
 I4    X   4259 #else
 I4    X   4260 #pragma __nomember_alignment
 I4    X   4261 #endif
 I4    X   4262     unsigned int naml$l_long_result_size; /*Analogous to NAM$B_RSL          */
 I4    X   4263 #pragma __nomember_alignment
 I4    X   4264     char *naml$l_long_result;           /*Analogous to NAM$L_RSA            */
 I4    X   4265     unsigned int naml$l_long_result_alloc; /*Analogous to NAM$B_RSS         */
 I4    X   4266     int naml$l_reserved_mbz_8;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4267 /*The following three "FILESYS_NAME" fields must be fixed relative to each other */
 I4    X   4268 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   4269 #pragma __nomember_alignment __quadword
 I4    X   4270 #else
 I4    X   4271 #pragma __nomember_alignment
 I4    X   4272 #endif
 I4    X   4273     unsigned int naml$l_filesys_name_size;
 I4    X   4274 #pragma __nomember_alignment
 I4    X   4275     char *naml$l_filesys_name;
 I4    X   4276     unsigned int naml$l_filesys_name_alloc;
 I4    X   4277     __union  {                          /* Flags set or cleared by RMS      */
 I4    X   4278         unsigned int naml$l_output_flags;
 I4    X   4279         __struct  {
 I4    X   4280             unsigned naml$v_long_result_escape : 1; /* There is an escape character in the long output */
 I4    X   4281             unsigned naml$v_filesys_name_ucs2 : 1; /* The filesys name output is 2-byte Unicode */
 I4    X   4282             unsigned naml$v_long_result_did : 1; /* There is DIDding in the long output */
 I4    X   4283             unsigned naml$v_long_result_fid : 1; /* There is FIDding in the long output */
 I4    X   4284             unsigned naml$v_long_result_unicode : 1; /* Long Result or Exp string spec contains ^U */
 I4    X   4285             unsigned naml$v_mp_in_path : 1; /* mount point encountered in directory path */
 I4    X   4286             unsigned naml$v_symlnk_in_path : 1; /* symlink encountered in directory path */
 I4    X   4287             unsigned naml$v_object_symlink : 1; /* The specified object is a symlink ($OPEN, $SEARCH) */
 I4    X   4288             unsigned naml$v_is_directory : 1; /* The specified object is a directory ($OPEN, $SEARCH) */
 I4    X   4289             unsigned naml$v_fill_7_ : 7;
 I4    X   4290             } naml$r_output_flags_bits;
 I4    X   4291 /* The rest of the longword also reserved.                                  */
 I4    X   4292         } naml$r_output_flags_overlay;
 I4    X   4293     __union  {                          /* Flags specified by user to RMS   */
 I4    X   4294         unsigned int naml$l_input_flags;
 I4    X   4295         __struct  {
 I4    X   4296             unsigned naml$v_no_short_output : 1; /* Don't write to RSA and ESA */
 I4    X   4297             unsigned naml$v_case_lookup : 2; /* name case lookup mode       */
 I4    X   4298             unsigned naml$v_open_special : 1; /* $OPEN a special file, rather than the  */
 I4    X   4299 /*  object referred to by the special file.                                 */
 I4    X   4300             unsigned naml$v_search_symlink : 2; /* Controls whether $SEARCH follows */
 I4    X   4301 /* symlinks in directory paths                                              */
 I4    X   4302 /* NOTE: Symlink search mode encodings are coordinated across $JPIDEF, $LIBCQDEF, */
 I4    X   4303 /* $LIBFILDEF, $PPROPDEF, and $NAMLDEF.                                     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 77
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   4304             unsigned naml$v_fill_8_ : 2;
 I4    X   4305             } naml$r_input_flags_bits;
 I4    X   4306 /* The rest of the longword also reserved and must be zero.                 */
 I4    X   4307         } naml$r_input_flags_overlay;
 I4    X   4308     int naml$l_reserved_mbz_7;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4309     unsigned __int64 naml$q_user_context;
 I4    X   4310     int naml$l_reserved_mbz_6;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4311     int naml$l_reserved_mbz_5;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4312     int naml$l_reserved_mbz_4;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4313     int naml$l_reserved_mbz_3;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4314     int naml$l_reserved_mbz_2;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4315     int naml$l_reserved_mbz_1;          /* Reserved to Digital for future use.  Must be zero. */
 I4    X   4316     } NAMLDEF;
 I4    X   4317  
 I4    X   4318 #if !defined(__VAXC)
 I4    X   4319 #define naml$b_nop naml$r_nop_overlay.naml$b_nop
 I4    X   4320 #define naml$r_nop_bits	naml$r_nop_overlay.naml$r_nop_bits
 I4    X   4321 #define naml$v_pwd naml$r_nop_bits.naml$v_pwd
 I4    X   4322 #define naml$v_fill_1 naml$r_nop_bits.naml$v_fill_1
 I4    X   4323 #define naml$v_fill_2 naml$r_nop_bits.naml$v_fill_2
 I4    X   4324 #define naml$v_synchk naml$r_nop_bits.naml$v_synchk
 I4    X   4325 #define naml$v_noconceal naml$r_nop_bits.naml$v_noconceal
 I4    X   4326 #define naml$v_slparse naml$r_nop_bits.naml$v_slparse
 I4    X   4327 #define naml$v_srchxabs naml$r_nop_bits.naml$v_srchxabs
 I4    X   4328 #define naml$v_no_short_upcase naml$r_nop_bits.naml$v_no_short_upcase
 I4    X   4329 #define naml$l_rlf naml$r_rlf_overlay.naml$l_rlf
 I4    X   4330 #define naml$l_rlf_naml naml$r_rlf_overlay.naml$l_rlf_naml
 I4    X   4331 #define naml$w_fid naml$r_fid_overlay.naml$w_fid
 I4    X   4332 #define naml$r_fid_fields	naml$r_fid_overlay.naml$r_fid_fields
 I4    X   4333 #define naml$w_fid_num naml$r_fid_fields.naml$w_fid_num
 I4    X   4334 #define naml$w_fid_seq naml$r_fid_fields.naml$w_fid_seq
 I4    X   4335 #define naml$r_fid_rvn_overlay	naml$r_fid_fields.naml$r_fid_rvn_overlay
 I4    X   4336 #define naml$w_fid_rvn naml$r_fid_rvn_overlay.naml$w_fid_rvn
 I4    X   4337 #define naml$r_fid_rvn_fields	naml$r_fid_rvn_overlay.naml$r_fid_rvn_fields
 I4    X   4338 #define naml$b_fid_rvn naml$r_fid_rvn_fields.naml$b_fid_rvn
 I4    X   4339 #define naml$b_fid_nmx naml$r_fid_rvn_fields.naml$b_fid_nmx
 I4    X   4340 #define naml$w_did naml$r_did_overlay.naml$w_did
 I4    X   4341 #define naml$r_did_fields	naml$r_did_overlay.naml$r_did_fields
 I4    X   4342 #define naml$w_did_num naml$r_did_fields.naml$w_did_num
 I4    X   4343 #define naml$w_did_seq naml$r_did_fields.naml$w_did_seq
 I4    X   4344 #define naml$r_did_rvn_overlay	naml$r_did_fields.naml$r_did_rvn_overlay
 I4    X   4345 #define naml$w_did_rvn naml$r_did_rvn_overlay.naml$w_did_rvn
 I4    X   4346 #define naml$r_did_rvn_fields	naml$r_did_rvn_overlay.naml$r_did_rvn_fields
 I4    X   4347 #define naml$b_did_rvn naml$r_did_rvn_fields.naml$b_did_rvn
 I4    X   4348 #define naml$b_did_nmx naml$r_did_rvn_fields.naml$b_did_nmx
 I4    X   4349 #define naml$l_wcc naml$r_wcc_overlay.naml$l_wcc
 I4    X   4350 #define naml$r_wcc_bits	naml$r_wcc_overlay.naml$r_wcc_bits
 I4    X   4351 #define naml$v_ifi naml$r_wcc_bits.naml$v_ifi
 I4    X   4352 #define naml$v_srchnmf naml$r_wcc_bits.naml$v_srchnmf
 I4    X   4353 #define naml$v_svctx naml$r_wcc_bits.naml$v_svctx
 I4    X   4354 #define naml$l_fnb naml$r_fnb_overlay.naml$l_fnb
 I4    X   4355 #define naml$r_fnb_bits0	naml$r_fnb_overlay.naml$r_fnb_bits0
 I4    X   4356 #define naml$v_exp_ver naml$r_fnb_bits0.naml$v_exp_ver
 I4    X   4357 #define naml$v_exp_type naml$r_fnb_bits0.naml$v_exp_type
 I4    X   4358 #define naml$v_exp_name naml$r_fnb_bits0.naml$v_exp_name
 I4    X   4359 #define naml$v_wild_ver naml$r_fnb_bits0.naml$v_wild_ver
 I4    X   4360 #define naml$v_wild_type naml$r_fnb_bits0.naml$v_wild_type

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 78
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4    X   4361 #define naml$v_wild_name naml$r_fnb_bits0.naml$v_wild_name
 I4    X   4362 #define naml$v_exp_dir naml$r_fnb_bits0.naml$v_exp_dir
 I4    X   4363 #define naml$v_exp_dev naml$r_fnb_bits0.naml$v_exp_dev
 I4    X   4364 #define naml$v_wildcard naml$r_fnb_bits0.naml$v_wildcard
 I4    X   4365 #define naml$v_dir_lvls_g7 naml$r_fnb_bits0.naml$v_dir_lvls_g7
 I4    X   4366 #define naml$v_wild_sfdg7 naml$r_fnb_bits0.naml$v_wild_sfdg7
 I4    X   4367 #define naml$v_search_list naml$r_fnb_bits0.naml$v_search_list
 I4    X   4368 #define naml$v_cncl_dev naml$r_fnb_bits0.naml$v_cncl_dev
 I4    X   4369 #define naml$v_root_dir naml$r_fnb_bits0.naml$v_root_dir
 I4    X   4370 #define naml$v_lowver naml$r_fnb_bits0.naml$v_lowver
 I4    X   4371 #define naml$v_highver naml$r_fnb_bits0.naml$v_highver
 I4    X   4372 #define naml$v_ppf naml$r_fnb_bits0.naml$v_ppf
 I4    X   4373 #define naml$v_node naml$r_fnb_bits0.naml$v_node
 I4    X   4374 #define naml$v_quoted naml$r_fnb_bits0.naml$v_quoted
 I4    X   4375 #define naml$v_grp_mbr naml$r_fnb_bits0.naml$v_grp_mbr
 I4    X   4376 #define naml$v_wild_dir naml$r_fnb_bits0.naml$v_wild_dir
 I4    X   4377 #define naml$v_dir_lvls naml$r_fnb_bits0.naml$v_dir_lvls
 I4    X   4378 #define naml$r_fnb_bits1	naml$r_fnb_overlay.naml$r_fnb_bits1
 I4    X   4379 #define naml$v_wild_ufd naml$r_fnb_bits1.naml$v_wild_ufd
 I4    X   4380 #define naml$v_wild_sfd1 naml$r_fnb_bits1.naml$v_wild_sfd1
 I4    X   4381 #define naml$v_wild_sfd2 naml$r_fnb_bits1.naml$v_wild_sfd2
 I4    X   4382 #define naml$v_wild_sfd3 naml$r_fnb_bits1.naml$v_wild_sfd3
 I4    X   4383 #define naml$v_wild_sfd4 naml$r_fnb_bits1.naml$v_wild_sfd4
 I4    X   4384 #define naml$v_wild_sfd5 naml$r_fnb_bits1.naml$v_wild_sfd5
 I4    X   4385 #define naml$v_wild_sfd6 naml$r_fnb_bits1.naml$v_wild_sfd6
 I4    X   4386 #define naml$v_wild_sfd7 naml$r_fnb_bits1.naml$v_wild_sfd7
 I4    X   4387 #define naml$r_fnb_bits2	naml$r_fnb_overlay.naml$r_fnb_bits2
 I4    X   4388 #define naml$v_wild_grp naml$r_fnb_bits2.naml$v_wild_grp
 I4    X   4389 #define naml$v_wild_mbr naml$r_fnb_bits2.naml$v_wild_mbr
 I4    X   4390 #define naml$b_nmc naml$r_nmc_overlay.naml$b_nmc
 I4    X   4391 #define naml$r_nmc_bits	naml$r_nmc_overlay.naml$r_nmc_bits
 I4    X   4392 #define naml$v_did naml$r_nmc_bits.naml$v_did
 I4    X   4393 #define naml$v_fid naml$r_nmc_bits.naml$v_fid
 I4    X   4394 #define naml$v_res_did naml$r_nmc_bits.naml$v_res_did
 I4    X   4395 #define naml$v_res_fid naml$r_nmc_bits.naml$v_res_fid
 I4    X   4396 #define naml$v_res_escape naml$r_nmc_bits.naml$v_res_escape
 I4    X   4397 #define naml$v_res_unicode naml$r_nmc_bits.naml$v_res_unicode
 I4    X   4398 #define naml$l_output_flags naml$r_output_flags_overlay.naml$l_output_flags
 I4    X   4399 #define naml$r_output_flags_bits	naml$r_output_flags_overlay.naml$r_output_flags_bits
 I4    X   4400 #define naml$v_long_result_escape naml$r_output_flags_bits.naml$v_long_result_escape
 I4    X   4401 #define naml$v_filesys_name_ucs2 naml$r_output_flags_bits.naml$v_filesys_name_ucs2
 I4    X   4402 #define naml$v_long_result_did naml$r_output_flags_bits.naml$v_long_result_did
 I4    X   4403 #define naml$v_long_result_fid naml$r_output_flags_bits.naml$v_long_result_fid
 I4    X   4404 #define naml$v_long_result_unicode naml$r_output_flags_bits.naml$v_long_result_unicode
 I4    X   4405 #define naml$v_mp_in_path naml$r_output_flags_bits.naml$v_mp_in_path
 I4    X   4406 #define naml$v_symlnk_in_path naml$r_output_flags_bits.naml$v_symlnk_in_path
 I4    X   4407 #define naml$v_object_symlink naml$r_output_flags_bits.naml$v_object_symlink
 I4    X   4408 #define naml$v_is_directory naml$r_output_flags_bits.naml$v_is_directory
 I4    X   4409 #define naml$l_input_flags naml$r_input_flags_overlay.naml$l_input_flags
 I4    X   4410 #define naml$r_input_flags_bits	naml$r_input_flags_overlay.naml$r_input_flags_bits
 I4    X   4411 #define naml$v_no_short_output naml$r_input_flags_bits.naml$v_no_short_output
 I4    X   4412 #define naml$v_case_lookup naml$r_input_flags_bits.naml$v_case_lookup
 I4    X   4413 #define naml$v_open_special naml$r_input_flags_bits.naml$v_open_special
 I4    X   4414 #define naml$v_search_symlink naml$r_input_flags_bits.naml$v_search_symlink
 I4    X   4415 #endif		/* #if !defined(__VAXC) */
 I4    X   4416  
 I4    X   4417 #else	    /* __OLD_STARLET */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 79
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4418 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   4419 #pragma __nomember_alignment __longword
 I4    X   4420 #else
 I4    X   4421 #pragma __nomember_alignment
 I4    X   4422 #endif
 I4	   4423 struct namldef {
 I4	   4424 #pragma __nomember_alignment
 I4	   4425     unsigned char naml$b_bid;           /* block id                         */
 I4	   4426     unsigned char naml$b_bln;           /* block length                     */
 I4	   4427 /*+++++++++++++++++++++++                                                   */
 I4	   4428 /*  the following 3 fields must not be rearranged relative to each other    */
 I4	   4429 /*                                                                          */
 I4	   4430     unsigned char naml$b_rss;           /* resultant string area size       */
 I4	   4431     unsigned char naml$b_rsl;           /* resultant string length          */
 I4	   4432     char *naml$l_rsa;                   /* resultant string area address    */
 I4	   4433 /*-----------------------                                                   */
 I4	   4434     __union  {
       E	     union
 I4	   4435         unsigned char naml$b_nop;       /* Name options                     */
 I4	   4436         __struct  {
       E	         struct
 I4	   4437             unsigned naml$v_pwd : 1;    /* Return password if present in nodespec string and any */
 I4	   4438 /* other task-specific data of the form /netacp_data"                       */
 I4	   4439 /*  (default is to mask out password from expanded and                      */
 I4	   4440 /*  resultant name strings and to create a logical name                     */
 I4	   4441 /*  whose equivalence string is the unaltered nodespec)                     */
 I4	   4442             unsigned naml$v_fill_1 : 1; /* unused.  (used to be undocumented ROD) */
 I4	   4443             unsigned naml$v_fill_2 : 1; /* unused.  (used to be undocumented SOD) */
 I4	   4444             unsigned naml$v_synchk : 1; /* Only do syntax check on $parse operation */
 I4	   4445             unsigned naml$v_noconceal : 1; /* Do not conceal device/root directory */
 I4	   4446             unsigned naml$v_slparse : 1; /* Parse search list (not documented) -- used by BACKUP. */
 I4	   4447             unsigned naml$v_srchxabs : 1; /* Fill in attached XABS on $SEARCH operations over the */
 I4	   4448 /*  network (not documented) -- used by directory.                          */
 I4	   4449             unsigned naml$v_no_short_upcase : 1; /* Don't upcase the ESA    */
 I4	   4450             } naml$r_nop_bits;
 I4	   4451         } naml$r_nop_overlay;
 I4	   4452     unsigned char naml$b_rfs;           /* Remote file system type (currently not documented) */
 I4	   4453 /* Note: This field is reserved for use by Digital                          */
 I4	   4454 /*  the following 3 fields must not be rearranged relative to each other    */
 I4	   4455 /*                                                                          */
 I4	   4456     unsigned char naml$b_ess;           /* espanded string area size        */
 I4	   4457     unsigned char naml$b_esl;           /* expanded string length           */
 I4	   4458     char *naml$l_esa;                   /* expanded string area address     */
 I4	   4459 /*-----------------------                                                   */
 I4	   4460     __union  {
       E	     union
 I4	   4461          struct namdef  *naml$l_rlf;               /* related file nam block addr  */
 I4	   4462          struct namldef  *naml$l_rlf_naml;          /* related file naml block addr  */
 I4	   4463         } naml$r_rlf_overlay;
 I4	   4464     char naml$t_dvi [16];               /* device id                        */
 I4	   4465 /*  the location of the following fields must not                           */
 I4	   4466 /*  be changed due to their commonality with the fib                        */
 I4	   4467     __union  {
       E	     union
 I4	   4468         unsigned short int naml$w_fid [3]; /* file id                       */
 I4	   4469         __struct  {
       E	         struct

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 80
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4470             unsigned short int naml$w_fid_num; /* file number               */
 I4	   4471             unsigned short int naml$w_fid_seq; /* sequence number           */
 I4	   4472             __union  {
       E	             union
 I4	   4473                 unsigned short int naml$w_fid_rvn; /* relative volume number */
 I4	   4474                 __struct  {
       E	                 struct
 I4	   4475                     unsigned char naml$b_fid_rvn; /* alternate format RVN   */
 I4	   4476                     unsigned char naml$b_fid_nmx; /* alternate format file number extension */
 I4	   4477                     } naml$r_fid_rvn_fields;
 I4	   4478                 } naml$r_fid_rvn_overlay;
 I4	   4479             } naml$r_fid_fields;
 I4	   4480         } naml$r_fid_overlay;
 I4	   4481     __union  {
       E	     union
 I4	   4482         unsigned short int naml$w_did [3]; /* directory id                  */
 I4	   4483         __struct  {
       E	         struct
 I4	   4484             unsigned short int naml$w_did_num; /* file number               */
 I4	   4485             unsigned short int naml$w_did_seq; /* sequence number           */
 I4	   4486             __union  {
       E	             union
 I4	   4487                 unsigned short int naml$w_did_rvn; /* relative volume number */
 I4	   4488                 __struct  {
       E	                 struct
 I4	   4489                     unsigned char naml$b_did_rvn; /* alternate format RVN   */
 I4	   4490                     unsigned char naml$b_did_nmx; /* alternate format file number extension */
 I4	   4491                     } naml$r_did_rvn_fields;
 I4	   4492                 } naml$r_did_rvn_overlay;
 I4	   4493             } naml$r_did_fields;
 I4	   4494         } naml$r_did_overlay;
 I4	   4495     __union  {
       E	     union
 I4	   4496         unsigned int naml$l_wcc;        /* wild card context                */
 I4	   4497         __struct  {
       E	         struct
 I4	   4498             unsigned namldef$$_fill_1 : 16; /* the first word is reserved for IFI/ACP context */
 I4	   4499             unsigned naml$v_ifi : 1;    /* the first word contains an IFI   */
 I4	   4500             unsigned namldef$$_fill_2 : 13; /* grow from top down, start at top bit */
 I4	   4501             unsigned naml$v_srchnmf : 1; /* no-more-files has been encountered on a search */
 I4	   4502             unsigned naml$v_svctx : 1;  /* save context across search calls */
 I4	   4503             } naml$r_wcc_bits;
 I4	   4504         } naml$r_wcc_overlay;
 I4	   4505     __union  {
       E	     union
 I4	   4506         unsigned int naml$l_fnb;        /* file name status bits            */
 I4	   4507         __struct  {
       E	         struct
 I4	   4508             unsigned naml$v_exp_ver : 1; /* version was explicit            */
 I4	   4509             unsigned naml$v_exp_type : 1; /* type was explicit              */
 I4	   4510             unsigned naml$v_exp_name : 1; /* name was explicit              */
 I4	   4511             unsigned naml$v_wild_ver : 1; /* version contained a wild card  */
 I4	   4512             unsigned naml$v_wild_type : 1; /* type contained a wild card    */
 I4	   4513             unsigned naml$v_wild_name : 1; /* name contained a wild card    */
 I4	   4514             unsigned naml$v_exp_dir : 1; /* directory was explicit          */
 I4	   4515             unsigned naml$v_exp_dev : 1; /* device was explicit             */
 I4	   4516             unsigned naml$v_wildcard : 1; /* filename string included a wild card */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 81
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4517 /* (inclusive or of other wild card bits)                                   */
 I4	   4518             unsigned naml$v_dir_lvls_g7 : 1; /* Dir levels greater than 7   */
 I4	   4519             unsigned naml$v_wild_sfdg7 : 1; /* A subdir greater than 7 has a wildcard */
 I4	   4520             unsigned naml$v_search_list : 1; /* search list present         */
 I4	   4521             unsigned naml$v_cncl_dev : 1; /* concealed device present       */
 I4	   4522             unsigned naml$v_root_dir : 1; /* root directory present         */
 I4	   4523             unsigned naml$v_lowver : 1; /* lower numbered version(s) of file exist(s) */
 I4	   4524             unsigned naml$v_highver : 1; /* higher "                        */
 I4	   4525 /*                                                                          */
 I4	   4526             unsigned naml$v_ppf : 1;    /* process-permanent file referenced indirectly */
 I4	   4527             unsigned naml$v_node : 1;   /* filename specification included a nodename */
 I4	   4528             unsigned naml$v_quoted : 1; /* filename spec included a quoted string */
 I4	   4529             unsigned naml$v_grp_mbr : 1; /* directory spec was of group-member format */
 I4	   4530             unsigned naml$v_wild_dir : 1; /* directory spec included a wild card */
 I4	   4531             unsigned naml$v_dir_lvls : 3; /* number of directory levels (0=ufd only) */
 I4	   4532             } naml$r_fnb_bits0;
 I4	   4533         __struct  {
       E	         struct
 I4	   4534             unsigned namldef$$_fill_4 : 24; /* separate byte for wild card directory flags */
 I4	   4535             unsigned naml$v_wild_ufd : 1; /* ufd included a wild card       */
 I4	   4536             unsigned naml$v_wild_sfd1 : 1; /* sfd1 included a wild card     */
 I4	   4537             unsigned naml$v_wild_sfd2 : 1; /* sfd2 included a wild card     */
 I4	   4538             unsigned naml$v_wild_sfd3 : 1; /* sfd3 included a wild card     */
 I4	   4539             unsigned naml$v_wild_sfd4 : 1; /* sfd4 included a wild card     */
 I4	   4540             unsigned naml$v_wild_sfd5 : 1; /* sfd5 included a wild card     */
 I4	   4541             unsigned naml$v_wild_sfd6 : 1; /* sfd6 included a wild card     */
 I4	   4542             unsigned naml$v_wild_sfd7 : 1; /* sfd7 included a wild card     */
 I4	   4543             } naml$r_fnb_bits1;
 I4	   4544         __struct  {
       E	         struct
 I4	   4545             unsigned namldef$$_fill_5 : 24; /* alternate definitions for wild_ufd and wild_sfd1 */
 I4	   4546             unsigned naml$v_wild_grp : 1; /* group contained a wild card    */
 I4	   4547             unsigned naml$v_wild_mbr : 1; /* member contained a wild card   */
 I4	   4548             unsigned naml$v_fill_6_ : 6;
 I4	   4549             } naml$r_fnb_bits2;
 I4	   4550         } naml$r_fnb_overlay;
 I4	   4551     unsigned char naml$b_node;          /* Nodespec length                  */
 I4	   4552     unsigned char naml$b_dev;           /* Device length                    */
 I4	   4553     unsigned char naml$b_dir;           /* Directory length                 */
 I4	   4554     unsigned char naml$b_name;          /* Filename length                  */
 I4	   4555     unsigned char naml$b_type;          /* Filetype length                  */
 I4	   4556     unsigned char naml$b_ver;           /* Version number length            */
 I4	   4557     __union  {                          /* Name characteristics             */
       E	     union
 I4	   4558         unsigned char naml$b_nmc;
 I4	   4559         __struct  {
       E	         struct
 I4	   4560             unsigned naml$v_did : 1;    /* Input file spec DIDed            */
 I4	   4561             unsigned naml$v_fid : 1;    /* Input file spec FIDed            */
 I4	   4562             unsigned naml$v_res_did : 1; /* Result or Exp string spec DIDed */
 I4	   4563             unsigned naml$v_res_fid : 1; /* Result or Exp string spec FIDed */
 I4	   4564             unsigned naml$v_res_escape : 1; /* Result or Exp string spec has "^" */
 I4	   4565             unsigned naml$v_res_unicode : 1; /* Result or Exp string spec contains ^U */
 I4	   4566             unsigned namldef$$_fill_3 : 2;
 I4	   4567             } naml$r_nmc_bits;
 I4	   4568         } naml$r_nmc_overlay;
 I4	   4569     char namldef$$_fill_6 [1];          /* Currently unused                 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 82
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4570     char *naml$l_node;                  /* Nodespec address                 */
 I4	   4571     char *naml$l_dev;                   /* Device address                   */
 I4	   4572     char *naml$l_dir;                   /* Directory address                */
 I4	   4573     char *naml$l_name;                  /* Filename address                 */
 I4	   4574     char *naml$l_type;                  /* Filetype address                 */
 I4	   4575     char *naml$l_ver;                   /* Version number address           */
 I4	   4576     unsigned short int naml$w_first_wild_dir; /*First wild directory in related nam */
 I4	   4577     unsigned short int naml$w_long_dir_levels; /*Total number of directories */
 I4	   4578     unsigned int namldef$$_fill_7 [1];  /* Currently unused                 */
 I4	   4579 /* New NAML-only items:                                                     */
 I4	   4580     unsigned int naml$l_long_defname_size; /*Analogous to FAB$B_DNS         */
 I4	   4581     char *naml$l_long_defname;          /*Analogous to FAB$L_DNA            */
 I4	   4582     unsigned int naml$l_long_filename_size; /*Analogous to FAB$B_FNS        */
 I4	   4583     char *naml$l_long_filename;         /*Analogous to FAB$L_FNA            */
 I4	   4584     unsigned int naml$l_long_node_size; /*Analogous to NAM$B_NODE           */
 I4	   4585     char *naml$l_long_node;             /*Analogous to NAM$L_NODE           */
 I4	   4586     unsigned int naml$l_long_dev_size;  /*Analogous to NAM$B_DEV            */
 I4	   4587     char *naml$l_long_dev;              /*Analogous to NAM$L_DEV            */
 I4	   4588     unsigned int naml$l_long_dir_size;  /*Analogous to NAM$B_DIR            */
 I4	   4589     char *naml$l_long_dir;              /*Analogous to NAM$L_DIR            */
 I4	   4590     unsigned int naml$l_long_name_size; /*Analogous to NAM$B_NAME           */
 I4	   4591     char *naml$l_long_name;             /*Analogous to NAM$L_NAME           */
 I4	   4592     unsigned int naml$l_long_type_size; /*Analogous to NAM$B_TYPE           */
 I4	   4593     char *naml$l_long_type;             /*Analogous to NAM$L_TYPE           */
 I4	   4594     unsigned int naml$l_long_ver_size;  /*Analogous to NAM$B_VER            */
 I4	   4595     char *naml$l_long_ver;              /*Analogous to NAM$L_VER            */
 I4	   4596 /*The following three "LONG_EXPAND" fields must be fixed relative to each other */
 I4	   4597 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   4598 #pragma __nomember_alignment __quadword
 I4    X   4599 #else
 I4    X   4600 #pragma __nomember_alignment
 I4    X   4601 #endif
 I4	   4602     unsigned int naml$l_long_expand_size; /*Analogous to NAM$B_ESL          */
 I4	   4603 #pragma __nomember_alignment
 I4	   4604     char *naml$l_long_expand;           /*Analogous to NAM$L_ESA            */
 I4	   4605     unsigned int naml$l_long_expand_alloc; /*Analogous to NAM$B_ESS         */
 I4	   4606     int naml$l_reserved_mbz_9;
 I4	   4607 /*The following three "LONG_RESULT" fields must be fixed relative to each other */
 I4	   4608 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   4609 #pragma __nomember_alignment __quadword
 I4    X   4610 #else
 I4    X   4611 #pragma __nomember_alignment
 I4    X   4612 #endif
 I4	   4613     unsigned int naml$l_long_result_size; /*Analogous to NAM$B_RSL          */
 I4	   4614 #pragma __nomember_alignment
 I4	   4615     char *naml$l_long_result;           /*Analogous to NAM$L_RSA            */
 I4	   4616     unsigned int naml$l_long_result_alloc; /*Analogous to NAM$B_RSS         */
 I4	   4617     int naml$l_reserved_mbz_8;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4618 /*The following three "FILESYS_NAME" fields must be fixed relative to each other */
 I4	   4619 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   4620 #pragma __nomember_alignment __quadword
 I4    X   4621 #else
 I4    X   4622 #pragma __nomember_alignment
 I4    X   4623 #endif
 I4	   4624     unsigned int naml$l_filesys_name_size;
 I4	   4625 #pragma __nomember_alignment
 I4	   4626     char *naml$l_filesys_name;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 83
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4627     unsigned int naml$l_filesys_name_alloc;
 I4	   4628     __union  {                          /* Flags set or cleared by RMS      */
       E	     union
 I4	   4629         unsigned int naml$l_output_flags;
 I4	   4630         __struct  {
       E	         struct
 I4	   4631             unsigned naml$v_long_result_escape : 1; /* There is an escape character in the long output */
 I4	   4632             unsigned naml$v_filesys_name_ucs2 : 1; /* The filesys name output is 2-byte Unicode */
 I4	   4633             unsigned naml$v_long_result_did : 1; /* There is DIDding in the long output */
 I4	   4634             unsigned naml$v_long_result_fid : 1; /* There is FIDding in the long output */
 I4	   4635             unsigned naml$v_long_result_unicode : 1; /* Long Result or Exp string spec contains ^U */
 I4	   4636             unsigned naml$v_mp_in_path : 1; /* mount point encountered in directory path */
 I4	   4637             unsigned naml$v_symlnk_in_path : 1; /* symlink encountered in directory path */
 I4	   4638             unsigned naml$v_object_symlink : 1; /* The specified object is a symlink ($OPEN, $SEARCH) */
 I4	   4639             unsigned naml$v_is_directory : 1; /* The specified object is a directory ($OPEN, $SEARCH) */
 I4	   4640             unsigned naml$v_fill_7_ : 7;
 I4	   4641             } naml$r_output_flags_bits;
 I4	   4642 /* The rest of the longword also reserved.                                  */
 I4	   4643         } naml$r_output_flags_overlay;
 I4	   4644     __union  {                          /* Flags specified by user to RMS   */
       E	     union
 I4	   4645         unsigned int naml$l_input_flags;
 I4	   4646         __struct  {
       E	         struct
 I4	   4647             unsigned naml$v_no_short_output : 1; /* Don't write to RSA and ESA */
 I4	   4648             unsigned naml$v_case_lookup : 2; /* name case lookup mode       */
 I4	   4649             unsigned naml$v_open_special : 1; /* $OPEN a special file, rather than the  */
 I4	   4650 /*  object referred to by the special file.                                 */
 I4	   4651             unsigned naml$v_search_symlink : 2; /* Controls whether $SEARCH follows */
 I4	   4652 /* symlinks in directory paths                                              */
 I4	   4653 /* NOTE: Symlink search mode encodings are coordinated across $JPIDEF, $LIBCQDEF, */
 I4	   4654 /* $LIBFILDEF, $PPROPDEF, and $NAMLDEF.                                     */
 I4	   4655             unsigned naml$v_fill_8_ : 2;
 I4	   4656             } naml$r_input_flags_bits;
 I4	   4657 /* The rest of the longword also reserved and must be zero.                 */
 I4	   4658         } naml$r_input_flags_overlay;
 I4	   4659     int naml$l_reserved_mbz_7;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4660     unsigned int naml$q_user_context [2];
 I4	   4661     int naml$l_reserved_mbz_6;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4662     int naml$l_reserved_mbz_5;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4663     int naml$l_reserved_mbz_4;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4664     int naml$l_reserved_mbz_3;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4665     int naml$l_reserved_mbz_2;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4666     int naml$l_reserved_mbz_1;          /* Reserved to Digital for future use.  Must be zero. */
 I4	   4667     } ;
 I4	   4668  
 I4	   4669 #if !defined(__VAXC)
 I4	   4670 #define naml$b_nop naml$r_nop_overlay.naml$b_nop
 I4	   4671 #define naml$v_pwd naml$r_nop_overlay.naml$r_nop_bits.naml$v_pwd
 I4	   4672 #define naml$v_fill_1 naml$r_nop_overlay.naml$r_nop_bits.naml$v_fill_1
 I4	   4673 #define naml$v_fill_2 naml$r_nop_overlay.naml$r_nop_bits.naml$v_fill_2
 I4	   4674 #define naml$v_synchk naml$r_nop_overlay.naml$r_nop_bits.naml$v_synchk
 I4	   4675 #define naml$v_noconceal naml$r_nop_overlay.naml$r_nop_bits.naml$v_noconceal
 I4	   4676 #define naml$v_slparse naml$r_nop_overlay.naml$r_nop_bits.naml$v_slparse
 I4	   4677 #define naml$v_srchxabs naml$r_nop_overlay.naml$r_nop_bits.naml$v_srchxabs
 I4	   4678 #define naml$v_no_short_upcase naml$r_nop_overlay.naml$r_nop_bits.naml$v_no_short_upcase
 I4	   4679 #define naml$l_rlf naml$r_rlf_overlay.naml$l_rlf

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 84
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4680 #define naml$l_rlf_naml naml$r_rlf_overlay.naml$l_rlf_naml
 I4	   4681 #define naml$w_fid naml$r_fid_overlay.naml$w_fid
 I4	   4682 #define naml$w_fid_num naml$r_fid_overlay.naml$r_fid_fields.naml$w_fid_num
 I4	   4683 #define naml$w_fid_seq naml$r_fid_overlay.naml$r_fid_fields.naml$w_fid_seq
 I4	   4684 #define naml$w_fid_rvn naml$r_fid_overlay.naml$r_fid_fields.naml$r_fid_rvn_overlay.naml$w_fid_rvn
 I4	   4685 #define naml$b_fid_rvn naml$r_fid_overlay.naml$r_fid_fields.naml$r_fid_rvn_overlay.naml$r_fid_rvn_fields.naml$b_fid_
 I4	   4685 rvn
 I4	   4686 #define naml$b_fid_nmx naml$r_fid_overlay.naml$r_fid_fields.naml$r_fid_rvn_overlay.naml$r_fid_rvn_fields.naml$b_fid_
 I4	   4686 nmx
 I4	   4687 #define naml$w_did naml$r_did_overlay.naml$w_did
 I4	   4688 #define naml$w_did_num naml$r_did_overlay.naml$r_did_fields.naml$w_did_num
 I4	   4689 #define naml$w_did_seq naml$r_did_overlay.naml$r_did_fields.naml$w_did_seq
 I4	   4690 #define naml$w_did_rvn naml$r_did_overlay.naml$r_did_fields.naml$r_did_rvn_overlay.naml$w_did_rvn
 I4	   4691 #define naml$b_did_rvn naml$r_did_overlay.naml$r_did_fields.naml$r_did_rvn_overlay.naml$r_did_rvn_fields.naml$b_did_
 I4	   4691 rvn
 I4	   4692 #define naml$b_did_nmx naml$r_did_overlay.naml$r_did_fields.naml$r_did_rvn_overlay.naml$r_did_rvn_fields.naml$b_did_
 I4	   4692 nmx
 I4	   4693 #define naml$l_wcc naml$r_wcc_overlay.naml$l_wcc
 I4	   4694 #define naml$v_ifi naml$r_wcc_overlay.naml$r_wcc_bits.naml$v_ifi
 I4	   4695 #define naml$v_srchnmf naml$r_wcc_overlay.naml$r_wcc_bits.naml$v_srchnmf
 I4	   4696 #define naml$v_svctx naml$r_wcc_overlay.naml$r_wcc_bits.naml$v_svctx
 I4	   4697 #define naml$l_fnb naml$r_fnb_overlay.naml$l_fnb
 I4	   4698 #define naml$v_exp_ver naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_exp_ver
 I4	   4699 #define naml$v_exp_type naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_exp_type
 I4	   4700 #define naml$v_exp_name naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_exp_name
 I4	   4701 #define naml$v_wild_ver naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_wild_ver
 I4	   4702 #define naml$v_wild_type naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_wild_type
 I4	   4703 #define naml$v_wild_name naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_wild_name
 I4	   4704 #define naml$v_exp_dir naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_exp_dir
 I4	   4705 #define naml$v_exp_dev naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_exp_dev
 I4	   4706 #define naml$v_wildcard naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_wildcard
 I4	   4707 #define naml$v_dir_lvls_g7 naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_dir_lvls_g7
 I4	   4708 #define naml$v_wild_sfdg7 naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_wild_sfdg7
 I4	   4709 #define naml$v_search_list naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_search_list
 I4	   4710 #define naml$v_cncl_dev naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_cncl_dev
 I4	   4711 #define naml$v_root_dir naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_root_dir
 I4	   4712 #define naml$v_lowver naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_lowver
 I4	   4713 #define naml$v_highver naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_highver
 I4	   4714 #define naml$v_ppf naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_ppf
 I4	   4715 #define naml$v_node naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_node
 I4	   4716 #define naml$v_quoted naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_quoted
 I4	   4717 #define naml$v_grp_mbr naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_grp_mbr
 I4	   4718 #define naml$v_wild_dir naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_wild_dir
 I4	   4719 #define naml$v_dir_lvls naml$r_fnb_overlay.naml$r_fnb_bits0.naml$v_dir_lvls
 I4	   4720 #define naml$v_wild_ufd naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_ufd
 I4	   4721 #define naml$v_wild_sfd1 naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_sfd1
 I4	   4722 #define naml$v_wild_sfd2 naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_sfd2
 I4	   4723 #define naml$v_wild_sfd3 naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_sfd3
 I4	   4724 #define naml$v_wild_sfd4 naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_sfd4
 I4	   4725 #define naml$v_wild_sfd5 naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_sfd5
 I4	   4726 #define naml$v_wild_sfd6 naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_sfd6
 I4	   4727 #define naml$v_wild_sfd7 naml$r_fnb_overlay.naml$r_fnb_bits1.naml$v_wild_sfd7
 I4	   4728 #define naml$v_wild_grp naml$r_fnb_overlay.naml$r_fnb_bits2.naml$v_wild_grp
 I4	   4729 #define naml$v_wild_mbr naml$r_fnb_overlay.naml$r_fnb_bits2.naml$v_wild_mbr
 I4	   4730 #define naml$b_nmc naml$r_nmc_overlay.naml$b_nmc
 I4	   4731 #define naml$v_did naml$r_nmc_overlay.naml$r_nmc_bits.naml$v_did
 I4	   4732 #define naml$v_fid naml$r_nmc_overlay.naml$r_nmc_bits.naml$v_fid

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 85
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(NAMDEF)

 I4	   4733 #define naml$v_res_did naml$r_nmc_overlay.naml$r_nmc_bits.naml$v_res_did
 I4	   4734 #define naml$v_res_fid naml$r_nmc_overlay.naml$r_nmc_bits.naml$v_res_fid
 I4	   4735 #define naml$v_res_escape naml$r_nmc_overlay.naml$r_nmc_bits.naml$v_res_escape
 I4	   4736 #define naml$v_res_unicode naml$r_nmc_overlay.naml$r_nmc_bits.naml$v_res_unicode
 I4	   4737 #define naml$l_output_flags naml$r_output_flags_overlay.naml$l_output_flags
 I4	   4738 #define naml$v_long_result_escape naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_long_result_escape
 I4	   4739 #define naml$v_filesys_name_ucs2 naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_filesys_name_ucs2
 I4	   4740 #define naml$v_long_result_did naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_long_result_did
 I4	   4741 #define naml$v_long_result_fid naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_long_result_fid
 I4	   4742 #define naml$v_long_result_unicode naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_long_result_unicode
 I4	   4743 #define naml$v_mp_in_path naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_mp_in_path
 I4	   4744 #define naml$v_symlnk_in_path naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_symlnk_in_path
 I4	   4745 #define naml$v_object_symlink naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_object_symlink
 I4	   4746 #define naml$v_is_directory naml$r_output_flags_overlay.naml$r_output_flags_bits.naml$v_is_directory
 I4	   4747 #define naml$l_input_flags naml$r_input_flags_overlay.naml$l_input_flags
 I4	   4748 #define naml$v_no_short_output naml$r_input_flags_overlay.naml$r_input_flags_bits.naml$v_no_short_output
 I4	   4749 #define naml$v_case_lookup naml$r_input_flags_overlay.naml$r_input_flags_bits.naml$v_case_lookup
 I4	   4750 #define naml$v_open_special naml$r_input_flags_overlay.naml$r_input_flags_bits.naml$v_open_special
 I4	   4751 #define naml$v_search_symlink naml$r_input_flags_overlay.naml$r_input_flags_bits.naml$v_search_symlink
 I4	   4752 #endif		/* #if !defined(__VAXC) */
 I4	   4753  
 I4	   4754 #endif	    /* #ifdef __NEW_STARLET */
 I4	   4755 /* basealign on aggregate NAMLDEF operates after aggregate end              */
 I4	   4756 #define NAML$K_BLN 248                  /* Name block length                */
 I4	   4757 #define NAML$C_BLN 248                  /* Name block length                */
 I4	   4758 	
 I4	   4759 	
 I4    X   4760 #ifdef __NEW_STARLET
 I4    X   4761 #define NAML _namldef
 I4    X   4762 #else
 I4	   4763 #define NAML namldef
 I4	   4764 #endif
 I4	   4765 #define cc$rms_naml (*decc$ga_rms_naml)
 I4	   4766 #if defined(__DECC) || defined(__DECCXX)
 I4	   4767 # pragma extern_model __save
 I4	   4768 # pragma extern_model strict_refdef
 I4	   4769    extern struct NAML cc$rms_naml;			/* Declare initialized prototype data structures */
       E	                  namldef
       E	                       ( * decc$ga_rms_naml )
 I4	   4770 # pragma extern_model __restore
 I4    X   4771 #else
 I4    X   4772    globalref struct NAML cc$rms_naml;			/* Declare initialized prototype data structures */
 I4    X   4773 #endif
 I4	   4774  
 I4	   4775 #pragma __member_alignment __restore
 I4	   4776 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	   4777 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I4	   4778 #endif
 I4    X   4779 #ifdef __cplusplus
 I4    X   4780     }
 I4    X   4781 #endif
 I4	   4782 #pragma __standard
 I4	   4783  
 I4	   4784 #endif /* __NAMDEF_LOADED */
 I4	   4785  
 I3	   4786 # include <fabdef.h>
 I4	   4787 /*******************************************************************************************************************

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 86
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   4787 *************/
 I4	   4788 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I4	   4789 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I4	   4790 /*******************************************************************************************************************
 I4	   4790 *************/
 I4	   4791 /*** MODULE $FABDEF ***/
 I4	   4792 #ifndef __FABDEF_LOADED
 I4	   4793 #define __FABDEF_LOADED 1
 I4	   4794  
 I4	   4795 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I4	   4796 #pragma __member_alignment __save
 I4	   4797 #pragma __nomember_alignment
 I4	   4798 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	   4799 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I4	   4800 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I4	   4801 #endif
 I4	   4802  
 I4    X   4803 #ifdef __cplusplus
 I4    X   4804     extern "C" {
 I4    X   4805 #define __unknown_params ...
 I4    X   4806 #define __optional_params ...
 I4    X   4807 #else
 I4	   4808 #define __unknown_params
 I4	   4809 #define __optional_params ...
 I4	   4810 #endif
 I4	   4811  
 I4    X   4812 #ifndef __struct
 I4    X   4813 #if !defined(__VAXC)
 I4    X   4814 #define __struct struct
 I4    X   4815 #else
 I4    X   4816 #define __struct variant_struct
 I4    X   4817 #endif
 I4    X   4818 #endif
 I4	   4819  
 I4    X   4820 #ifndef __union
 I4    X   4821 #if !defined(__VAXC)
 I4    X   4822 #define __union union
 I4    X   4823 #else
 I4    X   4824 #define __union variant_union
 I4    X   4825 #endif
 I4    X   4826 #endif
 I4	   4827  
 I4	   4828 /*                                                                          */
 I4	   4829 /*                                                                          */
 I4	   4830 /*	file access block (fab) definitions                                 */
 I4	   4831 /*                                                                          */
 I4	   4832 /*   the fields thru ctx must not be modified due to                        */
 I4	   4833 /*   commonality between fab/rab/xab                                        */
 I4	   4834 /*                                                                          */
 I4	   4835 	
 I4    X   4836 #ifdef __NEW_STARLET
 I4    X   4837 struct _namdef;
 I4    X   4838 struct _namldef;
 I4    X   4839 #else
 I4	   4840 struct namdef;
 I4	   4841 struct namldef;
 I4	   4842 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 87
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   4843 #define FAB$C_BID 3                     /* code for fab                     */
 I4	   4844 #define FAB$M_PPF_RAT 0x3FC0
 I4	   4845 #define FAB$M_PPF_IND 0x4000
 I4	   4846 #define FAB$M_PPIFI 0x8000
 I4	   4847 #define FAB$M_ASY 0x1
 I4	   4848 #define FAB$M_MXV 0x2
 I4	   4849 #define FAB$M_SUP 0x4
 I4	   4850 #define FAB$M_TMP 0x8
 I4	   4851 #define FAB$M_TMD 0x10
 I4	   4852 #define FAB$M_DFW 0x20
 I4	   4853 #define FAB$M_SQO 0x40
 I4	   4854 #define FAB$M_RWO 0x80
 I4	   4855 #define FAB$M_POS 0x100
 I4	   4856 #define FAB$M_WCK 0x200
 I4	   4857 #define FAB$M_NEF 0x400
 I4	   4858 #define FAB$M_RWC 0x800
 I4	   4859 #define FAB$M_DMO 0x1000
 I4	   4860 #define FAB$M_SPL 0x2000
 I4	   4861 #define FAB$M_SCF 0x4000
 I4	   4862 #define FAB$M_DLT 0x8000
 I4	   4863 #define FAB$M_NFS 0x10000
 I4	   4864 #define FAB$M_UFO 0x20000
 I4	   4865 #define FAB$M_PPF 0x40000
 I4	   4866 #define FAB$M_INP 0x80000
 I4	   4867 #define FAB$M_CTG 0x100000
 I4	   4868 #define FAB$M_CBT 0x200000
 I4	   4869 #define FAB$M_SYNCSTS 0x400000
 I4	   4870 #define FAB$M_RCK 0x800000
 I4	   4871 #define FAB$M_NAM 0x1000000
 I4	   4872 #define FAB$M_CIF 0x2000000
 I4	   4873 #define FAB$M_ESC 0x8000000
 I4	   4874 #define FAB$M_TEF 0x10000000
 I4	   4875 #define FAB$M_OFP 0x20000000
 I4	   4876 #define FAB$M_KFO 0x40000000
 I4	   4877 #define FAB$M_EXTEND_FOP 0x80000000
 I4	   4878 #define FAB$M_ERL 0x8000
 I4	   4879 #define FAB$M_PUT 0x1
 I4	   4880 #define FAB$M_GET 0x2
 I4	   4881 #define FAB$M_DEL 0x4
 I4	   4882 #define FAB$M_UPD 0x8
 I4	   4883 #define FAB$M_TRN 0x10
 I4	   4884 #define FAB$M_BIO 0x20
 I4	   4885 #define FAB$M_BRO 0x40
 I4	   4886 #define FAB$M_EXE 0x80
 I4	   4887 #define FAB$M_SHRPUT 0x1
 I4	   4888 #define FAB$M_SHRGET 0x2
 I4	   4889 #define FAB$M_SHRDEL 0x4
 I4	   4890 #define FAB$M_SHRUPD 0x8
 I4	   4891 #define FAB$M_MSE 0x10
 I4	   4892 #define FAB$M_NIL 0x20
 I4	   4893 #define FAB$M_UPI 0x40
 I4	   4894 #define FAB$M_NQL 0x80
 I4	   4895 #define FAB$M_ORG 0xF0
 I4	   4896 #define FAB$C_SEQ 0                     /* sequential                       */
 I4	   4897 #define FAB$C_REL 16                    /* relative                         */
 I4	   4898 #define FAB$C_IDX 32                    /* indexed                          */
 I4	   4899 #define FAB$C_HSH 48                    /* hashed                           */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 88
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   4900 #define FAB$C_SPECIAL 64                /* special file                     */
 I4	   4901 #define FAB$M_FTN 0x1
 I4	   4902 #define FAB$M_CR 0x2
 I4	   4903 #define FAB$M_PRN 0x4
 I4	   4904 #define FAB$M_BLK 0x8
 I4	   4905 #define FAB$M_MSB 0x10
 I4	   4906 #define FAB$C_FIFO 1                    /* FIFO special file                */
 I4	   4907 #define FAB$C_CHAR_SPECIAL 2            /* character special file           */
 I4	   4908 #define FAB$C_BLOCK_SPECIAL 3           /* block special file               */
 I4	   4909 #define FAB$C_SYMLINK 4                 /* symbolic link special file for pre-V8.2 */
 I4	   4910 #define FAB$C_SYMBOLIC_LINK 5           /* symbolic link special file for V8.2 and beyond */
 I4	   4911 #define FAB$C_RFM_DFLT 2                /* var len is default               */
 I4	   4912 #define FAB$C_UDF 0                     /* undefined (also stream binary)   */
 I4	   4913 #define FAB$C_FIX 1                     /* fixed length records             */
 I4	   4914 #define FAB$C_VAR 2                     /* variable length records          */
 I4	   4915 #define FAB$C_VFC 3                     /* variable fixed control           */
 I4	   4916 #define FAB$C_STM 4                     /* RMS-11 stream (valid only for sequential org) */
 I4	   4917 #define FAB$C_STMLF 5                   /* LF stream (valid only for sequential org) */
 I4	   4918 #define FAB$C_STMCR 6                   /* CR stream (valid only for sequential org) */
 I4	   4919 #define FAB$C_MAXRFM 6                  /* maximum rfm supported            */
 I4	   4920 #define FAB$M_ONLY_RU 0x1
 I4	   4921 #define FAB$M_RU 0x2
 I4	   4922 #define FAB$M_BI 0x4
 I4	   4923 #define FAB$M_AI 0x8
 I4	   4924 #define FAB$M_AT 0x10
 I4	   4925 #define FAB$M_NEVER_RU 0x20
 I4	   4926 #define FAB$M_JOURNAL_FILE 0x40
 I4	   4927 #define FAB$M_SSIO_RQST 0x1
 I4	   4928 #define FAB$M_SSIO_GRANTED 0x2
 I4	   4929 #define FAB$M_SSIO_FOC 0x4
 I4	   4930 #define FAB$M_RCF_RU 0x1
 I4	   4931 #define FAB$M_RCF_AI 0x2
 I4	   4932 #define FAB$M_RCF_BI 0x4
 I4	   4933 	
 I4	   4934  
 I4    X   4935 #ifdef __cplusplus		    /* Define structure prototypes */
 I4    X   4936 struct _namdef;
 I4    X   4937 struct _namldef;
 I4    X   4938 #endif		/* #ifdef __cplusplus */
 I4	   4939  
 I4    X   4940 #ifdef __NEW_STARLET
 I4    X   4941 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   4942 #pragma __nomember_alignment __longword
 I4    X   4943 #else
 I4    X   4944 #pragma __nomember_alignment
 I4    X   4945 #endif
 I4    X   4946 typedef struct _fabdef {
 I4    X   4947 #pragma __nomember_alignment
 I4    X   4948     unsigned char fab$b_bid;            /* block id                         */
 I4    X   4949     unsigned char fab$b_bln;            /* block len                        */
 I4    X   4950     __union  {
 I4    X   4951         unsigned short int fab$w_ifi;   /* internal file index              */
 I4    X   4952         __struct  {
 I4    X   4953             unsigned fabdef$$_fill_1 : 6; /* move to bit 6                  */
 I4    X   4954             unsigned fab$v_ppf_rat : 8; /* rat value for process-permanent files */
 I4    X   4955             unsigned fab$v_ppf_ind : 1; /* indirect access to process-permanent file */
 I4    X   4956 /* (i.e., restricted operations)                                            */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 89
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4    X   4957             unsigned fab$v_ppifi : 1;   /* indicates that this is PPF file  */
 I4    X   4958             } fab$r_ifi_bits;
 I4    X   4959         } fab$r_ifi_overlay;
 I4    X   4960     __union  {
 I4    X   4961         unsigned int fab$l_fop;         /* file options                     */
 I4    X   4962         __struct  {
 I4    X   4963             unsigned fab$v_asy : 1;     /* asynchronous operations          */
 I4    X   4964             unsigned fab$v_mxv : 1;     /* maximize version number          */
 I4    X   4965             unsigned fab$v_sup : 1;     /* supersede existing file          */
 I4    X   4966             unsigned fab$v_tmp : 1;     /* create temporary file            */
 I4    X   4967             unsigned fab$v_tmd : 1;     /* create temp file marked for delete */
 I4    X   4968             unsigned fab$v_dfw : 1;     /* deferred write (rel and idx)     */
 I4    X   4969             unsigned fab$v_sqo : 1;     /* sequential access only           */
 I4    X   4970             unsigned fab$v_rwo : 1;     /* rewind mt on open                */
 I4    X   4971             unsigned fab$v_pos : 1;     /* use next magtape position        */
 I4    X   4972             unsigned fab$v_wck : 1;     /* write checking                   */
 I4    X   4973             unsigned fab$v_nef : 1;     /* inhibit end of file positioning  */
 I4    X   4974             unsigned fab$v_rwc : 1;     /* rewind mt on close               */
 I4    X   4975             unsigned fab$v_dmo : 1;     /* dismount mt on close (not implemented) */
 I4    X   4976             unsigned fab$v_spl : 1;     /* spool file on close              */
 I4    X   4977             unsigned fab$v_scf : 1;     /* submit command file on close     */
 I4    X   4978             unsigned fab$v_dlt : 1;     /* delete sub-option                */
 I4    X   4979             unsigned fab$v_nfs : 1;     /* non-file structured operation    */
 I4    X   4980             unsigned fab$v_ufo : 1;     /* user file open - no rms operations */
 I4    X   4981             unsigned fab$v_ppf : 1;     /* process permanent file (pio segment) */
 I4    X   4982             unsigned fab$v_inp : 1;     /* process-permanent file is 'input' */
 I4    X   4983             unsigned fab$v_ctg : 1;     /* contiguous extension             */
 I4    X   4984             unsigned fab$v_cbt : 1;     /* contiguous best try              */
 I4    X   4985             unsigned fab$v_syncsts : 1; /* Synchronous status notification for asynchronous routines. */
 I4    X   4986             unsigned fab$v_rck : 1;     /* read checking                    */
 I4    X   4987             unsigned fab$v_nam : 1;     /* use name block dvi, did, and/or fid fields for open */
 I4    X   4988             unsigned fab$v_cif : 1;     /* create if non-existent           */
 I4    X   4989             unsigned fabdef$$_fill_3 : 1; /* reserved (was UFM bitfield)    */
 I4    X   4990             unsigned fab$v_esc : 1;     /* 'escape' to non-standard function ($modify) */
 I4    X   4991             unsigned fab$v_tef : 1;     /* truncate at eof on close (write-accessed seq. disk file only) */
 I4    X   4992             unsigned fab$v_ofp : 1;     /* output file parse (only name type sticky) */
 I4    X   4993             unsigned fab$v_kfo : 1;     /* known file open (image activator only release 1) */
 I4    X   4994             unsigned fab$v_extend_fop : 1; /* extend FOP                    */
 I4    X   4995             } fab$r_fop_bits;
 I4    X   4996         __struct  {
 I4    X   4997             unsigned fabdef$$_fill_10 : 15; /* move to bit 16               */
 I4    X   4998             unsigned fab$v_erl : 1;     /* Erase Regardless of Lock         */
 I4    X   4999             unsigned fabdef$$_fill_11 : 16; /* Fill for remaining bits      */
 I4    X   5000             } fab$r_fop_bits_overlay;
 I4    X   5001         } fab$r_fop_overlay;
 I4    X   5002     unsigned int fab$l_sts;             /* status                           */
 I4    X   5003     unsigned int fab$l_stv;             /* status value                     */
 I4    X   5004     unsigned int fab$l_alq;             /* allocation quantity              */
 I4    X   5005     unsigned short int fab$w_deq;       /* default allocation quantity      */
 I4    X   5006     __union  {
 I4    X   5007         unsigned char fab$b_fac;        /* file access                      */
 I4    X   5008         __struct  {
 I4    X   5009             unsigned fab$v_put : 1;     /* put access                       */
 I4    X   5010             unsigned fab$v_get : 1;     /* get access                       */
 I4    X   5011             unsigned fab$v_del : 1;     /* delete access                    */
 I4    X   5012             unsigned fab$v_upd : 1;     /* update access                    */
 I4    X   5013             unsigned fab$v_trn : 1;     /* truncate access                  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 90
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4    X   5014             unsigned fab$v_bio : 1;     /* block i/o access                 */
 I4    X   5015             unsigned fab$v_bro : 1;     /* block and record i/o access      */
 I4    X   5016             unsigned fab$v_exe : 1;     /* execute access (caller must be exec or kernel mode, */
 I4    X   5017 /*  ufo must also be set)                                                   */
 I4    X   5018             } fab$r_fac_bits;
 I4    X   5019         } fab$r_fac_overlay;
 I4    X   5020     __union  {
 I4    X   5021         unsigned char fab$b_shr;        /* file sharing                     */
 I4    X   5022         __struct  {
 I4    X   5023             unsigned fab$v_shrput : 1;  /* put access                       */
 I4    X   5024             unsigned fab$v_shrget : 1;  /* get access                       */
 I4    X   5025             unsigned fab$v_shrdel : 1;  /* delete access                    */
 I4    X   5026             unsigned fab$v_shrupd : 1;  /* update access                    */
 I4    X   5027             unsigned fab$v_mse : 1;     /* multi-stream connects enabled    */
 I4    X   5028             unsigned fab$v_nil : 1;     /* no sharing                       */
 I4    X   5029             unsigned fab$v_upi : 1;     /* user provided interlocking (allows multiple */
 I4    X   5030 /*  writers to seq. files)                                                  */
 I4    X   5031             unsigned fab$v_nql : 1;     /* no query locking (file level)    */
 I4    X   5032             } fab$r_shr_bits;
 I4    X   5033         } fab$r_shr_overlay;
 I4    X   5034     unsigned int fab$l_ctx;             /* user context                     */
 I4    X   5035 /*-----*****                                                                */
 I4    X   5036     char fab$b_rtv;                     /* retrieval window size            */
 I4    X   5037     __union  {
 I4    X   5038         unsigned char fab$b_org;        /* file organization                */
 I4    X   5039         __struct  {
 I4    X   5040             unsigned fabdef$$_fill_5 : 4;
 I4    X   5041             unsigned fab$v_org : 4;
 I4    X   5042             } fab$r_org_bits;
 I4    X   5043         } fab$r_org_overlay;
 I4    X   5044     __union  {
 I4    X   5045         unsigned char fab$b_rat;        /* record format                    */
 I4    X   5046         __struct  {
 I4    X   5047             unsigned fab$v_ftn : 1;     /* fortran carriage-ctl             */
 I4    X   5048             unsigned fab$v_cr : 1;      /* lf-record-cr carriage ctl        */
 I4    X   5049             unsigned fab$v_prn : 1;     /* print-file carriage ctl          */
 I4    X   5050             unsigned fab$v_blk : 1;     /* records don't cross block boundaries */
 I4    X   5051             unsigned fab$v_msb : 1;     /* MSB formatted byte count         */
 I4    X   5052             unsigned fab$v_fill_0_ : 3;
 I4    X   5053             } fab$r_rat_bits;
 I4    X   5054         unsigned char fab$b_special_type; /* type of special file           */
 I4    X   5055         } fab$r_rat_overlay;
 I4    X   5056     unsigned char fab$b_rfm;            /* record format                    */
 I4    X   5057     __union  {
 I4    X   5058         unsigned int fab$l_jnl;
 I4    X   5059         __struct  {
 I4    X   5060             __union  {
 I4    X   5061                 unsigned char fab$b_journal; /* journaling options (from FH2$B_JOURNAL) */
 I4    X   5062                 __struct  {             /* note: only one of RU, ONLY_RU, NEVER_RU */
 I4    X   5063 /* may be set at a time                                                     */
 I4    X   5064                     unsigned fab$v_only_ru : 1; /* file is accessible only in recovery unit */
 I4    X   5065                     unsigned fab$v_ru : 1; /* enable recovery unit journal  */
 I4    X   5066                     unsigned fab$v_bi : 1; /* enable before image journal   */
 I4    X   5067                     unsigned fab$v_ai : 1; /* enable after image journal    */
 I4    X   5068                     unsigned fab$v_at : 1; /* enable audit trail journal    */
 I4    X   5069                     unsigned fab$v_never_ru : 1; /* file is never accessible in recovery unit */
 I4    X   5070                     unsigned fab$v_journal_file : 1; /* this is a journal file */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 91
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4    X   5071                     unsigned fab$v_fill_1_ : 1;
 I4    X   5072                     } fab$r_journal_bits;
 I4    X   5073                 } fab$r_journal_overlay;
 I4    X   5074             unsigned char fab$b_ru_facility; /* recoverable facility id number */
 I4    X   5075             __union  {
 I4    X   5076                 unsigned short int fab$w_fopext; /* FOP extension           */
 I4    X   5077                 __struct  {
 I4    X   5078                     unsigned fab$v_ssio_rqst : 1; /* SSIO access request    */
 I4    X   5079                     unsigned fab$v_ssio_granted : 1; /* SSIO access granted */
 I4    X   5080                     unsigned fab$v_ssio_foc : 1; /* SSIO flush-on-close     */
 I4    X   5081                     unsigned fabdef$$_reserved_bits_mbz : 13; /* MBZ - reserved to HP for future use */
 I4    X   5082                     } fab$r_fopext_bits;
 I4    X   5083                 } fab$r_fopext_overlay;
 I4    X   5084             } fab$r_jnl_real_stuff;
 I4    X   5085         } fab$r_jnl_overlay;
 I4    X   5086     void *fab$l_xab;                    /* xab address                      */
 I4    X   5087     __union  {
 I4    X   5088         struct _namdef *fab$l_nam;      /* nam block address ~~~ struct namdef ~~~ */
 I4    X   5089         struct _namldef *fab$l_naml;    /* naml block address ~~~ struct namldef ~~~ */
 I4    X   5090         } fab$r_nam_overlay;
 I4    X   5091     char *fab$l_fna;                    /* file name string address         */
 I4    X   5092     char *fab$l_dna;                    /* default file name string addr    */
 I4    X   5093     unsigned char fab$b_fns;            /* file name string size            */
 I4    X   5094     unsigned char fab$b_dns;            /* default name string size         */
 I4    X   5095     unsigned short int fab$w_mrs;       /* maximum record size              */
 I4    X   5096     int fab$l_mrn;                      /* maximum record number            */
 I4    X   5097     unsigned short int fab$w_bls;       /* blocksize for tape               */
 I4    X   5098     unsigned char fab$b_bks;            /* bucket size                      */
 I4    X   5099     unsigned char fab$b_fsz;            /* fixed header size                */
 I4    X   5100     unsigned int fab$l_dev;             /* device characteristics           */
 I4    X   5101     unsigned int fab$l_sdc;             /* spooling device characteristics  */
 I4    X   5102     unsigned short int fab$w_gbc;       /* Global buffer count              */
 I4    X   5103     __union  {
 I4    X   5104         unsigned char fab$b_acmodes;    /* agent access modes               */
 I4    X   5105         __struct  {
 I4    X   5106             unsigned fab$v_lnm_mode : 2; /* ACMODE for log nams             */
 I4    X   5107             unsigned fab$v_chan_mode : 2; /* ACMODE for channel             */
 I4    X   5108             unsigned fab$v_file_mode : 2; /* ACMODE to use for determining file accessibility */
 I4    X   5109             unsigned fab$v_callers_mode : 2; /* ACMODE for user structure probing; */
 I4    X   5110 /* maximized with actual mode of caller                                     */
 I4    X   5111             } fab$r_acmodes_bits;
 I4    X   5112         } fab$r_acmodes_overlay;
 I4    X   5113     __union  {                          /* recovery control flags           */
 I4    X   5114         unsigned char fab$b_rcf;        /* (only for use by RMS Recovery)   */
 I4    X   5115         __struct  {
 I4    X   5116             unsigned fab$v_rcf_ru : 1;  /* recovery unit recovery           */
 I4    X   5117             unsigned fab$v_rcf_ai : 1;  /* after image recovery             */
 I4    X   5118             unsigned fab$v_rcf_bi : 1;  /* before image recovery            */
 I4    X   5119             unsigned fab$v_fill_2_ : 5;
 I4    X   5120             } fab$r_rcf_bits;
 I4    X   5121         } fab$r_rcf_overlay;
 I4    X   5122     unsigned short int fab$w_gbc_initial; /* Initial Global Buffer Count declared for file */
 I4    X   5123     unsigned short int fab$w_reserved_mbz; /* MBZ - reserved to HP for future use */
 I4    X   5124     } FABDEF;
 I4    X   5125  
 I4    X   5126 #if !defined(__VAXC)
 I4    X   5127 #define fab$w_ifi fab$r_ifi_overlay.fab$w_ifi

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 92
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4    X   5128 #define fab$r_ifi_bits	fab$r_ifi_overlay.fab$r_ifi_bits
 I4    X   5129 #define fab$v_ppf_rat fab$r_ifi_bits.fab$v_ppf_rat
 I4    X   5130 #define fab$v_ppf_ind fab$r_ifi_bits.fab$v_ppf_ind
 I4    X   5131 #define fab$v_ppifi fab$r_ifi_bits.fab$v_ppifi
 I4    X   5132 #define fab$l_fop fab$r_fop_overlay.fab$l_fop
 I4    X   5133 #define fab$r_fop_bits	fab$r_fop_overlay.fab$r_fop_bits
 I4    X   5134 #define fab$v_asy fab$r_fop_bits.fab$v_asy
 I4    X   5135 #define fab$v_mxv fab$r_fop_bits.fab$v_mxv
 I4    X   5136 #define fab$v_sup fab$r_fop_bits.fab$v_sup
 I4    X   5137 #define fab$v_tmp fab$r_fop_bits.fab$v_tmp
 I4    X   5138 #define fab$v_tmd fab$r_fop_bits.fab$v_tmd
 I4    X   5139 #define fab$v_dfw fab$r_fop_bits.fab$v_dfw
 I4    X   5140 #define fab$v_sqo fab$r_fop_bits.fab$v_sqo
 I4    X   5141 #define fab$v_rwo fab$r_fop_bits.fab$v_rwo
 I4    X   5142 #define fab$v_pos fab$r_fop_bits.fab$v_pos
 I4    X   5143 #define fab$v_wck fab$r_fop_bits.fab$v_wck
 I4    X   5144 #define fab$v_nef fab$r_fop_bits.fab$v_nef
 I4    X   5145 #define fab$v_rwc fab$r_fop_bits.fab$v_rwc
 I4    X   5146 #define fab$v_dmo fab$r_fop_bits.fab$v_dmo
 I4    X   5147 #define fab$v_spl fab$r_fop_bits.fab$v_spl
 I4    X   5148 #define fab$v_scf fab$r_fop_bits.fab$v_scf
 I4    X   5149 #define fab$v_dlt fab$r_fop_bits.fab$v_dlt
 I4    X   5150 #define fab$v_nfs fab$r_fop_bits.fab$v_nfs
 I4    X   5151 #define fab$v_ufo fab$r_fop_bits.fab$v_ufo
 I4    X   5152 #define fab$v_ppf fab$r_fop_bits.fab$v_ppf
 I4    X   5153 #define fab$v_inp fab$r_fop_bits.fab$v_inp
 I4    X   5154 #define fab$v_ctg fab$r_fop_bits.fab$v_ctg
 I4    X   5155 #define fab$v_cbt fab$r_fop_bits.fab$v_cbt
 I4    X   5156 #define fab$v_syncsts fab$r_fop_bits.fab$v_syncsts
 I4    X   5157 #define fab$v_rck fab$r_fop_bits.fab$v_rck
 I4    X   5158 #define fab$v_nam fab$r_fop_bits.fab$v_nam
 I4    X   5159 #define fab$v_cif fab$r_fop_bits.fab$v_cif
 I4    X   5160 #define fab$v_esc fab$r_fop_bits.fab$v_esc
 I4    X   5161 #define fab$v_tef fab$r_fop_bits.fab$v_tef
 I4    X   5162 #define fab$v_ofp fab$r_fop_bits.fab$v_ofp
 I4    X   5163 #define fab$v_kfo fab$r_fop_bits.fab$v_kfo
 I4    X   5164 #define fab$v_extend_fop fab$r_fop_bits.fab$v_extend_fop
 I4    X   5165 #define fab$r_fop_bits_overlay	fab$r_fop_overlay.fab$r_fop_bits_overlay
 I4    X   5166 #define fab$v_erl fab$r_fop_bits_overlay.fab$v_erl
 I4    X   5167 #define fab$b_fac fab$r_fac_overlay.fab$b_fac
 I4    X   5168 #define fab$r_fac_bits	fab$r_fac_overlay.fab$r_fac_bits
 I4    X   5169 #define fab$v_put fab$r_fac_bits.fab$v_put
 I4    X   5170 #define fab$v_get fab$r_fac_bits.fab$v_get
 I4    X   5171 #define fab$v_del fab$r_fac_bits.fab$v_del
 I4    X   5172 #define fab$v_upd fab$r_fac_bits.fab$v_upd
 I4    X   5173 #define fab$v_trn fab$r_fac_bits.fab$v_trn
 I4    X   5174 #define fab$v_bio fab$r_fac_bits.fab$v_bio
 I4    X   5175 #define fab$v_bro fab$r_fac_bits.fab$v_bro
 I4    X   5176 #define fab$v_exe fab$r_fac_bits.fab$v_exe
 I4    X   5177 #define fab$b_shr fab$r_shr_overlay.fab$b_shr
 I4    X   5178 #define fab$r_shr_bits	fab$r_shr_overlay.fab$r_shr_bits
 I4    X   5179 #define fab$v_shrput fab$r_shr_bits.fab$v_shrput
 I4    X   5180 #define fab$v_shrget fab$r_shr_bits.fab$v_shrget
 I4    X   5181 #define fab$v_shrdel fab$r_shr_bits.fab$v_shrdel
 I4    X   5182 #define fab$v_shrupd fab$r_shr_bits.fab$v_shrupd
 I4    X   5183 #define fab$v_mse fab$r_shr_bits.fab$v_mse
 I4    X   5184 #define fab$v_nil fab$r_shr_bits.fab$v_nil

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 93
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4    X   5185 #define fab$v_upi fab$r_shr_bits.fab$v_upi
 I4    X   5186 #define fab$v_nql fab$r_shr_bits.fab$v_nql
 I4    X   5187 #define fab$b_org fab$r_org_overlay.fab$b_org
 I4    X   5188 #define fab$r_org_bits	fab$r_org_overlay.fab$r_org_bits
 I4    X   5189 #define fab$v_org fab$r_org_bits.fab$v_org
 I4    X   5190 #define fab$b_rat fab$r_rat_overlay.fab$b_rat
 I4    X   5191 #define fab$r_rat_bits	fab$r_rat_overlay.fab$r_rat_bits
 I4    X   5192 #define fab$v_ftn fab$r_rat_bits.fab$v_ftn
 I4    X   5193 #define fab$v_cr fab$r_rat_bits.fab$v_cr
 I4    X   5194 #define fab$v_prn fab$r_rat_bits.fab$v_prn
 I4    X   5195 #define fab$v_blk fab$r_rat_bits.fab$v_blk
 I4    X   5196 #define fab$v_msb fab$r_rat_bits.fab$v_msb
 I4    X   5197 #define fab$b_special_type fab$r_rat_overlay.fab$b_special_type
 I4    X   5198 #define fab$l_jnl fab$r_jnl_overlay.fab$l_jnl
 I4    X   5199 #define fab$r_jnl_real_stuff	fab$r_jnl_overlay.fab$r_jnl_real_stuff
 I4    X   5200 #define fab$r_journal_overlay	fab$r_jnl_real_stuff.fab$r_journal_overlay
 I4    X   5201 #define fab$b_journal fab$r_journal_overlay.fab$b_journal
 I4    X   5202 #define fab$r_journal_bits	fab$r_journal_overlay.fab$r_journal_bits
 I4    X   5203 #define fab$v_only_ru fab$r_journal_bits.fab$v_only_ru
 I4    X   5204 #define fab$v_ru fab$r_journal_bits.fab$v_ru
 I4    X   5205 #define fab$v_bi fab$r_journal_bits.fab$v_bi
 I4    X   5206 #define fab$v_ai fab$r_journal_bits.fab$v_ai
 I4    X   5207 #define fab$v_at fab$r_journal_bits.fab$v_at
 I4    X   5208 #define fab$v_never_ru fab$r_journal_bits.fab$v_never_ru
 I4    X   5209 #define fab$v_journal_file fab$r_journal_bits.fab$v_journal_file
 I4    X   5210 #define fab$b_ru_facility fab$r_jnl_real_stuff.fab$b_ru_facility
 I4    X   5211 #define fab$r_fopext_overlay	fab$r_jnl_real_stuff.fab$r_fopext_overlay
 I4    X   5212 #define fab$w_fopext fab$r_fopext_overlay.fab$w_fopext
 I4    X   5213 #define fab$r_fopext_bits	fab$r_fopext_overlay.fab$r_fopext_bits
 I4    X   5214 #define fab$v_ssio_rqst fab$r_fopext_bits.fab$v_ssio_rqst
 I4    X   5215 #define fab$v_ssio_granted fab$r_fopext_bits.fab$v_ssio_granted
 I4    X   5216 #define fab$v_ssio_foc fab$r_fopext_bits.fab$v_ssio_foc
 I4    X   5217 #define fab$l_nam fab$r_nam_overlay.fab$l_nam
 I4    X   5218 #define fab$l_naml fab$r_nam_overlay.fab$l_naml
 I4    X   5219 #define fab$b_acmodes fab$r_acmodes_overlay.fab$b_acmodes
 I4    X   5220 #define fab$r_acmodes_bits	fab$r_acmodes_overlay.fab$r_acmodes_bits
 I4    X   5221 #define fab$v_lnm_mode fab$r_acmodes_bits.fab$v_lnm_mode
 I4    X   5222 #define fab$v_chan_mode fab$r_acmodes_bits.fab$v_chan_mode
 I4    X   5223 #define fab$v_file_mode fab$r_acmodes_bits.fab$v_file_mode
 I4    X   5224 #define fab$v_callers_mode fab$r_acmodes_bits.fab$v_callers_mode
 I4    X   5225 #define fab$b_rcf fab$r_rcf_overlay.fab$b_rcf
 I4    X   5226 #define fab$r_rcf_bits	fab$r_rcf_overlay.fab$r_rcf_bits
 I4    X   5227 #define fab$v_rcf_ru fab$r_rcf_bits.fab$v_rcf_ru
 I4    X   5228 #define fab$v_rcf_ai fab$r_rcf_bits.fab$v_rcf_ai
 I4    X   5229 #define fab$v_rcf_bi fab$r_rcf_bits.fab$v_rcf_bi
 I4    X   5230 #endif		/* #if !defined(__VAXC) */
 I4    X   5231  
 I4    X   5232 #else	    /* __OLD_STARLET */
 I4	   5233 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   5234 #pragma __nomember_alignment __longword
 I4    X   5235 #else
 I4    X   5236 #pragma __nomember_alignment
 I4    X   5237 #endif
 I4	   5238 struct fabdef {
 I4	   5239 #pragma __nomember_alignment
 I4	   5240     unsigned char fab$b_bid;            /* block id                         */
 I4	   5241     unsigned char fab$b_bln;            /* block len                        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 94
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5242     __union  {
       E	     union
 I4	   5243         unsigned short int fab$w_ifi;   /* internal file index              */
 I4	   5244         __struct  {
       E	         struct
 I4	   5245             unsigned fabdef$$_fill_1 : 6; /* move to bit 6                  */
 I4	   5246             unsigned fab$v_ppf_rat : 8; /* rat value for process-permanent files */
 I4	   5247             unsigned fab$v_ppf_ind : 1; /* indirect access to process-permanent file */
 I4	   5248 /* (i.e., restricted operations)                                            */
 I4	   5249             unsigned fab$v_ppifi : 1;   /* indicates that this is PPF file  */
 I4	   5250             } fab$r_ifi_bits;
 I4	   5251         } fab$r_ifi_overlay;
 I4	   5252     __union  {
       E	     union
 I4	   5253         unsigned int fab$l_fop;         /* file options                     */
 I4	   5254         __struct  {
       E	         struct
 I4	   5255             unsigned fab$v_asy : 1;     /* asynchronous operations          */
 I4	   5256             unsigned fab$v_mxv : 1;     /* maximize version number          */
 I4	   5257             unsigned fab$v_sup : 1;     /* supersede existing file          */
 I4	   5258             unsigned fab$v_tmp : 1;     /* create temporary file            */
 I4	   5259             unsigned fab$v_tmd : 1;     /* create temp file marked for delete */
 I4	   5260             unsigned fab$v_dfw : 1;     /* deferred write (rel and idx)     */
 I4	   5261             unsigned fab$v_sqo : 1;     /* sequential access only           */
 I4	   5262             unsigned fab$v_rwo : 1;     /* rewind mt on open                */
 I4	   5263             unsigned fab$v_pos : 1;     /* use next magtape position        */
 I4	   5264             unsigned fab$v_wck : 1;     /* write checking                   */
 I4	   5265             unsigned fab$v_nef : 1;     /* inhibit end of file positioning  */
 I4	   5266             unsigned fab$v_rwc : 1;     /* rewind mt on close               */
 I4	   5267             unsigned fab$v_dmo : 1;     /* dismount mt on close (not implemented) */
 I4	   5268             unsigned fab$v_spl : 1;     /* spool file on close              */
 I4	   5269             unsigned fab$v_scf : 1;     /* submit command file on close     */
 I4	   5270             unsigned fab$v_dlt : 1;     /* delete sub-option                */
 I4	   5271             unsigned fab$v_nfs : 1;     /* non-file structured operation    */
 I4	   5272             unsigned fab$v_ufo : 1;     /* user file open - no rms operations */
 I4	   5273             unsigned fab$v_ppf : 1;     /* process permanent file (pio segment) */
 I4	   5274             unsigned fab$v_inp : 1;     /* process-permanent file is 'input' */
 I4	   5275             unsigned fab$v_ctg : 1;     /* contiguous extension             */
 I4	   5276             unsigned fab$v_cbt : 1;     /* contiguous best try              */
 I4	   5277             unsigned fab$v_syncsts : 1; /* Synchronous status notification for asynchronous routines. */
 I4	   5278             unsigned fab$v_rck : 1;     /* read checking                    */
 I4	   5279             unsigned fab$v_nam : 1;     /* use name block dvi, did, and/or fid fields for open */
 I4	   5280             unsigned fab$v_cif : 1;     /* create if non-existent           */
 I4	   5281             unsigned fabdef$$_fill_3 : 1; /* reserved (was UFM bitfield)    */
 I4	   5282             unsigned fab$v_esc : 1;     /* 'escape' to non-standard function ($modify) */
 I4	   5283             unsigned fab$v_tef : 1;     /* truncate at eof on close (write-accessed seq. disk file only) */
 I4	   5284             unsigned fab$v_ofp : 1;     /* output file parse (only name type sticky) */
 I4	   5285             unsigned fab$v_kfo : 1;     /* known file open (image activator only release 1) */
 I4	   5286             unsigned fab$v_extend_fop : 1; /* extend FOP                    */
 I4	   5287             } fab$r_fop_bits;
 I4	   5288         __struct  {
       E	         struct
 I4	   5289             unsigned fabdef$$_fill_10 : 15; /* move to bit 16               */
 I4	   5290             unsigned fab$v_erl : 1;     /* Erase Regardless of Lock         */
 I4	   5291             unsigned fabdef$$_fill_11 : 16; /* Fill for remaining bits      */
 I4	   5292             } fab$r_fop_bits_overlay;
 I4	   5293         } fab$r_fop_overlay;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 95
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5294     unsigned int fab$l_sts;             /* status                           */
 I4	   5295     unsigned int fab$l_stv;             /* status value                     */
 I4	   5296     unsigned int fab$l_alq;             /* allocation quantity              */
 I4	   5297     unsigned short int fab$w_deq;       /* default allocation quantity      */
 I4	   5298     __union  {
       E	     union
 I4	   5299         unsigned char fab$b_fac;        /* file access                      */
 I4	   5300         __struct  {
       E	         struct
 I4	   5301             unsigned fab$v_put : 1;     /* put access                       */
 I4	   5302             unsigned fab$v_get : 1;     /* get access                       */
 I4	   5303             unsigned fab$v_del : 1;     /* delete access                    */
 I4	   5304             unsigned fab$v_upd : 1;     /* update access                    */
 I4	   5305             unsigned fab$v_trn : 1;     /* truncate access                  */
 I4	   5306             unsigned fab$v_bio : 1;     /* block i/o access                 */
 I4	   5307             unsigned fab$v_bro : 1;     /* block and record i/o access      */
 I4	   5308             unsigned fab$v_exe : 1;     /* execute access (caller must be exec or kernel mode, */
 I4	   5309 /*  ufo must also be set)                                                   */
 I4	   5310             } fab$r_fac_bits;
 I4	   5311         } fab$r_fac_overlay;
 I4	   5312     __union  {
       E	     union
 I4	   5313         unsigned char fab$b_shr;        /* file sharing                     */
 I4	   5314         __struct  {
       E	         struct
 I4	   5315             unsigned fab$v_shrput : 1;  /* put access                       */
 I4	   5316             unsigned fab$v_shrget : 1;  /* get access                       */
 I4	   5317             unsigned fab$v_shrdel : 1;  /* delete access                    */
 I4	   5318             unsigned fab$v_shrupd : 1;  /* update access                    */
 I4	   5319             unsigned fab$v_mse : 1;     /* multi-stream connects enabled    */
 I4	   5320             unsigned fab$v_nil : 1;     /* no sharing                       */
 I4	   5321             unsigned fab$v_upi : 1;     /* user provided interlocking (allows multiple */
 I4	   5322 /*  writers to seq. files)                                                  */
 I4	   5323             unsigned fab$v_nql : 1;     /* no query locking (file level)    */
 I4	   5324             } fab$r_shr_bits;
 I4	   5325         } fab$r_shr_overlay;
 I4	   5326     unsigned int fab$l_ctx;             /* user context                     */
 I4	   5327 /*-----*****                                                                */
 I4	   5328     char fab$b_rtv;                     /* retrieval window size            */
 I4	   5329     __union  {
       E	     union
 I4	   5330         unsigned char fab$b_org;        /* file organization                */
 I4	   5331         __struct  {
       E	         struct
 I4	   5332             unsigned fabdef$$_fill_5 : 4;
 I4	   5333             unsigned fab$v_org : 4;
 I4	   5334             } fab$r_org_bits;
 I4	   5335         } fab$r_org_overlay;
 I4	   5336     __union  {
       E	     union
 I4	   5337         unsigned char fab$b_rat;        /* record format                    */
 I4	   5338         __struct  {
       E	         struct
 I4	   5339             unsigned fab$v_ftn : 1;     /* fortran carriage-ctl             */
 I4	   5340             unsigned fab$v_cr : 1;      /* lf-record-cr carriage ctl        */
 I4	   5341             unsigned fab$v_prn : 1;     /* print-file carriage ctl          */
 I4	   5342             unsigned fab$v_blk : 1;     /* records don't cross block boundaries */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 96
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5343             unsigned fab$v_msb : 1;     /* MSB formatted byte count         */
 I4	   5344             unsigned fab$v_fill_0_ : 3;
 I4	   5345             } fab$r_rat_bits;
 I4	   5346         unsigned char fab$b_special_type; /* type of special file           */
 I4	   5347         } fab$r_rat_overlay;
 I4	   5348     unsigned char fab$b_rfm;            /* record format                    */
 I4	   5349     __union  {
       E	     union
 I4	   5350         unsigned int fab$l_jnl;
 I4	   5351         __struct  {
       E	         struct
 I4	   5352             __union  {
       E	             union
 I4	   5353                 unsigned char fab$b_journal; /* journaling options (from FH2$B_JOURNAL) */
 I4	   5354                 __struct  {             /* note: only one of RU, ONLY_RU, NEVER_RU */
       E	                 struct
 I4	   5355 /* may be set at a time                                                     */
 I4	   5356                     unsigned fab$v_only_ru : 1; /* file is accessible only in recovery unit */
 I4	   5357                     unsigned fab$v_ru : 1; /* enable recovery unit journal  */
 I4	   5358                     unsigned fab$v_bi : 1; /* enable before image journal   */
 I4	   5359                     unsigned fab$v_ai : 1; /* enable after image journal    */
 I4	   5360                     unsigned fab$v_at : 1; /* enable audit trail journal    */
 I4	   5361                     unsigned fab$v_never_ru : 1; /* file is never accessible in recovery unit */
 I4	   5362                     unsigned fab$v_journal_file : 1; /* this is a journal file */
 I4	   5363                     unsigned fab$v_fill_1_ : 1;
 I4	   5364                     } fab$r_journal_bits;
 I4	   5365                 } fab$r_journal_overlay;
 I4	   5366             unsigned char fab$b_ru_facility; /* recoverable facility id number */
 I4	   5367             __union  {
       E	             union
 I4	   5368                 unsigned short int fab$w_fopext; /* FOP extension           */
 I4	   5369                 __struct  {
       E	                 struct
 I4	   5370                     unsigned fab$v_ssio_rqst : 1; /* SSIO access request    */
 I4	   5371                     unsigned fab$v_ssio_granted : 1; /* SSIO access granted */
 I4	   5372                     unsigned fab$v_ssio_foc : 1; /* SSIO flush-on-close     */
 I4	   5373                     unsigned fabdef$$_reserved_bits_mbz : 13; /* MBZ - reserved to HP for future use */
 I4	   5374                     } fab$r_fopext_bits;
 I4	   5375                 } fab$r_fopext_overlay;
 I4	   5376             } fab$r_jnl_real_stuff;
 I4	   5377         } fab$r_jnl_overlay;
 I4	   5378     void *fab$l_xab;                    /* xab address                      */
 I4	   5379     __union  {
       E	     union
 I4	   5380          struct namdef  *fab$l_nam;                /* nam block address  */
 I4	   5381          struct namldef  *fab$l_naml;               /* naml block address  */
 I4	   5382         } fab$r_nam_overlay;
 I4	   5383     char *fab$l_fna;                    /* file name string address         */
 I4	   5384     char *fab$l_dna;                    /* default file name string addr    */
 I4	   5385     unsigned char fab$b_fns;            /* file name string size            */
 I4	   5386     unsigned char fab$b_dns;            /* default name string size         */
 I4	   5387     unsigned short int fab$w_mrs;       /* maximum record size              */
 I4	   5388     int fab$l_mrn;                      /* maximum record number            */
 I4	   5389     unsigned short int fab$w_bls;       /* blocksize for tape               */
 I4	   5390     unsigned char fab$b_bks;            /* bucket size                      */
 I4	   5391     unsigned char fab$b_fsz;            /* fixed header size                */
 I4	   5392     unsigned int fab$l_dev;             /* device characteristics           */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 97
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5393     unsigned int fab$l_sdc;             /* spooling device characteristics  */
 I4	   5394     unsigned short int fab$w_gbc;       /* Global buffer count              */
 I4	   5395     __union  {
       E	     union
 I4	   5396         unsigned char fab$b_acmodes;    /* agent access modes               */
 I4	   5397         __struct  {
       E	         struct
 I4	   5398             unsigned fab$v_lnm_mode : 2; /* ACMODE for log nams             */
 I4	   5399             unsigned fab$v_chan_mode : 2; /* ACMODE for channel             */
 I4	   5400             unsigned fab$v_file_mode : 2; /* ACMODE to use for determining file accessibility */
 I4	   5401             unsigned fab$v_callers_mode : 2; /* ACMODE for user structure probing; */
 I4	   5402 /* maximized with actual mode of caller                                     */
 I4	   5403             } fab$r_acmodes_bits;
 I4	   5404         } fab$r_acmodes_overlay;
 I4	   5405     __union  {                          /* recovery control flags           */
       E	     union
 I4	   5406         unsigned char fab$b_rcf;        /* (only for use by RMS Recovery)   */
 I4	   5407         __struct  {
       E	         struct
 I4	   5408             unsigned fab$v_rcf_ru : 1;  /* recovery unit recovery           */
 I4	   5409             unsigned fab$v_rcf_ai : 1;  /* after image recovery             */
 I4	   5410             unsigned fab$v_rcf_bi : 1;  /* before image recovery            */
 I4	   5411             unsigned fab$v_fill_2_ : 5;
 I4	   5412             } fab$r_rcf_bits;
 I4	   5413         } fab$r_rcf_overlay;
 I4	   5414     unsigned short int fab$w_gbc_initial; /* Initial Global Buffer Count declared for file */
 I4	   5415     unsigned short int fab$w_reserved_mbz; /* MBZ - reserved to HP for future use */
 I4	   5416     } ;
 I4	   5417  
 I4	   5418 #if !defined(__VAXC)
 I4	   5419 #define fab$w_ifi fab$r_ifi_overlay.fab$w_ifi
 I4	   5420 #define fab$v_ppf_rat fab$r_ifi_overlay.fab$r_ifi_bits.fab$v_ppf_rat
 I4	   5421 #define fab$v_ppf_ind fab$r_ifi_overlay.fab$r_ifi_bits.fab$v_ppf_ind
 I4	   5422 #define fab$v_ppifi fab$r_ifi_overlay.fab$r_ifi_bits.fab$v_ppifi
 I4	   5423 #define fab$l_fop fab$r_fop_overlay.fab$l_fop
 I4	   5424 #define fab$v_asy fab$r_fop_overlay.fab$r_fop_bits.fab$v_asy
 I4	   5425 #define fab$v_mxv fab$r_fop_overlay.fab$r_fop_bits.fab$v_mxv
 I4	   5426 #define fab$v_sup fab$r_fop_overlay.fab$r_fop_bits.fab$v_sup
 I4	   5427 #define fab$v_tmp fab$r_fop_overlay.fab$r_fop_bits.fab$v_tmp
 I4	   5428 #define fab$v_tmd fab$r_fop_overlay.fab$r_fop_bits.fab$v_tmd
 I4	   5429 #define fab$v_dfw fab$r_fop_overlay.fab$r_fop_bits.fab$v_dfw
 I4	   5430 #define fab$v_sqo fab$r_fop_overlay.fab$r_fop_bits.fab$v_sqo
 I4	   5431 #define fab$v_rwo fab$r_fop_overlay.fab$r_fop_bits.fab$v_rwo
 I4	   5432 #define fab$v_pos fab$r_fop_overlay.fab$r_fop_bits.fab$v_pos
 I4	   5433 #define fab$v_wck fab$r_fop_overlay.fab$r_fop_bits.fab$v_wck
 I4	   5434 #define fab$v_nef fab$r_fop_overlay.fab$r_fop_bits.fab$v_nef
 I4	   5435 #define fab$v_rwc fab$r_fop_overlay.fab$r_fop_bits.fab$v_rwc
 I4	   5436 #define fab$v_dmo fab$r_fop_overlay.fab$r_fop_bits.fab$v_dmo
 I4	   5437 #define fab$v_spl fab$r_fop_overlay.fab$r_fop_bits.fab$v_spl
 I4	   5438 #define fab$v_scf fab$r_fop_overlay.fab$r_fop_bits.fab$v_scf
 I4	   5439 #define fab$v_dlt fab$r_fop_overlay.fab$r_fop_bits.fab$v_dlt
 I4	   5440 #define fab$v_nfs fab$r_fop_overlay.fab$r_fop_bits.fab$v_nfs
 I4	   5441 #define fab$v_ufo fab$r_fop_overlay.fab$r_fop_bits.fab$v_ufo
 I4	   5442 #define fab$v_ppf fab$r_fop_overlay.fab$r_fop_bits.fab$v_ppf
 I4	   5443 #define fab$v_inp fab$r_fop_overlay.fab$r_fop_bits.fab$v_inp
 I4	   5444 #define fab$v_ctg fab$r_fop_overlay.fab$r_fop_bits.fab$v_ctg
 I4	   5445 #define fab$v_cbt fab$r_fop_overlay.fab$r_fop_bits.fab$v_cbt

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 98
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5446 #define fab$v_syncsts fab$r_fop_overlay.fab$r_fop_bits.fab$v_syncsts
 I4	   5447 #define fab$v_rck fab$r_fop_overlay.fab$r_fop_bits.fab$v_rck
 I4	   5448 #define fab$v_nam fab$r_fop_overlay.fab$r_fop_bits.fab$v_nam
 I4	   5449 #define fab$v_cif fab$r_fop_overlay.fab$r_fop_bits.fab$v_cif
 I4	   5450 #define fab$v_esc fab$r_fop_overlay.fab$r_fop_bits.fab$v_esc
 I4	   5451 #define fab$v_tef fab$r_fop_overlay.fab$r_fop_bits.fab$v_tef
 I4	   5452 #define fab$v_ofp fab$r_fop_overlay.fab$r_fop_bits.fab$v_ofp
 I4	   5453 #define fab$v_kfo fab$r_fop_overlay.fab$r_fop_bits.fab$v_kfo
 I4	   5454 #define fab$v_extend_fop fab$r_fop_overlay.fab$r_fop_bits.fab$v_extend_fop
 I4	   5455 #define fab$v_erl fab$r_fop_overlay.fab$r_fop_bits_overlay.fab$v_erl
 I4	   5456 #define fab$b_fac fab$r_fac_overlay.fab$b_fac
 I4	   5457 #define fab$v_put fab$r_fac_overlay.fab$r_fac_bits.fab$v_put
 I4	   5458 #define fab$v_get fab$r_fac_overlay.fab$r_fac_bits.fab$v_get
 I4	   5459 #define fab$v_del fab$r_fac_overlay.fab$r_fac_bits.fab$v_del
 I4	   5460 #define fab$v_upd fab$r_fac_overlay.fab$r_fac_bits.fab$v_upd
 I4	   5461 #define fab$v_trn fab$r_fac_overlay.fab$r_fac_bits.fab$v_trn
 I4	   5462 #define fab$v_bio fab$r_fac_overlay.fab$r_fac_bits.fab$v_bio
 I4	   5463 #define fab$v_bro fab$r_fac_overlay.fab$r_fac_bits.fab$v_bro
 I4	   5464 #define fab$v_exe fab$r_fac_overlay.fab$r_fac_bits.fab$v_exe
 I4	   5465 #define fab$b_shr fab$r_shr_overlay.fab$b_shr
 I4	   5466 #define fab$v_shrput fab$r_shr_overlay.fab$r_shr_bits.fab$v_shrput
 I4	   5467 #define fab$v_shrget fab$r_shr_overlay.fab$r_shr_bits.fab$v_shrget
 I4	   5468 #define fab$v_shrdel fab$r_shr_overlay.fab$r_shr_bits.fab$v_shrdel
 I4	   5469 #define fab$v_shrupd fab$r_shr_overlay.fab$r_shr_bits.fab$v_shrupd
 I4	   5470 #define fab$v_mse fab$r_shr_overlay.fab$r_shr_bits.fab$v_mse
 I4	   5471 #define fab$v_nil fab$r_shr_overlay.fab$r_shr_bits.fab$v_nil
 I4	   5472 #define fab$v_upi fab$r_shr_overlay.fab$r_shr_bits.fab$v_upi
 I4	   5473 #define fab$v_nql fab$r_shr_overlay.fab$r_shr_bits.fab$v_nql
 I4	   5474 #define fab$b_org fab$r_org_overlay.fab$b_org
 I4	   5475 #define fab$v_org fab$r_org_overlay.fab$r_org_bits.fab$v_org
 I4	   5476 #define fab$b_rat fab$r_rat_overlay.fab$b_rat
 I4	   5477 #define fab$v_ftn fab$r_rat_overlay.fab$r_rat_bits.fab$v_ftn
 I4	   5478 #define fab$v_cr fab$r_rat_overlay.fab$r_rat_bits.fab$v_cr
 I4	   5479 #define fab$v_prn fab$r_rat_overlay.fab$r_rat_bits.fab$v_prn
 I4	   5480 #define fab$v_blk fab$r_rat_overlay.fab$r_rat_bits.fab$v_blk
 I4	   5481 #define fab$v_msb fab$r_rat_overlay.fab$r_rat_bits.fab$v_msb
 I4	   5482 #define fab$b_special_type fab$r_rat_overlay.fab$b_special_type
 I4	   5483 #define fab$l_jnl fab$r_jnl_overlay.fab$l_jnl
 I4	   5484 #define fab$b_journal fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$b_journal
 I4	   5485 #define fab$v_only_ru fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$r_journal_bits.fab$v_only_ru
 I4	   5486 #define fab$v_ru fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$r_journal_bits.fab$v_ru
 I4	   5487 #define fab$v_bi fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$r_journal_bits.fab$v_bi
 I4	   5488 #define fab$v_ai fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$r_journal_bits.fab$v_ai
 I4	   5489 #define fab$v_at fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$r_journal_bits.fab$v_at
 I4	   5490 #define fab$v_never_ru fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$r_journal_bits.fab$v_never_r
 I4	   5490 u
 I4	   5491 #define fab$v_journal_file fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_journal_overlay.fab$r_journal_bits.fab$v_jou
 I4	   5491 rnal_file
 I4	   5492 #define fab$b_ru_facility fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$b_ru_facility
 I4	   5493 #define fab$w_fopext fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_fopext_overlay.fab$w_fopext
 I4	   5494 #define fab$v_ssio_rqst fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_fopext_overlay.fab$r_fopext_bits.fab$v_ssio_rqs
 I4	   5494 t
 I4	   5495 #define fab$v_ssio_granted fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_fopext_overlay.fab$r_fopext_bits.fab$v_ssio_
 I4	   5495 granted
 I4	   5496 #define fab$v_ssio_foc fab$r_jnl_overlay.fab$r_jnl_real_stuff.fab$r_fopext_overlay.fab$r_fopext_bits.fab$v_ssio_foc
 I4	   5497 #define fab$l_nam fab$r_nam_overlay.fab$l_nam
 I4	   5498 #define fab$l_naml fab$r_nam_overlay.fab$l_naml

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 99
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5499 #define fab$b_acmodes fab$r_acmodes_overlay.fab$b_acmodes
 I4	   5500 #define fab$v_lnm_mode fab$r_acmodes_overlay.fab$r_acmodes_bits.fab$v_lnm_mode
 I4	   5501 #define fab$v_chan_mode fab$r_acmodes_overlay.fab$r_acmodes_bits.fab$v_chan_mode
 I4	   5502 #define fab$v_file_mode fab$r_acmodes_overlay.fab$r_acmodes_bits.fab$v_file_mode
 I4	   5503 #define fab$v_callers_mode fab$r_acmodes_overlay.fab$r_acmodes_bits.fab$v_callers_mode
 I4	   5504 #define fab$b_rcf fab$r_rcf_overlay.fab$b_rcf
 I4	   5505 #define fab$v_rcf_ru fab$r_rcf_overlay.fab$r_rcf_bits.fab$v_rcf_ru
 I4	   5506 #define fab$v_rcf_ai fab$r_rcf_overlay.fab$r_rcf_bits.fab$v_rcf_ai
 I4	   5507 #define fab$v_rcf_bi fab$r_rcf_overlay.fab$r_rcf_bits.fab$v_rcf_bi
 I4	   5508 #endif		/* #if !defined(__VAXC) */
 I4	   5509  
 I4	   5510 #endif	    /* #ifdef __NEW_STARLET */
 I4	   5511 /* basealign on aggregate FABDEF operates after aggregate end               */
 I4	   5512 #define FAB$K_BLN 80                    /* length of fab                    */
 I4	   5513 #define FAB$C_BLN 80                    /* length of fab                    */
 I4	   5514 	
 I4	   5515 /* These are traditional macros that should be hand-maintained for compatibility */
 I4	   5516 /* Do not have to add new ones, but do have to maintain those that are here already. */
 I4	   5517 #define FAB$V_PPF_RAT	6		/* rat value for process-permanent files */
 I4	   5518 #define FAB$S_PPF_RAT	8
 I4	   5519 #define FAB$V_PPF_IND	14		/* indirect access to process-permanent file */
 I4	   5520 #define FAB$V_ASY	0		/* asynchronous operations */
 I4	   5521 #define FAB$V_MXV	1		/* maximize version number */
 I4	   5522 #define FAB$V_SUP	2		/* supersede existing file */
 I4	   5523 #define FAB$V_TMP	3		/* create temporary file */
 I4	   5524 #define FAB$V_TMD	4		/* temporary file marked for delete */
 I4	   5525 #define FAB$V_DFW	5		/* deferred write (rel and idx) */
 I4	   5526 #define FAB$V_SQO	6		/* sequential access only */
 I4	   5527 #define FAB$V_RWO	7		/* rewind magnetic tape on open */
 I4	   5528 #define FAB$V_POS	8		/* use next magnetic tape position */
 I4	   5529 #define FAB$V_WCK	9		/* write checking */
 I4	   5530 #define FAB$V_NEF	10		/* not end of file, inihibit eof positioning */
 I4	   5531 #define FAB$V_RWC	11		/* rewind magnetic tape on close */
 I4	   5532 #define FAB$V_DMO	12		/* dismount mt on close (not implemented) */
 I4	   5533 #define FAB$V_SPL	13		/* spool file on close */
 I4	   5534 #define FAB$V_SCF	14		/* submit command file on close */
 I4	   5535 #define FAB$V_DLT	15		/* delete file */
 I4	   5536 #define FAB$V_NFS	16		/* non-file-structured operation */
 I4	   5537 #define FAB$V_UFO	17		/* user file open - no rms operation */
 I4	   5538 #define FAB$V_PPF	18		/* process permanent file (pio segment) */
 I4	   5539 #define FAB$V_INP	19		/* process permanent file is 'input' */
 I4	   5540 #define FAB$V_CTG	20		/* contiguous extension */
 I4	   5541 #define FAB$V_CBT	21		/* contiguous best try */
 I4	   5542 #define FAB$V_SYNCSTS	22		/* Synchronous status notification for asynchronous routines */
 I4	   5543 #define FAB$V_RCK	23		/* read checking */
 I4	   5544 #define FAB$V_NAM	24		/* use NAM block device, file and/or directory id */
 I4	   5545 #define FAB$V_CIF	25		/* create if non-existent */
 I4	   5546 #define FAB$V_ESC	27		/* 'escape' to non-standard functions ($modify) */
 I4	   5547 #define FAB$V_TEF	28		/* truncate at end-of-file on close (write-accessed seq. disk file only) */
 I4	   5548 #define FAB$V_OFP	29		/* output file parse (only name type sticky) */
 I4	   5549 #define FAB$V_KFO	30		/* known file open (image activator only release 1) */
 I4	   5550 #define FAB$V_PUT	0		/* put access */
 I4	   5551 #define FAB$V_GET	1		/* get access */
 I4	   5552 #define FAB$V_DEL	2		/* delete access */
 I4	   5553 #define FAB$V_UPD	3		/* update access */
 I4	   5554 #define FAB$V_TRN	4		/* truncate access */
 I4	   5555 #define FAB$V_BIO	5		/* block i/o access */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 100
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5556 #define FAB$V_BRO	6		/* block and record i/o access */
 I4	   5557 #define FAB$V_EXE	7		/* execute access (caller must be exec or kernel mode, ufo must also be set)
 I4	   5557  */
 I4	   5558 #define FAB$V_SHRPUT	0		/* put access */
 I4	   5559 #define FAB$V_SHRGET	1		/* get access */
 I4	   5560 #define FAB$V_SHRDEL	2		/* delete access */
 I4	   5561 #define FAB$V_SHRUPD	3		/* update access */
 I4	   5562 #define FAB$V_MSE	4		/* multi-stream connects enabled */
 I4	   5563 #define FAB$V_NIL	5		/* no sharing */
 I4	   5564 #define FAB$V_UPI	6		/* user provided interlocking (allows multiple */
 I4	   5565 #define FAB$V_ORG	4		/* file organization */
 I4	   5566 #define FAB$S_ORG	4
 I4	   5567 #define FAB$V_FTN	0		/* FORTRAN carriage control character */
 I4	   5568 #define FAB$V_CR	1		/* line feed - record -carriage return */
 I4	   5569 #define FAB$V_PRN	2		/* print-file carriage control */
 I4	   5570 #define FAB$V_BLK	3		/* records don't cross block boundaries */
 I4	   5571 #define FAB$V_MSB	4		/* MSB formatted byte count */
 I4	   5572 #define fab$b_dsbmsk	fab$b_acmodes	/* saved for backwards compatibility */
 I4	   5573 #define FAB$S_LNM_MODE	2		/* logical names */
 I4	   5574 #define FAB$V_LNM_MODE	0
 I4	   5575 #define FAB$S_CHAN_MODE	2		/* channel */
 I4	   5576 #define FAB$V_CHAN_MODE	2
 I4	   5577 #define FAB$S_FILE_MODE	2		/* files accessability */
 I4	   5578 #define FAB$V_FILE_MODE	4
 I4	   5579 /* The following defines were scrambled before VAX C V3.1 */
 I4	   5580 #define FAB$V_RU	1		/* (was 0) recovery unit recovery */
 I4	   5581 #define FAB$V_BI	2		/* (was 2) before image recovery */
 I4	   5582 #define FAB$V_AI	3		/* (was 1) after image recovery */
 I4    X   5583 #ifdef __NEW_STARLET
 I4    X   5584 #define FAB _fabdef
 I4    X   5585 #else
 I4	   5586 #define FAB fabdef
 I4	   5587 #endif
 I4	   5588 #define fab$l_jnl_real_stuff fab$r_jnl_real_stuff
 I4	   5589 #define fab$l_jnl_overlay fab$r_jnl_overlay
 I4	   5590 #define cc$rms_fab (*decc$ga_rms_fab)
 I4	   5591 #if defined(__DECC) || defined(__DECCXX)
 I4	   5592 # pragma extern_model __save
 I4	   5593 # pragma extern_model strict_refdef
 I4	   5594    extern struct FAB cc$rms_fab;			/* Declare initialized prototype data structures */
       E	                  fabdef
       E	                      ( * decc$ga_rms_fab )
 I4	   5595 # pragma extern_model __restore
 I4    X   5596 #else
 I4    X   5597    globalref struct FAB cc$rms_fab;			/* Declare initialized prototype data structures */
 I4    X   5598 #endif
 I4	   5599 	
 I4	   5600  
 I4	   5601 #pragma __member_alignment __restore
 I4	   5602 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	   5603 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I4	   5604 #endif
 I4    X   5605 #ifdef __cplusplus
 I4    X   5606     }
 I4    X   5607 #endif
 I4	   5608 #pragma __standard
 I4	   5609  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 101
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(FABDEF)

 I4	   5610 #endif /* __FABDEF_LOADED */
 I4	   5611  
 I3	   5612 # include <rabdef.h>
 I4	   5613 /*******************************************************************************************************************
 I4	   5613 *************/
 I4	   5614 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I4	   5615 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I4	   5616 /*******************************************************************************************************************
 I4	   5616 *************/
 I4	   5617 /*** MODULE $RABDEF ***/
 I4	   5618 #ifndef __RABDEF_LOADED
 I4	   5619 #define __RABDEF_LOADED 1
 I4	   5620  
 I4	   5621 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I4	   5622 #pragma __member_alignment __save
 I4	   5623 #pragma __nomember_alignment
 I4	   5624 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	   5625 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I4	   5626 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I4	   5627 #endif
 I4	   5628  
 I4    X   5629 #ifdef __cplusplus
 I4    X   5630     extern "C" {
 I4    X   5631 #define __unknown_params ...
 I4    X   5632 #define __optional_params ...
 I4    X   5633 #else
 I4	   5634 #define __unknown_params
 I4	   5635 #define __optional_params ...
 I4	   5636 #endif
 I4	   5637  
 I4    X   5638 #ifndef __struct
 I4    X   5639 #if !defined(__VAXC)
 I4    X   5640 #define __struct struct
 I4    X   5641 #else
 I4    X   5642 #define __struct variant_struct
 I4    X   5643 #endif
 I4    X   5644 #endif
 I4	   5645  
 I4    X   5646 #ifndef __union
 I4    X   5647 #if !defined(__VAXC)
 I4    X   5648 #define __union union
 I4    X   5649 #else
 I4    X   5650 #define __union variant_union
 I4    X   5651 #endif
 I4    X   5652 #endif
 I4	   5653  
 I4	   5654 /*                                                                          */
 I4	   5655 /*         record access block (rab) definitions                            */
 I4	   5656 /*                                                                          */
 I4	   5657 /*  there is one rab per connected stream                                   */
 I4	   5658 /*  it is used for all communications between the user                      */
 I4	   5659 /*  and rms concerning operations on the stream                             */
 I4	   5660 /*                                                                          */
 I4	   5661 /*  the fields thru ctx cannot be changed due to commonality                */
 I4	   5662 /*  with the fab                                                            */
 I4	   5663 /*                                                                          */
 I4	   5664 	

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 102
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   5665 #ifdef __NEW_STARLET
 I4    X   5666 struct _fabdef;
 I4    X   5667 #else
 I4	   5668 struct fabdef;
 I4	   5669 #endif
 I4	   5670 #define RAB$C_BID 1                     /* code for rab                     */
 I4	   5671 #define RAB$M_PPF_RAT 0x3FC0
 I4	   5672 #define RAB$M_PPF_IND 0x4000
 I4	   5673 #define RAB$M_PPISI 0x8000
 I4	   5674 #define RAB$M_ASY 0x1
 I4	   5675 #define RAB$M_TPT 0x2
 I4	   5676 #define RAB$M_REA 0x4
 I4	   5677 #define RAB$M_RRL 0x8
 I4	   5678 #define RAB$M_UIF 0x10
 I4	   5679 #define RAB$M_MAS 0x20
 I4	   5680 #define RAB$M_FDL 0x40
 I4	   5681 #define RAB$M_REV 0x80
 I4	   5682 #define RAB$M_EOF 0x100
 I4	   5683 #define RAB$M_RAH 0x200
 I4	   5684 #define RAB$M_WBH 0x400
 I4	   5685 #define RAB$M_BIO 0x800
 I4	   5686 #define RAB$M_CDK 0x1000
 I4	   5687 #define RAB$M_LOA 0x2000
 I4	   5688 #define RAB$M_LIM 0x4000
 I4	   5689 #define RAB$M_SYNCSTS 0x8000
 I4	   5690 #define RAB$M_LOC 0x10000
 I4	   5691 #define RAB$M_WAT 0x20000
 I4	   5692 #define RAB$M_ULK 0x40000
 I4	   5693 #define RAB$M_RLK 0x80000
 I4	   5694 #define RAB$M_NLK 0x100000
 I4	   5695 #define RAB$M_KGE 0x200000
 I4	   5696 #define RAB$M_KGT 0x400000
 I4	   5697 #define RAB$M_NXR 0x800000
 I4	   5698 #define RAB$M_RNE 0x1000000
 I4	   5699 #define RAB$M_TMO 0x2000000
 I4	   5700 #define RAB$M_CVT 0x4000000
 I4	   5701 #define RAB$M_RNF 0x8000000
 I4	   5702 #define RAB$M_ETO 0x10000000
 I4	   5703 #define RAB$M_PTA 0x20000000
 I4	   5704 #define RAB$M_PMT 0x40000000
 I4	   5705 #define RAB$M_CCO 0x80000000
 I4	   5706 #define RAB$M_EQNXT 0x200000
 I4	   5707 #define RAB$M_NXT 0x400000
 I4	   5708 #define RAB$M_NQL 0x1
 I4	   5709 #define RAB$M_NODLCKWT 0x2
 I4	   5710 #define RAB$M_NODLCKBLK 0x4
 I4	   5711 #define RAB$C_SEQ 0                     /* sequential access                */
 I4	   5712 #define RAB$C_KEY 1                     /* keyed access                     */
 I4	   5713 #define RAB$C_RFA 2                     /* rfa access                       */
 I4	   5714 #define RAB$C_STM 3                     /* stream access (valid only for sequential org) */
 I4	   5715 #define RAB$C_MAXRAC 2                  /* Maximum RAC value currently supported by RMS */
 I4	   5716 	
 I4	   5717  
 I4    X   5718 #ifdef __cplusplus		    /* Define structure prototypes */
 I4    X   5719 struct _fabdef;
 I4    X   5720 #endif		/* #ifdef __cplusplus */
 I4	   5721  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 103
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   5722 #ifdef __NEW_STARLET
 I4    X   5723 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   5724 #pragma __nomember_alignment __longword
 I4    X   5725 #else
 I4    X   5726 #pragma __nomember_alignment
 I4    X   5727 #endif
 I4    X   5728 typedef struct _rabdef {
 I4    X   5729 #pragma __nomember_alignment
 I4    X   5730     unsigned char rab$b_bid;            /* block id                         */
 I4    X   5731     unsigned char rab$b_bln;            /* block length                     */
 I4    X   5732     __union  {
 I4    X   5733         unsigned short int rab$w_isi;   /* internal stream index            */
 I4    X   5734 /* (ifi in fab)                                                             */
 I4    X   5735         __struct  {
 I4    X   5736             unsigned rabdef$$_fill_1 : 6; /* move to bit 6                  */
 I4    X   5737             unsigned rab$v_ppf_rat : 8; /* rat value for process-permanent files */
 I4    X   5738             unsigned rab$v_ppf_ind : 1; /* indirect access to process-permanent file */
 I4    X   5739 /* (i.e., restricted operations)                                            */
 I4    X   5740             unsigned rab$v_ppisi : 1;   /* indicates that this is process-permanent stream */
 I4    X   5741             } rab$r_isi_bits;
 I4    X   5742         } rab$r_isi_overlay;
 I4    X   5743     __union  {
 I4    X   5744         unsigned int rab$l_rop;         /* record options                   */
 I4    X   5745         __struct  {
 I4    X   5746             unsigned rab$v_asy : 1;     /* asynchronous operations          */
 I4    X   5747             unsigned rab$v_tpt : 1;     /* truncate put - allow sequential put not at */
 I4    X   5748 /*   eof, thus truncating file (seq. org only)                              */
 I4    X   5749 /*                                                                          */
 I4    X   5750 /* these next two should be in the byte for bits                            */
 I4    X   5751 /* input to $find or $get, but there is no room there                       */
 I4    X   5752 /*                                                                          */
 I4    X   5753             unsigned rab$v_rea : 1;     /* lock record for read only, allow other readers */
 I4    X   5754             unsigned rab$v_rrl : 1;     /* read record regardless of lock   */
 I4    X   5755 /*                                                                          */
 I4    X   5756             unsigned rab$v_uif : 1;     /* update if existent               */
 I4    X   5757             unsigned rab$v_mas : 1;     /* mass-insert mode                 */
 I4    X   5758             unsigned rab$v_fdl : 1;     /* fast record deletion             */
 I4    X   5759             unsigned rab$v_rev : 1;     /* reverse-search - can only be set with NXT or EQNXT */
 I4    X   5760 /*                                                                          */
 I4    X   5761             unsigned rab$v_eof : 1;     /* connect to eof                   */
 I4    X   5762             unsigned rab$v_rah : 1;     /* read ahead                       */
 I4    X   5763             unsigned rab$v_wbh : 1;     /* write behind                     */
 I4    X   5764             unsigned rab$v_bio : 1;     /* connect for bio only             */
 I4    X   5765             unsigned rab$v_cdk : 1;     /* check for duplicate keys on $GET */
 I4    X   5766             unsigned rab$v_loa : 1;     /* use bucket fill percentage       */
 I4    X   5767             unsigned rab$v_lim : 1;     /* compare for key limit reached on $get/$find seq. (idx only) */
 I4    X   5768             unsigned rab$v_syncsts : 1; /* Synchronous status notification for asynchronous routines. */
 I4    X   5769 /*                                                                          */
 I4    X   5770 /* the following bits are input to                                          */
 I4    X   5771 /* $find or $get, (see above also REA and RRL)                              */
 I4    X   5772 /* (separate byte)                                                          */
 I4    X   5773 /*                                                                          */
 I4    X   5774             unsigned rab$v_loc : 1;     /* use locate mode                  */
 I4    X   5775             unsigned rab$v_wat : 1;     /* wait if record not available     */
 I4    X   5776             unsigned rab$v_ulk : 1;     /* manual unlocking                 */
 I4    X   5777             unsigned rab$v_rlk : 1;     /* allow readers for this locked record */
 I4    X   5778             unsigned rab$v_nlk : 1;     /* do not lock record               */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 104
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   5779             unsigned rab$v_kge : 1;     /* key > or =                       */
 I4    X   5780             unsigned rab$v_kgt : 1;     /* key greater than                 */
 I4    X   5781             unsigned rab$v_nxr : 1;     /* get non-existent record          */
 I4    X   5782 /*                                                                          */
 I4    X   5783 /*  the following bits are terminal qualifiers only                         */
 I4    X   5784 /*  (separate byte)                                                         */
 I4    X   5785 /*                                                                          */
 I4    X   5786             unsigned rab$v_rne : 1;     /* read no echo                     */
 I4    X   5787             unsigned rab$v_tmo : 1;     /* use time-out period              */
 I4    X   5788             unsigned rab$v_cvt : 1;     /* convert to upper case            */
 I4    X   5789             unsigned rab$v_rnf : 1;     /* read no filter                   */
 I4    X   5790             unsigned rab$v_eto : 1;     /* extended terminal operation      */
 I4    X   5791             unsigned rab$v_pta : 1;     /* purge type ahead                 */
 I4    X   5792             unsigned rab$v_pmt : 1;     /* use prompt buffer                */
 I4    X   5793             unsigned rab$v_cco : 1;     /* cancel control o on output       */
 I4    X   5794             } rab$r_rop_bits0;
 I4    X   5795         __struct  {
 I4    X   5796             unsigned rabdef$$_fill_6 : 21;
 I4    X   5797             unsigned rab$v_eqnxt : 1;   /* Synonyms for KGE and             */
 I4    X   5798             unsigned rab$v_nxt : 1;     /*   KGT                            */
 I4    X   5799             unsigned rab$v_fill_3_ : 1;
 I4    X   5800             } rab$r_rop_bits1;
 I4    X   5801 /* the following bits may be                                                */
 I4    X   5802 /* input to various rab-related                                             */
 I4    X   5803 /* operations                                                               */
 I4    X   5804 /*                                                                          */
 I4    X   5805         __struct  {
 I4    X   5806             char rabdef$$_fill_3;
 I4    X   5807             unsigned char rab$b_rop1;   /* various options                  */
 I4    X   5808             unsigned char rab$b_rop2;   /* get/find options (use of this field discouraged */
 I4    X   5809 /* due to REA and RRL being in a different byte)                            */
 I4    X   5810             unsigned char rab$b_rop3;   /* terminal read options            */
 I4    X   5811 /*                                                                          */
 I4    X   5812             } rab$r_rop_fields;
 I4    X   5813         } rab$r_rop_overlay;
 I4    X   5814     unsigned int rab$l_sts;             /* status                           */
 I4    X   5815     __union  {
 I4    X   5816         unsigned int rab$l_stv;         /* status value                     */
 I4    X   5817         __struct  {
 I4    X   5818             unsigned short int rab$w_stv0; /* low word of stv               */
 I4    X   5819             unsigned short int rab$w_stv2; /* high word of stv              */
 I4    X   5820             } rab$r_stv_fields;
 I4    X   5821         } rab$r_stv_overlay;
 I4    X   5822     __union  {
 I4    X   5823         unsigned short int rab$w_rfa [3]; /* record's file address          */
 I4    X   5824         __struct  {
 I4    X   5825             unsigned int rab$l_rfa0;
 I4    X   5826             unsigned short int rab$w_rfa4;
 I4    X   5827             } rab$r_rfa_fields;
 I4    X   5828         } rab$r_rfa_overlay;
 I4    X   5829     short int rabdef$$_fill_4;          /* (reserved - rms release 1 optimizes stores */
 I4    X   5830 /*  to the rfa field to be a move quad, overwriting                         */
 I4    X   5831 /*  this reserved word)                                                     */
 I4    X   5832     unsigned int rab$l_ctx;             /* user context                     */
 I4    X   5833 /*-----*****                                                                */
 I4    X   5834     __union  {                          /*                                  */
 I4    X   5835         unsigned short int rab$w_rop_2; /* extension to record options in traditional RAB  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 105
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   5836         __struct  {
 I4    X   5837             unsigned rab$v_nql : 1;     /* no query locking (record level)  */
 I4    X   5838             unsigned rab$v_nodlckwt : 1; /* no deadlock wait                */
 I4    X   5839             unsigned rab$v_nodlckblk : 1; /* no deadlock blocking           */
 I4    X   5840             unsigned rabdef$$_fill_5 : 13; /* reserved for future development */
 I4    X   5841             } rab$r_rop_2_bits0;
 I4    X   5842         } rab$r_rop_2_overlay;
 I4    X   5843     unsigned char rab$b_rac;            /* record access                    */
 I4    X   5844     unsigned char rab$b_tmo;            /* time-out period                  */
 I4    X   5845     unsigned short int rab$w_usz;       /* user buffer size                 */
 I4    X   5846     unsigned short int rab$w_rsz;       /* record buffer size               */
 I4    X   5847     char *rab$l_ubf;                    /* user buffer address              */
 I4    X   5848     char *rab$l_rbf;                    /* record buffer address            */
 I4    X   5849     char *rab$l_rhb;                    /* record header buffer addr        */
 I4    X   5850     __union  {
 I4    X   5851         char *rab$l_kbf;                /* key buffer address               */
 I4    X   5852         char *rab$l_pbf;                /* prompt buffer addr               */
 I4    X   5853         } rab$r_kbf_overlay;
 I4    X   5854     __union  {
 I4    X   5855         unsigned char rab$b_ksz;        /* key buffer size                  */
 I4    X   5856         unsigned char rab$b_psz;        /* prompt buffer size               */
 I4    X   5857         } rab$r_ksz_overlay;
 I4    X   5858     unsigned char rab$b_krf;            /* key of reference                 */
 I4    X   5859     char rab$b_mbf;                     /* multi-buffer count               */
 I4    X   5860     unsigned char rab$b_mbc;            /* multi-block count                */
 I4    X   5861     __union  {
 I4    X   5862         unsigned int rab$l_bkt;         /* bucket hash code, vbn, or rrn    */
 I4    X   5863         unsigned int rab$l_dct;         /* duplicates count on key accessed on alternate key */
 I4    X   5864         } rab$r_bkt_overlay;
 I4    X   5865     struct _fabdef *rab$l_fab;          /* related fab for connect ~~~ struct fabdef ~~~ */
 I4    X   5866     void *rab$l_xab;                    /* XAB address                      */
 I4    X   5867     } RABDEF;
 I4    X   5868  
 I4    X   5869 #if !defined(__VAXC)
 I4    X   5870 #define rab$w_isi rab$r_isi_overlay.rab$w_isi
 I4    X   5871 #define rab$r_isi_bits	rab$r_isi_overlay.rab$r_isi_bits
 I4    X   5872 #define rab$v_ppf_rat rab$r_isi_bits.rab$v_ppf_rat
 I4    X   5873 #define rab$v_ppf_ind rab$r_isi_bits.rab$v_ppf_ind
 I4    X   5874 #define rab$v_ppisi rab$r_isi_bits.rab$v_ppisi
 I4    X   5875 #define rab$l_rop rab$r_rop_overlay.rab$l_rop
 I4    X   5876 #define rab$r_rop_bits0	rab$r_rop_overlay.rab$r_rop_bits0
 I4    X   5877 #define rab$v_asy rab$r_rop_bits0.rab$v_asy
 I4    X   5878 #define rab$v_tpt rab$r_rop_bits0.rab$v_tpt
 I4    X   5879 #define rab$v_rea rab$r_rop_bits0.rab$v_rea
 I4    X   5880 #define rab$v_rrl rab$r_rop_bits0.rab$v_rrl
 I4    X   5881 #define rab$v_uif rab$r_rop_bits0.rab$v_uif
 I4    X   5882 #define rab$v_mas rab$r_rop_bits0.rab$v_mas
 I4    X   5883 #define rab$v_fdl rab$r_rop_bits0.rab$v_fdl
 I4    X   5884 #define rab$v_rev rab$r_rop_bits0.rab$v_rev
 I4    X   5885 #define rab$v_eof rab$r_rop_bits0.rab$v_eof
 I4    X   5886 #define rab$v_rah rab$r_rop_bits0.rab$v_rah
 I4    X   5887 #define rab$v_wbh rab$r_rop_bits0.rab$v_wbh
 I4    X   5888 #define rab$v_bio rab$r_rop_bits0.rab$v_bio
 I4    X   5889 #define rab$v_cdk rab$r_rop_bits0.rab$v_cdk
 I4    X   5890 #define rab$v_loa rab$r_rop_bits0.rab$v_loa
 I4    X   5891 #define rab$v_lim rab$r_rop_bits0.rab$v_lim
 I4    X   5892 #define rab$v_syncsts rab$r_rop_bits0.rab$v_syncsts

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 106
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   5893 #define rab$v_loc rab$r_rop_bits0.rab$v_loc
 I4    X   5894 #define rab$v_wat rab$r_rop_bits0.rab$v_wat
 I4    X   5895 #define rab$v_ulk rab$r_rop_bits0.rab$v_ulk
 I4    X   5896 #define rab$v_rlk rab$r_rop_bits0.rab$v_rlk
 I4    X   5897 #define rab$v_nlk rab$r_rop_bits0.rab$v_nlk
 I4    X   5898 #define rab$v_kge rab$r_rop_bits0.rab$v_kge
 I4    X   5899 #define rab$v_kgt rab$r_rop_bits0.rab$v_kgt
 I4    X   5900 #define rab$v_nxr rab$r_rop_bits0.rab$v_nxr
 I4    X   5901 #define rab$v_rne rab$r_rop_bits0.rab$v_rne
 I4    X   5902 #define rab$v_tmo rab$r_rop_bits0.rab$v_tmo
 I4    X   5903 #define rab$v_cvt rab$r_rop_bits0.rab$v_cvt
 I4    X   5904 #define rab$v_rnf rab$r_rop_bits0.rab$v_rnf
 I4    X   5905 #define rab$v_eto rab$r_rop_bits0.rab$v_eto
 I4    X   5906 #define rab$v_pta rab$r_rop_bits0.rab$v_pta
 I4    X   5907 #define rab$v_pmt rab$r_rop_bits0.rab$v_pmt
 I4    X   5908 #define rab$v_cco rab$r_rop_bits0.rab$v_cco
 I4    X   5909 #define rab$r_rop_bits1	rab$r_rop_overlay.rab$r_rop_bits1
 I4    X   5910 #define rab$v_eqnxt rab$r_rop_bits1.rab$v_eqnxt
 I4    X   5911 #define rab$v_nxt rab$r_rop_bits1.rab$v_nxt
 I4    X   5912 #define rab$r_rop_fields	rab$r_rop_overlay.rab$r_rop_fields
 I4    X   5913 #define rab$b_rop1 rab$r_rop_fields.rab$b_rop1
 I4    X   5914 #define rab$b_rop2 rab$r_rop_fields.rab$b_rop2
 I4    X   5915 #define rab$b_rop3 rab$r_rop_fields.rab$b_rop3
 I4    X   5916 #define rab$l_stv rab$r_stv_overlay.rab$l_stv
 I4    X   5917 #define rab$r_stv_fields	rab$r_stv_overlay.rab$r_stv_fields
 I4    X   5918 #define rab$w_stv0 rab$r_stv_fields.rab$w_stv0
 I4    X   5919 #define rab$w_stv2 rab$r_stv_fields.rab$w_stv2
 I4    X   5920 #define rab$w_rfa rab$r_rfa_overlay.rab$w_rfa
 I4    X   5921 #define rab$r_rfa_fields	rab$r_rfa_overlay.rab$r_rfa_fields
 I4    X   5922 #define rab$l_rfa0 rab$r_rfa_fields.rab$l_rfa0
 I4    X   5923 #define rab$w_rfa4 rab$r_rfa_fields.rab$w_rfa4
 I4    X   5924 #define rab$w_rop_2 rab$r_rop_2_overlay.rab$w_rop_2
 I4    X   5925 #define rab$r_rop_2_bits0	rab$r_rop_2_overlay.rab$r_rop_2_bits0
 I4    X   5926 #define rab$v_nql rab$r_rop_2_bits0.rab$v_nql
 I4    X   5927 #define rab$v_nodlckwt rab$r_rop_2_bits0.rab$v_nodlckwt
 I4    X   5928 #define rab$v_nodlckblk rab$r_rop_2_bits0.rab$v_nodlckblk
 I4    X   5929 #define rab$l_kbf rab$r_kbf_overlay.rab$l_kbf
 I4    X   5930 #define rab$l_pbf rab$r_kbf_overlay.rab$l_pbf
 I4    X   5931 #define rab$b_ksz rab$r_ksz_overlay.rab$b_ksz
 I4    X   5932 #define rab$b_psz rab$r_ksz_overlay.rab$b_psz
 I4    X   5933 #define rab$l_bkt rab$r_bkt_overlay.rab$l_bkt
 I4    X   5934 #define rab$l_dct rab$r_bkt_overlay.rab$l_dct
 I4    X   5935 #endif		/* #if !defined(__VAXC) */
 I4    X   5936  
 I4    X   5937 #else	    /* __OLD_STARLET */
 I4	   5938 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   5939 #pragma __nomember_alignment __longword
 I4    X   5940 #else
 I4    X   5941 #pragma __nomember_alignment
 I4    X   5942 #endif
 I4	   5943 struct rabdef {
 I4	   5944 #pragma __nomember_alignment
 I4	   5945     unsigned char rab$b_bid;            /* block id                         */
 I4	   5946     unsigned char rab$b_bln;            /* block length                     */
 I4	   5947     __union  {
       E	     union
 I4	   5948         unsigned short int rab$w_isi;   /* internal stream index            */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 107
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   5949 /* (ifi in fab)                                                             */
 I4	   5950         __struct  {
       E	         struct
 I4	   5951             unsigned rabdef$$_fill_1 : 6; /* move to bit 6                  */
 I4	   5952             unsigned rab$v_ppf_rat : 8; /* rat value for process-permanent files */
 I4	   5953             unsigned rab$v_ppf_ind : 1; /* indirect access to process-permanent file */
 I4	   5954 /* (i.e., restricted operations)                                            */
 I4	   5955             unsigned rab$v_ppisi : 1;   /* indicates that this is process-permanent stream */
 I4	   5956             } rab$r_isi_bits;
 I4	   5957         } rab$r_isi_overlay;
 I4	   5958     __union  {
       E	     union
 I4	   5959         unsigned int rab$l_rop;         /* record options                   */
 I4	   5960         __struct  {
       E	         struct
 I4	   5961             unsigned rab$v_asy : 1;     /* asynchronous operations          */
 I4	   5962             unsigned rab$v_tpt : 1;     /* truncate put - allow sequential put not at */
 I4	   5963 /*   eof, thus truncating file (seq. org only)                              */
 I4	   5964 /*                                                                          */
 I4	   5965 /* these next two should be in the byte for bits                            */
 I4	   5966 /* input to $find or $get, but there is no room there                       */
 I4	   5967 /*                                                                          */
 I4	   5968             unsigned rab$v_rea : 1;     /* lock record for read only, allow other readers */
 I4	   5969             unsigned rab$v_rrl : 1;     /* read record regardless of lock   */
 I4	   5970 /*                                                                          */
 I4	   5971             unsigned rab$v_uif : 1;     /* update if existent               */
 I4	   5972             unsigned rab$v_mas : 1;     /* mass-insert mode                 */
 I4	   5973             unsigned rab$v_fdl : 1;     /* fast record deletion             */
 I4	   5974             unsigned rab$v_rev : 1;     /* reverse-search - can only be set with NXT or EQNXT */
 I4	   5975 /*                                                                          */
 I4	   5976             unsigned rab$v_eof : 1;     /* connect to eof                   */
 I4	   5977             unsigned rab$v_rah : 1;     /* read ahead                       */
 I4	   5978             unsigned rab$v_wbh : 1;     /* write behind                     */
 I4	   5979             unsigned rab$v_bio : 1;     /* connect for bio only             */
 I4	   5980             unsigned rab$v_cdk : 1;     /* check for duplicate keys on $GET */
 I4	   5981             unsigned rab$v_loa : 1;     /* use bucket fill percentage       */
 I4	   5982             unsigned rab$v_lim : 1;     /* compare for key limit reached on $get/$find seq. (idx only) */
 I4	   5983             unsigned rab$v_syncsts : 1; /* Synchronous status notification for asynchronous routines. */
 I4	   5984 /*                                                                          */
 I4	   5985 /* the following bits are input to                                          */
 I4	   5986 /* $find or $get, (see above also REA and RRL)                              */
 I4	   5987 /* (separate byte)                                                          */
 I4	   5988 /*                                                                          */
 I4	   5989             unsigned rab$v_loc : 1;     /* use locate mode                  */
 I4	   5990             unsigned rab$v_wat : 1;     /* wait if record not available     */
 I4	   5991             unsigned rab$v_ulk : 1;     /* manual unlocking                 */
 I4	   5992             unsigned rab$v_rlk : 1;     /* allow readers for this locked record */
 I4	   5993             unsigned rab$v_nlk : 1;     /* do not lock record               */
 I4	   5994             unsigned rab$v_kge : 1;     /* key > or =                       */
 I4	   5995             unsigned rab$v_kgt : 1;     /* key greater than                 */
 I4	   5996             unsigned rab$v_nxr : 1;     /* get non-existent record          */
 I4	   5997 /*                                                                          */
 I4	   5998 /*  the following bits are terminal qualifiers only                         */
 I4	   5999 /*  (separate byte)                                                         */
 I4	   6000 /*                                                                          */
 I4	   6001             unsigned rab$v_rne : 1;     /* read no echo                     */
 I4	   6002             unsigned rab$v_tmo : 1;     /* use time-out period              */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 108
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6003             unsigned rab$v_cvt : 1;     /* convert to upper case            */
 I4	   6004             unsigned rab$v_rnf : 1;     /* read no filter                   */
 I4	   6005             unsigned rab$v_eto : 1;     /* extended terminal operation      */
 I4	   6006             unsigned rab$v_pta : 1;     /* purge type ahead                 */
 I4	   6007             unsigned rab$v_pmt : 1;     /* use prompt buffer                */
 I4	   6008             unsigned rab$v_cco : 1;     /* cancel control o on output       */
 I4	   6009             } rab$r_rop_bits0;
 I4	   6010         __struct  {
       E	         struct
 I4	   6011             unsigned rabdef$$_fill_6 : 21;
 I4	   6012             unsigned rab$v_eqnxt : 1;   /* Synonyms for KGE and             */
 I4	   6013             unsigned rab$v_nxt : 1;     /*   KGT                            */
 I4	   6014             unsigned rab$v_fill_3_ : 1;
 I4	   6015             } rab$r_rop_bits1;
 I4	   6016 /* the following bits may be                                                */
 I4	   6017 /* input to various rab-related                                             */
 I4	   6018 /* operations                                                               */
 I4	   6019 /*                                                                          */
 I4	   6020         __struct  {
       E	         struct
 I4	   6021             char rabdef$$_fill_3;
 I4	   6022             unsigned char rab$b_rop1;   /* various options                  */
 I4	   6023             unsigned char rab$b_rop2;   /* get/find options (use of this field discouraged */
 I4	   6024 /* due to REA and RRL being in a different byte)                            */
 I4	   6025             unsigned char rab$b_rop3;   /* terminal read options            */
 I4	   6026 /*                                                                          */
 I4	   6027             } rab$r_rop_fields;
 I4	   6028         } rab$r_rop_overlay;
 I4	   6029     unsigned int rab$l_sts;             /* status                           */
 I4	   6030     __union  {
       E	     union
 I4	   6031         unsigned int rab$l_stv;         /* status value                     */
 I4	   6032         __struct  {
       E	         struct
 I4	   6033             unsigned short int rab$w_stv0; /* low word of stv               */
 I4	   6034             unsigned short int rab$w_stv2; /* high word of stv              */
 I4	   6035             } rab$r_stv_fields;
 I4	   6036         } rab$r_stv_overlay;
 I4	   6037     __union  {
       E	     union
 I4	   6038         unsigned short int rab$w_rfa [3]; /* record's file address          */
 I4	   6039         __struct  {
       E	         struct
 I4	   6040             unsigned int rab$l_rfa0;
 I4	   6041             unsigned short int rab$w_rfa4;
 I4	   6042             } rab$r_rfa_fields;
 I4	   6043         } rab$r_rfa_overlay;
 I4	   6044     short int rabdef$$_fill_4;          /* (reserved - rms release 1 optimizes stores */
 I4	   6045 /*  to the rfa field to be a move quad, overwriting                         */
 I4	   6046 /*  this reserved word)                                                     */
 I4	   6047     unsigned int rab$l_ctx;             /* user context                     */
 I4	   6048 /*-----*****                                                                */
 I4	   6049     __union  {                          /*                                  */
       E	     union
 I4	   6050         unsigned short int rab$w_rop_2; /* extension to record options in traditional RAB  */
 I4	   6051         __struct  {
       E	         struct

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 109
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6052             unsigned rab$v_nql : 1;     /* no query locking (record level)  */
 I4	   6053             unsigned rab$v_nodlckwt : 1; /* no deadlock wait                */
 I4	   6054             unsigned rab$v_nodlckblk : 1; /* no deadlock blocking           */
 I4	   6055             unsigned rabdef$$_fill_5 : 13; /* reserved for future development */
 I4	   6056             } rab$r_rop_2_bits0;
 I4	   6057         } rab$r_rop_2_overlay;
 I4	   6058     unsigned char rab$b_rac;            /* record access                    */
 I4	   6059     unsigned char rab$b_tmo;            /* time-out period                  */
 I4	   6060     unsigned short int rab$w_usz;       /* user buffer size                 */
 I4	   6061     unsigned short int rab$w_rsz;       /* record buffer size               */
 I4	   6062     char *rab$l_ubf;                    /* user buffer address              */
 I4	   6063     char *rab$l_rbf;                    /* record buffer address            */
 I4	   6064     char *rab$l_rhb;                    /* record header buffer addr        */
 I4	   6065     __union  {
       E	     union
 I4	   6066         char *rab$l_kbf;                /* key buffer address               */
 I4	   6067         char *rab$l_pbf;                /* prompt buffer addr               */
 I4	   6068         } rab$r_kbf_overlay;
 I4	   6069     __union  {
       E	     union
 I4	   6070         unsigned char rab$b_ksz;        /* key buffer size                  */
 I4	   6071         unsigned char rab$b_psz;        /* prompt buffer size               */
 I4	   6072         } rab$r_ksz_overlay;
 I4	   6073     unsigned char rab$b_krf;            /* key of reference                 */
 I4	   6074     char rab$b_mbf;                     /* multi-buffer count               */
 I4	   6075     unsigned char rab$b_mbc;            /* multi-block count                */
 I4	   6076     __union  {
       E	     union
 I4	   6077         unsigned int rab$l_bkt;         /* bucket hash code, vbn, or rrn    */
 I4	   6078         unsigned int rab$l_dct;         /* duplicates count on key accessed on alternate key */
 I4	   6079         } rab$r_bkt_overlay;
 I4	   6080      struct fabdef  *rab$l_fab;                    /* related fab for connect  */
 I4	   6081     void *rab$l_xab;                    /* XAB address                      */
 I4	   6082     } ;
 I4	   6083  
 I4	   6084 #if !defined(__VAXC)
 I4	   6085 #define rab$w_isi rab$r_isi_overlay.rab$w_isi
 I4	   6086 #define rab$v_ppf_rat rab$r_isi_overlay.rab$r_isi_bits.rab$v_ppf_rat
 I4	   6087 #define rab$v_ppf_ind rab$r_isi_overlay.rab$r_isi_bits.rab$v_ppf_ind
 I4	   6088 #define rab$v_ppisi rab$r_isi_overlay.rab$r_isi_bits.rab$v_ppisi
 I4	   6089 #define rab$l_rop rab$r_rop_overlay.rab$l_rop
 I4	   6090 #define rab$v_asy rab$r_rop_overlay.rab$r_rop_bits0.rab$v_asy
 I4	   6091 #define rab$v_tpt rab$r_rop_overlay.rab$r_rop_bits0.rab$v_tpt
 I4	   6092 #define rab$v_rea rab$r_rop_overlay.rab$r_rop_bits0.rab$v_rea
 I4	   6093 #define rab$v_rrl rab$r_rop_overlay.rab$r_rop_bits0.rab$v_rrl
 I4	   6094 #define rab$v_uif rab$r_rop_overlay.rab$r_rop_bits0.rab$v_uif
 I4	   6095 #define rab$v_mas rab$r_rop_overlay.rab$r_rop_bits0.rab$v_mas
 I4	   6096 #define rab$v_fdl rab$r_rop_overlay.rab$r_rop_bits0.rab$v_fdl
 I4	   6097 #define rab$v_rev rab$r_rop_overlay.rab$r_rop_bits0.rab$v_rev
 I4	   6098 #define rab$v_eof rab$r_rop_overlay.rab$r_rop_bits0.rab$v_eof
 I4	   6099 #define rab$v_rah rab$r_rop_overlay.rab$r_rop_bits0.rab$v_rah
 I4	   6100 #define rab$v_wbh rab$r_rop_overlay.rab$r_rop_bits0.rab$v_wbh
 I4	   6101 #define rab$v_bio rab$r_rop_overlay.rab$r_rop_bits0.rab$v_bio
 I4	   6102 #define rab$v_cdk rab$r_rop_overlay.rab$r_rop_bits0.rab$v_cdk
 I4	   6103 #define rab$v_loa rab$r_rop_overlay.rab$r_rop_bits0.rab$v_loa
 I4	   6104 #define rab$v_lim rab$r_rop_overlay.rab$r_rop_bits0.rab$v_lim
 I4	   6105 #define rab$v_syncsts rab$r_rop_overlay.rab$r_rop_bits0.rab$v_syncsts

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 110
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6106 #define rab$v_loc rab$r_rop_overlay.rab$r_rop_bits0.rab$v_loc
 I4	   6107 #define rab$v_wat rab$r_rop_overlay.rab$r_rop_bits0.rab$v_wat
 I4	   6108 #define rab$v_ulk rab$r_rop_overlay.rab$r_rop_bits0.rab$v_ulk
 I4	   6109 #define rab$v_rlk rab$r_rop_overlay.rab$r_rop_bits0.rab$v_rlk
 I4	   6110 #define rab$v_nlk rab$r_rop_overlay.rab$r_rop_bits0.rab$v_nlk
 I4	   6111 #define rab$v_kge rab$r_rop_overlay.rab$r_rop_bits0.rab$v_kge
 I4	   6112 #define rab$v_kgt rab$r_rop_overlay.rab$r_rop_bits0.rab$v_kgt
 I4	   6113 #define rab$v_nxr rab$r_rop_overlay.rab$r_rop_bits0.rab$v_nxr
 I4	   6114 #define rab$v_rne rab$r_rop_overlay.rab$r_rop_bits0.rab$v_rne
 I4	   6115 #define rab$v_tmo rab$r_rop_overlay.rab$r_rop_bits0.rab$v_tmo
 I4	   6116 #define rab$v_cvt rab$r_rop_overlay.rab$r_rop_bits0.rab$v_cvt
 I4	   6117 #define rab$v_rnf rab$r_rop_overlay.rab$r_rop_bits0.rab$v_rnf
 I4	   6118 #define rab$v_eto rab$r_rop_overlay.rab$r_rop_bits0.rab$v_eto
 I4	   6119 #define rab$v_pta rab$r_rop_overlay.rab$r_rop_bits0.rab$v_pta
 I4	   6120 #define rab$v_pmt rab$r_rop_overlay.rab$r_rop_bits0.rab$v_pmt
 I4	   6121 #define rab$v_cco rab$r_rop_overlay.rab$r_rop_bits0.rab$v_cco
 I4	   6122 #define rab$v_eqnxt rab$r_rop_overlay.rab$r_rop_bits1.rab$v_eqnxt
 I4	   6123 #define rab$v_nxt rab$r_rop_overlay.rab$r_rop_bits1.rab$v_nxt
 I4	   6124 #define rab$b_rop1 rab$r_rop_overlay.rab$r_rop_fields.rab$b_rop1
 I4	   6125 #define rab$b_rop2 rab$r_rop_overlay.rab$r_rop_fields.rab$b_rop2
 I4	   6126 #define rab$b_rop3 rab$r_rop_overlay.rab$r_rop_fields.rab$b_rop3
 I4	   6127 #define rab$l_stv rab$r_stv_overlay.rab$l_stv
 I4	   6128 #define rab$w_stv0 rab$r_stv_overlay.rab$r_stv_fields.rab$w_stv0
 I4	   6129 #define rab$w_stv2 rab$r_stv_overlay.rab$r_stv_fields.rab$w_stv2
 I4	   6130 #define rab$w_rfa rab$r_rfa_overlay.rab$w_rfa
 I4	   6131 #define rab$l_rfa0 rab$r_rfa_overlay.rab$r_rfa_fields.rab$l_rfa0
 I4	   6132 #define rab$w_rfa4 rab$r_rfa_overlay.rab$r_rfa_fields.rab$w_rfa4
 I4	   6133 #define rab$w_rop_2 rab$r_rop_2_overlay.rab$w_rop_2
 I4	   6134 #define rab$v_nql rab$r_rop_2_overlay.rab$r_rop_2_bits0.rab$v_nql
 I4	   6135 #define rab$v_nodlckwt rab$r_rop_2_overlay.rab$r_rop_2_bits0.rab$v_nodlckwt
 I4	   6136 #define rab$v_nodlckblk rab$r_rop_2_overlay.rab$r_rop_2_bits0.rab$v_nodlckblk
 I4	   6137 #define rab$l_kbf rab$r_kbf_overlay.rab$l_kbf
 I4	   6138 #define rab$l_pbf rab$r_kbf_overlay.rab$l_pbf
 I4	   6139 #define rab$b_ksz rab$r_ksz_overlay.rab$b_ksz
 I4	   6140 #define rab$b_psz rab$r_ksz_overlay.rab$b_psz
 I4	   6141 #define rab$l_bkt rab$r_bkt_overlay.rab$l_bkt
 I4	   6142 #define rab$l_dct rab$r_bkt_overlay.rab$l_dct
 I4	   6143 #endif		/* #if !defined(__VAXC) */
 I4	   6144  
 I4	   6145 #endif	    /* #ifdef __NEW_STARLET */
 I4	   6146 /* end of traditional 32-bit rab                                            */
 I4	   6147 #define RAB$K_BLN 68                    /* length of traditional 32-bit rab */
 I4	   6148 #define RAB$C_BLN 68                    /* length of traditional 32-bit rab */
 I4	   6149 	
 I4	   6150 /* These are traditional macros that should be hand-maintained for compatibility */
 I4	   6151 /* Do not have to add new ones, but do have to maintain those that are here already. */
 I4	   6152 #define RAB$V_PPF_RAT	6		/* rat value for process-permanent files */
 I4	   6153 #define RAB$S_PPF_RAT	8
 I4	   6154 #define RAB$V_PPF_IND	14		/* indirect access to process-permanent file */
 I4	   6155 #define RAB$V_ASY	0		/* asynchronous operations */
 I4	   6156 #define RAB$V_TPT	1		/* truncate-on-put - allow sequential put not at eof */
 I4	   6157 #define RAB$V_REA	2		/* lock record for read only, allow other readers */
 I4	   6158 #define RAB$V_RRL	3		/* read record regardless of lock */
 I4	   6159 #define RAB$V_UIF	4		/* update if existent */
 I4	   6160 #define RAB$V_MAS	5		/* mass-insert mode */
 I4	   6161 #define RAB$V_FDL	6		/* fast record deletion */
 I4	   6162 #define RAB$V_REV	7		/* reverse-search */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 111
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6163 #define RAB$V_EOF	8		/* connect to end-of-file */
 I4	   6164 #define RAB$V_RAH	9		/* read ahead */
 I4	   6165 #define RAB$V_WBH	10		/* write behind */
 I4	   6166 #define RAB$V_BIO	11		/* connect for block I/O only */
 I4	   6167 #define RAB$V_CDK	12		/* check for duplicate keys on $GET */
 I4	   6168 #define RAB$V_LOA	13		/* load buckets according to the file size */
 I4	   6169 #define RAB$V_LIM	14		/* compare for key limit reached on $get/$find seq.(idx only) */
 I4	   6170 #define RAB$V_SYNCSTS	15		/* Synchronous status notification for asynchronous routines. */
 I4	   6171 #define RAB$V_LOC	16		/* use locate mode */
 I4	   6172 #define RAB$V_WAT	17		/* wait if record not available */
 I4	   6173 #define RAB$V_ULK	18		/* manual unlocking */
 I4	   6174 #define RAB$V_RLK	19		/* allow readers for this locked record */
 I4	   6175 #define RAB$V_NLK	20		/* do not lock record */
 I4	   6176 #define RAB$V_KGE	21		/* key is greater than or equal to */
 I4	   6177 #define RAB$V_KGT	22		/* key is greater than */
 I4	   6178 #define RAB$V_NXR	23		/* non-existent record processing */
 I4	   6179 #define RAB$V_RNE	24		/* read no echo */
 I4	   6180 #define RAB$V_TMO	25		/* use time-out period */
 I4	   6181 #define RAB$V_CVT	26		/* convert to upper case */
 I4	   6182 #define RAB$V_RNF	27		/* read no filter */
 I4	   6183 #define RAB$V_ETO	28		/* extended terminal operation */
 I4	   6184 #define RAB$V_PTA	29		/* purge type ahead */
 I4	   6185 #define RAB$V_PMT	30		/* use prompt buffer */
 I4	   6186 #define RAB$V_CCO	31		/* cancel control O on output */
 I4	   6187 #define RAB$V_EQNXT 	21		/*  Synonym for KGE */
 I4	   6188 #define RAB$V_NXT  	22		/*  Synonym for KGT */
 I4    X   6189 #ifdef __NEW_STARLET
 I4    X   6190 #define RAB _rabdef
 I4    X   6191 #else
 I4	   6192 #define RAB rabdef
 I4	   6193 #endif
 I4	   6194 #define cc$rms_rab (*decc$ga_rms_rab)
 I4	   6195 #if defined(__DECC) || defined(__DECCXX)
 I4	   6196 # pragma extern_model __save
 I4	   6197 # pragma extern_model strict_refdef
 I4	   6198    extern struct RAB cc$rms_rab;			/* Declare initialized prototype data structures */
       E	                  rabdef
       E	                      ( * decc$ga_rms_rab )
 I4	   6199 # pragma extern_model __restore
 I4    X   6200 #else
 I4    X   6201    globalref struct RAB cc$rms_rab;			/* Declare initialized prototype data structures */
 I4    X   6202 #endif
 I4	   6203 /*                                                                          */
 I4	   6204 /*     64-bit variant of the record access block (rab) definitions          */
 I4	   6205 /*                                                                          */
 I4	   6206 /*     The 64-bit rab consists of the traditional 32-bit rab                */
 I4	   6207 /*     followed by additional cells, added mainly to provide                */
 I4	   6208 /*     support for a 64-bit address for user buffers (UBF, RBF,             */
 I4	   6209 /*     KBF, RHB).                                                           */
 I4	   6210 /*                                                                          */
 I4	   6211 /*                                                                          */
 I4	   6212 	
 I4	   6213 #define RAB64$C_BID 1                   /* code for rab                     */
 I4	   6214 #define RAB64$M_PPF_RAT 0x3FC0
 I4	   6215 #define RAB64$M_PPF_IND 0x4000
 I4	   6216 #define RAB64$M_PPISI 0x8000
 I4	   6217 #define RAB64$M_ASY 0x1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 112
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6218 #define RAB64$M_TPT 0x2
 I4	   6219 #define RAB64$M_REA 0x4
 I4	   6220 #define RAB64$M_RRL 0x8
 I4	   6221 #define RAB64$M_UIF 0x10
 I4	   6222 #define RAB64$M_MAS 0x20
 I4	   6223 #define RAB64$M_FDL 0x40
 I4	   6224 #define RAB64$M_REV 0x80
 I4	   6225 #define RAB64$M_EOF 0x100
 I4	   6226 #define RAB64$M_RAH 0x200
 I4	   6227 #define RAB64$M_WBH 0x400
 I4	   6228 #define RAB64$M_BIO 0x800
 I4	   6229 #define RAB64$M_CDK 0x1000
 I4	   6230 #define RAB64$M_LOA 0x2000
 I4	   6231 #define RAB64$M_LIM 0x4000
 I4	   6232 #define RAB64$M_SYNCSTS 0x8000
 I4	   6233 #define RAB64$M_LOC 0x10000
 I4	   6234 #define RAB64$M_WAT 0x20000
 I4	   6235 #define RAB64$M_ULK 0x40000
 I4	   6236 #define RAB64$M_RLK 0x80000
 I4	   6237 #define RAB64$M_NLK 0x100000
 I4	   6238 #define RAB64$M_KGE 0x200000
 I4	   6239 #define RAB64$M_KGT 0x400000
 I4	   6240 #define RAB64$M_NXR 0x800000
 I4	   6241 #define RAB64$M_RNE 0x1000000
 I4	   6242 #define RAB64$M_TMO 0x2000000
 I4	   6243 #define RAB64$M_CVT 0x4000000
 I4	   6244 #define RAB64$M_RNF 0x8000000
 I4	   6245 #define RAB64$M_ETO 0x10000000
 I4	   6246 #define RAB64$M_PTA 0x20000000
 I4	   6247 #define RAB64$M_PMT 0x40000000
 I4	   6248 #define RAB64$M_CCO 0x80000000
 I4	   6249 #define RAB64$M_EQNXT 0x200000
 I4	   6250 #define RAB64$M_NXT 0x400000
 I4	   6251 #define RAB64$M_NQL 0x1
 I4	   6252 #define RAB64$M_NODLCKWT 0x2
 I4	   6253 #define RAB64$M_NODLCKBLK 0x4
 I4	   6254 #define RAB64$C_SEQ 0                   /* sequential access                */
 I4	   6255 #define RAB64$C_KEY 1                   /* keyed access                     */
 I4	   6256 #define RAB64$C_RFA 2                   /* rfa access                       */
 I4	   6257 #define RAB64$C_STM 3                   /* stream access (valid only for sequential org) */
 I4	   6258 #define RAB64$C_MAXRAC 2                /* Maximum RAC value currently supported by RMS */
 I4	   6259 #define RAB64$M_RESERVED29 0x20000000
 I4	   6260 #define RAB64$M_RESERVED30 0x40000000
 I4	   6261 #define RAB64$M_RESERVED31 0x80000000
 I4	   6262 #define RAB$M_RESERVED29 536870912
 I4	   6263 #define RAB$M_RESERVED30 1073741824
 I4	   6264 #define RAB$M_RESERVED31 -2147483648
 I4	   6265 	
 I4	   6266  
 I4    X   6267 #ifdef __cplusplus		    /* Define structure prototypes */
 I4    X   6268 struct _fabdef;
 I4    X   6269 #endif		/* #ifdef __cplusplus */
 I4	   6270  
 I4    X   6271 #ifdef __NEW_STARLET
 I4    X   6272 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   6273 #pragma __nomember_alignment __quadword
 I4    X   6274 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 113
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   6275 #pragma __nomember_alignment
 I4    X   6276 #endif
 I4    X   6277 typedef struct _rab64def {
 I4    X   6278 #pragma __nomember_alignment
 I4    X   6279     unsigned char rab64$b_bid;          /* block id                         */
 I4    X   6280     unsigned char rab64$b_bln;          /* block length                     */
 I4    X   6281     __union  {
 I4    X   6282         unsigned short int rab64$w_isi; /* internal stream index            */
 I4    X   6283 /* (ifi in fab)                                                             */
 I4    X   6284         __struct  {
 I4    X   6285             unsigned rab64def$$_fill_1 : 6; /* move to bit 6                */
 I4    X   6286             unsigned rab64$v_ppf_rat : 8; /* rat value for process-permanent files */
 I4    X   6287             unsigned rab64$v_ppf_ind : 1; /* indirect access to process-permanent file */
 I4    X   6288 /* (i.e., restricted operations)                                            */
 I4    X   6289             unsigned rab64$v_ppisi : 1; /* indicates that this is process-permanent stream */
 I4    X   6290             } rab64$r_isi_bits;
 I4    X   6291         } rab64$r_isi_overlay;
 I4    X   6292     __union  {
 I4    X   6293         unsigned int rab64$l_rop;       /* record options                   */
 I4    X   6294         __struct  {
 I4    X   6295             unsigned rab64$v_asy : 1;   /* asynchronous operations          */
 I4    X   6296             unsigned rab64$v_tpt : 1;   /* truncate put - allow sequential put not at */
 I4    X   6297 /*   eof, thus truncating file (seq. org only)                              */
 I4    X   6298 /*                                                                          */
 I4    X   6299 /* these next two should be in the byte for bits                            */
 I4    X   6300 /* input to $find or $get, but there is no room there                       */
 I4    X   6301 /*                                                                          */
 I4    X   6302             unsigned rab64$v_rea : 1;   /* lock record for read only, allow other readers */
 I4    X   6303             unsigned rab64$v_rrl : 1;   /* read record regardless of lock   */
 I4    X   6304 /*                                                                          */
 I4    X   6305             unsigned rab64$v_uif : 1;   /* update if existent               */
 I4    X   6306             unsigned rab64$v_mas : 1;   /* mass-insert mode                 */
 I4    X   6307             unsigned rab64$v_fdl : 1;   /* fast record deletion             */
 I4    X   6308             unsigned rab64$v_rev : 1;   /* reverse-search - can only be set with NXT or EQNXT */
 I4    X   6309 /*                                                                          */
 I4    X   6310             unsigned rab64$v_eof : 1;   /* connect to eof                   */
 I4    X   6311             unsigned rab64$v_rah : 1;   /* read ahead                       */
 I4    X   6312             unsigned rab64$v_wbh : 1;   /* write behind                     */
 I4    X   6313             unsigned rab64$v_bio : 1;   /* connect for bio only             */
 I4    X   6314             unsigned rab64$v_cdk : 1;   /* check for duplicate keys on $GET */
 I4    X   6315             unsigned rab64$v_loa : 1;   /* use bucket fill percentage       */
 I4    X   6316             unsigned rab64$v_lim : 1;   /* compare for key limit reached on $get/$find seq. (idx only) */
 I4    X   6317             unsigned rab64$v_syncsts : 1; /* Synchronous status notification for asynchronous routines. */
 I4    X   6318 /*                                                                          */
 I4    X   6319 /* the following bits are input to                                          */
 I4    X   6320 /* $find or $get, (see above also REA and RRL)                              */
 I4    X   6321 /* (separate byte)                                                          */
 I4    X   6322 /*                                                                          */
 I4    X   6323             unsigned rab64$v_loc : 1;   /* use locate mode                  */
 I4    X   6324             unsigned rab64$v_wat : 1;   /* wait if record not available     */
 I4    X   6325             unsigned rab64$v_ulk : 1;   /* manual unlocking                 */
 I4    X   6326             unsigned rab64$v_rlk : 1;   /* allow readers for this locked record */
 I4    X   6327             unsigned rab64$v_nlk : 1;   /* do not lock record               */
 I4    X   6328             unsigned rab64$v_kge : 1;   /* key > or =                       */
 I4    X   6329             unsigned rab64$v_kgt : 1;   /* key greater than                 */
 I4    X   6330             unsigned rab64$v_nxr : 1;   /* get non-existent record          */
 I4    X   6331 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 114
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   6332 /*  the following bits are terminal qualifiers only                         */
 I4    X   6333 /*  (separate byte)                                                         */
 I4    X   6334 /*                                                                          */
 I4    X   6335             unsigned rab64$v_rne : 1;   /* read no echo                     */
 I4    X   6336             unsigned rab64$v_tmo : 1;   /* use time-out period              */
 I4    X   6337             unsigned rab64$v_cvt : 1;   /* convert to upper case            */
 I4    X   6338             unsigned rab64$v_rnf : 1;   /* read no filter                   */
 I4    X   6339             unsigned rab64$v_eto : 1;   /* extended terminal operation      */
 I4    X   6340             unsigned rab64$v_pta : 1;   /* purge type ahead                 */
 I4    X   6341             unsigned rab64$v_pmt : 1;   /* use prompt buffer                */
 I4    X   6342             unsigned rab64$v_cco : 1;   /* cancel control o on output       */
 I4    X   6343             } rab64$r_rop_bits0;
 I4    X   6344         __struct  {
 I4    X   6345             unsigned rab64def$$_fill_6 : 21;
 I4    X   6346             unsigned rab64$v_eqnxt : 1; /* Synonyms for KGE and             */
 I4    X   6347             unsigned rab64$v_nxt : 1;   /*   KGT                            */
 I4    X   6348             unsigned rab64$v_fill_4_ : 1;
 I4    X   6349             } rab64$r_rop_bits1;
 I4    X   6350 /* the following bits may be                                                */
 I4    X   6351 /* input to various rab-related                                             */
 I4    X   6352 /* operations                                                               */
 I4    X   6353 /*                                                                          */
 I4    X   6354         __struct  {
 I4    X   6355             char rab64def$$_fill_3;
 I4    X   6356             unsigned char rab64$b_rop1; /* various options                  */
 I4    X   6357             unsigned char rab64$b_rop2; /* get/find options (use of this field discouraged */
 I4    X   6358 /* due to REA and RRL being in a different byte)                            */
 I4    X   6359             unsigned char rab64$b_rop3; /* terminal read options            */
 I4    X   6360 /*                                                                          */
 I4    X   6361             } rab64$r_rop_fields;
 I4    X   6362         } rab64$r_rop_overlay;
 I4    X   6363     unsigned int rab64$l_sts;           /* status                           */
 I4    X   6364     __union  {
 I4    X   6365         unsigned int rab64$l_stv;       /* status value                     */
 I4    X   6366         __struct  {
 I4    X   6367             unsigned short int rab64$w_stv0; /* low word of stv             */
 I4    X   6368             unsigned short int rab64$w_stv2; /* high word of stv            */
 I4    X   6369             } rab64$r_stv_fields;
 I4    X   6370         } rab64$r_stv_overlay;
 I4    X   6371     __union  {
 I4    X   6372         unsigned short int rab64$w_rfa [3]; /* record's file address        */
 I4    X   6373         __struct  {
 I4    X   6374             unsigned int rab64$l_rfa0;
 I4    X   6375             unsigned short int rab64$w_rfa4;
 I4    X   6376             } rab64$r_rfa_fields;
 I4    X   6377         } rab64$r_rfa_overlay;
 I4    X   6378     short int rab64def$$_fill_4;        /* (reserved - rms release 1 optimizes stores */
 I4    X   6379 /*  to the rfa field to be a move quad, overwriting                         */
 I4    X   6380 /*  this reserved word)                                                     */
 I4    X   6381     unsigned int rab64$l_ctx;           /* user context                     */
 I4    X   6382 /*-----*****                                                                */
 I4    X   6383     __union  {                          /*                                  */
 I4    X   6384         unsigned short int rab64$w_rop_2; /* extension to record options in traditional RAB  */
 I4    X   6385         __struct  {
 I4    X   6386             unsigned rab64$v_nql : 1;   /* no query locking (record level)  */
 I4    X   6387             unsigned rab64$v_nodlckwt : 1; /* no deadlock wait              */
 I4    X   6388             unsigned rab64$v_nodlckblk : 1; /* no deadlock blocking         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 115
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   6389             unsigned rab64def$$_fill_5 : 13; /* reserved for future development */
 I4    X   6390             } rab64$r_rop_2_bits0;
 I4    X   6391         } rab64$r_rop_2_overlay;
 I4    X   6392     unsigned char rab64$b_rac;          /* record access                    */
 I4    X   6393     unsigned char rab64$b_tmo;          /* time-out period                  */
 I4    X   6394     unsigned short int rab64$w_usz;     /* user buffer size                 */
 I4    X   6395     unsigned short int rab64$w_rsz;     /* record buffer size               */
 I4    X   6396     char *rab64$l_ubf;                  /* user buffer address              */
 I4    X   6397     char *rab64$l_rbf;                  /* record buffer address            */
 I4    X   6398     char *rab64$l_rhb;                  /* record header buffer addr        */
 I4    X   6399     __union  {
 I4    X   6400         char *rab64$l_kbf;              /* key buffer address               */
 I4    X   6401         char *rab64$l_pbf;              /* prompt buffer addr               */
 I4    X   6402         } rab64$r_kbf_overlay;
 I4    X   6403     __union  {
 I4    X   6404         unsigned char rab64$b_ksz;      /* key buffer size                  */
 I4    X   6405         unsigned char rab64$b_psz;      /* prompt buffer size               */
 I4    X   6406         } rab64$r_ksz_overlay;
 I4    X   6407     unsigned char rab64$b_krf;          /* key of reference                 */
 I4    X   6408     char rab64$b_mbf;                   /* multi-buffer count               */
 I4    X   6409     unsigned char rab64$b_mbc;          /* multi-block count                */
 I4    X   6410     __union  {
 I4    X   6411         unsigned int rab64$l_bkt;       /* bucket hash code, vbn, or rrn    */
 I4    X   6412         unsigned int rab64$l_dct;       /* duplicates count on key accessed on alternate key */
 I4    X   6413         } rab64$r_bkt_overlay;
 I4    X   6414     struct _fabdef *rab64$l_fab;        /* related fab for connect ~~~ struct fabdef ~~~ */
 I4    X   6415     void *rab64$l_xab;                  /* XAB address                      */
 I4    X   6416     __union  {
 I4    X   6417         unsigned int rab64$l_version;   /* 64-bit rab extension version     */
 I4    X   6418         unsigned int rab$l_version;     /* 64-bit rab extension version     */
 I4    X   6419         __struct  {
 I4    X   6420             unsigned short int rab64$w_verminor; /* minor version ident     */
 I4    X   6421             unsigned short int rab64$w_vermajor; /* major version ident     */
 I4    X   6422             } rab64$r_version_fields_1;
 I4    X   6423         __struct  {
 I4    X   6424             unsigned short int rab$w_verminor; /* minor version ident       */
 I4    X   6425             unsigned short int rab$w_vermajor; /* major version ident       */
 I4    X   6426             } rab64$r_version_fields_2;
 I4    X   6427         } rab64$r_version64_overlay;
 I4    X   6428     __union  {
 I4    X   6429 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4    X   6430 #pragma __nomember_alignment __quadword
 I4    X   6431 #else
 I4    X   6432 #pragma __nomember_alignment
 I4    X   6433 #endif
 I4    X   6434 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6435 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6436         void *rab64$pq_ubf;             /* 64-bit user buffer address       */
 I4    X   6437 #else
 I4    X   6438 	unsigned __int64 rab64$pq_ubf;
 I4    X   6439 #endif
 I4    X   6440 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6441 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6442         void *rab$pq_ubf;               /* 64-bit user buffer address       */
 I4    X   6443 #else
 I4    X   6444 	unsigned __int64 rab$pq_ubf;
 I4    X   6445 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 116
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   6446         } rab64$r_ubf64_overlay;
 I4    X   6447 #pragma __nomember_alignment
 I4    X   6448     __union  {
 I4    X   6449         unsigned __int64 rab64$q_usz;   /* 64-bit user buffer size          */
 I4    X   6450         unsigned __int64 rab$q_usz;     /* 64-bit user buffer size          */
 I4    X   6451         } rab64$r_usz64_overlay;
 I4    X   6452     __union  {
 I4    X   6453 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6454 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6455         void *rab64$pq_rbf;             /* 64-bit record buffer address     */
 I4    X   6456 #else
 I4    X   6457 	unsigned __int64 rab64$pq_rbf;
 I4    X   6458 #endif
 I4    X   6459 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6460 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6461         void *rab$pq_rbf;               /* 64-bit record buffer address     */
 I4    X   6462 #else
 I4    X   6463 	unsigned __int64 rab$pq_rbf;
 I4    X   6464 #endif
 I4    X   6465         } rab64$r_rbf64_overlay;
 I4    X   6466     __union  {
 I4    X   6467         unsigned __int64 rab64$q_rsz;   /* 64-bit record buffer size        */
 I4    X   6468         unsigned __int64 rab$q_rsz;     /* 64-bit record buffer size        */
 I4    X   6469         } rab64$r_rsz64_overlay;
 I4    X   6470     __union  {
 I4    X   6471 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6472 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6473         void *rab64$pq_kbf;             /* 64-bit key buffer address        */
 I4    X   6474 #else
 I4    X   6475 	unsigned __int64 rab64$pq_kbf;
 I4    X   6476 #endif
 I4    X   6477 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6478 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6479         void *rab$pq_kbf;               /* 64-bit key buffer address        */
 I4    X   6480 #else
 I4    X   6481 	unsigned __int64 rab$pq_kbf;
 I4    X   6482 #endif
 I4    X   6483         } rab64$r_kbf64_overlay;
 I4    X   6484     __union  {
 I4    X   6485 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6486 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6487         void *rab64$pq_rhb;             /* 64-bit record header buffer addr */
 I4    X   6488 #else
 I4    X   6489 	unsigned __int64 rab64$pq_rhb;
 I4    X   6490 #endif
 I4    X   6491 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4    X   6492 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I4    X   6493         void *rab$pq_rhb;               /* 64-bit record header buffer addr */
 I4    X   6494 #else
 I4    X   6495 	unsigned __int64 rab$pq_rhb;
 I4    X   6496 #endif
 I4    X   6497         } rab64$r_rhb64_overlay;
 I4    X   6498     __union  {
 I4    X   6499         unsigned __int64 rab64$q_ctx;   /* 64-bit user context              */
 I4    X   6500         unsigned __int64 rab$q_ctx;     /* 64-bit user context              */
 I4    X   6501         } rab64$r_ctx64_overlay;
 I4    X   6502     __union  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 117
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   6503         unsigned int rab64$l_ropext;    /* extended record options          */
 I4    X   6504         unsigned int rab$l_ropext;      /* extended record options          */
 I4    X   6505         __struct  {
 I4    X   6506             unsigned rab64def$$_fill_7_1 : 29;
 I4    X   6507             unsigned rab64$v_reserved29 : 1; /* MBZ - reserved for Digital  */
 I4    X   6508             unsigned rab64$v_reserved30 : 1; /* MBZ - reserved for Digital  */
 I4    X   6509             unsigned rab64$v_reserved31 : 1; /* MBZ - reserved for Digital  */
 I4    X   6510             } rab64$r_ropext_bits0_1;
 I4    X   6511         __struct  {
 I4    X   6512             unsigned rab64def$$_fill_7_2 : 29;
 I4    X   6513             unsigned rab$v_reserved29 : 1; /* MBZ - reserved for Digital    */
 I4    X   6514             unsigned rab$v_reserved30 : 1; /* MBZ - reserved for Digital    */
 I4    X   6515             unsigned rab$v_reserved31 : 1; /* MBZ - reserved for Digital    */
 I4    X   6516             } rab64$r_ropext_bits0_2;
 I4    X   6517         } rab64$r_ropext_overlay_rab64;
 I4    X   6518     __union  {
 I4    X   6519         unsigned int rab64$l_mbf;       /* longword multi-buffer count      */
 I4    X   6520         unsigned int rab$l_mbf;         /* longword multi-buffer count      */
 I4    X   6521         } rab64$r_mbf_overlay;
 I4    X   6522     __union  {
 I4    X   6523         unsigned int rab64$l_mbc;       /* longword multi-block count       */
 I4    X   6524         unsigned int rab$l_mbc;         /* longword multi-block count       */
 I4    X   6525         } rab64$r_mbc_overlay;
 I4    X   6526     __union  {
 I4    X   6527         unsigned int rab64$l_reserved_1; /* MBZ - reserved for Digital      */
 I4    X   6528         unsigned int rab$l_reserved_1;  /* MBZ - reserved for Digital       */
 I4    X   6529         } rab64$r_reserved_1_overlay;
 I4    X   6530     } RAB64DEF;
 I4    X   6531  
 I4    X   6532 #if !defined(__VAXC)
 I4    X   6533 #define rab64$w_isi rab64$r_isi_overlay.rab64$w_isi
 I4    X   6534 #define rab64$r_isi_bits	rab64$r_isi_overlay.rab64$r_isi_bits
 I4    X   6535 #define rab64$v_ppf_rat rab64$r_isi_bits.rab64$v_ppf_rat
 I4    X   6536 #define rab64$v_ppf_ind rab64$r_isi_bits.rab64$v_ppf_ind
 I4    X   6537 #define rab64$v_ppisi rab64$r_isi_bits.rab64$v_ppisi
 I4    X   6538 #define rab64$l_rop rab64$r_rop_overlay.rab64$l_rop
 I4    X   6539 #define rab64$r_rop_bits0	rab64$r_rop_overlay.rab64$r_rop_bits0
 I4    X   6540 #define rab64$v_asy rab64$r_rop_bits0.rab64$v_asy
 I4    X   6541 #define rab64$v_tpt rab64$r_rop_bits0.rab64$v_tpt
 I4    X   6542 #define rab64$v_rea rab64$r_rop_bits0.rab64$v_rea
 I4    X   6543 #define rab64$v_rrl rab64$r_rop_bits0.rab64$v_rrl
 I4    X   6544 #define rab64$v_uif rab64$r_rop_bits0.rab64$v_uif
 I4    X   6545 #define rab64$v_mas rab64$r_rop_bits0.rab64$v_mas
 I4    X   6546 #define rab64$v_fdl rab64$r_rop_bits0.rab64$v_fdl
 I4    X   6547 #define rab64$v_rev rab64$r_rop_bits0.rab64$v_rev
 I4    X   6548 #define rab64$v_eof rab64$r_rop_bits0.rab64$v_eof
 I4    X   6549 #define rab64$v_rah rab64$r_rop_bits0.rab64$v_rah
 I4    X   6550 #define rab64$v_wbh rab64$r_rop_bits0.rab64$v_wbh
 I4    X   6551 #define rab64$v_bio rab64$r_rop_bits0.rab64$v_bio
 I4    X   6552 #define rab64$v_cdk rab64$r_rop_bits0.rab64$v_cdk
 I4    X   6553 #define rab64$v_loa rab64$r_rop_bits0.rab64$v_loa
 I4    X   6554 #define rab64$v_lim rab64$r_rop_bits0.rab64$v_lim
 I4    X   6555 #define rab64$v_syncsts rab64$r_rop_bits0.rab64$v_syncsts
 I4    X   6556 #define rab64$v_loc rab64$r_rop_bits0.rab64$v_loc
 I4    X   6557 #define rab64$v_wat rab64$r_rop_bits0.rab64$v_wat
 I4    X   6558 #define rab64$v_ulk rab64$r_rop_bits0.rab64$v_ulk
 I4    X   6559 #define rab64$v_rlk rab64$r_rop_bits0.rab64$v_rlk

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 118
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   6560 #define rab64$v_nlk rab64$r_rop_bits0.rab64$v_nlk
 I4    X   6561 #define rab64$v_kge rab64$r_rop_bits0.rab64$v_kge
 I4    X   6562 #define rab64$v_kgt rab64$r_rop_bits0.rab64$v_kgt
 I4    X   6563 #define rab64$v_nxr rab64$r_rop_bits0.rab64$v_nxr
 I4    X   6564 #define rab64$v_rne rab64$r_rop_bits0.rab64$v_rne
 I4    X   6565 #define rab64$v_tmo rab64$r_rop_bits0.rab64$v_tmo
 I4    X   6566 #define rab64$v_cvt rab64$r_rop_bits0.rab64$v_cvt
 I4    X   6567 #define rab64$v_rnf rab64$r_rop_bits0.rab64$v_rnf
 I4    X   6568 #define rab64$v_eto rab64$r_rop_bits0.rab64$v_eto
 I4    X   6569 #define rab64$v_pta rab64$r_rop_bits0.rab64$v_pta
 I4    X   6570 #define rab64$v_pmt rab64$r_rop_bits0.rab64$v_pmt
 I4    X   6571 #define rab64$v_cco rab64$r_rop_bits0.rab64$v_cco
 I4    X   6572 #define rab64$r_rop_bits1	rab64$r_rop_overlay.rab64$r_rop_bits1
 I4    X   6573 #define rab64$v_eqnxt rab64$r_rop_bits1.rab64$v_eqnxt
 I4    X   6574 #define rab64$v_nxt rab64$r_rop_bits1.rab64$v_nxt
 I4    X   6575 #define rab64$r_rop_fields	rab64$r_rop_overlay.rab64$r_rop_fields
 I4    X   6576 #define rab64$b_rop1 rab64$r_rop_fields.rab64$b_rop1
 I4    X   6577 #define rab64$b_rop2 rab64$r_rop_fields.rab64$b_rop2
 I4    X   6578 #define rab64$b_rop3 rab64$r_rop_fields.rab64$b_rop3
 I4    X   6579 #define rab64$l_stv rab64$r_stv_overlay.rab64$l_stv
 I4    X   6580 #define rab64$r_stv_fields	rab64$r_stv_overlay.rab64$r_stv_fields
 I4    X   6581 #define rab64$w_stv0 rab64$r_stv_fields.rab64$w_stv0
 I4    X   6582 #define rab64$w_stv2 rab64$r_stv_fields.rab64$w_stv2
 I4    X   6583 #define rab64$w_rfa rab64$r_rfa_overlay.rab64$w_rfa
 I4    X   6584 #define rab64$r_rfa_fields	rab64$r_rfa_overlay.rab64$r_rfa_fields
 I4    X   6585 #define rab64$l_rfa0 rab64$r_rfa_fields.rab64$l_rfa0
 I4    X   6586 #define rab64$w_rfa4 rab64$r_rfa_fields.rab64$w_rfa4
 I4    X   6587 #define rab64$w_rop_2 rab64$r_rop_2_overlay.rab64$w_rop_2
 I4    X   6588 #define rab64$r_rop_2_bits0	rab64$r_rop_2_overlay.rab64$r_rop_2_bits0
 I4    X   6589 #define rab64$v_nql rab64$r_rop_2_bits0.rab64$v_nql
 I4    X   6590 #define rab64$v_nodlckwt rab64$r_rop_2_bits0.rab64$v_nodlckwt
 I4    X   6591 #define rab64$v_nodlckblk rab64$r_rop_2_bits0.rab64$v_nodlckblk
 I4    X   6592 #define rab64$l_kbf rab64$r_kbf_overlay.rab64$l_kbf
 I4    X   6593 #define rab64$l_pbf rab64$r_kbf_overlay.rab64$l_pbf
 I4    X   6594 #define rab64$b_ksz rab64$r_ksz_overlay.rab64$b_ksz
 I4    X   6595 #define rab64$b_psz rab64$r_ksz_overlay.rab64$b_psz
 I4    X   6596 #define rab64$l_bkt rab64$r_bkt_overlay.rab64$l_bkt
 I4    X   6597 #define rab64$l_dct rab64$r_bkt_overlay.rab64$l_dct
 I4    X   6598 #define rab64$l_version rab64$r_version64_overlay.rab64$l_version
 I4    X   6599 #define rab$l_version rab64$r_version64_overlay.rab$l_version
 I4    X   6600 #define rab64$r_version_fields_1	rab64$r_version64_overlay.rab64$r_version_fields_1
 I4    X   6601 #define rab64$w_verminor rab64$r_version_fields_1.rab64$w_verminor
 I4    X   6602 #define rab64$w_vermajor rab64$r_version_fields_1.rab64$w_vermajor
 I4    X   6603 #define rab64$r_version_fields_2	rab64$r_version64_overlay.rab64$r_version_fields_2
 I4    X   6604 #define rab$w_verminor rab64$r_version_fields_2.rab$w_verminor
 I4    X   6605 #define rab$w_vermajor rab64$r_version_fields_2.rab$w_vermajor
 I4    X   6606 #define rab64$pq_ubf rab64$r_ubf64_overlay.rab64$pq_ubf
 I4    X   6607 #define rab$pq_ubf rab64$r_ubf64_overlay.rab$pq_ubf
 I4    X   6608 #define rab64$q_usz rab64$r_usz64_overlay.rab64$q_usz
 I4    X   6609 #define rab$q_usz rab64$r_usz64_overlay.rab$q_usz
 I4    X   6610 #define rab64$pq_rbf rab64$r_rbf64_overlay.rab64$pq_rbf
 I4    X   6611 #define rab$pq_rbf rab64$r_rbf64_overlay.rab$pq_rbf
 I4    X   6612 #define rab64$q_rsz rab64$r_rsz64_overlay.rab64$q_rsz
 I4    X   6613 #define rab$q_rsz rab64$r_rsz64_overlay.rab$q_rsz
 I4    X   6614 #define rab64$pq_kbf rab64$r_kbf64_overlay.rab64$pq_kbf
 I4    X   6615 #define rab$pq_kbf rab64$r_kbf64_overlay.rab$pq_kbf
 I4    X   6616 #define rab64$pq_rhb rab64$r_rhb64_overlay.rab64$pq_rhb

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 119
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4    X   6617 #define rab$pq_rhb rab64$r_rhb64_overlay.rab$pq_rhb
 I4    X   6618 #define rab64$q_ctx rab64$r_ctx64_overlay.rab64$q_ctx
 I4    X   6619 #define rab$q_ctx rab64$r_ctx64_overlay.rab$q_ctx
 I4    X   6620 #define rab64$l_ropext rab64$r_ropext_overlay_rab64.rab64$l_ropext
 I4    X   6621 #define rab$l_ropext rab64$r_ropext_overlay_rab64.rab$l_ropext
 I4    X   6622 #define rab64$r_ropext_bits0_1	rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_1
 I4    X   6623 #define rab64$v_reserved29 rab64$r_ropext_bits0_1.rab64$v_reserved29
 I4    X   6624 #define rab64$v_reserved30 rab64$r_ropext_bits0_1.rab64$v_reserved30
 I4    X   6625 #define rab64$v_reserved31 rab64$r_ropext_bits0_1.rab64$v_reserved31
 I4    X   6626 #define rab64$r_ropext_bits0_2	rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_2
 I4    X   6627 #define rab$v_reserved29 rab64$r_ropext_bits0_2.rab$v_reserved29
 I4    X   6628 #define rab$v_reserved30 rab64$r_ropext_bits0_2.rab$v_reserved30
 I4    X   6629 #define rab$v_reserved31 rab64$r_ropext_bits0_2.rab$v_reserved31
 I4    X   6630 #define rab64$l_mbf rab64$r_mbf_overlay.rab64$l_mbf
 I4    X   6631 #define rab$l_mbf rab64$r_mbf_overlay.rab$l_mbf
 I4    X   6632 #define rab64$l_mbc rab64$r_mbc_overlay.rab64$l_mbc
 I4    X   6633 #define rab$l_mbc rab64$r_mbc_overlay.rab$l_mbc
 I4    X   6634 #define rab64$l_reserved_1 rab64$r_reserved_1_overlay.rab64$l_reserved_1
 I4    X   6635 #define rab$l_reserved_1 rab64$r_reserved_1_overlay.rab$l_reserved_1
 I4    X   6636 #endif		/* #if !defined(__VAXC) */
 I4    X   6637  
 I4    X   6638 #else	    /* __OLD_STARLET */
 I4	   6639 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   6640 #pragma __nomember_alignment __quadword
 I4    X   6641 #else
 I4    X   6642 #pragma __nomember_alignment
 I4    X   6643 #endif
 I4	   6644 struct rab64def {
 I4	   6645 #pragma __nomember_alignment
 I4	   6646     unsigned char rab64$b_bid;          /* block id                         */
 I4	   6647     unsigned char rab64$b_bln;          /* block length                     */
 I4	   6648     __union  {
       E	     union
 I4	   6649         unsigned short int rab64$w_isi; /* internal stream index            */
 I4	   6650 /* (ifi in fab)                                                             */
 I4	   6651         __struct  {
       E	         struct
 I4	   6652             unsigned rab64def$$_fill_1 : 6; /* move to bit 6                */
 I4	   6653             unsigned rab64$v_ppf_rat : 8; /* rat value for process-permanent files */
 I4	   6654             unsigned rab64$v_ppf_ind : 1; /* indirect access to process-permanent file */
 I4	   6655 /* (i.e., restricted operations)                                            */
 I4	   6656             unsigned rab64$v_ppisi : 1; /* indicates that this is process-permanent stream */
 I4	   6657             } rab64$r_isi_bits;
 I4	   6658         } rab64$r_isi_overlay;
 I4	   6659     __union  {
       E	     union
 I4	   6660         unsigned int rab64$l_rop;       /* record options                   */
 I4	   6661         __struct  {
       E	         struct
 I4	   6662             unsigned rab64$v_asy : 1;   /* asynchronous operations          */
 I4	   6663             unsigned rab64$v_tpt : 1;   /* truncate put - allow sequential put not at */
 I4	   6664 /*   eof, thus truncating file (seq. org only)                              */
 I4	   6665 /*                                                                          */
 I4	   6666 /* these next two should be in the byte for bits                            */
 I4	   6667 /* input to $find or $get, but there is no room there                       */
 I4	   6668 /*                                                                          */
 I4	   6669             unsigned rab64$v_rea : 1;   /* lock record for read only, allow other readers */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 120
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6670             unsigned rab64$v_rrl : 1;   /* read record regardless of lock   */
 I4	   6671 /*                                                                          */
 I4	   6672             unsigned rab64$v_uif : 1;   /* update if existent               */
 I4	   6673             unsigned rab64$v_mas : 1;   /* mass-insert mode                 */
 I4	   6674             unsigned rab64$v_fdl : 1;   /* fast record deletion             */
 I4	   6675             unsigned rab64$v_rev : 1;   /* reverse-search - can only be set with NXT or EQNXT */
 I4	   6676 /*                                                                          */
 I4	   6677             unsigned rab64$v_eof : 1;   /* connect to eof                   */
 I4	   6678             unsigned rab64$v_rah : 1;   /* read ahead                       */
 I4	   6679             unsigned rab64$v_wbh : 1;   /* write behind                     */
 I4	   6680             unsigned rab64$v_bio : 1;   /* connect for bio only             */
 I4	   6681             unsigned rab64$v_cdk : 1;   /* check for duplicate keys on $GET */
 I4	   6682             unsigned rab64$v_loa : 1;   /* use bucket fill percentage       */
 I4	   6683             unsigned rab64$v_lim : 1;   /* compare for key limit reached on $get/$find seq. (idx only) */
 I4	   6684             unsigned rab64$v_syncsts : 1; /* Synchronous status notification for asynchronous routines. */
 I4	   6685 /*                                                                          */
 I4	   6686 /* the following bits are input to                                          */
 I4	   6687 /* $find or $get, (see above also REA and RRL)                              */
 I4	   6688 /* (separate byte)                                                          */
 I4	   6689 /*                                                                          */
 I4	   6690             unsigned rab64$v_loc : 1;   /* use locate mode                  */
 I4	   6691             unsigned rab64$v_wat : 1;   /* wait if record not available     */
 I4	   6692             unsigned rab64$v_ulk : 1;   /* manual unlocking                 */
 I4	   6693             unsigned rab64$v_rlk : 1;   /* allow readers for this locked record */
 I4	   6694             unsigned rab64$v_nlk : 1;   /* do not lock record               */
 I4	   6695             unsigned rab64$v_kge : 1;   /* key > or =                       */
 I4	   6696             unsigned rab64$v_kgt : 1;   /* key greater than                 */
 I4	   6697             unsigned rab64$v_nxr : 1;   /* get non-existent record          */
 I4	   6698 /*                                                                          */
 I4	   6699 /*  the following bits are terminal qualifiers only                         */
 I4	   6700 /*  (separate byte)                                                         */
 I4	   6701 /*                                                                          */
 I4	   6702             unsigned rab64$v_rne : 1;   /* read no echo                     */
 I4	   6703             unsigned rab64$v_tmo : 1;   /* use time-out period              */
 I4	   6704             unsigned rab64$v_cvt : 1;   /* convert to upper case            */
 I4	   6705             unsigned rab64$v_rnf : 1;   /* read no filter                   */
 I4	   6706             unsigned rab64$v_eto : 1;   /* extended terminal operation      */
 I4	   6707             unsigned rab64$v_pta : 1;   /* purge type ahead                 */
 I4	   6708             unsigned rab64$v_pmt : 1;   /* use prompt buffer                */
 I4	   6709             unsigned rab64$v_cco : 1;   /* cancel control o on output       */
 I4	   6710             } rab64$r_rop_bits0;
 I4	   6711         __struct  {
       E	         struct
 I4	   6712             unsigned rab64def$$_fill_6 : 21;
 I4	   6713             unsigned rab64$v_eqnxt : 1; /* Synonyms for KGE and             */
 I4	   6714             unsigned rab64$v_nxt : 1;   /*   KGT                            */
 I4	   6715             unsigned rab64$v_fill_4_ : 1;
 I4	   6716             } rab64$r_rop_bits1;
 I4	   6717 /* the following bits may be                                                */
 I4	   6718 /* input to various rab-related                                             */
 I4	   6719 /* operations                                                               */
 I4	   6720 /*                                                                          */
 I4	   6721         __struct  {
       E	         struct
 I4	   6722             char rab64def$$_fill_3;
 I4	   6723             unsigned char rab64$b_rop1; /* various options                  */
 I4	   6724             unsigned char rab64$b_rop2; /* get/find options (use of this field discouraged */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 121
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6725 /* due to REA and RRL being in a different byte)                            */
 I4	   6726             unsigned char rab64$b_rop3; /* terminal read options            */
 I4	   6727 /*                                                                          */
 I4	   6728             } rab64$r_rop_fields;
 I4	   6729         } rab64$r_rop_overlay;
 I4	   6730     unsigned int rab64$l_sts;           /* status                           */
 I4	   6731     __union  {
       E	     union
 I4	   6732         unsigned int rab64$l_stv;       /* status value                     */
 I4	   6733         __struct  {
       E	         struct
 I4	   6734             unsigned short int rab64$w_stv0; /* low word of stv             */
 I4	   6735             unsigned short int rab64$w_stv2; /* high word of stv            */
 I4	   6736             } rab64$r_stv_fields;
 I4	   6737         } rab64$r_stv_overlay;
 I4	   6738     __union  {
       E	     union
 I4	   6739         unsigned short int rab64$w_rfa [3]; /* record's file address        */
 I4	   6740         __struct  {
       E	         struct
 I4	   6741             unsigned int rab64$l_rfa0;
 I4	   6742             unsigned short int rab64$w_rfa4;
 I4	   6743             } rab64$r_rfa_fields;
 I4	   6744         } rab64$r_rfa_overlay;
 I4	   6745     short int rab64def$$_fill_4;        /* (reserved - rms release 1 optimizes stores */
 I4	   6746 /*  to the rfa field to be a move quad, overwriting                         */
 I4	   6747 /*  this reserved word)                                                     */
 I4	   6748     unsigned int rab64$l_ctx;           /* user context                     */
 I4	   6749 /*-----*****                                                                */
 I4	   6750     __union  {                          /*                                  */
       E	     union
 I4	   6751         unsigned short int rab64$w_rop_2; /* extension to record options in traditional RAB  */
 I4	   6752         __struct  {
       E	         struct
 I4	   6753             unsigned rab64$v_nql : 1;   /* no query locking (record level)  */
 I4	   6754             unsigned rab64$v_nodlckwt : 1; /* no deadlock wait              */
 I4	   6755             unsigned rab64$v_nodlckblk : 1; /* no deadlock blocking         */
 I4	   6756             unsigned rab64def$$_fill_5 : 13; /* reserved for future development */
 I4	   6757             } rab64$r_rop_2_bits0;
 I4	   6758         } rab64$r_rop_2_overlay;
 I4	   6759     unsigned char rab64$b_rac;          /* record access                    */
 I4	   6760     unsigned char rab64$b_tmo;          /* time-out period                  */
 I4	   6761     unsigned short int rab64$w_usz;     /* user buffer size                 */
 I4	   6762     unsigned short int rab64$w_rsz;     /* record buffer size               */
 I4	   6763     char *rab64$l_ubf;                  /* user buffer address              */
 I4	   6764     char *rab64$l_rbf;                  /* record buffer address            */
 I4	   6765     char *rab64$l_rhb;                  /* record header buffer addr        */
 I4	   6766     __union  {
       E	     union
 I4	   6767         char *rab64$l_kbf;              /* key buffer address               */
 I4	   6768         char *rab64$l_pbf;              /* prompt buffer addr               */
 I4	   6769         } rab64$r_kbf_overlay;
 I4	   6770     __union  {
       E	     union
 I4	   6771         unsigned char rab64$b_ksz;      /* key buffer size                  */
 I4	   6772         unsigned char rab64$b_psz;      /* prompt buffer size               */
 I4	   6773         } rab64$r_ksz_overlay;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 122
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6774     unsigned char rab64$b_krf;          /* key of reference                 */
 I4	   6775     char rab64$b_mbf;                   /* multi-buffer count               */
 I4	   6776     unsigned char rab64$b_mbc;          /* multi-block count                */
 I4	   6777     __union  {
       E	     union
 I4	   6778         unsigned int rab64$l_bkt;       /* bucket hash code, vbn, or rrn    */
 I4	   6779         unsigned int rab64$l_dct;       /* duplicates count on key accessed on alternate key */
 I4	   6780         } rab64$r_bkt_overlay;
 I4	   6781      struct fabdef  *rab64$l_fab;                  /* related fab for connect  */
 I4	   6782     void *rab64$l_xab;                  /* XAB address                      */
 I4	   6783     __union  {
       E	     union
 I4	   6784         unsigned int rab64$l_version;   /* 64-bit rab extension version     */
 I4	   6785         unsigned int rab$l_version;     /* 64-bit rab extension version     */
 I4	   6786         __struct  {
       E	         struct
 I4	   6787             unsigned short int rab64$w_verminor; /* minor version ident     */
 I4	   6788             unsigned short int rab64$w_vermajor; /* major version ident     */
 I4	   6789             } rab64$r_version_fields_1;
 I4	   6790         __struct  {
       E	         struct
 I4	   6791             unsigned short int rab$w_verminor; /* minor version ident       */
 I4	   6792             unsigned short int rab$w_vermajor; /* major version ident       */
 I4	   6793             } rab64$r_version_fields_2;
 I4	   6794         } rab64$r_version64_overlay;
 I4	   6795     __union  {
       E	     union
 I4	   6796 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I4	   6797 #pragma __nomember_alignment __quadword
 I4    X   6798 #else
 I4    X   6799 #pragma __nomember_alignment
 I4    X   6800 #endif
 I4	   6801         unsigned __int64 rab64$pq_ubf;  /* 64-bit user buffer address       */
 I4	   6802         unsigned __int64 rab$pq_ubf;    /* 64-bit user buffer address       */
 I4	   6803         } rab64$r_ubf64_overlay;
 I4	   6804 #pragma __nomember_alignment
 I4	   6805     __union  {
       E	     union
 I4	   6806         unsigned int rab64$q_usz [2];   /* 64-bit user buffer size          */
 I4	   6807         unsigned int rab$q_usz [2];     /* 64-bit user buffer size          */
 I4	   6808         } rab64$r_usz64_overlay;
 I4	   6809     __union  {
       E	     union
 I4	   6810         unsigned __int64 rab64$pq_rbf;  /* 64-bit record buffer address     */
 I4	   6811         unsigned __int64 rab$pq_rbf;    /* 64-bit record buffer address     */
 I4	   6812         } rab64$r_rbf64_overlay;
 I4	   6813     __union  {
       E	     union
 I4	   6814         unsigned int rab64$q_rsz [2];   /* 64-bit record buffer size        */
 I4	   6815         unsigned int rab$q_rsz [2];     /* 64-bit record buffer size        */
 I4	   6816         } rab64$r_rsz64_overlay;
 I4	   6817     __union  {
       E	     union
 I4	   6818         unsigned __int64 rab64$pq_kbf;  /* 64-bit key buffer address        */
 I4	   6819         unsigned __int64 rab$pq_kbf;    /* 64-bit key buffer address        */
 I4	   6820         } rab64$r_kbf64_overlay;
 I4	   6821     __union  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 123
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

       E	     union
 I4	   6822         unsigned __int64 rab64$pq_rhb;  /* 64-bit record header buffer addr */
 I4	   6823         unsigned __int64 rab$pq_rhb;    /* 64-bit record header buffer addr */
 I4	   6824         } rab64$r_rhb64_overlay;
 I4	   6825     __union  {
       E	     union
 I4	   6826         unsigned int rab64$q_ctx [2];   /* 64-bit user context              */
 I4	   6827         unsigned int rab$q_ctx [2];     /* 64-bit user context              */
 I4	   6828         } rab64$r_ctx64_overlay;
 I4	   6829     __union  {
       E	     union
 I4	   6830         unsigned int rab64$l_ropext;    /* extended record options          */
 I4	   6831         unsigned int rab$l_ropext;      /* extended record options          */
 I4	   6832         __struct  {
       E	         struct
 I4	   6833             unsigned rab64def$$_fill_7_1 : 29;
 I4	   6834             unsigned rab64$v_reserved29 : 1; /* MBZ - reserved for Digital  */
 I4	   6835             unsigned rab64$v_reserved30 : 1; /* MBZ - reserved for Digital  */
 I4	   6836             unsigned rab64$v_reserved31 : 1; /* MBZ - reserved for Digital  */
 I4	   6837             } rab64$r_ropext_bits0_1;
 I4	   6838         __struct  {
       E	         struct
 I4	   6839             unsigned rab64def$$_fill_7_2 : 29;
 I4	   6840             unsigned rab$v_reserved29 : 1; /* MBZ - reserved for Digital    */
 I4	   6841             unsigned rab$v_reserved30 : 1; /* MBZ - reserved for Digital    */
 I4	   6842             unsigned rab$v_reserved31 : 1; /* MBZ - reserved for Digital    */
 I4	   6843             } rab64$r_ropext_bits0_2;
 I4	   6844         } rab64$r_ropext_overlay_rab64;
 I4	   6845     __union  {
       E	     union
 I4	   6846         unsigned int rab64$l_mbf;       /* longword multi-buffer count      */
 I4	   6847         unsigned int rab$l_mbf;         /* longword multi-buffer count      */
 I4	   6848         } rab64$r_mbf_overlay;
 I4	   6849     __union  {
       E	     union
 I4	   6850         unsigned int rab64$l_mbc;       /* longword multi-block count       */
 I4	   6851         unsigned int rab$l_mbc;         /* longword multi-block count       */
 I4	   6852         } rab64$r_mbc_overlay;
 I4	   6853     __union  {
       E	     union
 I4	   6854         unsigned int rab64$l_reserved_1; /* MBZ - reserved for Digital      */
 I4	   6855         unsigned int rab$l_reserved_1;  /* MBZ - reserved for Digital       */
 I4	   6856         } rab64$r_reserved_1_overlay;
 I4	   6857     } ;
 I4	   6858  
 I4	   6859 #if !defined(__VAXC)
 I4	   6860 #define rab64$w_isi rab64$r_isi_overlay.rab64$w_isi
 I4	   6861 #define rab64$v_ppf_rat rab64$r_isi_overlay.rab64$r_isi_bits.rab64$v_ppf_rat
 I4	   6862 #define rab64$v_ppf_ind rab64$r_isi_overlay.rab64$r_isi_bits.rab64$v_ppf_ind
 I4	   6863 #define rab64$v_ppisi rab64$r_isi_overlay.rab64$r_isi_bits.rab64$v_ppisi
 I4	   6864 #define rab64$l_rop rab64$r_rop_overlay.rab64$l_rop
 I4	   6865 #define rab64$v_asy rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_asy
 I4	   6866 #define rab64$v_tpt rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_tpt
 I4	   6867 #define rab64$v_rea rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_rea
 I4	   6868 #define rab64$v_rrl rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_rrl
 I4	   6869 #define rab64$v_uif rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_uif
 I4	   6870 #define rab64$v_mas rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_mas

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 124
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6871 #define rab64$v_fdl rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_fdl
 I4	   6872 #define rab64$v_rev rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_rev
 I4	   6873 #define rab64$v_eof rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_eof
 I4	   6874 #define rab64$v_rah rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_rah
 I4	   6875 #define rab64$v_wbh rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_wbh
 I4	   6876 #define rab64$v_bio rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_bio
 I4	   6877 #define rab64$v_cdk rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_cdk
 I4	   6878 #define rab64$v_loa rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_loa
 I4	   6879 #define rab64$v_lim rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_lim
 I4	   6880 #define rab64$v_syncsts rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_syncsts
 I4	   6881 #define rab64$v_loc rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_loc
 I4	   6882 #define rab64$v_wat rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_wat
 I4	   6883 #define rab64$v_ulk rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_ulk
 I4	   6884 #define rab64$v_rlk rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_rlk
 I4	   6885 #define rab64$v_nlk rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_nlk
 I4	   6886 #define rab64$v_kge rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_kge
 I4	   6887 #define rab64$v_kgt rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_kgt
 I4	   6888 #define rab64$v_nxr rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_nxr
 I4	   6889 #define rab64$v_rne rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_rne
 I4	   6890 #define rab64$v_tmo rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_tmo
 I4	   6891 #define rab64$v_cvt rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_cvt
 I4	   6892 #define rab64$v_rnf rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_rnf
 I4	   6893 #define rab64$v_eto rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_eto
 I4	   6894 #define rab64$v_pta rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_pta
 I4	   6895 #define rab64$v_pmt rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_pmt
 I4	   6896 #define rab64$v_cco rab64$r_rop_overlay.rab64$r_rop_bits0.rab64$v_cco
 I4	   6897 #define rab64$v_eqnxt rab64$r_rop_overlay.rab64$r_rop_bits1.rab64$v_eqnxt
 I4	   6898 #define rab64$v_nxt rab64$r_rop_overlay.rab64$r_rop_bits1.rab64$v_nxt
 I4	   6899 #define rab64$b_rop1 rab64$r_rop_overlay.rab64$r_rop_fields.rab64$b_rop1
 I4	   6900 #define rab64$b_rop2 rab64$r_rop_overlay.rab64$r_rop_fields.rab64$b_rop2
 I4	   6901 #define rab64$b_rop3 rab64$r_rop_overlay.rab64$r_rop_fields.rab64$b_rop3
 I4	   6902 #define rab64$l_stv rab64$r_stv_overlay.rab64$l_stv
 I4	   6903 #define rab64$w_stv0 rab64$r_stv_overlay.rab64$r_stv_fields.rab64$w_stv0
 I4	   6904 #define rab64$w_stv2 rab64$r_stv_overlay.rab64$r_stv_fields.rab64$w_stv2
 I4	   6905 #define rab64$w_rfa rab64$r_rfa_overlay.rab64$w_rfa
 I4	   6906 #define rab64$l_rfa0 rab64$r_rfa_overlay.rab64$r_rfa_fields.rab64$l_rfa0
 I4	   6907 #define rab64$w_rfa4 rab64$r_rfa_overlay.rab64$r_rfa_fields.rab64$w_rfa4
 I4	   6908 #define rab64$w_rop_2 rab64$r_rop_2_overlay.rab64$w_rop_2
 I4	   6909 #define rab64$v_nql rab64$r_rop_2_overlay.rab64$r_rop_2_bits0.rab64$v_nql
 I4	   6910 #define rab64$v_nodlckwt rab64$r_rop_2_overlay.rab64$r_rop_2_bits0.rab64$v_nodlckwt
 I4	   6911 #define rab64$v_nodlckblk rab64$r_rop_2_overlay.rab64$r_rop_2_bits0.rab64$v_nodlckblk
 I4	   6912 #define rab64$l_kbf rab64$r_kbf_overlay.rab64$l_kbf
 I4	   6913 #define rab64$l_pbf rab64$r_kbf_overlay.rab64$l_pbf
 I4	   6914 #define rab64$b_ksz rab64$r_ksz_overlay.rab64$b_ksz
 I4	   6915 #define rab64$b_psz rab64$r_ksz_overlay.rab64$b_psz
 I4	   6916 #define rab64$l_bkt rab64$r_bkt_overlay.rab64$l_bkt
 I4	   6917 #define rab64$l_dct rab64$r_bkt_overlay.rab64$l_dct
 I4	   6918 #define rab64$l_version rab64$r_version64_overlay.rab64$l_version
 I4	   6919 #define rab$l_version rab64$r_version64_overlay.rab$l_version
 I4	   6920 #define rab64$w_verminor rab64$r_version64_overlay.rab64$r_version_fields_1.rab64$w_verminor
 I4	   6921 #define rab64$w_vermajor rab64$r_version64_overlay.rab64$r_version_fields_1.rab64$w_vermajor
 I4	   6922 #define rab$w_verminor rab64$r_version64_overlay.rab64$r_version_fields_2.rab$w_verminor
 I4	   6923 #define rab$w_vermajor rab64$r_version64_overlay.rab64$r_version_fields_2.rab$w_vermajor
 I4	   6924 #define rab64$pq_ubf rab64$r_ubf64_overlay.rab64$pq_ubf
 I4	   6925 #define rab$pq_ubf rab64$r_ubf64_overlay.rab$pq_ubf
 I4	   6926 #define rab64$q_usz rab64$r_usz64_overlay.rab64$q_usz
 I4	   6927 #define rab$q_usz rab64$r_usz64_overlay.rab$q_usz

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 125
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6928 #define rab64$pq_rbf rab64$r_rbf64_overlay.rab64$pq_rbf
 I4	   6929 #define rab$pq_rbf rab64$r_rbf64_overlay.rab$pq_rbf
 I4	   6930 #define rab64$q_rsz rab64$r_rsz64_overlay.rab64$q_rsz
 I4	   6931 #define rab$q_rsz rab64$r_rsz64_overlay.rab$q_rsz
 I4	   6932 #define rab64$pq_kbf rab64$r_kbf64_overlay.rab64$pq_kbf
 I4	   6933 #define rab$pq_kbf rab64$r_kbf64_overlay.rab$pq_kbf
 I4	   6934 #define rab64$pq_rhb rab64$r_rhb64_overlay.rab64$pq_rhb
 I4	   6935 #define rab$pq_rhb rab64$r_rhb64_overlay.rab$pq_rhb
 I4	   6936 #define rab64$q_ctx rab64$r_ctx64_overlay.rab64$q_ctx
 I4	   6937 #define rab$q_ctx rab64$r_ctx64_overlay.rab$q_ctx
 I4	   6938 #define rab64$l_ropext rab64$r_ropext_overlay_rab64.rab64$l_ropext
 I4	   6939 #define rab$l_ropext rab64$r_ropext_overlay_rab64.rab$l_ropext
 I4	   6940 #define rab64$v_reserved29 rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_1.rab64$v_reserved29
 I4	   6941 #define rab64$v_reserved30 rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_1.rab64$v_reserved30
 I4	   6942 #define rab64$v_reserved31 rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_1.rab64$v_reserved31
 I4	   6943 #define rab$v_reserved29 rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_2.rab$v_reserved29
 I4	   6944 #define rab$v_reserved30 rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_2.rab$v_reserved30
 I4	   6945 #define rab$v_reserved31 rab64$r_ropext_overlay_rab64.rab64$r_ropext_bits0_2.rab$v_reserved31
 I4	   6946 #define rab64$l_mbf rab64$r_mbf_overlay.rab64$l_mbf
 I4	   6947 #define rab$l_mbf rab64$r_mbf_overlay.rab$l_mbf
 I4	   6948 #define rab64$l_mbc rab64$r_mbc_overlay.rab64$l_mbc
 I4	   6949 #define rab$l_mbc rab64$r_mbc_overlay.rab$l_mbc
 I4	   6950 #define rab64$l_reserved_1 rab64$r_reserved_1_overlay.rab64$l_reserved_1
 I4	   6951 #define rab$l_reserved_1 rab64$r_reserved_1_overlay.rab$l_reserved_1
 I4	   6952 #endif		/* #if !defined(__VAXC) */
 I4	   6953  
 I4	   6954 #endif	    /* #ifdef __NEW_STARLET */
 I4	   6955 /* end of 64-bit rab variant                                                */
 I4	   6956 #define RAB64$K_BLN64 144               /* length of 64-bit rab variant     */
 I4	   6957 #define RAB64$C_BLN64 144               /* length of 64-bit rab variant     */
 I4	   6958 #define RAB$K_BLN64 144                 /* length of 64-bit rab variant     */
 I4	   6959 #define RAB$C_BLN64 144                 /* length of 64-bit rab variant     */
 I4	   6960 #define RAB$K_MAXBLN 144                /* current maximum length of rab    */
 I4	   6961 #define RAB$C_MAXBLN 144                /* current maximum length of rab    */
 I4	   6962 	
 I4	   6963 /* These are traditional macros that should be hand-maintained for compatibility */
 I4	   6964 /* Do not have to add new ones, but do have to maintain those that are here already. */
 I4	   6965 #define RAB64$V_PPF_RAT	6		/* rat value for process-permanent files */
 I4	   6966 #define RAB64$S_PPF_RAT	8
 I4	   6967 #define RAB64$V_PPF_IND	14		/* indirect access to process-permanent file */
 I4	   6968 #define RAB64$V_ASY	0		/* asynchronous operations */
 I4	   6969 #define RAB64$V_TPT	1		/* truncate-on-put - allow sequential put not at eof */
 I4	   6970 #define RAB64$V_REA	2		/* lock record for read only, allow other readers */
 I4	   6971 #define RAB64$V_RRL	3		/* read record regardless of lock */
 I4	   6972 #define RAB64$V_UIF	4		/* update if existent */
 I4	   6973 #define RAB64$V_MAS	5		/* mass-insert mode */
 I4	   6974 #define RAB64$V_FDL	6		/* fast record deletion */
 I4	   6975 #define RAB64$V_REV	7		/* reverse-search */
 I4	   6976 #define RAB64$V_EOF	8		/* connect to end-of-file */
 I4	   6977 #define RAB64$V_RAH	9		/* read ahead */
 I4	   6978 #define RAB64$V_WBH	10		/* write behind */
 I4	   6979 #define RAB64$V_BIO	11		/* connect for block I/O only */
 I4	   6980 #define RAB64$V_CDK	12		/* check for duplicate keys on $GET */
 I4	   6981 #define RAB64$V_LOA	13		/* load buckets according to the file size */
 I4	   6982 #define RAB64$V_LIM	14		/* compare for key limit reached on $get/$find seq.(idx only) */
 I4	   6983 #define RAB64$V_SYNCSTS	15		/* Synchronous status notification for asynchronous routines. */
 I4	   6984 #define RAB64$V_LOC	16		/* use locate mode */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 126
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RABDEF)

 I4	   6985 #define RAB64$V_WAT	17		/* wait if record not available */
 I4	   6986 #define RAB64$V_ULK	18		/* manual unlocking */
 I4	   6987 #define RAB64$V_RLK	19		/* allow readers for this locked record */
 I4	   6988 #define RAB64$V_NLK	20		/* do not lock record */
 I4	   6989 #define RAB64$V_KGE	21		/* key is greater than or equal to */
 I4	   6990 #define RAB64$V_KGT	22		/* key is greater than */
 I4	   6991 #define RAB64$V_NXR	23		/* non-existent record processing */
 I4	   6992 #define RAB64$V_RNE	24		/* read no echo */
 I4	   6993 #define RAB64$V_TMO	25		/* use time-out period */
 I4	   6994 #define RAB64$V_CVT	26		/* convert to upper case */
 I4	   6995 #define RAB64$V_RNF	27		/* read no filter */
 I4	   6996 #define RAB64$V_ETO	28		/* extended terminal operation */
 I4	   6997 #define RAB64$V_PTA	29		/* purge type ahead */
 I4	   6998 #define RAB64$V_PMT	30		/* use prompt buffer */
 I4	   6999 #define RAB64$V_CCO	31		/* cancel control O on output */
 I4	   7000 #define RAB64$V_EQNXT 	21		/*  Synonym for KGE */
 I4	   7001 #define RAB64$V_NXT  	22		/*  Synonym for KGT */
 I4    X   7002 #ifdef __NEW_STARLET
 I4    X   7003 #define RAB64 _rab64def
 I4    X   7004 #else
 I4	   7005 #define RAB64 rab64def
 I4	   7006 #endif
 I4	   7007 #define cc$rms_rab64 (*decc$ga_rms_rab64)
 I4	   7008 #if defined(__DECC) || defined(__DECCXX)
 I4	   7009 # pragma extern_model __save
 I4	   7010 # pragma extern_model strict_refdef
 I4	   7011 #ifdef __INITIAL_POINTER_SIZE                /* Defined whenever ptr size pragmas supported */
 I4	   7012 #pragma __required_pointer_size __save       /* Save the previously-defined required ptr size */
 I4	   7013 #pragma __required_pointer_size __short	     /* And set ptr size default to 32-bit pointers */
 I4	   7014 #endif
 I4	   7015    extern struct RAB64 cc$rms_rab64;         /* Declare initialized prototype data structures */
       E	                  rab64def
       E	                        ( * decc$ga_rms_rab64 )
 I4	   7016 #ifdef __INITIAL_POINTER_SIZE                /* Defined whenever ptr size pragmas supported */
 I4	   7017 #pragma __required_pointer_size __restore    /* Restore the previously-defined required ptr size */
 I4	   7018 #endif
 I4	   7019 # pragma extern_model __restore
 I4    X   7020 #else
 I4    X   7021    globalref struct RAB64 cc$rms_rab64;	     /* Declare initialized prototype data structures */
 I4    X   7022 #endif
 I4	   7023 	
 I4	   7024  
 I4	   7025 #pragma __member_alignment __restore
 I4	   7026 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	   7027 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I4	   7028 #endif
 I4    X   7029 #ifdef __cplusplus
 I4    X   7030     }
 I4    X   7031 #endif
 I4	   7032 #pragma __standard
 I4	   7033  
 I4	   7034 #endif /* __RABDEF_LOADED */
 I4	   7035  
 I3	   7036 # include <xab.h>
 I4	   7037 #ifndef __XAB_LOADED
 I4	   7038 #define __XAB_LOADED	1
 I4	   7039 #pragma nostandard

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 127
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(XAB)

 I4	   7040 
 I4	   7041 /*	XAB - V3.0	*/
 I4	   7042 
 I4	   7043 /* Include all of the definitions for different types of XAB blocks */
 I4	   7044 #include <XABALLDEF.H>
 I5	   7045 /*******************************************************************************************************************
 I5	   7045 *************/
 I5	   7046 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   7047 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   7048 /*******************************************************************************************************************
 I5	   7048 *************/
 I5	   7049 /*** MODULE $XABALLDEF ***/
 I5	   7050 #ifndef __XABALLDEF_LOADED
 I5	   7051 #define __XABALLDEF_LOADED 1
 I5	   7052  
 I5	   7053 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   7054 #pragma __member_alignment __save
 I5	   7055 #pragma __nomember_alignment
 I5	   7056 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7057 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   7058 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   7059 #endif
 I5	   7060  
 I5    X   7061 #ifdef __cplusplus
 I5    X   7062     extern "C" {
 I5    X   7063 #define __unknown_params ...
 I5    X   7064 #define __optional_params ...
 I5    X   7065 #else
 I5	   7066 #define __unknown_params
 I5	   7067 #define __optional_params ...
 I5	   7068 #endif
 I5	   7069  
 I5    X   7070 #ifndef __struct
 I5    X   7071 #if !defined(__VAXC)
 I5    X   7072 #define __struct struct
 I5    X   7073 #else
 I5    X   7074 #define __struct variant_struct
 I5    X   7075 #endif
 I5    X   7076 #endif
 I5	   7077  
 I5    X   7078 #ifndef __union
 I5    X   7079 #if !defined(__VAXC)
 I5    X   7080 #define __union union
 I5    X   7081 #else
 I5    X   7082 #define __union variant_union
 I5    X   7083 #endif
 I5    X   7084 #endif
 I5	   7085  
 I5	   7086 /*                                                                          */
 I5	   7087 /*        allocation xab definitions                                        */
 I5	   7088 /*                $xaballdef                                                */
 I5	   7089 /*                                                                          */
 I5	   7090 /*  the fields thru bkz cannot be rearranged due to                         */
 I5	   7091 /*  their commonality with fab                                              */
 I5	   7092 /*                                                                          */
 I5	   7093 #define XAB$C_ALL 20                    /* xaball id code                   */
 I5	   7094 #define XAB$M_HRD 0x1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 128
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABALLDEF)

 I5	   7095 #define XAB$M_ONC 0x2
 I5	   7096 #define XAB$M_CBT 0x20
 I5	   7097 #define XAB$M_CTG 0x80
 I5	   7098 #define XAB$C_ANY 0                     /* any allocation o.k.              */
 I5	   7099 #define XAB$C_CYL 1                     /* cylinder boundary                */
 I5	   7100 #define XAB$C_LBN 2                     /* allocate at specified lbn        */
 I5	   7101 #define XAB$C_VBN 3                     /* allocate near specified vbn      */
 I5	   7102 #define XAB$C_RFI 4                     /* allocate near related file       */
 I5	   7103 	
 I5    X   7104 #ifdef __NEW_STARLET
 I5    X   7105 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   7106 #pragma __nomember_alignment __longword
 I5    X   7107 #else
 I5    X   7108 #pragma __nomember_alignment
 I5    X   7109 #endif
 I5    X   7110 typedef struct _xaballdef {
 I5    X   7111 #pragma __nomember_alignment
 I5    X   7112     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   7113     unsigned char xab$b_bln;            /* block length                     */
 I5    X   7114     short int xaballdef$$_fill_1;       /* (spare)                          */
 I5    X   7115     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   7116     __union  {
 I5    X   7117         unsigned char xab$b_aop;        /* allocation options               */
 I5    X   7118         __struct  {
 I5    X   7119             unsigned xab$v_hrd : 1;     /* fail if requested alignment impossible */
 I5    X   7120             unsigned xab$v_onc : 1;     /* locate allocated space within a cylinder */
 I5    X   7121             unsigned xaballdef$$_fill_5 : 3; /* (spares)                    */
 I5    X   7122             unsigned xab$v_cbt : 1;     /* contiguous alllocation, best try */
 I5    X   7123             unsigned xaballdef$$_fill_6 : 1; /* spare                       */
 I5    X   7124             unsigned xab$v_ctg : 1;     /* contiguous allocation            */
 I5    X   7125             } xab$r_aop_bits;
 I5    X   7126         } xab$r_aop_overlay;
 I5    X   7127     unsigned char xab$b_aln;            /* alignment type                   */
 I5    X   7128     unsigned short int xab$w_vol;       /* relative volume no. for allocation */
 I5    X   7129 /* (not applicable if aln = vbn or rfi)                                     */
 I5    X   7130     unsigned int xab$l_loc;             /* allocation location              */
 I5    X   7131     unsigned int xab$l_alq;             /* allocation quantity              */
 I5    X   7132     unsigned short int xab$w_deq;       /* default allocation quantity      */
 I5    X   7133     unsigned char xab$b_bkz;            /*COMMON TO FHC AND ALQ XABS        */
 I5    X   7134     unsigned char xab$b_aid;            /* area id number                   */
 I5    X   7135     __union  {
 I5    X   7136         unsigned short int xab$w_rfi [3]; /* related file id                */
 I5    X   7137         __struct  {
 I5    X   7138             unsigned short int xab$w_rfi0; /* file number                   */
 I5    X   7139             unsigned short int xab$w_rfi2; /* seq number                    */
 I5    X   7140             unsigned short int xab$w_rfi4; /* rev number                    */
 I5    X   7141             } xab$r_rfi_fields;
 I5    X   7142         } xab$r_rfi_overlay;
 I5    X   7143     short int xaballdef$$_fill_8;       /* (spare)                          */
 I5    X   7144     } XABALLDEF;
 I5    X   7145  
 I5    X   7146 #if !defined(__VAXC)
 I5    X   7147 #define xab$b_aop xab$r_aop_overlay.xab$b_aop
 I5    X   7148 #define xab$r_aop_bits	xab$r_aop_overlay.xab$r_aop_bits
 I5    X   7149 #define xab$v_hrd xab$r_aop_bits.xab$v_hrd
 I5    X   7150 #define xab$v_onc xab$r_aop_bits.xab$v_onc
 I5    X   7151 #define xab$v_cbt xab$r_aop_bits.xab$v_cbt

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 129
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABALLDEF)

 I5    X   7152 #define xab$v_ctg xab$r_aop_bits.xab$v_ctg
 I5    X   7153 #define xab$w_rfi xab$r_rfi_overlay.xab$w_rfi
 I5    X   7154 #define xab$r_rfi_fields	xab$r_rfi_overlay.xab$r_rfi_fields
 I5    X   7155 #define xab$w_rfi0 xab$r_rfi_fields.xab$w_rfi0
 I5    X   7156 #define xab$w_rfi2 xab$r_rfi_fields.xab$w_rfi2
 I5    X   7157 #define xab$w_rfi4 xab$r_rfi_fields.xab$w_rfi4
 I5    X   7158 #endif		/* #if !defined(__VAXC) */
 I5    X   7159  
 I5    X   7160 #else	    /* __OLD_STARLET */
 I5	   7161 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   7162 #pragma __nomember_alignment __longword
 I5    X   7163 #else
 I5    X   7164 #pragma __nomember_alignment
 I5    X   7165 #endif
 I5	   7166 struct xaballdef {
 I5	   7167 #pragma __nomember_alignment
 I5	   7168     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   7169     unsigned char xab$b_bln;            /* block length                     */
 I5	   7170     short int xaballdef$$_fill_1;       /* (spare)                          */
 I5	   7171     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   7172     __union  {
       E	     union
 I5	   7173         unsigned char xab$b_aop;        /* allocation options               */
 I5	   7174         __struct  {
       E	         struct
 I5	   7175             unsigned xab$v_hrd : 1;     /* fail if requested alignment impossible */
 I5	   7176             unsigned xab$v_onc : 1;     /* locate allocated space within a cylinder */
 I5	   7177             unsigned xaballdef$$_fill_5 : 3; /* (spares)                    */
 I5	   7178             unsigned xab$v_cbt : 1;     /* contiguous alllocation, best try */
 I5	   7179             unsigned xaballdef$$_fill_6 : 1; /* spare                       */
 I5	   7180             unsigned xab$v_ctg : 1;     /* contiguous allocation            */
 I5	   7181             } xab$r_aop_bits;
 I5	   7182         } xab$r_aop_overlay;
 I5	   7183     unsigned char xab$b_aln;            /* alignment type                   */
 I5	   7184     unsigned short int xab$w_vol;       /* relative volume no. for allocation */
 I5	   7185 /* (not applicable if aln = vbn or rfi)                                     */
 I5	   7186     unsigned int xab$l_loc;             /* allocation location              */
 I5	   7187     unsigned int xab$l_alq;             /* allocation quantity              */
 I5	   7188     unsigned short int xab$w_deq;       /* default allocation quantity      */
 I5	   7189     unsigned char xab$b_bkz;            /*COMMON TO FHC AND ALQ XABS        */
 I5	   7190     unsigned char xab$b_aid;            /* area id number                   */
 I5	   7191     __union  {
       E	     union
 I5	   7192         unsigned short int xab$w_rfi [3]; /* related file id                */
 I5	   7193         __struct  {
       E	         struct
 I5	   7194             unsigned short int xab$w_rfi0; /* file number                   */
 I5	   7195             unsigned short int xab$w_rfi2; /* seq number                    */
 I5	   7196             unsigned short int xab$w_rfi4; /* rev number                    */
 I5	   7197             } xab$r_rfi_fields;
 I5	   7198         } xab$r_rfi_overlay;
 I5	   7199     short int xaballdef$$_fill_8;       /* (spare)                          */
 I5	   7200     } ;
 I5	   7201  
 I5	   7202 #if !defined(__VAXC)
 I5	   7203 #define xab$b_aop xab$r_aop_overlay.xab$b_aop
 I5	   7204 #define xab$v_hrd xab$r_aop_overlay.xab$r_aop_bits.xab$v_hrd

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 130
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABALLDEF)

 I5	   7205 #define xab$v_onc xab$r_aop_overlay.xab$r_aop_bits.xab$v_onc
 I5	   7206 #define xab$v_cbt xab$r_aop_overlay.xab$r_aop_bits.xab$v_cbt
 I5	   7207 #define xab$v_ctg xab$r_aop_overlay.xab$r_aop_bits.xab$v_ctg
 I5	   7208 #define xab$w_rfi xab$r_rfi_overlay.xab$w_rfi
 I5	   7209 #define xab$w_rfi0 xab$r_rfi_overlay.xab$r_rfi_fields.xab$w_rfi0
 I5	   7210 #define xab$w_rfi2 xab$r_rfi_overlay.xab$r_rfi_fields.xab$w_rfi2
 I5	   7211 #define xab$w_rfi4 xab$r_rfi_overlay.xab$r_rfi_fields.xab$w_rfi4
 I5	   7212 #endif		/* #if !defined(__VAXC) */
 I5	   7213  
 I5	   7214 #endif	    /* #ifdef __NEW_STARLET */
 I5	   7215 /* basealign on aggregate XABALLDEF operates after aggregate end            */
 I5	   7216 #define XAB$K_ALLLEN 32                 /* length of xaball                 */
 I5	   7217 #define XAB$C_ALLLEN 32                 /* length of xaball                 */
 I5	   7218 	
 I5	   7219 /* These are traditional macros that should be hand-maintained for compatibility */
 I5	   7220 /* Do not have to add new ones, but do have to maintain those that are here already. */
 I5	   7221 #define XAB$V_HRD	0		/* fail if requestd alignmt cannot be performed */
 I5	   7222 #define XAB$V_ONC	1		/* locate space on cylinder boundary */
 I5	   7223 #define XAB$V_CBT	5		/* contiguous allocation, best try */
 I5	   7224 #define XAB$V_CTG	7		/* contiguous allocation */
 I5	   7225 /* Note: if you wish to access the xab$w_rfi field defined in the struct,
 I5	   7226  * #undef this macro in your code */
 I5	   7227 #ifndef __cplusplus
 I5	   7228 #undef  xab$w_rfi
 I5	   7229 #define xab$w_rfi	xab$w_rfi0
 I5	   7230 #endif
 I5    X   7231 #ifdef __NEW_STARLET
 I5    X   7232 #define XABALL _xaballdef
 I5    X   7233 #else
 I5	   7234 #define XABALL xaballdef
 I5	   7235 #endif
 I5	   7236 #define cc$rms_xaball (*decc$ga_rms_xaball)
 I5	   7237 #if defined(__DECC) || defined(__DECCXX)
 I5	   7238 # pragma extern_model __save
 I5	   7239 # pragma extern_model strict_refdef
 I5	   7240    extern struct XABALL cc$rms_xaball;		/* Declare initialized prototype data structures */
       E	                  xaballdef
       E	                         ( * decc$ga_rms_xaball )
 I5	   7241 # pragma extern_model __restore
 I5    X   7242 #else
 I5    X   7243    globalref struct XABALL cc$rms_xaball;	/* Declare initialized prototype data structures */
 I5    X   7244 #endif
 I5	   7245 	
 I5	   7246  
 I5	   7247 #pragma __member_alignment __restore
 I5	   7248 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7249 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   7250 #endif
 I5    X   7251 #ifdef __cplusplus
 I5    X   7252     }
 I5    X   7253 #endif
 I5	   7254 #pragma __standard
 I5	   7255  
 I5	   7256 #endif /* __XABALLDEF_LOADED */
 I5	   7257  
 I4	   7258 #include <XABCXFDEF.H>
 I5	   7259 /*******************************************************************************************************************

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 131
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXFDEF)

 I5	   7259 *************/
 I5	   7260 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   7261 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   7262 /*******************************************************************************************************************
 I5	   7262 *************/
 I5	   7263 /*** MODULE $XABCXFDEF ***/
 I5	   7264 #ifndef __XABCXFDEF_LOADED
 I5	   7265 #define __XABCXFDEF_LOADED 1
 I5	   7266  
 I5	   7267 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   7268 #pragma __member_alignment __save
 I5	   7269 #pragma __nomember_alignment
 I5	   7270 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7271 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   7272 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   7273 #endif
 I5	   7274  
 I5    X   7275 #ifdef __cplusplus
 I5    X   7276     extern "C" {
 I5    X   7277 #define __unknown_params ...
 I5    X   7278 #define __optional_params ...
 I5    X   7279 #else
 I5	   7280 #define __unknown_params
 I5	   7281 #define __optional_params ...
 I5	   7282 #endif
 I5	   7283  
 I5    X   7284 #ifndef __struct
 I5    X   7285 #if !defined(__VAXC)
 I5    X   7286 #define __struct struct
 I5    X   7287 #else
 I5    X   7288 #define __struct variant_struct
 I5    X   7289 #endif
 I5    X   7290 #endif
 I5	   7291  
 I5    X   7292 #ifndef __union
 I5    X   7293 #if !defined(__VAXC)
 I5    X   7294 #define __union union
 I5    X   7295 #else
 I5    X   7296 #define __union variant_union
 I5    X   7297 #endif
 I5    X   7298 #endif
 I5	   7299  
 I5	   7300 /*                                                                          */
 I5	   7301 /*        RMS Context XAB associated with the FAB                           */
 I5	   7302 /*                $xabcxfdef                                                */
 I5	   7303 /*                                                                          */
 I5	   7304 #define XAB$C_CXF 32                    /* XABCXF id code                   */
 I5	   7305 #define XAB$M_CXFRST 0x1
 I5	   7306 	
 I5    X   7307 #ifdef __NEW_STARLET
 I5    X   7308 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   7309 #pragma __nomember_alignment __longword
 I5    X   7310 #else
 I5    X   7311 #pragma __nomember_alignment
 I5    X   7312 #endif
 I5    X   7313 typedef struct _xabcxfdef {
 I5    X   7314 #pragma __nomember_alignment

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 132
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXFDEF)

 I5    X   7315     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   7316     unsigned char xab$b_bln;            /* block length                     */
 I5    X   7317     short int xabcxfdef$$_fill_1;       /* (spare)                          */
 I5    X   7318     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   7319 /*                                                                          */
 I5    X   7320 /*        Following in common with the CXR block, too.                      */
 I5    X   7321 /*        Do not rearrange without changing both.                           */
 I5    X   7322 /*                                                                          */
 I5    X   7323     unsigned int xab$l_cxfsts;          /* Status of the last file operation. */
 I5    X   7324     unsigned int xab$l_cxfstv;          /* Status Value of the last file operation. */
 I5    X   7325 /*                                                                          */
 I5    X   7326 /* Top four bits of the options longword are reserved for the XABCXR.  These */
 I5    X   7327 /* bits describe the version of the key buffer.                             */
 I5    X   7328 /*                                                                          */
 I5    X   7329     __union  {
 I5    X   7330         unsigned int xab$l_cxfcop;      /* Context Options.                 */
 I5    X   7331         __struct  {
 I5    X   7332             unsigned xab$v_cxfrst : 1;  /* Restore file state - use context blk as input. */
 I5    X   7333             unsigned xab$v_fill_15_ : 7;
 I5    X   7334             } xab$r_cxfcop_bits;
 I5    X   7335         } xab$r_cxfcop_overlay;
 I5    X   7336     unsigned int xab$l_cxfbkp;          /* Bookkeeping bits                 */
 I5    X   7337     unsigned short int xab$w_cxfifi;    /* Internal File Identifier         */
 I5    X   7338     unsigned char xab$b_cxfver;         /* prologue version num             */
 I5    X   7339     char xabcxfdef$$_fill_5;            /* spare to longword align commonality */
 I5    X   7340     unsigned int xabcxfdef$$_fill_6;    /* spare                            */
 I5    X   7341 /*                                                                          */
 I5    X   7342 /*        Up Till now in common with XABCXR, too.                           */
 I5    X   7343 /*                                                                          */
 I5    X   7344 /*        The following fields correspond to those in the FAB or IFB        */
 I5    X   7345 /*        They should not be rearranged as their order is assumed for       */
 I5    X   7346 /*        purposes of moving large chunks of data rather than a byte        */
 I5    X   7347 /*        or word at a time.  Note: ASSUME is used in the actual code       */
 I5    X   7348 /*                                                                          */
 I5    X   7349     unsigned short int xab$w_cxfdeq;    /* Default extention quantity       */
 I5    X   7350     unsigned char xab$b_cxffac;         /* File access                      */
 I5    X   7351     unsigned char xab$b_cxfshr;         /* File Sharing                     */
 I5    X   7352     unsigned short int xab$w_cxfrte;    /* (Not used)                       */
 I5    X   7353     char xabcxfdef$$_fill_7;            /* spare                            */
 I5    X   7354     unsigned char xab$b_cxforg;         /* file organization                */
 I5    X   7355     unsigned short int xab$w_cxfgbc;    /* global buffer count              */
 I5    X   7356     unsigned char xab$b_cxfrtv;         /* retrieval window                 */
 I5    X   7357     char xabcxfdef$$_fill_8;
 I5    X   7358     unsigned int xabcxfdef$$_fill_9 [4]; /* spares                          */
 I5    X   7359     } XABCXFDEF;
 I5    X   7360  
 I5    X   7361 #if !defined(__VAXC)
 I5    X   7362 #define xab$l_cxfcop xab$r_cxfcop_overlay.xab$l_cxfcop
 I5    X   7363 #define xab$r_cxfcop_bits	xab$r_cxfcop_overlay.xab$r_cxfcop_bits
 I5    X   7364 #define xab$v_cxfrst xab$r_cxfcop_bits.xab$v_cxfrst
 I5    X   7365 #endif		/* #if !defined(__VAXC) */
 I5    X   7366  
 I5    X   7367 #else	    /* __OLD_STARLET */
 I5	   7368 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   7369 #pragma __nomember_alignment __longword
 I5    X   7370 #else
 I5    X   7371 #pragma __nomember_alignment

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 133
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXFDEF)

 I5    X   7372 #endif
 I5	   7373 struct xabcxfdef {
 I5	   7374 #pragma __nomember_alignment
 I5	   7375     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   7376     unsigned char xab$b_bln;            /* block length                     */
 I5	   7377     short int xabcxfdef$$_fill_1;       /* (spare)                          */
 I5	   7378     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   7379 /*                                                                          */
 I5	   7380 /*        Following in common with the CXR block, too.                      */
 I5	   7381 /*        Do not rearrange without changing both.                           */
 I5	   7382 /*                                                                          */
 I5	   7383     unsigned int xab$l_cxfsts;          /* Status of the last file operation. */
 I5	   7384     unsigned int xab$l_cxfstv;          /* Status Value of the last file operation. */
 I5	   7385 /*                                                                          */
 I5	   7386 /* Top four bits of the options longword are reserved for the XABCXR.  These */
 I5	   7387 /* bits describe the version of the key buffer.                             */
 I5	   7388 /*                                                                          */
 I5	   7389     __union  {
       E	     union
 I5	   7390         unsigned int xab$l_cxfcop;      /* Context Options.                 */
 I5	   7391         __struct  {
       E	         struct
 I5	   7392             unsigned xab$v_cxfrst : 1;  /* Restore file state - use context blk as input. */
 I5	   7393             unsigned xab$v_fill_15_ : 7;
 I5	   7394             } xab$r_cxfcop_bits;
 I5	   7395         } xab$r_cxfcop_overlay;
 I5	   7396     unsigned int xab$l_cxfbkp;          /* Bookkeeping bits                 */
 I5	   7397     unsigned short int xab$w_cxfifi;    /* Internal File Identifier         */
 I5	   7398     unsigned char xab$b_cxfver;         /* prologue version num             */
 I5	   7399     char xabcxfdef$$_fill_5;            /* spare to longword align commonality */
 I5	   7400     unsigned int xabcxfdef$$_fill_6;    /* spare                            */
 I5	   7401 /*                                                                          */
 I5	   7402 /*        Up Till now in common with XABCXR, too.                           */
 I5	   7403 /*                                                                          */
 I5	   7404 /*        The following fields correspond to those in the FAB or IFB        */
 I5	   7405 /*        They should not be rearranged as their order is assumed for       */
 I5	   7406 /*        purposes of moving large chunks of data rather than a byte        */
 I5	   7407 /*        or word at a time.  Note: ASSUME is used in the actual code       */
 I5	   7408 /*                                                                          */
 I5	   7409     unsigned short int xab$w_cxfdeq;    /* Default extention quantity       */
 I5	   7410     unsigned char xab$b_cxffac;         /* File access                      */
 I5	   7411     unsigned char xab$b_cxfshr;         /* File Sharing                     */
 I5	   7412     unsigned short int xab$w_cxfrte;    /* (Not used)                       */
 I5	   7413     char xabcxfdef$$_fill_7;            /* spare                            */
 I5	   7414     unsigned char xab$b_cxforg;         /* file organization                */
 I5	   7415     unsigned short int xab$w_cxfgbc;    /* global buffer count              */
 I5	   7416     unsigned char xab$b_cxfrtv;         /* retrieval window                 */
 I5	   7417     char xabcxfdef$$_fill_8;
 I5	   7418     unsigned int xabcxfdef$$_fill_9 [4]; /* spares                          */
 I5	   7419     } ;
 I5	   7420  
 I5	   7421 #if !defined(__VAXC)
 I5	   7422 #define xab$l_cxfcop xab$r_cxfcop_overlay.xab$l_cxfcop
 I5	   7423 #define xab$v_cxfrst xab$r_cxfcop_overlay.xab$r_cxfcop_bits.xab$v_cxfrst
 I5	   7424 #endif		/* #if !defined(__VAXC) */
 I5	   7425  
 I5	   7426 #endif	    /* #ifdef __NEW_STARLET */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 134
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXFDEF)

 I5	   7427 /* basealign on aggregate XABCXFDEF operates after aggregate end            */
 I5	   7428 #define XAB$K_CXFLEN 60                 /* length of xab type CXF           */
 I5	   7429 #define XAB$C_CXFLEN 60                 /* length of xab type CXF           */
 I5	   7430 	
 I5    X   7431 #ifdef __NEW_STARLET
 I5    X   7432 #define XABCXF _xabcxfdef
 I5    X   7433 #else
 I5	   7434 #define XABCXF xabcxfdef
 I5	   7435 #endif
 I5	   7436 	
 I5	   7437  
 I5	   7438 #pragma __member_alignment __restore
 I5	   7439 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7440 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   7441 #endif
 I5    X   7442 #ifdef __cplusplus
 I5    X   7443     }
 I5    X   7444 #endif
 I5	   7445 #pragma __standard
 I5	   7446  
 I5	   7447 #endif /* __XABCXFDEF_LOADED */
 I5	   7448  
 I4	   7449 #include <XABCXRDEF.H>
 I5	   7450 /*******************************************************************************************************************
 I5	   7450 *************/
 I5	   7451 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   7452 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   7453 /*******************************************************************************************************************
 I5	   7453 *************/
 I5	   7454 /*** MODULE $XABCXRDEF ***/
 I5	   7455 #ifndef __XABCXRDEF_LOADED
 I5	   7456 #define __XABCXRDEF_LOADED 1
 I5	   7457  
 I5	   7458 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   7459 #pragma __member_alignment __save
 I5	   7460 #pragma __nomember_alignment
 I5	   7461 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7462 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   7463 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   7464 #endif
 I5	   7465  
 I5    X   7466 #ifdef __cplusplus
 I5    X   7467     extern "C" {
 I5    X   7468 #define __unknown_params ...
 I5    X   7469 #define __optional_params ...
 I5    X   7470 #else
 I5	   7471 #define __unknown_params
 I5	   7472 #define __optional_params ...
 I5	   7473 #endif
 I5	   7474  
 I5    X   7475 #ifndef __struct
 I5    X   7476 #if !defined(__VAXC)
 I5    X   7477 #define __struct struct
 I5    X   7478 #else
 I5    X   7479 #define __struct variant_struct
 I5    X   7480 #endif
 I5    X   7481 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 135
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXRDEF)

 I5	   7482  
 I5    X   7483 #ifndef __union
 I5    X   7484 #if !defined(__VAXC)
 I5    X   7485 #define __union union
 I5    X   7486 #else
 I5    X   7487 #define __union variant_union
 I5    X   7488 #endif
 I5    X   7489 #endif
 I5	   7490  
 I5	   7491 /*                                                                          */
 I5	   7492 /*        RMS Context XAB associated with the RAB                           */
 I5	   7493 /*                $xabcxrdef                                                */
 I5	   7494 /*                                                                          */
 I5	   7495 #define XAB$C_CXR 33                    /* XABCXR id code                   */
 I5	   7496 #define XAB$M_CXRRST 0x1
 I5	   7497 #define XAB$C_CXB_VER1 1
 I5	   7498 #define XAB$C_CXRBLEN 512               /* Length of CXRBUF (bytes)         */
 I5	   7499 	
 I5    X   7500 #ifdef __NEW_STARLET
 I5    X   7501 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   7502 #pragma __nomember_alignment __longword
 I5    X   7503 #else
 I5    X   7504 #pragma __nomember_alignment
 I5    X   7505 #endif
 I5    X   7506 typedef struct _xabcxrdef {
 I5    X   7507 #pragma __nomember_alignment
 I5    X   7508     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   7509     unsigned char xab$b_bln;            /* block length                     */
 I5    X   7510     short int xabcxrdef$$_fill_1;       /* (spare)                          */
 I5    X   7511     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   7512 /*                                                                          */
 I5    X   7513 /*        Following in common with the CXF block, too.                      */
 I5    X   7514 /*        Do not rearrange without changing it.                             */
 I5    X   7515 /*                                                                          */
 I5    X   7516     unsigned int xab$l_cxrsts;          /* Status of the last record operation. */
 I5    X   7517     unsigned int xab$l_cxrstv;          /* Status Value of the last record operation. */
 I5    X   7518     __union  {
 I5    X   7519         unsigned int xab$l_cxrcop;      /* Context Options.                 */
 I5    X   7520         __struct  {
 I5    X   7521             unsigned xab$v_cxrrst : 1;  /* Restore file/record state - use context blk as input. */
 I5    X   7522             unsigned xabcxrdef$$_fill_5 : 27;
 I5    X   7523             unsigned xab$v_cxrbver : 4; /* Version of Key buffer            */
 I5    X   7524             } xab$r_cxrcop_bits;
 I5    X   7525         } xab$r_cxrcop_overlay;
 I5    X   7526     unsigned int xab$l_cxrbkp;          /* Bookkeeping bits                 */
 I5    X   7527     unsigned short int xab$w_cxrisi;    /* Internal Record Identifier       */
 I5    X   7528     unsigned char xab$b_cxrver;         /* prologue version num.            */
 I5    X   7529     char xabcxrdef$$_fill_6;            /* spare to longword align commonality */
 I5    X   7530     unsigned int xabcxrdef$$_fill_7;    /* spare                            */
 I5    X   7531 /*                                                                          */
 I5    X   7532 /*        Up Till now in common with XABCXF, too.                           */
 I5    X   7533 /*                                                                          */
 I5    X   7534 /*                                                                          */
 I5    X   7535 /*        The following elements are arranged such that large amounts of    */
 I5    X   7536 /*        data can be moved at a time rather than words or bytes.  Do not   */
 I5    X   7537 /*        rearrange them without this consideration in mind.                */
 I5    X   7538 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 136
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXRDEF)

 I5    X   7539 /*	  The following elements are stream dependent regardless of file org. */
 I5    X   7540 /*                                                                          */
 I5    X   7541     unsigned char xab$b_cxrmbf;         /* Multibuffer count                */
 I5    X   7542     unsigned char xab$b_cxrmbc;         /* Multiblock count                 */
 I5    X   7543     unsigned short int xab$w_cxrbfz;    /* sz in byte of CXRBUF             */
 I5    X   7544 /*                                                                          */
 I5    X   7545 /*	The following elements are necessary for saving the NRP context for */
 I5    X   7546 /*	Sequential and Relative files.                                      */
 I5    X   7547 /*                                                                          */
 I5    X   7548     unsigned int xab$l_cxrvbn;          /* NRP VBN                          */
 I5    X   7549     unsigned short int xab$w_cxroff;    /* NRP offset in VBN                */
 I5    X   7550     unsigned short int xab$w_fill_8;    /* mbz - longword align             */
 I5    X   7551 /*                                                                          */
 I5    X   7552 /*	The following elements are necessary for saving the NRP context for */
 I5    X   7553 /*	ISAM files.                                                         */
 I5    X   7554 /*                                                                          */
 I5    X   7555     unsigned int xab$l_cxrpos0;         /* Primary Positioning RFA          */
 I5    X   7556     unsigned short int xab$w_cxrpos4;
 I5    X   7557     short int xabcxrdef$$_fill_9;       /* Spare MBZ                        */
 I5    X   7558     unsigned int xab$l_cxrcur0;         /* Current Positioning RFA          */
 I5    X   7559     unsigned short int xab$w_cxrcur4;
 I5    X   7560     short int xabcxrdef$$_fill_10;      /* Spare MBZ                        */
 I5    X   7561     unsigned int xab$l_cxrsid0;         /* SIDR positioning RFA             */
 I5    X   7562     unsigned short int xab$w_cxrsid4;
 I5    X   7563     short int xabcxrdef$$_fill_11;      /* Spare MBZ                        */
 I5    X   7564     unsigned short int xab$w_cxrcnt;    /* SIDR array count                 */
 I5    X   7565     unsigned char xab$b_cxrkref;        /* Cur Key of Reference             */
 I5    X   7566     unsigned char xab$b_cxrklen;        /* Length of key                    */
 I5    X   7567     char *xab$l_cxrbuf;                 /* address of key buf               */
 I5    X   7568     unsigned int xabcxrdef$$_fill_12 [2]; /* Spares                         */
 I5    X   7569     } XABCXRDEF;
 I5    X   7570  
 I5    X   7571 #if !defined(__VAXC)
 I5    X   7572 #define xab$l_cxrcop xab$r_cxrcop_overlay.xab$l_cxrcop
 I5    X   7573 #define xab$r_cxrcop_bits	xab$r_cxrcop_overlay.xab$r_cxrcop_bits
 I5    X   7574 #define xab$v_cxrrst xab$r_cxrcop_bits.xab$v_cxrrst
 I5    X   7575 #define xab$v_cxrbver xab$r_cxrcop_bits.xab$v_cxrbver
 I5    X   7576 #endif		/* #if !defined(__VAXC) */
 I5    X   7577  
 I5    X   7578 #else	    /* __OLD_STARLET */
 I5	   7579 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   7580 #pragma __nomember_alignment __longword
 I5    X   7581 #else
 I5    X   7582 #pragma __nomember_alignment
 I5    X   7583 #endif
 I5	   7584 struct xabcxrdef {
 I5	   7585 #pragma __nomember_alignment
 I5	   7586     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   7587     unsigned char xab$b_bln;            /* block length                     */
 I5	   7588     short int xabcxrdef$$_fill_1;       /* (spare)                          */
 I5	   7589     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   7590 /*                                                                          */
 I5	   7591 /*        Following in common with the CXF block, too.                      */
 I5	   7592 /*        Do not rearrange without changing it.                             */
 I5	   7593 /*                                                                          */
 I5	   7594     unsigned int xab$l_cxrsts;          /* Status of the last record operation. */
 I5	   7595     unsigned int xab$l_cxrstv;          /* Status Value of the last record operation. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 137
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXRDEF)

 I5	   7596     __union  {
       E	     union
 I5	   7597         unsigned int xab$l_cxrcop;      /* Context Options.                 */
 I5	   7598         __struct  {
       E	         struct
 I5	   7599             unsigned xab$v_cxrrst : 1;  /* Restore file/record state - use context blk as input. */
 I5	   7600             unsigned xabcxrdef$$_fill_5 : 27;
 I5	   7601             unsigned xab$v_cxrbver : 4; /* Version of Key buffer            */
 I5	   7602             } xab$r_cxrcop_bits;
 I5	   7603         } xab$r_cxrcop_overlay;
 I5	   7604     unsigned int xab$l_cxrbkp;          /* Bookkeeping bits                 */
 I5	   7605     unsigned short int xab$w_cxrisi;    /* Internal Record Identifier       */
 I5	   7606     unsigned char xab$b_cxrver;         /* prologue version num.            */
 I5	   7607     char xabcxrdef$$_fill_6;            /* spare to longword align commonality */
 I5	   7608     unsigned int xabcxrdef$$_fill_7;    /* spare                            */
 I5	   7609 /*                                                                          */
 I5	   7610 /*        Up Till now in common with XABCXF, too.                           */
 I5	   7611 /*                                                                          */
 I5	   7612 /*                                                                          */
 I5	   7613 /*        The following elements are arranged such that large amounts of    */
 I5	   7614 /*        data can be moved at a time rather than words or bytes.  Do not   */
 I5	   7615 /*        rearrange them without this consideration in mind.                */
 I5	   7616 /*                                                                          */
 I5	   7617 /*	  The following elements are stream dependent regardless of file org. */
 I5	   7618 /*                                                                          */
 I5	   7619     unsigned char xab$b_cxrmbf;         /* Multibuffer count                */
 I5	   7620     unsigned char xab$b_cxrmbc;         /* Multiblock count                 */
 I5	   7621     unsigned short int xab$w_cxrbfz;    /* sz in byte of CXRBUF             */
 I5	   7622 /*                                                                          */
 I5	   7623 /*	The following elements are necessary for saving the NRP context for */
 I5	   7624 /*	Sequential and Relative files.                                      */
 I5	   7625 /*                                                                          */
 I5	   7626     unsigned int xab$l_cxrvbn;          /* NRP VBN                          */
 I5	   7627     unsigned short int xab$w_cxroff;    /* NRP offset in VBN                */
 I5	   7628     unsigned short int xab$w_fill_8;    /* mbz - longword align             */
 I5	   7629 /*                                                                          */
 I5	   7630 /*	The following elements are necessary for saving the NRP context for */
 I5	   7631 /*	ISAM files.                                                         */
 I5	   7632 /*                                                                          */
 I5	   7633     unsigned int xab$l_cxrpos0;         /* Primary Positioning RFA          */
 I5	   7634     unsigned short int xab$w_cxrpos4;
 I5	   7635     short int xabcxrdef$$_fill_9;       /* Spare MBZ                        */
 I5	   7636     unsigned int xab$l_cxrcur0;         /* Current Positioning RFA          */
 I5	   7637     unsigned short int xab$w_cxrcur4;
 I5	   7638     short int xabcxrdef$$_fill_10;      /* Spare MBZ                        */
 I5	   7639     unsigned int xab$l_cxrsid0;         /* SIDR positioning RFA             */
 I5	   7640     unsigned short int xab$w_cxrsid4;
 I5	   7641     short int xabcxrdef$$_fill_11;      /* Spare MBZ                        */
 I5	   7642     unsigned short int xab$w_cxrcnt;    /* SIDR array count                 */
 I5	   7643     unsigned char xab$b_cxrkref;        /* Cur Key of Reference             */
 I5	   7644     unsigned char xab$b_cxrklen;        /* Length of key                    */
 I5	   7645     char *xab$l_cxrbuf;                 /* address of key buf               */
 I5	   7646     unsigned int xabcxrdef$$_fill_12 [2]; /* Spares                         */
 I5	   7647     } ;
 I5	   7648  
 I5	   7649 #if !defined(__VAXC)
 I5	   7650 #define xab$l_cxrcop xab$r_cxrcop_overlay.xab$l_cxrcop

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 138
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABCXRDEF)

 I5	   7651 #define xab$v_cxrrst xab$r_cxrcop_overlay.xab$r_cxrcop_bits.xab$v_cxrrst
 I5	   7652 #define xab$v_cxrbver xab$r_cxrcop_overlay.xab$r_cxrcop_bits.xab$v_cxrbver
 I5	   7653 #endif		/* #if !defined(__VAXC) */
 I5	   7654  
 I5	   7655 #endif	    /* #ifdef __NEW_STARLET */
 I5	   7656 /* basealign on aggregate XABCXRDEF operates after aggregate end            */
 I5	   7657 #define XAB$K_CXRLEN 84                 /* Length of XAB type CXR           */
 I5	   7658 #define XAB$C_CXRLEN 84                 /* Length of XAB type CXR           */
 I5	   7659 	
 I5    X   7660 #ifdef __NEW_STARLET
 I5    X   7661 #define XABCXR _xabcxrdef
 I5    X   7662 #else
 I5	   7663 #define XABCXR xabcxrdef
 I5	   7664 #endif
 I5	   7665 	
 I5	   7666  
 I5	   7667 #pragma __member_alignment __restore
 I5	   7668 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7669 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   7670 #endif
 I5    X   7671 #ifdef __cplusplus
 I5    X   7672     }
 I5    X   7673 #endif
 I5	   7674 #pragma __standard
 I5	   7675  
 I5	   7676 #endif /* __XABCXRDEF_LOADED */
 I5	   7677  
 I4	   7678 #include <XABDATDEF.H>
 I5	   7679 /*******************************************************************************************************************
 I5	   7679 *************/
 I5	   7680 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   7681 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   7682 /*******************************************************************************************************************
 I5	   7682 *************/
 I5	   7683 /*** MODULE $XABDATDEF ***/
 I5	   7684 #ifndef __XABDATDEF_LOADED
 I5	   7685 #define __XABDATDEF_LOADED 1
 I5	   7686  
 I5	   7687 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   7688 #pragma __member_alignment __save
 I5	   7689 #pragma __nomember_alignment
 I5	   7690 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7691 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   7692 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   7693 #endif
 I5	   7694  
 I5    X   7695 #ifdef __cplusplus
 I5    X   7696     extern "C" {
 I5    X   7697 #define __unknown_params ...
 I5    X   7698 #define __optional_params ...
 I5    X   7699 #else
 I5	   7700 #define __unknown_params
 I5	   7701 #define __optional_params ...
 I5	   7702 #endif
 I5	   7703  
 I5    X   7704 #ifndef __struct
 I5    X   7705 #if !defined(__VAXC)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 139
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABDATDEF)

 I5    X   7706 #define __struct struct
 I5    X   7707 #else
 I5    X   7708 #define __struct variant_struct
 I5    X   7709 #endif
 I5    X   7710 #endif
 I5	   7711  
 I5    X   7712 #ifndef __union
 I5    X   7713 #if !defined(__VAXC)
 I5    X   7714 #define __union union
 I5    X   7715 #else
 I5    X   7716 #define __union variant_union
 I5    X   7717 #endif
 I5    X   7718 #endif
 I5	   7719  
 I5	   7720 /*                                                                          */
 I5	   7721 /*        date/time xab definitions                                         */
 I5	   7722 /*                $xabdatdef                                                */
 I5	   7723 /*                                                                          */
 I5	   7724 /*                                                                          */
 I5	   7725 #define XAB$C_DAT 18                    /* xabdat id code                   */
 I5	   7726 	
 I5    X   7727 #ifdef __NEW_STARLET
 I5    X   7728 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   7729 #pragma __nomember_alignment __longword
 I5    X   7730 #else
 I5    X   7731 #pragma __nomember_alignment
 I5    X   7732 #endif
 I5    X   7733 typedef struct _xabdatdef {
 I5    X   7734 #pragma __nomember_alignment
 I5    X   7735     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   7736     unsigned char xab$b_bln;            /* block length                     */
 I5    X   7737     short int xabdatdef$$_fill_1;       /* (spare)                          */
 I5    X   7738     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   7739     unsigned short int xab$w_rvn;
 I5    X   7740     short int xabdatdef$$_fill_2;
 I5    X   7741     __int64 xab$q_rdt;
 I5    X   7742     __int64 xab$q_cdt;
 I5    X   7743     __int64 xab$q_edt;
 I5    X   7744     __int64 xab$q_bdt;
 I5    X   7745     __int64 xab$q_rcd;
 I5    X   7746     __int64 xab$q_eff;
 I5    X   7747     __int64 xab$q_acc;
 I5    X   7748     __int64 xab$q_att;
 I5    X   7749     __int64 xab$q_mod;
 I5    X   7750     } XABDATDEF;
 I5    X   7751 #else	    /* __OLD_STARLET */
 I5	   7752 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   7753 #pragma __nomember_alignment __longword
 I5    X   7754 #else
 I5    X   7755 #pragma __nomember_alignment
 I5    X   7756 #endif
 I5	   7757 struct xabdatdef {
 I5	   7758 #pragma __nomember_alignment
 I5	   7759     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   7760     unsigned char xab$b_bln;            /* block length                     */
 I5	   7761     short int xabdatdef$$_fill_1;       /* (spare)                          */
 I5	   7762     void *xab$l_nxt;                    /* xab chain link                   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 140
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABDATDEF)

 I5	   7763     unsigned short int xab$w_rvn;
 I5	   7764     short int xabdatdef$$_fill_2;
 I5	   7765     __int64 xab$q_rdt;
 I5	   7766     __int64 xab$q_cdt;
 I5	   7767     __int64 xab$q_edt;
 I5	   7768     __int64 xab$q_bdt;
 I5	   7769     __int64 xab$q_rcd;
 I5	   7770     __int64 xab$q_eff;
 I5	   7771     __int64 xab$q_acc;
 I5	   7772     __int64 xab$q_att;
 I5	   7773     __int64 xab$q_mod;
 I5	   7774     } ;
 I5	   7775 #endif	    /* #ifdef __NEW_STARLET */
 I5	   7776 /* basealign on aggregate XABDATDEF operates after aggregate end            */
 I5	   7777 #define XAB$K_DATLEN 84                 /* length of XABDAT                 */
 I5	   7778 #define XAB$C_DATLEN 84                 /* length of XABDAT                 */
 I5	   7779 	
 I5    X   7780 #ifdef __NEW_STARLET
 I5    X   7781 #define XABDAT _xabdatdef
 I5    X   7782 #else
 I5	   7783 #define XABDAT xabdatdef
 I5	   7784 #endif
 I5	   7785 #define XAB$K_DATLEN_V2 36
 I5	   7786 #define XAB$C_DATLEN_V2 36
 I5	   7787 #define XAB$K_DATLEN_V54 44
 I5	   7788 #define XAB$C_DATLEN_V54 44
 I5	   7789 #define XAB$K_DATLEN_PRE_ACCDATES 60
 I5	   7790 #define XAB$C_DATLEN_PRE_ACCDATES 60
 I5	   7791 #define XAB$K_DATLEN_POST_ACCDATES 84
 I5	   7792 #define XAB$C_DATLEN_POST_ACCDATES 84
 I5	   7793 #define XAB$K_DATLEN 84
 I5	   7794 #define XAB$C_DATLEN 84
 I5	   7795 #define cc$rms_xabdat (*decc$ga_rms_xabdat)
 I5	   7796 #if defined(__DECC) || defined(__DECCXX)
 I5	   7797 # pragma extern_model __save
 I5	   7798 # pragma extern_model strict_refdef
 I5	   7799    extern struct XABDAT cc$rms_xabdat;		/* Declare initialized prototype data structures */
       E	                  xabdatdef
       E	                         ( * decc$ga_rms_xabdat )
 I5	   7800 # pragma extern_model __restore
 I5    X   7801 #else
 I5    X   7802    globalref struct XABDAT cc$rms_xabdat;	/* Declare initialized prototype data structures */
 I5    X   7803 #endif
 I5	   7804 	
 I5	   7805  
 I5	   7806 #pragma __member_alignment __restore
 I5	   7807 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7808 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   7809 #endif
 I5    X   7810 #ifdef __cplusplus
 I5    X   7811     }
 I5    X   7812 #endif
 I5	   7813 #pragma __standard
 I5	   7814  
 I5	   7815 #endif /* __XABDATDEF_LOADED */
 I5	   7816  
 I4	   7817 #include <XABDEF.H>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 141
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(XABDEF)

 I5	   7818 /*******************************************************************************************************************
 I5	   7818 *************/
 I5	   7819 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   7820 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   7821 /*******************************************************************************************************************
 I5	   7821 *************/
 I5	   7822 /*** MODULE $XABDEF ***/
 I5	   7823 #ifndef __XABDEF_LOADED
 I5	   7824 #define __XABDEF_LOADED 1
 I5	   7825  
 I5	   7826 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   7827 #pragma __member_alignment __save
 I5	   7828 #pragma __nomember_alignment
 I5	   7829 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7830 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   7831 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   7832 #endif
 I5	   7833  
 I5    X   7834 #ifdef __cplusplus
 I5    X   7835     extern "C" {
 I5    X   7836 #define __unknown_params ...
 I5    X   7837 #define __optional_params ...
 I5    X   7838 #else
 I5	   7839 #define __unknown_params
 I5	   7840 #define __optional_params ...
 I5	   7841 #endif
 I5	   7842  
 I5    X   7843 #ifndef __struct
 I5    X   7844 #if !defined(__VAXC)
 I5    X   7845 #define __struct struct
 I5    X   7846 #else
 I5    X   7847 #define __struct variant_struct
 I5    X   7848 #endif
 I5    X   7849 #endif
 I5	   7850  
 I5    X   7851 #ifndef __union
 I5    X   7852 #if !defined(__VAXC)
 I5    X   7853 #define __union union
 I5    X   7854 #else
 I5    X   7855 #define __union variant_union
 I5    X   7856 #endif
 I5    X   7857 #endif
 I5	   7858  
 I5	   7859 /*                                                                          */
 I5	   7860 /*         definitions for all xabs                                         */
 I5	   7861 /*                $xabdef                                                   */
 I5	   7862 /*                                                                          */
 I5	   7863 /*  the first four fields are shared in common between all xabs             */
 I5	   7864 /*  and hence are defined only once                                         */
 I5	   7865 /*  (the only exception is that the spare word may be used by some xabs)    */
 I5	   7866 /*                                                                          */
 I5	   7867 	
 I5    X   7868 #ifdef __NEW_STARLET
 I5    X   7869 typedef struct _xabdef {
 I5    X   7870     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   7871     unsigned char xab$b_bln;            /* block length                     */
 I5    X   7872     short int xabdef$$_fill_1;          /* (spare)                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 142
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(XABDEF)

 I5    X   7873     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   7874     unsigned short int xab$w_rvn;
 I5    X   7875     short int xabdef$$_fill_2;
 I5    X   7876     __int64 xab$q_rdt;
 I5    X   7877     } XABDEF;
 I5    X   7878 #else	    /* __OLD_STARLET */
 I5	   7879 struct xabdef {
 I5	   7880     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   7881     unsigned char xab$b_bln;            /* block length                     */
 I5	   7882     short int xabdef$$_fill_1;          /* (spare)                          */
 I5	   7883     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   7884     unsigned short int xab$w_rvn;
 I5	   7885     short int xabdef$$_fill_2;
 I5	   7886     __int64 xab$q_rdt;
 I5	   7887     } ;
 I5	   7888 #endif	    /* #ifdef __NEW_STARLET */
 I5	   7889 	
 I5    X   7890 #ifdef __NEW_STARLET
 I5    X   7891 typedef struct _xabdef1 {
 I5    X   7892     char xabdef$$_fill_3 [8];
 I5    X   7893     char xabdef$$_fill_4;               /*THESE FIELDS WILL BE DEFINED LATER */
 I5    X   7894     char xabdef$$_fill_5;
 I5    X   7895     short int xabdef$$_fill_6;
 I5    X   7896     unsigned int xabdef$$_fill_7;
 I5    X   7897     unsigned int xabdef$$_fill_8;
 I5    X   7898     short int xabdef$$_fill_9;
 I5    X   7899     unsigned char xab$b_bkz;            /*COMMON TO FHC AND ALQ XABS        */
 I5    X   7900     } XABDEF1;
 I5    X   7901 #else	    /* __OLD_STARLET */
 I5	   7902 struct xabdef1 {
 I5	   7903     char xabdef$$_fill_3 [8];
 I5	   7904     char xabdef$$_fill_4;               /*THESE FIELDS WILL BE DEFINED LATER */
 I5	   7905     char xabdef$$_fill_5;
 I5	   7906     short int xabdef$$_fill_6;
 I5	   7907     unsigned int xabdef$$_fill_7;
 I5	   7908     unsigned int xabdef$$_fill_8;
 I5	   7909     short int xabdef$$_fill_9;
 I5	   7910     unsigned char xab$b_bkz;            /*COMMON TO FHC AND ALQ XABS        */
 I5	   7911     } ;
 I5	   7912 #endif	    /* #ifdef __NEW_STARLET */
 I5	   7913 #define XAB$C_CXT_VER1 1                /* RMS Context Extraction version 1 */
 I5	   7914 	
 I5    X   7915 #ifdef __NEW_STARLET
 I5    X   7916 #else
 I5	   7917 #define XAB xabdef
 I5	   7918 #define XABDEF1 xabdef1
 I5	   7919 #endif
 I5	   7920 	
 I5	   7921  
 I5	   7922 #pragma __member_alignment __restore
 I5	   7923 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7924 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   7925 #endif
 I5    X   7926 #ifdef __cplusplus
 I5    X   7927     }
 I5    X   7928 #endif
 I5	   7929 #pragma __standard

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 143
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(XABDEF)

 I5	   7930  
 I5	   7931 #endif /* __XABDEF_LOADED */
 I5	   7932  
 I4	   7933 #include <XABFHCDEF.H>
 I5	   7934 /*******************************************************************************************************************
 I5	   7934 *************/
 I5	   7935 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   7936 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   7937 /*******************************************************************************************************************
 I5	   7937 *************/
 I5	   7938 /*** MODULE $XABFHCDEF ***/
 I5	   7939 #ifndef __XABFHCDEF_LOADED
 I5	   7940 #define __XABFHCDEF_LOADED 1
 I5	   7941  
 I5	   7942 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   7943 #pragma __member_alignment __save
 I5	   7944 #pragma __nomember_alignment
 I5	   7945 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   7946 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   7947 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   7948 #endif
 I5	   7949  
 I5    X   7950 #ifdef __cplusplus
 I5    X   7951     extern "C" {
 I5    X   7952 #define __unknown_params ...
 I5    X   7953 #define __optional_params ...
 I5    X   7954 #else
 I5	   7955 #define __unknown_params
 I5	   7956 #define __optional_params ...
 I5	   7957 #endif
 I5	   7958  
 I5    X   7959 #ifndef __struct
 I5    X   7960 #if !defined(__VAXC)
 I5    X   7961 #define __struct struct
 I5    X   7962 #else
 I5    X   7963 #define __struct variant_struct
 I5    X   7964 #endif
 I5    X   7965 #endif
 I5	   7966  
 I5    X   7967 #ifndef __union
 I5    X   7968 #if !defined(__VAXC)
 I5    X   7969 #define __union union
 I5    X   7970 #else
 I5    X   7971 #define __union variant_union
 I5    X   7972 #endif
 I5    X   7973 #endif
 I5	   7974  
 I5	   7975 /*                                                                          */
 I5	   7976 /*        file header characteristics xab definitions                       */
 I5	   7977 /*                $xabfhcdef                                                */
 I5	   7978 /*                                                                          */
 I5	   7979 /*  the fields of this xab cannot be rearranged since                       */
 I5	   7980 /*  they correspond to an on-disk structure                                 */
 I5	   7981 /*                                                                          */
 I5	   7982 #define XAB$C_FHC 29                    /* xabfhc id code                   */
 I5	   7983 #define XAB$M_FTN 0x1
 I5	   7984 #define XAB$M_CR 0x2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 144
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABFHCDEF)

 I5	   7985 #define XAB$M_PRN 0x4
 I5	   7986 #define XAB$M_BLK 0x8
 I5	   7987 #define XAB$M_GBC_PERCENT 0x1
 I5	   7988 #define XAB$M_GBC_DEFAULT 0x2
 I5	   7989 	
 I5    X   7990 #ifdef __NEW_STARLET
 I5    X   7991 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   7992 #pragma __nomember_alignment __longword
 I5    X   7993 #else
 I5    X   7994 #pragma __nomember_alignment
 I5    X   7995 #endif
 I5    X   7996 typedef struct _xabfhcdef {
 I5    X   7997 #pragma __nomember_alignment
 I5    X   7998     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   7999     unsigned char xab$b_bln;            /* block length                     */
 I5    X   8000     short int xabfhcdef$$_fill_1;       /* (spare)                          */
 I5    X   8001     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   8002     unsigned char xab$b_rfo;            /* record format and file org       */
 I5    X   8003     __union  {
 I5    X   8004         unsigned char xab$b_atr;        /* record attributes                */
 I5    X   8005         __struct  {
 I5    X   8006             unsigned xab$v_ftn : 1;     /* fortran carriage-ctl             */
 I5    X   8007             unsigned xab$v_cr : 1;      /* lf-record-cr carriage ctl        */
 I5    X   8008             unsigned xab$v_prn : 1;     /* print-file carriage ctl          */
 I5    X   8009             unsigned xab$v_blk : 1;     /* records don't cross block boundaries */
 I5    X   8010             unsigned xab$v_fill_11_ : 4;
 I5    X   8011             } xab$r_fill_10_;
 I5    X   8012         } xab$r_fill_9_;
 I5    X   8013     unsigned short int xab$w_lrl;       /* longest record's length          */
 I5    X   8014     __union  {
 I5    X   8015         unsigned int xab$l_hbk;         /* hi vbn allocated                 */
 I5    X   8016 /* (n.b. reversed on disk!)                                                 */
 I5    X   8017         __struct  {
 I5    X   8018             unsigned short int xab$w_hbk0;
 I5    X   8019             unsigned short int xab$w_hbk2;
 I5    X   8020             } xab$r_hbk_fields;
 I5    X   8021         } xab$r_hbk_overlay;
 I5    X   8022     __union  {
 I5    X   8023         unsigned int xab$l_ebk;         /* eof vbn                          */
 I5    X   8024 /* (n.b. reversed on disk)                                                  */
 I5    X   8025         __struct  {
 I5    X   8026             unsigned short int xab$w_ebk0;
 I5    X   8027             unsigned short int xab$w_ebk2;
 I5    X   8028             } xab$r_ebk_fields;
 I5    X   8029         } xab$r_ebk_overlay;
 I5    X   8030     unsigned short int xab$w_ffb;       /* first free byte in eof block     */
 I5    X   8031     unsigned char xab$b_bkz;            /*COMMON TO FHC AND ALQ XABS        */
 I5    X   8032 /* defined above in $xabdef, since it is shared                             */
 I5    X   8033 /* by the all xab)                                                          */
 I5    X   8034     unsigned char xab$b_hsz;            /* header size for vfc              */
 I5    X   8035     unsigned short int xab$w_mrz;       /* max record size                  */
 I5    X   8036     unsigned short int xab$w_dxq;       /* default extend quantity          */
 I5    X   8037     __union  {
 I5    X   8038         unsigned short int xab$w_gbc;   /* global buffer count (original word) */
 I5    X   8039         unsigned short int xab$w_gbc16; /* Alias                            */
 I5    X   8040         } xab$r_gbc16_overlay;
 I5    X   8041     __union  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 145
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABFHCDEF)

 I5    X   8042         unsigned char xab$b_recattr_flags; /* flags for record attribute area */
 I5    X   8043         __struct  {
 I5    X   8044             unsigned xab$v_gbc_percent : 1; /* Interpret value in GBC32 as percent instead of count */
 I5    X   8045             unsigned xab$v_gbc_default : 1; /* RMS should set default for GBC at runtime and ignore */
 I5    X   8046 /*   any values in GBC16 or GBC32                                           */
 I5    X   8047             unsigned xabfhcdef$$_fill_7 : 6; /* Reserved for future use     */
 I5    X   8048             } xab$r_recattr_flags_bits;
 I5    X   8049         } xab$r_recattr_flags_overlay;
 I5    X   8050     char xabfhcdef$$_fill_8;            /* reserved for future use (possible flags word union) */
 I5    X   8051     unsigned int xab$l_gbc32;           /* longword implementation of global buffer count */
 I5    X   8052     char xabfhcdef$$_fill_6 [2];        /* spare space documented as unused in I/O REF  */
 I5    X   8053     unsigned short int xab$w_verlimit;  /* version limit for file.          */
 I5    X   8054 /*-----*****                                                                */
 I5    X   8055     unsigned int xab$l_sbn;             /* starting lbn if contiguous       */
 I5    X   8056     } XABFHCDEF;
 I5    X   8057  
 I5    X   8058 #if !defined(__VAXC)
 I5    X   8059 #define xab$b_atr xab$r_fill_9_.xab$b_atr
 I5    X   8060 #define xab$v_ftn xab$r_fill_9_.xab$r_fill_10_.xab$v_ftn
 I5    X   8061 #define xab$v_cr xab$r_fill_9_.xab$r_fill_10_.xab$v_cr
 I5    X   8062 #define xab$v_prn xab$r_fill_9_.xab$r_fill_10_.xab$v_prn
 I5    X   8063 #define xab$v_blk xab$r_fill_9_.xab$r_fill_10_.xab$v_blk
 I5    X   8064 #define xab$l_hbk xab$r_hbk_overlay.xab$l_hbk
 I5    X   8065 #define xab$r_hbk_fields	xab$r_hbk_overlay.xab$r_hbk_fields
 I5    X   8066 #define xab$w_hbk0 xab$r_hbk_fields.xab$w_hbk0
 I5    X   8067 #define xab$w_hbk2 xab$r_hbk_fields.xab$w_hbk2
 I5    X   8068 #define xab$l_ebk xab$r_ebk_overlay.xab$l_ebk
 I5    X   8069 #define xab$r_ebk_fields	xab$r_ebk_overlay.xab$r_ebk_fields
 I5    X   8070 #define xab$w_ebk0 xab$r_ebk_fields.xab$w_ebk0
 I5    X   8071 #define xab$w_ebk2 xab$r_ebk_fields.xab$w_ebk2
 I5    X   8072 #define xab$w_gbc xab$r_gbc16_overlay.xab$w_gbc
 I5    X   8073 #define xab$w_gbc16 xab$r_gbc16_overlay.xab$w_gbc16
 I5    X   8074 #define xab$b_recattr_flags xab$r_recattr_flags_overlay.xab$b_recattr_flags
 I5    X   8075 #define xab$v_gbc_percent xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_percent
 I5    X   8076 #define xab$v_gbc_default xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_default
 I5    X   8077 #endif		/* #if !defined(__VAXC) */
 I5    X   8078  
 I5    X   8079 #else	    /* __OLD_STARLET */
 I5	   8080 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   8081 #pragma __nomember_alignment __longword
 I5    X   8082 #else
 I5    X   8083 #pragma __nomember_alignment
 I5    X   8084 #endif
 I5	   8085 struct xabfhcdef {
 I5	   8086 #pragma __nomember_alignment
 I5	   8087     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   8088     unsigned char xab$b_bln;            /* block length                     */
 I5	   8089     short int xabfhcdef$$_fill_1;       /* (spare)                          */
 I5	   8090     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   8091     unsigned char xab$b_rfo;            /* record format and file org       */
 I5	   8092     __union  {
       E	     union
 I5	   8093         unsigned char xab$b_atr;        /* record attributes                */
 I5	   8094         __struct  {
       E	         struct
 I5	   8095             unsigned xab$v_ftn : 1;     /* fortran carriage-ctl             */
 I5	   8096             unsigned xab$v_cr : 1;      /* lf-record-cr carriage ctl        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 146
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABFHCDEF)

 I5	   8097             unsigned xab$v_prn : 1;     /* print-file carriage ctl          */
 I5	   8098             unsigned xab$v_blk : 1;     /* records don't cross block boundaries */
 I5	   8099             unsigned xab$v_fill_11_ : 4;
 I5	   8100             } xab$r_fill_10_;
 I5	   8101         } xab$r_fill_9_;
 I5	   8102     unsigned short int xab$w_lrl;       /* longest record's length          */
 I5	   8103     __union  {
       E	     union
 I5	   8104         unsigned int xab$l_hbk;         /* hi vbn allocated                 */
 I5	   8105 /* (n.b. reversed on disk!)                                                 */
 I5	   8106         __struct  {
       E	         struct
 I5	   8107             unsigned short int xab$w_hbk0;
 I5	   8108             unsigned short int xab$w_hbk2;
 I5	   8109             } xab$r_hbk_fields;
 I5	   8110         } xab$r_hbk_overlay;
 I5	   8111     __union  {
       E	     union
 I5	   8112         unsigned int xab$l_ebk;         /* eof vbn                          */
 I5	   8113 /* (n.b. reversed on disk)                                                  */
 I5	   8114         __struct  {
       E	         struct
 I5	   8115             unsigned short int xab$w_ebk0;
 I5	   8116             unsigned short int xab$w_ebk2;
 I5	   8117             } xab$r_ebk_fields;
 I5	   8118         } xab$r_ebk_overlay;
 I5	   8119     unsigned short int xab$w_ffb;       /* first free byte in eof block     */
 I5	   8120     unsigned char xab$b_bkz;            /*COMMON TO FHC AND ALQ XABS        */
 I5	   8121 /* defined above in $xabdef, since it is shared                             */
 I5	   8122 /* by the all xab)                                                          */
 I5	   8123     unsigned char xab$b_hsz;            /* header size for vfc              */
 I5	   8124     unsigned short int xab$w_mrz;       /* max record size                  */
 I5	   8125     unsigned short int xab$w_dxq;       /* default extend quantity          */
 I5	   8126     __union  {
       E	     union
 I5	   8127         unsigned short int xab$w_gbc;   /* global buffer count (original word) */
 I5	   8128         unsigned short int xab$w_gbc16; /* Alias                            */
 I5	   8129         } xab$r_gbc16_overlay;
 I5	   8130     __union  {
       E	     union
 I5	   8131         unsigned char xab$b_recattr_flags; /* flags for record attribute area */
 I5	   8132         __struct  {
       E	         struct
 I5	   8133             unsigned xab$v_gbc_percent : 1; /* Interpret value in GBC32 as percent instead of count */
 I5	   8134             unsigned xab$v_gbc_default : 1; /* RMS should set default for GBC at runtime and ignore */
 I5	   8135 /*   any values in GBC16 or GBC32                                           */
 I5	   8136             unsigned xabfhcdef$$_fill_7 : 6; /* Reserved for future use     */
 I5	   8137             } xab$r_recattr_flags_bits;
 I5	   8138         } xab$r_recattr_flags_overlay;
 I5	   8139     char xabfhcdef$$_fill_8;            /* reserved for future use (possible flags word union) */
 I5	   8140     unsigned int xab$l_gbc32;           /* longword implementation of global buffer count */
 I5	   8141     char xabfhcdef$$_fill_6 [2];        /* spare space documented as unused in I/O REF  */
 I5	   8142     unsigned short int xab$w_verlimit;  /* version limit for file.          */
 I5	   8143 /*-----*****                                                                */
 I5	   8144     unsigned int xab$l_sbn;             /* starting lbn if contiguous       */
 I5	   8145     } ;
 I5	   8146  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 147
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABFHCDEF)

 I5	   8147 #if !defined(__VAXC)
 I5	   8148 #define xab$b_atr xab$r_fill_9_.xab$b_atr
 I5	   8149 #define xab$v_ftn xab$r_fill_9_.xab$r_fill_10_.xab$v_ftn
 I5	   8150 #define xab$v_cr xab$r_fill_9_.xab$r_fill_10_.xab$v_cr
 I5	   8151 #define xab$v_prn xab$r_fill_9_.xab$r_fill_10_.xab$v_prn
 I5	   8152 #define xab$v_blk xab$r_fill_9_.xab$r_fill_10_.xab$v_blk
 I5	   8153 #define xab$l_hbk xab$r_hbk_overlay.xab$l_hbk
 I5	   8154 #define xab$w_hbk0 xab$r_hbk_overlay.xab$r_hbk_fields.xab$w_hbk0
 I5	   8155 #define xab$w_hbk2 xab$r_hbk_overlay.xab$r_hbk_fields.xab$w_hbk2
 I5	   8156 #define xab$l_ebk xab$r_ebk_overlay.xab$l_ebk
 I5	   8157 #define xab$w_ebk0 xab$r_ebk_overlay.xab$r_ebk_fields.xab$w_ebk0
 I5	   8158 #define xab$w_ebk2 xab$r_ebk_overlay.xab$r_ebk_fields.xab$w_ebk2
 I5	   8159 #define xab$w_gbc xab$r_gbc16_overlay.xab$w_gbc
 I5	   8160 #define xab$w_gbc16 xab$r_gbc16_overlay.xab$w_gbc16
 I5	   8161 #define xab$b_recattr_flags xab$r_recattr_flags_overlay.xab$b_recattr_flags
 I5	   8162 #define xab$v_gbc_percent xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_percent
 I5	   8163 #define xab$v_gbc_default xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_default
 I5	   8164 #endif		/* #if !defined(__VAXC) */
 I5	   8165  
 I5	   8166 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8167 /* basealign on aggregate XABFHCDEF operates after aggregate end            */
 I5	   8168 #define XAB$K_FHCLEN 44                 /* length of xabfhc                 */
 I5	   8169 #define XAB$C_FHCLEN 44                 /* length of xabfhc                 */
 I5	   8170 	
 I5    X   8171 #ifdef __NEW_STARLET
 I5    X   8172 #define XABFHC _xabfhcdef
 I5    X   8173 #else
 I5	   8174 #define XABFHC xabfhcdef
 I5	   8175 #endif
 I5	   8176 #define cc$rms_xabfhc (*decc$ga_rms_xabfhc)
 I5	   8177 #if defined(__DECC) || defined(__DECCXX)
 I5	   8178 # pragma extern_model __save
 I5	   8179 # pragma extern_model strict_refdef
 I5	   8180    extern struct XABFHC cc$rms_xabfhc;		/* Declare initialized prototype data structures */
       E	                  xabfhcdef
       E	                         ( * decc$ga_rms_xabfhc )
 I5	   8181 # pragma extern_model __restore
 I5    X   8182 #else
 I5    X   8183    globalref struct XABFHC cc$rms_xabfhc;	/* Declare initialized prototype data structures */
 I5    X   8184 #endif
 I5	   8185 	
 I5	   8186  
 I5	   8187 #pragma __member_alignment __restore
 I5	   8188 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   8189 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   8190 #endif
 I5    X   8191 #ifdef __cplusplus
 I5    X   8192     }
 I5    X   8193 #endif
 I5	   8194 #pragma __standard
 I5	   8195  
 I5	   8196 #endif /* __XABFHCDEF_LOADED */
 I5	   8197  
 I4	   8198 #include <XABITMDEF.H>
 I5	   8199 /*******************************************************************************************************************
 I5	   8199 *************/
 I5	   8200 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 148
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8201 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   8202 /*******************************************************************************************************************
 I5	   8202 *************/
 I5	   8203 /*** MODULE $XABITMDEF ***/
 I5	   8204 #ifndef __XABITMDEF_LOADED
 I5	   8205 #define __XABITMDEF_LOADED 1
 I5	   8206  
 I5	   8207 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   8208 #pragma __member_alignment __save
 I5	   8209 #pragma __nomember_alignment
 I5	   8210 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   8211 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   8212 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   8213 #endif
 I5	   8214  
 I5    X   8215 #ifdef __cplusplus
 I5    X   8216     extern "C" {
 I5    X   8217 #define __unknown_params ...
 I5    X   8218 #define __optional_params ...
 I5    X   8219 #else
 I5	   8220 #define __unknown_params
 I5	   8221 #define __optional_params ...
 I5	   8222 #endif
 I5	   8223  
 I5    X   8224 #ifndef __struct
 I5    X   8225 #if !defined(__VAXC)
 I5    X   8226 #define __struct struct
 I5    X   8227 #else
 I5    X   8228 #define __struct variant_struct
 I5    X   8229 #endif
 I5    X   8230 #endif
 I5	   8231  
 I5    X   8232 #ifndef __union
 I5    X   8233 #if !defined(__VAXC)
 I5    X   8234 #define __union union
 I5    X   8235 #else
 I5    X   8236 #define __union variant_union
 I5    X   8237 #endif
 I5    X   8238 #endif
 I5	   8239  
 I5	   8240 /*                                                                          */
 I5	   8241 /*        Item XAB definitions                                              */
 I5	   8242 /*                                                                          */
 I5	   8243 #define XAB$C_ITM 36                    /* xabitm id code                   */
 I5	   8244 /* The following set of flags exactly mimic the FCHDEF flags defined in STARLET. */
 I5	   8245 /* They are here to provide an unsupported interface to the UCHAR longword maintained */
 I5	   8246 /* by the file system.                                                      */
 I5	   8247 /*                                                                          */
 I5	   8248 /* Note:  RESERVED6 is the counterpart of FCH$x_SCRATCH.  This SCRATCH bit  */
 I5	   8249 /* means the file is a temporary file that should only exist within the     */
 I5	   8250 /* context of an XQP operation.  This bit should NEVER be visible to a user. */
 I5	   8251 /* (It was implemented by XQP for ACP MOVEFILE subfunction.  A 'scratch'    */
 I5	   8252 /* file is created with the scratch bit set in the file header.  This is    */
 I5	   8253 /* made to be the 'moved' file, then the original file is replaced by the   */
 I5	   8254 /* moved file, and finally everything is cleaned up.  If a crash occurs,    */
 I5	   8255 /* the scratch file is left lying around; the scratch bit is used to signal */
 I5	   8256 /* to ANALYZE/DISK/REPAIR that this header is not being used.)  RMS should  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 149
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8257 /* not provide any interface to sense or set this bit.                      */
 I5	   8258 /*                                                                          */
 I5	   8259 #define XAB$M_WASCONTIG 0x1
 I5	   8260 #define XAB$M_NOBACKUP 0x2
 I5	   8261 #define XAB$M_WRITEBACK 0x4
 I5	   8262 #define XAB$M_READCHECK 0x8
 I5	   8263 #define XAB$M_WRITCHECK 0x10
 I5	   8264 #define XAB$M_CONTIGB 0x20
 I5	   8265 #define XAB$M_LOCKED 0x40
 I5	   8266 #define XAB$M_CONTIG 0x80
 I5	   8267 #define XAB$M_RESERVED1 0x100
 I5	   8268 #define XAB$M_RESERVED2 0x200
 I5	   8269 #define XAB$M_RESERVED3 0x400
 I5	   8270 #define XAB$M_BADACL 0x800
 I5	   8271 #define XAB$M_SPOOL 0x1000
 I5	   8272 #define XAB$M_DIRECTORY 0x2000
 I5	   8273 #define XAB$M_BADBLOCK 0x4000
 I5	   8274 #define XAB$M_MARKDEL 0x8000
 I5	   8275 #define XAB$M_NOCHARGE 0x10000
 I5	   8276 #define XAB$M_ERASE 0x20000
 I5	   8277 #define XAB$M_RESERVED4 0x40000
 I5	   8278 #define XAB$M_SHELVED 0x80000
 I5	   8279 #define XAB$M_RESERVED6 0x100000
 I5	   8280 #define XAB$M_NOMOVE 0x200000
 I5	   8281 #define XAB$M_NOSHELVABLE 0x400000
 I5	   8282 #define XAB$M_PRESHELVED 0x800000
 I5	   8283 	
 I5    X   8284 #ifdef __NEW_STARLET
 I5    X   8285 typedef struct _uchar_flags {           /* mimics $FCHDEF                   */
 I5    X   8286     unsigned xab$v_wascontig : 1;
 I5    X   8287     unsigned xab$v_nobackup : 1;
 I5    X   8288     unsigned xab$v_writeback : 1;
 I5    X   8289     unsigned xab$v_readcheck : 1;
 I5    X   8290     unsigned xab$v_writcheck : 1;
 I5    X   8291     unsigned xab$v_contigb : 1;
 I5    X   8292     unsigned xab$v_locked : 1;
 I5    X   8293     unsigned xab$v_contig : 1;
 I5    X   8294     unsigned xab$v_reserved1 : 1;
 I5    X   8295     unsigned xab$v_reserved2 : 1;
 I5    X   8296     unsigned xab$v_reserved3 : 1;
 I5    X   8297     unsigned xab$v_badacl : 1;
 I5    X   8298     unsigned xab$v_spool : 1;
 I5    X   8299     unsigned xab$v_directory : 1;
 I5    X   8300     unsigned xab$v_badblock : 1;
 I5    X   8301     unsigned xab$v_markdel : 1;
 I5    X   8302     unsigned xab$v_nocharge : 1;
 I5    X   8303     unsigned xab$v_erase : 1;
 I5    X   8304     unsigned xab$v_reserved4 : 1;
 I5    X   8305     unsigned xab$v_shelved : 1;
 I5    X   8306     unsigned xab$v_reserved6 : 1;
 I5    X   8307     unsigned xab$v_nomove : 1;
 I5    X   8308     unsigned xab$v_noshelvable : 1;
 I5    X   8309     unsigned xab$v_preshelved : 1;
 I5    X   8310     } UCHAR_FLAGS;
 I5    X   8311 #else	    /* __OLD_STARLET */
 I5	   8312 struct uchar_flags {                    /* mimics $FCHDEF                   */
 I5	   8313     unsigned xab$v_wascontig : 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 150
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8314     unsigned xab$v_nobackup : 1;
 I5	   8315     unsigned xab$v_writeback : 1;
 I5	   8316     unsigned xab$v_readcheck : 1;
 I5	   8317     unsigned xab$v_writcheck : 1;
 I5	   8318     unsigned xab$v_contigb : 1;
 I5	   8319     unsigned xab$v_locked : 1;
 I5	   8320     unsigned xab$v_contig : 1;
 I5	   8321     unsigned xab$v_reserved1 : 1;
 I5	   8322     unsigned xab$v_reserved2 : 1;
 I5	   8323     unsigned xab$v_reserved3 : 1;
 I5	   8324     unsigned xab$v_badacl : 1;
 I5	   8325     unsigned xab$v_spool : 1;
 I5	   8326     unsigned xab$v_directory : 1;
 I5	   8327     unsigned xab$v_badblock : 1;
 I5	   8328     unsigned xab$v_markdel : 1;
 I5	   8329     unsigned xab$v_nocharge : 1;
 I5	   8330     unsigned xab$v_erase : 1;
 I5	   8331     unsigned xab$v_reserved4 : 1;
 I5	   8332     unsigned xab$v_shelved : 1;
 I5	   8333     unsigned xab$v_reserved6 : 1;
 I5	   8334     unsigned xab$v_nomove : 1;
 I5	   8335     unsigned xab$v_noshelvable : 1;
 I5	   8336     unsigned xab$v_preshelved : 1;
 I5	   8337     } ;
 I5	   8338 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8339 #define XAB$_NET_BUFFER_SIZE 1          /* (sense) 	negociated buffer size */
 I5	   8340 #define XAB$_NET_BLOCK_COUNT 2          /* (set,sense)	requested block count */
 I5	   8341 #define XAB$_NET_REMOTE_SYSTEM 3        /* (sense) 	remote system type  */
 I5	   8342 #define XAB$_NET_REMOTE_FILE_SYSTEM 4   /* (sense) 	remote file system type */
 I5	   8343 #define XAB$_NET_EXTPROT 5              /* (set,sense) 	actual extended protection */
 I5	   8344 #define XAB$_NET_SYSCAP_LOCAL 6         /* (sense) 	DAP SYSCAP of local system */
 I5	   8345 #define XAB$_NET_SYSCAP_REMOTE 7        /* (sense) 	DAP SYSCAP of remote system */
 I5	   8346 #define XAB$_NET_DAPVER_LOCAL 8         /* (sense) 	DAP version - local system */
 I5	   8347 #define XAB$_NET_DAPVER_REMOTE 9        /* (sense) 	DAP version - remote system */
 I5	   8348 #define XAB$_NET_LINK_TIMEOUT 10        /* (set,sense)	logical link timeout (seconds) */
 I5	   8349 #define XAB$_NET_DATA_CRC_ENABLE 11     /* (set,sense)	DAP level CRC       */
 I5	   8350 #define XAB$_NET_LINK_CACHE_ENABLE 12   /* (set,sense)	Logical link cache enable */
 I5	   8351 /*		,NET_DATA_COMPRESSION		/* (set,sense)	do data compression (FUTURE) */
 I5	   8352 #define XAB$K_NET_MIN 1
 I5	   8353 #define XAB$K_NET_MAX 12
 I5	   8354 #define XAB$_STAT_ENABLE 64             /* (set,sense)	Read statistics enable */
 I5	   8355 #define XAB$_FILE_LENGTH_HINT 65        /* (set,sense) File length hint (set of 2 quadword fields) */
 I5	   8356 #define XAB$K_STAT_MIN 64
 I5	   8357 #define XAB$K_STAT_MAX 65
 I5	   8358 #define XAB$_UCHAR 128                  /* (sense)	Read file characteristics (obsolete) */
 I5	   8359 #define XAB$_UCHAR_WASCONTIG 129        /* (sense)	FCH$V_WASCONTIG     */
 I5	   8360 #define XAB$_UCHAR_NOBACKUP 130         /* (set,sense)	FCH$V_NOBACKUP      */
 I5	   8361 #define XAB$_UCHAR_WRITEBACK 131        /* (sense)	FCH$V_WRITEBACK     */
 I5	   8362 #define XAB$_UCHAR_READCHECK 132        /* (set,sense)	FCH$V_READCHECK     */
 I5	   8363 #define XAB$_UCHAR_WRITECHECK 133       /* (set,sense)	FCH$V_WRITECHECK    */
 I5	   8364 #define XAB$_UCHAR_CONTIGB 134          /* (set,sense)	FCH$V_CONTIGB       */
 I5	   8365 #define XAB$_UCHAR_LOCKED 135           /* (set,sense)	FCH$V_LOCKED        */
 I5	   8366 #define XAB$_UCHAR_CONTIG 136           /* (sense)	FCH$V_CONTIG        */
 I5	   8367 #define XAB$_UCHAR_BADACL 137           /* (sense)	FCH$V_BADACL        */
 I5	   8368 #define XAB$_UCHAR_SPOOL 138            /* (sense)	FCH$V_SPOOL         */
 I5	   8369 #define XAB$_UCHAR_DIRECTORY 139        /* (sense)	FCH$V_DIRECTORY     */
 I5	   8370 #define XAB$_UCHAR_BADBLOCK 140         /* (sense)	FCH$V_BADBLOCK      */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 151
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8371 #define XAB$_UCHAR_MARKDEL 141          /* (sense)	FCH$V_BADBLOCK      */
 I5	   8372 #define XAB$_UCHAR_NOCHARGE 142         /* (sense)	FCH$V_NOCHARGE      */
 I5	   8373 #define XAB$_UCHAR_ERASE 143            /* (set,sense)	FCH$V_ERASE         */
 I5	   8374 #define XAB$_UCHAR_NOMOVE 144           /* (set,sense)	FCH$V_NOMOVE        */
 I5	   8375 #define XAB$_UCHAR_SHELVED 145          /* (sense)      FCH$V_SHELVED       */
 I5	   8376 #define XAB$_UCHAR_NOSHELVABLE 146      /* (set,sense)  FCH$V_NOSHELVABLE   */
 I5	   8377 #define XAB$_UCHAR_PRESHELVED 147       /* (sense)	FCH$V_PRESHELVED    */
 I5	   8378 #define XAB$K_UCHAR_MIN 128
 I5	   8379 #define XAB$K_UCHAR_MAX 147
 I5	   8380 #define XAB$_STORED_SEMANTICS 192       /* (set,sense)	Stored semantics of the file */
 I5	   8381 #define XAB$_ACCESS_SEMANTICS 193       /* (set,sense)	Access semantics of the file */
 I5	   8382 #define XAB$_RMS_EXTENSION 194          /* (set,sense)	Required RMS processing extension */
 I5	   8383 #define XAB$K_XLATE_MIN 192
 I5	   8384 #define XAB$K_XLATE_MAX 194
 I5	   8385 #define XAB$C_SEMANTICS_MAX_LEN 64      /* max length for stored or access semantics */
 I5	   8386 #define XAB$K_SEMANTICS_MAX_LEN 64      /* max length for stored or access semantics */
 I5	   8387 #define XAB$_MULTIBUFFER_COUNT 256      /* (set-only)  Multibuffer count (not limited to 127) */
 I5	   8388 /*  legal only on $CONNECT                                                  */
 I5	   8389 #define XAB$_NORECORD 257               /* (set-only) Norecord suppresses update of the expiration d/t, passed in on
 I5	   8389  */
 I5	   8390 /*  on $OPEN or $CLOSE                                                      */
 I5	   8391 #define XAB$_RECOVERY 258               /* Used to indicate type of         */
 I5	   8392 /*  recovery in progress.                                                   */
 I5	   8393 #define XAB$_RUJVOLNAM 259              /* Used to control RUJ placement    */
 I5	   8394 #define XAB$_GBC32 260                  /* (set/sense) GBC longword implementation */
 I5	   8395 #define XAB$_LINKCOUNT 261              /* (set/sense) ODS-5 (hard) link count */
 I5	   8396 #define XAB$_GBCFLAGS 262               /* (set/sense) GBC flags            */
 I5	   8397 #define XAB$K_MISC_MIN 256
 I5	   8398 #define XAB$K_MISC_MAX 262
 I5	   8399 #define XAB$_TID 320                    /* (set/sense)  TID                 */
 I5	   8400 #define XAB$K_TID_MIN 320
 I5	   8401 #define XAB$K_TID_MAX 320
 I5	   8402 #define XAB$_CACHING_OPTIONS 384        /* (set,sense) VDC runtime caching options */
 I5	   8403 #define XAB$_CACHING_ATTRIBUTE 385      /* (set, sense) VDC perm caching attribute */
 I5	   8404 #define XAB$K_CACHING_OPTIONS_MIN 384
 I5	   8405 #define XAB$K_CACHING_OPTIONS_MAX 385
 I5	   8406 #define XAB$_ACCDATE 448                /* (set,sense) access date          */
 I5	   8407 #define XAB$_ATTDATE 449                /* (set,sense) attribute change date */
 I5	   8408 #define XAB$_MODDATE 450                /* (set,sense) data modification date */
 I5	   8409 #define XAB$K_DATE_MIN 448
 I5	   8410 #define XAB$K_DATE_MAX 450
 I5	   8411 #define XAB$K_SENSEMODE 1
 I5	   8412 #define XAB$K_SETMODE 2
 I5	   8413 	
 I5    X   8414 #ifdef __NEW_STARLET
 I5    X   8415 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   8416 #pragma __nomember_alignment __longword
 I5    X   8417 #else
 I5    X   8418 #pragma __nomember_alignment
 I5    X   8419 #endif
 I5    X   8420 typedef struct _xabitmdef {
 I5    X   8421 #pragma __nomember_alignment
 I5    X   8422     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   8423     unsigned char xab$b_bln;            /* block length                     */
 I5    X   8424     short int xabitmdef$$_fill_1;       /* (spare)                          */
 I5    X   8425     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   8426     void *xab$l_itemlist;               /* Address of the item list         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 152
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5    X   8427 /* In the user interface, item codes are arbitrary integer values, so       */
 I5    X   8428 /* we may as well allow logical groups to have contiguous codes, with       */
 I5    X   8429 /* room for expansion (to allow table driven code).                         */
 I5    X   8430     unsigned char xab$b_mode;           /* must be either SETMODE or SENSEMODE */
 I5    X   8431     char xab$b_itm_fill1 [3];           /* Reserved space for future definition */
 I5    X   8432     unsigned int xab$il_itm_fill2 [4];  /* Reserved space for future definition */
 I5    X   8433     } XABITMDEF;
 I5    X   8434 #else	    /* __OLD_STARLET */
 I5	   8435 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   8436 #pragma __nomember_alignment __longword
 I5    X   8437 #else
 I5    X   8438 #pragma __nomember_alignment
 I5    X   8439 #endif
 I5	   8440 struct xabitmdef {
 I5	   8441 #pragma __nomember_alignment
 I5	   8442     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   8443     unsigned char xab$b_bln;            /* block length                     */
 I5	   8444     short int xabitmdef$$_fill_1;       /* (spare)                          */
 I5	   8445     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   8446     void *xab$l_itemlist;               /* Address of the item list         */
 I5	   8447 /* In the user interface, item codes are arbitrary integer values, so       */
 I5	   8448 /* we may as well allow logical groups to have contiguous codes, with       */
 I5	   8449 /* room for expansion (to allow table driven code).                         */
 I5	   8450     unsigned char xab$b_mode;           /* must be either SETMODE or SENSEMODE */
 I5	   8451     char xab$b_itm_fill1 [3];           /* Reserved space for future definition */
 I5	   8452     unsigned int xab$il_itm_fill2 [4];  /* Reserved space for future definition */
 I5	   8453     } ;
 I5	   8454 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8455 /* basealign on aggregate XABITMDEF operates after aggregate end            */
 I5	   8456 #define XAB$K_ITMLEN 32
 I5	   8457 #define XAB$C_ITMLEN 32
 I5	   8458 /* Define fields and constant values for XAB$_CACHING_OPTIONS longword.     */
 I5	   8459 /* These must match [STARLET]FIBDEF.SDL exactly                             */
 I5	   8460 #define XAB$M_FILE_ATTRIBUTES 0xF
 I5	   8461 #define XAB$M_FILE_CONTENTS 0xF0
 I5	   8462 #define XAB$K_DEFAULT 0
 I5	   8463 #define XAB$K_WRITETHROUGH 1
 I5	   8464 #define XAB$K_WRITEBEHIND 2
 I5	   8465 #define XAB$K_NOCACHING 3
 I5	   8466 #define XAB$M_FLUSH_ON_CLOSE 0xF00
 I5	   8467 #define XAB$K_FLUSH 1
 I5	   8468 #define XAB$K_NOFLUSH 2
 I5	   8469 #define XAB$M_CACHECTL_MBZ 0xFFFFF000
 I5	   8470 	
 I5    X   8471 #ifdef __NEW_STARLET
 I5    X   8472 typedef struct _xab_caching_options_flags {
 I5    X   8473     unsigned xab$v_file_attributes : 4;
 I5    X   8474     unsigned xab$v_file_contents : 4;
 I5    X   8475     unsigned xab$v_flush_on_close : 4;
 I5    X   8476     unsigned xab$v_cachectl_mbz : 20;
 I5    X   8477     } XAB_CACHING_OPTIONS_FLAGS;
 I5    X   8478 #else	    /* __OLD_STARLET */
 I5	   8479 struct xab_caching_options_flags {
 I5	   8480     unsigned xab$v_file_attributes : 4;
 I5	   8481     unsigned xab$v_file_contents : 4;
 I5	   8482     unsigned xab$v_flush_on_close : 4;
 I5	   8483     unsigned xab$v_cachectl_mbz : 20;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 153
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8484     } ;
 I5	   8485 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8486 /* The following set of flags mimic the IFB$B_RECVRFLGS flags.              */
 I5	   8487 /* They are here to provide an interface for RECOVER.                       */
 I5	   8488 #define XAB$M_RCF_RU 0x1
 I5	   8489 #define XAB$M_RCF_AI 0x2
 I5	   8490 #define XAB$M_RCF_BI 0x4
 I5	   8491 #define XAB$M_RCF_NOPAD 0x8
 I5	   8492 	
 I5    X   8493 #ifdef __NEW_STARLET
 I5    X   8494 typedef struct _xab_rcf_flags {
 I5    X   8495     unsigned xab$v_rcf_ru : 1;
 I5    X   8496     unsigned xab$v_rcf_ai : 1;
 I5    X   8497     unsigned xab$v_rcf_bi : 1;
 I5    X   8498     unsigned xab$v_rcf_nopad : 1;
 I5    X   8499     unsigned xab$v_fill_17_ : 4;
 I5    X   8500     } XAB_RCF_FLAGS;
 I5    X   8501 #else	    /* __OLD_STARLET */
 I5	   8502 struct xab_rcf_flags {
 I5	   8503     unsigned xab$v_rcf_ru : 1;
 I5	   8504     unsigned xab$v_rcf_ai : 1;
 I5	   8505     unsigned xab$v_rcf_bi : 1;
 I5	   8506     unsigned xab$v_rcf_nopad : 1;
 I5	   8507     unsigned xab$v_fill_17_ : 4;
 I5	   8508     } ;
 I5	   8509 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8510 #define XAB$K_DISABLE 0
 I5	   8511 #define XAB$K_ENABLE 1
 I5	   8512 #define XAB$K_RT11 1
 I5	   8513 #define XAB$K_RSTS 2
 I5	   8514 #define XAB$K_RSX11S 3
 I5	   8515 #define XAB$K_RSX11M 4
 I5	   8516 #define XAB$K_RSX11D 5
 I5	   8517 #define XAB$K_IAS 6
 I5	   8518 #define XAB$K_VAXVMS 7
 I5	   8519 #define XAB$K_TOPS20 8
 I5	   8520 #define XAB$K_TOPS10 9
 I5	   8521 #define XAB$K_RTS8 10
 I5	   8522 #define XAB$K_OS8 11
 I5	   8523 #define XAB$K_RSX11MP 12
 I5	   8524 #define XAB$K_COPOS11 13
 I5	   8525 #define XAB$K_P_OS 14
 I5	   8526 #define XAB$K_VAXELN 15
 I5	   8527 #define XAB$K_CPM 16
 I5	   8528 #define XAB$K_MS_DOS 17
 I5	   8529 #define XAB$K_ULTRIX_32 18
 I5	   8530 #define XAB$K_ULTRIX_11 19
 I5	   8531 #define XAB$K_RMS11 1
 I5	   8532 #define XAB$K_RMS20 2
 I5	   8533 #define XAB$K_RMS32 3
 I5	   8534 #define XAB$K_FCS11 4
 I5	   8535 #define XAB$K_RT11FS 5
 I5	   8536 #define XAB$K_NO_FS 6
 I5	   8537 #define XAB$K_TOPS20FS 7
 I5	   8538 #define XAB$K_TOPS10FS 8
 I5	   8539 #define XAB$K_OS8FS 9
 I5	   8540 #define XAB$K_RMS32S 10

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 154
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8541 #define XAB$K_CPMFS 11
 I5	   8542 #define XAB$K_MS_DOSFS 12
 I5	   8543 #define XAB$K_ULTRIX32_FS 13
 I5	   8544 #define XAB$K_ULTRIX11_FS 14
 I5	   8545 #define XAB$M_NET_NOREAD 0x1
 I5	   8546 #define XAB$M_NET_NOWRITE 0x2
 I5	   8547 #define XAB$M_NET_NOEXECUTE 0x4
 I5	   8548 #define XAB$M_NET_NODELETE 0x8
 I5	   8549 #define XAB$M_NET_NOAPPEND 0x10
 I5	   8550 #define XAB$M_NET_NODIRECTORY 0x20
 I5	   8551 #define XAB$M_NET_NOUPDATE 0x40
 I5	   8552 #define XAB$M_NET_NOCHANGE 0x80
 I5	   8553 #define XAB$M_NET_NOEXTEND 0x100
 I5	   8554 	
 I5    X   8555 #ifdef __NEW_STARLET
 I5    X   8556 typedef struct _xabnetextprot {
 I5    X   8557     __union  {
 I5    X   8558         unsigned short int xab$w_system_acc;
 I5    X   8559         __struct  {
 I5    X   8560             unsigned xab$v_net_noread : 1;
 I5    X   8561             unsigned xab$v_net_nowrite : 1;
 I5    X   8562             unsigned xab$v_net_noexecute : 1;
 I5    X   8563             unsigned xab$v_net_nodelete : 1;
 I5    X   8564             unsigned xab$v_net_noappend : 1;
 I5    X   8565             unsigned xab$v_net_nodirectory : 1;
 I5    X   8566             unsigned xab$v_net_noupdate : 1;
 I5    X   8567             unsigned xab$v_net_nochange : 1;
 I5    X   8568             unsigned xab$v_net_noextend : 1;
 I5    X   8569             unsigned xab$v_fill_20_ : 7;
 I5    X   8570             } xab$r_fill_19_;
 I5    X   8571         } xab$r_fill_18_;
 I5    X   8572     unsigned short int xab$w_owner_acc;
 I5    X   8573     unsigned short int xab$w_group_acc;
 I5    X   8574     unsigned short int xab$w_world_acc;
 I5    X   8575     } XABNETEXTPROT;
 I5    X   8576  
 I5    X   8577 #if !defined(__VAXC)
 I5    X   8578 #define xab$w_system_acc xab$r_fill_18_.xab$w_system_acc
 I5    X   8579 #define xab$v_net_noread xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noread
 I5    X   8580 #define xab$v_net_nowrite xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nowrite
 I5    X   8581 #define xab$v_net_noexecute xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noexecute
 I5    X   8582 #define xab$v_net_nodelete xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nodelete
 I5    X   8583 #define xab$v_net_noappend xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noappend
 I5    X   8584 #define xab$v_net_nodirectory xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nodirectory
 I5    X   8585 #define xab$v_net_noupdate xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noupdate
 I5    X   8586 #define xab$v_net_nochange xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nochange
 I5    X   8587 #define xab$v_net_noextend xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noextend
 I5    X   8588 #endif		/* #if !defined(__VAXC) */
 I5    X   8589  
 I5    X   8590 #else	    /* __OLD_STARLET */
 I5	   8591 struct xabnetextprot {
 I5	   8592     __union  {
       E	     union
 I5	   8593         unsigned short int xab$w_system_acc;
 I5	   8594         __struct  {
       E	         struct
 I5	   8595             unsigned xab$v_net_noread : 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 155
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8596             unsigned xab$v_net_nowrite : 1;
 I5	   8597             unsigned xab$v_net_noexecute : 1;
 I5	   8598             unsigned xab$v_net_nodelete : 1;
 I5	   8599             unsigned xab$v_net_noappend : 1;
 I5	   8600             unsigned xab$v_net_nodirectory : 1;
 I5	   8601             unsigned xab$v_net_noupdate : 1;
 I5	   8602             unsigned xab$v_net_nochange : 1;
 I5	   8603             unsigned xab$v_net_noextend : 1;
 I5	   8604             unsigned xab$v_fill_20_ : 7;
 I5	   8605             } xab$r_fill_19_;
 I5	   8606         } xab$r_fill_18_;
 I5	   8607     unsigned short int xab$w_owner_acc;
 I5	   8608     unsigned short int xab$w_group_acc;
 I5	   8609     unsigned short int xab$w_world_acc;
 I5	   8610     } ;
 I5	   8611  
 I5	   8612 #if !defined(__VAXC)
 I5	   8613 #define xab$w_system_acc xab$r_fill_18_.xab$w_system_acc
 I5	   8614 #define xab$v_net_noread xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noread
 I5	   8615 #define xab$v_net_nowrite xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nowrite
 I5	   8616 #define xab$v_net_noexecute xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noexecute
 I5	   8617 #define xab$v_net_nodelete xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nodelete
 I5	   8618 #define xab$v_net_noappend xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noappend
 I5	   8619 #define xab$v_net_nodirectory xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nodirectory
 I5	   8620 #define xab$v_net_noupdate xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noupdate
 I5	   8621 #define xab$v_net_nochange xab$r_fill_18_.xab$r_fill_19_.xab$v_net_nochange
 I5	   8622 #define xab$v_net_noextend xab$r_fill_18_.xab$r_fill_19_.xab$v_net_noextend
 I5	   8623 #endif		/* #if !defined(__VAXC) */
 I5	   8624  
 I5	   8625 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8626 	
 I5    X   8627 #ifdef __NEW_STARLET
 I5    X   8628 typedef struct _xabnetdapver {
 I5    X   8629     unsigned char xab$b_ver_dap;
 I5    X   8630     unsigned char xab$b_ver_eco;
 I5    X   8631     unsigned char xab$b_ver_cus;
 I5    X   8632     unsigned char xab$b_ver_dsv;
 I5    X   8633     unsigned char xab$b_ver_csv;
 I5    X   8634     } XABNETDAPVER;
 I5    X   8635 #else	    /* __OLD_STARLET */
 I5	   8636 struct xabnetdapver {
 I5	   8637     unsigned char xab$b_ver_dap;
 I5	   8638     unsigned char xab$b_ver_eco;
 I5	   8639     unsigned char xab$b_ver_cus;
 I5	   8640     unsigned char xab$b_ver_dsv;
 I5	   8641     unsigned char xab$b_ver_csv;
 I5	   8642     } ;
 I5	   8643 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8644 	
 I5    X   8645 #ifdef __NEW_STARLET
 I5    X   8646 typedef struct _xabnetcapdef {
 I5    X   8647     unsigned xab$v_cap_filall : 1;
 I5    X   8648     unsigned xab$v_cap_seqorg : 1;
 I5    X   8649     unsigned xab$v_cap_relorg : 1;
 I5    X   8650     unsigned xab$v_cap_fill_21 : 1;
 I5    X   8651     unsigned xab$v_cap_extend : 1;
 I5    X   8652     unsigned xab$v_cap_seqfil : 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 156
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5    X   8653     unsigned xab$v_cap_ranrrn : 1;
 I5    X   8654     unsigned xab$v_cap_ranvbn : 1;
 I5    X   8655     unsigned xab$v_cap_rankey : 1;
 I5    X   8656     unsigned xab$v_cap_fill_22 : 1;
 I5    X   8657     unsigned xab$v_cap_ranrfa : 1;
 I5    X   8658     unsigned xab$v_cap_idxorg : 1;
 I5    X   8659     unsigned xab$v_cap_swmode : 1;
 I5    X   8660     unsigned xab$v_cap_append : 1;
 I5    X   8661     unsigned xab$v_cap_submit : 1;
 I5    X   8662     unsigned xab$v_cap_fill_23 : 1;
 I5    X   8663     unsigned xab$v_cap_mds : 1;
 I5    X   8664     unsigned xab$v_cap_display : 1;
 I5    X   8665     unsigned xab$v_cap_msgblk : 1;
 I5    X   8666     unsigned xab$v_cap_unrblk : 1;
 I5    X   8667     unsigned xab$v_cap_bigblk : 1;
 I5    X   8668     unsigned xab$v_cap_dapcrc : 1;
 I5    X   8669     unsigned xab$v_cap_keyxab : 1;
 I5    X   8670     unsigned xab$v_cap_allxab : 1;
 I5    X   8671     unsigned xab$v_cap_sumxab : 1;
 I5    X   8672     unsigned xab$v_cap_directory : 1;
 I5    X   8673     unsigned xab$v_cap_timxab : 1;
 I5    X   8674     unsigned xab$v_cap_proxab : 1;
 I5    X   8675     unsigned xab$v_cap_fill_24 : 1;
 I5    X   8676     unsigned xab$v_cap_fopspl : 1;
 I5    X   8677     unsigned xab$v_cap_fopscf : 1;
 I5    X   8678     unsigned xab$v_cap_fopdlt : 1;
 I5    X   8679     unsigned xab$v_cap_fill_26 : 1;
 I5    X   8680     unsigned xab$v_cap_seqrac : 1;
 I5    X   8681     unsigned xab$v_cap_fill_27 : 1;
 I5    X   8682     unsigned xab$v_cap_bitopt : 1;
 I5    X   8683     unsigned xab$v_cap_warning : 1;
 I5    X   8684     unsigned xab$v_cap_rename : 1;
 I5    X   8685     unsigned xab$v_cap_wildcard : 1;
 I5    X   8686     unsigned xab$v_cap_gngopt : 1;
 I5    X   8687     unsigned xab$v_cap_nammsg : 1;
 I5    X   8688     unsigned xab$v_cap_segmsg : 1;
 I5    X   8689     unsigned xab$v_cap_chgattcls : 1;
 I5    X   8690     unsigned xab$v_cap_chgtimcls : 1;
 I5    X   8691     unsigned xab$v_cap_chgprocls : 1;
 I5    X   8692     unsigned xab$v_cap_chgnamcls : 1;
 I5    X   8693     unsigned xab$v_cap_modattcre : 1;
 I5    X   8694     unsigned xab$v_cap_nam3part : 1;
 I5    X   8695     unsigned xab$v_cap_chgattren : 1;
 I5    X   8696     unsigned xab$v_cap_chgtimren : 1;
 I5    X   8697     unsigned xab$v_cap_chgproren : 1;
 I5    X   8698     unsigned xab$v_cap_ctlblkcnt : 1;
 I5    X   8699     unsigned xab$v_cap_octalver : 1;
 I5    X   8700     unsigned xab$v_fill_21_ : 3;
 I5    X   8701     } XABNETCAPDEF;
 I5    X   8702 #else	    /* __OLD_STARLET */
 I5	   8703 struct xabnetcapdef {
 I5	   8704     unsigned xab$v_cap_filall : 1;
 I5	   8705     unsigned xab$v_cap_seqorg : 1;
 I5	   8706     unsigned xab$v_cap_relorg : 1;
 I5	   8707     unsigned xab$v_cap_fill_21 : 1;
 I5	   8708     unsigned xab$v_cap_extend : 1;
 I5	   8709     unsigned xab$v_cap_seqfil : 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 157
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8710     unsigned xab$v_cap_ranrrn : 1;
 I5	   8711     unsigned xab$v_cap_ranvbn : 1;
 I5	   8712     unsigned xab$v_cap_rankey : 1;
 I5	   8713     unsigned xab$v_cap_fill_22 : 1;
 I5	   8714     unsigned xab$v_cap_ranrfa : 1;
 I5	   8715     unsigned xab$v_cap_idxorg : 1;
 I5	   8716     unsigned xab$v_cap_swmode : 1;
 I5	   8717     unsigned xab$v_cap_append : 1;
 I5	   8718     unsigned xab$v_cap_submit : 1;
 I5	   8719     unsigned xab$v_cap_fill_23 : 1;
 I5	   8720     unsigned xab$v_cap_mds : 1;
 I5	   8721     unsigned xab$v_cap_display : 1;
 I5	   8722     unsigned xab$v_cap_msgblk : 1;
 I5	   8723     unsigned xab$v_cap_unrblk : 1;
 I5	   8724     unsigned xab$v_cap_bigblk : 1;
 I5	   8725     unsigned xab$v_cap_dapcrc : 1;
 I5	   8726     unsigned xab$v_cap_keyxab : 1;
 I5	   8727     unsigned xab$v_cap_allxab : 1;
 I5	   8728     unsigned xab$v_cap_sumxab : 1;
 I5	   8729     unsigned xab$v_cap_directory : 1;
 I5	   8730     unsigned xab$v_cap_timxab : 1;
 I5	   8731     unsigned xab$v_cap_proxab : 1;
 I5	   8732     unsigned xab$v_cap_fill_24 : 1;
 I5	   8733     unsigned xab$v_cap_fopspl : 1;
 I5	   8734     unsigned xab$v_cap_fopscf : 1;
 I5	   8735     unsigned xab$v_cap_fopdlt : 1;
 I5	   8736     unsigned xab$v_cap_fill_26 : 1;
 I5	   8737     unsigned xab$v_cap_seqrac : 1;
 I5	   8738     unsigned xab$v_cap_fill_27 : 1;
 I5	   8739     unsigned xab$v_cap_bitopt : 1;
 I5	   8740     unsigned xab$v_cap_warning : 1;
 I5	   8741     unsigned xab$v_cap_rename : 1;
 I5	   8742     unsigned xab$v_cap_wildcard : 1;
 I5	   8743     unsigned xab$v_cap_gngopt : 1;
 I5	   8744     unsigned xab$v_cap_nammsg : 1;
 I5	   8745     unsigned xab$v_cap_segmsg : 1;
 I5	   8746     unsigned xab$v_cap_chgattcls : 1;
 I5	   8747     unsigned xab$v_cap_chgtimcls : 1;
 I5	   8748     unsigned xab$v_cap_chgprocls : 1;
 I5	   8749     unsigned xab$v_cap_chgnamcls : 1;
 I5	   8750     unsigned xab$v_cap_modattcre : 1;
 I5	   8751     unsigned xab$v_cap_nam3part : 1;
 I5	   8752     unsigned xab$v_cap_chgattren : 1;
 I5	   8753     unsigned xab$v_cap_chgtimren : 1;
 I5	   8754     unsigned xab$v_cap_chgproren : 1;
 I5	   8755     unsigned xab$v_cap_ctlblkcnt : 1;
 I5	   8756     unsigned xab$v_cap_octalver : 1;
 I5	   8757     unsigned xab$v_fill_21_ : 3;
 I5	   8758     } ;
 I5	   8759 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8760 #define XAB$S_BUFFER_SIZE 4
 I5	   8761 #define XAB$S_NETWORK_BLOCK_COUNT 4
 I5	   8762 #define XAB$S_REMOTE_SYSTEM 4
 I5	   8763 #define XAB$S_REMOTE_FILE_SYSTEM 4
 I5	   8764 #define XAB$S_EXTPROT_LOCAL 8
 I5	   8765 #define XAB$S_EXTPROT_REMOTE 8
 I5	   8766 #define XAB$S_CAPABIL_LOCAL 8

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 158
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABITMDEF)

 I5	   8767 #define XAB$S_CAPABIL_REMOTE 8
 I5	   8768 #define XAB$S_DAPVER_LOCAL 5
 I5	   8769 #define XAB$S_DAPVER_REMOTE 5
 I5	   8770 #define XAB$S_CACHE_TMO 4
 I5	   8771 #define XAB$S_HINT_LENGTH 16
 I5	   8772 #define XAB$S_GBC32_LENGTH 4
 I5	   8773 #define XAB$S_GBCFLAGS_LENGTH 4
 I5	   8774 	
 I5    X   8775 #ifdef __NEW_STARLET
 I5    X   8776 #else
 I5	   8777 #define XABITM xabitmdef
 I5	   8778 #define UCHAR_FLAGS uchar_flags
 I5	   8779 #define XAB_RCF_FLAGS xab_rcf_flags
 I5	   8780 #define XABNETEXTPROT xabnetextprot
 I5	   8781 #define XABNETDAPVER xabnetdapver
 I5	   8782 #define XABNETCAPDEF xabnetcapdef
 I5	   8783 #define XAB_CACHING_OPTIONS_FLAGS xab_caching_options_flags
 I5	   8784 #endif
 I5	   8785 	
 I5	   8786  
 I5	   8787 #pragma __member_alignment __restore
 I5	   8788 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   8789 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   8790 #endif
 I5    X   8791 #ifdef __cplusplus
 I5    X   8792     }
 I5    X   8793 #endif
 I5	   8794 #pragma __standard
 I5	   8795  
 I5	   8796 #endif /* __XABITMDEF_LOADED */
 I5	   8797  
 I4	   8798 #include <XABJNLDEF.H>
 I5	   8799 /*******************************************************************************************************************
 I5	   8799 *************/
 I5	   8800 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   8801 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   8802 /*******************************************************************************************************************
 I5	   8802 *************/
 I5	   8803 /*** MODULE $XABJNLDEF ***/
 I5	   8804 #ifndef __XABJNLDEF_LOADED
 I5	   8805 #define __XABJNLDEF_LOADED 1
 I5	   8806  
 I5	   8807 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   8808 #pragma __member_alignment __save
 I5	   8809 #pragma __nomember_alignment
 I5	   8810 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   8811 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   8812 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   8813 #endif
 I5	   8814  
 I5    X   8815 #ifdef __cplusplus
 I5    X   8816     extern "C" {
 I5    X   8817 #define __unknown_params ...
 I5    X   8818 #define __optional_params ...
 I5    X   8819 #else
 I5	   8820 #define __unknown_params
 I5	   8821 #define __optional_params ...

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 159
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABJNLDEF)

 I5	   8822 #endif
 I5	   8823  
 I5    X   8824 #ifndef __struct
 I5    X   8825 #if !defined(__VAXC)
 I5    X   8826 #define __struct struct
 I5    X   8827 #else
 I5    X   8828 #define __struct variant_struct
 I5    X   8829 #endif
 I5    X   8830 #endif
 I5	   8831  
 I5    X   8832 #ifndef __union
 I5    X   8833 #if !defined(__VAXC)
 I5    X   8834 #define __union union
 I5    X   8835 #else
 I5    X   8836 #define __union variant_union
 I5    X   8837 #endif
 I5    X   8838 #endif
 I5	   8839  
 I5	   8840 /*                                                                          */
 I5	   8841 /*        Journal XAB definitions                                           */
 I5	   8842 /*                $xabjnldef                                                */
 I5	   8843 /*                                                                          */
 I5	   8844 #define XAB$C_JNL 34                    /* xabjnl id code                   */
 I5	   8845 	
 I5    X   8846 #ifdef __NEW_STARLET
 I5    X   8847 struct _fabdef;
 I5    X   8848 #else
 I5	   8849 struct fabdef;
 I5	   8850 #endif
 I5	   8851 #define XAB$C_JNL_TYPE_NONE 0
 I5	   8852 #define XAB$C_AI 1                      /* AI journal                       */
 I5	   8853 #define XAB$C_BI 2                      /* BI journal                       */
 I5	   8854 #define XAB$C_AT 3                      /* AT journal                       */
 I5	   8855 #define XAB$C_RU_DEFAULT 4              /* default RU volume                */
 I5	   8856 #define XAB$M_JOURNAL_DISABLED 0x1
 I5	   8857 #define XAB$M_BACKUP_DONE 0x2
 I5	   8858 	
 I5	   8859  
 I5    X   8860 #ifdef __cplusplus		    /* Define structure prototypes */
 I5    X   8861 struct _fabdef;
 I5    X   8862 #endif		/* #ifdef __cplusplus */
 I5	   8863  
 I5    X   8864 #ifdef __NEW_STARLET
 I5    X   8865 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   8866 #pragma __nomember_alignment __longword
 I5    X   8867 #else
 I5    X   8868 #pragma __nomember_alignment
 I5    X   8869 #endif
 I5    X   8870 typedef struct _xabjnldef {
 I5    X   8871 #pragma __nomember_alignment
 I5    X   8872     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   8873     unsigned char xab$b_bln;            /* block length                     */
 I5    X   8874     short int xabjnldef$$_fill_1;       /* (spare)                          */
 I5    X   8875     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   8876     unsigned char xab$b_xabjnl_type;    /* type of $XABJNL                  */
 I5    X   8877     char xabjnldef$$_fill_5;
 I5    X   8878     __union  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 160
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABJNLDEF)

 I5    X   8879         unsigned short int xab$w_jnl_flags; /* journal flags (from ACE$W_RMSJNL_FLAGS) */
 I5    X   8880         __struct  {
 I5    X   8881             unsigned xab$v_journal_disabled : 1; /* journaling disabled by BACKUP (AI/BI/AT) */
 I5    X   8882             unsigned xab$v_backup_done : 1; /* Backup done since last $OPEN */
 I5    X   8883             unsigned xab$v_fill_16_ : 6;
 I5    X   8884             } xab$r_jnl_flags_bits;
 I5    X   8885         } xab$r_jnl_flags_overlay;
 I5    X   8886     struct _fabdef *xab$l_jnl_fab;      /* address of journal file FAB ~~~ struct fabdef ~~~ */
 I5    X   8887     char *xab$l_volnam_buf;             /* address of journal volume name buffer */
 I5    X   8888     unsigned short int xab$w_volnam_siz; /* size of journal volume name buffer */
 I5    X   8889     unsigned short int xab$w_volnam_len; /* return length of journal volume name */
 I5    X   8890     unsigned __int64 xab$q_jnl_verify_cdate; /* journal file creation date (from ACE$Q_CDATE) */
 I5    X   8891 /* (to match with journal file's creation date)                             */
 I5    X   8892     unsigned int xab$l_jnlidx;          /* Journal stream index within journal file */
 I5    X   8893     unsigned int xab$l_backup_seqno;    /* Backup sequence number.          */
 I5    X   8894     unsigned __int64 xab$q_jnl_mod_time; /* Timestamp of last backup or last journal */
 I5    X   8895 /* entry recovered.                                                         */
 I5    X   8896     unsigned int xabjnldef$$_fill_7;
 I5    X   8897     unsigned int xabjnldef$$_fill_8;
 I5    X   8898     unsigned int xabjnldef$$_fill_9;
 I5    X   8899     unsigned int xabjnldef$$_fill_10;
 I5    X   8900     unsigned int xabjnldef$$_fill_11;
 I5    X   8901     unsigned int xabjnldef$$_fill_12;
 I5    X   8902     unsigned int xabjnldef$$_fill_13;
 I5    X   8903     unsigned int xabjnldef$$_fill_14;
 I5    X   8904     } XABJNLDEF;
 I5    X   8905  
 I5    X   8906 #if !defined(__VAXC)
 I5    X   8907 #define xab$w_jnl_flags xab$r_jnl_flags_overlay.xab$w_jnl_flags
 I5    X   8908 #define xab$r_jnl_flags_bits	xab$r_jnl_flags_overlay.xab$r_jnl_flags_bits
 I5    X   8909 #define xab$v_journal_disabled xab$r_jnl_flags_bits.xab$v_journal_disabled
 I5    X   8910 #define xab$v_backup_done xab$r_jnl_flags_bits.xab$v_backup_done
 I5    X   8911 #endif		/* #if !defined(__VAXC) */
 I5    X   8912  
 I5    X   8913 #else	    /* __OLD_STARLET */
 I5	   8914 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   8915 #pragma __nomember_alignment __longword
 I5    X   8916 #else
 I5    X   8917 #pragma __nomember_alignment
 I5    X   8918 #endif
 I5	   8919 struct xabjnldef {
 I5	   8920 #pragma __nomember_alignment
 I5	   8921     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   8922     unsigned char xab$b_bln;            /* block length                     */
 I5	   8923     short int xabjnldef$$_fill_1;       /* (spare)                          */
 I5	   8924     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   8925     unsigned char xab$b_xabjnl_type;    /* type of $XABJNL                  */
 I5	   8926     char xabjnldef$$_fill_5;
 I5	   8927     __union  {
       E	     union
 I5	   8928         unsigned short int xab$w_jnl_flags; /* journal flags (from ACE$W_RMSJNL_FLAGS) */
 I5	   8929         __struct  {
       E	         struct
 I5	   8930             unsigned xab$v_journal_disabled : 1; /* journaling disabled by BACKUP (AI/BI/AT) */
 I5	   8931             unsigned xab$v_backup_done : 1; /* Backup done since last $OPEN */
 I5	   8932             unsigned xab$v_fill_16_ : 6;
 I5	   8933             } xab$r_jnl_flags_bits;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 161
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABJNLDEF)

 I5	   8934         } xab$r_jnl_flags_overlay;
 I5	   8935      struct fabdef  *xab$l_jnl_fab;                /* address of journal file FAB  */
 I5	   8936     char *xab$l_volnam_buf;             /* address of journal volume name buffer */
 I5	   8937     unsigned short int xab$w_volnam_siz; /* size of journal volume name buffer */
 I5	   8938     unsigned short int xab$w_volnam_len; /* return length of journal volume name */
 I5	   8939     unsigned int xab$q_jnl_verify_cdate [2]; /* journal file creation date (from ACE$Q_CDATE) */
 I5	   8940 /* (to match with journal file's creation date)                             */
 I5	   8941     unsigned int xab$l_jnlidx;          /* Journal stream index within journal file */
 I5	   8942     unsigned int xab$l_backup_seqno;    /* Backup sequence number.          */
 I5	   8943     unsigned int xab$q_jnl_mod_time [2]; /* Timestamp of last backup or last journal */
 I5	   8944 /* entry recovered.                                                         */
 I5	   8945     unsigned int xabjnldef$$_fill_7;
 I5	   8946     unsigned int xabjnldef$$_fill_8;
 I5	   8947     unsigned int xabjnldef$$_fill_9;
 I5	   8948     unsigned int xabjnldef$$_fill_10;
 I5	   8949     unsigned int xabjnldef$$_fill_11;
 I5	   8950     unsigned int xabjnldef$$_fill_12;
 I5	   8951     unsigned int xabjnldef$$_fill_13;
 I5	   8952     unsigned int xabjnldef$$_fill_14;
 I5	   8953     } ;
 I5	   8954  
 I5	   8955 #if !defined(__VAXC)
 I5	   8956 #define xab$w_jnl_flags xab$r_jnl_flags_overlay.xab$w_jnl_flags
 I5	   8957 #define xab$v_journal_disabled xab$r_jnl_flags_overlay.xab$r_jnl_flags_bits.xab$v_journal_disabled
 I5	   8958 #define xab$v_backup_done xab$r_jnl_flags_overlay.xab$r_jnl_flags_bits.xab$v_backup_done
 I5	   8959 #endif		/* #if !defined(__VAXC) */
 I5	   8960  
 I5	   8961 #endif	    /* #ifdef __NEW_STARLET */
 I5	   8962 /* basealign on aggregate XABJNLDEF operates after aggregate end            */
 I5	   8963 #define XAB$K_JNLLEN 80
 I5	   8964 #define XAB$C_JNLLEN 80
 I5	   8965 	
 I5    X   8966 #ifdef __NEW_STARLET
 I5    X   8967 #define XABJNL _xabjnldef
 I5    X   8968 #else
 I5	   8969 #define XABJNL xabjnldef
 I5	   8970 #endif
 I5	   8971 	
 I5	   8972  
 I5	   8973 #pragma __member_alignment __restore
 I5	   8974 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   8975 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   8976 #endif
 I5    X   8977 #ifdef __cplusplus
 I5    X   8978     }
 I5    X   8979 #endif
 I5	   8980 #pragma __standard
 I5	   8981  
 I5	   8982 #endif /* __XABJNLDEF_LOADED */
 I5	   8983  
 I4	   8984 #include <XABKEYDEF.H>
 I5	   8985 /*******************************************************************************************************************
 I5	   8985 *************/
 I5	   8986 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   8987 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   8988 /*******************************************************************************************************************
 I5	   8988 *************/

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 162
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5	   8989 /*** MODULE $XABKEYDEF ***/
 I5	   8990 #ifndef __XABKEYDEF_LOADED
 I5	   8991 #define __XABKEYDEF_LOADED 1
 I5	   8992  
 I5	   8993 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   8994 #pragma __member_alignment __save
 I5	   8995 #pragma __nomember_alignment
 I5	   8996 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   8997 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   8998 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   8999 #endif
 I5	   9000  
 I5    X   9001 #ifdef __cplusplus
 I5    X   9002     extern "C" {
 I5    X   9003 #define __unknown_params ...
 I5    X   9004 #define __optional_params ...
 I5    X   9005 #else
 I5	   9006 #define __unknown_params
 I5	   9007 #define __optional_params ...
 I5	   9008 #endif
 I5	   9009  
 I5    X   9010 #ifndef __struct
 I5    X   9011 #if !defined(__VAXC)
 I5    X   9012 #define __struct struct
 I5    X   9013 #else
 I5    X   9014 #define __struct variant_struct
 I5    X   9015 #endif
 I5    X   9016 #endif
 I5	   9017  
 I5    X   9018 #ifndef __union
 I5    X   9019 #if !defined(__VAXC)
 I5    X   9020 #define __union union
 I5    X   9021 #else
 I5    X   9022 #define __union variant_union
 I5    X   9023 #endif
 I5    X   9024 #endif
 I5	   9025  
 I5	   9026 /*                                                                          */
 I5	   9027 /*        key definition xab field definitions                              */
 I5	   9028 /*                $xabkeydef                                                */
 I5	   9029 /*                                                                          */
 I5	   9030 #define XAB$C_KEY 21                    /* xabkey id code                   */
 I5	   9031 #define XAB$M_DUP 0x1
 I5	   9032 #define XAB$M_CHG 0x2
 I5	   9033 #define XAB$M_NUL 0x4
 I5	   9034 #define XAB$M_IDX_NCMPR 0x8
 I5	   9035 #define XAB$M_KEY_NCMPR 0x40
 I5	   9036 #define XAB$M_DAT_NCMPR 0x80
 I5	   9037 #define XAB$C_STG 0                     /* string                           */
 I5	   9038 #define XAB$C_IN2 1                     /* signed 15 bit integer (2 bytes)  */
 I5	   9039 #define XAB$C_BN2 2                     /* 2 byte binary                    */
 I5	   9040 #define XAB$C_IN4 3                     /* signed 31 bit integer (4 bytes)  */
 I5	   9041 #define XAB$C_BN4 4                     /* 4 byte binary                    */
 I5	   9042 #define XAB$C_PAC 5                     /* packed decimal (1-16 bytes)      */
 I5	   9043 #define XAB$C_IN8 6                     /* signed 63 bit integer (4 bytes)  */
 I5	   9044 #define XAB$C_BN8 7                     /* 8 byte binary                    */
 I5	   9045 #define XAB$C_COL 8                     /* collated                         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 163
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5	   9046 #define XAB$C_MAX_ASCEND 8              /* maximum ascending type           */
 I5	   9047 #define XAB$C_DSTG 32                   /* descending string                */
 I5	   9048 #define XAB$C_DIN2 33                   /*     "      signed word           */
 I5	   9049 #define XAB$C_DBN2 34                   /*     "      unsigned word         */
 I5	   9050 #define XAB$C_DIN4 35                   /*     "      signed longword       */
 I5	   9051 #define XAB$C_DBN4 36                   /*     "      unsigned longword     */
 I5	   9052 #define XAB$C_DPAC 37                   /*     "      packed decimal        */
 I5	   9053 #define XAB$C_DIN8 38                   /*     "      signed quadword       */
 I5	   9054 #define XAB$C_DBN8 39                   /*     "      unsigned quadword     */
 I5	   9055 #define XAB$C_DCOL 40                   /*     "      collated              */
 I5	   9056 #define XAB$C_MAXDTP 40                 /* max. legal data type             */
 I5	   9057 #define XAB$K_KEYLEN_V2 64              /* old xabkey length                */
 I5	   9058 #define XAB$C_KEYLEN_V2 64              /* old xabkey length                */
 I5	   9059 /*                                                                          */
 I5	   9060 #define XAB$C_PRG3 3                    /* Prologue version three           */
 I5	   9061 #define XAB$C_PRG2 2                    /* Prologue version two             */
 I5	   9062 #define XAB$C_PRG1 1                    /* Prologue versoin one             */
 I5	   9063 #define XAB$K_KEYLEN_V4 76              /* xabkey length until V5           */
 I5	   9064 #define XAB$C_KEYLEN_V4 76              /* xabkey length until V5           */
 I5	   9065 	
 I5    X   9066 #ifdef __NEW_STARLET
 I5    X   9067 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   9068 #pragma __nomember_alignment __longword
 I5    X   9069 #else
 I5    X   9070 #pragma __nomember_alignment
 I5    X   9071 #endif
 I5    X   9072 typedef struct _xabkeydef {
 I5    X   9073 #pragma __nomember_alignment
 I5    X   9074     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   9075     unsigned char xab$b_bln;            /* block length                     */
 I5    X   9076     short int xabkeydef$$_fill_1;       /* (spare)                          */
 I5    X   9077     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   9078 /*                                                                          */
 I5    X   9079 /* the field layout of the key xab is such that it matchs as                */
 I5    X   9080 /* closely as possible the layout of a key decriptor in the                 */
 I5    X   9081 /* index file prologue. this is so the contents may be moved                */
 I5    X   9082 /* between the two structures as efficiently as possible.                   */
 I5    X   9083 /*                                                                          */
 I5    X   9084     unsigned char xab$b_ian;            /* index level area number          */
 I5    X   9085     unsigned char xab$b_lan;            /* lowest index level area number   */
 I5    X   9086     unsigned char xab$b_dan;            /* data level area number           */
 I5    X   9087     unsigned char xab$b_lvl;            /* level of root bucket             */
 I5    X   9088     unsigned char xab$b_ibs;            /* size of index buckets in virtual blocks */
 I5    X   9089     unsigned char xab$b_dbs;            /* size of data buckets in virtual blocks */
 I5    X   9090     unsigned int xab$l_rvb;             /* root bucket start vbn            */
 I5    X   9091     __union  {
 I5    X   9092         unsigned char xab$b_flg;        /* key option flags                 */
 I5    X   9093         __struct  {
 I5    X   9094             unsigned xab$v_dup : 1;     /* duplicate key values allowed     */
 I5    X   9095             unsigned xab$v_chg : 1;     /* alt key only --key field may change on update */
 I5    X   9096             unsigned xab$v_nul : 1;     /* alt key only --null key value enable */
 I5    X   9097             unsigned xab$v_idx_ncmpr : 1; /* indicate index records for given key are not compressed */
 I5    X   9098             unsigned xabkeydef$$_fill_5 : 2; /* spare                       */
 I5    X   9099             unsigned xab$v_key_ncmpr : 1; /* indicates key is not compressed in data record */
 I5    X   9100             unsigned xab$v_fill_14_ : 1;
 I5    X   9101             } xab$r_flg_bits0;
 I5    X   9102         __struct  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 164
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5    X   9103             unsigned xabkeydef$$_fill_6 : 1; /* space over dup              */
 I5    X   9104             unsigned xabkeydef$$_fill_7 : 2; /* spare                       */
 I5    X   9105             unsigned xabkeydef$$_fill_8 : 1; /* space over idx_ncmpr        */
 I5    X   9106             unsigned xabkeydef$$_fill_9 : 2; /* spare                       */
 I5    X   9107             unsigned xabkeydef$$_fill_10 : 1; /* space over key_ncmpr       */
 I5    X   9108             unsigned xab$v_dat_ncmpr : 1; /* data record is not compressed  */
 I5    X   9109             } xab$r_flg_bits1;
 I5    X   9110         } xab$r_flg_overlay;
 I5    X   9111     unsigned char xab$b_dtp;            /* key field data type              */
 I5    X   9112     unsigned char xab$b_nsg;            /* number of key segments           */
 I5    X   9113     unsigned char xab$b_nul;            /* nul key character                */
 I5    X   9114     unsigned char xab$b_tks;            /* total key field size (bytes)     */
 I5    X   9115     unsigned char xab$b_ref;            /* key of reference (0=prim key,    */
 I5    X   9116 /* 1-254 = alternate keys)                                                  */
 I5    X   9117     unsigned short int xab$w_mrl;       /* minimun record length to contain key field */
 I5    X   9118     unsigned short int xab$w_ifl;       /* index bucket fill size (bytes)   */
 I5    X   9119     unsigned short int xab$w_dfl;       /* data bucket fil size (bytes)     */
 I5    X   9120     __union  {
 I5    X   9121         unsigned short int xab$w_pos [8]; /* key field record offset positions */
 I5    X   9122         __struct  {
 I5    X   9123             unsigned short int xab$w_pos0; /* segment 0                     */
 I5    X   9124             unsigned short int xab$w_pos1; /* segment 1                     */
 I5    X   9125             unsigned short int xab$w_pos2; /* segment 2                     */
 I5    X   9126             unsigned short int xab$w_pos3; /* segment 3                     */
 I5    X   9127             unsigned short int xab$w_pos4; /* segment 4                     */
 I5    X   9128             unsigned short int xab$w_pos5; /* segment 5                     */
 I5    X   9129             unsigned short int xab$w_pos6; /* segment 6                     */
 I5    X   9130             unsigned short int xab$w_pos7; /* segment 7                     */
 I5    X   9131             } xab$r_pos_fields;
 I5    X   9132         } xab$r_pos_overlay;
 I5    X   9133     __union  {
 I5    X   9134         unsigned char xab$b_siz [8];    /* key field segment sizes          */
 I5    X   9135         __struct  {
 I5    X   9136             unsigned char xab$b_siz0;   /* segment 0                        */
 I5    X   9137             unsigned char xab$b_siz1;   /* segment 1                        */
 I5    X   9138             unsigned char xab$b_siz2;   /* segment 2                        */
 I5    X   9139             unsigned char xab$b_siz3;   /* segment 3                        */
 I5    X   9140             unsigned char xab$b_siz4;   /* segment 4                        */
 I5    X   9141             unsigned char xab$b_siz5;   /* segment 5                        */
 I5    X   9142             unsigned char xab$b_siz6;   /* segment 6                        */
 I5    X   9143             unsigned char xab$b_siz7;   /* segment 7                        */
 I5    X   9144             } xab$r_siz_fields;
 I5    X   9145         } xab$r_siz_overlay;
 I5    X   9146     short int xabkeydef$$_fill_11;      /* spare                            */
 I5    X   9147 /*                                                                          */
 I5    X   9148 /* the positions of the above fields are dictated by the key descriptor     */
 I5    X   9149 /* record layout in the index file prologue.                                */
 I5    X   9150 /*                                                                          */
 I5    X   9151     char *xab$l_knm;                    /* pointer to 32 character key name buffer */
 I5    X   9152     unsigned int xab$l_dvb;             /* first data bucket start vbn      */
 I5    X   9153 /* Additions for prologue 3 files                                           */
 I5    X   9154 /*                                                                          */
 I5    X   9155     __union  {
 I5    X   9156         unsigned char xab$b_typ [8];    /* key field segment types          */
 I5    X   9157         __struct  {
 I5    X   9158             unsigned char xab$b_typ0;   /* segment 0                        */
 I5    X   9159             unsigned char xab$b_typ1;   /* segment 1                        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 165
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5    X   9160             unsigned char xab$b_typ2;   /* segment 2                        */
 I5    X   9161             unsigned char xab$b_typ3;   /* segment 3                        */
 I5    X   9162             unsigned char xab$b_typ4;   /* segment 4                        */
 I5    X   9163             unsigned char xab$b_typ5;   /* segment 5                        */
 I5    X   9164             unsigned char xab$b_typ6;   /* segment 6                        */
 I5    X   9165             unsigned char xab$b_typ7;   /* segment 7                        */
 I5    X   9166             } xab$r_typ_fields;
 I5    X   9167         } xab$r_typ_overlay;
 I5    X   9168     unsigned char xab$b_prolog;         /* indicate prologue version desired (primary key only) */
 I5    X   9169     char xabkeydef$$_fill_12;           /* spare                            */
 I5    X   9170     short int xabkeydef$$_fill_13;      /* spare                            */
 I5    X   9171     void *xab$l_coltbl;                 /* address of collate table         */
 I5    X   9172     unsigned int xab$l_colsiz;          /* size of collate table            */
 I5    X   9173     char *xab$l_colnam;                 /* name of collate table            */
 I5    X   9174     unsigned int xabkeydef$$_fill_14;   /* spare                            */
 I5    X   9175     unsigned int xabkeydef$$_fill_15;   /* spare                            */
 I5    X   9176     unsigned int xabkeydef$$_fill_16;   /* spare                            */
 I5    X   9177 /*--                                                                        */
 I5    X   9178 /*++                                                                        */
 I5    X   9179     } XABKEYDEF;
 I5    X   9180  
 I5    X   9181 #if !defined(__VAXC)
 I5    X   9182 #define xab$b_flg xab$r_flg_overlay.xab$b_flg
 I5    X   9183 #define xab$r_flg_bits0	xab$r_flg_overlay.xab$r_flg_bits0
 I5    X   9184 #define xab$v_dup xab$r_flg_bits0.xab$v_dup
 I5    X   9185 #define xab$v_chg xab$r_flg_bits0.xab$v_chg
 I5    X   9186 #define xab$v_nul xab$r_flg_bits0.xab$v_nul
 I5    X   9187 #define xab$v_idx_ncmpr xab$r_flg_bits0.xab$v_idx_ncmpr
 I5    X   9188 #define xab$v_key_ncmpr xab$r_flg_bits0.xab$v_key_ncmpr
 I5    X   9189 #define xab$r_flg_bits1	xab$r_flg_overlay.xab$r_flg_bits1
 I5    X   9190 #define xab$v_dat_ncmpr xab$r_flg_bits1.xab$v_dat_ncmpr
 I5    X   9191 #define xab$w_pos xab$r_pos_overlay.xab$w_pos
 I5    X   9192 #define xab$r_pos_fields	xab$r_pos_overlay.xab$r_pos_fields
 I5    X   9193 #define xab$w_pos0 xab$r_pos_fields.xab$w_pos0
 I5    X   9194 #define xab$w_pos1 xab$r_pos_fields.xab$w_pos1
 I5    X   9195 #define xab$w_pos2 xab$r_pos_fields.xab$w_pos2
 I5    X   9196 #define xab$w_pos3 xab$r_pos_fields.xab$w_pos3
 I5    X   9197 #define xab$w_pos4 xab$r_pos_fields.xab$w_pos4
 I5    X   9198 #define xab$w_pos5 xab$r_pos_fields.xab$w_pos5
 I5    X   9199 #define xab$w_pos6 xab$r_pos_fields.xab$w_pos6
 I5    X   9200 #define xab$w_pos7 xab$r_pos_fields.xab$w_pos7
 I5    X   9201 #define xab$b_siz xab$r_siz_overlay.xab$b_siz
 I5    X   9202 #define xab$r_siz_fields	xab$r_siz_overlay.xab$r_siz_fields
 I5    X   9203 #define xab$b_siz0 xab$r_siz_fields.xab$b_siz0
 I5    X   9204 #define xab$b_siz1 xab$r_siz_fields.xab$b_siz1
 I5    X   9205 #define xab$b_siz2 xab$r_siz_fields.xab$b_siz2
 I5    X   9206 #define xab$b_siz3 xab$r_siz_fields.xab$b_siz3
 I5    X   9207 #define xab$b_siz4 xab$r_siz_fields.xab$b_siz4
 I5    X   9208 #define xab$b_siz5 xab$r_siz_fields.xab$b_siz5
 I5    X   9209 #define xab$b_siz6 xab$r_siz_fields.xab$b_siz6
 I5    X   9210 #define xab$b_siz7 xab$r_siz_fields.xab$b_siz7
 I5    X   9211 #define xab$b_typ xab$r_typ_overlay.xab$b_typ
 I5    X   9212 #define xab$r_typ_fields	xab$r_typ_overlay.xab$r_typ_fields
 I5    X   9213 #define xab$b_typ0 xab$r_typ_fields.xab$b_typ0
 I5    X   9214 #define xab$b_typ1 xab$r_typ_fields.xab$b_typ1
 I5    X   9215 #define xab$b_typ2 xab$r_typ_fields.xab$b_typ2
 I5    X   9216 #define xab$b_typ3 xab$r_typ_fields.xab$b_typ3

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 166
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5    X   9217 #define xab$b_typ4 xab$r_typ_fields.xab$b_typ4
 I5    X   9218 #define xab$b_typ5 xab$r_typ_fields.xab$b_typ5
 I5    X   9219 #define xab$b_typ6 xab$r_typ_fields.xab$b_typ6
 I5    X   9220 #define xab$b_typ7 xab$r_typ_fields.xab$b_typ7
 I5    X   9221 #endif		/* #if !defined(__VAXC) */
 I5    X   9222  
 I5    X   9223 #else	    /* __OLD_STARLET */
 I5	   9224 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   9225 #pragma __nomember_alignment __longword
 I5    X   9226 #else
 I5    X   9227 #pragma __nomember_alignment
 I5    X   9228 #endif
 I5	   9229 struct xabkeydef {
 I5	   9230 #pragma __nomember_alignment
 I5	   9231     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   9232     unsigned char xab$b_bln;            /* block length                     */
 I5	   9233     short int xabkeydef$$_fill_1;       /* (spare)                          */
 I5	   9234     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   9235 /*                                                                          */
 I5	   9236 /* the field layout of the key xab is such that it matchs as                */
 I5	   9237 /* closely as possible the layout of a key decriptor in the                 */
 I5	   9238 /* index file prologue. this is so the contents may be moved                */
 I5	   9239 /* between the two structures as efficiently as possible.                   */
 I5	   9240 /*                                                                          */
 I5	   9241     unsigned char xab$b_ian;            /* index level area number          */
 I5	   9242     unsigned char xab$b_lan;            /* lowest index level area number   */
 I5	   9243     unsigned char xab$b_dan;            /* data level area number           */
 I5	   9244     unsigned char xab$b_lvl;            /* level of root bucket             */
 I5	   9245     unsigned char xab$b_ibs;            /* size of index buckets in virtual blocks */
 I5	   9246     unsigned char xab$b_dbs;            /* size of data buckets in virtual blocks */
 I5	   9247     unsigned int xab$l_rvb;             /* root bucket start vbn            */
 I5	   9248     __union  {
       E	     union
 I5	   9249         unsigned char xab$b_flg;        /* key option flags                 */
 I5	   9250         __struct  {
       E	         struct
 I5	   9251             unsigned xab$v_dup : 1;     /* duplicate key values allowed     */
 I5	   9252             unsigned xab$v_chg : 1;     /* alt key only --key field may change on update */
 I5	   9253             unsigned xab$v_nul : 1;     /* alt key only --null key value enable */
 I5	   9254             unsigned xab$v_idx_ncmpr : 1; /* indicate index records for given key are not compressed */
 I5	   9255             unsigned xabkeydef$$_fill_5 : 2; /* spare                       */
 I5	   9256             unsigned xab$v_key_ncmpr : 1; /* indicates key is not compressed in data record */
 I5	   9257             unsigned xab$v_fill_14_ : 1;
 I5	   9258             } xab$r_flg_bits0;
 I5	   9259         __struct  {
       E	         struct
 I5	   9260             unsigned xabkeydef$$_fill_6 : 1; /* space over dup              */
 I5	   9261             unsigned xabkeydef$$_fill_7 : 2; /* spare                       */
 I5	   9262             unsigned xabkeydef$$_fill_8 : 1; /* space over idx_ncmpr        */
 I5	   9263             unsigned xabkeydef$$_fill_9 : 2; /* spare                       */
 I5	   9264             unsigned xabkeydef$$_fill_10 : 1; /* space over key_ncmpr       */
 I5	   9265             unsigned xab$v_dat_ncmpr : 1; /* data record is not compressed  */
 I5	   9266             } xab$r_flg_bits1;
 I5	   9267         } xab$r_flg_overlay;
 I5	   9268     unsigned char xab$b_dtp;            /* key field data type              */
 I5	   9269     unsigned char xab$b_nsg;            /* number of key segments           */
 I5	   9270     unsigned char xab$b_nul;            /* nul key character                */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 167
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5	   9271     unsigned char xab$b_tks;            /* total key field size (bytes)     */
 I5	   9272     unsigned char xab$b_ref;            /* key of reference (0=prim key,    */
 I5	   9273 /* 1-254 = alternate keys)                                                  */
 I5	   9274     unsigned short int xab$w_mrl;       /* minimun record length to contain key field */
 I5	   9275     unsigned short int xab$w_ifl;       /* index bucket fill size (bytes)   */
 I5	   9276     unsigned short int xab$w_dfl;       /* data bucket fil size (bytes)     */
 I5	   9277     __union  {
       E	     union
 I5	   9278         unsigned short int xab$w_pos [8]; /* key field record offset positions */
 I5	   9279         __struct  {
       E	         struct
 I5	   9280             unsigned short int xab$w_pos0; /* segment 0                     */
 I5	   9281             unsigned short int xab$w_pos1; /* segment 1                     */
 I5	   9282             unsigned short int xab$w_pos2; /* segment 2                     */
 I5	   9283             unsigned short int xab$w_pos3; /* segment 3                     */
 I5	   9284             unsigned short int xab$w_pos4; /* segment 4                     */
 I5	   9285             unsigned short int xab$w_pos5; /* segment 5                     */
 I5	   9286             unsigned short int xab$w_pos6; /* segment 6                     */
 I5	   9287             unsigned short int xab$w_pos7; /* segment 7                     */
 I5	   9288             } xab$r_pos_fields;
 I5	   9289         } xab$r_pos_overlay;
 I5	   9290     __union  {
       E	     union
 I5	   9291         unsigned char xab$b_siz [8];    /* key field segment sizes          */
 I5	   9292         __struct  {
       E	         struct
 I5	   9293             unsigned char xab$b_siz0;   /* segment 0                        */
 I5	   9294             unsigned char xab$b_siz1;   /* segment 1                        */
 I5	   9295             unsigned char xab$b_siz2;   /* segment 2                        */
 I5	   9296             unsigned char xab$b_siz3;   /* segment 3                        */
 I5	   9297             unsigned char xab$b_siz4;   /* segment 4                        */
 I5	   9298             unsigned char xab$b_siz5;   /* segment 5                        */
 I5	   9299             unsigned char xab$b_siz6;   /* segment 6                        */
 I5	   9300             unsigned char xab$b_siz7;   /* segment 7                        */
 I5	   9301             } xab$r_siz_fields;
 I5	   9302         } xab$r_siz_overlay;
 I5	   9303     short int xabkeydef$$_fill_11;      /* spare                            */
 I5	   9304 /*                                                                          */
 I5	   9305 /* the positions of the above fields are dictated by the key descriptor     */
 I5	   9306 /* record layout in the index file prologue.                                */
 I5	   9307 /*                                                                          */
 I5	   9308     char *xab$l_knm;                    /* pointer to 32 character key name buffer */
 I5	   9309     unsigned int xab$l_dvb;             /* first data bucket start vbn      */
 I5	   9310 /* Additions for prologue 3 files                                           */
 I5	   9311 /*                                                                          */
 I5	   9312     __union  {
       E	     union
 I5	   9313         unsigned char xab$b_typ [8];    /* key field segment types          */
 I5	   9314         __struct  {
       E	         struct
 I5	   9315             unsigned char xab$b_typ0;   /* segment 0                        */
 I5	   9316             unsigned char xab$b_typ1;   /* segment 1                        */
 I5	   9317             unsigned char xab$b_typ2;   /* segment 2                        */
 I5	   9318             unsigned char xab$b_typ3;   /* segment 3                        */
 I5	   9319             unsigned char xab$b_typ4;   /* segment 4                        */
 I5	   9320             unsigned char xab$b_typ5;   /* segment 5                        */
 I5	   9321             unsigned char xab$b_typ6;   /* segment 6                        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 168
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5	   9322             unsigned char xab$b_typ7;   /* segment 7                        */
 I5	   9323             } xab$r_typ_fields;
 I5	   9324         } xab$r_typ_overlay;
 I5	   9325     unsigned char xab$b_prolog;         /* indicate prologue version desired (primary key only) */
 I5	   9326     char xabkeydef$$_fill_12;           /* spare                            */
 I5	   9327     short int xabkeydef$$_fill_13;      /* spare                            */
 I5	   9328     void *xab$l_coltbl;                 /* address of collate table         */
 I5	   9329     unsigned int xab$l_colsiz;          /* size of collate table            */
 I5	   9330     char *xab$l_colnam;                 /* name of collate table            */
 I5	   9331     unsigned int xabkeydef$$_fill_14;   /* spare                            */
 I5	   9332     unsigned int xabkeydef$$_fill_15;   /* spare                            */
 I5	   9333     unsigned int xabkeydef$$_fill_16;   /* spare                            */
 I5	   9334 /*--                                                                        */
 I5	   9335 /*++                                                                        */
 I5	   9336     } ;
 I5	   9337  
 I5	   9338 #if !defined(__VAXC)
 I5	   9339 #define xab$b_flg xab$r_flg_overlay.xab$b_flg
 I5	   9340 #define xab$v_dup xab$r_flg_overlay.xab$r_flg_bits0.xab$v_dup
 I5	   9341 #define xab$v_chg xab$r_flg_overlay.xab$r_flg_bits0.xab$v_chg
 I5	   9342 #define xab$v_nul xab$r_flg_overlay.xab$r_flg_bits0.xab$v_nul
 I5	   9343 #define xab$v_idx_ncmpr xab$r_flg_overlay.xab$r_flg_bits0.xab$v_idx_ncmpr
 I5	   9344 #define xab$v_key_ncmpr xab$r_flg_overlay.xab$r_flg_bits0.xab$v_key_ncmpr
 I5	   9345 #define xab$v_dat_ncmpr xab$r_flg_overlay.xab$r_flg_bits1.xab$v_dat_ncmpr
 I5	   9346 #define xab$w_pos xab$r_pos_overlay.xab$w_pos
 I5	   9347 #define xab$w_pos0 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos0
 I5	   9348 #define xab$w_pos1 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos1
 I5	   9349 #define xab$w_pos2 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos2
 I5	   9350 #define xab$w_pos3 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos3
 I5	   9351 #define xab$w_pos4 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos4
 I5	   9352 #define xab$w_pos5 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos5
 I5	   9353 #define xab$w_pos6 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos6
 I5	   9354 #define xab$w_pos7 xab$r_pos_overlay.xab$r_pos_fields.xab$w_pos7
 I5	   9355 #define xab$b_siz xab$r_siz_overlay.xab$b_siz
 I5	   9356 #define xab$b_siz0 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz0
 I5	   9357 #define xab$b_siz1 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz1
 I5	   9358 #define xab$b_siz2 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz2
 I5	   9359 #define xab$b_siz3 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz3
 I5	   9360 #define xab$b_siz4 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz4
 I5	   9361 #define xab$b_siz5 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz5
 I5	   9362 #define xab$b_siz6 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz6
 I5	   9363 #define xab$b_siz7 xab$r_siz_overlay.xab$r_siz_fields.xab$b_siz7
 I5	   9364 #define xab$b_typ xab$r_typ_overlay.xab$b_typ
 I5	   9365 #define xab$b_typ0 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ0
 I5	   9366 #define xab$b_typ1 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ1
 I5	   9367 #define xab$b_typ2 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ2
 I5	   9368 #define xab$b_typ3 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ3
 I5	   9369 #define xab$b_typ4 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ4
 I5	   9370 #define xab$b_typ5 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ5
 I5	   9371 #define xab$b_typ6 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ6
 I5	   9372 #define xab$b_typ7 xab$r_typ_overlay.xab$r_typ_fields.xab$b_typ7
 I5	   9373 #endif		/* #if !defined(__VAXC) */
 I5	   9374  
 I5	   9375 #endif	    /* #ifdef __NEW_STARLET */
 I5	   9376 /* basealign on aggregate XABKEYDEF operates after aggregate end            */
 I5	   9377 #define XAB$K_KEYLEN 100                /* xabkey length for V5             */
 I5	   9378 #define XAB$C_KEYLEN 100                /* xabkey length for V5             */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 169
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABKEYDEF)

 I5	   9379 	
 I5	   9380  /* These are traditional macros that should be hand-maintained for compatibility */
 I5	   9381 /* Do not have to add new ones, but do have to maintain those that are here already. */
 I5	   9382 #define XAB$V_DUP	0		/* duplicate key value allowed */
 I5	   9383 #define XAB$V_CHG	1		/* may change on update (alternate keys only) */
 I5	   9384 #define XAB$V_NUL	2		/* null key value enable (alternate keys only) */
 I5	   9385 #define XAB$V_IDX_NCMPR	3		/* indicates index records are not compressed */
 I5	   9386 #define XAB$V_KEY_NCMPR	6		/* indicates primary key is not compressed */
 I5	   9387 #define XAB$V_DAT_NCMPR	7		/* indicated data record is not compressed */
 I5	   9388 /* Note: if you wish to access these field as defined in the struct,
 I5	   9389  * #undef these macros in your code */
 I5	   9390 #ifndef __cplusplus
 I5	   9391 #undef  xab$w_pos
 I5	   9392 #define xab$w_pos	xab$w_pos0
 I5	   9393 #undef  xab$b_siz
 I5	   9394 #define xab$b_siz 	xab$b_siz0
 I5	   9395 #undef  xab$b_typ
 I5	   9396 #define xab$b_typ	xab$b_typ0
 I5	   9397 #endif
 I5    X   9398 #ifdef __NEW_STARLET
 I5    X   9399 #define XABKEY _xabkeydef
 I5    X   9400 #else
 I5	   9401 #define XABKEY xabkeydef
 I5	   9402 #endif
 I5	   9403 #define cc$rms_xabkey (*decc$ga_rms_xabkey)
 I5	   9404 #if defined(__DECC) || defined(__DECCXX)
 I5	   9405 # pragma extern_model __save
 I5	   9406 # pragma extern_model strict_refdef
 I5	   9407    extern struct XABKEY cc$rms_xabkey;		/* Declare initialized prototype data structures */
       E	                  xabkeydef
       E	                         ( * decc$ga_rms_xabkey )
 I5	   9408 # pragma extern_model __restore
 I5    X   9409 #else
 I5    X   9410    globalref struct XABKEY cc$rms_xabkey;	/* Declare initialized prototype data structures */
 I5    X   9411 #endif
 I5	   9412 	
 I5	   9413  
 I5	   9414 #pragma __member_alignment __restore
 I5	   9415 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9416 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   9417 #endif
 I5    X   9418 #ifdef __cplusplus
 I5    X   9419     }
 I5    X   9420 #endif
 I5	   9421 #pragma __standard
 I5	   9422  
 I5	   9423 #endif /* __XABKEYDEF_LOADED */
 I5	   9424  
 I4	   9425 #include <XABPRODEF.H>
 I5	   9426 /*******************************************************************************************************************
 I5	   9426 *************/
 I5	   9427 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   9428 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   9429 /*******************************************************************************************************************
 I5	   9429 *************/
 I5	   9430 /*** MODULE $XABPRODEF ***/
 I5	   9431 #ifndef __XABPRODEF_LOADED

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 170
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABPRODEF)

 I5	   9432 #define __XABPRODEF_LOADED 1
 I5	   9433  
 I5	   9434 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   9435 #pragma __member_alignment __save
 I5	   9436 #pragma __nomember_alignment
 I5	   9437 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9438 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   9439 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   9440 #endif
 I5	   9441  
 I5    X   9442 #ifdef __cplusplus
 I5    X   9443     extern "C" {
 I5    X   9444 #define __unknown_params ...
 I5    X   9445 #define __optional_params ...
 I5    X   9446 #else
 I5	   9447 #define __unknown_params
 I5	   9448 #define __optional_params ...
 I5	   9449 #endif
 I5	   9450  
 I5    X   9451 #ifndef __struct
 I5    X   9452 #if !defined(__VAXC)
 I5    X   9453 #define __struct struct
 I5    X   9454 #else
 I5    X   9455 #define __struct variant_struct
 I5    X   9456 #endif
 I5    X   9457 #endif
 I5	   9458  
 I5    X   9459 #ifndef __union
 I5    X   9460 #if !defined(__VAXC)
 I5    X   9461 #define __union union
 I5    X   9462 #else
 I5    X   9463 #define __union variant_union
 I5    X   9464 #endif
 I5    X   9465 #endif
 I5	   9466  
 I5	   9467 /*                                                                          */
 I5	   9468 /*        protection xab field definitions                                  */
 I5	   9469 /*                $xabprodef                                                */
 I5	   9470 /*                                                                          */
 I5	   9471 /*                                                                          */
 I5	   9472 #define XAB$C_PRO 19                    /* xabpro id code                   */
 I5	   9473 #define XAB$M_NOREAD 0x1
 I5	   9474 #define XAB$M_NOWRITE 0x2
 I5	   9475 #define XAB$M_NOEXE 0x4
 I5	   9476 #define XAB$M_NODEL 0x8
 I5	   9477 	
 I5    X   9478 #ifdef __NEW_STARLET
 I5    X   9479 typedef union _xabprodef {
 I5    X   9480     __struct  {
 I5    X   9481         unsigned xab$v_noread : 1;      /* deny read access                 */
 I5    X   9482         unsigned xab$v_nowrite : 1;     /* deny write access                */
 I5    X   9483         unsigned xab$v_noexe : 1;       /* deny execution access            */
 I5    X   9484         unsigned xab$v_nodel : 1;       /* deny delete access               */
 I5    X   9485         unsigned xab$v_fill_12_ : 4;
 I5    X   9486         } xab$r_xabprodef_bits;
 I5    X   9487     } XABPRODEF;
 I5    X   9488  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 171
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABPRODEF)

 I5    X   9489 #if !defined(__VAXC)
 I5    X   9490 #define xab$v_noread xab$r_xabprodef_bits.xab$v_noread
 I5    X   9491 #define xab$v_nowrite xab$r_xabprodef_bits.xab$v_nowrite
 I5    X   9492 #define xab$v_noexe xab$r_xabprodef_bits.xab$v_noexe
 I5    X   9493 #define xab$v_nodel xab$r_xabprodef_bits.xab$v_nodel
 I5    X   9494 #endif		/* #if !defined(__VAXC) */
 I5    X   9495  
 I5    X   9496 #else	    /* __OLD_STARLET */
 I5	   9497 union xabprodef {
 I5	   9498     __struct  {
       E	     struct
 I5	   9499         unsigned xab$v_noread : 1;      /* deny read access                 */
 I5	   9500         unsigned xab$v_nowrite : 1;     /* deny write access                */
 I5	   9501         unsigned xab$v_noexe : 1;       /* deny execution access            */
 I5	   9502         unsigned xab$v_nodel : 1;       /* deny delete access               */
 I5	   9503         unsigned xab$v_fill_12_ : 4;
 I5	   9504         } xab$r_xabprodef_bits;
 I5	   9505     } ;
 I5	   9506  
 I5	   9507 #if !defined(__VAXC)
 I5	   9508 #define xab$v_noread xab$r_xabprodef_bits.xab$v_noread
 I5	   9509 #define xab$v_nowrite xab$r_xabprodef_bits.xab$v_nowrite
 I5	   9510 #define xab$v_noexe xab$r_xabprodef_bits.xab$v_noexe
 I5	   9511 #define xab$v_nodel xab$r_xabprodef_bits.xab$v_nodel
 I5	   9512 #endif		/* #if !defined(__VAXC) */
 I5	   9513  
 I5	   9514 #endif	    /* #ifdef __NEW_STARLET */
 I5	   9515 #define XAB$M_PROPAGATE 0x1
 I5	   9516 #define XAB$K_PROLEN_V3 16              /* V3a xabpro length                */
 I5	   9517 #define XAB$C_PROLEN_V3 16              /* V3a xabpro length                */
 I5	   9518 	
 I5    X   9519 #ifdef __NEW_STARLET
 I5    X   9520 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   9521 #pragma __nomember_alignment __longword
 I5    X   9522 #else
 I5    X   9523 #pragma __nomember_alignment
 I5    X   9524 #endif
 I5    X   9525 typedef struct _xabprodef1 {
 I5    X   9526 #pragma __nomember_alignment
 I5    X   9527     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   9528     unsigned char xab$b_bln;            /* block length                     */
 I5    X   9529     short int xabprodef$$_fill_1;       /* (spare)                          */
 I5    X   9530     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   9531     __union  {
 I5    X   9532         unsigned short int xab$w_pro;   /* protection mask                  */
 I5    X   9533         __struct  {
 I5    X   9534             unsigned xab$v_sys : 4;     /* system                           */
 I5    X   9535             unsigned xab$v_own : 4;     /* owner                            */
 I5    X   9536             unsigned xab$v_grp : 4;     /* group                            */
 I5    X   9537             unsigned xab$v_wld : 4;     /* world                            */
 I5    X   9538             } xab$r_pro_bits;
 I5    X   9539         } xab$r_pro_overlay;
 I5    X   9540     unsigned char xab$b_mtacc;          /* Magtape access control char.     */
 I5    X   9541     __union  {
 I5    X   9542         unsigned char xab$b_prot_opt;   /* XABPRO options field             */
 I5    X   9543         __struct  {
 I5    X   9544             unsigned xab$v_propagate : 1; /* Propagate security attributes on $ENTER and $RENAME */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 172
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABPRODEF)

 I5    X   9545             unsigned xab$v_fill_13_ : 7;
 I5    X   9546             } xab$r_prot_opt_fields;
 I5    X   9547         } xab$r_prot_opt_overlay;
 I5    X   9548     __union  {
 I5    X   9549         unsigned int xab$l_uic;         /* uic code                         */
 I5    X   9550         __struct  {
 I5    X   9551             unsigned short int xab$w_mbm; /* member code                    */
 I5    X   9552             unsigned short int xab$w_grp; /* group code                     */
 I5    X   9553             } xab$r_uic_fields;
 I5    X   9554         } xab$r_uic_overlay;
 I5    X   9555     __union  {                          /* RWED/mode protection for file    */
 I5    X   9556         __int64 xab$q_prot_mode;
 I5    X   9557         __struct  {
 I5    X   9558             unsigned char xab$b_prot_mode; /* but currently only a byte     */
 I5    X   9559             } xab$r_prot_mode_fields;
 I5    X   9560         } xab$r_prot_mode_overlay;
 I5    X   9561     char *xab$l_aclbuf;                 /* address of user's ACL buffer     */
 I5    X   9562     unsigned short int xab$w_aclsiz;    /* size of user's ACL buffer        */
 I5    X   9563     unsigned short int xab$w_acllen;    /* return length of entire ACL      */
 I5    X   9564     unsigned int xab$l_aclctx;          /* ACL context field                */
 I5    X   9565     unsigned int xab$l_aclsts;          /* ACL return err status            */
 I5    X   9566     unsigned int xabprodef$$_fill_10;   /* spare                            */
 I5    X   9567     unsigned int xabprodef$$_fill_11;   /* spare                            */
 I5    X   9568     unsigned int xabprodef$$_fill_12;   /* spare                            */
 I5    X   9569     unsigned int xabprodef$$_fill_13;   /* spare                            */
 I5    X   9570     unsigned int xabprodef$$_fill_14;   /* spare                            */
 I5    X   9571     unsigned int xabprodef$$_fill_15;   /* spare                            */
 I5    X   9572     unsigned int xabprodef$$_fill_16;   /* spare                            */
 I5    X   9573     unsigned int xabprodef$$_fill_17;   /* spare                            */
 I5    X   9574     unsigned int xabprodef$$_fill_18;   /* spare                            */
 I5    X   9575     unsigned int xabprodef$$_fill_19;   /* spare                            */
 I5    X   9576     unsigned int xabprodef$$_fill_20;   /* spare                            */
 I5    X   9577     unsigned int xabprodef$$_fill_21;   /* spare                            */
 I5    X   9578     } XABPRODEF1;
 I5    X   9579  
 I5    X   9580 #if !defined(__VAXC)
 I5    X   9581 #define xab$w_pro xab$r_pro_overlay.xab$w_pro
 I5    X   9582 #define xab$r_pro_bits	xab$r_pro_overlay.xab$r_pro_bits
 I5    X   9583 #define xab$v_sys xab$r_pro_bits.xab$v_sys
 I5    X   9584 #define xab$v_own xab$r_pro_bits.xab$v_own
 I5    X   9585 #define xab$v_grp xab$r_pro_bits.xab$v_grp
 I5    X   9586 #define xab$v_wld xab$r_pro_bits.xab$v_wld
 I5    X   9587 #define xab$b_prot_opt xab$r_prot_opt_overlay.xab$b_prot_opt
 I5    X   9588 #define xab$r_prot_opt_fields	xab$r_prot_opt_overlay.xab$r_prot_opt_fields
 I5    X   9589 #define xab$v_propagate xab$r_prot_opt_fields.xab$v_propagate
 I5    X   9590 #define xab$l_uic xab$r_uic_overlay.xab$l_uic
 I5    X   9591 #define xab$r_uic_fields	xab$r_uic_overlay.xab$r_uic_fields
 I5    X   9592 #define xab$w_mbm xab$r_uic_fields.xab$w_mbm
 I5    X   9593 #define xab$w_grp xab$r_uic_fields.xab$w_grp
 I5    X   9594 #define xab$q_prot_mode xab$r_prot_mode_overlay.xab$q_prot_mode
 I5    X   9595 #define xab$r_prot_mode_fields	xab$r_prot_mode_overlay.xab$r_prot_mode_fields
 I5    X   9596 #define xab$b_prot_mode xab$r_prot_mode_fields.xab$b_prot_mode
 I5    X   9597 #endif		/* #if !defined(__VAXC) */
 I5    X   9598  
 I5    X   9599 #else	    /* __OLD_STARLET */
 I5	   9600 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   9601 #pragma __nomember_alignment __longword

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 173
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABPRODEF)

 I5    X   9602 #else
 I5    X   9603 #pragma __nomember_alignment
 I5    X   9604 #endif
 I5	   9605 struct xabprodef1 {
 I5	   9606 #pragma __nomember_alignment
 I5	   9607     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   9608     unsigned char xab$b_bln;            /* block length                     */
 I5	   9609     short int xabprodef$$_fill_1;       /* (spare)                          */
 I5	   9610     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   9611     __union  {
       E	     union
 I5	   9612         unsigned short int xab$w_pro;   /* protection mask                  */
 I5	   9613         __struct  {
       E	         struct
 I5	   9614             unsigned xab$v_sys : 4;     /* system                           */
 I5	   9615             unsigned xab$v_own : 4;     /* owner                            */
 I5	   9616             unsigned xab$v_grp : 4;     /* group                            */
 I5	   9617             unsigned xab$v_wld : 4;     /* world                            */
 I5	   9618             } xab$r_pro_bits;
 I5	   9619         } xab$r_pro_overlay;
 I5	   9620     unsigned char xab$b_mtacc;          /* Magtape access control char.     */
 I5	   9621     __union  {
       E	     union
 I5	   9622         unsigned char xab$b_prot_opt;   /* XABPRO options field             */
 I5	   9623         __struct  {
       E	         struct
 I5	   9624             unsigned xab$v_propagate : 1; /* Propagate security attributes on $ENTER and $RENAME */
 I5	   9625             unsigned xab$v_fill_13_ : 7;
 I5	   9626             } xab$r_prot_opt_fields;
 I5	   9627         } xab$r_prot_opt_overlay;
 I5	   9628     __union  {
       E	     union
 I5	   9629         unsigned int xab$l_uic;         /* uic code                         */
 I5	   9630         __struct  {
       E	         struct
 I5	   9631             unsigned short int xab$w_mbm; /* member code                    */
 I5	   9632             unsigned short int xab$w_grp; /* group code                     */
 I5	   9633             } xab$r_uic_fields;
 I5	   9634         } xab$r_uic_overlay;
 I5	   9635     __union  {                          /* RWED/mode protection for file    */
       E	     union
 I5	   9636         __int64 xab$q_prot_mode;
 I5	   9637         __struct  {
       E	         struct
 I5	   9638             unsigned char xab$b_prot_mode; /* but currently only a byte     */
 I5	   9639             } xab$r_prot_mode_fields;
 I5	   9640         } xab$r_prot_mode_overlay;
 I5	   9641     char *xab$l_aclbuf;                 /* address of user's ACL buffer     */
 I5	   9642     unsigned short int xab$w_aclsiz;    /* size of user's ACL buffer        */
 I5	   9643     unsigned short int xab$w_acllen;    /* return length of entire ACL      */
 I5	   9644     unsigned int xab$l_aclctx;          /* ACL context field                */
 I5	   9645     unsigned int xab$l_aclsts;          /* ACL return err status            */
 I5	   9646     unsigned int xabprodef$$_fill_10;   /* spare                            */
 I5	   9647     unsigned int xabprodef$$_fill_11;   /* spare                            */
 I5	   9648     unsigned int xabprodef$$_fill_12;   /* spare                            */
 I5	   9649     unsigned int xabprodef$$_fill_13;   /* spare                            */
 I5	   9650     unsigned int xabprodef$$_fill_14;   /* spare                            */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 174
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABPRODEF)

 I5	   9651     unsigned int xabprodef$$_fill_15;   /* spare                            */
 I5	   9652     unsigned int xabprodef$$_fill_16;   /* spare                            */
 I5	   9653     unsigned int xabprodef$$_fill_17;   /* spare                            */
 I5	   9654     unsigned int xabprodef$$_fill_18;   /* spare                            */
 I5	   9655     unsigned int xabprodef$$_fill_19;   /* spare                            */
 I5	   9656     unsigned int xabprodef$$_fill_20;   /* spare                            */
 I5	   9657     unsigned int xabprodef$$_fill_21;   /* spare                            */
 I5	   9658     } ;
 I5	   9659  
 I5	   9660 #if !defined(__VAXC)
 I5	   9661 #define xab$w_pro xab$r_pro_overlay.xab$w_pro
 I5	   9662 #define xab$v_sys xab$r_pro_overlay.xab$r_pro_bits.xab$v_sys
 I5	   9663 #define xab$v_own xab$r_pro_overlay.xab$r_pro_bits.xab$v_own
 I5	   9664 #define xab$v_grp xab$r_pro_overlay.xab$r_pro_bits.xab$v_grp
 I5	   9665 #define xab$v_wld xab$r_pro_overlay.xab$r_pro_bits.xab$v_wld
 I5	   9666 #define xab$b_prot_opt xab$r_prot_opt_overlay.xab$b_prot_opt
 I5	   9667 #define xab$v_propagate xab$r_prot_opt_overlay.xab$r_prot_opt_fields.xab$v_propagate
 I5	   9668 #define xab$l_uic xab$r_uic_overlay.xab$l_uic
 I5	   9669 #define xab$w_mbm xab$r_uic_overlay.xab$r_uic_fields.xab$w_mbm
 I5	   9670 #define xab$w_grp xab$r_uic_overlay.xab$r_uic_fields.xab$w_grp
 I5	   9671 #define xab$q_prot_mode xab$r_prot_mode_overlay.xab$q_prot_mode
 I5	   9672 #define xab$b_prot_mode xab$r_prot_mode_overlay.xab$r_prot_mode_fields.xab$b_prot_mode
 I5	   9673 #endif		/* #if !defined(__VAXC) */
 I5	   9674  
 I5	   9675 #endif	    /* #ifdef __NEW_STARLET */
 I5	   9676 /* basealign on aggregate XABPRODEF1 operates after aggregate end           */
 I5	   9677 #define XAB$K_PROLEN 88                 /* xabpro length                    */
 I5	   9678 #define XAB$C_PROLEN 88                 /* xabpro length                    */
 I5	   9679 	
 I5	   9680 /* These are traditional macros that should be hand-maintained for compatibility */
 I5	   9681 /* Do not have to add new ones, but do have to maintain those that are here already. */
 I5	   9682 #define XAB$V_SYS	0		/* system */
 I5	   9683 #define XAB$S_SYS	4
 I5	   9684 #define XAB$V_OWN	4		/* owner */
 I5	   9685 #define XAB$S_OWN	4
 I5	   9686 #define XAB$V_GRP	8		/* group */
 I5	   9687 #define XAB$S_GRP	4
 I5	   9688 #define XAB$V_WLD	12		/* world */
 I5	   9689 #define XAB$S_WLD	4
 I5	   9690 #define XAB$V_NOREAD	0		/* deny read access */
 I5	   9691 #define XAB$V_NOWRITE	1		/* deny write access */
 I5	   9692 #define XAB$V_NOEXE	2		/* deny execution access */
 I5	   9693 #define XAB$V_NODEL	3		/* deny delete access */
 I5	   9694 #define XAB$V_PROPAGATE	0		/* propagate security attributes on $ENTER and $RENAME */
 I5	   9695 #define XAB$V_PROPOGATE	0		/* continue mis-spelled name for compatibility */
 I5	   9696 #define XAB$M_PROPOGATE	(1 << XAB$V_PROPOGATE)
 I5    X   9697 #ifdef __NEW_STARLET
 I5    X   9698 #define XABPRO _xabprodef1
 I5    X   9699 #else
 I5	   9700 #define XABPRO xabprodef1
 I5	   9701 #endif
 I5	   9702 #define cc$rms_xabpro (*decc$ga_rms_xabpro)
 I5	   9703 #if defined(__DECC) || defined(__DECCXX)
 I5	   9704 # pragma extern_model __save
 I5	   9705 # pragma extern_model strict_refdef
 I5	   9706    extern struct XABPRO cc$rms_xabpro;		/* Declare initialized prototype data structures */
       E	                  xabprodef1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 175
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABPRODEF)

       E	                         ( * decc$ga_rms_xabpro )
 I5	   9707 # pragma extern_model __restore
 I5    X   9708 #else
 I5    X   9709    globalref struct XABPRO cc$rms_xabpro;	/* Declare initialized prototype data structures */
 I5    X   9710 #endif
 I5	   9711 	
 I5	   9712  
 I5	   9713 #pragma __member_alignment __restore
 I5	   9714 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9715 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   9716 #endif
 I5    X   9717 #ifdef __cplusplus
 I5    X   9718     }
 I5    X   9719 #endif
 I5	   9720 #pragma __standard
 I5	   9721  
 I5	   9722 #endif /* __XABPRODEF_LOADED */
 I5	   9723  
 I4	   9724 #include <XABRDTDEF.H>
 I5	   9725 /*******************************************************************************************************************
 I5	   9725 *************/
 I5	   9726 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   9727 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   9728 /*******************************************************************************************************************
 I5	   9728 *************/
 I5	   9729 /*** MODULE $XABRDTDEF ***/
 I5	   9730 #ifndef __XABRDTDEF_LOADED
 I5	   9731 #define __XABRDTDEF_LOADED 1
 I5	   9732  
 I5	   9733 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   9734 #pragma __member_alignment __save
 I5	   9735 #pragma __nomember_alignment
 I5	   9736 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9737 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   9738 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   9739 #endif
 I5	   9740  
 I5    X   9741 #ifdef __cplusplus
 I5    X   9742     extern "C" {
 I5    X   9743 #define __unknown_params ...
 I5    X   9744 #define __optional_params ...
 I5    X   9745 #else
 I5	   9746 #define __unknown_params
 I5	   9747 #define __optional_params ...
 I5	   9748 #endif
 I5	   9749  
 I5    X   9750 #ifndef __struct
 I5    X   9751 #if !defined(__VAXC)
 I5    X   9752 #define __struct struct
 I5    X   9753 #else
 I5    X   9754 #define __struct variant_struct
 I5    X   9755 #endif
 I5    X   9756 #endif
 I5	   9757  
 I5    X   9758 #ifndef __union
 I5    X   9759 #if !defined(__VAXC)
 I5    X   9760 #define __union union

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 176
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABRDTDEF)

 I5    X   9761 #else
 I5    X   9762 #define __union variant_union
 I5    X   9763 #endif
 I5    X   9764 #endif
 I5	   9765  
 I5	   9766 /*                                                                          */
 I5	   9767 /*        revision date/time xab definitions                                */
 I5	   9768 /*                $xabrdtdef                                                */
 I5	   9769 /*                                                                          */
 I5	   9770 #define XAB$C_RDT 30                    /* xabrdt id code                   */
 I5	   9771 	
 I5    X   9772 #ifdef __NEW_STARLET
 I5    X   9773 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   9774 #pragma __nomember_alignment __longword
 I5    X   9775 #else
 I5    X   9776 #pragma __nomember_alignment
 I5    X   9777 #endif
 I5    X   9778 typedef struct _xabrdtdef {
 I5    X   9779 #pragma __nomember_alignment
 I5    X   9780     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   9781     unsigned char xab$b_bln;            /* block length                     */
 I5    X   9782     short int xabrdtdef$$_fill_1;       /* (spare)                          */
 I5    X   9783     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   9784     unsigned short int xab$w_rvn;
 I5    X   9785     short int xabrdtdef$$_fill_2;
 I5    X   9786     __int64 xab$q_rdt;
 I5    X   9787     } XABRDTDEF;
 I5    X   9788 #else	    /* __OLD_STARLET */
 I5	   9789 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   9790 #pragma __nomember_alignment __longword
 I5    X   9791 #else
 I5    X   9792 #pragma __nomember_alignment
 I5    X   9793 #endif
 I5	   9794 struct xabrdtdef {
 I5	   9795 #pragma __nomember_alignment
 I5	   9796     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   9797     unsigned char xab$b_bln;            /* block length                     */
 I5	   9798     short int xabrdtdef$$_fill_1;       /* (spare)                          */
 I5	   9799     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   9800     unsigned short int xab$w_rvn;
 I5	   9801     short int xabrdtdef$$_fill_2;
 I5	   9802     __int64 xab$q_rdt;
 I5	   9803     } ;
 I5	   9804 #endif	    /* #ifdef __NEW_STARLET */
 I5	   9805 /* basealign on aggregate XABRDTDEF operates after aggregate end            */
 I5	   9806 #define XAB$K_RDTLEN 20                 /* length of rdt xab                */
 I5	   9807 #define XAB$C_RDTLEN 20                 /* length of rdt xab                */
 I5	   9808 	
 I5    X   9809 #ifdef __NEW_STARLET
 I5    X   9810 #define XABRDT _xabrdtdef
 I5    X   9811 #else
 I5	   9812 #define XABRDT xabrdtdef
 I5	   9813 #endif
 I5	   9814 #define cc$rms_xabrdt (*decc$ga_rms_xabrdt)
 I5	   9815 #if defined(__DECC) || defined(__DECCXX)
 I5	   9816 # pragma extern_model __save
 I5	   9817 # pragma extern_model strict_refdef

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 177
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABRDTDEF)

 I5	   9818    extern struct XABRDT cc$rms_xabrdt;		/* Declare initialized prototype data structures */
       E	                  xabrdtdef
       E	                         ( * decc$ga_rms_xabrdt )
 I5	   9819 # pragma extern_model __restore
 I5    X   9820 #else
 I5    X   9821    globalref struct XABRDT cc$rms_xabrdt;	/* Declare initialized prototype data structures */
 I5    X   9822 #endif
 I5	   9823 	
 I5	   9824  
 I5	   9825 #pragma __member_alignment __restore
 I5	   9826 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9827 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   9828 #endif
 I5    X   9829 #ifdef __cplusplus
 I5    X   9830     }
 I5    X   9831 #endif
 I5	   9832 #pragma __standard
 I5	   9833  
 I5	   9834 #endif /* __XABRDTDEF_LOADED */
 I5	   9835  
 I4	   9836 #include <XABRUDEF.H>
 I5	   9837 /*******************************************************************************************************************
 I5	   9837 *************/
 I5	   9838 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   9839 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   9840 /*******************************************************************************************************************
 I5	   9840 *************/
 I5	   9841 /*** MODULE $XABRUDEF ***/
 I5	   9842 #ifndef __XABRUDEF_LOADED
 I5	   9843 #define __XABRUDEF_LOADED 1
 I5	   9844  
 I5	   9845 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   9846 #pragma __member_alignment __save
 I5	   9847 #pragma __nomember_alignment
 I5	   9848 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9849 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   9850 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   9851 #endif
 I5	   9852  
 I5    X   9853 #ifdef __cplusplus
 I5    X   9854     extern "C" {
 I5    X   9855 #define __unknown_params ...
 I5    X   9856 #define __optional_params ...
 I5    X   9857 #else
 I5	   9858 #define __unknown_params
 I5	   9859 #define __optional_params ...
 I5	   9860 #endif
 I5	   9861  
 I5    X   9862 #ifndef __struct
 I5    X   9863 #if !defined(__VAXC)
 I5    X   9864 #define __struct struct
 I5    X   9865 #else
 I5    X   9866 #define __struct variant_struct
 I5    X   9867 #endif
 I5    X   9868 #endif
 I5	   9869  
 I5    X   9870 #ifndef __union

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 178
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABRUDEF)

 I5    X   9871 #if !defined(__VAXC)
 I5    X   9872 #define __union union
 I5    X   9873 #else
 I5    X   9874 #define __union variant_union
 I5    X   9875 #endif
 I5    X   9876 #endif
 I5	   9877  
 I5	   9878 /*                                                                          */
 I5	   9879 /*        Recovery Unit XAB definitions                                     */
 I5	   9880 /*                $xabrudef                                                 */
 I5	   9881 /*                                                                          */
 I5	   9882 #define XAB$C_RU 35                     /* xabru id code                    */
 I5	   9883 #define XAB$M_NOJOIN 0x1
 I5	   9884 	
 I5    X   9885 #ifdef __NEW_STARLET
 I5    X   9886 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X   9887 #pragma __nomember_alignment __longword
 I5    X   9888 #else
 I5    X   9889 #pragma __nomember_alignment
 I5    X   9890 #endif
 I5    X   9891 typedef struct _xabrudef {
 I5    X   9892 #pragma __nomember_alignment
 I5    X   9893     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X   9894     unsigned char xab$b_bln;            /* block length                     */
 I5    X   9895     short int xabrudef$$_fill_1;        /* (spare)                          */
 I5    X   9896     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X   9897     __union  {
 I5    X   9898         unsigned short int xab$w_ru_flags; /* Flags                         */
 I5    X   9899         __struct  {
 I5    X   9900             unsigned xab$v_nojoin : 1;  /* Do not join any recovery unit    */
 I5    X   9901             unsigned xab$v_fill_22_ : 7;
 I5    X   9902             } xab$r_ru_flags_bits;
 I5    X   9903         } xab$r_ru_flags_overlay;
 I5    X   9904     short int xabrudef$$_fill_5;
 I5    X   9905     unsigned int xab$l_ru_handle;       /* RU handle to join (input field)  */
 I5    X   9906     unsigned int xab$l_ru_handle_joined; /* RU handle joined (output field) */
 I5    X   9907     unsigned int xabrudef$$_fill_7;
 I5    X   9908     unsigned int xabrudef$$_fill_8;
 I5    X   9909     unsigned int xabrudef$$_fill_9;
 I5    X   9910     unsigned int xabrudef$$_fill_10;
 I5    X   9911     unsigned int xabrudef$$_fill_11;
 I5    X   9912     unsigned int xabrudef$$_fill_12;
 I5    X   9913     unsigned int xabrudef$$_fill_13;
 I5    X   9914     } XABRUDEF;
 I5    X   9915  
 I5    X   9916 #if !defined(__VAXC)
 I5    X   9917 #define xab$w_ru_flags xab$r_ru_flags_overlay.xab$w_ru_flags
 I5    X   9918 #define xab$r_ru_flags_bits	xab$r_ru_flags_overlay.xab$r_ru_flags_bits
 I5    X   9919 #define xab$v_nojoin xab$r_ru_flags_bits.xab$v_nojoin
 I5    X   9920 #endif		/* #if !defined(__VAXC) */
 I5    X   9921  
 I5    X   9922 #else	    /* __OLD_STARLET */
 I5	   9923 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	   9924 #pragma __nomember_alignment __longword
 I5    X   9925 #else
 I5    X   9926 #pragma __nomember_alignment
 I5    X   9927 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 179
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABRUDEF)

 I5	   9928 struct xabrudef {
 I5	   9929 #pragma __nomember_alignment
 I5	   9930     unsigned char xab$b_cod;            /* xab id code                      */
 I5	   9931     unsigned char xab$b_bln;            /* block length                     */
 I5	   9932     short int xabrudef$$_fill_1;        /* (spare)                          */
 I5	   9933     void *xab$l_nxt;                    /* xab chain link                   */
 I5	   9934     __union  {
       E	     union
 I5	   9935         unsigned short int xab$w_ru_flags; /* Flags                         */
 I5	   9936         __struct  {
       E	         struct
 I5	   9937             unsigned xab$v_nojoin : 1;  /* Do not join any recovery unit    */
 I5	   9938             unsigned xab$v_fill_22_ : 7;
 I5	   9939             } xab$r_ru_flags_bits;
 I5	   9940         } xab$r_ru_flags_overlay;
 I5	   9941     short int xabrudef$$_fill_5;
 I5	   9942     unsigned int xab$l_ru_handle;       /* RU handle to join (input field)  */
 I5	   9943     unsigned int xab$l_ru_handle_joined; /* RU handle joined (output field) */
 I5	   9944     unsigned int xabrudef$$_fill_7;
 I5	   9945     unsigned int xabrudef$$_fill_8;
 I5	   9946     unsigned int xabrudef$$_fill_9;
 I5	   9947     unsigned int xabrudef$$_fill_10;
 I5	   9948     unsigned int xabrudef$$_fill_11;
 I5	   9949     unsigned int xabrudef$$_fill_12;
 I5	   9950     unsigned int xabrudef$$_fill_13;
 I5	   9951     } ;
 I5	   9952  
 I5	   9953 #if !defined(__VAXC)
 I5	   9954 #define xab$w_ru_flags xab$r_ru_flags_overlay.xab$w_ru_flags
 I5	   9955 #define xab$v_nojoin xab$r_ru_flags_overlay.xab$r_ru_flags_bits.xab$v_nojoin
 I5	   9956 #endif		/* #if !defined(__VAXC) */
 I5	   9957  
 I5	   9958 #endif	    /* #ifdef __NEW_STARLET */
 I5	   9959 /* basealign on aggregate XABRUDEF operates after aggregate end             */
 I5	   9960 #define XAB$K_RULEN 48
 I5	   9961 #define XAB$C_RULEN 48
 I5	   9962 	
 I5    X   9963 #ifdef __NEW_STARLET
 I5    X   9964 #define XABRU _xabrudef
 I5    X   9965 #else
 I5	   9966 #define XABRU xabrudef
 I5	   9967 #endif
 I5	   9968 	
 I5	   9969  
 I5	   9970 #pragma __member_alignment __restore
 I5	   9971 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9972 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	   9973 #endif
 I5    X   9974 #ifdef __cplusplus
 I5    X   9975     }
 I5    X   9976 #endif
 I5	   9977 #pragma __standard
 I5	   9978  
 I5	   9979 #endif /* __XABRUDEF_LOADED */
 I5	   9980  
 I4	   9981 #include <XABSUMDEF.H>
 I5	   9982 /*******************************************************************************************************************

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 180
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABSUMDEF)

 I5	   9982 *************/
 I5	   9983 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	   9984 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	   9985 /*******************************************************************************************************************
 I5	   9985 *************/
 I5	   9986 /*** MODULE $XABSUMDEF ***/
 I5	   9987 #ifndef __XABSUMDEF_LOADED
 I5	   9988 #define __XABSUMDEF_LOADED 1
 I5	   9989  
 I5	   9990 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	   9991 #pragma __member_alignment __save
 I5	   9992 #pragma __nomember_alignment
 I5	   9993 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	   9994 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	   9995 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	   9996 #endif
 I5	   9997  
 I5    X   9998 #ifdef __cplusplus
 I5    X   9999     extern "C" {
 I5    X  10000 #define __unknown_params ...
 I5    X  10001 #define __optional_params ...
 I5    X  10002 #else
 I5	  10003 #define __unknown_params
 I5	  10004 #define __optional_params ...
 I5	  10005 #endif
 I5	  10006  
 I5    X  10007 #ifndef __struct
 I5    X  10008 #if !defined(__VAXC)
 I5    X  10009 #define __struct struct
 I5    X  10010 #else
 I5    X  10011 #define __struct variant_struct
 I5    X  10012 #endif
 I5    X  10013 #endif
 I5	  10014  
 I5    X  10015 #ifndef __union
 I5    X  10016 #if !defined(__VAXC)
 I5    X  10017 #define __union union
 I5    X  10018 #else
 I5    X  10019 #define __union variant_union
 I5    X  10020 #endif
 I5    X  10021 #endif
 I5	  10022  
 I5	  10023 /*                                                                          */
 I5	  10024 /*        summary xab field definitions                                     */
 I5	  10025 /*                $xabsumdef                                                */
 I5	  10026 /*                                                                          */
 I5	  10027 #define XAB$C_SUM 22                    /* xabsum id code                   */
 I5	  10028 	
 I5    X  10029 #ifdef __NEW_STARLET
 I5    X  10030 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X  10031 #pragma __nomember_alignment __longword
 I5    X  10032 #else
 I5    X  10033 #pragma __nomember_alignment
 I5    X  10034 #endif
 I5    X  10035 typedef struct _xabsumdef {
 I5    X  10036 #pragma __nomember_alignment
 I5    X  10037     unsigned char xab$b_cod;            /* xab id code                      */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 181
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABSUMDEF)

 I5    X  10038     unsigned char xab$b_bln;            /* block length                     */
 I5    X  10039     short int xabsumdef$$_fill_1;       /* (spare)                          */
 I5    X  10040     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X  10041     unsigned char xab$b_noa;            /* number of defined areas for index file */
 I5    X  10042     unsigned char xab$b_nok;            /* number of defined keys for index file */
 I5    X  10043     unsigned short int xab$w_pvn;       /* prologue version number (relative and index files) */
 I5    X  10044     } XABSUMDEF;
 I5    X  10045 #else	    /* __OLD_STARLET */
 I5	  10046 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	  10047 #pragma __nomember_alignment __longword
 I5    X  10048 #else
 I5    X  10049 #pragma __nomember_alignment
 I5    X  10050 #endif
 I5	  10051 struct xabsumdef {
 I5	  10052 #pragma __nomember_alignment
 I5	  10053     unsigned char xab$b_cod;            /* xab id code                      */
 I5	  10054     unsigned char xab$b_bln;            /* block length                     */
 I5	  10055     short int xabsumdef$$_fill_1;       /* (spare)                          */
 I5	  10056     void *xab$l_nxt;                    /* xab chain link                   */
 I5	  10057     unsigned char xab$b_noa;            /* number of defined areas for index file */
 I5	  10058     unsigned char xab$b_nok;            /* number of defined keys for index file */
 I5	  10059     unsigned short int xab$w_pvn;       /* prologue version number (relative and index files) */
 I5	  10060     } ;
 I5	  10061 #endif	    /* #ifdef __NEW_STARLET */
 I5	  10062 /* basealign on aggregate XABSUMDEF operates after aggregate end            */
 I5	  10063 #define XAB$K_SUMLEN 12                 /* xabsum length                    */
 I5	  10064 #define XAB$C_SUMLEN 12                 /* xabsum length                    */
 I5	  10065 	
 I5    X  10066 #ifdef __NEW_STARLET
 I5    X  10067 #define XABSUM _xabsumdef
 I5    X  10068 #else
 I5	  10069 #define XABSUM xabsumdef
 I5	  10070 #endif
 I5	  10071 #define cc$rms_xabsum (*decc$ga_rms_xabsum)
 I5	  10072 #if defined(__DECC) || defined(__DECCXX)
 I5	  10073 # pragma extern_model __save
 I5	  10074 # pragma extern_model strict_refdef
 I5	  10075    extern struct XABSUM cc$rms_xabsum;		/* Declare initialized prototype data structures */
       E	                  xabsumdef
       E	                         ( * decc$ga_rms_xabsum )
 I5	  10076 # pragma extern_model __restore
 I5    X  10077 #else
 I5    X  10078    globalref struct XABSUM cc$rms_xabsum;	/* Declare initialized prototype data structures */
 I5    X  10079 #endif
 I5	  10080 	
 I5	  10081  
 I5	  10082 #pragma __member_alignment __restore
 I5	  10083 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	  10084 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	  10085 #endif
 I5    X  10086 #ifdef __cplusplus
 I5    X  10087     }
 I5    X  10088 #endif
 I5	  10089 #pragma __standard
 I5	  10090  
 I5	  10091 #endif /* __XABSUMDEF_LOADED */
 I5	  10092  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 182
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(XAB)

 I4	  10093 #include <XABTRMDEF.H>
 I5	  10094 /*******************************************************************************************************************
 I5	  10094 *************/
 I5	  10095 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I5	  10096 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */
 I5	  10097 /*******************************************************************************************************************
 I5	  10097 *************/
 I5	  10098 /*** MODULE $XABTRMDEF ***/
 I5	  10099 #ifndef __XABTRMDEF_LOADED
 I5	  10100 #define __XABTRMDEF_LOADED 1
 I5	  10101  
 I5	  10102 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I5	  10103 #pragma __member_alignment __save
 I5	  10104 #pragma __nomember_alignment
 I5	  10105 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	  10106 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I5	  10107 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I5	  10108 #endif
 I5	  10109  
 I5    X  10110 #ifdef __cplusplus
 I5    X  10111     extern "C" {
 I5    X  10112 #define __unknown_params ...
 I5    X  10113 #define __optional_params ...
 I5    X  10114 #else
 I5	  10115 #define __unknown_params
 I5	  10116 #define __optional_params ...
 I5	  10117 #endif
 I5	  10118  
 I5    X  10119 #ifndef __struct
 I5    X  10120 #if !defined(__VAXC)
 I5    X  10121 #define __struct struct
 I5    X  10122 #else
 I5    X  10123 #define __struct variant_struct
 I5    X  10124 #endif
 I5    X  10125 #endif
 I5	  10126  
 I5    X  10127 #ifndef __union
 I5    X  10128 #if !defined(__VAXC)
 I5    X  10129 #define __union union
 I5    X  10130 #else
 I5    X  10131 #define __union variant_union
 I5    X  10132 #endif
 I5    X  10133 #endif
 I5	  10134  
 I5	  10135 /*                                                                          */
 I5	  10136 /*        terminal control xab field definitions                            */
 I5	  10137 /*                $xabtrmdef                                                */
 I5	  10138 /*                                                                          */
 I5	  10139 /*                                                                          */
 I5	  10140 #define XAB$C_TRM 31                    /*XABTRM ID CODE                    */
 I5	  10141 	
 I5    X  10142 #ifdef __NEW_STARLET
 I5    X  10143 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5    X  10144 #pragma __nomember_alignment __longword
 I5    X  10145 #else
 I5    X  10146 #pragma __nomember_alignment
 I5    X  10147 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 183
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABTRMDEF)

 I5    X  10148 typedef struct _xabtrmdef {
 I5    X  10149 #pragma __nomember_alignment
 I5    X  10150     unsigned char xab$b_cod;            /* xab id code                      */
 I5    X  10151     unsigned char xab$b_bln;            /* block length                     */
 I5    X  10152     short int xabtrmdef$$_fill_1;       /* (spare)                          */
 I5    X  10153     void *xab$l_nxt;                    /* xab chain link                   */
 I5    X  10154     void *xab$l_itmlst;                 /* item list address                */
 I5    X  10155     unsigned short int xab$w_itmlst_len; /* item list length                */
 I5    X  10156     short int xabtrmdef$$_fill_5;       /* spare                            */
 I5    X  10157     unsigned int xabtrmdef$$_fill_6;    /* spare                            */
 I5    X  10158     unsigned int xabtrmdef$$_fill_7;    /* spare                            */
 I5    X  10159     unsigned int xabtrmdef$$_fill_8;    /* spare                            */
 I5    X  10160     unsigned int xabtrmdef$$_fill_9;    /* spare                            */
 I5    X  10161     unsigned int xabtrmdef$$_fill_10;   /* spare                            */
 I5    X  10162     } XABTRMDEF;
 I5    X  10163 #else	    /* __OLD_STARLET */
 I5	  10164 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I5	  10165 #pragma __nomember_alignment __longword
 I5    X  10166 #else
 I5    X  10167 #pragma __nomember_alignment
 I5    X  10168 #endif
 I5	  10169 struct xabtrmdef {
 I5	  10170 #pragma __nomember_alignment
 I5	  10171     unsigned char xab$b_cod;            /* xab id code                      */
 I5	  10172     unsigned char xab$b_bln;            /* block length                     */
 I5	  10173     short int xabtrmdef$$_fill_1;       /* (spare)                          */
 I5	  10174     void *xab$l_nxt;                    /* xab chain link                   */
 I5	  10175     void *xab$l_itmlst;                 /* item list address                */
 I5	  10176     unsigned short int xab$w_itmlst_len; /* item list length                */
 I5	  10177     short int xabtrmdef$$_fill_5;       /* spare                            */
 I5	  10178     unsigned int xabtrmdef$$_fill_6;    /* spare                            */
 I5	  10179     unsigned int xabtrmdef$$_fill_7;    /* spare                            */
 I5	  10180     unsigned int xabtrmdef$$_fill_8;    /* spare                            */
 I5	  10181     unsigned int xabtrmdef$$_fill_9;    /* spare                            */
 I5	  10182     unsigned int xabtrmdef$$_fill_10;   /* spare                            */
 I5	  10183     } ;
 I5	  10184 #endif	    /* #ifdef __NEW_STARLET */
 I5	  10185 /* basealign on aggregate XABTRMDEF operates after aggregate end            */
 I5	  10186 #define XAB$K_TRMLEN 36                 /* length of xab of type terminal control */
 I5	  10187 #define XAB$C_TRMLEN 36                 /* length of xab of type terminal control */
 I5	  10188 	
 I5    X  10189 #ifdef __NEW_STARLET
 I5    X  10190 #define XABTRM _xabtrmdef
 I5    X  10191 #else
 I5	  10192 #define XABTRM xabtrmdef
 I5	  10193 #endif
 I5	  10194 #define cc$rms_xabtrm (*decc$ga_rms_xabtrm)
 I5	  10195 #if defined(__DECC) || defined(__DECCXX)
 I5	  10196 # pragma extern_model __save
 I5	  10197 # pragma extern_model strict_refdef
 I5	  10198    extern struct XABTRM cc$rms_xabtrm;		/* Declare initialized prototype data structures */
       E	                  xabtrmdef
       E	                         ( * decc$ga_rms_xabtrm )
 I5	  10199 # pragma extern_model __restore
 I5    X  10200 #else
 I5    X  10201    globalref struct XABTRM cc$rms_xabtrm;	/* Declare initialized prototype data structures */
 I5    X  10202 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 184
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(XABTRMDEF)

 I5	  10203 	
 I5	  10204  
 I5	  10205 #pragma __member_alignment __restore
 I5	  10206 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I5	  10207 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I5	  10208 #endif
 I5    X  10209 #ifdef __cplusplus
 I5    X  10210     }
 I5    X  10211 #endif
 I5	  10212 #pragma __standard
 I5	  10213  
 I5	  10214 #endif /* __XABTRMDEF_LOADED */
 I5	  10215  
 I4	  10216 
 I4	  10217 #pragma standard
 I4	  10218 #endif					/* __XAB_LOADED */
 I3	  10219 # include <rmsdef.h>
 I4	  10220 /*******************************************************************************************************************
 I4	  10220 *************/
 I4	  10221 /* Created:  9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3      */
 I4	  10222 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSDEF.SDI;1 */
 I4	  10223 /*******************************************************************************************************************
 I4	  10223 *************/
 I4	  10224 /*** MODULE $RMSDEF ***/
 I4	  10225 #ifndef __RMSDEF_LOADED
 I4	  10226 #define __RMSDEF_LOADED 1
 I4	  10227  
 I4	  10228 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I4	  10229 #pragma __member_alignment __save
 I4	  10230 #pragma __nomember_alignment
 I4	  10231 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	  10232 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I4	  10233 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I4	  10234 #endif
 I4	  10235  
 I4    X  10236 #ifdef __cplusplus
 I4    X  10237     extern "C" {
 I4    X  10238 #define __unknown_params ...
 I4    X  10239 #define __optional_params ...
 I4    X  10240 #else
 I4	  10241 #define __unknown_params
 I4	  10242 #define __optional_params ...
 I4	  10243 #endif
 I4	  10244  
 I4    X  10245 #ifndef __struct
 I4    X  10246 #if !defined(__VAXC)
 I4    X  10247 #define __struct struct
 I4    X  10248 #else
 I4    X  10249 #define __struct variant_struct
 I4    X  10250 #endif
 I4    X  10251 #endif
 I4	  10252  
 I4    X  10253 #ifndef __union
 I4    X  10254 #if !defined(__VAXC)
 I4    X  10255 #define __union union
 I4    X  10256 #else
 I4    X  10257 #define __union variant_union

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 185
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4    X  10258 #endif
 I4    X  10259 #endif
 I4	  10260  
 I4	  10261 /*                                                                          */
 I4	  10262 /* This SDL File Generated by VAX-11 Message V04-00 on  9-MAR-2021 22:26:45.64 */
 I4	  10263 /*                                                                          */
 I4	  10264 /*	.TITLE	RMSMSG -RMS COMPLETION CODES                                */
 I4	  10265 /* ************************************************************************* */
 I4	  10266 /* *                                                                       * */
 I4	  10267 /* * COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION, 1976, 1977, 1978, 1979,  * */
 I4	  10268 /* * 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,     * */
 I4	  10269 /* * 1991,1992-1999                                                        * */
 I4	  10270 /* * COMPAQ COMPUTER CORPORATION, 2000-2002                                * */
 I4	  10271 /* * HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., 2003-2005                  * */
 I4	  10272 /* * ALL RIGHTS RESERVED.                                                  * */
 I4	  10273 /* * UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS  OF  THE  UNITED * */
 I4	  10274 /* * STATES.                                                               * */
 I4	  10275 /* *                                                                       * */
 I4	  10276 /* * THE SOFTWARE CONTAINED ON THIS MEDIA IS PROPRIETARY TO  AND  EMBODIES * */
 I4	  10277 /* * THE   CONFIDENTIAL   TECHNOLOGY  OF  DIGITAL  EQUIPMENT  CORPORATION. * */
 I4	  10278 /* * POSSESSION, USE, DUPLICATION OR DISSEMINATION  OF  THE  SOFTWARE  AND * */
 I4	  10279 /* * MEDIA  IS  AUTHORIZED  ONLY  PURSUANT TO A VALID WRITTEN LICENSE FROM * */
 I4	  10280 /* * DIGITAL EQUIPMENT CORPORATION.                                        * */
 I4	  10281 /* *                                                                       * */
 I4	  10282 /* * RESTRICTED RIGHTS LEGEND USE, DUPLICATION, OR DISCLOSURE BY THE  U.S. * */
 I4	  10283 /* * GOVERNMENT  IS  SUBJECT  TO RESTRICTIONS AS SET FORTH IN SUBPARAGRAPH * */
 I4	  10284 /* * (C)(1)(II) OF DFARS 252.227-7013, OR IN FAR 52.227-19, AS APPLICABLE. * */
 I4	  10285 /* *                                                                       * */
 I4	  10286 /* ************************************************************************* */
 I4	  10287 /*++                                                                        */
 I4	  10288 /* FACILITY: RMS                                                            */
 I4	  10289 /*                                                                          */
 I4	  10290 /* ABSTRACT:                                                                */
 I4	  10291 /*                                                                          */
 I4	  10292 /*	THIS MODULE DEFINES ALL RMS COMPLETION CODES.                       */
 I4	  10293 /*                                                                          */
 I4	  10294 /* ENVIRONMENT:                                                             */
 I4	  10295 /*                                                                          */
 I4	  10296 /*	THE MESSAGE TRANSLATOR MUST BE USED TO CONVERT RMSMSG.MSG INTO      */
 I4	  10297 /*	RMSMSG.SDL.  THE SDL TRANSLATOR MUST THEN BE USED TO CONVERT        */
 I4	  10298 /*	RMSMSG.SDL INTO RMSMSG.MAR (AND RMSMSG.B32).                        */
 I4	  10299 /*                                                                          */
 I4	  10300 /* AUTHOR: LEO F. LAVERDURE,	CREATION DATE:  10-DEC-1976                 */
 I4	  10301 /*                                                                          */
 I4	  10302 /* MODIFIED BY:                                                             */
 I4	  10303 /*                                                                          */
 I4	  10304 /*	X-18	ACG0724		ANDY GOLDSTEIN,	10-FEB-2009  11:27          */
 I4	  10305 /*		ADD RMS$_IVSF MESSAGE FOR INVALID SYMLINKS                  */
 I4	  10306 /*                                                                          */
 I4	  10307 /*	X-17	EMW0362		ELINOR M. WOODS		02-MAY-2005         */
 I4	  10308 /*		ADD 2 NEW FATAL STATUSES RMS$_FOPEXTMBZ AND                 */
 I4	  10309 /*		RMS$_INVOP_SSIO (WITHOUT STV) FOR SSIO SUPPORT.             */
 I4	  10310 /*                                                                          */
 I4	  10311 /*	X-16	SAD		STUART A. DAVIDSON	 5-OCT-2004         */
 I4	  10312 /*		ADD RMS$_ELOOP FOR SYMBOLIC LINK SUPPORT. ELOOP IS          */
 I4	  10313 /*		RETURNED IF MORE THAN A CERTAIN NUMBER OF SYMBOLIC LINKS    */
 I4	  10314 /*		ARE TRAVERSED IN A SINGLE FILE LOOKUP.                      */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 186
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10315 /*                                                                          */
 I4	  10316 /*	X-15	EMW0300		ELINOR M. WOODS		03-JAN-2003         */
 I4	  10317 /*		KP THREADING CHANGE:  ADD ONE NEW FATAL ERROR STATUS        */
 I4	  10318 /*		(RSESTK_ALLOC) WITH AN ASSOCIATED STV THAT WILL CONTAIN     */
 I4	  10319 /*		THE ACTUAL STATUS RETURNED BY EXE$KP_ALLOC_RSE_STACK_P2.    */
 I4	  10320 /*                                                                          */
 I4	  10321 /*	X-14	EMW0196		ELINOR M. WOODS		08-SEP-1999         */
 I4	  10322 /*		BKT-LOCK ENHANCEMENTS:  ADD ONE NEW FATAL ERROR             */
 I4	  10323 /*		STATUS (CRBUFOBJ) WITH AN ASSOCIATED STV.                   */
 I4	  10324 /*                                                                          */
 I4	  10325 /*	X-13	EMW0195		ELINOR M. WOODS		25-AUG-1999         */
 I4	  10326 /*		BKT-LOCK ENHANCEMENTS:  ADD TWO NEW FATAL ERROR             */
 I4	  10327 /*		STATUSES (BADGBD AND BADGBH).                               */
 I4	  10328 /*                                                                          */
 I4	  10329 /*	X-12	WBF	    BURNS FISHER		18-SEP-1997         */
 I4	  10330 /*		CHANGE NAMLESS AND NAMLRSS TO FATAL.  ADD NAMLFSINV AND     */
 I4	  10331 /*		NAMLFSSIZ.                                                  */
 I4	  10332 /*                                                                          */
 I4	  10333 /*	X-11	WBF	    BURNS FISHER		18-JULY-1997        */
 I4	  10334 /*		INTEGRATE THE ONE HFS CHANGE INTO MAINSTREAM, AND ADD NAML  */
 I4	  10335 /*		MESSAGE                                                     */
 I4	  10336 /*                                                                          */
 I4	  10337 /*			TAM0015	    TERI A. MANSEAU		18-APR-1997 */
 I4	  10338 /*			ADDED TWO NAML WARNING MESSAGES RMS$_NAMLESS        */
 I4	  10339 /*			AND RMS$NAMLRSS.                                    */
 I4	  10340 /*                                                                          */
 I4	  10341 /*	X-10	EMW0132	    ELINOR M. WOODS		11-APR-1997         */
 I4	  10342 /*		ADD NEW RMS-INTERNAL ERROR STATUS RMS$_EOFASY_SYNCH.        */
 I4	  10343 /*		FOR INTERNAL USE ONLY; NEVER RETURNED TO USER.              */
 I4	  10344 /*                                                                          */
 I4	  10345 /*	X-9	EMW0084	    ELINOR M. WOODS		08-FEB-1996         */
 I4	  10346 /*		PW INTEGRATION:  REMOVE NEW ALTERNATE SUCCESS STATUS:       */
 I4	  10347 /*		RMS$_OK_URECEOF.  ENDED UP NOT NEEDED.                      */
 I4	  10348 /*                                                                          */
 I4	  10349 /*	X-8	WDBPI1	    WALTER D. BLASCHUK, JR.	19-DEC-1995         */
 I4	  10350 /*		PATHWORKS INTEGRATION: ADD NEW ALTERNATE SUCCESS            */
 I4	  10351 /*		STATUS: RMS$_OK_URECEOF <UNTERMINATED STREAM RECORD AT      */
 I4	  10352 /*		EOF SUCCESSFULLY READ>.  THIS SYMBOL SIGNIFIES THAT AN      */
 I4	  10353 /*		END-OF-FILE MARKER WAS ENCOUNTERED AND THERE WAS DATA       */
 I4	  10354 /*		IN THE BUFFER.  THIS OCCURS WHEN THE LAST RECORD OF A       */
 I4	  10355 /*		SEQUENTIAL STREAM FILE DOES NOT HAVE A TERMINATING          */
 I4	  10356 /*		CHARACTER.  THIS IS A SUCCESS STATUS AND DOES NOT HAVE      */
 I4	  10357 /*		A STV STATUS ASSOCIATED WITH IT.                            */
 I4	  10358 /*                                                                          */
 I4	  10359 /*                                                                          */
 I4	  10360 /*	X-7	EMW	    ELINOR M. WOODS	       10-AUG-1994          */
 I4	  10361 /*		MERGE IN OPENVMS VAX DRAGON CHANGE:                         */
 I4	  10362 /*                                                                          */
 I4	  10363 /*		X-13  EMW0023	ELINOR M. WOODS		04-AUG-1994         */
 I4	  10364 /*		RMS$_KRF CAN BE RETURNED BY $CONNECT OR $REWIND, AS         */
 I4	  10365 /*		WELL AS $GET/$FIND.  MAKE TEXT ASSOCIATED WITH KRF          */
 I4	  10366 /*		STATUS MORE GENERIC BY REMOVING "for $GET/$FIND."           */
 I4	  10367 /*                                                                          */
 I4	  10368 /*       X-6     EMW		ELINOR M. WOODS		30-JUN-1994         */
 I4	  10369 /*		MERGE IN OPENVMS VAX DRAGON CHANGE:                         */
 I4	  10370 /*                                                                          */
 I4	  10371 /*		X-12   EMW0026   ELINOR M. WOODS	15-JUN-1994         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 187
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10372 /*		ADD ONE NEW USER-REPORTABLE STATUS:  NXR                    */
 I4	  10373 /*		<nonexistent record>.  THIS STATUS VALUE IS USED            */
 I4	  10374 /*		AS AN STV ASSOCIATED WITH RNF STATUS (STS), AND IS          */
 I4	  10375 /*		REPORTED FOR AN EXACT KEY MATCH OF A SECONDARY KEY          */
 I4	  10376 /*		IF THE SECONDARY KEY ENTRY POINTS TO A NONEXISTENT          */
 I4	  10377 /*		PRIMARY DATA RECORD IN DISK FILE.  NOTE:  RNF ERROR         */
 I4	  10378 /*		STATUS PRE-EXISTED AS ERROR CODE WITHOUT STV.               */
 I4	  10379 /*                                                                          */
 I4	  10380 /*               DEE RYAN                                30-SEP-1993        */
 I4	  10381 /*               CORRECTED USE OF DIGITAL PRODUCT NAMES.                    */
 I4	  10382 /*                                                                          */
 I4	  10383 /*	X-5	EMW		ELINOR M. WOODS		28-SEP-1993         */
 I4	  10384 /*		MERGE IN OPENVMS VAX CORAL FIX:                             */
 I4	  10385 /*                                                                          */
 I4	  10386 /*		X-10	EMW0019  ELINOR M. WOODS  	21-SEP-1993         */
 I4	  10387 /*		ADD ONE NEW USER-REPORTABLE ERROR STATUS (WITH AN           */
 I4	  10388 /*		ASSOCIATED STV): NETBTS.  RELOCATE NEW IDXSEARCH STATUS     */
 I4	  10389 /*		(SEE X-9) FROM "ERROR with STV" SECTION TO "ERROR WITHOUT   */
 I4	  10390 /*		STV" section.  Expand "WITH STV' AND "without STV"          */
 I4	  10391 /*		COMMENTS TO CLARIFY DIFFERENCE BETWEEN TWO.                 */
 I4	  10392 /*                                                                          */
 I4	  10393 /*	X-4	EMW0016		ELINOR M. WOODS		10-AUG-1993         */
 I4	  10394 /*		MERGE IN CORAL FIX:                                         */
 I4	  10395 /*                                                                          */
 I4	  10396 /*		MODIFY SEVERITY OF TWO DTF ERROR CODES (DTFACC AND          */
 I4	  10397 /*		DTFCRE) FROM FATAL TO ERROR, AS REQUESTED BY SNA/DTF        */
 I4	  10398 /*		FACILITY.		                                    */
 I4	  10399 /*                                                                          */
 I4	  10400 /*		ALSO MOVE NEW IDXSEARCH STATUS FROM ERROR WITH NO           */
 I4	  10401 /*		STV GROUPING TO ERROR WITH STV GROUPING.                    */
 I4	  10402 /*                                                                          */
 I4	  10403 /*	X-3	EMW0010		ELINOR M. WOODS		02-JUL-1993         */
 I4	  10404 /*		TO SUPPORT NEW KEY-LESS-THAN FUNCTIONALITY, ADDITION        */
 I4	  10405 /*		OF ONE USER-REPORTABLE ERROR STATUS:  IDXSEARCH, AND        */
 I4	  10406 /*		TWO NEW RMS-INTERNAL ERROR STATUSES:  LSCAN AND             */
 I4	  10407 /*		ROOTSRCH.		                                    */
 I4	  10408 /*                                                                          */
 I4	  10409 /*	X-2	CW0019		CHRIS WHITAKER		11-NOV-1992         */
 I4	  10410 /*		MERGE IN OPENVMS VAX V6.0 CHANGES                           */
 I4	  10411 /*                                                                          */
 I4	  10412 /*		X-8	JM0012	JOHN MUNZER		11-NOV-1992         */
 I4	  10413 /*		CHANGE TEXT FOR RMS$_LNE.                                   */
 I4	  10414 /*                                                                          */
 I4	  10415 /*		X-7	JM0006	JOHN MUNZER		17-APR-1992         */
 I4	  10416 /*		ADD !XL PARAMETER TO RMS$_BUG TO REPORT R2.                 */
 I4	  10417 /*                                                                          */
 I4	  10418 /*	X-1	RAB		RICHARD A. BISHOP	24-JUN-1991         */
 I4	  10419 /*		MOVED TO [STARLET] FACILITY                                 */
 I4	  10420 /*                                                                          */
 I4	  10421 /*	==================================                                  */
 I4	  10422 /*	OLD AUDIT TRAIL FOLLOWS:                                            */
 I4	  10423 /*                                                                          */
 I4	  10424 /*	X-33	LSS0154		LEONARD S. SZUBOWICZ	 4-APR-1990         */
 I4	  10425 /*		ALTER TEXT AND FAO PARAMETERS OF RMS$_RUH AND RMS$_BUG      */
 I4	  10426 /*		CONDITION VALUES FOR RMS/DDTM SUPPORT.                      */
 I4	  10427 /*                                                                          */
 I4	  10428 /*	X-32	PJH		PAUL J. HOULIHAN	17-JAN-1990         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 188
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10429 /*		CHANGE TEXT FOR RMS$_INCOMPSHR ERROR MESSAGE.               */
 I4	  10430 /*                                                                          */
 I4	  10431 /*	X-31	LSS0130		LEONARD S. SZUBOWICZ	12-OCT-1989         */
 I4	  10432 /*		MERGE OF RMS/DDTM GENERATION X-30D2.                        */
 I4	  10433 /*		ADD GENERAL DDTM_ERR ERROR MESSAGE FOR DDTM SERVICE FAILURES; */
 I4	  10434 /*		STV WILL CONTAIN THE FAILING SYSTEM SERVICE CONDITION VALUE. */
 I4	  10435 /*                                                                          */
 I4	  10436 /*	X-30	LSS0080		LEONARD S. SZUBOWICZ	06-OCT-1988         */
 I4	  10437 /*		ADD RMS$_OK_ACT MESSAGE FOR USE BY FUTURE WORK TO $DISPLAY. */
 I4	  10438 /*		THIS IS PART OF LATENT SUPPORT FOR RMS/DDTM.                */
 I4	  10439 /*                                                                          */
 I4	  10440 /*	X-29	GJA0080		GARY J. ALLISON		06-JUN-1988         */
 I4	  10441 /*		CHANGE TEXT OF SEMANTICS MESSAGE.                           */
 I4	  10442 /*                                                                          */
 I4	  10443 /*	X-28	GJA0072		GARY J. ALLISON		02-MAR-1988         */
 I4	  10444 /*		ADD EXT_ERR, OPNOTSUP, EXTNOTFOU, AND SEMANTICS MESSAGES.   */
 I4	  10445 /*                                                                          */
 I4	  10446 /*	X-27	PMV0072		PETER M. VATNE		08-OCT-1987         */
 I4	  10447 /*		CHANGE RMS$_NOJNLLIC TO RMS$_JNLNOTAUTH.                    */
 I4	  10448 /*                                                                          */
 I4	  10449 /* 	X-26	LSS0057		LEONARD S. SZUBOWICZ	15-SEP-1987         */
 I4	  10450 /*		CHANGE TEXT FOR THE RMS$_OK_DUP STATUS SUCH THAT THE MESSAGE */
 I4	  10451 /*		IS APPLICABLE TO $GET AS WELL AS $PUT.                      */
 I4	  10452 /*                                                                          */
 I4	  10453 /*	X-25	PMV0068		PETER M. VATNE		11-SEP-1987         */
 I4	  10454 /*		ADD RMS$_NOJNLLIC, NO RMS JOURNALING LICENSE, FOR LMF.      */
 I4	  10455 /*                                                                          */
 I4	  10456 /*	X-24	RNM0026		RUSSELL N. MURRAY	15-AUG-1987         */
 I4	  10457 /*		ADD RMS$_SYNCH MESSAGE FOR NOTIFICATION OF SYNCHRONOUS      */
 I4	  10458 /*		COMPLETION.                                                 */
 I4	  10459 /*                                                                          */
 I4	  10460 /*	X-23	JEJ0479		JAMES E JOHNSON		13-AUG-1987         */
 I4	  10461 /*		ADD RMS$_IVATRACE MESSAGE.                                  */
 I4	  10462 /*                                                                          */
 I4	  10463 /*	X-22	PMV0061		PETER M. VATNE		03-AUG-1987         */
 I4	  10464 /*		CHANGE RESERVED MESSAGE RMS$_BUG_XX5 TO RMS$_BUG_RU_COMMIT_FAIL */
 I4	  10465 /*		TO CORRESPOND TO POSITIVE RMS BUGCHECK FTL$_RU_COMMIT_FAIL. */
 I4	  10466 /*                                                                          */
 I4	  10467 /* 	X-21	LSS0042		LEONARD S. SZUBOWICZ	13-MAY-1987         */
 I4	  10468 /*		CHANGE RESERVED MESSAGE RMS$_BUG_XX4 TO RMS$_BUG_RU_ABORT_FAIL */
 I4	  10469 /*		TO CORRESPOND TO POSITIVE RMS BUGCHECK FTL$_RU_ABORT_FAIL   */
 I4	  10470 /*	                                                                    */
 I4	  10471 /*	X-20	SAD0034		STUART A. DAVIDSON	12-MAR-1987         */
 I4	  10472 /*		DROP QUOTES FROM SNADTF MESSAGE TEXT.                       */
 I4	  10473 /*                                                                          */
 I4	  10474 /*	X-19	PJH		PAUL J. HOULIHAN	19-JAN-1987         */
 I4	  10475 /*		MERGE IN 17J1.                                              */
 I4	  10476 /*                                                                          */
 I4	  10477 /*		X-17J1	PJH		PAUL J. HOULIHAN	15-JAN-1987 */
 I4	  10478 /*			FIX SEVERAL SMALL JNL PROBLEMS.                     */
 I4	  10479 /*			ADD RMS$_BUG_FLUSH_JNL_FAILED CODE.                 */
 I4	  10480 /*                                                                          */
 I4	  10481 /*	X-18	KPS0148		KENNETH P. SIEGEL	04-DEC-1986         */
 I4	  10482 /*		ADDED SNPPF (STATISTICS MONITORING NOT SUPPORTED FOR        */
 I4	  10483 /*		PROCESS PERMANENT FILES) ERROR MESSAGE.                     */
 I4	  10484 /*                                                                          */
 I4	  10485 /*	X-17	PMV0025		PETER M. VATNE		24-NOV-1986         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 189
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10486 /*		ADD NEW MESSAGE, RMS$_NOTSAMEJNL.  THIS STATUS IS           */
 I4	  10487 /*		USED TO RESTRICT AI/BI WITH RU JOURNALING TO A              */
 I4	  10488 /*		SINGLE LONG-TERM JOURNAL FILE.                              */
 I4	  10489 /*                                                                          */
 I4	  10490 /*	X-16	DAS		DAVID A. SOLOMON	18-NOV-1986         */
 I4	  10491 /*		ADD NEW MESSAGE, RMS$_DELJNS. REMOVE RMS$_XCR (BY REPLACING IT */
 I4	  10492 /*		WITH A PLACEHOLDER), AS JOURNALING BITS ARE NO LONGER       */
 I4	  10493 /*		SPECIFIED IN THE $XABJNL. SLIGHT WORDING CHANGE ON DETACHED */
 I4	  10494 /*		RU RECOVERY ERROR MESSAGES.                                 */
 I4	  10495 /*                                                                          */
 I4	  10496 /*	X-15	DAS		DAVID A. SOLOMON	12-NOV-1986         */
 I4	  10497 /*		FIX ERROR IN X-5/X-6: JOURNALING VARIANT NOT MERGED         */
 I4	  10498 /*		CORRECTLY, RESULTING IN SEVERAL JOURNALING MESSAGES NUMBERS */
 I4	  10499 /*		BEING DIFFERENT IN THE MAININE THAN WHAT THEY WERE ON THE   */
 I4	  10500 /*		JOURNALING VARIANT. ALSO, MOVE NEW SNADTF MESSAGES TO RE-USE */
 I4	  10501 /*		AVAILABLE UNUSED MESSAGE NUMBERS, INSTEAD OF GENERATING NEW */
 I4	  10502 /*		ONES. FINALLY, CHANGE RMS$_BUG_ABORT TO RMS$_BUG_RU_ACTIVE. */
 I4	  10503 /*                                                                          */
 I4	  10504 /*	X-14	SAD0014		STUART A. DAVIDSON	 4-NOV-1986         */
 I4	  10505 /*		SNADTF - FIX TYPO IN DTFACC, DTFCRE                         */
 I4	  10506 /*                                                                          */
 I4	  10507 /*	X-13	SAD0014		STUART A. DAVIDSON	 3-NOV-1986         */
 I4	  10508 /*		SNADTF - FIX TYPO, ADD 2 ADDITIONAL MESSAGES.               */
 I4	  10509 /*                                                                          */
 I4	  10510 /*	X-12	JEJ0377		JAMES E JOHNSON		29-OCT-1986         */
 I4	  10511 /*		ADD NOEXTEND ERROR CODE TO FLAG FAILED RELATIVE FILE        */
 I4	  10512 /*		EXTENDS DUE TO PREVIOUS FAILURES.                           */
 I4	  10513 /*                                                                          */
 I4	  10514 /*	X-11	KPS0131		KENNETH P. SIEGEL	25-OCT-1986         */
 I4	  10515 /*		ADDED SNS ERROR CODE FOR STATISTICS NOT SUPPORT ON          */
 I4	  10516 /*		NON-DISK DEVICES.                                           */
 I4	  10517 /*                                                                          */
 I4	  10518 /*	X-10	SAD009		STUART A. DAVIDSON	06-OCT-1986         */
 I4	  10519 /*		ADD COMPLETION CODES FOR SNADTF (IBM DATA XFER)             */
 I4	  10520 /*                                                                          */
 I4	  10521 /*	X-9	GJA0003		GARY J. ALLISON		29-SEP-1986         */
 I4	  10522 /*		ADD DETACHED RECOVERY ERROR MESSAGES                        */
 I4	  10523 /*                                                                          */
 I4	  10524 /*	X-8	PMV0008		PETER M. VATNE		24-SEP-1986         */
 I4	  10525 /*		MODIFY RMS$_ACC_AIJ, RMS$_ACC_BIJ, AND RMS$_ACC_ATJ         */
 I4	  10526 /*		TO ALSO OUTPUT THE STV.                                     */
 I4	  10527 /*                                                                          */
 I4	  10528 /*	X-7	JWT0243		JIM TEAGUE		 2-SEP-1986         */
 I4	  10529 /*		ADD NEW ERRORS FOR COLLATED KEYS.                           */
 I4	  10530 /*                                                                          */
 I4	  10531 /*	X-6	GJA		GARY J. ALLISON		29-JUL-1986         */
 I4	  10532 /*		REMOVE DUPS FROM JNL MERGE.                                 */
 I4	  10533 /*                                                                          */
 I4	  10534 /*	X-5	GJA		GARY J. ALLISON		29-JUL-1986         */
 I4	  10535 /*		MERGE JOURNALING INTO MAINLINE                              */
 I4	  10536 /*                                                                          */
 I4	  10537 /*		X-3J6	DAS		DAVID A. SOLOMON	14-APR-1986 */
 I4	  10538 /*			REMOVE RMS$_RUH_FILE (USING A GENERAL RUF MESSAGE INSTEAD). */
 I4	  10539 /*			CHANGE RMS$_RUH TEXT TO NOT HAVE FAO PARAMETERS. ADD */
 I4	  10540 /*			RMS$_BUG_RURECERR.                                  */
 I4	  10541 /*	                                                                    */
 I4	  10542 /*		X-3J5	JEJ0302		JAMES E JOHNSON		 4-APR-1986 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 190
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10543 /*			ADD RMS$_RRF (ERROR DURING RU RECOVERY) AND         */
 I4	  10544 /*			RMS$_RUH/RMS$_RUH_FILE (USED TO FORM TEXT OF RU HANDLER ERRORS */
 I4	  10545 /*			SENT TO OPCOM).                                     */
 I4	  10546 /*	                                                                    */
 I4	  10547 /*		X-3J4	JEJ0272		JAMES E JOHNSON		11-FEB-1986 */
 I4	  10548 /*			ADD RMS$_RUF, RMS$_BUG_ABORT CODES.                 */
 I4	  10549 /*	                                                                    */
 I4	  10550 /*		X-3J3	JEJ0237		JAMES E JOHNSON		16-DEC-1985 */
 I4	  10551 /*			ADD RMS$_RUNDOWN CODE                               */
 I4	  10552 /*	                                                                    */
 I4	  10553 /*		X-3J2	JEJ0205		JAMES E JOHNSON		25-OCT-1985 */
 I4	  10554 /*			ADD JOURNAL SPECIFIC WRTJNL_XXJ ERROR CODES TO REPLACE */
 I4	  10555 /*			THE GENERIC ERRWRTJNL CODE.                         */
 I4	  10556 /*                                                                          */
 I4	  10557 /*	X-4	JEJ0216		JAMES E JOHNSON		18-NOV-1985         */
 I4	  10558 /*		MERGE X-3J2 INTO MAIN LINE FOR V4.4.                        */
 I4	  10559 /*                                                                          */
 I4	  10560 /*		X-3J2	JEJ0205		JAMES E JOHNSON		25-OCT-1985 */
 I4	  10561 /*			ADD JOURNAL SPECIFIC WRTJNL_XXJ ERROR CODES TO REPLACE */
 I4	  10562 /*			THE GENERIC ERRWRTJNL CODE.                         */
 I4	  10563 /*                                                                          */
 I4	  10564 /*	X-3	JEJ0161		JAMES E JOHNSON		 9-SEP-1985         */
 I4	  10565 /*		UPDATE RMS JOURNALING MESSAGES.                             */
 I4	  10566 /*                                                                          */
 I4	  10567 /*	X-2	JWT0212		JIM TEAGUE		 4-SEP-1985         */
 I4	  10568 /*		ADD (WHAT IS FOR NOW) AN INTERNAL STATUS CODE TO            */
 I4	  10569 /*		DIFFERENTIATE BETWEEN FINDING A DELETED RECORD (DEL)        */
 I4	  10570 /*		AND FINDING IT BUT WITH A DIFFERENT KEY (KEY_MISMATCH).     */
 I4	  10571 /*		                                                            */
 I4	  10572 /*	V03-024	RAS0314		RON SCHAEFER		21-JUN-1984         */
 I4	  10573 /*		WORK OVER THE MESSAGES ONE MORE TIME:  FIX TYPO IN OK_RNF,  */
 I4	  10574 /*		DELETE ACPEOF ERROR, DELETE WSF ERROR.                      */
 I4	  10575 /*                                                                          */
 I4	  10576 /*	V03-023	RAS0282		RON SCHAEFER		28-MAR-1984         */
 I4	  10577 /*		MINOR TEXT CHANGES AND COMMENTS ADDED.                      */
 I4	  10578 /*		DELETE RMS$_COP ERROR.                                      */
 I4	  10579 /*                                                                          */
 I4	  10580 /*	V03-022	DAS0005		DAVID SOLOMON		19-MAR-1984         */
 I4	  10581 /*		REMOVE RMS$_ECHO (NO LONGER NEEDED AS A RESULT OF NEW       */
 I4	  10582 /*		IMPLEMENTATION FOR ECHO SYS$INPUT -> SYS$OUTPUT).           */
 I4	  10583 /*                                                                          */
 I4	  10584 /*	V03-021	JWT0150		JIM TEAGUE		01-FEB-1984         */
 I4	  10585 /*		ADD RMS$_IFF FOR TRYING TO WRITE-ACCESS A FILE ON           */
 I4	  10586 /*		MAGTAPE THAT HAS NON-0 VALUE FOR ANSI BUFFER OFFSET.        */
 I4	  10587 /*                                                                          */
 I4	  10588 /*	V03-020	RAS0233		RON SCHAEFER		 9-JAN-1984         */
 I4	  10589 /*		ADD RMS$_NOVALPRS ERROR FOR $SEARCH NOT PRECEDED BY         */
 I4	  10590 /*		VALID $PARSE.                                               */
 I4	  10591 /*                                                                          */
 I4	  10592 /*	V03-019	JWT0148		JIM TEAGUE		20-DEC-1983         */
 I4	  10593 /*		ADD A JNL XAB ERROR FOR CONFLICTING RU ATTRIBUTES           */
 I4	  10594 /*		ON $CREATE: RMS$_XCR.                                       */
 I4	  10595 /*                                                                          */
 I4	  10596 /*	V03-018	RAS0171		RON SCHAEFER		28-JUL-1983         */
 I4	  10597 /*		ADD RMS$_BUSY; A STRUCTURE-LESS ERROR (R0-ONLY STATUS)      */
 I4	  10598 /*		REPLACING TEMP3.                                            */
 I4	  10599 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 191
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10600 /*	V03-017	DAS0004		DAVID SOLOMON		28-JUN-1983         */
 I4	  10601 /*		ADD RMS$_FILEPURGED; ADD RMS$_ACPEOF FOR ZALEWSKI.          */
 I4	  10602 /*                                                                          */
 I4	  10603 /*	V03-016	KPL0007		PETER LIEBERWIRTH	 8-JUN-1983         */
 I4	  10604 /*		FIX SPELLING IN JNL ERROR MESSAGES, ADD CJF ERROR WHICH     */
 I4	  10605 /*		WILL SOON SUBSUME COP AND CQE.                              */
 I4	  10606 /*                                                                          */
 I4	  10607 /*	V03-015	DAS0003		DAVID SOLOMON		18-FEB-1983         */
 I4	  10608 /*		ADD XNF (REPLACING TEMP9), TMR (NEW), LWC (NEW).            */
 I4	  10609 /*                                                                          */
 I4	  10610 /*	V03-014	KBT0497		KEITH B. THOMPSON	18-FEB-1983         */
 I4	  10611 /*		ADD INCOMPSHR ERROR (REUSE OF TEMP1 SLOT)                   */
 I4	  10612 /*                                                                          */
 I4	  10613 /*	V03-013	RAS0120		RON SCHAEFER		 2-FEB-1983         */
 I4	  10614 /*		ADD ECHO PSEUDO-STATUS TO SUPPORT ECHO OF SYS$INPUT         */
 I4	  10615 /*		TO SYS$OUTPUT.                                              */
 I4	  10616 /*                                                                          */
 I4	  10617 /*	V03-012	JWH0174		JEFFRY W. HORN		24-JAN-1983         */
 I4	  10618 /*		ADD CQE AND COP ERRORS.                                     */
 I4	  10619 /*                                                                          */
 I4	  10620 /*	V03-011	KPL0006		PETER LIEBERWIRTH	 7-JAN-1983         */
 I4	  10621 /*		ADD OK_RULK FOR RECOVERY UNIT SUPPORT.                      */
 I4	  10622 /*                                                                          */
 I4	  10623 /*		ADD REENT ERROR FOR $RENAME.                                */
 I4	  10624 /*		                                                            */
 I4	  10625 /*	V03-009	JWH0153		JEFFREY W. HORN		 8-DEC-1982         */
 I4	  10626 /*		ADD NRU ERROR.                                              */
 I4	  10627 /*                                                                          */
 I4	  10628 /*	V03-008	JWH0152		JEFFREY W. HORN		 8-DEC-1982         */
 I4	  10629 /*		ADD JNS ERROR.                                              */
 I4	  10630 /*                                                                          */
 I4	  10631 /*	V03-007 MCN0002		MARIA DEL C. NASR	15-NOV-1982         */
 I4	  10632 /*		REPLACE ORD ERROR CODE ELIMINATED BY MCN0001, SINCE         */
 I4	  10633 /*		THE NETWORK CODE REFERENCES IT.                             */
 I4	  10634 /*                                                                          */
 I4	  10635 /*	V03-006 MCN0001		MARIA DEL C. NASR	26-OCT-1982         */
 I4	  10636 /*		PRINT KEY OF REFERENCE OR AREA IDENTIFICATION NUMBER        */
 I4	  10637 /*		INSTEAD OF XAB ADDRESS FOR ERRORS RETURNED DURING           */
 I4	  10638 /*		INDEXED FILE CREATION.  ALSO RENAME ALL UNUSED ERROR        */
 I4	  10639 /*		CODES TO TEMP.                                              */
 I4	  10640 /*                                                                          */
 I4	  10641 /*	V03-005	JWH0102		JEFFREY W. HORN		24-SEP-1982         */
 I4	  10642 /*		ADD RUP ERROR.                                              */
 I4	  10643 /*                                                                          */
 I4	  10644 /*	V03-004	RAS0095		RON SCHAEFER		 7-SEP-1982         */
 I4	  10645 /*		ADD OVRDSKQUOTA ERROR.                                      */
 I4	  10646 /*                                                                          */
 I4	  10647 /*	V03-002	JWH0002		JEFFREY W. HORN		26-JUL-1982         */
 I4	  10648 /*		CONVERT TO .MSG FORMAT.   ADD RUM ERROR.                    */
 I4	  10649 /*                                                                          */
 I4	  10650 /*	V03-001	JWH0001		JEFFREY W. HORN		20-JUL-1982         */
 I4	  10651 /*		ADD JNF, JOP, AND NOJ ERRORS.                               */
 I4	  10652 /*                                                                          */
 I4	  10653 /*	V02-042	KPL0005		PETER LIEBERWIRTH	 4-FEB-1982         */
 I4	  10654 /*		ADD ERROR MESSAGES RMS$_EXENQLM AND RMS$_DEADLOCK           */
 I4	  10655 /*		CORRECTLY.                                                  */
 I4	  10656 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 192
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10657 /*	V02-041	CDS0001		C D SAETHER	24-JAN-1982                 */
 I4	  10658 /*		ADD GBC AND CRMP ERRORS.                                    */
 I4	  10659 /*                                                                          */
 I4	  10660 /*	V02-040	JAK0069		J A KRYCKA	15-JAN-1982                 */
 I4	  10661 /*		ADD SUPPORT AND NETFAIL ERROR CODES.                        */
 I4	  10662 /*                                                                          */
 I4	  10663 /*	V02-039	JAK0068		J A KRYCKA	31-DEC-1981                 */
 I4	  10664 /*		MODIFY TEXT FOR SUP, NET, BUG_DAP, AND ENV ERROR MESSAGES.  */
 I4	  10665 /*                                                                          */
 I4	  10666 /*	V02-038 LJA0001		LAURIE ANDERSON 20-DEC-1981                 */
 I4	  10667 /*		MODIFIED SOME MESSAGES TO READ BETTER.                      */
 I4	  10668 /*                                                                          */
 I4	  10669 /*	V02-037	JAK0063		J A KRYCKA	31-AUG-1981                 */
 I4	  10670 /*		ADD CRE_STM SUCCESS CODE.                                   */
 I4	  10671 /*                                                                          */
 I4	  10672 /*	V02-036	KPL0004		PETER LIEBERWIRTH	13-JAN-1981         */
 I4	  10673 /*		ADD ENQ SEVERE ERROR MESSAGE, TO INDICATE $ENQ/$DEQ FAILURE. */
 I4	  10674 /*		ALSO ADD SUCCESS CODES OK_RRL, AND OK_WAT.                  */
 I4	  10675 /*                                                                          */
 I4	  10676 /*	V02-035	REFORMAT	J A KRYCKA	30-JUL-1980                 */
 I4	  10677 /*                                                                          */
 I4	  10678 /*--                                                                        */
 I4	  10679 #define RMS$_FACILITY 1
 I4	  10680 #define RMS$V_STVSTATUS 14              /* MOVE TO BIT 14 OF THE            */
 I4	  10681 /* STATUS CODE IT INDICATES                                                 */
 I4	  10682 /* THAT STV CONTAINS A SECONDARY                                            */
 I4	  10683 /* STATUS CODE.                                                             */
 I4	  10684 #define RMS$_SUC 65537
 I4	  10685 #define RMS$_NORMAL 65537
 I4	  10686 /*+                                                                         */
 I4	  10687 /*                                                                          */
 I4	  10688 /*	SUCCESS CODES                                                       */
 I4	  10689 /*                                                                          */
 I4	  10690 /*-                                                                         */
 I4	  10691 /* BIT 16 = BIT 15 = 1                                                      */
 I4	  10692 #define RMS$_STALL 98305
 I4	  10693 /* (NOTE: USER NEVER RECEIVES THIS CODE)                                    */
 I4	  10694 #define RMS$_PENDING 98313
 I4	  10695 #define RMS$_OK_DUP 98321
 I4	  10696 #define RMS$_OK_IDX 98329
 I4	  10697 /*  (RECORD HAS BEEN INSERTED, BUT INDEX STRUCTURE IS NO LONGER             */
 I4	  10698 /*  OPTIMAL.)                                                               */
 I4	  10699 #define RMS$_OK_RLK 98337
 I4	  10700 /* (BECAUSE LOCKER SET RLK IN ROP FIELD WHEN RECORD WAS LOCKED.)            */
 I4	  10701 #define RMS$_OK_RRL 98345
 I4	  10702 /* (BECAUSE READER SET RRL IN ROP FIELD WHEN ACCESSING RECORD.)             */
 I4	  10703 /* (THIS CODE USED TO BE OK_RRV)                                            */
 I4	  10704 /*OK_RRV	;MSG <record was inserted successfully in primary>          */
 I4	  10705 /*  (BUT IT MAY NOT BE ACCESSIBLE VIA ONE-OR-MORE SECONDARY KEYS,           */
 I4	  10706 /*  AND NOT BY RFA ADDRESSING. FILE RE-ORGANIZATION RECOMMENDED!)           */
 I4	  10707 #define RMS$_KFF 98353
 I4	  10708 #define RMS$_OK_ALK 98361
 I4	  10709 #define RMS$_OK_DEL 98369
 I4	  10710 #define RMS$_OK_RNF 98377
 I4	  10711 #define RMS$_OK_LIM 98385
 I4	  10712 #define RMS$_OK_NOP 98393
 I4	  10713 #define RMS$_OK_WAT 98401

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 193
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10714 /* (BECAUSE WAT BIT IN ROP WAS SET AND RECORD WAS ALREADY                   */
 I4	  10715 /* LOCKED.)                                                                 */
 I4	  10716 #define RMS$_CRE_STM 98409
 I4	  10717 #define RMS$_OK_RULK 98417
 I4	  10718 #define RMS$_SYNCH 98425
 I4	  10719 #define RMS$_OK_ACT 98433
 I4	  10720 #define RMS$_OK_NOCURTID 98441
 I4	  10721 /*+                                                                         */
 I4	  10722 /*                                                                          */
 I4	  10723 /*	SUCCESS CODES PASSED THRU FROM DRIVERS AND ACP -	BIT 15 = 0  */
 I4	  10724 /*                                                                          */
 I4	  10725 /*-                                                                         */
 I4	  10726 #define RMS$_CONTROLC 67153             /* TERMINAL I/O ABORTED DUE TO CTRL/C */
 I4	  10727 #define RMS$_CONTROLO 67081
 I4	  10728 /* TERMINAL I/O ABORTED DUE TO CTRL/O                                       */
 I4	  10729 #define RMS$_CONTROLY 67089
 I4	  10730 /* TERMINAL I/O ABORTED DUE TO CTRL/Y                                       */
 I4	  10731 #define RMS$_CREATED 67097
 I4	  10732 /* FILE WAS CREATED, NOT OPENED                                             */
 I4	  10733 #define RMS$_SUPERSEDE 67121
 I4	  10734 /* CREATED FILE SUPERSEDED EXISTING VERSION                                 */
 I4	  10735 #define RMS$_OVRDSKQUOTA 67177
 I4	  10736 /* DISK USAGE EXCEEDS DISK QUOTA                                            */
 I4	  10737 #define RMS$_FILEPURGED 67193
 I4	  10738 /* CREATE FILE CAUSED OLDEST FILE                                           */
 I4	  10739 /* VERSION TO BE PURGED                                                     */
 I4	  10740 /*+                                                                         */
 I4	  10741 /*                                                                          */
 I4	  10742 /*	WARNING CODES                                                       */
 I4	  10743 /*                                                                          */
 I4	  10744 /*-                                                                         */
 I4	  10745 /* BIT 16 = BIT 15 = 1, BIT 14 = 0                                          */
 I4	  10746 #define RMS$_BOF 98712
 I4	  10747 #define RMS$_RNL 98720
 I4	  10748 #define RMS$_RTB 98728
 I4	  10749 #define RMS$_TMO 98736
 I4	  10750 #define RMS$_TNS 98744
 I4	  10751 #define RMS$_BES 98752
 I4	  10752 #define RMS$_PES 98760
 I4	  10753 /*+                                                                         */
 I4	  10754 /*                                                                          */
 I4	  10755 /*	ERROR CODES - WITHOUT STV (THAT IS, STV MAY BE USED BUT NO ASSOCIATED */
 I4	  10756 /*		      CONDITION CODE IS IN STV)                             */
 I4	  10757 /*                                                                          */
 I4	  10758 /*-                                                                         */
 I4	  10759 /* BIT 16 = BIT 15 = 1, BIT 14 = 0                                          */
 I4	  10760 #define RMS$_ACT 98906
 I4	  10761 #define RMS$_DEL 98914
 I4	  10762 #define RMS$_INCOMPSHR 98922
 I4	  10763 #define RMS$_DNR 98930
 I4	  10764 #define RMS$_EOF 98938
 I4	  10765 #define RMS$_FEX 98946
 I4	  10766 #define RMS$_FLK 98954
 I4	  10767 #define RMS$_FNF 98962
 I4	  10768 #define RMS$_PRV 98970
 I4	  10769 #define RMS$_REX 98978
 I4	  10770 #define RMS$_RLK 98986

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 194
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10771 #define RMS$_RNF 98994
 I4	  10772 /*  (RECORD NEVER WAS IN FILE, OR HAS BEEN DELETED.)                        */
 I4	  10773 #define RMS$_WLK 99002
 I4	  10774 #define RMS$_EXP 99010
 I4	  10775 #define RMS$_NMF 99018
 I4	  10776 #define RMS$_SUP 99026
 I4	  10777 /* (NOTE THAT SUPPORT HAS REPLACED SUP EXCEPT WHEN RMS CANNOT               */
 I4	  10778 /* MAP THE DAP STATUS CODE INTO A FAL STATUS CODE.)                         */
 I4	  10779 /* (NOTE ALSO THAT SUP SHOULD HAVE BEEN DEFINED AS A SEVERE                 */
 I4	  10780 /* ERROR CODE. HOWEVER, SUPPORT IS A SEVERE ERROR CODE.)                    */
 I4	  10781 #define RMS$_RSA 99034
 I4	  10782 #define RMS$_CRC 99042
 I4	  10783 #define RMS$_WCC 99050
 I4	  10784 #define RMS$_IDR 99058
 I4	  10785 #define RMS$_LWC 99066
 I4	  10786 #define RMS$_UNUSED1 99074
 I4	  10787 #define RMS$_NOVALPRS 99082
 I4	  10788 #define RMS$_KEY_MISMATCH 99090
 I4	  10789 #define RMS$_RUH 99098
 I4	  10790 #define RMS$_JND 99106
 I4	  10791 #define RMS$_BADPHASE 99114
 I4	  10792 #define RMS$_TOWDR 99122
 I4	  10793 #define RMS$_NEXDR 99130
 I4	  10794 #define RMS$_INVDRMSG 99138
 I4	  10795 #define RMS$_RU_ACTIVE 99146
 I4	  10796 #define RMS$_UNKRUFAC 99154
 I4	  10797 #define RMS$_LIMBO 99162
 I4	  10798 #define RMS$_IVATRACE 99170
 I4	  10799 #define RMS$_OPNOTSUP 99178
 I4	  10800 #define RMS$_EXTNOTFOU 99186
 I4	  10801 #define RMS$_EXT_ERR 99194
 I4	  10802 #define RMS$_SEMANTICS 99202
 I4	  10803 #define RMS$_LSCAN 99210
 I4	  10804 #define RMS$_ROOTSRCH 99218
 I4	  10805 #define RMS$_IDXSEARCH 99226
 I4	  10806 #define RMS$_NETBTS 99234
 I4	  10807 #define RMS$_NXR 99242
 I4	  10808 /* IF EXACT KEY MATCH ON SECONDARY KEY AND SECONDARY KEY                    */
 I4	  10809 /* ENTRY POINTS TO NONEXISTENT PRIMARY DATA RECORD IN                       */
 I4	  10810 /* DISK FILE.                                                               */
 I4	  10811 #define RMS$_EOFASY_SYNCH 99250
 I4	  10812 #define RMS$_ELOOP 99258
 I4	  10813 /*+                                                                         */
 I4	  10814 /*                                                                          */
 I4	  10815 /*	ERROR CODES - WITH STV ERROR CODE (THAT IS, STV CONTAINS AN ASSOCIATED CONDITION CODE) */
 I4	  10816 /*                                                                          */
 I4	  10817 /*-                                                                         */
 I4	  10818 /* BIT 16 = BIT 15 = BIT 14 = 1                                             */
 I4	  10819 #define RMS$_ACC 114690
 I4	  10820 #define RMS$_CRE 114698
 I4	  10821 #define RMS$_DAC 114706
 I4	  10822 #define RMS$_ENT 114714
 I4	  10823 #define RMS$_EXT 114722
 I4	  10824 #define RMS$_FND 114730
 I4	  10825 #define RMS$_MKD 114738
 I4	  10826 #define RMS$_DPE 114746
 I4	  10827 #define RMS$_SPL 114754

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 195
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10828 #define RMS$_DNF 114762
 I4	  10829 #define RMS$_RUF 114770
 I4	  10830 #define RMS$_WRTJNL_AIJ 114778
 I4	  10831 #define RMS$_WRTJNL_BIJ 114786
 I4	  10832 #define RMS$_WRTJNL_ATJ 114794
 I4	  10833 #define RMS$_WRTJNL_RUJ 114802
 I4	  10834 #define RMS$_RRF 114810
 I4	  10835 #define RMS$_DDTM_ERR 114818
 I4	  10836 /*+                                                                         */
 I4	  10837 /*                                                                          */
 I4	  10838 /*	SEVERE ERROR CODES - WITHOUT STV (THAT IS, STV MAY BE USED BUT NO ASSOCIATED */
 I4	  10839 /*			     CONDITION CODE IS IN STV)                      */
 I4	  10840 /*                                                                          */
 I4	  10841 /*-                                                                         */
 I4	  10842 /* BIT 16 = BIT 15 = 1, BIT 14 = 0                                          */
 I4	  10843 #define RMS$_DTFCDDREC 99308
 I4	  10844 #define RMS$_AID 99316
 I4	  10845 #define RMS$_ALN 99324
 I4	  10846 #define RMS$_ALQ 99332
 I4	  10847 #define RMS$_ANI 99340
 I4	  10848 #define RMS$_AOP 99348
 I4	  10849 #define RMS$_BKS 99356
 I4	  10850 #define RMS$_BKZ 99364
 I4	  10851 #define RMS$_BLN 99372
 I4	  10852 #define RMS$_BUG 99380
 I4	  10853 #define RMS$_BUG_DDI 99388
 I4	  10854 #define RMS$_BUG_DAP 99396
 I4	  10855 #define RMS$_BUG_RU_ACTIVE 99404
 I4	  10856 #define RMS$_BUG_RURECERR 99412
 I4	  10857 #define RMS$_BUG_FLUSH_JNL_FAILED 99420
 I4	  10858 #define RMS$_BUG_RU_ABORT_FAIL 99428
 I4	  10859 #define RMS$_BUG_RU_COMMIT_FAIL 99436
 I4	  10860 #define RMS$_BUG_XX6 99444
 I4	  10861 #define RMS$_BUG_XX7 99452
 I4	  10862 #define RMS$_BUG_XX8 99460
 I4	  10863 #define RMS$_BUSY 99468
 I4	  10864 #define RMS$_CCR 99476
 I4	  10865 #define RMS$_CHG 99484
 I4	  10866 #define RMS$_CHK 99492
 I4	  10867 #define RMS$_COD 99500
 I4	  10868 #define RMS$_CUR 99508
 I4	  10869 #define RMS$_DAN 99516
 I4	  10870 #define RMS$_DEV 99524
 I4	  10871 #define RMS$_DIR 99532
 I4	  10872 #define RMS$_DME 99540
 I4	  10873 #define RMS$_DNA 99548
 I4	  10874 #define RMS$_DTP 99556
 I4	  10875 #define RMS$_DUP 99564
 I4	  10876 #define RMS$_DVI 99572
 I4	  10877 #define RMS$_ESA 99580
 I4	  10878 #define RMS$_ESS 99588
 I4	  10879 #define RMS$_FAB 99596
 I4	  10880 #define RMS$_FAC 99604
 I4	  10881 #define RMS$_FLG 99612
 I4	  10882 #define RMS$_FNA 99620
 I4	  10883 #define RMS$_FNM 99628
 I4	  10884 #define RMS$_FSZ 99636

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 196
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10885 #define RMS$_FOP 99644
 I4	  10886 #define RMS$_FUL 99652
 I4	  10887 #define RMS$_IAL 99660
 I4	  10888 #define RMS$_IAN 99668
 I4	  10889 #define RMS$_IDX 99676
 I4	  10890 #define RMS$_IFI 99684
 I4	  10891 #define RMS$_IMX 99692
 I4	  10892 #define RMS$_IOP 99700
 I4	  10893 #define RMS$_IRC 99708
 I4	  10894 #define RMS$_ISI 99716
 I4	  10895 #define RMS$_KBF 99724
 I4	  10896 #define RMS$_KEY 99732
 I4	  10897 #define RMS$_KRF 99740
 I4	  10898 #define RMS$_KSZ 99748
 I4	  10899 #define RMS$_LAN 99756
 I4	  10900 #define RMS$_RUNDOWN 99764
 I4	  10901 #define RMS$_LNE 99772
 I4	  10902 #define RMS$_DTFCVT 99780
 I4	  10903 #define RMS$_MRN 99788
 I4	  10904 #define RMS$_MRS 99796
 I4	  10905 #define RMS$_NAM 99804
 I4	  10906 #define RMS$_NEF 99812
 I4	  10907 #define RMS$_DTFQUASYN 99820
 I4	  10908 #define RMS$_NOD 99828
 I4	  10909 #define RMS$_NPK 99836
 I4	  10910 #define RMS$_ORD 99844                  /*! NOT USED AS OF V4               */
 I4	  10911 #define RMS$_ORG 99852
 I4	  10912 #define RMS$_PBF 99860
 I4	  10913 #define RMS$_PLG 99868
 I4	  10914 #define RMS$_POS 99876
 I4	  10915 #define RMS$_DTFQUAVAL 99884
 I4	  10916 #define RMS$_QUO 99892
 I4	  10917 #define RMS$_RAB 99900
 I4	  10918 #define RMS$_RAC 99908
 I4	  10919 #define RMS$_RAT 99916
 I4	  10920 #define RMS$_RBF 99924
 I4	  10921 #define RMS$_RFA 99932
 I4	  10922 #define RMS$_RFM 99940
 I4	  10923 #define RMS$_RHB 99948
 I4	  10924 #define RMS$_RLF 99956
 I4	  10925 #define RMS$_ROP 99964
 I4	  10926 #define RMS$_RRV 99972
 I4	  10927 #define RMS$_RVU 99980
 I4	  10928 #define RMS$_RSS 99988
 I4	  10929 #define RMS$_RST 99996
 I4	  10930 #define RMS$_RSZ 100004
 I4	  10931 #define RMS$_SEQ 100012
 I4	  10932 #define RMS$_SHR 100020
 I4	  10933 #define RMS$_SIZ 100028
 I4	  10934 #define RMS$_SQO 100036
 I4	  10935 #define RMS$_DTFSESEST 100044
 I4	  10936 #define RMS$_SYN 100052
 I4	  10937 #define RMS$_TRE 100060
 I4	  10938 #define RMS$_TYP 100068
 I4	  10939 #define RMS$_UBF 100076
 I4	  10940 #define RMS$_USZ 100084
 I4	  10941 #define RMS$_VER 100092

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 197
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10942 #define RMS$_XNF 100100
 I4	  10943 #define RMS$_XAB 100108
 I4	  10944 #define RMS$_ESL 100116
 I4	  10945 #define RMS$_DTFSESTER 100124
 I4	  10946 #define RMS$_ENV 100132
 I4	  10947 #define RMS$_PLV 100140
 I4	  10948 #define RMS$_MBC 100148
 I4	  10949 #define RMS$_RSL 100156
 I4	  10950 #define RMS$_WLD 100164
 I4	  10951 #define RMS$_NET 100172                 /* (NOTE THAT NETFAIL HAS REPLACED NET EXCEPT WHEN RMS CANNOT */
 I4	  10952 /* MAP THE DAP STATUS CODE INTO A FAL STATUS CODE.)                         */
 I4	  10953 #define RMS$_IBF 100180
 I4	  10954 #define RMS$_REF 100188
 I4	  10955 #define RMS$_IFL 100196
 I4	  10956 #define RMS$_DFL 100204
 I4	  10957 #define RMS$_KNM 100212
 I4	  10958 #define RMS$_IBK 100220
 I4	  10959 #define RMS$_KSI 100228
 I4	  10960 #define RMS$_LEX 100236
 I4	  10961 #define RMS$_SEG 100244
 I4	  10962 #define RMS$_SNE 100252                 /*! NOT USED AS OF V4               */
 I4	  10963 #define RMS$_SPE 100260                 /*! NOT USED AS OF V4               */
 I4	  10964 #define RMS$_UPI 100268
 I4	  10965 #define RMS$_ACS 100276
 I4	  10966 #define RMS$_STR 100284
 I4	  10967 #define RMS$_FTM 100292
 I4	  10968 #define RMS$_GBC 100300
 I4	  10969 #define RMS$_DEADLOCK 100308
 I4	  10970 #define RMS$_EXENQLM 100316
 I4	  10971 #define RMS$_JOP 100324
 I4	  10972 #define RMS$_RUM 100332
 I4	  10973 #define RMS$_JNS 100340
 I4	  10974 #define RMS$_NRU 100348
 I4	  10975 #define RMS$_IFF 100356
 I4	  10976 #define RMS$_DTFTRATBL 100364
 I4	  10977 #define RMS$_DTFUNSTYP 100372
 I4	  10978 #define RMS$_DTFVERMIS 100380
 I4	  10979 /*+                                                                         */
 I4	  10980 /*                                                                          */
 I4	  10981 /*	ERROR CODES - WITHOUT STV                                           */
 I4	  10982 /*                                                                          */
 I4	  10983 /*	  DTFACC AND DTFCRE WERE ORIGINALLY INCLUDED IN THIS FATAL SEVERITY  */
 I4	  10984 /*	  (NO STV) GROUPING.  IN ORDER TO CHANGE THEIR SEVERITY TO ERROR    */
 I4	  10985 /*	  (NO STV) AND RETAIN THE SAME MESSAGE CODE VALUE, THE FOLLOWING    */
 I4	  10986 /*	  SHIFTS IN SEVERITY FROM FATAL TO ERROR AND THEN BACK AGAIN ARE    */
 I4	  10987 /*	  DONE, WHILE RETAINING THE SAME ORIGINAL BASE ASSOCIATED WITH EACH. */
 I4	  10988 /*                                                                          */
 I4	  10989 /*-                                                                         */
 I4	  10990 /* BIT 16 = BIT 15 = 1, BIT 14 = 0                                          */
 I4	  10991 #define RMS$_DTFACC 100386
 I4	  10992 /*+                                                                         */
 I4	  10993 /*                                                                          */
 I4	  10994 /*	SEVERE ERROR CODES - WITHOUT STV                                    */
 I4	  10995 /*                                                                          */
 I4	  10996 /*-                                                                         */
 I4	  10997 /* BIT 16 = BIT 15 = 1, BIT 14 = 0                                          */
 I4	  10998 #define RMS$_BOGUSCOL 100396

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 198
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  10999 #define RMS$_ERRREADCOL 100404
 I4	  11000 #define RMS$_ERRWRITECOL 100412
 I4	  11001 #define RMS$_SNS 100420
 I4	  11002 #define RMS$_NOEXTEND 100428            /*+                                 */
 I4	  11003 /*                                                                          */
 I4	  11004 /*	ERROR CODES - WITHOUT STV                                           */
 I4	  11005 /*                                                                          */
 I4	  11006 /*-                                                                         */
 I4	  11007 /* BIT 16 = BIT 15 = 1, BIT 14 = 0                                          */
 I4	  11008 #define RMS$_DTFCRE 100434
 I4	  11009 /*+                                                                         */
 I4	  11010 /*                                                                          */
 I4	  11011 /*	SEVERE ERROR CODES - WITHOUT STV                                    */
 I4	  11012 /*                                                                          */
 I4	  11013 /*-                                                                         */
 I4	  11014 /* BIT 16 = BIT 15 = 1, BIT 14 = 0                                          */
 I4	  11015 #define RMS$_DELJNS 100444
 I4	  11016 #define RMS$_NOTSAMEJNL 100452
 I4	  11017 #define RMS$_SNPPF 100460
 I4	  11018 #define RMS$_NAML 100468
 I4	  11019 #define RMS$_NAMLESS 100476
 I4	  11020 #define RMS$_NAMLRSS 100484
 I4	  11021 #define RMS$_NAMLFSSIZ 100492
 I4	  11022 #define RMS$_NAMLFSINV 100500
 I4	  11023 #define RMS$_BADGBH 100508
 I4	  11024 #define RMS$_BADGBD 100516
 I4	  11025 #define RMS$_FOPEXTMBZ 100524
 I4	  11026 #define RMS$_INVOP_SSIO 100532
 I4	  11027 #define RMS$_IVSF 100540
 I4	  11028 /*+                                                                         */
 I4	  11029 /*                                                                          */
 I4	  11030 /*	SEVERE ERRORS - WITH STV ERROR CODE (THAT IS, STV CONTAINS AN ASSOCIATED CONDITION CODE) */
 I4	  11031 /*                                                                          */
 I4	  11032 /*-                                                                         */
 I4	  11033 /* BIT 16 = BIT 15 = BIT 14 = 1                                             */
 I4	  11034 #define RMS$_ATR 114892
 I4	  11035 #define RMS$_ATW 114900
 I4	  11036 #define RMS$_CCF 114908
 I4	  11037 #define RMS$_CDA 114916
 I4	  11038 #define RMS$_CHN 114924
 I4	  11039 #define RMS$_RER 114932
 I4	  11040 #define RMS$_RMV 114940
 I4	  11041 #define RMS$_RPL 114948
 I4	  11042 #define RMS$_SYS 114956
 I4	  11043 #define RMS$_WER 114964
 I4	  11044 #define RMS$_WPL 114972
 I4	  11045 #define RMS$_IFA 114980
 I4	  11046 #define RMS$_WBE 114988
 I4	  11047 #define RMS$_ENQ 114996
 I4	  11048 #define RMS$_NETFAIL 115004
 I4	  11049 #define RMS$_SUPPORT 115012
 I4	  11050 #define RMS$_CRMP 115020
 I4	  11051 #define RMS$_DTFCFGFIL 115028
 I4	  11052 #define RMS$_REENT 115036
 I4	  11053 #define RMS$_ACC_RUJ 115044
 I4	  11054 #define RMS$_TMR 115052
 I4	  11055 #define RMS$_ACC_AIJ 115060

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 199
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(RMSDEF)

 I4	  11056 #define RMS$_ACC_BIJ 115068
 I4	  11057 #define RMS$_ACC_ATJ 115076
 I4	  11058 #define RMS$_DTFDEFFIL 115084
 I4	  11059 #define RMS$_DTFREGFIL 115092
 I4	  11060 #define RMS$_JNLNOTAUTH 115100
 I4	  11061 #define RMS$_CRBUFOBJ 115108
 I4	  11062 #define RMS$_RSESTK_ALLOC 115116
 I4	  11063  
 I4	  11064 #pragma __member_alignment __restore
 I4	  11065 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I4	  11066 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I4	  11067 #endif
 I4    X  11068 #ifdef __cplusplus
 I4    X  11069     }
 I4    X  11070 #endif
 I4	  11071 #pragma __standard
 I4	  11072  
 I4	  11073 #endif /* __RMSDEF_LOADED */
 I4	  11074  
 I3	  11075 
 I3	  11076 #endif	/* __RMS_LOADED */
 I2	  11077 
 I2	  11078 #ifdef NAML$C_BID
 I2	  11079 
 I2	  11080 /* Use long name (NAML) structure. */
 I2	  11081 
 I2	  11082 #  define FAB_OR_NAML( fab, nam) nam
 I2	  11083 #  define FAB_OR_NAML_DNA naml$l_long_defname
 I2	  11084 #  define FAB_OR_NAML_DNS naml$l_long_defname_size
 I2	  11085 #  define FAB_OR_NAML_FNA naml$l_long_filename
 I2	  11086 #  define FAB_OR_NAML_FNS naml$l_long_filename_size
 I2	  11087 
 I2	  11088 #  define FAB_L_NAMX fab$l_naml
 I2	  11089 #  define NAMX NAML
 I2	  11090 #  define NAMX_C_MAXRSS NAML$C_MAXRSS
 I2	  11091 #  define NAMX_M_NOCONCEAL NAML$M_NOCONCEAL
 I2	  11092 #  define NAMX_M_SEARCH_LIST NAML$M_SEARCH_LIST
 I2	  11093 #  define NAMX_M_SRCHXABS NAML$M_SRCHXABS
 I2	  11094 #  define NAMX_V_NODE naml$v_node
 I2	  11095 #  define NAMX_V_SYNCHK naml$v_synchk
 I2	  11096 #  define NAMX_V_WILDCARD naml$v_wildcard
 I2	  11097 #  define NAMX_W_DID naml$w_did
 I2	  11098 #  define NAMX_W_DID_NUM naml$w_did_num
 I2	  11099 #  define NAMX_W_DID_SEQ naml$w_did_seq
 I2	  11100 #  define NAMX_T_DVI naml$t_dvi
 I2	  11101 #  define NAMX_B_DEV naml$l_long_dev_size
 I2	  11102 #  define NAMX_L_DEV naml$l_long_dev
 I2	  11103 #  define NAMX_B_DIR naml$l_long_dir_size
 I2	  11104 #  define NAMX_L_DIR naml$l_long_dir
 I2	  11105 #  define NAMX_L_ESA naml$l_long_expand
 I2	  11106 #  define NAMX_B_ESL naml$l_long_expand_size
 I2	  11107 #  define NAMX_B_ESS naml$l_long_expand_alloc
 I2	  11108 #  define NAMX_W_FID naml$w_fid
 I2	  11109 #  define NAMX_L_FNB naml$l_fnb
 I2	  11110 #  define NAMX_B_NAME naml$l_long_name_size
 I2	  11111 #  define NAMX_L_NAME naml$l_long_name
 I2	  11112 #  define NAMX_B_NODE naml$l_long_node_size

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 200
V1.0                                                             9-MAR-2021 22:28:13  [UTILITY.SOURCE.KERMIT.x-20230622]ckvrms.h;1

 I2	  11113 #  define NAMX_L_NODE naml$l_long_node
 I2	  11114 #  define NAMX_B_NOP naml$b_nop
 I2	  11115 #  define NAMX_L_RLF naml$l_rlf
 I2	  11116 #  define NAMX_L_RSA naml$l_long_result
 I2	  11117 #  define NAMX_B_RSL naml$l_long_result_size
 I2	  11118 #  define NAMX_B_RSS naml$l_long_result_alloc
 I2	  11119 #  define NAMX_B_TYPE naml$l_long_type_size
 I2	  11120 #  define NAMX_L_TYPE naml$l_long_type
 I2	  11121 #  define NAMX_B_VER naml$l_long_ver_size
 I2	  11122 #  define NAMX_L_VER naml$l_long_ver
 I2	  11123 #  define CC_RMS_NAMX cc$rms_naml
 I2	  11124 
 I2    X  11125 #else /* def NAML$C_BID */
 I2    X  11126 
 I2    X  11127 /* Use short name (NAM) structure. */
 I2    X  11128 
 I2    X  11129 #  define FAB_OR_NAML( fab, nam) fab
 I2    X  11130 #  define FAB_OR_NAML_DNA fab$l_dna
 I2    X  11131 #  define FAB_OR_NAML_DNS fab$b_dns
 I2    X  11132 #  define FAB_OR_NAML_FNA fab$l_fna
 I2    X  11133 #  define FAB_OR_NAML_FNS fab$b_fns
 I2    X  11134 
 I2    X  11135 #  define FAB_L_NAMX fab$l_nam
 I2    X  11136 #  define NAMX NAM
 I2    X  11137 #  define NAMX_C_MAXRSS NAM$C_MAXRSS
 I2    X  11138 #  define NAMX_M_NOCONCEAL NAM$M_NOCONCEAL
 I2    X  11139 #  define NAMX_M_SEARCH_LIST NAM$M_SEARCH_LIST
 I2    X  11140 #  define NAMX_M_SRCHXABS NAM$M_SRCHXABS
 I2    X  11141 #  define NAMX_T_DVI nam$t_dvi
 I2    X  11142 #  define NAMX_V_NODE nam$v_node
 I2    X  11143 #  define NAMX_V_SYNCHK nam$v_synchk
 I2    X  11144 #  define NAMX_V_WILDCARD nam$v_wildcard
 I2    X  11145 #  define NAMX_W_DID nam$w_did
 I2    X  11146 #  define NAMX_W_DID_NUM nam$w_did_num
 I2    X  11147 #  define NAMX_W_DID_SEQ nam$w_did_seq
 I2    X  11148 #  define NAMX_B_DEV nam$b_dev
 I2    X  11149 #  define NAMX_L_DEV nam$l_dev
 I2    X  11150 #  define NAMX_B_DIR nam$b_dir
 I2    X  11151 #  define NAMX_L_DIR nam$l_dir
 I2    X  11152 #  define NAMX_L_ESA nam$l_esa
 I2    X  11153 #  define NAMX_B_ESL nam$b_esl
 I2    X  11154 #  define NAMX_B_ESS nam$b_ess
 I2    X  11155 #  define NAMX_W_FID nam$w_fid
 I2    X  11156 #  define NAMX_L_FNB nam$l_fnb
 I2    X  11157 #  define NAMX_B_NAME nam$b_name
 I2    X  11158 #  define NAMX_L_NAME nam$l_name
 I2    X  11159 #  define NAMX_B_NODE nam$b_node
 I2    X  11160 #  define NAMX_L_NODE nam$l_node
 I2    X  11161 #  define NAMX_B_NOP nam$b_nop
 I2    X  11162 #  define NAMX_L_RLF nam$l_rlf
 I2    X  11163 #  define NAMX_L_RSA nam$l_rsa
 I2    X  11164 #  define NAMX_B_RSL nam$b_rsl
 I2    X  11165 #  define NAMX_B_RSS nam$b_rss
 I2    X  11166 #  define NAMX_B_TYPE nam$b_type
 I2    X  11167 #  define NAMX_L_TYPE nam$l_type
 I2    X  11168 #  define NAMX_B_VER nam$b_ver
 I2    X  11169 #  define NAMX_L_VER nam$l_ver

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 201
V1.0                                                             3-NOV-2021 03:58:29  [UTILITY.SOURCE.KERMIT.x-20230622]ckvrms.h;1

 I2    X  11170 #  define CC_RMS_NAMX cc$rms_nam
 I2    X  11171 
 I2    X  11172 #endif /* def NAML$C_BID [else] */
 I2	  11173 
 I2	  11174 /* Function prototypes. */
 I2	  11175 
 I2	  11176 int get_rms_defaults();
 I2	  11177 
 I2	  11178 #endif /* ndef CKVRMS_H */
 I1	  11179 #endif /* def VMS */
 I1	  11180 
 I1	  11181 /* System-type compilation switches */
 I1	  11182 
 I1    X  11183 #ifdef FT21				/* Fortune For:Pro 2.1 implies 1.8 */
 I1    X  11184 #ifndef FT18
 I1    X  11185 #define FT18
 I1    X  11186 #endif /* FT18 */
 I1    X  11187 #endif /* FT21 */
 I1	  11188 
 I1    X  11189 #ifdef __bsdi__
 I1    X  11190 #ifndef BSDI
 I1    X  11191 #define BSDI
 I1    X  11192 #endif /* BSDI */
 I1    X  11193 #endif /* __bsdi__ */
 I1	  11194 
 I1    X  11195 #ifdef AIXPS2				/* AIXPS2 implies AIX370 */
 I1    X  11196 #ifndef AIX370
 I1    X  11197 #define AIX370
 I1    X  11198 #endif /* AIX370 */
 I1    X  11199 #endif /* AIXPS2 */
 I1	  11200 
 I1    X  11201 #ifdef AIX370				/* AIX PS/2 or 370 implies BSD4 */
 I1    X  11202 #ifndef BSD4
 I1    X  11203 #define BSD4
 I1    X  11204 #endif /* BSD4 */
 I1    X  11205 #endif /* AIX370 */
 I1	  11206 
 I1    X  11207 #ifdef AIXESA				/* AIX/ESA implies BSD4.4 */
 I1    X  11208 #ifndef BSD44
 I1    X  11209 #define BSD44
 I1    X  11210 #endif /* BSD44 */
 I1    X  11211 #endif /* AIXESA */
 I1	  11212 
 I1    X  11213 #ifdef AIX53				/* AIX53 implies AIX52 */
 I1    X  11214 #ifndef AIX52
 I1    X  11215 #define AIX52
 I1    X  11216 #endif /* AIX52 */
 I1    X  11217 #endif /* AIX53 */
 I1	  11218 
 I1    X  11219 #ifdef AIX52				/* AIX52 implies AIX51 */
 I1    X  11220 #ifndef AIX51
 I1    X  11221 #define AIX51
 I1    X  11222 #endif /* AIX51 */
 I1    X  11223 #endif /* AIX52 */
 I1	  11224 
 I1    X  11225 #ifdef AIX51				/* AIX51 implies AIX50 */
 I1    X  11226 #ifndef AIX50

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 202
V1.0                                                             3-NOV-2021 03:58:29  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11227 #define AIX50
 I1    X  11228 #endif /* AIX50 */
 I1    X  11229 #endif /* AIX51 */
 I1	  11230 
 I1    X  11231 #ifdef AIX50				/* AIX50 implies AIX45 */
 I1    X  11232 #ifndef AIX45
 I1    X  11233 #define AIX45
 I1    X  11234 #endif /* AIX45 */
 I1    X  11235 #endif /* AIX50 */
 I1	  11236 
 I1    X  11237 #ifdef AIX45				/* AIX45 implies AIX44 */
 I1    X  11238 #ifndef AIX44
 I1    X  11239 #define AIX44
 I1    X  11240 #endif /* AIX44 */
 I1    X  11241 #endif /* AIX45 */
 I1	  11242 
 I1    X  11243 #ifdef AIX44				/* AIX44 implies AIX43 */
 I1    X  11244 #ifndef AIX43
 I1    X  11245 #define AIX43
 I1    X  11246 #endif /* AIX43 */
 I1    X  11247 #endif /* AIX44 */
 I1	  11248 
 I1    X  11249 #ifdef AIX43				/* AIX43 implies AIX42 */
 I1    X  11250 #ifndef AIX42
 I1    X  11251 #define AIX42
 I1    X  11252 #endif /* AIX42 */
 I1    X  11253 #endif /* AIX43 */
 I1	  11254 
 I1    X  11255 #ifdef AIX42				/* AIX42 implies AIX41 */
 I1    X  11256 #ifndef AIX41
 I1    X  11257 #define AIX41
 I1    X  11258 #endif /* AIX41 */
 I1    X  11259 #endif /* AIX42 */
 I1	  11260 
 I1    X  11261 #ifdef SV68R3V6				/* System V/68 R32V6 implies SVR3 */
 I1    X  11262 #ifndef SVR3
 I1    X  11263 #define SVR3
 I1    X  11264 #endif /* SVR3 */
 I1    X  11265 #endif /* SV68R3V6 */
 I1	  11266 
 I1    X  11267 #ifdef SV88R32				/* System V/88 R32 implies SVR3 */
 I1    X  11268 #ifndef SVR3
 I1    X  11269 #define SVR3
 I1    X  11270 #endif /* SVR3 */
 I1    X  11271 #endif /* SV88R32 */
 I1	  11272 
 I1    X  11273 #ifdef DGUX540				/* DG UX 5.40 implies Sys V R 4 */
 I1    X  11274 #ifndef SVR4
 I1    X  11275 #define SVR4
 I1    X  11276 #endif /* SVR4 */
 I1    X  11277 #endif /* DGUX540 */
 I1	  11278 
 I1	  11279 #ifndef DGUX
 I1    X  11280 #ifdef DGUX540				/* DG/UX 5.40 implies DGUX */
 I1    X  11281 #define DGUX
 I1    X  11282 #else
 I1    X  11283 #ifdef DGUX430				/* So does DG/UX 4.30 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 203
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11284 #define DGUX
 I1    X  11285 #endif /* DGUX430 */
 I1	  11286 #endif /* DGUX540 */
 I1	  11287 #endif /* DGUX */
 I1	  11288 
 I1    X  11289 #ifdef IRIX65				/* IRIX 6.5 implies IRIX 6.4 */
 I1    X  11290 #ifndef IRIX64
 I1    X  11291 #define IRIX64
 I1    X  11292 #endif /* IRIX64 */
 I1    X  11293 #endif /* IRIX65 */
 I1	  11294 
 I1    X  11295 #ifdef IRIX64				/* IRIX 6.4 implies IRIX 6.2 */
 I1    X  11296 #ifndef BSD44ORPOSIX
 I1    X  11297 #define BSD44ORPOSIX			/* for ckutio's benefit */
 I1    X  11298 #endif /* BSD44ORPOSIX */
 I1    X  11299 #ifndef IRIX62
 I1    X  11300 #define IRIX62
 I1    X  11301 #endif /* IRIX62 */
 I1    X  11302 #endif /* IRIX64 */
 I1	  11303 
 I1    X  11304 #ifdef IRIX62				/* IRIX 6.2 implies IRIX 6.0 */
 I1    X  11305 #ifndef IRIX60
 I1    X  11306 #define IRIX60
 I1    X  11307 #endif /* IRIX60 */
 I1    X  11308 #endif /* IRIX62 */
 I1	  11309 
 I1    X  11310 #ifdef IRIX60				/* IRIX 6.0 implies IRIX 5.1 */
 I1    X  11311 #ifndef IRIX51
 I1    X  11312 #define IRIX51
 I1    X  11313 #endif /* IRIX51 */
 I1    X  11314 #ifndef IRIX52				/* And IRIX 5.2 (for hwfc) */
 I1    X  11315 #define IRIX52
 I1    X  11316 #endif /* IRIX52 */
 I1    X  11317 #endif /* IRIX60 */
 I1	  11318 
 I1	  11319 #ifndef IRIX				/* IRIX 4.0 or greater implies IRIX */
 I1    X  11320 #ifdef IRIX64
 I1    X  11321 #define IRIX
 I1    X  11322 #else
 I1    X  11323 #ifdef IRIX62
 I1    X  11324 #define IRIX
 I1    X  11325 #else
 I1    X  11326 #ifdef IRIX60
 I1    X  11327 #define IRIX
 I1    X  11328 #else
 I1    X  11329 #ifdef IRIX51
 I1    X  11330 #define IRIX
 I1    X  11331 #else
 I1    X  11332 #ifdef IRIX40
 I1    X  11333 #define IRIX
 I1    X  11334 #endif /* IRIX40 */
 I1	  11335 #endif /* IRIX51 */
 I1	  11336 #endif /* IRIX60 */
 I1	  11337 #endif /* IRIX62 */
 I1	  11338 #endif /* IRIX64 */
 I1	  11339 #endif /* IRIX */
 I1	  11340 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 204
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11341 #ifdef MIPS				/* MIPS System V environment */
 I1    X  11342 #ifndef SVR3				/* implies System V R3 or later */
 I1    X  11343 #define SVR3
 I1    X  11344 #endif /* SVR3 */
 I1    X  11345 #endif /* MIPS */
 I1	  11346 
 I1    X  11347 #ifdef HPUX9				/* HP-UX 9.x */
 I1    X  11348 #ifndef SVR3
 I1    X  11349 #define SVR3
 I1    X  11350 #endif /* SVR3 */
 I1    X  11351 #ifndef HPUX
 I1    X  11352 #define HPUX
 I1    X  11353 #endif /* HPUX */
 I1    X  11354 #ifndef HPUX9PLUS
 I1    X  11355 #define HPUX9PLUS
 I1    X  11356 #endif /* HPUX9PLUS */
 I1    X  11357 #endif /* HPUX9 */
 I1	  11358 
 I1    X  11359 #ifdef HPUX10				/* HP-UX 10.x */
 I1    X  11360 #ifndef HPUX1010			/* If anything higher is defined */
 I1    X  11361 #ifdef HPUX1020				/* define HPUX1010 too. */
 I1    X  11362 #define HPUX1010
 I1    X  11363 #endif /* HPUX1020 */
 I1    X  11364 #ifdef HPUX1030
 I1    X  11365 #define HPUX1010
 I1    X  11366 #endif /* HPUX1030 */
 I1    X  11367 #endif /* HPUX1010 */
 I1    X  11368 
 I1    X  11369 #ifdef HPUX1100				/* HP-UX 11.00 implies 10.10 */
 I1    X  11370 #ifndef HPUX1010
 I1    X  11371 #define HPUX1010
 I1    X  11372 #endif /* HPUX1010 */
 I1    X  11373 #endif /* HPUX1100 */
 I1    X  11374 
 I1    X  11375 #ifndef SVR4
 I1    X  11376 #define SVR4
 I1    X  11377 #endif /* SVR4 */
 I1    X  11378 #ifndef HPUX
 I1    X  11379 #define HPUX
 I1    X  11380 #endif /* HPUX */
 I1    X  11381 #ifndef HPUX9PLUS
 I1    X  11382 #define HPUX9PLUS
 I1    X  11383 #endif /* HPUX9PLUS */
 I1    X  11384 #endif /* HPUX10 */
 I1	  11385 
 I1    X  11386 #ifdef QNX				/* QNX Software Systems Inc */
 I1    X  11387 #ifndef POSIX				/* QNX 4.0 or later is POSIX */
 I1    X  11388 #define POSIX
 I1    X  11389 #endif /* POSIX */
 I1    X  11390 #ifndef __386__				/* Comes in 16-bit and 32-bit */
 I1    X  11391 #define __16BIT__
 I1    X  11392 #define CK_QNX16
 I1    X  11393 #else
 I1    X  11394 #define __32BIT__
 I1    X  11395 #define CK_QNX32
 I1    X  11396 #endif /* __386__ */
 I1    X  11397 #endif /* QNX */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 205
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  11398 
 I1	  11399 /*
 I1	  11400   4.4BSD is a mixture of System V R4, POSIX, and 4.3BSD.
 I1	  11401 */
 I1    X  11402 #ifdef BSD44				/* 4.4 BSD */
 I1    X  11403 #ifndef SVR4				/* BSD44 implies SVR4 */
 I1    X  11404 #define SVR4
 I1    X  11405 #endif /* SVR4 */
 I1    X  11406 #ifndef NOSETBUF			/* NOSETBUF is safe */
 I1    X  11407 #define NOSETBUF
 I1    X  11408 #endif /* NOSETBUF */
 I1    X  11409 #ifndef DIRENT				/* Uses <dirent.h> */
 I1    X  11410 #define DIRENT
 I1    X  11411 #endif /* DIRENT */
 I1    X  11412 #endif /* BSD44 */
 I1	  11413 
 I1    X  11414 #ifdef OPENBSD				/* OpenBSD might or might not */
 I1    X  11415 #ifndef __OpenBSD__			/* have this defined... */
 I1    X  11416 #define __OpenBSD__
 I1    X  11417 #endif /* __OpenBSD__ */
 I1    X  11418 #endif /* OPENBSD */
 I1	  11419 
 I1    X  11420 #ifdef SVR3				/* SVR3 implies ATTSV */
 I1    X  11421 #ifndef ATTSV
 I1    X  11422 #define ATTSV
 I1    X  11423 #endif /* ATTSV */
 I1    X  11424 #endif /* SVR3 */
 I1	  11425 
 I1    X  11426 #ifdef SVR4				/* SVR4 implies ATTSV */
 I1    X  11427 #ifndef ATTSV
 I1    X  11428 #define ATTSV
 I1    X  11429 #endif /* ATTSV */
 I1    X  11430 #ifndef SVR3				/* ...as well as SVR3 */
 I1    X  11431 #define SVR3
 I1    X  11432 #endif /* SVR3 */
 I1    X  11433 #endif /* SVR4 */
 I1	  11434 
 I1    X  11435 #ifdef OXOS
 I1    X  11436 #ifndef ATTSV
 I1    X  11437 #define ATTSV				/* OXOS implies ATTSV */
 I1    X  11438 #endif /* ! ATTSV */
 I1    X  11439 #define SW_ACC_ID			/* access() wants privs on */
 I1    X  11440 #define kill priv_kill			/* kill() wants privs on */
 I1    X  11441 #ifndef NOSETBUF
 I1    X  11442 #define NOSETBUF			/* NOSETBUF is safe */
 I1    X  11443 #endif /* ! NOSETBUF */
 I1    X  11444 #endif /* OXOS */
 I1	  11445 
 I1    X  11446 #ifdef UTSV				/* UTSV implies ATTSV */
 I1    X  11447 #ifndef ATTSV
 I1    X  11448 #define ATTSV
 I1    X  11449 #endif /* ATTSV */
 I1    X  11450 #endif /* UTSV */
 I1	  11451 
 I1    X  11452 #ifdef XENIX				/* XENIX implies ATTSV */
 I1    X  11453 #ifndef ATTSV
 I1    X  11454 #define ATTSV

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 206
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11455 #endif /* ATTSV */
 I1    X  11456 #endif /* XENIX */
 I1	  11457 
 I1    X  11458 #ifdef AUX				/* AUX implies ATTSV */
 I1    X  11459 #ifndef ATTSV
 I1    X  11460 #define ATTSV
 I1    X  11461 #endif /* ATTSV */
 I1    X  11462 #endif /* AUX */
 I1	  11463 
 I1    X  11464 #ifdef ATT7300				/* ATT7300 implies ATTSV */
 I1    X  11465 #ifndef ATTSV
 I1    X  11466 #define ATTSV
 I1    X  11467 #endif /* ATTSV */
 I1    X  11468 #endif /* ATT7300 */
 I1	  11469 
 I1    X  11470 #ifdef ATT6300				/* ATT6300 implies ATTSV */
 I1    X  11471 #ifndef ATTSV
 I1    X  11472 #define ATTSV
 I1    X  11473 #endif /* ATTSV */
 I1    X  11474 #endif /* ATT6300 */
 I1	  11475 
 I1    X  11476 #ifdef HPUX				/* HPUX implies ATTSV */
 I1    X  11477 #ifndef ATTSV
 I1    X  11478 #define ATTSV
 I1    X  11479 #endif /* ATTSV */
 I1    X  11480 #endif /* HPUX */
 I1	  11481 
 I1    X  11482 #ifdef ISIII				/* ISIII implies ATTSV */
 I1    X  11483 #ifndef ATTSV
 I1    X  11484 #define ATTSV
 I1    X  11485 #endif /* ATTSV */
 I1    X  11486 #endif /* ISIII */
 I1	  11487 
 I1    X  11488 #ifdef NEXT33				/* NEXT33 implies NEXT */
 I1    X  11489 #ifndef NEXT
 I1    X  11490 #define NEXT
 I1    X  11491 #endif /* NEXT */
 I1    X  11492 #endif /* NEXT33 */
 I1	  11493 
 I1    X  11494 #ifdef NEXT				/* NEXT implies BSD4 */
 I1    X  11495 #ifndef BSD4
 I1    X  11496 #define BSD4
 I1    X  11497 #endif /* BSD4 */
 I1    X  11498 #endif /* NEXT */
 I1	  11499 
 I1    X  11500 #ifdef BSD41				/* BSD41 implies BSD4 */
 I1    X  11501 #ifndef BSD4
 I1    X  11502 #define BSD4
 I1    X  11503 #endif /* BSD4 */
 I1    X  11504 #endif /* BSD41 */
 I1	  11505 
 I1    X  11506 #ifdef BSD43				/* BSD43 implies BSD4 */
 I1    X  11507 #ifndef BSD4
 I1    X  11508 #define BSD4
 I1    X  11509 #endif /* BSD4 */
 I1    X  11510 #endif /* BSD43 */
 I1	  11511 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 207
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11512 #ifdef BSD4				/* BSD4 implies ANYBSD */
 I1    X  11513 #ifndef ANYBSD
 I1    X  11514 #define ANYBSD
 I1    X  11515 #endif /* ANYBSD */
 I1    X  11516 #endif /* BSD4 */
 I1	  11517 
 I1    X  11518 #ifdef BSD29				/* BSD29 implies ANYBSD */
 I1    X  11519 #ifndef ANYBSD
 I1    X  11520 #define ANYBSD
 I1    X  11521 #endif /* ANYBSD */
 I1    X  11522 #endif /* BSD29 */
 I1	  11523 
 I1    X  11524 #ifdef ATTSV				/* ATTSV implies UNIX */
 I1    X  11525 #ifndef UNIX
 I1    X  11526 #define UNIX
 I1    X  11527 #endif /* UNIX */
 I1    X  11528 #endif /* ATTSV */
 I1	  11529 
 I1    X  11530 #ifdef ANYBSD				/* ANYBSD implies UNIX */
 I1    X  11531 #ifndef UNIX
 I1    X  11532 #define UNIX
 I1    X  11533 #endif /* UNIX */
 I1    X  11534 #endif /* ANYBSD */
 I1	  11535 
 I1    X  11536 #ifdef POSIX				/* POSIX implies UNIX */
 I1    X  11537 #ifndef UNIX
 I1    X  11538 #define UNIX
 I1    X  11539 #endif /* UNIX */
 I1    X  11540 #ifndef DIRENT				/* and DIRENT, i.e. <dirent.h> */
 I1    X  11541 #ifndef SDIRENT
 I1    X  11542 #define DIRENT
 I1    X  11543 #endif /* SDIRENT */
 I1    X  11544 #endif /* DIRENT */
 I1    X  11545 #ifndef NOFILEH				/* POSIX doesn't use <sys/file.h> */
 I1    X  11546 #define NOFILEH
 I1    X  11547 #endif /* NOFILEH */
 I1    X  11548 #endif /* POSIX */
 I1	  11549 
 I1    X  11550 #ifdef V7
 I1    X  11551 #ifndef UNIX
 I1    X  11552 #define UNIX
 I1    X  11553 extern int errno;                       /* fdc 1 November 2022 */
 I1    X  11554 #endif /* UNIX */
 I1    X  11555 #endif /* V7 */
 I1	  11556 
 I1    X  11557 #ifdef COHERENT
 I1    X  11558 #ifndef UNIX
 I1    X  11559 #define UNIX
 I1    X  11560 #endif /* UNIX */
 I1    X  11561 #ifdef COMMENT
 I1    X  11562 #ifndef NOCURSES
 I1    X  11563 #define NOCURSES
 I1    X  11564 #endif /* NOCURSES */
 I1    X  11565 #endif /* COMMENT */
 I1    X  11566 #endif /* COHERENT */
 I1	  11567 
 I1    X  11568 #ifdef MINIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 208
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11569 #ifndef UNIX
 I1    X  11570 #define UNIX
 I1    X  11571 #endif /* UNIX */
 I1    X  11572 #endif /* MINIX */
 I1	  11573 /*
 I1	  11574   The symbol SVORPOSIX is defined for both AT&T and POSIX compilations
 I1	  11575   to make it easier to select items that System V and POSIX have in common,
 I1	  11576   but which BSD, V7, etc, do not have.
 I1	  11577 */
 I1    X  11578 #ifdef ATTSV
 I1    X  11579 #ifndef SVORPOSIX
 I1    X  11580 #define SVORPOSIX
 I1    X  11581 #endif /* SVORPOSIX */
 I1    X  11582 #endif /* ATTSV */
 I1	  11583 
 I1    X  11584 #ifdef POSIX
 I1    X  11585 #ifndef SVORPOSIX
 I1    X  11586 #define SVORPOSIX
 I1    X  11587 #endif /* SVORPOSIX */
 I1    X  11588 #endif /* POSIX */
 I1	  11589 
 I1	  11590 /*
 I1	  11591   The symbol SVR4ORPOSIX is defined for both AT&T System V R4 and POSIX
 I1	  11592   compilations to make it easier to select items that System V R4 and POSIX
 I1	  11593   have in common, but which BSD, V7, and System V R3 and earlier, etc, do
 I1	  11594   not have.
 I1	  11595 */
 I1    X  11596 #ifdef POSIX
 I1    X  11597 #ifndef SVR4ORPOSIX
 I1    X  11598 #define SVR4ORPOSIX
 I1    X  11599 #endif /* SVR4ORPOSIX */
 I1    X  11600 #endif /* POSIX */
 I1    X  11601 #ifdef SVR4
 I1    X  11602 #ifndef SVR4ORPOSIX
 I1    X  11603 #define SVR4ORPOSIX
 I1    X  11604 #endif /* SVR4ORPOSIX */
 I1    X  11605 #endif /* SVR4 */
 I1	  11606 
 I1	  11607 /*
 I1	  11608   The symbol BSD44ORPOSIX is defined for both 4.4BSD and POSIX compilations
 I1	  11609   to make it easier to select items that 4.4BSD and POSIX have in common,
 I1	  11610   but which System V, BSD, V7, etc, do not have.
 I1	  11611 */
 I1    X  11612 #ifdef BSD44
 I1    X  11613 #ifndef BSD44ORPOSIX
 I1    X  11614 #define BSD44ORPOSIX
 I1    X  11615 #endif /* BSD44ORPOSIX */
 I1    X  11616 #endif /* BSD44 */
 I1	  11617 
 I1    X  11618 #ifdef POSIX
 I1    X  11619 #ifndef BSD44ORPOSIX
 I1    X  11620 #define BSD44ORPOSIX
 I1    X  11621 #endif /* BSD44ORPOSIX */
 I1    X  11622 #endif /* POSIX */
 I1	  11623 
 I1    X  11624 #ifdef UNIX				/* For items common to OS/2 and UNIX */
 I1    X  11625 #ifndef OS2ORUNIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 209
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11626 #define OS2ORUNIX
 I1    X  11627 #endif /* OS2ORUNIX */
 I1    X  11628 #endif /* UNIX */
 I1	  11629 
 I1    X  11630 #ifdef UNIX				/* For items common to VMS and UNIX */
 I1    X  11631 #define VMSORUNIX
 I1    X  11632 #else
 I1	  11633 #ifdef VMS
 I1	  11634 #define VMSORUNIX
 I1	  11635 #ifndef OS2ORVMS
 I1	  11636 #define OS2ORVMS
 I1	  11637 #endif /* OS2ORVMS */
 I1	  11638 #endif /* VMS */
 I1	  11639 #endif /* UNIX */
 I1	  11640 
 I1	  11641 #ifndef UNIXOROSK			/* UNIX or OS-9 (or OS-9000) */
 I1    X  11642 #ifdef UNIX
 I1    X  11643 #define UNIXOROSK
 I1    X  11644 #else
 I1    X  11645 #ifdef OSK
 I1    X  11646 #define UNIXOROSK
 I1    X  11647 #endif /* OSK */
 I1	  11648 #endif /* UNIX */
 I1	  11649 #endif /* UNIXOROSK */
 I1	  11650 
 I1	  11651 #ifndef OSKORUNIX
 I1    X  11652 #ifdef UNIXOROSK
 I1    X  11653 #define OSKORUNIX
 I1    X  11654 #endif /* UNIXOROSK */
 I1	  11655 #endif /* OSKORUNIX */
 I1	  11656 
 I1    X  11657 #ifdef OS2
 I1    X  11658 #ifndef CK_ANSIC
 I1    X  11659 #define CK_ANSIC		 /* OS/2 supports ANSIC and more extensions */
 I1    X  11660 #endif /* CK_ANSIC */
 I1    X  11661 #endif /* OS2 */
 I1	  11662 
 I1    X  11663 #ifdef OSF50			   /* Newer OSF/1 versions imply older ones */
 I1    X  11664 #ifndef OSF40
 I1    X  11665 #define OSF40
 I1    X  11666 #endif /* OSF40 */
 I1    X  11667 #endif /* OSF50 */
 I1	  11668 
 I1    X  11669 #ifdef OSF40
 I1    X  11670 #ifndef OSF32
 I1    X  11671 #define OSF32
 I1    X  11672 #endif /* OSF32 */
 I1    X  11673 #endif /* OSF40 */
 I1	  11674 
 I1    X  11675 #ifdef OSF32
 I1    X  11676 #ifndef OSF30
 I1    X  11677 #define OSF30
 I1    X  11678 #endif /* OSF30 */
 I1    X  11679 #endif /* OSF32 */
 I1	  11680 
 I1    X  11681 #ifdef OSF30
 I1    X  11682 #ifndef OSF20

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 210
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11683 #define OSF20
 I1    X  11684 #endif /* OSF20 */
 I1    X  11685 #endif /* OSF30 */
 I1	  11686 
 I1    X  11687 #ifdef OSF20
 I1    X  11688 #ifndef OSF10
 I1    X  11689 #define OSF10
 I1    X  11690 #endif /* OSF10 */
 I1    X  11691 #endif /* OSF20 */
 I1	  11692 
 I1	  11693 #ifdef __DECC				/* For DEC Alpha VMS or OSF/1 */
 I1	  11694 #ifndef CK_ANSIC
 I1	  11695 #define CK_ANSIC			/* Even with /stand=vaxc, need ansi */
 I1	  11696 #endif /* CKANSIC */
 I1	  11697 #ifndef SIG_V
 I1	  11698 #define SIG_V				/* and signal type is VOID */
 I1	  11699 #endif /* SIG_V */
 I1	  11700 #ifndef CK_ANSILIBS
 I1	  11701 #define CK_ANSILIBS			/* (Martin Zinser, Feb 1995) */
 I1	  11702 #endif /* CK_ANSILIBS */
 I1	  11703 #ifndef _POSIX_C_SOURCE
 I1	  11704 #define _POSIX_C_SOURCE 1
 I1	  11705 #endif /* _POSIX_C_SOURCE */
 I1	  11706 #endif	/* __DECC */
 I1	  11707 
 I1	  11708 #ifdef VMS
 I1	  11709 /* 2022-12-05  SMS.  All hardware architectures after VAX are 64-bit. 
 I1	  11710  * Testing for (32-bit) VAX is safer in the long term than testing for
 I1	  11711  * __ALPHA, __ia64, __x86_64, et al.
 I1	  11712  */
 I1	  11713 #ifndef VMS64                           /* Belt. */
 I1    X  11714 #ifdef __ALPHA
 I1    X  11715 #define VMS64
 I1    X  11716 #else /* def __ALPHA */
 I1	  11717 #ifdef __ia64
 I1	  11718 #define VMS64
 I1	  11719 #ifndef VMSI64
 I1	  11720 #define VMSI64                          /* See ckvtio.c.  Pointless now? */
 I1	  11721 #endif /* ndef VMSI64 */
 I1    X  11722 #else /* def __ia64 */
 I1    X  11723 #ifdef __x86_64
 I1    X  11724 #define VMS64
 I1    X  11725 #endif /* def __x86_64 */
 I1    X  11726 #endif /* def __ia64 [else] */
 I1	  11727 #endif /* def __ALPHA [else] */
 I1	  11728 #endif /* ndef VMS64 */
 I1	  11729 
 I1    X  11730 #ifndef VMS64                           /* Suspenders. */
 I1    X  11731 #ifndef __VAX
 I1    X  11732 #ifndef vax
 I1    X  11733 #ifndef __vax
 I1    X  11734 #ifndef __vax__
 I1    X  11735 #define VMS64
 I1    X  11736 #endif /* ndef __vax__ */
 I1    X  11737 #endif /* ndef __vax */
 I1    X  11738 #endif /* ndef vax */
 I1    X  11739 #endif /* ndef __VAX */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 211
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11740 #endif /* ndef VMS64 */
 I1	  11741 
 I1	  11742 #endif /* def VMS */
 I1	  11743 
 I1    X  11744 #ifdef apollo				/* May be ANSI-C, check further */
 I1    X  11745 #ifdef __STDCPP__
 I1    X  11746 #define CK_ANSIC			/* Yes, this is real ANSI-C */
 I1    X  11747 #define SIG_V
 I1    X  11748 #else
 I1    X  11749 #define NOANSI				/* Nope, not ANSI */
 I1    X  11750 #undef __STDC__				/* Even though it say it is! */
 I1    X  11751 #define SIG_I
 I1    X  11752 #endif /* __STDCPP__ */
 I1    X  11753 #endif /* apollo */
 I1	  11754 
 I1    X  11755 #ifdef POSIX				/* -DPOSIX on cc command line */
 I1    X  11756 #ifndef _POSIX_SOURCE			/* Implies _POSIX_SOURCE */
 I1    X  11757 #define _POSIX_SOURCE
 I1    X  11758 #endif /* _POSIX_SOURCE */
 I1    X  11759 #endif /* POSIX */
 I1	  11760 
 I1	  11761 /*
 I1	  11762   ANSI C?  That is, do we have function prototypes, new-style
 I1	  11763   function declarations, and parameter type checking and coercion?
 I1	  11764 */
 I1    X  11765 #ifdef MAC				/* MPW C is ANSI */
 I1    X  11766 #ifndef NOANSI
 I1    X  11767 #ifndef CK_ANSIC
 I1    X  11768 #define CK_ANSIC
 I1    X  11769 #endif /* CK_ANSIC */
 I1    X  11770 #endif /* NOANSI */
 I1    X  11771 #endif /* MAC */
 I1	  11772 
 I1    X  11773 #ifdef STRATUS				/* Stratus VOS */
 I1    X  11774 #ifndef CK_ANSIC
 I1    X  11775 #define CK_ANSIC
 I1    X  11776 #endif /* CK_ANSIC */
 I1    X  11777 #ifndef NOSTAT
 I1    X  11778 #define NOSTAT
 I1    X  11779 #endif /* NOSTAT */
 I1    X  11780 #endif /* STRATUS */
 I1	  11781 
 I1	  11782 #ifndef NOANSI
 I1	  11783 #ifdef __STDC__				/* __STDC__ means ANSI C */
 I1    X  11784 #ifndef CK_ANSIC
 I1    X  11785 #define CK_ANSIC
 I1    X  11786 #endif /* CK_ANSIC */
 I1	  11787 #endif /* __STDC__ */
 I1	  11788 #endif /* NOANSI */
 I1	  11789 /*
 I1	  11790   _PROTOTYP() is used for forward declarations of functions so we can have
 I1	  11791   parameter and return value type checking if the compiler offers it.
 I1	  11792   __STDC__ should be defined by the compiler only if function prototypes are
 I1	  11793   allowed.  Otherwise, we get old-style forward declarations.  Our own private
 I1	  11794   CK_ANSIC symbol tells whether we use ANSI C prototypes.  To force use of
 I1	  11795   ANSI prototypes, include -DCK_ANSIC on the cc command line.  To disable the
 I1	  11796   use of ANSI prototypes, include -DNOANSI.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 212
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  11797 */
 I1	  11798 #ifdef CK_ANSIC
 I1	  11799 #define _PROTOTYP( func, parms ) func parms
 I1    X  11800 #else /* Not ANSI C */
 I1    X  11801 #define _PROTOTYP( func, parms ) func()
 I1    X  11802 #endif /* CK_ANSIC */
 I1	  11803 
 I1	  11804 #ifndef OS2
 I1    X  11805 #ifdef NOLOGIN				/* NOLOGIN implies NOIKSD */
 I1    X  11806 #ifndef NOIKSD
 I1    X  11807 #define NOIKSD
 I1    X  11808 #endif /* NOIKSD */
 I1    X  11809 #endif /* NOLOGIN */
 I1	  11810 #endif /* OS2 */
 I1	  11811 
 I1    X  11812 #ifdef NOIKSD				/* Internet Kermit Service Daemon */
 I1    X  11813 #ifndef OS2
 I1    X  11814 #ifndef NOPRINTFSUBST
 I1    X  11815 #define NOPRINTFSUBST
 I1    X  11816 #endif /* NOPRINTFSUBST */
 I1    X  11817 #endif /* OS2 */
 I1    X  11818 #ifndef NOLOGIN
 I1    X  11819 #define NOLOGIN
 I1    X  11820 #endif /* NOLOGIN */
 I1    X  11821 #ifndef NOSYSLOG
 I1    X  11822 #define NOSYSLOG
 I1    X  11823 #endif /* NOSYSLOG */
 I1    X  11824 #ifndef NOWTMP                          /* Redundant but does no harm */
 I1    X  11825 #define NOWTMP
 I1    X  11826 #endif /* NOWTMP */
 I1    X  11827 #else
 I1	  11828 #ifndef IKSD
 I1    X  11829 #ifdef OS2ORUNIX			/* Platforms where IKSD is supported */
 I1    X  11830 #define IKSD
 I1    X  11831 #endif /* OS2ORUNIX */
 I1	  11832 #endif /* IKSD */
 I1	  11833 #endif /* NOIKSD */
 I1	  11834 
 I1    X  11835 #ifdef IKSD				/* IKSD options... */
 I1    X  11836 #ifndef IKSDCONF			/* IKSD configuration file */
 I1    X  11837 #ifdef UNIX
 I1    X  11838 #define IKSDCONF "/etc/iksd.conf"
 I1    X  11839 #else
 I1    X  11840 #ifdef OS2
 I1    X  11841 #define IKSDCONF "iksd.ksc"
 I1    X  11842 #endif /* OS2 */
 I1    X  11843 #endif /* UNIX */
 I1    X  11844 #endif /* IKSDCONF */
 I1    X  11845 #ifndef NOIKSDB
 I1    X  11846 #ifndef IKSDB				/* IKSD database */
 I1    X  11847 #ifdef UNIX
 I1    X  11848 #define IKSDB
 I1    X  11849 #define IK_LCKTRIES 16			/* How many times to try to get lock */
 I1    X  11850 #define IK_LCKSLEEP 1			/* How long to sleep between tries */
 I1    X  11851 #define IK_LOCKFILE "iksd.lck"		/* Database lockfilename */
 I1    X  11852 #define IK_DBASEDIR "/var/log/"		/* Database directory */
 I1    X  11853 #define IK_DBASEFIL "iksd.db"		/* Database filename */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 213
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11854 #else /* UNIX */
 I1    X  11855 #ifdef OS2
 I1    X  11856 #define IKSDB
 I1    X  11857 #ifndef NOFTRUNCATE			/* ftruncate() not available */
 I1    X  11858 #define NOFTRUNCATE
 I1    X  11859 #endif /* NOFTRUNCATE */
 I1    X  11860 #define IK_LCKTRIES 16			/* How many times to try to get lock */
 I1    X  11861 #define IK_LCKSLEEP 1			/* How long to sleep between tries */
 I1    X  11862 #define IK_LOCKFILE "iksd.lck"		/* DB lockfilename (in systemroot) */
 I1    X  11863 #define IK_DBASEFIL "iksd.db"		/* Database filename */
 I1    X  11864 #endif /* OS2 */
 I1    X  11865 #endif /* UNIX */
 I1    X  11866 #endif /* IKSDB */
 I1    X  11867 #endif /* NOIKSDB */
 I1    X  11868 #endif /* IKSD */
 I1	  11869 /*
 I1	  11870   Substitutes for printf() and friends used in IKS to compensate for
 I1	  11871   lack of a terminal driver, mainly to supply CR after LF.
 I1	  11872 */
 I1	  11873 #ifndef NOPRINTFSUBST
 I1    X  11874 #ifdef MAC
 I1	  11875 /*
 I1	  11876  * The MAC doesn't use standard stdio routines.
 I1    X  11877  */
 I1    X  11878 #undef getchar
 I1    X  11879 #define getchar()   mac_getchar()
 I1    X  11880 #undef putchar
 I1    X  11881 #define putchar(c)	mac_putchar(c)
 I1    X  11882 #define printf		mac_printf
 I1    X  11883 #define perror		mac_perror
 I1    X  11884 #define puts		mac_puts
 I1    X  11885 extern int mac_putchar (int c);
 I1    X  11886 extern int mac_puts (const char *string);
 I1    X  11887 extern int mac_printf(const char *, ...);
 I1    X  11888 extern int mac_getchar (void);
 I1    X  11889 #endif /* MAC */
 I1	  11890 
 I1    X  11891 #ifdef OS2
 I1    X  11892 #ifndef CKODIALER
 I1    X  11893 #define printf Vscrnprintf
 I1    X  11894 #define fprintf Vscrnfprintf
 I1    X  11895 extern int Vscrnprintf(const char *, ...);
 I1    X  11896 extern int Vscrnprintw(const char *, ...);
 I1    X  11897 extern int Vscrnfprintf(FILE *, const char *, ...);
 I1    X  11898 #ifdef putchar
 I1    X  11899 #undef putchar
 I1    X  11900 #endif /* putchar */
 I1    X  11901 #define putchar(x) Vscrnprintf("%c",x)
 I1    X  11902 #define perror(x)  Vscrnperror(x)
 I1    X  11903 #endif /* CKODIALER */
 I1    X  11904 #endif /* OS2 */
 I1	  11905 
 I1	  11906 #ifndef CKWART_C
 I1    X  11907 #ifdef UNIX
 I1    X  11908 #ifndef pdp11
 I1    X  11909 #ifndef CKXPRINTF
 I1    X  11910 #define CKXPRINTF

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 214
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  11911 #endif /* CKXPRINTF */
 I1    X  11912 #endif /* pdp11 */
 I1    X  11913 #endif /* UNIX */
 I1	  11914 #endif /* CKWART_C */
 I1	  11915 #endif /* NOPRINTFSUBST */
 I1	  11916 
 I1    X  11917 #ifdef CKXPRINTF
 I1    X  11918 #define printf ckxprintf
 I1    X  11919 #define fprintf ckxfprintf
 I1    X  11920 #ifdef CK_ANSIC
 I1    X  11921 _PROTOTYP(int ckxprintf,(const char *, ...));
 I1    X  11922 #ifdef NEXT
 I1    X  11923 _PROTOTYP(void ckxperror,(const char *));
 I1    X  11924 #else
 I1    X  11925 #ifdef CK_SCOV5
 I1    X  11926 _PROTOTYP(void ckxperror,(const char *));
 I1    X  11927 #else
 I1    X  11928 _PROTOTYP(int ckxperror,(const char *));
 I1    X  11929 #endif /* CK_SCOV5 */
 I1    X  11930 #endif /* NEXT */
 I1    X  11931 _PROTOTYP(int ckxfprintf,(FILE *, const char *, ...));
 I1    X  11932 #endif /* CK_ANSIC */
 I1    X  11933 #ifdef putchar
 I1    X  11934 #undef putchar
 I1    X  11935 #endif /* putchar */
 I1    X  11936 #define putchar(x) ckxprintf("%c",x)
 I1    X  11937 #ifdef putc
 I1    X  11938 #undef putc
 I1    X  11939 #endif /* putc */
 I1    X  11940 #define putc(a,b) ckxfprintf(b,"%c",a)
 I1    X  11941 #define perror(x)  ckxperror(x)
 I1    X  11942 #endif /* CKXPRINTF */
 I1	  11943 
 I1	  11944 /*
 I1	  11945   Altos-specific items: 486, 586, 986 models...
 I1	  11946 */
 I1    X  11947 #ifdef A986
 I1    X  11948 #define M_VOID
 I1    X  11949 #define void int
 I1    X  11950 #define CHAR char
 I1    X  11951 #define SIG_I
 I1    X  11952 #endif /* A986 */
 I1	  11953 
 I1	  11954 /* Signal handling */
 I1	  11955 
 I1    X  11956 #ifdef QNX
 I1    X  11957 #ifndef CK_POSIX_SIG
 I1    X  11958 #define CK_POSIX_SIG
 I1    X  11959 #endif /* CK_POSIX_SIG */
 I1    X  11960 #endif /* QNX */
 I1	  11961 
 I1	  11962 /* 
 I1	  11963   void type, normally available only in ANSI compilers.
 I1	  11964   The HP-UX exception (for its "bundled" non-ANSI C compiler)
 I1	  11965   is known to be valid back to HP-UX 6.5.
 I1	  11966   Adjustments might be needed for earlier HP-UX versions.
 I1	  11967 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 215
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  11968 #ifndef VOID				/* Used throughout all C-Kermit */
 I1	  11969 #ifdef CK_ANSIC				/* modules... */
 I1	  11970 #define VOID void
 I1    X  11971 #else
 I1    X  11972 #ifdef HPUX
 I1    X  11973 #define VOID void
 I1    X  11974 #else
 I1    X  11975 #define VOID int
 I1    X  11976 #endif /* HPUX */
 I1    X  11977 #endif /* CK_ANSIC */
 I1	  11978 #endif /* VOID */
 I1	  11979 /*
 I1	  11980   Exactly the same as VOID but for use in contexts where the VOID symbol
 I1	  11981   conflicts some header-file definition.  This is needed for the section
 I1	  11982   of ckuusx.c that provides C-Kermit's curses interface, roughly the
 I1	  11983   second half of ckuusx.c.
 I1	  11984 */
 I1	  11985 #ifndef CKVOID
 I1	  11986 #ifdef CK_ANSIC
 I1	  11987 #define CKVOID void
 I1    X  11988 #else
 I1    X  11989 #ifdef HPUX
 I1    X  11990 #define CKVOID void
 I1    X  11991 #else
 I1    X  11992 #define CKVOID int
 I1    X  11993 #endif /* HPUX */
 I1    X  11994 #endif /* CK_ANSIC */
 I1	  11995 #endif /* CKVOID */
 I1	  11996 
 I1	  11997 /* Const type */
 I1	  11998 
 I1	  11999 #ifndef CONST
 I1    X  12000 #ifdef OSK
 I1    X  12001 #ifdef _UCC
 I1    X  12002 #define CONST const
 I1    X  12003 #else
 I1    X  12004 #define CONST
 I1    X  12005 #endif /* _UCC */
 I1    X  12006 #else  /* !OSK */
 I1    X  12007 #ifdef CK_SCO32V4
 I1    X  12008 #define CONST
 I1    X  12009 #else
 I1	  12010 #ifdef CK_ANSIC
 I1	  12011 #define CONST const
 I1    X  12012 #else
 I1    X  12013 #define CONST
 I1    X  12014 #endif /* CK_ANSIC */
 I1	  12015 #endif /* CK_SCO32V4 */
 I1	  12016 #endif /* OSK */
 I1	  12017 #endif /* CONST */
 I1	  12018 
 I1	  12019 /* Signal type */
 I1	  12020 
 I1    X  12021 #ifndef SIG_V				/* signal() type, if not def'd yet */
 I1    X  12022 #ifndef SIG_I
 I1    X  12023 #ifdef OS2
 I1    X  12024 #define SIG_V

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 216
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12025 #else
 I1    X  12026 #ifdef POSIX
 I1    X  12027 #define SIG_V
 I1    X  12028 #else
 I1    X  12029 #ifdef SVR3				/* System V R3 and later */
 I1    X  12030 #define SIG_V
 I1    X  12031 #else
 I1    X  12032 #ifdef SUNOS4				/* SUNOS V 4.0 and later */
 I1    X  12033 #ifndef sun386
 I1    X  12034 #define SIG_V
 I1    X  12035 #else
 I1    X  12036 #define SIG_I
 I1    X  12037 #endif /* sun386 */
 I1    X  12038 #else
 I1    X  12039 #ifdef NEXT				/* NeXT */
 I1    X  12040 #define SIG_V
 I1    X  12041 #else
 I1    X  12042 #ifdef AIX370
 I1    X  12043 #include <signal.h>
 I1    X  12044 #define SIG_V
 I1    X  12045 #define SIGTYP __SIGVOID		/* AIX370 */
 I1    X  12046 #else
 I1    X  12047 #ifdef STRATUS				/* Stratus VOS */
 I1    X  12048 #define SIG_V
 I1    X  12049 #else
 I1    X  12050 #ifdef MAC
 I1    X  12051 #define SIGTYP long
 I1    X  12052 #define SIG_I
 I1    X  12053 #ifndef MPW33
 I1    X  12054 #define SIG_IGN 0
 I1    X  12055 #endif /* MPW33 */
 I1    X  12056 #define SIGALRM 1
 I1    X  12057 #ifndef MPW33
 I1    X  12058 #define SIGINT  2
 I1    X  12059 #endif /* MPW33 */
 I1    X  12060 #else /* Everything else */
 I1    X  12061 #define SIG_I
 I1    X  12062 #endif /* MAC */
 I1    X  12063 #endif /* STRATUS */
 I1    X  12064 #endif /* AIX370 */
 I1    X  12065 #endif /* NEXT */
 I1    X  12066 #endif /* SUNOS4 */
 I1    X  12067 #endif /* SVR3 */
 I1    X  12068 #endif /* POSIX */
 I1    X  12069 #endif /* OS2 */
 I1    X  12070 #endif /* SIG_I */
 I1    X  12071 #endif /* SIG_V */
 I1	  12072 
 I1    X  12073 #ifdef SIG_I
 I1    X  12074 #define SIGRETURN return(0)
 I1    X  12075 #ifndef SIGTYP
 I1    X  12076 #define SIGTYP int
 I1    X  12077 #endif /* SIGTYP */
 I1    X  12078 #endif /* SIG_I */
 I1	  12079 
 I1	  12080 #ifdef SIG_V
 I1	  12081 #define SIGRETURN return

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 217
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  12082 #ifndef SIGTYP
 I1	  12083 #define SIGTYP void
 I1	  12084 #endif /* SIGTYP */
 I1	  12085 #endif /* SIG_V */
 I1	  12086 
 I1    X  12087 #ifdef NT
 I1    X  12088 #ifndef SIGTYP
 I1    X  12089 #define SIGTYP void
 I1    X  12090 #endif /* SIGTYP */
 I1    X  12091 #endif /* NT */
 I1	  12092 
 I1    X  12093 #ifndef SIGTYP
 I1    X  12094 #define SIGTYP int
 I1    X  12095 #endif /* SIGTYP */
 I1	  12096 
 I1    X  12097 #ifndef SIGRETURN
 I1    X  12098 #define SIGRETURN return(0)
 I1    X  12099 #endif /* SIGRETURN */
 I1	  12100 
 I1    X  12101 #ifdef CKNTSIG
 I1    X  12102 /* This does not work, so don't use it. */
 I1    X  12103 #define signal ckntsignal
 I1    X  12104 SIGTYP (*ckntsignal(int type, SIGTYP (*)(int)))(int);
 I1    X  12105 #endif /* CKNTSIG */
 I1	  12106 
 I1	  12107 /* We want all characters to be unsigned if the compiler supports it */
 I1	  12108 
 I1    X  12109 #ifdef KUI
 I1    X  12110 #ifdef CHAR
 I1    X  12111 #undef CHAR
 I1    X  12112 #endif /* CHAR */
 I1    X  12113 #define CHAR unsigned char
 I1    X  12114 #else
 I1    X  12115 #ifdef PROVX1
 I1    X  12116 typedef char CHAR;
 I1    X  12117 /* typedef long LONG; */
 I1    X  12118 typedef int void;
 I1    X  12119 #else
 I1    X  12120 #ifdef MINIX
 I1    X  12121 typedef unsigned char CHAR;
 I1    X  12122 #else
 I1    X  12123 #ifdef V7
 I1    X  12124 typedef char CHAR;
 I1    X  12125 #else
 I1    X  12126 #ifdef C70
 I1    X  12127 typedef char CHAR;
 I1    X  12128 /* typedef long LONG; */
 I1    X  12129 #else
 I1    X  12130 #ifdef BSD29
 I1    X  12131 typedef char CHAR;
 I1    X  12132 /* typedef long LONG; */
 I1    X  12133 #else
 I1    X  12134 #ifdef datageneral
 I1    X  12135 #define CHAR unsigned char			/* 3.22 compiler */
 I1    X  12136 #else
 I1    X  12137 #ifdef HPUX
 I1    X  12138 #define CHAR unsigned char

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 218
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12139 #else
 I1    X  12140 #ifdef OS2
 I1    X  12141 #ifdef NT
 I1    X  12142 #define CHAR unsigned char
 I1    X  12143 #else /* NT */
 I1    X  12144 #ifdef CHAR
 I1    X  12145 #undef CHAR
 I1    X  12146 #endif /* CHAR */
 I1    X  12147 typedef unsigned char CHAR;
 I1    X  12148 #endif /* NT */
 I1    X  12149 #else /* OS2 */
 I1	  12150 #ifdef VMS
 I1	  12151 typedef unsigned char CHAR;
 I1    X  12152 #else
 I1    X  12153 #ifdef CHAR
 I1    X  12154 #undef CHAR
 I1    X  12155 #endif /* CHAR */
 I1    X  12156 typedef unsigned char CHAR;
 I1    X  12157 #endif /* VMS */
 I1	  12158 #endif /* OS2 */
 I1	  12159 #endif /* HPUX */
 I1	  12160 #endif /* datageneral */
 I1	  12161 #endif /* BSD29 */
 I1	  12162 #endif /* C70 */
 I1	  12163 #endif /* V7 */
 I1	  12164 #endif /* MINIX */
 I1	  12165 #endif /* PROVX1 */
 I1	  12166 #endif /* KUI */
 I1	  12167 
 I1	  12168 union ck_short {			/* Mainly for Unicode */
 I1	  12169     USHORT x_short;
       E	     unsigned short
 I1	  12170     CHAR x_char[2];
 I1	  12171 };
 I1	  12172 
 I1    X  12173 #ifdef MAC				/* Macintosh file routines */
 I1    X  12174 #ifndef CKWART_C			/* But not in "wart"... */
 I1    X  12175 #ifdef feof
 I1    X  12176 #undef feof
 I1    X  12177 #endif /* feof */
 I1    X  12178 #define feof mac_feof
 I1    X  12179 #define rewind mac_rewind
 I1    X  12180 #define fgets mac_fgets
 I1    X  12181 #define fopen mac_fopen
 I1    X  12182 #define fclose mac_fclose
 I1    X  12183 int mac_feof();
 I1    X  12184 void mac_rewind();
 I1    X  12185 char *mac_fgets();
 I1    X  12186 FILE *mac_fopen();
 I1    X  12187 int mac_fclose();
 I1    X  12188 #endif /* CKCPRO_W */
 I1    X  12189 #endif /* MAC */
 I1	  12190 /*
 I1	  12191    Systems whose mainline modules have access to the communication-line
 I1	  12192    file descriptor, ttyfd.
 I1	  12193 */
 I1	  12194 #ifndef CK_TTYFD

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 219
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12195 #ifdef UNIX
 I1    X  12196 #define CK_TTYFD
 I1    X  12197 #else
 I1    X  12198 #ifdef OS2
 I1    X  12199 #define CK_TTYFD
 I1    X  12200 #else
 I1	  12201 #ifdef VMS
 I1	  12202 #define CK_TTYFD
 I1	  12203 #endif /* VMS */
 I1	  12204 #endif /* OS2 */
 I1	  12205 #endif /* UNIX */
 I1	  12206 #endif /* CK_TTYFD */
 I1	  12207 
 I1	  12208 /* Systems where we can get our own process ID */
 I1	  12209 
 I1	  12210 #ifndef CK_PID
 I1    X  12211 #ifdef UNIX
 I1    X  12212 #define CK_PID
 I1    X  12213 #endif /* UNIX */
 I1    X  12214 #ifdef OS2
 I1    X  12215 #define CK_PID
 I1    X  12216 #endif /* OS2 */
 I1	  12217 #ifdef VMS
 I1	  12218 #define CK_PID
 I1	  12219 #endif /* VMS */
 I1	  12220 #endif /* CK_PID */
 I1	  12221 
 I1	  12222 /* Systems that support the Microsoft Telephony API (TAPI) */
 I1	  12223 
 I1	  12224 #ifndef NODIAL
 I1	  12225 #ifndef CK_TAPI
 I1    X  12226 #ifdef NT
 I1    X  12227 #define CK_TAPI
 I1    X  12228 #endif /* NT */
 I1	  12229 #endif /* CK_TAPI */
 I1	  12230 #endif /* NODIAL */
 I1	  12231 
 I1	  12232 #ifndef NONZXPAND
 I1	  12233 #ifndef NZXPAND
 I1    X  12234 #ifdef OS2ORUNIX
 I1    X  12235 #define NZXPAND
 I1    X  12236 #else
 I1	  12237 #ifdef VMS
 I1	  12238 #define NZXPAND
 I1    X  12239 #else
 I1    X  12240 #ifdef datageneral
 I1    X  12241 #define NZXPAND
 I1    X  12242 #else
 I1    X  12243 #ifdef OSK
 I1    X  12244 #define NZXPAND
 I1    X  12245 #endif /* OSK */
 I1    X  12246 #endif /* datageneral */
 I1    X  12247 #endif /* VMS */
 I1	  12248 #endif /* OS2ORUNIX */
 I1	  12249 #endif /* NZXPAND */
 I1    X  12250 #else
 I1    X  12251 #ifdef NZXPAND

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 220
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12252 #undef NZXPAND
 I1    X  12253 #endif /* NZXPAND */
 I1    X  12254 #endif /* NONZXPAND */
 I1	  12255 
 I1	  12256 /* nzxpand() option flags */
 I1	  12257 
 I1	  12258 #define ZX_FILONLY   1			/* Match only regular files */
 I1	  12259 #define ZX_DIRONLY   2			/* Match only directories */
 I1	  12260 #define ZX_RECURSE   4			/* Descend through directory tree */
 I1	  12261 #define ZX_MATCHDOT  8			/* Match "dot files" */
 I1	  12262 #define ZX_NOBACKUP 16			/* Don't match "backup files" */
 I1	  12263 #define ZX_NOLINKS  32			/* Don't follow symlinks */
 I1	  12264 
 I1    X  12265 #ifndef NZXPAND
 I1    X  12266 #define nzxpand(a,b) zxpand(a)
 I1    X  12267 #endif /* NZXPAND */
 I1	  12268 
 I1	  12269 #ifndef NOZXREWIND
 I1	  12270 #ifndef ZXREWIND			/* Platforms that have zxrewind() */
 I1    X  12271 #ifdef OS2ORUNIX
 I1    X  12272 #define ZXREWIND
 I1    X  12273 #else
 I1	  12274 #ifdef VMS
 I1	  12275 #define ZXREWIND
 I1    X  12276 #else
 I1    X  12277 #ifdef datageneral
 I1    X  12278 #define ZXREWIND
 I1    X  12279 #else
 I1    X  12280 #ifdef OSK
 I1    X  12281 #define ZXREWIND
 I1    X  12282 #else
 I1    X  12283 #ifdef STRATUS
 I1    X  12284 #define ZXREWIND
 I1    X  12285 #endif /* STRATUS */
 I1    X  12286 #endif /* OSK */
 I1    X  12287 #endif /* datageneral */
 I1    X  12288 #endif /* VMS */
 I1	  12289 #endif /* OS2ORUNIX */
 I1	  12290 #endif /* ZXREWIND */
 I1    X  12291 #else
 I1    X  12292 #ifdef ZXREWIND
 I1    X  12293 #undef ZXREWIND
 I1    X  12294 #endif /* ZXREWIND */
 I1    X  12295 #endif /* NOZXREWIND */
 I1	  12296 
 I1	  12297 /* Temporary-directory-for-RECEIVE feature ... */
 I1	  12298 /* This says whether we have the isdir() function defined. */
 I1	  12299 
 I1    X  12300 #ifdef UNIX				/* UNIX has it */
 I1    X  12301 #ifndef CK_TMPDIR
 I1    X  12302 #ifndef pdp11
 I1    X  12303 #define CK_TMPDIR
 I1    X  12304 #define TMPDIRLEN 256
 I1    X  12305 #endif /* pdp11 */
 I1    X  12306 #endif /* CK_TMPDIR */
 I1    X  12307 #endif /* UNIX */
 I1	  12308 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 221
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  12309 #ifdef VMS				/* VMS too */
 I1	  12310 #ifndef CK_TMPDIR
 I1	  12311 #define CK_TMPDIR
 I1	  12312 #define TMPDIRLEN 256
 I1	  12313 #endif /* CK_TMPDIR */
 I1	  12314 #endif /* VMS */
 I1	  12315 
 I1    X  12316 #ifdef OS2				/* OS two too */
 I1    X  12317 #ifndef CK_TMPDIR
 I1    X  12318 #define CK_TMPDIR
 I1    X  12319 #define TMPDIRLEN 129
 I1    X  12320 #endif /* CK_TMPDIR */
 I1    X  12321 #endif /* OS2 */
 I1	  12322 
 I1    X  12323 #ifdef STRATUS				/* Stratus VOS too. */
 I1    X  12324 #ifndef CK_TMPDIR
 I1    X  12325 #define CK_TMPDIR
 I1    X  12326 #define TMPDIRLEN 256
 I1    X  12327 #endif /* CK_TMPDIR */
 I1    X  12328 #endif /* STRATUS */
 I1	  12329 
 I1    X  12330 #ifdef OSK				/* OS-9 too */
 I1    X  12331 #ifndef CK_TMPDIR
 I1    X  12332 #define CK_TMPDIR
 I1    X  12333 #define TMPDIRLEN 256
 I1    X  12334 #endif /* CK_TMPDIR */
 I1    X  12335 #endif /* OSK */
 I1	  12336 
 I1    X  12337 #ifdef datageneral			/* AOS/VS too */
 I1    X  12338 #ifndef CK_TMPDIR
 I1    X  12339 #define CK_TMPDIR
 I1    X  12340 #define TMPDIRLEN 256
 I1    X  12341 #endif /* CK_TMPDIR */
 I1    X  12342 #endif /* datageneral */
 I1	  12343 
 I1	  12344 #ifdef CK_TMPDIR			/* Needs command parser */
 I1    X  12345 #ifdef NOICP
 I1    X  12346 #undef CK_TMPDIR
 I1    X  12347 #endif /* NOICP */
 I1	  12348 #endif /* CK_TMPDIR */
 I1	  12349 
 I1	  12350 /* Whether to include <time.h> or <sys/time.h> */
 I1	  12351 
 I1	  12352 #ifndef NOTIMEH				/* <time.h> */
 I1	  12353 #ifndef TIMEH
 I1	  12354 #define TIMEH
 I1	  12355 #endif /* TIMEH */
 I1	  12356 #endif /* NOTIMEH */
 I1	  12357 
 I1	  12358 #ifndef NOSYSTIMEH			/* <sys/time.h> */
 I1	  12359 #ifndef SYSTIMEH
 I1    X  12360 #ifdef UNIX				/* UNIX */
 I1    X  12361 #ifdef SVORPOSIX			/* System V or POSIX... */
 I1    X  12362 #ifdef M_UNIX
 I1    X  12363 #define SYSTIMEH
 I1    X  12364 #else
 I1    X  12365 #ifdef SCO_32V4

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 222
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12366 #define SYSTIMEH
 I1    X  12367 #else
 I1    X  12368 #ifdef OXOS
 I1    X  12369 #define SYSTIMEH
 I1    X  12370 #else
 I1    X  12371 #ifdef BSD44
 I1    X  12372 #define SYSTIMEH
 I1    X  12373 #else
 I1    X  12374 #ifdef __linux__
 I1    X  12375 #define SYSTIMEH
 I1    X  12376 #else
 I1    X  12377 #ifdef AIXRS
 I1    X  12378 #ifndef AIX41
 I1    X  12379 #define SYSTIMEH
 I1    X  12380 #endif /* AIX41 */
 I1    X  12381 #else
 I1    X  12382 #ifdef IRIX60
 I1    X  12383 #define SYSTIMEH
 I1    X  12384 #else
 I1    X  12385 #ifdef I386IX
 I1    X  12386 #define SYSTIMEH
 I1    X  12387 #else
 I1    X  12388 #ifdef SV68R3V6
 I1    X  12389 #define SYSTIMEH
 I1    X  12390 #endif /* SV68R3V6 */
 I1    X  12391 #endif /* I386IX */
 I1    X  12392 #endif /* IRIX60 */
 I1    X  12393 #endif /* AIXRS */
 I1    X  12394 #endif /* __linux__ */
 I1    X  12395 #endif /* BSD44 */
 I1    X  12396 #endif /* OXOS */
 I1    X  12397 #endif /* SCO_32V4 */
 I1    X  12398 #endif /* M_UNIX */
 I1    X  12399 
 I1    X  12400 #else  /* Not SVORPOSIX */
 I1    X  12401 
 I1    X  12402 #ifndef BELLV10				/* All but these... */
 I1    X  12403 #ifndef PROVX1
 I1    X  12404 #ifndef V7
 I1    X  12405 #ifndef BSD41
 I1    X  12406 #ifndef COHERENT
 I1    X  12407 #define SYSTIMEH
 I1    X  12408 #endif /* COHERENT */
 I1    X  12409 #endif /* BSD41 */
 I1    X  12410 #endif /* V7 */
 I1    X  12411 #endif /* PROVX1 */
 I1    X  12412 #endif /* BELLV10 */
 I1    X  12413 #endif /* SVORPOSIX */
 I1    X  12414 #endif /* UNIX */
 I1	  12415 #endif /* SYSTIMEH */
 I1	  12416 #endif /* NOSYSTIMEH */
 I1	  12417 
 I1	  12418 #ifndef NOSYSTIMEBH			/* <sys/timeb.h> */
 I1	  12419 #ifndef SYSTIMEBH
 I1    X  12420 #ifdef OSF
 I1    X  12421 #define SYSTIMEBH
 I1    X  12422 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 223
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12423 #ifdef COHERENT
 I1    X  12424 #define SYSTIMEBH
 I1    X  12425 #else
 I1    X  12426 #ifdef BSD41
 I1    X  12427 #define SYSTIMEBH
 I1    X  12428 #else
 I1    X  12429 #ifdef BSD29
 I1    X  12430 #define SYSTIMEBH
 I1    X  12431 #else
 I1    X  12432 #ifdef TOWER1
 I1    X  12433 #define SYSTIMEBH
 I1    X  12434 #else
 I1    X  12435 #ifdef FT21
 I1    X  12436 #define SYSTIMEBH
 I1    X  12437 #else
 I1    X  12438 #ifdef BELLV10
 I1    X  12439 #define SYSTIMEBH
 I1    X  12440 #endif /* BELLV10 */
 I1	  12441 #endif /* FT21 */
 I1	  12442 #endif /* TOWER1 */
 I1	  12443 #endif /* BSD29 */
 I1	  12444 #endif /* BSD41 */
 I1	  12445 #endif /* COHERENT */
 I1	  12446 #endif /* OSF */
 I1	  12447 #endif /* SYSTIMEBH */
 I1	  12448 #endif /* NOSYSTIMEBH */
 I1	  12449 
 I1	  12450 /*
 I1	  12451  Debug and transaction logging is included automatically unless you define
 I1	  12452  NODEBUG or NOTLOG.  Do this if you want to save the space and overhead.
 I1	  12453  (Note, in version 4F these definitions changed from "{}" to the null string
 I1	  12454  to avoid problems with semicolons after braces, as in: "if (x) tlog(this);
 I1	  12455  else tlog(that);"
 I1	  12456 */
 I1	  12457 #ifndef NODEBUG
 I1	  12458 #ifndef DEBUG
 I1	  12459 #define DEBUG
 I1	  12460 #endif /* DEBUG */
 I1    X  12461 #else
 I1    X  12462 #ifdef DEBUG
 I1    X  12463 #undef DEBUG
 I1    X  12464 #endif /* DEBUG */
 I1    X  12465 #endif /* NODEBUG */
 I1	  12466 
 I1    X  12467 #ifdef NOTLOG
 I1    X  12468 #ifdef TLOG
 I1    X  12469 #undef TLOG
 I1    X  12470 #endif /* TLOG */
 I1    X  12471 #else  /* NOTLOG */
 I1	  12472 #ifndef TLOG
 I1	  12473 #define TLOG
 I1	  12474 #endif /* TLOG */
 I1	  12475 #endif /* NOTLOG */
 I1	  12476 
 I1	  12477 /* debug() macro style selection. */
 I1	  12478 
 I1	  12479 #ifdef VMS

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 224
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  12480 #ifndef IFDEBUG
 I1	  12481 #define IFDEBUG
 I1	  12482 #endif /* IFDEBUG */
 I1	  12483 #endif /* VMS */
 I1	  12484 
 I1    X  12485 #ifdef MAC
 I1    X  12486 #ifndef IFDEBUG
 I1    X  12487 #define IFDEBUG
 I1    X  12488 #endif /* IFDEBUG */
 I1    X  12489 #endif /* MAC */
 I1	  12490 
 I1    X  12491 #ifdef OS2
 I1    X  12492 #ifndef IFDEBUG
 I1    X  12493 #define IFDEBUG
 I1    X  12494 #endif /* IFDEBUG */
 I1    X  12495 #endif /* OS2 */
 I1	  12496 
 I1    X  12497 #ifdef OXOS				/* tst is faster than jsr */
 I1    X  12498 #ifndef IFDEBUG
 I1    X  12499 #define IFDEBUG
 I1    X  12500 #endif /* IFDEBUG */
 I1    X  12501 #endif /* OXOS */
 I1	  12502 
 I1	  12503 #ifndef CKCMAI
 I1	  12504 extern int deblog;
 I1	  12505 extern int debok;
 I1	  12506 extern int debxlen;
 I1	  12507 extern int matchdot;
 I1	  12508 extern int tt_bell;
 I1	  12509 #endif /* CKCMAI */
 I1	  12510 
 I1    X  12511 #ifdef OS2
 I1    X  12512 _PROTOTYP( void bleep, (short) );
 I1    X  12513 #else /* OS2 */
 I1	  12514 #define bleep(x) if(tt_bell)putchar('\07')
 I1	  12515 #endif /* OS2 */
 I1	  12516 
 I1	  12517 #ifndef BEOSORBEBOX
 I1    X  12518 #ifdef BEBOX				/* This was used only for DR7 */
 I1    X  12519 #define BEOSORBEBOX
 I1    X  12520 #else
 I1    X  12521 #ifdef BEOS				/* This is used for BeOS 4.x */
 I1    X  12522 #define BEOSORBEBOX
 I1    X  12523 #endif /* BEOS */
 I1	  12524 #endif /* BEBOX */
 I1	  12525 #endif /* BEOSORBEBOX */
 I1	  12526 
 I1    X  12527 #ifdef NOICP
 I1    X  12528 #ifdef TLOG
 I1    X  12529 #undef TLOG
 I1    X  12530 #endif /* TLOG */
 I1    X  12531 #endif /* NOICP */
 I1	  12532 
 I1	  12533 /* Formats for debug() and tlog() */
 I1	  12534 
 I1	  12535 #define F000 0
 I1	  12536 #define F001 1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 225
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  12537 #define F010 2
 I1	  12538 #define F011 3
 I1	  12539 #define F100 4
 I1	  12540 #define F101 5
 I1	  12541 #define F110 6
 I1	  12542 #define F111 7
 I1	  12543 
 I1    X  12544 #ifdef __linux__
 I1    X  12545 #ifndef LINUX
 I1    X  12546 #define LINUX
 I1    X  12547 #endif /* LINUX */
 I1    X  12548 #ifdef __ANDROID__
 I1    X  12549 #ifndef ANDROID
 I1    X  12550 #define ANDROID
 I1    X  12551 #endif /* ANDROID */
 I1    X  12552 #endif /* __ANDROID__ */
 I1    X  12553 #endif /* __linux__ */
 I1	  12554 
 I1	  12555 /* Platforms where small size is needed */
 I1	  12556 
 I1    X  12557 #ifdef pdp11
 I1    X  12558 #define CK_SMALL
 I1    X  12559 #endif /* pdp11 */
 I1	  12560 
 I1	  12561 /* Can we use realpath()? */
 I1	  12562 
 I1	  12563 #ifndef NOREALPATH
 I1    X  12564 #ifdef pdp11
 I1    X  12565 #define NOREALPATH
 I1    X  12566 #endif /* pdp11 */
 I1	  12567 #endif /* NOREALPATH */
 I1	  12568 
 I1	  12569 #ifndef NOREALPATH
 I1    X  12570 #ifdef UNIX
 I1    X  12571 #ifdef HPUX5
 I1    X  12572 #define NOREALPATH
 I1    X  12573 #else
 I1    X  12574 #ifdef HPUX6
 I1    X  12575 #define NOREALPATH
 I1    X  12576 #else
 I1    X  12577 #ifdef HPUX7
 I1    X  12578 #define NOREALPATH
 I1    X  12579 #else
 I1    X  12580 #ifdef HPUX8
 I1    X  12581 #define NOREALPATH
 I1    X  12582 #else
 I1    X  12583 #ifdef SV68R3V6
 I1    X  12584 #define NOREALPATH
 I1    X  12585 #else
 I1    X  12586 #ifdef XENIX
 I1    X  12587 #define NOREALPATH
 I1    X  12588 #else
 I1    X  12589 #ifdef CK_SCO32V4
 I1    X  12590 #define NOREALPATH
 I1    X  12591 #else
 I1    X  12592 #ifdef CK_SCOV5
 I1    X  12593 #define NOREALPATH

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 226
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12594 #else
 I1    X  12595 #ifdef OSF32
 I1    X  12596 #define NOREALPATH
 I1    X  12597 #else
 I1    X  12598 #ifdef OSF30
 I1    X  12599 #define NOREALPATH
 I1    X  12600 #else
 I1    X  12601 #ifdef ultrix
 I1    X  12602 #define NOREALPATH
 I1    X  12603 #else
 I1    X  12604 #ifdef COHERENT
 I1    X  12605 #define NOREALPATH
 I1    X  12606 #endif /* COHERENT */
 I1    X  12607 #endif /* ultrix */
 I1    X  12608 #endif /* OSF30 */
 I1    X  12609 #endif /* OSF32 */
 I1    X  12610 #endif /* CK_SCOV5 */
 I1    X  12611 #endif /* CK_SCO32V4 */
 I1    X  12612 #endif /* XENIX */
 I1    X  12613 #endif /* SV68R3V6 */
 I1    X  12614 #endif /* HPUX8 */
 I1    X  12615 #endif /* HPUX7 */
 I1    X  12616 #endif /* HPUX6 */
 I1    X  12617 #endif /* HPUX5 */
 I1    X  12618 #endif /* NOREALPATH */
 I1	  12619 
 I1	  12620 #ifndef NOREALPATH
 I1	  12621 #ifndef CKREALPATH
 I1	  12622 #define CKREALPATH
 I1	  12623 #endif /* NOREALPATH */
 I1	  12624 #endif /* CKREALPATH */
 I1	  12625 #endif /* UNIX */
 I1	  12626 
 I1	  12627 #ifdef CKREALPATH
 I1    X  12628 #ifdef OS2ORUNIX
 I1    X  12629 #ifndef CKROOT
 I1    X  12630 #define CKROOT
 I1    X  12631 #endif /* CKROOT */
 I1    X  12632 #endif /* OS2ORUNIX */
 I1	  12633 #endif /* CKREALPATH */
 I1	  12634 
 I1	  12635 /* CKSYMLINK should be set only if we can use readlink() */
 I1	  12636 
 I1    X  12637 #ifdef UNIX
 I1    X  12638 #ifndef NOSYMLINK
 I1    X  12639 #ifndef CKSYMLINK
 I1    X  12640 #define CKSYMLINK
 I1    X  12641 #endif /* NOSYMLINK */
 I1    X  12642 #endif /* CKSYMLINK */
 I1    X  12643 #endif /* UNIX */
 I1	  12644 
 I1	  12645 /* Platforms where we can use lstat() instead of stat() (for symlinks) */
 I1	  12646 /* This should be set only if both lstat() and readlink() are available */
 I1	  12647 
 I1	  12648 #ifndef NOLSTAT
 I1	  12649 #ifndef NOSYMLINK
 I1	  12650 #ifndef USE_LSTAT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 227
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12651 #ifdef UNIX
 I1    X  12652 #ifdef CKSYMLINK
 I1    X  12653 #ifdef SVR4				/* SVR4 has lstat() */
 I1    X  12654 #define USE_LSTAT
 I1    X  12655 #else
 I1    X  12656 #ifdef BSD42				/* 4.2BSD and 4.3BSD have it */
 I1    X  12657 #define USE_LSTAT			/* This should include old HPUXs */
 I1    X  12658 #else
 I1    X  12659 #ifdef BSD44				/* 4.4BSD has it */
 I1    X  12660 #define USE_LSTAT
 I1    X  12661 #else
 I1    X  12662 #ifdef LINUX				/* LINUX has it */
 I1    X  12663 #define USE_LSTAT
 I1    X  12664 #else
 I1    X  12665 #ifdef SUNOS4				/* SunOS has it */
 I1    X  12666 #define USE_LSTAT
 I1    X  12667 #endif /* SUNOS4 */
 I1    X  12668 #endif /* LINUX */
 I1    X  12669 #endif /* BSD44 */
 I1    X  12670 #endif /* BSD42 */
 I1    X  12671 #endif /* SVR4 */
 I1    X  12672 #endif /* CKSYMLINK */
 I1    X  12673 #endif /* UNIX */
 I1	  12674 #endif /* USE_LSTAT */
 I1	  12675 #endif /* NOSYMLINK */
 I1	  12676 #endif /* NOLSTAT */
 I1	  12677 
 I1    X  12678 #ifdef NOLSTAT
 I1    X  12679 #ifdef USE_LSTAT
 I1    X  12680 #undef USE_LSTAT
 I1    X  12681 #endif /* USE_LSTAT */
 I1    X  12682 #endif /* NOLSTAT */
 I1	  12683 
 I1	  12684 #ifndef NOTTYLOCK			/* UNIX systems that have ttylock() */
 I1	  12685 #ifndef USETTYLOCK
 I1    X  12686 #ifdef AIXRS				/* AIX 3.1 and later */
 I1    X  12687 #define USETTYLOCK
 I1    X  12688 #else
 I1    X  12689 #ifdef USE_UU_LOCK			/* FreeBSD or other with uu_lock() */
 I1    X  12690 #define USETTYLOCK
 I1    X  12691 #else
 I1	  12692 /*
 I1	  12693   Prior to 8.0.299 Alpha.08 this was HAVE_BAUDBOY which was added for
 I1	  12694   Red Hat 7.2 in May 2003 but which is no longer supported in Debian and
 I1	  12695   OpenSuse (at least).
 I1	  12696 */
 I1    X  12697 #ifdef HAVE_LOCKDEV
 I1    X  12698 #define USETTYLOCK
 I1    X  12699 #endif /* HAVE_LOCKDEV */
 I1	  12700 #endif /* USE_UU_LOCK */
 I1	  12701 #endif /* AIXRS */
 I1	  12702 #endif /* USETTYLOCK */
 I1	  12703 #endif /* NOTTYLOCK */
 I1	  12704 /* 
 I1	  12705   This could be more inclusive...  But better not to use snprintf() at all,
 I1	  12706   it's hard to find a way to test for its availability without using
 I1	  12707   nonportable preprocessor constructions.  Use ckclib.c: ckmakmsg() or

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 228
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  12708   ckmakxmsg() instead of both sprintf() and snprintf() to squelch compiler
 I1	  12709   warnings and ensure no memory leaks.
 I1	  12710 */  
 I1	  12711 #ifndef HAVE_SNPRINTF                   /* Safe to use snprintf() */
 I1    X  12712 #ifdef HAVE_OPENPTY
 I1    X  12713 #define HAVE_SNPRINTF
 I1    X  12714 #endif  /* HAVE_OPENPTY */
 I1	  12715 #endif  /* HAVE_SNPRINTF */
 I1	  12716 
 I1	  12717 /* Kermit feature selection */
 I1	  12718 
 I1	  12719 #ifndef NOSPL
 I1	  12720 #ifndef NOCHANNELIO			/* Channel-based file i/o package */
 I1	  12721 #ifndef CKCHANNELIO
 I1    X  12722 #ifdef UNIX
 I1    X  12723 #define CKCHANNELIO
 I1    X  12724 #else
 I1    X  12725 #ifdef OS2
 I1    X  12726 #define CKCHANNELIO
 I1    X  12727 #else
 I1	  12728 #ifdef VMS
 I1	  12729 #define CKCHANNELIO
 I1    X  12730 #else
 I1    X  12731 #ifdef STRATUS
 I1    X  12732 #define CKCHANNELIO
 I1    X  12733 #endif /* STRATUS */
 I1    X  12734 #endif /* VMS */
 I1	  12735 #endif /* OS2 */
 I1	  12736 #endif /* UNIX */
 I1	  12737 #endif /* CKCHANNELIO */
 I1	  12738 #endif /* NOCHANNELIO */
 I1	  12739 #endif /* NOSPL */
 I1	  12740 
 I1	  12741 #ifndef NOCKEXEC			/* EXEC command */
 I1	  12742 #ifndef NOPUSH
 I1	  12743 #ifndef CKEXEC
 I1    X  12744 #ifdef UNIX				/* UNIX can do it */
 I1    X  12745 #define CKEXEC
 I1    X  12746 #endif /* UNIX */
 I1	  12747 #endif /* CKEXEC */
 I1	  12748 #endif /* NOPUSH */
 I1	  12749 #endif /* NOCKEXEC */
 I1	  12750 
 I1	  12751 #ifndef NOFAST				/* Fast Kermit protocol by default */
 I1	  12752 #ifndef CK_FAST
 I1    X  12753 #ifdef UNIX
 I1    X  12754 #define CK_FAST
 I1    X  12755 #else
 I1	  12756 #ifdef VMS
 I1	  12757 #define CK_FAST
 I1    X  12758 #else
 I1    X  12759 #ifdef OS2
 I1    X  12760 #define CK_FAST
 I1    X  12761 #endif /* OS2 */
 I1    X  12762 #endif /* VMS */
 I1	  12763 #endif /* UNIX */
 I1	  12764 #endif /* CK_FAST */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 229
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  12765 #endif /* NOFAST */
 I1	  12766 
 I1    X  12767 #ifdef UNIX				/* Transparent print */
 I1    X  12768 #ifndef NOXPRINT
 I1    X  12769 #ifndef XPRINT
 I1    X  12770 #define XPRINT
 I1    X  12771 #endif /* XPRINT */
 I1    X  12772 #endif /* NOXPRINT */
 I1    X  12773 #endif /* UNIX */
 I1	  12774 
 I1	  12775 #ifndef NOHWPARITY			/* Hardware parity */
 I1	  12776 #ifndef HWPARITY
 I1    X  12777 #ifdef SVORPOSIX			/* System V or POSIX can have it */
 I1    X  12778 #define HWPARITY
 I1    X  12779 #else
 I1    X  12780 #ifdef SUNOS41				/* SunOS 4.1 can have it */
 I1    X  12781 #define HWPARITY
 I1    X  12782 #else
 I1    X  12783 #ifdef OS2				/* K95 can have it */
 I1    X  12784 #define HWPARITY
 I1    X  12785 #endif /* OS2 */
 I1	  12786 #endif /* SUNOS41 */
 I1	  12787 #endif /* SVORPOSIX */
 I1	  12788 #endif /* HWPARITY */
 I1	  12789 #endif /* NOHWPARITY */
 I1	  12790 
 I1	  12791 #ifndef NOSTOPBITS			/* Stop-bit selection */
 I1	  12792 #ifndef STOPBITS
 I1    X  12793 #ifdef OS2ORUNIX
 I1    X  12794 /* In Unix really this should only be if CSTOPB is defined. */
 I1    X  12795 /* But we don't know that yet. */
 I1    X  12796 #define STOPBITS
 I1    X  12797 #else
 I1    X  12798 #ifdef TN_COMPORT
 I1    X  12799 #define STOPBITS
 I1    X  12800 #endif /* TN_COMPORT */
 I1	  12801 #endif /* OS2ORUNIX */
 I1	  12802 #endif /* STOPBITS */
 I1	  12803 #endif /* NOSTOPBITS */
 I1	  12804 
 I1    X  12805 #ifdef UNIX
 I1    X  12806 #ifndef NETCMD				/* Can SET NETWORK TYPE COMMAND */
 I1    X  12807 #define NETCMD
 I1    X  12808 #endif /* NETCMD */
 I1    X  12809 #endif /* UNIX */
 I1	  12810 
 I1	  12811 /* Pty support, nonportable, available on a case-by-case basis */
 I1	  12812 
 I1	  12813 #ifndef NOPTY
 I1    X  12814 #ifdef NEXT				/* NeXTSTEP (tested on 3.1)*/
 I1    X  12815 #define NETPTY
 I1    X  12816 #else
 I1    X  12817 #ifdef CK_SCOV5				/* SCO OSR5 (tested on 5.0.5)*/
 I1    X  12818 #define NETPTY
 I1    X  12819 #else
 I1    X  12820 #ifdef QNX				/* QNX (tested on 4.25) */
 I1    X  12821 #define NETPTY

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 230
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12822 #else
 I1    X  12823 #ifdef SINIX                            /* Sinix (tested on 5.42) */
 I1    X  12824 #define NETPTY
 I1    X  12825 #else
 I1    X  12826 #ifdef DGUX540				/* DG/UX 5.4++ (tested on 5.4R4.11) */
 I1    X  12827 #define NETPTY
 I1    X  12828 #else
 I1    X  12829 #ifdef OSF32				/* Digital Unix 3.2 */
 I1    X  12830 #define NETPTY
 I1    X  12831 #else
 I1    X  12832 #ifdef OSF40				/* Digital Unix 4.0 / Tru64 */
 I1    X  12833 #define NETPTY
 I1    X  12834 #else
 I1    X  12835 #ifdef IRIX60				/* IRIX 6.0 (not earlier) */
 I1    X  12836 #define NETPTY
 I1    X  12837 #else
 I1    X  12838 #ifdef HPUX10				/* HPUX 10.00 or later */
 I1    X  12839 #define NETPTY
 I1    X  12840 #ifndef HAVE_PTYTRAP
 I1    X  12841 #define HAVE_PTYTRAP
 I1    X  12842 #endif /* HAVE_PTYTRAP */
 I1    X  12843 #else
 I1    X  12844 #ifdef HPUX9				/* HPUX 9.00 (not earlier) */
 I1    X  12845 #define NETPTY
 I1    X  12846 #ifndef HAVE_PTYTRAP
 I1    X  12847 #define HAVE_PTYTRAP
 I1    X  12848 #endif /* HAVE_PTYTRAP */
 I1    X  12849 #else
 I1    X  12850 #ifdef BSD44				/* BSD44, {Net,Free,Open}BSD */
 I1    X  12851 #define NETPTY
 I1    X  12852 #else
 I1    X  12853 #ifdef BSDI				/* BSDI/OS (tested in 4) */
 I1    X  12854 #define NETPTY
 I1    X  12855 #else
 I1    X  12856 #ifdef SOLARIS				/* Solaris (tested in 2.5) */
 I1    X  12857 #define NETPTY
 I1    X  12858 #else
 I1    X  12859 #ifdef UW7				/* Unixware 7 */
 I1    X  12860 #define NETPTY
 I1    X  12861 #else
 I1    X  12862 #ifdef SUNOS41				/* SunOS (tested in 4.1.3) */
 I1    X  12863 #define NETPTY
 I1    X  12864 #else
 I1    X  12865 #ifdef AIX41				/* AIX 4.1 and later */
 I1    X  12866 #define NETPTY
 I1    X  12867 #else
 I1    X  12868 #ifdef LINUX				/* Linux */
 I1    X  12869 #define NETPTY
 I1    X  12870 #else
 I1    X  12871 #ifdef NT                   /* Windows NT */
 I1	  12872 /* NT only gets PTY support when built with CK_CONPTY as it requires
 I1    X  12873  * a sufficiently new Platform SDK and compiler. */
 I1    X  12874 #ifdef CK_CONPTY
 I1    X  12875 #define NETPTY
 I1    X  12876 #endif /* CK_CONPTY */
 I1    X  12877 #endif /* NT */
 I1	  12878 #endif /* LINUX */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 231
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  12879 #endif /* AIX41 */
 I1	  12880 #endif /* SUNOS41 */
 I1	  12881 #endif /* UW7 */
 I1	  12882 #endif /* SOLARIS */
 I1	  12883 #endif /* BSDI */
 I1	  12884 #endif /* BSD44 */
 I1	  12885 #endif /* HPUX9 */
 I1	  12886 #endif /* HPUX10 */
 I1	  12887 #endif /* IRIX60 */
 I1	  12888 #endif /* OSF40 */
 I1	  12889 #endif /* OSF32 */
 I1	  12890 #endif /* DGUX540 */
 I1	  12891 #endif /* SINIX */
 I1	  12892 #endif /* QNX */
 I1	  12893 #endif /* CK_SCOV5 */
 I1	  12894 #endif /* NEXT */
 I1	  12895 
 I1    X  12896 #else /* NOPTY */
 I1    X  12897 
 I1    X  12898 #ifdef NETPTY
 I1    X  12899 #undef NETPTY
 I1    X  12900 #endif /* NETPTY */
 I1    X  12901 #endif /* NOPTY */
 I1	  12902 
 I1    X  12903 #ifdef NETPTY                           /* NETCMD required for NETPTY */
 I1    X  12904 #ifndef NETCMD
 I1    X  12905 #define NETCMD
 I1    X  12906 #endif /* NETCMD */
 I1    X  12907 
 I1    X  12908 #ifndef NO_OPENPTY			/* Can use openpty() */
 I1    X  12909 #ifndef HAVE_OPENPTY
 I1    X  12910 #ifdef __linux__
 I1    X  12911 #define HAVE_OPENPTY
 I1    X  12912 #else
 I1    X  12913 #ifdef __FreeBSD__
 I1    X  12914 #define HAVE_OPENPTY
 I1    X  12915 #else
 I1    X  12916 #ifdef __OpenBSD__
 I1    X  12917 #define HAVE_OPENPTY
 I1    X  12918 #else
 I1    X  12919 #ifdef __NetBSD__
 I1    X  12920 #define HAVE_OPENPTY
 I1    X  12921 #include <util.h>
 I1    X  12922 #else
 I1    X  12923 #ifdef MACOSX10
 I1    X  12924 #define HAVE_OPENPTY
 I1    X  12925 #endif	/* MACOSX10 */
 I1    X  12926 #endif	/* __NetBSD__ */
 I1    X  12927 #endif	/* __OpenBSD__ */
 I1    X  12928 #endif	/* __FreeBSD__ */
 I1    X  12929 #endif	/* __linux__ */
 I1    X  12930 #endif	/* HAVE_OPENPTY */
 I1    X  12931 #endif	/* NO_OPENPTY */
 I1    X  12932 /*
 I1    X  12933   This needs to be expanded and checked.
 I1    X  12934   The makefile assumes the library (at least for all linuxes)
 I1    X  12935   is always libutil but I've only verified it for a few.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 232
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12936   If a build fails because
 I1    X  12937 */
 I1    X  12938 #ifdef HAVE_OPENPTY
 I1    X  12939 #ifdef __linux__
 I1    X  12940 #include <pty.h>
 I1    X  12941 #else
 I1    X  12942 #ifdef __NetBSD__
 I1    X  12943 #include <util.h>
 I1    X  12944 #else
 I1    X  12945 #ifdef __OpenBSD__
 I1    X  12946 #include <util.h>
 I1    X  12947 #else
 I1    X  12948 #ifdef __FreeBSD__
 I1    X  12949 #include <libutil.h>
 I1    X  12950 #else
 I1    X  12951 #ifdef MACOSX
 I1    X  12952 #include <util.h>
 I1    X  12953 #else
 I1    X  12954 #ifdef QNX
 I1    X  12955 #include <unix.h>
 I1    X  12956 #endif  /* QNX */
 I1    X  12957 #endif  /* MACOSX */
 I1    X  12958 #endif  /* __FreeBSD__ */
 I1    X  12959 #endif  /* __OpenBSD__ */
 I1    X  12960 #endif  /* __NetBSD__ */
 I1    X  12961 #endif  /* __linux__ */
 I1    X  12962 #endif  /* HAVE_OPENPTY */
 I1    X  12963 #endif /* NETPTY */
 I1	  12964 
 I1	  12965 #ifndef CK_UTSNAME			/* Can we call uname()? */
 I1	  12966 #ifdef VMS
 I1	  12967 #define CK_UTSNAME
 I1    X  12968 #else
 I1    X  12969 #ifdef OS2
 I1    X  12970 #define CK_UTSNAME
 I1    X  12971 #else
 I1    X  12972 #ifdef POSIX				/* It's in POSIX.1 */
 I1    X  12973 #define CK_UTSNAME
 I1    X  12974 #else
 I1    X  12975 #ifdef SUNOS41				/* It's in SunOS 4.1 */
 I1    X  12976 #define CK_UTSNAME
 I1    X  12977 #else
 I1    X  12978 #ifdef AIXRS				/* It's in AIX */
 I1    X  12979 #define CK_UTSNAME
 I1    X  12980 #else
 I1    X  12981 #ifdef SVR4				/* It's in SVR4 (but not SVR3) */
 I1    X  12982 #define CK_UTSNAME
 I1    X  12983 #else
 I1    X  12984 #ifdef HPUX				/* It's in HP-UX 5.00 and later */
 I1    X  12985 #define CK_UTSNAME
 I1    X  12986 #else
 I1    X  12987 #ifdef OSF				/* It's in OSF/1 / Digital UNIX */
 I1    X  12988 #define CK_UTSNAME
 I1    X  12989 #else
 I1    X  12990 #ifdef CK_SCOV5
 I1    X  12991 #define CK_UTSNAME
 I1    X  12992 #endif /* CK_SCOV5 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 233
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  12993 #endif /* OSF */
 I1    X  12994 #endif /* HPUX */
 I1    X  12995 #endif /* SVR4 */
 I1    X  12996 #endif /* AIXRS */
 I1    X  12997 #endif /* SUNOS41 */
 I1    X  12998 #endif /* POSIX */
 I1    X  12999 #endif /* OS2 */
 I1    X  13000 #endif /* VMS */
 I1	  13001 #endif /* CK_UTSNAME */
 I1	  13002 
 I1	  13003 /* This section for anything that might use floating-point */
 I1	  13004 
 I1	  13005 /* If the following causes trouble use -DFLOAT=float on the command line */
 I1	  13006 
 I1    X  13007 #ifdef NOSPL
 I1    X  13008 #ifdef FNFLOAT
 I1    X  13009 #undef FNFLOAT
 I1    X  13010 #endif /* FNFLOAT */
 I1    X  13011 #ifdef CKFLOAT
 I1    X  13012 #undef CKFLOAT
 I1    X  13013 #endif /* CKFLOAT */
 I1    X  13014 #endif /* NOSPL */
 I1	  13015 
 I1	  13016 #ifndef NOFLOAT
 I1	  13017 
 I1	  13018 #ifndef CKFLOAT
 I1    X  13019 #ifdef __alpha
 I1    X  13020 /* Don't use double on 64-bit platforms -- bad things happen */
 I1    X  13021 #define CKFLOAT float
 I1    X  13022 #define CKFLOAT_S "float"
 I1    X  13023 #else
 I1	  13024 #define CKFLOAT double
 I1	  13025 #define CKFLOAT_S "double"
 I1	  13026 #endif /* __alpha */
 I1	  13027 #endif /* CKFLOAT */
 I1	  13028 
 I1	  13029 #ifndef NOGFTIMER			/* Floating-point timers */
 I1	  13030 #ifndef GFTIMER
 I1    X  13031 #ifdef UNIX				/* For UNIX */
 I1    X  13032 #define GFTIMER
 I1    X  13033 #endif /* UNIX */
 I1	  13034 #ifdef VMS				/* VMS */
 I1	  13035 #ifndef OLD_VMS				/* 5.0 and later */
 I1	  13036 #define GFTIMER
 I1	  13037 #endif /* OLD_VMS */
 I1	  13038 #endif /* VMS */
 I1    X  13039 #ifdef OS2				/* And K95 */
 I1    X  13040 #define GFTIMER
 I1    X  13041 #endif /* OS2 */
 I1    X  13042 #ifdef STRATUS				/* And Stratus VOS */
 I1    X  13043 #define GFTIMER
 I1    X  13044 #endif /* STRATUS */
 I1	  13045 #endif /* GFTIMER */
 I1	  13046 #endif /* NOGFTIMER */
 I1	  13047 
 I1	  13048 #ifndef NOSPL
 I1	  13049 #ifndef FNFLOAT				/* Floating-point math functions */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 234
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13050 #ifdef VMS				/* defined by default in VMS */
 I1	  13051 #define FNFLOAT
 I1    X  13052 #else
 I1    X  13053 #ifdef OS2				/* and K95 */
 I1    X  13054 #define FNFLOAT
 I1    X  13055 #endif /* OS2 */
 I1    X  13056 #endif /* VMS */
 I1	  13057 #endif /* FNFLOAT */
 I1	  13058 #endif /* NOSPL */
 I1	  13059 
 I1    X  13060 #else  /* NOFLOAT is defined */
 I1    X  13061 
 I1    X  13062 #ifdef CKFLOAT
 I1    X  13063 #undef CKFLOAT
 I1    X  13064 #endif /* CKFLOAT */
 I1    X  13065 
 I1    X  13066 #ifdef GFTIMER
 I1    X  13067 #undef GFTIMER
 I1    X  13068 #endif /* GFTIMER */
 I1    X  13069 
 I1    X  13070 #ifdef FNFLOAT
 I1    X  13071 #undef FNFLOAT
 I1    X  13072 #endif /* FNFLOAT */
 I1    X  13073 
 I1    X  13074 #endif /* NOFLOAT */
 I1	  13075 
 I1	  13076 #ifdef GFTIMER				/* Fraction of second to use when */
 I1	  13077 #ifndef GFMINTIME			/* elapsed time is <= 0 */
 I1	  13078 #define GFMINTIME 0.005
 I1	  13079 #endif /* GFMINTIME */
 I1	  13080 #endif /* GFTIMER */
 I1	  13081 
 I1	  13082 #ifndef CKCMAI
 I1	  13083 extern long ztmsec, ztusec;		/* Fraction of sec of current time */
 I1	  13084 #endif /* CKCMAI */
 I1	  13085 
 I1	  13086 #ifndef NOUNPREFIXZERO			/* Allow unprefixing of NUL (0) */
 I1	  13087 #ifndef UNPREFIXZERO			/* in file-transfer packets */
 I1	  13088 #define UNPREFIXZERO
 I1	  13089 #endif /* UNPREFIXZERO */
 I1	  13090 #endif /* NOUNPREFIXZERO */
 I1	  13091 
 I1    X  13092 #ifdef CK_SMALL
 I1    X  13093 #define NOCAL				/* Calibrate */
 I1    X  13094 #endif /* CK_SMALL */
 I1	  13095 
 I1	  13096 #ifndef NOPATTERNS			/* Filetype matching patterns */
 I1	  13097 #ifndef PATTERNS
 I1    X  13098 #ifndef VMS
 I1    X  13099 #ifndef CK_SMALL
 I1    X  13100 #define PATTERNS
 I1    X  13101 #endif /* CK_SMALL */
 I1    X  13102 #endif /* VMS */
 I1	  13103 #endif /* PATTERNS */
 I1	  13104 #endif /* NOPATTERNS */
 I1	  13105 
 I1	  13106 #ifndef NOCAL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 235
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13107 #ifndef CALIBRATE
 I1	  13108 #define CALIBRATE
 I1	  13109 #endif /* CALIBRATE */
 I1    X  13110 #else
 I1    X  13111 #ifdef CALIBRATE
 I1    X  13112 #undef CALIBRATE
 I1    X  13113 #endif /* CALIBRATE */
 I1    X  13114 #endif /* NOCAL */
 I1	  13115 
 I1	  13116 #ifndef NORECURSE			/* Recursive directory traversal */
 I1	  13117 #ifndef RECURSIVE
 I1	  13118 #ifdef VMS
 I1	  13119 #define RECURSIVE
 I1    X  13120 #else
 I1    X  13121 #ifdef OS2ORUNIX
 I1    X  13122 #ifndef CK_SMALL
 I1    X  13123 #define RECURSIVE
 I1    X  13124 #endif /* CK_SMALL */
 I1    X  13125 #else
 I1    X  13126 #ifdef STRATUS
 I1    X  13127 #define RECURSIVE
 I1    X  13128 #else
 I1    X  13129 #ifdef OSK
 I1    X  13130 #define RECURSIVE
 I1    X  13131 #endif /* OSK */
 I1    X  13132 #endif /* STRATUS */
 I1    X  13133 #endif /* OS2ORUNIX */
 I1    X  13134 #endif /* VMS */
 I1	  13135 #endif /* RECURSIVE */
 I1	  13136 #endif /* NORECURSE */
 I1	  13137 
 I1	  13138 #ifndef CK_SMALL			/* Enable file-transfer tuning code */
 I1	  13139 #ifndef CKTUNING			/* in which more code is added */
 I1	  13140 #ifndef NOTUNING			/* to avoid function calls, etc */
 I1	  13141 #define CKTUNING
 I1	  13142 #endif /* NOTUNING */
 I1	  13143 #endif /* CKTUNING */
 I1	  13144 #endif /* CK_SMALL */
 I1	  13145 
 I1	  13146 #ifndef NOURL				/* Parse URLs in SET HOST, etc */
 I1	  13147 #define CK_URL
 I1	  13148 #define NO_FTP_AUTH                     /* No auth "ftp" / "anonymous" */
 I1	  13149 #endif /* NOURL */
 I1	  13150 
 I1	  13151 #ifndef NOTRIGGER
 I1	  13152 #ifndef CK_TRIGGER			/* Trigger string to exit CONNECT */
 I1    X  13153 #ifdef OS2ORUNIX			/* OK for UNIX and K95 */
 I1    X  13154 #define CK_TRIGGER
 I1    X  13155 #else
 I1	  13156 #ifdef VMS				/* and VMS */
 I1	  13157 #define CK_TRIGGER
 I1    X  13158 #else
 I1    X  13159 #ifdef datageneral			/* and AOS/VS */
 I1    X  13160 #define CK_TRIGGER
 I1    X  13161 #endif /* datageneral */
 I1    X  13162 #endif /* OS2ORUNIX */
 I1	  13163 #endif /* VMS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 236
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13164 #endif /* CK_TRIGGER */
 I1	  13165 #endif /* NOTRIGGER */
 I1	  13166 
 I1	  13167 #ifdef CK_TRIGGER
 I1	  13168 #define TRIGGERS 8			/* How many triggers allowed */
 I1	  13169 #endif /* CK_TRIGGER */
 I1	  13170 
 I1	  13171 #ifndef XLIMITS				/* CONNECT limits */
 I1    X  13172 #ifdef OS2
 I1    X  13173 #define XLIMITS
 I1    X  13174 #endif /* OS2 */
 I1	  13175 #endif /* XLIMITS */
 I1	  13176 
 I1    X  13177 #ifdef NOFRILLS
 I1    X  13178 #ifndef NOBROWSER
 I1    X  13179 #define NOBROWSER
 I1    X  13180 #endif /* NOBROWSER */
 I1    X  13181 #ifndef NOFTP
 I1    X  13182 #define NOFTP
 I1    X  13183 #endif /* NOFTP */
 I1    X  13184 #endif /* NOFRILLS */
 I1	  13185 
 I1	  13186 #ifndef NOHTTP				/* HTTP features need... */
 I1    X  13187 #ifdef NOICP				/* an interactive command parser */
 I1    X  13188 #define NOHTTP
 I1    X  13189 #endif /* NOICP */
 I1    X  13190 #ifndef VMS
 I1    X  13191 #ifndef OS2ORUNIX			/* K95 or UNIX (because of */
 I1    X  13192 #define NOHTTP				/* time functions, time_t, etc) */
 I1    X  13193 #endif /* OS2ORUNIX */
 I1    X  13194 #endif /* VMS */
 I1	  13195 #endif /* NOHTTP */
 I1	  13196 
 I1	  13197 
 I1	  13198 #ifndef NONET
 I1	  13199 #ifdef TCPSOCKET
 I1	  13200 
 I1	  13201 /* The HTTP code is not very portable, so it must be asked for with -DCKHTTP */
 I1	  13202 
 I1	  13203 #ifndef NOHTTP
 I1	  13204 #ifndef CKHTTP
 I1    X  13205 #ifdef SUNOS4				/* We can use it in SunOS */
 I1    X  13206 #define CKHTTP
 I1    X  13207 #endif /* SUNOS4 */
 I1    X  13208 #ifdef SOLARIS				/* And in Solaris */
 I1    X  13209 #define CKHTTP
 I1    X  13210 #endif /* SOLARIS */
 I1    X  13211 #ifdef LINUX				/* And Linux */
 I1    X  13212 #define CKHTTP
 I1    X  13213 #endif /* LINUX */
 I1    X  13214 #ifdef HPUX10				/* And HP-UX 10 and above */
 I1    X  13215 #define CKHTTP
 I1    X  13216 #endif /* HPUX10 */
 I1    X  13217 #ifdef OS2				/* And in K-95 */
 I1    X  13218 #define CKHTTP
 I1    X  13219 #endif /* OS2 */
 I1    X  13220 #ifdef AIX41				/* In AIX 4.1 and higher */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 237
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13221 #define CKHTTP
 I1    X  13222 #endif /* AIX41 */
 I1    X  13223 #ifdef UNIXWARE				/* In Unixware 2.1 and higher */
 I1    X  13224 #define CKHTTP				/* and probably also in 1.x and 2.0 */
 I1    X  13225 #endif /* UNIXWARE */
 I1    X  13226 #ifdef CK_SCOV5
 I1    X  13227 #define CKHTTP
 I1    X  13228 #endif /* CK_SCOV5 */
 I1    X  13229 #ifdef OSF                              /* And in OSF Digital UNIX/True 64 */
 I1    X  13230 #define CKHTTP
 I1    X  13231 #endif /* OSF */
 I1    X  13232 #ifdef ultrix                           /* And in Ultrix Mips */
 I1    X  13233 #ifdef mips
 I1    X  13234 #define CKHTTP
 I1    X  13235 #endif /* mips */
 I1    X  13236 #endif /* ultrix */
 I1    X  13237 #ifdef __NetBSD__			/* NetBSD */
 I1    X  13238 #define CKHTTP
 I1    X  13239 #endif	/* __NetBSD__ */
 I1    X  13240 #ifdef __FreeBSD__
 I1    X  13241 #define CKHTTP
 I1    X  13242 #endif	/* __FreeBSD__ */
 I1    X  13243 #ifdef __OpenBSD__
 I1    X  13244 #define CKHTTP
 I1    X  13245 #endif	/* __OpenBSD__ */
 I1	  13246 /* Add more here... */
 I1	  13247 #endif /* CKHTTP */
 I1	  13248 #ifndef CKHTTP				/* If CKHTTP not defined yet */
 I1	  13249 #define NOHTTP				/* then define NOHTTP */
 I1	  13250 #endif /* CKHTTP */
 I1	  13251 #endif /* NOHTTP */
 I1	  13252 
 I1	  13253 #ifdef NETCONN				/* Special "network" types... */
 I1	  13254 #ifndef NOLOCAL
 I1    X  13255 #ifdef OS2
 I1    X  13256 #ifndef NETFILE
 I1    X  13257 #define NETFILE
 I1    X  13258 #endif /* NETFILE */
 I1    X  13259 #ifndef NOPUSH
 I1    X  13260 #ifndef NETCMD
 I1    X  13261 #define NETCMD
 I1    X  13262 #endif /* NETCMD */
 I1    X  13263 #endif /* NOPUSH */
 I1    X  13264 #ifdef NT
 I1    X  13265 #ifndef NETDLL
 I1    X  13266 #define NETDLL
 I1    X  13267 #endif /* NETDLL */
 I1    X  13268 #endif /* NT */
 I1    X  13269 #endif /* OS2 */
 I1	  13270 #endif /* NOLOCAL */
 I1	  13271 #endif /* NETCONN */
 I1	  13272 
 I1	  13273 #ifndef NOFTP
 I1	  13274 #ifndef SYSFTP
 I1    X  13275 #ifndef NEWFTP
 I1    X  13276 #ifdef OS2ORUNIX
 I1    X  13277 #define NEWFTP

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 238
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13278 #endif /* OS2ORUNIX */
 I1    X  13279 #endif /* NEWFTP */
 I1	  13280 #endif /* SYSFTP */
 I1	  13281 #endif /* NOFTP */
 I1	  13282 
 I1	  13283 #ifndef NOFTP
 I1	  13284 #ifdef NEWFTP
 I1    X  13285 #ifdef SYSFTP
 I1    X  13286 #undef SYSFTP
 I1    X  13287 #endif /* SYSFTP */
 I1    X  13288 #else /* NEWFTP */
 I1    X  13289 #ifndef SYSFTP
 I1    X  13290 #define SYSFTP
 I1    X  13291 #endif /* SYSFTP */
 I1    X  13292 #endif /* NEWFTP */
 I1    X  13293 #else /* NOFTP */
 I1    X  13294 #ifdef NEWFTP
 I1    X  13295 #undef NEWFTP
 I1    X  13296 #endif /* NEWFTP */
 I1    X  13297 #ifdef SYSFTP
 I1    X  13298 #undef SYSFTP
 I1    X  13299 #endif /* SYSFTP */
 I1    X  13300 #endif /* NOFTP */
 I1	  13301 
 I1	  13302 #ifndef NOBROWSER
 I1    X  13303 #ifdef UNIX
 I1    X  13304 #ifndef BROWSER
 I1    X  13305 #ifndef NOPUSH
 I1    X  13306 #define BROWSER
 I1    X  13307 #endif /* NOPUSH */
 I1    X  13308 #endif /* BROWSER */
 I1    X  13309 #endif /* UNIX */
 I1    X  13310 #ifdef OS2
 I1    X  13311 #ifndef BROWSER
 I1    X  13312 #ifndef NOPUSH
 I1    X  13313 #define BROWSER
 I1    X  13314 #endif /* NOPUSH */
 I1    X  13315 #endif /* BROWSER */
 I1    X  13316 #endif /* OS2 */
 I1    X  13317 #else
 I1    X  13318 #ifdef BROWSER
 I1    X  13319 #undef BROWSER
 I1    X  13320 #endif /* BROWSER */
 I1    X  13321 #endif /* NOBROWSER */
 I1	  13322 
 I1    X  13323 #else /* TCPSOCKET */
 I1    X  13324 #ifndef NOHTTP                          /* HTTP requires TCPSOCKET */
 I1    X  13325 #define NOHTTP
 I1    X  13326 #endif /* NOHTTP */
 I1    X  13327 #endif /* TCPSOCKET */
 I1	  13328 #endif /* NONET */
 I1	  13329 
 I1	  13330 #ifdef TCPSOCKET
 I1	  13331 #ifndef NOCKGETFQHOST
 I1	  13332 #ifdef __ia64__
 I1	  13333 #define NOCKGETFQHOST
 I1    X  13334 #else  /* __ia64__ */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 239
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13335 #ifdef SV68
 I1    X  13336 #define NOCKGETFQHOST
 I1    X  13337 #else
 I1    X  13338 #ifdef HPUXPRE65
 I1    X  13339 #define NOCKGETFQHOST
 I1    X  13340 #endif /* HPUXPRE65 */
 I1    X  13341 #endif /* SV68 */
 I1    X  13342 #endif /* __ia64 */
 I1	  13343 #endif /* NOCKGETFQHOST */
 I1	  13344 /*
 I1	  13345   Regarding System V/68 (SV68) (from Gerry Belanger, Oct 2002):
 I1	  13346 
 I1	  13347     1) The gethostbyname() appears to return the actual host IP
 I1	  13348        address in the hostent struct, instead of the expected pointer
 I1	  13349        to the address. Hence the bogus address in the bcopy/memcopy.
 I1	  13350        This is despite the header agreeing with our expectations.
 I1	  13351 
 I1	  13352     2) the expected argument swap between bcopy and memcopy
 I1	  13353        did not happen.  What grief this might cause, I know not.
 I1	  13354 */
 I1	  13355 #endif /* TCPSOCKET */
 I1	  13356 
 I1	  13357 #ifdef TCPSOCKET
 I1    X  13358 #ifdef OS2ONLY
 I1    X  13359 #ifndef NOSOCKS
 I1    X  13360 #define NOSOCKS
 I1    X  13361 #endif /* NOSOCKS */
 I1    X  13362 #endif /* OS2ONLY */
 I1    X  13363 #ifdef NOSOCKS
 I1    X  13364 #ifdef CK_SOCKS
 I1    X  13365 #undef CK_SOCKS
 I1    X  13366 #endif /* CK_SOCKS */
 I1    X  13367 #ifdef CK_SOCKS5
 I1    X  13368 #undef CK_SOCKS5
 I1    X  13369 #endif /* CK_SOCKS5 */
 I1    X  13370 #else /* NOSOCKS */
 I1    X  13371 #ifdef NT
 I1    X  13372 #ifndef CK_SOCKS
 I1    X  13373 #define CK_SOCKS
 I1    X  13374 #endif /* CK_SOCKS */
 I1    X  13375 #endif /* NT */
 I1    X  13376 #ifdef CK_SOCKS5			/* CK_SOCKS5 implies CK_SOCKS */
 I1    X  13377 #ifndef CK_SOCKS
 I1    X  13378 #define CK_SOCKS
 I1    X  13379 #endif /* CK_SOCKS */
 I1    X  13380 #endif /* CK_SOCKS5 */
 I1	  13381 #endif /* NOSOCKS */
 I1	  13382 #endif /* TCPSOCKET */
 I1	  13383 
 I1	  13384 #ifdef TNCODE
 I1	  13385 #ifndef CK_AUTHENTICATION
 I1    X  13386 #ifdef OS2
 I1    X  13387 #ifdef _M_PPC
 I1    X  13388 #define NO_KERBEROS
 I1    X  13389 #define NO_SRP
 I1    X  13390 #else /* _M_PPC */
 I1    X  13391 #ifndef NO_SSL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 240
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13392 #define CK_SSL
 I1    X  13393 /*#define SSLDLL*/  /* OpenSSL included at link time now - [jt] 2013/11/21 */
 I1    X  13394 #endif /* NO_SSL */
 I1    X  13395 #endif /* _M_PPC */
 I1    X  13396 #ifndef NO_KERBEROS
 I1    X  13397 #define CK_KERBEROS
 I1    X  13398 #define KRB4
 I1    X  13399 #define KRB5
 I1    X  13400 #define KRB524
 I1    X  13401 #define KRB524_CONV
 I1    X  13402 #ifdef NT
 I1    X  13403 #ifndef _M_PPC
 I1    X  13404 #ifndef _M_ALPHA
 I1    X  13405 #ifndef NO_SSL_KRB5
 I1    X  13406 #define SSL_KRB5
 I1    X  13407 #endif /* NO_SSL_KRB5 */
 I1    X  13408 #endif /* _M_ALPHA */
 I1    X  13409 #endif /* _M_PPC */
 I1    X  13410 #endif /* NT */
 I1    X  13411 #endif /* NO_KERBEROS */
 I1    X  13412 #ifndef NO_SRP
 I1    X  13413 #define CK_SRP
 I1    X  13414 #endif /* NO_SRP */
 I1    X  13415 #define CK_AUTHENTICATION
 I1    X  13416 #endif /* OS2 */
 I1	  13417 #endif /* CK_AUTHENTICATION */
 I1	  13418 
 I1    X  13419 #ifdef CK_AUTHENTICATION		/* Encryption must have Auth */
 I1    X  13420 #ifndef CK_ENCRYPTION
 I1    X  13421 #ifndef NO_ENCRYPTION
 I1    X  13422 #ifdef OS2
 I1    X  13423 #define CK_ENCRYPTION
 I1    X  13424 #define CK_DES
 I1    X  13425 #define CK_CAST
 I1    X  13426 #endif /* OS2 */
 I1    X  13427 #endif /* NO_ENCRYPTION */
 I1    X  13428 #endif /* CK_ENCRYPTION */
 I1    X  13429 #endif /* CK_AUTHENTICATION */
 I1	  13430 
 I1    X  13431 #ifdef NO_AUTHENTICATION                /* Allow authentication to be */
 I1    X  13432 #ifdef CK_AUTHENTICATION                /* disabled in NT and OS/2    */
 I1    X  13433 #undef CK_AUTHENTICATION
 I1    X  13434 #endif /* CK_AUTHENTICATION */
 I1    X  13435 #ifdef CK_KERBEROS
 I1    X  13436 #undef CK_KERBEROS
 I1    X  13437 #endif /* CK_KERBEROS */
 I1    X  13438 #ifdef CK_SRP
 I1    X  13439 #undef CK_SRP
 I1    X  13440 #endif /* CK_SRP */
 I1    X  13441 #ifdef CK_ENCRYPTION
 I1    X  13442 #undef CK_ENCRYPTION
 I1    X  13443 #endif /* CK_ENCRYPTION */
 I1    X  13444 #endif /* NO_AUTHENTICATION */
 I1	  13445 
 I1    X  13446 #ifdef NO_ENCRYPTION                    /* Allow encryption to be */
 I1    X  13447 #ifdef CK_ENCRYPTION                    /* disabled in NT and OS/2 */
 I1    X  13448 #undef CK_ENCRYPTION

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 241
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13449 #endif /* CK_ENCRYPTION */
 I1    X  13450 #endif /* NO_ENCRYPTION */
 I1	  13451 
 I1    X  13452 #ifdef CK_KERBEROS      /* Disable funcs not yet supported with Heimdal */
 I1    X  13453 #ifdef KRB5
 I1    X  13454 #ifndef HEIMDAL
 I1    X  13455 #define KRB5_U2U
 I1    X  13456 #endif /* HEIMDAL */
 I1    X  13457 #endif /* KRB5 */
 I1    X  13458 #endif /* CK_KERBEROS */
 I1	  13459 
 I1	  13460 /*
 I1	  13461   SSH section.  NOSSH disables any form of SSH support.
 I1	  13462   If NOSSH is not defined (or implied by NONET, NOLOCAL, etc)
 I1	  13463   then SSHBUILTIN is defined for K95/CKW and SSHCMD is defined for UNIX.
 I1	  13464   Then, if either SSHBUILTIN or SSHCMD is defined, ANYSSH is also defined.
 I1	  13465 */
 I1    X  13466 #ifdef COMMENT
 I1    X  13467 #undef COMMENT /* The OS/2 headers define this for some insane reason */
 I1    X  13468 #endif /* COMMENT */
 I1	  13469 
 I1    X  13470 #ifdef COMMENT
 I1	  13471 /*
 I1	  13472   Built-in SSH no longer depends on SSL support. Built-in SSH is now provided 
 I1	  13473   by a library (libssh, ssh.dll) which is itself linked against OpenSSL.
 I1    X  13474 */
 I1    X  13475 #ifndef NOSSH
 I1    X  13476 #ifndef NO_SSL
 I1    X  13477 #ifdef OS2ONLY
 I1    X  13478 #define NOSSH
 I1    X  13479 #endif /* OS2ONLY */
 I1    X  13480 #ifdef NT
 I1    X  13481 #ifndef CK_SSL
 I1    X  13482 #define NOSSH
 I1    X  13483 #endif /* CK_SSL */
 I1    X  13484 #endif /* NT */
 I1    X  13485 #else /* NO_SSL */
 I1    X  13486 #define NOSSH
 I1    X  13487 #endif /* NO_SSL */
 I1    X  13488 #endif /* NOSSH */
 I1    X  13489 #endif /* COMMENT */
 I1	  13490 
 I1    X  13491 #ifdef NOSSH				/* NOSSH */
 I1    X  13492 #ifdef SSHBUILTIN			/* undefines any SSH selctors */
 I1    X  13493 #undef SSHBUILTIN
 I1    X  13494 #endif /* SSHBUILTIN */
 I1    X  13495 #ifdef SFTP_BUILTIN
 I1    X  13496 #undef SFTP_BUILTIN
 I1    X  13497 #endif /* SFTP_BUILTIN */
 I1    X  13498 #ifdef SSHCMD
 I1    X  13499 #undef SSHCMD
 I1    X  13500 #endif /* SSHCMD */
 I1    X  13501 #ifdef ANYSSH
 I1    X  13502 #undef ANYSSH
 I1    X  13503 #endif /* ANYSSH */
 I1    X  13504 
 I1    X  13505 #else  /* Not NOSSH */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 242
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13506 
 I1	  13507 #ifndef NOLOCAL
 I1    X  13508 #ifdef OS2
 I1    X  13509 #ifndef SSHBUILTIN
 I1    X  13510 #define SSHBUILTIN
 I1    X  13511 #endif /* SSHBUILTIN */
 I1    X  13512 #else  /* Not OS2 */
 I1    X  13513 #ifdef UNIX
 I1    X  13514 #ifndef SSHCMD
 I1    X  13515 #ifdef NETPTY
 I1    X  13516 #ifndef NOPUSH
 I1    X  13517 #define SSHCMD
 I1    X  13518 #endif /* NOPUSH */
 I1    X  13519 #endif /* NETPTY */
 I1    X  13520 #endif /* SSHCMD */
 I1    X  13521 #endif /* UNIX */
 I1	  13522 #endif /* OS2 */
 I1	  13523 
 I1	  13524 #ifndef ANYSSH
 I1    X  13525 #ifdef SSHBUILTIN
 I1    X  13526 #define ANYSSH
 I1    X  13527 #ifdef SSHCMD
 I1    X  13528 #undef SSHCMD
 I1    X  13529 #endif /* SSHCMD */
 I1    X  13530 #else  /* SSHBUILTIN */
 I1    X  13531 #ifdef SSHCMD
 I1    X  13532 #define ANYSSH
 I1    X  13533 #endif /* SSHCMD */
 I1	  13534 #endif /* SSHBUILTIN */
 I1	  13535 #endif /* ANYSSH */
 I1	  13536 #endif /* NOLOCAL */
 I1	  13537 #endif /* NOSSH */
 I1	  13538 
 I1	  13539 /* This is in case #ifdef SSH is used anywhere in the K95 modules */
 I1	  13540 
 I1    X  13541 #ifdef OS2
 I1    X  13542 #ifdef SSHBUILTIN
 I1    X  13543 #ifndef SSH
 I1    X  13544 #define SSH
 I1    X  13545 #endif /* SSH */
 I1    X  13546 #endif /* SSHBUILTIN */
 I1    X  13547 #endif /* OS2 */
 I1	  13548 
 I1    X  13549 #ifdef CK_AUTHENTICATION
 I1    X  13550 #define CK_SECURITY
 I1    X  13551 #else
 I1	  13552 #ifdef CK_SSL
 I1	  13553 #define CK_AUTHENTICATION
 I1	  13554 #define CK_SECURITY
 I1	  13555 #endif /* CK_SSL */
 I1	  13556 #endif /* CK_AUTHENTICATION */
 I1	  13557 
 I1	  13558 /* Environment stuff */
 I1	  13559 
 I1	  13560 #ifndef OS2ORUNIX
 I1	  13561 #ifndef NOPUTENV
 I1	  13562 #define NOPUTENV

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 243
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13563 #endif /* NOPUTENV */
 I1	  13564 #endif /* OS2ORUNIX */
 I1	  13565 
 I1	  13566 #ifndef CK_ENVIRONMENT
 I1    X  13567 #ifdef OS2
 I1    X  13568 #define CK_ENVIRONMENT
 I1    X  13569 #else
 I1    X  13570 #ifdef UNIX
 I1    X  13571 #define CK_ENVIRONMENT
 I1    X  13572 #else
 I1    X  13573 #ifdef STRATUS
 I1    X  13574 #define CK_ENVIRONMENT
 I1    X  13575 #else
 I1	  13576 #ifdef VMS
 I1	  13577 #define CK_ENVIRONMENT
 I1	  13578 #endif /* VMS */
 I1	  13579 #endif /* STRATUS */
 I1	  13580 #endif /* UNIX */
 I1	  13581 #endif /* OS2 */
 I1	  13582 #endif /* CK_ENVIRONMENT */
 I1	  13583 #ifndef NOSNDLOC			/* RFC 779 SEND LOCATION */
 I1	  13584 #ifndef CK_SNDLOC
 I1	  13585 #define CK_SNDLOC
 I1	  13586 #endif /* CK_SNDLOC */
 I1	  13587 #endif /* NOSNDLOC */
 I1	  13588 #ifndef NOXDISPLOC			/* RFC 1096 XDISPLOC */
 I1	  13589 #ifndef CK_XDISPLOC
 I1	  13590 #define CK_XDISPLOC
 I1	  13591 #endif /* CK_XDISPLOC */
 I1	  13592 #endif /* NOXDISPLOC */
 I1	  13593 #ifndef NOFORWARDX
 I1    X  13594 #ifndef NOPUTENV
 I1    X  13595 #ifndef NOSELECT
 I1    X  13596 #ifndef CK_FORWARD_X
 I1    X  13597 #ifdef CK_AUTHENTICATION
 I1    X  13598 #ifndef OS2ONLY
 I1    X  13599 #define CK_FORWARD_X
 I1    X  13600 #endif /* OS2ONLY */
 I1    X  13601 #endif /* CK_AUTHENTICATION */
 I1    X  13602 #endif /* CK_FORWARD_X */
 I1    X  13603 #endif /* NOSELECT */
 I1    X  13604 #endif /* NOPUTENV */
 I1	  13605 #endif /* NOFORWARDX */
 I1	  13606 #ifndef NO_COMPORT
 I1	  13607 #ifdef TCPSOCKET
 I1	  13608 #ifndef TN_COMPORT
 I1	  13609 #define TN_COMPORT
 I1	  13610 #endif /* TN_COMPORT */
 I1	  13611 #endif /* TCPSOCKET */
 I1	  13612 #endif /* NO_COMPORT */
 I1	  13613 #endif /* TNCODE */
 I1	  13614 
 I1	  13615 #ifndef NOXFER
 I1	  13616 #ifndef NOCTRLZ				/* Allow SET FILE EOF CTRL-Z */
 I1	  13617 #ifndef CK_CTRLZ
 I1    X  13618 #ifdef OS2ORUNIX
 I1    X  13619 #define CK_CTRLZ

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 244
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13620 #endif /* OS2ORUNIX */
 I1	  13621 #endif /* CK_CTRLZ */
 I1	  13622 #endif /* NOCTRLZ */
 I1	  13623 #endif /* NOXFER */
 I1	  13624 
 I1	  13625 #ifndef NOPERMS				/* File permissions in A packets */
 I1	  13626 #ifndef CK_PERMS
 I1    X  13627 #ifdef UNIX
 I1    X  13628 #define CK_PERMS
 I1    X  13629 #else
 I1	  13630 #ifdef VMS
 I1	  13631 #define CK_PERMS
 I1	  13632 #endif /* VMS */
 I1	  13633 #endif /* UNIX */
 I1	  13634 #endif /* CK_PERMS */
 I1	  13635 #endif /* NOPERMS */
 I1	  13636 #ifdef CK_PERMS
 I1	  13637 #define CK_PERMLEN 24			/* Max length of sys-dependent perms */
 I1	  13638 #endif /* CK_PERMS */
 I1	  13639 
 I1    X  13640 #ifdef UNIX				/* NOSETBUF for everybody */
 I1    X  13641 #ifndef NOSETBUF
 I1    X  13642 #ifndef USE_SETBUF			/* This is the escape clause */
 I1    X  13643 #define NOSETBUF
 I1    X  13644 #endif /* USE_SETBUF */
 I1    X  13645 #endif /* NOSETBUF */
 I1    X  13646 #endif /* UNIX */
 I1	  13647 
 I1	  13648 #ifndef USE_STRERROR			/* Whether to use strerror() */
 I1    X  13649 #ifdef pdp11
 I1    X  13650 #define USE_STRERROR
 I1    X  13651 #endif /* pdp11 */
 I1	  13652 #endif /* USE_STRERROR */
 I1	  13653 
 I1	  13654 #ifdef VMS				/* Features for all VMS builds */
 I1	  13655 #ifndef NOJC
 I1	  13656 #define NOJC
 I1	  13657 #endif /* NOJC */
 I1	  13658 #ifndef NOSETBUF
 I1	  13659 #define NOSETBUF
 I1	  13660 #endif /* NOSETBUF */
 I1	  13661 #ifndef DYNAMIC
 I1	  13662 #define DYNAMIC
 I1	  13663 #endif /* DYNAMIC */
 I1	  13664 #ifndef NOCURSES
 I1	  13665 #ifndef CK_CURSES
 I1	  13666 #define CK_CURSES
 I1	  13667 #endif /* CK_CURSES */
 I1	  13668 #endif /* NOCURSES */
 I1	  13669 #endif /* VMS */
 I1	  13670 
 I1	  13671 #ifndef NOCKTIMERS			/* Dynamic timeouts */
 I1	  13672 #ifndef CK_TIMERS
 I1	  13673 #define CK_TIMERS
 I1	  13674 #endif /* CK_TIMERS */
 I1	  13675 #endif /* NOCKTIMERS */
 I1	  13676 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 245
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13677 #define CK_SPEED			/* Control-prefix removal */
 I1    X  13678 #ifdef NOCKSPEED
 I1    X  13679 #undef CK_SPEED
 I1    X  13680 #endif /* NOCKSPEED */
 I1	  13681 
 I1	  13682 #ifndef NOCKXXCHAR
 I1	  13683 #ifndef CKXXCHAR
 I1    X  13684 #ifdef UNIX
 I1    X  13685 #define CKXXCHAR
 I1    X  13686 #else
 I1    X  13687 #ifdef OS2
 I1    X  13688 #define CKXXCHAR
 I1    X  13689 #endif /* OS2 */
 I1	  13690 #endif /* UNIX */
 I1	  13691 #endif /* CKXXCHAR */
 I1	  13692 #endif /* NOCKXXCHAR */
 I1	  13693 
 I1    X  13694 #ifdef MAC				/* For Macintosh, no escape */
 I1    X  13695 #define NOPUSH				/* to operating system */
 I1    X  13696 #endif /* MAC */
 I1	  13697 
 I1	  13698 /* Systems where we can call zmkdir() to create directories. */
 I1	  13699 
 I1	  13700 #ifndef CK_MKDIR
 I1	  13701 #ifndef NOMKDIR
 I1	  13702 
 I1    X  13703 #ifdef UNIX
 I1    X  13704 #ifndef pdp11
 I1    X  13705 #define CK_MKDIR
 I1    X  13706 #endif /* pdp11 */
 I1    X  13707 #endif /* UNIX */
 I1	  13708 
 I1    X  13709 #ifdef OS2
 I1    X  13710 #define CK_MKDIR
 I1    X  13711 #endif /* OS2 */
 I1	  13712 
 I1	  13713 #ifdef VMS
 I1	  13714 #define CK_MKDIR
 I1	  13715 #endif /* VMS */
 I1	  13716 
 I1    X  13717 #ifdef STRATUS
 I1    X  13718 #define CK_MKDIR
 I1    X  13719 #endif /* STRATUS */
 I1	  13720 
 I1    X  13721 #ifdef OSK
 I1    X  13722 #define CK_MKDIR
 I1    X  13723 #endif /* OSK */
 I1	  13724 
 I1    X  13725 #ifdef datageneral
 I1    X  13726 #define CK_MKDIR
 I1    X  13727 #endif /* datageneral */
 I1	  13728 
 I1	  13729 #endif /* CK_MKDIR */
 I1	  13730 #endif /* NOMKDIR */
 I1	  13731 
 I1    X  13732 #ifdef NOMKDIR				/* Allow for command-line override */
 I1    X  13733 #ifdef CK_MKDIR

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 246
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13734 #undef CK_MKDIR
 I1    X  13735 #endif /* CK_MKDIR */
 I1    X  13736 #endif /* NOMKDIR */
 I1	  13737 
 I1	  13738 /* Systems for which we can enable the REDIRECT command automatically */
 I1	  13739 /*   As of 6.0.193, it should work for all UNIX... */
 I1	  13740 
 I1	  13741 #ifndef NOREDIRECT
 I1	  13742 #ifndef CK_REDIR
 I1    X  13743 #ifdef UNIX
 I1    X  13744 #define CK_REDIR
 I1    X  13745 #endif /* UNIX */
 I1    X  13746 #ifdef OS2				/* As well as OS/2 and friends... */
 I1    X  13747 #define CK_REDIR
 I1    X  13748 #endif /* OS2 */
 I1	  13749 #endif /* CK_REDIR */
 I1	  13750 #endif /* NOREDIRECT */
 I1	  13751 
 I1    X  13752 #ifdef NOPUSH				/* But... REDIRECT command is not */
 I1    X  13753 #ifdef CK_REDIR				/*  allowed if NOPUSH is defined. */
 I1    X  13754 #undef CK_REDIR
 I1    X  13755 #endif /* CK_REDIR */
 I1    X  13756 #ifdef NETCMD				/* Nor is SET NET COMMAND */
 I1    X  13757 #undef NETCMD
 I1    X  13758 #endif /* NETCMD */
 I1    X  13759 #ifdef NETPTY
 I1    X  13760 #undef NETPTY
 I1    X  13761 #endif /* NETPTY */
 I1    X  13762 #endif /* NOPUSH */
 I1	  13763 
 I1	  13764 #ifndef PEXITSTAT			/* \v(pexitstat) variable defined */
 I1    X  13765 #ifdef OS2ORUNIX
 I1    X  13766 #define PEXITSTAT
 I1    X  13767 #else
 I1	  13768 #ifdef VMS
 I1	  13769 #define PEXITSTAT
 I1	  13770 #endif /* VMS */
 I1	  13771 #endif /* OS2ORUNIX */
 I1	  13772 #endif /* PEXITSTAT */
 I1	  13773 
 I1	  13774 /* The following allows automatic enabling of REDIRECT to be overridden... */
 I1	  13775 
 I1    X  13776 #ifdef NOREDIRECT
 I1    X  13777 #ifdef NETCMD
 I1    X  13778 #undef NETCMD
 I1    X  13779 #endif /* NETCMD */
 I1    X  13780 #ifdef NETPTY
 I1    X  13781 #undef NETPTY
 I1    X  13782 #endif /* NETPTY */
 I1    X  13783 #ifdef CK_REDIR
 I1    X  13784 #undef CK_REDIR
 I1    X  13785 #endif /* CK_REDIR */
 I1    X  13786 #endif /* NOREDIRECT */
 I1	  13787 
 I1    X  13788 #ifdef NONETCMD
 I1    X  13789 #ifdef NETCMD
 I1    X  13790 #undef NETCMD

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 247
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13791 #endif /* NETCMD */
 I1    X  13792 #ifdef NETPTY
 I1    X  13793 #undef NETPTY
 I1    X  13794 #endif /* NETPTY */
 I1    X  13795 #endif /* NONETCMD */
 I1	  13796 
 I1    X  13797 #ifdef CK_REDIR
 I1    X  13798 _PROTOTYP( int ttruncmd, (char *) );
 I1    X  13799 #endif /* CK_REDIR */
 I1	  13800 
 I1	  13801 /* Use built-in DIRECTORY command */
 I1	  13802 
 I1	  13803 #ifndef NOMYDIR
 I1	  13804 #ifndef DOMYDIR
 I1    X  13805 #ifdef UNIXOROSK
 I1    X  13806 #define DOMYDIR
 I1    X  13807 #else
 I1    X  13808 #ifdef OS2
 I1    X  13809 #define DOMYDIR
 I1    X  13810 #else
 I1	  13811 #ifdef VMS
 I1	  13812 #define DOMYDIR
 I1	  13813 #endif /* VMS */
 I1	  13814 #endif /* OS2 */
 I1	  13815 #endif /* UNIXOROSK */
 I1	  13816 #endif /* DOMYDIR */
 I1	  13817 #endif /* NOMYDIR */
 I1	  13818 
 I1	  13819 /* Sending from and receiving to commands/pipes */
 I1	  13820 
 I1	  13821 #ifndef PIPESEND
 I1    X  13822 #ifdef UNIX
 I1    X  13823 #define PIPESEND
 I1    X  13824 #endif /* UNIX */
 I1    X  13825 #ifdef OS2
 I1    X  13826 #define PIPESEND
 I1    X  13827 #endif /* OS2 */
 I1	  13828 #endif /* PIPESEND */
 I1	  13829 
 I1    X  13830 #ifdef PIPESEND
 I1    X  13831 #ifdef NOPIPESEND
 I1    X  13832 #undef PIPESEND
 I1    X  13833 #endif /* NOPIPESEND */
 I1    X  13834 #ifdef NOPUSH
 I1    X  13835 #undef PIPESEND
 I1    X  13836 #endif /* NOPUSH */
 I1    X  13837 #endif /* PIPESEND */
 I1	  13838 
 I1    X  13839 #ifdef NOPUSH
 I1    X  13840 #ifdef BROWSER
 I1    X  13841 #undef BROWSER
 I1    X  13842 #endif /* BROWSER */
 I1    X  13843 #endif /* NOPUSH */
 I1	  13844 
 I1	  13845 /* Versions where we support the RESEND command */
 I1	  13846 
 I1	  13847 #ifndef NOXFER

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 248
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13848 #ifndef NORESEND
 I1	  13849 #ifndef CK_RESEND
 I1    X  13850 #ifdef UNIX
 I1    X  13851 #ifndef pdp11
 I1    X  13852 #define CK_RESEND
 I1    X  13853 #endif /* pdp11 */
 I1    X  13854 #endif /* UNIX */
 I1	  13855 
 I1	  13856 #ifdef VMS
 I1	  13857 #define CK_RESEND
 I1	  13858 #endif /* VMS */
 I1	  13859 
 I1    X  13860 #ifdef OS2
 I1    X  13861 #define CK_RESEND
 I1    X  13862 #endif /* OS2 */
 I1	  13863 
 I1    X  13864 #ifdef AMIGA
 I1    X  13865 #define CK_RESEND
 I1    X  13866 #endif /* AMIGA */
 I1	  13867 
 I1    X  13868 #ifdef datageneral
 I1    X  13869 #define CK_RESEND
 I1    X  13870 #endif /* datageneral */
 I1	  13871 
 I1    X  13872 #ifdef STRATUS
 I1    X  13873 #define CK_RESEND
 I1    X  13874 #endif /* STRATUS */
 I1	  13875 
 I1    X  13876 #ifdef OSK
 I1    X  13877 #define CK_RESEND
 I1    X  13878 #endif /* OSK */
 I1	  13879 
 I1	  13880 #endif /* CK_RESEND */
 I1	  13881 #endif /* NORESEND */
 I1	  13882 #endif /* NOXFER */
 I1	  13883 
 I1	  13884 /* Systems implementing "Doomsday Kermit" protocol ... */
 I1	  13885 
 I1	  13886 #ifndef DOOMSDAY
 I1    X  13887 #ifdef UNIX
 I1    X  13888 #define DOOMSDAY
 I1    X  13889 #else
 I1	  13890 #ifdef VMS
 I1	  13891 #define DOOMSDAY
 I1    X  13892 #else
 I1    X  13893 #ifdef OS2
 I1    X  13894 #define DOOMSDAY
 I1    X  13895 #else
 I1    X  13896 #ifdef STRATUS
 I1    X  13897 #define DOOMSDAY
 I1    X  13898 #endif /* STRATUS */
 I1    X  13899 #endif /* OS2 */
 I1    X  13900 #endif /* VMS */
 I1	  13901 #endif /* UNIX */
 I1	  13902 #endif /* DOOMSDAY */
 I1	  13903 
 I1	  13904 /* Systems where we want the Thermometer to be used for fullscreen */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 249
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  13905 
 I1    X  13906 #ifdef OS2
 I1    X  13907 #ifndef CK_PCT_BAR
 I1    X  13908 #define CK_PCT_BAR
 I1    X  13909 #endif /* CK_PCT_BAR */
 I1    X  13910 #endif /* OS2 */
 I1	  13911 
 I1	  13912 /* Systems where we have a REXX command */
 I1	  13913 
 I1    X  13914 #ifdef OS2
 I1    X  13915 #ifdef __32BIT__
 I1    X  13916 #ifndef NOREXX
 I1    X  13917 #define CK_REXX
 I1    X  13918 #endif /* NOREXX */
 I1    X  13919 #endif /* __32BIT__ */
 I1    X  13920 #endif /* OS2 */
 I1	  13921 
 I1	  13922 /* Platforms that have a ZCHKPID function */
 I1	  13923 
 I1    X  13924 #ifdef OS2ORUNIX
 I1    X  13925 #define ZCHKPID
 I1    X  13926 #endif /* OS2ORUNIX */
 I1	  13927 
 I1	  13928 #ifndef ZCHKPID
 I1	  13929 /* If we can't check pids then we have treat all pids as active & valid. */
 I1	  13930 #define zchkpid(x) 1
 I1	  13931 #endif /* ZCHKPID */
 I1	  13932 
 I1	  13933 /* Systems that have a ZRENAME function */
 I1	  13934 
 I1	  13935 #define ZRENAME				/* They all do */
 I1	  13936 
 I1	  13937 /* Systems that have a ZCOPY function */
 I1	  13938 
 I1	  13939 #ifndef ZCOPY
 I1	  13940 #ifdef VMS
 I1	  13941 #define ZCOPY
 I1    X  13942 #else
 I1    X  13943 #ifdef OS2
 I1    X  13944 #define ZCOPY
 I1    X  13945 #else
 I1    X  13946 #ifdef UNIX
 I1    X  13947 #define ZCOPY
 I1    X  13948 #else
 I1    X  13949 #ifdef STRATUS
 I1    X  13950 #define ZCOPY
 I1    X  13951 #endif /* STRATUS */
 I1    X  13952 #endif /* UNIX */
 I1    X  13953 #endif /* OS2 */
 I1    X  13954 #endif /* VMS */
 I1	  13955 #endif /* ZCOPY */
 I1	  13956 
 I1	  13957 /* Systems that have ttgwsiz() (they all should but they don't) */
 I1	  13958 
 I1	  13959 #ifndef NOTTGWSIZ
 I1	  13960 #ifndef CK_TTGWSIZ
 I1    X  13961 #ifdef UNIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 250
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  13962 #define CK_TTGWSIZ
 I1    X  13963 #else
 I1	  13964 #ifdef VMS
 I1	  13965 #define CK_TTGWSIZ
 I1    X  13966 #else
 I1    X  13967 #ifdef OS2
 I1    X  13968 #define CK_TTGWSIZ
 I1    X  13969 #else
 I1    X  13970 #ifdef OSK
 I1    X  13971 #define CK_TTGWSIZ
 I1    X  13972 #endif /* OSK */
 I1    X  13973 #endif /* OS2 */
 I1    X  13974 #endif /* VMS */
 I1	  13975 #endif /* UNIX */
 I1	  13976 #endif /* CK_TTGWSIZ */
 I1	  13977 #endif /* NOTTGWSIZ */
 I1	  13978 
 I1    X  13979 #ifdef NOTTGWSIZ
 I1    X  13980 #ifdef CK_TTGWSIZ
 I1    X  13981 #undef CK_TTGWSIZ
 I1    X  13982 #endif /* CK_TTGWSIZ */
 I1    X  13983 #endif /* NOTTGWSIZ */
 I1	  13984 
 I1    X  13985 #ifdef OS2
 I1    X  13986 /* OS/2 C-Kermit features not available in 16-bit version... */
 I1    X  13987 
 I1    X  13988 #ifdef OS2ONLY
 I1    X  13989 #ifndef __32BIT__
 I1    X  13990 #ifndef NOLOCAL
 I1    X  13991 #ifdef PCFONTS				/* PC Font support */
 I1    X  13992 #undef PCFONTS
 I1    X  13993 #endif /* PCFONTS */
 I1    X  13994 #ifdef NPIPE				/* Named Pipes communication */
 I1    X  13995 #undef NPIPE
 I1    X  13996 #endif /* NPIPE */
 I1    X  13997 #ifdef CK_NETBIOS			/* NETBIOS communication */
 I1    X  13998 #undef CK_NETBIOS
 I1    X  13999 #endif /* CK_NETBIOS */
 I1    X  14000 #ifdef OS2MOUSE				/* Mouse */
 I1    X  14001 #undef OS2MOUSE
 I1    X  14002 #endif /* OS2MOUSE */
 I1    X  14003 #ifdef OS2PM				/* Presentation Manager */
 I1    X  14004 #undef OS2PM
 I1    X  14005 #endif /* OS2PM */
 I1    X  14006 #endif /* NOLOCAL */
 I1    X  14007 #ifdef CK_REXX				/* Rexx */
 I1    X  14008 #undef CK_REXX
 I1    X  14009 #endif /* CK_REXX */
 I1    X  14010 #endif /* __32BIT__ */
 I1    X  14011 #endif /* OS2ONLY */
 I1    X  14012 
 I1    X  14013 /* OS/2 C-Kermit features not available in Windows NT version... */
 I1    X  14014 
 I1    X  14015 #ifdef NT
 I1    X  14016 #ifdef PCFONTS				/* PC Font support */
 I1    X  14017 #undef PCFONTS
 I1    X  14018 #endif /* PCFONTS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 251
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14019 #ifdef OS2PM				/* Presentation Manager */
 I1    X  14020 #undef OS2PM
 I1    X  14021 #endif /* OS2PM */
 I1    X  14022 #ifdef CK_REXX				/* Rexx */
 I1    X  14023 #undef CK_REXX
 I1    X  14024 #endif /* CK_REXX */
 I1    X  14025 #endif /* NT */
 I1    X  14026 #endif /* OS2 */
 I1	  14027 
 I1	  14028 /*
 I1	  14029   Systems that have select().
 I1	  14030   This is used for both msleep() and for read-buffer checking in in_chk().
 I1	  14031 */
 I1	  14032 #define CK_SLEEPINT 250 /* milliseconds - set this to something that
 I1	  14033                            divides evenly into 1000 */
 I1	  14034 #ifndef SELECT
 I1	  14035 #ifndef NOSELECT
 I1    X  14036 #ifdef __linux__
 I1    X  14037 #define SELECT
 I1    X  14038 #else
 I1    X  14039 #ifdef SUNOS4
 I1    X  14040 #define SELECT
 I1    X  14041 #else
 I1    X  14042 #ifdef NEXT
 I1    X  14043 #define SELECT
 I1    X  14044 #else
 I1    X  14045 #ifdef RTAIX
 I1    X  14046 #define SELECT
 I1    X  14047 #else
 I1    X  14048 #ifdef HPUX
 I1	  14049 /*
 I1	  14050   Not really.  I think it's only in HP-UX 7.0 and later, except it's also
 I1	  14051   in earlier versions that have TCP/IP installed.  Override this default
 I1	  14052   in particular HP-UX makefile entries by adding -DNOSELECT, as in (e.g.)
 I1	  14053   the HP-UX 6.5 ones.
 I1    X  14054 */
 I1    X  14055 #define SELECT
 I1    X  14056 #else
 I1    X  14057 #ifdef AIXRS
 I1    X  14058 #define SELECT
 I1    X  14059 #else
 I1    X  14060 #ifdef BSD44
 I1    X  14061 #define SELECT
 I1    X  14062 #else
 I1    X  14063 #ifdef BSD4
 I1    X  14064 #define SELECT
 I1    X  14065 #else
 I1    X  14066 #ifdef OXOS
 I1    X  14067 #define SELECT
 I1    X  14068 #else
 I1    X  14069 #ifdef OS2
 I1    X  14070 #define SELECT
 I1    X  14071 #else
 I1    X  14072 #ifdef BEBOX
 I1    X  14073 #define SELECT
 I1    X  14074 #endif /* BEBOX */
 I1	  14075 #endif /* OS2 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 252
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  14076 #endif /* OXOS */
 I1	  14077 #endif /* BSD4 */
 I1	  14078 #endif /* BSD44 */
 I1	  14079 #endif /* AIXRS */
 I1	  14080 #endif /* HPUX */
 I1	  14081 #endif /* RTAIX */
 I1	  14082 #endif /* NEXT */
 I1	  14083 #endif /* __linux__ */
 I1	  14084 #endif /* SUNOS4 */
 I1	  14085 #endif /* NOSELECT */
 I1	  14086 #endif /* SELECT */
 I1	  14087 
 I1	  14088 /*
 I1	  14089   The following section moved here from ckcnet.h in 6.1 because select()
 I1	  14090   is now used for non-networking purposes.
 I1	  14091 */
 I1	  14092 
 I1	  14093 /* On HP-9000/500 HP-UX 5.21 this stuff is not defined in any header file */
 I1	  14094 
 I1    X  14095 #ifdef hp9000s500
 I1    X  14096 #ifndef NEEDSELECTDEFS
 I1    X  14097 #define NEEDSELECTDEFS
 I1    X  14098 #endif /* NEEDSELECTDEFS */
 I1    X  14099 #endif /* hp9000s500 */
 I1	  14100 
 I1    X  14101 #ifdef NEEDSELECTDEFS
 I1    X  14102 typedef long fd_mask;
 I1    X  14103 #ifndef NBBY
 I1    X  14104 #define NBBY 8
 I1    X  14105 #endif /* NBBY */
 I1    X  14106 #ifndef FD_SETSIZE
 I1    X  14107 #define FD_SETSIZE 32
 I1    X  14108 #endif /* FD_SETSIZE */
 I1    X  14109 #ifndef NFDBITS
 I1    X  14110 #define NFDBITS (sizeof(fd_mask) * NBBY)
 I1    X  14111 #endif /* NFDBITS */
 I1    X  14112 #ifndef howmany
 I1    X  14113 #define howmany(x,y) (((x)+((y)-1))/(y))
 I1    X  14114 #endif /* howmany */
 I1    X  14115 typedef struct fd_set {
 I1    X  14116     fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
 I1    X  14117 } fd_set;
 I1    X  14118 #ifndef FD_SET
 I1    X  14119 #define FD_SET(n,p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
 I1    X  14120 #endif /* FD_SET */
 I1    X  14121 #ifndef FD_CLR
 I1    X  14122 #define FD_CLR(n,p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
 I1    X  14123 #endif /* FD_CLR */
 I1    X  14124 #ifndef FD_ISSET
 I1    X  14125 #define FD_ISSET(n,p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
 I1    X  14126 #endif /* FD_ISSET */
 I1    X  14127 #ifndef FD_COPY
 I1    X  14128 #define FD_COPY(f,t) (bcopy(f,t,sizeof(*(f)))
 I1    X  14129 #endif /* FD_COPY */
 I1    X  14130 #ifndef FD_ZERO
 I1    X  14131 #define FD_ZERO(p) bzero((char *)(p),sizeof(*(p)))
 I1    X  14132 #endif /* FD_ZERO */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 253
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14133 #endif /* NEEDSELECTDEFS */
 I1	  14134 
 I1	  14135 /*
 I1	  14136   CK_NEED_SIG is defined if the system cannot check the console to
 I1	  14137   to see if characters are waiting.  This is used during local-mode file
 I1	  14138   transfer to interrupt the transfer, refresh the screen display, etc.
 I1	  14139   If CK_NEED_SIG is defined, then file-transfer interruption characters
 I1	  14140   have to be preceded a special character, e.g. the SIGQUIT character.
 I1	  14141   CK_NEED_SIG should be defined if the conchk() function is not operational.
 I1	  14142 */
 I1    X  14143 #ifdef NOPOLL				/* For overriding CK_POLL definition */
 I1    X  14144 #ifdef CK_POLL
 I1    X  14145 #undef CK_POLL
 I1    X  14146 #endif /* CK_POLL */
 I1    X  14147 #endif /* NOPOLL */
 I1	  14148 
 I1	  14149 #ifndef CK_POLL				/* If we don't have poll() */
 I1	  14150 #ifndef RDCHK				/* And we don't have rdchk() */
 I1	  14151 #ifndef SELECT				/* And we don't have select() */
 I1    X  14152 #ifdef ATTSV
 I1    X  14153 #ifndef aegis
 I1    X  14154 #ifndef datageneral
 I1    X  14155 #ifndef OXOS
 I1    X  14156 #define CK_NEED_SIG
 I1    X  14157 #endif /* OXOS */
 I1    X  14158 #endif /* datageneral */
 I1    X  14159 #endif /* aegis */
 I1    X  14160 #endif /* ATTSV */
 I1    X  14161 #ifdef POSIX
 I1    X  14162 #ifndef CK_NEED_SIG
 I1    X  14163 #define CK_NEED_SIG
 I1    X  14164 #endif /* CK_NEED_SIG */
 I1    X  14165 #endif /* POSIX */
 I1	  14166 #endif /* SELECT */
 I1	  14167 #endif /* RDCHK */
 I1	  14168 #endif /* CK_POLL */
 I1	  14169 
 I1    X  14170 #ifdef HPUX				/* HP-UX has select() */
 I1    X  14171 #ifdef CK_NEED_SIG
 I1    X  14172 #undef CK_NEED_SIG
 I1    X  14173 #endif /* CK_NEED_SIG */
 I1    X  14174 #endif /* HPUX */
 I1	  14175 
 I1    X  14176 #ifdef AIXRS				/* AIX has select() */
 I1    X  14177 #ifdef CK_NEED_SIG
 I1    X  14178 #undef CK_NEED_SIG
 I1    X  14179 #endif /* CK_NEED_SIG */
 I1    X  14180 #endif /* AIXRS */
 I1	  14181 
 I1    X  14182 #ifdef BSD44				/* 4.4BSD has FIONREAD */
 I1    X  14183 #ifdef CK_NEED_SIG
 I1    X  14184 #undef CK_NEED_SIG
 I1    X  14185 #endif /* CK_NEED_SIG */
 I1    X  14186 #endif /* BSD44 */
 I1	  14187 
 I1    X  14188 #ifdef QNX				/* QNX has FIONREAD and select() */
 I1    X  14189 #ifdef CK_NEED_SIG

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 254
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14190 #undef CK_NEED_SIG
 I1    X  14191 #endif /* CK_NEED_SIG */
 I1    X  14192 #endif /* QNX */
 I1	  14193 
 I1    X  14194 #ifdef COHERENT
 I1    X  14195 #ifndef NOTIMEZONE
 I1    X  14196 #define NOTIMEZONE
 I1    X  14197 #endif /* NOTIMEZONE */
 I1    X  14198 #endif /* COHERENT */
 I1	  14199 
 I1    X  14200 #ifdef UNIX
 I1    X  14201 #ifndef HAVE_TZ				/* Can we use struct timezone? */
 I1    X  14202 #ifndef NOTIMEZONE
 I1    X  14203 #ifdef PTX
 I1    X  14204 #define NOTIMEZONE
 I1    X  14205 #else
 I1    X  14206 #ifndef SELECT
 I1    X  14207 #ifdef COHERENT
 I1    X  14208 #define NOTIMEZONE
 I1    X  14209 #else
 I1    X  14210 #ifdef BELLV10
 I1    X  14211 #define NOTIMEZONE
 I1    X  14212 #endif /* BELLV10 */
 I1    X  14213 #endif /* COHERENT */
 I1    X  14214 #endif /* SELECT */
 I1    X  14215 #endif /* PTX */
 I1    X  14216 #endif /* NOTIMEZONE */
 I1    X  14217 #endif /* HAVE_TZ */
 I1    X  14218 #ifndef NOTIMEVAL			/* Can we use struct timeval? */
 I1    X  14219 #ifndef HAVE_TV
 I1    X  14220 #define HAVE_TV
 I1    X  14221 #endif /* HAVE_TV */
 I1    X  14222 #endif /* NOTIMEVAL */
 I1    X  14223 #ifndef NOTIMEZONE
 I1    X  14224 #ifndef HAVE_TZ
 I1    X  14225 #define HAVE_TZ
 I1    X  14226 #endif /* HAVE_TZ */
 I1    X  14227 #endif /* NOTIMEZONE */
 I1    X  14228 #endif /* UNIX */
 I1	  14229 
 I1    X  14230 #ifdef SCO32
 I1    X  14231 #ifdef HAVE_TV
 I1    X  14232 #undef HAVE_TV
 I1    X  14233 #endif /* HAVE_TV */
 I1    X  14234 #ifdef HAVE_TZ
 I1    X  14235 #undef HAVE_TZ
 I1    X  14236 #endif /* HAVE_TZ */
 I1    X  14237 #ifndef NOTIMEVAL
 I1    X  14238 #define NOTIMEVAL
 I1    X  14239 #endif /* NOTIMEVAL */
 I1    X  14240 #ifndef NOTIMEZONE
 I1    X  14241 #define NOTIMEZONE
 I1    X  14242 #endif /* NOTIMEZONE */
 I1    X  14243 #endif /* SCO32 */
 I1	  14244 
 I1    X  14245 #ifdef ATT7300
 I1    X  14246 #ifdef HAVE_TV

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 255
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14247 #undef HAVE_TV
 I1    X  14248 #endif /* HAVE_TV */
 I1    X  14249 #ifdef HAVE_TZ
 I1    X  14250 #undef HAVE_TZ
 I1    X  14251 #endif /* HAVE_TZ */
 I1    X  14252 #ifndef NOTIMEVAL
 I1    X  14253 #define NOTIMEVAL
 I1    X  14254 #endif /* NOTIMEVAL */
 I1    X  14255 #ifndef NOTIMEZONE
 I1    X  14256 #define NOTIMEZONE
 I1    X  14257 #endif /* NOTIMEZONE */
 I1    X  14258 #endif /* ATT7300 */
 I1	  14259 
 I1	  14260 /*
 I1	  14261   Automatic parity detection.
 I1	  14262   This actually implies a lot more now: length-driven packet reading,
 I1	  14263   "Doomsday Kermit" IBM Mainframe file transfer through 3270 data streams, etc.
 I1	  14264 */
 I1    X  14265 #ifdef UNIX				/* For Unix */
 I1    X  14266 #ifndef NOPARSEN
 I1    X  14267 #define PARSENSE
 I1    X  14268 #endif /* NOPARSEN */
 I1    X  14269 #endif /* UNIX */
 I1	  14270 
 I1	  14271 #ifdef VMS				/* ... and VMS */
 I1	  14272 #ifndef NOPARSEN
 I1	  14273 #define PARSENSE
 I1	  14274 #endif /* NOPARSEN */
 I1    X  14275 #ifdef __GNUC__
 I1    X  14276 #define VMSGCC
 I1    X  14277 #endif /* __GNUC__ */
 I1	  14278 #endif /* VMS */
 I1	  14279 
 I1    X  14280 #ifdef MAC				/* and Macintosh */
 I1    X  14281 #ifndef NOPARSEN
 I1    X  14282 #define PARSENSE
 I1    X  14283 #endif /* NOPARSEN */
 I1    X  14284 #endif /* MAC */
 I1	  14285 
 I1    X  14286 #ifdef STRATUS				/* and Stratus VOS */
 I1    X  14287 #ifndef NOPARSEN
 I1    X  14288 #define PARSENSE
 I1    X  14289 #endif /* NOPARSEN */
 I1    X  14290 #endif /* STRATUS */
 I1	  14291 
 I1    X  14292 #ifdef OS2				/* and OS/2, finally */
 I1    X  14293 #ifndef NOPARSEN
 I1    X  14294 #define PARSENSE
 I1    X  14295 #endif /* NOPARSEN */
 I1    X  14296 #endif /* OS2 */
 I1	  14297 
 I1	  14298 #ifndef NODYNAMIC			/* DYNAMIC is default for UNIX */
 I1    X  14299 #ifndef DYNAMIC				/* as of C-Kermit 7.0 */
 I1    X  14300 #ifdef UNIX
 I1    X  14301 #define DYNAMIC
 I1    X  14302 #endif /* UNIX */
 I1    X  14303 #endif /* DYNAMIC */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 256
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  14304 #endif /* NODYNAMIC */
 I1	  14305 
 I1	  14306 #ifdef DYNAMIC				/* If DYNAMIC is defined */
 I1	  14307 #define DCMDBUF				/* then also define this. */
 I1	  14308 #endif /* DYNAMIC */
 I1	  14309 
 I1	  14310 #ifndef CK_LBRK				/* Can send Long BREAK */
 I1	  14311 
 I1    X  14312 #ifdef UNIX				/* (everybody but OS-9) */
 I1    X  14313 #define CK_LBRK
 I1    X  14314 #endif /* UNIX */
 I1	  14315 #ifdef VMS
 I1	  14316 #define CK_LBRK
 I1	  14317 #endif /* VMS */
 I1    X  14318 #ifdef datageneral
 I1    X  14319 #define CK_LBRK
 I1    X  14320 #endif /* datageneral */
 I1    X  14321 #ifdef GEMDOS
 I1    X  14322 #define CK_LBRK
 I1    X  14323 #endif /* GEMDOS */
 I1    X  14324 #ifdef OS2
 I1    X  14325 #define CK_LBRK
 I1    X  14326 #endif /* OS2 */
 I1    X  14327 #ifdef AMIGA
 I1    X  14328 #define CK_LBRK
 I1    X  14329 #endif /* AMIGA */
 I1    X  14330 #ifdef STRATUS
 I1    X  14331 #define CK_LBRK
 I1    X  14332 #endif /* STRATUS */
 I1	  14333 
 I1	  14334 #endif /* CK_LBRK */
 I1	  14335 
 I1	  14336 /* Carrier treatment */
 I1	  14337 /* These are defined here because they are shared by the system dependent */
 I1	  14338 /* and the system independent modules. */
 I1	  14339 
 I1	  14340 #define  CAR_OFF 0	/* Off: ignore carrier always. */
 I1	  14341 #define  CAR_ON  1      /* On: heed carrier always, except during DIAL. */
 I1	  14342 #define  CAR_AUT 2      /* Auto: heed carrier, but only if line is declared */
 I1	  14343 			/* to be a modem line, and only during CONNECT. */
 I1	  14344 
 I1	  14345 /* And more generically (for use with any ON/OFF/AUTO feature) */
 I1	  14346 #define  CK_OFF  0
 I1	  14347 #define  CK_ON   1
 I1	  14348 #define  CK_AUTO 2
 I1	  14349 
 I1	  14350 #ifndef NOLOCAL
 I1	  14351 /*
 I1	  14352   Serial interface speeds available.
 I1	  14353 
 I1	  14354   As of C-Kermit 6.1 there is a new method to get the supported
 I1	  14355   speeds, which obviates the need for all the craziness below.  At runtime,
 I1	  14356   just call the new ttspdlist() routine to get a list of supported speeds.
 I1	  14357   Then the user interface module can build a keyword table or menu from it.
 I1	  14358 */
 I1	  14359 #ifndef TTSPDLIST
 I1    X  14360 #ifdef UNIX				/* For now, only for UNIX */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 257
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14361 #ifndef OLINUXHISPEED			/* But not systems with hacks for */
 I1    X  14362 #ifndef MINIX				/* high speeds, like 110 = 115200 */
 I1    X  14363 #define TTSPDLIST
 I1    X  14364 #endif /* MINIX */
 I1    X  14365 #endif /* OLINUXHISPEED */
 I1    X  14366 #else
 I1	  14367 #ifdef VMS
 I1	  14368 #define TTSPDLIST			/* VMS gets it too */
 I1	  14369 #endif /* VMS */
 I1	  14370 #endif /* UNIX */
 I1	  14371 #endif /* TTSPDLIST */
 I1	  14372 
 I1	  14373 #ifndef NODIAL				/* Hangup by modem command */
 I1	  14374 #ifndef NOMDMHUP
 I1	  14375 #ifndef MDMHUP
 I1	  14376 #define MDMHUP
 I1	  14377 #endif /* MDMHUP */
 I1	  14378 #endif /* NOMDMHUP */
 I1	  14379 #endif /* NODIAL */
 I1	  14380 
 I1    X  14381 #ifdef NOSPL
 I1    X  14382 #ifndef NOLOGDIAL			/* Connection log needs mjd(), etc. */
 I1    X  14383 #define NOLOGDIAL
 I1    X  14384 #endif /* NOLOGDIAL */
 I1    X  14385 #endif /* NOSPL */
 I1	  14386 
 I1    X  14387 #ifdef pdp11
 I1    X  14388 #define NOLOGDIAL
 I1    X  14389 #endif /* pdp11 */
 I1	  14390 
 I1	  14391 #ifndef NOLOGDIAL			/* Connection log */
 I1	  14392 #ifndef CXLOGFILE
 I1	  14393 #define CXLOGFILE "CX.LOG"		/* Default connection log file name */
 I1	  14394 #endif /* CXLOGFILE */
 I1	  14395 #ifndef CKLOGDIAL
 I1	  14396 #ifndef CK_SMALL
 I1	  14397 #define CKLOGDIAL
 I1	  14398 #define CXLOGBUFL 1024			/* Connection log record buffer size */
 I1	  14399 #endif /* CK_SMALL */
 I1	  14400 #endif /* NOLOGDIAL */
 I1	  14401 #endif /* CKLOGDIAL */
 I1	  14402 
 I1	  14403 #endif /* NOLOCAL */
 I1	  14404 
 I1    X  14405 #ifdef NOTTSPDLIST			/* Except if NOTTSPDLIST is defined */
 I1    X  14406 #ifdef TTSPDLIST
 I1    X  14407 #undef TTSPDLIST
 I1    X  14408 #endif /* TTSPDLIST */
 I1    X  14409 #endif /* NOTTSPDLIST */
 I1	  14410 
 I1	  14411 #ifdef TTSPDLIST
 I1	  14412 
 I1	  14413 _PROTOTYP( long * ttspdlist, (void) );
       E	 long * ttspdlist ( void )
 I1	  14414 
 I1    X  14415 #else /* TTSPDLIST not defined */
 I1	  14416 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 258
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  14417   We must use a long and convoluted series of #ifdefs that have to be kept in
 I1	  14418   sync with the code in the ck?tio.c module.
 I1	  14419 
 I1	  14420   We assume that everybody supports: 0, 110, 300, 600, 1200, 2400, 4800, and
 I1	  14421   9600 bps.  Symbols for other speeds are defined here.  You can also add
 I1	  14422   definitions on the CC command lines.  These definitions affect the SET SPEED
 I1	  14423   keyword table, and are not necessarily usable in the system-dependent
 I1	  14424   speed-setting code in the ck?tio.c modules, which depends on system-specific
 I1	  14425   symbols like (in UNIX) B19200.  In other words, just defining it doesn't
 I1	  14426   mean it'll work -- you also have to supply the supporting code in ttsspd()
 I1	  14427   and ttgspd() in ck?tio.c.
 I1	  14428 
 I1	  14429   The symbols have the form BPS_xxxx, where xxxx is the speed in bits per
 I1	  14430   second, or (for bps values larger than 9999) thousands of bps followed by K.
 I1	  14431   The total symbol length should be 8 characters or less.  Some values are
 I1	  14432   enabled automatically below.  You can disable a particular value by defining
 I1	  14433   NOB_xxxx on the CC command line.
 I1	  14434 
 I1    X  14435 */
 I1    X  14436 
 I1    X  14437 #ifndef NOB_50
 I1    X  14438 #define BPS_50				/* 50 bps */
 I1    X  14439 #endif
 I1    X  14440 
 I1    X  14441 #ifndef NOB_75
 I1    X  14442 #define BPS_75				/* 75 bps */
 I1    X  14443 #endif
 I1    X  14444 
 I1    X  14445 #ifndef NOB7512
 I1    X  14446 #ifdef ANYBSD
 I1    X  14447 #define BPS_7512			/* 75/1200 Split Speed */
 I1    X  14448 #endif /* ANYBSD */
 I1    X  14449 #endif /* NOB7512 */
 I1    X  14450 
 I1    X  14451 #ifndef NOB134
 I1    X  14452 #ifdef SOLARIS25
 I1    X  14453 #define BPS_134
 I1    X  14454 #else
 I1    X  14455 #undef BPS_134				/* 134.5 bps (IBM 2741) */
 I1    X  14456 #endif /* BPS_134 */
 I1    X  14457 #endif /* NOB134 */
 I1    X  14458 
 I1    X  14459 #ifndef NOB_150
 I1    X  14460 #define BPS_150				/* 150 bps */
 I1    X  14461 #endif
 I1    X  14462 
 I1    X  14463 #ifndef NOB_200
 I1    X  14464 #define BPS_200				/* 200 bps */
 I1    X  14465 #endif
 I1    X  14466 
 I1    X  14467 #ifndef NOB_1800
 I1    X  14468 #ifdef MAC
 I1    X  14469 #define BPS_1800			/* 1800 bps */
 I1    X  14470 #else
 I1    X  14471 #ifdef SOLARIS25
 I1    X  14472 #define BPS_1800
 I1    X  14473 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 259
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14474 #endif
 I1    X  14475 #endif
 I1    X  14476 
 I1    X  14477 #ifndef NOB_3600
 I1    X  14478 #ifndef SOLARIS25
 I1    X  14479 #define BPS_3600			/* 3600 bps */
 I1    X  14480 #endif
 I1    X  14481 #endif
 I1    X  14482 
 I1    X  14483 #ifndef NOB_7200
 I1    X  14484 #ifndef SOLARIS25
 I1    X  14485 #define BPS_7200			/* 7200 bps */
 I1    X  14486 #endif /* SOLARIS25 */
 I1    X  14487 #endif
 I1    X  14488 
 I1    X  14489 #ifndef NOB_14K
 I1    X  14490 #ifdef BSD44
 I1    X  14491 #define BPS_14K				/* 14400 bps */
 I1    X  14492 #else
 I1    X  14493 #ifdef OS2
 I1    X  14494 #define BPS_14K
 I1    X  14495 #else
 I1    X  14496 #ifdef NEXT
 I1    X  14497 #define BPS_14K
 I1    X  14498 #else
 I1    X  14499 #ifdef MAC
 I1    X  14500 #define BPS_14K
 I1    X  14501 #else
 I1    X  14502 #ifdef AMIGA
 I1    X  14503 #define BPS_14K
 I1    X  14504 #endif /* AMIGA */
 I1    X  14505 #endif /* MAC */
 I1    X  14506 #endif /* NEXT */
 I1    X  14507 #endif /* OS2 */
 I1    X  14508 #endif /* BSD44 */
 I1    X  14509 #endif /* NOB_14K */
 I1    X  14510 
 I1    X  14511 #ifndef NOB_19K
 I1    X  14512 #define BPS_19K				/* 19200 bps */
 I1    X  14513 #endif
 I1    X  14514 
 I1    X  14515 #ifndef NOB_28K
 I1    X  14516 #ifdef BSD44
 I1    X  14517 #define BPS_28K
 I1    X  14518 #else
 I1    X  14519 #ifdef OS2
 I1    X  14520 #define BPS_28K
 I1    X  14521 #else
 I1    X  14522 #ifdef NEXT
 I1    X  14523 #define BPS_28K				/* 28800 bps */
 I1    X  14524 #else
 I1    X  14525 #ifdef MAC
 I1    X  14526 #define BPS_28K				/* 28800 bps */
 I1    X  14527 #endif /* MAC */
 I1    X  14528 #endif /* NEXT */
 I1    X  14529 #endif /* OS2 */
 I1    X  14530 #endif /* BSD44 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 260
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14531 #endif /* NOB_28K */
 I1    X  14532 
 I1    X  14533 #ifndef NOB_38K
 I1    X  14534 #define BPS_38K				/* 38400 bps */
 I1    X  14535 #endif
 I1    X  14536 
 I1    X  14537 #ifndef NOB_57K
 I1    X  14538 #ifdef Plan9
 I1    X  14539 #define BPS_57K
 I1    X  14540 #else
 I1    X  14541 #ifdef SOLARIS25
 I1    X  14542 #define BPS_57K
 I1    X  14543 #else
 I1    X  14544 #ifdef VMS
 I1    X  14545 #define BPS_57K				/* 57600 bps */
 I1    X  14546 #else
 I1    X  14547 #ifdef OS2
 I1    X  14548 #define BPS_57K
 I1    X  14549 #else
 I1    X  14550 #ifdef __linux__
 I1    X  14551 #define BPS_57K
 I1    X  14552 #else
 I1    X  14553 #ifdef HPUX
 I1    X  14554 #define BPS_57K
 I1    X  14555 #else
 I1    X  14556 #ifdef NEXT
 I1    X  14557 #define BPS_57K
 I1    X  14558 #else
 I1    X  14559 #ifdef __386BSD__
 I1    X  14560 #define BPS_57K
 I1    X  14561 #else
 I1    X  14562 #ifdef __FreeBSD__
 I1    X  14563 #define BPS_57K
 I1    X  14564 #else
 I1    X  14565 #ifdef __NetBSD__
 I1    X  14566 #define BPS_57K
 I1    X  14567 #else
 I1    X  14568 #ifdef MAC
 I1    X  14569 #define BPS_57K
 I1    X  14570 #else
 I1    X  14571 #ifdef QNX
 I1    X  14572 #define BPS_57K
 I1    X  14573 #else
 I1    X  14574 #ifdef BEOSORBEBOX
 I1    X  14575 #define BPS_57K
 I1    X  14576 #else
 I1    X  14577 #ifdef IRIX62
 I1    X  14578 #define BPS_57K
 I1    X  14579 #else
 I1    X  14580 #ifdef SCO_OSR504
 I1    X  14581 #define BPS_57K
 I1    X  14582 #else
 I1    X  14583 #ifdef BSDI2
 I1    X  14584 #define BPS_57K
 I1    X  14585 #endif /* BSDI2 */
 I1    X  14586 #endif /* SCO_OSR504 */
 I1    X  14587 #endif /* IRIX62 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 261
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14588 #endif /* BEOSORBEBOX */
 I1    X  14589 #endif /* QNX */
 I1    X  14590 #endif /* MAC */
 I1    X  14591 #endif /* __NetBSD__ */
 I1    X  14592 #endif /* __FreeBSD__ */
 I1    X  14593 #endif /* __386BSD__ */
 I1    X  14594 #endif /* NEXT */
 I1    X  14595 #endif /* HPUX */
 I1    X  14596 #endif /* __linux__ */
 I1    X  14597 #endif /* OS2 */
 I1    X  14598 #endif /* VMS */
 I1    X  14599 #endif /* SOLARIS25 */
 I1    X  14600 #endif /* Plan9 */
 I1    X  14601 #endif /* NOB_57K */
 I1    X  14602 
 I1    X  14603 #ifndef NOB_76K
 I1    X  14604 #ifdef BSDI2
 I1    X  14605 #define BPS_76K
 I1    X  14606 #endif /* BSDI2 */
 I1    X  14607 #ifdef Plan9
 I1    X  14608 #define BPS_76K
 I1    X  14609 #endif /* Plan9 */
 I1    X  14610 #ifdef SOLARIS25
 I1    X  14611 #define BPS_76K
 I1    X  14612 #endif /* SOLARIS25 */
 I1    X  14613 #ifdef VMS
 I1    X  14614 #define BPS_76K				/* 76800 bps */
 I1    X  14615 #endif /* VMS */
 I1    X  14616 #ifdef OS2
 I1    X  14617 #ifdef __32BIT__
 I1    X  14618 #define BPS_76K
 I1    X  14619 #endif /* __32BIT__ */
 I1    X  14620 #endif /* OS2 */
 I1    X  14621 #ifdef QNX
 I1    X  14622 #define BPS_76K
 I1    X  14623 #endif /* QNX */
 I1    X  14624 #ifdef IRIX62
 I1    X  14625 #define BPS_76K
 I1    X  14626 #endif /* IRIX62 */
 I1    X  14627 #ifdef SCO_OSR504
 I1    X  14628 #define BPS_76K
 I1    X  14629 #endif /* SCO_OSR504 */
 I1    X  14630 #endif /* NOB_76K */
 I1    X  14631 
 I1    X  14632 #ifndef NOB_115K
 I1    X  14633 #ifdef BSDI2
 I1    X  14634 #define BPS_115K
 I1    X  14635 #endif /* BSDI2 */
 I1    X  14636 #ifdef Plan9
 I1    X  14637 #define BPS_115K
 I1    X  14638 #endif /* Plan9 */
 I1    X  14639 #ifdef SOLARIS25
 I1    X  14640 #define BPS_115K
 I1    X  14641 #endif /* SOLARIS25 */
 I1    X  14642 #ifdef VMS
 I1    X  14643 #define BPS_115K			/* 115200 bps */
 I1    X  14644 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 262
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14645 #ifdef QNX
 I1    X  14646 #define BPS_115K
 I1    X  14647 #define BPS_1500K
 I1    X  14648 #else
 I1    X  14649 #ifdef HPUX
 I1    X  14650 #define BPS_115K
 I1    X  14651 #else
 I1    X  14652 #ifdef __linux__
 I1    X  14653 #define BPS_115K
 I1    X  14654 #define BPS_1500K
 I1    X  14655 #else
 I1    X  14656 #ifdef __386BSD__
 I1    X  14657 #define BPS_115K
 I1    X  14658 #else
 I1    X  14659 #ifdef __FreeBSD__
 I1    X  14660 #define BPS_115K
 I1    X  14661 #else
 I1    X  14662 #ifdef __NetBSD__
 I1    X  14663 #define BPS_115K
 I1    X  14664 #else
 I1    X  14665 #ifdef OS2
 I1    X  14666 #ifdef __32BIT__
 I1    X  14667 #define BPS_115K
 I1    X  14668 #endif /* __32BIT__ */
 I1    X  14669 #else
 I1    X  14670 #ifdef BEOSORBEBOX
 I1    X  14671 #define BPS_115K
 I1    X  14672 #else
 I1    X  14673 #ifdef IRIX62
 I1    X  14674 #define BPS_115K
 I1    X  14675 #else
 I1    X  14676 #ifdef SCO_OSR504
 I1    X  14677 #define BPS_115K
 I1    X  14678 #endif /* SCO_OSR504 */
 I1    X  14679 #endif /* IRIX62 */
 I1    X  14680 #endif /* BEOSORBEBOX */
 I1    X  14681 #endif /* OS2 */
 I1    X  14682 #endif /* __NetBSD__ */
 I1    X  14683 #endif /* __FreeBSD__ */
 I1    X  14684 #endif /* __386BSD__ */
 I1    X  14685 #endif /* __linux__ */
 I1    X  14686 #endif /* HPUX */
 I1    X  14687 #endif /* QNX */
 I1    X  14688 #endif /* VMS */
 I1    X  14689 #endif /* NOB_115K */
 I1    X  14690 
 I1    X  14691 #ifndef NOB_230K			/* 230400 bps */
 I1    X  14692 #ifdef BSDI2
 I1    X  14693 #define BPS_230K
 I1    X  14694 #else
 I1    X  14695 #ifdef SCO_OSR504
 I1    X  14696 #define BPS_230K
 I1    X  14697 #else
 I1    X  14698 #ifdef __linux__
 I1    X  14699 #define BPS_230K
 I1    X  14700 #else
 I1    X  14701 #ifdef SOLARIS25

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 263
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14702 #define BPS_230K
 I1    X  14703 #else
 I1    X  14704 #ifdef OS2
 I1    X  14705 #ifdef __32BIT__
 I1    X  14706 #define BPS_230K
 I1    X  14707 #endif /* __32BIT__ */
 I1    X  14708 #else
 I1    X  14709 #undef BPS_230K
 I1    X  14710 #endif /* OS2 */
 I1    X  14711 #endif /* SOLARIS25 */
 I1    X  14712 #endif /* __linux__ */
 I1    X  14713 #endif /* SCO_OSR504 */
 I1    X  14714 #endif /* BSDI2 */
 I1    X  14715 #endif /* NOB_230K */
 I1    X  14716 
 I1    X  14717 #ifndef NOB_460K			/* 460800 bps */
 I1    X  14718 #ifdef SCO_OSR504
 I1    X  14719 #define BPS_460K
 I1    X  14720 #else
 I1    X  14721 #ifdef __linux__
 I1    X  14722 #define BPS_460K
 I1    X  14723 #else
 I1    X  14724 #ifdef OS2
 I1    X  14725 #ifdef __32BIT__
 I1    X  14726 #define BPS_460K
 I1    X  14727 #endif /* __32BIT__ */
 I1    X  14728 #else
 I1    X  14729 #undef BPS_460K
 I1    X  14730 #endif /* __linux__ */
 I1    X  14731 #endif /* SCO_OSR504 */
 I1    X  14732 #endif /* OS2 */
 I1    X  14733 #endif /* NOB_460K */
 I1    X  14734 
 I1    X  14735 #ifndef NOB_921K			/* 921600 bps */
 I1    X  14736 #ifdef SCO_OSR504
 I1    X  14737 #define BPS_921K
 I1    X  14738 #endif /* SCO_OSR504 */
 I1    X  14739 #endif /* NOB_921K */
 I1    X  14740 
 I1    X  14741 /*
 I1    X  14742   13 October 2021
 I1    X  14743   From Elad Lahav:
 I1    X  14744   Added support for 1.5MHz (1500000bps) serial speed for Linux and QNX.
 I1    X  14745 */
 I1    X  14746 #ifdef BPS_1500K                        /* Maximum speed defined */
 I1    X  14747 #define MAX_SPD 1500000L
 I1    X  14748 #else
 I1    X  14749 #ifdef BPS_921K
 I1    X  14750 #define MAX_SPD 921600L
 I1    X  14751 #else
 I1    X  14752 #ifdef BPS_460K
 I1    X  14753 #define MAX_SPD 460800L
 I1    X  14754 #else
 I1    X  14755 #ifdef BPS_230K
 I1    X  14756 #define MAX_SPD 230400L
 I1    X  14757 #else
 I1    X  14758 #ifdef BPS_115K

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 264
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14759 #define MAX_SPD 115200L
 I1    X  14760 #else
 I1    X  14761 #ifdef BPS_76K
 I1    X  14762 #define MAX_SPD 76800L
 I1    X  14763 #else
 I1    X  14764 #ifdef BPS_57K
 I1    X  14765 #define MAX_SPD 57600L
 I1    X  14766 #else
 I1    X  14767 #ifdef BPS_38K
 I1    X  14768 #define MAX_SPD 38400L
 I1    X  14769 #else
 I1    X  14770 #ifdef BPS_28K
 I1    X  14771 #define MAX_SPD 28800L
 I1    X  14772 #else
 I1    X  14773 #ifdef BPS_19K
 I1    X  14774 #define MAX_SPD 19200L
 I1    X  14775 #else
 I1    X  14776 #ifdef BPS_14K
 I1    X  14777 #define MAX_SPD 14400L
 I1    X  14778 #else
 I1    X  14779 #define MAX_SPD 9600L
 I1    X  14780 #endif
 I1    X  14781 #endif
 I1    X  14782 #endif
 I1    X  14783 #endif
 I1    X  14784 #endif
 I1    X  14785 #endif
 I1    X  14786 #endif
 I1    X  14787 #endif
 I1    X  14788 #endif
 I1    X  14789 #endif
 I1    X  14790 #endif
 I1    X  14791 #endif /* TTSPDLIST */
 I1	  14792 
 I1	  14793 #ifndef CONGSPD				/* Systems that can call congspd() */
 I1    X  14794 #ifdef UNIX
 I1    X  14795 #define CONGSPD
 I1    X  14796 #endif /* UNIX */
 I1	  14797 #ifdef VMS
 I1	  14798 #define CONGSPD
 I1	  14799 #endif /* VMS */
 I1    X  14800 #ifdef STRATUS
 I1    X  14801 #define CONGSPD
 I1    X  14802 #endif /* STRATUS */
 I1	  14803 #endif /* CONGSPD */
 I1	  14804 
 I1	  14805 /* Types of flow control available */
 I1	  14806 
 I1	  14807 #define CK_XONXOFF			/* Everybody can do this, right? */
 I1	  14808 
 I1    X  14809 #ifdef AMIGA				/* Commodore Amiga */
 I1    X  14810 #define CK_RTSCTS			/* has RTS/CTS */
 I1    X  14811 #endif /* AMIGA */
 I1	  14812 
 I1    X  14813 #ifdef SUN4S5				/* SunOS in System V environment */
 I1    X  14814 #define CK_RTSCTS
 I1    X  14815 #else					/* SunOS 4.0/4.1 in BSD environment */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 265
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14816 #ifdef SUNOS4				/* SunOS 4.0+later supports RTS/CTS */
 I1    X  14817 #ifdef SUNOS41				/* Easy in 4.1 and later */
 I1    X  14818 #define CK_RTSCTS
 I1    X  14819 #else					/* Harder in 4.0 */
 I1    X  14820 #ifndef __GNUC__			/* (see tthflow() in ckutio.c) */
 I1    X  14821 #ifndef GNUC
 I1    X  14822 #define CK_RTSCTS			/* Only if not using GNU gcc */
 I1    X  14823 #endif /* __GNUC__ */
 I1    X  14824 #endif /* GNUC */
 I1    X  14825 #endif /* SUNOS41 */
 I1    X  14826 #endif /* SUNOS4 */
 I1	  14827 #endif /* SUN4S5 */
 I1	  14828 
 I1    X  14829 #ifdef BSD44				/* And in 4.4 BSD, including BSDI */
 I1    X  14830 #define CK_RTSCTS
 I1    X  14831 #endif /* BSD44 */
 I1	  14832 
 I1    X  14833 #ifdef TERMIOX				/* Sys V R4 <termiox.h> */
 I1    X  14834 #ifndef CK_RTSCTS
 I1    X  14835 #define CK_RTSCTS
 I1    X  14836 #endif /* CK_RTSCTS */
 I1    X  14837 #ifndef CK_DTRCD
 I1    X  14838 #define CK_DTRCD
 I1    X  14839 #endif /* CK_DTRCD */
 I1    X  14840 #else
 I1    X  14841 #ifdef STERMIOX				/* Sys V R4 <sys/termiox.h> */
 I1    X  14842 #ifndef CK_RTSCTS
 I1    X  14843 #define CK_RTSCTS
 I1    X  14844 #endif /* CK_RTSCTS */
 I1    X  14845 #ifndef CK_DTRCD
 I1    X  14846 #define CK_DTRCD
 I1    X  14847 #endif /* CK_DTRCD */
 I1    X  14848 #endif /* STERMIOX */
 I1	  14849 #endif /* TERMIOX */
 I1	  14850 
 I1    X  14851 #ifdef OXOS				/* Olivetti X/OS R2 struct termios */
 I1    X  14852 #define CK_RTSCTS			/* Ditto. */
 I1    X  14853 #define CK_DTRCD
 I1    X  14854 #endif /* OXOS */
 I1	  14855 
 I1    X  14856 #ifdef AIXRS				/* RS/6000 with AIX 3.x */
 I1    X  14857 #define CK_RTSCTS			/* Has its own peculiar method... */
 I1    X  14858 #endif /* AIXRS */
 I1	  14859 
 I1    X  14860 #ifdef __linux__			/* Linux */
 I1    X  14861 #define CK_RTSCTS
 I1    X  14862 #endif /* __linux__ */
 I1	  14863 /*
 I1	  14864   Hardware flow control is not defined in POSIX.1.  Nevertheless, a certain
 I1	  14865   style API for hardware flow control, using tcsetattr() and the CRTSCTS
 I1	  14866   bit(s), seems to be gaining currency on POSIX-based UNIX systems.  The
 I1	  14867   following code defines the symbol POSIX_CRTSCTS for such systems.
 I1	  14868 */
 I1    X  14869 #ifdef CK_RTSCTS
 I1    X  14870 #ifdef __bsdi__				/* BSDI, a.k.a. BSD/386 */
 I1    X  14871 #define POSIX_CRTSCTS
 I1    X  14872 #endif /* __bsdi__ */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 266
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14873 #ifdef __linux__			/* Linux */
 I1    X  14874 #define POSIX_CRTSCTS
 I1    X  14875 #endif /* __linux__ */
 I1    X  14876 #ifdef __NetBSD__			/* NetBSD */
 I1    X  14877 #define POSIX_CRTSCTS
 I1    X  14878 #endif /* __NetBSD__ */
 I1    X  14879 #ifdef __OpenBSD__
 I1    X  14880 #define POSIX_CRTSCTS
 I1    X  14881 #endif /* __OpenBSD__ */
 I1    X  14882 #ifdef BEOSORBEBOX			/* BeBOX */
 I1    X  14883 #define POSIX_CRTSCTS
 I1    X  14884 /* BEBOX defines CRTSFL as (CTSFLOW & RTSFLOW) */
 I1    X  14885 #define CRTSCTS CRTSFL
 I1    X  14886 #endif /* BEOSORBEBOX */
 I1    X  14887 #ifdef IRIX52				/* IRIX 5.2 and later */
 I1    X  14888 #define POSIX_CRTSCTS
 I1    X  14889 #define CRTSCTS CNEW_RTSCTS		/* See <sys/termios.h> */
 I1    X  14890 #endif /* IRIX52 */
 I1    X  14891 #endif /* CK_RTSCTS */
 I1	  14892 
 I1	  14893 /* Implementations that have implemented the ttsetflow() function. */
 I1	  14894 
 I1	  14895 #ifndef CK_TTSETFLOW
 I1    X  14896 #ifdef UNIX
 I1    X  14897 #define CK_TTSETFLOW
 I1    X  14898 #endif /* UNIX */
 I1    X  14899 #ifdef OS2
 I1    X  14900 #define CK_TTSETFLOW
 I1    X  14901 #endif /* OS2 */
 I1	  14902 #endif /* CK_TTSETFLOW */
 I1	  14903 
 I1    X  14904 #ifdef CK_TTSETFLOW
 I1    X  14905 _PROTOTYP( int ttsetflow, (int) );
 I1    X  14906 #endif /* CK_TTSETFLOW */
 I1	  14907 /*
 I1	  14908  Systems where we can expand tilde at the beginning of file or directory names
 I1	  14909 */
 I1    X  14910 #ifdef POSIX
 I1    X  14911 #ifndef DTILDE
 I1    X  14912 #define DTILDE
 I1    X  14913 #endif /* DTILDE */
 I1    X  14914 #endif /* POSIX */
 I1    X  14915 #ifdef BSD4
 I1    X  14916 #ifndef DTILDE
 I1    X  14917 #define DTILDE
 I1    X  14918 #endif /* DTILDE */
 I1    X  14919 #endif /* BSD4 */
 I1    X  14920 #ifdef ATTSV
 I1    X  14921 #ifndef DTILDE
 I1    X  14922 #define DTILDE
 I1    X  14923 #endif /* DTILDE */
 I1    X  14924 #endif /* ATTSV */
 I1    X  14925 #ifdef OSK
 I1    X  14926 #ifndef DTILDE
 I1    X  14927 #define DTILDE
 I1    X  14928 #endif /* DTILDE */
 I1    X  14929 #endif /* OSK */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 267
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14930 #ifdef HPUX				/* I don't know why this is */
 I1    X  14931 #ifndef DTILDE				/* necessary, since -DHPUX */
 I1    X  14932 #define DTILDE				/* automatically defines ATTSV */
 I1    X  14933 #endif /* DTILDE */			/* (see above) ... */
 I1    X  14934 #endif /* HPUX */
 I1	  14935 
 I1	  14936 /*
 I1	  14937   This is mainly for the benefit of ckufio.c (UNIX and OS/2 file support).
 I1	  14938   Systems that have an atomic rename() function, so we don't have to use
 I1	  14939   link() and unlink().
 I1	  14940 */
 I1    X  14941 #ifdef POSIX
 I1    X  14942 #ifndef RENAME
 I1    X  14943 #define RENAME
 I1    X  14944 #endif /* RENAME */
 I1    X  14945 #endif /* POSIX */
 I1	  14946 
 I1    X  14947 #ifdef OS2
 I1    X  14948 #ifndef RENAME
 I1    X  14949 #define RENAME
 I1    X  14950 #endif /* RENAME */
 I1    X  14951 #endif /* OS2 */
 I1	  14952 
 I1    X  14953 #ifdef SUNOS41
 I1    X  14954 #ifndef RENAME
 I1    X  14955 #define RENAME
 I1    X  14956 #endif /* RENAME */
 I1    X  14957 #endif /* SUNOS41 */
 I1	  14958 
 I1    X  14959 #ifdef SVR4
 I1    X  14960 #ifndef RENAME
 I1    X  14961 #define RENAME
 I1    X  14962 #endif /* RENAME */
 I1    X  14963 #endif /* SVR4 */
 I1	  14964 
 I1    X  14965 #ifdef AIXRS
 I1    X  14966 #ifndef RENAME
 I1    X  14967 #define RENAME
 I1    X  14968 #endif /* RENAME */
 I1    X  14969 #endif /* AIXRS */
 I1	  14970 
 I1    X  14971 #ifdef BSD44
 I1    X  14972 #ifndef RENAME
 I1    X  14973 #define RENAME
 I1    X  14974 #endif /* RENAME */
 I1    X  14975 #endif /* BSD44 */
 I1	  14976 
 I1    X  14977 #ifdef NORENAME				/* Allow for compile-time override */
 I1    X  14978 #ifdef RENAME
 I1    X  14979 #undef RENAME
 I1    X  14980 #endif /* RENAME */
 I1    X  14981 #endif /* NORENAME */
 I1	  14982 
 I1    X  14983 #ifdef STRATUS				/* Stratus VOS */
 I1    X  14984 #ifndef RENAME
 I1    X  14985 #define RENAME
 I1    X  14986 #endif /* RENAME */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 268
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  14987 #endif /* STRATUS */
 I1	  14988 
 I1	  14989 /* Line delimiter for text files */
 I1	  14990 
 I1	  14991 /*
 I1	  14992  If the system uses a single character for text file line delimitation,
 I1	  14993  define NLCHAR to the value of that character.  For text files, that
 I1	  14994  character will be converted to CRLF upon output, and CRLF will be converted
 I1	  14995  to that character on input during text-mode (default) packet operations.
 I1	  14996 */
 I1    X  14997 #ifdef MAC                              /* Macintosh */
 I1    X  14998 #define NLCHAR 015
 I1    X  14999 #else
 I1    X  15000 #ifdef OSK				/* OS-9/68K */
 I1    X  15001 #define NLCHAR 015
 I1    X  15002 #else                                   /* All Unix-like systems */
 I1	  15003 #define NLCHAR 012
 I1	  15004 #endif /* OSK */
 I1	  15005 #endif /* MAC */
 I1	  15006 
 I1	  15007 /*
 I1	  15008  At this point, if there's a system that uses ordinary CRLF line
 I1	  15009  delimitation AND the C compiler actually returns both the CR and
 I1	  15010  the LF when doing input from a file, then #undef NLCHAR.
 I1	  15011 */
 I1    X  15012 #ifdef OS2				/* OS/2 */
 I1    X  15013 #undef NLCHAR
 I1    X  15014 #endif /* OS2 */
 I1	  15015 
 I1    X  15016 #ifdef GEMDOS				/* Atari ST */
 I1    X  15017 #undef NLCHAR
 I1    X  15018 #endif /* GEMDOS */
 I1	  15019 
 I1	  15020 /*
 I1	  15021   VMS file formats are so complicated we need to do all the conversion
 I1	  15022   work in the CKVFIO module, so we tell the rest of C-Kermit not to fiddle
 I1	  15023   with the bytes.
 I1	  15024 */
 I1	  15025 
 I1	  15026 #ifdef vms
 I1	  15027 #undef NLCHAR
 I1	  15028 #endif /* vms */
 I1	  15029 
 I1	  15030 /* The device name of a job's controlling terminal */
 I1	  15031 /* Special for VMS, same for all Unixes (?), not used by Macintosh */
 I1	  15032 
 I1    X  15033 #ifdef BEOS
 I1    X  15034 #define CTTNAM dftty
 I1    X  15035 #else
 I1	  15036 #ifdef vms
 I1	  15037 #define CTTNAM "SYS$INPUT:"		/* (4 Jan 2002) Was TT: */
 I1    X  15038 #else
 I1    X  15039 #ifdef datageneral
 I1    X  15040 #define CTTNAM "@output"
 I1    X  15041 #else
 I1    X  15042 #ifdef OSK
 I1    X  15043 extern char myttystr[];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 269
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15044 #define CTTNAM myttystr
 I1    X  15045 #else
 I1    X  15046 #ifdef OS2
 I1    X  15047 #define CTTNAM "con"
 I1    X  15048 #else
 I1    X  15049 #ifdef UNIX
 I1    X  15050 #define CTTNAM "/dev/tty"
 I1    X  15051 #else
 I1    X  15052 #ifdef GEMDOS
 I1    X  15053 #define CTTNAM "aux:"
 I1    X  15054 #else
 I1    X  15055 #ifdef STRATUS
 I1    X  15056 extern char myttystr[];
 I1    X  15057 #define CTTNAM myttystr
 I1    X  15058 #else /* Anyone else... */
 I1    X  15059 #define CTTNAM "stdout"			/* This is a kludge used by Mac */
 I1    X  15060 #endif /* STRATUS */
 I1    X  15061 #endif /* GEMDOS */
 I1    X  15062 #endif /* UNIX */
 I1    X  15063 #endif /* OS2 */
 I1    X  15064 #endif /* OSK */
 I1    X  15065 #endif /* datageneral */
 I1    X  15066 #endif /* vms */
 I1	  15067 #endif /* BEOS */
 I1	  15068 
 I1	  15069 #ifndef HAVECTTNAM
 I1    X  15070 #ifdef UNIX
 I1    X  15071 #define HAVECTTNAM
 I1    X  15072 #else
 I1	  15073 #ifdef VMS
 I1	  15074 #define HAVECTTNAM
 I1	  15075 #endif /* VMS */
 I1	  15076 #endif /* UNIX */
 I1	  15077 #endif /* HAVECTTNAM */
 I1	  15078 
 I1	  15079 #ifndef ZFCDAT				/* zfcdat() function available? */
 I1    X  15080 #ifdef UNIX
 I1    X  15081 #define  ZFCDAT
 I1    X  15082 #else
 I1    X  15083 #ifdef STRATUS
 I1    X  15084 #define  ZFCDAT
 I1    X  15085 #else
 I1    X  15086 #ifdef GEMDOS
 I1    X  15087 #define  ZFCDAT
 I1    X  15088 #else
 I1    X  15089 #ifdef AMIGA
 I1    X  15090 #define  ZFCDAT
 I1    X  15091 #else
 I1    X  15092 #ifdef OS2
 I1    X  15093 #define  ZFCDAT
 I1    X  15094 #else
 I1    X  15095 #ifdef datageneral
 I1    X  15096 #define  ZFCDAT
 I1    X  15097 #else
 I1	  15098 #ifdef VMS
 I1	  15099 #define  ZFCDAT
 I1	  15100 #endif /* VMS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 270
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15101 #endif /* datageneral */
 I1	  15102 #endif /* OS2 */
 I1	  15103 #endif /* AMIGA */
 I1	  15104 #endif /* GEMDOS */
 I1	  15105 #endif /* STRATUS */
 I1	  15106 #endif /* UNIX */
 I1	  15107 #endif /* ZFCDAT */
 I1	  15108 
 I1    X  15109 #ifdef SUNS4S5
 I1    X  15110 #define tolower _tolower
 I1    X  15111 #define toupper _toupper
 I1    X  15112 #endif /* SUNS4S5 */
 I1	  15113 
 I1	  15114 /* Error number */
 I1	  15115 
 I1    X  15116 #ifdef _CRAY
 I1    X  15117 #ifdef _CRAYCOM				/* Cray Computer Corp. */
 I1    X  15118 extern int errno;
 I1    X  15119 #else /* _CRAYCOM */
 I1    X  15120 #include <errno.h>			/* Cray Research UNICOS defines */
 I1    X  15121 					/* errno as a function. */
 I1    X  15122 #endif /* _CRAYCOM */			/* OK for UNICOS 6.1 and 7.0. */
 I1    X  15123 #else /* _CRAY */
 I1    X  15124 #ifdef STRATUS				/* Stratus VOS */
 I1    X  15125 #include <errno.h>
 I1    X  15126 #else /* not STRATUS */
 I1    X  15127 #ifndef VMS
 I1    X  15128 #ifndef OS2
 I1    X  15129 #ifdef __GLIBC__
 I1    X  15130 /*
 I1    X  15131   "glibc uses threads, kermit uses glibc; errno access is in Thread Local
 I1    X  15132   Storage (TLS) from glibc-3.2.2.  ...a thread specific errno is being run in
 I1    X  15133   thread local storage relative to the %gs segment register, so some means to
 I1    X  15134   revector gets/puts needs to be done." - Jeff Johnson, Red Hat, Feb 2003.
 I1    X  15135 */
 I1    X  15136 #include <errno.h>
 I1    X  15137 #else
 I1    X  15138 /*
 I1    X  15139   It is assumed that if the foregoing code doesn't explicitly include errno.h,
 I1    X  15140   that it gets included anyway by some other header file that *is* included.
 I1    X  15141   If there is still some platform where the build fails because errno is not
 I1    X  15142   defined, add -DDCL_ERRNO to the Cflags for that makefile target.  Also
 I1    X  15143   see the new first stanza of the "linux" makefile target for code that
 I1    X  15144   that checks for this at 'make' time and adds DCL_ERRNO only if necessary.
 I1    X  15145   WARNING: this might break if errno.h does not exist or is not in the
 I1    X  15146   the default directory for header files.
 I1    X  15147   - fdc, 7-8 October 2020
 I1    X  15148 */
 I1    X  15149 #ifdef DCL_ERRNO
 I1    X  15150 extern int errno;
 I1    X  15151 #else
 I1    X  15152 #include <errno.h>
 I1    X  15153 #endif  /* DCL_ERRNO */
 I1    X  15154 #endif /* __GLIBC__ */
 I1    X  15155 #endif /* OS2 */
 I1    X  15156 #endif /* VMS */
 I1	  15157 #endif /* STRATUS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 271
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15158 #endif /* _CRAY */
 I1	  15159 
 I1    X  15160 #ifdef UNIX				/* Catch-all so we can have */
 I1    X  15161 #ifndef ESRCH				/* access to error mnemonics */
 I1    X  15162 #include <errno.h>			/* in all modules - 2007/08/25 */
 I1    X  15163 #endif	/* ESRCH */
 I1    X  15164 #endif	/* UNIX */
 I1	  15165 
 I1    X  15166 #ifdef pdp11				/* Try to make some space on PDP-11 */
 I1    X  15167 #ifndef NODIAL
 I1    X  15168 #define NODIAL
 I1    X  15169 #endif /* NODIAL */
 I1    X  15170 #ifndef NOCURSES
 I1    X  15171 #define NOCURSES
 I1    X  15172 #endif /* NOCURSES */
 I1    X  15173 #ifndef NOBIGBUF
 I1    X  15174 #define NOBIGBUF
 I1    X  15175 #endif /* NOBIGBUF */
 I1    X  15176 #endif /* pdp11 */
 I1	  15177 
 I1	  15178 #ifndef NOBIGBUF
 I1	  15179 #ifndef BIGBUFOK			/* Platforms with lots of memory */
 I1	  15180 
 I1    X  15181 #ifdef QNX				/* QNX */
 I1    X  15182 #ifndef QNX16				/* But not 16-bit versions */
 I1    X  15183 #define BIGBUFOK
 I1    X  15184 #endif /* QNX16 */
 I1    X  15185 #endif /* QNX */
 I1	  15186 
 I1    X  15187 #ifdef BSD44
 I1    X  15188 #define BIGBUFOK
 I1    X  15189 #endif /* BSD44 */
 I1	  15190 
 I1    X  15191 #ifdef STRATUS				/* Stratus VOS */
 I1    X  15192 #define BIGBUFOK
 I1    X  15193 #endif /* STRATUS */
 I1	  15194 
 I1    X  15195 #ifdef sparc				/* SPARC processors */
 I1    X  15196 #define BIGBUFOK
 I1    X  15197 #endif /* sparc */
 I1	  15198 
 I1    X  15199 #ifdef mips				/* MIPS processors */
 I1    X  15200 #define BIGBUFOK
 I1    X  15201 #endif /* mips */
 I1	  15202 
 I1    X  15203 #ifdef HPUX9				/* HP-UX 9.x */
 I1    X  15204 #define BIGBUFOK
 I1    X  15205 #endif /* HPUX9 */
 I1	  15206 
 I1    X  15207 #ifdef HPUX10				/* HP-UX 10.0 PA-RISC */
 I1    X  15208 #define BIGBUFOK
 I1    X  15209 #endif /* HPUX10 */
 I1	  15210 
 I1    X  15211 #ifdef NEXT				/* NeXTSTEP */
 I1    X  15212 #ifdef mc68000				/* on NEXT platforms... */
 I1    X  15213 #define BIGBUFOK
 I1    X  15214 #endif /* mc68000 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 272
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15215 #endif /* NEXT */
 I1	  15216 
 I1    X  15217 #ifdef LINUX				/* Linux from 1998 on should be OK */
 I1    X  15218 #ifndef BIGBUFOK
 I1    X  15219 #define BIGBUFOK
 I1    X  15220 #endif /* BIGBUFOK */
 I1    X  15221 #endif /* LINUX */
 I1	  15222 
 I1    X  15223 #ifdef OS2				/* 32-bit OS/2 2.x and above */
 I1    X  15224 #ifdef __32BIT__
 I1    X  15225 #define BIGBUFOK
 I1    X  15226 #endif /* __32BIT__ */
 I1    X  15227 #ifdef NT
 I1    X  15228 #define BIGBUFOK
 I1    X  15229 #endif /* NT */
 I1    X  15230 #endif /* OS2 */
 I1	  15231 
 I1    X  15232 #ifdef Plan9				/* Plan 9 is OK */
 I1    X  15233 #define BIGBUFOK
 I1    X  15234 #endif /* Plan9 */
 I1	  15235 
 I1	  15236 #ifdef VMS				/* Any VMS is OK */
 I1	  15237 #ifndef BIGBUFOK
 I1	  15238 #define BIGBUFOK
 I1	  15239 #endif /* BIGBUFOK */
 I1	  15240 #endif /* VMS */
 I1	  15241 
 I1    X  15242 #ifdef __alpha				/* DEC 64-bit Alpha, e.g. OSF/1 */
 I1    X  15243 #ifndef BIGBUFOK			/* Might already be defined for VMS */
 I1    X  15244 #define BIGBUFOK
 I1    X  15245 #endif /* BIGBUFOK */
 I1    X  15246 #endif /* __alpha */
 I1	  15247 
 I1    X  15248 #ifdef sgi				/* SGI with IRIX 4.0 or later */
 I1    X  15249 #ifndef BIGBUFOK
 I1    X  15250 #define BIGBUFOK
 I1    X  15251 #endif /* BIGBUFOK */
 I1    X  15252 #endif /* sgi */
 I1	  15253 
 I1    X  15254 #ifdef AIXRS				/* AIX on RISC */
 I1    X  15255 #define BIGBUFOK
 I1    X  15256 #endif /* AIXRS */
 I1	  15257 
 I1    X  15258 #ifdef CK_SCOV5				/* SCO OSR5 */
 I1    X  15259 #ifndef BIGBUFOK
 I1    X  15260 #define BIGBUFOK
 I1    X  15261 #endif /* BIGBUFOK */
 I1    X  15262 #endif /* CK_SCOV5 */
 I1	  15263 
 I1    X  15264 #ifdef SOLARIS				/* Solaris x86 */
 I1    X  15265 #ifndef BIGBUFOK
 I1    X  15266 #define BIGBUFOK
 I1    X  15267 #endif /* BIGBUFOK */
 I1    X  15268 #endif /* SOLARIS */
 I1	  15269 
 I1	  15270 #endif /* BIGBUFOK */
 I1	  15271 #endif /* NOBIGBUF */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 273
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15272 
 I1    X  15273 #ifdef CK_SMALL
 I1    X  15274 #ifdef BIGBUFOK
 I1    X  15275 #undef BIGBUFOK
 I1    X  15276 #endif /* BIGBUFOK */
 I1    X  15277 #endif /* CK_SMALL */
 I1	  15278 
 I1	  15279 /* If "memory is no problem" then this improves performance */
 I1	  15280 
 I1	  15281 #ifdef DEBUG
 I1	  15282 #ifdef BIGBUFOK
 I1    X  15283 #ifndef IFDEBUG
 I1    X  15284 #define IFDEBUG
 I1    X  15285 #endif /* IFDEBUG */
 I1	  15286 #endif /* BIGBUFOK */
 I1	  15287 #endif /* DEBUG */
 I1	  15288 
 I1	  15289 /* File System Defaults */
 I1	  15290 
 I1	  15291 #ifndef UIDBUFLEN			/* Length of User ID */
 I1    X  15292 #ifdef OS2
 I1    X  15293 #define UIDBUFLEN 256
 I1    X  15294 #else /* OS2 */
 I1	  15295 #ifdef BIGBUFOK
 I1	  15296 #define UIDBUFLEN 256
 I1    X  15297 #else
 I1    X  15298 #define UIDBUFLEN 64
 I1    X  15299 #endif /* BIGBUFOK */
 I1	  15300 #endif /* OS2 */
 I1	  15301 #endif /* UIDBUFLEN */
 I1	  15302 
 I1    X  15303 #ifdef UNIX
 I1    X  15304 #ifdef PROVX1
 I1    X  15305 #define MAXWLD 50
 I1    X  15306 #else
 I1    X  15307 #ifdef pdp11
 I1    X  15308 #define MAXWLD 50
 I1    X  15309 #else
 I1    X  15310 #ifdef BIGBUFOK
 I1    X  15311 #define MAXWLD 102400
 I1    X  15312 #else
 I1    X  15313 #define MAXWLD 1024
 I1    X  15314 #endif /* BIGBUFOK */
 I1    X  15315 #endif /* pdp11 */
 I1    X  15316 #endif /* PROVX1 */
 I1    X  15317 #else
 I1	  15318 #ifdef VMS
 I1	  15319 #define MAXWLD 102400			/* Maximum wildcard filenames */
 I1    X  15320 #else
 I1    X  15321 #ifdef datageneral
 I1    X  15322 #define MAXWLD 500
 I1    X  15323 #else
 I1    X  15324 #ifdef STRATUS
 I1    X  15325 #define MAXWLD 5000
 I1    X  15326 #endif /* STRATUS */
 I1    X  15327 #endif /* datageneral */
 I1    X  15328 #endif /* VMS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 274
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15329 #endif /* UNIX */
 I1	  15330 
 I1	  15331 #ifdef VMS
 I1	  15332 #define DBLKSIZ 512
 I1	  15333 #define DLRECL 512
 I1    X  15334 #else
 I1    X  15335 #define DBLKSIZ 0
 I1    X  15336 #define DLRECL 0
 I1    X  15337 #endif /* VMS */
 I1	  15338 
 I1	  15339 /* Communication device / network host name length */
 I1	  15340 
 I1	  15341 #ifdef BIGBUFOK
 I1	  15342 #define TTNAMLEN 512
 I1    X  15343 #else
 I1    X  15344 #ifdef MAC
 I1    X  15345 #define TTNAMLEN 256
 I1    X  15346 #else
 I1    X  15347 #ifndef CK_SMALL
 I1    X  15348 #define TTNAMLEN 128
 I1    X  15349 #else
 I1    X  15350 #define TTNAMLEN 80
 I1    X  15351 #endif /* CK_SMALL */
 I1    X  15352 #endif /* MAC */
 I1    X  15353 #endif /* BIGBUFOK */
 I1	  15354 
 I1	  15355 /* Program return codes for DECUS C and UNIX (VMS uses UNIX codes) */
 I1	  15356 
 I1    X  15357 #ifdef decus
 I1    X  15358 #define GOOD_EXIT   IO_NORMAL
 I1    X  15359 #define BAD_EXIT    IO_ERROR
 I1    X  15360 #else
 I1	  15361 #define GOOD_EXIT   0
 I1	  15362 #define BAD_EXIT    1
 I1	  15363 #endif /* decus */
 I1	  15364 
 I1	  15365 /* Special hack for Fortune, which doesn't have <sys/file.h>... */
 I1	  15366 
 I1    X  15367 #ifdef FT18
 I1    X  15368 #define FREAD 0x01
 I1    X  15369 #define FWRITE 0x10
 I1    X  15370 #endif /* FT18 */
 I1	  15371 
 I1	  15372 /* Special hack for OS-9/68k */
 I1    X  15373 #ifdef OSK
 I1    X  15374 #ifndef _UCC
 I1    X  15375 #define SIGALRM 30			/* May always cancel I/O */
 I1    X  15376 #endif /* _UCC */
 I1    X  15377 #define SIGARB	1234			/* Arbitrary for I/O */
 I1    X  15378 SIGTYP (*signal())();
 I1    X  15379 #endif /* OSK */
 I1	  15380 
 I1    X  15381 #ifdef MINIX
 I1    X  15382 #ifdef putchar
 I1    X  15383 #undef putchar
 I1    X  15384 #endif /* putchar */
 I1    X  15385 #define putchar(c) (putc(c,stdout)!=EOF)&&fflush(stdout)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 275
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15386 #endif /* MINIX */
 I1	  15387 
 I1    X  15388 #ifdef datageneral			/* Data General AOS/VS */
 I1    X  15389 #ifdef putchar
 I1    X  15390 #undef putchar
 I1    X  15391 #endif /* putchar */
 I1    X  15392 #define putchar(c) conoc(c)
 I1    X  15393 #endif /* datageneral */
 I1	  15394 
 I1	  15395 /* Escape/quote character used by the command parser */
 I1	  15396 
 I1	  15397 #define CMDQ '\\'
 I1	  15398 
 I1	  15399 /* Symbols for RS-232 modem signals */
 I1	  15400 
 I1	  15401 #define KM_FG    1			/* Frame ground */
 I1	  15402 #define KM_TXD   2			/* Transmit */
 I1	  15403 #define KM_RXD   3			/* Receive */
 I1	  15404 #define KM_RTS   4			/* Request to Send */
 I1	  15405 #define KM_CTS   5			/* Clear to Send */
 I1	  15406 #define KM_DSR   6			/* Data Set Ready */
 I1	  15407 #define KM_SG    7			/* Signal ground */
 I1	  15408 #define KM_DCD   8			/* Carrier Detect */
 I1	  15409 #define KM_DTR  20			/* Data Terminal Ready */
 I1	  15410 #define KM_RI   22			/* Ring Indication */
 I1	  15411 
 I1	  15412 /* Bit mask values for modem signals */
 I1	  15413 
 I1	  15414 #define BM_CTS   0001			/* Clear to send       (From DCE) */
 I1	  15415 #define BM_DSR   0002			/* Dataset ready       (From DCE) */
 I1	  15416 #define BM_DCD   0004			/* Carrier             (From DCE) */
 I1	  15417 #define BM_RNG   0010			/* Ring Indicator      (From DCE) */
 I1	  15418 #define BM_DTR   0020			/* Data Terminal Ready (From DTE) */
 I1	  15419 #define BM_RTS   0040			/* Request to Send     (From DTE) */
 I1	  15420 
 I1	  15421 /* Codes for full duplex flow control */
 I1	  15422 
 I1	  15423 #define FLO_NONE 0			/* None */
 I1	  15424 #define FLO_XONX 1			/* Xon/Xoff (soft) */
 I1	  15425 #define FLO_RTSC 2			/* RTS/CTS (hard) */
 I1	  15426 #define FLO_DTRC 3			/* DTR/CD (hard) */
 I1	  15427 #define FLO_ETXA 4			/* ETX/ACK (soft) */
 I1	  15428 #define FLO_STRG 5			/* String-based (soft) */
 I1	  15429 #define FLO_DIAL 6			/* DIALing kludge */
 I1	  15430 #define FLO_DIAX 7			/* Cancel dialing kludge */
 I1	  15431 #define FLO_DTRT 8			/* DTR/CTS (hard) */
 I1	  15432 #define FLO_KEEP 9			/* Keep, i.e. don't touch or change */
 I1	  15433 #define FLO_AUTO 10			/* Figure out automatically */
 I1	  15434 
 I1	  15435 /* Types of connections */
 I1	  15436 
 I1	  15437 #define CXT_REMOTE  0			/* Remote mode - no connection */
 I1	  15438 #define CXT_DIRECT  1			/* Direct serial connection */
 I1	  15439 #define CXT_MODEM   2			/* Modem dialout */
 I1	  15440 #define CXT_TCPIP   3			/* TCP/IP - Telnet, Rlogin, etc */
 I1	  15441 #define CXT_X25     4			/* X.25 peer-to-peer */
 I1	  15442 #define CXT_DECNET  5			/* DECnet (CTERM, etc) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 276
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15443 #define CXT_LAT     6			/* LAT */
 I1	  15444 #define CXT_NETBIOS 7			/* NETBIOS */
 I1	  15445 #define CXT_NPIPE   8			/* Named Pipe */
 I1	  15446 #define CXT_PIPE    9			/* Pipe, Command, PTY, DLL, etc */
 I1	  15447 #define CXT_SSH     10                  /* SSH */
 I1	  15448 #define CXT_MAX     10			/* Highest connection type */
 I1	  15449 
 I1	  15450 /* Autodownload Detection Options */
 I1	  15451 
 I1	  15452 #define ADL_PACK 0			/* Auto-Download detect packet */
 I1	  15453 #define ADL_STR  1			/* Auto-Download detect string */
 I1	  15454 
 I1	  15455 /* And finally... */
 I1	  15456 
 I1    X  15457 #ifdef COMMENT				/* Make sure this is NOT defined! */
 I1    X  15458 #undef COMMENT
 I1    X  15459 #endif /* COMMENT */
 I1	  15460 
 I1	  15461 /* zstr zattr filinfo were here (moved to top for DECC 5 Jun 2000) */
 I1	  15462 
 I1	  15463 #ifndef ZFNQFP				/* Versions that have zfnqfp() */
 I1    X  15464 #ifdef UNIX
 I1    X  15465 #define ZFNQFP
 I1    X  15466 #else
 I1	  15467 #ifdef VMS
 I1	  15468 #define ZFNQFP
 I1    X  15469 #else
 I1    X  15470 #ifdef OS2
 I1    X  15471 #define ZFNQFP
 I1    X  15472 #else
 I1    X  15473 #ifdef datageneral
 I1    X  15474 #define ZFNQFP
 I1    X  15475 #else
 I1    X  15476 #ifdef STRATUS
 I1    X  15477 #define ZFNQFP
 I1    X  15478 #endif /* STRATUS */
 I1    X  15479 #endif /* datageneral */
 I1    X  15480 #endif /* OS2 */
 I1    X  15481 #endif /* VMS */
 I1	  15482 #endif /* UNIX */
 I1	  15483 struct zfnfp {
 I1	  15484    int len;				/* Length of full pathname */
 I1	  15485    char * fpath;			/* Pointer to full pathname */
 I1	  15486    char * fname;			/* Pointer to name part */
 I1	  15487 };
 I1	  15488 #endif /* ZFNQFP */
 I1	  15489 
 I1	  15490 /* Systems that support FILE TYPE LABELED */
 I1	  15491 
 I1	  15492 #ifdef VMS
 I1	  15493 #define CK_LABELED
 I1    X  15494 #else
 I1    X  15495 #ifdef OS2
 I1    X  15496 #ifdef __32BIT__
 I1    X  15497 #ifndef NT
 I1    X  15498 #define CK_LABELED
 I1    X  15499 #endif /* NT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 277
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15500 #endif /* __32BIT__ */
 I1    X  15501 #endif /* OS2 */
 I1    X  15502 #endif /* VMS */
 I1	  15503 
 I1	  15504 /* LABELED FILE options bitmask */
 I1	  15505 
 I1	  15506 #ifdef VMS				/* For VMS */
 I1	  15507 #define LBL_NAM  1			/* Ignore incoming name if set */
 I1	  15508 #define LBL_PTH  2			/* Use complete path if set */
 I1	  15509 #define LBL_ACL  4			/* Preserve ACLs if set */
 I1	  15510 #define LBL_BCK  8			/* Preserve backup date if set */
 I1	  15511 #define LBL_OWN 16			/* Preserve ownership if set */
 I1	  15512 
 I1    X  15513 #else
 I1    X  15514 
 I1    X  15515 #ifdef OS2				/* Ditto for OS/2 */
 I1    X  15516 #define LBL_NOR  0x0000			/* Normal file */
 I1    X  15517 #define LBL_ARC  0x0020			/* Archive */
 I1    X  15518 #define LBL_DIR  0x0010			/* Directory */
 I1    X  15519 #define LBL_HID  0x0002			/* Hidden file */
 I1    X  15520 #define LBL_RO   0x0001			/* Read only file */
 I1    X  15521 #define LBL_SYS  0x0004			/* System file */
 I1    X  15522 #define LBL_EXT  0x0040			/* Extended */
 I1    X  15523 #endif /* OS2 */
 I1    X  15524 #endif /* VMS */
 I1	  15525 
 I1	  15526 /*
 I1	  15527   Data types.  First the header file for data types so we can pick up the
 I1	  15528   types used for pids, uids, and gids.  Override this section by putting
 I1	  15529   -DCKTYP_H=xxx on the command line to specify the header file where your
 I1	  15530   system defines these types.
 I1	  15531 */
 I1	  15532 #ifndef STRATUS
 I1    X  15533 #ifdef __ALPHA
 I1    X  15534 #ifdef MULTINET
 I1    X  15535 #define CK_TGV_AXP
 I1    X  15536 #endif /* MULTINET */
 I1    X  15537 #endif /* __ALPHA */
 I1	  15538 
 I1    X  15539 #ifdef CK_TGV_AXP			/* Alpha, VMS, MultiNet */
 I1	  15540 /*
 I1	  15541   Starting in DECC 5.0, <stdlib.h> no longer includes <types.h>.
 I1	  15542   But before that an elaborate workaround is required, which results in
 I1	  15543   including <types.h> sometimes but not others, evidently depending on whether
 I1	  15544   <types.h> protects itself against multiple inclusion, which in turn probably
 I1	  15545   differentiates between DECC <types.h> and TGV <types.h>.  Unfortunately I
 I1	  15546   don't remember the details.  (fdc, 25 Oct 96)
 I1    X  15547 */
 I1    X  15548 #ifdef COMMENT
 I1    X  15549 /*
 I1    X  15550   Previously the test here was for DEC version prior to 4.0, but since the
 I1    X  15551   test involved an "#if" statement, it was not portable and broke some non-VMS
 I1    X  15552   builds.  In any case, condition was never satisfied, so the result of
 I1    X  15553   commenting this section out is the same as the previous "#if" condition.
 I1    X  15554 */
 I1    X  15555 #ifndef __TYPES_LOADED
 I1    X  15556 #define __TYPES_LOADED			/* Work around bug in .h files */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 278
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15557 #endif /* __TYPES_LOADED */
 I1    X  15558 #endif /* COMMENT */
 I1    X  15559 #include <sys/types.h>
 I1    X  15560 #ifdef IF_DOT_H
 I1    X  15561 #ifndef MULTINET
 I1    X  15562 #include <if.h>				/* Needed to put up u_int typedef */
 I1    X  15563 #endif /* MULTINET */
 I1    X  15564 #else /* IF_DOT_H */
 I1    X  15565 #ifdef NEEDUINT
 I1    X  15566 typedef unsigned int u_int;
 I1    X  15567 #endif /* NEEDUINT */
 I1    X  15568 #endif /* IF_DOT_H */
 I1    X  15569 #else					/* !CK_TGV_AXP */
 I1    X  15570 #ifdef OSK				/* OS-9 */
 I1    X  15571 #include <types.h>
 I1    X  15572 #else					/* General case, not OS-9 */
 I1	  15573 #ifndef CKTYP_H
 I1    X  15574 #ifndef VMS
 I1    X  15575 #ifndef MAC
 I1    X  15576 #ifndef AMIGA
 I1    X  15577 #define CKTYP_H <sys/types.h>
 I1    X  15578 #endif /* AMIGA */
 I1    X  15579 #endif /* MAC */
 I1    X  15580 #endif /* VMS */
 I1	  15581 #endif /* CKTYP_H */
 I1	  15582 
 I1    X  15583 #ifdef GEMDOS
 I1    X  15584 #undef CKTYP_H
 I1    X  15585 #include <types.h>
 I1    X  15586 #endif /* GEMDOS */
 I1	  15587 
 I1    X  15588 #ifdef OS2
 I1    X  15589 #undef CKTYP_H
 I1    X  15590 #include <sys/types.h>
 I1    X  15591 #endif /* OS2 */
 I1	  15592 
 I1    X  15593 #ifdef CKTYP_H				/* Include it. */
 I1    X  15594 #ifdef COHERENT				/* Except for COHERENT */
 I1    X  15595 #include <unistd.h>
 I1    X  15596 #include <sys/types.h>
 I1    X  15597 #else
 I1    X  15598 #ifdef datageneral			/* AOS/VS */
 I1    X  15599 #include <sys/types.h>
 I1    X  15600 #else  /* All others */
 I1    X  15601 #ifdef __bsdi__				/* BSDI */
 I1    X  15602 #ifdef POSIX
 I1    X  15603 #undef _POSIX_SOURCE
 I1    X  15604 #endif /* POSIX */
 I1    X  15605 #endif /* __bsdi__ */
 I1    X  15606 #include CKTYP_H
 I1    X  15607 #ifdef __bsdi__
 I1    X  15608 #ifdef POSIX
 I1    X  15609 #define _POSIX_SOURCE
 I1    X  15610 #endif /* POSIX */
 I1    X  15611 #endif /* __bsdi__ */
 I1    X  15612 #endif /* datageneral */
 I1    X  15613 #endif /* COHERENT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 279
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15614 #endif /* CKTYP_H */
 I1	  15615 
 I1	  15616 #endif /* OSK */
 I1	  15617 #endif /* CK_TGV_AXP */
 I1	  15618 #endif /* STRATUS */			/* End of types.h section */
 I1	  15619 
 I1	  15620 /*
 I1	  15621   File lengths and offsets.  This section is expected to grow as we
 I1	  15622   support long files on 32-bit platforms.  We want this data type to be
 I1	  15623   signed because so many functions return either a file size or a negative
 I1	  15624   value to indicate an error.
 I1	  15625 */
 I1	  15626 #ifndef CK_OFF_T
 I1    X  15627 #ifdef OS2
 I1    X  15628 #ifdef NT
 I1    X  15629 #ifdef CKT_NT31
 I1    X  15630 #ifdef CKT_NT35
 I1    X  15631 /* Any compiler capable of targeting NT 3.50 should support __int64
 I1    X  15632  * (Visual C++ 2.0, OpenWatcom) */
 I1    X  15633 #define CK_OFF_T __int64
 I1    X  15634 #else /* CKT_NT35 */
 I1    X  15635 /* Compilers capable of targeting only Windows NT 3.1
 I1    X  15636  * (Visual C++ 1.0 32-bit edition) may not support __int64 */
 I1    X  15637 #define CK_OFF_T long
 I1    X  15638 #endif /* CKT_NT35 */
 I1    X  15639 #else /* CKT_NT31 */
 I1    X  15640 #define CK_OFF_T __int64
 I1    X  15641 #endif /* CKT_NT31 */
 I1    X  15642 #else /* NT */
 I1    X  15643 #define CK_OFF_T long
 I1    X  15644 #endif  /* NT */
 I1    X  15645 #endif	/* OS2 */
 I1	  15646 #endif	/* CK_OFF_T */
 I1	  15647 
 I1	  15648 /* FreeBSD and OpenBSD set off_t to the appropriate size unconditionally */
 I1	  15649 
 I1	  15650 #ifndef CK_OFF_T
 I1    X  15651 #ifdef __FreeBSD__
 I1    X  15652 #define CK_OFF_T off_t
 I1    X  15653 #else
 I1    X  15654 #ifdef __OpenBSD__
 I1    X  15655 #define CK_OFF_T off_t
 I1    X  15656 #endif	/* __OpenBSD__ */
 I1	  15657 #endif	/* __FreeBSD__ */
 I1	  15658 #endif	/* CK_OFF_T */
 I1	  15659 
 I1	  15660 /* 32-bit platforms that support long files thru "transitional interface" */
 I1	  15661 /* These include Linux, Solaris, NetBSD... */
 I1	  15662 
 I1    X  15663 #ifdef AIXRS
 I1    X  15664 #ifdef _LARGE_FILES
 I1    X  15665 #ifndef CK_OFF_T
 I1    X  15666 #define CK_OFF_T off_t
 I1    X  15667 #endif	/* CK_OFF_T */
 I1    X  15668 #endif	/* _LARGE_FILES */
 I1    X  15669 #endif	/* AIXRS */
 I1	  15670 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 280
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15671 #ifdef _LARGEFILE_SOURCE
 I1	  15672 #ifndef CK_OFF_T
 I1	  15673 #define CK_OFF_T off_t
 I1	  15674 #endif	/* CK_OFF_T */
 I1    X  15675 #ifdef IRIX
 I1    X  15676 #define CKFSEEK(a,b,c) fseek64(a,b,c)
 I1    X  15677 #define CKFTELL(a) ftell64(a)
 I1    X  15678 #else /* IRIX */
 I1	  15679 #define CKFSEEK(a,b,c) fseeko(a,b,c)
 I1	  15680 #define CKFTELL(a) ftello(a)
 I1	  15681 #endif	/* IRIX */
 I1    X  15682 #else  /* Not  _LARGEFILE_SOURCE */
 I1    X  15683 #define CKFSEEK(a,b,c) fseek(a,b,c)
 I1    X  15684 #define CKFTELL(a) ftell(a)
 I1    X  15685 /* See below the next section for the catch-all case */
 I1    X  15686 #endif	/* _LARGEFILE_SOURCE */
 I1	  15687 
 I1	  15688 /* 32-bit or 64-bit platforms */
 I1	  15689 
 I1	  15690 /* CK_64BIT is a compile-time symbol indicating a true 64-bit build */
 I1	  15691 /* meaning that longs and pointers are 64 bits */
 I1	  15692 
 I1	  15693 #ifndef NT
 I1    X  15694 #ifndef VMS				/* VMS Alpha and IA64 are 32-bit! */
 I1    X  15695 #ifndef CK_64BIT
 I1    X  15696 #ifdef _LP64				/* Solaris */
 I1    X  15697 #define CK_64BIT
 I1    X  15698 #else
 I1    X  15699 #ifdef __LP64__				/* MacOS X 10.4 (or _LP64,__ppc64__) */
 I1    X  15700 #define CK_64BIT
 I1    X  15701 #else
 I1    X  15702 #ifdef __arch64__			/* gcc alpha, sparc */
 I1    X  15703 #define CK_64BIT
 I1    X  15704 #else
 I1    X  15705 #ifdef __alpha				/* Alpha decc (or __ALPHA) */
 I1    X  15706 #define CK_64BIT
 I1    X  15707 #else
 I1    X  15708 #ifdef __amd64				/* AMD x86_64 */
 I1    X  15709 #define CK_64BIT
 I1    X  15710 #else
 I1    X  15711 #ifdef __x86_64				/* AMD/Intel x86_64 */
 I1    X  15712 #define CK_64BIT
 I1    X  15713 #else
 I1    X  15714 #ifdef __ia64				/* Intel IA64 */
 I1    X  15715 #ifndef HPUX
 I1    X  15716 #define CK_64BIT
 I1    X  15717 #endif	/* HPUX */
 I1    X  15718 #endif	/* __ia64 */
 I1    X  15719 #endif	/* __x86_64 */
 I1    X  15720 #endif	/* __amd64 */
 I1    X  15721 #endif	/* __alpha */
 I1    X  15722 #endif	/* __arch64__ */
 I1    X  15723 #endif	/* __LP64__ */
 I1    X  15724 #endif	/* _LP64 */
 I1    X  15725 #endif	/* CK_64BIT */
 I1    X  15726 #endif	/* VMS */
 I1    X  15727 #else   /* NT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 281
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15728 #ifdef _WIN64               /* NT can be 32bit or 64bit */
 I1    X  15729 #define CK_64BIT
 I1    X  15730 #endif /* _WIN64 */
 I1    X  15731 #endif /* NT */
 I1	  15732 
 I1    X  15733 #ifndef CK_OFF_T
 I1    X  15734 #ifdef CK_64BIT
 I1    X  15735 #define CK_OFF_T off_t			/* This has to be signed */
 I1    X  15736 #else  /* CK_64BIT */
 I1    X  15737 #define CK_OFF_T long			/* Signed */
 I1    X  15738 #endif	/* CK_64BIT */
 I1    X  15739 #endif	/* CK_OFF_T */
 I1	  15740 
 I1    X  15741 #ifndef TLOG
 I1    X  15742 #define tlog(a,b,c,d)
 I1    X  15743 #else
 I1	  15744 #ifndef CKCMAI
 I1	  15745 /* Debugging included.  Declare debug log flag in main program only. */
 I1	  15746 extern int tralog, tlogfmt;
 I1	  15747 #endif /* CKCMAI */
 I1	  15748 _PROTOTYP(VOID dotlog,(int, char *, char *, CK_OFF_T));
       E	 void dotlog ( int , char * , char * , off_t )
 I1	  15749 #define tlog(a,b,c,d) if (tralog && tlogfmt) dotlog(a,b,c,(CK_OFF_T)d)
 I1	  15750 _PROTOTYP(VOID doxlog,(int, char *, CK_OFF_T, int, int, char *));
       E	 void doxlog ( int , char * , off_t , int , int , char * )
 I1	  15751 #endif /* TLOG */
 I1	  15752 
 I1    X  15753 #ifndef DEBUG
 I1    X  15754 /* Compile all the debug() statements away.  Saves a lot of space and time. */
 I1    X  15755 #define debug(a,b,c,d)
 I1    X  15756 #define ckhexdump(a,b,c)
 I1    X  15757 /* Now define the debug() macro. */
 I1    X  15758 #else /* DEBUG */
 I1	  15759 _PROTOTYP(int dodebug,(int,char *,char *,CK_OFF_T));
       E	 int dodebug ( int , char * , char * , off_t )
 I1	  15760 _PROTOTYP(int dohexdump,(CHAR *,CHAR *,int));
       E	 int dohexdump ( CHAR * , CHAR * , int )
 I1	  15761 #ifdef IFDEBUG
 I1	  15762 /* Use this form to avoid function calls: */
 I1    X  15763 #ifdef COMMENT
 I1    X  15764 #define debug(a,b,c,d) if (deblog) dodebug(a,b,(char *)(c),(CK_OFF_T)(d))
 I1    X  15765 #define ckhexdump(a,b,c) if (deblog) dohexdump((CHAR *)(a),(CHAR *)(b),c)
 I1    X  15766 #else
 I1	  15767 #ifdef CK_ANSIC
 I1	  15768 #define debug(a,b,c,d) \
 I1	  15769 ((void)(deblog?dodebug(a,b,(char *)(c),(CK_OFF_T)(d)):0))
 I1	  15770 #define ckhexdump(a,b,c) \
 I1	  15771 ((void)(deblog?dohexdump((CHAR *)(a),(CHAR *)(b),c):0))
 I1    X  15772 #else
 I1    X  15773 #define debug(a,b,c,d) (deblog?dodebug(a,b,(char *)(c),(CK_OFF_T)(d)):0)
 I1    X  15774 #define ckhexdump(a,b,c) (deblog?dohexdump((CHAR *)(a),(CHAR *)(b),c):0)
 I1    X  15775 #endif /* CK_ANSIC */
 I1	  15776 #endif /* COMMENT */
 I1    X  15777 #else /* IFDEBUG */
 I1    X  15778 /* Use this form to save space: */
 I1    X  15779 #define debug(a,b,c,d) dodebug(a,b,(char *)(c),(CK_OFF_T)(d))
 I1    X  15780 #define ckhexdump(a,b,c) dohexdump((CHAR *)(a),(CHAR *)(b),c)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 282
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15781 #endif /* IFDEBUG */
 I1	  15782 #endif /* DEBUG */
 I1	  15783 
 I1	  15784 
 I1	  15785 /* Structure definitions for Kermit file attributes */
 I1	  15786 /* All strings come as pointer and length combinations */
 I1	  15787 /* Empty string (or for numeric variables, -1) = unused attribute. */
 I1	  15788 
 I1	  15789 struct zstr {             /* string format */
 I1	  15790     int len;	          /* length */
 I1	  15791     char *val;            /* value */
 I1	  15792 };
 I1	  15793 
 I1	  15794 struct zattr {            /* Kermit File Attribute structure */
 I1	  15795     CK_OFF_T lengthk;	  /* (!) file length in K */
       E	     off_t
 I1	  15796     struct zstr type;     /* (") file type (text or binary) */
 I1	  15797     struct zstr date;     /* (#) file creation date yyyymmdd[ hh:mm[:ss]] */
 I1	  15798     struct zstr creator;  /* ($) file creator id */
 I1	  15799     struct zstr account;  /* (%) file account */
 I1	  15800     struct zstr area;     /* (&) area (e.g. directory) for file */
 I1	  15801     struct zstr password; /* (') password for area */
 I1	  15802     long blksize;         /* (() file blocksize */
 I1	  15803     struct zstr xaccess;  /* ()) file access: new, supersede, append, warn */
 I1	  15804     struct zstr encoding; /* (*) encoding (transfer syntax) */
 I1	  15805     struct zstr disp;     /* (+) disposition (mail, message, print, etc) */
 I1	  15806     struct zstr lprotect; /* (,) protection (local syntax) */
 I1	  15807     struct zstr gprotect; /* (-) protection (generic syntax) */
 I1	  15808     struct zstr systemid; /* (.) ID for system of origin */
 I1	  15809     struct zstr recfm;    /* (/) record format */
 I1	  15810     struct zstr sysparam; /* (0) system-dependent parameter string */
 I1	  15811     CK_OFF_T length;      /* (1) exact length on system of origin */
       E	     off_t
 I1	  15812     struct zstr charset;  /* (2) transfer syntax character set */
 I1    X  15813 #ifdef OS2
 I1    X  15814     struct zstr longname; /* OS/2 longname if applicable */
 I1    X  15815 #endif /* OS2 */
 I1	  15816     struct zstr reply;    /* This goes last, used for attribute reply */
 I1	  15817 };
 I1	  15818 
 I1	  15819 /* Kermit file information structure */
 I1	  15820 
 I1	  15821 struct filinfo {
 I1	  15822   int bs;				/* Blocksize */
 I1	  15823   int cs;				/* Character set */
 I1	  15824   long rl;				/* Record length */
 I1	  15825   int org;				/* Organization */
 I1	  15826   int fmt;				/* Record format */
 I1	  15827   int cc;				/* Carriage control */
 I1	  15828   int typ;				/* Type (text/binary) */
 I1	  15829   int dsp;				/* Disposition */
 I1	  15830   char *os_specific;			/* OS-specific attributes */
 I1    X  15831 #ifdef OS2
 I1    X  15832   unsigned long int lblopts;		/* LABELED FILE options bitmask */
 I1    X  15833 #else
 I1	  15834   int lblopts;
 I1	  15835 #endif /* OS2 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 283
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15836 };
 I1	  15837 
 I1	  15838 
 I1	  15839 /*
 I1	  15840   Data type for pids.  If your system uses a different type, put something
 I1	  15841   like -DPID_T=pid_t on command line, or override here.
 I1	  15842 */
 I1	  15843 #ifndef PID_T
 I1	  15844 #define PID_T int
 I1	  15845 #endif /* PID_T */
 I1	  15846 /*
 I1	  15847   Data types for uids and gids.  Same deal as for pids.
 I1	  15848   Wouldn't be nice if there was a preprocessor test to find out if a
 I1	  15849   typedef existed?
 I1	  15850 */
 I1	  15851 #ifdef VMS
 I1	  15852 /* Not used in VMS so who cares */
 I1	  15853 #define UID_T int
 I1	  15854 #define GID_T int
 I1	  15855 #endif /* VMS */
 I1	  15856 
 I1    X  15857 #ifdef POSIX
 I1    X  15858 /* Or would it be better (or worse?) to use _POSIX_SOURCE here? */
 I1    X  15859 #ifndef UID_T
 I1    X  15860 #define UID_T uid_t
 I1    X  15861 #endif /* UID_T */
 I1    X  15862 #ifndef GID_T
 I1    X  15863 #define GID_T gid_t
 I1    X  15864 #endif /* GID_T */
 I1    X  15865 #else /* Not POSIX */
 I1    X  15866 #ifdef SVR4
 I1    X  15867 /* SVR4 and later have uid_t and gid_t. */
 I1    X  15868 /* SVR3 and earlier use int, or unsigned short, or.... */
 I1    X  15869 #ifndef UID_T
 I1    X  15870 #define UID_T uid_t
 I1    X  15871 #endif /* UID_T */
 I1    X  15872 #ifndef GID_T
 I1    X  15873 #define GID_T gid_t
 I1    X  15874 #endif /* GID_T */
 I1    X  15875 #else /* Not SVR4 */
 I1    X  15876 #ifdef BSD43
 I1    X  15877 #ifndef UID_T
 I1    X  15878 #define UID_T uid_t
 I1    X  15879 #endif /* UID_T */
 I1    X  15880 #ifndef GID_T
 I1    X  15881 #define GID_T gid_t
 I1    X  15882 #endif /* GID_T */
 I1    X  15883 #else /* Not BSD43 */
 I1	  15884 /* Default these to int for older UNIX versions */
 I1    X  15885 #ifndef UID_T
 I1    X  15886 #define UID_T int
 I1    X  15887 #endif /* UID_T */
 I1    X  15888 #ifndef GID_T
 I1    X  15889 #define GID_T int
 I1    X  15890 #endif /* GID_T */
 I1	  15891 #endif /* BSD43 */
 I1	  15892 #endif /* SVR4  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 284
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15893 #endif /* POSIX */
 I1	  15894 
 I1	  15895 /*
 I1	  15896   getpwuid() arg type, which is not necessarily the same as UID_T,
 I1	  15897   e.g. in SCO UNIX SVR3, it's int.
 I1	  15898 */
 I1	  15899 #ifndef PWID_T
 I1	  15900 #define PWID_T UID_T
 I1	  15901 #endif /* PWID_T */
 I1	  15902 
 I1    X  15903 #ifdef CK_REDIR
 I1    X  15904 #ifdef NEXT
 I1    X  15905 #define MACHWAIT
 I1    X  15906 #else
 I1    X  15907 #ifdef MACH
 I1    X  15908 #define MACHWAIT
 I1    X  15909 #endif /* MACH */
 I1    X  15910 #endif /* NEXT */
 I1    X  15911 
 I1    X  15912 #ifdef MACHWAIT				/* WAIT_T argument for wait() */
 I1    X  15913 #include <sys/wait.h>
 I1    X  15914 #define CK_WAIT_H
 I1    X  15915 typedef union wait WAIT_T;
 I1    X  15916 #else
 I1    X  15917 #ifdef POSIX
 I1    X  15918 #ifdef OSF
 I1    X  15919 /* OSF wait.h defines BSD wait if _BSD is defined so  hide _BSD from wait.h */
 I1    X  15920 #ifdef _BSD
 I1    X  15921 #define CK_OSF_BSD
 I1    X  15922 #undef  _BSD
 I1    X  15923 #endif /* _BSD */
 I1    X  15924 #endif /* OSF */
 I1    X  15925 #include <sys/wait.h>
 I1    X  15926 #define CK_WAIT_H
 I1    X  15927 #ifndef WAIT_T
 I1    X  15928 typedef int WAIT_T;
 I1    X  15929 #endif /* WAIT_T */
 I1    X  15930 #ifdef CK_OSF_BSD			/* OSF/1: Restore  _BSD definition */
 I1    X  15931 #define _BSD
 I1    X  15932 #undef CK_OSF_BSD
 I1    X  15933 #endif /* CK_OSF_BSD */
 I1    X  15934 #else /* !POSIX */
 I1    X  15935 typedef int WAIT_T;
 I1    X  15936 #endif /* POSIX */
 I1    X  15937 #endif /* MACHWAIT */
 I1    X  15938 #else
 I1	  15939 typedef int WAIT_T;
 I1	  15940 #endif /* CK_REDIR */
 I1	  15941 
 I1	  15942 /* Assorted other blah_t's handled here... */
 I1	  15943 
 I1	  15944 #ifndef SIZE_T
 I1	  15945 #define SIZE_T size_t
 I1	  15946 #endif /* SIZE_T */
 I1	  15947 
 I1	  15948 /* Forward declarations of system-dependent functions callable from all */
 I1	  15949 /* C-Kermit modules. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 285
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  15950 
 I1	  15951 /* File-related functions from system-dependent file i/o module */
 I1	  15952 
 I1	  15953 #ifndef CKVFIO_C
 I1	  15954 /* For some reason, this does not agree with DEC C */
 I1	  15955 _PROTOTYP( int zkself, (void) );
       E	 int zkself ( void )
 I1	  15956 #endif /* CKVFIO_C */
 I1	  15957 _PROTOTYP( int zopeni, (int, char *) );
       E	 int zopeni ( int , char * )
 I1	  15958 _PROTOTYP( int zopeno, (int, char *, struct zattr *, struct filinfo *) );
       E	 int zopeno ( int , char * , struct zattr * , struct filinfo * )
 I1	  15959 _PROTOTYP( int zclose, (int) );
       E	 int zclose ( int )
 I1	  15960 #ifndef MAC
 I1	  15961 _PROTOTYP( int zchin, (int, int *) );
       E	 int zchin ( int , int * )
 I1	  15962 #endif /* MAC */
 I1	  15963 _PROTOTYP( int zxin, (int, char *, int) );
       E	 int zxin ( int , char * , int )
 I1	  15964 _PROTOTYP( int zsinl, (int, char *, int) );
       E	 int zsinl ( int , char * , int )
 I1	  15965 _PROTOTYP( int zinfill, (void) );
       E	 int zinfill ( void )
 I1	  15966 _PROTOTYP( int zsout, (int, char*) );
       E	 int zsout ( int , char * )
 I1	  15967 _PROTOTYP( int zsoutl, (int, char*) );
       E	 int zsoutl ( int , char * )
 I1	  15968 _PROTOTYP( int zsoutx, (int, char*, int) );
       E	 int zsoutx ( int , char * , int )
 I1	  15969 _PROTOTYP( int zchout, (int, char) );
       E	 int zchout ( int , char )
 I1	  15970 _PROTOTYP( int zoutdump, (void) );
       E	 int zoutdump ( void )
 I1	  15971 _PROTOTYP( int zsyscmd, (char *) );
       E	 int zsyscmd ( char * )
 I1	  15972 _PROTOTYP( int zshcmd, (char *) );
       E	 int zshcmd ( char * )
 I1    X  15973 #ifdef UNIX
 I1    X  15974 _PROTOTYP( int zsetfil, (int, int) );
 I1    X  15975 _PROTOTYP( int zchkpid, (unsigned long) );
 I1    X  15976 #endif	/* UNIX */
 I1    X  15977 #ifdef CKEXEC
 I1    X  15978 _PROTOTYP( VOID z_exec, (char *, char **, int) );
 I1    X  15979 #endif /* CKEXEC */
 I1	  15980 _PROTOTYP( int chkfn, (int) );
       E	 int chkfn ( int )
 I1	  15981 _PROTOTYP( CK_OFF_T zchki, (char *) );
       E	 off_t zchki ( char * )
 I1	  15982 #ifdef VMSORUNIX
 I1	  15983 _PROTOTYP( CK_OFF_T zgetfs, (char *) );
       E	 off_t zgetfs ( char * )
 I1    X  15984 #else
 I1    X  15985 #ifdef OS2
 I1    X  15986 _PROTOTYP( CK_OFF_T zgetfs, (char *) );
 I1    X  15987 #else
 I1    X  15988 #define zgetfs(a) zchki(a)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 286
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  15989 #endif /* OS2 */
 I1    X  15990 #endif /* VMSORUNIX */
 I1	  15991 _PROTOTYP( int iswild, (char *) );
       E	 int iswild ( char * )
 I1	  15992 _PROTOTYP( int isdir, (char *) );
       E	 int isdir ( char * )
 I1	  15993 _PROTOTYP( int zchko, (char *) );
       E	 int zchko ( char * )
 I1	  15994 _PROTOTYP( int zdelet, (char *) );
       E	 int zdelet ( char * )
 I1	  15995 _PROTOTYP( VOID zrtol, (char *,char *) );
       E	 void zrtol ( char * , char * )
 I1	  15996 _PROTOTYP( VOID zltor, (char *,char *) );
       E	 void zltor ( char * , char * )
 I1	  15997 _PROTOTYP( VOID zstrip, (char *,char **) );
       E	 void zstrip ( char * , char * * )
 I1	  15998 #ifdef VMS
 I1	  15999 _PROTOTYP( char * zrelname, (char *, char *) );
       E	 char * zrelname ( char * , char * )
 I1	  16000 #endif /* VMS */
 I1	  16001 _PROTOTYP( int zchdir, (char *) );
       E	 int zchdir ( char * )
 I1	  16002 _PROTOTYP( char * zhome, (void) );
       E	 char * zhome ( void )
 I1	  16003 _PROTOTYP( char * zgtdir, (void) );
       E	 char * zgtdir ( void )
 I1	  16004 _PROTOTYP( int zxcmd, (int, char *) );
       E	 int zxcmd ( int , char * )
 I1	  16005 #ifndef MAC
 I1	  16006 _PROTOTYP( int zclosf, (int) );
       E	 int zclosf ( int )
 I1	  16007 #endif /* MAC */
 I1	  16008 #ifdef NZXPAND
 I1    X  16009 #ifdef OS2
 I1    X  16010 /* [jt] 2013/11/21 - CHAR/char conflict between K95 and others */
 I1    X  16011 _PROTOTYP( int nzxpand, (CHAR *, int) );
 I1    X  16012 #else
 I1	  16013 _PROTOTYP( int nzxpand, (char *, int) );
       E	 int nzxpand ( char * , int )
 I1	  16014 #endif /* OS2 */
 I1    X  16015 #else /* NZXPAND */
 I1    X  16016 _PROTOTYP( int zxpand, (char *) );
 I1    X  16017 #endif /* NZXPAND */
 I1	  16018 _PROTOTYP( int znext, (char *) );
       E	 int znext ( char * )
 I1	  16019 #ifdef ZXREWIND
 I1	  16020 _PROTOTYP( int zxrewind, (void) );
       E	 int zxrewind ( void )
 I1	  16021 #endif /* ZXREWIND */
 I1	  16022 _PROTOTYP( int zchkspa, (char *, CK_OFF_T) );
       E	 int zchkspa ( char * , off_t )
 I1	  16023 _PROTOTYP( VOID znewn, (char *, char **) );
       E	 void znewn ( char * , char * * )
 I1	  16024 _PROTOTYP( int zrename, (char *, char *) );
       E	 int zrename ( char * , char * )
 I1	  16025 _PROTOTYP( int zcopy, (char *, char *) );
       E	 int zcopy ( char * , char * )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 287
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  16026 _PROTOTYP( int zsattr, (struct zattr *) );
       E	 int zsattr ( struct zattr * )
 I1	  16027 _PROTOTYP( int zfree, (char *) );
       E	 int zfree ( char * )
 I1	  16028 _PROTOTYP( char * zfcdat, (char *) );
       E	 char * zfcdat ( char * )
 I1	  16029 _PROTOTYP( int zstime, (char *, struct zattr *, int) );
       E	 int zstime ( char * , struct zattr * , int )
 I1	  16030 #ifdef CK_PERMS
 I1	  16031 _PROTOTYP( char * zgperm, (char *) );
       E	 char * zgperm ( char * )
 I1	  16032 _PROTOTYP( char * ziperm, (char *) );
       E	 char * ziperm ( char * )
 I1    X  16033 #else /* CK_PERMS */
 I1    X  16034 #ifdef OS2
 I1    X  16035 /* zgperm exists on OS/2 and NT regardless of CK_PERMS */
 I1    X  16036 _PROTOTYP( char * zgperm, (char *) );
 I1    X  16037 #endif /* OS2 */
 I1    X  16038 #endif /* CK_PERMS */
 I1	  16039 _PROTOTYP( int zmail, (char *, char *) );
       E	 int zmail ( char * , char * )
 I1	  16040 _PROTOTYP( int zprint, (char *, char *) );
       E	 int zprint ( char * , char * )
 I1	  16041 _PROTOTYP( char * tilde_expand, (char *) );
       E	 char * tilde_expand ( char * )
 I1	  16042 _PROTOTYP( int zmkdir, (char *) ) ;
       E	 int zmkdir ( char * )
 I1	  16043 _PROTOTYP( int zfseek, (CK_OFF_T) ) ;
       E	 int zfseek ( off_t )
 I1	  16044 #ifdef ZFNQFP
 I1	  16045 _PROTOTYP( struct zfnfp * zfnqfp, (char *, int, char * ) ) ;
       E	 struct zfnfp * zfnqfp ( char * , int , char * )
 I1    X  16046 #else
 I1    X  16047 #define zfnqfp(a,b,c) ckstrncpy(c,a,b)
 I1    X  16048 #endif /* ZFNQFP */
 I1	  16049 _PROTOTYP( int zvuser, (char *) ) ;
       E	 int zvuser ( char * )
 I1	  16050 _PROTOTYP( int zvpass, (char *) ) ;
       E	 int zvpass ( char * )
 I1	  16051 _PROTOTYP( VOID zvlogout, (void) ) ;
       E	 void zvlogout ( void )
 I1    X  16052 #ifdef OS2
 I1    X  16053 _PROTOTYP( int os2setlongname, ( char * fn, char * ln ) ) ;
 I1    X  16054 _PROTOTYP( int os2getlongname, ( char * fn, char ** ln ) ) ;
 I1    X  16055 _PROTOTYP( int os2rexx, ( char *, char *, int ) ) ;
 I1    X  16056 _PROTOTYP( int os2rexxfile, ( char *, char *, char *, int) ) ;
 I1    X  16057 _PROTOTYP( int os2geteas, (char *) ) ;
 I1    X  16058 _PROTOTYP( int os2seteas, (char *) ) ;
 I1    X  16059 _PROTOTYP( char * get_os2_vers, (void) ) ;
 I1    X  16060 _PROTOTYP( int do_label_send, (char *) ) ;
 I1    X  16061 _PROTOTYP( int do_label_recv, (void) ) ;
 I1    X  16062 #ifdef OS2MOUSE
 I1    X  16063 _PROTOTYP( unsigned long os2_mouseon, (void) );
 I1    X  16064 _PROTOTYP( unsigned long os2_mousehide, (void) );
 I1    X  16065 _PROTOTYP( unsigned long os2_mouseshow, (void) );
 I1    X  16066 _PROTOTYP( unsigned long os2_mouseoff, (void) );
 I1    X  16067 _PROTOTYP( void os2_mouseevt, (void *) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 288
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  16068 _PROTOTYP( int mousebuttoncount, (void));
 I1    X  16069 #endif /* OS2MOUSE */
 I1    X  16070 #endif /* OS2 */
 I1	  16071 
 I1	  16072 /* Functions from system-dependent terminal i/o module */
 I1	  16073 
 I1	  16074 _PROTOTYP( int ttopen, (char *, int *, int, int) );  /* tty functions */
       E	 int ttopen ( char * , int * , int , int )
 I1	  16075 #ifndef MAC
 I1	  16076 _PROTOTYP( int ttclos, (int) );
       E	 int ttclos ( int )
 I1	  16077 #endif /* MAC */
 I1	  16078 _PROTOTYP( int tthang, (void) );
       E	 int tthang ( void )
 I1	  16079 _PROTOTYP( int ttres, (void) );
       E	 int ttres ( void )
 I1	  16080 _PROTOTYP( int ttpkt, (long, int, int) );
       E	 int ttpkt ( long , int , int )
 I1	  16081 #ifndef MAC
 I1	  16082 _PROTOTYP( int ttvt, (long, int) );
       E	 int ttvt ( long , int )
 I1	  16083 #endif /* MAC */
 I1	  16084 _PROTOTYP( int ttsspd, (int) );
       E	 int ttsspd ( int )
 I1	  16085 _PROTOTYP( long ttgspd, (void) );
       E	 long ttgspd ( void )
 I1	  16086 _PROTOTYP( int ttflui, (void) );
       E	 int ttflui ( void )
 I1	  16087 _PROTOTYP( int ttfluo, (void) );
       E	 int ttfluo ( void )
 I1	  16088 _PROTOTYP( int ttpushback, (CHAR *, int) );
       E	 int ttpushback ( CHAR * , int )
 I1	  16089 _PROTOTYP( int ttpeek, (void) );
       E	 int ttpeek ( void )
 I1	  16090 _PROTOTYP( int ttgwsiz, (void) );
       E	 int ttgwsiz ( void )
 I1	  16091 _PROTOTYP( int ttchk, (void) );
       E	 int ttchk ( void )
 I1	  16092 _PROTOTYP( int ttxin, (int, CHAR *) );
       E	 int ttxin ( int , CHAR * )
 I1	  16093 _PROTOTYP( int ttxout, (CHAR *, int) );
       E	 int ttxout ( CHAR * , int )
 I1	  16094 _PROTOTYP( int ttol, (CHAR *, int) );
       E	 int ttol ( CHAR * , int )
 I1	  16095 _PROTOTYP( int ttoc, (char) );
       E	 int ttoc ( char )
 I1	  16096 _PROTOTYP( int ttinc, (int) );
       E	 int ttinc ( int )
 I1	  16097 _PROTOTYP( int ttscarr, (int) );
       E	 int ttscarr ( int )
 I1	  16098 _PROTOTYP( int ttgmdm, (void) );
       E	 int ttgmdm ( void )
 I1	  16099 _PROTOTYP( int ttsndb, (void) );
       E	 int ttsndb ( void )
 I1	  16100 _PROTOTYP( int ttsndlb, (void) );
       E	 int ttsndlb ( void )
 I1    X  16101 #ifdef UNIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 289
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  16102 _PROTOTYP( char * ttglckdir, (void) );
 I1    X  16103 #endif /* UNIX */
 I1	  16104 #ifdef PARSENSE
 I1    X  16105 #ifdef UNIX
 I1    X  16106 _PROTOTYP( int ttinl, (CHAR *, int, int, CHAR, CHAR, int) );
 I1    X  16107 #else
 I1	  16108 #ifdef VMS
 I1	  16109 _PROTOTYP( int ttinl, (CHAR *, int, int, CHAR, CHAR, int) );
       E	 int ttinl ( CHAR * , int , int , CHAR , CHAR , int )
 I1    X  16110 #else
 I1    X  16111 #ifdef STRATUS
 I1    X  16112 _PROTOTYP( int ttinl, (CHAR *, int, int, CHAR, CHAR, int) );
 I1    X  16113 #else
 I1    X  16114 #ifdef OS2
 I1    X  16115 _PROTOTYP( int ttinl, (CHAR *, int, int, CHAR, CHAR, int) );
 I1    X  16116 #else
 I1    X  16117 #ifdef OSK
 I1    X  16118 _PROTOTYP( int ttinl, (CHAR *, int, int, CHAR, CHAR, int) );
 I1    X  16119 #else
 I1    X  16120 _PROTOTYP( int ttinl, (CHAR *, int, int, CHAR, CHAR) );
 I1    X  16121 #endif /* OSK */
 I1    X  16122 #endif /* OS2 */
 I1    X  16123 #endif /* STRATUS */
 I1    X  16124 #endif /* VMS */
 I1	  16125 #endif /* UNIX */
 I1    X  16126 #else /* ! PARSENSE */
 I1    X  16127 _PROTOTYP( int ttinl, (CHAR *, int, int, CHAR) );
 I1    X  16128 #endif /* PARSENSE */
 I1	  16129 
 I1	  16130 /* XYZMODEM support */
 I1	  16131 
 I1	  16132 /*
 I1	  16133   CK_XYZ enables the various commands and data structures.
 I1	  16134   XYZ_INTERNAL means these protocols are built-in; if not defined,
 I1	  16135   then they are external.  XYZ_DLL is used to indicate a separate
 I1	  16136   loadable library containing the XYZmodem protocol code.
 I1	  16137 */
 I1    X  16138 #ifdef pdp11				/* No room for this in PDP-11 */
 I1    X  16139 #define NOCKXYZ
 I1    X  16140 #endif /* pdp11 */
 I1	  16141 
 I1	  16142 #ifndef NOCKXYZ				/* Alternative protocols */
 I1	  16143 #ifndef CK_XYZ
 I1    X  16144 #ifdef UNIX
 I1    X  16145 #define CK_XYZ
 I1    X  16146 #else
 I1    X  16147 #ifdef OS2
 I1    X  16148 #define CK_XYZ
 I1    X  16149 #ifndef NOXYZDLL
 I1    X  16150 #define XYZ_INTERNAL			/* Internal and DLL */
 I1    X  16151 #ifndef XYZ_DLL
 I1    X  16152 #define XYZ_DLL
 I1    X  16153 #endif /* XYZ_DLL */
 I1    X  16154 #endif /* NOXYZDLL */
 I1    X  16155 #endif /* OS2 */
 I1	  16156 #endif /* UNIX */
 I1	  16157 #endif /* CK_XYZ */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 290
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  16158 #endif /* NOCKXYZ */
 I1	  16159 
 I1    X  16160 #ifdef XYZ_INTERNAL			/* This ensures that XYZ_INTERNAL */
 I1    X  16161 #ifndef CK_XYZ				/* is defined only if CK_XYZ is too */
 I1    X  16162 #undef XYZ_INTERNAL
 I1    X  16163 #endif /* CK_XYZ */
 I1    X  16164 #endif /* XYZ_INTERNAL */
 I1    X  16165 #ifdef XYZ_DLL				/* This ensures XYZ_DLL is defined */
 I1    X  16166 #ifndef XYZ_INTERNAL			/* only if XYZ_INTERNAL is too */
 I1    X  16167 #undef XYZ_DLL
 I1    X  16168 #endif /* XYZ_INTERNAL */
 I1    X  16169 #endif /* XYZ_DLL */
 I1	  16170 
 I1	  16171 /* Console functions */
 I1	  16172 
 I1	  16173 _PROTOTYP( int congm, (void) );
       E	 int congm ( void )
 I1    X  16174 #ifdef COMMENT
 I1    X  16175 _PROTOTYP( VOID conint, (SIGTYP (*)(int, int), SIGTYP (*)(int, int)) );
 I1    X  16176 #else
 I1	  16177 _PROTOTYP( VOID conint, (SIGTYP (*)(int), SIGTYP (*)(int)) );
       E	 void conint ( void ( * ) ( int ) , void ( * ) ( int ) )
 I1	  16178 #endif /* COMMENT */
 I1	  16179 _PROTOTYP( VOID connoi, (void) );
       E	 void connoi ( void )
 I1	  16180 _PROTOTYP( int concb, (char) );
       E	 int concb ( char )
 I1	  16181 #ifdef CONGSPD
 I1	  16182 _PROTOTYP( long congspd, (void) );
       E	 long congspd ( void )
 I1	  16183 #endif /* CONGSPD */
 I1	  16184 _PROTOTYP( int conbin, (char) );
       E	 int conbin ( char )
 I1	  16185 _PROTOTYP( int conres, (void) );
       E	 int conres ( void )
 I1	  16186 _PROTOTYP( int conoc, (char) );
       E	 int conoc ( char )
 I1	  16187 _PROTOTYP( int conxo, (int, char *) );
       E	 int conxo ( int , char * )
 I1	  16188 _PROTOTYP( int conol, (char *) );
       E	 int conol ( char * )
 I1	  16189 _PROTOTYP( int conola, (char *[]) );
       E	 int conola ( char * [ ] )
 I1	  16190 _PROTOTYP( int conoll, (char *) );
       E	 int conoll ( char * )
 I1	  16191 _PROTOTYP( int conchk, (void) );
       E	 int conchk ( void )
 I1	  16192 _PROTOTYP( int coninc, (int) );
       E	 int coninc ( int )
 I1	  16193 _PROTOTYP( char * conkbg, (void) );
       E	 char * conkbg ( void )
 I1	  16194 _PROTOTYP( int psuspend, (int) );
       E	 int psuspend ( int )
 I1	  16195 _PROTOTYP( int priv_ini, (void) );
       E	 int priv_ini ( void )
 I1	  16196 _PROTOTYP( int priv_on, (void) );
       E	 int priv_on ( void )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 291
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  16197 _PROTOTYP( int priv_off, (void) );
       E	 int priv_off ( void )
 I1	  16198 _PROTOTYP( int priv_can, (void) );
       E	 int priv_can ( void )
 I1	  16199 _PROTOTYP( int priv_chk, (void) );
       E	 int priv_chk ( void )
 I1	  16200 _PROTOTYP( int priv_opn, (char *, int) );
       E	 int priv_opn ( char * , int )
 I1	  16201 
 I1	  16202 _PROTOTYP( int sysinit, (void) );	/* Misc Kermit functions */
       E	 int sysinit ( void )
 I1	  16203 _PROTOTYP( int syscleanup, (void) );
       E	 int syscleanup ( void )
 I1	  16204 _PROTOTYP( int msleep, (int) );
       E	 int msleep ( int )
 I1	  16205 _PROTOTYP( VOID rtimer, (void) );
       E	 void rtimer ( void )
 I1	  16206 _PROTOTYP( int gtimer, (void) );
       E	 int gtimer ( void )
 I1	  16207 #ifdef GFTIMER
 I1	  16208 _PROTOTYP( VOID rftimer, (void) );
       E	 void rftimer ( void )
 I1	  16209 _PROTOTYP( CKFLOAT gftimer, (void) );
       E	 double gftimer ( void )
 I1	  16210 #endif /* GFTIMER */
 I1	  16211 _PROTOTYP( VOID ttimoff, (void) );
       E	 void ttimoff ( void )
 I1	  16212 _PROTOTYP( VOID ztime, (char **) );
       E	 void ztime ( char * * )
 I1	  16213 _PROTOTYP( int parchk, (CHAR *, CHAR, int) );
       E	 int parchk ( CHAR * , CHAR , int )
 I1	  16214 _PROTOTYP( VOID doexit, (int, int) );
       E	 void doexit ( int , int )
 I1	  16215 _PROTOTYP( int askmore, (void) );
       E	 int askmore ( void )
 I1	  16216 _PROTOTYP( VOID fatal, (char *) );
       E	 void fatal ( char * )
 I1	  16217 _PROTOTYP( VOID fatal2, (char *, char *) );
       E	 void fatal2 ( char * , char * )
 I1	  16218 #ifdef VMS
 I1	  16219 _PROTOTYP( int ck_cancio, (void) );
       E	 int ck_cancio ( void )
 I1	  16220 #endif /* VMS */
 I1	  16221 
 I1	  16222 /* Key mapping support */
 I1	  16223 
 I1    X  16224 #ifdef NOICP
 I1    X  16225 #ifndef NOSETKEY
 I1    X  16226 #define NOSETKEY
 I1    X  16227 #endif /* NOSETKEY */
 I1    X  16228 #endif /* NOICP */
 I1	  16229 
 I1    X  16230 #ifdef MAC
 I1    X  16231 #ifndef NOSETKEY
 I1    X  16232 #define NOSETKEY
 I1    X  16233 #endif /* NOSETKEY */
 I1    X  16234 #endif /* MAC */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 292
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  16235 
 I1	  16236 _PROTOTYP( int congks, (int) );
       E	 int congks ( int )
 I1    X  16237 #ifdef OS2
 I1    X  16238 /* OS2 requires these definitions even if SET KEY is not being supported */
 I1    X  16239 #define KMSIZE 8916
 I1    X  16240 typedef ULONG KEY;
 I1    X  16241 typedef CHAR *MACRO;
 I1    X  16242 extern int wideresult;
 I1    X  16243 #else /* Not OS2 */
 I1	  16244 #ifndef NOSETKEY
 I1	  16245 /*
 I1	  16246   Catch-all for systems where we don't know how to read keyboard scan
 I1	  16247   codes > 255.
 I1	  16248 */
 I1	  16249 #define KMSIZE 256
 I1	  16250 /* Note: CHAR (i.e. unsigned char) is very important here. */
 I1	  16251 typedef CHAR KEY;
 I1	  16252 typedef CHAR * MACRO;
 I1	  16253 #define congks coninc
 I1	  16254 #endif /* NOSETKEY */
 I1	  16255 #endif /* OS2 */
 I1	  16256 
 I1	  16257 #ifndef OS2
 I1	  16258 #ifndef NOKVERBS			/* No \Kverbs unless... */
 I1	  16259 #define NOKVERBS
 I1	  16260 #endif /* NOKVERBS */
 I1	  16261 #endif /* OS2 */
 I1	  16262 
 I1    X  16263 #ifndef NOKVERBS
 I1    X  16264 #ifdef OS2
 I1    X  16265 /*
 I1    X  16266   Note: this value chosen to be bigger than PC BIOS key modifier bits,
 I1    X  16267   but still fit in 16 bits without affecting sign.
 I1    X  16268 
 I1    X  16269   As of K95 1.1.5, this no longer fits in 16 bits, good thing we are 32 bit.
 I1    X  16270 */
 I1    X  16271 #define F_MACRO 0x2000          /* Bit indicating a macro indice */
 I1    X  16272 #define IS_MACRO(x) (x & F_MACRO)
 I1    X  16273 #define F_KVERB 0x4000			/* Bit indicating a keyboard verb */
 I1    X  16274 #define IS_KVERB(x) (x & F_KVERB)	/* Test this bit */
 I1    X  16275 #endif /* OS2 */
 I1    X  16276 #endif /* NOKVERBS */
 I1	  16277 
 I1	  16278 #define F_ESC   0x8000		/* Bit indicating ESC char combination */
 I1	  16279 #define IS_ESC(x) (x & F_ESC)
 I1	  16280 #define F_CSI   0x10000		/* Bit indicating CSI char combination */
 I1	  16281 #define IS_CSI(x) (x & F_CSI)
 I1	  16282 
 I1    X  16283 #ifdef NOSPL				/* This might be overkill.. */
 I1    X  16284 #ifndef NOKVERBS			/* Not all \Kverbs require */
 I1    X  16285 #define NOKVERBS			/* the script programming language. */
 I1    X  16286 #endif /* NOKVERBS */
 I1    X  16287 #ifndef NOTAKEARGS
 I1    X  16288 #define NOTAKEARGS
 I1    X  16289 #endif /* NOTAKEARGS */
 I1    X  16290 #endif /* NOSPL */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 293
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  16291 
 I1	  16292 /*
 I1	  16293   Function prototypes for system and library functions.
 I1	  16294 */
 I1    X  16295 #ifdef _POSIX_SOURCE
 I1    X  16296 #ifndef VMS
 I1    X  16297 #ifndef MAC
 I1    X  16298 #define CK_ANSILIBS
 I1    X  16299 #endif /* MAC */
 I1    X  16300 #endif /* VMS */
 I1    X  16301 #endif /* _POSIX_SOURCE */
 I1	  16302 
 I1    X  16303 #ifdef NEXT
 I1    X  16304 #define CK_ANSILIBS
 I1    X  16305 #endif /* NEXT */
 I1	  16306 
 I1    X  16307 #ifdef SVR4
 I1    X  16308 #define CK_ANSILIBS
 I1    X  16309 #endif /* SVR4 */
 I1	  16310 
 I1    X  16311 #ifdef STRATUS				/* Stratus VOS uses ANSI libraries */
 I1    X  16312 #define CK_ANSILIBS
 I1    X  16313 #endif /* STRATUS */
 I1	  16314 
 I1    X  16315 #ifdef OS2
 I1    X  16316 #define CK_ANSILIBS
 I1    X  16317 #ifndef NOCURSES
 I1    X  16318 #define MYCURSES
 I1    X  16319 #endif /* NOCURSES */
 I1    X  16320 #define CK_RTSCTS
 I1    X  16321 #ifdef __IBMC__
 I1    X  16322 #define S_IFMT 0xF000
 I1    X  16323 #define timezone _timezone
 I1    X  16324 #endif /* __IBMC__ */
 I1    X  16325 #include <fcntl.h>
 I1    X  16326 #include <io.h>
 I1    X  16327 #ifdef __EMX__
 I1    X  16328 #ifndef __32BIT__
 I1    X  16329 #define __32BIT__
 I1    X  16330 #endif /* __32BIT__ */
 I1    X  16331 #ifndef NOSYSTIMEBH
 I1    X  16332 #include <sys/timeb.h>
 I1    X  16333 #endif /* NOSYSTIMEBH */
 I1    X  16334 #else /* __EMX__ */
 I1    X  16335 #ifndef __WATCOMC__
 I1    X  16336 /* Watcom direct.h definition incompatible with the
 I1    X  16337  * implementation in ckodir.h and ckotio.c */
 I1    X  16338 #include <direct.h>
 I1    X  16339 #endif /* __WATCOMC__ */
 I1    X  16340 #undef SIGALRM
 I1    X  16341 #ifndef SIGUSR1
 I1    X  16342 #ifndef __WATCOMC__
 I1    X  16343 #define SIGUSR1 7
 I1    X  16344 #endif /* __WATCOMC__ */
 I1    X  16345 #endif /* SIGUSR1 */
 I1    X  16346 #define SIGALRM SIGUSR1
 I1    X  16347 _PROTOTYP( unsigned alarm, (unsigned) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 294
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  16348 _PROTOTYP( unsigned sleep, (unsigned) );
 I1    X  16349 #endif /* __EMX__ */
 I1    X  16350 _PROTOTYP( CK_OFF_T zdskspace, (int) );
 I1    X  16351 _PROTOTYP( int zchdsk, (int) );
 I1    X  16352 _PROTOTYP( int conincraw, (int) );
 I1    X  16353 _PROTOTYP( int ttiscom, (int f) );
 I1    X  16354 _PROTOTYP( int IsFileNameValid, (char *) );
 I1    X  16355 _PROTOTYP( void ChangeNameForFAT, (char *) );
 I1    X  16356 _PROTOTYP( char *GetLoadPath, (void) );
 I1    X  16357 #endif /* OS2 */
 I1	  16358 
 I1	  16359 /* Fullscreen file transfer display items... */
 I1	  16360 
 I1	  16361 #ifndef NOCURSES
 I1    X  16362 #ifdef CK_NCURSES			/* CK_NCURSES implies CK_CURSES */
 I1    X  16363 #ifndef CK_CURSES
 I1    X  16364 #define CK_CURSES
 I1    X  16365 #endif /* CK_CURSES */
 I1    X  16366 #endif /* CK_NCURSES */
 I1	  16367 
 I1    X  16368 #ifdef MYCURSES				/* MYCURSES implies CK_CURSES */
 I1    X  16369 #ifndef CK_CURSES
 I1    X  16370 #define CK_CURSES
 I1    X  16371 #endif /* CK_CURSES */
 I1    X  16372 #endif /* MYCURSES */
 I1	  16373 #endif /* NOCURSES */
 I1	  16374 
 I1    X  16375 #ifdef NOCURSES
 I1    X  16376 #ifdef CK_CURSES
 I1    X  16377 #undef CK_CURSES
 I1    X  16378 #endif /* CK_CURSES */
 I1    X  16379 #ifndef NODISPLAY
 I1    X  16380 #define NODISPLAY
 I1    X  16381 #endif /* NODISPLAY */
 I1    X  16382 #endif /* NOCURSES */
 I1	  16383 
 I1	  16384 #ifdef CK_CURSES
 I1	  16385 /*
 I1	  16386   The CK_WREFRESH symbol is defined if the curses library provides
 I1	  16387   clearok() and wrefresh() functions, which are used in repainting
 I1	  16388   the screen.
 I1	  16389 */
 I1    X  16390 #ifdef NOWREFRESH			/* Override CK_WREFRESH */
 I1    X  16391 
 I1    X  16392 #ifdef CK_WREFRESH			/* If this is defined, */
 I1    X  16393 #undef CK_WREFRESH			/* undefine it. */
 I1    X  16394 #endif /* CK_WREFRESH */
 I1    X  16395 
 I1    X  16396 #else /* !NOWREFRESH */			/* No override... */
 I1	  16397 
 I1	  16398 #ifndef CK_WREFRESH			/* If CK_WREFRESH not defined */
 I1	  16399 /*
 I1	  16400   Automatically define it for systems known to have it ...
 I1	  16401 */
 I1	  16402 #ifdef VMS				/* DEC (Open)VMS has it */
 I1	  16403 #define CK_WREFRESH
 I1    X  16404 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 295
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  16405 #ifdef ultrix				/* DEC ULTRIX has it */
 I1    X  16406 #else
 I1    X  16407 #ifdef SVR3				/* System V has it */
 I1    X  16408 #define CK_WREFRESH
 I1    X  16409 #else
 I1    X  16410 #ifdef BSD44				/* 4.4 BSD has it */
 I1    X  16411 #define CK_WREFRESH
 I1    X  16412 #else
 I1    X  16413 #ifdef NEXT				/* Define it for NeXTSTEP */
 I1    X  16414 #define CK_WREFRESH
 I1    X  16415 #else
 I1    X  16416 #ifdef SUNOS4				/* SunOS 4.x... */
 I1    X  16417 #define CK_WREFRESH
 I1    X  16418 #else
 I1    X  16419 #ifdef SOLARIS25			/* Solaris 2.5 and later */
 I1    X  16420 #define CK_WREFRESH
 I1    X  16421 #else
 I1    X  16422 #ifdef AIXRS				/* RS/6000 AIX ... */
 I1    X  16423 #define CK_WREFRESH
 I1    X  16424 #else
 I1    X  16425 #ifdef RTAIX				/* RT PC AIX ... */
 I1    X  16426 #define CK_WREFRESH
 I1    X  16427 #else
 I1    X  16428 #ifdef OSF				/* DEC OSF/1 ... */
 I1    X  16429 #define CK_WREFRESH
 I1    X  16430 
 I1    X  16431 /* Add more here, or just define CK_WREFRESH on the CC command line... */
 I1    X  16432 
 I1    X  16433 #endif /* OSF */
 I1    X  16434 #endif /* RTAIX */
 I1    X  16435 #endif /* AIXRS */
 I1    X  16436 #endif /* SOLARIS25 */
 I1    X  16437 #endif /* SUNOS4 */
 I1    X  16438 #endif /* NEXT */
 I1    X  16439 #endif /* BSD44 */
 I1    X  16440 #endif /* SVR3 */
 I1    X  16441 #endif /* ultrix */
 I1    X  16442 #endif /* VMS */
 I1	  16443 
 I1    X  16444 #else /* CK_WREFRESH is defined */
 I1    X  16445 
 I1    X  16446 /* This is within an ifdef CK_CURSES block.  The following is not needed */
 I1    X  16447 
 I1    X  16448 #ifndef CK_CURSES			/* CK_WREFRESH implies CK_CURSES */
 I1    X  16449 #define CK_CURSES
 I1    X  16450 #endif /* CK_CURSES */
 I1    X  16451 
 I1    X  16452 #endif /* CK_WREFRESH */
 I1	  16453 #endif /* NOWREFRESH */
 I1	  16454 
 I1	  16455 #ifndef TRMBUFL
 I1	  16456 #ifdef BIGBUFOK
 I1	  16457 #define TRMBUFL 16384
 I1    X  16458 #else
 I1    X  16459 #ifdef DYNAMIC
 I1    X  16460 #define TRMBUFL 8192
 I1    X  16461 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 296
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  16462 #define TRMBUFL 1024
 I1    X  16463 #endif /* BIGBUFOK */
 I1    X  16464 #endif /* DYNAMIC */
 I1	  16465 #endif /* TRMBUFL */
 I1	  16466 #endif /* CK_CURSES */
 I1	  16467 
 I1	  16468 /*
 I1	  16469   Whether to use ckmatch() in all its glory for C-Shell-like patterns.
 I1	  16470   If CKREGEX is NOT defined, all but * and ? matching are removed from
 I1	  16471   ckmatch().  NOTE: Defining CKREGEX does not necessarily mean that ckmatch()
 I1	  16472   regexes are used for filename matching.  That depends on whether zxpand()
 I1	  16473   in ck?fio.c calls ckmatch().  NOTE 2: REGEX is a misnomer -- these are not
 I1	  16474   regular expressions in the computer-science sense (in which, e.g. "a*b"
 I1	  16475   matches 0 or more 'a' characters followed by 'b') but patterns (in which
 I1	  16476   "a*b" matches 'a' followed by 0 or more non-b characters, followed by b).
 I1	  16477 */
 I1	  16478 #ifndef NOCKREGEX
 I1	  16479 #ifndef CKREGEX
 I1	  16480 #define CKREGEX
 I1	  16481 #endif /* CKREGEX */
 I1	  16482 #endif /* NOCKREGEX */
 I1	  16483 
 I1	  16484 /* Learned-script feature */
 I1	  16485 
 I1	  16486 #ifndef NOLEARN
 I1    X  16487 #ifdef NOSPL
 I1    X  16488 #define NOLEARN
 I1    X  16489 #else
 I1    X  16490 #ifdef NOLOCAL
 I1    X  16491 #define NOLEARN
 I1    X  16492 #endif /* NOLOCAL */
 I1	  16493 #endif /* NOSPL */
 I1	  16494 #endif /* NOLEARN */
 I1	  16495 
 I1    X  16496 #ifdef NOLEARN
 I1    X  16497 #ifdef CKLEARN
 I1    X  16498 #undef CKLEARN
 I1    X  16499 #endif /* CKLEARN */
 I1    X  16500 #else  /* !NOLEARN */
 I1	  16501 #ifndef CKLEARN
 I1    X  16502 #ifdef OS2ORUNIX
 I1    X  16503 /* In UNIX this can work only with ckucns.c builds */
 I1    X  16504 #define CKLEARN
 I1    X  16505 #else
 I1	  16506 #ifdef VMS
 I1	  16507 #define CKLEARN
 I1	  16508 #endif /* VMS */
 I1	  16509 #endif /* OS2ORUNIX */
 I1	  16510 #endif /* CKLEARN */
 I1	  16511 #endif /* NOLEARN */
 I1	  16512 
 I1	  16513 #ifdef CKLEARN
 I1	  16514 #ifndef LEARNBUFSIZ
 I1	  16515 #define LEARNBUFSIZ 128
 I1	  16516 #endif /* LEARNBUFSIZ */
 I1	  16517 #endif /* CKLEARN */
 I1	  16518 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 297
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  16519 #ifndef IKSDONLY
 I1	  16520 #ifndef CKTIDLE				/* Pseudo-keepalive in CONNECT */
 I1    X  16521 #ifdef OS2				/* In K95 */
 I1    X  16522 #define CKTIDLE
 I1    X  16523 #else
 I1    X  16524 #ifdef UNIX				/* In UNIX but only ckucns versions */
 I1    X  16525 #ifndef NOLEARN
 I1    X  16526 #ifndef NOSELECT
 I1    X  16527 #define CKTIDLE
 I1    X  16528 #endif /* NOSELECT */
 I1    X  16529 #endif /* NOLEARN */
 I1    X  16530 #endif /* UNIX */
 I1	  16531 #endif /* OS2 */
 I1	  16532 #endif /* CKTIDLE */
 I1	  16533 #endif /* IKSDONLY */
 I1	  16534 
 I1	  16535 #ifdef CK_ANSILIBS
 I1	  16536 /*
 I1	  16537   String library functions.
 I1	  16538   For ANSI C, get prototypes from <string.h>.
 I1	  16539   Otherwise, skip the prototypes.
 I1	  16540 */
 I1	  16541 #include <string.h>
 I2	  16542 #ifndef __STRING_LOADED
 I2	  16543 #define __STRING_LOADED 1
 I2	  16544 
 I2	  16545 #ifndef __STRING_PROCESSED
 I2	  16546 #define __STRING_PROCESSED
 I2	  16547 
 I2	  16548 /****************************************************************************
 I2	  16549 **
 I2	  16550 **  <string.h> - String Handling
 I2	  16551 **
 I2	  16552 *****************************************************************************
 I2	  16553 **  Header introduced by the ANSI C Standard
 I2	  16554 *****************************************************************************
 I2	  16555 **
 I2	  16556 *****************************************************************************
 I2	  16557 **                                                                          *
 I2	  16558 ** HPE CONFIDENTIAL. This software is confidential proprietary software     *
 I2	  16559 ** licensed by Hewlett Packard Enterprise Development, LP, and is not       *
 I2	  16560 ** authorized to be used, duplicated or disclosed to anyone without the     *
 I2	  16561 ** prior written permission of HPE.                                         *
 I2	  16562 ** Copyright 2006 Hewlett Packard Enterprise Development, LP                *
 I2	  16563 **                                                                          *
 I2	  16564 ** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential           *
 I2	  16565 ** proprietary software licensed by VMS Software, Inc., and is not          *
 I2	  16566 ** authorized to be used, duplicated or disclosed to anyone without         *
 I2	  16567 ** the prior written permission of VMS Software, Inc.                       *
 I2	  16568 ** Copyright 2020 VMS Software, Inc.                                        *
 I2	  16569 **                                                                          *
 I2	  16570 *****************************************************************************/
 I2	  16571 
 I2	  16572 #pragma __nostandard
 I2    X  16573 #include <decc$types.h>
 I2	  16574 
 I2    X  16575 #ifdef __cplusplus

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 298
V1.0                                                             5-MAY-2023 14:33:19  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2    X  16576     extern "C" {
 I2    X  16577 #endif
 I2	  16578 
 I2    X  16579 #if __INITIAL_POINTER_SIZE
 I2    X  16580 #   pragma __pointer_size __save
 I2    X  16581 #   pragma __pointer_size 32
 I2    X  16582 #endif
 I2	  16583 
 I2	  16584 
 I2    X  16585 #ifdef __NAMESPACE_STD
 I2    X  16586 namespace std {
 I2    X  16587 #endif
 I2	  16588 
 I2	  16589 /*
 I2	  16590 **  Create 'public' typedefs, structure definitions, and definitions which are
 I2	  16591 **  in this header file which are either not sensitive to pointer size or are
 I2	  16592 **  required to be short pointers.
 I2	  16593 */
 I2    X  16594 #ifndef __SIZE_T
 I2    X  16595 #   define __SIZE_T 1
 I2    X  16596     typedef __size_t size_t;
 I2    X  16597 #endif
 I2	  16598 
 I2    X  16599 #ifdef __NAMESPACE_STD
 I2    X  16600 } /* namespace std */
 I2    X  16601 #endif
 I2	  16602 
 I2    X  16603 #ifndef NULL
 I2    X  16604 #   define NULL __NULL
 I2    X  16605 #endif
 I2	  16606 
 I2	  16607 
 I2	  16608 /*
 I2	  16609 **  At this point in the processing, we are done defining those things which
 I2	  16610 **  must always be short pointers.  If the user has used the /pointer_size
 I2	  16611 **  qualifier, we will allow long pointers to be used in function calls
 I2	  16612 **  regardless of whether they have specified short or long pointers.
 I2	  16613 */
 I2    X  16614 #if __INITIAL_POINTER_SIZE
 I2    X  16615 #   pragma __pointer_size 64
 I2    X  16616 #endif
 I2	  16617 
 I2	  16618 
 I2	  16619 /*
 I2	  16620 **  The following functions have interfaces of XXX, _XXX32, and _XXX64 due only
 I2	  16621 **  to the fact that the return argument is a pointer that is relative to one
 I2	  16622 **  of the arguments.
 I2	  16623 */
 I2    X  16624 #if __INITIAL_POINTER_SIZE == 32
 I2    X  16625 #   pragma __pointer_size 32
 I2    X  16626 #endif
 I2	  16627 
 I2    X  16628 #ifdef __NAMESPACE_STD
 I2    X  16629 namespace std {
 I2    X  16630 #endif
 I2	  16631 
 I2	  16632 void *memchr  (const void *__s, int __c, __size_t __n);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 299
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2	  16633 void *memcpy  (void *__s1, __const_void_ptr64 __s2, __size_t __n);
 I2	  16634 void *memmove (void *__s1, __const_void_ptr64 __s2, __size_t __n);
 I2	  16635 void *memset  (void *__s, int __c, __size_t __n);
 I2	  16636 char *strcat  (char *__s1, __const_char_ptr64 __s2);
 I2	  16637 char *strchr  (const char *__s, int __c);
 I2	  16638 char *strcpy  (char *__s1, __const_char_ptr64 __s2);
 I2	  16639 char *strncat (char *__s1, __const_char_ptr64 __s2, __size_t __n);
 I2	  16640 char *strncpy (char *__s1, __const_char_ptr64 __s2, __size_t __n);
 I2	  16641 char *strpbrk (const char *__s1, __const_char_ptr64 __s2);
 I2	  16642 char *strrchr (const char *__s, int __c);
 I2	  16643 char *strstr  (const char *__s1, __const_char_ptr64 __s2);
 I2	  16644 char *strtok  (char *__s1, __const_char_ptr64 __s2);
 I2	  16645 
 I2    X  16646 #ifdef __NAMESPACE_STD
 I2    X  16647 } /* namespace std */
 I2    X  16648 #endif
 I2	  16649 
 I2    X  16650 #if __INITIAL_POINTER_SIZE == 32
 I2    X  16651 #   pragma __pointer_size 64
 I2    X  16652 #endif
 I2	  16653 
 I2    X  16654 #if __INITIAL_POINTER_SIZE && !defined _ANSI_C_SOURCE && __CRTL_VER >= 70000000
 I2    X  16655 #   pragma __pointer_size 32
 I2    X  16656     void *_memchr32  (const void *__s, int __c, __size_t __n);
 I2    X  16657     void *_memcpy32  (void *__s1, __const_void_ptr64 __s2, __size_t __n);
 I2    X  16658     void *_memmove32 (void *__s1, __const_void_ptr64 __s2, __size_t __n);
 I2    X  16659     void *_memset32  (void *__s, int __c, __size_t __n);
 I2    X  16660     char *_strcat32  (char *__s1, __const_char_ptr64 __s2);
 I2    X  16661     char *_strchr32  (const char *__s, int __c);
 I2    X  16662     char *_strcpy32  (char *__s1, __const_char_ptr64 __s2);
 I2    X  16663     char *_strncat32 (char *__s1, __const_char_ptr64 __s2, __size_t __n);
 I2    X  16664     char *_strncpy32 (char *__s1, __const_char_ptr64 __s2, __size_t __n);
 I2    X  16665     char *_strpbrk32 (const char *__s1, __const_char_ptr64 __s2);
 I2    X  16666     char *_strrchr32 (const char *__s, int __c);
 I2    X  16667     char *_strstr32  (const char *__s1, __const_char_ptr64 __s2);
 I2    X  16668     char *_strtok32  (char *__s1, __const_char_ptr64 __s2);
 I2    X  16669 
 I2    X  16670 #   pragma __pointer_size 64
 I2    X  16671     void *_memchr64  (const void *__s, int __c, __size_t __n);
 I2    X  16672     void *_memcpy64  (void *__s1, const void *__s2, __size_t __n);
 I2    X  16673     void *_memmove64 (void *__s1, const void *__s2, __size_t __n);
 I2    X  16674     void *_memset64  (void *__s, int __c, __size_t __n);
 I2    X  16675     char *_strcat64  (char *__s1, const char *__s2);
 I2    X  16676     char *_strchr64  (const char *__s, int __c);
 I2    X  16677     char *_strcpy64  (char *__s1, const char *__s2);
 I2    X  16678     char *_strncat64 (char *__s1, const char *__s2, __size_t __n);
 I2    X  16679     char *_strncpy64 (char *__s1, const char *__s2, __size_t __n);
 I2    X  16680     char *_strpbrk64 (const char *__s1, const char *__s2);
 I2    X  16681     char *_strrchr64 (const char *__s, int __c);
 I2    X  16682     char *_strstr64  (const char *__s1, const char *__s2);
 I2    X  16683     char *_strtok64  (char *__s1, const char *__s2);
 I2    X  16684 #endif
 I2	  16685 
 I2    X  16686 #ifdef __NAMESPACE_STD
 I2    X  16687 namespace std {
 I2    X  16688 #endif
 I2	  16689 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 300
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2	  16690 /*
 I2	  16691 **  The following functions have only a single interface regardless of the
 I2	  16692 **  pointer size in effect.  The parameters can accept both 32 bit and 64
 I2	  16693 **  bit addresses.
 I2	  16694 */
 I2	  16695 int    memcmp  (const void *__s1, const void *__s2, __size_t __n);
 I2	  16696 int    strcmp  (const char *__s1, const char *__s2);
 I2	  16697 int    strcoll (const char *__s1, const char *__s2);
 I2	  16698 int    strncmp (const char *__s1, const char *__s2, __size_t __n);
 I2	  16699 __size_t strcspn (const char *__s1, const char *__s2);
 I2	  16700 __size_t strlen  (const char *__s);
 I2	  16701 __size_t strspn  (const char *__s1, const char *__s2);
 I2	  16702 __size_t strxfrm (char *__s1, const char *__s2, __size_t __n);
 I2	  16703 
 I2    X  16704 #ifdef __NAMESPACE_STD
 I2    X  16705 } /* namespace std */
 I2    X  16706 #endif
 I2	  16707 
 I2	  16708 #if !defined _ANSI_C_SOURCE && __CRTL_VER >= 60200000
 I2	  16709     __size_t strnlen (const char *__s, __size_t __n);
 I2	  16710 #endif
 I2	  16711 
 I2	  16712 
 I2	  16713 /*
 I2	  16714 **  The following function has a different prototype based on whether or
 I2	  16715 **  not we are compiling in strict ANSI C compatibility mode.
 I2	  16716 */
 I2    X  16717 #ifdef __NAMESPACE_STD
 I2    X  16718 namespace std {
 I2    X  16719 #endif
 I2	  16720 
 I2    X  16721 #if defined _ANSI_C_SOURCE
 I2    X  16722     __char_ptr32 strerror(int __errnum);
 I2    X  16723 #else
 I2	  16724     __char_ptr32 strerror(int __errnum, ...);
 I2	  16725 #endif
 I2	  16726 
 I2    X  16727 #ifdef __NAMESPACE_STD
 I2    X  16728 } /* namespace std */
 I2    X  16729 #endif
 I2	  16730 
 I2	  16731 /*
 I2	  16732 **  X/Open extensions
 I2	  16733 */
 I2	  16734 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I2	  16735 
 I2    X  16736 #   if __INITIAL_POINTER_SIZE == 32
 I2    X  16737 #      pragma __pointer_size 32
 I2    X  16738 #   endif
 I2	  16739 
 I2	  16740 #   if __CRTL_VER >= 70000000
 I2	  16741     void *memccpy(void *, __const_void_ptr64, int, __size_t);
 I2	  16742 #   endif
 I2	  16743 
 I2	  16744 #endif
 I2	  16745 
 I2	  16746 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 301
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2	  16747 **  X/Open extended
 I2	  16748 */
 I2	  16749 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  16750 
 I2    X  16751 #   if __INITIAL_POINTER_SIZE == 32
 I2    X  16752 #      pragma __pointer_size 32
 I2    X  16753 #   endif
 I2	  16754 
 I2	  16755 #   if __CRTL_VER >= 70000000
 I2	  16756     char *strdup(__const_char_ptr64);
 I2	  16757 #   endif
 I2	  16758 
 I2	  16759 #   if __CRTL_VER >= 70301000
 I2	  16760     char *strtok_r(char *__s, __const_char_ptr64 __sep, char **lasts);
 I2	  16761 #   endif
 I2	  16762 
 I2	  16763 #   if __CRTL_VER >= 80500000
 I2	  16764     char *strndup(__const_char_ptr64, __size_t);
 I2	  16765     int strerror_r(int, __char_ptr64, __size_t);
 I2	  16766     char *stpcpy(char *, __const_char_ptr64);
 I2	  16767 #   define mempcpy(to, from, len) (void *)((char *)memcpy((to), (from), (len)) + (len))
 I2	  16768 #   endif
 I2	  16769 
 I2	  16770 #endif
 I2	  16771 
 I2	  16772 /*
 I2	  16773 **  BSD 4.4 extensions.   strsep is specified by BSD 4.4 but not X/Open
 I2	  16774 **  There is not currently a feature test macro defined for BSD44
 I2	  16775 */
 I2	  16776 
 I2	  16777 #if !defined _ANSI_C_SOURCE && __CRTL_VER >= 70000000
 I2	  16778 
 I2    X  16779 #   if __INITIAL_POINTER_SIZE == 32
 I2    X  16780 #      pragma __pointer_size 32
 I2    X  16781 #   endif
 I2	  16782 
 I2	  16783     char *strsep(char **, __const_char_ptr64);
 I2	  16784 
 I2    X  16785 #   if __INITIAL_POINTER_SIZE
 I2    X  16786 
 I2    X  16787 #       pragma __pointer_size 32
 I2    X  16788     char *_strsep32(char **, __const_char_ptr64);
 I2    X  16789 
 I2    X  16790 #       pragma __pointer_size 64
 I2    X  16791     char *_strsep64(char **, const char *);
 I2    X  16792 
 I2    X  16793 #   endif
 I2	  16794 
 I2	  16795 #endif
 I2	  16796 
 I2	  16797 /*
 I2	  16798 **  DEC C Extensions
 I2	  16799 **  X/Open extended specifies that bcmp, bcopy, bzero, ffs, strcasecmp
 I2	  16800 **  strncasecmp, index and rindex appear in <strings.h>.
 I2	  16801 **  X/Open extended specifies that basename and dirname appear in <libgen.h>
 I2	  16802 */
 I2	  16803 #if !defined _ANSI_C_SOURCE && __CRTL_VER >= 70000000

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 302
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2	  16804 
 I2    X  16805 #   if __INITIAL_POINTER_SIZE == 32
 I2    X  16806 #      pragma __pointer_size 64
 I2    X  16807 #   endif
 I2	  16808 
 I2	  16809     int  bcmp  (const void * __s1, const void * __s2, __size_t __n);
 I2	  16810     void (bcopy) (const void * __s1, void * __s2, __size_t __n);
 I2	  16811     void (bzero) (void * __s1, __size_t __n);
 I2	  16812     int  ffs   (int);
 I2	  16813     int  strcasecmp(const char *, const char *);
 I2	  16814     int  strncasecmp(const char *, const char *, __size_t);
 I2	  16815 
 I2    X  16816 #   if __INITIAL_POINTER_SIZE == 32
 I2    X  16817 #      pragma __pointer_size 32
 I2    X  16818 #   endif
 I2	  16819 
 I2	  16820     char *index(const char *, int);
 I2	  16821     char *rindex(const char *, int);
 I2	  16822 
 I2	  16823     char *basename(char *);
 I2	  16824     char *dirname(char *);
 I2	  16825 
 I2    X  16826 #   if __INITIAL_POINTER_SIZE
 I2    X  16827 #   pragma __pointer_size 32
 I2    X  16828     char *_strdup32(__const_char_ptr64);
 I2    X  16829     void *_memccpy32(void *, __const_void_ptr64, int, __size_t);
 I2    X  16830     char *_basename32(char *);
 I2    X  16831     char *_dirname32(char *);
 I2    X  16832     char *_index32(const char *, int);
 I2    X  16833     char *_rindex32(const char *, int);
 I2    X  16834 
 I2    X  16835 #   if __CRTL_VER >= 70301000
 I2    X  16836     char *_strtok_r32 (char *__s, __const_char_ptr64 __sep, char **lasts);
 I2    X  16837 #   endif
 I2    X  16838 
 I2    X  16839 #   if __CRTL_VER >= 80500000
 I2    X  16840     char *_strndup32(__const_char_ptr64, __size_t);
 I2    X  16841     char *_stpcpy32(char *, __const_char_ptr64);
 I2    X  16842 #   define _mempcpy32(to, from, len) (void *)((char *)_memcpy32((to), (from), (len)) + (len))
 I2    X  16843 #   endif
 I2    X  16844 
 I2    X  16845 #   pragma __pointer_size 64
 I2    X  16846     char *_strdup64(const char *);
 I2    X  16847     void *_memccpy64(void *, const void *, int, __size_t);
 I2    X  16848     char *_basename64(char *);
 I2    X  16849     char *_dirname64(char *);
 I2    X  16850     char *_index64(const char *, int);
 I2    X  16851     char *_rindex64(const char *, int);
 I2    X  16852 
 I2    X  16853 #   if __CRTL_VER >= 70301000
 I2    X  16854     char *_strtok_r64 (char *__s, __const_char_ptr64 __sep, char **lasts);
 I2    X  16855 #   endif
 I2    X  16856 
 I2    X  16857 #   if __CRTL_VER >= 80500000
 I2    X  16858     char *_strndup64(const char *, __size_t);
 I2    X  16859     char *_stpcpy64(char *, const char *);
 I2    X  16860 #   define _mempcpy64(to, from, len) (void *)((char *)_memcpy64((to), (from), (len)) + (len))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 303
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2    X  16861 #   endif
 I2    X  16862 
 I2    X  16863 #   endif
 I2	  16864 #endif
 I2	  16865 
 I2	  16866 
 I2	  16867 /*
 I2	  16868 **  DEC C Performance (Builtins)
 I2	  16869 **
 I2	  16870 **  Certain DEC C functions are available as compiler builtins.  Using
 I2	  16871 **  the builtins offer performance improvements and are enabled here
 I2	  16872 **  for all programs including this header file.
 I2	  16873 **
 I2	  16874 **  In a 64 bit OpenVMS environment, the builtins accept and return 64 bit
 I2	  16875 **  pointers.  We will explicitly use casts
 I2	  16876 */
 I2    X  16877 #if __INITIAL_POINTER_SIZE == 32
 I2    X  16878 #   pragma __pointer_size 32
 I2    X  16879 #endif
 I2	  16880 
 I2    X  16881 #if __DECCXX_VER >= 60590046
 I2    X  16882     void * __MEMCPY  (void  *__s1, __const_void_ptr64 __s2, __size_t __n);
 I2    X  16883     void * __MEMMOVE (void *__s1, __const_void_ptr64 __s2, __size_t __n);
 I2    X  16884 #else
 I2	  16885     void * __MEMCPY  (void  *__s1, const void *__s2, __size_t __n);
 I2	  16886     void * __MEMMOVE (void *__s1, const void *__s2, __size_t __n);
 I2	  16887 #endif
 I2	  16888 
 I2	  16889     void * __MEMSET  (void *__s, int __c, __size_t __n);
 I2	  16890 
 I2	  16891 #if (__DECC_VER > 50600000)
 I2	  16892     __size_t __STRLEN  (const char *__s);
 I2	  16893     char * __STRCPY  (char *__s1, const char *__s2);
 I2	  16894 #endif
 I2	  16895 
 I2	  16896 #ifndef __NAMESPACE_STD
 I2	  16897 #   define memcpy(__x, __y, __z) __MEMCPY(__x, __y, __z)
 I2	  16898 #   define memmove(__x, __y, __z) __MEMMOVE(__x, __y, __z)
 I2	  16899 #   define memset(__x, __y, __z) __MEMSET(__x, __y, __z)
 I2	  16900 #endif
 I2	  16901 
 I2	  16902 #if (__DECC_VER > 50600000)
 I2	  16903 #   define strlen(__x) __STRLEN(__x)
 I2	  16904 #   define strcpy(__x, __y) __STRCPY(__x, __y)
 I2	  16905 #   endif
 I2	  16906 #   if !defined _ANSI_C_SOURCE && __CRTL_VER >= 70000000 /* BSD byte string extensions */
 I2	  16907 #   define bcopy(__x, __y, __z) __MEMMOVE(__y, __x, __z)
 I2	  16908 #   define bzero(__x, __y) __MEMSET(__x, 0, __y)
 I2	  16909 #   endif
 I2    X  16910 #if __INITIAL_POINTER_SIZE == 32
 I2    X  16911 #   pragma __pointer_size 64
 I2    X  16912 #endif
 I2	  16913 
 I2	  16914 /*
 I2	  16915 **  DEC C RTL Performance (Linkages)
 I2	  16916 **
 I2	  16917 **  Certain DEC C RTL functions are defined with linkages declared

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 304
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2	  16918 **  which gives the compiler more information as to register usage in
 I2	  16919 **  the implementation.
 I2	  16920 */
 I2    X  16921 #if defined(__ALPHA) && defined(__DECC) /* Verified for x86, John Reagan */
 I2	  16922 #   pragma __linkage __str_link1 = (\
 I2	  16923         __notused(__r1,__r2,__r3,__r4,__r5,__r6,__r7,__r8,__r9,__r10,__r11,\
 I2	  16924                   __r12,__r13,__r14,__r15,__r17,__r18,__r19,__r20,__r21,__r22,\
 I2	  16925                   __r23,__r24,__r25,__r29,\
 I2	  16926                   __f0,__f1,__f2,__f3,__f4,__f5,__f6,__f7,__f8,__f9,__f10,\
 I2	  16927                   __f11,__f12,__f13,__f14,__f15,__f16,__f17,__f18,__f19,__f20,\
 I2	  16928                   __f21,__f22,__f23,__f24,__f25,__f26,__f27,__f28,__f29,__f30),\
 I2    X  16929         __notneeded(__ai))
 I2    X  16930 #   pragma __linkage __str_link2 = (\
 I2    X  16931         __notused(__r1,__r2,__r3,__r4,__r5,__r6,__r7,__r8,__r9,__r10,__r11,\
 I2    X  16932                   __r12,__r13,__r14,__r15,__r22,__r23,__r24,__r25,__r29,\
 I2    X  16933                   __f0,__f1,__f2,__f3,__f4,__f5,__f6,__f7,__f8,__f9,__f10,\
 I2    X  16934                   __f11,__f12,__f13,__f14,__f15,__f16,__f17,__f18,__f19,__f20,\
 I2    X  16935                   __f21,__f22,__f23,__f24,__f25,__f26,__f27,__f28,__f29,__f30),\
 I2    X  16936         __notneeded(__ai))
 I2    X  16937 #   pragma __linkage __str_link3 = (\
 I2    X  16938         __notused(__r2,__r3,__r4,__r5,__r6,__r7,__r8,__r9,__r10,__r11,__r12,\
 I2    X  16939                   __r13,__r14,__r15,__r18,__r19,__r20,__r21,__r22,__r23,__r24,\
 I2    X  16940                   __r25,__r29,\
 I2    X  16941                   __f0,__f1,__f2,__f3,__f4,__f5,__f6,__f7,__f8,__f9,__f10,\
 I2    X  16942                   __f11,__f12,__f13,__f14,__f15,__f16,__f17,__f18,__f19,__f20,\
 I2    X  16943                   __f21,__f22,__f23,__f24,__f25,__f26,__f27,__f28,__f29,__f30),\
 I2    X  16944         __notneeded(__ai))
 I2    X  16945 
 I2    X  16946 #   if (__DECC_VER > 50600000)
 I2    X  16947 #      pragma __use_linkage __str_link2 (strcmp)
 I2    X  16948 #      pragma __use_linkage __str_link3 (strnlen)
 I2    X  16949 #   else
 I2    X  16950 #      pragma __use_linkage __str_link1 (strlen)
 I2    X  16951 #      pragma __use_linkage __str_link2 (strcpy, strcmp)
 I2    X  16952 #      pragma __use_linkage __str_link3 (strnlen)
 I2    X  16953 #   endif
 I2    X  16954 #endif
 I2	  16955 
 I2	  16956 /*
 I2	  16957 **  Should define "similar" linkages for ia64, but they cannot be exactly
 I2	  16958 **  the same because the register conventions are different.
 I2	  16959 **  Since we still haven't done this by May 2017, we'll never do it.
 I2	  16960 **
 I2	  16961 **  And I suspect we'll just keep them as standard calls on x86 but
 I2	  16962 **  some of them might be LLVM intrinsics and it will manage any
 I2	  16963 **  non-standard interfaces.
 I2	  16964 */
 I2	  16965 
 I2	  16966 
 I2	  16967 /*
 I2	  16968 **  Restore the users pointer context
 I2	  16969 */
 I2    X  16970 #if __INITIAL_POINTER_SIZE
 I2    X  16971 #   pragma __pointer_size __restore
 I2    X  16972 #endif
 I2	  16973 
 I2    X  16974 #ifdef __cplusplus

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 305
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STRING)

 I2    X  16975     }
 I2    X  16976 #endif
 I2	  16977 
 I2	  16978 #pragma __standard
 I2	  16979 #endif /* __STRING_PROCESSED */
 I2	  16980 
 I2    X  16981 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I2    X  16982 #  ifndef __USING_STRING_NAMES
 I2    X  16983 #    define __USING_STRING_NAMES
 I2    X  16984      using std::memchr;
 I2    X  16985      using std::memcmp;
 I2    X  16986      using std::memcpy;
 I2    X  16987      using std::memmove;
 I2    X  16988      using std::memset;
 I2    X  16989      using std::size_t;
 I2    X  16990      using std::strcat;
 I2    X  16991      using std::strchr;
 I2    X  16992      using std::strcmp;
 I2    X  16993      using std::strcoll;
 I2    X  16994      using std::strcpy;
 I2    X  16995      using std::strcspn;
 I2    X  16996      using std::strerror;
 I2    X  16997      using std::strlen;
 I2    X  16998      using std::strncat;
 I2    X  16999      using std::strncmp;
 I2    X  17000      using std::strncpy;
 I2    X  17001      using std::strpbrk;
 I2    X  17002      using std::strrchr;
 I2    X  17003      using std::strspn;
 I2    X  17004      using std::strstr;
 I2    X  17005      using std::strtok;
 I2    X  17006      using std::strxfrm;
 I2    X  17007 #  endif
 I2    X  17008 #endif
 I2	  17009 
 I2	  17010 #endif  /* __STRING_LOADED */
 I1	  17011 
 I1	  17012 /*
 I1	  17013   Prototypes for other commonly used library functions, such as
 I1	  17014   malloc, free, getenv, atol, atoi, and exit.  Otherwise, no prototypes.
 I1	  17015 */
 I1	  17016 #include <stdlib.h>
 I2	  17017 #ifndef __STDLIB_LOADED
 I2	  17018 #define __STDLIB_LOADED 1
 I2	  17019 
 I2	  17020 #ifndef __STDLIB_PROCESSED
 I2	  17021 #define __STDLIB_PROCESSED
 I2	  17022 
 I2	  17023 /****************************************************************************
 I2	  17024 **
 I2	  17025 **  <stdlib.h> - General Utilities
 I2	  17026 **
 I2	  17027 *****************************************************************************
 I2	  17028 **  Header introduced by the ANSI C Standard
 I2	  17029 *****************************************************************************
 I2	  17030 */
 I2	  17031 /* ************************************************************************* */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 306
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2	  17032 /* *                                                                       * */
 I2	  17033 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I2	  17034 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I2	  17035 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I2	  17036 /* * prior written permission of HPE.                                      * */
 I2	  17037 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I2	  17038 /* *                                                                       * */
 I2	  17039 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I2	  17040 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I2	  17041 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I2	  17042 /* * the prior written permission of VMS Software, Inc.                    * */
 I2	  17043 /* * Copyright 2019-20 VMS Software, Inc.                                  * */
 I2	  17044 /* *                                                                       * */
 I2	  17045 /* ************************************************************************* */
 I2	  17046 
 I2	  17047 #pragma __nostandard
 I2    X  17048 #include <decc$types.h>
 I2	  17049 
 I2    X  17050 #ifdef __cplusplus
 I2    X  17051     extern "C" {
 I2    X  17052 #endif
 I2	  17053 
 I2	  17054 
 I2	  17055 /* 
 I2	  17056 **  X/Open specifies that WNOHANG, WUNTRACED, WEXITSTATUS, WIFEXITED,
 I2	  17057 **  WIFSIGNALED, WIFSTOPPED, WSTOPSIG and WTRERMSIG are defined here, and that
 I2	  17058 **  inclusion of <stdlib.h> may make visible all symbols from <sys/wait.h>
 I2	  17059 **  and <limits.h>.
 I2	  17060 */ 
 I2	  17061 #if defined _XOPEN_SOURCE || (!defined _ANSI_C_SOURCE && !defined _DECC_V4_SOURCE)
 I2	  17062 #   include <wait.h>
 I3	  17063 #ifndef __WAIT_LOADED
 I3	  17064 #define __WAIT_LOADED 1
 I3	  17065 
 I3	  17066 #pragma __nostandard
 I3    X  17067 #include <decc$types.h>
 I3	  17068 
 I3	  17069 #if __CRTL_VER >= 60100000
 I3	  17070 /****************************************************************************
 I3	  17071 **
 I3	  17072 **  <sys/wait.h> - Declarations for process waiting
 I3	  17073 **
 I3	  17074 *****************************************************************************
 I3	  17075 **  Header introduced by the ISO POSIX-1 Standard
 I3	  17076 *****************************************************************************
 I3	  17077 **                                                                       
 I3	  17078 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I3	  17079 **                                                                       
 I3	  17080 ** Confidential computer software.  Valid license from HP and/or         
 I3	  17081 ** its subsidiaries required for possession, use, or copying.            
 I3	  17082 **                                                                       
 I3	  17083 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I3	  17084 ** Computer Software Documentation, and Technical Data for Commercial    
 I3	  17085 ** Items are licensed to the U.S. Government under vendor's standard     
 I3	  17086 ** commercial license.                                                   
 I3	  17087 **                                                                       
 I3	  17088 ** Neither HP nor any of its subsidiaries shall be liable for technical  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 307
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(WAIT)

 I3	  17089 ** or editorial errors or omissions contained herein.  The information   
 I3	  17090 ** in this document is provided "as is" without warranty of any kind and 
 I3	  17091 ** is subject to change without notice.  The warranties for HP products  
 I3	  17092 ** are set forth in the express limited warranty statements accompanying 
 I3	  17093 ** such products.  Nothing herein should be construed as constituting an 
 I3	  17094 ** additional warranty.                                                  
 I3	  17095 **                                                                       
 I3	  17096 *****************************************************************************
 I3	  17097 */
 I3	  17098 
 I3    X  17099 #ifdef __cplusplus
 I3    X  17100     extern "C" {
 I3    X  17101 #endif
 I3	  17102 
 I3	  17103 
 I3	  17104 /*
 I3	  17105 **  Create 'public' typedefs that are either insensitive to pointer size or
 I3	  17106 **  are sensitive to pointer size and must use short pointers.
 I3	  17107 */
 I3    X  17108 #if !defined __PID_T && (defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE)
 I3    X  17109 #   define __PID_T 1
 I3    X  17110     typedef __pid_t pid_t;
 I3    X  17111 #endif
 I3	  17112 
 I3	  17113 /*	 
 I3	  17114 **  X/Open extended (XPG4 V2) extensions
 I3	  17115 */	 
 I3    X  17116 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
 I3    X  17117 
 I3    X  17118     /*	 
 I3    X  17119     **  pid_t, the same as in <sys/types.h>
 I3    X  17120     */	 
 I3    X  17121 #   ifndef __PID_T
 I3    X  17122 #	define __PID_T 1
 I3    X  17123 	typedef __pid_t pid_t;
 I3    X  17124 #   endif
 I3    X  17125 
 I3    X  17126 #endif
 I3	  17127 
 I3	  17128 
 I3	  17129 #if __CRTL_VER >= 70000000
 I3	  17130 
 I3	  17131 /*	 
 I3	  17132 **  Includes needed in X/Open extended (XPG4 V2) compilation
 I3	  17133 */	 
 I3    X  17134 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
 I3    X  17135 #   include <signal.h>	    /* for siginfo_t */
 I3    X  17136 #   include <resource.h>    /* for struct rusage */
 I3    X  17137 #endif
 I3	  17138 
 I3	  17139 
 I3	  17140 /*
 I3	  17141 **  Ensure that regardless of user /pointer_size usage, we begin processing
 I3	  17142 **  using a 32 bit pointer context.
 I3	  17143 */
 I3    X  17144 #if __INITIAL_POINTER_SIZE
 I3    X  17145 #   pragma __pointer_size __save

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 308
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(WAIT)

 I3    X  17146 #   pragma __pointer_size 32
 I3    X  17147 #endif
 I3	  17148 
 I3	  17149 
 I3	  17150 /*
 I3	  17151 **  Member align structures
 I3	  17152 */
 I3	  17153 #pragma __member_alignment __save
 I3	  17154 #pragma __member_alignment
 I3	  17155 
 I3	  17156 
 I3	  17157 /*	 
 I3	  17158 **  Symbolic constants for waitpid()
 I3	  17159 */	 
 I3	  17160 #define WNOHANG	    1
 I3	  17161 #define WUNTRACED   2
 I3	  17162 
 I3	  17163 
 I3	  17164 /*	 
 I3	  17165 **  Macros for analysis of process status values
 I3	  17166 */	 
 I3	  17167 # define WIFEXITED(s)   (((s)&0x7F)==0)
 I3	  17168 # define WEXITSTATUS(s) (((s)>>8)&0xFF)
 I3	  17169 
 I3	  17170 # define WIFSTOPPED(s)  (((s)&0xFF)==0x7F)  /* not implemented */
 I3	  17171 # define WSTOPSIG(s)    (((s)>>8)&0xFF)
 I3	  17172 
 I3	  17173 # define WIFSIGNALED(s) (((unsigned)(((s)&0x7F)-1))<0x7E)
 I3	  17174 # define WTERMSIG(s)    ((s)&0x7F)
 I3	  17175 
 I3	  17176 
 I3	  17177 /*	 
 I3	  17178 **  X/Open extended (XPG4 V2) extensions
 I3	  17179 */	 
 I3    X  17180 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
 I3    X  17181 #   define WCONTINUED	4
 I3    X  17182 #   define WNOWAIT	8
 I3    X  17183 
 I3    X  17184 #   define WIFCONTINUED(s) (((s)&0xFF)==0xff) /* not implemented */
 I3    X  17185 
 I3    X  17186     /*	 
 I3    X  17187     **  Options argument to waitid
 I3    X  17188     */	 
 I3    X  17189 #   define WEXITED	3
 I3    X  17190 #   define WSTOPPED	4
 I3    X  17191 
 I3    X  17192     /*	 
 I3    X  17193     **  idtype_t and id_t for waitid()
 I3    X  17194     */	 
 I3    X  17195     typedef enum {
 I3    X  17196 	P_ALL, P_PID, P_PGID } idtype_t;
 I3    X  17197 
 I3    X  17198 #   ifndef __ID_T
 I3    X  17199 #      define __ID_T
 I3    X  17200        typedef __id_t id_t;
 I3    X  17201 #   endif
 I3    X  17202 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 309
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(WAIT)

 I3    X  17203 #endif
 I3	  17204 
 I3	  17205 
 I3	  17206 /*	 
 I3	  17207 **  DEC C extensions
 I3	  17208 **
 I3	  17209 ** union wait is for BSD compatibility.
 I3	  17210 */	 
 I3    X  17211 #if !defined _POSIX_C_SOURCE
 I3    X  17212 #   define _WSTOPPED 0x7f
 I3    X  17213     union wait
 I3    X  17214        {
 I3    X  17215    	   int     w_status;
 I3    X  17216 
 I3    X  17217 	/*	 
 I3    X  17218 	**  For processes that have exited
 I3    X  17219 	*/	 
 I3    X  17220 	struct
 I3    X  17221 	{
 I3    X  17222 	    unsigned        _w_termsig:7;    /* termination signal */
 I3    X  17223 	    unsigned        _w_coredump:1;   /* core dump indicator */
 I3    X  17224 	    unsigned        _w_retcode:8;    /* exit code if w_termsig==0 */
 I3    X  17225 	    unsigned short  _w_PAD16;
 I3    X  17226 	} _w_t;
 I3    X  17227 	/*	 
 I3    X  17228 	**  For processed that have stopped.  Not currently implemented.
 I3    X  17229 	*/	 
 I3    X  17230 	struct {
 I3    X  17231 	    unsigned        _w_stopval:8;    /* == _WSTOPPED if stopped */
 I3    X  17232 	    unsigned        _w_stopsig:8;    /* signal that stopped us */
 I3    X  17233 	    unsigned short  _w_PAD16;
 I3    X  17234 	} _w_s;
 I3    X  17235     };
 I3    X  17236 
 I3    X  17237 #   define w_termsig       _w_t._w_termsig
 I3    X  17238 #   define w_coredump      _w_t._w_coredump
 I3    X  17239 #   define w_retcode       _w_t._w_retcode
 I3    X  17240 #   define w_stopval       _w_s._w_stopval
 I3    X  17241 #   define w_stopsig       _w_s._w_stopsig
 I3    X  17242 #endif
 I3	  17243 	
 I3	  17244 
 I3	  17245 /*
 I3	  17246 **  We are done defining things which must always be short pointers.  If
 I3	  17247 **  the user has used /pointer_size=short or /pointer_size=long, we will
 I3	  17248 **  allow long pointers to be used in function calls.
 I3	  17249 */
 I3    X  17250 #if __INITIAL_POINTER_SIZE
 I3    X  17251 #   pragma __pointer_size 64
 I3    X  17252 #endif
 I3	  17253 
 I3	  17254 
 I3	  17255 /*
 I3	  17256 **  Function prototypes
 I3	  17257 */
 I3    X  17258 #if defined _POSIX_EXIT
 I3    X  17259 #   if __CAN_USE_EXTERN_PREFIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 310
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(WAIT)

 I3    X  17260 #	pragma __extern_prefix __save
 I3    X  17261 #	pragma __extern_prefix "__posix_"
 I3    X  17262 #   else
 I3    X  17263 #	define wait(__p1) __posix_wait(__p1)
 I3    X  17264 #   endif
 I3    X  17265 #endif
 I3	  17266 
 I3	  17267 __pid_t wait(int *__stat_loc);
 I3	  17268 
 I3    X  17269 #if defined _POSIX_EXIT
 I3    X  17270 #   if __CAN_USE_EXTERN_PREFIX
 I3    X  17271 #	pragma __extern_prefix __restore
 I3    X  17272 #   endif
 I3    X  17273 #endif
 I3	  17274 
 I3	  17275 
 I3	  17276 /*
 I3	  17277 **  Beginning in OpenVMS Version 7.2 waitpid, wait3 and wait4 have two
 I3	  17278 **  implementations.  One implementation returns UNIX-style exit status
 I3	  17279 **  which can be analyzed using the macros for analysis of process status
 I3	  17280 **  values from this header. The other __vms_* returns VMS completion code.
 I3	  17281 */
 I3	  17282 
 I3    X  17283 #if (__CRTL_VER >= 70100322) && defined(_VMS_WAIT)
 I3    X  17284 #      ifdef __CAN_USE_EXTERN_PREFIX
 I3    X  17285 #          pragma __extern_prefix __save
 I3    X  17286 #          pragma __extern_prefix "__vms_"
 I3    X  17287 #      else
 I3    X  17288 #          define waitpid(__p1,__p2,__p3)    __vms_waitpid(__p1,__p2,__p3)
 I3    X  17289 #          define wait3(__p1,__p2,__p3)      __vms_wait3(__p1,__p2,__p3)
 I3    X  17290 #          define wait4(__p1,__p2,__p3,__p4) __vms_wait4(__p1,__p2,__p3,__p4)
 I3    X  17291 #      endif
 I3    X  17292 #endif
 I3	  17293 
 I3	  17294 
 I3	  17295 __pid_t waitpid( __pid_t __pid, int *__stat_loc, int __options );
 I3	  17296 
 I3	  17297 
 I3	  17298 /*	 
 I3	  17299 **  X/Open extended (XPG4 V2) Function prototypes 
 I3	  17300 */	 
 I3    X  17301 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
 I3    X  17302 
 I3    X  17303 #if 0
 I3    X  17304     /* waitid not yet implemented */
 I3    X  17305     int waitid(idtype_t __idtype, id_t __id, siginfo_t *__infop, int __options);
 I3    X  17306 #endif
 I3    X  17307 
 I3    X  17308     __pid_t wait3(int *__stat_loc, int options, struct rusage *__resource_usage);
 I3    X  17309 
 I3    X  17310 #endif
 I3	  17311 
 I3	  17312 
 I3	  17313 /*	 
 I3	  17314 **  DEC C extensions
 I3	  17315 */	 
 I3    X  17316 #if !defined _POSIX_C_SOURCE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 311
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(WAIT)

 I3    X  17317     __pid_t wait4(__pid_t __pid, union wait *__exit_status, int __options, 
 I3    X  17318                 struct rusage *__resource_usage);
 I3    X  17319 #endif
 I3	  17320 
 I3    X  17321 #if (__CRTL_VER >= 70100322) && defined(_VMS_WAIT)
 I3    X  17322 #   if __CAN_USE_EXTERN_PREFIX
 I3    X  17323 #       pragma __extern_prefix __restore
 I3    X  17324 #   endif
 I3    X  17325 #endif
 I3	  17326 
 I3	  17327 /*
 I3	  17328 **  Restore the users pointer context
 I3	  17329 */
 I3    X  17330 #if __INITIAL_POINTER_SIZE
 I3    X  17331 #   pragma __pointer_size __restore
 I3    X  17332 #endif
 I3	  17333 
 I3	  17334 
 I3	  17335 #pragma __member_alignment __restore
 I3	  17336 
 I3    X  17337 #else
 I3    X  17338 
 I3    X  17339 /*
 I3    X  17340 **  The functions  declared in this  header except for the wait() are new in
 I3    X  17341 **  OpenVMS V7.0. The wait() function was introduced in OpenVMS V6.1 and its
 I3    X  17342 **  prototype is included here without any prefixing for the users compiling
 I3    X  17343 **  with  DEC C V5.2 or higher on  OpenVMS V6.1 or V6.2. The pid_t data type
 I3    X  17344 **  was defined above in the common part of the header.
 I3    X  17345 */
 I3    X  17346 
 I3    X  17347 __pid_t wait(int *__stat_loc);
 I3    X  17348 
 I3    X  17349 #endif /* #if __CRTL_VER >= 70000000 */
 I3	  17350 
 I3    X  17351 #ifdef __cplusplus
 I3    X  17352     }
 I3    X  17353 #endif
 I3	  17354 
 I3	  17355 #endif /* #if __CRTL_VER >= 60100000 */
 I3	  17356 #pragma __standard
 I3	  17357 #endif /* __WAIT_LOADED */
 I2	  17358 #   include <limits.h>
 I3	  17359 #ifndef __LIMITS_LOADED
 I3	  17360 #define __LIMITS_LOADED 1
 I3	  17361 /****************************************************************************
 I3	  17362 **
 I3	  17363 **  <limits.h> - Sizes of integral types
 I3	  17364 **
 I3	  17365 *****************************************************************************
 I3	  17366 **  Header introduced by the ANSI C Standard
 I3	  17367 *****************************************************************************
 I3	  17368 **                                                                          *
 I3	  17369 **  HPE CONFIDENTIAL. This software is confidential proprietary software    *
 I3	  17370 **  licensed by Hewlett Packard Enterprise Development, LP, and is not      *
 I3	  17371 **  authorized to be used, duplicated or disclosed to anyone without the    *
 I3	  17372 **  prior written permission of HPE.                                        *
 I3	  17373 **  Copyright 2003 Hewlett Packard Enterprise Development, LP               *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 312
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(LIMITS)

 I3	  17374 **                                                                          *
 I3	  17375 **  VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential          *
 I3	  17376 **  proprietary software licensed by VMS Software, Inc., and is not         *
 I3	  17377 **  authorized to be used, duplicated or disclosed to anyone without        *
 I3	  17378 **  the prior written permission of VMS Software, Inc.                      *
 I3	  17379 **  Copyright 2020 VMS Software, Inc.                                       *
 I3	  17380 **                                                                          *
 I3	  17381 *****************************************************************************
 I3	  17382 **                                  Note
 I3	  17383 *****************************************************************************
 I3	  17384 **
 I3	  17385 **  Section 2.2.4.2 of the Rationale states "The limits for the maxima and
 I3	  17386 **  minima of unsigned types are specified as unsigned constants..."
 I3	  17387 **
 I3	  17388 **  The alert reader will notice there are no minima for the unsigned types,
 I3	  17389 **  but we will follow the Rationale's advice anyway.
 I3	  17390 **
 I3	  17391 *****************************************************************************
 I3	  17392 **                           Implementors Note
 I3	  17393 *****************************************************************************
 I3	  17394 **  INT_MAX is not a constant value across platforms. Sone constants in this
 I3	  17395 **  file, such as INT_MIN, are defined in terms of INT_MAX.
 I3	  17396 **  
 I3	  17397 **  Do not be tempted to speed up processing up by evaluating these expressions
 I3	  17398 **  into constant values.  This will work incorrectly.
 I3	  17399 *****************************************************************************
 I3	  17400 */
 I3	  17401 
 I3	  17402 #pragma __nostandard
 I3    X  17403 #include <decc$types.h>
 I3	  17404 
 I3	  17405 /*
 I3	  17406 **  Number of bits for the smallest object that is not a bit-field (byte)
 I3	  17407 */
 I3	  17408 #define   CHAR_BIT    8
 I3	  17409 
 I3	  17410 
 I3	  17411 /*
 I3	  17412 **  Minimum and maximum values for "signed/unsigned char"
 I3	  17413 */
 I3	  17414 #define   UCHAR_MAX   255u
 I3	  17415 #define   SCHAR_MAX   127
 I3	  17416 #define   SCHAR_MIN   (-SCHAR_MAX - 1)
 I3	  17417 
 I3	  17418 
 I3	  17419 /*
 I3	  17420 **  Minimum and maximum values for "char" affected by /unsigned_char qualifier
 I3	  17421 */
 I3	  17422 #ifdef __UNSIGNED_CHAR
 I3	  17423 #define   CHAR_MIN    0
 I3	  17424 #define   CHAR_MAX    UCHAR_MAX
 I3    X  17425 #else
 I3    X  17426 #define   CHAR_MIN    SCHAR_MIN
 I3    X  17427 #define   CHAR_MAX    SCHAR_MAX
 I3    X  17428 #endif
 I3	  17429 
 I3	  17430 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 313
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(LIMITS)

 I3	  17431 /*
 I3	  17432 **  Minimum and maximum values for "signed/unsigned short int"
 I3	  17433 */
 I3	  17434 #define   USHRT_MAX   65535u
 I3	  17435 #define   SHRT_MAX    32767
 I3	  17436 #define   SHRT_MIN    (-SHRT_MAX - 1)
 I3	  17437 
 I3	  17438 
 I3	  17439 /*
 I3	  17440 **  Minimum and maximum values for "signed/unsigned int"
 I3	  17441 */
 I3	  17442 #define   UINT_MAX    4294967295u
 I3	  17443 #define   INT_MAX     2147483647
 I3	  17444 #define   INT_MIN     (-INT_MAX - 1)
 I3	  17445 
 I3	  17446 
 I3	  17447 /*
 I3	  17448 **  Minimum and maximum values for "signed/unsigned long int"
 I3	  17449 */
 I3	  17450 #define   ULONG_MAX   4294967295u
 I3	  17451 #define   LONG_MAX    2147483647
 I3	  17452 #define   LONG_MIN    (-LONG_MAX - 1)
 I3	  17453 
 I3	  17454 
 I3	  17455 /*
 I3	  17456 **  Minimum and maximum values for "signed/unsigned long long int"
 I3	  17457 */
 I3	  17458 #define   ULLONG_MAX  18446744073709551615u
 I3	  17459 #define   LLONG_MAX   9223372036854775807
 I3	  17460 #define   LLONG_MIN   (-LLONG_MAX - 1)
 I3	  17461 
 I3	  17462 
 I3	  17463 /*
 I3	  17464 **  Minimum and maximum values for "signed/unsigned __intxx"
 I3	  17465 */ 
 I3	  17466 #define __UINT16_MAX  65535u
 I3	  17467 #define __INT16_MAX   32767
 I3	  17468 #define __INT16_MIN   (-__INT16_MAX - 1)
 I3	  17469 
 I3	  17470 #define __UINT32_MAX  4294967295u
 I3	  17471 #define __INT32_MAX   2147483647
 I3	  17472 #define __INT32_MIN   (-__INT32_MAX - 1)
 I3	  17473 
 I3	  17474 #define __UINT64_MAX  18446744073709551615u
 I3	  17475 #define __INT64_MAX   9223372036854775807
 I3	  17476 #define __INT64_MIN   (-__INT64_MAX - 1)
 I3	  17477 
 I3    X  17478 #if __CRTL_VER < 60200000 
 I3    X  17479 #   define  MB_LEN_MAX               1   /*  Before OpenVMS V6.2  */ 
 I3    X  17480 #else 
 I3	  17481 #   define  MB_LEN_MAX               8   /*  After  OpenVMS V6.2  */ 
 I3	  17482 #endif 
 I3	  17483 
 I3	  17484 /*
 I3	  17485 **  Limits which changed beginning with OpenVMS V6.2
 I3	  17486 */
 I3	  17487 #   if defined(_XOPEN_SOURCE) || !defined(_ANSI_C_SOURCE)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 314
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(LIMITS)

 I3	  17488 #   define  COLL_WEIGHTS_MAX         5   /*  Max collate weights  */
 I3	  17489 #   define  NL_TEXTMAX            8192
 I3	  17490 #   define  NL_SETMAX            65535
 I3	  17491 #   define  NL_MSGMAX            65535
 I3	  17492 #   define  CHARCLASS_NAME_MAX      14
 I3	  17493 #   define  NL_ARGMAX                9
 I3	  17494 #   define  NL_LANGMAX              14
 I3	  17495 #   define  TZNAME_MAX              15
 I3	  17496 #   define  SSIZE_MAX          INT_MAX
 I3	  17497 
 I3	  17498     /*
 I3	  17499     ** Limits needed to support *conf() functions.
 I3	  17500     */
 I3	  17501 #   define  BC_BASE_MAX             -1   /* Max ibase and obase values for bc - not implemented */
 I3	  17502 #   define  BC_DIM_MAX              -1   /* Max num elements in array for bc - not implemented */
 I3	  17503 #   define  BC_SCALE_MAX            -1   /* Max scale value allowed by bc - not implemented */
 I3	  17504 #   define  BC_STRING_MAX           -1   /* Max len of string constant by bc - not implemented */
 I3	  17505 
 I3	  17506 #   define  EXPR_NEST_MAX           (-1)  /* Max num expression nested for expr */
 I3	  17507 #   define  LINE_MAX                2048  /* Max len of utility input line */
 I3	  17508 #   define  RE_DUP_MAX              (-1)  /* Max num repeated reg for interval */
 I3	  17509 
 I3	  17510 #   define  NGROUPS_MAX             0	  /* User can be in no extra groups */
 I3	  17511 #   define  PASS_MAX                31    /* Max bytes in a password */
 I3	  17512 #   define  ARG_MAX                 4096  /* Max len of arg to exec rtns */
 I3	  17513 
 I3	  17514     /*
 I3	  17515     **  These are used by pathconf() as well as others
 I3	  17516     */
 I3	  17517 #   define  LINK_MAX		   1      /* Only 1 link to a file */
 I3	  17518 #   define  MAX_CANON		   511    /* Max bytes in terminal canonical input */
 I3	  17519 #   define  MAX_INPUT		   511    /* Max bytes required as input before reading */ 
 I3	  17520 #   define  NAME_MAX		   255    /* Max bytes in filename (not including terminating null) */
 I3	  17521 #   define  PATH_MAX		   256    /* Max bytes in pathname (including terminating null) */
 I3	  17522 #   define  PIPE_BUF		   512    /* Max atomic bytes on write to pipe */
 I3	  17523 
 I3	  17524     /*  
 I3	  17525     **  New limits with DEC C V5.2
 I3	  17526     */  
 I3	  17527 #   define _POSIX_PIPE_BUF            512
 I3	  17528 
 I3	  17529 #endif /* XOPEN_SOURCE */
 I3	  17530 
 I3	  17531 #if defined(_XOPEN_SOURCE_EXTENDED) || !defined(_ANSI_C_SOURCE)
 I3	  17532 #   define  ATEXIT_MAX              32767 /* Max number of functions that may be registered
 I3	  17533                                           ** with atexit().  essentially unlimited
 I3	  17534                                           */
 I3	  17535 #   define  IOV_MAX                 1024  /* Maximum number of iovec structures
 I3	  17536                                           ** that one process has available for
 I3	  17537                                           ** use with readv() or writev() */
 I3	  17538 #endif
 I3	  17539 
 I3	  17540 
 I3	  17541 
 I3	  17542 /*
 I3	  17543 **  Macros defined by the POSIX 1003.1c-1995 formally approved at
 I3	  17544 **  the June 1995 meeting of the IEEE Standards Board.  The correct 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 315
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(LIMITS)

 I3	  17545 **  feature test macro for strictly conforming POSIX 1003.1c-1995
 I3	  17546 **  applications is:
 I3	  17547 **
 I3	  17548 **      #define _POSIX_C_SOURCE 199506L
 I3	  17549 */
 I3	  17550 #if _POSIX_C_SOURCE >= 199506 || !defined _ANSI_C_SOURCE
 I3	  17551 
 I3	  17552 #   ifndef _POSIX_THREAD_DESTRUCTOR_ITERATIONS   
 I3	  17553 #      define _POSIX_THREAD_DESTRUCTOR_ITERATIONS   4
 I3	  17554 #   endif
 I3	  17555 
 I3	  17556 #   ifndef _POSIX_THREAD_KEYS_MAX                
 I3	  17557 #      define _POSIX_THREAD_KEYS_MAX                128
 I3	  17558 #   endif
 I3	  17559 
 I3	  17560 #   ifndef _POSIX_THREAD_THREADS_MAX             
 I3	  17561 #      define _POSIX_THREAD_THREADS_MAX             64
 I3	  17562 #   endif
 I3	  17563 
 I3	  17564 #   ifndef PTHREAD_DESTRUCTOR_ITERATIONS         
 I3	  17565 #      define PTHREAD_DESTRUCTOR_ITERATIONS         _POSIX_THREAD_DESTRUCTOR_ITERATIONS
 I3	  17566 #   endif
 I3	  17567 
 I3	  17568 #   ifndef PTHREAD_KEYS_MAX
 I3	  17569 #      define PTHREAD_KEYS_MAX		            255
 I3	  17570 #   endif
 I3	  17571 
 I3	  17572 #   ifndef PTHREAD_STACK_MIN                 
 I3	  17573 #      define PTHREAD_STACK_MIN                     8192
 I3	  17574 #   endif
 I3	  17575 
 I3	  17576 #endif /* _POSIX_C_SOURCE >= 199506 */
 I3	  17577 
 I3	  17578 #pragma __standard
 I3	  17579 
 I3	  17580 #endif /* __LIMITS_LOADED */
 I2	  17581 #endif
 I2	  17582 
 I2	  17583 
 I2    X  17584 #if __INITIAL_POINTER_SIZE
 I2    X  17585 #   pragma __pointer_size __save
 I2    X  17586 #   pragma __pointer_size 32
 I2    X  17587 #endif
 I2	  17588 
 I2	  17589 
 I2	  17590 /*
 I2	  17591 **  Member align structures
 I2	  17592 */
 I2	  17593 #pragma __member_alignment __save
 I2	  17594 #pragma __member_alignment
 I2	  17595 
 I2	  17596 
 I2	  17597 /*
 I2	  17598 **  Create 'public' typedefs that are sensitive to pointer size and must
 I2	  17599 **  use 32 bit pointers.  Create other declarations which are not sensitive
 I2	  17600 **  to pointer size.
 I2	  17601 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 316
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2    X  17602 #ifndef NULL
 I2    X  17603 #   define NULL __NULL
 I2    X  17604 #endif
 I2	  17605 
 I2    X  17606 #ifdef __NAMESPACE_STD
 I2    X  17607 namespace std {
 I2    X  17608 #endif
 I2	  17609 
 I2    X  17610 #ifndef __SIZE_T
 I2    X  17611 #   define __SIZE_T 1
 I2    X  17612     typedef __size_t size_t;
 I2    X  17613 #endif
 I2	  17614 
 I2	  17615 typedef struct {
 I2	  17616     int quot, rem;
 I2	  17617 } div_t;
 I2	  17618 
 I2	  17619 typedef struct {
 I2	  17620     long int quot, rem;
 I2	  17621 } ldiv_t;
 I2	  17622 
 I2    X  17623 #ifdef __NAMESPACE_STD
 I2    X  17624 } /* namespace std */
 I2    X  17625 #endif
 I2	  17626 
 I2	  17627 #ifndef __WCHAR_T
 I2	  17628 #   define __WCHAR_T
 I2	  17629     typedef __wchar_t wchar_t;
 I2	  17630 #endif
 I2	  17631 
 I2	  17632 /* 
 I2	  17633 **  mode_t is needed for a DEC C RTL Extension
 I2	  17634 */ 
 I2	  17635 #ifndef _ANSI_C_SOURCE
 I2    X  17636 #   if !defined __MODE_T  && !defined _DECC_V4_SOURCE
 I2    X  17637 #       define __MODE_T 1
 I2    X  17638         typedef __mode_t mode_t;
 I2    X  17639 #   endif
 I2	  17640 #endif
 I2	  17641 
 I2	  17642 
 I2	  17643 /*
 I2	  17644 **  Define constant values
 I2	  17645 */
 I2	  17646 
 I2	  17647 /*
 I2	  17648 ** Exit function failure definition changes corresponding to
 I2	  17649 ** V7.0 "UNIX"-like exit function behavior.
 I2	  17650 */
 I2    X  17651 #if __CRTL_VER >= 70000000 && defined(_POSIX_EXIT)
 I2    X  17652 #   define  EXIT_FAILURE  (1)  
 I2    X  17653 #else
 I2	  17654 #   define  EXIT_FAILURE  0x10000002
 I2	  17655 #endif
 I2	  17656 #define  EXIT_SUCCESS  0
 I2	  17657 #define  RAND_MAX      2147483647
 I2	  17658 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 317
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2	  17659 /*
 I2	  17660 **  Beginning in OpenVMS V6.2, MB_CUR_MAX is no longer a literal value
 I2	  17661 */
 I2    X  17662 #if __CRTL_VER < 60200000
 I2    X  17663 #   define MB_CUR_MAX 1
 I2    X  17664 #else
 I2	  17665 #   pragma __extern_model __save
 I2	  17666 #   pragma __extern_model __strict_refdef
 I2	  17667     extern int decc$$gl___mb_cur_max;
 I2	  17668 #   pragma __extern_model __restore
 I2	  17669 #   define MB_CUR_MAX (decc$$gl___mb_cur_max)
 I2	  17670 #endif
 I2	  17671 
 I2	  17672 /****************************************************************************
 I2	  17673 **
 I2	  17674 **  Functions which do not support 64 bit pointers
 I2	  17675 **
 I2	  17676 ****************************************************************************/
 I2	  17677 
 I2    X  17678 #ifdef __NAMESPACE_STD
 I2    X  17679 namespace std {
 I2    X  17680 #endif
 I2	  17681 
 I2	  17682 /*
 I2	  17683 **  ANSI functions 
 I2	  17684 */
 I2	  17685 
 I2	  17686 int atexit(void(*__func)(void));
 I2	  17687 
 I2    X  17688 #ifdef __NAMESPACE_STD
 I2    X  17689 } /* namespace std */
 I2    X  17690 #endif
 I2	  17691 
 I2	  17692 /*
 I2	  17693 ** X/Open functions
 I2	  17694 */
 I2	  17695 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I2	  17696 #   if __CRTL_VER >= 70000000
 I2	  17697        int      putenv  (const char *__string);
 I2	  17698 #   endif
 I2	  17699 #endif
 I2	  17700 
 I2	  17701 
 I2	  17702 /*
 I2	  17703 **  X/Open Extended functions
 I2	  17704 */
 I2	  17705 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE && __CRTL_VER >= 70000000
 I2	  17706     char *setstate(char *);
 I2	  17707     char *initstate(unsigned int, char *, int);
 I2	  17708 #endif
 I2	  17709 
 I2	  17710 
 I2	  17711 /*
 I2	  17712 **  We are done defining things which must always be 32 bit pointers.  If the
 I2	  17713 **  user has used /pointer_size=32 or /pointer_size=64, we will allow 64 bit
 I2	  17714 **  pointers to be used in function calls.
 I2	  17715 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 318
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2    X  17716 #if __INITIAL_POINTER_SIZE
 I2    X  17717 #   pragma __pointer_size 64
 I2    X  17718 #endif
 I2	  17719 
 I2	  17720 
 I2	  17721 
 I2	  17722 /****************************************************************************
 I2	  17723 **
 I2	  17724 **  Functions which accept either 32 bit or 64 bit pointers
 I2	  17725 **
 I2	  17726 ****************************************************************************/
 I2	  17727 
 I2    X  17728 #ifdef __NAMESPACE_STD
 I2    X  17729 namespace std {
 I2    X  17730 #endif
 I2	  17731 
 I2	  17732 /*
 I2	  17733 **  ANSI functions 
 I2	  17734 */
 I2	  17735     void     abort    (void);
 I2	  17736     int      abs      (int __j);
 I2	  17737     double   atof     (const char *__nptr);
 I2	  17738     int      atoi     (const char *__nptr);
 I2	  17739     long int atol     (const char *__nptr);
 I2	  17740     div_t    div      (int __numer, int __denom);
 I2	  17741     void     free     (void *__ptr);
 I2	  17742     long int labs     (long int __j);
 I2	  17743     ldiv_t   ldiv     (long int __numer, long int __denom);
 I2	  17744     int      mblen    (const char *__s, __size_t __n);
 I2	  17745     __size_t mbstowcs (__wchar_t *__pwcs, const char *__s, __size_t __n);
 I2	  17746     int      mbtowc   (__wchar_t *__pwc, const char *__s, __size_t __n);
 I2	  17747     int      rand     (void);
 I2	  17748     void     srand    (unsigned int __seed);
 I2	  17749     __size_t wcstombs (char *__s, const __wchar_t *__pwcs, __size_t __n);
 I2	  17750     int      wctomb   (char *__s, __wchar_t __wchar);
 I2	  17751 
 I2    X  17752 #if __CRTL_VER >= 70000000 && defined(_POSIX_EXIT)
 I2    X  17753 #   if __CAN_USE_EXTERN_PREFIX
 I2    X  17754 #      pragma __extern_prefix __save
 I2    X  17755 #      pragma __extern_prefix "__posix_"
 I2    X  17756 #   else
 I2    X  17757 #	define exit(__p1)	__posix_exit(__p1)
 I2    X  17758 #	define system(__p1)	__posix_system(__p1)
 I2    X  17759 #   endif
 I2    X  17760 #endif
 I2	  17761 
 I2	  17762     void     exit     (int __status);
 I2	  17763     int      system   (const char *__string);
 I2	  17764 
 I2    X  17765 #if  __CRTL_VER >= 70000000 && defined(_POSIX_EXIT)
 I2    X  17766 #   if __CAN_USE_EXTERN_PREFIX
 I2    X  17767 #      pragma __extern_prefix __restore
 I2    X  17768 #   endif
 I2    X  17769 #endif
 I2	  17770 
 I2    X  17771 #ifdef __NAMESPACE_STD
 I2    X  17772 } /* namespace std */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 319
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2    X  17773 #endif
 I2	  17774 
 I2	  17775 /*
 I2	  17776 **  X/Open functions
 I2	  17777 */
 I2	  17778 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I2	  17779 #   if __CRTL_VER >= 70000000
 I2	  17780        double   drand48 (void);
 I2	  17781        double   erand48 (unsigned short int __xsubi[3]);
 I2	  17782        long int jrand48 (unsigned short int __xsubi[3]);
 I2	  17783        void     lcong48 (unsigned short int __param[7]);
 I2	  17784        long int lrand48 (void);
 I2	  17785        long int mrand48 (void);
 I2	  17786        long int nrand48 (unsigned short int __xsubi[3]);
 I2	  17787        void     srand48 (long int __seedval);
 I2	  17788 #   endif
 I2	  17789 #   if __CRTL_VER >= 80300000
 I2	  17790        void setkey(const char *__key);
 I2	  17791 #   endif
 I2	  17792 #endif
 I2	  17793 
 I2	  17794 
 I2	  17795 /*
 I2	  17796 **  X/Open Extended functions
 I2	  17797 */
 I2	  17798 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  17799 #   if __CRTL_VER >= 70000000
 I2	  17800        long int random  (void);
 I2	  17801        void     srandom (unsigned int);
 I2	  17802 #   endif
 I2	  17803 #   if __CRTL_VER >= 70320000
 I2	  17804       int       rand_r   (unsigned int *__seed_ptr);
 I2	  17805       __char_ptr32 l64a (long __val);
 I2	  17806       long int a64l     (__const_char_ptr64 __s);
 I2    X  17807 #     if !defined _POSIX_C_SOURCE
 I2    X  17808          int l64a_r        (long int __val, __char_ptr64 __s, int __len);
 I2    X  17809 #     endif /* not defined while building for posix */
 I2	  17810 #   endif
 I2	  17811 #endif
 I2	  17812 
 I2	  17813 /*
 I2	  17814 **  X/Open functions that were previously in X/Open Extended
 I2	  17815 */
 I2	  17816 #if defined _XOPEN_SOURCE || _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  17817 #   if __CRTL_VER >= 70000000
 I2	  17818         int mkstemp(char *__template);
 I2	  17819 #   endif
 I2	  17820 #endif
 I2	  17821 
 I2	  17822          /*
 I2	  17823 **  GNU extensions
 I2	  17824 */
 I2	  17825 #if defined _GNU_SOURCE || !defined _ANSI_C_SOURCE
 I2	  17826 #   if __CRTL_VER >= 80500000
 I2	  17827         int mkostemp(char *__template, int __flags);
 I2	  17828 #   endif
 I2	  17829 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 320
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2	  17830 
 I2	  17831 /*
 I2	  17832 **  DEC C extensions
 I2	  17833 */
 I2	  17834 #ifndef _ANSI_C_SOURCE
 I2	  17835 
 I2	  17836     int      nice  (int __increment);     /*  <unistd.h>  */
 I2	  17837   __mode_t   umask (__mode_t __old_mask); /*  <stat.h>    */
 I2	  17838     void     cfree (void *__ptr);
 I2	  17839 
 I2	  17840     typedef struct { __int64 quot, rem; } __qdiv_t, __lldiv_t;
 I2	  17841     __int64   atoll (const char *__nptr);
 I2	  17842     __int64   atoq  (const char *__nptr);
 I2	  17843     __int64   llabs (__int64 __j);
 I2	  17844     __lldiv_t lldiv (__int64 __numer, __int64 __denom);
 I2	  17845     __int64   qabs  (__int64 __j);
 I2	  17846     __lldiv_t qdiv  (__int64 __numer, __int64 __denom);
 I2	  17847 
 I2	  17848 #   if __CRTL_VER >= 70000000
 I2	  17849        int  setenv   (const char *__name, const char *__value, int __overwrite);
 I2	  17850        int unsetenv (const char *__name);
 I2	  17851 #   endif
 I2	  17852 
 I2    X  17853 #   if  __CRTL_VER >= 70000000 && defined(_POSIX_EXIT)
 I2    X  17854 #      if __CAN_USE_EXTERN_PREFIX
 I2    X  17855 #         pragma __extern_prefix __save
 I2    X  17856 #         pragma __extern_prefix "__posix_"
 I2    X  17857 #      else
 I2    X  17858 #	  define _exit(__p1)    __posix__exit(__p1)
 I2    X  17859 #      endif
 I2    X  17860 #   endif
 I2	  17861 
 I2	  17862     void    _exit  (int __status);        /*  <unistd.h>  */
 I2	  17863 
 I2    X  17864 #   if __CRTL_VER >= 70000000 && defined(_POSIX_EXIT)
 I2    X  17865 #      if __CAN_USE_EXTERN_PREFIX
 I2    X  17866 #         pragma __extern_prefix __restore
 I2    X  17867 #      endif
 I2    X  17868 #   endif
 I2	  17869 
 I2	  17870 #endif /* ifndef _ANSI_C_SOURCE */ 
 I2	  17871 
 I2	  17872 
 I2	  17873 /****************************************************************************
 I2	  17874 **
 I2	  17875 **  Functions which accept either 32 bit or 64 bit pointers, but always 
 I2	  17876 **  return 32 bit pointers.
 I2	  17877 **
 I2	  17878 ****************************************************************************/
 I2	  17879 
 I2    X  17880 #ifdef __NAMESPACE_STD
 I2    X  17881 namespace std {
 I2    X  17882 #endif
 I2	  17883 
 I2	  17884 /*
 I2	  17885 **  ANSI functions
 I2	  17886 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 321
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2	  17887 
 I2	  17888     __char_ptr32 getenv (const char *__name);
 I2	  17889 
 I2    X  17890 #ifdef __NAMESPACE_STD
 I2    X  17891 } /* namespace std */
 I2    X  17892 #endif
 I2	  17893 
 I2	  17894 /*
 I2	  17895 **  X/Open functions
 I2	  17896 */
 I2	  17897 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I2	  17898 #   if __CRTL_VER >= 70000000
 I2	  17899     __unsigned_short_ptr32 seed48(unsigned short __seed16v[3]);
 I2	  17900 #   endif
 I2	  17901 #endif
 I2	  17902 
 I2	  17903 
 I2	  17904 /*
 I2	  17905 **  X/Open Extended functions
 I2	  17906 */
 I2	  17907 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  17908     __char_ptr32 ecvt (double __value, int __ndigit, int *__decpt, int *__sign);
 I2	  17909     __char_ptr32 fcvt (double __value, int __ndigit, int *__decpt, int *__sign);
 I2	  17910 
 I2	  17911     /* BSD stuff (GNU uses alloca.h) */
 I2	  17912 #   ifndef alloca
 I2	  17913 #       define alloca(size) __ALLOCA((size))
 I2	  17914 #   endif
 I2	  17915 #endif
 I2	  17916 
 I2	  17917 
 I2	  17918 /*
 I2	  17919 **  DEC C extensions.
 I2	  17920 */
 I2	  17921 #ifndef _ANSI_C_SOURCE
 I2	  17922     __void_ptr32 brk  (unsigned long int __addr);	/* <unistd.h> */
 I2	  17923     __void_ptr32 sbrk (long int __incr);		/* <unistd.h> */
 I2	  17924 #endif
 I2	  17925 
 I2	  17926 
 I2	  17927 /****************************************************************************
 I2	  17928 **
 I2	  17929 **  Functions which have separate implementations for 32 bit and 64 bit
 I2	  17930 **  pointers.  The implementation defaults to that corresponding to the
 I2	  17931 **  default pointer size used in the /POINTER_SIZE qualifier.  The 32 bit
 I2	  17932 **  interface is used with no /POINTER_SIZE qualifier is present.  Later
 I2	  17933 **  in this header file we will define additional function prototypes
 I2	  17934 **  which allow you to call the non-default form of the implementation.
 I2	  17935 **
 I2	  17936 ****************************************************************************/
 I2	  17937 
 I2    X  17938 #if __INITIAL_POINTER_SIZE == 32
 I2    X  17939 #   pragma __pointer_size 32
 I2    X  17940 #endif
 I2	  17941 
 I2    X  17942 #ifdef __NAMESPACE_STD
 I2    X  17943 namespace std {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 322
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2    X  17944 #endif
 I2	  17945 
 I2	  17946 /*
 I2	  17947 **  ANSI functions
 I2	  17948 */
 I2	  17949     void * calloc  (__size_t __nmemb, __size_t __size);
 I2	  17950     void * malloc  (__size_t __size);
 I2	  17951     void * realloc (__void_ptr64 __ptr, __size_t __size);
 I2	  17952     void * bsearch (const void *, const void *, __size_t, __size_t, int (*__compar)(const void *, const void *));
 I2	  17953     void   qsort   (void *, __size_t, __size_t, int (*__compar)(const void *, const void *));
 I2	  17954     double strtod  (const char *__nptr, char **__endptr);
 I2	  17955     long int strtol (const char *__nptr, char **__endptr, int __base);
 I2	  17956     unsigned long int strtoul (const char *__nptr, char **__endptr, int __base);
 I2	  17957 #if defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L)  /* C99 */
 I2	  17958     float   strtof  (const char *__nptr, char **__endptr);
 I2	  17959     long double strtold  (const char *__nptr, char **__endptr);
 I2	  17960 #endif /* C99 */
 I2	  17961 
 I2    X  17962 #ifdef __NAMESPACE_STD
 I2    X  17963 } /* namespace std */
 I2    X  17964 #endif
 I2	  17965 
 I2	  17966 /*
 I2	  17967 **  X/Open Extended functions
 I2	  17968 */
 I2	  17969 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  17970     char * gcvt   (double __value, int __ndigit, char *__buffer);
 I2	  17971     char * mktemp (char *__template);
 I2	  17972 #endif
 I2	  17973 
 I2	  17974 
 I2	  17975 /*
 I2	  17976 **  DEC C extensions
 I2	  17977 */
 I2	  17978 #if !defined(_ANSI_C_SOURCE ) || (defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L))
 I2	  17979     __int64 strtoll(const char *__nptr, char **__endptr, int __base);
 I2	  17980     __int64 strtoq (const char *__nptr, char **__endptr, int __base);
 I2	  17981     unsigned __int64 strtoull(const char *__nptr, char **__endptr, int __base);
 I2	  17982     unsigned __int64 strtouq (const char *__nptr, char **__endptr, int __base);
 I2	  17983 #endif
 I2	  17984 
 I2	  17985 /*
 I2	  17986 ** GNU extended function
 I2	  17987 */
 I2    X  17988 #ifdef _GNU_SOURCE
 I2    X  17989 #   if __CRTL_VER >= 80500000
 I2    X  17990         void qsort_r(void *, __size_t, __size_t, int (*__compar)(const void *, const void *, void *), void *);
 I2    X  17991 #   endif
 I2    X  17992 #endif
 I2	  17993 
 I2	  17994 /*
 I2	  17995 ** realpath()
 I2	  17996 ** Not in ANSI standard.
 I2	  17997 ** Optional parameters not in X/Open or Posix specifications.
 I2	  17998 */
 I2	  17999 #if __CRTL_VER >=80300000
 I2	  18000 # if defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 323
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2	  18001 #   if defined _POSIX_C_SOURCE
 I2	  18002        char * realpath (const char * __XOPEN_RESTRICT __file_name, char * __XOPEN_RESTRICT __resolved_name);
       E	                                      
       E	                                                                           
 I2    X  18003 #   else
 I2    X  18004        char * realpath (const char * __XOPEN_RESTRICT __file_name, char * __XOPEN_RESTRICT __resolved_name, ...);
 I2    X  18005 #   endif
 I2    X  18006 #   if __INITIAL_POINTER_SIZE
 I2    X  18007 #      pragma __pointer_size 32
 I2    X  18008        char * _realpath32 (const char * __XOPEN_RESTRICT __file_name, char * __XOPEN_RESTRICT __resolved_name, ...);
 I2    X  18009 #      pragma __pointer_size 64
 I2    X  18010        char * _realpath64 (const char * __XOPEN_RESTRICT __file_name, char * __XOPEN_RESTRICT __resolved_name, ...);
 I2    X  18011 #   endif    /* __INITIAL_POINTER_SIZE */
 I2	  18012 # endif /* defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE */
 I2	  18013 #endif      /* __CRTL_VER >=80300000 */
 I2	  18014 
 I2	  18015 
 I2	  18016 /****************************************************************************
 I2	  18017 **
 I2	  18018 **  In addition to the function prototypes above, two additional function
 I2	  18019 **  prototypes are defined.  These prototypes are prefixed with "_" and
 I2	  18020 **  have a suffix of either "32" or "64" depending on whether you want to
 I2	  18021 **  use the 32 bit pointer form or the 64 bit pointer form.  These
 I2	  18022 **  functions can be used if you have used the /POINTER_SIZE qualifier,
 I2	  18023 **  and you need to explitly call either the 32 or 64 bit pointer form of
 I2	  18024 **  the function.
 I2	  18025 **
 I2	  18026 ****************************************************************************/
 I2	  18027 
 I2    X  18028 #if __INITIAL_POINTER_SIZE && !defined _ANSI_C_SOURCE
 I2    X  18029 
 I2    X  18030     /************************************************************************
 I2    X  18031     **
 I2    X  18032     **  32 Bit Interfaces
 I2    X  18033     **
 I2    X  18034     ************************************************************************/
 I2    X  18035 
 I2    X  18036 #   pragma __pointer_size 32
 I2    X  18037 
 I2    X  18038 
 I2    X  18039     /*
 I2    X  18040     **  ANSI functions
 I2    X  18041     */
 I2    X  18042     void * _calloc32  (__size_t, __size_t);
 I2    X  18043     void * _malloc32  (__size_t);
 I2    X  18044     void * _realloc32 (void *, __size_t);
 I2    X  18045     void * _bsearch32 (const void *, const void *, __size_t, __size_t, int (*__compar)(const void *, const void *));
 I2    X  18046     void   _qsort32   (void *, __size_t, __size_t, int (*__compar)(const void *, const void *));
 I2    X  18047     double _strtod32  (const char *, char **);
 I2    X  18048     float   _strtof32  (const char *, char **);
 I2    X  18049     long double   _strtold32  (const char *, char **);
 I2    X  18050 
 I2    X  18051     long int _strtol32 (const char *, char **, int);
 I2    X  18052     unsigned long int _strtoul32 (const char *, char **, int);
 I2    X  18053 
 I2    X  18054 
 I2    X  18055     /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 324
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2    X  18056     **  X/Open Extended functions
 I2    X  18057     */
 I2    X  18058     char * _gcvt32   (double __value, int __ndigit, char *__buffer);
 I2    X  18059     char * _mktemp32 (char *);
 I2    X  18060 
 I2    X  18061 
 I2    X  18062     /*
 I2    X  18063     **  DEC C extensions
 I2    X  18064     */
 I2    X  18065     __int64 _strtoll32 (const char *, char **, int);
 I2    X  18066     __int64 _strtoq32  (const char *, char **, int);
 I2    X  18067     unsigned __int64 _strtoull32 (const char *, char **, int);
 I2    X  18068     unsigned __int64 _strtouq32  (const char *, char **, int);
 I2    X  18069 
 I2    X  18070     /*
 I2    X  18071     ** GNU extended function
 I2    X  18072     */
 I2    X  18073 #ifdef _GNU_SOURCE
 I2    X  18074 #   if __CRTL_VER >= 80500000
 I2    X  18075         void _qsort_r32(void *, __size_t, __size_t, int (*__compar)(const void *, const void *, void *), void *);
 I2    X  18076 #   endif
 I2    X  18077 #endif
 I2    X  18078 
 I2    X  18079     /************************************************************************
 I2    X  18080     **
 I2    X  18081     **  64 Bit Interfaces
 I2    X  18082     **
 I2    X  18083     ************************************************************************/
 I2    X  18084 
 I2    X  18085 #   pragma __pointer_size 64
 I2    X  18086 
 I2    X  18087 
 I2    X  18088     /*
 I2    X  18089     **  ANSI functions
 I2    X  18090     */
 I2    X  18091     void * _calloc64  (__size_t, __size_t);
 I2    X  18092     void * _malloc64  (__size_t);
 I2    X  18093     void * _realloc64 (void *, __size_t);
 I2    X  18094     void * _bsearch64 (const void *, const void *, __size_t, __size_t, int (*__compar)(const void *, const void *));
 I2    X  18095     void   _qsort64   (void *, __size_t, __size_t, int (*__compar)(const void *, const void *));
 I2    X  18096     double _strtod64  (const char *, char **);
 I2    X  18097     float   _strtof64  (const char *, char **);
 I2    X  18098     long double   _strtold64  (const char *, char **);
 I2    X  18099     long int _strtol64 (const char *, char **, int);
 I2    X  18100     unsigned long int _strtoul64 (const char *, char **, int);
 I2    X  18101 
 I2    X  18102 
 I2    X  18103     /*
 I2    X  18104     **  X/Open Extended functions
 I2    X  18105     */
 I2    X  18106     char * _gcvt64   (double __value, int __ndigit, char *__buffer);
 I2    X  18107     char * _mktemp64 (char *);
 I2    X  18108 
 I2    X  18109 
 I2    X  18110     /*
 I2    X  18111     **  DEC C extensions
 I2    X  18112     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 325
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2    X  18113     __int64 _strtoll64 (const char *, char **, int);
 I2    X  18114     __int64 _strtoq64  (const char *, char **, int);
 I2    X  18115     unsigned __int64 _strtoull64 (const char *, char **, int);
 I2    X  18116     unsigned __int64 _strtouq64  (const char *, char **, int);
 I2    X  18117 
 I2    X  18118     /*
 I2    X  18119     ** GNU extended function
 I2    X  18120     */
 I2    X  18121 #ifdef _GNU_SOURCE
 I2    X  18122 #   if __CRTL_VER >= 80500000
 I2    X  18123         void _qsort_r64(void *, __size_t, __size_t, int (*__compar)(const void *, const void *, void *), void *);
 I2    X  18124 #   endif
 I2    X  18125 #endif
 I2    X  18126 
 I2    X  18127 #endif
 I2	  18128 
 I2	  18129 
 I2	  18130 
 I2	  18131 /*
 I2	  18132 **  DEC C Performance
 I2	  18133 **
 I2	  18134 **  Certain DEC C functions are available as compiler builtins.  Using
 I2	  18135 **  the builtins offer performance improvements and are enabled here
 I2	  18136 **  for all programs including this header file.
 I2	  18137 */
 I2	  18138 #if defined(__DECC)
 I2	  18139     int __ABS (int __j);
 I2	  18140     long int __LABS (long int __j);
 I2	  18141 #   define abs(__x) __ABS(__x)
 I2	  18142 #   define labs(__x) __LABS(__x)
 I2	  18143 #endif
 I2	  18144 
 I2	  18145 
 I2	  18146 /*
 I2	  18147 **  Restore the user's pointer context
 I2	  18148 */
 I2    X  18149 #if __INITIAL_POINTER_SIZE
 I2    X  18150 #   pragma __pointer_size __restore
 I2    X  18151 #endif
 I2	  18152 
 I2    X  18153 #ifdef __cplusplus
 I2    X  18154     }
 I2    X  18155 #endif
 I2	  18156 
 I2	  18157 #pragma __member_alignment __restore
 I2	  18158 
 I2	  18159 #pragma __standard
 I2	  18160 #endif /* __STDLIB_PROCESSED */
 I2	  18161 
 I2    X  18162 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I2    X  18163 #  ifndef __USING_STDLIB_NAMES
 I2    X  18164 #    define __USING_STDLIB_NAMES
 I2    X  18165      using std::abort;
 I2    X  18166      using std::abs;
 I2    X  18167      using std::atexit;
 I2    X  18168      using std::atof;
 I2    X  18169      using std::atoi;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 326
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDLIB)

 I2    X  18170      using std::atol;
 I2    X  18171      using std::bsearch;
 I2    X  18172      using std::calloc;
 I2    X  18173      using std::div;
 I2    X  18174      using std::div_t;
 I2    X  18175      using std::exit;
 I2    X  18176      using std::free;
 I2    X  18177      using std::getenv;
 I2    X  18178      using std::labs;
 I2    X  18179      using std::ldiv;
 I2    X  18180      using std::ldiv_t;
 I2    X  18181      using std::malloc;
 I2    X  18182      using std::mblen;
 I2    X  18183      using std::mbstowcs;
 I2    X  18184      using std::mbtowc;
 I2    X  18185      using std::qsort;
 I2    X  18186      using std::rand;
 I2    X  18187      using std::realloc;
 I2    X  18188      using std::size_t;
 I2    X  18189      using std::srand;
 I2    X  18190      using std::strtod;
 I2    X  18191      using std::strtol;
 I2    X  18192      using std::strtoul;
 I2    X  18193      using std::system;
 I2    X  18194      using std::wcstombs;
 I2    X  18195      using std::wctomb;
 I2    X  18196 #  endif
 I2    X  18197 #endif
 I2	  18198 
 I2	  18199 #endif  /* __STDLIB_LOADED */
 I1    X  18200 #ifdef DIAB /* DIAB DS90 */
 I1    X  18201 /* #include <commonC.h>  */
 I1    X  18202 #include <sys/wait.h>
 I1    X  18203 #define CK_WAIT_H
 I1    X  18204 #ifdef COMMENT
 I1    X  18205 extern void exit(int status);
 I1    X  18206 extern void _exit(int status);
 I1    X  18207 extern int uname(struct utsname *name);
 I1    X  18208 #endif /* COMMENT */
 I1    X  18209 extern int chmod(char *path, int mode);
 I1    X  18210 extern int ioctl(int fildes, int request, ...);
 I1    X  18211 extern int rdchk(int ttyfd);
 I1    X  18212 extern int nap(int m);
 I1    X  18213 #ifdef COMMENT
 I1    X  18214 extern int getppid(void);
 I1    X  18215 #endif /* COMMENT */
 I1    X  18216 extern int _filbuf(FILE *stream);
 I1    X  18217 extern int _flsbuf(char c,FILE *stream);
 I1    X  18218 #endif /* DIAB */
 I1	  18219 
 I1	  18220 /*
 I1	  18221   Prototypes for UNIX functions like access, alarm, chdir, sleep, fork,
 I1	  18222   and pause.  Otherwise, no prototypes.
 I1	  18223 */
 I1	  18224 #ifdef VMS
 I1	  18225 #include <signal.h>  /* SMS: sleep() for old (V4.0-000) DEC C. */
 I2	  18226 #ifndef __SIGNAL_LOADED

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 327
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  18227 #define __SIGNAL_LOADED 1
 I2	  18228 
 I2	  18229 #ifndef __SIGNAL_PROCESSED
 I2	  18230 #define __SIGNAL_PROCESSED
 I2	  18231 
 I2	  18232 /****************************************************************************
 I2	  18233 **
 I2	  18234 **  <signal.h> - Signal Handling 
 I2	  18235 **
 I2	  18236 *****************************************************************************
 I2	  18237 **  Header introduced by the ANSI C Standard
 I2	  18238 *****************************************************************************
 I2	  18239 */
 I2	  18240 /* ************************************************************************* */
 I2	  18241 /* *                                                                       * */
 I2	  18242 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I2	  18243 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I2	  18244 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I2	  18245 /* * prior written permission of HPE.                                      * */
 I2	  18246 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I2	  18247 /* *                                                                       * */
 I2	  18248 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I2	  18249 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I2	  18250 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I2	  18251 /* * the prior written permission of VMS Software, Inc.                    * */
 I2	  18252 /* * Copyright 2017-2020 VMS Software, Inc.                                * */
 I2	  18253 /* *                                                                       * */
 I2	  18254 /* ************************************************************************* */
 I2	  18255 
 I2	  18256 #pragma   __nostandard
 I2    X  18257 #include <decc$types.h>
 I2	  18258 
 I2	  18259 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  18260 #   include <siginfo.h>	/* for siginfo_t */
 I3	  18261 #ifndef __SIGINFO_LOADED
 I3	  18262 #define __SIGINFO_LOADED 1
 I3	  18263 /****************************************************************************
 I3	  18264 **
 I3	  18265 **  <siginfo.h> - Signal Handling 
 I3	  18266 **
 I3	  18267 *****************************************************************************
 I3	  18268 **                                                                       
 I3	  18269 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I3	  18270 **                                                                       
 I3	  18271 ** Confidential computer software.  Valid license from HP and/or         
 I3	  18272 ** its subsidiaries required for possession, use, or copying.            
 I3	  18273 **                                                                       
 I3	  18274 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I3	  18275 ** Computer Software Documentation, and Technical Data for Commercial    
 I3	  18276 ** Items are licensed to the U.S. Government under vendor's standard     
 I3	  18277 ** commercial license.                                                   
 I3	  18278 **                                                                       
 I3	  18279 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I3	  18280 ** or editorial errors or omissions contained herein.  The information   
 I3	  18281 ** in this document is provided "as is" without warranty of any kind and 
 I3	  18282 ** is subject to change without notice.  The warranties for HP products  
 I3	  18283 ** are set forth in the express limited warranty statements accompanying 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 328
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGINFO)

 I3	  18284 ** such products.  Nothing herein should be construed as constituting an 
 I3	  18285 ** additional warranty.                                                  
 I3	  18286 **                                                                       
 I3	  18287 *****************************************************************************
 I3	  18288 */
 I3	  18289 
 I3	  18290 /*
 I3	  18291 ** This header is provided as part of the signal.h header. Meaning that
 I3	  18292 ** signal.h  #includes <siginfo.h>. This header should never provide any 
 I3	  18293 ** function prototype, structure, union or datatype that signal.h is not 
 I3	  18294 ** supposed to provide.
 I3	  18295 */
 I3	  18296 
 I3	  18297 #pragma   __nostandard
 I3    X  18298 #include <decc$types.h>
 I3	  18299 
 I3	  18300 #if __CRTL_VER >= 70320000
 I3	  18301 
 I3    X  18302 #ifdef __cplusplus
 I3    X  18303     extern "C" {
 I3    X  18304 #endif
 I3	  18305 
 I3	  18306 /*
 I3	  18307 **  Naturally align data structures
 I3	  18308 */
 I3	  18309 #pragma __member_alignment __save
 I3	  18310 #pragma __member_alignment
 I3	  18311 
 I3    X  18312 #ifndef __UID_T
 I3    X  18313 #  define  __UID_T 1
 I3    X  18314    typedef __uid_t uid_t;
 I3    X  18315 #endif
 I3	  18316 
 I3    X  18317 #ifndef __PID_T
 I3    X  18318 #  define  __PID_T 1
 I3    X  18319    typedef __pid_t pid_t;
 I3    X  18320 #endif
 I3	  18321 
 I3    X  18322 #ifndef __CLOCK_T
 I3    X  18323 #  define __CLOCK_T 1
 I3    X  18324 #ifdef __NAMESPACE_STD
 I3    X  18325 namespace std {
 I3    X  18326 #endif
 I3    X  18327    typedef long int  clock_t;
 I3    X  18328 #ifdef __NAMESPACE_STD
 I3    X  18329 } /* namespace std */
 I3    X  18330    using std::clock_t;
 I3    X  18331 #endif
 I3    X  18332 #endif
 I3	  18333 
 I3	  18334 union sigval {
 I3	  18335     int sival_int;		/* integer signal value */
 I3    X  18336 #if __INITIAL_POINTER_SIZE == 64
 I3    X  18337     __void_ptr64 sival_ptr; /* pad to 64 bits */
 I3    X  18338 #else
 I3	  18339     __void_ptr32 sival_ptr;	/* pointer signal value */
 I3	  18340     __void_ptr32 _sival_fill[2];/* pad to 64 bits */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 329
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGINFO)

 I3	  18341 #endif
 I3	  18342 };
 I3	  18343 
 I3	  18344 /*
 I3	  18345  * Max siginfo size -- 128 bytes altogether (used to pad siginfo _sifields)
 I3	  18346  */
 I3	  18347 #define SI_MAX_SIZE	(128)
 I3	  18348 #define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 4)
 I3	  18349 
 I3	  18350 #ifndef __SIGINFO_T
 I3	  18351 #define __SIGINFO_T 1
 I3	  18352 typedef struct __siginfo {
 I3	  18353     int si_signo;		/* signal number */
 I3	  18354     int si_errno;		/* error number */
 I3	  18355     int si_code;		/* signal code */
 I3	  18356 
 I3	  18357     union {
 I3	  18358 	int _sipad[SI_PAD_SIZE]; /* reserve space for new fields */
       E	             ( ( ( 128 ) / sizeof ( int ) ) - 4 )
 I3	  18359 
 I3	  18360 	/* kill() or SIGCHLD */
 I3	  18361 	struct {
 I3	  18362 	    pid_t _pid;		/* sender's pid */
 I3	  18363 	    union {
 I3	  18364 		/* kill() */
 I3	  18365 		struct {
 I3	  18366 		    __uid_t _uid;/* sender's uid */
 I3	  18367 		} _kill;
 I3	  18368 		/* SIGCHLD */
 I3	  18369 		struct {
 I3	  18370 		    int	_status;/* exitcode/signal */
 I3	  18371 		    clock_t _utime;
 I3	  18372 		    clock_t _stime;
 I3	  18373 		} _sigchld;
 I3	  18374 	    } _pinfo;
 I3	  18375 	    /* POSIX.1b signals */
 I3	  18376 	    struct {
 I3	  18377 		/* application-defined value */
 I3	  18378 		union sigval _sigval;
 I3	  18379 	    } _sigrt;
 I3	  18380 	} _sigproc;
 I3	  18381 
 I3	  18382 	/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
 I3	  18383 	struct {
 I3    X  18384 #if __INITIAL_POINTER_SIZE == 64
 I3    X  18385 	    __void_ptr64 _addr; /* faulting instruction/memory ref. */
 I3    X  18386 #else
 I3	  18387 	    __void_ptr32 _addr; /* faulting instruction/memory ref. */
 I3	  18388 	    __void_ptr32 _addr_fill; /* padding to 64 bits */
 I3	  18389 #endif
 I3	  18390 	} _sigfault;
 I3	  18391 
 I3	  18392 	/* SIGPOLL */
 I3	  18393 	struct {
 I3	  18394 	    long _band;		/* POLL_IN, POLL_OUT, POLL_MSG */
 I3	  18395 	    /* fd not currently available for SIGPOLL */
 I3	  18396 	    int	_fd;		/* file descriptor */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 330
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGINFO)

 I3	  18397 	} _sigpoll;
 I3	  18398     } _sifields;
 I3	  18399 } siginfo_t;
 I3	  18400 #endif	/* #ifndef __SIGINFO_T */
 I3	  18401 
 I3	  18402 /*
 I3	  18403  * This is how users expect to access these fields.
 I3	  18404  */
 I3	  18405 #define si_pid	       _sifields._sigproc._pid
 I3	  18406 #define si_uid	       _sifields._sigproc._pinfo._kill._uid
 I3	  18407 #define si_status      _sifields._sigproc._pinfo._sigchld._status
 I3	  18408 #define si_utime       _sifields._sigproc._pinfo._sigchld._utime
 I3	  18409 #define si_stime       _sifields._sigproc._pinfo._sigchld._stime
 I3	  18410 #define si_value       _sifields._sigproc._sigrt._sigval
 I3	  18411 #define si_int	       _sifields._sigproc._sigrt._sigval.sival_int
 I3	  18412 #define si_ptr	       _sifields._sigproc._sigrt._sigval.sival_ptr
 I3	  18413 #define si_addr	       _sifields._sigfault._addr
 I3	  18414 #define si_band	       _sifields._sigpoll._band
 I3	  18415 #define si_fd	       _sifields._sigpoll._fd
 I3	  18416 #define si_anonval     _sifields._siganon._siganonval
 I3	  18417 #define si_anonint     _sifields._siganon._siganonval.sival_int
 I3	  18418 #define si_anonptr     _sifields._siganon._siganonval.sival_ptr
 I3	  18419 
 I3	  18420 /* 
 I3	  18421  *	values of si_code
 I3	  18422  */
 I3	  18423 /* negative si_codes are reserved for user-generated signals */
 I3	  18424 #define SI_QUEUE	-1	/* signal sent by sigqueue() */
 I3	  18425 #define SI_USER		0	/* signal sent by kill, sigsend, raise, etc. */
 I3	  18426 #define SI_TIMER	0x10	/* signal generated by expiration of a timer set by timer_settime() */
 I3	  18427 #define SI_ASYNCIO	0x20	/* signal generated by completion of an asynchronous I/O request */
 I3	  18428 #define SI_MESGQ	0x40	/* signal generated by arrival of a message on an empty message queue */
 I3	  18429 
 I3	  18430 /* SIGILL si_codes  */
 I3	  18431 #define ILL_ILLOPC	1	/* illegal opcode */
 I3	  18432 #define ILL_ILLOPN	2	/* illegal operand */
 I3	  18433 #define ILL_ILLADR	3	/* illegal addressing mode */
 I3	  18434 #define ILL_ILLTRP	4	/* illegal trap */
 I3	  18435 #define ILL_PRVOPC	5	/* privileged opcode */
 I3	  18436 #define ILL_PRVREG	6	/* privileged register */
 I3	  18437 #define ILL_COPROC	7	/* coprocessor error */
 I3	  18438 #define ILL_BADSTK	8	/* internal stack error */
 I3	  18439 #define NSIGILL		8
 I3	  18440 
 I3	  18441 /* SIGFPE si_codes */
 I3	  18442 #define FPE_INTDIV	1	/* integer divide by zero */
 I3	  18443 #define FPE_INTOVF	2	/* integer overflow */
 I3	  18444 #define FPE_FLTDIV	3	/* floating point divide by zero */
 I3	  18445 #define FPE_FLTOVF	4	/* floating point overflow */
 I3	  18446 #define FPE_FLTUND	5	/* floating point underflow */
 I3	  18447 #define FPE_FLTRES	6	/* floating point inexact result */
 I3	  18448 #define FPE_FLTINV	7	/* invalid floating point operation */
 I3	  18449 #define FPE_FLTSUB	8	/* subscript out of range */
 I3	  18450 #define NSIGFPE		8
 I3	  18451 
 I3	  18452 /* SIGSEGV si_codes */
 I3	  18453 #define SEGV_MAPERR	1	/* address not mapped to object */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 331
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGINFO)

 I3	  18454 #define SEGV_ACCERR	2	/* invalid permissions for mapped object */
 I3	  18455 #define SEGV_STKOVF	3	/* stack overflow */
 I3	  18456 #define NSIGSEGV	3
 I3	  18457 
 I3	  18458 /* SIGBUS si_codes */
 I3	  18459 #define BUS_ADRALN	1	/* invalid address alignment */
 I3	  18460 #define BUS_ADRERR	2	/* non-existent physical address */
 I3	  18461 #define BUS_OBJERR	3	/* object specific hardware error */
 I3	  18462 #define NSIGBUS		3
 I3	  18463 
 I3	  18464 /* SIGTRAP si_codes */
 I3	  18465 #define TRAP_BRKPT	1	/* process breakpoint */
 I3	  18466 #define TRAP_TRACE	2	/* process trace trap */
 I3	  18467 #define NSIGTRAP	2
 I3	  18468 
 I3	  18469 /* SIGCHLD si_codes */
 I3	  18470 #define CLD_EXITED	1	/* child has exited */
 I3	  18471 #define CLD_KILLED	2	/* child was killed */
 I3	  18472 #define CLD_DUMPED	3	/* child terminated abnormally */
 I3	  18473 #define CLD_TRAPPED	4	/* traced child has trapped */
 I3	  18474 #define CLD_STOPPED	5	/* child has stopped */
 I3	  18475 #define CLD_CONTINUED	6	/* stopped child has continued */
 I3	  18476 #define CLD_SIGEXITING	7	/* child is exiting via a fatal signal */
 I3	  18477 #define NSIGCLD		7
 I3	  18478 
 I3	  18479 /* SIGPOLL si_codes */
 I3	  18480 #define POLL_IN		1	/* data input available */
 I3	  18481 #define POLL_OUT	2	/* output buffers available */
 I3	  18482 #define POLL_MSG	3	/* input message available */
 I3	  18483 #define POLL_ERR	4	/* I/O error */
 I3	  18484 #define POLL_PRI	5	/* high priority input available */
 I3	  18485 #define POLL_HUP	6	/* device disconnected */
 I3	  18486 #define NSIGPOLL	6
 I3	  18487 
 I3    X  18488 #ifdef __cplusplus
 I3    X  18489     }
 I3    X  18490 #endif
 I3	  18491 
 I3	  18492 #pragma __member_alignment __restore
 I3	  18493 
 I3	  18494 #endif	/* if __CRTL_VER */
 I3	  18495 #pragma __standard
 I3	  18496 #endif	/* __SIGINFO_LOADED */
 I2	  18497 #endif
 I2	  18498 
 I2    X  18499 #ifdef __cplusplus
 I2    X  18500     extern "C" {
 I2    X  18501 #endif
 I2	  18502 
 I2    X  18503 #if __INITIAL_POINTER_SIZE
 I2    X  18504 #   pragma __pointer_size __save
 I2    X  18505 #endif
 I2	  18506 
 I2	  18507 /*
 I2	  18508 **  Naturally align data structures
 I2	  18509 */
 I2	  18510 #pragma __member_alignment __save

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 332
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  18511 #pragma __member_alignment
 I2	  18512 
 I2	  18513 /*	 
 I2	  18514 **  Private definitions
 I2	  18515 */	 
 I2	  18516 
 I2	  18517 /*
 I2	  18518 **  __sighnd_t is a pointer to function, where the function is declared
 I2	  18519 **	void f(int code);
 I2	  18520 **
 I2	  18521 **  __bsd_sighnd_t is a pointer to function, where the function is:
 I2	  18522 **	void f(int code, ... );
 I2	  18523 **	
 I2	  18524 **  __vms_handler is a pointer to function, where the function is:
 I2	  18525 **	unsigned int f(void *sigarr, void *mecharr)
 I2	  18526 **
 I2	  18527 **  These definition are private to this header and subject to change.
 I2	  18528 */	 
 I2	  18529 
 I2    X  18530 #if __INITIAL_POINTER_SIZE
 I2    X  18531 #   pragma __pointer_size 64
 I2    X  18532 #endif
 I2	  18533 
 I2	  18534 typedef void	(*__sighnd64_t) (int);
 I2	  18535 typedef void	(*__bsd_sighnd64_t)(int, ... );
 I2	  18536 
 I2    X  18537 #if __INITIAL_POINTER_SIZE
 I2    X  18538 #   pragma __pointer_size 32
 I2    X  18539 #endif
 I2	  18540 
 I2	  18541 typedef void	(*__sighnd_t) (int);
 I2	  18542 typedef void	(*__bsd_sighnd_t)(int, ... );
 I2	  18543 
 I2	  18544 typedef unsigned int (*__vms_handler) ( void *__sigarr, void *__mecharr );
 I2	  18545 
 I2	  18546 #if __CRTL_VER >= 70000000
 I2    X  18547 #   ifndef ____SIGSET_T
 I2    X  18548 #       define ____SIGSET_T 1
 I2    X  18549         typedef struct {unsigned int _set[2];} __sigset_t;
 I2    X  18550 #   endif
 I2	  18551 #endif
 I2	  18552 
 I2	  18553 # define _SIG_MIN    1
 I2	  18554 #if __CRTL_VER >= 70000000
 I2	  18555 #   define _SIG_MAX    64
 I2    X  18556 #elif __CRTL_VER >= 60200000
 I2    X  18557 #   define _SIG_MAX 17
 I2    X  18558 #else
 I2    X  18559 #   define _SIG_MAX 15
 I2    X  18560 #endif
 I2	  18561 
 I2	  18562 /*
 I2	  18563 **  ANSI C Public data definitions and declarations
 I2	  18564 */
 I2	  18565 #define SIG_ERR    ((__sighnd_t)(-1))
 I2	  18566 #define SIG_DFL    ((__sighnd_t)0)
 I2	  18567 #define SIG_IGN    ((__sighnd_t)1)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 333
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  18568 
 I2    X  18569 #ifdef __NAMESPACE_STD
 I2    X  18570 namespace std {
 I2    X  18571 #endif
 I2	  18572 
 I2	  18573 typedef int	sig_atomic_t;
 I2	  18574 
 I2    X  18575 #ifdef __NAMESPACE_STD
 I2    X  18576 } /* namespace std */
 I2    X  18577 #endif
 I2	  18578 
 I2	  18579 
 I2	  18580 /*	 
 I2	  18581 **  ISO POSIX-1 public data definitions and declarations
 I2	  18582 */	 
 I2	  18583 #if defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE
 I2	  18584 #   if __CRTL_VER >= 70000000
 I2	  18585 
 I2	  18586 #       define SIG_UNBLOCK	0
 I2	  18587 #       define SIG_BLOCK	1
 I2	  18588 #       define SIG_SETMASK	2
 I2	  18589 
 I2	  18590 #       define SA_NOCLDSTOP	0x20
 I2	  18591 
 I2	  18592 #       if !defined __SIGSET_T && !defined _SIGSET_T_ && !defined _DECC_V4_SOURCE
 I2	  18593 #	   define __SIGSET_T 1
 I2	  18594 #	   define _SIGSET_T_ 1	    /* <cma_sigwait.h> uses this symbol */
 I2	  18595 	   typedef __sigset_t sigset_t;
 I2	  18596 #       endif
 I2	  18597 
 I2	  18598 #       pragma __extern_model __save
 I2	  18599 #       pragma __extern_model __common_block noshr
 I2	  18600         static const __sigset_t	_SIG_EMPTY_SET	= {0x00000000, 0x00000000},
 I2	  18601 				_SIG_FULL_SET	= {0xFFFFFFFF, 0xFFFFFFFF};
 I2	  18602 #       pragma __extern_model __restore
 I2	  18603 
 I2	  18604 #       define __SIGACT64 (__CRTL_VER >= 80200000 && __INITIAL_POINTER_SIZE == 64)
 I2	  18605 
 I2	  18606 /*
 I2	  18607 ** Members for sigaction struct.  This is complex due to "sigaction" being
 I2	  18608 ** both a struct and a function, can't use typedef to map general type
 I2	  18609 ** onto 32/64 bit specific type.
 I2	  18610 */
 I2	  18611 
 I2	  18612 #       define __SIGACTION32_MEMBERS \
 I2	  18613 	       __sighnd_t	 sa_handler; /* Signal-catching function or macro */ \
 I2	  18614 	       __sigset_t	 sa_mask;    /* Set of signals to be blocked */	    \
 I2	  18615 	       int		 sa_flags;   /* Special flags */
 I2	  18616 
 I2	  18617 #       define __SIGACTION64_MEMBERS \
 I2	  18618 	       __sighnd64_t sa_handler; /* Signal-catching function or macro */ \
 I2	  18619 	       __sigset_t	 sa_mask;    /* Set of signals to be blocked */	    \
 I2	  18620 	       int		 sa_flags;   /* Special flags */
 I2	  18621 
 I2    X  18622 #       if __CRTL_VER >= 80200000 && __INITIAL_POINTER_SIZE
 I2    X  18623            struct __sigaction32 {
 I2    X  18624 	          __SIGACTION32_MEMBERS

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 334
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2    X  18625 	   };
 I2    X  18626 	   struct __sigaction64 {
 I2    X  18627 	          __SIGACTION64_MEMBERS
 I2    X  18628 	   };
 I2    X  18629 #       endif
 I2	  18630 
 I2    X  18631 #       if __SIGACT64
 I2    X  18632 	   struct sigaction {
 I2    X  18633 	    __SIGACTION64_MEMBERS
 I2    X  18634 	   };
 I2    X  18635 #       else
 I2	  18636 	   struct sigaction {
 I2	  18637 	    __SIGACTION32_MEMBERS
       E	      __sighnd_t sa_handler ; __sigset_t sa_mask ; int sa_flags ;
 I2	  18638 	   };
 I2	  18639 #       endif
 I2	  18640 #   endif
 I2	  18641 #endif /* defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE */
 I2	  18642 
 I2	  18643 /*	 
 I2	  18644 **  XPG4 public data definitions and declarations
 I2	  18645 */	 
 I2	  18646 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I2    X  18647 #   if !defined __PID_T  && !defined _DECC_V4_SOURCE
 I2    X  18648 #	define __PID_T 1
 I2    X  18649 	typedef __pid_t pid_t;
 I2    X  18650 #   endif
 I2	  18651 #endif /* defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE */
 I2	  18652 
 I2	  18653 /*	 
 I2	  18654 **  XPG4 V2 public data definitions and declarations
 I2	  18655 */	 
 I2	  18656 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  18657     struct sigstack {
 I2	  18658 	char	*ss_sp;		/* signal stack pointer */
 I2	  18659 	int	ss_onstack;	/* current status */
 I2	  18660     };
 I2	  18661 
 I2	  18662 #   if __CRTL_VER >= 70000000
 I2	  18663 #       define SA_ONSTACK	0x01
 I2	  18664 #       define SA_RESETHAND	0x02
 I2	  18665 #       define SA_NODEFER	0x08
 I2	  18666 #   endif
 I2	  18667 #endif
 I2	  18668 
 I2	  18669 /*	 
 I2	  18670 **  DEC C extensions -- public data definitions and declarations
 I2	  18671 */	 
 I2	  18672 #ifndef _ANSI_C_SOURCE
 I2	  18673     struct	sigvec
 I2	  18674     {
 I2	  18675 	void 	(*sv_handler)();	/* handler address */
 I2	  18676 	int	sv_mask;		/* mask of signals to be blocked */
 I2	  18677 	int	sv_onstack;		/* flag to indicate signal stack */
 I2	  18678     };
 I2	  18679 
 I2	  18680     struct	sigcontext

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 335
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  18681     {
 I2	  18682 	int	sc_onstack;		/* signal stack flag to restore */
 I2	  18683 	int	sc_mask;		/* signal mask to restore */
 I2	  18684 	int	sc_sp;			/* stack pointerto restore */
 I2	  18685 	int	sc_pc;			/* pc to return to */
 I2	  18686 	int	sc_ps;			/* psl to restore */
 I2	  18687     };
 I2	  18688 #endif
 I2	  18689 
 I2	  18690 /*	 
 I2	  18691 **  The following signals are defined by the ANSI C standard (ISO/IEC 9899:1990)
 I2	  18692 */	 
 I2	  18693 #define SIGABRT     6    /* Abnormal termination signal		    */
 I2	  18694 #define SIGFPE      8    /* Erroneous arithmetic operation		    */
 I2	  18695 #define SIGILL      4    /* Detection of an invalid hardware instr.	    */
 I2	  18696 #define SIGINT      2    /* Interactive attention signal		    */
 I2	  18697 #define SIGSEGV    11    /* segmentation violation			    */
 I2	  18698 #define SIGTERM    15    /* External termination signal			    */
 I2	  18699 
 I2	  18700 /*	 
 I2	  18701 **  The following signals are defined by ISO POSIX-1 (ISO/IEC 9945-1:1990)
 I2	  18702 */	 
 I2	  18703 #if defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE
 I2	  18704 #   define SIGHUP   1	    /* Hangup detected on controlling terminal	    */
 I2	  18705 #   define SIGQUIT  3	    /* Interactive termination signal		    */
 I2	  18706 #   define SIGKILL  9	    /* External termination signal		    */
 I2	  18707 #   define SIGPIPE  13	    /* Write on a pipe with no readers		    */
 I2	  18708 #   define SIGALRM  14	    /* Timeout signal				    */
 I2	  18709 
 I2	  18710 #   if __CRTL_VER >= 60200000
 I2	  18711 #       define SIGUSR1  16	    /* Application-defined signal 1		    */
 I2	  18712 #       define SIGUSR2  17	    /* Application-defined signal 2		    */
 I2	  18713 #endif
 I2	  18714 
 I2	  18715 #   if __CRTL_VER >= 70000000
 I2	  18716 #       define SIGCHLD  20	    /* Child process terminated or stopped	    */
 I2	  18717 #       define SIGCONT  21	    /* Continue if stopped			    */
 I2	  18718 #       define SIGSTOP  22	    /* Job control stop signal		            */
 I2	  18719 #       define SIGTSTP  23	    /* Interactive stop signal		            */
 I2	  18720 #       define SIGTTIN  24	    /* Terminal read by background process	    */
 I2	  18721 #       define SIGTTOU  25	    /* Terminal write by background process	    */
 I2	  18722 #   endif
 I2	  18723 
 I2	  18724 #   if __CRTL_VER >= 70300000
 I2	  18725 #       define SIGWINCH 28      /* Window size changed			    */
 I2	  18726 #   endif
 I2	  18727 #endif
 I2	  18728 
 I2	  18729 /*	 
 I2	  18730 **  Defined by XPG4 V2
 I2	  18731 */	 
 I2	  18732 #if defined _XOPEN_SOURCE_EXTENDED || !defined _ANSI_C_SOURCE
 I2	  18733 #   define SIGTRAP     5	/* TBIT trace trap or BPT instruction	    */
 I2	  18734 #   define SIGSYS     12	/* Bad arguments to system call		    */
 I2	  18735 #endif
 I2	  18736 
 I2	  18737 /*	 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 336
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  18738 **  DEC C Extensions
 I2	  18739 */	 
 I2	  18740 #ifndef _ANSI_C_SOURCE
 I2	  18741 #   define SIGIOT      6	    /* Obsolete name - 6 reused as SIGABRT  */
 I2	  18742 #   define SIGEMT      7	    /* Opcode reserved to customer	    */
 I2	  18743 #   define SIGBUS     10	    /* invalid access to memory objects	    */
 I2	  18744 #   if __CRTL_VER >= 70000000
 I2	  18745 #       define SIGSPARE18 18        /* Reserved for future expansions       */
 I2	  18746 #       define SIGSPARE19 19        /* Reserved for future expansions       */
 I2	  18747 #       define SIGDEBUG   26        /* Permanently reserved to Digital      */
 I2	  18748 #       define SIGSPARE27 27        /* Reserved for future expansions       */
 I2	  18749 #       define SIGSPARE28 28        /* Reserved for future expansions       */
 I2	  18750 #       define SIGSPARE29 29        /* Reserved for future expansions       */
 I2	  18751 #       define SIGSPARE30 30        /* Reserved for future expansions       */
 I2	  18752 #       define SIGSPARE31 31        /* Reserved for future expansions       */
 I2	  18753 #       define SIGSPARE32 32        /* Reserved for future expansions       */
 I2	  18754 #       define SIGRTMIN   33        /* First realtime signal (1003.1b)      */
 I2	  18755 #       define SIGRTMAX   64        /* Last realtime signal (1003.1b)       */
 I2	  18756 #   endif
 I2	  18757 
 I2	  18758 #   define NSIG	_SIG_MAX
 I2	  18759 
 I2	  18760 #   define BADSIG SIG_ERR
 I2	  18761 
 I2	  18762 #   define ILL_RESAD_FAULT	0x0	/* reserved addressing mode fault */
 I2	  18763 #   define ILL_PRIVIN_FAULT	0x1	/* privilidged instruction fault */
 I2	  18764 #   define ILL_RESOP_FAULT	0x2	/* reserved operand fault */
 I2	  18765 
 I2	  18766 #   define FPE_INTOVF_TRAP	0x1
 I2	  18767 #   define FPE_INTDIV_TRAP	0x2
 I2	  18768 #   define FPE_FLTOVF_TRAP	0x3
 I2	  18769 #   define FPE_FLTDIV_TRAP	0x4
 I2	  18770 #   define FPE_FLTUND_TRAP	0x5
 I2	  18771 #   define FPE_DECOVF_TRAP	0x6
 I2	  18772 #   define FPE_INXRES_TRAP	0x7
 I2	  18773 #   define FPE_FLTOVF_FAULT	0x8
 I2	  18774 #   define FPE_FLTDIV_FAULT	0x9
 I2	  18775 #   define FPE_FLTUND_FAULT	0x0a
 I2	  18776 #   define FPE_INVOPR_TRAP	0x0b
 I2	  18777 #   define FPE_DECDIV_TRAP  0x0c
 I2	  18778 #   define FPE_DECINV_TRAP  0x0d
 I2	  18779 #   define FPE_SUBRNG_TRAP  0x0e
 I2	  18780 #   define FPE_SUBRNG1_TRAP 0x0f
 I2	  18781 #   define FPE_SUBRNG2_TRAP 0x10
 I2	  18782 #   define FPE_SUBRNG3_TRAP 0x11
 I2	  18783 #   define FPE_SUBRNG4_TRAP 0x12
 I2	  18784 #   define FPE_SUBRNG5_TRAP 0x13
 I2	  18785 #   define FPE_SUBRNG6_TRAP 0x14
 I2	  18786 #   define FPE_SUBRNG7_TRAP 0x15
 I2	  18787 #   ifndef __ALPHA   /* Verified for x86, John Reagan */
 I2	  18788 #	define FPE_FLTINE_TRAP  0x16
 I2	  18789 #	define FPE_FLTINV_TRAP  0x17
 I2	  18790 #	define FPE_FLTINV_FAULT 0x18
 I2	  18791 #	define FPE_FLTDENORMAL_FAULT 0x19
 I2	  18792 #   endif
 I2	  18793 #endif
 I2	  18794 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 337
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  18795 /*
 I2	  18796 **  Enable 64 bit pointers
 I2	  18797 */
 I2    X  18798 #if __INITIAL_POINTER_SIZE
 I2    X  18799 #   pragma __pointer_size 64
 I2    X  18800 #endif
 I2	  18801 
 I2    X  18802 #ifdef __NAMESPACE_STD
 I2    X  18803 namespace std {
 I2    X  18804 #endif
 I2	  18805 
 I2	  18806 /*
 I2	  18807 **  Function prototypes (ANSI).
 I2	  18808 */
 I2    X  18809 #if __SIGACT64
 I2    X  18810 #  pragma __extern_prefix __save
 I2    X  18811 #  pragma __extern_prefix "__64_"
 I2    X  18812 #  define __SIGRETTYP __sighnd64_t 
 I2    X  18813 #else
 I2	  18814 #  define __SIGRETTYP __sighnd_t
 I2	  18815 #endif
 I2	  18816     __SIGRETTYP signal( int __sig, __sighnd64_t __func );
       E	     __sighnd_t
 I2	  18817 
 I2    X  18818 #if __SIGACT64
 I2    X  18819 #  pragma __extern_prefix __restore
 I2    X  18820 #  undef __SIGRETTYP
 I2    X  18821 #endif
 I2	  18822 
 I2	  18823     /*	 
 I2	  18824     **  In strict ANSI mode, raise has a signal parameter.  As
 I2	  18825     **	a DEC C extension, it accepts a subcode as well.
 I2	  18826     */	 
 I2	  18827 #ifndef _ANSI_C_SOURCE
 I2	  18828     int raise (int __sig, ...);	 /* 2nd parameter is the subcode */
 I2    X  18829 #else
 I2    X  18830     int raise (int __sig);
 I2    X  18831 #endif
 I2	  18832 
 I2    X  18833 #ifdef __NAMESPACE_STD
 I2    X  18834 } /* namespace std */
 I2    X  18835 #endif
 I2	  18836 
 I2	  18837 /*	 
 I2	  18838 **  ISO POSIX-1 signal handling
 I2	  18839 */	 
 I2	  18840 #if defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE
 I2	  18841 
 I2    X  18842 #   if defined(_POSIX_EXIT)
 I2    X  18843 #       if __USE_LONG_GID_T
 I2    X  18844 #	    pragma __extern_prefix __save
 I2    X  18845 #	    pragma __extern_prefix "__posix_long_gid_"
 I2    X  18846 #       elif __CRTL_VER >= 70000000
 I2    X  18847 #           if __CAN_USE_EXTERN_PREFIX
 I2    X  18848 #               pragma __extern_prefix __save
 I2    X  18849 #               pragma __extern_prefix "__posix_"
 I2    X  18850 #           else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 338
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2    X  18851 #               define kill(__p1,__p2) __posix_kill(__p1,__p2)
 I2    X  18852 #           endif
 I2    X  18853 #       endif
 I2    X  18854 #   endif
 I2	  18855 
 I2	  18856 	int kill (__pid_t __pid, int __sig);
 I2	  18857 
 I2    X  18858 #   if defined(_POSIX_EXIT)
 I2    X  18859 #       if __USE_LONG_GID_T
 I2    X  18860 #	    pragma __extern_prefix __restore
 I2    X  18861 #       elif __CRTL_VER >= 70000000
 I2    X  18862 #           if __CAN_USE_EXTERN_PREFIX
 I2    X  18863 #               pragma __extern_prefix __restore
 I2    X  18864 #           endif
 I2    X  18865 #       endif
 I2    X  18866 #   endif
 I2	  18867 
 I2	  18868 #   if __CRTL_VER >= 70000000
 I2	  18869 	int sigaddset (__sigset_t * __set, int __sig);
 I2	  18870 	int sigdelset (__sigset_t * __set, int __sig);
 I2	  18871 	int sigismember (const __sigset_t * __set, int __sig);
 I2	  18872 
 I2    X  18873 #	if __SIGACT64
 I2    X  18874 #	    pragma __extern_prefix __save
 I2    X  18875 #	    pragma __extern_prefix "__64_"
 I2    X  18876 #	endif
 I2	  18877 
 I2	  18878 	int sigaction(int __sig, const struct sigaction* __act, 
 I2	  18879 	    struct sigaction* __oact);
 I2	  18880 
 I2    X  18881 #	if __SIGACT64
 I2    X  18882 #	    pragma __extern_prefix __restore
 I2    X  18883 #	endif
 I2	  18884 
 I2    X  18885 #       if __CRTL_VER >= 80200000 && __INITIAL_POINTER_SIZE 
 I2    X  18886             int		        __64_sigaction(int, const struct __sigaction64 *, struct __sigaction64 *);
 I2    X  18887             int		        __32_sigaction(int, const struct __sigaction32 *, struct __sigaction32 *);
 I2    X  18888             __sighnd64_t	__64_signal(int, __sighnd64_t);
 I2    X  18889             __sighnd_t	        __32_signal(int, __sighnd64_t);
 I2    X  18890             __bsd_sighnd64_t    __64_ssignal(int, __bsd_sighnd64_t);
 I2    X  18891             __bsd_sighnd_t      __32_ssignal(int, __bsd_sighnd64_t);
 I2    X  18892 #       endif
 I2	  18893 
 I2	  18894 	int sigprocmask (int __how, const __sigset_t * __set, 
 I2	  18895 		    __sigset_t * __oset);
 I2	  18896 	int sigpending (__sigset_t * __set);
 I2	  18897 	int sigsuspend (const __sigset_t * __set);
 I2    X  18898 #	if __cplusplus && !__NO_MACROS && !(!defined(__ALPHA) && (__INITIAL_POINTER_SIZE == 32)) /* Verified for x86
 I2    X  18898 , John Reagan */
 I2    X  18899 	    inline int sigemptyset (__sigset_t *__set) {
 I2    X  18900 		*__set =_SIG_EMPTY_SET;
 I2    X  18901 		return 0;
 I2    X  18902 	    }
 I2    X  18903 
 I2    X  18904 	    inline int sigfillset (__sigset_t *__set) {
 I2    X  18905 		*__set =_SIG_FULL_SET;
 I2    X  18906 		return 0;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 339
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2    X  18907 	    }
 I2    X  18908 
 I2    X  18909 #	else
 I2	  18910 	    int sigemptyset (__sigset_t * __set);
 I2	  18911 	    int sigfillset  (__sigset_t * __set);
 I2	  18912 #	    if !__NO_MACROS
 I2	  18913 #		define sigemptyset(set)	(*(__sigset_t*)(set)=_SIG_EMPTY_SET, 0)
 I2	  18914 #		define sigfillset(set)	(*(__sigset_t*)(set)=_SIG_FULL_SET, 0)
 I2	  18915 #	    endif
 I2	  18916 #	endif
 I2	  18917 
 I2	  18918 #   endif
 I2	  18919 #endif
 I2	  18920 
 I2	  18921 /*	 
 I2	  18922 **  XPG4 V2 function prototypes
 I2	  18923 */	 
 I2	  18924 #if defined _XOPEN_SOURCE_EXTENDED ||  !defined _ANSI_C_SOURCE
 I2	  18925 
 I2	  18926     int	sigpause (int __mask);
 I2	  18927     int	sigstack (struct sigstack *__ss, struct sigstack *__oss);
 I2	  18928 
 I2	  18929 #endif
 I2	  18930 
 I2	  18931 /*
 I2	  18932 **  DEC C extensions
 I2	  18933 */
 I2	  18934 #ifndef _ANSI_C_SOURCE
 I2	  18935 
 I2    X  18936 # if __SIGACT64
 I2    X  18937 #   pragma __extern_prefix __save
 I2    X  18938 #   pragma __extern_prefix "__64_"
 I2    X  18939 #   define __SSIGRETTYP __bsd_sighnd64_t 
 I2    X  18940 # else
 I2	  18941 #   define __SSIGRETTYP __bsd_sighnd_t
 I2	  18942 # endif
 I2	  18943 
 I2	  18944     __SSIGRETTYP ssignal (int __sig, __bsd_sighnd64_t __action);
       E	     __bsd_sighnd_t
 I2	  18945 
 I2    X  18946 # if __SIGACT64
 I2    X  18947 #   pragma __extern_prefix __restore
 I2    X  18948 #   undef __SSIGRETTYP
 I2    X  18949 # endif
 I2	  18950 
 I2	  18951     int	sigvec (int __sigveca, struct sigvec *__sv, struct sigvec *__osv);
 I2	  18952     int	sigblock (int __mask);
 I2	  18953     int	sigsetmask (int __mask);
 I2	  18954     int	gsignal (int __sig, ...);
 I2	  18955 
 I2	  18956     void VAXC$ESTABLISH	(__vms_handler __f);
 I2	  18957     void VAXC$CRTL_INIT	(void);
 I2	  18958 
 I2	  18959 #   ifndef __cplusplus
 I2	  18960 	void DECC$CRTL_INIT (void);
 I2	  18961 #   endif
 I2	  18962 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 340
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  18963     void c$$establish(__void_ptr32, unsigned short);
 I2	  18964 #   define VAXC$CRTL_INIT() ( c$$establish(0,32), (VAXC$CRTL_INIT)())
 I2	  18965 #   ifndef __cplusplus
 I2	  18966 #	define DECC$CRTL_INIT() (c$$establish(0,32), (DECC$CRTL_INIT)())
 I2	  18967 #   endif
 I2	  18968 
 I2	  18969     /*	 
 I2	  18970     **  ISO POSIX-1 defines alarm, sleep as being in <unistd.h>.  For
 I2	  18971     **	compatibility with DEC C V4, the old prototypes are supported.
 I2	  18972     */	 
 I2	  18973 #   ifndef _DECC_V4_SOURCE
 I2	  18974 	 unsigned int alarm  (unsigned int __seconds);
 I2	  18975          unsigned int sleep (unsigned __seconds);
 I2    X  18976 #   else 
 I2    X  18977          int alarm (unsigned int __seconds);
 I2    X  18978          int sleep (unsigned __seconds);
 I2    X  18979 #   endif
 I2	  18980 
 I2	  18981     /*	 
 I2	  18982     **  ISO POSIX-1 defines pause in <unistd.h>
 I2	  18983     */	 
 I2	  18984     int	pause (void);
 I2	  18985 
 I2	  18986     /*	 
 I2	  18987     **  XPG4 V2 removed sigmask from signal.h in a corrigenda to
 I2	  18988     **	that specification.
 I2	  18989     */	 
 I2	  18990 #   if __CRTL_VER >= 70000000
 I2	  18991         int sigmask	(int __sig);
 I2	  18992 #       define sigmask(m) (1L << ((m)-1))
 I2	  18993 #   endif
 I2	  18994 
 I2	  18995 #endif
 I2	  18996 
 I2	  18997 #if defined _XOPEN_SOURCE_EXTENDED ||  !defined _ANSI_C_SOURCE
 I2	  18998 /*
 I2	  18999 **  XPG5 extentions
 I2	  19000 */
 I2	  19001 #   if __CRTL_VER >= 70320000
 I2	  19002 #       if (!defined __TIMESPEC && !defined _TIMESPEC_T_)
 I2	  19003 #           define __TIMESPEC
 I2	  19004 	    struct timespec {
 I2	  19005 	        unsigned long tv_sec;	/* seconds */
 I2	  19006 	        long tv_nsec; /* nanoseconds */
 I2	  19007 	    };
 I2	  19008 #       endif
 I2	  19009 
 I2	  19010         int sigwait(const __sigset_t *__set, int *__sig);
 I2	  19011         int sigwaitinfo(const __sigset_t *__set, siginfo_t *__info);
 I2	  19012         int sigtimedwait(const __sigset_t *__set, siginfo_t *__info, const struct timespec *__timeout);
 I2	  19013         int sighold(int __sig);
 I2	  19014         int sigrelse(int __sig);
 I2	  19015         int sigignore(int __sig);
 I2	  19016 #    endif
 I2	  19017 #endif
 I2	  19018 
 I2	  19019 #if __CRTL_VER >= 80400000 && !defined _ANSI_C_SOURCE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 341
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SIGNAL)

 I2	  19020         unsigned int decc$find_signal_value(unsigned int __cond_value, int *__subcode_p);
 I2	  19021         unsigned int decc$find_condition_value(int __sig_num, int __subcode);
 I2	  19022 #endif
 I2	  19023 
 I2	  19024 
 I2	  19025 /*
 I2	  19026 **  Restore pointer size context
 I2	  19027 */
 I2    X  19028 #if __INITIAL_POINTER_SIZE
 I2    X  19029 #   pragma __pointer_size __restore
 I2    X  19030 #endif
 I2	  19031 
 I2	  19032 #pragma __member_alignment __restore
 I2	  19033 
 I2    X  19034 #ifdef __cplusplus
 I2    X  19035     }
 I2    X  19036 #endif
 I2	  19037 
 I2	  19038 #pragma __standard
 I2	  19039 
 I2	  19040 #endif /* __SIGNAL_PROCESSED */
 I2	  19041 
 I2    X  19042 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I2    X  19043 #  ifndef __USING_SIGNAL_NAMES
 I2    X  19044 #    define __USING_SIGNAL_NAMES
 I2    X  19045      using std::raise;
 I2    X  19046      using std::sig_atomic_t;
 I2    X  19047      using std::signal;
 I2    X  19048 #  endif
 I2    X  19049 #endif
 I2	  19050 
 I2	  19051 #endif	/* __SIGNAL_LOADED */
 I1	  19052 #include <unixio.h>
 I2	  19053 #ifndef __UNIXIO_LOADED
 I2	  19054 #define __UNIXIO_LOADED 1
 I2	  19055 /*****************************************************************************
 I2	  19056 **
 I2	  19057 **  <unixio.h> - Prototypes for UNIX emulation functions
 I2	  19058 **
 I2	  19059 ******************************************************************************
 I2	  19060 **  Header is nonstandard
 I2	  19061 *****************************************************************************
 I2	  19062 **                                                                       
 I2	  19063 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I2	  19064 **                                                                       
 I2	  19065 ** Confidential computer software.  Valid license from HP and/or         
 I2	  19066 ** its subsidiaries required for possession, use, or copying.            
 I2	  19067 **                                                                       
 I2	  19068 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I2	  19069 ** Computer Software Documentation, and Technical Data for Commercial    
 I2	  19070 ** Items are licensed to the U.S. Government under vendor's standard     
 I2	  19071 ** commercial license.                                                   
 I2	  19072 **                                                                       
 I2	  19073 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I2	  19074 ** or editorial errors or omissions contained herein.  The information   
 I2	  19075 ** in this document is provided "as is" without warranty of any kind and 
 I2	  19076 ** is subject to change without notice.  The warranties for HP products  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 342
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXIO)

 I2	  19077 ** are set forth in the express limited warranty statements accompanying 
 I2	  19078 ** such products.  Nothing herein should be construed as constituting an 
 I2	  19079 ** additional warranty.                                                  
 I2	  19080 **                                                                       
 I2	  19081 *****************************************************************************
 I2	  19082 */
 I2	  19083 
 I2	  19084 #pragma __nostandard
 I2    X  19085 #include <decc$types.h>
 I2	  19086 
 I2    X  19087 #ifdef __cplusplus
 I2    X  19088     extern "C" {
 I2    X  19089 #endif
 I2	  19090 
 I2    X  19091 #include <stdio.h>    /* Definition of rename */
 I2	  19092 #include <stat.h>     /* Definition of stat, fstat, stat_t */
 I3	  19093 #ifndef __STAT_LOADED
 I3	  19094 #define __STAT_LOADED 1
 I3	  19095 /****************************************************************************
 I3	  19096 **
 I3	  19097 **  <stat.h> - stat/fstat UNIX emulation functions
 I3	  19098 **
 I3	  19099 *****************************************************************************
 I3	  19100 **  Header introduced by the ISO POSIX-1 Standard
 I3	  19101 *****************************************************************************
 I3	  19102 */
 I3	  19103 /* ************************************************************************* */
 I3	  19104 /* *                                                                       * */
 I3	  19105 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I3	  19106 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I3	  19107 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I3	  19108 /* * prior written permission of HPE.                                      * */
 I3	  19109 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I3	  19110 /* *                                                                       * */
 I3	  19111 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I3	  19112 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I3	  19113 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I3	  19114 /* * the prior written permission of VMS Software, Inc.                    * */
 I3	  19115 /* * Copyright 2017-2020 VMS Software, Inc.                                * */
 I3	  19116 /* *                                                                       * */
 I3	  19117 /* ************************************************************************* */
 I3	  19118 
 I3	  19119 #pragma   __nostandard
 I3    X  19120 #include <decc$types.h>
 I3	  19121 
 I3    X  19122 #ifdef __cplusplus
 I3    X  19123     extern "C" {
 I3    X  19124 #endif
 I3	  19125 
 I3    X  19126 #if __INITIAL_POINTER_SIZE
 I3    X  19127 #   pragma __pointer_size __save
 I3    X  19128 #   pragma __pointer_size 32
 I3    X  19129 #endif
 I3	  19130 
 I3	  19131 /*
 I3	  19132 **  Create 'public' typedefs that are either insensitive to pointer or are
 I3	  19133 **  sensitive to pointer size and must use short pointers.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 343
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19134 */
 I3	  19135 /*	 
 I3	  19136 **  X/Open definitions
 I3	  19137 */
 I3    X  19138 #if defined _XOPEN_SOURCE || (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE)
 I3    X  19139 #   ifndef __TIME_T
 I3    X  19140 #	define __TIME_T 1
 I3    X  19141 #ifdef __NAMESPACE_STD
 I3    X  19142 namespace std {
 I3    X  19143 #endif
 I3    X  19144      typedef __time_t time_t;
 I3    X  19145 #ifdef __NAMESPACE_STD
 I3    X  19146 } /* namespace std */
 I3    X  19147      using std::time_t;
 I3    X  19148 #endif
 I3    X  19149 #   endif
 I3    X  19150 
 I3    X  19151 #   ifndef __DEV_T
 I3    X  19152 #	define __DEV_T 1
 I3    X  19153 	typedef __dev_t dev_t;
 I3    X  19154 #   endif
 I3    X  19155 
 I3    X  19156 #   ifndef __INO_T
 I3    X  19157 #	define __INO_T 1
 I3    X  19158 	typedef __ino_t ino_t;
 I3    X  19159 #   endif
 I3    X  19160 
 I3    X  19161 #   ifndef __NLINK_T
 I3    X  19162 #	define __NLINK_T 1
 I3    X  19163 	typedef __nlink_t nlink_t;
 I3    X  19164 #   endif
 I3    X  19165 
 I3    X  19166 #   ifndef __MODE_T
 I3    X  19167 #	define __MODE_T 1
 I3    X  19168 	typedef __mode_t mode_t;
 I3    X  19169 #   endif
 I3    X  19170 
 I3    X  19171 #   ifndef __OFF_T
 I3    X  19172 #	define __OFF_T 1
 I3    X  19173 	typedef __off_t off_t;
 I3    X  19174 #   endif
 I3    X  19175 
 I3    X  19176 #   ifndef __UID_T
 I3    X  19177 #	define __UID_T 1
 I3    X  19178 	typedef __uid_t uid_t;
 I3    X  19179 #   endif
 I3    X  19180 
 I3    X  19181 #   ifndef __GID_T
 I3    X  19182 #	define __GID_T 1
 I3    X  19183 #	if __USE_LONG_GID_T
 I3    X  19184 	    typedef __gid32_t gid_t;
 I3    X  19185 #	else
 I3    X  19186 	    typedef __gid16_t gid_t;
 I3    X  19187 #	endif
 I3    X  19188 #   endif
 I3    X  19189 #endif
 I3	  19190 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 344
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19191 
 I3	  19192 /* 
 I3	  19193 ** Define some macros to use to access the component fields of ino values. 
 I3	  19194 ** S_ names are those intended for application use; _S_ names are internal.
 I3	  19195 **	S_INO_NUM - file number
 I3	  19196 **	S_INO_SEQ - file sequence number
 I3	  19197 **	S_INO_RVN - relative volume number
 I3	  19198 **	S_INO_RVN_NMX - file number extension, portion of S_INO_RVN
 I3	  19199 **	S_INO_RVN_RVN - relative volume number portion of S_INO_RVN
 I3	  19200 */
 I3    X  19201 #if __USING_STD_STAT
 I3    X  19202 #   define _S_INO_NUM_MASK	0x000000000000FFFF
 I3    X  19203 #   define _S_INO_SEQ_MASK	0x00000000FFFF0000
 I3    X  19204 #   define _S_INO_RVN_MASK	0x0000FFFF00000000
 I3    X  19205 #   define _S_INO_RVN_RVN_MASK	0x000000FF00000000
 I3    X  19206 #   define _S_INO_RVN_NMX_MASK	0x0000FF0000000000
 I3    X  19207 #   define S_INO_NUM(ino)	((unsigned short)((ino)&_S_INO_NUM_MASK))
 I3    X  19208 #   define S_INO_SEQ(ino)	((unsigned short)(((ino)&_S_INO_SEQ_MASK)>>16))
 I3    X  19209 #   define S_INO_RVN(ino)	((unsigned short)(((ino)&_S_INO_RVN_MASK)>>32))
 I3    X  19210 #   define S_INO_RVN_RVN(ino)	((unsigned char)(((ino)&_S_INO_RVN_RVN_MASK)>>32))
 I3    X  19211 #   define S_INO_RVN_NMX(ino)	((unsigned char)(((ino)&_S_INO_RVN_NMX_MASK)>>40))
 I3    X  19212 #else
 I3	  19213 #   define _S_INO_RVN_RVN_MASK	0x00FF
 I3	  19214 #   define _S_INO_RVN_NMX_MASK	0xFF00
 I3	  19215 #   define S_INO_NUM(ino)	((unsigned short)((ino)[0]))
 I3	  19216 #   define S_INO_SEQ(ino)	((unsigned short)((ino)[1]))
 I3	  19217 #   define S_INO_RVN(ino)	((unsigned short)((ino)[2]))
 I3	  19218 #   define S_INO_RVN_RVN(ino)	((unsigned char)(S_INO_RVN(ino)&_S_INO_RVN_RVN_MASK))
 I3	  19219 #   define S_INO_RVN_NMX(ino)	((unsigned char)((S_INO_RVN(ino)&_S_INO_RVN_NMX_MASK)>8))
 I3	  19220 #endif
 I3	  19221 
 I3	  19222 /*
 I3	  19223 ** This is the beginning of the standard stat structure definition.
 I3	  19224 ** It is in effect if feature macro _USE_STD_STAT is defined.
 I3	  19225 */
 I3    X  19226 #if __USING_STD_STAT
 I3    X  19227 
 I3    X  19228     /*
 I3    X  19229     ** Define the size of the output buffer for $GETDVI item DVI$_ALLDEVNAM.
 I3    X  19230     */
 I3    X  19231 #   define __ALLDEVNAM_LEN 64
 I3    X  19232 
 I3    X  19233     /*
 I3    X  19234     ** Define the number of quadwords held in reserve at the tail of the
 I3    X  19235     ** new stat struct, for HP's future use.
 I3    X  19236     */
 I3    X  19237 #   define __STD_STAT_QWORDS_RESERVED 20
 I3    X  19238 
 I3    X  19239     /*
 I3    X  19240     ** Define some macros that will assist us in the stat structure definition.
 I3    X  19241     ** These automate the naming and sizing of the fill fields.
 I3    X  19242     ** The __USING_64BIT_TIME_T macro is set in decc$types.h.
 I3    X  19243     */
 I3    X  19244 #   define __MODE_FILL_SIZE	(sizeof(int) - sizeof(__mode_t))
 I3    X  19245 #   define __MODEFILL(mem)	char mem ## Fill [__MODE_FILL_SIZE];
 I3    X  19246 
 I3    X  19247 #   if __USING_64BIT_TIME_T

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 345
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3    X  19248 #	define __TIMEFILL(mem)
 I3    X  19249 #   else
 I3    X  19250 #	define __TIME_FILL_SIZE	(sizeof(__int64) - sizeof(__time_t))
 I3    X  19251 #	define __TIMEFILL(mem)	char mem ## Fill [__TIME_FILL_SIZE];
 I3    X  19252 #   endif
 I3    X  19253 
 I3    X  19254 #   pragma __member_alignment __save
 I3    X  19255 #   pragma __member_alignment
 I3    X  19256 
 I3    X  19257 struct stat {
 I3    X  19258     __dev_t	st_dev;	    /* device id */
 I3    X  19259     __ino_t	st_ino;	    /* file number */
 I3    X  19260     __mode_t	st_mode;    /* file mode */
 I3    X  19261     __MODEFILL( st_mode)    
 I3    X  19262     __nlink_t	st_nlink;   /* number of hard links */
 I3    X  19263     __uid_t	st_uid;	    /* user id */
 I3    X  19264     __gid_t	st_gid;	    /* group id */
 I3    X  19265     __dev_t	st_rdev;    
 I3    X  19266     __off_t	st_size;    /* file size in bytes */
 I3    X  19267     __time_t	st_atime;   /* file access time */
 I3    X  19268     __TIMEFILL( st_atime)
 I3    X  19269     __time_t    st_mtime;   /* file mod time */
 I3    X  19270     __TIMEFILL( st_mtime)
 I3    X  19271     __time_t    st_ctime;   /* file creation time */
 I3    X  19272     __TIMEFILL( st_ctime)
 I3    X  19273     char	st_fab_rfm; /* record format */
 I3    X  19274     char	st_fab_rat; /* record attributes */
 I3    X  19275     char	st_fab_fsz; /* fixed header size */
 I3    X  19276     char	st_fabFill;
 I3    X  19277     unsigned    st_fab_mrs; /* record size */
 I3    X  19278     blksize_t	st_blksize; /* filesystem-specific preferred I/O block size for this file */
 I3    X  19279     blkcnt_t	st_blocks;  /* number of blocks allocated for this file */
 I3    X  19280     char	st_reserved[sizeof(__int64)*__STD_STAT_QWORDS_RESERVED];
 I3    X  19281 };
 I3    X  19282 
 I3    X  19283 #   pragma __member_alignment __restore
 I3    X  19284 
 I3    X  19285 #else /* end of __USING_STD_STAT section */
 I3	  19286 
 I3	  19287 /*
 I3	  19288 ** There are two definitions of the stat structure. The first
 I3	  19289 ** is intended for newly compiled applications and is larger
 I3	  19290 ** than the traditional structure.
 I3	  19291 **
 I3	  19292 ** The new structure has aligned fields and has a fixed size.
 I3	  19293 ** It contains padding for elements shorter than type int,
 I3	  19294 ** and in some cases where a field may have 2 sizes such as
 I3	  19295 ** st_size and st_gid. It also has spare fields at the end for
 I3	  19296 ** future expansion.
 I3	  19297 **
 I3	  19298 ** The traditional structure is for use when passing pointers
 I3	  19299 ** to stat structures with previously compiled objects. This
 I3	  19300 ** structure does not have aligned elements. Its size varies,
 I3	  19301 ** depending on whether datatype gid_t is short or long.
 I3	  19302 **
 I3	  19303 ** Note that times are given in units of seconds since the
 I3	  19304 ** Epoch i.e. times returned are measured in seconds since 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 346
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19305 ** 00:00:00 GMT, Jan. 1, 1970.
 I3	  19306 **
 I3	  19307 ** ISO POSIX-1 defines off_t to be a signed arithmetic type, and
 I3	  19308 ** requires the st_size field to be of type off_t.  DEC C V5.0
 I3	  19309 ** and prior declared the field as unsigned.
 I3	  19310 */
 I3	  19311 
 I3	  19312 #if __USE_OFF64_T
 I3	  19313 /*
 I3	  19314 **  This is the new stat structure. It has aligned fields, 
 I3	  19315 **  extra padding to allow fields to expand and extra space at 
 I3	  19316 **  the end for future expansion.
 I3	  19317 */	 
 I3	  19318 
 I3	  19319 #pragma __member_alignment __save
 I3	  19320 #pragma member_alignment
 I3	  19321 struct stat
 I3	  19322 {
 I3	  19323         __dev_t      st_dev;          /* pointer to physical device name */
 I3	  19324 	__dev_t	     st_fill_dev;
 I3    X  19325 #if __USE_INO64
 I3    X  19326 	__ino64_t    st_ino;
 I3    X  19327 #elif __USE_INO32
 I3    X  19328 	__ino32_t    st_ino;
 I3    X  19329 	__ino32_t    st_fill_ino;
 I3    X  19330 #else
 I3	  19331         __ino16_t    st_ino[3];       /* 3 words to receive fid */
 I3	  19332 	__ino16_t    st_fill_ino;     /* spare word for fill */
 I3	  19333 #endif
 I3	  19334         __mode_t     st_mode;         /* file "mode" i.e. prot, dir, reg, etc. */
 I3	  19335 	__mode_t     st_fill_mode;    /* fill because mode_t is defined as short */
 I3	  19336 
 I3	  19337         __nlink_t    st_nlink;        /* number of hard links */
 I3	  19338         __uid_t      st_uid;          /* from ACP - QIO uic field */
 I3	  19339 
 I3	  19340 #  if __USE_LONG_GID_T
 I3	  19341         __gid32_t    st_gid;          /* long group number from POSIX_OWNER ACE */
 I3    X  19342 #  else
 I3    X  19343         __gid16_t    st_gid;          /* short group number extracted st_uid*/
 I3    X  19344 	__gid16_t    st_fill_gid;     /* padding because short GID is only 16 bits */
 I3    X  19345 #  endif
 I3	  19346 
 I3    X  19347 #  if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I3    X  19348         __dev_t      st_rdev;         /* for compatibility - always zero */
 I3    X  19349 #  else
 I3	  19350 	__dev_t	     st_fill_rdev;    /* padding when st_rdev is not defined */
 I3	  19351 #  endif
 I3	  19352 
 I3    X  19353 #  if defined _DECC_V4_SOURCE
 I3    X  19354 	unsigned int st_size;	      /* file size in bytes, was unsigned */
 I3    X  19355 	int	     st_fill_size;    /* padding */
 I3    X  19356 #  else
 I3	  19357 	__off64_t    st_size;         /* file size in bytes */
 I3	  19358 #  endif
 I3	  19359 
 I3	  19360         __time_t     st_atime;        /* file access time; always same as st_mtime */
 I3	  19361 	__time_t     st_fill_atime;   /* padding */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 347
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19362         __time_t     st_mtime;        /* last modification time */
 I3	  19363 	__time_t     st_fill_mtime;   /* padding */
 I3	  19364         __time_t     st_ctime;        /* file creation time */
 I3	  19365 	__time_t     st_fill_ctime;   /* padding */
 I3	  19366 
 I3    X  19367 #  ifndef _POSIX_C_SOURCE
 I3    X  19368         char         st_fab_rfm;      /* record format */
 I3    X  19369         char         st_fab_rat;      /* record attributes */
 I3    X  19370         char         st_fab_fsz;      /* fixed header size */
 I3    X  19371 	char         st_fab_fill;     /* padding */
 I3    X  19372         unsigned int st_fab_mrs;      /* record size */
 I3    X  19373 #  else
 I3	  19374 	char	     st_fill_fab[4];
 I3	  19375 	unsigned int st_fill_mrs;
 I3	  19376 #  endif
 I3	  19377 	int          st_fill_expand[8]; /* room for expansion */
 I3	  19378 };
 I3	  19379 #  pragma __member_alignment __restore
 I3    X  19380 #else
 I3	  19381 /*	 
 I3	  19382 **  This is the traditional stat structure. Its size varies depending
 I3	  19383 **  on whether long or short gid_t is being used.
 I3    X  19384 */
 I3    X  19385 /*
 I3    X  19386 **  Disable warning messages
 I3    X  19387 */
 I3    X  19388 #  pragma __message __save
 I3    X  19389 #  pragma __message __disable (__MISALGNDSTRCT)
 I3    X  19390 #  pragma __message __disable (__MISALGNDMEM)
 I3    X  19391 	 
 I3    X  19392 /*
 I3    X  19393 **  Do not naturally align older data structures
 I3    X  19394 */
 I3    X  19395 
 I3    X  19396 #  pragma __member_alignment __save
 I3    X  19397 #  pragma __nomember_alignment
 I3    X  19398 struct  stat
 I3    X  19399 {
 I3    X  19400         __dev_t      st_dev;          /* pointer to physical device name */
 I3    X  19401         __ino16_t    st_ino[3];       /* 3 words to receive fid */
 I3    X  19402         __mode_t     st_mode;         /* file "mode" i.e. prot, dir, reg, etc. */
 I3    X  19403         __nlink_t    st_nlink;        /* number of hard links */
 I3    X  19404         __uid_t      st_uid;          /* from ACP - QIO uic field */
 I3    X  19405 #if __USE_LONG_GID_T
 I3    X  19406         __gid32_t    st_gid;          /* long group number from POSIX_OWNER ACE */
 I3    X  19407 #else
 I3    X  19408         __gid16_t    st_gid;          /* short group number extracted st_uid */
 I3    X  19409 #endif
 I3    X  19410 #   if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I3    X  19411         __dev_t      st_rdev;         /* for compatibility - always zero */
 I3    X  19412 #   else
 I3    X  19413 	__dev_t	     st_fill1;
 I3    X  19414 #   endif
 I3    X  19415 
 I3    X  19416 #   if defined _DECC_V4_SOURCE
 I3    X  19417 	unsigned int st_size;	      /* file size in bytes, was unsigned */
 I3    X  19418 #   else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 348
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3    X  19419 	__off32_t    st_size;         /* file size in bytes */
 I3    X  19420 #   endif
 I3    X  19421         __time_t     st_atime;        /* file access time; always same as st_mtime */
 I3    X  19422         __time_t     st_mtime;        /* last modification time */
 I3    X  19423         __time_t     st_ctime;        /* file creation time */
 I3    X  19424 
 I3    X  19425 #  ifndef _POSIX_C_SOURCE
 I3    X  19426         char         st_fab_rfm;      /* record format */
 I3    X  19427         char         st_fab_rat;      /* record attributes */
 I3    X  19428         char         st_fab_fsz;      /* fixed header size */
 I3    X  19429         unsigned int st_fab_mrs;      /* record size */
 I3    X  19430 #  else
 I3    X  19431 	char	     st_fill2[3];
 I3    X  19432 	unsigned int st_fill3;
 I3    X  19433 #  endif
 I3    X  19434 };
 I3    X  19435 
 I3    X  19436 #  pragma __message __restore
 I3    X  19437 #  pragma __member_alignment __restore
 I3    X  19438 
 I3    X  19439 #endif
 I3	  19440 #endif /* __USING_STD_STAT */
 I3	  19441 
 I3	  19442 /*
 I3	  19443 **  DEC C extensions
 I3	  19444 */
 I3    X  19445 #ifndef _POSIX_C_SOURCE
 I3    X  19446     typedef	struct stat stat_t; 
 I3    X  19447 #endif
 I3	  19448 
 I3	  19449 
 I3	  19450 /*
 I3	  19451 **  Private definitions
 I3	  19452 */	 
 I3	  19453 #define __S_IFMT   0170000    /* type of file */
 I3	  19454 #define __S_IFIFO  0010000    /* pipe or fifo */
 I3	  19455 #define __S_IFDIR  0040000    /* directory */
 I3	  19456 #define __S_IFCHR  0020000    /* character special */
 I3	  19457 #define __S_IFBLK  0060000    /* block special */
 I3	  19458 #define __S_IFREG  0100000    /* regular */
 I3	  19459 #define __S_IFMPC  0030000    /* multiplexed char special */
 I3	  19460 #define __S_IFMPB  0070000    /* multiplexed block special */
 I3	  19461 #define __S_IFSOCK 0140000    /* socket */
 I3	  19462 #define __S_IFLNK  0120000    /* symbolic link */
 I3	  19463 
 I3	  19464 
 I3	  19465 /*	 
 I3	  19466 **  ISO POSIX-1 definitions
 I3	  19467 */	 
 I3	  19468 #define S_ISUID  0004000    /* set user id on execution */
 I3	  19469 #define S_ISGID  0002000    /* set group id on execution */
 I3	  19470 
 I3	  19471 #define S_IRWXU  0000700    /* read,write,execute perm: owner */
 I3	  19472 #define S_IRUSR  0000400    /* read permission: owner */
 I3	  19473 #define S_IWUSR  0000200    /* write permission: owner */
 I3	  19474 #define S_IXUSR  0000100    /* execute/search permission: owner */
 I3	  19475 #define S_IRWXG  0000070    /* read,write,execute perm: group */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 349
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19476 #define S_IRGRP  0000040    /* read permission: group */
 I3	  19477 #define S_IWGRP  0000020    /* write permission: group */
 I3	  19478 #define S_IXGRP  0000010    /* execute/search permission: group */
 I3	  19479 #define S_IRWXO  0000007    /* read,write,execute perm: other */
 I3	  19480 #define S_IROTH  0000004    /* read permission: other */
 I3	  19481 #define S_IWOTH  0000002    /* write permission: other */
 I3	  19482 #define S_IXOTH  0000001    /* execute/search permission: other */
 I3	  19483 
 I3	  19484 #define S_ISFIFO(m) (((m)& __S_IFMT) == __S_IFIFO)
 I3	  19485 #define S_ISDIR(m)  (((m)& __S_IFMT) == __S_IFDIR)
 I3	  19486 #define S_ISCHR(m)  (((m)& __S_IFMT) == __S_IFCHR)
 I3	  19487 #define S_ISBLK(m)  (((m)& __S_IFMT) == __S_IFBLK)
 I3	  19488 #define S_ISREG(m)  (((m)& __S_IFMT) == __S_IFREG)
 I3	  19489 
 I3	  19490 
 I3	  19491 /*	 
 I3	  19492 **  X/Open XPG4 definitions
 I3	  19493 */	 
 I3    X  19494 #if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I3    X  19495 #   define S_IFMT   __S_IFMT   /* type of file */
 I3    X  19496 #   define S_IFIFO  __S_IFIFO  /* pipe or fifo */
 I3    X  19497 #   define S_IFDIR  __S_IFDIR  /* directory */
 I3    X  19498 #   define S_IFCHR  __S_IFCHR  /* character special */
 I3    X  19499 #   define S_IFBLK  __S_IFBLK  /* block special */
 I3    X  19500 #   define S_IFREG  __S_IFREG  /* regular */
 I3    X  19501 #endif     
 I3	  19502 
 I3	  19503 
 I3	  19504 /*	 
 I3	  19505 **  X/Open XPG4 V2 definitions
 I3	  19506 */	 
 I3    X  19507 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
 I3    X  19508 #   define S_IFSOCK __S_IFSOCK /* socket */
 I3    X  19509 #   define S_IFLNK  __S_IFLNK  /* symbolic link */
 I3    X  19510 
 I3    X  19511 #   define S_ISLNK(m)  (((m)& S_IFMT) == S_IFLNK)
 I3    X  19512 #   define S_ISSOCK(m) (((m)& S_IFMT) == S_IFSOCK)
 I3    X  19513 
 I3    X  19514 #   define S_ISVTX  0001000    /* save swapped text even after use */
 I3    X  19515 #endif
 I3	  19516 
 I3	  19517 /*	 
 I3	  19518 **  DEC C extensions
 I3	  19519 */	 
 I3    X  19520 #ifndef _POSIX_C_SOURCE
 I3    X  19521 #   define S_IREAD  0000400    /* read permission, owner */
 I3    X  19522 #   define S_IWRITE 0000200    /* write permission, owner */
 I3    X  19523 #   define S_IEXEC  0000100    /* execute/search permission, owner */
 I3    X  19524 
 I3    X  19525 #   define S_IFMPC  __S_IFMPC  /* multiplexed char special */
 I3    X  19526 #   define S_IFMPB  __S_IFMPB  /* multiplexed block special */
 I3    X  19527 #endif
 I3	  19528 
 I3	  19529 /*
 I3	  19530 **  We are done defining things which must always be short pointers.  If
 I3	  19531 **  the user has used /pointer_size=short or /pointer_size=long, we will
 I3	  19532 **  allow long pointers to be used in function calls.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 350
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19533 */
 I3    X  19534 #if __INITIAL_POINTER_SIZE
 I3    X  19535 #   pragma __pointer_size 64
 I3    X  19536 #endif
 I3	  19537 
 I3	  19538 
 I3    X  19539 #if __USING_STD_STAT
 I3    X  19540 
 I3    X  19541 # pragma __extern_prefix __save
 I3    X  19542 # pragma __extern_prefix "__std_"
 I3    X  19543 
 I3    X  19544 #else
 I3	  19545 
 I3	  19546 #if __USE_OFF64_T
 I3	  19547 #   pragma __extern_prefix __save
 I3	  19548 #   if __USE_LONG_GID_T
 I3	  19549 #	pragma __extern_prefix "__off64_long_gid_"
 I3    X  19550 #   elif !defined _VMS_V6_SOURCE
 I3    X  19551 #	pragma __extern_prefix "__off64_utc_"
 I3    X  19552 #   else
 I3    X  19553 #	pragma __extern_prefix "__off64_"
 I3    X  19554 #   endif
 I3    X  19555 #elif __USE_LONG_GID_T
 I3    X  19556   /*
 I3    X  19557   **  On Alpha, beginning in version of OpenVMS Alpha following V7.3, stat
 I3    X  19558   **  and fstat support 32-bit gid_t datatype. The stat and fstat functions
 I3    X  19559   **  supporting long gid_t datatype can return UTC time only. If local time
 I3    X  19560   **  is required, define _VMS_V6_SOURCE macro. Defining _DECC_SHORT_GID_T
 I3    X  19561   **  or _VMS_V6_SOURCE macro causes DEC C RTL to use 16-bit gid_t datatype.
 I3    X  19562   */
 I3    X  19563 #   pragma __extern_prefix __save
 I3    X  19564 #   pragma __extern_prefix "__long_gid_"
 I3    X  19565 #elif __CRTL_VER >= 70000000
 I3    X  19566    /*
 I3    X  19567    **  Beginning in OpenVMS Version 7.0 stat has two implementations. 
 I3    X  19568    **  One for compatibility stat() which returns time in terms of
 I3    X  19569    **  local time and one __utc_stat() which returns time in terms of UTC.
 I3    X  19570    */
 I3    X  19571 #   if !defined _VMS_V6_SOURCE
 I3    X  19572 #      ifdef __CAN_USE_EXTERN_PREFIX
 I3    X  19573 #         pragma __extern_prefix __save
 I3    X  19574 #         pragma __extern_prefix "__utc_"
 I3    X  19575 #      else
 I3    X  19576 #         define stat(__p1,__p2)   __utc_stat(__p1,__p2)
 I3    X  19577 #         define fstat(__p1,__p2)  __utc_fstat(__p1,__p2)
 I3    X  19578 #	  if  __CRTL_VER >= 70301000 
 I3    X  19579 #         define lstat(__p1,__p2)  __utc_lstat(__p1,__p2)
 I3    X  19580 #	  endif 
 I3    X  19581 #      endif
 I3    X  19582 #   endif
 I3    X  19583 #endif /* __USE_OFF64_T */
 I3	  19584 #endif /* __USING_STD_STAT */
 I3	  19585 
 I3	  19586 /*
 I3	  19587 **  Function prototypes
 I3	  19588 */
 I3	  19589 int fstat (int __file_desc, struct stat *__buffer);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 351
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19590 
 I3	  19591 /*
 I3	  19592 **  If we cannot use extern prefix, then the user cannot get the ellipsis form
 I3	  19593 **  of the prototype.  Applications which must use the optional arguments may
 I3	  19594 **  either upgrade the compiler or change the call site to use decc$stat or
 I3	  19595 **  decc$__utc_stat instead of stat.
 I3	  19596 */
 I3	  19597 #if (defined _POSIX_C_SOURCE) || (!defined __CAN_USE_EXTERN_PREFIX)
 I3	  19598     int stat  (const char *__path, struct stat *__buf);
 I3	  19599 #   if __CRTL_VER >= 70301000 
 I3	  19600       int lstat (const char *__path, struct stat *__buf);
 I3	  19601 #   endif
 I3    X  19602 #else
 I3    X  19603     int stat  (const char *__path, struct stat *__buf, ...);
 I3    X  19604 #   if __CRTL_VER >= 70301000 
 I3    X  19605       int lstat (const char *__path, struct stat *__buf, ...);
 I3    X  19606 #   endif
 I3    X  19607 #endif
 I3	  19608 
 I3	  19609 /*
 I3	  19610 **  Disable extern_prefix if we enabled it earlier
 I3	  19611 */
 I3    X  19612 #if __USING_STD_STAT 
 I3    X  19613 # pragma __extern_prefix __restore
 I3    X  19614 #else
 I3	  19615 #if __USE_LONG_GID_T || __USE_OFF64_T
 I3	  19616 #   pragma __extern_prefix __restore
 I3    X  19617 #elif __CRTL_VER >= 70000000
 I3    X  19618 #   if !defined _VMS_V6_SOURCE
 I3    X  19619 #      ifdef __CAN_USE_EXTERN_PREFIX
 I3    X  19620 #          pragma __extern_prefix __restore
 I3    X  19621 #      endif
 I3    X  19622 #   endif
 I3    X  19623 #endif
 I3	  19624 #endif
 I3	  19625 
 I3	  19626 #if __USE_LONG_GID_T
 I3	  19627 #   pragma __extern_prefix __save
 I3	  19628 #   pragma __extern_prefix "__long_gid_"
 I3	  19629 #endif
 I3	  19630 
 I3	  19631 int chmod   (const char *__file_spec, __mode_t __mode);
 I3	  19632 int fchmod  (int __fd, __mode_t __mode);
 I3	  19633 
 I3	  19634 #if __USE_LONG_GID_T
 I3	  19635 #   pragma __extern_prefix __restore
 I3	  19636 #endif
 I3	  19637 
 I3	  19638 __mode_t umask  (__mode_t __old_mask);
 I3	  19639 
 I3	  19640 #ifdef _POSIX_C_SOURCE 
 I3	  19641     int mkdir (const char *__dir_spec, __mode_t __mode);
 I3    X  19642 #else
 I3    X  19643     int mkdir (const char *__dir_spec, __mode_t __mode, ...);
 I3    X  19644 #endif
 I3	  19645 
 I3	  19646 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 352
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STAT)

 I3	  19647 **  Restore the users pointer context
 I3	  19648 */
 I3    X  19649 #if __INITIAL_POINTER_SIZE
 I3    X  19650 #   pragma __pointer_size __restore
 I3    X  19651 #endif
 I3	  19652 
 I3    X  19653 #ifdef __cplusplus
 I3    X  19654     }
 I3    X  19655 #endif
 I3	  19656 
 I3	  19657 #pragma __standard
 I3	  19658 #endif  /* __STAT_LOADED */
 I2	  19659 
 I2    X  19660 #if __INITIAL_POINTER_SIZE
 I2    X  19661 #   pragma __pointer_size __save
 I2    X  19662 #   pragma __pointer_size 32
 I2    X  19663 #endif
 I2	  19664 
 I2	  19665 
 I2	  19666 /*	 
 I2	  19667 **  Types shared with <types.h>
 I2	  19668 */	 
 I2    X  19669 #if !defined __SIZE_T  && !defined _DECC_V4_SOURCE
 I2    X  19670 #   define __SIZE_T 1
 I2    X  19671 #ifdef __NAMESPACE_STD
 I2    X  19672 namespace std {
 I2    X  19673 #endif
 I2    X  19674     typedef __size_t size_t;
 I2    X  19675 #ifdef __NAMESPACE_STD
 I2    X  19676 } /* namespace std */
 I2    X  19677     using std::size_t;
 I2    X  19678 #endif
 I2    X  19679 #endif
 I2	  19680 
 I2    X  19681 #if !defined __SSIZE_T  && !defined _DECC_V4_SOURCE
 I2    X  19682 #   define __SSIZE_T 1
 I2    X  19683     typedef __ssize_t ssize_t;
 I2    X  19684 #endif
 I2	  19685 
 I2    X  19686 #if !defined __MODE_T  && !defined _DECC_V4_SOURCE
 I2    X  19687 #   define __MODE_T 1
 I2    X  19688     typedef __mode_t mode_t;
 I2    X  19689 #endif
 I2	  19690 
 I2    X  19691 #if !defined __UID_T  && !defined _DECC_V4_SOURCE
 I2    X  19692 #   define __UID_T 1
 I2    X  19693     typedef __uid_t uid_t;
 I2    X  19694 #endif
 I2	  19695 
 I2    X  19696 #if !defined __GID_T  && !defined _DECC_V4_SOURCE
 I2    X  19697 #   define __GID_T 1
 I2    X  19698     typedef __gid_t gid_t;
 I2    X  19699 #endif
 I2	  19700 
 I2    X  19701 #if !defined __OFF_T  && !defined _DECC_V4_SOURCE
 I2    X  19702 #   define __OFF_T 1
 I2    X  19703     typedef __off_t off_t;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 353
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXIO)

 I2    X  19704 #endif
 I2	  19705 
 I2	  19706 /*
 I2	  19707 **  Defines for the Access() mode argument
 I2	  19708 */
 I2	  19709 #define F_OK 0
 I2	  19710 #define X_OK 1
 I2	  19711 #define W_OK 2
 I2	  19712 #define R_OK 4
 I2	  19713 
 I2	  19714 
 I2	  19715 /*
 I2	  19716 **  Functions which return pointers into CRTL owned memory always return a
 I2	  19717 **  short pointer, regardless of application compilation mode.
 I2	  19718 */
 I2    X  19719 #if __CRTL_VER >= 70320000 && __POSIX_TTYNAME
 I2    X  19720     char *ttyname(int fd);      /* Enforces 1 argument */
 I2    X  19721 #else
 I2	  19722     char *ttyname();            /* Legacy supports zero or 1 arguments */
 I2	  19723 #endif
 I2	  19724 
 I2	  19725 
 I2	  19726 
 I2	  19727 /*
 I2	  19728 **  We are done defining things which must always be short pointers.  If the
 I2	  19729 **  user has used /pointer_size=short or /pointer_size=long, we will allow long
 I2	  19730 **  pointers to be used in function calls.
 I2	  19731 */
 I2    X  19732 #if __INITIAL_POINTER_SIZE
 I2    X  19733 #   pragma __pointer_size 64
 I2    X  19734 #endif
 I2	  19735 
 I2	  19736 
 I2	  19737 /*
 I2	  19738 **  Functions which accept either 32 or 64 bits pointers
 I2	  19739 */
 I2	  19740 
 I2	  19741 #if __USE_LONG_GID_T
 I2	  19742 #   pragma __extern_prefix __save
 I2	  19743 #   pragma __extern_prefix "__long_gid_"
 I2	  19744 #endif
 I2	  19745 
 I2	  19746 int access  (const char *__file_spec, int __mode);
 I2	  19747 int chmod   (const char *__file_spec, __mode_t __mode);
 I2	  19748 
 I2	  19749 #if __USE_LONG_GID_T
 I2	  19750 #   pragma __extern_prefix __restore
 I2	  19751 #endif
 I2	  19752 
 I2	  19753 int close   (int __file_desc);
 I2	  19754 int dup     (int __file_desc);
 I2	  19755 int dup2    (int __file_desc1, int __file_desc2);
 I2	  19756 int isapipe (int __file_desc);
 I2	  19757 int isatty  (int __file_desc);
 I2	  19758 
 I2	  19759 #if __USE_OFF64_T
 I2	  19760 #   pragma __extern_prefix __save

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 354
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXIO)

 I2	  19761 #   pragma __extern_prefix "__off64_"
 I2	  19762 #endif
 I2	  19763 
 I2	  19764 __off_t lseek (int __file_desc, __off_t __offset, int __direction);
 I2	  19765 
 I2	  19766 #if __USE_OFF64_T
 I2	  19767 #   pragma __extern_prefix __restore
 I2	  19768 #endif
 I2	  19769 
 I2	  19770 
 I2	  19771 /*	 
 I2	  19772 **  The function open in DEC C V4.0 had a required mode_t parameter if in
 I2	  19773 **  strict ANSI mode.  This is not standard conforming, so it it here for
 I2	  19774 **  compatibility only.
 I2	  19775 */	 
 I2    X  19776 #if defined _DECC_V4_SOURCE && defined __HIDE_FORBIDDEN_NAMES
 I2    X  19777     int open (const char *__file_spec, int __flags, __mode_t __mode, ...);
 I2    X  19778 #else
 I2	  19779     int open (const char *__file_spec, int __flags, ...);
 I2	  19780 #endif
 I2	  19781 
 I2	  19782 
 I2	  19783 /*	 
 I2	  19784 **  DEC C V5.2 changed the prototypes to ISO POSIX-1 definitions in a way that
 I2	  19785 **  was binary upward compatible but not source upward compatibile.  The old
 I2	  19786 **  definitions are retained for compatibility with old source
 I2	  19787 */	 
 I2	  19788 #ifndef _DECC_V4_SOURCE
 I2	  19789 
 I2	  19790 #if __USE_LONG_GID_T
 I2	  19791 #   pragma __extern_prefix __save
 I2	  19792 #   pragma __extern_prefix "__long_gid_"
 I2	  19793 #endif
 I2	  19794 
 I2	  19795     int chown  (const char *__file_spec, __uid_t __owner, __gid_t __group);
 I2	  19796 
 I2	  19797 #if __USE_LONG_GID_T
 I2	  19798 #   pragma __extern_prefix __restore
 I2	  19799 #endif
 I2	  19800 
 I2	  19801     __ssize_t read   (int __file_desc, void *__buffer, __size_t __nbytes);
 I2	  19802     __ssize_t write  (int __file_desc, const void *__buffer, __size_t __nbytes);
 I2    X  19803 #else
 I2    X  19804     int chown (const char *__file_spec, unsigned int __owner, unsigned int __group);
 I2    X  19805     int read  (int __file_desc, void *__buffer, int __nbytes);
 I2    X  19806     int write (int __file_desc, void *__buffer, int __nbytes);
 I2    X  19807 #endif
 I2	  19808 
 I2	  19809 
 I2	  19810 /*	 
 I2	  19811 **  DEC C extensions which have additional parameters as a DEC C extension.
 I2	  19812 */	 
 I2	  19813 #ifdef _POSIX_C_SOURCE
 I2	  19814     int chdir (const char *__dir_spec);
 I2	  19815     int creat (const char *__file_spec, __mode_t __mode);
 I2    X  19816 #else
 I2    X  19817     int chdir (const char *__dir_spec, ...);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 355
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXIO)

 I2    X  19818     int creat (const char *__file_spec, __mode_t __mode, ...);
 I2    X  19819 #endif
 I2	  19820 
 I2	  19821 
 I2	  19822 /*
 I2	  19823 **  The following function is not available in C++.
 I2	  19824 */
 I2	  19825 #ifndef __cplusplus
 I2	  19826     int delete(const char *__file_spec);
 I2	  19827 #endif
 I2	  19828 
 I2	  19829 
 I2	  19830 /*
 I2	  19831 **  The following functions have interfaces of XXX, _XXX32, and _XXX64 due only
 I2	  19832 **  to the fact that the return argument is a pointer that is relative to one
 I2	  19833 **  of the arguments.
 I2	  19834 */
 I2    X  19835 #if __INITIAL_POINTER_SIZE == 32
 I2    X  19836 #pragma __pointer_size 32
 I2    X  19837 #endif
 I2	  19838 
 I2	  19839     char *getname (int __file_desc, char *__buffer, ...);
 I2	  19840     char *mktemp  (char *__template);
 I2	  19841 
 I2    X  19842 #if __INITIAL_POINTER_SIZE && __CRTL_VER >= 70000000
 I2    X  19843 #   pragma __pointer_size 32
 I2    X  19844     char *_getname32 (int, char *, ...);
 I2    X  19845     char *_mktemp32  (char *);
 I2    X  19846 #   pragma __pointer_size 64
 I2    X  19847     char *_getname64 (int, char *, ...);
 I2    X  19848     char *_mktemp64  (char *);
 I2    X  19849 #endif
 I2	  19850 
 I2	  19851 
 I2	  19852 /*
 I2	  19853 **  Restore the users pointer context
 I2	  19854 */
 I2    X  19855 #if __INITIAL_POINTER_SIZE
 I2    X  19856 #   pragma __pointer_size __restore
 I2    X  19857 #endif
 I2	  19858 
 I2    X  19859 #ifdef __cplusplus
 I2    X  19860     }
 I2    X  19861 #endif
 I2	  19862 
 I2	  19863 #pragma __standard
 I2	  19864 #endif  /* __UNIXIO_LOADED */
 I1	  19865 #include <unixlib.h> /* SMS: getpid() for old (V4.0-000) DEC C. */
 I2	  19866 #ifndef __UNIXLIB_LOADED
 I2	  19867 #define __UNIXLIB_LOADED 1
 I2	  19868 /****************************************************************************
 I2	  19869 **
 I2	  19870 **  <unixlib.h> - Prototypes for UNIX emulation functions
 I2	  19871 **
 I2	  19872 *****************************************************************************
 I2	  19873 **  Header is nonstandard
 I2	  19874 *****************************************************************************

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 356
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXLIB)

 I2	  19875 */
 I2	  19876 /* ************************************************************************* */
 I2	  19877 /* *                                                                       * */
 I2	  19878 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I2	  19879 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I2	  19880 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I2	  19881 /* * prior written permission of HPE.                                      * */
 I2	  19882 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I2	  19883 /* *                                                                       * */
 I2	  19884 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I2	  19885 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I2	  19886 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I2	  19887 /* * the prior written permission of VMS Software, Inc.                    * */
 I2	  19888 /* * Copyright 2017-2020 VMS Software, Inc.                                * */
 I2	  19889 /* *                                                                       * */
 I2	  19890 /* ************************************************************************* */
 I2	  19891 
 I2	  19892 #pragma __nostandard
 I2    X  19893 #include <decc$types.h>
 I2	  19894 
 I2    X  19895 #ifdef __cplusplus
 I2    X  19896     extern "C" {
 I2    X  19897 #endif
 I2	  19898 
 I2    X  19899 #if __INITIAL_POINTER_SIZE
 I2    X  19900 #   pragma __pointer_size __save
 I2    X  19901 #   pragma __pointer_size 32
 I2    X  19902 #endif
 I2	  19903 
 I2	  19904 
 I2	  19905 /*
 I2	  19906 **  The environ array is always composed of a list of 32 bit addresses
 I2	  19907 */
 I2	  19908 #define environ (decc$ga_environ)
 I2	  19909 
 I2	  19910 #pragma __extern_model __save
 I2	  19911 #pragma __extern_model __strict_refdef
 I2	  19912  extern char **environ;        /* Only minimally supported */
       E	                ( decc$ga_environ )
 I2	  19913 #pragma __extern_model __restore
 I2	  19914 
 I2	  19915 
 I2	  19916 /* 
 I2	  19917 **  Types shared with <types.h> that are used later
 I2	  19918 */ 
 I2    X  19919 #if !defined __MODE_T  && !defined _DECC_V4_SOURCE
 I2    X  19920 #   define __MODE_T 1
 I2    X  19921     typedef __mode_t mode_t;
 I2    X  19922 #endif
 I2	  19923 
 I2    X  19924 #if !defined __UID_T  && !defined _DECC_V4_SOURCE
 I2    X  19925 #   define __UID_T 1
 I2    X  19926     typedef __uid_t uid_t;
 I2    X  19927 #endif
 I2	  19928 
 I2    X  19929 #if !defined __SIZE_T  && !defined _DECC_V4_SOURCE && defined _POSIX_C_SOURCE
 I2    X  19930 #   define __SIZE_T 1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 357
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXLIB)

 I2    X  19931 #ifdef __NAMESPACE_STD
 I2    X  19932 namespace std {
 I2    X  19933 #endif
 I2    X  19934     typedef __size_t size_t;
 I2    X  19935 #ifdef __NAMESPACE_STD
 I2    X  19936 } /* namespace std */
 I2    X  19937     using std::size_t;
 I2    X  19938 #endif
 I2    X  19939 #endif
 I2	  19940 
 I2    X  19941 #if !defined __GID_T  && !defined _DECC_V4_SOURCE
 I2    X  19942 #   define __GID_T 1
 I2    X  19943     typedef __gid_t gid_t;
 I2    X  19944 #endif
 I2	  19945 
 I2    X  19946 #if !defined __PID_T  && !defined _DECC_V4_SOURCE
 I2    X  19947 #   define __PID_T 1
 I2    X  19948     typedef __pid_t pid_t;
 I2    X  19949 #endif
 I2	  19950 
 I2	  19951 
 I2	  19952 /* 
 I2	  19953 ** Constants and prototypes for former SHELL$ routines 
 I2	  19954 */
 I2	  19955 # define DECC$K_FOREIGN     0
 I2	  19956 # define DECC$K_FILE        1
 I2	  19957 # define DECC$K_DIRECTORY   2
 I2	  19958 
 I2	  19959 
 I2	  19960 /* 
 I2	  19961 **  SHELL$ prototypes are provided for backward compatibility.  Use of the 
 I2	  19962 **  decc$* routines is recommended.
 I2	  19963 */
 I2	  19964 #define SHELL$TO_VMS(__s,__a,__n1,__n2)     decc$to_vms(__s,__a,__n1,__n2)
 I2	  19965 #define SHELL$FROM_VMS(__s,__a,__n)         decc$from_vms(__s,__a,__n)
 I2	  19966 #define SHELL$MATCH_WILD(__s1,__s2)         decc$match_wild(__s1,__s2)
 I2	  19967 #define SHELL$FIX_TIME(__n)                 decc$fix_time(__n)
 I2	  19968 #define SHELL$TRANSLATE_VMS(__s)            decc$translate_vms(__s)
 I2	  19969 #define shell$to_vms(__s,__a,__n1,__n2)     decc$to_vms(__s,__a,__n1,__n2)
 I2	  19970 #define shell$from_vms(__s,__a,__n)         decc$from_vms(__s,__a,__n)
 I2	  19971 #define shell$match_wild(__s1,__s2)         decc$match_wild(__s1,__s2)
 I2	  19972 #define shell$fix_time(__n)                 decc$fix_time(__n)
 I2	  19973 #define shell$translate_vms(__s)            decc$translate_vms(__s)
 I2	  19974 
 I2	  19975 
 I2	  19976 /*
 I2	  19977 **  These former SHELL$ routines are unavailable on non-VAX systems.
 I2	  19978 */
 I2	  19979 #define SHELL$IS_SHELL() (0)
 I2	  19980 #define SHELL$CLI_NAME(_x) (0)
 I2	  19981 
 I2	  19982  
 I2	  19983 /*
 I2	  19984 **  The callback routines for the decc$to_vms and decc$from_vms functions are
 I2	  19985 **  always passed 32 bit addresses.
 I2	  19986 */
 I2	  19987 typedef int (*__to_vms_callback) (char *, int);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 358
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXLIB)

 I2	  19988 typedef int (*__from_vms_callback) (char *);
 I2	  19989 
 I2	  19990 
 I2	  19991 /*
 I2	  19992 **  We are done defining things which must always be 32 bit pointers.  If the
 I2	  19993 **  user has used /pointer_size=32 or /pointer_size=64, we will allow 64 bit
 I2	  19994 **  pointers to be used in function calls.
 I2	  19995 */
 I2    X  19996 #if __INITIAL_POINTER_SIZE
 I2    X  19997 #   pragma __pointer_size 64
 I2    X  19998 #endif
 I2	  19999 
 I2	  20000 
 I2	  20001 /*
 I2	  20002 **  The following functions have interfaces of XXX, _XXX32, and _XXX64 due only
 I2	  20003 **  to the fact that the return argument is a pointer that is relative to one
 I2	  20004 **  of the arguments.
 I2	  20005 */
 I2    X  20006 #if __INITIAL_POINTER_SIZE == 32
 I2    X  20007 #   pragma __pointer_size 32
 I2    X  20008 #endif
 I2	  20009 
 I2	  20010 #if defined _POSIX_C_SOURCE 
 I2	  20011     char *getcwd(char *__buffer, __size_t __size);
 I2    X  20012 #else
 I2    X  20013     char *getcwd(char *__buffer, unsigned int __size, ...);
 I2    X  20014 #endif
 I2	  20015 
 I2	  20016 char *gcvt(double __value, int __ndigit, char *__buffer);
 I2	  20017 
 I2    X  20018 #if __INITIAL_POINTER_SIZE == 32
 I2    X  20019 #pragma __pointer_size 64
 I2    X  20020 #endif
 I2	  20021 
 I2    X  20022 #if __INITIAL_POINTER_SIZE
 I2    X  20023 #   pragma __pointer_size 32
 I2    X  20024     char *_getcwd32 (char *__buffer, unsigned int __size, ...);
 I2    X  20025     char *_gcvt32   (double __value, int __ndigit, char *__buffer);
 I2    X  20026 #   pragma __pointer_size 64
 I2    X  20027     char *_getcwd64 (char *__buffer, unsigned int __size, ...);
 I2    X  20028     char *_gcvt64   (double __value, int __ndigit, char *__buffer);
 I2    X  20029 #endif
 I2	  20030 
 I2	  20031 /*
 I2	  20032 **  Function prototypes
 I2	  20033 */
 I2	  20034 __char_ptr32 ecvt   (double __value, int __ndigit, int *__decpt, int *__sign);
 I2	  20035 __char_ptr32 fcvt   (double __value, int __ndigit, int *__decpt, int *__sign);
 I2	  20036 __char_ptr32 getenv (const char *__name);
 I2	  20037 
 I2	  20038 #if defined _POSIX_C_SOURCE 
 I2	  20039     int mkdir (const char *__dir_spec, __mode_t __mode);
 I2    X  20040 #else
 I2    X  20041     int mkdir (const char *__dir_spec, __mode_t __mode, ...);
 I2    X  20042 #endif
 I2	  20043 
 I2	  20044 #if __USE_LONG_GID_T

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 359
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXLIB)

 I2	  20045 #   pragma __extern_prefix __save
 I2	  20046 #   pragma __extern_prefix "__long_gid_"
 I2    X  20047 #elif __CRTL_VER >= 70000000 && !defined(_VMS_V6_SOURCE)
 I2    X  20048 #   ifdef __CAN_USE_EXTERN_PREFIX
 I2    X  20049 #      pragma __extern_prefix __save
 I2    X  20050 #      pragma __extern_prefix "__unix_"
 I2    X  20051 #   else
 I2    X  20052 #      define geteuid()  __unix_geteuid()
 I2    X  20053 #      define getuid()   __unix_getuid()
 I2    X  20054 #   endif
 I2    X  20055 #endif
 I2	  20056 
 I2	  20057 __uid_t geteuid (void);
 I2	  20058 __uid_t getuid  (void);
 I2	  20059 
 I2	  20060 #if __USE_LONG_GID_T
 I2	  20061 #   pragma __extern_prefix __restore
 I2    X  20062 #elif __CRTL_VER >= 70000000 && !defined(_VMS_V6_SOURCE)
 I2    X  20063 #   ifdef __CAN_USE_EXTERN_PREFIX
 I2    X  20064 #      pragma __extern_prefix __restore
 I2    X  20065 #   endif
 I2    X  20066 #endif
 I2	  20067 
 I2	  20068 #if __USE_LONG_GID_T
 I2	  20069 #   pragma __extern_prefix __save
 I2	  20070 #   pragma __extern_prefix "__long_gid_"
 I2	  20071 #endif
 I2	  20072 
 I2	  20073 __gid_t getgid  (void);
 I2	  20074 __gid_t getegid (void);
 I2	  20075 
 I2	  20076 #if __USE_LONG_GID_T
 I2	  20077 #   pragma __extern_prefix __restore
 I2	  20078 #endif
 I2	  20079 
 I2	  20080 __pid_t getpid  (void);
 I2	  20081 __pid_t getppid (void);
 I2	  20082 
 I2	  20083 /* 
 I2	  20084 **  DEC C V5.2 changed the prototypes to ISO POSIX-1 definitions in a way
 I2	  20085 **  that was binary upward compatible but not source upward compatibile.
 I2	  20086 **  The old definitions are retained for compatibility with old source.
 I2	  20087 */ 
 I2	  20088 #ifndef _DECC_V4_SOURCE
 I2	  20089 
 I2	  20090 #if __USE_LONG_GID_T
 I2	  20091 #   pragma __extern_prefix __save
 I2	  20092 #   pragma __extern_prefix "__long_gid_"
 I2	  20093 #endif
 I2	  20094 
 I2	  20095     int setgid  (__gid_t);
 I2	  20096     int setuid  (__uid_t);
 I2	  20097 
 I2	  20098 #if __USE_LONG_GID_T
 I2	  20099 #   pragma __extern_prefix __restore
 I2	  20100 #endif
 I2	  20101 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 360
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXLIB)

 I2    X  20102 #else
 I2    X  20103     __gid_t setgid  (__gid_t);
 I2    X  20104     __uid_t setuid  (__uid_t);
 I2    X  20105 #endif
 I2	  20106 
 I2	  20107 extern int DECC$$GL___CRTL_VER;
 I2	  20108 #define decc$$gl___crtl_ver DECC$$GL___CRTL_VER
 I2	  20109 #if __CRTL_VER >= 70301000 
 I2	  20110     extern int DECC$$GL___VMS_VER_BUILD;
 I2	  20111 #   define decc$$gl___vms_ver_build DECC$$GL___VMS_VER_BUILD
 I2	  20112 
 I2	  20113     extern int DECC$$GL___CRTL_VER_BUILD;
 I2	  20114 #   define decc$$gl___crtl_ver_build DECC$$GL___CRTL_VER_BUILD
 I2	  20115 
 I2	  20116     int decc$getmain_argc(void);
 I2	  20117     __char_ptr_ptr32 decc$getmain_argv(void);
 I2	  20118 
 I2	  20119     __char_ptr32 decc$feature_get_name  (int __index);
 I2	  20120     int decc$feature_get_index   (const char *__feature_name);
 I2	  20121 
 I2	  20122 /*
 I2	  20123 ** Several decc$feature functions take a mode argument:
 I2	  20124 */
 I2	  20125 #define __FEATURE_MODE_DEFVAL	    0
 I2	  20126 #define __FEATURE_MODE_CURVAL	    1
 I2	  20127 #define __FEATURE_MODE_MINVAL	    2
 I2	  20128 #define __FEATURE_MODE_MAXVAL	    3
 I2	  20129 #define __FEATURE_MODE_INIT_STATE   4
 I2	  20130 #define __FEATURE_MODE_SYSDEFVAL    5
 I2	  20131 #define __FEATURE_MODE_GRPDEFVAL    6
 I2	  20132 #define __FEATURE_MODE_GRP	    7
 I2	  20133 #define __FEATURE_MODE_RESET	    8
 I2	  20134 
 I2	  20135 #if __CRTL_VER >= 70321000
 I2	  20136 
 I2	  20137     /*
 I2	  20138     ** Acts on DECC$* feature logicals, parameter is feature name string.
 I2	  20139     */
 I2	  20140     int decc$feature_get(const char* __name, int __mode);
 I2	  20141     int decc$feature_set(const char* __name, int __mode, int __value);
 I2	  20142 
 I2	  20143     int decc$feature_show(const char* __name);
 I2	  20144     int decc$feature_show_all(void);
 I2	  20145 
 I2	  20146 #endif
 I2	  20147 
 I2	  20148     int decc$feature_get_value   (int __index, int __mode);
 I2	  20149     int decc$feature_set_value   (int __index, int __mode, int __value);
 I2	  20150 
 I2	  20151     int decc$get_filespec_style(void);
 I2	  20152     int decc$set_filespec_style(int __style);
 I2	  20153     int decc$to_vms     (const char *__filename, __to_vms_callback,   int __allow_wild, int __no_directory, ...);
 I2	  20154     int decc$from_vms   (const char *__filename, __from_vms_callback, int __allow_wild, ...);
 I2    X  20155 #else 
 I2    X  20156     int decc$to_vms     (const char *__filename, __to_vms_callback,   int __allow_wild, int __no_directory); 
 I2    X  20157     int decc$from_vms   (const char *__filename, __from_vms_callback, int __allow_wild); 
 I2    X  20158 #endif 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 361
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNIXLIB)

 I2	  20159 
 I2	  20160 int decc$set_child_standard_streams (int __fd0, int __fd1, int __fd2);
 I2	  20161 
 I2	  20162 #if __CRTL_VER >= 70311000 
 I2	  20163 int decc$set_child_default_dir(const char * dir);
 I2	  20164 #endif
 I2	  20165 
 I2	  20166 int decc$write_eof_to_mbx (int __fd);
 I2	  20167 
 I2	  20168 int decc$validate_wchar (__wchar_t wc);
 I2	  20169 
 I2	  20170 int decc$match_wild (char *__text, char *__pattern); 
 I2	  20171 
 I2	  20172 __char_ptr32 decc$translate_vms (const char *__vms_filespec );
 I2	  20173 
 I2	  20174 unsigned int decc$fix_time (void *__vms_time);
 I2	  20175 
 I2	  20176 /*
 I2	  20177 **  Restore the users pointer context
 I2	  20178 */
 I2    X  20179 #if __INITIAL_POINTER_SIZE
 I2    X  20180 #   pragma __pointer_size __restore
 I2    X  20181 #endif
 I2	  20182 
 I2    X  20183 #ifdef __cplusplus
 I2    X  20184     }
 I2    X  20185 #endif
 I2	  20186 #pragma __standard
 I2	  20187 #endif  /* __UNIXLIB_LOADED */
 I1	  20188 #endif /* VMS */
 I1	  20189 
 I1    X  20190 #ifdef NEXT
 I1    X  20191 #ifndef NEXT33
 I1    X  20192 #include <libc.h>
 I1    X  20193 #endif /* NEXT33 */
 I1    X  20194 #else  /* NoT NeXT */
 I1	  20195 #ifndef AMIGA
 I1	  20196 #ifndef OS2
 I1    X  20197 #ifdef STRATUS
 I1    X  20198 #include <c_utilities.h>
 I1    X  20199 #else /* !STRATUS */
 I1	  20200 #ifndef OSKXXC
 I1	  20201 #include <unistd.h>
 I2	  20202 #ifndef __UNISTD_LOADED
 I2	  20203 #define __UNISTD_LOADED 1
 I2	  20204 /*****************************************************************************
 I2	  20205 **
 I2	  20206 **  <unistd.h> - Standard symbolic constants and types
 I2	  20207 **
 I2	  20208 ******************************************************************************
 I2	  20209 */
 I2	  20210 /* ************************************************************************* */
 I2	  20211 /* *                                                                       * */
 I2	  20212 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I2	  20213 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I2	  20214 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I2	  20215 /* * prior written permission of HPE.                                      * */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 362
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  20216 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I2	  20217 /* *                                                                       * */
 I2	  20218 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I2	  20219 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I2	  20220 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I2	  20221 /* * the prior written permission of VMS Software, Inc.                    * */
 I2	  20222 /* * Copyright 2017-2021 VMS Software, Inc.                                * */
 I2	  20223 /* *                                                                       * */
 I2	  20224 /* ************************************************************************* */
 I2	  20225 
 I2	  20226 #pragma __nostandard
 I2    X  20227 #include <decc$types.h>
 I2	  20228 
 I2    X  20229 #ifdef __cplusplus
 I2    X  20230     extern "C" {
 I2    X  20231 #define __decc$unknown_params ...
 I2    X  20232 #else
 I2	  20233 #define __decc$unknown_params
 I2	  20234 #endif
 I2	  20235 
 I2    X  20236 #if __INITIAL_POINTER_SIZE
 I2    X  20237 #   pragma __pointer_size __save
 I2    X  20238 #   pragma __pointer_size 32
 I2    X  20239 #endif
 I2	  20240 
 I2	  20241 
 I2	  20242 /*	 
 I2	  20243 **  X/Open extended (XPG4) typedefs, new in DEC C V5.n
 I2	  20244 */	 
 I2    X  20245 #if defined _XOPEN_SOURCE_EXTENDED || \
 I2	  20246     (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE)
 I2    X  20247 
 I2    X  20248 #   ifndef __USECONDS_T  
 I2    X  20249 #       define __USECONDS_T
 I2    X  20250         typedef __useconds_t useconds_t;
 I2    X  20251 #   endif
 I2    X  20252 #endif
 I2	  20253 
 I2	  20254 
 I2	  20255 /*
 I2	  20256 **  Create 'public' typedefs that are sensitive to pointer size and must
 I2	  20257 **  use 32 bit pointers.  Create other declarations which are not sensitive
 I2	  20258 **  to pointer size.
 I2	  20259 */
 I2    X  20260 #ifndef NULL
 I2    X  20261 #   define NULL __NULL
 I2    X  20262 #endif
 I2	  20263 
 I2	  20264 
 I2	  20265 /*
 I2	  20266 **  ISO POSIX-1 Defines for the Access() mode argument
 I2	  20267 */
 I2	  20268 #define  F_OK      0
 I2	  20269 #define  X_OK      1
 I2	  20270 #define  W_OK      2
 I2	  20271 #define  R_OK      4
 I2	  20272 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 363
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  20273 
 I2	  20274 /*
 I2	  20275 **  ISO POSIX-1 Seek modes.
 I2	  20276 */
 I2	  20277 #define  SEEK_SET  0
 I2	  20278 #define  SEEK_CUR  1
 I2	  20279 #define  SEEK_END  2
 I2	  20280 
 I2	  20281 
 I2	  20282 /* 
 I2	  20283 **  ISO POSIX-1 File descriptor numbers for stdin, stdout and stderr
 I2	  20284 */ 
 I2	  20285 #define  STDIN_FILENO 0
 I2	  20286 #define  STDOUT_FILENO 1
 I2	  20287 #define  STDERR_FILENO 2
 I2	  20288 
 I2	  20289 
 I2	  20290 /*
 I2	  20291 **  ISO POSIX-1 Constants for portability specifications
 I2	  20292 */
 I2	  20293 
 I2	  20294 #define _POSIX_VERSION             199506L   /* IEEE Std 1003.1c-1995         */
 I2	  20295 #define _POSIX_JOB_CONTROL         (-1)      /* Support for job control       */
 I2	  20296 #define _POSIX_SAVED_IDS           (-1)      /* Save set-user-id,set-group-id */
 I2	  20297 #define _POSIX_CHOWN_RESTRICTED      1       /* chown requires privilege      */
 I2	  20298 #define _POSIX_NO_TRUNC            (-1)      /* pathnames are truncated       */
 I2	  20299 #define _POSIX_VDISABLE            (-1)      /* tcgetattr not supported       */
 I2	  20300 
 I2	  20301 
 I2	  20302 /*
 I2	  20303 **  ISO POSIX-1 Symbolic constants for the [f]pathconf() function
 I2	  20304 */
 I2	  20305 #define _PC_CHOWN_RESTRICTED        0
 I2	  20306 #define _PC_LINK_MAX                1
 I2	  20307 #define _PC_MAX_CANON               2
 I2	  20308 #define _PC_MAX_INPUT               3
 I2	  20309 #define _PC_NAME_MAX                4
 I2	  20310 #define _PC_NO_TRUNC                5
 I2	  20311 #define _PC_PATH_MAX                6
 I2	  20312 #define _PC_PIPE_BUF                7
 I2	  20313 #define _PC_VDISABLE                8
 I2	  20314 
 I2	  20315 
 I2	  20316 /*
 I2	  20317 **  ISO POSIX-1 Symbolic constants for the sysconf() function
 I2	  20318 */
 I2	  20319 #define _SC_ARG_MAX                 100
 I2	  20320 #define _SC_CHILD_MAX               101
 I2	  20321 #define _SC_CLK_TCK                 102
 I2	  20322 #define _SC_NGROUPS_MAX             103
 I2	  20323 #define _SC_OPEN_MAX                104
 I2	  20324 #define _SC_STREAM_MAX              105
 I2	  20325 #define _SC_TZNAME_MAX              106
 I2	  20326 #define _SC_JOB_CONTROL             107
 I2	  20327 #define _SC_SAVED_IDS               108
 I2	  20328 #define _SC_VERSION                 109
 I2	  20329 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 364
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  20330 
 I2    X  20331 #if _POSIX_C_SOURCE >= 2 || !defined _POSIX_C_SOURCE
 I2	  20332     /* 
 I2	  20333     **  ISO POSIX-2 configuration values
 I2    X  20334     */ 
 I2    X  20335 #   define _POSIX2_C_VERSION        199209L  /* IEEE Std 1003.2-1992          */
 I2    X  20336 #   define _POSIX2_VERSION          199209L  /* POSIX.2 standard              */
 I2    X  20337 #   define _POSIX2_C_BIND           1        /* Support C language binding    */
 I2    X  20338 #   define _POSIX2_C_DEV            (-1)     /* Support C development env     */
 I2    X  20339 #   define _POSIX2_CHAR_TERM        1        /* Support at least one terminal */
 I2    X  20340 #   define _POSIX2_FORT_DEV         (-1)     /* Support FORTRAN development   */
 I2    X  20341 #   define _POSIX2_FORT_RUN         (-1)     /* Support FORTRAN runtime       */
 I2    X  20342 #   define _POSIX2_LOCALEDEF        1        /* Support creation of locales   */
 I2    X  20343 #   define _POSIX2_SW_DEV           (-1)     /* Support software development  */
 I2    X  20344 #   define _POSIX2_UPE              (-1)     /* Support User Portability Env  */
 I2    X  20345 
 I2    X  20346 
 I2    X  20347     /* 
 I2    X  20348     **  ISO POSIX-2 Symbolic constants for sysconf()
 I2    X  20349     */ 
 I2    X  20350 #   define _SC_BC_BASE_MAX          		121
 I2    X  20351 #   define _SC_BC_DIM_MAX           		122
 I2    X  20352 #   define _SC_BC_SCALE_MAX         		123
 I2    X  20353 #   define _SC_BC_STRING_MAX        		124
 I2    X  20354 #   define _SC_COLL_WEIGHTS_MAX     		125
 I2    X  20355 #   define _SC_EXPR_NEST_MAX       		126
 I2    X  20356 #   define _SC_LINE_MAX             		127
 I2    X  20357 #   define _SC_RE_DUP_MAX           		128
 I2    X  20358 #   define _SC_2_VERSION            		129
 I2    X  20359 #   define _SC_2_C_BIND             		130
 I2    X  20360 #   define _SC_2_C_DEV              		131
 I2    X  20361 #   define _SC_2_FORT_DEV           		132
 I2    X  20362 #   define _SC_2_SW_DEV             		133
 I2    X  20363 #   define _SC_2_FORT_RUN           		134
 I2    X  20364 #   define _SC_2_LOCALEDEF          		135
 I2    X  20365 #   define _SC_2_UPE                		136
 I2    X  20366 #if __CRTL_VER >= 70301000
 I2    X  20367 #   define _SC_GETGR_R_SIZE_MAX        		150
 I2    X  20368 #endif
 I2    X  20369 #   define _SC_GETPW_R_SIZE_MAX        		151
 I2    X  20370 
 I2    X  20371     /*
 I2    X  20372     **  ISO POSIX-2 Symbolic constants for the confstr() function
 I2    X  20373     **
 I2    X  20374     **  _CS_MACHINE_IDENT, _CS_PARTITION_IDENT and _CS_MACHINE_SERIAL
 I2    X  20375     **  are HP-UX symbolic constants which are available on OpenVMS
 I2    X  20376     **  as of V8.3.  On OpenVMS, they correspond to the values
 I2    X  20377     **  returned by sys$getsyi() for SYI$_SYSTEM_UID, SYI$_PARTITION_ID
 I2    X  20378     **  and SYI$_SERIAL_NUMBER respectively.  Note that SYI$_SYSTEM_UUID
 I2    X  20379     **  returns meaningful information only for I64 systems.
 I2    X  20380     */
 I2    X  20381 #   define _CS_PATH  0
 I2    X  20382 #   define _CS_MACHINE_IDENT  1
 I2    X  20383 #   define _CS_PARTITION_IDENT  2
 I2    X  20384 #   define _CS_MACHINE_SERIAL  3
 I2    X  20385 
 I2    X  20386     /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 365
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2    X  20387     **  ISO POSIX-2 option parsing state variables 
 I2    X  20388     */
 I2    X  20389 #   if (__CRTL_VER >= 60200000)
 I2    X  20390 #       pragma __extern_model __save
 I2    X  20391 #       pragma __extern_model __strict_refdef
 I2    X  20392         extern int optind;
 I2    X  20393         extern int opterr;
 I2    X  20394         extern int optopt;
 I2    X  20395 #       if !defined(__OPTARG64)
 I2    X  20396             extern char *optarg;
 I2    X  20397 #           if __CRTL_VER >= 80500000
 I2    X  20398 #               define __OPTARG64
 I2    X  20399 #               pragma __required_pointer_size __save
 I2    X  20400 #               pragma __required_pointer_size 64
 I2    X  20401                 extern char *_optarg64;
 I2    X  20402 #               pragma __required_pointer_size __restore
 I2    X  20403 #               if __INITIAL_POINTER_SIZE == 64
 I2    X  20404 #                   define optarg _optarg64
 I2    X  20405 #               endif
 I2    X  20406 #           endif
 I2    X  20407 #       endif
 I2    X  20408 #       pragma __extern_model __restore
 I2    X  20409 #   endif
 I2    X  20410 
 I2    X  20411 #endif /* _POSIX_C_SOURCE >= 2 || !defined _POSIX_C_SOURCE */
 I2	  20412 
 I2	  20413 
 I2    X  20414 #if _POSIX_C_SOURCE >= 199506 || !defined _POSIX_C_SOURCE
 I2    X  20415 
 I2    X  20416     /*
 I2    X  20417     **  POSIX 1003.1c-1995 configuration values.
 I2    X  20418     */
 I2    X  20419 #   define _POSIX_THREADS		     /* 1003.4a (pthreads) comformant */
 I2    X  20420 #   define _POSIX_THREAD_ATTR_STACKSIZE      /* Support spec stack size       */
 I2    X  20421 #   define _POSIX_THREAD_PRIORITY_SCHEDULING /* Support realtime scheduling   */
 I2    X  20422 /*
 I2    X  20423 **  Thread-safe ANSI C functions from POSIX 1003.1c not 
 I2    X  20424 **  implemented at this time.
 I2    X  20425 **  #   define _POSIX_THREAD_SAFE_FUNCTIONS     
 I2    X  20426 */
 I2    X  20427 
 I2    X  20428     /*
 I2    X  20429     **  POSIX 1003.1c-1995 Symbolic constants for sysconf()
 I2    X  20430     */
 I2    X  20431 #   define _SC_THREAD_DESTRUCTOR_ITERATIONS     140
 I2    X  20432 #   define _SC_THREAD_KEYS_MAX                  141
 I2    X  20433 #   define _SC_THREAD_STACK_MIN                 142
 I2    X  20434 #   define _SC_THREAD_THREADS_MAX               143
 I2    X  20435 #   define _SC_THREAD_SAFE_FUNCTIONS            144
 I2    X  20436 #   define _SC_THREADS                          145
 I2    X  20437 #   define _SC_THREAD_ATTR_STACKSIZE            146
 I2    X  20438 #   define _SC_THREAD_PRIORITY_SCHEDULING       147
 I2    X  20439 
 I2    X  20440 #endif /* _POSIX_C_SOURCE >= 199506 || !defined _POSIX_C_SOURCE */
 I2	  20441 
 I2    X  20442 #if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I2	  20443     /* 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 366
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  20444     **  X/Open configuration variables
 I2    X  20445     */                                       
 I2    X  20446 #   define _XOPEN_VERSION            4       /* XPG4                          */
 I2    X  20447 #   define _XOPEN_XCU_VERSION       -1       /* Version of XCU                */
 I2    X  20448 #   define _XOPEN_XPG4_EXTENDED     -1       /* not fully provided            */
 I2    X  20449 #   define _XOPEN_CRYPT             -1       /* Supports X/Open Encryption FG */
 I2    X  20450 #   define _XOPEN_ENH_I18N           1       /* Supports Enhanced Internat FG */
 I2    X  20451 #   define _XOPEN_SHM               -1       /* Supports Shared Memory FG     */
 I2    X  20452 
 I2    X  20453     /*
 I2    X  20454     **  X/Open Symbolic constants for the sysconf() function
 I2    X  20455     */
 I2    X  20456 #   define _SC_XOPEN_VERSION        110
 I2    X  20457 #   define _SC_PASS_MAX             111
 I2    X  20458 #   define _SC_XOPEN_CRYPT          118
 I2    X  20459 #   define _SC_XOPEN_ENH_I18N       119
 I2    X  20460 #   define _SC_XOPEN_SHM            120
 I2    X  20461 #endif /* defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE */
 I2	  20462 
 I2	  20463 
 I2    X  20464 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
 I2	  20465     /*
 I2	  20466     ** X/Open Extended (XPG4 V2) configuration variables
 I2    X  20467     */
 I2    X  20468 #   define _XOPEN_UNIX              1        /* Supports XSH4 extended feature*/
 I2    X  20469 
 I2    X  20470     /* 
 I2    X  20471     **  X/Open Extended (XPG4 V2) symbolic constants for sysconf() function
 I2    X  20472     */ 
 I2    X  20473 #   define _SC_PAGESIZE             117
 I2    X  20474 #   define _SC_PAGE_SIZE            _SC_PAGESIZE
 I2    X  20475 #   define _SC_ATEXIT_MAX           138 /* not in POSIX, but in XPG4 */
 I2    X  20476 #   define _SC_IOV_MAX              139 /* not in POSIX, but in XPG4 */         
 I2    X  20477 #   define _SC_XOPEN_UNIX           148
 I2    X  20478 #endif /* defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE */
 I2	  20479 
 I2	  20480 
 I2	  20481 /* 
 I2	  20482 **  DEC C extensions
 I2	  20483 */ 
 I2    X  20484 #ifndef _POSIX_C_SOURCE
 I2    X  20485 
 I2    X  20486     /* 
 I2    X  20487     **  Constants for sysconf()
 I2    X  20488     */ 
 I2    X  20489 
 I2    X  20490     /*
 I2    X  20491     ** definitions for the MP extensions to sysconf()
 I2    X  20492     */
 I2    X  20493 #   define _SC_NPROC_CONF  200
 I2    X  20494 #   define _SC_NPROCESSORS_CONF _SC_NPROC_CONF
 I2    X  20495 #   define _SC_NPROC_ONLN  201
 I2    X  20496 #   define _SC_NPROCESSORS_ONLN _SC_NPROC_ONLN
 I2    X  20497 
 I2    X  20498 #   define _SC_2_C_VERSION         _SC_2_VERSION
 I2    X  20499 #   define _SC_2_CHAR_TERM          137
 I2    X  20500 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 367
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2    X  20501 #   ifdef __NOT_YET_IMPLEMENTED
 I2    X  20502 #     define _SC_DELAYTIMER_MAX     112
 I2    X  20503 #     define _SC_TIMER_MAX          113
 I2    X  20504 #     define _SC_MAPPED_FILES       114
 I2    X  20505 #     define _SC_FSYNC              115
 I2    X  20506 #     define _SC_TIMERS             116
 I2    X  20507 #   endif
 I2    X  20508 
 I2    X  20509 #   if __CRTL_VER >= 80300000
 I2    X  20510 #       define _SC_CPU_CHIP_TYPE    160
 I2    X  20511 #   endif
 I2    X  20512 
 I2    X  20513     /*
 I2    X  20514     **  Symbolic constants for the [f]pathconf() function
 I2    X  20515     */
 I2    X  20516 #   ifdef __NEED_MORE_INFO
 I2    X  20517 #     define _PC_ASYNC_IO           9
 I2    X  20518 #     define _PC_PRIO_IO            10
 I2    X  20519 #     define _PC_SYNC_IO            11
 I2    X  20520 #   endif
 I2    X  20521 #endif /* ifndef _POSIX_C_SOURCE */
 I2	  20522 
 I2	  20523 
 I2	  20524 /* 
 I2	  20525 **  ISO POSIX-1 typedefs
 I2	  20526 */ 
 I2    X  20527 #if !defined __SIZE_T  && !defined _DECC_V4_SOURCE
 I2    X  20528 #   define __SIZE_T 1
 I2    X  20529 #ifdef __NAMESPACE_STD
 I2    X  20530 namespace std {
 I2    X  20531 #endif
 I2    X  20532     typedef __size_t size_t;
 I2    X  20533 #ifdef __NAMESPACE_STD
 I2    X  20534 } /* namespace std */
 I2    X  20535     using std::size_t;
 I2    X  20536 #endif
 I2    X  20537 #endif
 I2	  20538 
 I2    X  20539 #if !defined __SSIZE_T  && !defined _DECC_V4_SOURCE
 I2    X  20540 #   define __SSIZE_T 1
 I2    X  20541     typedef __ssize_t ssize_t;
 I2    X  20542 #endif
 I2	  20543 
 I2	  20544 
 I2	  20545 /* 
 I2	  20546 **  X/Open (XPG4) typedefs
 I2	  20547 */ 
 I2    X  20548 #if defined _XOPEN_SOURCE || \
 I2	  20549     (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE)
 I2    X  20550 
 I2    X  20551 #   ifndef __GID_T
 I2    X  20552 #      define __GID_T 1
 I2    X  20553        typedef __gid_t gid_t;
 I2    X  20554 #   endif
 I2    X  20555 
 I2    X  20556 #   ifndef __OFF_T
 I2    X  20557 #      define __OFF_T 1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 368
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2    X  20558        typedef __off_t off_t;
 I2    X  20559 #   endif
 I2    X  20560 
 I2    X  20561 #   ifndef __PID_T
 I2    X  20562 #      define __PID_T 1
 I2    X  20563        typedef __pid_t pid_t;
 I2    X  20564 #   endif
 I2    X  20565 
 I2    X  20566 #   ifndef __UID_T
 I2    X  20567 #      define __UID_T 1
 I2    X  20568        typedef __uid_t uid_t;
 I2    X  20569 #   endif
 I2    X  20570 #endif
 I2	  20571 
 I2	  20572 
 I2	  20573 /*
 I2	  20574 **  ISO POSIX-2 functions that do not support 64-bit pointers
 I2	  20575 */
 I2    X  20576 #if _POSIX_C_SOURCE >= 2 || !defined _POSIX_C_SOURCE
 I2    X  20577 #   if __CRTL_VER >= 60200000  /* Supported starting with OpenVMS V6.2  */
 I2    X  20578 #       if __INITIAL_POINTER_SIZE == 64 && __CRTL_VER >= 80500000
 I2    X  20579 #           pragma __pointer_size 64
 I2    X  20580 #       endif
 I2    X  20581         int getopt (int __argc, char * const __argv[], __const_char_ptr64 __optstring);
 I2    X  20582 #       if __INITIAL_POINTER_SIZE && __CRTL_VER >= 80500000
 I2    X  20583 #           pragma __pointer_size 32
 I2    X  20584             int _getopt32 (int __argc, char * const __argv[], __const_char_ptr64 __optstring);
 I2    X  20585 #           pragma __pointer_size 64
 I2    X  20586             int _getopt64 (int __argc, char * const __argv[], const char *__optstring);
 I2    X  20587 #       endif
 I2    X  20588 #   endif
 I2    X  20589 #endif
 I2	  20590 
 I2	  20591 
 I2	  20592 /*
 I2	  20593 **  We are done defining things which must always be 32 bit pointers.  If the
 I2	  20594 **  user has used /pointer_size=32 or /pointer_size=64, we will allow 64 bit
 I2	  20595 **  pointers to be used in function calls.
 I2	  20596 */
 I2    X  20597 #if __INITIAL_POINTER_SIZE
 I2    X  20598 #   pragma __pointer_size 64
 I2    X  20599 #endif
 I2	  20600                              
 I2	  20601 
 I2	  20602 /* 
 I2	  20603 **  ISO POSIX-1 function prototypes
 I2	  20604 */ 
 I2	  20605 
 I2	  20606 #if __USE_LONG_GID_T
 I2	  20607 #   pragma __extern_prefix __save
 I2	  20608 #   pragma __extern_prefix "__long_gid_"
 I2	  20609 #endif
 I2	  20610 
 I2	  20611 int  access    (const char *__file_spec, int __mode);
 I2	  20612 
 I2	  20613 #if __USE_LONG_GID_T
 I2	  20614 #   pragma __extern_prefix __restore

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 369
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  20615 #endif
 I2	  20616 
 I2	  20617 int  close  (int __file_desc);
 I2	  20618 int  dup2   (int __file_desc1, int __file_desc2);
 I2	  20619 int  dup    (int __file_desc);
 I2	  20620 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I2	  20621 #   if __CRTL_VER >= 80300000
 I2	  20622        void encrypt(char __block[64], int edflag);
 I2	  20623        char *crypt (const char *__key, const char *__salt);
 I2	  20624 #   endif
 I2	  20625 #endif
 I2	  20626 int  execv  (const char *__path, __char_ptr_const_ptr32 __argv);
 I2	  20627 int  execve (const char *__path, __char_ptr_const_ptr32 __argv, __char_ptr_const_ptr32 __envp);
 I2	  20628 int  execvp (const char *__file, __char_ptr_const_ptr32 __argv);
 I2	  20629 int  isatty (int __file_desc);
 I2	  20630 
 I2	  20631 #if __USE_OFF64_T
 I2	  20632 #   pragma __extern_prefix __save
 I2	  20633 #   pragma __extern_prefix "__off64_"
 I2	  20634 #endif
 I2	  20635 
 I2	  20636 __off_t lseek (int __file_desc, __off_t __offset, int __direction);
 I2	  20637 
 I2	  20638 #if __USE_OFF64_T
 I2	  20639 #   pragma __extern_prefix __restore
 I2	  20640 #endif
 I2	  20641 
 I2	  20642 int  pause (void);
 I2	  20643 
 I2	  20644 #ifdef _POSIX_C_SOURCE 
 I2	  20645     int pipe (int __array_fdscptr[2]);
 I2    X  20646 #else
 I2    X  20647     int pipe (int __array_fdscptr[2], ...);
 I2    X  20648 #endif
 I2	  20649 
 I2	  20650 int rmdir (const char *__path);
 I2	  20651 
 I2	  20652 #if __USE_LONG_GID_T
 I2	  20653 #   pragma __extern_prefix __save
 I2	  20654 #   pragma __extern_prefix "__long_gid_"
 I2	  20655 #endif
 I2	  20656 
 I2	  20657 __gid_t getegid (void);
 I2	  20658 __gid_t getgid  (void);
 I2	  20659 
 I2	  20660 #   if __USE_LONG_GID_T
 I2	  20661 #      pragma __extern_prefix __restore
 I2	  20662 #   endif
 I2	  20663 
 I2	  20664 #if __CRTL_VER >= 70301000
 I2	  20665 #   if __USE_LONG_GID_T
 I2	  20666 #      pragma __extern_prefix __save
 I2	  20667 #      pragma __extern_prefix "__long_gid_"
 I2	  20668 #   endif
 I2	  20669 
 I2	  20670 int getgroups( int gidsetsize, __gid_t grouplist[]);
 I2	  20671 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 370
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  20672 #   if __USE_LONG_GID_T
 I2	  20673 #      pragma __extern_prefix __restore
 I2	  20674 #   endif
 I2	  20675 
 I2	  20676 #endif
 I2	  20677 
 I2	  20678 __pid_t getpid  (void);
 I2	  20679 __pid_t getppid (void);
 I2	  20680 
 I2	  20681 #if __CRTL_VER >= 70000000 && !defined(_VMS_V6_SOURCE)
 I2	  20682 #   if __CAN_USE_EXTERN_PREFIX
 I2	  20683 #      pragma __extern_prefix __save
 I2	  20684 #      pragma __extern_prefix "__posix_"
 I2    X  20685 #   else
 I2    X  20686 #      define _exit(__p1) __posix__exit(__p1)
 I2    X  20687 #   endif
 I2	  20688 
 I2	  20689 #endif
 I2	  20690 
 I2	  20691 void _exit (int status);
 I2	  20692 
 I2	  20693 #if __CRTL_VER >= 70000000 && !defined(_VMS_V6_SOURCE)
 I2	  20694 #   if __CAN_USE_EXTERN_PREFIX
 I2	  20695 #      pragma __extern_prefix __restore
 I2	  20696 #   endif
 I2	  20697 #endif
 I2	  20698 
 I2	  20699 #if __USE_LONG_GID_T
 I2	  20700 #   pragma __extern_prefix __save
 I2	  20701 #   pragma __extern_prefix "__long_gid_"
 I2    X  20702 #elif __CRTL_VER >= 70000000 && !defined(_VMS_V6_SOURCE)
 I2    X  20703 #   if __CAN_USE_EXTERN_PREFIX
 I2    X  20704 #      pragma __extern_prefix __save
 I2    X  20705 #      pragma __extern_prefix "__unix_"
 I2    X  20706 #   else
 I2    X  20707 #      define geteuid() __unix_geteuid()
 I2    X  20708 #      define getuid() __unix_getuid()
 I2    X  20709 #   endif
 I2    X  20710 #endif
 I2	  20711 
 I2	  20712 __uid_t geteuid (void);
 I2	  20713 __uid_t getuid  (void);
 I2	  20714 
 I2	  20715 #if __USE_LONG_GID_T
 I2	  20716 #   pragma __extern_prefix __restore
 I2    X  20717 #elif __CRTL_VER >= 70000000 && !defined(_VMS_V6_SOURCE)
 I2    X  20718 #   if __CAN_USE_EXTERN_PREFIX
 I2    X  20719 #      pragma __extern_prefix __restore
 I2    X  20720 #   endif
 I2    X  20721 #endif
 I2	  20722 
 I2	  20723 /* 
 I2	  20724 **  X/Open functions 
 I2	  20725 */ 
 I2    X  20726 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE
 I2    X  20727 #    if defined _DECC_V4_SOURCE
 I2    X  20728          int gethostname (char *__name, int __namelen);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 371
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2    X  20729 #    else
 I2    X  20730          int gethostname (char *__name, __size_t __namelen);
 I2    X  20731 #    endif
 I2    X  20732 
 I2    X  20733 #endif
 I2	  20734 
 I2	  20735 #if __CRTL_VER >= 70301000
 I2	  20736     int getlogin_r (__char_ptr64 name, __size_t namesize);
 I2	  20737 #endif
 I2	  20738 
 I2	  20739 /*
 I2	  20740 **  The following functions always return a 32 bit pointer
 I2	  20741 */
 I2	  20742 #if __CRTL_VER >= 70000000
 I2	  20743      __char_ptr32 getlogin (void);
 I2	  20744 #endif
 I2	  20745 
 I2    X  20746 #if __CRTL_VER >= 70320000 && __POSIX_TTYNAME
 I2    X  20747     __char_ptr32  ttyname(int fd);	/* Enforces 1 argument */
 I2    X  20748 #endif
 I2	  20749 
 I2	  20750 #if __CRTL_VER >= 70320000
 I2	  20751     int ttyname_r(int __fd, __char_ptr64 __buffer, int __len);
 I2	  20752 #endif
 I2	  20753 
 I2	  20754 /* 
 I2	  20755 **  X/Open Extended functions always returning 32 bit pointers
 I2	  20756 */ 
 I2    X  20757 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE 
 I2    X  20758     __void_ptr32 sbrk (long int __incr);
 I2    X  20759 #endif
 I2	  20760 
 I2	  20761 /*
 I2	  20762 **  The following functions have interfaces of XXX, _XXX32, and _XXX64 due only
 I2	  20763 **  to the fact that the return argument is a pointer that is relative to one
 I2	  20764 **  of the arguments.
 I2	  20765 */
 I2    X  20766 #if __INITIAL_POINTER_SIZE == 32
 I2    X  20767 #   pragma __pointer_size 32
 I2    X  20768 #endif
 I2	  20769 
 I2	  20770 /* ISO POSIX-1 functions */
 I2	  20771 char *ctermid (char *__str);
 I2	  20772 
 I2    X  20773 #if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I2    X  20774     char *cuserid (char *__str);
 I2    X  20775 #endif
 I2	  20776 
 I2	  20777 #ifdef _POSIX_C_SOURCE 
 I2	  20778     char *getcwd (char *__buffer, __size_t __size);
 I2    X  20779 #else
 I2    X  20780     char *getcwd (char *__buffer, unsigned int __size, ...);
 I2    X  20781 #endif
 I2	  20782 
 I2    X  20783 #if __INITIAL_POINTER_SIZE == 32
 I2    X  20784 #   pragma __pointer_size 64
 I2    X  20785 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 372
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  20786 
 I2    X  20787 #if __INITIAL_POINTER_SIZE
 I2    X  20788 #    pragma __pointer_size 32
 I2    X  20789      char *_ctermid32 (char *__str);
 I2    X  20790      char *_cuserid32 (char *__str);
 I2    X  20791      char *_getcwd32  (char *__buffer, unsigned int __size, ...);
 I2    X  20792 #if __CRTL_VER >= 80300000
 I2    X  20793      char *_crypt32 (const char *__key, const char *__salt);
 I2    X  20794 #endif
 I2    X  20795 #    pragma __pointer_size 64
 I2    X  20796      char *_ctermid64 (char *__str);
 I2    X  20797      char *_cuserid64 (char *__str);
 I2    X  20798      char *_getcwd64 (char *__buffer, unsigned int __size, ...);
 I2    X  20799 #if __CRTL_VER >= 80300000
 I2    X  20800      char *_crypt64 (const char *__key, const char *__salt);
 I2    X  20801 #endif
 I2    X  20802 #endif
 I2	  20803 
 I2	  20804 /* 
 I2	  20805 **  DEC C V5.2 changed the prototypes to ISO POSIX-1 definitions in a way
 I2	  20806 **  that was binary upward compatible but not source upward compatibile.
 I2	  20807 **  The old definitions are retained for compatibility with old source.
 I2	  20808 */ 
 I2	  20809 #ifndef _DECC_V4_SOURCE
 I2	  20810 
 I2	  20811 #if __USE_LONG_GID_T
 I2	  20812 #   pragma __extern_prefix __save
 I2	  20813 #   pragma __extern_prefix "__long_gid_"
 I2	  20814 #endif
 I2	  20815 
 I2	  20816     int chown (const char *__file_spec, __uid_t __owner, __gid_t __group);
 I2	  20817 
 I2	  20818 #   if __CRTL_VER >= 70301000
 I2	  20819       int lchown (const char *__file_spec, __uid_t __owner, __gid_t __group);
 I2	  20820 #   endif
 I2	  20821 
 I2	  20822     int setgid  (__gid_t);
 I2	  20823     int setuid  (__uid_t);
 I2	  20824 
 I2	  20825 #if __USE_LONG_GID_T
 I2	  20826 #   pragma __extern_prefix __restore
 I2	  20827 #endif
 I2	  20828 
 I2	  20829     unsigned int alarm (unsigned int __seconds);
 I2	  20830     __ssize_t read (int __file_desc, void *__buffer, __size_t __nbytes);
 I2	  20831     __ssize_t write (int __file_desc, const void *__buffer, __size_t __nbytes);
 I2	  20832     int execl (const char *__path, const char *arg0, ...);
 I2	  20833     int execle (const char *__path, const char *arg0, ...);
 I2	  20834     int execlp (const char *__path, const char *arg0, ...);
 I2	  20835     unsigned int sleep (unsigned __seconds);
 I2	  20836 
 I2	  20837 #   if __CRTL_VER >= 70301000
 I2	  20838       int symlink (const char *path1, const char *path2);
 I2	  20839       int readlink (const char *path, char *buf, __size_t bufsize);
 I2	  20840 #   endif
 I2	  20841 
 I2    X  20842 #else /* ifndef _DECC_V4_SOURCE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 373
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2    X  20843     int alarm (unsigned int __seconds);
 I2    X  20844 
 I2    X  20845     int chown (const char *__file_spec, unsigned int __owner, unsigned int __group);
 I2    X  20846 
 I2    X  20847 #   if __CRTL_VER >= 70301000
 I2    X  20848       int lchown (const char *__file_spec, unsigned int __owner, unsigned int __group);
 I2    X  20849       int symlink (const char *path1, const char *path2);
 I2    X  20850       int readlink (const char *path, char *buf, int bufsize);
 I2    X  20851 #   endif
 I2    X  20852 
 I2    X  20853     int read (int __file_desc, void *__buffer, int __nbytes);
 I2    X  20854     int write (int __file_desc, void *__buffer, int __nbytes);
 I2    X  20855     int execl (char *__name, ...);
 I2    X  20856     int execle (char *__name, ...);
 I2    X  20857     int execlp (char *__name, ...);
 I2    X  20858     __gid_t setgid (__gid_t);
 I2    X  20859     __uid_t setuid (__uid_t);
 I2    X  20860     int sleep (unsigned __seconds);
 I2    X  20861 
 I2    X  20862 #endif /* ifndef _DECC_V4_SOURCE */
 I2	  20863 
 I2	  20864 #if __CRTL_VER >= 70000000
 I2	  20865     long int fpathconf (int __fd, int __name);
 I2	  20866     long int pathconf (const char * __path, int __name);
 I2	  20867     long int sysconf (int __name);
 I2	  20868     int unlink (const char *__path);
 I2	  20869 #endif
 I2	  20870 
 I2	  20871 /* 
 I2	  20872 **  ISO POSIX-2 function prototypes
 I2	  20873 */ 
 I2    X  20874 #if _POSIX_C_SOURCE >= 2 || !defined _POSIX_C_SOURCE
 I2    X  20875 #   if __CRTL_VER >= 70000000
 I2    X  20876        __size_t confstr (int __name, char * __buf, __size_t __len);
 I2    X  20877 #   endif
 I2    X  20878 #endif
 I2	  20879 
 I2	  20880 /* 
 I2	  20881 **  X/Open (XPG4) function prototypes
 I2	  20882 */
 I2    X  20883 #if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I2    X  20884     int fsync (int __file_desc);
 I2    X  20885     int nice (int __increment);
 I2    X  20886 
 I2    X  20887 #   if __CRTL_VER >= 70000000
 I2    X  20888        void swab (const void * __src, void * __dst, __ssize_t __nbytes);
 I2    X  20889 #   endif
 I2    X  20890 
 I2    X  20891 #   if __CRTL_VER >= 70300000
 I2    X  20892 #      if __USE_LONG_GID_T
 I2    X  20893 #         pragma __extern_prefix __save
 I2    X  20894 #         pragma __extern_prefix "__long_gid_"
 I2    X  20895 #      endif
 I2    X  20896 
 I2    X  20897        int fchown (int __fildes, __uid_t __owner, __gid_t __group);
 I2    X  20898 
 I2    X  20899 #      if __USE_LONG_GID_T

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 374
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2    X  20900 #         pragma __extern_prefix __restore
 I2    X  20901 #      endif
 I2    X  20902 
 I2    X  20903 #   endif
 I2    X  20904 
 I2    X  20905 #   if  __CRTL_VER >= 70301000
 I2    X  20906         int link (const char *__existing, const char *__new);
 I2    X  20907 #   endif
 I2    X  20908 
 I2    X  20909 #   if __USE_LONG_GID_T
 I2    X  20910        __pid_t getpgid (__pid_t);
 I2    X  20911        __pid_t getpgrp (void);
 I2    X  20912        __pid_t getsid (__pid_t);
 I2    X  20913        int seteuid (__uid_t);
 I2    X  20914        int setpgid (__pid_t, __pid_t);
 I2    X  20915        __pid_t setpgrp (void);
 I2    X  20916        int setregid (__gid_t, __gid_t);
 I2    X  20917        int setreuid (__uid_t, __uid_t);
 I2    X  20918        __pid_t setsid (void);
 I2    X  20919 #   endif
 I2    X  20920 
 I2    X  20921 #endif /* defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE */
 I2	  20922 
 I2	  20923 /* 
 I2	  20924 **  X/Open extended (XPG4 V2) function prototypes
 I2	  20925 */ 
 I2    X  20926 #if defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE 
 I2    X  20927 #   if __CRTL_VER >= 70000000
 I2    X  20928 #      if __USE_OFF64_T
 I2    X  20929 #         pragma __extern_prefix __save
 I2    X  20930 #         pragma __extern_prefix "__off64_"
 I2    X  20931 #      endif
 I2    X  20932 
 I2    X  20933        int ftruncate (int __filedes, __off_t __length );
 I2    X  20934        int truncate  (const char *__path, __off_t __length );
 I2    X  20935 
 I2    X  20936 #      if __USE_OFF64_T
 I2    X  20937 #         pragma __extern_prefix __restore
 I2    X  20938 #      endif
 I2    X  20939 
 I2    X  20940        int getdtablesize (void);
 I2    X  20941        int getpagesize (void);
 I2    X  20942        __useconds_t ualarm (__useconds_t __useconds, __useconds_t __interval);
 I2    X  20943        int usleep (__useconds_t __useconds);
 I2    X  20944 #   endif
 I2    X  20945 
 I2    X  20946 #   if defined(__ALPHA) /* Verified for x86, John Reagan */
 I2    X  20947 #      define lib$get_current_invo_context LIB$GET_CURRENT_INVO_CONTEXT
 I2    X  20948        __int64_ptr32 decc$$get_vfork_jmpbuf (void);
 I2    X  20949 
 I2    X  20950 #      ifdef __INITIAL_POINTER_SIZE
 I2    X  20951 #      pragma __required_pointer_size __save
 I2    X  20952 #      pragma __required_pointer_size __long
 I2    X  20953 #      endif
 I2    X  20954 
 I2    X  20955        int LIB$GET_CURRENT_INVO_CONTEXT(__int64 *__invo_context);
 I2    X  20956 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 375
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2    X  20957 #      ifdef __INITIAL_POINTER_SIZE
 I2    X  20958 #      pragma __required_pointer_size __restore
 I2    X  20959 #      endif
 I2    X  20960 
 I2    X  20961        int decc$$alloc_vfork_blocks (void);
 I2    X  20962 #      define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \
 I2    X  20963        lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1)
 I2    X  20964 #   elif defined(__ia64) || defined(__x86_64) /* Temporary for xbuild, needs x86 work - John Reagan */
 I2    X  20965        __int64_ptr32 decc$$get_vfork_jmpbuf (void);
 I2    X  20966        int decc$$alloc_vfork_blocks (void);
 I2    X  20967        int decc$setjmp1 (__int64 *__env);
 I2    X  20968 #      define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \
 I2    X  20969        decc$setjmp1(decc$$get_vfork_jmpbuf()) : -1)
 I2    X  20970 #   else
 I2    X  20971 #       ifndef _DECC_V4_SOURCE
 I2    X  20972            __pid_t vfork (void);
 I2    X  20973 #       else
 I2    X  20974            int vfork (void);
 I2    X  20975 #       endif
 I2    X  20976 #   endif
 I2    X  20977 #endif /* defined _XOPEN_SOURCE_EXTENDED || !defined _POSIX_C_SOURCE */
 I2	  20978 
 I2	  20979 
 I2	  20980 /* 
 I2	  20981 **  DEC C extensions
 I2	  20982 **
 I2	  20983 **  chdir has an additional parameter as a DEC C extension.
 I2	  20984 */ 
 I2	  20985 #ifdef _POSIX_C_SOURCE
 I2	  20986     int chdir (const char *__dir_spec);
 I2    X  20987 #else
 I2    X  20988     int chdir (const char *__dir_spec, ...);
 I2    X  20989 #endif
 I2	  20990 
 I2	  20991 #if defined _XOPEN_SOURCE_EXTENDED ||  !defined _ANSI_C_SOURCE
 I2	  20992 
 I2	  20993 /*
 I2	  20994 **  XPG5 extentions
 I2	  20995 */
 I2	  20996 # if __CRTL_VER >= 80300000
 I2	  20997 #   if __USE_OFF64_T
 I2	  20998 #      pragma __extern_prefix __save
 I2	  20999 #      pragma __extern_prefix "__off64_"
 I2	  21000 #   endif
 I2	  21001     __ssize_t pread(int fildes, void *buf, __size_t nbyte, __off_t offset);
 I2	  21002     __ssize_t pwrite(int fildes, const void *buf, __size_t nbyte, __off_t offset);
 I2	  21003 #   if __USE_OFF64_T
 I2	  21004 #      pragma __extern_prefix __restore
 I2	  21005 #   endif
 I2	  21006 
 I2    X  21007 # else
 I2    X  21008 
 I2    X  21009 #   if __CRTL_VER >= 70311000
 I2    X  21010        __ssize_t pread(int fildes, void *buf, __size_t nbyte, __off_t offset);
 I2    X  21011        __ssize_t pwrite(int fildes, const void *buf, __size_t nbyte, __off_t offset);
 I2    X  21012 #   endif
 I2    X  21013 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 376
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UNISTD)

 I2	  21014 #endif /* defined _XOPEN_SOURCE_EXTENDED ||  !defined _ANSI_C_SOURCE */
 I2	  21015 
 I2	  21016 /*
 I2	  21017 **  Restore the users pointer context
 I2	  21018 */
 I2    X  21019 #if __INITIAL_POINTER_SIZE
 I2    X  21020 #   pragma __pointer_size __restore
 I2    X  21021 #endif
 I2	  21022 
 I2    X  21023 #ifdef __cplusplus
 I2    X  21024     }
 I2    X  21025 #endif
 I2	  21026 
 I2	  21027 #pragma __standard
 I2	  21028 #endif /* __UNISTD_LOADED */
 I1	  21029 #endif /* OSKXXC */
 I1    X  21030 #ifdef HAVE_CRYPT_H
 I1    X  21031 #include <crypt.h>
 I1    X  21032 #endif /* HAVE_CRYPT_H */
 I1	  21033 #endif /* STRATUS */
 I1	  21034 #endif /* OS2 */
 I1	  21035 #endif /* AMIGA */
 I1	  21036 #endif /* NEXT */
 I1	  21037 
 I1    X  21038 #else /* Not ANSI libs... */
 I1    X  21039 
 I1    X  21040 #ifdef MAC
 I1    X  21041 #include <String.h>
 I1    X  21042 #include <StdLib.h>
 I1    X  21043 #endif /* MAC */
 I1    X  21044 
 I1    X  21045 #ifdef HPUX
 I1    X  21046 #ifndef HPUXPRE65
 I1    X  21047 #include <unistd.h>
 I1    X  21048 #endif /* HPUXPRE65 */
 I1    X  21049 #endif /* HPUX */
 I1    X  21050 
 I1    X  21051 #ifdef SUNOS41
 I1    X  21052 #include <unistd.h>
 I1    X  21053 #include <stdlib.h>
 I1    X  21054 #else
 I1    X  21055 #ifndef MAC
 I1    X  21056 /*
 I1    X  21057   It is essential that these are declared correctly!
 I1    X  21058   Which is not always easy.  Take malloc() for instance ...
 I1    X  21059 */
 I1    X  21060 #ifdef PYRAMID
 I1    X  21061 #ifdef SVR4
 I1    X  21062 #ifdef __STDC__
 I1    X  21063 #define SIZE_T_MALLOC
 I1    X  21064 #endif /* __STDC__ */
 I1    X  21065 #endif /* SVR4 */
 I1    X  21066 #endif /* PYRAMID */
 I1    X  21067 /*
 I1    X  21068   Maybe some other environments need the same treatment for malloc.
 I1    X  21069   If so, define SIZE_T_MALLOC for them here or in compiler CFLAGS.
 I1    X  21070 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 377
V1.0                                                            14-MAY-2022 12:28:33  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21071 #ifdef SIZE_T_MALLOC
 I1    X  21072 _PROTOTYP( void * malloc, (size_t) );
 I1    X  21073 #else
 I1    X  21074 _PROTOTYP( char * malloc, (unsigned int) );
 I1    X  21075 #endif /* SIZE_T_MALLOC */
 I1    X  21076 
 I1    X  21077 _PROTOTYP( char * getenv, (char *) );
 I1    X  21078 _PROTOTYP( long atol, (char *) );
 I1    X  21079 #endif /* !MAC */
 I1    X  21080 #endif /* SUNOS41 */
 I1    X  21081 #endif /* CK_ANSILIBS */
 I1	  21082 
 I1	  21083 /*
 I1	  21084   <sys/param.h> generally picks up NULL, MAXPATHLEN, and MAXNAMLEN
 I1	  21085   and seems to present on all Unixes going back at least to SCO Xenix
 I1	  21086   with the exception(s) noted.
 I1	  21087 */
 I1	  21088 #ifndef NO_PARAM_H			/* 2001-11-03 */
 I1	  21089 #ifndef UNIX				/* Non-Unixes don't have it */
 I1	  21090 #define NO_PARAM_H
 I1    X  21091 #else
 I1    X  21092 #ifdef TRS16				/* Tandy Xenix doesn't have it */
 I1    X  21093 #define NO_PARAM_H
 I1    X  21094 #endif /* TRS16 */
 I1    X  21095 #endif /* UNIX */
 I1	  21096 #endif /* NO_PARAM_H */
 I1	  21097 
 I1    X  21098 #ifndef NO_PARAM_H
 I1    X  21099 #ifndef INCL_PARAM_H
 I1    X  21100 #define INCL_PARAM_H
 I1    X  21101 #endif /* INCL_PARAM_H */
 I1    X  21102 #include <sys/param.h>
 I1    X  21103 #endif /* NO_PARAM_H */
 I1	  21104 
 I1    X  21105 #ifndef NULL				/* In case NULL is still not defined */
 I1    X  21106 #define NULL 0L
 I1    X  21107 /* or #define NULL 0 */
 I1    X  21108 /* or #define NULL ((char *) 0) */
 I1    X  21109 /* or #define NULL ((void *) 0) */
 I1    X  21110 #endif /* NULL */
 I1	  21111 
 I1	  21112 /* Macro to differentiate "" from NULL (to avoid comparisons with literals) */
 I1	  21113 
 I1	  21114 #ifndef isemptystring
 I1	  21115 #define isemptystring(s) ((s?(*s?0:1):0))
 I1	  21116 #endif	/* isemptystring */
 I1	  21117 
 I1	  21118 /* Maximum length for a fully qualified filename, not counting \0 at end. */
 I1	  21119 /*
 I1	  21120   This is a rough cut, and errs on the side of being too big.  We don't
 I1	  21121   want to pull in hundreds of header files looking for many and varied
 I1	  21122   symbols, for fear of introducing unnecessary conflicts.
 I1	  21123 */
 I1	  21124 #ifndef CKMAXPATH
 I1	  21125 #ifdef VMS				/* VMS may have bad (small, ODS2) */
 I1	  21126 #define CKMAXPATH NAMX_C_MAXRSS		/* PATH_MAX, so use NAMX_C_MAXRSS. */
 I1    X  21127 #else /* def VMS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 378
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21128 #ifdef MAXPATHLEN			/* (it probably isn't) */
 I1    X  21129 #define CKMAXPATH MAXPATHLEN
 I1    X  21130 #else
 I1    X  21131 #ifdef PATH_MAX				/* POSIX */
 I1    X  21132 #define CKMAXPATH PATH_MAX
 I1    X  21133 #else /* def PATH_MAX */
 I1    X  21134 #ifdef MAC
 I1    X  21135 #define CKMAXPATH 63
 I1    X  21136 #else /* def MAC */
 I1    X  21137 #ifdef pdp11
 I1    X  21138 #define CKMAXPATH 255
 I1    X  21139 #else /* def pdp11 */
 I1    X  21140 #ifdef UNIX				/* Even though some are way less... */
 I1    X  21141 #define CKMAXPATH 1024
 I1    X  21142 #else /* def UNIX */
 I1    X  21143 #ifdef STRATUS
 I1    X  21144 #define CKMAXPATH 256			/* == $MXPL from PARU.H */
 I1    X  21145 #else /* def STRATUS */
 I1    X  21146 #ifdef datageneral
 I1    X  21147 #define CKMAXPATH 256			/* == $MXPL from PARU.H */
 I1    X  21148 #else /* def datageneral */
 I1    X  21149 #define CKMAXPATH 255
 I1    X  21150 #endif /* def STRATUS [else] */
 I1    X  21151 #endif /* def datageneral [else] */
 I1    X  21152 #endif /* def UNIX [else] */
 I1    X  21153 #endif /* def pdp11 [else] */
 I1    X  21154 #endif /* def MAC [else] */
 I1    X  21155 #endif /* def PATH_MAX [else] */
 I1    X  21156 #endif /* def MAXPATHLEN [else] */
 I1    X  21157 #endif /* def VMS [else] */
 I1	  21158 #endif /* ndef CKMAXPATH */
 I1	  21159 
 I1	  21160 /* 2021-10-30 SMS (Steven M Schweda)
 I1	  21161  * MAXPATHLEN might have come up undefined because all the consumers
 I1	  21162  * should be using CKMAXPATH instead of MAXPATHLEN, or PATH_MAX, or
 I1	  21163  * whatever.  The idea was to put all the system dependencies into the
 I1	  21164  * definition of CKMAXPATH.  Previously, MAXPATHLEN was not used in
 I1	  21165  * ckuus4.c or ckuus6.c,
 I1	  21166  *
 I1	  21167  * Apparently, I failed to make the required change(s) in UNIX
 I1	  21168  * modules/sections ckufio.c, ckuus3.c, ckuus5.c.  (But _I_ didn't spell
 I1	  21169  * "#define" as "def".)
 I1	  21170  *
 I1	  21171  * On VMS, PATH_MAX is defined as 256 in <limits.h>, but that is an
 I1	  21172  * obsolete value, which is why NAMX_C_MAXRSS is used instead.
 I1	  21173  */
 I1	  21174 
 I1	  21175 /* Maximum length for the name of a tty device */
 I1	  21176 #ifndef DEVNAMLEN
 I1	  21177 #define DEVNAMLEN CKMAXPATH
 I1	  21178 #endif /* DEVNAMLEN */
 I1	  21179 
 I1	  21180 /* Directory (path segment) separator */
 I1	  21181 /* Not fully general - Tricky for VMS, Amiga, ... */
 I1	  21182 
 I1	  21183 #ifndef DIRSEP
 I1    X  21184 #ifdef UNIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 379
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21185 #define DIRSEP '/'
 I1    X  21186 #define STRDIRSEP "/"
 I1    X  21187 #define ISDIRSEP(c) ((c)=='/')
 I1    X  21188 #else
 I1    X  21189 #ifdef OS2
 I1    X  21190 #define DIRSEP '/'
 I1    X  21191 #define STRDIRSEP "/"
 I1    X  21192 #define ISDIRSEP(c) ((c)=='/'||(c)=='\\')
 I1    X  21193 #else
 I1    X  21194 #ifdef datageneral
 I1    X  21195 #define DIRSEP ':'
 I1    X  21196 #define STRDIRSEP ":"
 I1    X  21197 #define ISDIRSEP(c) (((c)==':')||((c)=='^')||((c)=='='))
 I1    X  21198 #else
 I1    X  21199 #ifdef STRATUS
 I1    X  21200 #define DIRSEP '>'
 I1    X  21201 #define ISDIRSEP(c) ((c)=='>')
 I1    X  21202 #else
 I1	  21203 #ifdef VMS
 I1	  21204 #define DIRSEP ']'			/* (not really) */
 I1	  21205 #define STRDIRSEP "]"
 I1	  21206 #define ISDIRSEP(c) ((c)==']'||(c)==':')
 I1    X  21207 #else
 I1    X  21208 #ifdef MAC
 I1    X  21209 #define DIRSEP ':'
 I1    X  21210 #define STRDIRSEP ":"
 I1    X  21211 #define ISDIRSEP(c) ((c)==':')
 I1    X  21212 #else
 I1    X  21213 #ifdef AMIGA
 I1    X  21214 #define DIRSEP '/'
 I1    X  21215 #define STRDIRSEP "/"
 I1    X  21216 #define ISDIRSEP(c) ((c)=='/'||(c)==':')
 I1    X  21217 #else
 I1    X  21218 #ifdef GEMDOS
 I1    X  21219 #define DIRSEP '\\'
 I1    X  21220 #define STRDIRSEP "\\"
 I1    X  21221 #define ISDIRSEP(c) ((c)=='\\'||(c)==':')
 I1    X  21222 #else
 I1    X  21223 #define DIRSEP '/'
 I1    X  21224 #define STRDIRSEP "/"
 I1    X  21225 #define ISDIRSEP(c) ((c)=='/')
 I1    X  21226 #endif /* GEMDOS */
 I1    X  21227 #endif /* AMIGA */
 I1    X  21228 #endif /* MAC */
 I1    X  21229 #endif /* VMS */
 I1	  21230 #endif /* STRATUS */
 I1	  21231 #endif /* datageneral */
 I1	  21232 #endif /* OS2 */
 I1	  21233 #endif /* UNIX */
 I1	  21234 #endif /* DIRSEP */
 I1	  21235 
 I1	  21236 /* FILE package parameters */
 I1	  21237 
 I1    X  21238 #ifdef pdp11
 I1    X  21239 #define NOCHANNELIO
 I1    X  21240 #else
 I1	  21241 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 380
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  21242 #ifndef CKMAXOPEN
 I1    X  21243 #ifdef QNX
 I1    X  21244 #define CKMAXOPEN 390
 I1    X  21245 #else
 I1	  21246 #ifdef VMS
 I1	  21247 #define CKMAXOPEN 64
 I1    X  21248 #else
 I1    X  21249 #ifdef OPEN_MAX
 I1    X  21250 #define CKMAXOPEN OPEN_MAX
 I1    X  21251 #else
 I1    X  21252 #ifdef FOPEN_MAX
 I1    X  21253 #define CKMAXOPEN FOPEN_MAX
 I1    X  21254 #else
 I1    X  21255 #define CKMAXOPEN 64
 I1    X  21256 #endif /* FOPEN_MAX */
 I1    X  21257 #endif /* OPEN_MAX */
 I1    X  21258 #endif /* VMS */
 I1	  21259 #endif /* QNX */
 I1	  21260 #endif /* CKMAXOPEN */
 I1	  21261 
 I1	  21262 /* Maximum channels for FOPEN = CKMAXOPEN minus logs, stdio, etc */
 I1	  21263 
 I1	  21264 #ifndef Z_MINCHAN
 I1	  21265 #define Z_MINCHAN 16
 I1	  21266 #endif /* Z_MINCHAN */
 I1	  21267 
 I1	  21268 #ifndef Z_MAXCHAN
 I1	  21269 #define Z_MAXCHAN (CKMAXOPEN-ZNFILS-5)
 I1	  21270 #endif /* Z_MAXCHAN */
 I1	  21271 #endif /* pdp11 */
 I1	  21272 
 I1	  21273 /* New-format nzltor() and nzrtol() functions that handle pathnames */
 I1	  21274 
 I1	  21275 #ifndef NZLTOR
 I1    X  21276 #ifdef UNIX
 I1    X  21277 #define NZLTOR
 I1    X  21278 #else
 I1	  21279 #ifdef VMS
 I1	  21280 #define NZLTOR
 I1    X  21281 #else
 I1    X  21282 #ifdef OS2
 I1    X  21283 #define NZLTOR
 I1    X  21284 #else
 I1    X  21285 #ifdef STRATUS
 I1    X  21286 #define NZLTOR
 I1    X  21287 #endif /* STRATUS */
 I1    X  21288 #endif /* OS2 */
 I1    X  21289 #endif /* VMS */
 I1	  21290 #endif /* UNIX */
 I1	  21291 #endif /* NZLTOR */
 I1	  21292 
 I1	  21293 #ifdef NZLTOR
 I1	  21294 _PROTOTYP( VOID nzltor, (char *, char *, int, int, int) );
       E	 void nzltor ( char * , char * , int , int , int )
 I1	  21295 _PROTOTYP( VOID nzrtol, (char *, char *, int, int, int) );
       E	 void nzrtol ( char * , char * , int , int , int )
 I1	  21296 #endif /* NZLTOR */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 381
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  21297 
 I1	  21298 /* Implementations with a zrmdir() function */
 I1	  21299 
 I1	  21300 #ifndef ZRMDIR
 I1    X  21301 #ifdef OS2
 I1    X  21302 #define ZRMDIR
 I1    X  21303 #else /* OS2 */
 I1    X  21304 #ifdef UNIX
 I1    X  21305 #define ZRMDIR
 I1    X  21306 #else
 I1	  21307 #ifdef VMS
 I1	  21308 #define ZRMDIR
 I1    X  21309 #else /* VMS */
 I1    X  21310 #ifdef STRATUS
 I1    X  21311 #define ZRMDIR
 I1    X  21312 #endif /* STRATUS */
 I1    X  21313 #endif /* VMS */
 I1	  21314 #endif /* UNIX */
 I1	  21315 #endif /* OS2 */
 I1	  21316 #endif /* ZRMDIR */
 I1	  21317 
 I1	  21318 #ifdef ZRMDIR
 I1	  21319 _PROTOTYP( int zrmdir, (char *) );
       E	 int zrmdir ( char * )
 I1	  21320 #endif /* ZRMDIR */
 I1	  21321 
 I1	  21322 #ifndef FILECASE
 I1    X  21323 #ifdef UNIXOROSK
 I1    X  21324 #define FILECASE 1
 I1    X  21325 #else
 I1	  21326 #define FILECASE 0
 I1	  21327 #endif /* UNIXOROSK */
 I1	  21328 #ifndef CKCMAI
 I1	  21329 extern int filecase;
 I1	  21330 #endif /* CKCMAI */
 I1	  21331 #endif /* FILECASE */
 I1	  21332 
 I1	  21333 /* Funny names for library functions department... */
 I1	  21334 
 I1    X  21335 #ifdef ZILOG
 I1    X  21336 #define setjmp setret
 I1    X  21337 #define longjmp longret
 I1    X  21338 #define jmp_buf ret_buf
 I1    X  21339 #define getcwd curdir
 I1    X  21340 #endif /* ZILOG */
 I1	  21341 
 I1    X  21342 #ifdef STRATUS
 I1    X  21343 /* The C-runtime conflicts with things we do in Stratus VOS ckltio.c ... */
 I1    X  21344 #define printf vosprtf
 I1    X  21345 _PROTOTYP( int vosprtf, (char *fmt, ...) );
 I1    X  21346 #define perror(txt) printf("%s\n", txt)
 I1    X  21347 /* char_varying is a string type from PL/I that VOS uses extensively */
 I1    X  21348 #define CV char_varying
 I1    X  21349 #endif /* STRATUS */
 I1	  21350 
 I1    X  21351 #ifdef NT
 I1    X  21352 #ifndef VER_PLATFORM_WIN32_WINDOWS

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 382
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21353 /* Visual C++ 2.0 and older don't define this (Win95 wasn't released yet) */
 I1    X  21354 #define VER_PLATFORM_WIN32_WINDOWS      1
 I1    X  21355 #endif
 I1    X  21356 extern int OSVer;
 I1    X  21357 #define isWin95() (OSVer==VER_PLATFORM_WIN32_WINDOWS)
 I1    X  21358 #else
 I1	  21359 #define isWin95() (0)
 I1	  21360 #endif /* NT */
 I1	  21361 
 I1	  21362 #ifndef BPRINT
 I1    X  21363 #ifdef OS2
 I1    X  21364 #define BPRINT
 I1    X  21365 #endif /* OS2 */
 I1	  21366 #endif /* BPRINT */
 I1	  21367 
 I1	  21368 #ifndef SESLIMIT
 I1    X  21369 #ifdef OS2
 I1    X  21370 #define SESLIMIT
 I1    X  21371 #endif /* OS2 */
 I1	  21372 #endif /* SESLIMIT */
 I1	  21373 
 I1	  21374 #ifndef NOTERM
 I1	  21375 #ifndef PCTERM
 I1    X  21376 #ifdef NT
 I1    X  21377 #define PCTERM
 I1    X  21378 #endif /* NT */
 I1	  21379 #endif /* PCTERM */
 I1	  21380 #endif /* NOTERM */
 I1	  21381 
 I1    X  21382 #ifdef BEOSORBEBOX
 I1    X  21383 #define query ckquery
 I1    X  21384 #endif /* BEOSORBEBOX */
 I1	  21385 
 I1	  21386 #ifndef PTYORPIPE			/* NETCMD and/or NETPTY defined */
 I1    X  21387 #ifdef NETCMD
 I1    X  21388 #define PTYORPIPE
 I1    X  21389 #else
 I1    X  21390 #ifdef NETPTY
 I1    X  21391 #define PTYORPIPE
 I1    X  21392 #endif /* NETPTY */
 I1	  21393 #endif /* NETCMD */
 I1	  21394 #endif /* PTYORPIPE */
 I1	  21395 
 I1	  21396 /* mktemp() and mkstemp() */
 I1	  21397 
 I1	  21398 #ifndef NOMKTEMP
 I1	  21399 #ifndef MKTEMP
 I1    X  21400 #ifdef OS2ORUNIX
 I1    X  21401 #define MKTEMP
 I1    X  21402 #endif /* OS2ORUNIX */
 I1	  21403 #endif /* MKTEMP */
 I1	  21404 
 I1    X  21405 #ifdef MKTEMP
 I1    X  21406 #ifndef NOMKSTEMP
 I1    X  21407 #ifndef MKSTEMP
 I1    X  21408 #ifdef BSD44
 I1    X  21409 #define MKSTEMP

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 383
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21410 #else
 I1    X  21411 #ifdef __linux__
 I1    X  21412 #define MKSTEMP
 I1    X  21413 #endif /* __linux__ */
 I1    X  21414 #endif /* BSD44 */
 I1    X  21415 #endif /* MKSTEMP */
 I1    X  21416 #endif /* NOMKSTEMP */
 I1    X  21417 #endif /* MKTEMP */
 I1	  21418 #endif /* NOMKTEMP */
 I1	  21419 
 I1	  21420 /* Platforms that have memcpy() -- only after all headers included */
 I1	  21421 
 I1	  21422 #ifndef USE_MEMCPY
 I1	  21423 #ifdef VMS
 I1	  21424 #define USE_MEMCPY
 I1    X  21425 #else
 I1    X  21426 #ifdef NEXT
 I1    X  21427 #define USE_MEMCPY
 I1    X  21428 #else
 I1    X  21429 #ifdef OS2
 I1    X  21430 #define USE_MEMCPY
 I1    X  21431 #else
 I1    X  21432 #ifdef __linux__
 I1    X  21433 #define USE_MEMCPY
 I1    X  21434 #else
 I1    X  21435 #ifdef SOLARIS
 I1    X  21436 #define USE_MEMCPY
 I1    X  21437 #else
 I1    X  21438 #ifdef SUNOS4
 I1    X  21439 #define USE_MEMCPY
 I1    X  21440 #else
 I1    X  21441 #ifdef AIXRS
 I1    X  21442 #define USE_MEMCPY
 I1    X  21443 #else
 I1    X  21444 #ifdef HPUX
 I1    X  21445 #define USE_MEMCPY
 I1    X  21446 #else
 I1    X  21447 #ifdef POSIX
 I1    X  21448 #define USE_MEMCPY
 I1    X  21449 #else
 I1    X  21450 #ifdef SVR4
 I1    X  21451 #define USE_MEMCPY
 I1    X  21452 #else
 I1    X  21453 #ifdef OSF
 I1    X  21454 #define USE_MEMCPY
 I1    X  21455 #else
 I1    X  21456 #ifdef datageneral
 I1    X  21457 #define USE_MEMCPY
 I1    X  21458 #else
 I1    X  21459 #ifdef STRATUS
 I1    X  21460 #define USE_MEMCPY
 I1    X  21461 #endif /* STRATUS */
 I1    X  21462 #endif /* datageneral */
 I1    X  21463 #endif /* OSF */
 I1    X  21464 #endif /* SVR4 */
 I1    X  21465 #endif /* POSIX */
 I1    X  21466 #endif /* HPUX */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 384
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21467 #endif /* AIXRS */
 I1    X  21468 #endif /* SUNOS4 */
 I1    X  21469 #endif /* SOLARIS */
 I1    X  21470 #endif /* __linux__ */
 I1    X  21471 #endif /* OS2 */
 I1    X  21472 #endif /* NEXT */
 I1    X  21473 #endif /* VMS */
 I1	  21474 #endif /* USE_MEMCPY */
 I1	  21475 
 I1    X  21476 #ifndef USE_MEMCPY
 I1    X  21477 #define memcpy(a,b,c) ckmemcpy((a),(b),(c))
 I1    X  21478 #else
 I1    X  21479 #ifdef CK_SCO32V4
 I1    X  21480 /* Because the prototype isn't picked up in the normal header files */
 I1    X  21481 _PROTOTYP( void *memcpy, (void *, const void *, size_t));
 I1    X  21482 #endif /* CK_SCO32V4 */
 I1	  21483 #endif /* USE_MEMCPY */
 I1	  21484 
 I1	  21485 /* User authentication for IKS -- So far K95 and UNIX only */
 I1	  21486 
 I1    X  21487 #ifdef NOICP
 I1    X  21488 #ifndef NOLOGIN
 I1    X  21489 #define NOLOGIN
 I1    X  21490 #endif /* NOLOGIN */
 I1    X  21491 #endif /* NOICP */
 I1	  21492 
 I1	  21493 #ifndef NOLOGIN
 I1    X  21494 #ifdef OS2ORUNIX
 I1    X  21495 #ifndef CK_LOGIN
 I1    X  21496 #define CK_LOGIN
 I1    X  21497 #ifndef NOSHADOW
 I1    X  21498 #ifdef CK_SCOV5
 I1    X  21499 #define CK_SHADOW
 I1    X  21500 #endif /* CK_SCOV5 */
 I1    X  21501 #endif /* NOSHADOW */
 I1    X  21502 #endif /* CK_LOGIN */
 I1    X  21503 #ifdef NT
 I1    X  21504 #define NTCREATETOKEN
 I1    X  21505 #endif /* NT */
 I1    X  21506 #endif /* OS2ORUNIX */
 I1    X  21507 #else /* NOLOGIN */
 I1    X  21508 #ifdef CK_LOGIN
 I1    X  21509 #undef CK_LOGIN
 I1    X  21510 #endif /* CK_LOGIN */
 I1    X  21511 #endif /* NOLOGIN */
 I1	  21512 
 I1    X  21513 #ifdef OS2
 I1    X  21514 #define CKSPINNER
 I1    X  21515 #endif /* OS2 */
 I1	  21516 
 I1    X  21517 #ifdef CK_LOGIN				/* Telnet protocol required */
 I1    X  21518 #ifndef TNCODE				/* for login to IKSD. */
 I1    X  21519 #define TNCODE
 I1    X  21520 #endif /* TNCODE */
 I1    X  21521 #endif /* CK_LOGIN */
 I1	  21522 
 I1	  21523 #ifdef CK_AUTHENTICATION

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 385
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21524 #ifdef NOSENDUID
 I1    X  21525 #undef NOSENDUID
 I1    X  21526 #endif /* NOSENDUID */
 I1	  21527 #endif /* CK_AUTHENTICATION */
 I1	  21528 
 I1	  21529 #ifdef TNCODE				/* Should TELNET send user ID? */
 I1	  21530 #ifndef NOSENDUID
 I1	  21531 #ifndef CKSENDUID
 I1	  21532 #define CKSENDUID
 I1	  21533 #endif /* CKSENDUID */
 I1	  21534 #endif /* NOSENDUID */
 I1	  21535 #endif /* TNCODE */
 I1	  21536 
 I1	  21537 /* UNIX platforms that don't have getusershell() */
 I1	  21538 
 I1    X  21539 #ifdef UNIX
 I1    X  21540 #ifndef NOGETUSERSHELL
 I1    X  21541 #ifdef IRIX
 I1    X  21542 #define NOGETUSERSHELL
 I1    X  21543 #else
 I1    X  21544 #ifdef PTX
 I1    X  21545 #define NOGETUSERSHELL
 I1    X  21546 #else
 I1    X  21547 #ifdef AIXRS
 I1    X  21548 #define NOGETUSERSHELL
 I1    X  21549 #else
 I1    X  21550 #ifdef SINIX
 I1    X  21551 #define NOGETUSERSHELL
 I1    X  21552 #else
 I1    X  21553 #ifdef UNIXWARE
 I1    X  21554 #define NOGETUSERSHELL
 I1    X  21555 #else
 I1    X  21556 #ifdef COHERENT
 I1    X  21557 #define NOGETUSERSHELL
 I1    X  21558 #endif /* COHERENT */
 I1    X  21559 #endif /* UNIXWARE */
 I1    X  21560 #endif /* SINIX */
 I1    X  21561 #endif /* AIXRS */
 I1    X  21562 #endif /* PTX */
 I1    X  21563 #endif /* IRIX */
 I1    X  21564 #endif /* NOGETUSERSHELL */
 I1    X  21565 #endif /* UNIX */
 I1	  21566 
 I1    X  21567 #ifdef CK_LOGIN
 I1    X  21568 #ifdef NT
 I1    X  21569 #ifndef NOSYSLOG
 I1    X  21570 #ifndef CKSYSLOG
 I1    X  21571 #define CKSYSLOG
 I1    X  21572 #endif /* CKSYSLOG */
 I1    X  21573 #endif /* NOSYSLOG */
 I1    X  21574 #endif /* NT */
 I1    X  21575 #ifdef UNIX
 I1    X  21576 #ifndef NOSYSLOG
 I1    X  21577 #ifndef CKSYSLOG
 I1    X  21578 #define CKSYSLOG
 I1    X  21579 #endif /* CKSYSLOG */
 I1    X  21580 #endif /* NOSYSLOG */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 386
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21581 #ifndef NOWTMP
 I1    X  21582 #ifndef CKWTMP
 I1    X  21583 #define CKWTMP
 I1    X  21584 #endif /* CKWTMP */
 I1    X  21585 #endif /* NOWTMP */
 I1    X  21586 #ifndef NOGETUSERSHELL
 I1    X  21587 #ifndef GETUSERSHELL
 I1    X  21588 #define GETUSERSHELL
 I1    X  21589 #endif /* GETUSERSHELL */
 I1    X  21590 #endif /* NOGETUSERSHELL */
 I1    X  21591 #endif /* UNIX */
 I1    X  21592 _PROTOTYP( int ckxlogin, (CHAR *, CHAR *, CHAR *, int));
 I1    X  21593 _PROTOTYP( int ckxlogout, (VOID));
 I1    X  21594 #endif /* CK_LOGIN */
 I1	  21595 
 I1	  21596 #ifndef NOZLOCALTIME			/* zlocaltime() available. */
 I1    X  21597 #ifdef OS2ORUNIX
 I1    X  21598 #define ZLOCALTIME
 I1    X  21599 _PROTOTYP( char * zlocaltime, (char *) );
 I1    X  21600 #endif /* OS2ORUNIX */
 I1	  21601 #endif /* NOZLOCALTIME */
 I1	  21602 
 I1    X  21603 #ifdef CKSYSLOG				/* Syslogging levels */
 I1    X  21604 #define SYSLG_NO 0			/* No logging */
 I1    X  21605 #define SYSLG_LI 1			/* Login/out */
 I1    X  21606 #define SYSLG_DI 2			/* Dialing out */
 I1    X  21607 #define SYSLG_AC 3			/* Making any kind of connection */
 I1    X  21608 #define SYSLG_PR 4                      /* Protocol Operations */
 I1    X  21609 #define SYSLG_FC 5			/* File creation */
 I1    X  21610 #define SYSLG_FA 6			/* File reading */
 I1    X  21611 #define SYSLG_CM 7			/* Top-level commands */
 I1    X  21612 #define SYSLG_CX 8			/* All commands */
 I1    X  21613 #define SYSLG_DB 9			/* Debug */
 I1    X  21614 #define SYSLGMAX 9			/* Highest level */
 I1    X  21615 #define SYSLG_DF SYSLG_FA		/* Default level */
 I1    X  21616 /* Logging function */
 I1    X  21617 _PROTOTYP(VOID cksyslog,(int, int, char *, char *, char *));
 I1    X  21618 #endif /* CKSYSLOG */
 I1	  21619 #ifndef CKCMAI
 I1	  21620 extern int ckxlogging, ckxsyslog, ikdbopen;
 I1	  21621 #endif /* CKCMAI */
 I1	  21622 
 I1	  21623 #ifndef CK_KEYTAB
 I1	  21624 #define CK_KEYTAB
 I1	  21625 /* Keyword Table Template */
 I1	  21626 
 I1	  21627 /* Note: formerly defined in ckucmd.h but now more widely used */
 I1	  21628 
 I1	  21629 struct keytab {				/* Keyword table */
 I1	  21630     char *kwd;				/* Pointer to keyword string */
 I1	  21631     int kwval;				/* Associated value */
 I1	  21632     int flgs;				/* Flags (as defined above) */
 I1	  21633 };
 I1	  21634 #endif /* CK_KEYTAB */
 I1	  21635 
 I1    X  21636 #ifdef UNIX
 I1    X  21637 _PROTOTYP( int isalink, (char *));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 387
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21638 #endif	/* UNIX */
 I1	  21639 
 I1    X  21640 #ifdef NETPTY
 I1    X  21641 _PROTOTYP( int do_pty, (int *, char *, int));
 I1    X  21642 _PROTOTYP( VOID end_pty, (void));
 I1    X  21643 #endif /* NETPTY */
 I1	  21644 
 I1    X  21645 #ifdef CKROOT
 I1    X  21646 _PROTOTYP( int zsetroot, (char *) );
 I1    X  21647 _PROTOTYP( char * zgetroot, (void) );
 I1    X  21648 _PROTOTYP( int zinroot, (char *) );
 I1    X  21649 #endif /* CKROOT */
 I1	  21650 
 I1	  21651 /* Local Echo Buffer prototypes */
 I1	  21652 _PROTOTYP( VOID le_init, (void) );
       E	 void le_init ( void )
 I1	  21653 _PROTOTYP( VOID le_clean, (void));
       E	 void le_clean ( void )
 I1	  21654 _PROTOTYP( int le_inbuf, (void));
       E	 int le_inbuf ( void )
 I1	  21655 _PROTOTYP( int le_putstr, (CHAR *));
       E	 int le_putstr ( CHAR * )
 I1	  21656 _PROTOTYP( int le_puts, (CHAR *, int));
       E	 int le_puts ( CHAR * , int )
 I1	  21657 _PROTOTYP( int le_putchar, (CHAR));
       E	 int le_putchar ( CHAR )
 I1	  21658 _PROTOTYP( int le_getchar, (CHAR *));
       E	 int le_getchar ( CHAR * )
 I1	  21659 
 I1	  21660 /* #ifndef NOHTTP */
 I1	  21661 #ifndef NOCMDATE2TM
 I1	  21662 #ifndef CMDATE2TM
 I1    X  21663 #ifdef OS2ORUNIX
 I1    X  21664 #define CMDATE2TM
 I1    X  21665 #endif /* OS2ORUNIX */
 I1	  21666 #ifdef VMS
 I1	  21667 #define CMDATE2TM
 I1	  21668 #endif /* VMS */
 I1	  21669 #endif /* CMDATE2TM */
 I1	  21670 #endif /* NOCMDATE2TM */
 I1	  21671 
 I1	  21672 #ifndef NOLOCALE
 I1    X  21673 #ifdef BSD44ORPOSIX
 I1    X  21674 #ifndef NO_NL_LANGINFO
 I1    X  21675 #ifndef HAVE_LOCALE
 I1    X  21676 #define HAVE_LOCALE
 I1    X  21677 #include <locale.h>
 I1    X  21678 #endif /* HAVE_LOCALE */
 I1    X  21679 #endif /* NO_NL_LANGINFO */
 I1    X  21680 #endif /* BSD44ORPOSIX */
 I1	  21681 #endif /* NOLOCALE */
 I1	  21682 
 I1	  21683 #ifdef CMDATE2TM
 I1	  21684 _PROTOTYP( struct tm * cmdate2tm, (char *,int));
       E	 struct tm * cmdate2tm ( char * , int )
 I1	  21685 #endif /* CMDATE2TM */
 I1	  21686 /* #endif */ /* NOHTTP */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 388
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  21687 
 I1	  21688 #ifndef NOSETTIME			/* This would be set in CFLAGS */
 I1    X  21689 #ifdef SVR4ORPOSIX			/* Defined in IEEE 1003.1-1996 */
 I1    X  21690 #ifndef UTIMEH				/* and in SVID for SVR4 */
 I1    X  21691 #define UTIMEH
 I1    X  21692 #endif /* UTIMEH */
 I1    X  21693 #else  /* SVR4ORPOSIX */
 I1    X  21694 #ifdef OSF				/* Verified by Lucas Hart */
 I1    X  21695 #ifndef UTIMEH
 I1    X  21696 #define UTIMEH
 I1    X  21697 #endif /* UTIMEH */
 I1    X  21698 #else  /* OSF */
 I1    X  21699 #ifdef SUNOS41				/* Verified by Lucas Hart */
 I1    X  21700 #ifndef UTIMEH
 I1    X  21701 #define UTIMEH
 I1    X  21702 #endif /* UTIMEH */
 I1    X  21703 #else  /* SUNOS41 */
 I1    X  21704 #ifdef OS2
 I1    X  21705 #ifndef SYSUTIMEH
 I1    X  21706 #define SYSUTIMEH
 I1    X  21707 #endif /* SYSUTIMEH */
 I1    X  21708 #else /* OS2 */
 I1	  21709 #ifdef VMS
 I1	  21710 #ifndef UTIMEH
 I1	  21711 #define UTIMEH
 I1	  21712 #endif /* UTIMEH */
 I1	  21713 #endif /* VMS */
 I1	  21714 #endif /* OS2 */
 I1	  21715 #endif /* SUNOS41 */
 I1	  21716 #endif /* OSF */
 I1	  21717 #endif /* SVR4ORPOSIX */
 I1	  21718 #endif /* NOSETTIME */
 I1	  21719 
 I1	  21720 #ifdef NEWFTP
 I1	  21721 _PROTOTYP( int ftpisconnected, (void));
       E	 int ftpisconnected ( void )
 I1	  21722 _PROTOTYP( int ftpisloggedin, (void));
       E	 int ftpisloggedin ( void )
 I1	  21723 _PROTOTYP( int ftpissecure, (void));
       E	 int ftpissecure ( void )
 I1	  21724 #endif /* NEWFTP */
 I1	  21725 
 I1	  21726 /* 
 I1	  21727   -DNOTCPIP = Build with no TCP/IP support,
 I1	  21728    which unexpectedly turned out not to be a major task.
 I1	  21729    - fdc May 2022
 I1	  21730 */
 I1    X  21731 #ifdef NOTCPIP
 I1    X  21732 #ifdef TCPSOCKET
 I1    X  21733 #undef TCPSOCKET
 I1    X  21734 #endif /* TCPSOCKET */
 I1    X  21735 #ifndef NOFTP                           /* No TCP means no FTP... */
 I1    X  21736 #define NOFTP
 I1    X  21737 #endif /* NOFTP */
 I1    X  21738 #ifdef NEWFTP
 I1    X  21739 #undef NEWFTP
 I1    X  21740 #endif /* NEWFTP */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 389
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21741 #ifdef SYSFTP
 I1    X  21742 #undef SYSFTP
 I1    X  21743 #endif /* SYSFTP */
 I1    X  21744 #ifdef SFTP
 I1    X  21745 #undef SFTP
 I1    X  21746 #endif /* SFTP */
 I1    X  21747 #ifdef SFTP_BUILTIN
 I1    X  21748 #undef SFTP_BUILTIN
 I1    X  21749 #endif  /* SFTP_BUILTIN */
 I1    X  21750 #ifdef TELNET                           /* No Telnet */
 I1    X  21751 #undef TELNET
 I1    X  21752 #endif  /* TELNET */
 I1    X  21753 #ifdef TNCODE
 I1    X  21754 #undef TNCODE
 I1    X  21755 #endif  /* TNCODE */
 I1    X  21756 #ifdef TN_COMPORT                       /* No Telnet terminal server */
 I1    X  21757 #undef TN_COMPORT
 I1    X  21758 #endif  /* TN_COMPORT */
 I1    X  21759 #ifndef NOHTTP                          /* no HTTP... */
 I1    X  21760 #define NOHTTP
 I1    X  21761 #endif /* NOHTTP */
 I1    X  21762 #ifndef NOBROWSER                       /* no Web browser... */
 I1    X  21763 #define NOBROWSER
 I1    X  21764 #endif /* NOBROWSER */
 I1    X  21765 #ifndef NORLOGIN                        /* no Rlogin... */
 I1    X  21766 #define NORLOGIN
 I1    X  21767 #endif  /* NORLOGIN */
 I1    X  21768 #ifdef IKSD                             /* No Internet Kermit Server */
 I1    X  21769 #undef IKSD
 I1    X  21770 #endif /* IKSD */
 I1    X  21771 #ifdef IKSDB
 I1    X  21772 #undef IKSDB
 I1    X  21773 #endif /* IKSDB */
 I1    X  21774 #ifdef IKSDCONF
 I1    X  21775 #undef IKSDCONF
 I1    X  21776 #endif /* IKSDCONF */
 I1    X  21777 #ifndef NOIKSD				/* Internet Kermit Service */
 I1    X  21778 #define NOIKSD
 I1    X  21779 #endif /* NOIKSD */
 I1    X  21780 #ifdef IKS_OPTION
 I1    X  21781 #undef IKS_OPTION
 I1    X  21782 #endif /* IKS_OPTION */
 I1    X  21783 #ifdef CK_LOGIN
 I1    X  21784 #undef CK_LOGIN
 I1    X  21785 #endif /* CK_LOGIN */
 I1    X  21786 #ifdef CKSYSLOG
 I1    X  21787 #undef CKSYSLOG
 I1    X  21788 #endif /* CKSYSLOG */
 I1    X  21789 #ifndef NOWTMP
 I1    X  21790 #define NOWTMP
 I1    X  21791 #endif /* NOWTMP */
 I1    X  21792 #ifdef CKWTMP
 I1    X  21793 #undef CKWTMP
 I1    X  21794 #endif /* CKWTMP */
 I1    X  21795 #ifdef CK_AUTHENTICATION                /* No Internet security protocols */
 I1    X  21796 #undef CK_AUTHENTICATION
 I1    X  21797 #endif /* CK_AUTHENTICATION */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 390
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21798 #ifdef CK_ENCRYPTION
 I1    X  21799 #undef CK_ENCRYPTION
 I1    X  21800 #endif /* CK_ENCRYPTION */
 I1    X  21801 #ifdef CK_SSL
 I1    X  21802 #undef CK_SSL
 I1    X  21803 #endif /* CK_SSL */
 I1    X  21804 #ifndef NOSSL
 I1    X  21805 #define NOSSL
 I1    X  21806 #endif  /* NOSSL */
 I1    X  21807 #ifdef CK_SNDLOC
 I1    X  21808 #undef CK_SNDLOC
 I1    X  21809 #endif /* CK_SNDLOC */
 I1    X  21810 #ifdef SSHBUILTIN                       /* No built-in SSH client */
 I1    X  21811 #undef SSHBUILTIN
 I1    X  21812 #endif  /* SSHBUILTIN */
 I1    X  21813 #ifdef SSHTEST
 I1    X  21814 #undef SSHTEST
 I1    X  21815 #endif  /* SSHTEST */
 I1    X  21816 #else
 I1    X  21817 #ifndef NETCONN
 I1    X  21818 #define NETCONN
 I1    X  21819 #endif  /* NETCONN */
 I1	  21820 #endif /* NOTCPIP */
 I1	  21821 
 I1	  21822 _PROTOTYP( int readpass, (char *, char *, int));
       E	 int readpass ( char * , char * , int )
 I1	  21823 _PROTOTYP( int readtext, (char *, char *, int));
       E	 int readtext ( char * , char * , int )
 I1	  21824 
 I1    X  21825 #ifdef OS2
 I1    X  21826 _PROTOTYP(int ck_auth_loaddll, (VOID));
 I1    X  21827 _PROTOTYP(int ck_auth_unloaddll, (VOID));
 I1    X  21828 #endif /* OS2 */
 I1	  21829 
 I1    X  21830 #ifdef NT
 I1    X  21831 _PROTOTYP(DWORD ckGetLongPathname,(LPCSTR lpFileName, 
 I1    X  21832                                    LPSTR lpBuffer, DWORD cchBuffer));
 I1    X  21833 _PROTOTYP(DWORD ckGetShortPathName,(LPCSTR lpszLongPath,
 I1    X  21834                                     LPSTR lpszShortPath, DWORD cchBuffer));
 I1    X  21835 #ifndef CK_HAVE_INTPTR_T
 I1    X  21836 /* Any windows compiler too old to support this will be 32-bits (or less) */
 I1    X  21837 #ifndef _INTPTR_T_DEFINED
 I1    X  21838 typedef int intptr_t;
 I1    X  21839 #endif /* _INTPTR_T_DEFINED */
 I1    X  21840 typedef unsigned long DWORD_PTR;
 I1    X  21841 #define CK_HAVE_INTPTR_T
 I1    X  21842 #endif /* CK_HAVE_INTPTR_T */
 I1    X  21843 #endif /* NT */
 I1	  21844 
 I1	  21845 /*
 I1	  21846  * On Windows, ttyfd is frequently used to hold HANDLEs which are a kind of pointer.
 I1	  21847  * So on ttyfd must be of a sufficient size to hold a pointer.
 I1	  21848  */
 I1    X  21849 #ifdef OS2
 I1    X  21850 #ifdef CK_HAVE_INTPTR_T
 I1    X  21851 #define CK_TTYFD_T intptr_t
 I1    X  21852 #else /* CK_HAVE_INTPTR_T */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 391
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1    X  21853 #define CK_TTYFD_T int
 I1    X  21854 #endif /* CK_HAVE_INTPTR_T */
 I1    X  21855 #else /* OS2 */
 I1	  21856 /* Not on Windows or OS/2? its just an int */
 I1	  21857 #define CK_TTYFD_T int
 I1	  21858 #endif /* OS2 */
 I1	  21859 
 I1	  21860 
 I1	  21861 #include "ckclib.h"
 I2	  21862 /* ckclib.h -- C-Kermit library routine prototypes */
 I2	  21863 /*
 I2	  21864   Author: Frank da Cruz <fdc@columbia.edu>,
 I2	  21865   Columbia University Academic Information Systems, New York City.
 I2	  21866 
 I2	  21867   Copyright (C) 2002, 2009,
 I2	  21868     Trustees of Columbia University in the City of New York.
 I2	  21869     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I2	  21870     copyright text in the ckcmai.c module for disclaimer and permissions.
 I2	  21871 */
 I2	  21872 #ifndef CKCLIB_H
 I2	  21873 #define CKCLIB_H
 I2	  21874 
 I2	  21875 struct stringarray {
 I2	  21876     char ** a_head;
 I2	  21877     int a_size;
 I2	  21878 };
 I2	  21879 
 I2	  21880 #ifdef CK_ANSIC
 I2	  21881 _PROTOTYP( int ckstrncpy, (char *, const char *, int) );
       E	 int ckstrncpy ( char * , const char * , int )
 I2	  21882 _PROTOTYP( int ckstrncat, (char *, const char *, int) );
       E	 int ckstrncat ( char * , const char * , int )
 I2    X  21883 #else
 I2    X  21884 _PROTOTYP( int ckstrncpy, (char *, char *, int) );
 I2    X  21885 _PROTOTYP( int ckstrncat, (char *, char *, int) );
 I2    X  21886 #endif /* CK_ANSIC */
 I2	  21887 
 I2	  21888 _PROTOTYP( int ckmakmsg,  (char *, int, char *, char *, char *, char *) );
       E	 int ckmakmsg ( char * , int , char * , char * , char * , char * )
 I2	  21889 _PROTOTYP( int ckmakxmsg, (char *, int,
       E	 int ckmakxmsg ( char * , int , char * , char * , char * , char * , char * , char * , char * , char * , char * , cha
       E	r * , char * , char * )
 I2	  21890                            char *, char *, char *, char *, char *, char *,
 I2	  21891                            char *, char *, char *, char *, char *, char *) );
 I2	  21892 
 I2	  21893 _PROTOTYP( char * ckstrpbrk, (char *, char *) );
       E	 char * ckstrpbrk ( char * , char * )
 I2	  21894 _PROTOTYP( char * ckstrstr, (char *, char *) );
       E	 char * ckstrstr ( char * , char * )
 I2	  21895 _PROTOTYP( char * chartostr, (int) );
       E	 char * chartostr ( int )
 I2	  21896 _PROTOTYP( int cklower, (char *) );
       E	 int cklower ( char * )
 I2	  21897 _PROTOTYP( int ckupper, (char *) );
       E	 int ckupper ( char * )
 I2	  21898 _PROTOTYP( int ckindex, (char *, char *, int, int, int) );
       E	 int ckindex ( char * , char * , int , int , int )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 392
V1.0                                                             5-MAY-2023 14:33:19  [UTILITY.SOURCE.KERMIT.x-20230622]ckclib.h;1

 I2	  21899 _PROTOTYP( char * ckctoa, (char) );
       E	 char * ckctoa ( char )
 I2	  21900 _PROTOTYP( char * ckctox, (CHAR, int) );
       E	 char * ckctox ( CHAR , int )
 I2	  21901 _PROTOTYP( char * ckitoa, (int) );
       E	 char * ckitoa ( int )
 I2	  21902 _PROTOTYP( char * ckuitoa, (unsigned int) );
       E	 char * ckuitoa ( unsigned int )
 I2	  21903 _PROTOTYP( char * ckltoa, (long) );
       E	 char * ckltoa ( long )
 I2	  21904 _PROTOTYP( char * ckultoa, (unsigned long) );
       E	 char * ckultoa ( unsigned long )
 I2	  21905 _PROTOTYP( char * ckfstoa, (CK_OFF_T) );
       E	 char * ckfstoa ( off_t )
 I2	  21906 _PROTOTYP( CK_OFF_T ckatofs, (char *) );
       E	 off_t ckatofs ( char * )
 I2	  21907 _PROTOTYP( char * ckitox, (int) );
       E	 char * ckitox ( int )
 I2	  21908 _PROTOTYP( char * ckltox, (long) );
       E	 char * ckltox ( long )
 I2	  21909 _PROTOTYP( int ispattern, (char *) );
       E	 int ispattern ( char * )
 I2	  21910 _PROTOTYP( int ckmatch, (char *, char *, int, int ) );
       E	 int ckmatch ( char * , char * , int , int )
 I2	  21911 _PROTOTYP( VOID ckmemcpy, (char *, char *, int) );
       E	 void ckmemcpy ( char * , char * , int )
 I2	  21912 _PROTOTYP( char * ckstrchr, (char *, char) );
       E	 char * ckstrchr ( char * , char )
 I2	  21913 _PROTOTYP( char * ckstrrchr, (char *, char) );
       E	 char * ckstrrchr ( char * , char )
 I2	  21914 _PROTOTYP( int ckrchar, (char *) );
       E	 int ckrchar ( char * )
 I2	  21915 _PROTOTYP( int ckstrcmp, (char *, char *, int, int) );
       E	 int ckstrcmp ( char * , char * , int , int )
 I2	  21916 #define xxstrcmp(a,b,c) ckstrcmp(a,b,c,0)
 I2	  21917 _PROTOTYP( int ckstrpre, (char *, char *) );
       E	 int ckstrpre ( char * , char * )
 I2	  21918 _PROTOTYP( VOID sh_sort, (char **, char **, int, int, int, int) );
       E	 void sh_sort ( char * * , char * * , int , int , int , int )
 I2	  21919 _PROTOTYP( char * brstrip, (char *) );
       E	 char * brstrip ( char * )
 I2	  21920 _PROTOTYP( char * fnstrip, (char *) );
       E	 char * fnstrip ( char * )
 I2    X  21921 #ifdef COMMENT
 I2    X  21922 _PROTOTYP( char * brace, (char *) );
 I2    X  21923 #endif /* COMMENT */
 I2	  21924 _PROTOTYP( int dquote, (char *, int, int) );
       E	 int dquote ( char * , int , int )
 I2	  21925 _PROTOTYP( int untabify, (char *, char *, int) );
       E	 int untabify ( char * , char * , int )
 I2	  21926 _PROTOTYP( VOID makelist, (char *, char *[], int) );
       E	 void makelist ( char * , char * [ ] , int )
 I2    X  21927 #ifndef CK_ANSIC
 I2    X  21928 _PROTOTYP( VOID makestr, (char **, char *) );
 I2    X  21929 _PROTOTYP( VOID xmakestr, (char **, char *) );
 I2    X  21930 #else /* CK_ANSIC */
 I2	  21931 _PROTOTYP( VOID makestr, (char **, const char *) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 393
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckclib.h;1

       E	 void makestr ( char * * , const char * )
 I2	  21932 _PROTOTYP( VOID xmakestr, (char **, const char *) );
       E	 void xmakestr ( char * * , const char * )
 I2	  21933 #endif /* CK_ANSIC */
 I2	  21934 _PROTOTYP( int chknum, (char *) );
       E	 int chknum ( char * )
 I2	  21935 _PROTOTYP( int rdigits, (char *) );
       E	 int rdigits ( char * )
 I2	  21936 _PROTOTYP( char * ckradix, (char *,int,int) );
       E	 char * ckradix ( char * , int , int )
 I2	  21937 
 I2	  21938 /* Base-64 conversion needed for script programming and HTTP */
 I2	  21939 
 I2	  21940 #ifndef NOB64
 I2	  21941 _PROTOTYP( int b8tob64, (char *,int,char *,int));
       E	 int b8tob64 ( char * , int , char * , int )
 I2	  21942 _PROTOTYP( int b64tob8, (char *,int,char *,int));
       E	 int b64tob8 ( char * , int , char * , int )
 I2	  21943 #endif /* NOB64 */
 I2	  21944 
 I2	  21945 #ifdef CKFLOAT
 I2	  21946 _PROTOTYP( int isfloat, (char *,int) );
       E	 int isfloat ( char * , int )
 I2	  21947 #ifndef CKCLIB_C
 I2	  21948 #ifndef CKWART_C
 I2	  21949 extern CKFLOAT floatval;
       E	        double
 I2	  21950 #endif /* CKWART_C */
 I2	  21951 #endif /* CKCLIB_C */
 I2	  21952 #endif /* CKFLOAT */
 I2	  21953 
 I2	  21954 _PROTOTYP( char * parnam, (char) );
       E	 char * parnam ( char )
 I2	  21955 _PROTOTYP( char *hhmmss, (long) );
       E	 char * hhmmss ( long )
 I2	  21956 
 I2	  21957 _PROTOTYP( VOID lset, (char *, char *, int, int) );
       E	 void lset ( char * , char * , int , int )
 I2	  21958 _PROTOTYP( VOID rset, (char *, char *, int, int) );
       E	 void rset ( char * , char * , int , int )
 I2	  21959 _PROTOTYP( char * ulongtohex, (unsigned long, int) );
       E	 char * ulongtohex ( unsigned long , int )
 I2	  21960 _PROTOTYP( long hextoulong, (char *, int) );
       E	 long hextoulong ( char * , int )
 I2	  21961 _PROTOTYP( struct stringarray * cksplit, (int,int,
       E	 struct stringarray * cksplit ( int , int , char * , char * , char * , int , int , int , int )
 I2	  21962    char *,char *,char *,int,int,int,int) );
 I2	  21963 
 I2	  21964 _PROTOTYP( int ckhexbytetoint, (char *) );
       E	 int ckhexbytetoint ( char * )
 I2	  21965 #endif /* CKCLIB_H */
 I1	  21966 
 I1    X  21967 #ifdef COMMENT
 I1	  21968 /*
 I1	  21969   This was a first attempt to prototypes for over 400 functions that never had
 I1	  21970   them before, which are needed now since compilers like Clang complains about
 I1	  21971   every single function that does not have prototype, and claims this will be

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 394
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckcdeb.h;1

 I1	  21972   a fatal error in a forthcoming release.  The new prototypes are in the new
 I1	  21973   header file ckcfnp.h: 436 of them to start.  But the prototypes need to know
 I1	  21974   about typedefs that haven't been made yet, since ckcdeb.h is #included
 I1	  21975   before the other headers where that happened.  I thought maybe I could
 I1	  21976   include them here, but it was a rabbit hole.  The only way to insure the
 I1	  21977   prototypes work without messing everything else up is to put "#include
 I1	  21978   ckcfnp.h" in every single Kermit module AFTER what was the last #include.
 I1	  21979   - fdc, 23 March 2023
 I1    X  21980 */
 I1    X  21981 #ifndef NOANSI
 I1    X  21982 #ifdef __STDC__
 I1    X  21983 #ifdef CK_ANSIC                     /* New C-Kermit 10.0 Beta.09 */
 I1    X  21984 #include "ckucmd.h"                 /* For typedefs */
 I1    X  21985 #include "ckcnet.h"                 /* For typedefs */
 I1    X  21986 #include "ckuath.h"                 /* For typedefs */
 I1    X  21987 #include "ckucmd.h"                 /* For typedefs */
 I1    X  21988 #include "ckcker.h"                 /* For typedefs */
 I1    X  21989 #include "ckuusr.h"                 /* For typedefs */
 I1    X  21990 #include "ckctel.h"                 /* For typedefs */
 I1    X  21991 #include "ckcfnp.h"                 /* Prototypes for all functions */
 I1    X  21992 /* ckcsig.h */
 I1    X  21993 /* ckusig.h */
 I1    X  21994 #endif /* CK_ANSIC */
 I1    X  21995 #endif /* __STDC__ */
 I1    X  21996 #endif /* NOANSI */
 I1    X  21997 #endif /* COMMENT */
 I1	  21998 
 I1	  21999 /* End of ckcdeb.h */
 I1	  22000 #endif /* CKCDEB_H */
	  22001 
	  22002 #ifndef NOFTP                           /* NOFTP  = no FTP */
	  22003 #ifndef SYSFTP                          /* SYSFTP = use external ftp client */
	  22004 #ifdef TCPSOCKET                        /* Build only if TCP/IP included */
	  22005 #define CKCFTP_C
	  22006 
	  22007 /* Note: much of the following duplicates what was done in ckcdeb.h */
	  22008 /* but let's not mess with it unless it causes trouble. */
	  22009 
	  22010 #ifdef CK_ANSIC
	  22011 #include <stdarg.h>
 I1	  22012 #ifndef __STDARG_LOADED
 I1	  22013 #define __STDARG_LOADED 1
 I1	  22014 
 I1	  22015 #ifndef __STDARG_PROCESSED
 I1	  22016 #define __STDARG_PROCESSED
 I1	  22017 
 I1	  22018 /****************************************************************************
 I1	  22019 **
 I1	  22020 **  <stdarg.h> - Variable Arguments 
 I1	  22021 **
 I1	  22022 *****************************************************************************
 I1	  22023 **  Header introduced by the ANSI C Standard
 I1	  22024 *****************************************************************************
 I1	  22025 */
 I1	  22026 /* ************************************************************************* */
 I1	  22027 /* *                                                                       * */
 I1	  22028 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 395
V1.0                                                             5-MAY-2023 14:33:19  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDARG)

 I1	  22029 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I1	  22030 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I1	  22031 /* * prior written permission of HPE.                                      * */
 I1	  22032 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I1	  22033 /* *                                                                       * */
 I1	  22034 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I1	  22035 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I1	  22036 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I1	  22037 /* * the prior written permission of VMS Software, Inc.                    * */
 I1	  22038 /* * Copyright 2019 VMS Software, Inc.                                     * */
 I1	  22039 /* *                                                                       * */
 I1	  22040 /* ************************************************************************* */
 I1	  22041 
 I1	  22042 #pragma __nostandard 
 I1    X  22043 #include <decc$types.h>
 I1	  22044 
 I1    X  22045 #ifdef __cplusplus
 I1    X  22046    extern "C" {
 I1    X  22047 #endif
 I1	  22048 
 I1	  22049 /*
 I1	  22050 **  The header files VARARGS.H and STDARG.H cannot be used together; undo the
 I1	  22051 **  effects of VARARGS.H.
 I1	  22052 */
 I1    X  22053 #ifdef __VARARGS_LOADED
 I1    X  22054 #  pragma message ("Mixing of stdarg.h and varargs.h may yield incorrect behavior")
 I1    X  22055 #  undef __VARARGS_LOADED
 I1    X  22056 #  undef va_dcl
 I1    X  22057 #  undef va_count
 I1    X  22058 #  undef va_start_1
 I1    X  22059 #  undef va_start
 I1    X  22060 #  undef va_arg
 I1    X  22061 #  undef va_end
 I1    X  22062 #endif
 I1	  22063 
 I1	  22064 
 I1    X  22065 #ifdef __NAMESPACE_STD
 I1    X  22066 namespace std {
 I1    X  22067 #endif
 I1	  22068 
 I1	  22069 /*
 I1	  22070 **  Declare a va_list 
 I1	  22071 */
 I1	  22072 #ifndef __VA_LIST
 I1	  22073 #  define __VA_LIST
 I1	  22074    typedef __va_list va_list;
 I1	  22075 #endif
 I1	  22076 
 I1    X  22077 #ifdef __NAMESPACE_STD
 I1    X  22078 } /* namespace std */
 I1    X  22079 #endif
 I1	  22080 
 I1	  22081 #if !defined(__x86_64)  /* Verified for x86, John Reagan */
 I1	  22082 
 I1	  22083 #if __X_FLOAT
 I1	  22084 #  define va_start(ap, parmN) \
 I1	  22085      ap = (__va_list) ((__char_ptr32) __VA_START_BUILTIN(parmN) + \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 396
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDARG)

 I1	  22086        (((__IS_X_FLOAT_BUILTIN(parmN) ? sizeof(long double *) : sizeof(parmN)) + 7) & ~7))
 I1    X  22087 #  if defined(__va_arg_no_comma) || (defined(__cplusplus) && defined(__ia64))
 I1    X  22088      /* Linux-style definition of va_arg, without comma operator */
 I1    X  22089 #    define va_arg(ap, type) (__IS_X_FLOAT_BUILTIN(type) ?           \
 I1    X  22090           (* ((type **)                                              \
 I1    X  22091             ((__char_ptr32)(ap = (__va_list) ((__char_ptr32) ap +    \
 I1    X  22092             ((sizeof(long double *) + 7) & ~7))) -                   \
 I1    X  22093              ((sizeof(long double *) + 7) & ~7)))[0])                \
 I1    X  22094           :                                                          \
 I1    X  22095           (  ((type *)                                               \
 I1    X  22096             ((__char_ptr32)(ap = (__va_list) ((__char_ptr32) ap +    \
 I1    X  22097             ((sizeof(type) + 7) & ~7))) -                            \
 I1    X  22098              ((sizeof(type) + 7) & ~7)))[0])                         \
 I1    X  22099        )
 I1    X  22100 #  else /* defined(__va_arg_no_comma) || (defined(__cplusplus) && defined(__ia64)) */
 I1	  22101      /* VMS-style definition of va_arg, using comma operator */
 I1	  22102 #    define va_arg(ap, type) (\
 I1	  22103        ap = (__va_list) ((__char_ptr32) ap + \
 I1	  22104         (((__IS_X_FLOAT_BUILTIN(type) ? sizeof(long double *) : sizeof(type)) + 7) & ~7)), \
 I1	  22105           __IS_X_FLOAT_BUILTIN(type) ? \
 I1	  22106           (** (type **)((__char_ptr32) ap - \
 I1	  22107  	(((__IS_X_FLOAT_BUILTIN(type) ? sizeof(long double *) : sizeof(type)) + 7) & ~7))) : \
 I1	  22108           ( * (type  *)((__char_ptr32) ap - \
 I1	  22109  	(((__IS_X_FLOAT_BUILTIN(type) ? sizeof(long double *) : sizeof(type)) + 7) & ~7))) )
 I1	  22110 #  endif /* defined(__va_arg_no_comma) || (defined(__cplusplus) && defined(__ia64)) */
 I1    X  22111 #else /* __X_FLOAT */
 I1	  22112 #  define va_start(ap, parmN) \
 I1    X  22113       ap = (__va_list) ((__char_ptr32) __VA_START_BUILTIN(parmN) + ((sizeof (parmN) + 7) & ~7))
 I1    X  22114 #  define va_arg(ap, type) (\
 I1    X  22115       ap = (__va_list) ((__char_ptr32) ap + ((sizeof (type) + 7) & ~7)), \
 I1    X  22116          (* (type *)((__char_ptr32) ap - ((sizeof (type) + 7) & ~7))))
 I1    X  22117 #endif /* __X_FLOAT */
 I1	  22118 
 I1	  22119 #define va_end(ap)  ap = (__va_list) 0
 I1    X  22120 #if defined(__DECC) && (__DECC_VER >= 70500000)
 I1    X  22121 #define va_copy(cp, ap) cp = (__va_list) ((__char_ptr32) __VA_COPY_BUILTIN(ap))
 I1    X  22122 #endif
 I1	  22123 #endif
 I1	  22124 
 I1	  22125 /* 
 I1	  22126 **  x86-64 support
 I1	  22127 */
 I1    X  22128 #if defined(__x86_64)  /* Verified for x86, John Reagan */
 I1    X  22129 #define va_start(ap, parmN) ap = __VA_START_BUILTIN(parmN)
 I1    X  22130 #define va_end(ap) __VA_END_BUILTIN(ap)
 I1    X  22131 #define va_arg(ap, type) __VA_ARG_BUILTIN(ap, type)
 I1    X  22132 #if !defined (__DECCXX)
 I1    X  22133 #define va_copy(cp, ap) cp = __VA_COPY_BUILTIN(ap)
 I1    X  22134 #endif
 I1    X  22135 #endif
 I1	  22136 
 I1	  22137 
 I1	  22138 /*
 I1	  22139 ** common for all platforms
 I1	  22140 */
 I1	  22141 
 I1	  22142 /* 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 397
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDARG)

 I1	  22143 **  va_count is an extension to the standard.
 I1	  22144 */ 
 I1	  22145 #ifndef __HIDE_FORBIDDEN_NAMES
 I1	  22146    unsigned int __VA_COUNT_BUILTIN(void);
 I1	  22147 #  define va_count(count) (count = __VA_COUNT_BUILTIN())
 I1	  22148 #endif
 I1	  22149 
 I1    X  22150 #ifdef __cplusplus
 I1    X  22151     }
 I1    X  22152 #endif
 I1	  22153 
 I1	  22154 #pragma __standard
 I1	  22155 #endif /* __STDARG_PROCESSED */
 I1	  22156 
 I1    X  22157 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I1    X  22158 #  ifndef __USING_STDARG_NAMES
 I1    X  22159 #    define __USING_STDARG_NAMES
 I1    X  22160      using std::va_list;
 I1    X  22161 #  endif
 I1    X  22162 #endif
 I1	  22163 
 I1	  22164 #endif /* __STDARG_LOADED */
       X  22165 #else /* CK_ANSIC */
       X  22166 #include <varargs.h>
       X  22167 #endif /* CK_ANSIC */
       X  22168 #include <signal.h>
       X  22169 #ifdef OS2
       X  22170 #ifdef OS2ONLY
       X  22171 #define INCL_WINERRORS
       X  22172 #include <os2.h>
       X  22173 #endif /* OS2ONLY */
       X  22174 #include "ckowin.h"
       X  22175 #include "ckocon.h"
       X  22176 #endif /* OS2 */
	  22177 #ifndef ZILOG
       X  22178 #ifdef NT
       X  22179 #include <setjmpex.h>
       X  22180 #ifdef NTSIG
       X  22181 extern int TlsIndex;
       X  22182 #endif /* NTSIG */
       X  22183 #else /* NT */
	  22184 #include <setjmp.h>
 I1	  22185 #ifndef __SETJMP_LOADED
 I1	  22186 #define __SETJMP_LOADED 1
 I1	  22187 
 I1	  22188 #ifndef __SETJMP_PROCESSED
 I1	  22189 #define __SETJMP_PROCESSED
 I1	  22190 
 I1	  22191 /* ************************************************************************* */
 I1	  22192 /* *                                                                       * */
 I1	  22193 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I1	  22194 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I1	  22195 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I1	  22196 /* * prior written permission of HPE.                                      * */
 I1	  22197 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I1	  22198 /* *                                                                       * */
 I1	  22199 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 398
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SETJMP)

 I1	  22200 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I1	  22201 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I1	  22202 /* * the prior written permission of VMS Software, Inc.                    * */
 I1	  22203 /* * Copyright 2017-2020 VMS Software, Inc.                                * */
 I1	  22204 /* *                                                                       * */
 I1	  22205 /* ************************************************************************* */
 I1	  22206 
 I1	  22207 #pragma __nostandard
 I1    X  22208 #include <decc$types.h>
 I1	  22209 
 I1    X  22210 #ifdef __cplusplus
 I1    X  22211     extern "C" {
 I1    X  22212 #define __decc$unknown_params ...
 I1    X  22213 #else
 I1	  22214 #define __decc$unknown_params
 I1	  22215 #endif
 I1	  22216 
 I1    X  22217 #if __INITIAL_POINTER_SIZE
 I1    X  22218 #   pragma __pointer_size __save
 I1    X  22219 #   if __CRTL_VER >= 70301000
 I1    X  22220 #       pragma __pointer_size 64
 I1    X  22221 #   else
 I1    X  22222 #       pragma __pointer_size 32
 I1    X  22223 #   endif
 I1    X  22224 #endif
 I1	  22225 
 I1    X  22226 #ifdef __NAMESPACE_STD
 I1    X  22227 namespace std {
 I1    X  22228 #endif
 I1	  22229 
 I1	  22230 /*
 I1	  22231 **  Define data structures
 I1	  22232 */
 I1	  22233 #pragma __member_alignment __save
 I1	  22234 #pragma __member_alignment
 I1    X  22235 #if defined(__FAST_SETJMP) || defined(__UNIX_SETJMP) || defined(__FAST_POSIX_SETJMP)
 I1    X  22236 #   if defined(__ALPHA)               /* Verified for x86, John Reagan */
 I1    X  22237        typedef __int64 jmp_buf [25];
 I1    X  22238 #   elif defined(__ia64)              /* Verified for x86, John Reagan */
 I1    X  22239        typedef __int64 jmp_buf [450]; /* same as invo block for now */
 I1    X  22240 #   elif defined(__x86_64)            /* Verified for x86, John Reagan */
 I1    X  22241        typedef __int64 jmp_buf [450]; /* same as invo block for now */
 I1    X  22242 #   else
 I1    X  22243        typedef __int64 jmp_buf [450]; /* Use maximum if unknown */
 I1    X  22244 #   endif
 I1    X  22245 #else
 I1    X  22246 #   if defined(__ALPHA)               /* Verified for x86, John Reagan */
 I1    X  22247        typedef __int64 jmp_buf [68];  /* 68 quadwords - standard invo cntxt block */
 I1    X  22248 #   elif defined(__ia64)              /* Verified for x86, John Reagan */
 I1	  22249        typedef __int64 jmp_buf [450]; /* 450 quadwords - standard invo cntxt block */
 I1    X  22250 #   elif defined(__x86_64)            /* Verified for x86, John Reagan */
 I1    X  22251        typedef __int64 jmp_buf [450]; /* ??? quadwords - standard invo cntxt block */
 I1    X  22252 #   else
 I1    X  22253        typedef __int64 jmp_buf [450]; /* Use maximum if unknown */
 I1    X  22254 #   endif
 I1	  22255 #endif
 I1	  22256 #pragma __member_alignment __restore

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 399
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SETJMP)

 I1	  22257 #define __JMP_BUF_TYPE __int64 *
 I1	  22258 
 I1    X  22259 #ifdef __NAMESPACE_STD
 I1    X  22260 } /* namespace std */
 I1    X  22261 #endif
 I1	  22262 
 I1	  22263 /*
 I1	  22264 **  This section is for functions and declarations which are pointer-size
 I1	  22265 **  dependent.
 I1	  22266 */
 I1    X  22267 #if defined(__FAST_SETJMP) || defined(__UNIX_SETJMP) || defined(__FAST_POSIX_SETJMP)
 I1    X  22268     void decc$fast_longjmp(__int64 *__env, int __retval);
 I1    X  22269 
 I1    X  22270 #   if defined(__FAST_POSIX_SETJMP)
 I1    X  22271 #      define longjmp(env, retval) decc$fast_longjmp(env, retval ? retval : 1 )
 I1    X  22272 #   else
 I1    X  22273 #      define longjmp(env, retval) decc$fast_longjmp(env, retval)
 I1    X  22274 #   endif
 I1    X  22275 
 I1    X  22276 #   if defined(__ALPHA)    /* Verified for x86, John Reagan */
 I1    X  22277        int decc$setjmp (__int64 *__env);
 I1    X  22278 #      define setjmp(env) decc$setjmp(env)
 I1    X  22279 #   else
 I1    X  22280        int decc$fast_setjmp (__int64 *__env);
 I1    X  22281 #      define setjmp(env) decc$fast_setjmp(env)
 I1    X  22282 #   endif
 I1    X  22283 
 I1    X  22284 #else
 I1	  22285 
 I1	  22286     void c$$establish(__void_ptr32, unsigned short);
 I1	  22287 
 I1    X  22288 #   if defined(__ALPHA)    /* Verified for x86, John Reagan */
 I1    X  22289 
 I1    X  22290 #      ifdef __INITIAL_POINTER_SIZE
 I1    X  22291 #        pragma __required_pointer_size __save
 I1    X  22292 #        pragma __required_pointer_size __long
 I1    X  22293 #      endif
 I1    X  22294 
 I1    X  22295        int LIB$GET_CURRENT_INVO_CONTEXT(__int64 *__invo_context);
 I1    X  22296 
 I1    X  22297 #      ifdef __INITIAL_POINTER_SIZE
 I1    X  22298 #        pragma __required_pointer_size __restore
 I1    X  22299 #      endif
 I1    X  22300 
 I1    X  22301 #      define setjmp(env) (c$$establish(0, 32 ),LIB$GET_CURRENT_INVO_CONTEXT(env))
 I1    X  22302 #   else
 I1	  22303        int decc$setjmp1 (__int64 *__env);
 I1	  22304 #      define setjmp(env) (c$$establish(0,32),decc$setjmp1(env))
 I1	  22305 #   endif
 I1	  22306 
 I1	  22307 #endif
 I1	  22308 
 I1    X  22309 #ifdef __NAMESPACE_STD
 I1    X  22310 namespace std {
 I1    X  22311 #endif
 I1	  22312 
 I1	  22313 void (longjmp) (jmp_buf __env, int __val);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 400
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SETJMP)

 I1	  22314 
 I1    X  22315 #ifdef __NAMESPACE_STD
 I1    X  22316 } /* namespace std */
 I1    X  22317 #endif
 I1	  22318 
 I1	  22319 #if __CRTL_VER >= 70000000
 I1	  22320 #    if _POSIX_C_SOURCE >= 1 || !defined _ANSI_C_SOURCE
 I1    X  22321 #        if (defined(__ALPHA))    /* Verified for x86, John Reagan */
 I1    X  22322              typedef __int64 __sigjmp_buf[70];
 I1    X  22323 #        elif (defined(__ia64))   /* Verified for x86, John Reagan */
 I1	  22324              typedef __int64 __sigjmp_buf[452];
 I1    X  22325 #        elif (defined(__x86_64)) /* Verified for x86, John Reagan */
 I1    X  22326              typedef __int64 __sigjmp_buf[452];
 I1    X  22327 #        else
 I1    X  22328              typedef __int64 __sigjmp_buf[452]; /* Use maximum if unknown */
 I1    X  22329 #        endif
 I1	  22330 
 I1	  22331 #        if !defined _DECC_V4_SOURCE
 I1	  22332              typedef __sigjmp_buf sigjmp_buf;
 I1	  22333 #        endif
 I1	  22334 
 I1	  22335          void siglongjmp (__sigjmp_buf __env, int __val);
 I1	  22336          int sigsetjmp   (__sigjmp_buf __env, int __savemask);
 I1	  22337 
 I1	  22338          void c$$establish(__void_ptr32, unsigned short);
 I1	  22339 #        define sigsetjmp( p1, p2 ) ( c$$establish(0,32), (sigsetjmp)(p1,p2) )
 I1	  22340 #    endif
 I1	  22341 #endif
 I1	  22342 
 I1	  22343 /*
 I1	  22344 **  Restore the users pointer context
 I1	  22345 */
 I1    X  22346 #if __INITIAL_POINTER_SIZE
 I1    X  22347 #   pragma __pointer_size __restore
 I1    X  22348 #endif
 I1	  22349 
 I1    X  22350 #ifdef __cplusplus
 I1    X  22351     }
 I1    X  22352 #endif
 I1	  22353 
 I1	  22354 #pragma __standard
 I1	  22355 #endif /* __SETJMP_PROCESSED */
 I1	  22356 
 I1    X  22357 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I1    X  22358 #  ifndef __USING_SETJMP_NAMES
 I1    X  22359 #    define __USING_SETJMP_NAMES
 I1    X  22360      using std::jmp_buf;
 I1    X  22361 #  if !defined(__FAST_SETJMP) && !defined(__UNIX_SETJMP) && !defined(__FAST_POSIX_SETJMP)
 I1    X  22362      using std::longjmp;
 I1    X  22363 #  endif
 I1    X  22364 #  endif
 I1    X  22365 #endif
 I1	  22366 
 I1	  22367 #endif /* __SETJMP_LOADED */
	  22368 #endif /* NT */
       X  22369 #else
       X  22370 #include <setret.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 401
V1.0                                                            14-MAY-2022 12:28:33  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  22371 #endif /* ZILOG */
	  22372 #include "ckcsig.h"
 I1	  22373 /*  C K C S I G . H  */
 I1	  22374 
 I1	  22375 /*  Definitions and prototypes for signal handling  */
 I1	  22376 
 I1	  22377 /*
 I1	  22378   Author: Jeffrey E Altman (jaltman@secure-endpoints.com),
 I1	  22379   Secure Endpoints Inc., New York City.
 I1	  22380 
 I1	  22381   Copyright (C) 1985, 2013
 I1	  22382     Trustees of Columbia University in the City of New York.
 I1	  22383     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  22384     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  22385 */
 I1    X  22386 #ifdef OS2
 I1    X  22387 #ifndef NT
 I1    X  22388 #ifndef __HEV__                 /* INCL_SEMAPHORE may also define HEV */
 I1    X  22389 #define __HEV__
 I1    X  22390 typedef  ULONG    HEV;                  /* hev */
 I1    X  22391 typedef  HEV      *PHEV;
 I1    X  22392 #endif /* __HEV__ */
 I1    X  22393 #endif /* NT */
 I1    X  22394 struct _threadinfo {
 I1    X  22395     int inuse;
 I1    X  22396     int child;
 I1    X  22397     int sibling;
 I1    X  22398 #ifdef NT
 I1    X  22399     HANDLE id;
 I1    X  22400     HANDLE handle;
 I1    X  22401     HANDLE parent;
 I1    X  22402     HANDLE CompletionSem ;
 I1    X  22403     HANDLE DieSem ;
 I1    X  22404 #else /* NT */
 I1    X  22405     TID id;
 I1    X  22406     TID parent;
 I1    X  22407     HEV CompletionSem;
 I1    X  22408     HEV DieSem;
 I1    X  22409 #endif /* NT */
 I1    X  22410 };
 I1    X  22411 #endif /* OS2 */
 I1	  22412 
 I1	  22413 #ifdef CK_ANSIC
 I1	  22414 typedef SIGTYP (*ck_sigfunc)(void *);
       E	         void
 I1	  22415 typedef SIGTYP (*ck_sighand)(int);
       E	         void
 I1    X  22416 #else
 I1    X  22417 typedef SIGTYP (*ck_sigfunc)();
 I1    X  22418 typedef SIGTYP (*ck_sighand)();
 I1    X  22419 #endif /* CK_ANSIC */
 I1	  22420 
 I1	  22421 /* Macros for POSIX vs old-style signal handling. */
 I1	  22422 
 I1    X  22423 #ifdef CK_POSIX_SIG
 I1    X  22424 typedef sigjmp_buf ckjmpbuf;
 I1    X  22425 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 402
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcsig.h;1

 I1    X  22426 #ifdef NT
 I1    X  22427 #define NOCRYPT
 I1    X  22428 #include <windows.h>
 I1    X  22429 #ifdef NTASM
 I1    X  22430 typedef struct {
 I1    X  22431     CONTEXT context;
 I1    X  22432     DWORD retcode;
 I1    X  22433 } ckjmpbuf;
 I1    X  22434 #else /* NTASM */
 I1    X  22435 typedef jmp_buf ckjmpbuf;
 I1    X  22436 #endif /* NTASM */
 I1    X  22437 #else
 I1	  22438 typedef jmp_buf ckjmpbuf;
 I1	  22439 #endif
 I1	  22440 #endif /* CK_POSIX_SIG */
 I1	  22441 /*
 I1	  22442   Suppose you want to pass the address of a jmp_buf bar to a function foo.
 I1	  22443   Since jmp_buf is normally defined (typedef'd) as an array, you would do
 I1	  22444   it like this:  foo(bar), where foo = foo(jmp_buf bar).  But suppose a
 I1	  22445   jmp_buf is (say) a struct rather than an array.  Then you must do
 I1	  22446   foo(&bar) where foo is foo(jmp_buf * bar).  This is controlled here in
 I1	  22447   the traditional fashion, by ifdefs.  By default, we assume that jmp_buf
 I1	  22448   is an array.  Define the symbol JBNOTARRAY if jmp_buf is not an array.
 I1	  22449 */
 I1	  22450 #ifndef JBNOTARRAY
 I1    X  22451 #ifdef NT
 I1    X  22452 #define JBNOTARRAY
 I1    X  22453 #endif /* NT */
 I1	  22454 #endif /* JBNOTARRAY */
 I1	  22455 
 I1    X  22456 #ifdef JBNOTARRAY
 I1    X  22457 typedef ckjmpbuf * ckjptr;
 I1    X  22458 #define ckjaddr(x) & x
 I1    X  22459 #define ckjdref(x) * x
 I1    X  22460 #ifdef CK_POSIX_SIG
 I1    X  22461 #define cksetjmp(x) sigsetjmp(x,1)
 I1    X  22462 #define cklongjmp(x,y) siglongjmp(x,y)
 I1    X  22463 #else
 I1    X  22464 #ifdef NT
 I1    X  22465 #ifdef COMMENT
 I1    X  22466 __inline int
 I1    X  22467 #else
 I1    X  22468 static __inline int /* duplicate definition issue */
 I1    X  22469 #endif /* COMMENT */
 I1    X  22470 
 I1    X  22471 ck_ih(void) {
 I1    X  22472     extern int TlsIndex;
 I1    X  22473 #ifdef NTSIG
 I1    X  22474     struct _threadinfo * threadinfo;
 I1    X  22475     threadinfo = (struct _threadinfo *) TlsGetValue(TlsIndex);
 I1    X  22476     if (threadinfo) {
 I1    X  22477         if (WaitAndResetSem(threadinfo->DieSem,0)) {
 I1    X  22478             ckThreadDie(threadinfo);
 I1    X  22479             return 1;                   /* This should never execute */
 I1    X  22480         }
 I1    X  22481     }
 I1    X  22482 #ifdef COMMENT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 403
V1.0                                                            26-APR-2023 01:00:59  [UTILITY.SOURCE.KERMIT.x-20230622]ckcsig.h;1

 I1    X  22483     else debug( F100, "ck_ih() threadinfo is NULL","",0);
 I1    X  22484 #endif /* COMMENT */
 I1    X  22485 #endif /* NTSIG */
 I1    X  22486     return 0;
 I1    X  22487 }
 I1    X  22488 #ifdef NTSIG
 I1    X  22489 #define cksetjmp(x) setjmp(x)
 I1    X  22490 #define cklongjmp(x,y) longjmp(x,y)
 I1    X  22491 #else /* NTSIG */
 I1    X  22492 #ifdef NTASM
 I1    X  22493 __inline DWORD
 I1    X  22494 cksetjmp( ckjptr jmp ) {
 I1    X  22495     extern int isinterrupted;
 I1    X  22496     jmp->retcode = 0;
 I1    X  22497     memset( &jmp->context, 0, sizeof(CONTEXT) );
 I1    X  22498     jmp->context.ContextFlags = CONTEXT_FULL ;
 I1    X  22499     if ( !GetThreadContext( GetCurrentThread(), &jmp->context ) )
 I1    X  22500       debug( F101, "cksetjmp GetThreadContext failed","",GetLastError());
 I1    X  22501     debug(F101,"cksetjmp returns","",jmp->retcode);
 I1    X  22502     isinterrupted = 0;
 I1    X  22503     return (jmp->retcode);
 I1    X  22504 }
 I1    X  22505 
 I1    X  22506 __inline void
 I1    X  22507 cklongjmp( ckjptr jmp, int retval ) {
 I1    X  22508     extern HANDLE tidCommand;
 I1    X  22509     extern int mdmtyp ;
 I1    X  22510     extern CK_TTYFD_T ttyfd;
 I1    X  22511     extern DWORD CommandID;
 I1    X  22512     extern int isinterrupted;
 I1    X  22513 
 I1    X  22514     connoi();
 I1    X  22515     isinterrupted = 1;
 I1    X  22516     jmp->retcode = ( retval ? retval : 1 );
 I1    X  22517     debug(F101,"about to SetThreadContext for thread","", CommandID);
 I1    X  22518     debug(F101,"from Thread","",GetCurrentThreadId());
 I1    X  22519     if ( mdmtyp >= 0 ) {
 I1    X  22520         PurgeComm( (HANDLE) ttyfd, PURGE_TXABORT | PURGE_RXABORT );
 I1    X  22521     }
 I1    X  22522     if (SetThreadContext( tidCommand, &jmp->context ))
 I1    X  22523       debug(F100,"cklongjmp SetThreadContext success","",0);
 I1    X  22524     else
 I1    X  22525       debug(F101,"cklongjmp SetThreadContext failed","",GetLastError());
 I1    X  22526     msleep(50);
 I1    X  22527     cmini(1);                           /* Reset command parser */
 I1    X  22528     putkey(13);                         /* Stuff a carriage return */
 I1    X  22529    /* PostEventAvailSem(); */
 I1    X  22530 }
 I1    X  22531 #else /* NTASM */
 I1    X  22532 void crash( void ) ;
 I1    X  22533 #define cksetjmp(x) setjmp(x)
 I1    X  22534 __inline void
 I1    X  22535 cklongjmp( ckjptr jmp, int retval ) {
 I1    X  22536     extern HANDLE tidCommand;
 I1    X  22537     extern int mdmtyp;
 I1    X  22538     extern CK_TTYFD_T ttyfd;
 I1    X  22539     extern DWORD CommandID;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 404
V1.0                                                            26-APR-2023 01:00:59  [UTILITY.SOURCE.KERMIT.x-20230622]ckcsig.h;1

 I1    X  22540     CONTEXT context;
 I1    X  22541 
 I1    X  22542     if ( mdmtyp >= 0 ) {
 I1    X  22543         PurgeComm( (HANDLE) ttyfd, PURGE_TXABORT | PURGE_RXABORT ) ;
 I1    X  22544     }
 I1    X  22545     memset( &context, 0, sizeof(CONTEXT) );
 I1    X  22546     context.ContextFlags = CONTEXT_FULL;
 I1    X  22547     if ( !GetThreadContext( tidCommand, &context ) )
 I1    X  22548       debug( F101, "cklongjmp GetThreadContext failed","",GetLastError());
 I1    X  22549 
 I1    X  22550     /* Invalidate the instruction pointer */
 I1    X  22551     context.Eip =  (unsigned long) crash;
 I1    X  22552 
 I1    X  22553     debug(F101,"about to SetThreadContext for thread","", CommandID);
 I1    X  22554     debug(F101,"from Thread","",GetCurrentThreadId());
 I1    X  22555     if (SetThreadContext( tidCommand, &context ))
 I1    X  22556       debug(F100,"cklongjmp SetThreadContext success","",0);
 I1    X  22557     else
 I1    X  22558       debug(F101,"cklongjmp SetThreadContext failed","",GetLastError());
 I1    X  22559 }
 I1    X  22560 #endif /* NTASM */
 I1    X  22561 #endif /* NTSIG */
 I1    X  22562 #else /* NT */
 I1    X  22563 #define cksetjmp(x) setjmp(x)
 I1    X  22564 #define cklongjmp(x,y) longjmp(x,y)
 I1    X  22565 #endif /* NT */
 I1    X  22566 #endif /* CK_POSIX_SIG */
 I1    X  22567 #else  /* jmp_buf is an array */
 I1	  22568 typedef ckjmpbuf ckjptr;
 I1	  22569 #define ckjaddr(x) x
 I1	  22570 #define ckjdref(x) x
 I1    X  22571 #ifdef CK_POSIX_SIG
 I1    X  22572 #define cksetjmp(x) sigsetjmp(x,1)
 I1    X  22573 #define cklongjmp(x,y) siglongjmp(x,y)
 I1    X  22574 #else
 I1	  22575 #define cksetjmp(x) setjmp(x)
 I1	  22576 #define cklongjmp(x,y) longjmp(x,y)
 I1	  22577 #endif /* CK_POSIX_SIG */
 I1	  22578 #endif /* JBNOTARRAY */
 I1	  22579 
 I1	  22580 _PROTOTYP( int cc_execute, (ckjptr, ck_sigfunc, ck_sigfunc) );
       E	 int cc_execute ( ckjptr , ck_sigfunc , ck_sigfunc )
 I1	  22581 _PROTOTYP( int alrm_execute,
       E	 int alrm_execute ( ckjptr , int , ck_sighand , ck_sigfunc , ck_sigfunc )
 I1	  22582           (ckjptr,
 I1	  22583            int /* timo */,
 I1	  22584            ck_sighand /* handler */,
 I1	  22585            ck_sigfunc, ck_sigfunc) );
 I1	  22586 _PROTOTYP( int cc_alrm_execute,
       E	 int cc_alrm_execute ( ckjptr , int , ck_sighand , ck_sigfunc , ck_sigfunc )
 I1	  22587           (ckjptr,
 I1	  22588            int /* timo */,
 I1	  22589            ck_sighand /* handler */,
 I1	  22590            ck_sigfunc,
 I1	  22591            ck_sigfunc) );
 I1	  22592 
 I1	  22593 /* End of ckusig.h */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 405
V1.0                                                            26-APR-2023 01:00:59  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  22594 #ifdef VMS
	  22595 /* 2010-03-09 SMS.  VAX C needs help to find "sys".  It's easier not to try. */
       X  22596 #include <stat.h>
       X  22597 #else /* def VMS */
       X  22598 #include <sys/stat.h>
       X  22599 #endif /* def VMS [else] */
       X  22600 #include <ctype.h>
	  22601 
	  22602 #ifndef HPUXPRE65
	  22603 #include <errno.h>			/* Error number symbols */
 I1	  22604 #ifndef __ERRNO_LOADED
 I1	  22605 #define __ERRNO_LOADED
 I1	  22606 /****************************************************************************
 I1	  22607 **
 I1	  22608 **  <errno.h> - Error definitions
 I1	  22609 **
 I1	  22610 *****************************************************************************
 I1	  22611 **  Header introduced by the ANSI C Standard
 I1	  22612 *****************************************************************************
 I1	  22613 **
 I1	  22614 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I1	  22615 **                                                                       
 I1	  22616 ** Confidential computer software.  Valid license from HP and/or         
 I1	  22617 ** its subsidiaries required for possession, use, or copying.            
 I1	  22618 **                                                                       
 I1	  22619 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I1	  22620 ** Computer Software Documentation, and Technical Data for Commercial    
 I1	  22621 ** Items are licensed to the U.S. Government under vendor's standard     
 I1	  22622 ** commercial license.                                                   
 I1	  22623 **                                                                       
 I1	  22624 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I1	  22625 ** or editorial errors or omissions contained herein.  The information   
 I1	  22626 ** in this document is provided "as is" without warranty of any kind and 
 I1	  22627 ** is subject to change without notice.  The warranties for HP products  
 I1	  22628 ** are set forth in the express limited warranty statements accompanying 
 I1	  22629 ** such products.  Nothing herein should be construed as constituting an 
 I1	  22630 ** additional warranty.                                                  
 I1	  22631 **
 I1	  22632 ******************************************************************************
 I1	  22633 */
 I1	  22634 
 I1	  22635 #pragma __nostandard
 I1    X  22636 #include <decc$types.h>
 I1    X  22637 #ifdef __cplusplus
 I1    X  22638     extern "C" {
 I1    X  22639 #endif
 I1	  22640 
 I1    X  22641 #if __INITIAL_POINTER_SIZE
 I1    X  22642 #   pragma __pointer_size __save
 I1    X  22643 #   pragma __pointer_size 32
 I1    X  22644 #endif
 I1	  22645 
 I1	  22646 
 I1	  22647 /*
 I1	  22648 **  Create 'public' typedefs that are either insensitive to pointer size or
 I1	  22649 **  are sensitive to pointer size and must use short pointers.
 I1	  22650 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 406
V1.0                                                            23-JUN-2023 08:54:50  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(ERRNO)

 I1	  22651 #define EPERM            1     /* Not owner                             */
 I1	  22652 #define ENOENT           2     /* No such file or directory             */
 I1	  22653 #define ESRCH            3     /* No such process                       */
 I1	  22654 #define EINTR            4     /* Interrupted system call               */
 I1	  22655 #define EIO              5     /* I/O error                             */
 I1	  22656 #define ENXIO            6     /* No such device or address             */
 I1	  22657 #define E2BIG            7     /* Arg list too long                     */
 I1	  22658 #define ENOEXEC          8     /* Exec format error                     */
 I1	  22659 #define EBADF            9     /* Bad file number                       */
 I1	  22660 #define ECHILD          10     /* No children                           */
 I1	  22661 #define EAGAIN          11     /* No more processes                     */
 I1	  22662 #define ENOMEM          12     /* Not enough core                       */
 I1	  22663 #define EACCES          13     /* Permission denied                     */
 I1	  22664 #define EFAULT          14     /* Bad address                           */
 I1	  22665 #define ENOTBLK         15     /* Block device required                 */
 I1	  22666 #define EBUSY           16     /* Mount device busy                     */
 I1	  22667 #define EEXIST          17     /* File exists                           */
 I1	  22668 #define EXDEV           18     /* Cross-device link                     */
 I1	  22669 #define ENODEV          19     /* No such device                        */
 I1	  22670 #define ENOTDIR         20     /* Not a directory                       */
 I1	  22671 #define EISDIR          21     /* Is a directory                        */
 I1	  22672 #define EINVAL          22     /* Invalid argument                      */
 I1	  22673 #define ENFILE          23     /* File table overflow                   */
 I1	  22674 #define EMFILE          24     /* Too many open files                   */
 I1	  22675 #define ENOTTY          25     /* Not a typewriter                      */
 I1	  22676 #define ETXTBSY         26     /* Text file busy                        */
 I1	  22677 #define EFBIG           27     /* File too large                        */
 I1	  22678 #define ENOSPC          28     /* No space left on device               */
 I1	  22679 #define ESPIPE          29     /* Illegal seek                          */
 I1	  22680 #define EROFS           30     /* Read-only file system                 */
 I1	  22681 #define EMLINK          31     /* Too many links                        */
 I1	  22682 #define EPIPE           32     /* Broken pipe                           */
 I1	  22683 #define EDOM            33     /* Math argument                         */
 I1	  22684 #define ERANGE          34     /* Result too large                      */
 I1	  22685 #define EWOULDBLOCK     35     /* I/O stream empty                      */
 I1	  22686 #define EINPROGRESS     36     /* Operation now in progress             */
 I1	  22687 #define EALREADY        37     /* Operation already in progress         */
 I1	  22688 #define ENOTSOCK        38     /* Socket operation on non-socket        */
 I1	  22689 #define EDESTADDRREQ    39     /* Destination address required          */
 I1	  22690 #define EMSGSIZE        40     /* Message too long                      */
 I1	  22691 #define EPROTOTYPE      41     /* Protocol wrong type for socket        */
 I1	  22692 #define ENOPROTOOPT     42     /* Protocol not available                */
 I1	  22693 #define EPROTONOSUPPORT 43     /* Protocol not supported                */
 I1	  22694 #define ESOCKTNOSUPPORT 44     /* Socket type not supported             */
 I1	  22695 #define EOPNOTSUPP      45     /* Operation not supported on socket     */
 I1	  22696 #define EPFNOSUPPORT    46     /* Protocol family not supported         */ 
 I1	  22697 #define EAFNOSUPPORT    47     /* Address family not supported          */
 I1	  22698 #define EADDRINUSE      48     /* Address already in use                */
 I1	  22699 #define EADDRNOTAVAIL   49     /* Can't assign requested address        */
 I1	  22700 #define ENETDOWN        50     /* Network is down                       */
 I1	  22701 #define ENETUNREACH     51     /* Network is unreachable                */
 I1	  22702 #define ENETRESET       52     /* Network dropped connection on reset   */
 I1	  22703 #define ECONNABORTED    53     /* Software caused connection abort      */
 I1	  22704 #define ECONNRESET      54     /* Connection reset by peer              */
 I1	  22705 #define ENOBUFS         55     /* No buffer space available             */
 I1	  22706 #define EISCONN         56     /* Socket is already connected           */
 I1	  22707 #define ENOTCONN        57     /* Socket is not connected               */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 407
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(ERRNO)

 I1	  22708 #define ESHUTDOWN       58     /* Can't send after socket shutdown      */
 I1	  22709 #define ETOOMANYREFS    59     /* Too many references: can't splice     */ 
 I1	  22710 #define ETIMEDOUT       60     /* Connection timed out                  */
 I1	  22711 #define ECONNREFUSED    61     /* Connection refused                    */
 I1	  22712 #define ELOOP           62     /* Too many levels of symbolic links     */
 I1	  22713 #define ENAMETOOLONG    63     /* File name too long                    */
 I1	  22714 #define EHOSTDOWN       64     /* Host is down                          */
 I1	  22715 #define EHOSTUNREACH    65     /* No route to host                      */
 I1	  22716 #define ENOTEMPTY       66     /* Directory not empty                   */
 I1	  22717 #define EPROCLIM        67     /* Too many processes                    */
 I1	  22718 #define EUSERS          68     /* Too many users                        */
 I1	  22719 #define EDQUOT          69     /* Disk quota exceeded                   */
 I1	  22720 #define ENOMSG          70     /* No message of desired type            */
 I1	  22721 #define EIDRM           71     /* Identifier removed                    */
 I1	  22722 #define EALIGN          72     /* Alignment error                       */
 I1	  22723 #define ESTALE          73     /* Stale NFS file handle                 */
 I1	  22724 #define EREMOTE         74     /* Too many levels of remote in path     */
 I1	  22725 #define ENOLCK          75     /* No locks available                    */
 I1	  22726 #define ENOSYS          76     /* Function not implemented              */
 I1	  22727 #define EFTYPE          77     /* Inappropriate operation for file type */
 I1	  22728 #define ECANCELED       78     /* Operation canceled                    */
 I1	  22729 #define EFAIL           79     /* Cannot start operation                */
 I1	  22730 #define EINPROG         80     /* Asynchronous operation in progress    */
 I1	  22731 #define ENOTSUP         81     /* Function not implemented              */
 I1	  22732 #define EDEADLK         82     /* Resource deadlock avoided             */
 I1	  22733 #define ENWAIT          83     /* No waiting processes                  */
 I1	  22734 #define EILSEQ          84     /* Illegal byte sequence                 */
 I1	  22735 #define EBADCAT         85     /* Bad message catalogue format [1]      */
 I1	  22736 #define EBADMSG         86     /* Corrupted message detected            */
 I1	  22737 #define EABANDONED      87     /* Owner can not release resource        */
 I1	  22738 #define EOVERFLOW	88     /* Value to large for datatype		*/
 I1	  22739 
 I1	  22740 #ifndef __HIDE_FORBIDDEN_NAMES
 I1	  22741 #define __ERRNO_MAX     88     /* MUST equal largest errno value        */
 I1	  22742 #define EVMSERR         65535  /* error for non-translatable VMS errors */
 I1	  22743 #endif
 I1	  22744 
 I1	  22745 
 I1	  22746 /*
 I1	  22747 **  Function prototypes
 I1	  22748 */
 I1	  22749 int *CMA$TIS_ERRNO_GET_ADDR     (void);     /* UNIX style error code        */
 I1	  22750 int *CMA$TIS_VMSERRNO_GET_ADDR  (void);     /* VMS error (errno == EVMSERR) */
 I1	  22751 void CMA$TIS_ERRNO_SET_VALUE    (int __value);
 I1	  22752 void CMA$TIS_VMSERRNO_SET_VALUE (int __value);
 I1	  22753 
 I1	  22754 /*
 I1	  22755 ** In strict ANSI compilation mode, the dollar sign ('$') is not allowed
 I1	  22756 ** in identifier names. This jacket routine provides an ANSI-compliant way
 I1	  22757 ** to access errno.
 I1	  22758 */
 I1	  22759 
 I1    X  22760 #if defined(__DECCXX) && (__DECCXX_VER >= 60000000) && \
 I1	  22761     (defined(__STD_STRICT_ANSI) || defined(__STD_STRICT_ANSI_ERRORS))
 I1    X  22762 
 I1    X  22763 inline static int *__CXX_CMA_TIS_ERRNO_GET_ADDR(void) { 
 I1    X  22764     return CMA$TIS_ERRNO_GET_ADDR(); }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 408
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(ERRNO)

 I1    X  22765 
 I1    X  22766 #endif
 I1	  22767 
 I1	  22768 /*
 I1	  22769 **  The CMA function prototypes are defined as uppercase for application
 I1	  22770 **  programs which compile using /NAMES=AS_IS.  The CMA shareable images
 I1	  22771 **  only offer the uppercase symbol.
 I1	  22772 **
 I1	  22773 **  Define lowercase names using a macro such that applications which 
 I1	  22774 **  already compile with either /STANDARD=ANSI or /STANDARD=RELAXED
 I1	  22775 **  continue to successfully compile.
 I1	  22776 */
 I1	  22777 #define cma$tis_errno_get_addr     CMA$TIS_ERRNO_GET_ADDR
 I1	  22778 #define cma$tis_vmserrno_get_addr  CMA$TIS_VMSERRNO_GET_ADDR
 I1	  22779 #define cma$tis_errno_set_value    CMA$TIS_ERRNO_SET_VALUE
 I1	  22780 #define cma$tis_vmserrno_set_value CMA$TIS_VMSERRNO_SET_VALUE
 I1	  22781 
 I1	  22782 
 I1	  22783 /*
 I1	  22784 **  Define macros for accessing errno and vaxc$errno
 I1	  22785 */
 I1	  22786 
 I1    X  22787 #if defined(__DECCXX) && (__DECCXX_VER >= 60000000) && \
 I1	  22788     (defined(__STD_STRICT_ANSI) || defined(__STD_STRICT_ANSI_ERRORS))
 I1    X  22789 
 I1    X  22790 #    define errno      (*__CXX_CMA_TIS_ERRNO_GET_ADDR())
 I1    X  22791 
 I1    X  22792 #else
 I1	  22793 
 I1	  22794 #    define errno      (*CMA$TIS_ERRNO_GET_ADDR())
 I1	  22795 
 I1	  22796 #endif
 I1	  22797 
 I1	  22798 #define vaxc$errno (*CMA$TIS_VMSERRNO_GET_ADDR())
 I1	  22799 
 I1	  22800 
 I1	  22801 /*
 I1	  22802 **  Restore the users pointer context
 I1	  22803 */
 I1    X  22804 #if __INITIAL_POINTER_SIZE
 I1    X  22805 #   pragma __pointer_size __restore
 I1    X  22806 #endif
 I1	  22807 
 I1    X  22808 #ifdef __cplusplus
 I1    X  22809     }
 I1    X  22810 #endif
 I1	  22811 
 I1	  22812 #pragma __standard
 I1	  22813 #endif /* __ERRNO_LOADED */
       X  22814 #else
       X  22815 #ifndef ERRNO_INCLUDED
       X  22816 #include <errno.h>			/* Error number symbols */
       X  22817 #endif	/* ERRNO_INCLUDED */
       X  22818 #endif	/* HPUXPRE65 */
	  22819 
       X  22820 #ifdef OS2
       X  22821 #ifndef NT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 409
V1.0                                                            14-MAY-2022 12:28:33  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  22822 #ifdef __WATCOMC__
       X  22823 #include <sys/time.h>
       X  22824 #endif /* __WATCOMC__ */
       X  22825 #endif /* NT */
       X  22826 #endif /* OS2 */
	  22827 
	  22828 #ifndef NOTIMEH
	  22829 #include <time.h>
 I1	  22830 #ifndef __TIME_LOADED
 I1	  22831 #define __TIME_LOADED
 I1	  22832 
 I1	  22833 #ifndef __TIME_PROCESSED
 I1	  22834 #define __TIME_PROCESSED
 I1	  22835 
 I1	  22836 /****************************************************************************
 I1	  22837 **
 I1	  22838 **  <time.h> - Date and Time
 I1	  22839 **
 I1	  22840 *****************************************************************************
 I1	  22841 **
 I1	  22842 **  Header introduced by the ANSI C Standard
 I1	  22843 **
 I1	  22844 **  Definitions in this header file may not be available on all versions of
 I1	  22845 **  OpenVMS.  See the DEC C Runtime Library reference manual for specifics.
 I1	  22846 **
 I1	  22847 *****************************************************************************
 I1	  22848 */
 I1	  22849 /* ************************************************************************* */
 I1	  22850 /* *                                                                       * */
 I1	  22851 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I1	  22852 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I1	  22853 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I1	  22854 /* * prior written permission of HPE.                                      * */
 I1	  22855 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I1	  22856 /* *                                                                       * */
 I1	  22857 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I1	  22858 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I1	  22859 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I1	  22860 /* * the prior written permission of VMS Software, Inc.                    * */
 I1	  22861 /* * Copyright 2017-2020 VMS Software, Inc.                                * */
 I1	  22862 /* *                                                                       * */
 I1	  22863 /* ************************************************************************* */
 I1	  22864 
 I1	  22865 #pragma __nostandard
 I1    X  22866 #include <decc$types.h>
 I1	  22867 
 I1    X  22868 #ifdef __cplusplus
 I1    X  22869     extern "C" {
 I1    X  22870 #endif
 I1	  22871 
 I1	  22872 
 I1	  22873 /*
 I1	  22874 **  If the user has used /pointer_size=short or /pointer_size=long, we will
 I1	  22875 **  begin in a 32-bit pointer size context.
 I1	  22876 */
 I1    X  22877 #if __INITIAL_POINTER_SIZE
 I1    X  22878 #   pragma __pointer_size __save

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 410
V1.0                                                            23-JUN-2023 08:54:50  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1    X  22879 #   pragma __pointer_size 32
 I1    X  22880 #endif
 I1	  22881 
 I1	  22882 
 I1	  22883 /*                     
 I1	  22884 **  Member align structures
 I1	  22885 */
 I1	  22886 #pragma __member_alignment __save
 I1	  22887 #pragma __member_alignment
 I1	  22888 
 I1	  22889 
 I1	  22890 /*
 I1	  22891 **  Disable messages
 I1	  22892 */
 I1	  22893 #pragma __message __save
 I1	  22894 #pragma __message __disable (__MISALGNDSTRCT)
 I1	  22895 #pragma __message __disable (__MISALGNDMEM)
 I1	  22896 
 I1	  22897 
 I1	  22898 /*
 I1	  22899 **  Create 'private' typedefs that are sensitive to pointer size and must
 I1	  22900 **  use 32 bit pointers.
 I1	  22901 */
 I1	  22902 
 I1	  22903 /*
 I1	  22904 **  ANSI Standard Definitions & Typedefs
 I1	  22905 */
 I1	  22906 #define CLOCKS_PER_SEC 100
 I1	  22907 
 I1    X  22908 #ifndef NULL
 I1    X  22909 #    define NULL __NULL
 I1    X  22910 #endif
 I1	  22911 
 I1    X  22912 #ifdef __NAMESPACE_STD
 I1    X  22913 namespace std {
 I1    X  22914 #endif
 I1	  22915 
 I1    X  22916 #ifndef __SIZE_T
 I1    X  22917 #    define __SIZE_T 1
 I1    X  22918      typedef __size_t size_t;
 I1    X  22919 #endif
 I1	  22920 
 I1    X  22921 #ifndef __TIME_T
 I1    X  22922 #    define __TIME_T
 I1    X  22923      typedef __time_t time_t;
 I1    X  22924 #endif
 I1	  22925 
 I1    X  22926 #ifndef __CLOCK_T 
 I1    X  22927 #   define __CLOCK_T 1
 I1    X  22928     typedef long int clock_t;
 I1    X  22929 #endif
 I1	  22930 
 I1	  22931 /*
 I1	  22932 ** tm data structure
 I1	  22933 **
 I1	  22934 ** Note conditions for BSD extensions, introduced in VMS V7.0, and
 I1	  22935 ** not wanted for some standards or legacy compilations.  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 411
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  22936 ** These extensions make tm "long".  Not having them makes tm "short".
 I1	  22937 **  - C++ Standard Library requires longer tm structure.
 I1	  22938 **    After C++ V6.5-042, use filler names.  Either requires __utctz_.
 I1	  22939 **  - Future VMS releases will get a longer tm structure possibly with
 I1	  22940 **    changed/filler names, to make all objects of tm the same length,
 I1	  22941 **    which may force recompilation of all modules using tm.
 I1	  22942 **  - Macro _TM_SHORT will force short tm
 I1	  22943 **  - Macro _TM_LONG will force long tm
 I1	  22944 **
 I1	  22945 ** This decides the time format for functions, 3 possibilities:
 I1	  22946 **  - localtime (before VMS V7.0, no prefixes)
 I1	  22947 **  - utc time, one of:
 I1	  22948 **     o __UTCTZ_ prefixes, using BSD tm extensions
 I1	  22949 **     o __UTC_ prfexes, not using BSD tm extensions
 I1	  22950 */
 I1	  22951 #undef __TM_USE_UTCTZ_TIME
 I1	  22952 #undef __TM_USE_UTC_TIME
 I1	  22953 #undef __TM_DEF_BSD_EXTENSIONS
 I1	  22954 #undef __TM_DEF_BSD_FILLER_NAMES
 I1	  22955 #undef __TM_CXX_NEED_BSD_NAMES
 I1	  22956 #undef __TM_CXX_NEED_FILLER_NAMES
 I1	  22957 #if __CRTL_VER >= 70000000 
 I1    X  22958 #   if defined __DECCXX && !defined _VMS_V6_SOURCE
 I1    X  22959 #	if __DECCXX_VER > 60590042
 I1    X  22960 #	    define __TM_CXX_NEED_FILLER_NAMES
 I1    X  22961 #	else
 I1    X  22962 #	    define __TM_CXX_NEED_BSD_NAMES
 I1    X  22963 #	endif
 I1    X  22964 #   endif
 I1	  22965     /* UTC time functions available in CRTL */     
 I1	  22966 #   if (!defined _ANSI_C_SOURCE || defined __TM_CXX_NEED_BSD_NAMES) && \
 I1	  22967        !defined _DECC_V4_SOURCE && !defined _TM_SHORT
 I1	  22968 	/* BSD member names visible */
 I1	  22969 #	define __TM_DEF_BSD_EXTENSIONS
 I1	  22970 #       if !defined _VMS_V6_SOURCE || defined __TM_CXX_NEED_BSD_NAMES
 I1	  22971 	    /* Use __UTCTZ_ prefixed functions */
 I1	  22972 #	    define __TM_USE_UTCTZ_TIME
 I1	  22973 #       endif
 I1    X  22974 #   elif !defined _VMS_V6_SOURCE
 I1    X  22975 	/* Use __UTC_ prefixed functions */
 I1    X  22976 #	define __TM_USE_UTC_TIME
 I1    X  22977 #   endif
 I1	  22978 #endif /* CRTL V7.0 */
 I1    X  22979 #if !defined __TM_DEF_BSD_EXTENSIONS && !defined _TM_SHORT
 I1	  22980 #   if __CRTL_VER >= 80300000 || defined _TM_LONG || \
 I1    X  22981        defined __TM_CXX_NEED_FILLER_NAMES
 I1    X  22982 	/* Longer tm, but non-polluting BSD member names */
 I1    X  22983 #	define __TM_DEF_BSD_FILLER_NAMES
 I1    X  22984 #	if defined __DECCXX
 I1    X  22985 #	    define __TM_USE_UTCTZ_TIME
 I1    X  22986 #	    undef  __TM_USE_UTC_TIME
 I1    X  22987 #	endif
 I1    X  22988 #   endif
 I1    X  22989 #endif
 I1    X  22990 #if defined _TM_SHORT && defined _TM_LONG
 I1    X  22991 #   error "Both _TM_SHORT and _TM_LONG defined; only one allowed"
 I1    X  22992 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 412
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  22993 
 I1	  22994 struct tm {
 I1	  22995    int tm_sec;      /* seconds after the minute [0, 61]  */
 I1	  22996    int tm_min;      /* minutes after the hour [0, 59]    */
 I1	  22997    int tm_hour;     /* hours since midnight [0, 23]      */
 I1	  22998    int tm_mday;     /* day of the month [1, 31]          */
 I1	  22999    int tm_mon;      /* months since January [0, 11]      */
 I1	  23000    int tm_year;     /* years since 1900                  */
 I1	  23001    int tm_wday;     /* days since Sunday [0, 6]          */
 I1	  23002    int tm_yday;     /* days since January 1 [0, 365]     */
 I1	  23003    int tm_isdst;    /* Daylight Saving Time flag         */
 I1	  23004 
 I1	  23005 #if defined __TM_DEF_BSD_EXTENSIONS
 I1	  23006    /* BSD tm member extensions */
 I1	  23007    long tm_gmtoff;  /* offset from UTC in seconds        */
 I1	  23008    char *tm_zone;   /* timezone abbreviation             */
 I1	  23009 
 I1    X  23010 #elif defined __TM_DEF_BSD_FILLER_NAMES
 I1    X  23011    /* BSD tm member extensions, non-polluting namespace	 */
 I1    X  23012    long __tm_gmtoff; /* offset from UTC in seconds       */
 I1    X  23013    char *__tm_zone;  /* timezone abbreviation            */
 I1    X  23014 
 I1    X  23015 #endif
 I1	  23016 };  /* tm */
 I1	  23017 
 I1    X  23018 #ifdef __NAMESPACE_STD
 I1    X  23019 } /* namespace std */
 I1    X  23020 #endif
 I1	  23021 
 I1    X  23022 #ifdef __NAMESPACE_STD
 I1    X  23023 typedef struct std::tm * __struct_tm_ptr32;
 I1    X  23024 #else
 I1	  23025 typedef struct tm * __struct_tm_ptr32;
 I1	  23026 #endif
 I1	  23027 
 I1	  23028 /*
 I1	  23029 ** clock_t datatype is used in this header file in declaration of function
 I1	  23030 ** times() which is not in the ANSI C standard, and, consequently, is not
 I1	  23031 ** inserted into the namespace std. Make clock_t datatype available in the
 I1	  23032 ** global namespace when compiling with C++ in nopure_cname mode.
 I1	  23033 */
 I1    X  23034 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I1    X  23035 
 I1    X  23036   using std::clock_t;
 I1    X  23037 
 I1    X  23038 #endif
 I1	  23039 
 I1	  23040 /*
 I1	  23041 **  ISO POSIX-1 Standard Definitions & Typedefs
 I1	  23042 */
 I1	  23043 #if defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE
 I1	  23044     /*
 I1	  23045     **  Number of clock ticks per second returned by the times ()
 I1	  23046     **  function. (To be Withdrawn)
 I1	  23047     */
 I1	  23048 #   define CLK_TCK 100
 I1	  23049 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 413
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  23050     /* 
 I1	  23051     **  tzname is the name of the current timezone,
 I1	  23052     **  it is not visible if compiling for a local 
 I1	  23053     **  time based compatibility mode.
 I1	  23054     */ 
 I1	  23055 #   if __CRTL_VER >= 70000000 
 I1	  23056 #       if !defined _VMS_V6_SOURCE
 I1	  23057 #           pragma __extern_model __save
 I1	  23058 #           pragma __extern_model __strict_refdef
 I1	  23059             extern char *tzname[2];
 I1	  23060 #           pragma __extern_model __restore
 I1	  23061 #       endif
 I1	  23062 #   endif
 I1	  23063 #endif
 I1	  23064 
 I1	  23065 
 I1	  23066 /* 
 I1	  23067 **  X/Open extension definitions and typedefs,
 I1	  23068 **  these variables are not visible if compiling
 I1	  23069 **  in a local time based compatibility mode.
 I1	  23070 */ 
 I1	  23071 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I1	  23072 #   if __CRTL_VER >= 70000000 
 I1	  23073 #       if !defined _VMS_V6_SOURCE
 I1	  23074 #           pragma __extern_model __save
 I1	  23075 #           pragma __extern_model __strict_refdef
 I1	  23076             extern int daylight; 
 I1	  23077             extern long int timezone;
 I1	  23078 #           pragma __extern_model __restore
 I1	  23079 #       endif
 I1	  23080 #   endif
 I1	  23081 #endif
 I1	  23082 
 I1	  23083 
 I1	  23084 /* 
 I1	  23085 **  DEC C extension definitions and typedefs
 I1	  23086 */ 
 I1	  23087 #ifndef _ANSI_C_SOURCE
 I1	  23088 
 I1	  23089     /* 
 I1	  23090     **  struct timeb is defined by XPG4 V2 to be in <timeb.h>
 I1	  23091     */ 
 I1	  23092 #   ifndef __TIMEB_STR_LOADED
 I1	  23093 #       define __TIMEB_STR_LOADED 1
 I1	  23094         struct timeb {
 I1	  23095             __time_t  time;
 I1	  23096             unsigned short  millitm;
 I1	  23097             short  timezone;
 I1	  23098             short  dstflag;
 I1	  23099         };
 I1	  23100 #   endif
 I1	  23101 
 I1	  23102 #   ifndef __TIMEB_T
 I1	  23103 #      define __TIMEB_T
 I1	  23104        typedef struct timeb timeb_t;
 I1	  23105 #   endif
 I1	  23106 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 414
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  23107 #   if __CRTL_VER >= 70000000 && !defined _DECC_V4_SOURCE
 I1	  23108 #      ifndef __TMS
 I1	  23109 #         define __TMS
 I1	  23110           struct tms {
 I1	  23111              clock_t tms_utime;   /* user CPU time */
 I1	  23112              clock_t tms_stime;   /* system CPU time */
 I1	  23113              clock_t tms_cutime;  /* user CPU of terminated child processes */
 I1	  23114              clock_t tms_cstime;  /* system CPU of terminated child processes */
 I1	  23115        };
 I1	  23116 #      endif
 I1	  23117 #   endif
 I1	  23118 
 I1	  23119 #   ifndef __TBUFFER_T
 I1	  23120 #      define __TBUFFER_T 1
 I1	  23121        typedef struct tbuffer {
 I1	  23122            int proc_user_time;
 I1	  23123            int proc_system_time;
 I1	  23124            int child_user_time;
 I1	  23125            int child_system_time;
 I1	  23126        } tbuffer_t;
 I1	  23127 #   endif
 I1	  23128 
 I1	  23129 #endif
 I1	  23130 
 I1	  23131 
 I1	  23132 /*
 I1	  23133 **  We are done defining things which must always be 32 bit pointers.  If the
 I1	  23134 **  user has used /pointer_size=32 or /pointer_size=64, we will allow 64 bit
 I1	  23135 **  pointers to be used in function calls.
 I1	  23136 */
 I1    X  23137 #if __INITIAL_POINTER_SIZE
 I1    X  23138 #   pragma __pointer_size 64
 I1    X  23139 #endif
 I1	  23140 
 I1	  23141 
 I1	  23142 /*
 I1	  23143 **  Create 'private' typedefs that are sensitive to pointer size and must
 I1	  23144 **  use long pointers.  Protect identically in all header files.
 I1	  23145 */
 I1    X  23146 #ifdef __NAMESPACE_STD
 I1    X  23147 typedef struct std::tm * __struct_tm_ptr64;
 I1    X  23148 #else
 I1	  23149 typedef struct tm * __struct_tm_ptr64;
 I1	  23150 #endif
 I1	  23151 
 I1    X  23152 #ifdef __NAMESPACE_STD
 I1    X  23153 namespace std {
 I1    X  23154 #endif
 I1	  23155 
 I1	  23156 /*
 I1	  23157 **  ANSI Function prototypes -- full 64 bit support
 I1	  23158 */ 
 I1	  23159     clock_t  clock    (void);
 I1	  23160     double   difftime (__time_t __time1, __time_t __time0);
 I1	  23161     __char_ptr32      asctime (const struct tm *__timeptr);
 I1	  23162 
 I1	  23163 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 415
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1    X  23164 #ifdef __NAMESPACE_STD
 I1    X  23165 } /* namespace std */
 I1    X  23166 #endif
 I1	  23167 
 I1	  23168 #if defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE
 I1    X  23169 #ifdef __NAMESPACE_STD
 I1    X  23170     __char_ptr32 asctime_r(const struct std::tm *__tm, __char_ptr32 __buf);
 I1    X  23171 #else
 I1	  23172     __char_ptr32 asctime_r(const struct tm *__tm, __char_ptr32 __buf);
 I1	  23173 #endif
 I1	  23174 #endif
 I1	  23175 
 I1	  23176 
 I1	  23177 /*
 I1	  23178 **  Beginning in OpenVMS Version 7.0 mktime, time, ctime, strftime
 I1	  23179 **  have two implementations.  One implementation is provided
 I1	  23180 **  for compatibility and deals with time in terms of local time,
 I1	  23181 **  the other __utc_* deals with time in terms of UTC.
 I1	  23182 */
 I1	  23183 #if __CRTL_VER >= 70000000 
 I1	  23184 #   if !defined _VMS_V6_SOURCE
 I1	  23185 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23186 #          pragma __extern_prefix __save
 I1	  23187 #          pragma __extern_prefix "__utc_"
 I1    X  23188 #      else
 I1    X  23189 #          define mktime(__p1)    __utc_mktime(__p1)
 I1    X  23190 #          define time(__p1)      __utc_time(__p1)
 I1    X  23191 #          define ctime(__p1)     __utc_ctime(__p1)
 I1    X  23192 #          define strftime(__p1,__p2,__p3,__p4)  __utc_strftime(__p1,__p2,__p3,__p4)
 I1    X  23193 #      endif
 I1	  23194 #   endif
 I1	  23195 #endif /* __CRTL_VER >= 70000000 */ 
 I1	  23196 
 I1    X  23197 #ifdef __NAMESPACE_STD
 I1    X  23198 namespace std {
 I1    X  23199 #endif
 I1	  23200 
 I1	  23201     __time_t   mktime   (struct tm *__timeptr);
 I1	  23202     __time_t   time     (__time_t *__timer);
 I1	  23203     __char_ptr32 ctime (const __time_t *__timer);
 I1	  23204     __size_t strftime (char *__s, __size_t __maxsize, const char *__format, 
 I1	  23205                      const struct tm *__timeptr);
 I1	  23206 
 I1    X  23207 #ifdef __NAMESPACE_STD
 I1    X  23208 } /* namespace std */
 I1    X  23209 #endif
 I1	  23210 
 I1	  23211 /*
 I1	  23212 **  Disable extern_prefix if we enabled it earlier
 I1	  23213 */
 I1	  23214 #if __CRTL_VER >= 70000000 
 I1	  23215 #   if !defined _VMS_V6_SOURCE
 I1	  23216 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23217 #          pragma __extern_prefix __restore
 I1	  23218 #      endif
 I1	  23219 #   endif
 I1	  23220 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 416
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  23221 
 I1	  23222 
 I1	  23223 /*
 I1	  23224 **  Beginning in OpenVMS Version 7.2, we have added an implementation
 I1	  23225 **  of the ctime_r function.  There are both local time and utc time
 I1	  23226 **  implementations.
 I1	  23227 */
 I1	  23228 #if __CRTL_VER >= 70000000 && \
 I1	  23229     (defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE)
 I1	  23230 
 I1	  23231 #   if !defined _VMS_V6_SOURCE
 I1	  23232 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23233 #          pragma __extern_prefix __save
 I1	  23234 #          pragma __extern_prefix "__utc_"
 I1    X  23235 #      else
 I1    X  23236 #          define ctime_r(__p1,__p2) __utc_ctime_r(__p1,__p2)
 I1    X  23237 #      endif
 I1	  23238 #   endif
 I1	  23239 
 I1	  23240     __char_ptr32 ctime_r (const __time_t *__timer, __char_ptr32 __buf);
 I1	  23241 
 I1	  23242 #   if !defined _VMS_V6_SOURCE
 I1	  23243 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23244 #          pragma __extern_prefix __restore
 I1	  23245 #      endif
 I1	  23246 #   endif
 I1	  23247 
 I1	  23248 #endif /* __CRTL_VER >= 70000000 && (not ANSI) */ 
 I1	  23249 
 I1	  23250 
 I1	  23251 /*
 I1	  23252 **  Beginning in OpenVMS Version 7.0 gmtime and localtime have three
 I1	  23253 **  implementations:
 I1	  23254 **   - Older (pre-7.0) localtime implementation
 I1	  23255 **   - Two UTC time implementations:
 I1	  23256 **	o __utctz_* implementations provide support for the
 I1	  23257 **	  additional tm_gmtoff and tm_zone fields of the tm structure
 I1	  23258 **	o the __utc_* implementations deal with the ANSI definition of 
 I1	  23259 **	  the tm structure.
 I1	  23260 */
 I1	  23261 #if defined __TM_USE_UTCTZ_TIME
 I1	  23262 
 I1	  23263     /* UTC time with BSD tm member extensions */
 I1	  23264 #   ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23265 #          pragma __extern_prefix __save
 I1	  23266 #          pragma __extern_prefix "__utctz_"
 I1    X  23267 #   else
 I1    X  23268 #          define gmtime(__p1)    __utctz_gmtime(__p1)
 I1    X  23269 #          define localtime(__p1) __utctz_localtime(__p1)
 I1    X  23270 #   endif
 I1	  23271 
 I1    X  23272 #elif defined __TM_USE_UTC_TIME
 I1    X  23273 
 I1    X  23274     /* UTC time without BSD tm member extensions */
 I1    X  23275 #   ifdef __CAN_USE_EXTERN_PREFIX
 I1    X  23276 #          pragma __extern_prefix __save
 I1    X  23277 #          pragma __extern_prefix "__utc_"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 417
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1    X  23278 #   else
 I1    X  23279 #          define gmtime(__p1)    __utc_gmtime(__p1)
 I1    X  23280 #          define localtime(__p1) __utc_localtime(__p1)
 I1    X  23281 #   endif
 I1    X  23282 #endif
 I1	  23283 
 I1    X  23284 #ifdef __NAMESPACE_STD
 I1    X  23285 namespace std {
 I1    X  23286 #endif
 I1	  23287 
 I1	  23288     __struct_tm_ptr32 localtime (const __time_t *__timer); 
 I1	  23289     __struct_tm_ptr32 gmtime  (const __time_t *__timer); 
 I1	  23290 
 I1    X  23291 #ifdef __NAMESPACE_STD
 I1    X  23292 } /* namespace std */
 I1    X  23293 #endif
 I1	  23294 
 I1	  23295 /*
 I1	  23296 **  Disable extern_prefix if we enabled it earlier
 I1	  23297 */
 I1	  23298 #if defined __TM_USE_UTCTZ_TIME || defined __TM_USE_UTC_TIME
 I1	  23299 #   ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23300 #	pragma __extern_prefix __restore
 I1	  23301 #   endif
 I1	  23302 #endif
 I1	  23303 
 I1	  23304 
 I1	  23305 #if !(defined(__NAMESPACE_STD) && defined(__PURE_CNAME))
 I1	  23306 /*
 I1	  23307 **  Beginning in OpenVMS Version 7.2, we have added gmtime_t and localtime_t
 I1	  23308 **  implementations.  The same three interfaces are supported for each as
 I1	  23309 **  described above.
 I1	  23310 */
 I1	  23311 #if __CRTL_VER >= 70000000 && \
 I1	  23312    (defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE)
 I1	  23313 
 I1	  23314 #   undef __UTC_PREFIX_DEFINED
 I1	  23315 
 I1	  23316 #   if defined __TM_USE_UTCTZ_TIME
 I1	  23317 
 I1	  23318 	/* UTC time with BSD tm member extensions */
 I1	  23319 #	ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23320 #	   define __UTC_PREFIX_DEFINED
 I1	  23321 #          pragma __extern_prefix __save
 I1	  23322 #          pragma __extern_prefix "__utctz_"
 I1    X  23323 #	else
 I1    X  23324 #          define gmtime_r(__p1,__p2)    __utctz_gmtime_r(__p1,__p2)
 I1    X  23325 #          define localtime_r(__p1,__p2) __utctz_localtime_r(__p1,__p2)
 I1    X  23326 #	endif
 I1	  23327 
 I1    X  23328 #   elif defined __TM_USE_UTC_TIME
 I1    X  23329 
 I1    X  23330 	/* UTC time without BSD tm member extensions */
 I1    X  23331 #	ifdef __CAN_USE_EXTERN_PREFIX
 I1    X  23332 #	   define __UTC_PREFIX_DEFINED
 I1    X  23333 #          pragma __extern_prefix __save
 I1    X  23334 #          pragma __extern_prefix "__utc_"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 418
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1    X  23335 #	else
 I1    X  23336 #          define gmtime_r(__p1,__p2)    __utc_gmtime_r(__p1,__p2)
 I1    X  23337 #          define localtime_r(__p1,__p2) __utc_localtime_r(__p1,__p2)
 I1    X  23338 #	endif
 I1    X  23339 #   endif
 I1	  23340 
 I1	  23341     __struct_tm_ptr32 gmtime_r (const __time_t *__timer, __struct_tm_ptr32 __result); 
 I1	  23342     __struct_tm_ptr32 localtime_r (const __time_t *__timer, __struct_tm_ptr32 __result); 
 I1	  23343 
 I1	  23344 #   ifdef __UTC_PREFIX_DEFINED
 I1	  23345 #      pragma __extern_prefix __restore
 I1	  23346 #      undef __UTC_PREFIX_DEFINED
 I1	  23347 #   endif
 I1	  23348 
 I1	  23349 #endif /* __CRTL_VER >= 70000000 && (not ANSI) */ 
 I1	  23350 #endif /* !(defined(__NAMESPACE_STD) && defined(__PURE_CNAME)) */
 I1	  23351 
 I1	  23352 
 I1	  23353 /* 
 I1	  23354 **  ISO POSIX-1 Function prototypes -- full 64 bit support
 I1	  23355 */ 
 I1	  23356 #if defined _POSIX_C_SOURCE || !defined _ANSI_C_SOURCE
 I1	  23357 #   if __CRTL_VER >= 70000000 && !defined _VMS_V6_SOURCE 
 I1	  23358         void tzset (void);
 I1	  23359 #   endif
 I1	  23360 # endif
 I1	  23361 
 I1	  23362 
 I1	  23363 /*
 I1	  23364 **  The following functions have interfaces of XXX, _XXX32, and _XXX64 due only
 I1	  23365 **  to the fact that the return argument is a pointer that is relative to one
 I1	  23366 **  of the arguments.
 I1	  23367 */
 I1    X  23368 #if __INITIAL_POINTER_SIZE == 32
 I1    X  23369 #   pragma __pointer_size 32
 I1    X  23370 #endif
 I1	  23371 
 I1	  23372 #if defined _XOPEN_SOURCE || !defined _ANSI_C_SOURCE
 I1	  23373 #   if __CRTL_VER >= 60200000 
 I1	  23374        char *strptime (const char *__buf, __const_char_ptr64 __fmt, __struct_tm_ptr64 __tm);
 I1	  23375 #   endif
 I1	  23376 #endif
 I1	  23377 
 I1    X  23378 #if __INITIAL_POINTER_SIZE == 32
 I1    X  23379 #   pragma __pointer_size 64
 I1    X  23380 #endif
 I1	  23381 
 I1	  23382 
 I1	  23383 /* 
 I1	  23384 **  DEC C Extensions
 I1	  23385 */ 
 I1	  23386 #ifndef _ANSI_C_SOURCE 
 I1	  23387 
 I1	  23388 /*
 I1	  23389 **  Beginning in OpenVMS Version 7.0 ftime has two implementations.  One
 I1	  23390 **  implementation is provided for compatibility and deals with time in terms
 I1	  23391 **  of local time, the other __utc_ftime deals with time in terms of UTC.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 419
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  23392 */
 I1	  23393 #if __CRTL_VER >= 70000000 
 I1	  23394 #   if !defined _VMS_V6_SOURCE
 I1	  23395 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23396 #         pragma __extern_prefix __save
 I1	  23397 #         pragma __extern_prefix "__utc_"
 I1    X  23398 #      else
 I1    X  23399 #         define ftime(__p1)   __utc_ftime(__p1)
 I1    X  23400 #      endif
 I1	  23401 #   endif
 I1	  23402 #endif /* __CRTL_VER >= 70000000 */ 
 I1	  23403 
 I1	  23404 
 I1	  23405     int ftime (struct timeb *__timeptr);       
 I1	  23406 
 I1	  23407 
 I1	  23408 /*
 I1	  23409 **  Disable extern_prefix if we enabled it earlier
 I1	  23410 */
 I1	  23411 #if __CRTL_VER >= 70000000 
 I1	  23412 #   if !defined _VMS_V6_SOURCE
 I1	  23413 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23414 #         pragma __extern_prefix __restore
 I1	  23415 #      endif
 I1	  23416 #   endif
 I1	  23417 #endif
 I1	  23418 
 I1	  23419 #   if __CRTL_VER >= 70000000 && !defined _DECC_V4_SOURCE 
 I1	  23420        clock_t times(struct tms *buffer);
 I1    X  23421 #   else
 I1    X  23422        void times (tbuffer_t *__buffer);   /* <sys/times.h> */
 I1    X  23423 #   endif
 I1	  23424 
 I1    X  23425 #   if __INITIAL_POINTER_SIZE
 I1    X  23426 #      pragma __pointer_size 32
 I1    X  23427        char * _strptime32 (const char *, __const_char_ptr64, __struct_tm_ptr64);
 I1    X  23428 #      pragma __pointer_size 64
 I1    X  23429        char * _strptime64 (const char *, const char *, __struct_tm_ptr64);
 I1    X  23430 #   endif
 I1	  23431 
 I1	  23432 #endif /* __CRTL_VER >= 70000000 && ifndef _ANSI_C_SOURCE */
 I1	  23433 
 I1	  23434 
 I1	  23435 /****************************************************************************
 I1	  23436 **
 I1	  23437 **  <sys/time.h> - time types
 I1	  23438 **
 I1	  23439 **  The following is the equivalent of <sys/time.h>.  It is merged into
 I1	  23440 **  <time.h> since DEC C on OpenVMS systems does not distinguish
 I1	  23441 **  the two header files.
 I1	  23442 */
 I1	  23443 
 I1	  23444 #if defined _XOPEN_SOURCE_EXTENDED || (!defined _ANSI_C_SOURCE && !defined _DECC_V4_SOURCE)
 I1	  23445 
 I1	  23446 /*
 I1	  23447 **  Values for the which argument of getitimer() and setitimer().
 I1	  23448 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 420
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  23449 #   define ITIMER_REAL             0        /* Real time */
 I1	  23450 #   define ITIMER_VIRTUAL          1        /* Per-process time */
 I1	  23451 #   define ITIMER_PROF             2        /* Per-process user time */
 I1	  23452 
 I1	  23453 #   ifndef __TIMEVAL
 I1	  23454 #   define __TIMEVAL 1
 I1	  23455         struct timeval {
 I1	  23456             __time_t  tv_sec;      /* seconds since Jan. 1, 1970 */
 I1	  23457             long    tv_usec;     /* microseconds */
 I1	  23458         };                                                                                           
 I1	  23459 #   endif
 I1	  23460 
 I1	  23461     struct itimerval {
 I1	  23462         struct timeval it_interval;  /* timer interval */
 I1	  23463         struct timeval it_value;     /* current value */
 I1	  23464     };         
 I1	  23465 
 I1	  23466     /*
 I1	  23467     ** Select () examines I/O descriptor sets which are stored as
 I1	  23468     ** bit fields in arrays of integers.  The following macros are
 I1	  23469     ** provided for manipulating such descriptor sets. 
 I1	  23470     */
 I1	  23471 
 I1	  23472     /* FD_SETSIZE may be defined by the user.  It is normally 
 I1	  23473     ** equal to the maximum number of descriptors supported by
 I1	  23474     ** the system.  Here it is set to the minimum maximum supported
 I1	  23475     ** by the system.  In order to accomodate programs which use 
 I1	  23476     ** a larger number of open files with select, increase this size
 I1	  23477     ** within a program by providing a larger definition of FD_SETSIZE
 I1	  23478     ** before including <time.h> or <socket.h>
 I1	  23479     */
 I1	  23480 
 I1	  23481 #   if !defined __FD_SET
 I1	  23482 #        define __FD_SET 1
 I1	  23483 #        ifndef FD_SETSIZE
 I1	  23484 #            define FD_SETSIZE      1024
 I1	  23485 #        endif
 I1	  23486         typedef long fd_mask;
 I1	  23487 #        define NBBY    8                            /* bits per byte */
 I1	  23488 #        define NFDBITS (sizeof(fd_mask) * NBBY)     /* bits per mask */
 I1	  23489 #        define FD_SET(__n, __p)   ((__p)->fds_bits[(__n)/NFDBITS] |= (1 << ((__n) % NFDBITS)))
 I1	  23490 #        define FD_CLR(__n, __p)   ((__p)->fds_bits[(__n)/NFDBITS] &= ~(1 << ((__n) % NFDBITS)))
 I1	  23491 #        define FD_ISSET(__n, __p) ((__p)->fds_bits[(__n)/NFDBITS] & (1 << ((__n) % NFDBITS)))
 I1	  23492 #        define __howmany(__x, __y)   (((__x)+((__y)-1))/(__y))
 I1	  23493 
 I1	  23494         typedef struct fd_set {                            /* descriptor set */
 I1	  23495             fd_mask fds_bits[__howmany(FD_SETSIZE, NFDBITS)];
       E	                              ( ( ( 1024 ) + ( ( ( sizeof ( fd_mask ) * 8 ) ) - 1 ) ) / ( ( sizeof ( fd_mask ) * 8 )
       E	 ) )
 I1	  23496         } fd_set;
 I1	  23497 
 I1	  23498 
 I1    X  23499 #       if __INITIAL_POINTER_SIZE == 32
 I1    X  23500 #	   pragma __pointer_size 32
 I1    X  23501 #	endif
 I1	  23502 	void *__MEMSET(void *__s, int __c, __size_t __n);
 I1	  23503 #	define FD_ZERO(__p) __MEMSET((__p), 0, sizeof(*(__p)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 421
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1    X  23504 #	if __INITIAL_POINTER_SIZE == 32
 I1    X  23505 #	   pragma __pointer_size 64
 I1    X  23506 #	endif
 I1	  23507 #   endif
 I1	  23508 
 I1	  23509 
 I1	  23510 /*
 I1	  23511 **  We are done defining things which must always be 32 bit pointers.  If the
 I1	  23512 **  user has used /pointer_size=32 or /pointer_size=64, we will allow 64 bit
 I1	  23513 **  pointers to be used in function calls.
 I1	  23514 */
 I1    X  23515 #   if __INITIAL_POINTER_SIZE
 I1    X  23516 #        pragma __pointer_size 64
 I1    X  23517 #   endif
 I1	  23518 
 I1	  23519 /*      
 I1	  23520 ** Note that gettimeofday() is UTC based, so it is not visible if 
 I1	  23521 ** compiling in a local time based compatibility mode.
 I1	  23522 */      
 I1	  23523 #if __CRTL_VER >= 70000000  
 I1	  23524     int getitimer (int __which, struct itimerval *__value);
 I1	  23525     int setitimer (int __which, const struct itimerval *__value, struct itimerval *__ovalue);
 I1	  23526 #   if !defined _VMS_V6_SOURCE
 I1	  23527         int gettimeofday (struct timeval *__tp, void *__tzp);
 I1	  23528 #   endif
 I1	  23529 #endif
 I1	  23530     int select (int __nfds, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, 
 I1	  23531                 struct timeval *__timeout);
 I1	  23532 
 I1	  23533 
 I1	  23534 #if __CRTL_VER >= 70300000  
 I1	  23535 #   if !defined _VMS_V6_SOURCE
 I1	  23536 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23537 #          pragma __extern_prefix __save
 I1	  23538 #          pragma __extern_prefix "__utc_"
 I1    X  23539 #      else
 I1    X  23540 #          define utimes(__p1,__p2)  __utc_utimes(__p1,__p2)
 I1    X  23541 #      endif
 I1	  23542 #   endif
 I1	  23543 
 I1	  23544 int utimes(const char *__path, const struct timeval __times[2]);
 I1	  23545 
 I1	  23546 #   if !defined _VMS_V6_SOURCE
 I1	  23547 #      ifdef __CAN_USE_EXTERN_PREFIX
 I1	  23548 #          pragma __extern_prefix __restore
 I1	  23549 #      endif
 I1	  23550 #   endif
 I1	  23551 #endif
 I1	  23552 
 I1	  23553 #if __CRTL_VER >= 70320000 
 I1    X  23554 #   if (!defined __TIMESPEC && !defined _TIMESPEC_T_)
 I1    X  23555 #     define __TIMESPEC
 I1    X  23556       struct timespec {
 I1    X  23557 	unsigned long       tv_sec;         /* seconds */
 I1    X  23558 	long                tv_nsec;        /* nanoseconds */
 I1    X  23559       };
 I1    X  23560 #   endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 422
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TIME)

 I1	  23561 
 I1	  23562 #   define CLOCK_REALTIME 1
 I1	  23563 
 I1	  23564 #   ifndef __CLOCKID_T
 I1	  23565 #     define __CLOCKID_T
 I1	  23566       typedef unsigned int clockid_t;
 I1	  23567 #   endif
 I1	  23568 
 I1	  23569     int clock_gettime(clockid_t clock_id, struct timespec *tp);
 I1	  23570     int clock_settime(clockid_t clock_id, const struct timespec *tp);
 I1	  23571     int clock_getres(clockid_t clock_id, struct timespec *res);
 I1	  23572     long nanosleep(struct timespec *rqtp, struct timespec *rmtp);
 I1	  23573 #endif  /* if __CRTL_VER >= 70320000 */
 I1	  23574 
 I1	  23575 #endif  /* _XOPEN_SOURCE_EXTENDED || (! _ANSI_C_SOURCE && ! _DECC_V4_SOURCE) */
 I1	  23576 
 I1	  23577 /*              
 I1	  23578 **  Restore the users pointer context
 I1	  23579 */
 I1    X  23580 #if __INITIAL_POINTER_SIZE
 I1    X  23581 #   pragma __pointer_size __restore
 I1    X  23582 #endif
 I1	  23583 
 I1    X  23584 #ifdef __cplusplus
 I1    X  23585     }
 I1    X  23586 #endif
 I1	  23587 
 I1	  23588 #pragma __message __restore
 I1	  23589 #pragma __member_alignment __restore
 I1	  23590 
 I1	  23591 #pragma __standard
 I1	  23592 #endif /* __TIME_PROCESSED */
 I1	  23593 
 I1    X  23594 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I1    X  23595 #  ifndef __USING_TIME_NAMES
 I1    X  23596 #    define __USING_TIME_NAMES
 I1    X  23597      using std::asctime;
 I1    X  23598      using std::clock;
 I1    X  23599      using std::clock_t;
 I1    X  23600      using std::ctime;
 I1    X  23601      using std::difftime;
 I1    X  23602      using std::gmtime;
 I1    X  23603      using std::localtime;
 I1    X  23604      using std::mktime;
 I1    X  23605      using std::size_t;
 I1    X  23606      using std::strftime;
 I1    X  23607      using std::time;
 I1    X  23608      using std::time_t;
 I1    X  23609      using std::tm;
 I1    X  23610 #  endif
 I1    X  23611 #endif
 I1	  23612 
 I1	  23613 #endif /* __TIME_LOADED */
	  23614 #endif /* NOTIMEH */
       X  23615 #ifndef EPIPE
       X  23616 #define EPIPE 32                        /* Broken pipe error */
       X  23617 #endif /* EPIPE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 423
V1.0                                                            14-MAY-2022 12:28:33  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  23618 
	  23619 /* Kermit includes */
	  23620 
	  23621 #include "ckcasc.h"
 I1	  23622 /*
 I1	  23623   File CKCASC.H
 I1	  23624   Mnemonics for ASCII control characters (and Space) for use with C-Kermit.
 I1	  23625 */
 I1	  23626 /*
 I1	  23627   Author: Frank da Cruz (fdc@columbia.edu).
 I1	  23628   Columbia University Academic Information Systems, New York City.
 I1	  23629 
 I1	  23630   Copyright (C) 1985, 2022,
 I1	  23631     Trustees of Columbia University in the City of New York.
 I1	  23632     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  23633     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  23634 */
 I1	  23635 #ifndef CKCASC_H
 I1	  23636 #define CKCASC_H
 I1	  23637 
 I1	  23638 #define NUL  '\0'       /* Null Ctrl-@ */
 I1	  23639 #define SOH    1        /* Start of header Ctrl-A */
 I1	  23640 #define STX    2        /* Ctrl-B */
 I1	  23641 #define ETX    3        /* Ctrl-C */
 I1	  23642 #define EOT    4        /* Ctrl-D */
 I1	  23643 #define ENQ    5        /* ENQ Ctrl-E */
 I1	  23644 #define ACK    6        /* Ctrl-F */
 I1	  23645 #define BEL    7        /* Bell (Beep) Ctrl-G */
 I1	  23646 #define BS     8        /* Backspace Ctrl-H */
 I1	  23647 #define HT     9        /* Horizontal Tab Ctrl-I */
 I1	  23648 #define LF    10        /* Linefeed Ctrl-J */
 I1	  23649 #define VT    11        /* Vertical Tab Ctrl-K */
 I1	  23650 #define NL   '\n'       /* Newline */
 I1	  23651 #define FF    12        /* Formfeed Ctrl-L */
 I1	  23652 #define CK_CR 13        /* Carriage Return Ctrl-M (CR Windows conflict) */
 I1	  23653 #define SO    14        /* Shift Out Ctrl-N */
 I1	  23654 #define SI    15        /* Shift In Ctrl-O */
 I1	  23655 #define DLE   16        /* Datalink Escape Ctrl-P */
 I1	  23656 #define XON   17        /* XON Ctrl-Q */
 I1	  23657 #define DC1   17
 I1	  23658 #define DC2   18        /* Ctrl-R */
 I1	  23659 #define XOFF  19        /* XOFF Ctrl-S */
 I1	  23660 #define DC3   19
 I1	  23661 #define DC4   20        /* Ctrl-T */
 I1	  23662 #define NAK   21        /* Ctrl-U */
 I1	  23663 #define SYN   22        /* SYN, Ctrl-V */
 I1	  23664 #define ETB   23        /* Ctrl-W */
 I1	  23665 #define CAN   24        /* CAN, Ctrl-X */
 I1	  23666 #define XEM   25        /* Ctrl-Y (was EM but conflicts with OpenSSL) */
 I1	  23667 #define SUB   26        /* SUB Ctrl-Z */
 I1	  23668 #define ESC   27        /* Escape Ctrl-[ */
 I1	  23669 #define XFS   28        /* Field Separator,  Ctrl-Backslash */
 I1	  23670 #define XGS   29        /* Group Separator,  Ctrl-Rightbracket */
 I1	  23671 #define XRS   30        /* Record Separator, Ctrl-Circumflex */
 I1	  23672 #define US    31        /* Unit Separator,   Ctrl-Underscore */
 I1	  23673 #define SP    32        /* Space */
 I1	  23674 #define DEL  127        /* Delete (Rubout) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 424
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcasc.h;1

 I1	  23675 #define RUB  127        /* Delete (Rubout) */
 I1	  23676 
 I1    X  23677 #ifdef OS2
 I1	  23678 /*
 I1	  23679   These are needed in OS/2, so let's not cause any unnecessary conflicts.
 I1    X  23680 */
 I1    X  23681 #define _CSI  0233      /* 8-bit Control Sequence Introducer */
 I1    X  23682 #define _SS2  0216      /* 8-bit Single Shift 2 */
 I1    X  23683 #define _SS3  0217      /* 8-bit Single Shift 3 */
 I1    X  23684 #define _DCS  0220      /* 8-bit Device Control String Introducer */
 I1    X  23685 #define _ST8  0234      /* 8-bit String Terminator */
 I1    X  23686 #define _OSC  0235      /* 8-bit Operating System Command */
 I1    X  23687 #define _PM8  0236      /* 8-bit Privacy Message */
 I1    X  23688 #define _APC  0237      /* 8-bit Application Program Command */
 I1    X  23689 #endif /* OS2 */
 I1	  23690 #endif /* CKCASC_H */
	  23691 #include "ckcker.h"
 I1	  23692 /* ckcker.h -- Symbol and macro definitions for C-Kermit */
 I1	  23693 
 I1	  23694 /*
 I1	  23695   Author: Frank da Cruz <fdc@columbia.edu>,
 I1	  23696   Columbia University Academic Information Systems, New York City.
 I1	  23697 
 I1	  23698   Copyright (C) 1985, 2023
 I1	  23699     Trustees of Columbia University in the City of New York.
 I1	  23700     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  23701     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  23702 */
 I1	  23703 
 I1	  23704 #ifndef CKCKER_H
 I1	  23705 #define CKCKER_H
 I1	  23706 
 I1	  23707 #define I_AM_KERMIT  0			/* Personalities */
 I1	  23708 #define I_AM_TELNET  1
 I1	  23709 #define I_AM_RLOGIN  2
 I1	  23710 #define I_AM_IKSD    3
 I1	  23711 #define I_AM_FTP     4
 I1	  23712 #define I_AM_HTTP    5
 I1	  23713 #define I_AM_SSHSUB  6
 I1	  23714 #define I_AM_SSH     7
 I1	  23715 
 I1	  23716 #ifndef NOSTREAMING
 I1	  23717 #ifndef STREAMING
 I1	  23718 #define STREAMING
 I1	  23719 #endif /* STREAMING */
 I1	  23720 #endif /* NOSTREAMING */
 I1	  23721 /*
 I1	  23722   If NEWDEFAULTS is defined then:
 I1	  23723    - RECEIVE PACKET-LENGTH is 4095 rather than 90
 I1	  23724    - WINDOW is 30 rather than 1
 I1	  23725    - BLOCK-CHECK is 3 rather than 1
 I1	  23726    - FILE TYPE is BINARY rather than TEXT
 I1	  23727 */
 I1	  23728 #ifdef BIGBUFOK				/* (was OS2) */
 I1	  23729 #ifndef NEWDEFAULTS
 I1	  23730 #define NEWDEFAULTS
 I1	  23731 #endif /* NEWDEFAULTS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 425
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  23732 #endif /* BIGBUFOK */
 I1	  23733 
 I1    X  23734 #ifdef NOICP				/* No Interactive Command Parser */
 I1    X  23735 #ifndef NOSPL				/* implies... */
 I1    X  23736 #define NOSPL				/* No Script Programming Language */
 I1    X  23737 #endif /* NOSPL */
 I1    X  23738 #ifndef NOCSETS				/* No character-set translation */
 I1    X  23739 #define NOCSETS				/* because the only way to set it up */
 I1    X  23740 #endif /* NOCSETS */			/* is with interactive commands */
 I1    X  23741 #endif /* NOICP */
 I1	  23742 
 I1    X  23743 #ifdef pdp11				/* There is a maximum number of */
 I1    X  23744 #ifndef NOCKSPEED			/* of -D's allowed on the CC */
 I1    X  23745 #define NOCKSPEED			/* command line, so some of them */
 I1    X  23746 #endif /* NOCKSPEED */			/* have to go here... */
 I1    X  23747 #ifndef NOREDIRECT
 I1    X  23748 #define NOREDIRECT
 I1    X  23749 #endif /* NOREDIRECT */
 I1    X  23750 #ifdef WHATAMI
 I1    X  23751 #undef WHATAMI
 I1    X  23752 #endif /* WHATAMI */
 I1    X  23753 #endif /* pdp11 */
 I1	  23754 
 I1	  23755 #ifdef UIDBUFLEN
 I1	  23756 #define LOGINLEN UIDBUFLEN
 I1    X  23757 #else
 I1    X  23758 #define LOGINLEN 32			/* Length of server login field */
 I1    X  23759 #endif /* UIDBUFLEN */
 I1	  23760 
 I1	  23761 /* Bell values */
 I1	  23762 
 I1	  23763 #define XYB_NONE  0			/* No bell */
 I1	  23764 #define XYB_AUD   1			/* Audible bell */
 I1	  23765 #define XYB_VIS   2			/* Visible bell */
 I1	  23766 #define XYB_BEEP  0			/* Audible Beep */
 I1	  23767 #define XYB_SYS   4			/* Audible System Sounds */
 I1	  23768 
 I1	  23769 /* File status bits */
 I1	  23770 
 I1	  23771 #define FS_OK   1			/* File transferred OK */
 I1	  23772 #define FS_REFU 2			/* File was refused */
 I1	  23773 #define FS_DISC 4			/* File was discarded */
 I1	  23774 #define FS_INTR 8			/* Transfer was interrupted by user */
 I1	  23775 #define FS_ERR  16			/* Fatal error during transfer */
 I1	  23776 
 I1	  23777 /* Control-character (un)prefixing options */
 I1	  23778 
 I1	  23779 #define PX_ALL  0			/* Prefix all control chars */
 I1	  23780 #define PX_CAU  1			/* Unprefix cautiously */
 I1	  23781 #define PX_WIL  2			/* Unprefix with wild abandon */
 I1	  23782 #define PX_NON  3			/* Unprefix all (= prefix none) */
 I1	  23783 
 I1	  23784 /* Destination codes */
 I1	  23785 
 I1	  23786 #define  DEST_D 0	/*  DISK */
 I1	  23787 #define  DEST_S 1	/*  SCREEN */
 I1	  23788 #define  DEST_P 2	/*  PRINTER */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 426
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  23789 #define  DEST_N 3	/*  NOWHERE (calibration run) */
 I1	  23790 
 I1	  23791 /* File transfer protocols */
 I1	  23792 
 I1	  23793 #define  PROTO_K    0	/*   Kermit   */
 I1    X  23794 #ifdef CK_XYZ
 I1    X  23795 #define  PROTO_X    1	/*   XMODEM     */
 I1    X  23796 #define  PROTO_XC   2	/*   XMODEM-CRC */
 I1    X  23797 #define  PROTO_Y    3	/*   YMODEM     */
 I1    X  23798 #define  PROTO_G    4	/*   YMODEM-g */
 I1    X  23799 #define  PROTO_Z    5	/*   ZMODEM   */
 I1    X  23800 #define  PROTO_O    6   /*   OTHER    */
 I1    X  23801 #define  NPROTOS    7   /*   How many */
 I1    X  23802 #else
 I1	  23803 #define  NPROTOS    1   /*   How many */
 I1	  23804 #endif /* CK_XYZ */
 I1	  23805 
 I1	  23806 struct ck_p {				/* C-Kermit Protocol info structure */
 I1	  23807     char * p_name;			/* Protocol name */
 I1	  23808     int rpktlen;			/* Packet length - receive */
 I1	  23809     int spktlen;			/* Packet length - send */
 I1	  23810     int spktflg;			/* ... */
 I1	  23811     int winsize;			/* Window size */
 I1	  23812     int prefix;				/* Control-char prefixing options */
 I1	  23813     int fnca;				/* Filename collision action */
 I1	  23814     int fncn;				/* Filename conversion */
 I1	  23815     int fnsp;				/* Send filename path stripping */
 I1	  23816     int fnrp;				/* Receive filename path stripping */
 I1	  23817     char * h_b_init;		/* Host receive initiation string - text   */
 I1	  23818     char * h_t_init;		/* Host receive initiation string - binary */
 I1	  23819     char * h_x_init;		/* Host server string */
 I1	  23820     char * p_b_scmd;		/* SEND cmd for external protocol - text   */
 I1	  23821     char * p_t_scmd;		/* SEND cmd for external protocol - binary */
 I1	  23822     char * p_b_rcmd;		/* RECV cmd for external protocol - text   */
 I1	  23823     char * p_t_rcmd;		/* RECV cmd for external protocol - binary */
 I1	  23824 };
 I1	  23825 
 I1	  23826 struct filelist {			/* Send-file list element */
 I1	  23827     char * fl_name;			/* Filename */
 I1	  23828     int fl_mode;			/* Transfer mode */
 I1	  23829     char * fl_alias;			/* Name to send the file under */
 I1	  23830     struct filelist * fl_next;		/* Pointer to next element */
 I1	  23831 };
 I1	  23832 
 I1	  23833 /* Kermit system IDs and associated properties... */
 I1	  23834 
 I1	  23835 struct sysdata {
 I1	  23836     char *sid_code;	/* Kermit system ID code */
 I1	  23837     char *sid_name;	/* Descriptive name */
 I1	  23838     short sid_unixlike;	/* Tree-structured directory with separators */
 I1	  23839     char  sid_dirsep;	/* Directory separator character if unixlike */
 I1	  23840     short sid_dev;	/* Can start with dev: */
 I1	  23841     short sid_case;	/* Bit mapped: 1 = case matters, 2 = case preserved */
 I1	  23842     short sid_recfm;    /* Text record separator */
 I1	  23843 /*
 I1	  23844    0 = unknown or nonstream
 I1	  23845    1 = cr

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 427
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  23846    2 = lf
 I1	  23847    3 = crlf
 I1	  23848 */
 I1	  23849 };
 I1	  23850 
 I1	  23851 struct ssh_pf {				/* SSH port forwarding */
 I1	  23852     int    p1;				/* port to be forwarded */
 I1	  23853     char * host;			/* host */
 I1	  23854     int    p2;				/* port */
 I1	  23855 };
 I1	  23856 
 I1	  23857 #define SET_ON   1	/* General values for settings that can be ON */
 I1	  23858 #define SET_OFF  0			/* OFF, */
 I1	  23859 #define SET_AUTO 2			/* or AUTO */
 I1	  23860 
 I1	  23861 #define PATH_OFF 0	/* Pathnames off (to be stripped) */
 I1	  23862 #define PATH_REL 1      /* Pathnames on, left relative if possible */
 I1	  23863 #define PATH_ABS 2      /* Pathnames absolute always */
 I1	  23864 #define PATH_AUTO 4	/* Pathnames handled automatically */
 I1	  23865 
 I1	  23866 /* GET Options */
 I1	  23867 
 I1	  23868 #define GOPT_DEL 1			/* Delete source file */
 I1	  23869 #define GOPT_REC 2			/* Recursive */
 I1	  23870 #define GOPT_RES 4			/* Recover (Resend) */
 I1	  23871 #define GOPT_CMD 8			/* Filename is a Command */
 I1	  23872 
 I1	  23873 /* GET Transfer Modes */
 I1	  23874 
 I1	  23875 #define GMOD_TXT 0			/* Text */
 I1	  23876 #define GMOD_BIN 1			/* Binary */
 I1	  23877 #define GMOD_AUT 2			/* Auto */
 I1	  23878 #define GMOD_LBL 3			/* Labeled */
 I1	  23879 
 I1	  23880 /* GET Filename Options */
 I1	  23881 
 I1	  23882 #define GNAM_LIT 0			/* Literal */
 I1	  23883 #define GNAM_CNV 1			/* Converted */
 I1	  23884 
 I1	  23885 /* GET Pathname Options */
 I1	  23886 
 I1	  23887 #define GPTH_OFF 0			/* Pathnames Off */
 I1	  23888 #define GPTH_REL 1			/* Pathnames Relative */
 I1	  23889 #define GPTH_ABX 2			/* Pathnames Absolute */
 I1	  23890 
 I1	  23891 #ifndef NOSPL
 I1	  23892 /*
 I1	  23893   The IF REMOTE-ONLY command is available only in versions
 I1	  23894   that actually can be used in remote mode, and only if we have
 I1	  23895   an interactive command parser.
 I1	  23896 */
 I1	  23897 #define CK_IFRO
 I1    X  23898 #ifdef MAC
 I1    X  23899 #undef CK_IFRO
 I1    X  23900 #else
 I1    X  23901 #ifdef GEMDOS
 I1    X  23902 #undef CK_IFRO

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 428
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  23903 #endif /* GEMDOS */
 I1	  23904 #endif /* MAC */
 I1	  23905 #endif /* NOSPL */
 I1	  23906 
 I1	  23907 /* Systems whose CONNECT modules can execute Application Program Commands */
 I1	  23908 
 I1    X  23909 #ifdef NOSPL				/* Script programming language */
 I1    X  23910 #ifdef CK_APC				/* is required for APC. */
 I1    X  23911 #undef CK_APC
 I1    X  23912 #endif /* CK_APC */
 I1    X  23913 #ifndef NOAPC
 I1    X  23914 #define NOAPC
 I1    X  23915 #endif /* NOAPC */
 I1    X  23916 #ifndef NOAUTODL
 I1    X  23917 #define NOAUTODL
 I1    X  23918 #endif /* NOAUTODL */
 I1    X  23919 #endif /* NOSPL */
 I1	  23920 
 I1	  23921 #ifndef NOAPC				/* Unless they said NO APC */
 I1	  23922 #ifndef CK_APC				/* And they didn't already define it */
 I1    X  23923 #ifdef OS2				/* OS/2 gets it */
 I1    X  23924 #define CK_APC
 I1    X  23925 #endif /* OS2 */
 I1    X  23926 #ifdef UNIX				/* UNIX gets it */
 I1    X  23927 #define CK_APC
 I1    X  23928 #endif /* UNIX */
 I1	  23929 #ifdef VMS				/* VMS too */
 I1	  23930 #define CK_APC
 I1	  23931 #endif /* VMS */
 I1	  23932 #endif /* CK_APC */
 I1	  23933 #endif /* NOAPC */
 I1	  23934 
 I1	  23935 #ifdef CK_APC				/* APC buffer length */
 I1	  23936 #ifndef APCBUFLEN			/* Should be no bigger than */
 I1    X  23937 #ifdef NOSPL				/* command buffer length */
 I1    X  23938 #define APCBUFLEN 608			/* (see ckucmd.h) but we can't */
 I1    X  23939 #else					/* reference ckucmd.h symbols here */
 I1	  23940 #define APCBUFLEN 4096
 I1	  23941 #endif /* NOSPL */
 I1	  23942 #endif /* APCBUFLEN */
 I1	  23943 #define APC_OFF   0	/* APC OFF (disabled) */
 I1	  23944 #define APC_ON    1	/* APC ON (enabled for non-dangerous commands) */
 I1	  23945 #define APC_UNCH  2	/* APC UNCHECKED (enabled for ALL commands) bitmask */
 I1	  23946 #define APC_NOINP 4     /* APC (enabled with no input allowed - bitmask) */
 I1	  23947 #define APC_INACTIVE 0	/* APC not in use */
 I1	  23948 #define APC_REMOTE   1	/* APC in use from Remote */
 I1	  23949 #define APC_LOCAL    2	/* APC being used from within Kermit */
 I1	  23950 #ifndef NOAUTODL
 I1	  23951 #ifndef CK_AUTODL	/* Autodownload */
 I1    X  23952 #ifdef OS2
 I1    X  23953 #define CK_AUTODL
 I1    X  23954 #else
 I1    X  23955 #ifdef UNIX
 I1    X  23956 #define CK_AUTODL
 I1    X  23957 #else
 I1	  23958 #ifdef VMS
 I1	  23959 #define CK_AUTODL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 429
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  23960 #else
 I1    X  23961 #ifdef CK_AUTODL
 I1    X  23962 #undef CK_AUTODL
 I1    X  23963 #endif /* CK_AUTODL  */
 I1    X  23964 #endif /* NOAUTODL */
 I1	  23965 #endif /* VMS */
 I1	  23966 #endif /* UNIX */
 I1	  23967 #endif /* OS2 */
 I1	  23968 #endif /* CK_AUTODL */
 I1	  23969 
 I1    X  23970 #else  /* CK_APC not defined */
 I1    X  23971 
 I1    X  23972 #ifdef NOICP
 I1    X  23973 #ifdef UNIX
 I1    X  23974 #ifndef CK_AUTODL
 I1    X  23975 #define CK_AUTODL
 I1    X  23976 #endif /* CK_AUTODL */
 I1    X  23977 #endif /* UNIX */
 I1    X  23978 #else  /* Not NOICP... */
 I1    X  23979 #ifdef CK_AUTODL
 I1    X  23980 #undef CK_AUTODL
 I1    X  23981 #endif /* CK_AUTODL */
 I1    X  23982 #endif /* NOICP */
 I1    X  23983 #endif /* CK_APC */
 I1	  23984 
 I1    X  23985 #ifdef NOAUTODL
 I1    X  23986 #ifdef CK_AUTODL
 I1    X  23987 #undef CK_AUTODL
 I1    X  23988 #endif /* CK_AUTODL */
 I1    X  23989 #endif /* NOAUTODL */
 I1	  23990 
 I1	  23991 /* Codes for what we are doing now - bit mask values */
 I1	  23992 
 I1	  23993 #define W_NOTHING    0			/* Nothing */
 I1	  23994 #define W_INIT       1			/* Initializing protocol */
 I1	  23995 #define W_SEND       2			/* SENDing or MAILing */
 I1	  23996 #define W_RECV       4			/* RECEIVEing or GETting */
 I1	  23997 #define W_REMO       8			/* Doing a REMOTE command */
 I1	  23998 #define W_CONNECT   16			/* CONNECT mode */
 I1	  23999 #define W_COMMAND   32			/* Command mode */
 I1	  24000 #define W_DIALING   64			/* Dialing a modem */
 I1	  24001 #define W_FTP      128			/* FTP */
 I1	  24002 #define W_FT_DELE   64			/* FTP MDELETE */
 I1	  24003 #define W_KERMIT (W_INIT|W_SEND|W_RECV|W_REMO) /* Kermit protocol */
 I1	  24004 #define W_XFER (W_INIT|W_SEND|W_RECV|W_REMO|W_FTP) /* File xfer any protocol */
 I1	  24005 
 I1	  24006 #ifndef NOWHATAMI
 I1	  24007 #ifndef WHATAMI
 I1	  24008 #define WHATAMI
 I1	  24009 #endif /* WHATAMI */
 I1	  24010 #endif /* NOWHATAMI */
 I1	  24011 
 I1	  24012 #ifdef WHATAMI				/* Bit mask positions for WHATAMI */
 I1	  24013 #define WMI_SERVE   1			/* Server mode */
 I1	  24014 #define WMI_FMODE   2			/* File transfer mode */
 I1	  24015 #define WMI_FNAME   4			/* File name conversion */
 I1	  24016 #define WMI_STREAM  8			/* I have a reliable transport */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 430
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24017 #define WMI_CLEAR  16			/* I have a clear channel */
 I1	  24018 #define WMI_FLAG   32			/* Flag that WHATAMI field is valid */
 I1	  24019 /* WHATAMI2 bits... */
 I1	  24020 #define WMI2_XMODE  1			/* Transfer mode auto(0)/manual(1) */
 I1	  24021 #define WMI2_RECU   2			/* Transfer is recursive */
 I1	  24022 #define WMI2_FLAG  32			/* Flag that WHATAMI2 field is valid */
 I1	  24023 #endif /* WHATAMI */
 I1	  24024 
 I1	  24025 /* Terminal types */
 I1	  24026 #define VT100     0			/* Also for VT52 mode */
 I1	  24027 #define TEKTRONIX 1
 I1	  24028 
 I1	  24029 /* Normal packet and window size */
 I1	  24030 
 I1	  24031 #define MAXPACK 94			/* Maximum unextended packet size */
 I1	  24032 					/* Can't be more than 94. */
 I1    X  24033 #ifdef pdp11				/* Maximum sliding window slots */
 I1    X  24034 #define MAXWS  8
 I1    X  24035 #else
 I1	  24036 #define MAXWS 32			/* Can't be more than 32. */
 I1	  24037 #endif /* pdp11 */
 I1	  24038 
 I1	  24039 /* Maximum long packet size for sending packets */
 I1	  24040 /* Override these from cc command line via -DMAXSP=nnn */
 I1	  24041 
 I1    X  24042 #ifdef IRIX				/* Irix 6.4 and earlier has */
 I1    X  24043 #ifndef MAXSP				/* Telnet server bug */
 I1    X  24044 #ifdef IRIX65
 I1    X  24045 #define MAXSP 9024
 I1    X  24046 #else
 I1    X  24047 #define MAXSP 4000
 I1    X  24048 #endif /* IRIX65 */
 I1    X  24049 #endif /* MAXSP */
 I1    X  24050 #endif /* IRIX */
 I1	  24051 
 I1	  24052 #ifdef DYNAMIC
 I1	  24053 #ifndef MAXSP
 I1	  24054 #define MAXSP 9024
 I1	  24055 #endif /* MAXSP */
 I1    X  24056 #else  /* not DYNAMIC */
 I1    X  24057 #ifndef MAXSP
 I1    X  24058 #ifdef pdp11
 I1    X  24059 #define MAXSP 1024
 I1    X  24060 #else
 I1    X  24061 #define MAXSP 2048
 I1    X  24062 #endif /* pdp11 */
 I1    X  24063 #endif /* MAXSP */
 I1    X  24064 #endif /* DYNAMIC */
 I1	  24065 
 I1	  24066 /* Maximum long packet size for receiving packets */
 I1	  24067 /* Override these from cc command line via -DMAXRP=nnn */
 I1	  24068 
 I1	  24069 #ifdef DYNAMIC
 I1	  24070 #ifndef MAXRP
 I1	  24071 #define MAXRP 9024
 I1	  24072 #endif /* MAXRP */
 I1    X  24073 #else  /* not DYNAMIC */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 431
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  24074 #ifndef MAXRP
 I1    X  24075 #ifdef pdp11
 I1    X  24076 #define MAXRP 1024
 I1    X  24077 #else
 I1    X  24078 #define MAXRP 2048
 I1    X  24079 #endif /* pdp11 */
 I1    X  24080 #endif /* MAXRP */
 I1    X  24081 #endif /* DYNAMIC */
 I1	  24082 /*
 I1	  24083   Default sizes for windowed packet buffers.
 I1	  24084   Override these from cc command line via -DSBSIZ=nnn, -DRBSIZ=nnn.
 I1	  24085   Or just -DBIGBUFOK.
 I1	  24086 */
 I1	  24087 #ifndef MAXGETPATH			/* Maximum number of directories */
 I1	  24088 #ifdef BIGBUFOK				/* for GET path... */
 I1	  24089 #define MAXGETPATH 128
 I1    X  24090 #else
 I1    X  24091 #define MAXGETPATH 16
 I1    X  24092 #endif /* BIGBUFOK */
 I1	  24093 #endif /* MAXGETPATH */
 I1	  24094 
 I1	  24095 #ifndef NOSPL				/* Query buffer length */
 I1    X  24096 #ifdef OS2
 I1    X  24097 #define QBUFL 4095
 I1    X  24098 #else
 I1	  24099 #ifdef BIGBUFOK
 I1	  24100 #define QBUFL 4095
 I1    X  24101 #else
 I1    X  24102 #define QBUFL 1023
 I1    X  24103 #endif /* BIGBUFOK */
 I1	  24104 #endif /* OS2 */
 I1	  24105 #endif /* NOSPL */
 I1	  24106 
 I1	  24107 #ifdef DYNAMIC
 I1	  24108 #ifndef SBSIZ
 I1	  24109 #ifdef BIGBUFOK				/* If big buffers are safe... */
 I1	  24110 #define SBSIZ 290000			/* Allow for 10 x 9024 or 20 x 4096 */
 I1    X  24111 #else					/* Otherwise... */
 I1    X  24112 #ifdef pdp11
 I1    X  24113 #define SBSIZ 3020
 I1    X  24114 #else
 I1    X  24115 #define SBSIZ 9050			/* Allow for 3 x 3000, etc. */
 I1    X  24116 #endif /* pdp11 */
 I1    X  24117 #endif /* BIGBUFOK */
 I1	  24118 #endif /* SBSIZ */
 I1	  24119 
 I1	  24120 #ifndef RBSIZ
 I1	  24121 #ifdef BIGBUFOK
 I1	  24122 #define RBSIZ 290000			/* Allow for 10 x 9024 or 20 x 4096 */
 I1    X  24123 #else
 I1    X  24124 #ifdef pdp11
 I1    X  24125 #define RBSIZ 3020
 I1    X  24126 #else
 I1    X  24127 #define RBSIZ 9050
 I1    X  24128 #endif /* pdp11 */
 I1    X  24129 #endif /* BIGBUFOK */
 I1	  24130 #endif /* RBSIZ */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 432
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  24131 #else  /* not DYNAMIC */
 I1    X  24132 #ifdef pdp11
 I1    X  24133 #define SBSIZ 3020
 I1    X  24134 #define RBSIZ 3020
 I1    X  24135 #else
 I1    X  24136 #ifndef SBSIZ
 I1    X  24137 #define SBSIZ (MAXSP * (MAXWS + 1))
 I1    X  24138 #endif /* SBSIZ */
 I1    X  24139 #ifndef RBSIZ
 I1    X  24140 #define RBSIZ (MAXRP * (MAXWS + 1))
 I1    X  24141 #endif /* RBSIZ */
 I1    X  24142 #endif /* pdp11 */
 I1    X  24143 #endif /* DYNAMIC */
 I1	  24144 
 I1	  24145 #ifdef BIGBUFOK
 I1	  24146 #define PKTMSGLEN 1023
 I1    X  24147 #else
 I1    X  24148 #define PKTMSGLEN 80
 I1    X  24149 #endif /* BIGBUFOK */
 I1	  24150 
 I1	  24151 /* Kermit parameters and defaults */
 I1	  24152 
 I1	  24153 #define CTLQ	   '#'			/* Control char prefix I will use */
 I1	  24154 #define MYEBQ	   '&'			/* 8th-Bit prefix char I will use */
 I1	  24155 #define MYRPTQ	   '~'			/* Repeat count prefix I will use */
 I1	  24156 
 I1	  24157 #define MAXTRY	    10			/* Times to retry a packet */
 I1	  24158 #define MYPADN	    0			/* How many padding chars I need */
 I1	  24159 #define MYPADC	    '\0'		/* Which padding character I need */
 I1	  24160 
 I1	  24161 #define DMYTIM	    8			/* Initial timeout interval to use. */
 I1	  24162 #define URTIME	    15			/* Timeout interval to use on me. */
 I1	  24163 #define DSRVTIM     0			/* Default server cmd wait timeout. */
 I1	  24164 
 I1	  24165 #define DEFTRN	    0			/* Default line turnaround handshake */
 I1	  24166 
 I1	  24167 #define MYEOL	    CK_CR               /* Incoming packet terminator. */
 I1	  24168 
 I1	  24169 #ifdef NEWDEFAULTS
 I1	  24170 #define DRPSIZ	  4095			/* Default incoming packet size. */
 I1	  24171 #define DFWSIZ      30			/* Default window size */
 I1	  24172 #define DFBCT        3			/* Default block-check type */
 I1    X  24173 #else
 I1    X  24174 #define DRPSIZ	    90			/* Default incoming packet size. */
 I1    X  24175 #define DFWSIZ       1			/* Default window size */
 I1    X  24176 #define DFBCT        3			/* Default block-check type */
 I1    X  24177 #endif /* NEWDEFAULTS */
 I1	  24178 
 I1	  24179 /* The HP-UX 5 and 6 Telnet servers can only swallow 513 bytes at once */
 I1	  24180 
 I1    X  24181 #ifdef HPUX5
 I1    X  24182 #ifdef DRPSIZ
 I1    X  24183 #undef DRPSIZ
 I1    X  24184 #endif /* DRPSIZ */
 I1    X  24185 #define DRPSIZ 500
 I1    X  24186 #else
 I1    X  24187 #ifdef HPUX6

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 433
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  24188 #ifdef DRPSIZ
 I1    X  24189 #undef DRPSIZ
 I1    X  24190 #endif /* DRPSIZ */
 I1    X  24191 #define DRPSIZ 500
 I1    X  24192 #endif /* HPUX6 */
 I1	  24193 #endif /* HPUX5 */
 I1	  24194 
 I1	  24195 #define DSPSIZ	    90			/* Default outbound packet size. */
 I1	  24196 #define DDELAY      1			/* Default delay. */
 I1	  24197 #define DSPEED	    9600		/* Default line speed. */
 I1	  24198 
 I1    X  24199 #ifdef OS2				/* Default CONNECT-mode */
 I1    X  24200 #define DFESC 29			/* escape character */
 I1    X  24201 #else
 I1    X  24202 #ifdef NEXT				/* Ctrl-] for PC and NeXT */
 I1    X  24203 #define DFESC 29
 I1    X  24204 #else
 I1    X  24205 #ifdef GEMDOS				/* And Atari ST */
 I1    X  24206 #define DFESC 29
 I1    X  24207 #else
 I1	  24208 #define DFESC 28			/* Ctrl-backslash for others */
 I1	  24209 #endif /* GEMDOS */
 I1	  24210 #endif /* NEXT */
 I1	  24211 #endif /* OS2 */
 I1	  24212 
 I1    X  24213 #ifdef NOPUSH				/* NOPUSH implies NOJC */
 I1    X  24214 #ifndef NOJC				/* (no job control) */
 I1    X  24215 #define NOJC
 I1    X  24216 #endif /* NOJC */
 I1    X  24217 #endif /* NOPUSH */
 I1	  24218 
 I1    X  24219 #ifdef UNIX				/* Default for SET SUSPEND */
 I1    X  24220 #ifdef NOJC				/* UNIX but job control disabled */
 I1    X  24221 #define DFSUSP      0
 I1    X  24222 #else					/* UNIX, job control enabled. */
 I1    X  24223 #define DFSUSP      1
 I1    X  24224 #endif /* NOJC */
 I1    X  24225 #else
 I1	  24226 #define DFSUSP      0
 I1	  24227 #endif /* UNIX */
 I1	  24228 
 I1	  24229 #ifndef DFCDMSG
 I1    X  24230 #ifdef UNIXOROSK
 I1    X  24231 #define DFCDMSG "{{./.readme}{README.TXT}{READ.ME}}"
 I1    X  24232 #else
 I1	  24233 #define DFCDMSG "{{README.TXT}{READ.ME}}"
 I1	  24234 #endif /* UNIXOROSK */
 I1	  24235 #endif /* DFCDMSG */
 I1	  24236 
 I1	  24237 #define NSNDEXCEPT 64		/* Max patterns for /EXCEPT: list */
 I1	  24238 
 I1	  24239 /* Files */
 I1	  24240 
 I1	  24241 #define ZCTERM      0	    	/* Console terminal */
 I1	  24242 #define ZSTDIO      1		/* Standard input/output */
 I1	  24243 #define ZIFILE	    2		/* Current input file (SEND, etc) (in) */
 I1	  24244 #define ZOFILE      3	    	/* Current output file (RECEIVE, GET) (out) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 434
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24245 #define ZDFILE      4	    	/* Current debugging log file (out) */
 I1	  24246 #define ZTFILE      5	    	/* Current transaction log file (out) */
 I1	  24247 #define ZPFILE      6	    	/* Current packet log file (out) */
 I1	  24248 #define ZSFILE      7		/* Current session log file (out) */
 I1	  24249 #define ZSYSFN	    8		/* Input/Output from a system function */
 I1	  24250 #define ZRFILE      9           /* Local file for READ (in) */
 I1	  24251 #define ZWFILE     10           /* Local file for WRITE (out) */
 I1	  24252 #define ZMFILE     11		/* Miscellaneous file, e.g. for XLATE */
 I1	  24253 #define ZDIFIL     12		/* DIAL log */
 I1	  24254 #define ZNFILS     13	    	/* How many predefined file numbers (old) */
 I1	  24255 
 I1	  24256 #ifdef CKCHANNELIO
 I1	  24257 
 I1	  24258 /* File modes */
 I1	  24259 
 I1	  24260 #define FM_REA      1			/* Read */
 I1	  24261 #define FM_WRI      2			/* Write */
 I1	  24262 #define FM_APP      4			/* Append */
 I1	  24263 #define FM_RWA      7			/* Read/Write/Append mask */
 I1	  24264 #define FM_BIN      8			/* Binary */
 I1	  24265 #define FM_RWB     15			/* Read/Write/Append/Binary mask */
 I1	  24266 #define FM_CMD     16			/* Command */
 I1	  24267 #define FM_EOF     64			/* (status) At EOF */
 I1	  24268 #define FM_STDIN  128                   /* Standard input */
 I1	  24269 #define FM_STDOUT 256                   /* Standard output */
 I1	  24270 #define FM_STDERR 512                   /* Standard error */
 I1	  24271 #define FM_STDM   896                   /* Standard in/out/err mask */
 I1	  24272 
 I1	  24273 /* File errors */
 I1	  24274 
 I1	  24275 #define FX_NER      0			/* No error */
 I1	  24276 #define FX_SYS     -1			/* System error */
 I1	  24277 #define FX_EOF     -2			/* End of file */
 I1	  24278 #define FX_NOP     -3			/* Channel not open */
 I1	  24279 #define FX_CHN     -4			/* Channel out of range */
 I1	  24280 #define FX_RNG     -5			/* Argument range error */
 I1	  24281 #define FX_FNF     -6			/* File not found */
 I1	  24282 #define FX_BFN     -7			/* Bad or missing filename */
 I1	  24283 #define FX_NMF     -8			/* No more files */
 I1	  24284 #define FX_FOP     -9			/* Forbidden operation */
 I1	  24285 #define FX_ACC    -10			/* Access denied */
 I1	  24286 #define FX_BOM    -11			/* Bad combination of open modes */
 I1	  24287 #define FX_OFL    -12			/* Buffer overflow */
 I1	  24288 #define FX_LNU    -13			/* Current line number unknown */
 I1	  24289 #define FX_ROO    -14			/* Set Root violation */
 I1	  24290 #define FX_NYI    -99			/* Feature not implemented yet */
 I1	  24291 #define FX_UNK   -999			/* Unknown error */
 I1	  24292 
 I1	  24293 _PROTOTYP( int z_open, (char *, int) );
       E	 int z_open ( char * , int )
 I1	  24294 _PROTOTYP( int z_close, (int) );
       E	 int z_close ( int )
 I1	  24295 _PROTOTYP( int z_out, (int, char *, int, int) );
       E	 int z_out ( int , char * , int , int )
 I1	  24296 _PROTOTYP( int z_in, (int, char *, int, int, int) );
       E	 int z_in ( int , char * , int , int , int )
 I1	  24297 _PROTOTYP( int z_flush, (int) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 435
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

       E	 int z_flush ( int )
 I1	  24298 _PROTOTYP( int z_seek, (int, CK_OFF_T) );
       E	 int z_seek ( int , off_t )
 I1	  24299 _PROTOTYP( int z_line, (int, CK_OFF_T) );
       E	 int z_line ( int , off_t )
 I1	  24300 _PROTOTYP( int z_getmode, (int) );
       E	 int z_getmode ( int )
 I1	  24301 _PROTOTYP( int z_getfnum, (int) );
       E	 int z_getfnum ( int )
 I1	  24302 _PROTOTYP( CK_OFF_T z_getpos, (int) );
       E	 off_t z_getpos ( int )
 I1	  24303 _PROTOTYP( CK_OFF_T z_getline, (int) );
       E	 off_t z_getline ( int )
 I1	  24304 _PROTOTYP( CK_OFF_T z_count, (int, int) );
       E	 off_t z_count ( int , int )
 I1	  24305 _PROTOTYP( char * z_getname, (int) );
       E	 char * z_getname ( int )
 I1	  24306 _PROTOTYP( char * ckferror, (int) );
       E	 char * ckferror ( int )
 I1	  24307 #endif /* CKCHANNELIO */
 I1	  24308 
 I1	  24309 _PROTOTYP( int scanfile, (char *, int *, int) );
       E	 int scanfile ( char * , int * , int )
 I1	  24310 _PROTOTYP( int scanstring, (char *) );
       E	 int scanstring ( char * )
 I1	  24311 
 I1	  24312 /*  Buffered file i/o ...  */
 I1    X  24313 #ifdef OS2				/* K-95 */
 I1    X  24314 #define INBUFSIZE 32768
 I1    X  24315 #define OBUFSIZE 32768
 I1    X  24316 #else
 I1    X  24317 #ifdef pdp11
 I1    X  24318 #define INBUFSIZE 512
 I1    X  24319 #define OBUFSIZE 512
 I1    X  24320 #else
 I1	  24321 /* In VMS, allow for longest possible RMS record */
 I1	  24322 #ifdef VMS
 I1	  24323 #define INBUFSIZE 32768			/* File input buffer size */
 I1	  24324 #define OBUFSIZE 32768			/* File output buffer size */
 I1    X  24325 #else  /* Not VMS */
 I1    X  24326 #ifdef STRATUS
 I1    X  24327 #ifdef DYNAMIC
 I1    X  24328 #define INBUFSIZE 32767			/* File input buffer size */
 I1    X  24329 #define OBUFSIZE 32767			/* File output buffer size */
 I1    X  24330 #else /* STRATUS, not DYNAMIC */
 I1    X  24331 #define INBUFSIZE 4096			/* File input buffer size */
 I1    X  24332 #define OBUFSIZE 4096			/* File output buffer size */
 I1    X  24333 #endif /* DYNAMIC */
 I1    X  24334 #else /* not STRATUS */
 I1    X  24335 #ifdef BIGBUFOK				/* Systems with some memory */
 I1    X  24336 #define INBUFSIZE 32768			/* 32K for packet buffers */
 I1    X  24337 #define OBUFSIZE 32768
 I1    X  24338 #else /* Not BIGBUFOK */
 I1    X  24339 #define INBUFSIZE 1024
 I1    X  24340 #define OBUFSIZE 1024
 I1    X  24341 #endif /* BIGBUFOK */
 I1    X  24342 #endif /* STRATUS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 436
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  24343 #endif /* VMS */
 I1	  24344 #endif /* pdp11 */
 I1	  24345 #endif /* OS2 */
 I1	  24346 
 I1	  24347 /* File-transfer character in/out macros for buffered i/o */
 I1	  24348 
 I1	  24349 /* Get the next file byte */
 I1	  24350 #ifndef CKCMAI
 I1	  24351 #ifndef NOXFER
 I1	  24352 extern char ** sndarray;
 I1	  24353 #endif /* NOXFER */
 I1	  24354 #endif /* CKCMAI */
 I1    X  24355 #ifdef NOSPL
 I1    X  24356 #define zminchar() (((--zincnt)>=0) ? ((int)(*zinptr++) & 0377) : zinfill())
 I1    X  24357 #else
 I1    X  24358 #ifdef NOXFER
 I1    X  24359 #define zminchar() (((--zincnt)>=0) ? ((int)(*zinptr++) & 0377) : zinfill())
 I1    X  24360 #else
 I1	  24361 #define zminchar() \
 I1	  24362 (sndarray?agnbyte():(((--zincnt)>=0) ? ((int)(*zinptr++) & 0377) : zinfill()))
 I1	  24363 #endif /* NOXFER */
 I1	  24364 #endif /* NOSPL */
 I1	  24365 
 I1	  24366 /* Stuff a character into the input buffer */
 I1	  24367 #define zmstuff(c) zinptr--, *zinptr = c, zincnt++
 I1	  24368 
 I1	  24369 /* Put a character to a file */
 I1	  24370 #define zmchout(c) \
 I1	  24371 ((*zoutptr++=(char)(c)),(((++zoutcnt)>=zobufsize)?zoutdump():0))
 I1	  24372 
 I1	  24373 /* Screen functions */
 I1	  24374 
 I1	  24375 #define XYFD_N 0			/* File transfer display: None, Off */
 I1	  24376 #define XYFD_R 1			/* Regular, Dots */
 I1	  24377 #define XYFD_C 2			/* Cursor-positioning (e.g. curses) */
 I1	  24378 #define XYFD_S 3			/* CRT Screen */
 I1	  24379 #define XYFD_B 4			/* Brief */
 I1	  24380 #define XYFD_G 5                        /* GUI */
 I1	  24381 
 I1    X  24382 #ifdef NODISPLAY
 I1    X  24383 #define xxscreen(a,b,c,d)
 I1    X  24384 #define ckscreen(a,b,c,d)
 I1    X  24385 #else
 I1	  24386 _PROTOTYP( VOID ckscreen, (int, char, CK_OFF_T, char *) );
       E	 void ckscreen ( int , char , off_t , char * )
 I1	  24387 #ifdef VMS
 I1	  24388 #define xxscreen(a,b,c,d) \
 I1	  24389 if (local && fdispla != XYFD_N) \
 I1	  24390 ckscreen((int)a,(char)b,(CK_OFF_T)c,(char *)d)
 I1    X  24391 #else
 I1	  24392 #define xxscreen(a,b,c,d) \
 I1	  24393 if (local && !backgrd && fdispla != XYFD_N) \
 I1    X  24394 ckscreen((int)a,(char)b,(CK_OFF_T)c,(char *)d)
 I1    X  24395 #endif /* VMS */
 I1	  24396 #endif /* NODISPLAY */
 I1	  24397 
 I1	  24398 #define SCR_FN 1    	/* filename */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 437
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24399 #define SCR_AN 2    	/* as-name */
 I1	  24400 #define SCR_FS 3 	/* file-size */
 I1	  24401 #define SCR_XD 4    	/* x-packet data */
 I1	  24402 #define SCR_ST 5      	/* File status: */
 I1	  24403 #define   ST_OK   0   	/*  Transferred OK */
 I1	  24404 #define   ST_DISC 1 	/*  Discarded */
 I1	  24405 #define   ST_INT  2     /*  Interrupted */
 I1	  24406 #define   ST_SKIP 3 	/*  Skipped */
 I1	  24407 #define   ST_ERR  4 	/*  Fatal Error */
 I1	  24408 #define   ST_REFU 5     /*  Refused (use Attribute codes for reason) */
 I1	  24409 #define   ST_INC  6	/*  Incompletely received */
 I1	  24410 #define   ST_MSG  7	/*  Informational message */
 I1	  24411 #define   ST_SIM  8	/*  Transfer simulated (e.g. would be sent) */
 I1	  24412 #define SCR_PN 6    	/* packet number */
 I1	  24413 #define SCR_PT 7    	/* packet type or pseudotype */
 I1	  24414 #define SCR_TC 8    	/* transaction complete */
 I1	  24415 #define SCR_EM 9    	/* error message */
 I1	  24416 #define SCR_WM 10   	/* warning message */
 I1	  24417 #define SCR_TU 11	/* arbitrary undelimited text */
 I1	  24418 #define SCR_TN 12   	/* arbitrary new text, delimited at beginning */
 I1	  24419 #define SCR_TZ 13   	/* arbitrary text, delimited at end */
 I1	  24420 #define SCR_QE 14	/* quantity equals (e.g. "foo: 7") */
 I1	  24421 #define SCR_CW 15	/* close screen window */
 I1	  24422 #define SCR_CD 16       /* display current directory */
 I1	  24423 #define SCR_MS 17	/* message from client */
 I1	  24424 
 I1	  24425 /* Skip reasons */
 I1	  24426 
 I1	  24427 #define SKP_DAT 1			/* Date-Time (Older) */
 I1	  24428 #define SKP_EQU 2			/* Date-Time (Equal) */
 I1	  24429 #define SKP_TYP 3			/* Type */
 I1	  24430 #define SKP_SIZ 4			/* Size */
 I1	  24431 #define SKP_NAM 5			/* Name collision */
 I1	  24432 #define SKP_EXL 6			/* Exception list */
 I1	  24433 #define SKP_DOT 7			/* Dot file */
 I1	  24434 #define SKP_BKU 8			/* Backup file */
 I1	  24435 #define SKP_RES 9			/* Recovery not needed */
 I1	  24436 #define SKP_ACC 10			/* Access denied */
 I1	  24437 #define SKP_NRF 11			/* Not a regular file */
 I1	  24438 #define SKP_SIM 12			/* Simulation (WOULD BE SENT) */
 I1	  24439 #define SKP_XUP 13 /* Simulation: Would be sent because remote file older */
 I1	  24440 #define SKP_XNX 14 /* Simulation: ditto, because remote file does not exist */
 I1	  24441 
 I1	  24442 /* Macros */
 I1	  24443 
 I1	  24444 #ifndef CKCMAI
 I1	  24445 extern int tcp_incoming;		/* Used by ENABLE macro */
 I1	  24446 #endif /* CKCMAI */
 I1	  24447 
 I1    X  24448 #ifndef TCPSOCKET
 I1	  24449 /*
 I1	  24450   ENABLED tells whether a server-side service is enabled.
 I1	  24451   0 = disabled, 1 = local, 2 = remote.
 I1	  24452   A "set host *" connection is technically local but logically remote
 I1    X  24453 */
 I1    X  24454 #define ENABLED(x) ((local && (x & 1)) || (!local && (x & 2)))
 I1    X  24455 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 438
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24456 #define ENABLED(x) (((local && !tcp_incoming) && (x & 1)) || \
 I1	  24457 ((!local || tcp_incoming) && (x&2)))
 I1	  24458 #endif /* TCPSOCKET */
 I1	  24459 
 I1	  24460 /* These are from the book */
 I1	  24461 
 I1    X  24462 #ifndef SP
 I1    X  24463 #define SP 32
 I1    X  24464 #endif  /* SP */
 I1	  24465 
 I1	  24466 #define tochar(ch)  (((ch) + SP ) & 0xFF )	/* Number to character */
 I1	  24467 #define xunchar(ch) (((ch) - SP ) & 0xFF )	/* Character to number */
 I1	  24468 #define ctl(ch)     (((ch) ^ 64 ) & 0xFF )	/* Control/Uncontrol toggle */
 I1	  24469 #define unpar(ch)   (((ch) & 127) & 0xFF )	/* Clear parity bit */
 I1	  24470 
 I1	  24471 #ifndef NOLOCAL				/* CONNECT return status codes */
 I1	  24472 
 I1	  24473 /* Users will see the numbers so they can't be changed */
 I1	  24474 /* Numbers >= 100 indicate connection loss */
 I1	  24475 
 I1	  24476 #define CSX_NONE        0		/* No CONNECT yet so no status */
 I1	  24477 #define CSX_ESCAPE      1		/* User Escaped back */
 I1	  24478 #define CSX_TRIGGER     2		/* Trigger was encountered */
 I1	  24479 #define CSX_IKSD        3		/* IKSD autosynchronization */
 I1	  24480 #define CSX_APC         4		/* Application Program Command */
 I1	  24481 #define CSX_IDLE        5		/* Idle limit exceeded */
 I1	  24482 #define CSX_TN_ERR      6		/* Telnet Error */
 I1	  24483 #define CSX_MACRO       7               /* Macro bound to keystroke */
 I1	  24484 #define CSX_TIME        8               /* Time Limit exceeded */
 I1	  24485 #define CSX_INTERNAL  100		/* Internal error */
 I1	  24486 #define CSX_CARRIER   101		/* Carrier required but not detected */
 I1	  24487 #define CSX_IOERROR   102		/* I/O error on connection */
 I1	  24488 #define CSX_HOSTDISC  103		/* Disconnected by host */
 I1	  24489 #define CSX_USERDISC  104		/* Disconnected by user */
 I1	  24490 #define CSX_SESSION   105		/* Session Limit exceeded */
 I1	  24491 #define CSX_TN_POL    106		/* Rejected due to Telnet Policy */
 I1	  24492 #define CSX_KILL_SIG  107               /* Received Kill Signal */
 I1	  24493 
 I1	  24494 /* SET TERMINAL IDLE-ACTION values */
 I1	  24495 
 I1	  24496 #define IDLE_RET  0			/* Return to prompt */
 I1	  24497 #define IDLE_EXIT 1			/* Exit from Kermit */
 I1	  24498 #define IDLE_HANG 2			/* Hangup the connection */
 I1	  24499 #define IDLE_OUT  3			/* OUTPUT a string */
 I1	  24500 #define IDLE_TNOP 4			/* TELNET NOP */
 I1	  24501 #define IDLE_TAYT 5			/* TELNET AYT */
 I1	  24502 #endif /* NOLOCAL */
 I1	  24503 
 I1	  24504 /* Modem and dialing definitions */
 I1	  24505 
 I1	  24506 #ifndef NODIAL
 I1	  24507 
 I1	  24508 /* Modem capabilities (bit values) */
 I1	  24509 #define CKD_AT   1			/* Hayes AT commands and responses */
 I1	  24510 #define CKD_V25  2			/* V.25bis commands and responses */
 I1	  24511 #define CKD_SB   4			/* Speed buffering */
 I1	  24512 #define CKD_EC   8			/* Error correction */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 439
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24513 #define CKD_DC  16			/* Data compression */
 I1	  24514 #define CKD_HW  32			/* Hardware flow control */
 I1	  24515 #define CKD_SW  64			/* (Local) software flow control */
 I1	  24516 #define CKD_KS 128			/* Kermit spoofing */
 I1	  24517 #define CKD_TB 256			/* Made by Telebit */
 I1	  24518 #define CKD_ID 512			/* Has Caller ID */
 I1	  24519 
 I1	  24520 /* DIAL command result codes */
 I1	  24521 #define DIA_UNK   -1			/* No DIAL command given yet */
 I1	  24522 #define DIA_OK     0			/* DIAL succeeded */
 I1	  24523 #define DIA_NOMO   1			/* Modem type not specified */
 I1	  24524 #define DIA_NOLI   2			/* Communication line not spec'd */
 I1	  24525 #define DIA_OPEN   3			/* Line can't be opened */
 I1	  24526 #define DIA_NOSP   4			/* Speed not specified */
 I1	  24527 #define DIA_HANG   5			/* Hangup failure */
 I1	  24528 #define DIA_IE     6			/* Internal error (malloc, etc) */
 I1	  24529 #define DIA_IO     7			/* I/O error */
 I1	  24530 #define DIA_TIMO   8			/* Dial timeout expired */
 I1	  24531 #define DIA_INTR   9			/* Dialing interrupted by user */
 I1	  24532 #define DIA_NRDY  10			/* Modem not ready */
 I1	  24533 #define DIA_PART  11			/* Partial dial command OK */
 I1	  24534 #define DIA_DIR   12			/* Dialing directory error */
 I1	  24535 #define DIA_HUP   13			/* Modem was hung up OK */
 I1	  24536 #define DIA_NRSP  19			/* No response from modem */
 I1	  24537 #define DIA_ERR   20			/* Modem command error */
 I1	  24538 #define DIA_NOIN  21			/* Failure to initialize modem */
 I1	  24539 #define DIA_BUSY  22			/* Phone busy */
 I1	  24540 #define DIA_NOCA  23			/* No carrier */
 I1	  24541 #define DIA_NODT  24			/* No dialtone */
 I1	  24542 #define DIA_RING  25			/* Ring, incoming call */
 I1	  24543 #define DIA_NOAN  26			/* No answer */
 I1	  24544 #define DIA_DISC  27			/* Disconnected */
 I1	  24545 #define DIA_VOIC  28			/* Answered by voice */
 I1	  24546 #define DIA_NOAC  29			/* Access denied, forbidden call */
 I1	  24547 #define DIA_BLCK  30			/* Blacklisted */
 I1	  24548 #define DIA_DELA  31			/* Delayed */
 I1	  24549 #define DIA_FAX   32			/* Fax */
 I1	  24550 #define DIA_DIGI  33                    /* Digital Line */
 I1	  24551 #define DIA_TAPI  34			/* TAPI dialing failure */
 I1	  24552 #define DIA_UERR  98			/* Unknown error */
 I1	  24553 #define DIA_UNSP  99		/* Unspecified failure detected by modem */
 I1	  24554 
 I1	  24555 #define MDMINF	struct mdminf
 I1	  24556 
 I1	  24557 MDMINF {			/* Structure for modem-specific information */
       E	 struct mdminf
 I1	  24558 
 I1	  24559     char * name;		/* Descriptive name */
 I1	  24560     char * pulse;		/* Command to force pulse dialing */
 I1	  24561     char * tone;		/* Command to force tone dialing */
 I1	  24562     int    dial_time;		/* Time modem allows for dialing (secs) */
 I1	  24563     char * pause_chars;		/* Character(s) to tell modem to pause */
 I1	  24564     int	   pause_time;		/* Time associated with pause chars (secs) */
 I1	  24565     char * wake_str;		/* String to wakeup modem & put in cmd mode */
 I1	  24566     int	   wake_rate;		/* Delay between wake_str characters (msecs) */
 I1	  24567     char * wake_prompt;		/* String prompt after wake_str */
 I1	  24568     char * dmode_str;		/* String to put modem in dialing mode */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 440
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24569     char * dmode_prompt;	/* String prompt for dialing mode */
 I1	  24570     char * dial_str;		/* Dialing string, with "%s" for number */
 I1	  24571     int    dial_rate;		/* Interchar delay to modem (msec) */
 I1	  24572     int    esc_time;		/* Escape sequence guard time (msec) */
 I1	  24573     int    esc_char;		/* Escape character */
 I1	  24574     char * hup_str;		/* Hangup string */
 I1	  24575     char * hwfc_str;		/* Hardware flow control string */
 I1	  24576     char * swfc_str;		/* Software flow control string */
 I1	  24577     char * nofc_str;		/* No flow control string */
 I1	  24578     char * ec_on_str;		/* Error correction on string */
 I1	  24579     char * ec_off_str;		/* Error correction off string */
 I1	  24580     char * dc_on_str;		/* Data compression on string */
 I1	  24581     char * dc_off_str;		/* Data compression off string */
 I1	  24582     char * aa_on_str;		/* Autoanswer on string */
 I1	  24583     char * aa_off_str;		/* Autoanswer off string */
 I1	  24584     char * sb_on_str;		/* Speed buffering on string */
 I1	  24585     char * sb_off_str;		/* Speed buffering off string */
 I1	  24586     char * sp_on_str;		/* Speaker on string */
 I1	  24587     char * sp_off_str;		/* Speaker off string */
 I1	  24588     char * vol1_str;		/* Volume low string */
 I1	  24589     char * vol2_str;		/* Volume med string */
 I1	  24590     char * vol3_str;		/* Volume high string */
 I1	  24591     char * ignoredt;		/* Ignore dialtone string */
 I1	  24592     char * ini2;		/* Last-minute init string */
 I1	  24593     long   max_speed;		/* Maximum interface speed */
 I1	  24594     long   capas;		/* Capability bits */
 I1	  24595     /* function to read modem's response string to a non-dialing command */
 I1	  24596     _PROTOTYP( int (*ok_fn), (int,int) );
       E	     int ( * ok_fn ) ( int , int )
 I1	  24597 };
 I1	  24598 #endif /* NODIAL */
 I1	  24599 
 I1	  24600 /* Symbols for File Attributes */
 I1	  24601 
 I1	  24602 #define AT_XALL  0			/* All of them */
 I1	  24603 #define AT_ALLY  1			/* All of them on (Yes) */
 I1	  24604 #define AT_ALLN  2			/* All of them off (no) */
 I1	  24605 #define AT_LENK  3			/* Length in K */
 I1	  24606 #define AT_FTYP  4			/* File Type */
 I1	  24607 #define AT_DATE  5			/* Creation date */
 I1	  24608 #define AT_CREA  6			/* Creator */
 I1	  24609 #define AT_ACCT  7			/* Account */
 I1	  24610 #define AT_AREA  8			/* Area */
 I1	  24611 #define AT_PSWD  9			/* Password for area */
 I1	  24612 #define AT_BLKS 10			/* Blocksize */
 I1	  24613 #define AT_ACCE 11			/* Access */
 I1	  24614 #define AT_ENCO 12			/* Encoding */
 I1	  24615 #define AT_DISP 13			/* Disposition */
 I1	  24616 #define AT_LPRO 14			/* Local Protection */
 I1	  24617 #define AT_GPRO 15			/* Generic Protection */
 I1	  24618 #define AT_SYSI 16			/* System ID */
 I1	  24619 #define AT_RECF 17			/* Record Format */
 I1	  24620 #define AT_SYSP 18			/* System-Dependent Parameters */
 I1	  24621 #define AT_LENB 19			/* Length in Bytes */
 I1	  24622 #define AT_EOA  20			/* End of Attributes */
 I1	  24623 
 I1	  24624 /* Kermit packet information structure */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 441
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24625 
 I1	  24626 struct pktinfo {			/* Packet information structure */
 I1	  24627     CHAR *bf_adr;			/*  buffer address */
 I1	  24628     int   bf_len;			/*  buffer length */
 I1	  24629     CHAR *pk_adr;			/* Packet address within buffer */
 I1	  24630     int   pk_len;			/*  length of data within buffer */
 I1	  24631     int   pk_typ;			/*  packet type */
 I1	  24632     int   pk_seq;			/*  packet sequence number */
 I1	  24633     int   pk_rtr;			/*  retransmission count */
 I1	  24634 };
 I1	  24635 
 I1	  24636 /* Send Modes (indicating which type of SEND command was used) */
 I1	  24637 
 I1	  24638 #define SM_SEND     0
 I1	  24639 #define SM_MSEND    1
 I1	  24640 #define SM_RESEND   2
 I1	  24641 #define SM_PSEND    3
 I1	  24642 #define SM_MAIL     4
 I1	  24643 #define SM_PRINT    5
 I1	  24644 
 I1	  24645 #define OPTBUFLEN 256
 I1	  24646 
 I1	  24647 /* File-related symbols and structures */
 I1	  24648 /* Used by SET FILE command but also by protocol and i/o modules */
 I1	  24649 
 I1	  24650 #define XMODE_A 0	/* Transfer mode Automatic */
 I1	  24651 #define XMODE_M 1	/* Transfer mode Manual    */
 I1	  24652 
 I1	  24653 #define   XYFILN 0  	/*  Naming  */
 I1	  24654 #define     XYFN_L 0	/*    Literal */
 I1	  24655 #define     XYFN_C 1	/*    Converted */
 I1	  24656 #define   XYFILT 1  	/*  Type    */
 I1	  24657 #define     XYFT_T 0    /*    Text  */
 I1	  24658 #define     XYFT_B 1    /*    Binary */
 I1	  24659 #define     XYFT_I 2    /*    Image or Block (VMS) */
 I1	  24660 #define     XYFT_L 3	/*    Labeled (tagged binary) (VMS or OS/2) */
 I1	  24661 #define     XYFT_U 4    /*    Binary Undefined (VMS) */
 I1	  24662 #define     XYFT_M 5	/*    MacBinary (Macintosh) */
 I1	  24663 #define     XYFT_X 6	/*    TENEX (FTP TYPE L 8) */
 I1	  24664 #define     XYFT_D 99   /*    Debug (for session logs) */
 I1	  24665 #define   XYFILW 2      /*  Warning */
 I1	  24666 #define   XYFILD 3      /*  Display */
 I1	  24667 #define   XYFILC 4      /*  Character set */
 I1	  24668 #define   XYFILF 5      /*  Record Format */
 I1	  24669 #define     XYFF_S  0   /*    Stream */
 I1	  24670 #define     XYFF_V  1   /*    Variable */
 I1	  24671 #define     XYFF_VB 2   /*    Variable with RCW's */
 I1	  24672 #define     XYFF_F  3   /*    Fixed length */
 I1	  24673 #define     XYFF_U  4   /*    Undefined */
 I1	  24674 #define   XYFILR 6      /*  Record length */
 I1	  24675 #define   XYFILO 7      /*  Organization */
 I1	  24676 #define     XYFO_S 0    /*    Sequential */
 I1	  24677 #define     XYFO_I 1    /*    Indexed */
 I1	  24678 #define     XYFO_R 2    /*    Relative */
 I1	  24679 #define   XYFILP 8      /*  Printer carriage control */
 I1	  24680 #define     XYFP_N 0    /*    Newline (imbedded control characters) */
 I1	  24681 #define     XYFP_F 1    /*    FORTRAN (space, 1, +, etc, in column 1 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 442
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24682 #define     XYFP_P 2    /*    Special printer carriage controls */
 I1	  24683 #define     XYFP_X 4    /*    None */
 I1	  24684 #define   XYFILX 9      /*  Collision Action */
 I1	  24685 #define     XYFX_A 3    /*    Append */
 I1	  24686 #define     XYFX_Q 5    /*    Ask */
 I1	  24687 #define     XYFX_B 2    /*    Backup */
 I1	  24688 #define     XYFX_D 4    /*    Discard */
 I1	  24689 #define     XYFX_R 0    /*    Rename */
 I1	  24690 #define     XYFX_X 1    /*    Replace */
 I1	  24691 #define     XYFX_U 6    /*    Update */
 I1	  24692 #define     XYFX_M 7    /*    Modtimes differ */
 I1	  24693 #define   XYFILB 10     /*  Blocksize */
 I1	  24694 #define   XYFILZ 11     /*  Disposition */
 I1	  24695 #define     XYFZ_N 0    /*    New, Create */
 I1	  24696 #define     XYFZ_A 1    /*    New, append if file exists, else create */
 I1	  24697 #define     XYFZ_O 2    /*    Old, file must exist */
 I1	  24698 #define   XYFILS 12     /*  File Byte Size */
 I1	  24699 #define   XYFILL 13     /*  File Label (VMS) */
 I1	  24700 #define   XYFILI 14     /*  File Incomplete */
 I1	  24701 #define   XYFILQ 15     /*  File path action (strip or not) */
 I1	  24702 #define   XYFILG 16     /*  File download directory */
 I1	  24703 #define   XYFILA 17     /*  Line terminator for local text files */
 I1	  24704 #define     XYFA_L 012  /*    LF (as in UNIX) */
 I1	  24705 #define     XYFA_C 015  /*    CR (as in OS-9 or Mac OS) */
 I1	  24706 #define     XYFA_2 000  /*  CRLF -- Note: this must be defined as 0 */
 I1	  24707 #define   XYFILY 18     /*  Destination */
 I1	  24708 #define   XYFILV 19	/*  EOF Detection Method */
 I1	  24709 #define     XYEOF_L 0   /*    File length */
 I1	  24710 #define     XYEOF_Z 1   /*    Ctrl-Z in file */
 I1	  24711 #define   XYFILH   20   /*  OUTPUT parameters - buffered, blocking, etc */
 I1	  24712 #define   XYFIBP   21	/*  BINARY-PATTERN */
 I1	  24713 #define   XYFITP   22   /*  TEXT-PATTERN */
 I1	  24714 #define   XYFIPA   23   /*  PATTERNS ON/OFF */
 I1	  24715 #define   XYFILU   24   /*  UCS ... */
 I1	  24716 #define   XYF_PRM  25   /*  PERMISSIONS, PROTECTION */
 I1	  24717 #define   XYF_INSP 26   /*  INSPECTION (SCAN) */
 I1	  24718 #define   XYF_DFLT 27   /*  DEFAULT (character sets) */
 I1	  24719 #define   XYF_SSPA 28   /*  STRINGSPACE */
 I1	  24720 #define   XYF_LSIZ 29   /*  LISTSIZE */
 I1	  24721 
 I1	  24722 /* File Type (return code) definitions and corresponding name strings */
 I1	  24723 
 I1	  24724 #define FT_7BIT 0			/* 7-bit text */
 I1	  24725 #define FT_8BIT 1			/* 8-bit text */
 I1	  24726 #define FT_UTF8 2			/* UTF8 */
 I1	  24727 #define FT_UCS2 3			/* UCS2 */
 I1	  24728 #define FT_TEXT 4			/* Unknown text */
 I1	  24729 #define FT_BIN  5			/* Binary */
 I1	  24730 #define SCANFILEBUF 49152		/* Size of file scan (48K) */
 I1	  24731 
 I1	  24732 /* Connection closed reasons */
 I1	  24733 
 I1	  24734 #define WC_REMO   0			/* Closed by remote */
 I1	  24735 #define WC_CLOS   1			/* Closed from our end */
 I1	  24736 #define WC_TELOPT 2			/* Telnet negotiation failure */
 I1	  24737 
 I1	  24738 #ifdef BIGBUFOK

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 443
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24739 #define FTPATTERNS 256
 I1    X  24740 #else
 I1    X  24741 #define FTPATTERNS 64
 I1    X  24742 #endif /* BIGBUFOK */
 I1	  24743 
 I1	  24744 #define SYS_UNK    0			/* Selected server system types */
 I1	  24745 #define SYS_UNIX   1
 I1	  24746 #define SYS_WIN32  2
 I1	  24747 #define SYS_VMS    3
 I1	  24748 #define SYS_OS2    4
 I1	  24749 #define SYS_DOS    5
 I1	  24750 #define SYS_TOPS10 6
 I1	  24751 #define SYS_TOPS20 7
 I1	  24752 #define SYS_VOS    8
 I1	  24753 #define SYS_DG     9
 I1	  24754 #define SYS_OSK    10
 I1	  24755 #define SYS_MAX    11
 I1	  24756 
 I1    X  24757 #ifdef CK_SMALL
 I1    X  24758 #define PWBUFL 63
 I1    X  24759 #else
 I1	  24760 #define PWBUFL 255
 I1	  24761 #endif /* CK_SMALL */
 I1	  24762 
 I1    X  24763 #ifdef OS2
 I1    X  24764 struct tt_info_rec {			/* Terminal emulation info */
 I1    X  24765     char  *x_name;
 I1    X  24766     char *x_aliases[4];
 I1    X  24767     char  *x_id;
 I1    X  24768 };
 I1    X  24769 #endif /* OS2 */
 I1	  24770 
 I1	  24771 /* BEEP TYPES */
 I1	  24772 #define BP_BEL  0			/* Terminal bell */
 I1	  24773 #define BP_NOTE 1			/* Info */
 I1	  24774 #define BP_WARN 2			/* Warning */
 I1	  24775 #define BP_FAIL 3			/* Error */
 I1	  24776 
 I1	  24777 #ifndef NOIKSD
 I1    X  24778 #ifdef IKSDB				/* IKSD Database definitions */
 I1    X  24779 
 I1    X  24780 /* Field values */
 I1    X  24781 
 I1    X  24782 #define DBF_INUSE    1			/* Flag bits... In use */
 I1    X  24783 #define DBF_USER     2			/* Real user (versus anonymous) */
 I1    X  24784 #define DBF_LOGGED   4			/* Logged in (versus not) */
 I1    X  24785 
 I1    X  24786 /* Data Definitions... */
 I1    X  24787 
 I1    X  24788 /* Numeric fields, hex, right justified, 0-filled on left */
 I1    X  24789 
 I1    X  24790 #define db_FLAGS     0			/* Field 0: Flags */
 I1    X  24791 #define DB_FLAGS     0			/* Offset: 0 */
 I1    X  24792 #define dB_FLAGS     4			/* Length: 4 (hex digits) */
 I1    X  24793 
 I1    X  24794 #define db_ATYPE     1			/* Field 1: Authentication type */
 I1    X  24795 #define DB_ATYPE     4			/* 4 hex digits */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 444
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  24796 #define dB_ATYPE     4
 I1    X  24797 
 I1    X  24798 #define db_AMODE     2			/* Field 2: Authentication mode */
 I1    X  24799 #define DB_AMODE     8			/* 4 hex digits */
 I1    X  24800 #define dB_AMODE     4
 I1    X  24801 
 I1    X  24802 #define db_STATE     3			/* Field 3: State - 4 hex digits*/
 I1    X  24803 #define DB_STATE    12			/* 4 hex digits */
 I1    X  24804 #define dB_STATE     4
 I1    X  24805 
 I1    X  24806 #define db_MYPID     4			/* Field 4: My PID */
 I1    X  24807 #define DB_MYPID    16			/* 16 hex digits left padded with 0 */
 I1    X  24808 #define dB_MYPID    16
 I1    X  24809 
 I1    X  24810 #define db_SADDR     5			/* Field 5: Server (my) IP address */
 I1    X  24811 #define DB_SADDR    32			/* 16 hex digits left padded with 0 */
 I1    X  24812 #define dB_SADDR    16
 I1    X  24813 
 I1    X  24814 #define db_CADDR     6			/* Field 6: Client IP address */
 I1    X  24815 #define DB_CADDR    48			/* 16 hex digits left padded with 0 */
 I1    X  24816 #define dB_CADDR    16
 I1    X  24817 
 I1    X  24818 /* Date-time fields (17 right-adjusted in 18 for Y10K readiness) */
 I1    X  24819 
 I1    X  24820 #define db_START     7			/* Field 7: Session start date-time */
 I1    X  24821 #define DB_START    65			/* 64 is leading space for Y10K */
 I1    X  24822 #define dB_START    17
 I1    X  24823 
 I1    X  24824 #define db_LASTU     8			/* Field 8: Last lastu date-time */
 I1    X  24825 #define DB_LASTU    83			/* 82 is leading space for Y10K */
 I1    X  24826 #define dB_LASTU    17
 I1    X  24827 
 I1    X  24828 #define db_ULEN      9			/* Field 9: Length of Username */
 I1    X  24829 #define DB_ULEN    100			/* 4 hex digits */
 I1    X  24830 #define dB_ULEN      4
 I1    X  24831 
 I1    X  24832 #define db_DLEN     10			/* Field 10: Length of Directory */
 I1    X  24833 #define DB_DLEN    104			/* 4 hex digits */
 I1    X  24834 #define dB_DLEN      4
 I1    X  24835 
 I1    X  24836 #define db_ILEN     11			/* Field 11: Length of Info */
 I1    X  24837 #define DB_ILEN    108			/* 4 hex digits */
 I1    X  24838 #define dB_ILEN      4
 I1    X  24839 
 I1    X  24840 #define db_PAD1     12			/* Field 12: (Reserved) */
 I1    X  24841 #define DB_PAD1    112			/* filled with spaces */
 I1    X  24842 #define dB_PAD1    912
 I1    X  24843 
 I1    X  24844 /* String fields, all right-padded with blanks */
 I1    X  24845 
 I1    X  24846 #define db_USER     13			/* Field 13: Username */
 I1    X  24847 #define DB_USER   1024			/* right-padded with spaces */
 I1    X  24848 #define dB_USER   1024
 I1    X  24849 
 I1    X  24850 #define db_DIR      14			/* Field 14: Current directory */
 I1    X  24851 #define DB_DIR    2048			/* right-padded with spaces */
 I1    X  24852 #define dB_DIR    1024

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 445
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  24853 
 I1    X  24854 #define db_INFO     15			/* Field 15: State-specific info */
 I1    X  24855 #define DB_INFO   3072			/* right-padded with spaces */
 I1    X  24856 #define dB_INFO   1024
 I1    X  24857 
 I1    X  24858 #define DB_RECL   4096			/* Database record length */
 I1    X  24859 
 I1    X  24860 /* Offset, length, and type of each field thru its db_XXX symbol */
 I1    X  24861 
 I1    X  24862 #define DBT_HEX 1			/* Hexadecimal number */
 I1    X  24863 #define DBT_STR 2			/* String */
 I1    X  24864 #define DBT_DAT 3			/* Date-Time yyyymmdd hh:mm:ss */
 I1    X  24865 #define DBT_UND 9			/* Undefined and blank */
 I1    X  24866 
 I1    X  24867 struct iksdbfld {
 I1    X  24868     int off;				/* Position (offset) */
 I1    X  24869     int len;				/* Length (bytes) */
 I1    X  24870     int typ;				/* Data type */
 I1    X  24871 };
 I1    X  24872 _PROTOTYP(int dbinit, (void));
 I1    X  24873 _PROTOTYP(int initslot, (int));
 I1    X  24874 _PROTOTYP(int getslot, (void));
 I1    X  24875 _PROTOTYP(int freeslot, (int));
 I1    X  24876 _PROTOTYP(int updslot, (int));
 I1    X  24877 _PROTOTYP(int slotstate, (int, char *, char *, char *));
 I1    X  24878 _PROTOTYP(int slotdir, (char *, char *));
 I1    X  24879 #endif /* IKSDB */
 I1	  24880 #endif /* NOIKSD */
 I1	  24881 
 I1	  24882 /* ANSI forward declarations for protocol-related functions. */
 I1	  24883 
 I1	  24884 _PROTOTYP( int input, (void) );
       E	 int input ( void )
 I1	  24885 _PROTOTYP( int inibufs, (int, int) );
       E	 int inibufs ( int , int )
 I1	  24886 /* _PROTOTYP( int makebuf, (int, int, CHAR [], struct pktinfo *) ); */
 I1	  24887 _PROTOTYP( int mksbuf, (int) );
       E	 int mksbuf ( int )
 I1	  24888 _PROTOTYP( int mkrbuf, (int) );
       E	 int mkrbuf ( int )
 I1	  24889 _PROTOTYP( int spack, (char, int, int, CHAR *) );
       E	 int spack ( char , int , int , CHAR * )
 I1	  24890 _PROTOTYP( VOID proto, (void) );
       E	 void proto ( void )
 I1	  24891 _PROTOTYP( int rpack, (void) );
       E	 int rpack ( void )
 I1	  24892 _PROTOTYP( int ack, (void) );
       E	 int ack ( void )
 I1	  24893 _PROTOTYP( int nack, (int) );
       E	 int nack ( int )
 I1	  24894 _PROTOTYP( int ackn, (int) );
       E	 int ackn ( int )
 I1	  24895 _PROTOTYP( int ack1, (CHAR *) );
       E	 int ack1 ( CHAR * )
 I1	  24896 _PROTOTYP( int ackns, (int, CHAR *) );
       E	 int ackns ( int , CHAR * )
 I1	  24897 #ifdef STREAMING

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 446
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24898 _PROTOTYP( int fastack, (void) );
       E	 int fastack ( void )
 I1	  24899 #endif /* STREAMING */
 I1	  24900 _PROTOTYP( int resend, (int) );
       E	 int resend ( int )
 I1	  24901 _PROTOTYP( int errpkt, (CHAR *) );
       E	 int errpkt ( CHAR * )
 I1	  24902 _PROTOTYP( VOID logpkt, (char, int, CHAR *, int) );
       E	 void logpkt ( char , int , CHAR * , int )
 I1	  24903 _PROTOTYP( CHAR dopar, (CHAR) );
       E	 CHAR dopar ( CHAR )
 I1	  24904 _PROTOTYP( int chk1, (CHAR *, int) );
       E	 int chk1 ( CHAR * , int )
 I1	  24905 _PROTOTYP( unsigned int chk2, (CHAR *, int) );
       E	 unsigned int chk2 ( CHAR * , int )
 I1	  24906 _PROTOTYP( unsigned int chk3, (CHAR *, int) );
       E	 unsigned int chk3 ( CHAR * , int )
 I1	  24907 _PROTOTYP( int sipkt, (char) );
       E	 int sipkt ( char )
 I1	  24908 _PROTOTYP( int sopkt, (void) );
       E	 int sopkt ( void )
 I1	  24909 _PROTOTYP( int sinit, (void) );
       E	 int sinit ( void )
 I1	  24910 _PROTOTYP( VOID rinit, (CHAR *) );
       E	 void rinit ( CHAR * )
 I1	  24911 _PROTOTYP( int spar, (CHAR *) );
       E	 int spar ( CHAR * )
 I1	  24912 _PROTOTYP( int rcvfil, (char *) );
       E	 int rcvfil ( char * )
 I1	  24913 _PROTOTYP( CHAR * rpar, (void) );
       E	 CHAR * rpar ( void )
 I1	  24914 _PROTOTYP( int gnfile, (void) );
       E	 int gnfile ( void )
 I1	  24915 _PROTOTYP( int getsbuf, (int) );
       E	 int getsbuf ( int )
 I1	  24916 _PROTOTYP( int getrbuf, (void) );
       E	 int getrbuf ( void )
 I1	  24917 _PROTOTYP( int freesbuf, (int) );
       E	 int freesbuf ( int )
 I1	  24918 _PROTOTYP( int freerbuf, (int) );
       E	 int freerbuf ( int )
 I1	  24919 _PROTOTYP( int dumpsbuf, (void) );
       E	 int dumpsbuf ( void )
 I1	  24920 _PROTOTYP( int dumprbuf, (void) );
       E	 int dumprbuf ( void )
 I1	  24921 _PROTOTYP( VOID freerpkt, (int) );
       E	 void freerpkt ( int )
 I1	  24922 _PROTOTYP( int chkwin, (int, int, int) );
       E	 int chkwin ( int , int , int )
 I1	  24923 _PROTOTYP( int rsattr, (CHAR *) );
       E	 int rsattr ( CHAR * )
 I1	  24924 _PROTOTYP( char *getreason, (char *) );
       E	 char * getreason ( char * )
 I1	  24925 _PROTOTYP( int scmd, (char, CHAR *) );
       E	 int scmd ( char , CHAR * )
 I1	  24926 _PROTOTYP( int encstr, (CHAR *) );
       E	 int encstr ( CHAR * )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 447
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24927 _PROTOTYP( int decode, (CHAR *, int (*)(char), int) );
       E	 int decode ( CHAR * , int ( * ) ( char ) , int )
 I1	  24928 _PROTOTYP( int bdecode, (CHAR *, int (*)(char)) );
       E	 int bdecode ( CHAR * , int ( * ) ( char ) )
 I1	  24929 _PROTOTYP( int fnparse, (char *) );
       E	 int fnparse ( char * )
 I1	  24930 _PROTOTYP( int syscmd, (char *, char *) );
       E	 int syscmd ( char * , char * )
 I1	  24931 _PROTOTYP( int cwd, (char *) );
       E	 int cwd ( char * )
 I1	  24932 _PROTOTYP( int remset, (char *) );
       E	 int remset ( char * )
 I1	  24933 _PROTOTYP( int initattr, (struct zattr *) );
       E	 int initattr ( struct zattr * )
 I1	  24934 _PROTOTYP( int gattr, (CHAR *, struct zattr *) );
       E	 int gattr ( CHAR * , struct zattr * )
 I1	  24935 _PROTOTYP( int adebu, (char *, struct zattr *) );
       E	 int adebu ( char * , struct zattr * )
 I1	  24936 _PROTOTYP( int canned, (CHAR *) );
       E	 int canned ( CHAR * )
 I1	  24937 _PROTOTYP( int opent, (struct zattr *) );
       E	 int opent ( struct zattr * )
 I1	  24938 _PROTOTYP( int ckopenx, (struct zattr *) );
       E	 int ckopenx ( struct zattr * )
 I1	  24939 _PROTOTYP( int opena, (char *, struct zattr *) );
       E	 int opena ( char * , struct zattr * )
 I1	  24940 _PROTOTYP( int openi, (char *) );
       E	 int openi ( char * )
 I1	  24941 _PROTOTYP( int openo, (char *, struct zattr *, struct filinfo *) );
       E	 int openo ( char * , struct zattr * , struct filinfo * )
 I1	  24942 _PROTOTYP( int openc, (int, char *) );
       E	 int openc ( int , char * )
 I1	  24943 _PROTOTYP( int reof, (char *, struct zattr *) );
       E	 int reof ( char * , struct zattr * )
 I1	  24944 _PROTOTYP( VOID reot, (void) );
       E	 void reot ( void )
 I1	  24945 _PROTOTYP( int sfile, (int) );
       E	 int sfile ( int )
 I1	  24946 _PROTOTYP( int sattr, (int, int) );
       E	 int sattr ( int , int )
 I1	  24947 _PROTOTYP( int sdata, (void) );
       E	 int sdata ( void )
 I1	  24948 _PROTOTYP( int seof, (int) );
       E	 int seof ( int )
 I1	  24949 _PROTOTYP( int sxeof, (int) );
       E	 int sxeof ( int )
 I1	  24950 _PROTOTYP( int seot, (void) );
       E	 int seot ( void )
 I1	  24951 _PROTOTYP( int window, (int) );
       E	 int window ( int )
 I1	  24952 _PROTOTYP( int clsif, (void) );
       E	 int clsif ( void )
 I1	  24953 _PROTOTYP( int clsof, (int) );
       E	 int clsof ( int )
 I1	  24954 _PROTOTYP( CHAR setgen, (char, char *, char *, char *) );
       E	 CHAR setgen ( char , char * , char * , char * )
 I1	  24955 _PROTOTYP( int getpkt, (int, int) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 448
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

       E	 int getpkt ( int , int )
 I1	  24956 _PROTOTYP( int maxdata, (void) );
       E	 int maxdata ( void )
 I1	  24957 _PROTOTYP( int putsrv, (char) );
       E	 int putsrv ( char )
 I1	  24958 _PROTOTYP( int puttrm, (char) );
       E	 int puttrm ( char )
 I1	  24959 _PROTOTYP( int putque, (char) );
       E	 int putque ( char )
 I1	  24960 _PROTOTYP( int putfil, (char) );
       E	 int putfil ( char )
 I1	  24961 _PROTOTYP( int putmfil, (char) );
       E	 int putmfil ( char )
 I1	  24962 _PROTOTYP( int zputfil, (char) );
       E	 int zputfil ( char )
 I1	  24963 _PROTOTYP( VOID zdstuff, (CHAR) );
       E	 void zdstuff ( CHAR )
 I1	  24964 _PROTOTYP( int tinit, (int) );
       E	 int tinit ( int )
 I1	  24965 _PROTOTYP( VOID pktinit, (void) );
       E	 void pktinit ( void )
 I1	  24966 _PROTOTYP( VOID resetc, (void) );
       E	 void resetc ( void )
 I1	  24967 _PROTOTYP( VOID xsinit, (void) );
       E	 void xsinit ( void )
 I1	  24968 _PROTOTYP( int adjpkl, (int,int,int) );
       E	 int adjpkl ( int , int , int )
 I1	  24969 _PROTOTYP( int chktimo, (int,int) );
       E	 int chktimo ( int , int )
 I1	  24970 _PROTOTYP( int nxtpkt, (void) );
       E	 int nxtpkt ( void )
 I1	  24971 _PROTOTYP( VOID rcalcpsz, (void) );
       E	 void rcalcpsz ( void )
 I1	  24972 _PROTOTYP( int srinit, (int, int, int) );
       E	 int srinit ( int , int , int )
 I1	  24973 _PROTOTYP( VOID tstats, (void) );
       E	 void tstats ( void )
 I1	  24974 _PROTOTYP( VOID fstats, (void) );
       E	 void fstats ( void )
 I1	  24975 _PROTOTYP( VOID intmsg, (long) );
       E	 void intmsg ( long )
 I1	  24976 _PROTOTYP( VOID ermsg, (char *) );
       E	 void ermsg ( char * )
 I1	  24977 _PROTOTYP( int chkint, (void) );
       E	 int chkint ( void )
 I1	  24978 _PROTOTYP( VOID sdebu, (int) );
       E	 void sdebu ( int )
 I1	  24979 _PROTOTYP( VOID rdebu, (CHAR *, int) );
       E	 void rdebu ( CHAR * , int )
 I1	  24980 _PROTOTYP( char * dbchr, ( int ) );
       E	 char * dbchr ( int )
 I1    X  24981 #ifdef COMMENT
 I1    X  24982 _PROTOTYP( SIGTYP stptrap, (int, int) );
 I1    X  24983 _PROTOTYP( SIGTYP trap, (int, int) );
 I1    X  24984 #else
 I1	  24985 _PROTOTYP( SIGTYP stptrap, (int) );
       E	 void stptrap ( int )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 449
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  24986 _PROTOTYP( SIGTYP trap, (int) );
       E	 void trap ( int )
 I1	  24987 #endif /* COMMENT */
 I1	  24988 _PROTOTYP( char * ck_errstr, (void) );
       E	 char * ck_errstr ( void )
 I1	  24989 #ifndef NOXFER
 I1	  24990 _PROTOTYP( int agnbyte, (void) );
       E	 int agnbyte ( void )
 I1	  24991 #endif /* NOXFER */
 I1	  24992 _PROTOTYP( int xgnbyte, (int, int, int (*)(void)) );
       E	 int xgnbyte ( int , int , int ( * ) ( void ) )
 I1	  24993 _PROTOTYP( int xpnbyte, (int, int, int, int (*)(char)) );
       E	 int xpnbyte ( int , int , int , int ( * ) ( char ) )
 I1	  24994 
 I1	  24995 /* User interface functions needed by main program, etc. */
 I1	  24996 
 I1	  24997 _PROTOTYP( int doconect, (int,int) );
       E	 int doconect ( int , int )
 I1	  24998 _PROTOTYP( VOID setflow, (void) );
       E	 void setflow ( void )
 I1	  24999 _PROTOTYP( VOID prescan, (int) );
       E	 void prescan ( int )
 I1	  25000 _PROTOTYP( VOID setint, (void) );
       E	 void setint ( void )
 I1	  25001 _PROTOTYP( VOID doinit, (void) );
       E	 void doinit ( void )
 I1	  25002 _PROTOTYP( VOID dofast, (void) );
       E	 void dofast ( void )
 I1	  25003 _PROTOTYP( VOID cmdini, (void) );
       E	 void cmdini ( void )
 I1	  25004 _PROTOTYP( int dotake, (char *) );
       E	 int dotake ( char * )
 I1	  25005 _PROTOTYP( int cmdlin, (void) );
       E	 int cmdlin ( void )
 I1    X  25006 #ifdef OS2
 I1    X  25007 _PROTOTYP( int conect, (int) );
 I1    X  25008 #else /* OS2 */
 I1	  25009 _PROTOTYP( int conect, (void) );
       E	 int conect ( void )
 I1	  25010 #endif /* OS2 */
 I1    X  25011 #ifdef COMMENT
 I1    X  25012 /* Only used in Unix CONNECT module where it is defined before use */
 I1    X  25013 _PROTOTYP( int ckcgetc, (int) );
 I1    X  25014 #endif /* COMMENT */
 I1	  25015 _PROTOTYP( int ckcputc, (int) );
       E	 int ckcputc ( int )
 I1	  25016 _PROTOTYP (int mdmhup, (void) );
       E	 int mdmhup ( void )
 I1	  25017 _PROTOTYP( VOID herald, (void) );
       E	 void herald ( void )
 I1	  25018 _PROTOTYP( VOID fixcmd, (void) );
       E	 void fixcmd ( void )
 I1	  25019 _PROTOTYP( int doarg, (char) );
       E	 int doarg ( char )
 I1	  25020 _PROTOTYP( int doxarg, (char **, int) );
       E	 int doxarg ( char * * , int )
 I1	  25021 _PROTOTYP( VOID usage, (void) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 450
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

       E	 void usage ( void )
 I1	  25022 _PROTOTYP( VOID doclean, (int) );
       E	 void doclean ( int )
 I1	  25023 _PROTOTYP( int sndhlp, (void) );
       E	 int sndhlp ( void )
 I1	  25024 _PROTOTYP( int sndstring, (char *) );
       E	 int sndstring ( char * )
 I1	  25025 _PROTOTYP( VOID ckhost, (char *, int) );
       E	 void ckhost ( char * , int )
 I1	  25026 _PROTOTYP( int gettcs, (int, int) );
       E	 int gettcs ( int , int )
 I1	  25027 _PROTOTYP( VOID getdialenv, (void) );
       E	 void getdialenv ( void )
 I1	  25028 _PROTOTYP( VOID setprefix, (int) );
       E	 void setprefix ( int )
 I1	  25029 _PROTOTYP( VOID initpat, (void) );
       E	 void initpat ( void )
 I1	  25030 _PROTOTYP( VOID initcsets, (void) );
       E	 void initcsets ( void )
 I1	  25031 #ifdef CK_TIMERS
 I1	  25032 _PROTOTYP( VOID rttinit, (void) );
       E	 void rttinit ( void )
 I1	  25033 _PROTOTYP( int getrtt, (int, int) );
       E	 int getrtt ( int , int )
 I1	  25034 #endif /* CK_TIMERS */
 I1	  25035 
 I1	  25036 _PROTOTYP( int is_a_tty, (int) );
       E	 int is_a_tty ( int )
 I1	  25037 _PROTOTYP( int snddir, (char *) );
       E	 int snddir ( char * )
 I1	  25038 _PROTOTYP( int snddel, (char *) );
       E	 int snddel ( char * )
 I1	  25039 _PROTOTYP( int sndtype, (char *) );
       E	 int sndtype ( char * )
 I1	  25040 _PROTOTYP( int dooutput, (char *, int) );
       E	 int dooutput ( char * , int )
 I1	  25041 _PROTOTYP( int isabsolute, (char *) );
       E	 int isabsolute ( char * )
 I1	  25042 _PROTOTYP( VOID whoarewe, (void) );
       E	 void whoarewe ( void )
 I1	  25043 _PROTOTYP( int ckmkdir, (int, char *, char **, int, int) );
       E	 int ckmkdir ( int , char * , char * * , int , int )
 I1	  25044 _PROTOTYP( int autoexitchk, (CHAR) );
       E	 int autoexitchk ( CHAR )
 I1	  25045 _PROTOTYP( VOID fcps, (void) );
       E	 void fcps ( void )
 I1    X  25046 #ifdef OS2
 I1    X  25047 _PROTOTYP( VOID logchar, (unsigned short) );
 I1    X  25048 #else /* OS2 */
 I1	  25049 _PROTOTYP( VOID logchar, (char) );
       E	 void logchar ( char )
 I1	  25050 #endif /* OS2 */
 I1	  25051 _PROTOTYP( VOID logstr, (char *, int) );
       E	 void logstr ( char * , int )
 I1	  25052 
 I1	  25053 _PROTOTYP( VOID dologend, (void) );
       E	 void dologend ( void )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 451
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1    X  25054 #ifdef NOLOCAL
 I1    X  25055 #define dologshow()
 I1    X  25056 #else
 I1	  25057 _PROTOTYP( long dologshow, (int) );
       E	 long dologshow ( int )
 I1	  25058 #endif /* NOLOCAL */
 I1	  25059 
 I1    X  25060 #ifdef NODISPLAY
 I1    X  25061 #define fxdinit(a)
 I1    X  25062 #else
 I1	  25063 _PROTOTYP( VOID fxdinit, (int) );
       E	 void fxdinit ( int )
 I1	  25064 #endif /* NODISPLAY */
 I1	  25065 
 I1	  25066 _PROTOTYP( int fileselect, (char *,
       E	 int fileselect ( char * , char * , char * , char * , char * , off_t , off_t , int , int , char * * )
 I1	  25067 			    char *, char *, char *, char *,
 I1	  25068 			    CK_OFF_T, CK_OFF_T,
 I1	  25069 			    int, int,
 I1	  25070 			    char **) );
 I1	  25071 _PROTOTYP( char * whoami, (void) );
       E	 char * whoami ( void )
 I1	  25072 _PROTOTYP( int shoesc, (int) );
       E	 int shoesc ( int )
 I1	  25073 
 I1	  25074 #ifdef CK_APC
 I1	  25075 _PROTOTYP( int chkspkt, (char *) );
       E	 int chkspkt ( char * )
 I1	  25076 _PROTOTYP( int kstart, (CHAR) );
       E	 int kstart ( CHAR )
 I1	  25077 _PROTOTYP( VOID autodown, (int));
       E	 void autodown ( int )
 I1    X  25078 #ifdef CK_XYZ
 I1    X  25079 _PROTOTYP( int zstart, (CHAR) );
 I1    X  25080 #endif /* CK_XYZ */
 I1    X  25081 #ifdef OS2
 I1    X  25082 _PROTOTYP(void apc_command, (int, char*));
 I1    X  25083 #endif /* OS2 */
 I1	  25084 #endif /* CK_APC */
 I1	  25085 
 I1	  25086 /* User Query data structures and functions */
 I1	  25087 
 I1	  25088 struct txtbox {
 I1	  25089     char * t_buf;			/* Destination buffer address */
 I1	  25090     int    t_len;			/* Destination buffer length */
 I1	  25091     char * t_lbl;			/* Label for this field */
 I1	  25092     char * t_dflt;			/* Default response for this field */
 I1	  25093     int    t_echo;			/* 0 = no, 1 = yes, 2 = asterisks */
 I1	  25094 };
 I1	  25095 
 I1	  25096 #define DEFAULT_UQ_TIMEOUT  0
 I1	  25097 _PROTOTYP(int uq_ok, (char *,char *,int,char **,int) );
       E	 int uq_ok ( char * , char * , int , char * * , int )
 I1	  25098 _PROTOTYP(int uq_txt, (char *,char *,int,char **,char *,int,char *,int));
       E	 int uq_txt ( char * , char * , int , char * * , char * , int , char * , int )
 I1	  25099 _PROTOTYP(int uq_mtxt, (char *,char **,int,struct txtbox[]) );
       E	 int uq_mtxt ( char * , char * * , int , struct txtbox [ ] )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 452
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckcker.h;1

 I1	  25100 _PROTOTYP(int uq_file, (char *,char *,int,char **,char *,char *,int));
       E	 int uq_file ( char * , char * , int , char * * , char * , char * , int )
 I1	  25101 
 I1	  25102 #ifdef CK_URL
 I1	  25103 struct urlopt {
 I1	  25104     char * nam;
 I1	  25105     char * val;
 I1	  25106 };
 I1	  25107 #define MAX_URL_OPTS    16
 I1	  25108 struct urldata {
 I1	  25109     char * sav;			/* The URL itself */
 I1	  25110     char * svc;			/* Service */
 I1	  25111     char * usr;			/* User */
 I1	  25112     char * psw;			/* Password */
 I1	  25113     char * hos;			/* Host */
 I1	  25114     char * por;			/* Port */
 I1	  25115     char * pth;			/* Path */
 I1	  25116     int    nopts;               /* number of options */
 I1	  25117     struct urlopt opt[MAX_URL_OPTS];   /* options */
       E	                       16
 I1	  25118 };
 I1	  25119 /* _PROTOTYP(int urlparse, (char *, struct urldata *)); */
 I1	  25120 #endif /* CK_URL */
 I1	  25121 
 I1	  25122 #endif /* CKCKER_H */
 I1	  25123 
 I1	  25124 /* End of ckcker.h */
	  25125 #include "ckucmd.h"
 I1	  25126 /*  C K U C M D . H  --  Header file for interactive command parser  */
 I1	  25127 
 I1	  25128 /*
 I1	  25129   Author: Frank da Cruz <fdc@columbia.edu>
 I1	  25130   Columbia University Kermit Project, New York City.
 I1	  25131 
 I1	  25132   Copyright (C) 1985, 2022,
 I1	  25133     Trustees of Columbia University in the City of New York.
 I1	  25134     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  25135     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  25136 
 I1	  25137   Note: the name of these files really should be ckccmd.h and ckccmd.c
 I1	  25138     because they are for all platforms, not just Unix.  But "don't fix
 I1	  25139     what ain't broke".
 I1	  25140 
 I1	  25141   Last update: Sat Sep 24 14:05:17 2022 -fdc
 I1	  25142     Removed redundant arrow-key #ifdefs (they only need to be in ckcdeb.h)
 I1	  25143 */
 I1	  25144 
 I1	  25145 #ifndef CKUCMD_H
 I1	  25146 #define CKUCMD_H
 I1	  25147 
 I1	  25148 /* Command recall */
 I1	  25149 
 I1    X  25150 #ifdef pdp11				/* Not enough room for this */
 I1    X  25151 #ifndef NORECALL
 I1    X  25152 #define NORECALL
 I1    X  25153 #endif /* NORECALL */
 I1    X  25154 #endif /* pdp11 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 453
V1.0                                                             6-MAY-2023 06:25:55  [UTILITY.SOURCE.KERMIT.x-20230622]ckucmd.h;1

 I1	  25155 
 I1	  25156 #ifdef DYNAMIC				/* Dynamic command buffers */
 I1	  25157 /*
 I1	  25158   Use malloc() to allocate the many command-related buffers in ckucmd.c.
 I1	  25159 */
 I1    X  25160 #ifndef DCMDBUF
 I1    X  25161 #ifndef NORECALL
 I1    X  25162 #define NORECALL
 I1    X  25163 #endif /* NORECALL */
 I1    X  25164 #endif /* DCMDBUF */
 I1	  25165 
 I1	  25166 #ifndef NORECALL
 I1	  25167 #define CK_RECALL
 I1    X  25168 #else
 I1    X  25169 #ifdef CK_RECALL
 I1    X  25170 #undef CK_RECALL
 I1    X  25171 #endif /* CK_RECALL */
 I1    X  25172 #endif /* NORECALL */
 I1    X  25173 #else
 I1    X  25174 #ifndef NORECALL
 I1    X  25175 #define NORECALL
 I1    X  25176 #endif /*  NORECALL */
 I1    X  25177 #endif /* DYNAMIC */
 I1	  25178 
 I1    X  25179 #ifdef NORECALL
 I1    X  25180 #ifdef CK_RECALL
 I1    X  25181 #undef CK_RECALL
 I1    X  25182 #endif /* CK_RECALL */
 I1    X  25183 #endif /* NORECALL */
 I1	  25184 
 I1	  25185 /* Special getchars */
 I1	  25186 
 I1	  25187 #ifdef VMS
 I1    X  25188 #ifdef getchar				/* This is for VMS GCC */
 I1    X  25189 #undef getchar
 I1    X  25190 #endif /* getchar */
 I1	  25191 #define getchar()   vms_getchar()
 I1	  25192 int vms_getchar(void);
 I1	  25193 #endif /* VMS */
 I1	  25194 
 I1    X  25195 #ifdef aegis
 I1    X  25196 #undef getchar
 I1    X  25197 #define getchar()   coninc(0)
 I1    X  25198 #endif /* aegis */
 I1	  25199 
 I1    X  25200 #ifdef AMIGA
 I1    X  25201 #undef getchar
 I1    X  25202 #define getchar() coninc(0)
 I1    X  25203 #endif /* AMIGA */
 I1	  25204 
 I1    X  25205 #ifdef Plan9
 I1    X  25206 #undef getchar
 I1    X  25207 #define getchar() coninc(0)
 I1    X  25208 #undef putchar
 I1    X  25209 #define putchar(c) conoc(c)
 I1    X  25210 #undef printf
 I1    X  25211 #define printf conprint

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 454
V1.0                                                             8-JUN-2023 15:41:36  [UTILITY.SOURCE.KERMIT.x-20230622]ckucmd.h;1

 I1    X  25212 #endif /* Plan9 */
 I1	  25213 
 I1	  25214 /* Sizes of things */
 I1	  25215 
 I1	  25216 #ifndef CMDDEP
 I1	  25217 #ifdef BIGBUFOK
 I1	  25218 #define CMDDEP  64			/* Maximum command recursion depth */
 I1    X  25219 #else
 I1    X  25220 #define CMDDEP  20
 I1    X  25221 #endif /* BIGBUFOK */
 I1	  25222 #endif /* CMDDEP */
 I1	  25223 #define HLPLW   78			/* Width of ?-help line */
 I1	  25224 #define HLPCW   19			/* Width of ?-help column */
 I1	  25225 #define HLPBL  100			/* Help string buffer length */
 I1	  25226 #ifdef BIGBUFOK
 I1	  25227 #define ATMBL 10238			/* Command atom buffer length */
 I1    X  25228 #else
 I1    X  25229 #ifdef NOSPL
 I1    X  25230 #define ATMBL  256
 I1    X  25231 #else
 I1    X  25232 #define ATMBL  1024
 I1    X  25233 #endif /* NOSPL */
 I1    X  25234 #endif /* BIGBUFOK */
 I1	  25235 
 I1	  25236 #ifndef CMDBL
 I1    X  25237 #ifdef NOSPL
 I1    X  25238 /* No script programming language, save some space */
 I1    X  25239 #define CMDBL 608			/* Command buffer length */
 I1    X  25240 #else
 I1	  25241 #ifdef BIGBUFOK
 I1	  25242 #define CMDBL 32763
 I1    X  25243 #else
 I1    X  25244 #define CMDBL 4092
 I1    X  25245 #endif /* OS2 */
 I1	  25246 #endif /* NOSPL */
 I1	  25247 #endif /* CMDBL */
 I1	  25248 
 I1	  25249 /* Special characters */
 I1	  25250 
 I1	  25251 #define RDIS 0022			/* Redisplay   (^R) */
 I1	  25252 #define LDEL 0025			/* Delete line (^U) */
 I1	  25253 #define WDEL 0027			/* Delete word (^W) */
 I1	  25254 #ifdef CK_RECALL
 I1	  25255 #define C_UP 0020			/* Go Up in recall buffer (^P) */
 I1	  25256 #define C_UP2 0002			/* Alternate Go Up (^B) for VMS */
 I1	  25257 #define C_DN 0016			/* Go Down in recall buffer (^N) */
 I1	  25258 #endif /* CK_RECALL */
 I1	  25259 
 I1	  25260 /* Keyword flags (bits, powers of 2) */
 I1	  25261 
 I1	  25262 #define CM_INV 1			/* Invisible keyword */
 I1	  25263 #define CM_ABR 2			/* Abbreviation for another keyword */
 I1	  25264 #define CM_HLP 4			/* Help-only keyword */
 I1	  25265 #define CM_ARG 8			/* An argument is required */
 I1	  25266 #define CM_NOR 16			/* No recall for this command */
 I1	  25267 #define CM_PRE 32			/* Long-form cmdline arg for prescan */
 I1	  25268 #define CM_PSH 64			/* Command disabled if nopush */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 455
V1.0                                                             8-JUN-2023 15:41:36  [UTILITY.SOURCE.KERMIT.x-20230622]ckucmd.h;1

 I1	  25269 #define CM_LOC 128			/* Command disabled if nolocal */
 I1	  25270 
 I1	  25271 /*
 I1	  25272   A long-form command line option is a keyword using the regular struct keytab
 I1	  25273   and lookup mechanisms.  Flags that make sense in this context are CM_ARG,
 I1	  25274   indicating this option requires an argument (operand), and CM_PRE, which
 I1	  25275   means this option must be processed before the initialization file.  The
 I1	  25276   absence of CM_PRE means the option is to be processed after the
 I1	  25277   initialization file in the normal manner.
 I1	  25278 */
 I1	  25279 
 I1	  25280 /* Token flags (numbers) */
 I1	  25281 
 I1	  25282 #define CMT_COM 0			/* Comment (; or #) */
 I1	  25283 #define CMT_SHE 1			/* Shell escape (!) */
 I1	  25284 #define CMT_LBL 2			/* Label (:) */
 I1	  25285 #define CMT_FIL 3			/* Indirect filespec (@) (not used) */
 I1	  25286 
 I1	  25287 /* Path separator for path searches */
 I1	  25288 
 I1    X  25289 #ifdef OS2
 I1    X  25290 #define PATHSEP ';'
 I1    X  25291 #else
 I1    X  25292 #ifdef UNIX
 I1    X  25293 #define PATHSEP ':'
 I1    X  25294 #else
 I1	  25295 #define PATHSEP ','
 I1	  25296 #endif /* UNIX */
 I1	  25297 #endif /* OS2 */
 I1	  25298 
 I1    X  25299 #ifndef CK_KEYTAB
 I1    X  25300 #define CK_KEYTAB
 I1    X  25301 
 I1    X  25302 /* Keyword Table Template perhaps already defined in ckcdeb.h */
 I1    X  25303 
 I1    X  25304 struct keytab {				/* Keyword table */
 I1    X  25305     char *kwd;				/* Pointer to keyword string */
 I1    X  25306     int kwval;				/* Associated value */
 I1    X  25307     int flgs;				/* Flags (as defined above) */
 I1    X  25308 };
 I1    X  25309 #endif /* CK_KEYTAB */
 I1	  25310 
 I1	  25311 /* String preprocessing function */
 I1	  25312 
 I1	  25313 #ifdef CK_ANSIC				/* ANSI C */
 I1    X  25314 #ifdef M_SYSV				/* SCO Microsoft C wants no args */
 I1    X  25315 typedef int (*xx_strp)();
 I1    X  25316 #else
 I1	  25317 typedef int (*xx_strp)(char *, char **, int *); 
 I1	  25318 #endif /* M_SYSV */
 I1    X  25319 #else					/* Not ANSI C */
 I1    X  25320 typedef int (*xx_strp)();
 I1    X  25321 #endif /* CK_ANSIC */
 I1	  25322 
 I1	  25323 /* FLDDB struct */
 I1	  25324 
 I1	  25325 typedef struct FDB {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 456
V1.0                                                             8-JUN-2023 15:41:36  [UTILITY.SOURCE.KERMIT.x-20230622]ckucmd.h;1

 I1	  25326     int fcode;				/* Function code */
 I1	  25327     char * hlpmsg;			/* Help message */
 I1	  25328     char * dflt;			/* Default */
 I1	  25329     char * sdata;			/* Additional string data */
 I1	  25330     int ndata1;				/* Additional numeric data 1 */
 I1	  25331     int ndata2;				/* Additional numeric data 2 */
 I1	  25332     xx_strp spf;			/* String processing function */
 I1	  25333     struct keytab * kwdtbl;		/* Keyword table */
 I1	  25334     struct FDB * nxtfdb;		/* Pointer to next alternative */
 I1	  25335 } fdb;
 I1	  25336 
 I1	  25337 typedef struct OFDB {
 I1	  25338     struct FDB * fdbaddr;		/* Address of succeeding FDB struct */
 I1	  25339     int fcode;				/* Function code */
 I1	  25340     char * sresult;			/* String result */
 I1	  25341     int nresult;			/* Integer result */
 I1	  25342     int kflags;				/* Keyword flags if any */
 I1	  25343     CK_OFF_T wresult;			/* Long integer ("wide") result */
       E	     off_t
 I1	  25344 } ofdb;
 I1	  25345 
 I1	  25346 #ifndef CKUCMD_C
 I1	  25347 extern struct OFDB cmresult;
 I1	  25348 #endif /* CKUCMD_C */
 I1	  25349 
 I1	  25350 /* Codes for primary parsing function  */
 I1	  25351 
 I1	  25352 #define _CMNUM 0			/* Number */
 I1	  25353 #define _CMOFI 1			/* Output file */
 I1	  25354 #define _CMIFI 2			/* Input file */
 I1	  25355 #define _CMFLD 3			/* Arbitrary field */
 I1	  25356 #define _CMTXT 4			/* Text string */
 I1	  25357 #define _CMKEY 5			/* Keyword */
 I1	  25358 #define _CMCFM 6			/* Confirmation */
 I1	  25359 #define _CMDAT 7			/* Date/time */
 I1	  25360 #define _CMNUW 8			/* Wide version of cmnum */
 I1	  25361 
 I1	  25362 /* Function prototypes */
 I1	  25363 
 I1	  25364 _PROTOTYP( int xxesc, (char **) );
       E	 int xxesc ( char * * )
 I1	  25365 _PROTOTYP( int cmrini, (int) );
       E	 int cmrini ( int )
 I1	  25366 _PROTOTYP( VOID cmsetp, (char *) );
       E	 void cmsetp ( char * )
 I1	  25367 _PROTOTYP( VOID cmsavp, (char [], int) );
       E	 void cmsavp ( char [ ] , int )
 I1	  25368 _PROTOTYP( char * cmgetp, (void) );
       E	 char * cmgetp ( void )
 I1	  25369 _PROTOTYP( VOID prompt, (xx_strp) );
       E	 void prompt ( xx_strp )
 I1	  25370 _PROTOTYP( VOID pushcmd, (char *) );
       E	 void pushcmd ( char * )
 I1	  25371 _PROTOTYP( VOID cmres, (void) );
       E	 void cmres ( void )
 I1	  25372 _PROTOTYP( VOID cmini, (int) );
       E	 void cmini ( int )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 457
V1.0                                                             8-JUN-2023 15:41:36  [UTILITY.SOURCE.KERMIT.x-20230622]ckucmd.h;1

 I1	  25373 _PROTOTYP( int cmgbrk, (void) );
       E	 int cmgbrk ( void )
 I1	  25374 _PROTOTYP( int cmgkwflgs, (void) );
       E	 int cmgkwflgs ( void )
 I1	  25375 _PROTOTYP( int cmpush, (void) );
       E	 int cmpush ( void )
 I1	  25376 _PROTOTYP( int cmpop, (void) );
       E	 int cmpop ( void )
 I1	  25377 _PROTOTYP( VOID untab, (char *) );
       E	 void untab ( char * )
 I1	  25378 _PROTOTYP( int cmnum, (char *, char *, int, int *, xx_strp ) );
       E	 int cmnum ( char * , char * , int , int * , xx_strp )
 I1	  25379 _PROTOTYP( int cmnumw, (char *, char *, int, CK_OFF_T *, xx_strp ) );
       E	 int cmnumw ( char * , char * , int , off_t * , xx_strp )
 I1	  25380 _PROTOTYP( int cmofi, (char *, char *, char **, xx_strp ) );
       E	 int cmofi ( char * , char * , char * * , xx_strp )
 I1	  25381 _PROTOTYP( int cmifi, (char *, char *, char **, int *, xx_strp ) );
       E	 int cmifi ( char * , char * , char * * , int * , xx_strp )
 I1	  25382 _PROTOTYP( int cmiofi, (char *, char *, char **, int *, xx_strp ) );
       E	 int cmiofi ( char * , char * , char * * , int * , xx_strp )
 I1	  25383 _PROTOTYP( int cmifip,(char *, char *, char **, int *, int, char *, xx_strp ));
       E	 int cmifip ( char * , char * , char * * , int * , int , char * , xx_strp )
 I1	  25384 _PROTOTYP( int cmifi2,(char *,char *,char **,int *,int,char *,xx_strp,int ));
       E	 int cmifi2 ( char * , char * , char * * , int * , int , char * , xx_strp , int )
 I1	  25385 _PROTOTYP( int cmdir, (char *, char *, char **, xx_strp ) );
       E	 int cmdir ( char * , char * , char * * , xx_strp )
 I1	  25386 _PROTOTYP( int cmdirp, (char *, char *, char **, char *, xx_strp ) );
       E	 int cmdirp ( char * , char * , char * * , char * , xx_strp )
 I1	  25387 _PROTOTYP( int cmfld, (char *, char *, char **, xx_strp ) );
       E	 int cmfld ( char * , char * , char * * , xx_strp )
 I1	  25388 _PROTOTYP( int cmtxt, (char *, char *, char **, xx_strp ) );
       E	 int cmtxt ( char * , char * , char * * , xx_strp )
 I1	  25389 _PROTOTYP( int cmkey,  (struct keytab [], int, char *, char *, xx_strp) );
       E	 int cmkey ( struct keytab [ ] , int , char * , char * , xx_strp )
 I1	  25390 _PROTOTYP( int cmkeyx, (struct keytab [], int, char *, char *, xx_strp) );
       E	 int cmkeyx ( struct keytab [ ] , int , char * , char * , xx_strp )
 I1	  25391 _PROTOTYP( int cmkey2,(struct keytab [],int,char *,char *,char *,xx_strp,int));
       E	 int cmkey2 ( struct keytab [ ] , int , char * , char * , char * , xx_strp , int )
 I1	  25392 _PROTOTYP( int cmswi,  (struct keytab [], int, char *, char *, xx_strp) );
       E	 int cmswi ( struct keytab [ ] , int , char * , char * , xx_strp )
 I1	  25393 _PROTOTYP( int cmdate,(char *, char *, char **, int, xx_strp) );
       E	 int cmdate ( char * , char * , char * * , int , xx_strp )
 I1	  25394 _PROTOTYP( char * cmpeek, (void) );
       E	 char * cmpeek ( void )
 I1	  25395 _PROTOTYP( int cmfdb, (struct FDB *) );
       E	 int cmfdb ( struct FDB * )
 I1	  25396 _PROTOTYP( VOID cmfdbi, (struct FDB *,
       E	 void cmfdbi ( struct FDB * , int , char * , char * , char * , int , int , xx_strp , struct keytab * , struct FDB * 
       E	)
 I1	  25397 			int, char *, char *, char *, int, int, xx_strp,
 I1	  25398 			struct keytab *, struct FDB *) );
 I1	  25399 _PROTOTYP( int chktok, (char *) );
       E	 int chktok ( char * )
 I1	  25400 _PROTOTYP( int cmcfm, (void) );
       E	 int cmcfm ( void )
 I1	  25401 _PROTOTYP( int lookup, (struct keytab [], char *, int, int *) );
       E	 int lookup ( struct keytab [ ] , char * , int , int * )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 458
V1.0                                                             8-JUN-2023 15:41:36  [UTILITY.SOURCE.KERMIT.x-20230622]ckucmd.h;1

 I1	  25402 _PROTOTYP( VOID kwdhelp, (struct keytab[],int,char *,char *,char *,int,int) );
       E	 void kwdhelp ( struct keytab [ ] , int , char * , char * , char * , int , int )
 I1	  25403 _PROTOTYP( int ungword, (void) );
       E	 int ungword ( void )
 I1	  25404 _PROTOTYP( VOID unungw, (void) );
       E	 void unungw ( void )
 I1	  25405 _PROTOTYP( int cmdsquo, (int) );
       E	 int cmdsquo ( int )
 I1	  25406 _PROTOTYP( int cmdgquo, (void) );
       E	 int cmdgquo ( void )
 I1	  25407 _PROTOTYP( char * ckcvtdate, (char *, int) );
       E	 char * ckcvtdate ( char * , int )
 I1	  25408 _PROTOTYP( int cmdgetc, (int));
       E	 int cmdgetc ( int )
 I1    X  25409 #ifndef NOARROWKEYS
 I1    X  25410 _PROTOTYP( int cmdconchk, (void) );
 I1    X  25411 #endif /* NOARROWKEYS */
 I1	  25412 
 I1	  25413 #ifdef CK_RECALL
 I1	  25414 _PROTOTYP( char * cmgetcmd, (char *) );
       E	 char * cmgetcmd ( char * )
 I1	  25415 _PROTOTYP( VOID addcmd, (char *) );
       E	 void addcmd ( char * )
 I1	  25416 _PROTOTYP( VOID cmaddnext, (void) );
       E	 void cmaddnext ( void )
 I1	  25417 #endif /* CK_RECALL */
 I1	  25418 _PROTOTYP( char * cmcvtdate, (char *, int) );
       E	 char * cmcvtdate ( char * , int )
 I1	  25419 _PROTOTYP( char * cmdiffdate, (char *, char *) );
       E	 char * cmdiffdate ( char * , char * )
 I1	  25420 _PROTOTYP( char * cmdelta, (int,
       E	 char * cmdelta ( int , int , int , int , int , int , int , int , int , int , int , int , int )
 I1	  25421 			    int,int,int,int,int,int,int,int,int,int,int,int ));
 I1	  25422 _PROTOTYP( char * shuffledate, (char *, int) );
       E	 char * shuffledate ( char * , int )
 I1	  25423 _PROTOTYP( int filhelp, (int, char *, char *, int, int) );
       E	 int filhelp ( int , char * , char * , int , int )
 I1	  25424 _PROTOTYP( int xfilhelp, (int, char *, char *, int, int,
       E	 int xfilhelp ( int , char * , char * , int , int , int , char * , char * , char * , char * , off_t , off_t , int , 
       E	int , char * * )
 I1	  25425 			  int,
 I1	  25426 			  char *, char *, char *, char *,
 I1	  25427 			  CK_OFF_T, CK_OFF_T,
 I1	  25428 			  int, int,
 I1	  25429 			  char **) );
 I1	  25430 _PROTOTYP( int delta2sec, (char *, long *) );
       E	 int delta2sec ( char * , long * )
 I1	  25431 
 I1	  25432 #ifdef DCMDBUF
 I1	  25433 _PROTOTYP( int cmsetup, (void) );
       E	 int cmsetup ( void )
 I1	  25434 #endif /* DCMDBUF */
 I1	  25435 
 I1	  25436 #endif /* CKUCMD_H */
 I1	  25437 
 I1	  25438 /* End of ckucmd.h */
	  25439 #include "ckuusr.h"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 459
V1.0                                                             8-JUN-2023 15:41:36  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  25440 /*  C K U U S R . H  --  Symbol definitions for C-Kermit ckuus*.c modules  */
 I1	  25441 
 I1	  25442 /*
 I1	  25443   Author: Frank da Cruz <fdc@columbia.edu>,
 I1	  25444   Columbia University Academic Information Systems, New York City.
 I1	  25445 
 I1	  25446   Copyright (C) 1985, 2023,
 I1	  25447     Trustees of Columbia University in the City of New York.
 I1	  25448     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  25449     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  25450     Thu Feb 16 15:57:01 2023
 I1	  25451 */
 I1	  25452 #ifndef CKUUSR_H
 I1	  25453 #define CKUUSR_H
 I1	  25454 
 I1    X  25455 #include "ckucmd.h"			/* Get symbols from command package */
 I1	  25456 
 I1	  25457 #ifndef NOLUCACHE			/* Use lookup() cache */
 I1	  25458 #ifndef NOSPL				/* To speed up script programs */
 I1	  25459 #ifndef USE_LUCACHE
 I1	  25460 #define USE_LUCACHE
 I1	  25461 #endif /* USE_LUCACHE */
 I1	  25462 #endif /* NOSPL */
 I1	  25463 #endif /* NOLUCACHE */
 I1	  25464 
 I1	  25465 #ifndef NODOUBLEQUOTING			/* New to 8.0 */
 I1	  25466 #define DOUBLEQUOTING			/* Allow fields to be enclosed in */
 I1	  25467 #endif /* NODOUBLEQUOTING */		/* doublequotes. */
 I1	  25468 
 I1	  25469 #ifndef NOLOCUS				/* SET LOCUS */
 I1	  25470 #define LOCUS
 I1	  25471 #endif /* NOLOCUS */
 I1	  25472 
 I1	  25473 /* Sizes of things - FNVALL and MAXARGLEN increased from 8K 2005/09/12 */
 I1	  25474 /* Other things increased even more for 64-bit builds 2016/02/03 */
 I1	  25475 
 I1	  25476 #ifdef BIGBUFOK
 I1	  25477 #define FNVALL CMDBL			/* Function return value length */
 I1	  25478 #define MAXARGLEN CMDBL			/* Max func arg length after eval */
 I1	  25479 #define MAXARGLIST 1024			/* Max number of args for a macro */
 I1	  25480 #define FSPECL CMDBL			/* Max length for MSEND/GET string */
 I1	  25481 #define MSENDMAX 1024			/* Number of filespecs for MSEND */
 I1	  25482 #define MAC_MAX 16384			/* Maximum number of macros */
 I1	  25483 
 I1    X  25484 #else  /* Same as above but for smaller builds... */
 I1    X  25485 
 I1    X  25486 #define FNVALL 1022
 I1    X  25487 #define MAXARGLEN 1023
 I1    X  25488 #define MAXARGLIST 64
 I1    X  25489 #define FSPECL 300
 I1    X  25490 #define MSENDMAX 128
 I1    X  25491 #define MAC_MAX 1024
 I1    X  25492 #endif /* BIGBUFOK */
 I1	  25493 
 I1	  25494 #define GVARS 127			/* Highest global var allowed */
 I1	  25495 #ifdef BIGBUFOK
 I1	  25496 #define VNAML 4096			/* Max length for variable name */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 460
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  25497 #define ARRAYREFLEN 1024		/* Max length for array reference */
 I1	  25498 #define FORDEPTH 32			/* Maximum depth of nested FOR loops */
 I1	  25499 #define MAXTAKE 54			/* Maximum nesting of TAKE files */
 I1	  25500 #define MACLEVEL 128			/* Maximum nesting for macros */
 I1	  25501 #define INPBUFSIZ 4096			/* Size of INPUT buffer */
 I1	  25502 #define PROMPTL 1024			/* Max length for prompt */
 I1	  25503 #define LBLSIZ 8192			/* Maximum length for a GOTO label */
 I1    X  25504 #else
 I1    X  25505 #define VNAML 256			/* Max length for variable name */
 I1    X  25506 #define ARRAYREFLEN 128			/* Max length for array reference */
 I1    X  25507 #define FORDEPTH 10			/* Maximum depth of nested FOR loops */
 I1    X  25508 #define MAXTAKE 32			/* Maximum nesting of TAKE files */
 I1    X  25509 #define MACLEVEL 64			/* Maximum nesting for macros */
 I1    X  25510 #define INPBUFSIZ 256
 I1    X  25511 #define PROMPTL 256			/* Max length for prompt */
 I1    X  25512 #define LBLSIZ 128			/* Maximum length for a GOTO label */
 I1    X  25513 #endif /* BIGBUFOK */
 I1	  25514 #define NARGS 10			/* Max number of macro arguments */
 I1	  25515 #define LINBUFSIZ (CMDBL + 10)		/* Size of line[] buffer */
 I1	  25516 #define TMPBUFSIZ (CMDBL + 10)		/* Size of temporary buffer */
 I1	  25517 
 I1	  25518 #define CMDSTKL ( MACLEVEL + MAXTAKE + 2) /* Command stack depth */
 I1	  25519 
 I1	  25520 #ifndef NOPURGE				/* PURGE command */
 I1    X  25521 #ifdef UNIX
 I1    X  25522 #define CKPURGE
 I1    X  25523 #endif /* UNIX */
 I1	  25524 #endif /* NOPURGE */
 I1	  25525 
 I1	  25526 #ifndef NOMINPUT			/* MINPUT command */
 I1	  25527 #ifndef NOSPL
 I1	  25528 #define CK_MINPUT
 I1	  25529 #ifndef MINPMAX
 I1	  25530 #ifdef BIGBUFOK
 I1	  25531 #define MINPMAX 96			/* Max number of MINPUT strings */
 I1    X  25532 #else
 I1    X  25533 #define MINPMAX 16
 I1    X  25534 #endif /* BIGBUFOK */
 I1	  25535 #endif /* MINPMAX */
 I1	  25536 #define MINPBUFL 256			/* Size of MINPUT temp buffer */
 I1	  25537 #endif /* NOSPL */
 I1	  25538 #endif /* NOMINPUT */
 I1	  25539 
 I1	  25540 #define ARRAYBASE 95			/* Lowest array-name character */
 I1	  25541 
 I1	  25542 #ifndef NOKERBANG
 I1	  25543 #ifndef KERBANG
 I1	  25544 #define KERBANG
 I1	  25545 #endif /* KERBANG */
 I1	  25546 #endif /* NOKERBANG */
 I1	  25547 
 I1	  25548 /* Bit values (1, 2, 4, 8, ...) for the ccflgs field */
 I1	  25549 
 I1	  25550 #define CF_APC  1			/* Executing an APC command */
 I1	  25551 #define CF_KMAC 2			/* Executing a \Kmacro */
 I1	  25552 #define CF_CMDL 4			/* Macro from -C "blah" command line */
 I1	  25553 #define CF_REXX 8			/* Macro from REXX interpreter */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 461
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  25554 #define CF_IMAC 16			/* Internal macro like FOR, WHILE... */
 I1	  25555 
 I1	  25556 struct cmdptr {				/* Command stack structure */
 I1	  25557     int src;				/* Command Source */
 I1	  25558     int lvl;				/* Current TAKE or DO level */
 I1	  25559     int ccflgs;				/* Flags */
 I1	  25560 };
 I1	  25561 
 I1	  25562 struct mtab {				/* Macro table, like keyword table */
 I1	  25563     char *kwd;				/* But with pointers for vals */
 I1	  25564     char *mval;				/* instead of ints. */
 I1	  25565     short flgs;
 I1	  25566 };
 I1	  25567 
 I1	  25568 struct localvar {			/* Local variable structure. */
 I1	  25569     char * lv_name;
 I1	  25570     char * lv_value;
 I1	  25571     struct localvar * lv_next;
 I1	  25572 };
 I1	  25573 
 I1	  25574 struct stringlist {			/* General purpose string list */
 I1	  25575     char * sl_name;
 I1	  25576     struct stringlist * sl_next;
 I1	  25577 };
 I1	  25578 
 I1	  25579 struct stringint {			/* String and (wide) integer */
 I1	  25580     char * sval;			/* used mainly with command switches */
 I1	  25581     int ival;
 I1	  25582     CK_OFF_T wval;
       E	     off_t
 I1	  25583 };
 I1	  25584 
 I1	  25585 #ifndef NOICP
 I1	  25586 /*
 I1	  25587   C-Kermit Initialization file...
 I1	  25588 
 I1	  25589   System-dependent defaults are built into the program, see below.
 I1	  25590   These can be overridden in either of two ways:
 I1	  25591   1. CK_DSYSINI is defined at compile time, in which case a default
 I1	  25592      system-wide initialization file name is chosen from below, or:
 I1	  25593   2: CK_SYSINI is defined to be a string, which lets the program
 I1	  25594      builder choose the initialization filespec at compile time.
 I1	  25595   These can be given on the CC command line, so the source code need not be
 I1	  25596   changed.
 I1	  25597 */
 I1	  25598 
 I1	  25599 #ifndef CK_SYSINI			/* If no initialization file given, */
 I1    X  25600 #ifdef CK_DSYSINI			/* but CK_DSYSINI is defined... */
 I1    X  25601 
 I1    X  25602 /* Supply system-dependent "default default" initialization file */
 I1    X  25603 
 I1    X  25604 #ifdef UNIX				/* For UNIX, system-wide */
 I1    X  25605 /* This allows one copy of the standard init file on the whole system, */
 I1    X  25606 /* rather than a separate copy in each user's home directory. */
 I1    X  25607 #ifdef HPUX10
 I1    X  25608 #define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
 I1    X  25609 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 462
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  25610 #ifdef CU_ACIS
 I1    X  25611 #define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
 I1    X  25612 #else
 I1    X  25613 #ifdef __linux__
 I1    X  25614 #define CK_SYSINI "/usr/share/kermit/ckermit.ini"
 I1    X  25615 #else
 I1    X  25616 #define CK_SYSINI "/usr/local/bin/ckermit.ini"
 I1    X  25617 #endif /* linux */
 I1    X  25618 #endif /* CU_ACIS */
 I1    X  25619 #endif /* HPUX10 */
 I1    X  25620 /* Fill in #else..#ifdef's here for VMS, OS/2, etc. */
 I1    X  25621 /* Fill in matching #endif's here. */
 I1    X  25622 #endif /* UNIX */
 I1    X  25623 
 I1    X  25624 #endif /* CK_DSYSINI */
 I1	  25625 #endif /* CK_SYSINI */
 I1	  25626 
 I1    X  25627 #ifdef CK_SYSINI			/* Init-file precedence */
 I1    X  25628 #ifndef CK_INI_A			/* A means system-wide file first */
 I1    X  25629 #ifndef CK_INI_B			/* B means user's first */
 I1    X  25630 #define CK_INI_A			/* A is default */
 I1    X  25631 #endif /* CK_INI_B */
 I1    X  25632 #endif /* CK_INI_A */
 I1    X  25633 #else
 I1    X  25634 #ifdef CK_INI_A				/* Otherwise */
 I1    X  25635 #undef CK_INI_A				/* make sure these aren't defined */
 I1    X  25636 #endif /* CK_INI_A */
 I1    X  25637 #ifdef CK_INI_B
 I1    X  25638 #undef CK_INI_B
 I1    X  25639 #endif /* CK_INI_B */
 I1	  25640 #endif /* CK_SYSINI */
 I1	  25641 
 I1    X  25642 #ifdef CK_SYSINI			/* One more check... */
 I1    X  25643 #ifdef CK_INI_A				/* Make sure they're not both */
 I1    X  25644 #ifdef CK_INI_B				/* defined. */
 I1    X  25645 #undef CK_INI_B
 I1    X  25646 #endif /* CK_INI_B */
 I1    X  25647 #endif /* CK_INI_A */
 I1    X  25648 #endif /* CK_SYSINI */
 I1	  25649 /*
 I1	  25650   If neither CK_DSYSINI nor CK_SYSINI are defined, these are the
 I1	  25651   built-in defaults for each platform.  USE_CUSTOM means to execute the
 I1	  25652   customization file automatically if the initialization file is not found.
 I1	  25653 */
 I1	  25654 #ifndef NOCUSTOM
 I1	  25655 #ifndef USE_CUSTOM
 I1	  25656 #define USE_CUSTOM
 I1	  25657 #endif /* USE_CUSTOM */
 I1	  25658 #endif /* NOCUSTOM */
 I1	  25659 
 I1	  25660 #ifndef  KERMRCL			/* Path length for init file */
 I1	  25661 #define KERMRCL CKMAXPATH
 I1	  25662 #endif /*  KERMRCL */
 I1	  25663 
 I1	  25664 #ifdef vms
 I1	  25665 #define KERMRC "CKERMIT.INI"		/* Init file name */
 I1	  25666 #define MYCUSTOM "CKERMOD.INI"		/* Customization file name */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 463
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  25667 #else
 I1    X  25668 #ifdef OS2
 I1    X  25669 #ifdef NT
 I1    X  25670 #define KERMRC "k95.ini"
 I1    X  25671 #define MYCUSTOM "k95custom.ini"
 I1    X  25672 #else
 I1    X  25673 #define KERMRC "k2.ini"
 I1    X  25674 #define MYCUSTOM "k2custom.ini"
 I1    X  25675 #endif /* NT */
 I1    X  25676 #else
 I1    X  25677 #ifdef UNIXOROSK
 I1    X  25678 #define KERMRC ".kermrc"
 I1    X  25679 #define MYCUSTOM ".mykermrc"
 I1    X  25680 #else
 I1    X  25681 #ifdef STRATUS
 I1    X  25682 #define KERMRC "ckermit.ini"
 I1    X  25683 #define MYCUSTOM "ckermod.ini"
 I1    X  25684 #else
 I1    X  25685 #define KERMRC "CKERMIT.INI"
 I1    X  25686 #define MYCUSTOM "ckermod.ini"
 I1    X  25687 #endif /* STRATUS */
 I1    X  25688 #endif /* UNIXOROSK */
 I1    X  25689 #endif /* OS2 */
 I1    X  25690 #endif /* vms */
 I1	  25691 
 I1    X  25692 #ifndef KERMRCL
 I1    X  25693 #define KERMRCL 256
 I1    X  25694 #endif /* KERMRCL */
 I1	  25695 #endif /* NOICP */
 I1	  25696 
 I1	  25697 /* User interface features */
 I1	  25698 
 I1	  25699 #ifndef NORPLWORDMODE                   /* \freplace() word mode */
 I1	  25700 #define RPLWORDMODE
 I1	  25701 #endif  /* NORPLWORDMODE */
 I1	  25702 
 I1	  25703 #ifdef CK_CURSES			/* Thermometer */
 I1	  25704 #ifndef NO_PCT_BAR
 I1	  25705 #ifndef CK_PCT_BAR
 I1	  25706 #define CK_PCT_BAR
 I1	  25707 #endif /* NO_PCT_BAR */
 I1	  25708 #endif /* CK_PCT_BAR */
 I1	  25709 #endif /* CK_CURSES */
 I1	  25710 
 I1    X  25711 #ifdef KUI				/* KUI requires the Thermometer code */
 I1    X  25712 #ifndef NO_PCT_BAR
 I1    X  25713 #ifndef CK_PCT_BAR
 I1    X  25714 #define CK_PCT_BAR
 I1    X  25715 #endif /* NO_PCT_BAR */
 I1    X  25716 #endif /* CK_PCT_BAR */
 I1    X  25717 #endif /* KUI */
 I1	  25718 
 I1	  25719 /* Includes */
 I1	  25720 
 I1    X  25721 #ifdef MINIX
 I1    X  25722 /* why? */
 I1    X  25723 #include <sys/types.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 464
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  25724 #endif /* MINIX */
 I1	  25725 
 I1	  25726 /* Symbols for command source */
 I1	  25727 
 I1	  25728 #define CMD_KB 0			/* KeyBoard or standard input */
 I1	  25729 #define CMD_TF 1			/* TAKE command File */
 I1	  25730 #define CMD_MD 2			/* Macro Definition */
 I1	  25731 
 I1	  25732 /*
 I1	  25733   SET TRANSFER CANCELLATION command should be available in all versions.
 I1	  25734   But for now...
 I1	  25735 */
 I1    X  25736 #ifdef UNIX				/* UNIX has it */
 I1    X  25737 #ifndef XFRCAN
 I1    X  25738 #define XFRCAN
 I1    X  25739 #endif /* XFRCAN */
 I1    X  25740 #endif /* UNIX */
 I1	  25741 #ifdef VMS				/* VMS has it */
 I1	  25742 #ifndef XFRCAN
 I1	  25743 #define XFRCAN
 I1	  25744 #endif /* XFRCAN */
 I1	  25745 #endif /* VMS */
 I1    X  25746 #ifdef datageneral			/* DG AOS/VS has it */
 I1    X  25747 #ifndef XFRCAN
 I1    X  25748 #define XFRCAN
 I1    X  25749 #endif /* XFRCAN */
 I1    X  25750 #endif /* datageneral */
 I1    X  25751 #ifdef STRATUS				/* Stratus VOS has it */
 I1    X  25752 #ifndef XFRCAN
 I1    X  25753 #define XFRCAN
 I1    X  25754 #endif /* XFRCAN */
 I1    X  25755 #endif /* STRATUS */
 I1    X  25756 #ifdef OSK				/* OS-9 */
 I1    X  25757 #ifndef XFRCAN
 I1    X  25758 #define XFRCAN
 I1    X  25759 #endif /* XFRCAN */
 I1    X  25760 #endif /* OSK */
 I1	  25761 
 I1	  25762 #ifndef NOCMDL
 I1	  25763 /* Extended Command-Line Option Codes (keep alphabetical by keyword) */
 I1	  25764 
 I1	  25765 #define XA_ANON 0			/* --anonymous */
 I1	  25766 #define XA_BAFI 1			/* --bannerfile */
 I1	  25767 #define XA_CDFI 2			/* --cdfile */
 I1	  25768 #define XA_CDMS 3			/* --cdmessage */
 I1	  25769 #define XA_HELP 4			/* --help */
 I1	  25770 #define XA_HEFI 5			/* --helpfile */
 I1	  25771 #define XA_IKFI 6			/* --xferfile */
 I1	  25772 #define XA_IKLG 7			/* --xferlog */
 I1	  25773 #define XA_ANFI 8			/* --initfile */
 I1	  25774 #define XA_PERM 9			/* --permissions */
 I1	  25775 #define XA_ROOT 10			/* --root */
 I1	  25776 #define XA_SYSL 11			/* --syslog */
 I1	  25777 #define XA_USFI 12			/* --userfile */
 I1	  25778 #define XA_WTFI 13			/* --wtmpfile */
 I1	  25779 #define XA_WTMP 14			/* --wtmplog */
 I1	  25780 #define XA_TIMO 15			/* --timeout */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 465
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  25781 #define XA_NOIN 16			/* --nointerrupts */
 I1	  25782 #define XA_DBAS 17			/* --database */
 I1	  25783 #define XA_DBFI 18			/* --dbfile */
 I1	  25784 #define XA_PRIV 19			/* --privid */
 I1	  25785 #define XA_VERS 20			/* --version */
 I1	  25786 #define XA_NPRM 21			/* --noperms */
 I1	  25787 #define XA_XPOS 22			/* Window position X coordinate */
 I1	  25788 #define XA_YPOS 23			/* Window position Y coordinate */
 I1	  25789 #define XA_FNAM 24			/* Font Facename */
 I1	  25790 #define XA_FSIZ 25			/* Font Size */
 I1	  25791 #define XA_TERM 26			/* Terminal type */
 I1	  25792 #define XA_CSET 27			/* Remote Character Set */
 I1	  25793 #define XA_ROWS 28			/* Screen rows (height) */
 I1	  25794 #define XA_COLS 29			/* Screen columns (width) */
 I1	  25795 #define XA_TEL  30			/* Make a Telnet connection */
 I1	  25796 #define XA_FTP  31			/* Make an FTP connection */
 I1	  25797 #define XA_SSH  32			/* Make an SSH connection */
 I1	  25798 #define XA_USER 33			/* Username for login */
 I1	  25799 #define XA_PASS 34			/* Password for login */
 I1	  25800 #define XA_TITL 35                      /* Window Title */
 I1	  25801 #define XA_NOMN 36			/* No GUI Menu Bar */
 I1	  25802 #define XA_NOTB 37			/* No GUI Tool Bar */
 I1	  25803 #define XA_NOSB 38                      /* No GUI Status Bar */
 I1	  25804 #define XA_NOPUSH 39                    /* Disable external commands */
 I1	  25805 #define XA_NOSCROLL 40                  /* Disable scrollback operations */
 I1	  25806 #define XA_NOESCAPE 41                  /* Disable escape from connect mode */
 I1	  25807 #define XA_LOCK 42                      /* All lockdown options */
 I1	  25808 #define XA_NOBAR 43                     /* No GUI Bars */
 I1	  25809 #define XA_WMAX  44
 I1	  25810 #define XA_WMIN  45
 I1	  25811 #define XA_SCALE 46                     /* GUI Scale Font */
 I1	  25812 #define XA_CHGD  47                     /* GUI Change Dimensions */
 I1	  25813 #define XA_NOCLOSE 48                   /* GUI Disable Close Window */
 I1	  25814 #define XA_UNBUF 49			/* UNIX unbuffered console */
 I1	  25815 #define XA_NOLOCALE 50			/* Don't access or use locale */
 I1	  25816 #define XA_MAX  50			/* Highest extended option number */
 I1	  25817 #endif /* NOCMDL */
 I1	  25818 
 I1	  25819 #ifndef NOICP
 I1	  25820 /* Top Level Commands */
 I1	  25821 /* Values associated with top-level commands must be 0 or greater. */
 I1	  25822 
 I1	  25823 #define XXBYE   0	/* BYE */
 I1	  25824 #define XXCLE   1	/* CLEAR */
 I1	  25825 #define XXCLO   2	/* CLOSE */
 I1	  25826 #define XXCON   3	/* CONNECT */
 I1	  25827 #define XXCPY   4	/* COPY */
 I1	  25828 #define XXCWD   5	/* CWD (Change Working Directory) */
 I1	  25829 #define XXDEF	6	/* DEFINE (a macro or variable) */
 I1	  25830 #define XXDEL   7	/* (Local) DELETE */
 I1	  25831 #define XXDIR   8	/* (Local) DIRECTORY */
 I1	  25832 
 I1	  25833 /* DIRECTORY Command options... */
 I1	  25834 #define DIR_BRF 1	/* BRIEF */
 I1	  25835 #define DIR_VRB 2	/* VERBOSE */
 I1	  25836 #define DIR_PAG 3	/* PAGE */
 I1	  25837 #define DIR_NOP 4	/* NOPAGE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 466
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  25838 #define DIR_ISO 5	/* ISODATE */
 I1	  25839 #define DIR_DAT 6	/* ENGLISHDATE */
 I1	  25840 #define DIR_HDG 7	/* HEADINGS */
 I1	  25841 #define DIR_NOH 8	/* NOHEADINGS */
 I1	  25842 #define DIR_SRT 9	/* SORT */
 I1	  25843 #define DIR_NOS 10      /* NOSORT */
 I1	  25844 #define DIR_ASC 11	/* ASCENDING */
 I1	  25845 #define DIR_DSC 12      /* DESCENDING */
 I1	  25846 #define DIR_REC 13      /* RECURSIVE */
 I1	  25847 #define DIR_NOR 14	/* NORECURIVE */
 I1	  25848 #define DIR_DOT 15	/* DOTFILES */
 I1	  25849 #define DIR_NOD 16	/* NODOTFILES */
 I1	  25850 #define DIR_DIR 17	/* DIRECTORIES */
 I1	  25851 #define DIR_FIL 18	/* FILES */
 I1	  25852 #define DIR_ALL 19	/* ALL */
 I1	  25853 #define DIR_NAM 20	/* NAMES: */
 I1	  25854 #define DIR_TYP 21	/* FILETYPES */
 I1	  25855 #define DIR_NOT 22	/* NOFILETYPES */
 I1	  25856 #define DIR_BUP 23	/* BACKUP */
 I1	  25857 #define DIR_NOB 24	/* NOBACKUP */
 I1	  25858 #define DIR_MSG 25      /* MESSAGE */
 I1	  25859 #define DIR_NOM 26      /* NOMESSAGE */
 I1	  25860 #define DIR_ARR 27      /* ARRAY: */
 I1	  25861 #define DIR_NAR 28      /* NOARRAY */
 I1	  25862 #define DIR_EXC 29	/* EXCEPT: */
 I1	  25863 #define DIR_LAR 30	/* LARGER-THAN: */
 I1	  25864 #define DIR_SMA 31	/* SMALLER-THAN: */
 I1	  25865 #define DIR_AFT 32	/* AFTER: */
 I1	  25866 #define DIR_NAF 33	/* NOT-AFTER: */
 I1	  25867 #define DIR_BEF 34	/* BEFORE: */
 I1	  25868 #define DIR_NBF 35	/* NOT-BEFORE: */
 I1	  25869 #define DIR_SUM 36	/* SUMMARY */
 I1	  25870 #define DIR_BIN 37	/* TYPE (only show binary or text) */
 I1	  25871 #define DIR_LNK 38	/* follow symlinks */
 I1	  25872 #define DIR_NLK 39	/* don't follow symlinks */
 I1	  25873 #define DIR_OUT 40	/* Output file for listing */
 I1	  25874 #define DIR_TOP 41	/* Top n lines */
 I1	  25875 #define DIR_COU 42	/* COUNT:var */
 I1	  25876 #define DIR_NOL 43	/* NOLINKS (don't show symlinks at at all) */
 I1	  25877 #define DIR_MOD 44	/* Set modification time (used only by TOUCH) */
 I1	  25878 #define DIR_SIM 45	/* /SIMULATE (for TOUCH) */
 I1	  25879 #define DIR_DES 46      /* /DESTINATION: (for CHANGE) */
 I1	  25880 #define DIR_BAK 47      /* /BACKUP: (for CHANGE) */
 I1	  25881 
 I1	  25882 #define DIRS_NM 0       /* Sort directory by NAME */
 I1	  25883 #define DIRS_DT 1       /* Sort directory by DATE */
 I1	  25884 #define DIRS_SZ 2       /* Sort directory by SIZE */
 I1	  25885 
 I1	  25886 #define XXDIS   9	/* DISABLE */
 I1	  25887 #define XXECH  10	/* ECHO */
 I1	  25888 #define XXEXI  11	/* EXIT */
 I1	  25889 #define XXFIN  12	/* FINISH */
 I1	  25890 #define XXGET  13	/* GET */
 I1	  25891 #define XXHLP  14	/* HELP */
 I1	  25892 #define XXINP  15	/* INPUT */
 I1	  25893 #define XXLOC  16	/* LOCAL */
 I1	  25894 #define XXLOG  17	/* LOG */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 467
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  25895 #define XXMAI  18	/* MAIL */
 I1	  25896 #define XXMOU  19	/* (Local) MOUNT */
 I1	  25897 #define XXMSG  20	/* (Local) MESSAGE */
 I1	  25898 #define XXOUT  21	/* OUTPUT */
 I1	  25899 #define XXPAU  22	/* PAUSE */
 I1	  25900 #define XXPRI  23	/* (Local) PRINT */
 I1	  25901 #define XXQUI  24	/* QUIT */
 I1	  25902 #define XXREC  25	/* RECEIVE */
 I1	  25903 #define XXREM  26	/* REMOTE */
 I1	  25904 #define XXREN  27	/* (Local) RENAME */
 I1	  25905 #define XXSEN  28	/* SEND */
 I1	  25906 
 I1	  25907 /* SEND switches */
 I1	  25908 
 I1	  25909 #define SND_BIN  0	/* Binary mode */
 I1	  25910 #define SND_DEL  1	/* Delete after */
 I1	  25911 #define SND_EXC  2	/* Except */
 I1	  25912 #define SND_LAR  3	/* Larger than */
 I1	  25913 #define SND_MAI  4	/* Mail */
 I1	  25914 #define SND_BEF  5	/* Before */
 I1	  25915 #define SND_AFT  6	/* After */
 I1	  25916 #define SND_PRI  7	/* Print */
 I1	  25917 #define SND_SHH  8	/* Quiet */
 I1	  25918 #define SND_REC  9	/* Recursive */
 I1	  25919 #define SND_SMA 10	/* Smaller than */
 I1	  25920 #define SND_STA 11	/* Starting-from */
 I1	  25921 #define SND_TXT 12	/* Text mode */
 I1	  25922 #define SND_CMD 13	/* From command (pipe)  */
 I1	  25923 #define SND_RES 14	/* Resend/Recover */
 I1	  25924 #define SND_PRO 15	/* Protocol */
 I1	  25925 #define SND_ASN 16	/* As-name */
 I1	  25926 #define SND_IMG 17	/* Image */
 I1	  25927 #define SND_LBL 18	/* Labeled */
 I1	  25928 #define SND_NAF 19	/* Not-After */
 I1	  25929 #define SND_NBE 20	/* Not-Before */
 I1	  25930 #define SND_FLT 21	/* Filter */
 I1	  25931 #define SND_PTH 22	/* Pathnames */
 I1	  25932 #define SND_NAM 23	/* Filenames */
 I1	  25933 #define SND_MOV 24      /* MOVE to another directory */
 I1	  25934 #define SND_REN 25      /* RENAME after sending */
 I1	  25935 #define SND_CAL 26	/* Calibrate */
 I1	  25936 #define SND_FIL 27	/* File containing list of files to send */
 I1	  25937 #define SND_NOB 28	/* Skip backup files  */
 I1	  25938 #define SND_DOT 29	/* Include dot-files */
 I1	  25939 #define SND_NOD 30	/* Exclude dot-files */
 I1	  25940 #define SND_ARR 31	/* Send from array */
 I1	  25941 #define SND_TYP 32	/* TYPE (only send text (or binary)) */
 I1	  25942 #define SND_XPA 33	/* TRANSPARENT */
 I1	  25943 #define SND_PIP 34	/* PIPES */
 I1	  25944 #define SND_ERR 35	/* ERROR */
 I1	  25945 #define SND_CSL 36	/* Local character set */
 I1	  25946 #define SND_CSR 37	/* Remote character set */
 I1	  25947 #define SND_UPD 38	/* Update */
 I1	  25948 #define SND_COL 39	/* Collision */
 I1	  25949 #define SND_NML 40	/* Namelist */
 I1	  25950 #define SND_SRN 41	/* Server-Rename */
 I1	  25951 #define SND_LNK 42	/* Follow links */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 468
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  25952 #define SND_NLK 43	/* Don't follow links */
 I1	  25953 #define SND_SIM 44	/* Simulate */
 I1	  25954 #define SND_DIF 45	/* If dates Differ */
 I1	  25955 #define SND_PAT 46	/* Pattern to use locally when GET'ing */
 I1	  25956 #define SND_NLS 47	/* (FTP only) MGET forces NLST */
 I1	  25957 #define SND_MLS 48	/* (FTP only) MGET forces MLSD */
 I1	  25958 
 I1	  25959 #define SND_MAX 48	/* Highest SEND switch */
 I1	  25960 
 I1	  25961 #define XXSER  29   	/* SERVER */
 I1	  25962 #define XXSET  30	/* SET */
 I1	  25963 #define XXSHE  31	/* Command for SHELL */
 I1	  25964 #define XXSHO  32	/* SHOW */
 I1	  25965 #define XXSPA  33	/* (Local) SPACE */
 I1	  25966 #define XXSTA  34	/* STATISTICS */
 I1	  25967 #define XXSUB  35	/* (Local) SUBMIT */
 I1	  25968 #define XXTAK  36	/* TAKE */
 I1	  25969 #define XXTRA  37	/* TRANSMIT */
 I1	  25970 #define XXTYP  38	/* (Local) TYPE */
 I1	  25971 #define XXWHO  39	/* (Local) WHO */
 I1	  25972 #define XXDIAL 40	/* (Local) DIAL */
 I1	  25973 #define XXLOGI 41	/* (Local) SCRIPT */
 I1	  25974 #define XXCOM  42	/* Comment */
 I1	  25975 #define XXHAN  43       /* HANGUP */
 I1	  25976 #define XXXLA  44	/* TRANSLATE */
 I1	  25977 #define XXIF   45	/* IF */
 I1	  25978 #define XXLBL  46       /* label */
 I1	  25979 #define XXGOTO 47	/* GOTO */
 I1	  25980 #define XXEND  48       /* END */
 I1	  25981 #define XXSTO  49       /* STOP */
 I1	  25982 #define XXDO   50       /* DO */
 I1	  25983 #define XXPWD  51       /* PWD */
 I1	  25984 #define XXTES  52       /* TEST */
 I1	  25985 #define XXASK  53       /* ASK */
 I1	  25986 #define XXASKQ 54       /* ASKQ */
 I1	  25987 #define XXASS  55       /* ASSIGN */
 I1	  25988 #define XXREI  56       /* REINPUT */
 I1	  25989 #define XXINC  57       /* INCREMENT */
 I1	  25990 #define XXDEC  59       /* DECREMENT */
 I1	  25991 #define XXELS  60       /* ELSE */
 I1	  25992 #define XXEXE  61	/* EXECUTE */
 I1	  25993 #define XXWAI  62	/* WAIT */
 I1	  25994 #define XXVER  63       /* VERSION */
 I1	  25995 #define XXENA  64       /* ENABLE */
 I1	  25996 #define XXWRI  65       /* WRITE */
 I1	  25997 #define XXCLS  66       /* CLS (clear screen) */
 I1	  25998 #define XXRET  67	/* RETURN */
 I1	  25999 #define XXOPE  68       /* OPEN */
 I1	  26000 #define XXREA  69	/* READ */
 I1	  26001 #define XXON   70       /* ON */
 I1	  26002 #define XXDCL  71       /* DECLARE */
 I1	  26003 #define XXBEG  72       /* BEGIN (not used) */
 I1	  26004 #define XXFOR  72       /* FOR */
 I1	  26005 #define XXWHI  73       /* WHILE */
 I1	  26006 #define XXIFX  74       /* Extended IF */
 I1	  26007 #define XXCMS  75       /* SEND from command output (not yet) */
 I1	  26008 #define XXCMR  76       /* RECEIVE to a command's input (not yet) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 469
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26009 #define XXCMG  77       /* GET to a command's input (not yet) */
 I1	  26010 #define XXSUS  78       /* SUSPEND */
 I1	  26011 #define XXERR  79       /* ERROR */
 I1	  26012 #define XXMSE  80       /* MSEND */
 I1	  26013 #define XXBUG  81       /* BUG */
 I1	  26014 #define XXPAD  82       /* PAD (as in X.25 PAD) ANYX25 */
 I1	  26015 #define XXRED  83       /* REDIAL */
 I1	  26016 #define XXGTA  84	/* _getargs (invisible internal) */
 I1	  26017 #define XXPTA  85	/* _putargs (invisible internal) */
 I1	  26018 #define XXGOK  86       /* GETOK - Ask for YES/NO */
 I1	  26019 #define XXTEL  87	/* TELNET */
 I1	  26020 #define XXASX  88	/* _ASSIGN (evaluates var name) */
 I1	  26021 #define XXDFX  89	/* _DEFINE (evaluates var name) */
 I1	  26022 #define XXPNG  90	/* PING (for TCP/IP) */
 I1	  26023 #define XXINT  91       /* INTRODUCTION */
 I1	  26024 #define XXCHK  92	/* CHECK (a feature) */
 I1	  26025 #define XXMSL  93       /* MSLEEP, MPAUSE (millisecond sleep) */
 I1	  26026 #define XXNEW  94       /* NEWS */
 I1	  26027 #define XXAPC  95       /* APC */
 I1	  26028 #define XXFUN  96       /* REDIRECT */
 I1	  26029 #define XXWRL  97	/* WRITE-LINE */
 I1	  26030 #define XXREXX 98	/* Rexx */
 I1	  26031 #define XXMINP 100	/* MINPUT */
 I1	  26032 #define XXRSEN 101	/* RESEND */
 I1	  26033 #define XXPSEN 102	/* PSEND */
 I1	  26034 #define XXGETC 103	/* GETC */
 I1	  26035 #define XXEVAL 104	/* EVALUATE */
 I1	  26036 #define XXFWD  105	/* FORWARD */
 I1	  26037 #define XXUPD  106      /* UPDATES */
 I1	  26038 #define XXBEEP 107      /* BEEP */
 I1	  26039 #define XXMOVE 108      /* MOVE */
 I1	  26040 #define XXMMOVE 109     /* MMOVE */
 I1	  26041 #define XXREGET 110     /* REGET */
 I1	  26042 #define XXLOOK  111	/* LOOKUP */
 I1	  26043 #define XXVIEW  112     /* VIEW (terminal buffer) */
 I1	  26044 #define XXANSW  113	/* ANSWER (the phone) */
 I1	  26045 #define XXPDIA  114	/* PDIAL (partial dial) */
 I1	  26046 #define XXASC   115	/* ASCII / TEXT */
 I1	  26047 #define XXBIN   116	/* BINARY */
 I1	  26048 #define XXFTP   117	/* FTP */
 I1	  26049 #define XXMKDIR 118	/* MKDIR */
 I1	  26050 #define XXRMDIR 119	/* RMDIR */
 I1	  26051 #define XXTELOP 120	/* TELOPT */
 I1	  26052 #define XXRLOG  121	/* RLOGIN */
 I1	  26053 #define XXUNDEF 122	/* UNDEFINE */
 I1	  26054 #define XXNPSH  123	/* NOPUSH */
 I1	  26055 #define XXADD   124	/* ADD */
 I1	  26056 #define ADD_SND   0     /* ADD SEND-LIST */
 I1	  26057 #define ADD_BIN   1     /* ADD BINARY-PATTERNS */
 I1	  26058 #define ADD_TXT   2     /* ADD TEXT-PATTERNS */
 I1	  26059 #define XXLOCAL 125	/* LOCAL */
 I1	  26060 #define XXKERMI 126	/* KERMIT */
 I1	  26061 #define XXDATE  127	/* DATE */
 I1	  26062 #define XXSWIT  128     /* SWITCH */
 I1	  26063 #define XXXFWD  129	/* _FORWARD */
 I1	  26064 #define XXSAVE  130     /* SAVE */
 I1	  26065 #define XXXECH  131     /* XECHO */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 470
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26066 #define XXRDBL  132     /* READBLOCK */
 I1	  26067 #define XXWRBL  133     /* WRITEBLOCK */
 I1	  26068 #define XXRETR  134     /* RETRIEVE */
 I1	  26069 #define XXEIGHT 135     /* EIGHTBIT */
 I1	  26070 #define XXEDIT  136	/* EDIT */
 I1	  26071 #define XXCSEN  137	/* CSEND */
 I1	  26072 #define XXCREC  138	/* CRECEIVE */
 I1	  26073 #define XXCQ    139	/* CQ */
 I1	  26074 #define XXTAPI  140     /* TAPI actions such as dialogs */
 I1	  26075 #define XXRES   141     /* RESET */
 I1	  26076 #define XXCGET  142     /* CGET */
 I1	  26077 #define XXFUNC  143     /* Function (help-only) */
 I1	  26078 #define XXKVRB  144     /* Kverb (help-only) */
 I1	  26079 #define XXBROWS 145	/* BROWSE */
 I1	  26080 #define XXMGET  146	/* MGET */
 I1	  26081 #define XXBACK  147	/* BACK */
 I1	  26082 #define XXWHERE 148	/* WHERE */
 I1	  26083 #define XXREDO  149     /* REDO */
 I1	  26084 #define XXEXCH  150     /* EXCHANGE */
 I1	  26085 #define XXREMV  151     /* REMOVE */
 I1	  26086 #define XXCHRT  152	/* CHROOT */
 I1	  26087 #define XXOPTS  153	/* Options (help-only) */
 I1	  26088 #define XXAUTH  154	/* AUTHORIZE */
 I1	  26089 #define XXPIPE  155	/* PIPE */
 I1	  26090 #define XXSSH   156	/* SSH */
 I1	  26091 #define XXTERM  157     /* TERMINAL */
 I1	  26092 #define XXSTATUS 158    /* STATUS */
 I1	  26093 #define XXCPR   159	/* COPYRIGHT */
 I1	  26094 #define XXASSER 160	/* ASSERT */
 I1	  26095 #define XXSUCC  161     /* SUCCEED */
 I1	  26096 #define XXFAIL  162     /* FAIL */
 I1	  26097 #define XXLOGIN 163     /* LOGIN */
 I1	  26098 #define XXLOGOUT 164    /* LOGOUT */
 I1	  26099 #define XXNLCL  165     /* NOLOCAL */
 I1	  26100 #define XXWILD  166     /* WILDCARDS (help-only) */
 I1	  26101 
 I1	  26102 /* One-word synonyms for REMOTE commands */
 I1	  26103 
 I1	  26104 #define XXRCPY  167	/* REMOTE COPY */
 I1	  26105 #define XXRCWD  168	/* Change Working Directory */
 I1	  26106 #define XXRDEL  169	/* Delete */
 I1	  26107 #define XXRDIR  170	/* Directory */
 I1	  26108 #define XXRHLP  171	/* Help */
 I1	  26109 #define XXRHOS  172	/* Host */
 I1	  26110 #define XXRKER  173	/* Kermit */
 I1	  26111 #define XXRMSG  174	/* Message */
 I1	  26112 #define XXRPRI  175	/* Print */
 I1	  26113 #define XXRREN  176	/* Rename */
 I1	  26114 #define XXRSET  177	/* Set */
 I1	  26115 #define XXRSPA  178	/* Space */
 I1	  26116 #define XXRSUB  179	/* Submit */
 I1	  26117 #define XXRTYP  180	/* Type */
 I1	  26118 #define XXRWHO  181	/* Who */
 I1	  26119 #define XXRPWD  182	/* Print Working Directory */
 I1	  26120 #define XXRQUE  183	/* Query */
 I1	  26121 #define XXRASG  184	/* Assign */
 I1	  26122 #define XXRMKD  185	/* mkdir */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 471
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26123 #define XXRRMD  186	/* rmdir */
 I1	  26124 #define XXRXIT  187	/* Exit */
 I1	  26125 
 I1	  26126 /* Top-Level commands, cont'd... */
 I1	  26127 
 I1	  26128 #define XXGETK  188	/* GETKEYCODE */
 I1	  26129 #define XXMORE  189	/* MORE */
 I1	  26130 #define XXXOPTS 190	/* Extended-Options (help-only) */
 I1	  26131 #define XXIKSD  191	/* IKSD */
 I1	  26132 #define XXRESET 192	/* RESET */
 I1	  26133 #define XXASSOC 193     /* ASSOCIATE */
 I1	  26134 
 I1	  26135 #define ASSOC_FC  0     /* ASSOCIATE FILE-CHARACTER-SET */
 I1	  26136 #define ASSOC_TC  1     /* ASSOCIATE TRANSFER-CHARACTER-SET */
 I1	  26137 
 I1	  26138 #define XXSHIFT 194	/* SHIFT */
 I1	  26139 #define XXMAN   195     /* MANUAL */
 I1	  26140 #define XXLS    196     /* LS */
 I1	  26141 #define XXSORT  197	/* SORT */
 I1	  26142 #define XXPURGE 198	/* PURGE */
 I1	  26143 #define XXFAST  199	/* FAST */
 I1	  26144 #define XXCAU   200	/* CAUTIOUS */
 I1	  26145 #define XXROB   201	/* ROBUST */
 I1	  26146 #define XXMACRO 202     /* Immediate macro */
 I1	  26147 #define XXSCRN  203	/* SCREEN */
 I1	  26148 #define XXLNOUT 204     /* LINEOUT */
 I1	  26149 #define XX_INCR 205	/* _INCREMENT */
 I1	  26150 #define XX_DECR 206	/* _DECREMENT */
 I1	  26151 #define XX_EVAL 207	/* _EVALUATE */
 I1	  26152 #define XXARRAY 208	/* ARRAY */
 I1	  26153 #define XXPARSE 209	/* PARSE */
 I1	  26154 #define XXHTTP  210     /* HTTP */
 I1	  26155 
 I1	  26156 #ifdef CKCHANNELIO
 I1	  26157 #define XXFILE  211	/* FILE */
 I1	  26158 #define XXF_CL  212	/* FCLOSE */
 I1	  26159 #define XXF_FL  213	/* FFLUSH */
 I1	  26160 #define XXF_LI  214	/* FLIST */
 I1	  26161 #define XXF_OP  215	/* FOPEN */
 I1	  26162 #define XXF_RE  216	/* FREAD */
 I1	  26163 #define XXF_SE  217	/* FSEEK */
 I1	  26164 #define XXF_ST  218	/* FSTATUS */
 I1	  26165 #define XXF_WR  219	/* FWRITE */
 I1	  26166 #define XXF_RW  220	/* FREWIND */
 I1	  26167 #define XXF_CO  221	/* FCOUNT */
 I1	  26168 #endif /* CKCHANNELIO */
 I1	  26169 
 I1	  26170 #define XXEXEC  222	/* exec() */
 I1	  26171 #define XXTRACE 223	/* TRACE */
 I1	  26172 #define XXNOTAV 224	/* The "not available" command */
 I1	  26173 #define XXPTY   225     /* PTY (like PIPE) */
 I1	  26174 #define XXCHMOD 226     /* CHMOD */
 I1	  26175 #define XXPROMP 227	/* PROMPT */
 I1	  26176 #define XXFEACH 228	/* FOREACH */
 I1	  26177 #define XXGREP  229     /* GREP */
 I1	  26178 #define XXSEXP  230	/* S-Expression */
 I1	  26179 #define XXUNDCL 231	/* UNDECLARE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 472
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26180 #define XXVOID  232     /* VOID */
 I1	  26181 #define XXPUT   233	/* PUT */
 I1	  26182 #define XXUNDFX 234	/* _UNDEFINE */
 I1	  26183 #define XXHEAD  235     /* HEAD */
 I1	  26184 #define XXTAIL  236     /* TAIL */
 I1	  26185 #define XXDEBUG 237     /* DEBUG */
 I1	  26186 #define XXLEARN 238     /* LEARN */
 I1	  26187 #define XXPAT   239     /* PATTERNS (help only) */
 I1	  26188 
 I1	  26189 #define XXCDUP  240     /* CDUP (Change working directory upwards) */
 I1	  26190 #define XXRCDUP 241     /* REMOTE CDUP */
 I1	  26191 #define XXCAT   242	/* CAT (= TYPE /NOPAGE) */
 I1	  26192 #define XXFIREW 243     /* FIREWALL (help only) */
 I1	  26193 
 I1	  26194 #define XXLCWD  244	/* Local C(W)D */
 I1	  26195 #define XXLCDU  245	/* Local CDUP */
 I1	  26196 #define XXLPWD  246	/* Local PWD */
 I1	  26197 #define XXLDEL  247	/* Local DELETE */
 I1	  26198 #define XXLDIR  248	/* Local DIRECTORY */
 I1	  26199 #define XXLREN  249	/* Local RENAME */
 I1	  26200 #define XXLMKD  250	/* Local MKDIR */
 I1	  26201 #define XXLRMD  251	/* Local RMDIR */
 I1	  26202 #define XXUSER  252	/* (FTP) USER */
 I1	  26203 #define XXACCT  253	/* (FTP) ACCOUNT */
 I1	  26204 #define XXLINK  254     /* LINK source destination */
 I1	  26205 #define XXORIE  255	/* ORIENT(ATION) */
 I1	  26206 #define XXDIALER 256    /* DIALER */
 I1	  26207 #define XXKCD   257     /* KCD */
 I1	  26208 #define XXSITE  258     /* (FTP) SITE */
 I1	  26209 #define XXPASV  259     /* (FTP) PASSIVE */
 I1	  26210 #define XXCONT  260	/* CONTINUE */
 I1	  26211 #define XXNSCR  261	/* NOSCROLL */
 I1	  26212 #define XXSFTP  262	/* SFTP */
 I1	  26213 #define XXSKRM  263	/* SKERMIT */
 I1	  26214 #define XXWDIR  264	/* WDIRECTORY */
 I1	  26215 #define XXHDIR  265	/* HDIRECTORY */
 I1	  26216 #define XXTOUC  266	/* TOUCH */
 I1	  26217 #define XXLOCU  267	/* LOCUS (for HELP) */
 I1	  26218 #define XXPUTE  268     /* PUTENV */
 I1	  26219 #define XXXMSG  269     /* XMESSAGE */
 I1	  26220 #define XXCHG   270     /* CHANGE */
 I1	  26221 #define XXCSN   271     /* COMPACT-SUBSTRING */
 I1	  26222 
 I1	  26223 /* End of Top-Level Commands */
 I1	  26224 
 I1	  26225 #define SCN_CLR   0			/* SCREEN CLEAR */
 I1	  26226 #define SCN_CLE   1			/* SCREEN CLEOL */
 I1	  26227 #define SCN_MOV   2			/* SCREEN MOVE */
 I1	  26228 
 I1	  26229 /* ARRAY operations */
 I1	  26230 
 I1	  26231 #define ARR_DCL   0			/* Declare */
 I1	  26232 #define ARR_CPY   1			/* Copy */
 I1	  26233 #define ARR_RSZ   2			/* Resize */
 I1	  26234 #define ARR_SRT   3			/* Sort */
 I1	  26235 #define ARR_CLR   4			/* Clear */
 I1	  26236 #define ARR_SEA   5			/* Search */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 473
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26237 #define ARR_DST   6			/* Destroy */
 I1	  26238 #define ARR_SHO   7			/* Show */
 I1	  26239 #define ARR_SET   8			/* Set */
 I1	  26240 #define ARR_EQU   9			/* Equate */
 I1	  26241 
 I1	  26242 /* SORT options */
 I1	  26243 
 I1	  26244 #define SRT_CAS   0			/* /CASE */
 I1	  26245 #define SRT_KEY   1			/* /KEY:n */
 I1	  26246 #define SRT_REV   2			/* /REVERSE */
 I1	  26247 #define SRT_RNG   3			/* /RANGE:n:m */
 I1	  26248 #define SRT_NUM   4			/* /NUMERIC */
 I1	  26249 
 I1	  26250 /* PURGE command options */
 I1	  26251 
 I1	  26252 #define PU_KEEP 0			/* /KEEP: */
 I1	  26253 #define PU_LIST 1			/* /LIST */
 I1	  26254 #define PU_PAGE 2			/* /PAGE */
 I1	  26255 #define PU_NOPA 3			/* /NOPAGE */
 I1	  26256 #define PU_NODE 4			/* /SIMULATE */
 I1	  26257 #define PU_DELE 5			/* /DELETE */
 I1	  26258 #define PU_NOLI 6			/* /NOLIST */
 I1	  26259 #define PU_QUIE 7			/* /QUIET (= NOLIST) */
 I1	  26260 #define PU_VERB 8			/* /VERBOSE (= LIST) */
 I1	  26261 #define PU_ASK  9			/* /ASK */
 I1	  26262 #define PU_NASK 10			/* /NOASK */
 I1	  26263 #define PU_LAR  11			/* /LARGER-THAN: */
 I1	  26264 #define PU_SMA  12			/* /SMALLER-THAN: */
 I1	  26265 #define PU_AFT  13			/* /AFTER: */
 I1	  26266 #define PU_NAF  14			/* /NOT-AFTER: */
 I1	  26267 #define PU_BEF  15			/* /BEFORE: */
 I1	  26268 #define PU_NBF  16			/* /NOT-BEFORE: */
 I1	  26269 #define PU_EXC  17			/* /EXCEPT: */
 I1	  26270 #define PU_RECU 18			/* /RECURSIVE */
 I1	  26271 #define PU_DOT  19			/* /DOTFILES */
 I1	  26272 #define PU_NODOT 20			/* /NODOTFILES */
 I1	  26273 #define PU_HDG  21			/* /HEADING */
 I1	  26274 #define PU_NOH  22			/* /NOHEADING */
 I1	  26275 
 I1	  26276 /* DELETE command options */
 I1	  26277 
 I1	  26278 #define DEL_NOL 0			/* /NOLIST */
 I1	  26279 #define DEL_LIS 1			/* /LIST */
 I1	  26280 #define DEL_HDG 2			/* /HEADINGS */
 I1	  26281 #define DEL_NOH 2			/* /NOHEADINGS */
 I1	  26282 #define DEL_BEF 3			/* /BEFORE: */
 I1	  26283 #define DEL_NBF 4			/* /NOT-BEFORE: */
 I1	  26284 #define DEL_AFT 5			/* /AFTER: */
 I1	  26285 #define DEL_NAF 6			/* /NOT-AFTER: */
 I1	  26286 #define DEL_DOT 7			/* /DOTFILES */
 I1	  26287 #define DEL_NOD 8			/* /NODOTFILES */
 I1	  26288 #define DEL_EXC 9			/* /EXCEPT:*/
 I1	  26289 #define DEL_PAG 10			/* /PAGE */
 I1	  26290 #define DEL_NOP 11			/* /NOPAGE */
 I1	  26291 #define DEL_REC 12			/* /RECURSIVE */
 I1	  26292 #define DEL_NOR 13			/* /NORECURSIVE */
 I1	  26293 #define DEL_VRB 14			/* /VERBOSE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 474
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26294 #define DEL_QUI 15			/* /QUIET */
 I1	  26295 #define DEL_SMA 16			/* /SMALLER-THAN: */
 I1	  26296 #define DEL_LAR 17			/* /LARGER-THAN: */
 I1	  26297 #define DEL_SIM 18			/* /SIMULATE */
 I1	  26298 #define DEL_ASK 19			/* /ASK */
 I1	  26299 #define DEL_NAS 20			/* /NOASK */
 I1	  26300 #define DEL_SUM 21			/* /SUMMARY */
 I1	  26301 #define DEL_DIR 22			/* /DIRECTORY */
 I1	  26302 #define DEL_ALL 23			/* /ALL */
 I1	  26303 #define DEL_TYP 24			/* /TYPE: */
 I1	  26304 #define DEL_LNK 25			/* /FOLLOWLINKS */
 I1	  26305 #define DEL_NLK 26			/* /NOFOLLOWLINKS */
 I1	  26306 
 I1	  26307 /* RENAME switches that can be used in the same table as the DEL switches */
 I1	  26308 
 I1	  26309 #define REN_LOW 100			/* Convert to lowercase */
 I1	  26310 #define REN_UPP 101			/* Converto to uppercase */
 I1	  26311 #define REN_RPL 102			/* String replacement */
 I1	  26312 #define REN_OVW 103			/* Overwrite file with same name */
 I1	  26313 #define REN_XLA 104			/* Translate character sets */
 I1	  26314 #define REN_SPA 105			/* Fix spaces */
 I1	  26315 
 I1	  26316 /* FILE operations */
 I1	  26317 
 I1	  26318 #define FIL_OPN  0			/* OPEN */
 I1	  26319 #define FIL_CLS  1			/* CLOSE */
 I1	  26320 #define FIL_REA  2			/* READ */
 I1	  26321 #define FIL_GET  3			/* GET */
 I1	  26322 #define FIL_WRI  4			/* WRITE */
 I1	  26323 #define FIL_REW  5			/* REWIND */
 I1	  26324 #define FIL_LIS  6			/* LIST */
 I1	  26325 #define FIL_FLU  7			/* FLUSH */
 I1	  26326 #define FIL_SEE  8			/* SEEK */
 I1	  26327 #define FIL_STA  9			/* STATUS */
 I1	  26328 #define FIL_COU 10			/* COUNT */
 I1	  26329 
 I1	  26330 /* OPEN / CLOSE items */
 I1	  26331 
 I1	  26332 #define OPN_FI_R 1			/* FILE READ */
 I1	  26333 #define OPN_FI_W 2			/* FILE WRITE */
 I1	  26334 #define OPN_FI_A 3			/* FILE APPEND */
 I1	  26335 #define OPN_PI_R 4			/* PIPE READ */
 I1	  26336 #define OPN_PI_W 5			/* PIPE WRITE */
 I1	  26337 #define OPN_PT_R 6			/* PTY READ */
 I1	  26338 #define OPN_PT_W 7			/* PTY WRITE */
 I1	  26339 #define OPN_SER	 8			/* PORT or LINE */
 I1	  26340 #define OPN_NET	 9			/* HOST */
 I1	  26341 
 I1	  26342 /* KERBEROS command switches */
 I1	  26343 
 I1	  26344 #define KRB_S_VE  0	/* /VERSION */
 I1	  26345 #define KRB_S_CA  1	/* /CACHE: */
 I1	  26346 #define KRB_S_MAX 1	/* Highest KERBEROS switch number */
 I1	  26347 
 I1    X  26348 #ifdef CK_KERBEROS
 I1    X  26349 
 I1    X  26350 /* KERBEROS actions */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 475
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  26351 
 I1    X  26352 #define KRB_A_IN  0	/* INITIALIZE */
 I1    X  26353 #define KRB_A_DE  1	/* DESTROY */
 I1    X  26354 #define KRB_A_LC  2	/* LIST-CREDENTIALS */
 I1    X  26355 
 I1    X  26356 /* KERBEROS INIT switches */
 I1    X  26357 
 I1    X  26358 #define KRB_I_FW  0	/* /FORWARDABLE */
 I1    X  26359 #define KRB_I_LF  1	/* /LIFETIME: */
 I1    X  26360 #define KRB_I_PD  2	/* /POSTDATE: */
 I1    X  26361 #define KRB_I_PR  3	/* /PROXIABLE */
 I1    X  26362 #define KRB_I_RB  4	/* /RENEWABLE: */
 I1    X  26363 #define KRB_I_RN  5	/* /RENEW */
 I1    X  26364 #define KRB_I_SR  6	/* /SERVICE: */
 I1    X  26365 #define KRB_I_VA  7	/* /VALIDATE */
 I1    X  26366 #define KRB_I_RL  8     /* /REALM: */
 I1    X  26367 #define KRB_I_IN  9     /* /INSTANCE: */
 I1    X  26368 #define KRB_I_PW  10    /* /PASSWORD: */
 I1    X  26369 #define KRB_I_PA  11    /* /PREAUTH */
 I1    X  26370 #define KRB_I_VB  12    /* /VERBOSE */
 I1    X  26371 #define KRB_I_BR  13    /* /BRIEF */
 I1    X  26372 #define KRB_I_NFW 14	/* /NOT-FORWARDABLE */
 I1    X  26373 #define KRB_I_NPR 15	/* /NOT-PROXIABLE */
 I1    X  26374 #define KRB_I_NPA 16    /* /NOT-PREAUTH */
 I1    X  26375 #define KRB_I_K4  17    /* /KERBEROS4    (should k5 get k4 as well) */
 I1    X  26376 #define KRB_I_NK4 18    /* /NO-KERBEROS4 */
 I1    X  26377 #define KRB_I_POP 19    /* /POPUP */
 I1    X  26378 #define KRB_I_ADR 20    /* /ADDRESSES: */
 I1    X  26379 #define KRB_I_NAD 21    /* /NO-ADDRESSES */
 I1    X  26380 #define KRB_I_MAX 21    /* Highest KERBEROS INIT switch number */
 I1    X  26381 
 I1    X  26382 #endif /* CK_KERBEROS */
 I1	  26383 
 I1	  26384 /* SET parameters */
 I1	  26385 
 I1	  26386 #define XYBREA  0	/* BREAK simulation */
 I1	  26387 #define XYCHKT  1	/* Block check type */
 I1	  26388 #define XYDEBU  2	/* Debugging */
 I1	  26389 #define XYDELA  3	/* Delay */
 I1	  26390 #define XYDUPL  4	/* Duplex */
 I1	  26391 #define XYEOL   5	/* End-Of-Line (packet terminator) */
 I1	  26392 #define XYESC   6	/* Escape character */
 I1	  26393 #define XYFILE  7	/* File Parameters (see ckcker.h for values) */
 I1	  26394 			/* (this space available) */
 I1	  26395 #define XYFLOW  9	/* Flow Control */
 I1	  26396 #define XYHAND 10	/* Handshake */
 I1	  26397 #define XYIFD  11	/* Incomplete File Disposition */
 I1	  26398 #define XYIMAG 12	/* "Image Mode" */
 I1	  26399 #define XYINPU 13	/* INPUT command parameters */
 I1	  26400 #define XYLEN  14	/* Maximum packet length to send */
 I1	  26401 #define XYLINE 15	/* Communication line to use */
 I1	  26402 
 I1	  26403 /* SET LINE / SET HOST command switches */
 I1	  26404 
 I1	  26405 #define SL_CNX   0	/* /CONNECT */
 I1	  26406 #define SL_SRV   1	/* /SERVER */
 I1	  26407 #define SL_SHR   2	/* /SHARE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 476
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26408 #define SL_NSH   3	/* /NOSHARE */
 I1	  26409 #define SL_BEE   4	/* /BEEP */
 I1	  26410 #define SL_ANS   5	/* /ANSWER */
 I1	  26411 #define SL_DIA   6	/* /DIAL:xxx */
 I1	  26412 #define SL_SPD   7	/* /SPEED:xxx */
 I1	  26413 #define SL_FLO   8	/* /FLOW:xxx */
 I1	  26414 #define SL_TMO   9	/* /TIMEOUT:xxx */
 I1	  26415 #define SL_CMD  10	/* /COMMAND */
 I1	  26416 #define SL_PSW  11	/* /PASSWORD:xxx */
 I1	  26417 #define SL_IKS  12      /* /KERMIT-SERVICE */
 I1	  26418 #define SL_NET  13      /* /NETWORK-TYPE:xxx */
 I1	  26419 #define SL_ENC  14      /* /ENCRYPT:type (telnet) /ENCRYPT (rlogin) */
 I1	  26420 #define SL_KRB4 15      /* /KERBEROS 4 (rlogin/telnet) */
 I1	  26421 #define SL_KRB5 16      /* /KERBEROS 5 (rlogin/telnet) */
 I1	  26422 #define SL_SRP  17      /* /SRP (telnet) */
 I1	  26423 #define SL_NTLM 18      /* /NTLM (telnet) */
 I1	  26424 #define SL_SSL  19      /* /SSL (telnet) */
 I1	  26425 #define SL_UID  20      /* /USERID:xxxx */
 I1	  26426 #define SL_AUTH 21      /* /AUTH:type */
 I1	  26427 #define SL_WAIT 22	/* /WAIT */
 I1	  26428 #define SL_NOWAIT 23	/* /NOWAIT */
 I1	  26429 #define SL_PTY  24      /* /PTY */
 I1	  26430 
 I1	  26431 #define XYLOG  16	/* Log file */
 I1	  26432 #define XYMARK 17	/* Start of Packet mark */
 I1	  26433 #define XYNPAD 18	/* Amount of padding */
 I1	  26434 #define XYPADC 19	/* Pad character */
 I1	  26435 #define XYPARI 20	/* Parity */
 I1	  26436 #define XYPAUS 21	/* Interpacket pause */
 I1	  26437 #define XYPROM 22	/* Program prompt string */
 I1	  26438 #define XYQBIN 23	/* 8th-bit prefix */
 I1	  26439 #define XYQCTL 24	/* Control character prefix */
 I1	  26440 #define XYREPT 25	/* Repeat count prefix */
 I1	  26441 #define XYRETR 26	/* Retry limit */
 I1	  26442 #define XYSPEE 27	/* Line speed (baud rate) */
 I1	  26443 #define XYTACH 28	/* Character to be doubled */
 I1	  26444 #define XYTIMO 29	/* Timeout interval */
 I1	  26445 #define XYMODM 30	/* Modem - also see XYDIAL */
 I1	  26446 
 I1	  26447 #define XYSEND 31	/* SET SEND parameters */
 I1	  26448 #define XYRECV 32   	/* SET RECEIVE parameters */
 I1	  26449 #define XYTERM 33	/* SET TERMINAL parameters */
 I1	  26450 #define   XYTBYT 0      /*  Terminal Bytesize (7 or 8) */
 I1	  26451 #define   XYTTYP 1      /*  Terminal emulation Type */
 I1	  26452 #define     TT_NONE  0	/*    NONE, no emulation */
 I1    X  26453 #ifdef OS2
 I1	  26454 /*
 I1	  26455   Note, the symbols for VT and VT-like terminals should be in ascending
 I1	  26456   numerical order, so that higher ones can be treated as supersets of
 I1	  26457   lower ones with respect to capabilities.
 I1	  26458 
 I1	  26459   This is no longer the case with the influx of new terminal types.
 I1	  26460   Just make sure that the ISXXXXX() macros include the proper family
 I1	  26461   groups.
 I1    X  26462 */
 I1    X  26463 #define     TT_DG200    1 	/*    Data General 200 */
 I1    X  26464 #define     TT_DG210    2  	/*    Data General 210 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 477
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  26465 #define     TT_DG217    3   	/*    Data General 217 */
 I1    X  26466 #define     TT_HP2621   4 	/*    Hewlett-Packard 2621A */
 I1    X  26467 #define     TT_HPTERM   5	/*    Hewlett-Packard Console */
 I1    X  26468 #define     TT_HZL1500  6 	/*    Hazeltine 1500 */
 I1    X  26469 #define     TT_VC4404   7 	/*    Volker Craig VC4404/404 */
 I1    X  26470 #define     TT_WY30     8	/*    WYSE-30/30+ */
 I1    X  26471 #define     TT_WY50     9 	/*    WYSE-50/50+ */
 I1    X  26472 #define     TT_WY60    10       /*    WYSE-60	 */
 I1    X  26473 #define     TT_WY160   11       /*    WYSE-160   */
 I1    X  26474 #define     TT_QNX     12       /*    QNX */
 I1    X  26475 #define     TT_QANSI   13       /*    QNX Ansi emulation */
 I1    X  26476 #define     TT_VT52    14	/*    DEC VT-52  */
 I1    X  26477 #define     TT_H19     15	/*    Heath-19 */
 I1    X  26478 #define     TT_IBM31   16       /*    IBM 31xx */
 I1    X  26479 #define     TT_SCOANSI 17	/*    SCOANSI (Unix mode) */
 I1    X  26480 #define     TT_AT386   18 	/*    Unixware AT386 (Unix mode) */
 I1    X  26481 #define     TT_ANSI    19	/*    IBM ANSI.SYS (BBS) */
 I1    X  26482 #define     TT_VIP7809 20	/*    Honeywell VIP7809 */
 I1    X  26483 #define     TT_LINUX   21       /*    Linux Console */
 I1    X  26484 #define     TT_HFT     22       /*    IBM High Function Terminal */
 I1    X  26485 #define     TT_AIXTERM 23       /*    IBM AIXterm */
 I1    X  26486 #define     TT_SUN     24       /*    SUN Console */
 I1    X  26487 #define     TT_BA80    25       /*    Nixdorf BA80 */
 I1    X  26488 #define     TT_BEOS    26       /*    BeOS Ansi */
 I1    X  26489 #define     TT_VT100   27	/*    DEC VT-100 */
 I1    X  26490 #define     TT_VT102   28	/*    DEC VT-102 */
 I1    X  26491 #define     TT_VT220   29	/*    DEC VT-220 */
 I1    X  26492 #define     TT_VT220PC 30       /*    DEC VT-220 with PC keyboard */
 I1    X  26493 #define     TT_VT320   31	/*    DEC VT-320 */
 I1    X  26494 #define     TT_VT320PC 32	/*    DEC VT-320 with PC keyboard */
 I1    X  26495 #define     TT_WY370   33	/*    WYSE 370 ANSI Terminal */
 I1    X  26496 #define     TT_97801   34       /*    Sinix 97801-5xx terminal */
 I1    X  26497 #define     TT_AAA     35       /*    Ann Arbor Ambassador */
 I1    X  26498 #define     TT_TVI910  36	/*    TVI 910+ */
 I1    X  26499 #define     TT_TVI925  37       /*    TVI 925  */
 I1    X  26500 #define     TT_TVI950  38       /*    TVI950   */
 I1    X  26501 #define     TT_ADM3A   39       /*    LSI ADM 3A */
 I1    X  26502 #define     TT_ADM5    40		/*    LSI ADM 5 */
 I1    X  26503 #define     TT_VTNT    41       /*    Microsoft NT Virtual Terminal */
 I1    X  26504 #define     TT_MAX   TT_VTNT
 I1    X  26505 #define     TT_VT420   96	/*    DEC VT-420 */
 I1    X  26506 #define     TT_VT520   97	/*    DEC VT-520/525 */
 I1    X  26507 #define     TT_TEK40 99	/*    Tektronix 401x */
 I1    X  26508 #define     TT_KBM_EMACS   TT_MAX+1
 I1    X  26509 #define     TT_KBM_HEBREW  TT_MAX+2
 I1    X  26510 #define     TT_KBM_RUSSIAN TT_MAX+3
 I1    X  26511 #define     TT_KBM_WP      TT_MAX+4
 I1    X  26512 
 I1    X  26513 #define ISAAA(x)   (x == TT_AAA)
 I1    X  26514 #define ISANSI(x)  (x >= TT_SCOANSI && x <= TT_ANSI)
 I1    X  26515 #define ISBA80(x)  (x == TT_BA80)
 I1    X  26516 #define ISBEOS(x)  (x == TT_BEOS)
 I1    X  26517 #define ISQNX(x)   (x == TT_QNX)
 I1    X  26518 #define ISQANSI(x)   (x == TT_QANSI)
 I1    X  26519 #define ISLINUX(x) (x == TT_LINUX)
 I1    X  26520 #define ISSCO(x)   (x == TT_SCOANSI)
 I1    X  26521 #define ISAT386(x) (x == TT_AT386)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 478
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  26522 #define ISAVATAR(x) (x == TT_ANSI)
 I1    X  26523 #define ISSUN(x)    (x == TT_SUN)
 I1    X  26524 #define ISUNIXCON(x) (x == TT_SCOANSI || x == TT_AT386 || \
 I1    X  26525                       x == TT_LINUX   || x == TT_SUN)
 I1    X  26526 #define ISDG200(x) (x >= TT_DG200 && x <= TT_DG217)
 I1    X  26527 #define ISHZL(x)   (x == TT_HZL1500)
 I1    X  26528 #define ISH19(x)   (x == TT_H19)
 I1    X  26529 #define ISIBM31(x) (x == TT_IBM31)
 I1    X  26530 #define ISTVI(x)   (x >= TT_TVI910 && x <= TT_TVI950)
 I1    X  26531 #define ISTVI910(x) (x == TT_TVI910)
 I1    X  26532 #define ISTVI925(x) (x == TT_TVI925)
 I1    X  26533 #define ISTVI950(x) (x == TT_TVI950)
 I1    X  26534 #define ISVT52(x)  (x == TT_VT52 || x == TT_H19)
 I1    X  26535 #ifdef COMMENT
 I1    X  26536 #define ISVT520(x) (x == TT_VT520)
 I1    X  26537 #define ISVT420(x) (x >= TT_VT420 && x <= TT_VT520)
 I1    X  26538 #else /* COMMENT */
 I1    X  26539 /* Since we do not yet support 420/520 extend 320 */
 I1    X  26540 #define ISVT520(x) (ISVT320(x))
 I1    X  26541 #define ISVT420(x) (ISVT320(x))
 I1    X  26542 #endif /* COMMENT */
 I1    X  26543 #define ISVT320(x) (x >= TT_VT320 && x <= TT_AAA)
 I1    X  26544 #define ISVT220(x) (x >= TT_VT220 && x <= TT_AAA || \
 I1    X  26545                     ISBEOS(x) || ISQANSI(x) || \
 I1    X  26546                     ISLINUX(x) || ISSUN(x))
 I1    X  26547 #define ISVT102(x) (x >= TT_VIP7809 && x <= TT_BA80 || \
 I1    X  26548 		    x == TT_VT102 || ISVT220(x))
 I1    X  26549 #define ISVT100(x) (x == TT_VT100 || ISVT102(x))
 I1    X  26550 #define ISWY30(x)  (x == TT_WY30)
 I1    X  26551 #define ISWYSE(x)  (x >= TT_WY30 && x <= TT_WY160)
 I1    X  26552 #define ISWY50(x)  (x == TT_WY50)
 I1    X  26553 #define ISWY60(x)  (x == TT_WY60 || x == TT_WY160)
 I1    X  26554 #define ISWY160(x) (x == TT_WY160)
 I1    X  26555 #define ISWY370(x) (x == TT_WY370)
 I1    X  26556 #define ISVC(x)    (x == TT_VC4404)
 I1    X  26557 #define ISHP(x)    (x == TT_HPTERM || x == TT_HP2621)
 I1    X  26558 #define ISHPTERM(x) (x == TT_HPTERM)
 I1    X  26559 #define ISVIP(x)   (x == TT_VIP7809)
 I1    X  26560 #define IS97801(x) (x == TT_97801)
 I1    X  26561 #define ISHFT(x)   (x == TT_HFT || x == TT_AIXTERM)
 I1    X  26562 #define ISAIXTERM(x) (x == TT_AIXTERM)
 I1    X  26563 #define ISTEK(x)   (x == TT_TEK40)
 I1    X  26564 #define ISVTNT(x)  (x == TT_VTNT)
 I1    X  26565 #define ISADM3A(x) (x == TT_ADM3A)
 I1    X  26566 #define ISADM5(x)  (x == TT_ADM5)
 I1    X  26567 #endif /* OS2 */
 I1	  26568 
 I1	  26569 #define   XYTCS  2      /*  Terminal Character Set */
 I1	  26570 #define   XYTSO  3	/*  Terminal Shift-In/Shift-Out */
 I1	  26571 #define   XYTNL  4      /*  Terminal newline mode */
 I1    X  26572 #ifdef OS2
 I1    X  26573 #define   XYTCOL 5      /*  Terminal colors */
 I1    X  26574 #endif /* OS2 */
 I1	  26575 #define   XYTEC  6	/*  Terminal echo = duplex = local-echo */
 I1    X  26576 #ifdef OS2
 I1    X  26577 #define   XYTCUR 7	/*  Terminal cursor */
 I1    X  26578 #define     TTC_ULINE 0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 479
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  26579 #define     TTC_HALF  1
 I1    X  26580 #define     TTC_BLOCK 2
 I1    X  26581 #define   XYTARR 8	/*  Terminal arrow-key mode */
 I1    X  26582 #define   XYTKPD 9      /*  Terminal keypad mode */
 I1    X  26583 #define    TTK_NORM 0   /*    Normal mode for arrow / keyad keys */
 I1    X  26584 #define    TTK_APPL 1   /*    Application mode for arrow / keyad keys */
 I1    X  26585 #define   XYTWRP 10     /*  Terminal wrap */
 I1    X  26586 #endif /* OS2 */
 I1	  26587 #define   XYTCRD 11	/*  Terminal CR-display */
 I1	  26588 #define   XYTANS 12	/*  Terminal answerback */
 I1    X  26589 #ifdef OS2
 I1    X  26590 #define   XYSCRS 13     /*  Terminal scrollback buffer size */
 I1    X  26591 #endif /* OS2 */
 I1	  26592 #define   XYTAPC 14	/*  Terminal APC */
 I1    X  26593 #ifdef OS2
 I1    X  26594 #define   XYTBEL 15     /*  Terminal Bell */
 I1    X  26595 #endif /* OS2 */
 I1	  26596 #define   XYTDEB 16	/*  Terminal Debug */
 I1    X  26597 #ifdef OS2
 I1    X  26598 #define   XYTROL 17     /*  Terminal Rollback */
 I1    X  26599 #define     TTR_OVER   0  /*  Rollback Overwrite */
 I1    X  26600 #define     TTR_INSERT 1  /*  Rollback Insert */
 I1    X  26601 #define     TTR_KEYS   2  /*  Keystrokes */
 I1    X  26602 #define       TTRK_IGN 0  /*    Ignore */
 I1    X  26603 #define       TTRK_RST 2  /*    Restore and Send */
 I1    X  26604 #define       TTRK_SND 1  /*    Send */
 I1    X  26605 #define   XYTCTS 18     /*  Terminal Transmit-Timeout */
 I1    X  26606 #define   XYTCPG 19     /*  Terminal Code Page */
 I1    X  26607 #ifdef COMMENT
 I1    X  26608 #define   XYTHCU 20     /*  Terminal Hide-Cursor */
 I1    X  26609 #endif /* COMMENT */
 I1    X  26610 #define   XYTPAC 21	    /*  Terminal Output-Pacing */
 I1    X  26611 #define   XYTMOU 22	    /*  Terminal Mouse */
 I1    X  26612 #endif /* OS2 */
 I1	  26613 #define   XYTHIG 23     /*  Terminal Width */
 I1	  26614 #define   XYTWID 24     /*  Terminal Height */
 I1    X  26615 #ifdef OS2
 I1    X  26616 #define   XYTUPD 25     /*  Terminal Screen-update */
 I1    X  26617 #define    TTU_FAST 0   /*     FAST but jerky */
 I1    X  26618 #define    TTU_SMOOTH 1 /*     SMOOTH but slow */
 I1    X  26619 #define   XYTFON 26     /*  Terminal Full screen Font */
 I1    X  26620 #define    TTF_ROM    0 /*     ROM font */
 I1    X  26621 #define    TTF_CY1    1 /*     CYRILL1 font */
 I1    X  26622 #define    TTF_CY2    2 /*     CYRILL2 font */
 I1    X  26623 #define    TTF_CY3    3 /*     CYRILL3 font */
 I1    X  26624 #define    TTF_111  111 /*     CP111 font */
 I1    X  26625 #define    TTF_112  112 /*     CP112 font */
 I1    X  26626 #define    TTF_113  113 /*     CP113 font */
 I1    X  26627 #define    TTF_437  437 /*     CP437 font */
 I1    X  26628 #define    TTF_850  850 /*     CP850 font */
 I1    X  26629 #define    TTF_851  851 /*     CP851 font */
 I1    X  26630 #define    TTF_852  852 /*     CP852 font */
 I1    X  26631 #define    TTF_853  853 /*     CP853 font */
 I1    X  26632 #define    TTF_860  860 /*     CP860 font */
 I1    X  26633 #define    TTF_861  861 /*     CP861 font */
 I1    X  26634 #define    TTF_862  862 /*     CP862 font */
 I1    X  26635 #define    TTF_863  863 /*     CP863 font */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 480
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  26636 #define    TTF_864  864 /*     CP864 font */
 I1    X  26637 #define    TTF_865  865 /*     CP865 font */
 I1    X  26638 #define    TTF_866  866 /*     CP866 font */
 I1    X  26639 #define    TTF_880  880 /*     CP880 font */
 I1    X  26640 #define    TTF_881  881 /*     CP881 font */
 I1    X  26641 #define    TTF_882  882 /*     CP882 font */
 I1    X  26642 #define    TTF_883  883 /*     CP883 font */
 I1    X  26643 #define    TTF_884  884 /*     CP884 font */
 I1    X  26644 #define    TTF_885  885 /*     CP885 font */
 I1    X  26645 #define   XYTVCH 27     /* SET TERMINAL VIDEO-CHANGE */
 I1    X  26646 #define    TVC_DIS   0  /*     DISABLED */
 I1    X  26647 #define    TVC_ENA   1  /*     ENABLED  */
 I1    X  26648 #define    TVC_W95   2  /*     WIN95-SAFE */
 I1    X  26649 #endif /* OS2 */
 I1	  26650 #define   XYTAUTODL 28  /* SET TERMINAL AUTODOWNLOAD */
 I1	  26651 #define    TAD_OFF     0 /*    OFF */
 I1	  26652 #define    TAD_ON      1 /*    ON  */
 I1	  26653 #define    TAD_K       2 /*    KERMIT */
 I1	  26654 #define    TAD_Z       3 /*    ZMODEM */
 I1	  26655 #define    TAD_X_STR     0 /*    STRING */
 I1	  26656 #define    TAD_X_DETECT  1 /*    DETECTION ( PACKET, STRING ) */
 I1	  26657 #define    TAD_X_C0      2 /*    C0 CONFLICTS */
 I1	  26658 #define    TAD_ERR     4 /*    ERROR { STOP, CONTINUE } */
 I1	  26659 #define    TAD_ASK     5 /*    ASK (dialog) */
 I1	  26660 #define   XYTAUTOUL 29  /* SET TERMINAL AUTOUPLOAD   */
 I1    X  26661 #ifdef OS2
 I1    X  26662 #define   XYTATTBUG 30  /* SET TERM ATTR-BUG */
 I1    X  26663 #define   XYTSTAT   31  /* SET TERM STATUSLINE */
 I1    X  26664 #endif /* OS2 */
 I1	  26665 #define   XYTESC    32  /* SET TERM ESCAPE-CHARACTER */
 I1	  26666 #define   XYTCTRL   33  /* SET TERM CONTROLS */
 I1    X  26667 #ifdef OS2
 I1    X  26668 #define   XYTATTR   34  /* SET TERM ATTRIBUTE representation */
 I1    X  26669 #define   XYTSGRC   35  /* SET TERM SGRCOLORS */
 I1    X  26670 #endif /* OS2 */
 I1	  26671 #define   XYTLCS    36  /* SET TERM LOCAL-CHARACTER-SET */
 I1	  26672 #define   XYTRCS    37  /* SET TERM REMOTE-CHARACTER-SET */
 I1	  26673 #define   XYTUNI    38  /* SET TERM UNICODE */
 I1	  26674 #define   XYTKEY    39  /* SET TERM KEY */
 I1    X  26675 #ifdef OS2
 I1    X  26676 #define   XYTSEND   40  /* SET TERM SEND-DATA */
 I1    X  26677 #define   XYTSEOB   41  /* SET TERM SEND-END-OF-BLOCK */
 I1    X  26678 #define   XYTMBEL   42  /* SET TERM MARGIN-BELL */
 I1    X  26679 #endif /* OS2 */
 I1	  26680 #define   XYTIDLE   43  /* SET TERM IDLE-SEND */
 I1    X  26681 #ifdef OS2
 I1    X  26682 #define   XYTKBMOD  44  /* SET TERM KEYBOARD-MODE */
 I1    X  26683 #define   XYTUNX    45  /* SET TERM UNIX-MODE (DG) */
 I1    X  26684 #define   XYTASCRL  46  /* SET TERM AUTOSCROLL */
 I1    X  26685 #define   XYTAPAGE  47  /* SET TERM AUTOPAGE */
 I1    X  26686 #endif /* OS2 */
 I1	  26687 #define   XYTRIGGER 48  /* SET TERM TRIGGER */
 I1    X  26688 #ifdef OS2
 I1    X  26689 #define   XYTPCTERM 49  /* SET TERM PCTERM */
 I1    X  26690 #define   XYTOPTI   50  /* SET TERM SCREEN-OPTIMIZE */
 I1    X  26691 #define   XYTSCNM   51  /* SET TERM SCREEN-MODE (DECSCNM) */
 I1    X  26692 #endif /* OS2 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 481
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26693 #define   XYTPRN    52  /* SET TERM PRINT {AUTO, COPY, OFF} */
 I1    X  26694 #ifdef OS2
 I1    X  26695 #define   XYTSAC    53  /* SET TERM SPACING-ATTRIBUTE-CHARACTER (inv) */
 I1    X  26696 #define   XYTSNIPM  54  /* SET TERM SNI-AUTOROLL */
 I1    X  26697 #define   XYTSNISM  55  /* SET TERM SNI-SCROLLMODE */
 I1    X  26698 #define   XYTKBDGL  56  /* SET TERM KBD-FOLLOWS-GL/GR */
 I1    X  26699 #define   XYTVTLNG  57  /* SET TERM VT-LANGUAGE */
 I1    X  26700 #define     VTL_NORTH_AM  1
 I1    X  26701 #define     VTL_BRITISH   2
 I1    X  26702 #define     VTL_BELGIAN   3
 I1    X  26703 #define     VTL_FR_CAN    4
 I1    X  26704 #define     VTL_DANISH    5
 I1    X  26705 #define     VTL_FINNISH   6
 I1    X  26706 #define     VTL_GERMAN    7
 I1    X  26707 #define     VTL_DUTCH     8
 I1    X  26708 #define     VTL_ITALIAN   9
 I1    X  26709 #define     VTL_SW_FR    10
 I1    X  26710 #define     VTL_SW_GR    11
 I1    X  26711 #define     VTL_SWEDISH  12
 I1    X  26712 #define     VTL_NORWEGIA 13
 I1    X  26713 #define     VTL_FRENCH   14
 I1    X  26714 #define     VTL_SPANISH  15
 I1    X  26715 #define     VTL_PORTUGES 16
 I1    X  26716 #define     VTL_HEBREW   19
 I1    X  26717 #define     VTL_GREEK    22
 I1    X  26718 #define     VTL_CANADIAN 28
 I1    X  26719 #define     VTL_TURK_Q   29
 I1    X  26720 #define     VTL_TURK_F   30
 I1    X  26721 #define     VTL_HUNGARIA 31
 I1    X  26722 #define     VTL_SLOVAK   33
 I1    X  26723 #define     VTL_CZECH    34
 I1    X  26724 #define     VTL_POLISH   35
 I1    X  26725 #define     VTL_ROMANIAN 36
 I1    X  26726 #define     VTL_SCS      38
 I1    X  26727 #define     VTL_RUSSIAN  39
 I1    X  26728 #define     VTL_LATIN_AM 40
 I1    X  26729 #define   XYTVTNRC  58  /* SET TERM VT-NRC-MODE */
 I1    X  26730 #define   XYTSNICC  59  /* SET TERM SNI-CH.CODE */
 I1    X  26731 #define   XYTSNIFV  60  /* SET TERM SNI-FIRMWARE-VERSIONS */
 I1    X  26732 #define   XYTURLHI  61  /* SET TERM URL-HIGHLIGHT */
 I1    X  26733 #endif /* OS2 */
 I1	  26734 #define   XYTITMO   62  /* SET TERM IDLE-TIMEOUT */
 I1	  26735 #define   XYTIACT   63  /* SET TERM IDLE-ACTION  */
 I1	  26736 #define   XYTLSP    64  /* SET TERM LINE-SPACING */
 I1	  26737 #define   XYTLFD    65	/* SET TERM LF-DISPLAY   */
 I1	  26738 
 I1	  26739 #define XYATTR 34       /* Attribute packets  */
 I1	  26740 #define XYSERV 35	/* Server parameters  */
 I1	  26741 #define   XYSERT 0      /*  Server timeout    */
 I1	  26742 #define   XYSERD 1	/*  Server display    */
 I1	  26743 #define   XYSERI 2      /*  Server idle       */
 I1	  26744 #define   XYSERP 3	/*  Server get-path   */
 I1	  26745 #define   XYSERL 4	/*  Server login      */
 I1	  26746 #define   XYSERC 5	/*  Server CD-Message */
 I1	  26747 #define   XYSERK 6	/*  Server keepalive  */
 I1	  26748 #define XYWIND 36       /* Window size */
 I1	  26749 #define XYXFER 37       /* Transfer */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 482
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26750 #define   XYX_CAN 0	/*   Cancellation  */
 I1	  26751 #define   XYX_CSE 1	/*   Character-Set */
 I1	  26752 #define   XYX_LSH 2	/*   Locking-Shift */
 I1	  26753 #define   XYX_PRO 3	/*   Protocol      */
 I1	  26754 #define   XYX_MOD 4	/*   Mode          */
 I1	  26755 #define   XYX_DIS 5	/*   Display       */
 I1	  26756 #define   XYX_SLO 6	/*   Slow-start    */
 I1	  26757 #define   XYX_CRC 7	/*   CRC calculation */
 I1	  26758 #define   XYX_BEL 8	/*   Bell */
 I1	  26759 #define   XYX_PIP 9	/*   Pipes */
 I1	  26760 #define   XYX_INT 10    /*   Interruption */
 I1	  26761 #define   XYX_XLA 11    /*   (character-set) Translation On/Off */
 I1	  26762 #define   XYX_MSG 12	/*   Message */
 I1	  26763 #define   XYX_RPT 13	/*   Report */
 I1	  26764 #define XYLANG 38       /* Language */
 I1	  26765 #define XYCOUN 39       /* Count */
 I1	  26766 #define XYTAKE 40       /* Take */
 I1	  26767 #define XYUNCS 41       /* Unknown-character-set */
 I1	  26768 #define XYKEY  42       /* Key */
 I1	  26769 #define XYMACR 43       /* Macro */
 I1	  26770 #define XYHOST 44       /* Hostname on network */
 I1	  26771 #define XYNET  45       /* SET NETWORK things */
 I1	  26772 
 I1	  26773 #define XYNET_D 99	/* NETWORK DIRECTORY */
 I1	  26774 #define XYNET_T 100	/* NETWORK TYPE */
 I1	  26775 
 I1	  26776 #define XYCARR 46	/* Carrier */
 I1	  26777 #define XYXMIT 47       /* Transmit */
 I1	  26778 
 I1	  26779 #define XYDIAL 48       /* Dial options */
 I1	  26780 
 I1	  26781 /* And now we interrupt the flow to bring you lots of stuff about dialing */
 I1	  26782 
 I1	  26783 #ifndef MAXTOLLFREE	/* Maximum number of toll-free area codes */
 I1	  26784 #define MAXTOLLFREE 8
 I1	  26785 #endif /* MAXTOLLFREE */
 I1	  26786 
 I1	  26787 #ifndef MAXTPCC		/* Maximum Tone or Pulse dialing countries */
 I1	  26788 #define MAXTPCC 160
 I1	  26789 #endif /* MAXTPCC */
 I1	  26790 
 I1	  26791 #ifndef MAXPBXEXCH	/* Maximum number of PBX exchanges */
 I1	  26792 #define MAXPBXEXCH 8
 I1	  26793 #endif /* MAXPBXEXCH */
 I1	  26794 
 I1	  26795 #ifndef MAXLOCALAC
 I1	  26796 #define MAXLOCALAC 32
 I1	  26797 #endif /* MAXLOCALAC */
 I1	  26798 
 I1	  26799 #ifndef MAXDNUMS
 I1	  26800 #ifdef BIGBUFOK
 I1	  26801 #define MAXDDIR 32	/* Maximum number of dialing directories */
 I1	  26802 #define MAXDNUMS 4095	/* Max numbers to fetch from dialing directories */
 I1    X  26803 #else
 I1    X  26804 #define MAXDDIR 12
 I1    X  26805 #define MAXDNUMS 1024
 I1    X  26806 #endif /* BIGBUFOK */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 483
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26807 #endif /* MAXDNUMS */
 I1	  26808 /*
 I1	  26809   IMPORTANT: In 5A(192), the old SET DIAL command was split into two commands:
 I1	  26810   SET MODEM (for modem-related parameters) and SET DIAL (for dialing items).
 I1	  26811   To preserve the old formats, etc, invisibly we keep one symbol space for
 I1	  26812   both commands.
 I1	  26813 */
 I1	  26814 #define  XYDHUP  0	/*   Dial Hangup */
 I1	  26815 #define  XYDINI  1      /*   MODEM (dial) Initialization string */
 I1	  26816 #define  XYDKSP  2      /*   MODEM (dial) Kermit-Spoof */
 I1	  26817 #define  XYDTMO  3      /*   Dial Timeout */
 I1	  26818 #define  XYDDPY  4      /*   Dial Display */
 I1	  26819 #define  XYDSPD  5      /*   Dial Speed matching */
 I1	  26820 #define  XYDMNP  6	/*   MODEM (dial) MNP negotiation enabled (obsolete) */
 I1	  26821 #define  XYDEC   7	/*   MODEM (dial) error correction enabled */
 I1	  26822 #define  XYDDC   8      /*   MODEM (dial) compression enabled */
 I1	  26823 #define  XYDHCM  9      /*   MODEM (dial) hangup-string (moved elsewhere) */
 I1	  26824 #define  XYDDIR 10	/*   Dial directory */
 I1	  26825 #define  XYDDIA 11	/*   MODEM (dial) dial-command */
 I1	  26826 #define  XYDMHU 12	/*   MODEM HANGUP (dial modem-hangup) */
 I1	  26827 
 I1	  26828 #ifndef DEFMDHUP	/* Default MODEM HANGUP-METHOD */
 I1	  26829 #define DEFMDMHUP 1	/* 0 = RS232, 1 = modem command */
 I1	  26830 #endif /* DEFMDMHUP */
 I1	  26831 
 I1	  26832 #define  XYDNPR 13      /*   Dial PREFIX */
 I1	  26833 #define  XYDSTR 14	/*   MODEM COMMAND (dial string) ... */
 I1	  26834 
 I1	  26835 #define   XYDS_DC 0	/*    Data compression */
 I1	  26836 #define   XYDS_EC 1	/*    Error correction */
 I1	  26837 #define   XYDS_HU 2     /*    Hangup command */
 I1	  26838 #define   XYDS_HW 3     /*    Hardware flow control */
 I1	  26839 #define   XYDS_IN 4     /*    Init-string */
 I1	  26840 #define   XYDS_NF 5     /*    No flow control */
 I1	  26841 #define   XYDS_PX 6     /*    Prefix (no, this goes in SET DIAL) */
 I1	  26842 #define   XYDS_SW 7     /*    Software flow control */
 I1	  26843 #define   XYDS_DT 8     /*    Tone dialing command */
 I1	  26844 #define   XYDS_DP 9     /*    Pulse dialing command */
 I1	  26845 #define   XYDS_AN 10    /*    Autoanswer */
 I1	  26846 #define   XYDS_RS 11    /*    Reset */
 I1	  26847 #define   XYDS_MS 12    /*    Dial mode string */
 I1	  26848 #define   XYDS_MP 13    /*    Dial mode prompt */
 I1	  26849 #define   XYDS_SP 14	/*    Modem speaker */
 I1	  26850 #define   XYDS_VO 15	/*    Modem speaker volume */
 I1	  26851 #define   XYDS_ID 16	/*    Ignore dialtone */
 I1	  26852 #define   XYDS_I2 17	/*    Init string #2 */
 I1	  26853 
 I1	  26854 #define   XYDM_A  9     /*    Method: Auto */
 I1	  26855 #define   XYDM_D  0     /*      Default */
 I1	  26856 #define   XYDM_T  2     /*      Tone */
 I1	  26857 #define   XYDM_P  3     /*      Pulse */
 I1	  26858 
 I1	  26859 #define  XYDFC   15	/*   MODEM (dial) flow-control */
 I1	  26860 #define  XYDMTH  16	/*   Dial method */
 I1	  26861 #define  XYDESC  17     /*   MODEM (dial) escape-character */
 I1	  26862 #define  XYDMAX  18	/*   MODEM (dial) maximum interface speed */
 I1	  26863 #define  XYDCAP  19     /*   MODEM (dial) capabilities */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 484
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26864 #define  XYDTYP  20	/*   MODEM TYPE */
 I1	  26865 #define  XYDINT  21	/*   DIAL retries */
 I1	  26866 #define  XYDRTM  22	/*   DIAL time between retries */
 I1	  26867 #define  XYDNAM  23	/*   MODEM NAME */
 I1	  26868 #define  XYDLAC  24	/*   DIAL (LOCAL-)AREA-CODE */
 I1	  26869 #define  XYDMCD  25	/*   MODEM CARRIER */
 I1	  26870 
 I1	  26871 #define  XYDCNF  26	/*   DIAL CONFIRMATION */
 I1	  26872 #define  XYDCVT  27	/*   DIAL CONVERT-DIRECTORY */
 I1	  26873 #define  XYDIXP  28	/*   DIAL INTERNATIONAL-PREFIX */
 I1	  26874 #define  XYDIXS  29	/*   DIAL INTERNATIONAL-SUFFIX */
 I1	  26875 #define  XYDLCC  30	/*   DIAL LOCAL-COUNTRY-CODE */
 I1	  26876 #define  XYDLDP  31	/*   DIAL LONG-DISTANCE-PREFIX */
 I1	  26877 #define  XYDLDS  32	/*   DIAL LONG-DISTANCE-SUFFIX */
 I1	  26878 #define  XYDPXX  33	/*   DIAL PBX-EXCHANGE */
 I1	  26879 #define  XYDPXI  34	/*   DIAL PBX-INTERNAL-PREFIX */
 I1	  26880 #define  XYDPXO  35	/*   DIAL PBX-OUTSIDE-PREFIX */
 I1	  26881 #define  XYDSFX  36	/*   DIAL SUFFIX */
 I1	  26882 #define  XYDSRT  37	/*   DIAL SORT */
 I1	  26883 #define  XYDTFC  38	/*   DIAL TOLL-FREE-AREA-CODE */
 I1	  26884 #define  XYDTFP  39	/*   DIAL TOLL-FREE-PREFIX */
 I1	  26885 #define  XYDTFS  40	/*   DIAL TOLL-FREE-SUFFIX */
 I1	  26886 #define  XYDCON  41     /*   DIAL CONNECT */
 I1	  26887 #define  XYDRSTR 42     /*   DIAL RESTRICT */
 I1	  26888 #define  XYDRSET 43     /*   MODEM RESET */
 I1	  26889 #define  XYDLCP  44	/*   DIAL LOCAL-PREFIX */
 I1	  26890 #define  XYDLCS  45	/*   DIAL LOCAL-SUFFIX */
 I1	  26891 #define  XYDLLAC 46     /*   DIAL LC-AREA-CODES */
 I1	  26892 #define  XYDFLD  47	/*   DIAL FORCE LONG-DISTANCE */
 I1	  26893 #define  XYDSPK  48	/*   MODEM SPEAKER */
 I1	  26894 #define  XYDVOL  49	/*   MODEM VOLUME */
 I1	  26895 #define  XYDIDT  50	/*   IGNORE DIALTONE */
 I1	  26896 #define  XYDPAC  51	/*   PACING */
 I1	  26897 #define  XYDMAC  52     /*   MACRO */
 I1	  26898 #define  XYDPUCC 53	/*   PULSE-COUNTRIES */
 I1	  26899 #define  XYDTOCC 54	/*   TONE-COUNTRIES */
 I1	  26900 #define  XYDTEST 55	/*   TEST */
 I1	  26901 
 I1	  26902 #define XYA_CID   1	/* SET ANSWER CALLER-ID */
 I1	  26903 #define XYA_RNG   2	/* SET ANSWER RINGS */
 I1	  26904 
 I1	  26905 #define XYSESS 49       /* SET SESSION options */
 I1	  26906 #define XYBUF  50       /* Buffer length */
 I1	  26907 #define XYBACK 51	/* Background */
 I1	  26908 #define XYDFLT 52       /* Default */
 I1	  26909 #define XYDBL  53	/* Double */
 I1	  26910 #define XYCMD  54       /* COMMAND */
 I1	  26911 #define XYCASE 55       /* Case */
 I1	  26912 #define XYCOMP 56       /* Compression */
 I1	  26913 #define XYX25  57       /* X.25 parameter (ANYX25) */
 I1	  26914 #define XYPAD  58       /* X.3 PAD parameter (ANYX25) */
 I1	  26915 #define XYWILD 59       /* Wildcard expansion method */
 I1	  26916 
 I1	  26917 #define WILD_OFF  0	/* Wildcard expansion off */
 I1	  26918 #define WILD_ON   1	/* Wildcard expansion on  */
 I1	  26919 #define WILD_KER  2	/* Wildcard expansion by Kermit */
 I1	  26920 #define WILD_SHE  3	/* Wildcard expansion by Shell */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 485
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26921 
 I1	  26922 #define XYSUSP 60       /* Suspend */
 I1	  26923 #define XYMAIL 61	/* Mail-Command */
 I1	  26924 #define XYPRIN 62	/* Print-Command */
 I1	  26925 #define XYQUIE 63	/* Quiet */
 I1	  26926 #define XYLCLE 64	/* Local-echo */
 I1	  26927 #define XYSCRI 65	/* SCRIPT command parameters */
 I1	  26928 #define XYMSGS 66       /* MESSAGEs ON/OFF */
 I1	  26929 #ifdef TNCODE
 I1	  26930 #define XYTEL  67	/* SET TELNET parameters */
 I1	  26931 #define  CK_TN_EC 0	/*  TELNET ECHO */
 I1	  26932 #define  CK_TN_TT 1	/*  TELNET TERMINAL-TYPE */
 I1	  26933 #define  CK_TN_NL 2     /*  TELNET NEWLINE-MODE */
 I1	  26934 #define  CK_TN_BM 3     /*  TELNET BINARY-MODE */
 I1	  26935 #define  CK_TN_BUG 4    /*  TELNET BUG */
 I1	  26936 #define  CK_TN_ENV 5    /*  TELNET ENVIRONMENT */
 I1	  26937 #define    TN_ENV_USR  0 /*    VAR USER */
 I1	  26938 #define    TN_ENV_JOB  1 /*    VAR JOB */
 I1	  26939 #define    TN_ENV_ACCT 2 /*    VAR ACCT */
 I1	  26940 #define    TN_ENV_PRNT 3 /*    VAR PRINTER */
 I1	  26941 #define    TN_ENV_SYS  4 /*    VAR SYSTEMTYPE */
 I1	  26942 #define    TN_ENV_DISP 5 /*    VAR DISPLAY */
 I1	  26943 #define    TN_ENV_UVAR 6 /*    USERVAR */
 I1	  26944 #define    TN_ENV_LOC  7 /*    USERVAR LOCATION */
 I1	  26945 #define    TN_ENV_ON  98 /*    ON (enabled) */
 I1	  26946 #define    TN_ENV_OFF 99 /*    OFF (disabled) */
 I1	  26947 #define  CK_TN_LOC 6    /*  TELNET LOCATION */
 I1	  26948 #define  CK_TN_AU  7    /*  TELNET AUTHENTICATION */
 I1	  26949 #define    TN_AU_FWD   4 /*    AUTH FORWARD */
 I1	  26950 #define    TN_AU_TYP   5 /*    AUTH TYPE */
 I1	  26951 #define      AUTH_NONE 0 /*      AUTH NONE */
 I1	  26952 #define      AUTH_KRB4 1 /*      AUTH Kerberos IV */
 I1	  26953 #define      AUTH_KRB5 2 /*      AUTH Kerberos V */
 I1	  26954 #define      AUTH_SSL  7 /*      AUTH Secure Sockets Layer */
 I1	  26955 #define      AUTH_TLS 98 /*      AUTH Transport Layer Security */
 I1	  26956 #define      AUTH_SRP  5 /*      AUTH Secure Remote Password */
 I1	  26957 #define      AUTH_NTLM 15 /*      AUTH NT Lan Manager */
 I1	  26958 #define      AUTH_AUTO 99 /*     AUTH AUTOMATIC */
 I1	  26959 #define    TN_AU_HOW  8  /*    AUTH HOW FLAG */
 I1	  26960 #define    TN_AU_ENC  9  /*    AUTH ENCRYPT FLAG */
 I1	  26961 #define  CK_TN_ENC 8    /*  TELNET ENCRYPTION */
 I1	  26962 #define    TN_EN_TYP   4 /*      ENCRYPT TYPE */
 I1	  26963 #define    TN_EN_START 5 /*      ENCRYPT START */
 I1	  26964 #define    TN_EN_STOP  6 /*      ENCRYPT STOP  */
 I1	  26965 #define  CK_TN_IKS 9    /*  TELNET KERMIT-SERVER */
 I1	  26966 #define  CK_TN_RE  10   /*  TELNET REMOTE-ECHO */
 I1	  26967 #define  CK_TN_TLS 11   /*  TELNET START_TLS */
 I1	  26968 #define  CK_TN_XD  12   /*  TELNET XDISPLOC */
 I1	  26969 #define  CK_TN_NAWS 13  /*  TELNET NAWS */
 I1	  26970 #define  CK_TN_WAIT 14  /*  TELNET WAIT-FOR-NEGOTIATIONS */
 I1	  26971 #define  CK_TN_SGA  15  /*  TELNET SGA */
 I1	  26972 #define  CK_TN_CLIENT 16  /* TELNET CLIENT */
 I1	  26973 #define  CK_TN_SERVER 17  /* TELNET SERVER */
 I1	  26974 #define  CK_TN_PHR    18  /* TELNET PRAGMA-HEARTBEAT */
 I1	  26975 #define  CK_TN_PLG    19  /* TELNET PRAGMA-LOGON */
 I1	  26976 #define  CK_TN_PSP    20  /* TELNET PRAGMA-SSPI */
 I1	  26977 #define  CK_TN_SAK    21  /* TELNET IBM SAK */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 486
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  26978 #define  CK_TN_FLW    22  /* TELNET LFLOW */
 I1	  26979 #define  CK_TN_XF     23  /* TELNET TRANSFER-MODE */
 I1	  26980 #define  CK_TN_PUID   24  /* TELNET PROMPT-FOR-USERID */
 I1	  26981 #define  CK_TN_NE     25  /* TELNET NO-ENCRYPT-DURING-XFER */
 I1	  26982 #define  CK_TN_CPC    26  /* TELNET COM-PORT-CONTROL */
 I1	  26983 #define  CK_TN_DB     27  /* TELNET DEBUG */
 I1	  26984 #define  CK_TN_FX     28  /* TELNET FORWARD_X */
 I1	  26985 #define  CK_TN_DL     29  /* TELNET DELAY-SB */
 I1	  26986 #define  CK_TN_SFU    30  /* TELNET SFU-COMPATIBILITY */
 I1	  26987 #define  CK_TN_LOG    31  /* TELNET LOGOUT */
 I1	  26988 #endif /* TNCODE */
 I1	  26989 #define XYOUTP 68	/* OUTPUT command parameters */
 I1	  26990 #define   OUT_PAC 0	/*   OUTPUT PACING */
 I1	  26991 #define   OUT_ESC 1	/*   OUTPUT SPECIAL-ESCAPES */
 I1	  26992 #define XYEXIT  69	/* SET EXIT */
 I1	  26993 #define XYPRTR  70	/* SET PRINTER */
 I1	  26994 #define XYFPATH 71	/* PATHNAME */
 I1	  26995 
 I1    X  26996 #ifdef OS2
 I1    X  26997 #define XYMOUSE 72	/* MOUSE SUPPORT */
 I1    X  26998 #define  XYM_ON     0   /* Mouse ON/OFF        */
 I1    X  26999 #define  XYM_BUTTON 1   /* Define Mouse Events */
 I1    X  27000 #define  XYM_CLEAR  2   /* Clear Mouse Events  */
 I1    X  27001 #define  XYM_DEBUG  3   /* Debug Mode ON/OFF */
 I1    X  27002 #define  XYM_REPORTING 4 /* Mouse Reporting */
 I1    X  27003 #define  XYM_WHEEL  5   /* Mouse wheel events */
 I1    X  27004 #define XYM_REPORTING_DISABLED 1 /* No mouse reporting */
 I1    X  27005 #define XYM_REPORTING_ENABLED 2  /* Allow reporting unassigned events only */
 I1    X  27006 #define XYM_REPORTING_OVERRIDE 3 /* Allow reporting all events */
 I1    X  27007 /* These must match similar definitions in ckokey.h */
 I1    X  27008 #define   XYM_B1 0      /* Mouse Button One */
 I1    X  27009 #define   XYM_B2 1      /* Mouse Button Two */
 I1    X  27010 #define   XYM_B3 2      /* Mouse Button Three */
 I1    X  27011 #define   XYM_WHEEL_UP 3 /* Mouse wheel up / forewards / away from user */
 I1    X  27012 #define   XYM_WHEEL_DN 4 /* Mouse wheel down / backwards / towards user */
 I1    X  27013 #define   XYM_ALT   1     /* Alt */
 I1    X  27014 #define   XYM_CTRL  2     /* Ctrl */
 I1    X  27015 #define   XYM_SHIFT 4     /* Shift */
 I1    X  27016 #define   XYM_C1    0     /* Single Click */
 I1    X  27017 #define   XYM_C2    8     /* Double Click */
 I1    X  27018 #define   XYM_DRAG  16    /* Drag Event */
 I1    X  27019 #endif /* OS2 */
 I1	  27020 
 I1	  27021 #define XYBELL 73   /* BELL */
 I1	  27022 
 I1    X  27023 #ifdef OS2
 I1    X  27024 #define XYPRTY     74   /* Thread Priority Level */
 I1    X  27025 #define   XYP_IDLE  1
 I1    X  27026 #define   XYP_REG   2
 I1    X  27027 #define   XYP_SRV   4
 I1    X  27028 #define   XYP_RTP   3
 I1    X  27029 #endif /* OS2 */
 I1	  27030 
 I1	  27031 #define XYALRM     75	/* SET ALARM */
 I1	  27032 #define XYPROTO    76	/* SET PROTOCOL */
 I1	  27033 #define XYPREFIX   77   /* SET PREFIXING */
 I1	  27034 #define XYLOGIN    78   /* Login info for script programs... */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 487
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27035 
 I1	  27036 #define  LOGI_UID   0	/* User ID  */
 I1	  27037 #define  LOGI_PSW   1	/* Password */
 I1	  27038 #define  LOGI_PRM   2	/* Prompt   */
 I1	  27039 
 I1	  27040 #define XYSTARTUP  79    /* Startup file */
 I1	  27041 #define XYTMPDIR   80    /* Temporary directory */
 I1	  27042 
 I1    X  27043 #ifdef OS2
 I1    X  27044 #define XYTAPI     81    /* Microsoft Telephone API options */
 I1    X  27045 #define   XYTAPI_CFG     1  /* TAPI Configure-Line Dialog */
 I1    X  27046 #define   XYTAPI_DIAL    2  /* TAPI Dialing-Properties Dialog */
 I1    X  27047 #define   XYTAPI_LIN     3  /* TAPI Line */
 I1    X  27048 #define   XYTAPI_LOC     4  /* TAPI Location */
 I1    X  27049 #define   XYTAPI_PASS    5  /* TAPI Passthrough */
 I1    X  27050 #define   XYTAPI_CON     6  /* TAPI Conversions */
 I1    X  27051 #define   XYTAPI_LGHT    7  /* TAPI Modem Lights */
 I1    X  27052 #define   XYTAPI_PRE     8  /* TAPI Pre-dialing Terminal */
 I1    X  27053 #define   XYTAPI_PST     9  /* TAPI Post-dialing Terminal */
 I1    X  27054 #define   XYTAPI_INA    10  /* TAPI Inactivity Timeout */
 I1    X  27055 #define   XYTAPI_BNG    11  /* TAPI Wait for Credit Card Tone */
 I1    X  27056 #define   XYTAPI_MAN    12  /* TAPI Manual Dialing */
 I1    X  27057 #define   XYTAPI_USE    13  /* TAPI Use Line Config settings */
 I1    X  27058 #endif /* OS2 */
 I1	  27059 
 I1	  27060 #ifdef TCPSOCKET
 I1	  27061 #define XYTCP  82       /* TCP options */
 I1	  27062 #define  XYTCP_NODELAY   1  /* No Delay */
 I1	  27063 #define  XYTCP_SENDBUF   2  /* Send Buffer Size */
 I1	  27064 #define  XYTCP_LINGER    3  /* Linger */
 I1	  27065 #define  XYTCP_RECVBUF   4  /* Receive Buffer Size */
 I1	  27066 #define  XYTCP_KEEPALIVE 5  /* Keep Alive packets */
 I1	  27067 #define  XYTCP_UCX       6  /* UCX 2.0 port swabbing bug */
 I1	  27068 #define  XYTCP_NAGLE     7  /* Delay - inverse of 1 */
 I1	  27069 #define  XYTCP_RDNS      8  /* Reverse DNS lookup */
 I1	  27070 #define  XYTCP_ADDRESS   9  /* Set preferred IP Address */
 I1	  27071 #define  XYTCP_DNS_SRV  10  /* Use DNS Service Records */
 I1	  27072 #define  XYTCP_DONTROUTE 11 /* Dont Route */
 I1	  27073 #define  XYTCP_SOCKS_SVR 12 /* Name of Socks Server */
 I1	  27074 #define  XYTCP_HTTP_PROXY 13 /* Name/Port of HTTP Proxy Server */
 I1	  27075 #define  XYTCP_SOCKS_NS  14 /* Name of Socks Name Server */
 I1	  27076 #endif /* TCPSOCKET */
 I1	  27077 
 I1    X  27078 #ifdef OS2
 I1    X  27079 #define XYMSK  83       /* MS-DOS Kermit compatibility options */
 I1    X  27080 #define  MSK_COLOR 0    /*  Terminal color handling   */
 I1    X  27081 #define  MSK_KEYS  1    /*  SET KEY uses MSK keycodes */
 I1    X  27082 #define  MSK_REN   2    /*  File renaming uses 8.3 notation always */
 I1    X  27083 #endif /* OS2 */
 I1	  27084 
 I1	  27085 #define XYDEST  84	/* SET DESTINATION as in MS-DOS Kermit */
 I1	  27086 
 I1    X  27087 #ifdef OS2
 I1    X  27088 #define XYWIN95 85	/* SET WIN95 work arounds  */
 I1    X  27089 #define   XYWKEY 0	/*    Keyboard translation */
 I1    X  27090 #define   XYWAGR 1      /*    Alt-Gr               */
 I1    X  27091 #define   XYWOIO 2      /*    Overlapped I/O       */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 488
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  27092 #define   XYWLUC 3	/*    Lucida Console substitutions */
 I1    X  27093 #define   XYWSELECT 4   /*    Select on Write Bug */
 I1    X  27094 #define   XYW8_3 5      /*    Use 8.3 filenames? */
 I1    X  27095 #define   XYWPOPUP 6    /*    Use Popups?  */
 I1    X  27096 #define   XYWHSL 7      /*    Horz Scan Line substitutions */
 I1    X  27097 #define XYDLR   86 	/* SET K95 DIALER work arounds */
 I1    X  27098 #define XYTITLE 87	/* SET TITLE of window */
 I1    X  27099 #endif /* OS2 */
 I1	  27100 
 I1	  27101 #define XYIGN   88	/* SET IGNORE-CHARACTER */
 I1	  27102 #define XYEDIT  89      /* SET EDITOR */
 I1	  27103 #define XYFLTR  90      /* SET { SEND, RECEIVE } FILTER */
 I1	  27104 #define XYBROWSE 91     /* SET BROWSER */
 I1	  27105 #define XYEOF    92     /* EOF (= FILE EOF) */
 I1    X  27106 #ifdef OS2
 I1    X  27107 #define XYBDCP   93     /* BPRINTER */
 I1    X  27108 #endif /* OS2 */
 I1	  27109 #define XYFLAG   94	/* FLAG */
 I1	  27110 #define XYLIMIT  95     /* SESSION-LIMIT */
 I1	  27111 #define XYINIL   96     /* Protocol negotiation string max length */
 I1	  27112 #define XYRELY   97     /* RELIABLE */
 I1	  27113 #define XYSTREAM 98     /* STREAMING */
 I1	  27114 #define XYTLOG   99     /* TRANSACTION-LOG */
 I1	  27115 #define XYCLEAR 100     /* CLEARCHANNEL */
 I1	  27116 #define XYAUTH  101	/* AUTHENTICATION */
 I1	  27117 
 I1	  27118 #ifdef TNCODE
 I1	  27119 #define XYKRBPR   0	/* Kerberos Principal */
 I1	  27120 #define XYKRBRL   1	/* Kerberos Realm */
 I1	  27121 #define XYKRBCC   2	/* Kerberos 5 Credentials-Cache */
 I1	  27122 #define XYKRBSRV  3     /* Kerberos Service Name */
 I1	  27123 #define XYKRBDBG  4     /* Kerberos Debugging */
 I1	  27124 #define XYKRBLIF  5     /* Kerberos Lifetime */
 I1	  27125 #define XYKRBPRE  6     /* Kerberos 4 Preauth */
 I1	  27126 #define XYKRBINS  7     /* Kerberos 4 Instance */
 I1	  27127 #define XYKRBFWD  8     /* Kerberos 5 Forwardable */
 I1	  27128 #define XYKRBPRX  9     /* Kerberos 5 Proxiable */
 I1	  27129 #define XYKRBRNW  10    /* Kerberos 5 Renewable lifetime */
 I1	  27130 #define XYKRBGET  11    /* Kerberos Auto-Get-TGTs */
 I1	  27131 #define XYKRBDEL  12    /* Kerberos Auto-Destroy-TGTs */
 I1	  27132 #define   KRB_DEL_NO  0 /*   Kerberos No Auto Destroy */
 I1	  27133 #define   KRB_DEL_CL  1 /*   Kerberos Auto Destory on Close */
 I1	  27134 #define   KRB_DEL_EX  2 /*   Kerberos Auto Destroy on Exit  */
 I1	  27135 #define XYKRBK5K4 13    /* Kerberos 5 Get K4 Tickets */
 I1	  27136 #define XYKRBPRM  14    /* Kerberos 4/5 Prompt */
 I1	  27137 #define XYKRBADR  15    /* Kerberos 4/5 CheckAddrs */
 I1	  27138 #define XYKRBNAD  16    /* Kerberos 5 No Addresses */
 I1	  27139 #define XYKRBADD  17    /* Kerberos 5 Address List */
 I1	  27140 #define XYKRBKTB  18    /* Kerberos 4/5 Key Table */
 I1	  27141 #define XYSRPPRM   0    /* SRP Prompt */
 I1	  27142 #define XYSSLRCFL  0    /* SSL/TLS RSA Certs file */
 I1	  27143 #define XYSSLCOK   1    /* SSL/TLS Certs-Ok flag */
 I1	  27144 #define XYSSLCRQ   2    /* SSL/TLS Certs-Required flag */
 I1	  27145 #define XYSSLCL    3    /* SSL/TLS Cipher List */
 I1	  27146 #define XYSSLDBG   4    /* SSL/TLS Debug flag */
 I1	  27147 #define XYSSLRKFL  5    /* SSL/TLS RSA Key File */
 I1	  27148 #define XYSSLLFL   6    /* SSL/TLS Log File */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 489
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27149 #define XYSSLON    7    /* SSL/TLS Only flag */
 I1	  27150 #define XYSSLSEC   8    /* SSL/TLS Secure flag */
 I1	  27151 #define XYSSLVRB   9    /* SSL/TLS Verbose flag */
 I1	  27152 #define XYSSLVRF  10    /* SSL/TLS Verify flag */
 I1	  27153 #define XYSSLDUM  11    /* SSL/TLS Dummy flag */
 I1	  27154 #define XYSSLDCFL 12    /* SSL/TLS DSA Certs file */
 I1	  27155 #define XYSSLDKFL 13    /* SSL/TLS DH Certs file */
 I1	  27156 #define XYSSLDPFL 14    /* SSL/TLS DH Param file */
 I1	  27157 #define XYSSLCRL  15    /* SSL/TLS CRL file */
 I1	  27158 #define XYSSLCRLD 16    /* SSL/TLS CRL dir */
 I1	  27159 #define XYSSLVRFF 17    /* SSL/TLS Verify file */
 I1	  27160 #define XYSSLVRFD 18    /* SSL/TLS Verify dir */
 I1	  27161 #define XYSSLRND  19    /* SSL/TLS Random file */
 I1	  27162 #define XYSSLDCCF 20    /* SSL/TLS DSA Certs Chain File */
 I1	  27163 #define XYSSLRCCF 21    /* SSL/TLS RSA Certs Chain File */
 I1	  27164 
 I1	  27165 /* The following must be powers of 2 for a bit mask */
 I1	  27166 
 I1	  27167 #define  XYKLCEN  1	/* Kerberos List Credentials: Encryption */
 I1	  27168 #define  XYKLCFL  2	/* Kerberos List Credentials: Flags */
 I1	  27169 #define  XYKLCAD  4     /* Kerberos List Credentials: Addresses */
 I1	  27170 #endif /* TNCODE */
 I1	  27171 
 I1	  27172 #define XYFUNC   102	/* SET FUNCTION */
 I1	  27173 
 I1	  27174 #define  FUNC_DI   0	/* FUNCTION DIAGNOSTICS */
 I1	  27175 #define  FUNC_ER   1    /* FUNCTION ERROR */
 I1	  27176 
 I1	  27177 #define XYFTP    103	/* FTP application */
 I1	  27178 #define XYSLEEP  104	/* SLEEP / PAUSE options */
 I1	  27179 #define XYSSH    105	/* SSH options */
 I1	  27180 #define XYTELOP  106    /* TELNET OPTIONS (TELOPT) */
 I1	  27181 #define XYCD     107    /* SET CD */
 I1	  27182 #define XYCSET   108	/* CHARACTER-SET */
 I1	  27183 #define XYSTOP   109    /* STOP-BITS */
 I1	  27184 #define XYSERIAL 110	/* SERIAL */
 I1	  27185 #define XYDISC   111    /* CLOSE-ON-DISCONNECT */
 I1	  27186 #define XYOPTS   112    /* OPTIONS */
 I1	  27187 #define XYQ8FLG  113    /* Q8FLAG (invisible) */
 I1	  27188 #define XYTIMER  114    /* TIMER */
 I1	  27189 #define XYFACKB  115    /* F-ACK-BUG */
 I1	  27190 #define XYBUP    116    /* SET SEND/RECEIVE BACKUP */
 I1	  27191 #define XYMOVE   117	/* SET SEND/RECEIVE MOVE-TO */
 I1	  27192 #define XYRENAME 118	/* SET SEND/RECEIVE RENAME-TO */
 I1	  27193 #define XYHINTS  119    /* SET HINTS */
 I1	  27194 #define XYEVAL   120    /* SET EVALUATE */
 I1	  27195 #define XYFACKP  121    /* F-ACK-PATH */
 I1	  27196 #define XYSYSL   122    /* SysLog */
 I1	  27197 #define XYQNXPL  123	/* QNX Port Lock */
 I1	  27198 #define XYIKS    124    /* SET IKS ... */
 I1	  27199 #define XYROOT   125    /* SET ROOT */
 I1	  27200 #define XYFTPX   126    /* SET FTP */
 I1	  27201 #define XYSEXP   127	/* SET SEXP */
 I1	  27202 #define XYGPR    128    /* SET GET-PUT-REMOTE */
 I1	  27203 #define XYLOCUS  129	/* SET LOCUS */
 I1	  27204 #define XYGUI    130	/* SET GUI */
 I1	  27205 #define XYANSWER 131    /* SET ANSWER */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 490
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27206 #define XYMATCH  132    /* SET MATCHDOT */
 I1	  27207 #define XYSFTP   133    /* SET SFTP */
 I1	  27208 #define XY_REN   134    /* SET RENAME */
 I1	  27209 #define XYEXTRN  135    /* SET EXTERNAL-PROTOCOL */
 I1	  27210 #define XYVAREV  136    /* SET VARIABLE-EVALUATION */
 I1	  27211 #define XYLOCALE 137    /* SET LOCALE */
 I1	  27212 
 I1	  27213 /* End of SET commands */
 I1	  27214 
 I1	  27215 /* S-Expressions -- floating-point support required */
 I1	  27216 
 I1    X  27217 #ifndef CKFLOAT
 I1    X  27218 #ifndef NOSEXP
 I1    X  27219 #define NOSEXP
 I1    X  27220 #endif /* NOSEXP */
 I1    X  27221 #endif /* CKFLOAT */
 I1	  27222 
 I1	  27223 /* Maximum number of elements in an S-Expression */
 I1	  27224 
 I1	  27225 #ifndef NOSEXP
 I1	  27226 #ifndef SEXPMAX
 I1	  27227 #ifdef BIGBUFOK
 I1	  27228 #define SEXPMAX 1024
 I1    X  27229 #else
 I1    X  27230 #define SEXPMAX 32
 I1    X  27231 #endif /* BIGBUFOK */
 I1	  27232 #endif /* SEXPMAX */
 I1	  27233 #endif /* NOSEXP */
 I1	  27234 
 I1    X  27235 #ifdef ANYX25
 I1    X  27236 /* PAD command parameters */
 I1    X  27237 
 I1    X  27238 #define XYPADL 0        /* clear virtual call */
 I1    X  27239 #define XYPADS 1        /* status of virtual call */
 I1    X  27240 #define XYPADR 2        /* reset of virtual call */
 I1    X  27241 #define XYPADI 3        /* send an interrupt packet */
 I1    X  27242 
 I1    X  27243 /* Used with XYX25... */
 I1    X  27244 #define XYUDAT 0       /* X.25 call user data */
 I1    X  27245 #define XYCLOS 1       /* X.25 closed user group call */
 I1    X  27246 #define XYREVC 2       /* X.25 reverse charge call */
 I1    X  27247 #endif /* ANYX25 */
 I1	  27248 
 I1    X  27249 #ifdef OS2
 I1    X  27250 /* SET PRINTER switches */
 I1    X  27251 
 I1    X  27252 #define PRN_OUT 0			/* Output only */
 I1    X  27253 #define PRN_BID 1			/* Bidirectional */
 I1    X  27254 #define PRN_DOS 2			/* DOS device */
 I1    X  27255 #define PRN_WIN 3			/* Windows queue */
 I1    X  27256 #define PRN_TMO 4			/* Timeout */
 I1    X  27257 #define PRN_TRM 5			/* Terminator */
 I1    X  27258 #define PRN_SEP 6			/* Separator */
 I1    X  27259 #define PRN_SPD 7			/* COM-port speed */
 I1    X  27260 #define PRN_FLO 8			/* COM-port flow control */
 I1    X  27261 #define PRN_PAR 9			/* COM-port parity */
 I1    X  27262 #define PRN_NON 10			/* No printer */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 491
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  27263 #define PRN_FIL 11			/* Filename */
 I1    X  27264 #define PRN_PIP 12			/* Pipename */
 I1    X  27265 #define PRN_PS  13                      /* Text to PS */
 I1    X  27266 #define PRN_WID 14                      /* PS Width */
 I1    X  27267 #define PRN_LEN 15                      /* PS Length */
 I1    X  27268 #define PRN_RAW 16                      /* Non-PS */
 I1    X  27269 #define PRN_CS  17                      /* Character Set */
 I1    X  27270 #define PRN_MAX 17			/* Number of switches defined */
 I1    X  27271 
 I1    X  27272 /* Printer types */
 I1    X  27273 
 I1    X  27274 #define PRT_DOS 0			/* DOS */
 I1    X  27275 #define PRT_WIN 1			/* Windows Queue */
 I1    X  27276 #define PRT_FIL 2			/* File */
 I1    X  27277 #define PRT_PIP 3			/* Pipe */
 I1    X  27278 #define PRT_NON 4			/* None */
 I1    X  27279 
 I1    X  27280 #define PRINTSWI
 I1    X  27281 #endif /* OS2 */
 I1	  27282 #endif /* NOICP */
 I1	  27283 
 I1	  27284 #ifndef NODIAL
 I1	  27285 /*
 I1	  27286   Symbols for modem types, moved here from ckudia.c, May 1997, because now
 I1	  27287   they are also used in some other modules.  The numbers MUST correspond to
 I1	  27288   the ordering of entries within the modemp[] array.
 I1	  27289 */
 I1    X  27290 #ifdef MINIDIAL				/* Minimum dialer support */
 I1    X  27291 
 I1    X  27292 #define         n_DIRECT         0	/* Direct connection -- no modem */
 I1    X  27293 #define		n_CCITT		 1	/* CCITT/ITU-T V.25bis */
 I1    X  27294 #define		n_HAYES		 2	/* Hayes 2400 */
 I1    X  27295 #define		n_UNKNOWN	 3	/* Unknown */
 I1    X  27296 #define         n_UDEF           4	/* User-Defined */
 I1    X  27297 #define         n_GENERIC        5	/* Generic High Speed */
 I1    X  27298 #define         n_ITUTV250       6	/* ITU-T V.250 */
 I1    X  27299 #define		MAX_MDM		 6	/* Number of modem types */
 I1    X  27300 
 I1    X  27301 #else					/* Full-blown dialer support */
 I1	  27302 
 I1	  27303 #define         n_DIRECT         0	/* Direct connection -- no modem */
 I1	  27304 #define		n_ATTDTDM	 1
 I1	  27305 #define         n_ATTISN         2
 I1	  27306 #define		n_ATTMODEM	 3
 I1	  27307 #define		n_CCITT		 4
 I1	  27308 #define		n_CERMETEK	 5
 I1	  27309 #define		n_DF03		 6
 I1	  27310 #define		n_DF100		 7
 I1	  27311 #define		n_DF200		 8
 I1	  27312 #define		n_GDC		 9
 I1	  27313 #define		n_HAYES		10
 I1	  27314 #define		n_PENRIL	11
 I1	  27315 #define		n_RACAL		12
 I1	  27316 #define		n_UNKNOWN       13
 I1	  27317 #define		n_VENTEL	14
 I1	  27318 #define		n_CONCORD	15
 I1	  27319 #define		n_ATTUPC	16	/* aka UNIX PC and ATT7300 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 492
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27320 #define		n_ROLM          17      /* Rolm CBX DCM */
 I1	  27321 #define		n_MICROCOM	18	/* Microcoms in SX command mode */
 I1	  27322 #define         n_USR           19	/* Modern USRs */
 I1	  27323 #define         n_TELEBIT       20      /* Telebits of all kinds */
 I1	  27324 #define         n_DIGITEL       21	/* Digitel DT-22 (CCITT variant) */
 I1	  27325 #define         n_H_1200        22	/* Hayes 1200 */
 I1	  27326 #define		n_H_ULTRA       23	/* Hayes Ultra and maybe Optima */
 I1	  27327 #define		n_H_ACCURA      24	/* Hayes Accura and maybe Optima */
 I1	  27328 #define         n_PPI           25	/* Practical Peripherals */
 I1	  27329 #define         n_DATAPORT      26	/* AT&T Dataport */
 I1	  27330 #define         n_BOCA          27	/* Boca */
 I1	  27331 #define		n_MOTOROLA      28	/* Motorola Fastalk or Lifestyle */
 I1	  27332 #define		n_DIGICOMM	29	/* Digicomm Connection */
 I1	  27333 #define		n_DYNALINK      30	/* Dynalink 1414VE */
 I1	  27334 #define		n_INTEL		31	/* Intel 14400 Faxmodem */
 I1	  27335 #define		n_UCOM_AT	32	/* Microcoms in AT mode */
 I1	  27336 #define		n_MULTI		33	/* Multitech MT1432 */
 I1	  27337 #define		n_SUPRA		34	/* SupraFAXmodem */
 I1	  27338 #define	        n_ZOLTRIX	35	/* Zoltrix */
 I1	  27339 #define		n_ZOOM		36	/* Zoom */
 I1	  27340 #define		n_ZYXEL		37	/* ZyXEL */
 I1	  27341 #define         n_TAPI          38	/* TAPI Line modem - whatever it is */
 I1	  27342 #define         n_TBNEW         39	/* Newer Telebit models */
 I1	  27343 #define		n_MAXTECH       40	/* MaxTech XM288EA */
 I1	  27344 #define         n_UDEF          41	/* User-Defined */
 I1	  27345 #define         n_RWV32         42	/* Generic Rockwell V.32 */
 I1	  27346 #define         n_RWV32B        43	/* Generic Rockwell V.32bis */
 I1	  27347 #define         n_RWV34         44	/* Generic Rockwell V.34 */
 I1	  27348 #define		n_MWAVE		45	/* IBM Mwave Adapter */
 I1	  27349 #define         n_TELEPATH      46	/* Gateway Telepath */
 I1	  27350 #define         n_MICROLINK     47	/* MicroLink modems */
 I1	  27351 #define         n_CARDINAL      48	/* Cardinal modems */
 I1	  27352 #define         n_GENERIC       49      /* Generic high-speed */
 I1	  27353 #define         n_XJACK         50	/* Megahertz X-Jack */
 I1	  27354 #define         n_SPIRITII      51	/* Quickcomm Spirit II */
 I1	  27355 #define         n_MONTANA       52	/* Motorola Montana */
 I1	  27356 #define         n_COMPAQ        53	/* Compaq Data+Fax Modem */
 I1	  27357 #define         n_FUJITSU       54	/* Fujitsu Fax/Modem Adpater */
 I1	  27358 #define         n_MHZATT        55	/* Megahertz AT&T V.34 */
 I1	  27359 #define         n_SUPRASON      56	/* SupraSonic */
 I1	  27360 #define         n_BESTDATA      57	/* Best Data */
 I1	  27361 #define         n_ATT1900       58      /* AT&T STU III Model 1900 */
 I1	  27362 #define         n_ATT1910       59      /* AT&T STU III Model 1910 */
 I1	  27363 #define         n_KEEPINTOUCH   60	/* AT&T KeepinTouch */
 I1	  27364 #define         n_USRX2         61	/* USR XJ-1560 X2 56K */
 I1	  27365 #define         n_ROLMAT        62	/* Rolm with AT command set */
 I1	  27366 #define		n_ATLAS         63      /* Atlas / Newcom ixfC 33.6 */
 I1	  27367 #define         n_CODEX         64	/* Motorola Codex 326X Series */
 I1	  27368 #define         n_MT5634ZPX     65	/* Multitech MT5634ZPX */
 I1	  27369 #define         n_ULINKV250     66	/* Microlink ITU-T V.250 56K */
 I1	  27370 #define         n_ITUTV250      67	/* Generic ITU-T V.250 */
 I1	  27371 #define         n_RWV90         68	/* Generic Rockwell V.90 */
 I1	  27372 #define         n_SUPRAX        69      /* Diamond Supra Express V.90 */
 I1	  27373 #define         n_LUCENT        70      /* Lucent Venus chipset */
 I1	  27374 #define         n_PCTEL         71      /* PCTel chipset */
 I1	  27375 #define         n_CONEXANT      72      /* Conexant modem family */
 I1	  27376 #define		n_ZOOMV34	73	/* Zoom */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 493
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27377 #define		n_ZOOMV90	74	/* Zoom */
 I1	  27378 #define         n_ZOOMV92       75      /* ZOOM V.92 */
 I1	  27379 #define         n_MOTSM56       76	/* Motorola SM56 chipset */
 I1	  27380 #define		MAX_MDM		76	/* Number of modem types */
 I1	  27381 
 I1	  27382 #endif /* MINIDIAL */
 I1	  27383 #endif /* NODIAL */
 I1	  27384 
 I1	  27385 #ifndef NOICP
 I1	  27386 /* SHOW command symbols */
 I1	  27387 
 I1	  27388 #define SHPAR 0				/* Parameters */
 I1	  27389 #define SHVER 1				/* Versions */
 I1	  27390 #define SHCOM 2				/* Communications */
 I1	  27391 #define SHPRO 3				/* Protocol */
 I1	  27392 #define SHFIL 4				/* File */
 I1	  27393 #define SHLNG 5				/* Language */
 I1	  27394 #define SHCOU 6				/* Count */
 I1	  27395 #define SHMAC 7				/* Macros */
 I1	  27396 #define SHKEY 8				/* Key */
 I1	  27397 #define SHSCR 9				/* Scripts */
 I1	  27398 #define SHSPD 10			/* Speed */
 I1	  27399 #define SHSTA 11			/* Status */
 I1	  27400 #define SHSER 12			/* Server */
 I1	  27401 #define SHXMI 13			/* Transmit */
 I1	  27402 #define SHATT 14			/* Attributes */
 I1	  27403 #define SHMOD 15			/* Modem */
 I1	  27404 #define SHDFLT 16			/* Default (as in VMS) */
 I1	  27405 #define SHVAR 17			/* Show global variables */
 I1	  27406 #define SHARG 18			/* Show macro arguments */
 I1	  27407 #define SHARR 19			/* Show arrays */
 I1	  27408 #define SHBUI 20			/* Show builtin variables */
 I1	  27409 #define SHFUN 21			/* Show functions */
 I1	  27410 #define SHPAD 22			/* Show (X.25) PAD */
 I1	  27411 #define SHTER 23			/* Show terminal settings */
 I1	  27412 #define SHESC 24			/* Show escape character */
 I1	  27413 #define SHDIA 25			/* Show DIAL parameters */
 I1	  27414 #define SHNET 26			/* Show network parameters */
 I1	  27415 #define SHLBL 27			/* Show VMS labeled file parameters */
 I1	  27416 #define SHSTK 28			/* Show stack, MAC debugging */
 I1	  27417 #define SHCSE 29			/* Show character sets */
 I1	  27418 #define SHFEA 30			/* Show features */
 I1	  27419 #define SHCTL 31			/* Show control-prefix table */
 I1	  27420 #define SHEXI 32			/* Show EXIT items */
 I1	  27421 #define SHPRT 33			/* Show printer */
 I1	  27422 #define SHCMD 34			/* Show command parameters */
 I1	  27423 #define SHKVB 35			/* Show \Kverbs */
 I1	  27424 #define SHMOU 36			/* Show Mouse (like Show Key) */
 I1	  27425 #define SHTAB 37			/* Show Tabs (OS/2) */
 I1	  27426 #define SHVSCRN 38			/* Show Virtual Screen (OS/2) */
 I1	  27427 #define SHALRM  39			/* ALARM */
 I1	  27428 #define SHSFL   40			/* SEND-LIST */
 I1	  27429 #define SHUDK   41                      /* DEC VT UDKs (OS/2) */
 I1	  27430 #define SHDBL   42			/* DOUBLE/IGNORE characters */
 I1	  27431 #define SHEDIT    43			/* EDITOR */
 I1	  27432 #define SHBROWSE  44			/* BROWSER */
 I1	  27433 #define SHTAPI    45			/* TAPI */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 494
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27434 #define SHTAPI_L  46			/* TAPI Location */
 I1	  27435 #define SHTAPI_M  47			/* TAPI Modem Properties */
 I1	  27436 #define SHTAPI_C  48			/* TAPI Comm Properties  */
 I1	  27437 #define SHTEL     49			/* SHOW TELNET */
 I1	  27438 #define SHINP     50			/* SHOW INPUT */
 I1	  27439 #define SHTRIG    51			/* SHOW TRIGGER */
 I1	  27440 #define SHLOG     52			/* SHOW LOGS */
 I1	  27441 #define SHOUTP    53			/* SHOW OUTPUT */
 I1	  27442 #define SHOPAT    54			/* SHOW PATTERNS */
 I1	  27443 #define SHOSTR    55			/* SHOW STREAMING */
 I1	  27444 #define SHOAUTH   56			/* SHOW AUTHENTICATION */
 I1	  27445 #define SHOFTP    57			/* SHOW FTP */
 I1	  27446 #define SHTOPT    58                    /* SHOW TELOPT */
 I1	  27447 #define SHXOPT    59			/* SHOW EXTENDED-OPTIONS */
 I1	  27448 #define SHCD      60			/* SHOW CD */
 I1	  27449 #define SHASSOC   61			/* SHOW ASSOCIATIONS */
 I1	  27450 #define SHCONNX   62			/* SHOW CONNECTION */
 I1	  27451 #define SHOPTS    63			/* SHOW OPTIONS */
 I1	  27452 #define SHOFLO    64			/* SHOW FLOW-CONTROL */
 I1	  27453 #define SHOXFER   65			/* SHOW TRANSFER */
 I1	  27454 #define SHTCP     66                    /* SHOW TCP */
 I1	  27455 #define SHHISTORY 67			/* SHOW (command) HISTORY */
 I1	  27456 #define SHSEXP    68			/* SHOW SEXPRESSIONS */
 I1	  27457 #define SHOSSH    69			/* SHOW SSH */
 I1	  27458 #define SHOIKS    70                    /* SHOW IKS */
 I1	  27459 #define SHOGUI    71			/* SHOW GUI (K95) */
 I1	  27460 #define SHOREN    72			/* SHOW RENAME */
 I1	  27461 #define SHOLOC    73			/* SHOW LOCALE */
 I1	  27462 #define SHOTMPDIR 74			/* SHOW TEMP-DIRECTORY */
 I1	  27463 
 I1	  27464 /* REMOTE command symbols */
 I1	  27465 
 I1	  27466 #define XZCPY  0	/* Copy */
 I1	  27467 #define XZCWD  1	/* Change Working Directory */
 I1	  27468 #define XZDEL  2	/* Delete */
 I1	  27469 #define XZDIR  3	/* Directory */
 I1	  27470 #define XZHLP  4	/* Help */
 I1	  27471 #define XZHOS  5	/* Host */
 I1	  27472 #define XZKER  6	/* Kermit */
 I1	  27473 #define XZLGI  7	/* Login */
 I1	  27474 #define XZLGO  8	/* Logout */
 I1	  27475 #define XZMAI  9	/* Mail <-- wrong, this should be top-level */
 I1	  27476 #define XZMOU 10	/* Mount */
 I1	  27477 #define XZMSG 11	/* Message */
 I1	  27478 #define XZPRI 12	/* Print */
 I1	  27479 #define XZREN 13	/* Rename */
 I1	  27480 #define XZSET 14	/* Set */
 I1	  27481 #define XZSPA 15	/* Space */
 I1	  27482 #define XZSUB 16	/* Submit */
 I1	  27483 #define XZTYP 17	/* Type */
 I1	  27484 #define XZWHO 18	/* Who */
 I1	  27485 #define XZPWD 19	/* Print Working Directory */
 I1	  27486 #define XZQUE 20	/* Query */
 I1	  27487 #define XZASG 21	/* Assign */
 I1	  27488 #define XZMKD 22	/* mkdir */
 I1	  27489 #define XZRMD 23	/* rmdir */
 I1	  27490 #define XZXIT 24	/* Exit */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 495
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27491 #define XZCDU 25        /* CDUP */
 I1	  27492 #define XZSTA 26        /* Status (fdc 2023-02-16) */
 I1	  27493 
 I1	  27494 /* SET INPUT command parameters */
 I1	  27495 
 I1	  27496 #define IN_DEF  0			/* Default timeout */
 I1	  27497 #define IN_TIM  1			/* Timeout action */
 I1	  27498 #define IN_CAS  2			/* Case (matching) */
 I1	  27499 #define IN_ECH  3			/* Echo */
 I1	  27500 #define IN_SIL  4			/* Silence */
 I1	  27501 #define IN_BUF  5			/* Buffer size */
 I1	  27502 #define IN_PAC  6                       /* Input Pacing (debug) */
 I1	  27503 #define IN_TRM  7			/* Input Terminal Display */
 I1	  27504 #define IN_ADL  8			/* Input autodownload */
 I1	  27505 #define IN_PAT  9			/* Pattern to match */
 I1	  27506 #define IN_ASG 10 			/* Assign matching text to variable */
 I1	  27507 #define IN_CAN 11			/* Keyboard cancellation of INPUT */
 I1	  27508 #define IN_SCA 12			/* Timeout scaling */
 I1	  27509 
 I1	  27510 /* ENABLE/DISABLE command parameters */
 I1	  27511 
 I1	  27512 #define EN_ALL  0			/* ALL */
 I1	  27513 #define EN_CWD  1			/* CD/CWD */
 I1	  27514 #define EN_DIR  2			/* DIRECTORY */
 I1	  27515 #define EN_FIN  3			/* FINISH */
 I1	  27516 #define EN_GET  4			/* GET */
 I1	  27517 #define EN_HOS  5			/* HOST command */
 I1	  27518 #define EN_KER  6			/* KERMIT command */
 I1	  27519 #define EN_LOG  7			/* LOGIN */
 I1	  27520 #define EN_SEN  8			/* SEND */
 I1	  27521 #define EN_SET  9			/* SET */
 I1	  27522 #define EN_SPA 10			/* SPACE */
 I1	  27523 #define EN_TYP 11			/* TYPE */
 I1	  27524 #define EN_WHO 12			/* WHO, finger */
 I1	  27525 #define EN_DEL 13			/* Delete */
 I1	  27526 #define EN_BYE 14			/* BYE (as opposed to FINISH) */
 I1	  27527 #define EN_QUE 15			/* QUERY */
 I1	  27528 #define EN_ASG 16			/* ASSIGN */
 I1	  27529 #define EN_CPY 17			/* COPY */
 I1	  27530 #define EN_REN 18			/* RENAME */
 I1	  27531 #define EN_RET 19			/* RETRIEVE */
 I1	  27532 #define EN_MAI 20			/* MAIL */
 I1	  27533 #define EN_PRI 21			/* PRINT */
 I1	  27534 #define EN_MKD 22			/* MKDIR */
 I1	  27535 #define EN_RMD 23			/* RMDIR */
 I1	  27536 #define EN_XIT 24			/* EXIT */
 I1	  27537 #define EN_ENA 25			/* ENABLE */
 I1	  27538 #endif /* NOICP */
 I1	  27539 
 I1	  27540 #ifndef NOICP
 I1	  27541 /* CLEAR command symbols */
 I1	  27542 #define CLR_DEV    1			/* Clear Device Buffers */
 I1	  27543 #define CLR_INP    2			/* Clear Input Buffers */
 I1	  27544 #define CLR_BTH    CLR_DEV|CLR_INP	/* Clear Device and Input */
 I1	  27545 #define CLR_SCL    4			/* Clear Scrollback buffer */
 I1	  27546 #define CLR_CMD    8			/* Clear Command Screen */
 I1	  27547 #define CLR_TRM   16			/* Clear Terminal Screen */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 496
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27548 #define CLR_DIA   32			/* Clear Dial Status */
 I1	  27549 #define CLR_SFL   64			/* Clear Send-File-List */
 I1	  27550 #define CLR_APC  128			/* Clear APC */
 I1	  27551 #define CLR_ALR  256			/* Clear Alarm */
 I1	  27552 #define CLR_TXT  512			/* Clear text-patterns */
 I1	  27553 #define CLR_BIN 1024			/* Clear binary-patterns */
 I1	  27554 #define CLR_SCR 2048			/* Clear screen */
 I1	  27555 #define CLR_KBD 4096			/* Clear keyboard buffer */
 I1	  27556 #endif /* NOICP */
 I1	  27557 
 I1	  27558 /* Symbols for logs */
 I1	  27559 
 I1	  27560 #define LOGD 0				/* Debugging */
 I1	  27561 #define LOGP 1				/* Packets */
 I1	  27562 #define LOGS 2				/* Session */
 I1	  27563 #define LOGT 3				/* Transaction */
 I1	  27564 #define LOGX 4				/* Screen */
 I1	  27565 #define LOGR 5				/* The "open read" file */
 I1	  27566 #define LOGW 6				/* The "open write/append" file */
 I1	  27567 #define LOGE 7				/* Error (e.g. stderr) */
 I1	  27568 #define LOGM 8				/* The dialing log */
 I1	  27569 
 I1	  27570 #ifndef NOSPL
 I1	  27571 /* Symbols for builtin variables */
 I1	  27572 
 I1	  27573 #define VN_ARGC 0			/* ARGC */
 I1	  27574 #define VN_COUN 1			/* COUNT */
 I1	  27575 #define VN_DATE 2			/* DATE */
 I1	  27576 #define VN_DIRE 3			/* DIRECTORY */
 I1	  27577 #define VN_ERRO 4			/* ERRORLEVEL */
 I1	  27578 #define VN_TIME 5			/* TIME */
 I1	  27579 #define VN_VERS 6			/* VERSION */
 I1	  27580 #define VN_IBUF 7			/* INPUT buffer */
 I1	  27581 #define VN_SUCC 8			/* SUCCESS flag */
 I1	  27582 #define VN_LINE 9			/* LINE */
 I1	  27583 #define VN_ARGS 10			/* Program command-line arg count */
 I1	  27584 #define VN_SYST 11			/* System type */
 I1	  27585 #define VN_SYSV 12			/* System version */
 I1	  27586 #define VN_RET  13			/* RETURN value */
 I1	  27587 #define VN_FILE 14			/* Most recent filespec */
 I1	  27588 #define VN_NDAT 15			/* Numeric date yyyy/mm/dd */
 I1	  27589 #define VN_HOME 16			/* Home directory */
 I1	  27590 #define VN_SPEE 17			/* Transmission speed */
 I1	  27591 #define VN_HOST 18			/* Host name */
 I1	  27592 #define VN_TTYF 19			/* TTY file descriptor (UNIX only) */
 I1	  27593 #define VN_PROG 20			/* Program name */
 I1	  27594 #define VN_NTIM 21			/* NTIME */
 I1	  27595 #define VN_FFC  22			/* Characters in last file xferred */
 I1	  27596 #define VN_TFC  23			/* Chars in last file group xferred */
 I1	  27597 #define VN_CPU  24			/* CPU type */
 I1	  27598 #define VN_CMDL 25			/* Command level */
 I1	  27599 #define VN_DAY  26                      /* Day of week, string */
 I1	  27600 #define VN_NDAY 27                      /* Day of week, numeric */
 I1	  27601 #define VN_LCL  28			/* Local (vs) remote mode */
 I1	  27602 #define VN_CMDS 29			/* Command source */
 I1	  27603 #define VN_CMDF 30			/* Command file name */
 I1	  27604 #define VN_MAC  31			/* Macro name */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 497
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27605 #define VN_EXIT 32			/* Exit status */
 I1	  27606 #define VN_ICHR 33			/* INPUT character */
 I1	  27607 #define VN_ICNT 34			/* INPUT count */
 I1	  27608 #define VN_PRTY 35			/* Current parity */
 I1	  27609 #define VN_DIAL 36			/* DIAL status */
 I1	  27610 #define VN_KEYB 37			/* Keyboard type */
 I1	  27611 #define VN_CPS  38			/* Chars per second, last transfer */
 I1	  27612 #define VN_RPL  39			/* Receive packet length */
 I1	  27613 #define VN_SPL  40			/* Send packet length */
 I1	  27614 #define VN_MODE 41			/* Transfer mode (text, binary) */
 I1	  27615 #define VN_REXX 42			/* Rexx return value */
 I1	  27616 #define VN_NEWL 43			/* Newline character or sequence */
 I1	  27617 #define VN_COLS 44			/* Columns on console screen */
 I1	  27618 #define VN_ROWS 45			/* Rows on console screen */
 I1	  27619 #define VN_TTYP 46			/* Terminal type */
 I1	  27620 #define VN_MINP 47			/* MINPUT result */
 I1	  27621 #define VN_CONN 48			/* Connection type */
 I1	  27622 #define VN_SYSI 49			/* System ID */
 I1	  27623 #define VN_TZ   50			/* Timezone */
 I1	  27624 #define VN_SPA  51			/* Space */
 I1	  27625 #define VN_QUE  52			/* Query */
 I1	  27626 #define VN_STAR 53			/* Startup directory */
 I1	  27627 #define VN_CSET 54			/* Local character set */
 I1	  27628 #define VN_MDM  55			/* Modem type */
 I1	  27629 #define VN_EVAL 56			/* Most recent EVALUATE result */
 I1	  27630 
 I1	  27631 #define VN_D_CC 57			/* DIAL COUNTRY-CODE */
 I1	  27632 #define VN_D_AC 58			/* DIAL AREA-CODE */
 I1	  27633 #define VN_D_IP 59			/* DIAL INTERNATIONAL-PREFIX */
 I1	  27634 #define VN_D_LP 60			/* DIAL LD-PREFIX */
 I1	  27635 
 I1	  27636 #define VN_UID  61
 I1	  27637 #define VN_PWD  62
 I1	  27638 #define VN_PRM  63
 I1	  27639 
 I1	  27640 #define VN_PROTO 64			/* Protocol */
 I1	  27641 #define VN_DLDIR 65			/* Download directory */
 I1	  27642 
 I1	  27643 #define VN_M_AAA 66			/* First MODEM one */
 I1	  27644 #define VN_M_INI 66			/* Modem init string */
 I1	  27645 #define VN_M_DCM 67			/* Modem dial command */
 I1	  27646 #define VN_M_DCO 68			/* Modem data compression on */
 I1	  27647 #define VN_M_DCX 69			/* Modem data compression off */
 I1	  27648 #define VN_M_ECO 70			/* Modem error correction on */
 I1	  27649 #define VN_M_ECX 71			/* Modem error correction off */
 I1	  27650 #define VN_M_AAO 72			/* Modem autoanswer on */
 I1	  27651 #define VN_M_AAX 73			/* Modem autoanswer off */
 I1	  27652 #define VN_M_HUP 74			/* Modem hangup command */
 I1	  27653 #define VN_M_HWF 75			/* Modem hardware flow command */
 I1	  27654 #define VN_M_SWF 76			/* Modem software flow command */
 I1	  27655 #define VN_M_NFC 77			/* Modem no flow-control command */
 I1	  27656 #define VN_M_PDM 78			/* Modem pulse dialing mode */
 I1	  27657 #define VN_M_TDM 79			/* Modem tone dialing mode */
 I1	  27658 #define VN_M_ZZZ 79			/* Last MODEM one */
 I1	  27659 
 I1	  27660 #define VN_SELCT 80			/* Selected Text from Mark Mode */
 I1	  27661 #define VN_TEMP  81			/* Temporary directory */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 498
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27662 #define VN_ISTAT 82			/* INPUT command status */
 I1	  27663 #define VN_INI   83			/* INI (kermrc) directory */
 I1	  27664 #define VN_EXEDIR 84			/* EXE directory */
 I1	  27665 #define VN_ERRNO  85			/* Value of errno */
 I1	  27666 #define VN_ERSTR  86			/* Corresponding error message */
 I1	  27667 #define VN_TFLN   87			/* TAKE file line number */
 I1	  27668 #define VN_XVNUM  88			/* Product-specific version number */
 I1	  27669 #define VN_RPSIZ  89			/* Receive packet length */
 I1	  27670 #define VN_WINDO  90			/* Window size */
 I1	  27671 #define VN_MDMSG  91			/* Modem message */
 I1	  27672 #define VN_DNUM   92			/* Dial number */
 I1	  27673 #define VN_APC    93			/* APC active */
 I1	  27674 #define VN_IPADDR 94			/* My IP address */
 I1	  27675 #define VN_CRC16  95			/* CRC-16 of most recent file group */
 I1	  27676 #define VN_TRMK   96                    /* Macro executed from Terminal Mode */
 I1	  27677 #define VN_PID    97			/* Process ID */
 I1	  27678 #define VN_FNAM   98			/* Name of file being transferred */
 I1	  27679 #define VN_FNUM   99			/* Number of file being transferred */
 I1	  27680 #define VN_PEXIT  100			/* Process exit status */
 I1	  27681 #define VN_P_CTL  101 			/* Control Prefix */
 I1	  27682 #define VN_P_8BIT 102			/* 8-bit prefix */
 I1	  27683 #define VN_P_RPT  103			/* Repeat count prefix */
 I1	  27684 #define VN_D_LCP  104			/* DIAL LOCAL-PREFIX */
 I1	  27685 #define VN_URL    105			/* Last URL selected */
 I1    X  27686 #ifdef COMMENT
 I1    X  27687 /* Not used in Open Source version but should not be recycled */
 I1    X  27688 #define VN_REGN   106			/* Registration Name */
 I1    X  27689 #define VN_REGO   107			/* Registration Organization */
 I1    X  27690 #define VN_REGS   108			/* Registration Serial number */
 I1    X  27691 #endif /* COMMENT */
 I1	  27692 #define VN_XPROG  109			/* xprogram (like xversion) */
 I1	  27693 #define VN_EDITOR 110			/* Editor */
 I1	  27694 #define VN_EDOPT  111			/* Editor options */
 I1	  27695 #define VN_EDFILE 112			/* Editor file */
 I1	  27696 #define VN_BROWSR 113			/* Browser */
 I1	  27697 #define VN_BROPT  114			/* Browser options */
 I1	  27698 #define VN_HERALD 115			/* Program herald */
 I1	  27699 #define VN_TEST   116			/* Program test level or "0" */
 I1	  27700 #define VN_XFSTAT 117			/* File-Transfer status */
 I1	  27701 #define VN_XFMSG  119			/* File-Transfer message */
 I1	  27702 #define VN_SNDL   120			/* Send-list status */
 I1	  27703 #define VN_TRIG   121			/* Trigger value */
 I1	  27704 #define VN_MOU_X  122                   /* OS/2 Mouse Cursor X */
 I1	  27705 #define VN_MOU_Y  123                   /* OS/2 Mouse Cursor Y */
 I1	  27706 #define VN_PRINT  124			/* Printer */
 I1	  27707 #define VN_ESC    125			/* Escape character */
 I1	  27708 #define VN_INTIME 126			/* INPUT elapsed time */
 I1	  27709 #define VN_K4RLM  127			/* Kerberos 4 Realm */
 I1	  27710 #define VN_K5RLM  128			/* Kerberos 5 Realm */
 I1	  27711 #define VN_K4PRN  129			/* Kerberos 4 Principal */
 I1	  27712 #define VN_K5PRN  130			/* Kerberos 5 Principal */
 I1	  27713 #define VN_K4CC   131			/* Kerberos 4 Credentials Cache */
 I1	  27714 #define VN_K5CC   132			/* Kerberos 5 Credentials Cache */
 I1	  27715 #define VN_OSNAM  133			/* OS name */
 I1	  27716 #define VN_OSVER  134			/* OS version */
 I1	  27717 #define VN_OSREL  135			/* OS release */
 I1	  27718 #define VN_NAME   136			/* Name I was called by */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 499
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27719 #define VN_MODL   137			/* CPU model */
 I1	  27720 #define VN_X25LA  138			/* X.25 local address */
 I1	  27721 #define VN_X25RA  139			/* X.25 remote address */
 I1	  27722 #define VN_K4SRV  140                   /* Kerberos 4 Service Name */
 I1	  27723 #define VN_K5SRV  141                   /* Kerberos 5 Service Name */
 I1	  27724 #define VN_PDSFX  142			/* PDIAL suffix */
 I1	  27725 #define VN_DTYPE  143			/* DIAL type */
 I1	  27726 #define VN_LCKPID 144			/* Lockfile PID (UNIX) */
 I1	  27727 #define VN_BLK    145			/* Block check */
 I1	  27728 #define VN_TFTIM  146			/* File transfer elapsed time */
 I1	  27729 #define VN_D_PXX  147 			/* DIAL PBX-EXCHANGE */
 I1	  27730 #define VN_HWPAR  148 			/* Hardware Parity */
 I1	  27731 #define VN_SERIAL 149 			/* SET SERIAL value */
 I1	  27732 #define VN_LCKDIR 150			/* Lockfile directory (UNIX) */
 I1	  27733 
 I1	  27734 #define VN_K4ENO  151                   /* Kerberos 4 Last Errno */
 I1	  27735 #define VN_K4EMSG 152                   /* Kerberos 4 Last Err Msg */
 I1	  27736 #define VN_K5ENO  153                   /* Kerberos 5 Last Errno */
 I1	  27737 #define VN_K5EMSG 154                   /* Kerberos 5 Last Err Msg */
 I1	  27738 
 I1	  27739 #define VN_INTMO  155			/* Input timeout */
 I1	  27740 #define VN_AUTHS  156                   /* Authentication State */
 I1	  27741 
 I1	  27742 #define VN_DM_LP  157			/* Dial Modifier: Long Pause */
 I1	  27743 #define VN_DM_SP  158			/* Dial Modifier: Short Pause */
 I1	  27744 #define VN_DM_PD  159			/* Dial Modifier: Pulse Dial */
 I1	  27745 #define VN_DM_TD  160			/* Dial Modifier: Tone Dial */
 I1	  27746 #define VN_DM_WA  161			/* Dial Modifier: Wait for Answer */
 I1	  27747 #define VN_DM_WD  162			/* Dial Modifier: Wait for Dialtone */
 I1	  27748 #define VN_DM_RC  163			/* Dial Modifier: Return to Command */
 I1	  27749 
 I1	  27750 /* (more below...) */
 I1	  27751 
 I1	  27752 #define VN_TY_LN  164			/* TYPE command line number */
 I1	  27753 #define VN_TY_LC  165			/* TYPE command line count */
 I1	  27754 #define VN_TY_LM  166			/* TYPE command match count */
 I1	  27755 
 I1	  27756 #define VN_MACLVL 167			/* \v(maclevel) */
 I1	  27757 
 I1	  27758 #define VN_XF_BC  168			/* Transfer blockcheck errors */
 I1	  27759 #define VN_XF_TM  169			/* Transfer timeouts */
 I1	  27760 #define VN_XF_RX  170			/* Transfer retransmissions */
 I1	  27761 
 I1	  27762 #define VN_M_NAM  171			/* Modem full name  */
 I1	  27763 #define VN_MS_CD  172			/* Modem signal CD  */
 I1	  27764 #define VN_MS_CTS 173			/* Modem signal CTS */
 I1	  27765 #define VN_MS_DSR 174			/* Modem signal DSR */
 I1	  27766 #define VN_MS_DTR 175			/* Modem signal DTR */
 I1	  27767 #define VN_MS_RI  176			/* Modem signal RI  */
 I1	  27768 #define VN_MS_RTS 177			/* Modem signal RTS */
 I1	  27769 
 I1	  27770 #define VN_MATCH  178			/* Most recent pattern match */
 I1	  27771 #define VN_SLMSG  179			/* SET LINE (error) message */
 I1	  27772 #define VN_TXTDIR 180			/* Kermit text-file directory */
 I1	  27773 #define VN_MA_PI  181			/* Math constant Pi */
 I1	  27774 #define VN_MA_E   182			/* Math constant e */
 I1	  27775 #define VN_MA_PR  183			/* Math precision (digits) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 500
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27776 #define VN_CMDBL  184			/* Command buffer length */
 I1	  27777 
 I1	  27778 #define VN_AUTHT  185                   /* Authentication Type */
 I1	  27779 
 I1	  27780 #ifdef CKCHANNELIO
 I1	  27781 #define VN_FERR   186			/* FILE error */
 I1	  27782 #define VN_FMAX   187			/* FILE max */
 I1	  27783 #define VN_FCOU   188			/* Result of last FILE COUNT */
 I1	  27784 #endif /* CKCHANNELIO */
 I1	  27785 
 I1	  27786 #define VN_DRTR   189			/* DIAL retry counter */
 I1	  27787 #define VN_CXTIME 190			/* Elapsed time in session */
 I1	  27788 #define VN_BYTE   191			/* Byte order */
 I1	  27789 #define VN_AUTHN  192                   /* Authentication Name */
 I1	  27790 #define VN_KBCHAR 193			/* kbchar */
 I1	  27791 #define VN_TTYNAM 194			/* Name of controlling terminal */
 I1	  27792 
 I1	  27793 #define VN_X509_S 195                   /* X.509 Certificate Subject */
 I1	  27794 #define VN_X509_I 196                   /* X.509 Certificate Issuer  */
 I1	  27795 
 I1	  27796 #define VN_PROMPT 197			/* C-Kermit's prompt */
 I1	  27797 #define VN_BUILD  198			/* Build ID string */
 I1	  27798 
 I1	  27799 #define VN_SEXP   199			/* Last S-Expression */
 I1	  27800 #define VN_VSEXP  200			/* Value of last S-Expression */
 I1	  27801 #define VN_LSEXP  201			/* SEXP depth */
 I1	  27802 
 I1	  27803 #define VN_FTIME  202			/* Time as floating-poing number */
 I1	  27804 
 I1	  27805 #define VN_FTP_C  203                   /* FTP Reply Code */
 I1	  27806 #define VN_FTP_M  204                   /* FTP Reply Message */
 I1	  27807 #define VN_FTP_S  205			/* FTP Server type */
 I1	  27808 #define VN_FTP_H  206			/* FTP Host */
 I1	  27809 #define VN_FTP_X  207			/* FTP Connected */
 I1	  27810 #define VN_FTP_L  208			/* FTP Logged in */
 I1	  27811 #define VN_FTP_G  209			/* FTP GET-PUT-REMOTE setting */
 I1	  27812 
 I1	  27813 #define VN_SECURE 210                   /* Encrypted connection 0 or 1 */
 I1	  27814 
 I1	  27815 #define VN_DM_HF  211			/* Dial Modifier: Hook Flash */
 I1	  27816 #define VN_DM_WB  212			/* Dial Modifier: Wait for Bong */
 I1	  27817 #define VN_CX_STA 213			/* CX_STATUS */
 I1	  27818 
 I1	  27819 #define VN_FTP_B  214                   /* FTP CPL */
 I1	  27820 #define VN_FTP_D  215                   /* FTP DPL */
 I1	  27821 #define VN_FTP_Z  216                   /* FTP SECURITY */
 I1	  27822 #define VN_HTTP_C 217                   /* HTTP Code */
 I1	  27823 #define VN_HTTP_N 218                   /* HTTP Connected */
 I1	  27824 #define VN_HTTP_H 219                   /* HTTP Host */
 I1	  27825 #define VN_HTTP_M 220                   /* HTTP Message */
 I1	  27826 #define VN_HTTP_S 221                   /* HTTP Security */
 I1	  27827 
 I1	  27828 #define VN_NOW    222			/* Timestamp yyyymmdd hh:mm:ss */
 I1	  27829 #define VN_HOUR   223			/* Current hour of the day 0-23 */
 I1	  27830 
 I1	  27831 #define VN_CI_DA  224			/* Caller ID date */
 I1	  27832 #define VN_CI_TI  225			/* Caller ID time */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 501
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27833 #define VN_CI_NA  226			/* Caller ID name */
 I1	  27834 #define VN_CI_NU  227			/* Caller ID number */
 I1	  27835 #define VN_CI_ME  228			/* Caller ID message */
 I1	  27836 #define VN_PERSONAL 229                 /* Personal Directory on Windows */
 I1	  27837 #define VN_APPDATA  230                 /* User AppData directory */
 I1	  27838 #define VN_COMMON   231                 /* Common AppData directory */
 I1	  27839 #define VN_DESKTOP  232                 /* User Desktop directory */
 I1	  27840 #define VN_TNC_SIG  233                 /* RFC 2717 Signature */
 I1	  27841 
 I1    X  27842 #ifdef KUI
 I1    X  27843 #define VN_GUI_XP   234                 /* GUI Window X position */
 I1    X  27844 #define VN_GUI_YP   235                 /* GUI Window Y position */
 I1    X  27845 #define VN_GUI_XR   236                 /* GUI Window X resolution */
 I1    X  27846 #define VN_GUI_YR   237                 /* GUI Window Y resolution */
 I1    X  27847 #define VN_GUI_RUN  238                 /* GUI Window Run mode */
 I1    X  27848 #define VN_GUI_FNM  239                 /* GUI Window Font Name */
 I1    X  27849 #define VN_GUI_FSZ  240                 /* GUI Window Font Size */
 I1    X  27850 #endif /* KUI */
 I1	  27851 
 I1	  27852 #define VN_LOG_PKT  241                 /* Packet Log Filename */
 I1	  27853 #define VN_LOG_TRA  242                 /* Transaction Log Filename */
 I1	  27854 #define VN_LOG_SES  243                 /* Session Log Filename */
 I1	  27855 #define VN_LOG_DEB  244                 /* Debug Log Filename */
 I1	  27856 #define VN_LOG_CON  245                 /* Connection Log Filename */
 I1	  27857 
 I1	  27858 #define VN_ISCALE   246			/* INPUT scale factor */
 I1	  27859 #define VN_BITS     247			/* Bits of this build (16, 32, 64) */
 I1	  27860 #define VN_LASTFIL  248			/* Last input filespec */
 I1	  27861 #define VN_LASTKWV  249			/* Last \fkeywordvalue() keyword */
 I1	  27862 #define VN_DMSG     250			/* Msg corresponding to dialstatus */
 I1	  27863 #define VN_HOSTIP   251			/* IP address of remote host */
 I1	  27864 #define VN_INPMSG   252			/* Msg corresponding to instatus */
 I1	  27865 #define VN_VAREVAL  253			/* SET VARIABLE-EVALUATION setting */
 I1	  27866 #define VN_PREVCMD  254			/* Previous command */
 I1	  27867 #define VN_YEAR     255			/* This year */
 I1	  27868 #define VN_MONTH    256			/* This month (name) */
 I1	  27869 #define VN_NMONTH   257			/* This month (numeric) */
 I1	  27870 #define VN_FULLVER  258			/* Full version number */
 I1	  27871 #endif /* NOSPL */
 I1	  27872 
 I1	  27873 /* INPUT status values */
 I1	  27874 
 I1	  27875 #define INP_OK  0			/* Succeeded */
 I1	  27876 #define INP_TO  1			/* Timed out */
 I1	  27877 #define INP_UI  2			/* User interrupted */
 I1	  27878 #define INP_IE  3			/* Internal error */
 I1	  27879 #define INP_IO  4			/* I/O error or connection lost */
 I1	  27880 #define INP_IKS 5                       /* Kermit Server Active */
 I1	  27881 #define INP_BF  6			/* Buffer full */
 I1	  27882 
 I1	  27883 /* INPUT switch values */
 I1	  27884 
 I1	  27885 #define INPSW_NOM 1			/* /NOMATCH */
 I1	  27886 #define INPSW_CLR 2			/* /CLEAR */
 I1	  27887 #define INPSW_NOW 4			/* /NOWRAP */
 I1	  27888 #define INPSW_COU 8			/* /COUNT */
 I1	  27889 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 502
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27890 #ifndef NOSPL
 I1	  27891 /* Symbols for builtin functions */
 I1	  27892 
 I1	  27893 #define FNARGS 6			/* Maximum number of function args */
 I1	  27894 
 I1	  27895 #define FN_IND      0			/* Index (of string 1 in string 2) */
 I1	  27896 #define FN_LEN      1			/* Length (of string) */
 I1	  27897 #define FN_LIT      2			/* Literal (don't expand the string) */
 I1	  27898 #define FN_LOW      3			/* Lower (convert to lowercase) */
 I1	  27899 #define FN_MAX      4			/* Max (maximum) */
 I1	  27900 #define FN_MIN      5			/* Min (minimum) */
 I1	  27901 #define FN_MOD      6			/* Mod (modulus) */
 I1	  27902 #define FN_EVA      7			/* Eval (evaluate arith expression) */
 I1	  27903 #define FN_SUB      8			/* Substr (substring) */
 I1	  27904 #define FN_UPP      9			/* Upper (convert to uppercase) */
 I1	  27905 #define FN_REV      10			/* Reverse (a string) */
 I1	  27906 #define FN_REP      11			/* Repeat (a string) */
 I1	  27907 #define FN_EXE      12			/* Execute (a macro) */
 I1	  27908 #define FN_VAL      13			/* Return value (of a macro) */
 I1	  27909 #define FN_LPA      14			/* LPAD (left pad) */
 I1	  27910 #define FN_RPA      15			/* RPAD (right pad) */
 I1	  27911 #define FN_DEF      16			/* Definition of a macro, unexpanded */
 I1	  27912 #define FN_CON      17			/* Contents of a variable, ditto */
 I1	  27913 #define FN_FIL      18			/* File list */
 I1	  27914 #define FN_FC       19			/* File count */
 I1	  27915 #define FN_CHR      20			/* Character (like BASIC CHR$()) */
 I1	  27916 #define FN_RIG      21			/* Right (like BASIC RIGHT$()) */
 I1	  27917 #define FN_COD      22			/* Code value of character */
 I1	  27918 #define FN_RPL      23			/* Replace */
 I1	  27919 #define FN_FD       24			/* File date */
 I1	  27920 #define FN_FS       25			/* File size */
 I1	  27921 #define FN_RIX      26			/* Rindex (index from right) */
 I1	  27922 #define FN_VER      27			/* Verify */
 I1	  27923 #define FN_IPA      28			/* Find and return IP address */
 I1	  27924 #define FN_CRY      39			/* ... */
 I1	  27925 #define FN_OOX      40			/* ... */
 I1	  27926 #define FN_HEX      41			/* Hexify */
 I1	  27927 #define FN_UNH      42			/* Unhexify */
 I1	  27928 #define FN_BRK      43			/* Break */
 I1	  27929 #define FN_SPN      44			/* Span */
 I1	  27930 #define FN_TRM      45			/* Trim */
 I1	  27931 #define FN_LTR      46			/* Left-Trim */
 I1	  27932 #define FN_CAP      47			/* Capitalize */
 I1	  27933 #define FN_TOD      48			/* Time-of-day-to-secs-since-midnite */
 I1	  27934 #define FN_SEC      49			/* Secs-since-midnite-to-time-of-day */
 I1	  27935 #define FN_FFN      50			/* Full file name */
 I1	  27936 #define FN_CHK      51			/* Checksum of text */
 I1	  27937 #define FN_CRC      52			/* CRC-16 of text */
 I1	  27938 #define FN_BSN      53			/* Basename of file */
 I1	  27939 #define FN_CMD      54			/* Output of a command (cooked) */
 I1	  27940 #define FN_RAW      55			/* Output of a command (raw) */
 I1	  27941 #define FN_STX      56			/* Strip from right */
 I1	  27942 #define FN_STL      57			/* Strip from left */
 I1	  27943 #define FN_STN      58			/* Strip n chars */
 I1	  27944 #define FN_SCRN_CX  59			/* Screen Cursor X Pos */
 I1	  27945 #define FN_SCRN_CY  60			/* Screen Cursor Y Pos */
 I1	  27946 #define FN_SCRN_STR 61			/* Screen String */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 503
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  27947 #define FN_2HEX     62			/* Number (not string) to hex */
 I1	  27948 #define FN_2OCT     63			/* Number (not string) to octal */
 I1	  27949 #define FN_RFIL     64			/* Recursive file list */
 I1	  27950 #define FN_DIR      65			/* Directory list */
 I1	  27951 #define FN_RDIR     66			/* Recursive directory list */
 I1	  27952 #define FN_DNAM     67			/* Directory part of filename */
 I1	  27953 #define FN_RAND     68			/* Random number */
 I1	  27954 #define FN_WORD     69			/* Word extraction */
 I1	  27955 #define FN_SPLIT    70			/* Split string into words */
 I1	  27956 #define FN_KRB_TK   71			/* Kerberos tickets */
 I1	  27957 #define FN_KRB_NX   72			/* Kerberos next ticket */
 I1	  27958 #define FN_KRB_IV   73			/* Kerberos ticket is valid */
 I1	  27959 #define FN_KRB_TT   74			/* Kerberos ticket time */
 I1	  27960 #define FN_ERRMSG   75			/* Error code to message */
 I1	  27961 
 I1	  27962 #ifndef UNIX
 I1    X  27963 #ifndef VMS
 I1    X  27964 #undef FN_ERRMSG
 I1    X  27965 #endif /* VMS */
 I1	  27966 #endif /* UNIX */
 I1	  27967 
 I1	  27968 #define FN_DIM      76			/* Dimension of array */
 I1	  27969 #define FN_DTIM     77			/* Convert to standard date/time */
 I1	  27970 #define FN_JDATE    78			/* Regular date to day of year */
 I1	  27971 #define FN_PNCVT    79			/* Convert phone number for dialing */
 I1	  27972 #define FN_DATEJ    80			/* Day of year to date */
 I1	  27973 #define FN_MJD      81			/* Date to modified Julian date */
 I1	  27974 #define FN_MJD2     82			/* Modified Julian date to date */
 I1	  27975 #define FN_DAY      83			/* Day of week of given date */
 I1	  27976 #define FN_NDAY     84			/* Numeric day of week of given date */
 I1	  27977 #define FN_TIME     85			/* Convert to hh:mm:ss */
 I1	  27978 #define FN_NTIM     86			/* Convert to seconds since midnite */
 I1	  27979 #define FN_N2TIM    87			/* Sec since midnite to hh:mm:ss */
 I1	  27980 #define FN_PERM     88			/* Permissions of file */
 I1	  27981 #define FN_KRB_FG   89			/* Kerberos Ticket Flags */
 I1	  27982 #define FN_SEARCH   90			/* Search for pattern in string */
 I1	  27983 #define FN_RSEARCH  91			/* Ditto, but right to left */
 I1	  27984 #define FN_XLATE    92			/* Translate string charset */
 I1	  27985 #define FN_ALOOK    93			/* Array lookup */
 I1	  27986 #define FN_TLOOK    94			/* Table lookup */
 I1	  27987 #define FN_TOB64    95			/* Encode into Base64 */
 I1	  27988 #define FN_FMB64    96			/* Decode from Base64 */
 I1	  27989 
 I1	  27990 #define FN_ABS      97			/* Absolute value */
 I1	  27991 
 I1	  27992 #ifdef CKFLOAT
 I1	  27993 #define FN_FPADD    98			/* Floating-point add */
 I1	  27994 #define FN_FPSUB    99			/* Floating-point substract */
 I1	  27995 #define FN_FPMUL   100			/* Floating-point multiply */
 I1	  27996 #define FN_FPDIV   101			/* Floating-point divide */
 I1	  27997 #define FN_FPEXP   102			/* Floating-point e to the x */
 I1	  27998 #define FN_FPLN    103			/* Floating-point natural log */
 I1	  27999 #define FN_FPLOG   104			/* Floating-point base-10 log */
 I1	  28000 #define FN_FPPOW   105			/* Floating-point raise to power */
 I1	  28001 #define FN_FPSQR   106			/* Floating-point square root */
 I1	  28002 #define FN_FPABS   107			/* Floating-point absolute value */
 I1	  28003 #define FN_FPMOD   108			/* Floating-point modulus */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 504
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28004 #define FN_FPMAX   109			/* Floating-point maximum */
 I1	  28005 #define FN_FPMIN   110			/* Floating-point minimum*/
 I1	  28006 #define FN_FPINT   111			/* Floating-point to integer */
 I1	  28007 #define FN_FPROU   112			/* Floating-point round */
 I1	  28008 #define FN_FPSIN   113			/* FP sine */
 I1	  28009 #define FN_FPCOS   114			/* FP cosine */
 I1	  28010 #define FN_FPTAN   115			/* FP tangent */
 I1	  28011 #endif /* CKFLOAT */
 I1	  28012 
 I1	  28013 #ifdef CKCHANNELIO
 I1	  28014 #define FN_FSTAT   116			/* File status */
 I1	  28015 #define FN_FPOS    117			/* File position */
 I1	  28016 #define FN_FEOF    118			/* File eof */
 I1	  28017 #define FN_FILNO   119			/* File number / handle */
 I1	  28018 #define FN_FGCHAR  120			/* File getchar */
 I1	  28019 #define FN_FGLINE  121			/* File getline */
 I1	  28020 #define FN_FGBLK   122			/* File getblock */
 I1	  28021 #define FN_FPCHAR  123			/* File putchar */
 I1	  28022 #define FN_FPLINE  124			/* File putline */
 I1	  28023 #define FN_FPBLK   125			/* File putblock */
 I1	  28024 #define FN_NLINE   126			/* File get current line number */
 I1	  28025 #define FN_FERMSG  127			/* File error message */
 I1	  28026 #endif /* CKCHANNELIO */
 I1	  28027 
 I1	  28028 #define FN_LEF     128			/* Left (= substr starting on left) */
 I1	  28029 #define FN_AADUMP  129			/* Associative Array Dump */
 I1	  28030 #define FN_STB     130			/* \fstripb()  */
 I1	  28031 #define FN_PATTERN 131			/* \fpattern() */
 I1	  28032 #define FN_HEX2N   132			/* \fhexton()  */
 I1	  28033 #define FN_OCT2N   133			/* \foctton()  */
 I1	  28034 #define FN_HEX2IP  134			/* \fhextoip() */
 I1	  28035 #define FN_IP2HEX  135			/* \fiptohex() */
 I1	  28036 #define FN_RADIX   136			/* \fradix()   */
 I1	  28037 #define FN_JOIN    137			/* \fjoin()    */
 I1	  28038 #define FN_SUBST   138			/* \fsubstitute() */
 I1	  28039 #define FN_SEXP    139			/* \fsexpression() */
 I1	  28040 #define FN_CMDSTK  140			/* \fcmdstack() */
 I1	  28041 #define FN_TOGMT   141			/* \ftogmt() */
 I1	  28042 #define FN_CMPDATE 142			/* \fcmpdates() */
 I1	  28043 #define FN_DIFDATE 143			/* \fdiffdates() */
 I1	  28044 #ifdef TCPSOCKET
 I1	  28045 #define FN_HSTADD  144			/* \faddr2name() */
 I1	  28046 #define FN_HSTNAM  145			/* \fname2addr() */
 I1	  28047 #endif /* TCPSOCKET */
 I1	  28048 #define FN_DELSEC  146			/* \fdelta2sec() */
 I1	  28049 #define FN_PC_DU   147			/* Path conversion DOS to Unix */
 I1	  28050 #define FN_PC_VU   148			/* Path conversion VMS to Unix */
 I1	  28051 #define FN_PC_UD   149			/* Path conversion Unix to DOS */
 I1	  28052 #define FN_PC_UV   150			/* Path conversion Unix to VMS */
 I1	  28053 #define FN_KWVAL   151			/* \fkeywordvalue() */
 I1	  28054 #define FN_SLEEP   152			/* \fsleep() */
 I1	  28055 #define FN_MSLEEP  153			/* \fmsleep() */
 I1	  28056 #define FN_LNAME   154			/* \fLongPathName() (Windows) */
 I1	  28057 #define FN_SNAME   155			/* \fShortPathName() (Windows) */
 I1	  28058 #define FN_UNTAB   156			/* \funtabify() */
 I1	  28059 #define FN_LOPX    157			/* \flopx() */
 I1	  28060 #define FN_EMAIL   158			/* \femailaddress() */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 505
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28061 #define FN_PICTURE 159			/* \fpictureinfo() */
 I1	  28062 #define FN_PID     160			/* \fpidinfo() */
 I1	  28063 #define FN_COUNT   161			/* \fcount() */
 I1	  28064 #define FN_FUNC    162			/* \ffunction() */
 I1	  28065 #define FN_RECURSE 163			/* \frecurse() */
 I1	  28066 #define FN_SQUEEZE 164			/* \fsqueeze() */
 I1	  28067 #define FN_UNPCT   165			/* \fdecodehex() */
 I1	  28068 #define FN_STRINGT 166			/* \fstringtype() */
 I1	  28069 #define FN_STRCMP  167			/* \fstrcmp() */
 I1	  28070 #define FN_FILEINF 168			/* File information */
 I1	  28071 #define FN_FILECMP 169			/* File compare */
 I1	  28072 #define FN_DAYNAME 170			/* Day name according to locale */
 I1	  28073 #define FN_MONNAME 171			/* Month name according to locale */
 I1	  28074 
 I1	  28075 #endif /* NOSPL */
 I1	  28076 
 I1	  28077 /* Time Units */
 I1	  28078 
 I1	  28079 #define TU_DAYS   0
 I1	  28080 #define TU_WEEKS  1
 I1	  28081 #define TU_MONTHS 2
 I1	  28082 #define TU_YEARS  3
 I1	  28083 
 I1	  28084 #ifdef CK_CURSES
 I1	  28085 /* Screen line numbers for fullscreen file-transfer display */
 I1	  28086 
 I1	  28087 #define CW_BAN  0			/* Curses Window Banner */
 I1	  28088 #define CW_DIR  2			/* Current directory */
 I1	  28089 #define CW_LIN  3			/* Communication device */
 I1	  28090 #define CW_SPD  4			/* Communication speed */
 I1	  28091 #define CW_PAR  5			/* Parity */
 I1	  28092 #define CW_TMO  6
 I1	  28093 #define CW_NAM  7			/* Filename */
 I1	  28094 #define CW_TYP  8			/* File type */
 I1	  28095 #define CW_SIZ  9			/* File size */
 I1	  28096 #define CW_PCD 10			/* Percent done */
 I1	  28097 
 I1    X  28098 #ifndef CK_PCT_BAR
 I1    X  28099 #define CW_TR  11			/* Time remaining */
 I1    X  28100 #define CW_CP  12			/* Characters per second */
 I1    X  28101 #define CW_WS  13			/* Window slots */
 I1    X  28102 #define CW_PT  14			/* Packet type */
 I1    X  28103 #define CW_PC  15			/* Packet count */
 I1    X  28104 #define CW_PL  16			/* Packet length */
 I1    X  28105 #define CW_PR  17			/* Packet retry */
 I1    X  28106 #ifdef COMMENT
 I1    X  28107 #define CW_PB  17			/* Packet block check */
 I1    X  28108 #endif /* COMMENT */
 I1    X  28109 #else /* CK_PCT_BAR */
 I1	  28110 #define CW_BAR 11			/* Percent Bar Scale */
 I1	  28111 #define CW_TR  12			/* Time remaining */
 I1	  28112 #define CW_CP  13			/* Chars per sec */
 I1	  28113 #define CW_WS  14			/* Window slots */
 I1	  28114 #define CW_PT  15			/* Packet type */
 I1	  28115 #define CW_PC  16			/* Packet count */
 I1	  28116 #define CW_PL  17			/* Packet length */
 I1	  28117 #define CW_PR  18			/* Packet retry */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 506
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  28118 #ifdef COMMENT
 I1    X  28119 #define CW_PB  18			/* Packet block check */
 I1    X  28120 #endif /* COMMENT */
 I1	  28121 #endif /* CK_PCT_BAR */
 I1	  28122 
 I1	  28123 #define CW_ERR 19			/* Error message */
 I1	  28124 #define CW_MSG 20			/* Info message */
 I1	  28125 #define CW_INT 22			/* Instructions */
 I1	  28126 #define CW_FFC 99                       /* File Characters Sent/Received */
 I1	  28127 #endif /* CK_CURSES */
 I1	  28128 
 I1	  28129 #ifndef NOICP
 I1	  28130 /* Save Commands */
 I1	  28131 #define XSKEY   0			/* Key map file */
 I1	  28132 #define XSCMD   1                       /* Command mode */
 I1	  28133 #define XSTERM  2                       /* Terminal mode */
 I1	  28134 #endif /* NOICP */
 I1	  28135 
 I1	  28136 #ifndef NODIAL
 I1	  28137 /* Dial routine sort priorities */
 I1	  28138 #define DN_INTERN 0
 I1	  28139 #define DN_FREE   1
 I1	  28140 #define DN_LOCAL  2
 I1	  28141 #define DN_UNK    3
 I1	  28142 #define DN_LONG   4
 I1	  28143 #define DN_INTL   5
 I1	  28144 #endif /* NODIAL */
 I1	  28145 
 I1    X  28146 #ifdef SSHBUILTIN
 I1    X  28147 #define XSSH_OPN 1
 I1    X  28148 #define XSSH_V2  2
 I1    X  28149 #define XSSH_FLP 3
 I1    X  28150 #define XSSH_FRP 4
 I1    X  28151 #define XSSH_ADD 5
 I1    X  28152 #define XSSH_KEY 6
 I1    X  28153 #define XSSH_CLR 7
 I1    X  28154 #define XSSH_AGT 8
 I1    X  28155 
 I1    X  28156 #ifdef COMMENT
 I1    X  28157 #define SSHKT_1R   0			/* SSH KEY TYPE symbols */
 I1    X  28158 #define SSHKT_2R   1                    /* must match ssh/key.h values */
 I1    X  28159 #define SSHKT_2D   2
 I1    X  28160 #define SSHKT_SRP  3
 I1    X  28161 #endif
 I1    X  28162 #define SSHKT_DSS               0
 I1    X  28163 #define SSHKT_RSA               1
 I1    X  28164 #define SSHKT_RSA1              2
 I1    X  28165 #define SSHKT_ECDSA             3   /* deprecated */
 I1    X  28166 #define SSHKT_ED25519           4
 I1    X  28167 #define SSHKT_DSS_CERT01        5
 I1    X  28168 #define SSHKT_RSA_CERT01        6
 I1    X  28169 #define SSHKT_ECDSA_P256        7
 I1    X  28170 #define SSHKT_ECDSA_P384        8
 I1    X  28171 #define SSHKT_ECDSA_P521        9
 I1    X  28172 #define SSHKT_ECDSA_P256_CERT01 10
 I1    X  28173 #define SSHKT_ECDSA_P384_CERT01 11
 I1    X  28174 #define SSHKT_ECDSA_P521_CERT01 12

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 507
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  28175 #define SSHKT_ED25519_CERT01    13
 I1    X  28176 #define SSHKT_SK_ECDSA          14
 I1    X  28177 #define SSHKT_SK_ECDSA_CERT01   15
 I1    X  28178 #define SSHKT_SK_ED25519        16
 I1    X  28179 #define SSHKT_SK_ED25519_CERT01 17
 I1    X  28180 
 I1    X  28181 #define SSHKD_IN   1			/* SSH KEY DISPLAY /IN-FORMAT */
 I1    X  28182 #define SSHKD_OUT  2			/* SSH KEY DISPLAY /OUT-FORMAT */
 I1    X  28183 
 I1    X  28184 #define SKDF_OSSH  1			/* Key display format OpenSSH */
 I1    X  28185 #define SKDF_SSHC  2			/* Key display format SSH.COM */
 I1    X  28186 #define SKDF_IETF  3			/* Key display format IETF */
 I1    X  28187 #define SKDF_FING  4			/* Key display format FINGERPRINT */
 I1    X  28188 
 I1    X  28189 #define SSHSW_USR 1
 I1    X  28190 #define SSHSW_VER 2
 I1    X  28191 #define SSHSW_CMD 3
 I1    X  28192 #define SSHSW_X11 4
 I1    X  28193 #define SSHSW_PWD 5
 I1    X  28194 #define SSHSW_SUB 6
 I1    X  28195 
 I1    X  28196 #define SSHC_LPF 1
 I1    X  28197 #define SSHC_RPF 2
 I1    X  28198 
 I1    X  28199 #define XSSH2_RKE 1
 I1    X  28200 
 I1    X  28201 #define SSHF_LCL   1
 I1    X  28202 #define SSHF_RMT   2
 I1    X  28203 
 I1    X  28204 #define SSHA_ADD   1
 I1    X  28205 #define SSHA_DEL   2
 I1    X  28206 #define SSHA_LST   3
 I1    X  28207 
 I1    X  28208 #define SSHASW_FP 1
 I1    X  28209 
 I1    X  28210 #define SSHK_PASS  1
 I1    X  28211 #define SSHK_CREA  2
 I1    X  28212 #define SSHK_DISP  3
 I1    X  28213 #define SSHK_V1    4
 I1    X  28214 
 I1    X  28215 #define SSHKC_BI  1
 I1    X  28216 #define SSHKC_PP  2
 I1    X  28217 #define SSHKC_TY  3
 I1    X  28218 #define SSHKC_1R  4
 I1    X  28219 
 I1    X  28220 #define SKRM_OPN  1
 I1    X  28221 #endif /* SSHBUILTIN */
 I1	  28222 
 I1    X  28223 #ifdef SFTP_BUILTIN
 I1    X  28224 #define SFTP_OPN    1
 I1    X  28225 #define SFTP_CD     2
 I1    X  28226 #define SFTP_CHGRP  3
 I1    X  28227 #define SFTP_CHMOD  4
 I1    X  28228 #define SFTP_CHOWN  5
 I1    X  28229 #define SFTP_DIR    6
 I1    X  28230 #define SFTP_GET    7
 I1    X  28231 #define SFTP_MKDIR  8

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 508
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1    X  28232 #define SFTP_PWD    9
 I1    X  28233 #define SFTP_PUT    10
 I1    X  28234 #define SFTP_REN    11
 I1    X  28235 #define SFTP_RM     12
 I1    X  28236 #define SFTP_RMDIR  13
 I1    X  28237 #define SFTP_LINK   14
 I1    X  28238 #define SFTP_VER    15
 I1    X  28239 
 I1    X  28240 #define XY_SFTP_RCS 1
 I1    X  28241 #define XY_SFTP_EOL 2
 I1    X  28242 #endif /* SFTP_BUILTIN */
 I1	  28243 
 I1	  28244 /* ANSI-C prototypes for user interface functions */
 I1	  28245 
 I1	  28246 _PROTOTYP( VOID newerrmsg, (char *) );
       E	 void newerrmsg ( char * )
 I1	  28247 _PROTOTYP( int isinternalmacro, ( int ) );
       E	 int isinternalmacro ( int )
 I1	  28248 
 I1    X  28249 #ifdef UNIX
 I1    X  28250 _PROTOTYP( int doputenv, ( char *, char * ) );
 I1    X  28251 #endif	/* UNIX */
 I1	  28252 
 I1	  28253 #ifndef OS2
 I1	  28254 _PROTOTYP( int chkaes, ( char, int ) );
       E	 int chkaes ( char , int )
 I1	  28255 #endif /* OS2 */
 I1	  28256 
 I1	  28257 #ifndef NOICP
 I1	  28258 _PROTOTYP( int matchname, ( char *, int, int ) );
       E	 int matchname ( char * , int , int )
 I1	  28259 _PROTOTYP( int ck_cls, ( void ) );
       E	 int ck_cls ( void )
 I1	  28260 _PROTOTYP( int ck_cleol, ( void ) );
       E	 int ck_cleol ( void )
 I1	  28261 _PROTOTYP( int ck_curpos, ( int, int ) );
       E	 int ck_curpos ( int , int )
 I1	  28262 _PROTOTYP( int cmdsrc, ( void ) );
       E	 int cmdsrc ( void )
 I1	  28263 _PROTOTYP( int parser, ( int ) );
       E	 int parser ( int )
 I1	  28264 _PROTOTYP( int chkvar, (char *) );
       E	 int chkvar ( char * )
 I1	  28265 _PROTOTYP( int zzstring, (char *, char **, int *) );
       E	 int zzstring ( char * , char * * , int * )
 I1	  28266 #ifndef NOFRILLS
 I1	  28267 _PROTOTYP( int yystring, (char *, char **) );
       E	 int yystring ( char * , char * * )
 I1	  28268 #endif /* NOFRILLS */
 I1	  28269 _PROTOTYP( int getncm, (char *, int) );
       E	 int getncm ( char * , int )
 I1	  28270 _PROTOTYP( int getnct, (char *, int, FILE *, int) );
       E	 int getnct ( char * , int , FILE * , int )
 I1	  28271 #endif /* NOICP */
 I1	  28272 _PROTOTYP( VOID bgchk, (void) );
       E	 void bgchk ( void )
 I1	  28273 _PROTOTYP( char * nvlook, (char *) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 509
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

       E	 char * nvlook ( char * )
 I1	  28274 _PROTOTYP( int xarray, (char *) );
       E	 int xarray ( char * )
 I1	  28275 _PROTOTYP( int arraynam, (char *, int *, int *) );
       E	 int arraynam ( char * , int * , int * )
 I1	  28276 _PROTOTYP( int arraybounds, (char *, int *, int *) );
       E	 int arraybounds ( char * , int * , int * )
 I1	  28277 _PROTOTYP( int boundspair, (char *, char *, int *, int *, char *) );
       E	 int boundspair ( char * , char * , int * , int * , char * )
 I1	  28278 _PROTOTYP( int arrayitoa, (int) );
       E	 int arrayitoa ( int )
 I1	  28279 _PROTOTYP( int arrayatoi, (int) );
       E	 int arrayatoi ( int )
 I1	  28280 _PROTOTYP( char * bldlen, (char *, char *) );
       E	 char * bldlen ( char * , char * )
 I1	  28281 _PROTOTYP( int chkarray, (int, int) );
       E	 int chkarray ( int , int )
 I1	  28282 _PROTOTYP( int dclarray, (char, int) );
       E	 int dclarray ( char , int )
 I1	  28283 _PROTOTYP( int pusharray, (int, int) );
       E	 int pusharray ( int , int )
 I1	  28284 _PROTOTYP( int parsevar, (char *, int *, int *) );
       E	 int parsevar ( char * , int * , int * )
 I1	  28285 _PROTOTYP( int macini, (void) );
       E	 int macini ( void )
 I1	  28286 _PROTOTYP( VOID initmac, (void) );
       E	 void initmac ( void )
 I1	  28287 _PROTOTYP( int delmac, (char *, int) );
       E	 int delmac ( char * , int )
 I1	  28288 _PROTOTYP( int addmac, (char *, char *) );
       E	 int addmac ( char * , char * )
 I1	  28289 _PROTOTYP( int domac, (char *, char *, int) );
       E	 int domac ( char * , char * , int )
 I1	  28290 _PROTOTYP( int addmmac, (char *, char *[]) );
       E	 int addmmac ( char * , char * [ ] )
 I1	  28291 _PROTOTYP( int dobug, (void) );
       E	 int dobug ( void )
 I1	  28292 _PROTOTYP( int docd, (int) );
       E	 int docd ( int )
 I1	  28293 _PROTOTYP( int doclslog, (int) );
       E	 int doclslog ( int )
 I1	  28294 _PROTOTYP( int docmd, (int) );
       E	 int docmd ( int )
 I1	  28295 _PROTOTYP( int dodir, (int) );
       E	 int dodir ( int )
 I1	  28296 _PROTOTYP( int dodo, (int, char *, int) );
       E	 int dodo ( int , char * , int )
 I1	  28297 _PROTOTYP( int doenable, (int, int) );
       E	 int doenable ( int , int )
 I1	  28298 _PROTOTYP( int dogoto, (char *, int) );
       E	 int dogoto ( char * , int )
 I1	  28299 _PROTOTYP( int dogta, (int) );
       E	 int dogta ( int )
 I1	  28300 _PROTOTYP( int dohlp, (int) );
       E	 int dohlp ( int )
 I1	  28301 _PROTOTYP (int doincr, (int) );
       E	 int doincr ( int )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 510
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28302 _PROTOTYP( int dohrmt, (int) );
       E	 int dohrmt ( int )
 I1	  28303 _PROTOTYP( int doif, (int) );
       E	 int doif ( int )
 I1	  28304 _PROTOTYP( int doinput, (int, char *[], int[], int, int) );
       E	 int doinput ( int , char * [ ] , int [ ] , int , int )
 I1	  28305 _PROTOTYP( int doreinp, (int, char *, int) );
       E	 int doreinp ( int , char * , int )
 I1	  28306 _PROTOTYP( int dolog, (int) );
       E	 int dolog ( int )
 I1	  28307 _PROTOTYP( int dologin, (char *) );
       E	 int dologin ( char * )
 I1	  28308 _PROTOTYP( int doopen, (void) );
       E	 int doopen ( void )
 I1	  28309 _PROTOTYP( int doprm, (int, int) );
       E	 int doprm ( int , int )
 I1	  28310 _PROTOTYP( int doreturn, (char *) );
       E	 int doreturn ( char * )
 I1	  28311 _PROTOTYP( int dormt, (int) );
       E	 int dormt ( int )
 I1	  28312 _PROTOTYP( int dosort, (void) );
       E	 int dosort ( void )
 I1	  28313 _PROTOTYP( int dostat, (int) );
       E	 int dostat ( int )
 I1	  28314 _PROTOTYP( int dostop, (void) );
       E	 int dostop ( void )
 I1	  28315 _PROTOTYP( int dotype, (char *, int, int, int, char *, int, char *, int, int,
       E	 int dotype ( char * , int , int , int , char * , int , char * , int , int , char * , int )
 I1	  28316 			char *, int));
 I1	  28317 _PROTOTYP( int transmit, (char *, char, int, int, int) );
       E	 int transmit ( char * , char , int , int , int )
 I1	  28318 _PROTOTYP( int xlate, (char *, char *, int, int) );
       E	 int xlate ( char * , char * , int , int )
 I1	  28319 _PROTOTYP( int litcmd, (char **, char **, int) );
       E	 int litcmd ( char * * , char * * , int )
 I1	  28320 _PROTOTYP( int incvar, (char *, CK_OFF_T, int) );
       E	 int incvar ( char * , off_t , int )
 I1	  28321 _PROTOTYP( int ckdial, (char *, int, int, int, int) );
       E	 int ckdial ( char * , int , int , int , int )
 I1	  28322 _PROTOTYP( int hmsg, (char *) );
       E	 int hmsg ( char * )
 I1	  28323 _PROTOTYP( int hmsga, (char * []) );
       E	 int hmsga ( char * [ ] )
 I1	  28324 _PROTOTYP( int prtopt, (int *, char *) );
       E	 int prtopt ( int * , char * )
 I1	  28325 _PROTOTYP( CHAR rfilop, (char *, char) );
       E	 CHAR rfilop ( char * , char )
 I1	  28326 _PROTOTYP( int setcc, (char *, int *) );
       E	 int setcc ( char * , int * )
 I1	  28327 _PROTOTYP( int setnum, (int *, int, int, int) );
       E	 int setnum ( int * , int , int , int )
 I1	  28328 _PROTOTYP( int seton, (int *) );
       E	 int seton ( int * )
 I1	  28329 _PROTOTYP( int setonaut, (int *) );
       E	 int setonaut ( int * )
 I1	  28330 _PROTOTYP( VOID shmdmlin, (void) );
       E	 void shmdmlin ( void )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 511
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28331 _PROTOTYP( VOID initmdm, (int) );
       E	 void initmdm ( int )
 I1	  28332 _PROTOTYP( char * showoff, (int) );
       E	 char * showoff ( int )
 I1	  28333 _PROTOTYP( char * showooa, (int) );
       E	 char * showooa ( int )
 I1	  28334 _PROTOTYP( char * showstring, (char *) );
       E	 char * showstring ( char * )
 I1	  28335 _PROTOTYP( int pktopn, (char *,int) );
       E	 int pktopn ( char * , int )
 I1	  28336 _PROTOTYP( int traopn, (char *,int) );
       E	 int traopn ( char * , int )
 I1	  28337 _PROTOTYP( int sesopn, (char *,int) );
       E	 int sesopn ( char * , int )
 I1	  28338 _PROTOTYP( int debopn, (char *,int) );
       E	 int debopn ( char * , int )
 I1	  28339 _PROTOTYP( int diaopn, (char *,int,int) );
       E	 int diaopn ( char * , int , int )
 I1	  28340 _PROTOTYP( int prepop, (void) );
       E	 int prepop ( void )
 I1	  28341 _PROTOTYP( int popclvl, (void) );
       E	 int popclvl ( void )
 I1	  28342 _PROTOTYP( int varval, (char *, CK_OFF_T *) );
       E	 int varval ( char * , off_t * )
 I1	  28343 _PROTOTYP( char * evala, (char *) );
       E	 char * evala ( char * )
 I1	  28344 _PROTOTYP( char * evalx, (char *) );
       E	 char * evalx ( char * )
 I1	  28345 _PROTOTYP( int setalarm, (long) );
       E	 int setalarm ( long )
 I1	  28346 _PROTOTYP( int setat, (int) );
       E	 int setat ( int )
 I1	  28347 _PROTOTYP( int setinp, (void) );
       E	 int setinp ( void )
 I1	  28348 _PROTOTYP( VOID dolognet, (void) );
       E	 void dolognet ( void )
 I1	  28349 _PROTOTYP( VOID dologline, (void) );
       E	 void dologline ( void )
 I1	  28350 _PROTOTYP( int setlin, (int, int, int) );
       E	 int setlin ( int , int , int )
 I1	  28351 _PROTOTYP( int setmodem, (void) );
       E	 int setmodem ( void )
 I1	  28352 _PROTOTYP( int setfil, (int) );
       E	 int setfil ( int )
 I1	  28353 _PROTOTYP( char * homepath, (void) );
       E	 char * homepath ( void )
 I1    X  28354 #ifdef OS2
 I1    X  28355 #ifdef COMMENT
 I1    X  28356 /* [jt] 2013/11/21 - static/non-static issue */
 I1    X  28357 _PROTOTYP( int settapi, (void) ) ;
 I1    X  28358 #endif /* COMMENT */
 I1    X  28359 #ifdef OS2MOUSE
 I1    X  28360 _PROTOTYP( int setmou, (void) );
 I1    X  28361 #endif /* OS2MOUSE */
 I1    X  28362 #endif /* OS2 */
 I1	  28363 #ifdef LOCUS
 I1	  28364 _PROTOTYP( VOID setlocus, (int,int) );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 512
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

       E	 void setlocus ( int , int )
 I1	  28365 _PROTOTYP( VOID setautolocus, (int) );
       E	 void setautolocus ( int )
 I1	  28366 #endif /* LOCUS */
 I1	  28367 _PROTOTYP( int setbell, (void) );
       E	 int setbell ( void )
 I1	  28368 _PROTOTYP( VOID setcmask, (int));
       E	 void setcmask ( int )
 I1	  28369 _PROTOTYP( VOID setautodl, (int,int));
       E	 void setautodl ( int , int )
 I1	  28370 _PROTOTYP( VOID setdebses, (int));
       E	 void setdebses ( int )
 I1	  28371 _PROTOTYP( VOID setseslog, (int));
       E	 void setseslog ( int )
 I1	  28372 _PROTOTYP( VOID setaprint, (int));
       E	 void setaprint ( int )
 I1	  28373 _PROTOTYP( int settrm, (void) );
       E	 int settrm ( void )
 I1	  28374 _PROTOTYP( int settrmtyp, (void) );
       E	 int settrmtyp ( void )
 I1	  28375 _PROTOTYP( int setsr, (int, int) );
       E	 int setsr ( int , int )
 I1	  28376 _PROTOTYP( int setxmit, (void) );
       E	 int setxmit ( void )
 I1	  28377 _PROTOTYP( int dosetkey, (void) );
       E	 int dosetkey ( void )
 I1	  28378 _PROTOTYP( int dochk, (void) );
       E	 int dochk ( void )
 I1	  28379 _PROTOTYP( int ludial, (char *, int) );
       E	 int ludial ( char * , int )
 I1	  28380 _PROTOTYP( char * getdnum, (int) );
       E	 char * getdnum ( int )
 I1	  28381 _PROTOTYP( VOID getnetenv, (void) );
       E	 void getnetenv ( void )
 I1	  28382 _PROTOTYP( int getyesno, (char *, int) );
       E	 int getyesno ( char * , int )
 I1	  28383 _PROTOTYP( VOID xwords, (char *, int, char *[], int) );
       E	 void xwords ( char * , int , char * [ ] , int )
 I1    X  28384 #ifdef OS2
 I1    X  28385 _PROTOTYP( VOID keynaminit, (void) );
 I1    X  28386 #endif /* OS2 */
 I1	  28387 _PROTOTYP( int xlookup, (struct keytab[], char *, int, int *) );
       E	 int xlookup ( struct keytab [ ] , char * , int , int * )
 I1	  28388 _PROTOTYP( char * rlookup, (struct keytab[], int, int) );
       E	 char * rlookup ( struct keytab [ ] , int , int )
 I1	  28389 _PROTOTYP( int hupok, (int) );
       E	 int hupok ( int )
 I1	  28390 _PROTOTYP( char * zzndate, (void) );
       E	 char * zzndate ( void )
 I1	  28391 _PROTOTYP( char * zjdate, (char *) );
       E	 char * zjdate ( char * )
 I1	  28392 _PROTOTYP( char * jzdate, (char *) );
       E	 char * jzdate ( char * )
 I1	  28393 _PROTOTYP( char * ckdate, (void) );
       E	 char * ckdate ( void )
 I1	  28394 _PROTOTYP( char * chk_ac, (int, char[]) );
       E	 char * chk_ac ( int , char [ ] )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 513
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28395 _PROTOTYP( char * gmdmtyp, (void) );
       E	 char * gmdmtyp ( void )
 I1	  28396 _PROTOTYP( char * gfmode, (int, int) );
       E	 char * gfmode ( int , int )
 I1	  28397 _PROTOTYP( int setdest, (void) );
       E	 int setdest ( void )
 I1	  28398 _PROTOTYP( VOID ndinit, (void) );
       E	 void ndinit ( void )
 I1	  28399 _PROTOTYP( int doswitch, (void) );
       E	 int doswitch ( void )
 I1	  28400 _PROTOTYP( int dolocal, (void) );
       E	 int dolocal ( void )
 I1	  28401 _PROTOTYP( long tod2sec, (char *) );
       E	 long tod2sec ( char * )
 I1	  28402 _PROTOTYP( int lunet, (char *) );
       E	 int lunet ( char * )
 I1	  28403 _PROTOTYP( int doxdis, (int) );
       E	 int doxdis ( int )
 I1	  28404 _PROTOTYP( int dosave, (int) );
       E	 int dosave ( int )
 I1	  28405 _PROTOTYP( int doxsend, (int) );
       E	 int doxsend ( int )
 I1	  28406 _PROTOTYP( int doxget, (int) );
       E	 int doxget ( int )
 I1	  28407 _PROTOTYP( int doxconn, (int) );
       E	 int doxconn ( int )
 I1	  28408 _PROTOTYP( int clsconnx, (int) );
       E	 int clsconnx ( int )
 I1	  28409 _PROTOTYP( VOID ftreset, (void) );
       E	 void ftreset ( void )
 I1    X  28410 #ifdef CK_KERBEROS
 I1    X  28411 _PROTOTYP (int cp_auth, ( void ) );
 I1    X  28412 #endif /* CK_KERBEROS */
 I1	  28413 _PROTOTYP( long mjd, (char *) );
       E	 long mjd ( char * )
 I1	  28414 _PROTOTYP( char * mjd2date, (long) );
       E	 char * mjd2date ( long )
 I1	  28415 _PROTOTYP( char * ckgetpid, (void) );
       E	 char * ckgetpid ( void )
 I1	  28416 
 I1	  28417 _PROTOTYP( int dogrep, (void) );
       E	 int dogrep ( void )
 I1	  28418 
 I1	  28419 #ifndef NOFTP
 I1	  28420 #ifndef SYSFTP
 I1	  28421 _PROTOTYP( int doxftp, (void) );
       E	 int doxftp ( void )
 I1	  28422 _PROTOTYP( int doftphlp, (void) );
       E	 int doftphlp ( void )
 I1	  28423 _PROTOTYP( int dosetftp, (void) );
       E	 int dosetftp ( void )
 I1	  28424 _PROTOTYP( int dosetftphlp, (void) );
       E	 int dosetftphlp ( void )
 I1	  28425 _PROTOTYP( int shoftp, (int) );
       E	 int shoftp ( int )
 I1	  28426 #endif /* SYSFTP */
 I1	  28427 #endif /* NOFTP */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 514
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28428 
 I1	  28429 _PROTOTYP( VOID cmhistory, (void) );
       E	 void cmhistory ( void )
 I1	  28430 _PROTOTYP( char * getdcset, (void) );
       E	 char * getdcset ( void )
 I1	  28431 _PROTOTYP( char * ttgtpn, (void) );
       E	 char * ttgtpn ( void )
 I1	  28432 
 I1	  28433 #ifndef NOSHOW
 I1	  28434 _PROTOTYP( int doshow, (int) );
       E	 int doshow ( int )
 I1	  28435 _PROTOTYP( int shotcp, (int) );
       E	 int shotcp ( int )
 I1	  28436 _PROTOTYP( VOID shopar, (void) );
       E	 void shopar ( void )
 I1	  28437 _PROTOTYP( VOID shofil, (void) );
       E	 void shofil ( void )
 I1	  28438 _PROTOTYP( VOID shoparp, (void) );
       E	 void shoparp ( void )
 I1	  28439 _PROTOTYP( int shoatt, (void) );
       E	 int shoatt ( void )
 I1	  28440 _PROTOTYP( VOID shover, (void) );
       E	 void shover ( void )
 I1	  28441 _PROTOTYP( VOID shoctl, (void) );
       E	 void shoctl ( void )
 I1	  28442 _PROTOTYP( VOID shodbl, (void) );
       E	 void shodbl ( void )
 I1	  28443 #ifndef NOSPL
 I1	  28444 _PROTOTYP( int shomac, (char *, char *) );
       E	 int shomac ( char * , char * )
 I1	  28445 _PROTOTYP( int doshift, (int) );
       E	 int doshift ( int )
 I1	  28446 #endif /* NOSPL */
 I1	  28447 #ifndef NOCSETS
 I1	  28448 _PROTOTYP( VOID shocharset, (void) );
       E	 void shocharset ( void )
 I1	  28449 _PROTOTYP( VOID shoparl, (void) );
       E	 void shoparl ( void )
 I1	  28450 _PROTOTYP( VOID shotcs, (int, int) );
       E	 void shotcs ( int , int )
 I1	  28451 #endif /* NOCSETS */
 I1	  28452 #ifndef NOLOCAL
 I1	  28453 _PROTOTYP( VOID shoparc, (void) );
       E	 void shoparc ( void )
 I1	  28454 _PROTOTYP( int shomodem, (void) );
       E	 int shomodem ( void )
 I1	  28455 #ifndef NODIAL
 I1	  28456 _PROTOTYP( VOID shods, (char *) );
       E	 void shods ( char * )
 I1	  28457 _PROTOTYP( VOID shodial, (void) );
       E	 void shodial ( void )
 I1	  28458 _PROTOTYP( int doshodial, (void) );
       E	 int doshodial ( void )
 I1	  28459 #endif /* NODIAL */
 I1	  28460 #ifndef NONET
 I1	  28461 _PROTOTYP( int shonet, (void) );
       E	 int shonet ( void )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 515
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28462 _PROTOTYP( int shotopt, (int) );
       E	 int shotopt ( int )
 I1	  28463 _PROTOTYP( int shotel, (int) );
       E	 int shotel ( int )
 I1	  28464 #ifdef CK_AUTHENTICATION
 I1	  28465 _PROTOTYP (int sho_auth,( int  ) );
       E	 int sho_auth ( int )
 I1	  28466 #endif /* CK_AUTHENTICATION */
 I1	  28467 #endif /* NONET */
 I1	  28468 _PROTOTYP( VOID shomdm, (void) );
       E	 void shomdm ( void )
 I1	  28469 #endif /* NOLOCAL */
 I1    X  28470 #ifdef OS2
 I1    X  28471 _PROTOTYP( VOID shokeycode, (int,int) );
 I1    X  28472 #else
 I1	  28473 _PROTOTYP( VOID shokeycode, (int) );
       E	 void shokeycode ( int )
 I1	  28474 #endif /* OS2 */
 I1	  28475 _PROTOTYP( VOID showassoc, (void) );
       E	 void showassoc ( void )
 I1	  28476 _PROTOTYP( VOID showdiropts, (void) );
       E	 void showdiropts ( void )
 I1	  28477 _PROTOTYP( VOID showdelopts, (void) );
       E	 void showdelopts ( void )
 I1	  28478 _PROTOTYP( VOID showtypopts, (void) );
       E	 void showtypopts ( void )
 I1	  28479 _PROTOTYP( VOID showpurgopts, (void) );
       E	 void showpurgopts ( void )
 I1	  28480 _PROTOTYP( VOID shoflow, (void) );
       E	 void shoflow ( void )
 I1	  28481 _PROTOTYP( VOID shoxfer, (void) );
       E	 void shoxfer ( void )
 I1    X  28482 #ifdef ANYSSH
 I1    X  28483 _PROTOTYP( VOID shossh, (void) );
 I1    X  28484 #endif	/* ANYSSH */
 I1	  28485 #endif /* NOSHOW */
 I1	  28486 
 I1	  28487 _PROTOTYP( VOID shostrdef, (CHAR *) );
       E	 void shostrdef ( CHAR * )
 I1	  28488 
 I1	  28489 #ifndef NOSPL
 I1	  28490 _PROTOTYP( int addlocal, (char *) );
       E	 int addlocal ( char * )
 I1	  28491 #endif /* NOSPL */
 I1	  28492 
 I1	  28493 _PROTOTYP( int setdelopts, (void) );
       E	 int setdelopts ( void )
 I1	  28494 
 I1	  28495 #ifdef VMS
 I1	  28496 _PROTOTYP( int cvtdir, (char *, char *, int) );
       E	 int cvtdir ( char * , char * , int )
 I1	  28497 #endif /* VMS */
 I1	  28498 
 I1	  28499 #ifdef FNFLOAT
 I1	  28500 _PROTOTYP( VOID initfloat, (void) );
       E	 void initfloat ( void )
 I1	  28501 #endif /* FNFLOAT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 516
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

 I1	  28502 
 I1	  28503 #ifdef CKCHANNELIO
 I1	  28504 _PROTOTYP( int dofile, (int) );
       E	 int dofile ( int )
 I1	  28505 #endif /* CKCHANNELIO */
 I1	  28506 
 I1    X  28507 #ifdef CKROOT
 I1    X  28508 _PROTOTYP( int dochroot, (void) );
 I1    X  28509 #endif /* CKROOT */
 I1	  28510 
 I1	  28511 #ifdef NEWFTP
 I1	  28512 _PROTOTYP( int doftpusr,    (void) );
       E	 int doftpusr ( void )
 I1	  28513 _PROTOTYP( int doftpput,    (int,int) );
       E	 int doftpput ( int , int )
 I1	  28514 _PROTOTYP( int doftpget,    (int,int) );
       E	 int doftpget ( int , int )
 I1	  28515 _PROTOTYP( int doftprmt,    (int,int) );
       E	 int doftprmt ( int , int )
 I1	  28516 _PROTOTYP( int ftpopen,     (char *, char *, int) );
       E	 int ftpopen ( char * , char * , int )
 I1	  28517 _PROTOTYP( int cmdlinget,   (int) );
       E	 int cmdlinget ( int )
 I1	  28518 _PROTOTYP( int cmdlinput,   (int) );
       E	 int cmdlinput ( int )
 I1	  28519 _PROTOTYP( int doftparg,    (char) );
       E	 int doftparg ( char )
 I1	  28520 _PROTOTYP( int doftpacct,   (void) );
       E	 int doftpacct ( void )
 I1	  28521 _PROTOTYP( int doftpsite,   (void) );
       E	 int doftpsite ( void )
 I1	  28522 _PROTOTYP( int dosetftppsv, (void) );
       E	 int dosetftppsv ( void )
 I1	  28523 _PROTOTYP( int ftpbye,      (void) );
       E	 int ftpbye ( void )
 I1	  28524 #endif /* NEWFTP */
 I1	  28525 
 I1    X  28526 #ifdef COMMENT
 I1    X  28527 /* These prototypes are no longer used */
 I1    X  28528 _PROTOTYP( char * getdws, (int) );
 I1    X  28529 _PROTOTYP( char * getdcs, (int) );
 I1    X  28530 _PROTOTYP( int doget, (int) );
 I1    X  28531 _PROTOTYP( char * arrayval, (int, int) );
 I1    X  28532 #endif /* COMMENT */
 I1	  28533 
 I1    X  28534 #ifdef KUI
 I1    X  28535 _PROTOTYP(int BuildFontTable,
 I1    X  28536           (struct keytab ** pTable, struct keytab ** pTable2, int * pN));
 I1    X  28537 #endif /* KUI */
 I1	  28538 
 I1	  28539 _PROTOTYP(int cx_net, (int net, int protocol, char * xhost, char * svc, 
       E	 int cx_net ( int net , int protocol , char * xhost , char * svc , char * username , char * password , char * comman
       E	d , int param1 , int param2 , int param3 , int cx , int sx , int flag , int gui )
 I1	  28540         char * username, char * password, char * command,
 I1	  28541         int param1, int param2, int param3, 
 I1	  28542         int cx, int sx, int flag, int gui));
 I1	  28543 _PROTOTYP(int cx_serial, (char *device, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 517
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckuusr.h;1

       E	 int cx_serial ( char * device , int cx , int sx , int shr , int flag , int gui , int special )
 I1	  28544         int cx, int sx, int shr, int flag, int gui, int special));
 I1	  28545 
 I1	  28546 #endif /* CKUUSR_H */
 I1	  28547 
 I1	  28548 /* End of ckuusr.h */
	  28549 #include "ckcnet.h"                     /* Includes ckctel.h */
 I1	  28550 /* ckcnet.h -- Symbol and macro definitions for C-Kermit network support */
 I1	  28551 
 I1	  28552 /*
 I1	  28553   Author: Frank da Cruz <fdc@columbia.edu>
 I1	  28554   Columbia University Academic Information Systems, New York City.
 I1	  28555 
 I1	  28556   Copyright (C) 1985, 2023,
 I1	  28557     Trustees of Columbia University in the City of New York.
 I1	  28558     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  28559     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  28560 */
 I1	  28561 #ifndef CKCNET_H
 I1	  28562 #define CKCNET_H
 I1	  28563 
 I1	  28564 /* Network types */
 I1	  28565 
 I1	  28566 #define NET_NONE 0                      /* None */
 I1	  28567 #define NET_TCPB 1                      /* TCP/IP Berkeley (socket) */
 I1	  28568 #define NET_TCPA 2                      /* TCP/IP AT&T (streams) */
 I1	  28569 #define NET_SX25 3                      /* SUNOS SunLink X.25 */
 I1	  28570 #define NET_DEC  4                      /* DECnet */
 I1	  28571 #define NET_VPSI 5                      /* VAX PSI */
 I1	  28572 #define NET_PIPE 6                      /* LAN Manager Named Pipe */
 I1	  28573 #define NET_VX25 7                      /* Stratus VOS X.25 */
 I1	  28574 #define NET_BIOS 8                      /* IBM NetBios */
 I1	  28575 #define NET_SLAT 9                      /* Meridian Technologies' SuperLAT */
 I1	  28576 #define NET_FILE 10                     /* Read from a file */
 I1	  28577 #define NET_CMD  11                     /* Read from a sub-process */
 I1	  28578 #define NET_DLL  12                     /* Load a DLL for use as comm channel*/
 I1	  28579 #define NET_IX25 13                     /* IBM AIX 4.1 X.25 */
 I1	  28580 #define NET_HX25 14                     /* HP-UX 10 X.25 */
 I1	  28581 #define NET_PTY  15                     /* Pseudoterminal */
 I1	  28582 #define NET_SSH  16                     /* SSH */
 I1	  28583 
 I1    X  28584 #ifdef OS2                              /* In OS/2, only the 32-bit */
 I1    X  28585 #ifndef __32BIT__                       /* version gets NETBIOS */
 I1    X  28586 #ifdef CK_NETBIOS
 I1    X  28587 #undef CK_NETBIOS
 I1    X  28588 #endif /* CK_NETBIOS */
 I1    X  28589 #endif /* __32BIT__ */
 I1    X  28590 #endif /* OS2 */
 I1	  28591 
 I1    X  28592 #ifdef _M_PPC
 I1    X  28593 #ifdef SUPERLAT
 I1    X  28594 #undef SUPERLAT
 I1    X  28595 #endif /* SUPERLAT */
 I1    X  28596 #endif /* _M_PPC */
 I1	  28597 
 I1    X  28598 #ifdef NPIPE                            /* For items in common to */
 I1    X  28599 #define NPIPEORBIOS                     /* Named Pipes and NETBIOS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 518
V1.0                                                            24-MAR-2023 08:29:21  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  28600 #endif /* NPIPE */
 I1    X  28601 #ifdef CK_NETBIOS
 I1    X  28602 #ifndef NPIPEORBIOS
 I1    X  28603 #define NPIPEORBIOS
 I1    X  28604 #endif /* NPIPEORBIOS */
 I1    X  28605 #endif /* CK_NETBIOS */
 I1	  28606 
 I1	  28607 /* Network virtual terminal protocols (for SET HOST connections) */
 I1	  28608 /* FTP, HTTP and SSH have their own stacks                       */
 I1	  28609 
 I1	  28610 #define NP_DEFAULT    255
 I1	  28611 #define NP_NONE         0               /* None (async) */
 I1	  28612 #define NP_TELNET       1               /* TCP/IP telnet */
 I1	  28613 #define NP_VTP          2               /* ISO Virtual Terminal Protocol */
 I1	  28614 #define NP_X3           3               /* CCITT X.3 */
 I1	  28615 #define NP_X28          4               /* CCITT X.28 */
 I1	  28616 #define NP_X29          5               /* CCITT X.29 */
 I1	  28617 #define NP_RLOGIN       6               /* TCP/IP Remote login */
 I1	  28618 #define NP_KERMIT       7               /* TCP/IP Kermit */
 I1	  28619 #define NP_TCPRAW       8               /* TCP/IP Raw socket */
 I1	  28620 #define NP_TCPUNK       9               /* TCP/IP Unknown */
 I1	  28621 #define NP_SSL         10               /* TCP/IP SSLv23 */
 I1	  28622 #define NP_TLS         11               /* TCP/IP TLSv1 */
 I1	  28623 #define NP_SSL_TELNET  12               /* TCP/IP Telnet over SSLv23 */
 I1	  28624 #define NP_TLS_TELNET  13               /* TCP/IP Telnet over TLSv1 */
 I1	  28625 #define NP_K4LOGIN     14               /* TCP/IP Kerberized remote login */
 I1	  28626 #define NP_EK4LOGIN    15               /* TCP/IP Encrypted Kerberized ... */
 I1	  28627 #define NP_K5LOGIN     16               /* TCP/IP Kerberized remote login */
 I1	  28628 #define NP_EK5LOGIN    17               /* TCP/IP Encrypted Kerberized ... */
 I1	  28629 #define NP_K5U2U       18               /* TCP/IP Kerberos 5 User to User */
 I1	  28630 #define NP_CTERM       19               /* DEC CTERM */
 I1	  28631 #define NP_LAT         20               /* DEC LAT */
 I1	  28632 #define NP_SSL_RAW     21		/* SSL with no Telnet permitted */
 I1	  28633 #define NP_TLS_RAW     22		/* TLS with no Telnet permitted */
 I1	  28634 
 I1	  28635 /* others here... */
 I1	  28636 
 I1	  28637 #ifdef CK_SSL
 I1	  28638 #define IS_TELNET()      (nettype == NET_TCPB && (ttnproto == NP_TELNET \
 I1	  28639                          || ttnproto == NP_SSL_TELNET \
 I1	  28640                          || ttnproto == NP_TLS_TELNET \
 I1	  28641                          || ttnproto == NP_KERMIT))
 I1    X  28642 #else /* CK_SSL */
 I1	  28643 #define IS_TELNET()      (nettype == NET_TCPB && (ttnproto == NP_TELNET \
 I1    X  28644                          || ttnproto == NP_KERMIT))
 I1    X  28645 #endif /* CK_SSL */
 I1	  28646 
 I1    X  28647 #ifdef CK_KERBEROS
 I1    X  28648 #ifdef KRB5
 I1    X  28649 #ifdef KRB4
 I1    X  28650 #define IS_RLOGIN()      (nettype == NET_TCPB && (ttnproto == NP_RLOGIN \
 I1    X  28651                          || ttnproto == NP_K5LOGIN \
 I1    X  28652                          || ttnproto == NP_EK5LOGIN \
 I1    X  28653                          || ttnproto == NP_K4LOGIN \
 I1    X  28654                          || ttnproto == NP_EK4LOGIN \
 I1    X  28655                          ))
 I1    X  28656 #else /* KRB4 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 519
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  28657 #define IS_RLOGIN()      (nettype == NET_TCPB && (ttnproto == NP_RLOGIN \
 I1    X  28658                          || ttnproto == NP_K5LOGIN \
 I1    X  28659                          || ttnproto == NP_EK5LOGIN \
 I1    X  28660                          ))
 I1    X  28661 #endif /* KRB4 */
 I1    X  28662 #else /* KRB5 */
 I1    X  28663 #ifdef KRB4
 I1    X  28664 #define IS_RLOGIN()      (nettype == NET_TCPB && (ttnproto == NP_RLOGIN \
 I1    X  28665                          || ttnproto == NP_K4LOGIN \
 I1    X  28666                          || ttnproto == NP_EK4LOGIN \
 I1    X  28667                          ))
 I1    X  28668 #else /* KRB4 */
 I1    X  28669 KERBEROS defined without either KRB4 or KRB5
 I1    X  28670 #endif /* KRB4 */
 I1    X  28671 #endif /* KRB5 */
 I1    X  28672 #else /* CK_KERBEROS */
 I1	  28673 #define IS_RLOGIN()      (nettype == NET_TCPB && (ttnproto == NP_RLOGIN))
 I1	  28674 #endif /* CK_KERBEROS */
 I1	  28675 
 I1	  28676 #define IS_SSH()         (nettype == NET_SSH)
 I1	  28677 
 I1	  28678 /* RLOGIN Modes */
 I1	  28679 #define    RL_RAW     0                 /*  Do Not Process XON/XOFF */
 I1	  28680 #define    RL_COOKED  1                 /*  Do Process XON/XOFF */
 I1	  28681 
 I1	  28682 /* Encryption types */
 I1	  28683 
 I1	  28684 #define CX_NONE    999
 I1	  28685 
 I1    X  28686 #ifdef ENCTYPE_ANY
 I1    X  28687 #define CX_AUTO ENCTYPE_ANY
 I1    X  28688 #else
 I1	  28689 #define CX_AUTO 0
 I1	  28690 #endif /* ENCTYPE_ANY */
 I1	  28691 
 I1    X  28692 #ifdef ENCTYPE_DES_CFB64
 I1    X  28693 #define CX_DESC64 ENCTYPE_DES_CFB64
 I1    X  28694 #else
 I1	  28695 #define CX_DESC64 1
 I1	  28696 #endif /* ENCTYPE_DES_CFB64 */
 I1	  28697 
 I1    X  28698 #ifdef ENCTYPE_DES_OFB64
 I1    X  28699 #define CX_DESO64 ENCTYPE_DES_OFB64
 I1    X  28700 #else
 I1	  28701 #define CX_DESO64 2
 I1	  28702 #endif /* ENCTYPE_DES_OFB64 */
 I1	  28703 
 I1    X  28704 #ifdef ENCTYPE_DES3_CFB64
 I1    X  28705 #define CX_DES3C64 ENCTYPE_DES3_CFB64
 I1    X  28706 #else
 I1	  28707 #define CX_DES3C64 3
 I1	  28708 #endif /* ENCTYPE_DES_CFB64 */
 I1	  28709 
 I1    X  28710 #ifdef ENCTYPE_DES3_OFB64
 I1    X  28711 #define CX_DESO64 ENCTYPE_DES3_OFB64
 I1    X  28712 #else
 I1	  28713 #define CX_DES3O64 4

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 520
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  28714 #endif /* ENCTYPE_DES_OFB64 */
 I1	  28715 
 I1    X  28716 #ifdef ENCTYPE_CAST5_40_CFB64
 I1    X  28717 #define CX_C540C64 ENCTYPE_CAST5_40_CFB64
 I1    X  28718 #else
 I1	  28719 #define CX_C540C64 8
 I1	  28720 #endif /* ENCTYPE_CAST5_40_CFB64 */
 I1	  28721 
 I1    X  28722 #ifdef ENCTYPE_CAST5_40_OFB64
 I1    X  28723 #define CX_C540O64 ENCTYPE_CAST5_40_OFB64
 I1    X  28724 #else
 I1	  28725 #define CX_C540O64 9
 I1	  28726 #endif /* ENCTYPE_CAST5_40_OFB64 */
 I1	  28727 
 I1    X  28728 #ifdef ENCTYPE_CAST128_CFB64
 I1    X  28729 #define CX_C128C64 ENCTYPE_CAST128_CFB64
 I1    X  28730 #else
 I1	  28731 #define CX_C128C64 10
 I1	  28732 #endif /* ENCTYPE_CAST128_CFB64 */
 I1	  28733 
 I1    X  28734 #ifdef ENCTYPE_CAST128_OFB64
 I1    X  28735 #define CX_C128O64 ENCTYPE_CAST128_OFB64
 I1    X  28736 #else
 I1	  28737 #define CX_C128O64 11
 I1	  28738 #endif /* ENCTYPE_CAST128_OFB64 */
 I1	  28739 
 I1	  28740 /* Basic network function prototypes, common to all. */
 I1	  28741 
 I1	  28742 _PROTOTYP( int netopen, (char *, int *, int) );
       E	 int netopen ( char * , int * , int )
 I1	  28743 _PROTOTYP( int netclos, (void) );
       E	 int netclos ( void )
 I1	  28744 _PROTOTYP( int netflui, (void) );
       E	 int netflui ( void )
 I1	  28745 _PROTOTYP( int nettchk, (void) );
       E	 int nettchk ( void )
 I1	  28746 _PROTOTYP( int netxchk, (int) );
       E	 int netxchk ( int )
 I1	  28747 _PROTOTYP( int netbreak, (void) );
       E	 int netbreak ( void )
 I1	  28748 _PROTOTYP( int netinc, (int) );
       E	 int netinc ( int )
 I1	  28749 _PROTOTYP( int netxin, (int, CHAR *) );
       E	 int netxin ( int , CHAR * )
 I1	  28750 _PROTOTYP( int nettol, (CHAR *, int) );
       E	 int nettol ( CHAR * , int )
 I1	  28751 _PROTOTYP( int nettoc, (CHAR) );
       E	 int nettoc ( CHAR )
 I1	  28752 _PROTOTYP( int net_read, (int fd, register char *buf, register int len) );
       E	 int net_read ( int fd , register char * buf , register int len )
 I1	  28753 _PROTOTYP( int net_write, (int fd, register const char *buf, int len) );
       E	 int net_write ( int fd , register const char * buf , int len )
 I1	  28754 _PROTOTYP( int rlog_ctrl, (unsigned char *cp, int n) );
       E	 int rlog_ctrl ( unsigned char * cp , int n )
 I1	  28755 _PROTOTYP( int locate_txt_rr, (char *prefix, char *name, char **retstr) );
       E	 int locate_txt_rr ( char * prefix , char * name , char * * retstr )
 I1	  28756 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 521
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  28757 #ifdef TCPSOCKET
 I1	  28758 _PROTOTYP( int gettcpport, (void) );
       E	 int gettcpport ( void )
 I1	  28759 _PROTOTYP( int gettcpport, (void) );
       E	 int gettcpport ( void )
 I1	  28760 #endif	/* TCPSOCKET */
 I1	  28761 
 I1	  28762 /*
 I1	  28763   SunLink X.25 support by Marcello Frutig, Catholic University,
 I1	  28764   Rio de Janeiro, Brazil, 1990.
 I1	  28765 
 I1	  28766   Maybe this can be adapted to VAX PSI and other X.25 products too.
 I1	  28767 */
 I1	  28768 #ifndef SUNOS4                          /* Only valid for SUNOS4 */
 I1	  28769 #ifndef SOLARIS
 I1    X  28770 #ifdef SUNX25
 I1    X  28771 #undef SUNX25
 I1    X  28772 #endif /* SUNX25 */
 I1	  28773 #endif /* SOLARIS */
 I1	  28774 #endif /* SUNOS4 */
 I1	  28775 
 I1    X  28776 #ifdef STRATUSX25
 I1    X  28777 #define ANYX25
 I1    X  28778 #define MAX_USER_DATA 128 /* SUN defines this in a header file, I believe. */
 I1    X  28779 #endif /* STRATUSX25 */
 I1	  28780 
 I1    X  28781 #ifdef SUNX25
 I1    X  28782 #define ANYX25
 I1    X  28783 #endif /* SUNX25 */
 I1	  28784 
 I1    X  28785 #ifdef IBMX25                           /* AIX 4.1 X.25 */
 I1    X  28786 #ifndef AIX41
 I1    X  28787 #undef IBMX25
 I1    X  28788 #else /* AIX41 */
 I1    X  28789 #define ANYX25
 I1    X  28790 #define MAX_USER_DATA NPI_MAX_DATA      /* used for buffer sizes */
 I1    X  28791 #endif /* AIX41 */
 I1    X  28792 #endif /* IBMX25 */
 I1	  28793 
 I1    X  28794 #ifdef HPX25                            /* HP-UX 10.* X.25 */
 I1    X  28795 #ifndef HPUX10
 I1    X  28796 #undef HPX25
 I1    X  28797 #else /* HPUX10 */
 I1    X  28798 #define ANYX25
 I1    X  28799 #endif /* HPUX10 */
 I1    X  28800 #endif /* HPX25 */
 I1	  28801 
 I1    X  28802 #ifdef ANYX25
 I1    X  28803 #ifndef NETCONN                         /* ANYX25 implies NETCONN */
 I1    X  28804 #define NETCONN
 I1    X  28805 #endif /* NETCONN */
 I1    X  28806 
 I1    X  28807 #define MAXPADPARMS                22   /* Number of PAD parameters */
 I1    X  28808 #define MAXCUDATA                  12   /* Max length of X.25 call user data */
 I1    X  28809 #define X29PID                      1   /* X.29 protocol ID */
 I1    X  28810 #define X29PIDLEN                   4   /* X.29 protocol ID length */
 I1    X  28811 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 522
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  28812 #define X29_SET_PARMS               2
 I1    X  28813 #define X29_READ_PARMS              4
 I1    X  28814 #define X29_SET_AND_READ_PARMS      6
 I1    X  28815 #define X29_INVITATION_TO_CLEAR     1
 I1    X  28816 #define X29_PARAMETER_INDICATION    0
 I1    X  28817 #define X29_INDICATION_OF_BREAK     3
 I1    X  28818 #define X29_ERROR                   5
 I1    X  28819 
 I1    X  28820 #define INVALID_PAD_PARM            1
 I1    X  28821 
 I1    X  28822 #define PAD_BREAK_CHARACTER         0
 I1    X  28823 
 I1    X  28824 #define PAD_ESCAPE                  1
 I1    X  28825 #define PAD_ECHO                    2
 I1    X  28826 #define PAD_DATA_FORWARD_CHAR       3
 I1    X  28827 #define PAD_DATA_FORWARD_TIMEOUT    4
 I1    X  28828 #define PAD_FLOW_CONTROL_BY_PAD     5
 I1    X  28829 #define PAD_SUPPRESSION_OF_SIGNALS  6
 I1    X  28830 #define PAD_BREAK_ACTION            7
 I1    X  28831 #define PAD_SUPPRESSION_OF_DATA     8
 I1    X  28832 #define PAD_PADDING_AFTER_CR        9
 I1    X  28833 #define PAD_LINE_FOLDING           10
 I1    X  28834 #define PAD_LINE_SPEED             11
 I1    X  28835 #define PAD_FLOW_CONTROL_BY_USER   12
 I1    X  28836 #define PAD_LF_AFTER_CR            13
 I1    X  28837 #define PAD_PADDING_AFTER_LF       14
 I1    X  28838 #define PAD_EDITING                15
 I1    X  28839 #define PAD_CHAR_DELETE_CHAR       16
 I1    X  28840 #define PAD_BUFFER_DELETE_CHAR     17
 I1    X  28841 #define PAD_BUFFER_DISPLAY_CHAR    18
 I1    X  28842 
 I1    X  28843 #define MAXIX25 MAX_USER_DATA*7
 I1    X  28844 #define MAXOX25 MAX_USER_DATA
 I1    X  28845 #endif /* ANYX25 */
 I1	  28846 
 I1    X  28847 #ifdef SUNX25
 I1    X  28848 #ifdef SOLARIS25                        /* and presumably SunLink 9.xx */
 I1    X  28849 #include <fcntl.h>
 I1    X  28850 #include <errno.h>
 I1    X  28851 #include <sys/ioccom.h>
 I1    X  28852 #include <sys/types.h>
 I1    X  28853 #include <sys/socket.h>
 I1    X  28854 #include <sys/sockio.h>
 I1    X  28855 #include <sundev/syncstat.h>
 I1    X  28856 #include <netx25/x25_pk.h>
 I1    X  28857 #include <netx25/x25_ctl.h>
 I1    X  28858 #include <netx25/x25_ioctl.h>
 I1    X  28859 #else
 I1    X  28860 #include <sys/ioctl.h>                  /* X.25 includes, Sun only */
 I1    X  28861 #include <sys/systm.h>
 I1    X  28862 #ifndef SOLARIS
 I1    X  28863 #include <sys/mbuf.h>
 I1    X  28864 #endif /* SOLARIS */
 I1    X  28865 #include <sys/socket.h>
 I1    X  28866 #include <sys/protosw.h>
 I1    X  28867 #ifdef SOLARIS
 I1    X  28868 #include <sys/sockio.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 523
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  28869 #else
 I1    X  28870 #include <sys/domain.h>
 I1    X  28871 #endif /* SOLARIS */
 I1    X  28872 #include <sys/socketvar.h>
 I1    X  28873 #include <net/if.h>
 I1    X  28874 #include <sundev/syncstat.h>
 I1    X  28875 #include <netx25/x25_pk.h>
 I1    X  28876 #include <netx25/x25_ctl.h>
 I1    X  28877 #include <netx25/x25_ioctl.h>
 I1    X  28878 #endif /* SOLARIS25 */
 I1    X  28879 #endif /* SUNX25 */
 I1	  28880 
 I1    X  28881 #ifdef ANYX25
 I1    X  28882 
 I1    X  28883 #ifdef IBMX25                           /* X.25 includes, AIX only */
 I1    X  28884 #include <fcntl.h>
 I1    X  28885 #include <sys/twtypes.h>
 I1    X  28886 #include <sys/twlib.h>
 I1    X  28887 
 I1    X  28888 #include <sys/stream.h>
 I1    X  28889 #include <stropts.h>
 I1    X  28890 
 I1    X  28891 #define NPI_20                          /* required to include the whole NPI */
 I1    X  28892 #include <sys/npi_20.h>
 I1    X  28893 #include <sys/npiapi.h>
 I1    X  28894 #include <sys/pktintf.h>
 I1    X  28895 
 I1    X  28896 #include <odmi.h>                       /* required for access to the ODM   */
 I1    X  28897 #include <sys/cfgodm.h>                 /* database, needed to find out the */
 I1    X  28898                                         /* local NUA. see x25local_nua()    */
 I1    X  28899 
 I1    X  28900 
 I1    X  28901 /* IBM X25 NPI generic primitive type */
 I1    X  28902 typedef union N_npi_ctl_t {
 I1    X  28903     ulong               PRIM_type;              /* generic primitive type */
 I1    X  28904     char                buffer[NPI_MAX_CTL];    /* maximum primitive size */
 I1    X  28905     N_bind_ack_t        bind_ack;
 I1    X  28906     N_bind_req_t        bind_req;
 I1    X  28907     N_conn_con_t        conn_con;
 I1    X  28908     N_conn_ind_t        conn_ind;
 I1    X  28909     N_conn_req_t        conn_req;
 I1    X  28910     N_conn_res_t        conn_res;
 I1    X  28911     N_data_req_t        data_req;
 I1    X  28912     N_data_ind_t        data_ind;
 I1    X  28913     N_discon_ind_t      discon_ind;
 I1    X  28914     N_discon_req_t      discon_req;
 I1    X  28915     N_error_ack_t       error_ack;
 I1    X  28916     N_exdata_ind_t      exdata_ind;
 I1    X  28917     N_info_ack_t        info_ack;
 I1    X  28918     N_ok_ack_t          ok_ack;
 I1    X  28919     N_reset_con_t       reset_con;
 I1    X  28920     N_reset_req_t       reset_req;
 I1    X  28921     N_reset_ind_t       reset_ind;
 I1    X  28922 } N_npi_ctl_t;
 I1    X  28923 
 I1    X  28924 /* some extra definitions to help out */
 I1    X  28925 typedef char    x25addr_t[45];          /* max 40 defined by CCITT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 524
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  28926 typedef char    N_npi_data_t[NPI_MAX_DATA];
 I1    X  28927 
 I1    X  28928 /* fd or server waiting for connections, used by netclos and netopen */
 I1    X  28929 extern int x25serverfd;
 I1    X  28930 
 I1    X  28931 #endif /* IBMX25 */
 I1    X  28932 
 I1    X  28933 #ifdef HPX25                            /* X.25 includes, HP-UX only */
 I1    X  28934 #include <x25/ccittproto.h>
 I1    X  28935 #include <x25/x25.h>
 I1    X  28936 #include <x25/x25addrstr.h>
 I1    X  28937 #include <x25/x25codes.h>
 I1    X  28938 #include <x25/x25hd_ioctl.h>
 I1    X  28939 #include <x25/x25ioctls.h>
 I1    X  28940 #include <x25/x25str.h>
 I1    X  28941 #include <sys/ioctl.h>
 I1    X  28942 #endif /* HPX25 */
 I1    X  28943 
 I1    X  28944 /* C-Kermit X.3 / X.25 / X.29 / X.121 support functions */
 I1    X  28945 
 I1    X  28946 /* (riehm: this list of functions isn't quite right for AIX) */
 I1    X  28947 
 I1    X  28948 _PROTOTYP( int shopad, (int) );
 I1    X  28949 _PROTOTYP( int shox25, (int) );
 I1    X  28950 _PROTOTYP( VOID initpad, (void) );
 I1    X  28951 _PROTOTYP( VOID setpad, (CHAR *, int) );
 I1    X  28952 _PROTOTYP( VOID readpad, (CHAR *, int, CHAR *) );
 I1    X  28953 _PROTOTYP( int qbitpkt, (CHAR *, int) );
 I1    X  28954 _PROTOTYP( VOID setqbit, (void) );
 I1    X  28955 _PROTOTYP( VOID resetqbit, (void) );
 I1    X  28956 _PROTOTYP( VOID breakact, (void) );
 I1    X  28957 _PROTOTYP( int pkx121, (char *, CHAR *) );
 I1    X  28958 _PROTOTYP( SIGTYP x25oobh, (int) );
 I1    X  28959 _PROTOTYP( int x25diag, (void) );
 I1    X  28960 _PROTOTYP( int x25intr, (char) );
 I1    X  28961 _PROTOTYP( int x25reset, (char, char) );
 I1    X  28962 _PROTOTYP( int x25clear, (void) );
 I1    X  28963 _PROTOTYP( int x25stat, (void) );
 I1    X  28964 _PROTOTYP( int x25in, (int, CHAR *) );
 I1    X  28965 _PROTOTYP( int setpadp, (void) );
 I1    X  28966 _PROTOTYP( int setx25, (void) );
 I1    X  28967 _PROTOTYP( int x25xin, (int, CHAR *) );
 I1    X  28968 _PROTOTYP( int x25inl, (CHAR *, int, int, CHAR) );
 I1    X  28969 
 I1    X  28970 #ifdef IBMX25
 I1    X  28971                                         /* setup x25 */
 I1    X  28972 _PROTOTYP( ulong x25bind, (int, char *, char *, int, int, int, ulong) );
 I1    X  28973 _PROTOTYP( int x25call, (int, char *, char *) ); /* connect to remote */
 I1    X  28974 _PROTOTYP( int x25unbind, (int) );      /* disconnect */
 I1    X  28975 _PROTOTYP( char *x25prim, (int) );      /* display primitives */
 I1    X  28976 _PROTOTYP( int x25local_nua, (char *) ); /* find local NUA */
 I1    X  28977 #endif /* IBMX25 */
 I1    X  28978 
 I1    X  28979 #endif /* ANYX25 */
 I1	  28980 
 I1	  28981 /* CMU-OpenVMS/IP */
 I1	  28982 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 525
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  28983 #ifdef CMU_TCPIP                        /* CMU_TCPIP implies TCPSOCKET */
 I1    X  28984 #ifndef TCPSOCKET
 I1    X  28985 #define TCPSOCKET
 I1    X  28986 #endif /* TCPSOCKET */
 I1    X  28987 #ifndef TCPIPLIB
 I1    X  28988 #define TCPIPLIB
 I1    X  28989 #endif /* TCPIPLIB */
 I1    X  28990 #endif /* CMU_TCPIP */
 I1	  28991 
 I1	  28992 /* DEC TCP/IP for (Open)VMS, previously known as UCX */
 I1	  28993 
 I1	  28994 #ifdef DEC_TCPIP                        /* DEC_TCPIP implies TCPSOCKET */
 I1    X  28995 #ifndef TCPSOCKET
 I1    X  28996 #define TCPSOCKET
 I1    X  28997 #endif /* TCPSOCKET */
 I1	  28998 #ifndef TCPIPLIB
 I1	  28999 #define TCPIPLIB
 I1	  29000 #endif /* TCPIPLIB */
 I1	  29001 #endif /* DEC_TCPIP */
 I1	  29002 
 I1	  29003 /* SRI/TGV/Cisco/Process MultiNet, TCP/IP for VAX/VMS */
 I1	  29004 
 I1    X  29005 #ifdef MULTINET                         /* MULTINET implies TCPSOCKET */
 I1    X  29006 #ifndef TCPSOCKET
 I1    X  29007 #define TCPSOCKET
 I1    X  29008 #endif /* TCPSOCKET */
 I1    X  29009 #ifndef TCPIPLIB
 I1    X  29010 #define TCPIPLIB
 I1    X  29011 #endif /* TCPIPLIB */
 I1    X  29012 #ifndef TGVORWIN                        /* MULTINET and WINTCP */
 I1    X  29013 #define TGVORWIN                        /* share a lot of code... */
 I1    X  29014 #endif /* TGVORWIN */
 I1    X  29015 #endif /* MULTINET */
 I1	  29016 
 I1	  29017 /* Wollongong TCP/IP for VAX/VMS */
 I1	  29018 
 I1    X  29019 #ifdef WINTCP                           /* WINTCP implies TCPSOCKET */
 I1    X  29020 #ifndef TCPSOCKET
 I1    X  29021 #define TCPSOCKET
 I1    X  29022 #endif /* TCPSOCKET */
 I1    X  29023 #ifndef TCPIPLIB
 I1    X  29024 #define TCPIPLIB
 I1    X  29025 #endif /* TCPIPLIB */
 I1    X  29026 #ifndef TGVORWIN                        /* WINTCP and MULTINET */
 I1    X  29027 #define TGVORWIN                        /* share a lot of code... */
 I1    X  29028 #endif /* TGVORWIN */
 I1    X  29029 #endif /* WINTCP */
 I1	  29030 
 I1	  29031 /* Wollongong TCP/IP for AT&T Sys V */
 I1	  29032 
 I1    X  29033 #ifdef WOLLONGONG                       /* WOLLONGONG implies TCPSOCKET */
 I1    X  29034 #ifndef TCPSOCKET                       /* Don't confuse WOLLONGONG */
 I1    X  29035 #define TCPSOCKET                       /* (which is for UNIX) with */
 I1    X  29036 #endif /* TCPSOCKET */                  /* WINTCP, which is for VMS! */
 I1    X  29037 #endif /* WOLLONGONG */
 I1	  29038 
 I1    X  29039 #ifdef EXCELAN                          /* EXCELAN implies TCPSOCKET */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 526
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  29040 #ifndef TCPSOCKET
 I1    X  29041 #define TCPSOCKET
 I1    X  29042 #endif /* TCPSOCKET */
 I1    X  29043 #endif /* EXCELAN */
 I1	  29044 
 I1    X  29045 #ifdef INTERLAN                         /* INTERLAN implies TCPSOCKET */
 I1    X  29046 #ifndef TCPSOCKET
 I1    X  29047 #define TCPSOCKET
 I1    X  29048 #endif /* TCPSOCKET */
 I1    X  29049 #endif /* INTERLAN */
 I1	  29050 
 I1    X  29051 #ifdef BEBOX
 I1    X  29052 #ifndef TCPSOCKET
 I1    X  29053 #define TCPSOCKET
 I1    X  29054 #endif /* TCPSOCKET */
 I1    X  29055 #ifndef TCPIPLIB
 I1    X  29056 #define TCPIPLIB
 I1    X  29057 #endif /* TCPIPLIB */
 I1    X  29058 #define socket_errno    h_errno
 I1    X  29059 #define socket_read(x,y,z)      recv(x,y,sizeof(char),z)
 I1    X  29060 #define socket_write(x,y,z)     send(x,y,sizeof(char),z)
 I1    X  29061 #define socket_ioctl    ioctl
 I1    X  29062 #define socket_close(x)         closesocket(x)
 I1    X  29063 #ifndef FIONBIO
 I1    X  29064 #define FIONBIO 2
 I1    X  29065 #endif /* FIONBIO */
 I1    X  29066 #ifndef FIONREAD
 I1    X  29067 #define FIONREAD       1
 I1    X  29068 #endif /* FIONREAD */
 I1    X  29069 #ifndef SIOCATMARK
 I1    X  29070 #define SIOCATMARK     3
 I1    X  29071 #endif /* SIOCATMARK */
 I1    X  29072 #endif /* BEBOX */
 I1	  29073 
 I1    X  29074 #ifdef COMMENT /* no longer used but might come in handy again later... */
 I1	  29075 /*
 I1	  29076   CK_READ0 can (and should) be defined if and only if:
 I1	  29077   (a) read(fd,&x,0) can be used harmlessly on a TCP/IP socket connection.
 I1	  29078   (b) read(fd,&x,0) returns 0 if the connection is up, -1 if it is down.
 I1    X  29079 */
 I1    X  29080 #ifndef CK_READ0
 I1    X  29081 #ifdef TCPSOCKET
 I1    X  29082 #ifdef SUNOS41                          /* It works in SunOS 4.1 */
 I1    X  29083 #define CK_READ0
 I1    X  29084 #else
 I1    X  29085 #ifdef NEXT                             /* and NeXTSTEP */
 I1    X  29086 #define CK_READ0
 I1    X  29087 #endif /* NEXT */
 I1    X  29088 #endif /* SUNOS41 */
 I1    X  29089 #endif /* TCPSOCKET */
 I1    X  29090 #endif /* CK_READ0 */
 I1    X  29091 #endif /* COMMENT */
 I1	  29092 
 I1	  29093 /* Telnet protocol */
 I1	  29094 
 I1	  29095 #ifdef TCPSOCKET                        /* TCPSOCKET implies TNCODE */
 I1    X  29096 #ifndef TNCODE                          /* Which means... */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 527
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  29097 #define TNCODE                          /* Compile in telnet code */
 I1    X  29098 #endif /* TNCODE */
 I1	  29099 
 I1	  29100 /*
 I1	  29101    Platforms where we must call gethostname(buf,len) and then
 I1	  29102    gethostbyname(buf) to get local IP address, rather than calling
 I1	  29103    gethostbyname("").
 I1	  29104 */
 I1	  29105 #ifndef CKGHNLHOST
 I1    X  29106 #ifdef datageneral
 I1    X  29107 #define CKGHNLHOST
 I1    X  29108 #else
 I1    X  29109 #ifdef SOLARIS
 I1    X  29110 #define CKGHNLHOST
 I1    X  29111 #else
 I1    X  29112 #ifdef SUNOS4
 I1    X  29113 #define CKGHNLHOST
 I1    X  29114 #else
 I1    X  29115 #ifdef UNIXWARE
 I1    X  29116 #define CKGHNLHOST
 I1    X  29117 #else
 I1    X  29118 #ifdef SINIX
 I1    X  29119 #define CKGHNLHOST
 I1    X  29120 #endif /* SINIX */
 I1	  29121 #endif /* UNIXWARE */
 I1	  29122 #endif /* SUNOS4 */
 I1	  29123 #endif /* SOLARIS */
 I1	  29124 #endif /* datageneral */
 I1	  29125 #endif /* CKGHNLHOST */
 I1	  29126 
 I1	  29127 #ifndef RLOGCODE                        /* What about Rlogin? */
 I1	  29128 #ifndef NORLOGIN
 I1	  29129 /*
 I1	  29130   Rlogin can be enabled only for UNIX versions that have both SIGURG
 I1	  29131   (SCO doesn't) and CK_TTGWSIZ (OSF/1 doesn't), so we don't assume that
 I1	  29132   any others have these without verifying first.  Not that it really makes
 I1	  29133   much difference since you can only use Rlogin if you are root...
 I1	  29134 */
 I1    X  29135 #ifdef SUNOS41
 I1    X  29136 #define RLOGCODE
 I1    X  29137 #else
 I1    X  29138 #ifdef SOLARIS
 I1    X  29139 #define RLOGCODE
 I1    X  29140 #else
 I1    X  29141 #ifdef HPUX9
 I1    X  29142 #define RLOGCODE
 I1    X  29143 #else
 I1    X  29144 #ifdef HPUX10
 I1    X  29145 #define RLOGCODE
 I1    X  29146 #else
 I1    X  29147 #ifdef OSF40
 I1    X  29148 #define RLOGCODE
 I1    X  29149 #else
 I1    X  29150 #ifdef NEXT
 I1    X  29151 #define RLOGCODE
 I1    X  29152 #else
 I1    X  29153 #ifdef AIX41

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 528
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  29154 #define RLOGCODE
 I1    X  29155 #else
 I1    X  29156 #ifdef UNIXWARE
 I1    X  29157 #define RLOGCODE
 I1    X  29158 #else
 I1    X  29159 #ifdef IRIX51
 I1    X  29160 #define RLOGCODE
 I1    X  29161 #else
 I1    X  29162 #ifdef IRIX60
 I1    X  29163 #define RLOGCODE
 I1    X  29164 #else
 I1    X  29165 #ifdef QNX
 I1    X  29166 #define RLOGCODE
 I1    X  29167 #else
 I1    X  29168 #ifdef __linux__
 I1    X  29169 #define RLOGCODE
 I1    X  29170 #else
 I1    X  29171 #ifdef BSD44
 I1    X  29172 #define RLOGCODE
 I1    X  29173 #endif /* BSD44 */
 I1	  29174 #endif /* __linux__ */
 I1	  29175 #endif /* QNX */
 I1	  29176 #endif /* IRIX60 */
 I1	  29177 #endif /* IRIX51 */
 I1	  29178 #endif /* UNIXWARE */
 I1	  29179 #endif /* AIX41 */
 I1	  29180 #endif /* NEXT */
 I1	  29181 #endif /* OSF40 */
 I1	  29182 #endif /* HPUX10 */
 I1	  29183 #endif /* HPUX9 */
 I1	  29184 #endif /* SOLARIS */
 I1	  29185 #endif /* SUNOS41 */
 I1	  29186 #endif /* NORLOGIN */
 I1	  29187 #ifdef VMS                              /* VMS */
 I1	  29188 #define RLOGCODE
 I1	  29189 #endif /* VMS */
 I1	  29190 #endif /* RLOGCODE */
 I1	  29191 #endif /* TCPSOCKET */
 I1	  29192 
 I1	  29193 #ifdef TNCODE
 I1	  29194 /*
 I1	  29195   Telnet local-echo buffer, used for saving up user data that can't be
 I1	  29196   properly displayed and/or evaluated until pending Telnet negotiations are
 I1	  29197   complete.  TTLEBUF is defined for platforms (like UNIX) where net i/o is
 I1	  29198   done by the same routines that do serial i/o (in which case the relevant
 I1	  29199   code goes into the ck?tio.c module, in the ttinc(), ttchk(), etc, routines);
 I1	  29200   NETLETBUF is defined for platforms (like VMS) that use different APIs for
 I1	  29201   network and serial i/o, and enables the copies of the same routines that
 I1	  29202   are in ckcnet.c.
 I1	  29203 */
 I1	  29204 #ifndef TTLEBUF
 I1    X  29205 #ifdef UNIX
 I1    X  29206 #define TTLEBUF
 I1    X  29207 #else
 I1    X  29208 #ifdef datageneral
 I1    X  29209 #define TTLEBUF
 I1    X  29210 #endif /* datageneral */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 529
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  29211 #endif /* UNIX */
 I1	  29212 #endif /* TTLEBUF */
 I1	  29213 
 I1	  29214 #ifndef NETLEBUF
 I1	  29215 #ifdef VMS
 I1	  29216 #define NETLEBUF
 I1	  29217 #endif /* VMS */
 I1	  29218 #endif /* NETLEBUF */
 I1	  29219 #endif /* TNCODE */
 I1	  29220 
 I1    X  29221 #ifdef SUNX25                           /* SUNX25 implies TCPSOCKET */
 I1    X  29222 #ifndef TCPSOCKET                       /* But doesn't imply TNCODE */
 I1    X  29223 #define TCPSOCKET
 I1    X  29224 #endif /* TCPSOCKET */
 I1    X  29225 #endif /* SUNX25 */
 I1	  29226 
 I1    X  29227 #ifndef TCPSOCKET
 I1    X  29228 #ifndef NO_DNS_SRV
 I1    X  29229 #define NO_DNS_SRV
 I1    X  29230 #endif /* NO_DNS_SRV */
 I1    X  29231 #endif /* TCPSOCKET */
 I1	  29232 
 I1	  29233 /* This is another TCPSOCKET section... */
 I1	  29234 
 I1	  29235 #ifdef TCPSOCKET
 I1    X  29236 #ifndef NETCONN                         /* TCPSOCKET implies NETCONN */
 I1    X  29237 #define NETCONN
 I1    X  29238 #endif /* NETCONN */
 I1	  29239 
 I1	  29240 #ifndef NO_DNS_SRV
 I1    X  29241 #ifdef NOLOCAL
 I1    X  29242 #define NO_DNS_SRV
 I1    X  29243 #endif /* NOLOCAL */
 I1    X  29244 #ifdef OS2ONLY
 I1    X  29245 #define NO_DNS_SRV
 I1    X  29246 #endif /* OS2ONLY */
 I1    X  29247 #ifdef NT
 I1    X  29248 #ifdef _M_PPC
 I1    X  29249 #define NO_DNS_SRV
 I1    X  29250 #endif /* _M_DNS */
 I1    X  29251 #endif /* NO_DNS_SRV */
 I1	  29252 #ifdef VMS
 I1	  29253 #define NO_DNS_SRV
 I1	  29254 #endif /* VMS */
 I1    X  29255 #ifdef STRATUS
 I1    X  29256 #define NO_DNS_SRV
 I1    X  29257 #endif /* STRATUS */
 I1    X  29258 #ifdef datageneral
 I1    X  29259 #define NO_DNS_SRV
 I1    X  29260 #endif /* datageneral */
 I1    X  29261 #ifdef ultrix
 I1    X  29262 #define NO_DNS_SRV
 I1    X  29263 #endif /* ultrix */
 I1    X  29264 #ifdef NEXT
 I1    X  29265 #define NO_DNS_SRV
 I1    X  29266 #endif /* NEXT */
 I1	  29267 #endif /* NO_DNS_SRV */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 530
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  29268 
 I1	  29269 #ifndef CK_DNS_SRV                      /* Use DNS SRV records to determine */
 I1    X  29270 #ifndef NO_DNS_SRV                      /* host and ports */
 I1    X  29271 #define CK_DNS_SRV
 I1    X  29272 #endif /* NO_DNS_SRV */
 I1	  29273 #endif /* CK_DNS_SRV */
 I1	  29274 
 I1	  29275 #ifndef NOLISTEN                        /* select() is required to support */
 I1	  29276 #ifndef SELECT                          /* incoming connections. */
 I1    X  29277 #ifndef VMS
 I1    X  29278 #ifndef OS2
 I1    X  29279 #define NOLISTEN
 I1    X  29280 #endif /* OS2 */
 I1    X  29281 #endif /* VMS */
 I1	  29282 #endif /* SELECT */
 I1	  29283 #endif /* NOLISTEN */
 I1	  29284 
 I1	  29285 /* BSD sockets library header files */
 I1	  29286 
 I1	  29287 #ifdef VMS
 I1	  29288 /*
 I1	  29289   Because bzero() and bcopy() are not portable among VMS versions,
 I1	  29290   or compilers, or TCP/IP products, etc.
 I1	  29291 */
 I1    X  29292 #ifndef bzero
 I1    X  29293 #define bzero(s,n) memset(s,0,n)
 I1    X  29294 #endif /* bzero */
 I1    X  29295 #ifndef bcopy
 I1    X  29296 #define bcopy(h,a,l) memcpy(a,h,l)
 I1    X  29297 #endif /* bcopy */
 I1	  29298 #endif /* VMS */
 I1	  29299 
 I1    X  29300 #ifdef HPUX6
 I1    X  29301 /* These are missing in HP-UX 6.xx */
 I1    X  29302 #ifndef bzero
 I1    X  29303 #define bzero(s,n) memset(s,0,n)
 I1    X  29304 #endif /* bzero */
 I1    X  29305 #ifndef bcopy
 I1    X  29306 #define bcopy(h,a,l) memcpy(a,h,l)
 I1    X  29307 #endif /* bcopy */
 I1    X  29308 #endif /* HPUX6 */
 I1	  29309 
 I1    X  29310 #ifdef UNIX                             /* UNIX section */
 I1    X  29311 
 I1    X  29312 #ifdef SVR4
 I1    X  29313 /*
 I1    X  29314   These suggested by Rob Healey, rhealey@kas.helios.mn.org, to avoid
 I1    X  29315   bugs in Berkeley compatibility library on Sys V R4 systems, but untested
 I1    X  29316   by me (fdc).  Remove this bit if it gives you trouble.
 I1    X  29317   (Later corrected by Marc Boucher <mboucher@iro.umontreal.ca> because
 I1    X  29318   bzero/bcopy are not argument-compatible with memset/memcpy|memmove.)
 I1    X  29319 */
 I1    X  29320 #ifndef bzero
 I1    X  29321 #define bzero(s,n) memset(s,0,n)
 I1    X  29322 #endif
 I1    X  29323 #ifdef SOLARIS
 I1    X  29324 #ifdef SUNX25

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 531
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  29325 #undef bzero
 I1    X  29326 /*
 I1    X  29327   WOULD YOU BELIEVE... That the Solaris X.25 /opt/SUNWcomm/lib/libsockx25
 I1    X  29328   library references bzero, even though the use of bzero is forbidden in
 I1    X  29329   Solaris?  Look for the function definition in ckcnet.c.
 I1    X  29330 */
 I1    X  29331 _PROTOTYP( void bzero, (char *, int) );
 I1    X  29332 #endif /* SUNX25 */
 I1    X  29333 #ifndef bcopy
 I1    X  29334 #define bcopy(h,a,l) memcpy(a,h,l)
 I1    X  29335 #endif
 I1    X  29336 #else
 I1    X  29337 #ifndef bcopy
 I1    X  29338 #define bcopy(h,a,l) memmove(a,h,l)
 I1    X  29339 #endif
 I1    X  29340 #endif /* SOLARIS */
 I1    X  29341 #else /* !SVR4 */
 I1    X  29342 #ifdef PTX                              /* Sequent DYNIX PTX 1.3 */
 I1    X  29343 #ifndef bzero
 I1    X  29344 #define bzero(s,n) memset(s,0,n)
 I1    X  29345 #endif
 I1    X  29346 #ifndef bcopy
 I1    X  29347 #define bcopy(h,a,l) memcpy(a,h,l)
 I1    X  29348 #endif
 I1    X  29349 #endif /* PTX */
 I1    X  29350 #endif /* SVR4 */
 I1    X  29351 
 I1    X  29352 #ifdef INTERLAN                         /* Racal-Interlan TCP/IP */
 I1    X  29353 #include <interlan/socket.h>
 I1    X  29354 #include <interlan/il_types.h>
 I1    X  29355 #include <interlan/telnet.h>
 I1    X  29356 #include <interlan/il_errno.h>
 I1    X  29357 #include <interlan/in.h>
 I1    X  29358 #include <interlan/telnet.h>            /* Why twice ? ? ? */
 I1    X  29359 #else /* Not Interlan */
 I1    X  29360 #ifdef BEBOX
 I1    X  29361 #include <socket.h>
 I1    X  29362 #else /* Not BEBOX */                   /* Normal BSD TCP/IP library */
 I1    X  29363 #ifdef COMMENT
 I1    X  29364 #ifndef HPUX
 I1    X  29365 #include <arpa/telnet.h>
 I1    X  29366 #endif /* HPUX */
 I1    X  29367 #endif /* COMMENT */
 I1    X  29368 #ifdef SCO234
 I1    X  29369 #include <sys/errno.tcp.h>
 I1    X  29370 #include <sys/types.tcp.h>
 I1    X  29371 #endif /* SCO234 */
 I1    X  29372 #include <sys/socket.h>
 I1    X  29373 #ifdef WOLLONGONG
 I1    X  29374 #include <sys/in.h>
 I1    X  29375 #else
 I1    X  29376 #include <netinet/in.h>
 I1    X  29377 #ifndef SV68R3V6                /* (maybe this should be SVR3 in general) */
 I1    X  29378 #include <netinet/tcp.h>        /* Added June 2001 */
 I1    X  29379 #endif /* SV68R3V6 */
 I1    X  29380 #endif /* WOLLONGONG */
 I1    X  29381 #endif /* BEBOX */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 532
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  29382 #endif /* INTERLAN */
 I1    X  29383 
 I1    X  29384 #ifndef EXCELAN
 I1    X  29385 #include <netdb.h>
 I1    X  29386 #ifndef INTERLAN
 I1    X  29387 #ifdef WOLLONGONG
 I1    X  29388 #define minor                           /* Do not include <sys/macros.h> */
 I1    X  29389 #include <sys/inet.h>
 I1    X  29390 #else
 I1    X  29391 #ifndef OXOS
 I1    X  29392 #ifndef HPUX
 I1    X  29393 #ifndef BEBOX
 I1    X  29394 #include <arpa/inet.h>
 I1    X  29395 #endif /* BEBOX */
 I1    X  29396 #endif /* HPUX */
 I1    X  29397 #else /* OXOS */
 I1    X  29398 /* In too many releases of X/OS, <arpa/inet.h> declares inet_addr() as
 I1    X  29399  * ``struct in_addr''.  This is definitively wrong, and could cause
 I1    X  29400  * core dumps.  Instead of including that bad file, inet_addr() is
 I1    X  29401  * correctly declared here.  Of course, all the declarations done there
 I1    X  29402  * has been copied here.
 I1    X  29403  */
 I1    X  29404 unsigned long inet_addr();
 I1    X  29405 char    *inet_ntoa();
 I1    X  29406 struct  in_addr inet_makeaddr();
 I1    X  29407 unsigned long inet_network();
 I1    X  29408 #endif /* OXOS */
 I1    X  29409 #endif /* WOLLONGONG */
 I1    X  29410 #endif /* INTERLAN */
 I1    X  29411 #endif /* EXCELAN */
 I1    X  29412 
 I1    X  29413 #ifdef EXCELAN                          /* Excelan TCP/IP */
 I1    X  29414 #ifndef bzero
 I1    X  29415 #define bzero(s,n) memset(s,0,n)
 I1    X  29416 #endif /* bzero */
 I1    X  29417 #ifndef bcopy
 I1    X  29418 #define bcopy(h,a,l) memcpy(a,h,l)
 I1    X  29419 #endif /* bcopy */
 I1    X  29420 #include <ex_errno.h>
 I1    X  29421 #endif /* EXCELAN */
 I1    X  29422 
 I1    X  29423 #ifdef I386IX                           /* Interactive Sys V R3 network. */
 I1    X  29424 /* #define TELOPTS */                   /* This might need defining. */
 I1    X  29425 #define ORG_NLONG ENAMETOOLONG          /* Resolve conflicting symbols */
 I1    X  29426 #undef ENAMETOOLONG                     /* in <errno.h> and <net/errno.h> */
 I1    X  29427 #define ORG_NEMPTY ENOTEMPTY
 I1    X  29428 #undef ENOTEMPTY
 I1    X  29429 #include <net/errno.h>
 I1    X  29430 #undef ENAMETOOLONG
 I1    X  29431 #define ENAMETOOLONG ORG_NLONG
 I1    X  29432 #undef ENOTEMPTY
 I1    X  29433 #define ENOTEMPTY ORG_NEMPTY
 I1    X  29434 #include <netinet/tcp.h>                /* for inet_addr() */
 I1    X  29435 #endif /* I386IX */
 I1    X  29436 /*
 I1    X  29437   Data type of the inet_addr() function...
 I1    X  29438   We define INADDRX if it is of type struct inaddr.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 533
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  29439   If it is undefined, unsigned long is assumed.
 I1    X  29440   Look at <arpa/inet.h> to find out.  The following known cases are
 I1    X  29441   handled here.  Other systems that need it can be added here, or else
 I1    X  29442   -DINADDRX can be included in the CFLAGS on the cc command line.
 I1    X  29443 */
 I1    X  29444 #ifndef NOINADDRX
 I1    X  29445 #ifdef DU2                              /* DEC Ultrix 2.0 */
 I1    X  29446 #define INADDRX
 I1    X  29447 #endif /* DU2 */
 I1    X  29448 #endif /* NOINADDRX */
 I1    X  29449 
 I1    X  29450 #else /* Not UNIX */
 I1	  29451 
 I1	  29452 #ifdef VMS                              /* (Open)VMS section */
 I1	  29453 
 I1    X  29454 #ifdef MULTINET                         /* TGV MultiNet */
 I1	  29455 /*
 I1	  29456   In C-Kermit 7.0 Beta.08 we started getting scads of compile time warnings
 I1	  29457   in Multinet builds: "blah" is implicitly declared as a function, where blah
 I1	  29458   is socket_read/write/close, ntohs, htons, getpeername, accept, select, etc.
 I1	  29459   I have no idea why -- these routines are declared in the header files below,
 I1	  29460   and the includes haven't changed.  The executable still seems to work OK.
 I1	  29461   Messing with the order of the following includes is disastrous.
 I1    X  29462 */
 I1    X  29463 #ifdef MULTINET_NO_PROTOTYPES
 I1    X  29464 #undef MULTINET_NO_PROTOTYPES
 I1    X  29465 #endif /* MULTINET_NO_PROTOTYPES */
 I1    X  29466 
 I1    X  29467 #ifdef  __cplusplus
 I1    X  29468 #undef  __cplusplus
 I1    X  29469 #endif /*  __cplusplus */
 I1    X  29470 
 I1    X  29471 #include "multinet_root:[multinet.include]errno.h"
 I1    X  29472 #include "multinet_root:[multinet.include.sys]types.h"
 I1    X  29473 #include "multinet_root:[multinet.include.sys]socket.h"
 I1    X  29474 #include "multinet_root:[multinet.include]netdb.h"
 I1    X  29475 #include "multinet_root:[multinet.include.netinet]in.h"
 I1    X  29476 #include "multinet_root:[multinet.include.arpa]inet.h"
 I1    X  29477 #include "multinet_root:[multinet.include.sys]ioctl.h"
 I1    X  29478 #include "multinet_root:[multinet.include.vms]ucx$inetdef.h"
 I1    X  29479 #include "multinet_root:[multinet.include.sys]time.h"
 I1    X  29480 /*AGN 08-Jun-2023 Multinet supplies inet_aton()*/
 I1    X  29481 #define NO_DCL_INET_ATON
 I1    X  29482 
 I1    X  29483 #ifdef COMMENT
 I1    X  29484 /*
 I1    X  29485   No longer needed because now bzero/bcopy are macros defined as
 I1    X  29486   memset/memmove in all VMS builds.
 I1    X  29487 */
 I1    X  29488 /*
 I1    X  29489   We should be able to pick these up from <strings.h> but it's
 I1    X  29490   not portable between VAXC and DECC.  And even with DECC 5.x we have a
 I1    X  29491   difference between VAX and Alpha.  We get warnings here on the VAX
 I1    X  29492   with DECC 5.6-003 but they are not fatal.
 I1    X  29493 */
 I1    X  29494 #ifndef __DECC_VER
 I1    X  29495 #ifndef bzero

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 534
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  29496 _PROTOTYP( void bzero, (char *, int) );
 I1    X  29497 #endif /* bzero */
 I1    X  29498 #ifndef bcopy
 I1    X  29499 _PROTOTYP( void bcopy, (char *, char *, int) );
 I1    X  29500 #endif /* bcopy */
 I1    X  29501 #endif /* __DECC_VER */
 I1    X  29502 #endif /* COMMENT */
 I1    X  29503 
 I1    X  29504 #ifdef __DECC
 I1    X  29505 /*
 I1    X  29506    If compiling under DEC C the socket calls must not be prefixed with
 I1    X  29507    DECC$.  This is done by using the compiler switch /Prefix=Ansi_C89.
 I1    X  29508    However, this causes some calls that should be prefixed to not be
 I1    X  29509    (which I think is a bug in the compiler - I've been told these calls
 I1    X  29510    are present in ANSI compilers).  At any rate, such calls are fixed
 I1    X  29511    here by explicitly prefixing them.
 I1    X  29512 */
 I1    X  29513 #ifdef COMMENT
 I1    X  29514 /*
 I1    X  29515    But this causes errors with VMS 6.2 / DEC C 5.3-006 / MultiNet 4.0A on
 I1    X  29516    a VAX (but not on an Alpha).  So now what happens if we skip doing this?
 I1    X  29517 */
 I1    X  29518 #define close decc$close
 I1    X  29519 #define alarm decc$alarm
 I1    X  29520 #endif /* COMMENT */
 I1    X  29521 #endif /* __DECC */
 I1    X  29522 
 I1    X  29523 #else /* Not MULTINET */
 I1	  29524 
 I1    X  29525 #ifdef WINTCP                           /* WIN/TCP = PathWay for VMS */
 I1    X  29526 #ifdef OLD_TWG
 I1    X  29527 #include "twg$tcp:[netdist.include.sys]errno.h"
 I1    X  29528 #include "twg$tcp:[netdist.include.sys]types2.h" /* avoid some duplicates */
 I1    X  29529 #else
 I1    X  29530 #include "twg$tcp:[netdist.include]socket_aliases.h"
 I1    X  29531 #include <errno.h>
 I1    X  29532 #include "twg$tcp:[netdist.include.sys]types.h"
 I1    X  29533 #endif /* OLD_TWG */
 I1    X  29534 #include "twg$tcp:[netdist.include.sys]socket.h"
 I1    X  29535 #include "twg$tcp:[netdist.include]netdb.h"
 I1    X  29536 #include "twg$tcp:[netdist.include.sys]domain.h"
 I1    X  29537 #include "twg$tcp:[netdist.include.sys]protosw.h"
 I1    X  29538 #include "twg$tcp:[netdist.include.netinet]in.h"
 I1    X  29539 #include "twg$tcp:[netdist.include.arpa]inet.h"
 I1    X  29540 #include "twg$tcp:[netdist.include.sys]ioctl.h"
 I1    X  29541 
 I1    X  29542 #else /* Not WINTCP */
 I1	  29543 
 I1	  29544 #ifdef DEC_TCPIP
 I1	  29545 #ifdef UCX50
 I1    X  29546 #ifndef IF_DOT_H
 I1    X  29547 #define IF_DOT_H
 I1    X  29548 #endif /*  IF_DOT_H */
 I1	  29549 #endif /* UCX50 */
 I1	  29550 
 I1	  29551 #ifdef IF_DOT_H
 I1	  29552 #include <if.h>                         /* Needed to put up u_int typedef */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 535
V1.0                                                            10-JUN-2023 19:06:02  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  29553 #ifndef __IF_LOADED
 I2	  29554 #define __IF_LOADED 1
 I2	  29555 /****************************************************************************
 I2	  29556 **
 I2	  29557 **  <if.h> - Structures providing a packet transport mechanism
 I2	  29558 **
 I2	  29559 *****************************************************************************
 I2	  29560 **  Header is nonstandard
 I2	  29561 *****************************************************************************
 I2	  29562 **
 I2	  29563 **  Copyright (c) 1982, 1993 Regents of the University of California.
 I2	  29564 **  All rights reserved.  The Berkeley software License Agreement
 I2	  29565 **  specifies the terms and conditions for redistribution.
 I2	  29566 **
 I2	  29567 **      if.h             8.1 (Berkeley) 6/10/93
 I2	  29568 **
 I2	  29569 ******************************************************************************
 I2	  29570 */
 I2	  29571 /* ************************************************************************* */
 I2	  29572 /* *                                                                       * */
 I2	  29573 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I2	  29574 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I2	  29575 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I2	  29576 /* * prior written permission of HPE.                                      * */
 I2	  29577 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I2	  29578 /* *                                                                       * */
 I2	  29579 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I2	  29580 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I2	  29581 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I2	  29582 /* * the prior written permission of VMS Software, Inc.                    * */
 I2	  29583 /* * Copyright 2017 VMS Software, Inc.                                     * */
 I2	  29584 /* *                                                                       * */
 I2	  29585 /* ************************************************************************* */
 I2	  29586 
 I2	  29587 #pragma __nostandard
 I2    X  29588 #include <decc$types.h>
 I2    X  29589 #ifdef __cplusplus
 I2    X  29590     extern "C" {
 I2    X  29591 #endif
 I2	  29592 
 I2	  29593 #include <socket.h>
 I3	  29594 #ifndef __SOCKET_LOADED
 I3	  29595 #define __SOCKET_LOADED 1
 I3	  29596 /****************************************************************************
 I3	  29597 **
 I3	  29598 **  <socket.h> - TCP/IP socket definitions
 I3	  29599 **
 I3	  29600 *****************************************************************************
 I3	  29601 **  Header introduced by the X/Open CAE Specification, Issue 4, Version 2
 I3	  29602 *****************************************************************************
 I3	  29603 **
 I3	  29604 **  Copyright (c) 1982 Regents of the University of California.
 I3	  29605 **  All rights reserved.  The Berkeley software License Agreement
 I3	  29606 **  specifies the terms and conditions for redistribution.
 I3	  29607 **
 I3	  29608 **     socket.h 6.6 (Berkeley) 6/8/85
 I3	  29609 **

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 536
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  29610 *****************************************************************************
 I3	  29611 **                                                                          *
 I3	  29612 **  HPE CONFIDENTIAL. This software is confidential proprietary software    *
 I3	  29613 **  licensed by Hewlett Packard Enterprise Development, LP, and is not      *
 I3	  29614 **  authorized to be used, duplicated or disclosed to anyone without the    *
 I3	  29615 **  prior written permission of HPE.                                        *
 I3	  29616 **  Copyright 2005 Hewlett Packard Enterprise Development, LP               *
 I3	  29617 **                                                                          *
 I3	  29618 **  VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential          *
 I3	  29619 **  proprietary software licensed by VMS Software, Inc., and is not         *
 I3	  29620 **  authorized to be used, duplicated or disclosed to anyone without        *
 I3	  29621 **  the prior written permission of VMS Software, Inc.                      *
 I3	  29622 **  Copyright 2017-2020 VMS Software, Inc.                                  *
 I3	  29623 **                                                                          *
 I3	  29624 *****************************************************************************
 I3	  29625 **
 I3	  29626 **  Copyright (c) 1982 Regents of the University of California.
 I3	  29627 **  All rights reserved.  The Berkeley software License Agreement
 I3	  29628 **  specifies the terms and conditions for redistribution.
 I3	  29629 **
 I3	  29630 **     socket.h 6.6 (Berkeley) 6/8/85
 I3	  29631 **
 I3	  29632 *****************************************************************************
 I3	  29633 */
 I3	  29634 
 I3	  29635 #pragma __nostandard
 I3    X  29636 #include <decc$types.h>
 I3	  29637 
 I3    X  29638 #ifdef __cplusplus
 I3    X  29639     extern "C" {
 I3    X  29640 #endif
 I3	  29641 
 I3    X  29642 #include <types.h>
 I3	  29643 #include <uio.h>
 I4	  29644 #ifndef __UIO_LOADED
 I4	  29645 #define __UIO_LOADED 1
 I4	  29646 /****************************************************************************
 I4	  29647 **
 I4	  29648 **  <uio.h> - definitions for vector I/O operations
 I4	  29649 **
 I4	  29650 *****************************************************************************
 I4	  29651 **  Header introduced by the X/Open CAE Specification, Issue 4, Version 2
 I4	  29652 *****************************************************************************
 I4	  29653 **                                                                       
 I4	  29654 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I4	  29655 **                                                                       
 I4	  29656 ** Confidential computer software.  Valid license from HP and/or         
 I4	  29657 ** its subsidiaries required for possession, use, or copying.            
 I4	  29658 **                                                                       
 I4	  29659 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I4	  29660 ** Computer Software Documentation, and Technical Data for Commercial    
 I4	  29661 ** Items are licensed to the U.S. Government under vendor's standard     
 I4	  29662 ** commercial license.                                                   
 I4	  29663 **                                                                       
 I4	  29664 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I4	  29665 ** or editorial errors or omissions contained herein.  The information   
 I4	  29666 ** in this document is provided "as is" without warranty of any kind and 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 537
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UIO)

 I4	  29667 ** is subject to change without notice.  The warranties for HP products  
 I4	  29668 ** are set forth in the express limited warranty statements accompanying 
 I4	  29669 ** such products.  Nothing herein should be construed as constituting an 
 I4	  29670 ** additional warranty.                                                  
 I4	  29671 **                                                                       
 I4	  29672 *****************************************************************************
 I4	  29673 */
 I4	  29674 
 I4	  29675 #pragma __nostandard
 I4    X  29676 #include <decc$types.h>
 I4	  29677 
 I4    X  29678 #ifdef __cplusplus
 I4    X  29679     extern "C" {
 I4    X  29680 #endif
 I4	  29681 
 I4	  29682 /*
 I4	  29683 **  All structures should be member aligned on natural boundaries
 I4	  29684 */
 I4	  29685 #pragma __member_alignment __save
 I4	  29686 #pragma __member_alignment
 I4	  29687 
 I4    X  29688 #if __INITIAL_POINTER_SIZE
 I4    X  29689 #   pragma __pointer_size __save
 I4    X  29690 
 I4    X  29691 #   pragma __pointer_size 64
 I4    X  29692 
 I4    X  29693 /*
 I4    X  29694 * 64-bit version of the iovec structure that is required to be used with the 
 I4    X  29695 * 64-bit interface routines _readv64 and __writev64 
 I4    X  29696 */
 I4    X  29697 #ifdef _XOPEN_SOURCE_EXTENDED
 I4    X  29698     struct __iovec64 {
 I4    X  29699         __void_ptr64	iov_base;
 I4    X  29700         __size_t	iov_len;
 I4    X  29701     };
 I4    X  29702 
 I4    X  29703     struct __Oiovec64 {
 I4    X  29704 #else
 I4    X  29705     struct __iovec64 {
 I4    X  29706 #endif
 I4    X  29707             __char_ptr64    iov_base;
 I4    X  29708             int		    iov_len;
 I4    X  29709 };
 I4    X  29710 
 I4    X  29711     typedef struct iovec * __iovec_ptr64;
 I4    X  29712     typedef struct __iovec64 * __iovec64_ptr64;
 I4    X  29713     typedef const struct __iovec64 * __const_iovec64_ptr64;
 I4    X  29714     typedef struct __iovec64 __iovec64_t;
 I4    X  29715 
 I4    X  29716 #   pragma __pointer_size 32
 I4    X  29717 
 I4    X  29718 /*
 I4    X  29719 * 32-bit version of the iovec structure that is required to be used with the 
 I4    X  29720 * 32-bit interface routines _readv32 and __writev32 
 I4    X  29721 */
 I4    X  29722 #ifdef _XOPEN_SOURCE_EXTENDED
 I4    X  29723     struct __iovec32 {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 538
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UIO)

 I4    X  29724         __void_ptr32	iov_base;
 I4    X  29725         __size_t	iov_len;
 I4    X  29726     };
 I4    X  29727 
 I4    X  29728     struct __Oiovec32 {
 I4    X  29729 #else
 I4    X  29730     struct __iovec32 {
 I4    X  29731 #endif
 I4    X  29732             __char_ptr32    iov_base;
 I4    X  29733             int		    iov_len;
 I4    X  29734 };
 I4    X  29735 
 I4    X  29736     typedef struct iovec * __iovec_ptr32;
 I4    X  29737     typedef struct __iovec32 * __iovec32_ptr32;
 I4    X  29738     typedef const struct __iovec32 * __const_iovec32_ptr32;
 I4    X  29739     typedef struct __iovec32 __iovec32_t;
 I4    X  29740 
 I4    X  29741 
 I4    X  29742 #endif
 I4	  29743 
 I4	  29744 /*
 I4	  29745 **  Restore the users pointer context
 I4	  29746 */
 I4    X  29747 #if __INITIAL_POINTER_SIZE
 I4    X  29748 #   pragma __pointer_size __restore
 I4    X  29749 #endif
 I4	  29750 
 I4	  29751 /*
 I4	  29752 ** Iovec Structure: I/O buffer element for vector I/O operations.
 I4	  29753 **
 I4	  29754 ** The iovec structure describes one scatter/gather buffer.
 I4	  29755 ** Multiple scatter/gather buffer descriptors are stored as an 
 I4	  29756 ** array of iovec elements. 
 I4	  29757 */
 I4    X  29758 #ifdef _XOPEN_SOURCE_EXTENDED
 I4    X  29759     struct iovec {
 I4    X  29760             void     *iov_base;    /* A pointer to a buffer. 
 I4    X  29761                                    */
 I4    X  29762             __size_t  iov_len;     /* The size of the buffer to which 
 I4    X  29763                                    ** iov_base points 
 I4    X  29764                                    */
 I4    X  29765     };
 I4    X  29766 
 I4    X  29767     struct __Oiovec {
 I4    X  29768 #else
 I4	  29769     struct iovec {
 I4	  29770 #endif
 I4	  29771             char     *iov_base;
 I4	  29772             int       iov_len;
 I4	  29773 };
 I4	  29774  
 I4	  29775     typedef struct iovec * __iovec_ptr;
 I4	  29776     typedef const struct iovec * __const_iovec_ptr;
 I4	  29777 
 I4	  29778 #if __CRTL_VER >= 70300000 
 I4	  29779 __ssize_t writev(int __fildes, const struct iovec *__iov, int __iovcnt);
 I4	  29780 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 539
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UIO)

 I4	  29781 
 I4    X  29782 #if __CRTL_VER >= 70311000 && __INITIAL_POINTER_SIZE == 64
 I4    X  29783 #define writev(__P1,__P2,__P3) __writev64(__P1,__P2,__P3)
 I4    X  29784 #endif
 I4	  29785 
 I4	  29786 #if __CRTL_VER >= 70311000
 I4    X  29787 #   if __INITIAL_POINTER_SIZE == 64
 I4    X  29788 	__ssize_t readv(int __fildes, __const_iovec64_ptr64 __iov, int __iovcnt);
 I4    X  29789 #   else
 I4	  29790 	__ssize_t readv(int __fildes, __const_iovec_ptr __iov, int __iovcnt);
 I4	  29791 #   endif
 I4	  29792 #endif
 I4	  29793 
 I4    X  29794 #if __INITIAL_POINTER_SIZE && __CRTL_VER >= 70311000
 I4    X  29795 
 I4    X  29796  __ssize_t _readv32(int __fildes, __const_iovec32_ptr32 __iov, int __iovcnt);
 I4    X  29797  __ssize_t __writev32(int __fildes, __const_iovec32_ptr32 __iov, int __iovcnt);
 I4    X  29798 
 I4    X  29799  __ssize_t _readv64(int __fildes, __const_iovec64_ptr64 __iov, int __iovcnt);
 I4    X  29800  __ssize_t __writev64(int __fildes, __const_iovec64_ptr64 __iov, int __iovcnt);
 I4    X  29801 
 I4    X  29802 #endif
 I4	  29803 
 I4	  29804 
 I4    X  29805 #ifdef __cplusplus
 I4    X  29806     }
 I4    X  29807 #endif
 I4	  29808 
 I4	  29809 #pragma __member_alignment __restore
 I4	  29810 #pragma __standard
 I4	  29811 #endif  /* __UIO_LOADED */
 I3	  29812 
 I3    X  29813 #if __INITIAL_POINTER_SIZE
 I3    X  29814 #   pragma __pointer_size __save
 I3    X  29815 #   pragma __pointer_size 32
 I3    X  29816 #endif
 I3	  29817 
 I3	  29818 /*	 
 I3	  29819 **  Strict XPG4 V2 compliance requires the BSD 4.4 socket interfaces
 I3	  29820 */	 
 I3    X  29821 #if defined _XOPEN_SOURCE_EXTENDED && !defined _SOCKADDR_LEN && __CRTL_VER >= 70000000
 I3    X  29822 #   define _SOCKADDR_LEN 1
 I3    X  29823 #endif
 I3	  29824 
 I3	  29825 /*
 I3	  29826 **  The OpenVMS V7.0 release added a second implementation of the socket 
 I3	  29827 **  functions which is compatible with BSD 4.4.
 I3	  29828 **
 I3	  29829 **  An application program enables this support by defining _SOCKADDR_LEN
 I3	  29830 **  prior to including this header file.
 I3	  29831 */
 I3    X  29832 #ifdef _SOCKADDR_LEN
 I3    X  29833 #   if (__CRTL_VER < 70000000)
 I3    X  29834 #      error " BSD 4.4 Socket package not available before OpenVMS V7.0"
 I3    X  29835 #      undef _SOCKADDR_LEN
 I3    X  29836 #   endif
 I3    X  29837 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 540
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  29838 
 I3	  29839 
 I3	  29840 /*
 I3	  29841 **  Set __nomember_alignment to avoid internal and tail
 I3	  29842 **  padding in structures; default base alignment.
 I3	  29843 **  Required for consistency across programming languages.
 I3	  29844 */
 I3	  29845 #pragma __member_alignment __save
 I3	  29846 #pragma __nomember_alignment
 I3	  29847 
 I3	  29848 
 I3	  29849 /*
 I3	  29850 **  Public typedefs (32-bit mode)
 I3	  29851 */
 I3    X  29852 #if !defined(__CADDR_T) && !defined(CADDR_T) && !defined _XOPEN_SOURCE_EXTENDED
 I3    X  29853 #   define __CADDR_T 1
 I3    X  29854 #   ifndef __HIDE_FORBIDDEN_NAMES
 I3    X  29855 #       define CADDR_T 1
 I3    X  29856 #   endif
 I3    X  29857     typedef __caddr_t caddr_t;
 I3    X  29858 #endif
 I3	  29859 
 I3    X  29860 #if !defined __SIZE_T  && !defined _DECC_V4_SOURCE
 I3    X  29861 #   define __SIZE_T 1
 I3    X  29862 #ifdef __NAMESPACE_STD
 I3    X  29863 namespace std {
 I3    X  29864 #endif
 I3    X  29865     typedef __size_t size_t;
 I3    X  29866 #ifdef __NAMESPACE_STD
 I3    X  29867 } /* namespace std */
 I3    X  29868     using std::size_t;
 I3    X  29869 #endif
 I3    X  29870 #endif
 I3	  29871 
 I3    X  29872 #if !defined __SSIZE_T  && !defined _DECC_V4_SOURCE
 I3    X  29873 #   define __SSIZE_T 1
 I3    X  29874     typedef __ssize_t ssize_t;
 I3    X  29875 #endif
 I3	  29876 
 I3    X  29877 #if !defined __TIME_T  && !defined _DECC_V4_SOURCE
 I3    X  29878 #   define __TIME_T 1
 I3    X  29879 #ifdef __NAMESPACE_STD
 I3    X  29880 namespace std {
 I3    X  29881 #endif
 I3    X  29882      typedef __time_t time_t;
 I3    X  29883 #ifdef __NAMESPACE_STD
 I3    X  29884 } /* namespace std */
 I3    X  29885      using std::time_t;
 I3    X  29886 #endif
 I3    X  29887 #endif
 I3	  29888 
 I3	  29889 
 I3	  29890 /*         
 I3	  29891 **  <sys/socket.h> is a header defined by XPG4 V2.  That specification
 I3	  29892 **  puts struct timeval, the FD* macros and select in <sys/time.h>.  
 I3	  29893 **  We define select here for compatibility with DEC C V4, unless
 I3	  29894 **  the program is in XPG4 V2 mode.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 541
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  29895 */         
 I3    X  29896 #if !defined __TIMEVAL && !defined _XOPEN_SOURCE_EXTENDED
 I3    X  29897 #   define __TIMEVAL 1
 I3    X  29898 #   if !defined _DECC_V4_SOURCE
 I3    X  29899         struct timeval {
 I3    X  29900            __time_t tv_sec;         /* seconds since Jan. 1, 1970 */
 I3    X  29901            long     tv_usec;        /* microseconds */
 I3    X  29902     };
 I3    X  29903 #   else
 I3    X  29904         struct timeval {
 I3    X  29905            long     tv_sec;         /* seconds since Jan. 1, 1970 */
 I3    X  29906            long     tv_usec;        /* microseconds */
 I3    X  29907         };
 I3    X  29908 #   endif
 I3    X  29909 #endif
 I3	  29910 
 I3	  29911     /* FD_SETSIZE may be defined by the user.  It is normally 
 I3	  29912     ** equal to the maximum number of descriptors supported by
 I3	  29913     ** the system.  Here it is set to the minimum maximum supported
 I3	  29914     ** by the system.  In order to accomodate programs which use 
 I3	  29915     ** a larger number of open files with select, increase this size
 I3	  29916     ** within a program by providing a larger definition of FD_SETSIZE
 I3	  29917     ** before including <time.h> or <socket.h>
 I3	  29918     */
 I3	  29919 
 I3    X  29920 #if !defined __FD_SET && !defined _XOPEN_SOURCE_EXTENDED && !defined _DECC_V4_SOURCE
 I3    X  29921 #   define __FD_SET 1
 I3    X  29922 #   ifndef FD_SETSIZE
 I3    X  29923 #      define FD_SETSIZE      1024
 I3    X  29924 #   endif
 I3    X  29925     typedef long fd_mask;
 I3    X  29926 #   define NBBY    8                            /* bits per byte */
 I3    X  29927 #   define NFDBITS (sizeof(fd_mask) * NBBY)     /* bits per mask */
 I3    X  29928 #   define FD_SET(__n, __p)   ((__p)->fds_bits[(__n)/NFDBITS] |= (1 << ((__n) % NFDBITS)))
 I3    X  29929 #   define FD_CLR(__n, __p)   ((__p)->fds_bits[(__n)/NFDBITS] &= ~(1 << ((__n) % NFDBITS)))
 I3    X  29930 #   define FD_ISSET(__n, __p) ((__p)->fds_bits[(__n)/NFDBITS] & (1 << ((__n) % NFDBITS)))
 I3    X  29931 #   define __howmany(__x, __y)   (((__x)+((__y)-1))/(__y))
 I3    X  29932 
 I3    X  29933     typedef struct fd_set {                            /* descriptor set */        
 I3    X  29934        fd_mask fds_bits[__howmany(FD_SETSIZE, NFDBITS)];
 I3    X  29935     } fd_set;
 I3    X  29936  
 I3    X  29937 #   if __INITIAL_POINTER_SIZE == 64
 I3    X  29938 #      pragma __pointer_size 64
 I3    X  29939 #   endif
 I3    X  29940     void *__MEMSET(void *__s, int __c, __size_t __n);
 I3    X  29941 #   define FD_ZERO(__p) __MEMSET((__p), 0, sizeof(*(__p)))
 I3    X  29942 #   if __INITIAL_POINTER_SIZE == 64
 I3    X  29943 #      pragma __pointer_size 32
 I3    X  29944 #   endif
 I3    X  29945 
 I3    X  29946 #endif
 I3	  29947 
 I3	  29948 
 I3	  29949 /*
 I3	  29950 **  Define non-standard BSD socket compatible typedefs
 I3	  29951 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 542
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  29952 #if !defined __SOCKET_TYPEDEFS && !defined _XOPEN_SOURCE_EXTENDED
 I3    X  29953 #   define __SOCKET_TYPEDEFS 1
 I3    X  29954     typedef unsigned char  u_char;
 I3    X  29955     typedef unsigned short u_short;
 I3    X  29956     typedef unsigned long  u_long;
 I3    X  29957 #endif
 I3	  29958 
 I3	  29959 /*
 I3	  29960 ** Defined XPG4 typedefs
 I3	  29961 */
 I3	  29962 #if !defined __SOCKLEN_T && !defined _DECC_V4_SOURCE
 I3	  29963 #   define __SOCKLEN_T
 I3	  29964     typedef unsigned int socklen_t;
 I3	  29965 #endif
 I3	  29966 #if !defined __SA_FAMILY_T && !defined _DECC_V4_SOURCE
 I3	  29967 #   define __SA_FAMILY_T
 I3	  29968     typedef __sa_family_t sa_family_t;
 I3	  29969 #endif
 I3	  29970 
 I3	  29971 
 I3	  29972 /*
 I3	  29973  * Definitions related to sockets: types, address families, options.
 I3	  29974  */
 I3	  29975 /*
 I3	  29976  * Types
 I3	  29977  */
 I3	  29978 #define	SOCK_STREAM	1		/* stream socket */
 I3	  29979 #define	SOCK_DGRAM	2		/* datagram socket */
 I3	  29980 #define	SOCK_RAW	3		/* raw-protocol interface */
 I3	  29981 #define	SOCK_RDM	4		/* reliably-delivered message */
 I3	  29982 #define	SOCK_SEQPACKET	5		/* sequenced packet stream */
 I3	  29983 
 I3	  29984 /*
 I3	  29985  * Option flags per-socket.
 I3	  29986  */
 I3	  29987 #define	SO_DEBUG	0x0001		/* turn on debugging info recording */
 I3	  29988 #define	SO_ACCEPTCONN	0x0002		/* socket has had listen() */
 I3	  29989 #define	SO_REUSEADDR	0x0004		/* allow local address reuse */
 I3	  29990 #define	SO_KEEPALIVE	0x0008		/* keep connections alive */
 I3	  29991 #define	SO_DONTROUTE	0x0010		/* just use interface addresses */
 I3	  29992 #define	SO_BROADCAST	0x0020		/* permit sending of broadcast msgs */
 I3	  29993 #define	SO_USELOOPBACK	0x0040		/* bypass hardware when possible */
 I3	  29994 #define	SO_LINGER	0x0080		/* linger on close if data present */
 I3	  29995 #define	SO_OOBINLINE	0x0100		/* leave received OOB data in line */
 I3	  29996 #define	SO_REUSEPORT	0x0200		/* allow local addr and port reuse */
 I3	  29997 #define SO_OPTIONS_VMS SO_DEBUG+SO_ACCEPTCONN+SO_REUSEADDR+SO_KEEPALIVE+ \
 I3	  29998                        SO_DONTROUTE+SO_BROADCAST+SO_USELOOPBACK+ \
 I3	  29999                        SO_LINGER+SO_OOBINLINE+SO_REUSEPORT
 I3    X  30000 #if SEC_BASE
 I3    X  30001 #if SEC_NET
 I3    X  30002 #define SO_EXPANDED_RIGHTS      0x1016  /* return expanded rights on recv */
 I3    X  30003 #define SO_DEFAULT_ATTR         0x1017  /* set def. socket attr. */
 I3    X  30004 #define SO_RCV_ATTR             0x1018  /* set socket rcv mask. */
 I3    X  30005 #define SO_AUTHENTICATION       0x1019  /* set socket authentication data. */
 I3    X  30006 #define SO_ACCESS_ERROR         0x1020  /* record security violation. */
 I3    X  30007 #define SO_SEC_ATTRIBUTES       0x1021  /* get sec. attrs. for last byte read */
 I3    X  30008 #define SO_REMOTE_KEY           0x1022  /* get auth. data for remote process. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 543
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30009 #define SO_NEW_ATTRS_ONLY       0x1023  /* Only return attrs if they change. */
 I3    X  30010 #define SO_SET_TNET_TCB         0x1024  /* Set/reset ALLOWNETACCESS on socket.*/
 I3    X  30011 #define SO_GET_TNET_TCB         0x1025  /* Return ALLOWNETACC. flag on socket.*/
 I3    X  30012 #else
 I3    X  30013 #define	SO_EXPANDED_RIGHTS	0x0400	/* return expanded rights on recv */
 I3    X  30014 #endif /*SEC_NET*/
 I3    X  30015 #endif
 I3	  30016 #define SO_PAIRABLE     0x0800          /* pairable socket unix domain */
 I3	  30017 #define SO_UMC          0x01000         /* umc socket */
 I3	  30018 #define SO_RESVPORT            0x100000 /* process wants a reserved port */
 I3	  30019 
 I3	  30020 /*
 I3	  30021  * Additional options, not kept in so_options.
 I3	  30022  */
 I3	  30023 #define SO_SNDBUF	0x1001		/* send buffer size */
 I3	  30024 #define SO_RCVBUF	0x1002		/* receive buffer size */
 I3	  30025 #define SO_SNDLOWAT	0x1003		/* send low-water mark */
 I3	  30026 #define SO_RCVLOWAT	0x1004		/* receive low-water mark */
 I3	  30027 #define SO_SNDTIMEO	0x1005		/* send timeout */
 I3	  30028 #define SO_RCVTIMEO	0x1006		/* receive timeout */
 I3	  30029 #define	SO_ERROR	0x1007		/* get error status and clear */
 I3	  30030 #define	SO_TYPE		0x1008		/* get socket type */
 I3	  30031 #define SO_SHARE	0x1009		/* ovms Share between processes */ 
 I3	  30032 #define SO_CCL  	0x100a		/* ovms Carriage Control socket */ 
 I3	  30033 #define SO_STATE	0x100b		/* get socket state bits */
 I3	  30034 #define SO_FAMILY	0x100c		/* get socket address family*/ 
 I3	  30035 #define SO_XSE		0x100d		/* _XOPEN_SOURCE_EXTENDED socket */ 
 I3	  30036 
 I3	  30037 /*
 I3	  30038 **  Full duplex code socket option
 I3	  30039 */
 I3	  30040 #define  SO_FULL_DUPLEX_CLOSE 0x2000  /* full duplex close option */
 I3	  30041 
 I3	  30042 
 I3	  30043 /*
 I3	  30044 ** Linger Structure:  Used for manipulating linger options.
 I3	  30045 **
 I3	  30046 ** This structure specifies the setting or resetting of the
 I3	  30047 ** socket opt for the time interval that the socket will 
 I3	  30048 ** linger for data.  linger is supported only by STREAM
 I3	  30049 ** type sockets.
 I3	  30050 */
 I3	  30051 struct linger {
 I3	  30052     int     l_onoff;    /* Linger option; 1 sets linger and 0 resets linger.
 I3	  30053                         */
 I3	  30054     int     l_linger;   /* Number of seconds to linger; defaulted to
 I3	  30055                         ** 120 seconds.
 I3	  30056                         */
 I3	  30057 };
 I3	  30058 
 I3	  30059 
 I3	  30060 /*
 I3	  30061 ** Level number for (get/set)sockopt() to apply to socket itself.
 I3	  30062 */
 I3	  30063 #define SOL_SOCKET 0xffff  /* options for socket level */
 I3	  30064 
 I3	  30065 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 544
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  30066 /*
 I3	  30067 ** Address families.
 I3	  30068 */
 I3	  30069 #define	AF_UNSPEC	0		/* unspecified */
 I3	  30070 #define	AF_UNIX		1		/* local to host (pipes, portals) */
 I3	  30071 #define	AF_INET		2		/* internetwork: UDP, TCP, etc. */
 I3	  30072 #define	AF_IMPLINK	3		/* arpanet imp addresses */
 I3	  30073 #define	AF_PUP		4		/* pup protocols: e.g. BSP */
 I3	  30074 #define	AF_CHAOS	5		/* mit CHAOS protocols */
 I3	  30075 #define	AF_NS		6		/* XEROX NS protocols */
 I3	  30076 #define	AF_ISO		7		/* ISO protocols */
 I3	  30077 #define	AF_OSI		AF_ISO
 I3	  30078 #define	AF_ECMA		8		/* european computer manufacturers */
 I3	  30079 #define	AF_DATAKIT	9		/* datakit protocols */
 I3	  30080 #define	AF_CCITT	10		/* CCITT protocols, X.25 etc */
 I3	  30081 #define	AF_SNA		11		/* IBM SNA */
 I3	  30082 #define AF_DECnet	12		/* DECnet */
 I3	  30083 #define AF_DLI		13		/* DEC Direct data link interface */
 I3	  30084 #define AF_LAT		14		/* LAT */
 I3	  30085 #define	AF_HYLINK	15		/* NSC Hyperchannel */
 I3	  30086 #define	AF_APPLETALK	16		/* Apple Talk */
 I3	  30087 #define	AF_ROUTE	17		/* Internal Routing Protocol */
 I3	  30088 #define	AF_LINK		18		/* Link layer interface */
 I3	  30089 
 I3    X  30090 #ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30091 #define	_pseudo_AF_XTP	19		/* eXpress Transfer Protocol (no AF) */
 I3    X  30092 #else
 I3	  30093 #define	pseudo_AF_XTP	19		/* eXpress Transfer Protocol (no AF) */
 I3	  30094 #endif
 I3	  30095 
 I3	  30096 #define AF_NETMAN	20		/* DNA Network Management */
 I3	  30097 #define AF_X25		21		/* X25 protocol */
 I3	  30098 #define AF_CTF		22		/* Common Trace Facility */
 I3	  30099 #define AF_WAN		23		/* Wide Area Network protocols */
 I3	  30100 #define AF_USER		24		/* Wild card (user defined) protocol */
 I3	  30101 #define AF_LAST         25              /* Local Area System Transport protocol */
 I3	  30102 #define AF_INET6        26              /* IPV6: UDP, TCP, etc. */
 I3	  30103 #define AF_AAL          27              /* Native AAL ATM */
 I3	  30104 #define AF_KEY          28              /* IPSEC key management */
 I3	  30105 #define AF_MAX          35              /* leave some space for future growth */
 I3	  30106 
 I3	  30107 #define SHUT_RD         0       /* Disables further receive operations */
 I3	  30108 #define SHUT_WR         1       /* Disables further send operations */
 I3	  30109 #define SHUT_RDWR       2       /* Disables further send and receive operations */
 I3	  30110 
 I3	  30111 /* definitions for sockaddr_storage structure */
 I3	  30112 #define _SS_MAXSIZE    128  /* Implementation specific max size.  Set to
 I3	  30113                              * be large enough to take a sockaddr_un.
 I3	  30114                              */
 I3	  30115 
 I3	  30116 #define _SS_ALIGNSIZE  (sizeof (long))
 I3	  30117 
 I3	  30118 /*
 I3	  30119 **  sockaddr structure used by kernel to store most addresses.
 I3	  30120 */
 I3    X  30121 #ifdef _SOCKADDR_LEN
 I3    X  30122 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 545
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30123     /*
 I3    X  30124     **  BSD 4.4 sockaddr
 I3    X  30125     */
 I3    X  30126     struct sockaddr {
 I3    X  30127         unsigned char       sa_len;       /* total length   */
 I3    X  30128         __sa_family_t       sa_family;    /* address family  */
 I3    X  30129         char                sa_data[14];  /* up to 14 bytes of direct address */
 I3    X  30130     };
 I3    X  30131 
 I3    X  30132 #   if !defined _XOPEN_SOURCE_EXTENDED
 I3    X  30133 	/*
 I3    X  30134 	**  BSD 4.3 sockaddr (for compatibility)
 I3    X  30135 	*/
 I3    X  30136 	struct osockaddr {
 I3    X  30137 	    unsigned short  sa_family;    /* address family */
 I3    X  30138 	    char            sa_data[14];  /* up to 14 bytes of direct address */
 I3    X  30139 	};
 I3    X  30140 #   endif
 I3    X  30141 
 I3    X  30142 #define _SS_PAD1SIZE (_SS_ALIGNSIZE - (sizeof (unsigned char) + sizeof(__sa_family_t)))
 I3    X  30143 #define _SS_PAD2SIZE   (_SS_MAXSIZE - ( 2 * _SS_ALIGNSIZE))
 I3    X  30144 
 I3    X  30145 struct sockaddr_storage {
 I3    X  30146     unsigned char  ss_len;                      /* address length */
 I3    X  30147     __sa_family_t  ss_family;                   /* address family */
 I3    X  30148 #define __ss_len        ss_len
 I3    X  30149 #define __ss_family     ss_family
 I3    X  30150     char           __ss_pad1[_SS_PAD1SIZE];     /* pad to allignment field */
 I3    X  30151     unsigned long  __ss_align;                  /* force structure allignment */
 I3    X  30152     char           __ss_pad2[_SS_PAD2SIZE];     /* pad to desired size */
 I3    X  30153 };
 I3    X  30154 
 I3    X  30155 #else
 I3	  30156 
 I3	  30157     /*
 I3	  30158     **  BSD 4.3 sockaddr
 I3	  30159     */
 I3	  30160     struct sockaddr {
 I3	  30161         unsigned short      sa_family;    /* address family */
 I3	  30162         char                sa_data[14];  /* up to 14 bytes of direct address */
 I3	  30163     };
 I3	  30164 
 I3	  30165 #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (unsigned short))
 I3	  30166 #define _SS_PAD2SIZE   (_SS_MAXSIZE - ( 2 * _SS_ALIGNSIZE))
 I3	  30167 
 I3	  30168 struct sockaddr_storage {
 I3	  30169     unsigned short  ss_family;          /* address family 4.3 BSD */
 I3	  30170 #define __ss_family     ss_family
 I3	  30171     char            __ss_pad1[_SS_PAD1SIZE];    /* pad to allignment field */
       E	                               ( ( sizeof ( long ) ) - sizeof ( unsigned short ) )
 I3	  30172     unsigned long   __ss_align;                 /* force structure allignment */
 I3	  30173     char            __ss_pad2[_SS_PAD2SIZE];    /* pad to desired size */
       E	                               ( 128 - ( 2 * ( sizeof ( long ) ) ) )
 I3	  30174 };
 I3	  30175 
 I3	  30176 #endif
 I3	  30177 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 546
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  30178 
 I3	  30179 #if !defined _XOPEN_SOURCE_EXTENDED
 I3	  30180     /*
 I3	  30181     **  Structure used by kernel to pass protocol information in raw sockets
 I3	  30182     */
 I3	  30183     struct sockproto {
 I3	  30184 	u_short sp_family;    /* address family */
 I3	  30185 	u_short sp_protocol;  /* protocol       */
 I3	  30186     };
 I3	  30187 
 I3	  30188     /*
 I3	  30189     **  Protocol families, same as address families for now
 I3	  30190     */
 I3	  30191 #define	PF_UNSPEC	AF_UNSPEC
 I3	  30192 #define	PF_UNIX		AF_UNIX
 I3	  30193 #define	PF_INET		AF_INET
 I3	  30194 #define	PF_IMPLINK	AF_IMPLINK
 I3	  30195 #define	PF_PUP		AF_PUP
 I3	  30196 #define	PF_CHAOS	AF_CHAOS
 I3	  30197 #define	PF_NS		AF_NS
 I3	  30198 #define	PF_ISO		AF_ISO
 I3	  30199 #define	PF_OSI		AF_ISO
 I3	  30200 #define	PF_ECMA		AF_ECMA
 I3	  30201 #define	PF_DATAKIT	AF_DATAKIT
 I3	  30202 #define	PF_CCITT	AF_CCITT
 I3	  30203 #define	PF_SNA		AF_SNA
 I3	  30204 #define PF_DECnet	AF_DECnet
 I3	  30205 #define PF_DLI		AF_DLI
 I3	  30206 #define PF_LAT		AF_LAT
 I3	  30207 #define	PF_HYLINK	AF_HYLINK
 I3	  30208 #define	PF_APPLETALK	AF_APPLETALK
 I3	  30209 #define	PF_ROUTE	AF_ROUTE
 I3	  30210 #define	PF_LINK		AF_LINK
 I3	  30211 
 I3    X  30212 #ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30213 #define	PF_XTP		_pseudo_AF_XTP	/* really just proto family, no AF */
 I3    X  30214 #else
 I3	  30215 #define	PF_XTP		pseudo_AF_XTP	/* really just proto family, no AF */
 I3	  30216 #endif
 I3	  30217 
 I3	  30218 #define PF_NETMAN	AF_NETMAN
 I3	  30219 #define PF_X25		AF_X25
 I3	  30220 #define PF_CTF		AF_CTF
 I3	  30221 #define PF_WAN		AF_WAN
 I3	  30222 #define PF_USER         AF_USER
 I3	  30223 #define PF_LAST         AF_LAST
 I3	  30224 #define PF_INET6        AF_INET6
 I3	  30225 #define PF_AAL          AF_AAL
 I3	  30226 #define PF_KEY          AF_KEY
 I3	  30227 
 I3	  30228 #define PF_MAX          AF_MAX
 I3	  30229 
 I3	  30230 /*
 I3	  30231  * Maximum queue length specifiable by listen.
 I3	  30232  */
 I3	  30233 #define	SOMAXCONN	1024
 I3	  30234 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 547
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  30235 #endif
 I3	  30236 
 I3	  30237 /*
 I3	  30238 **  
 I3	  30239 */
 I3	  30240 #if !defined _XOPEN_SOURCE_EXTENDED
 I3	  30241 #define MSG_MAXIOVLEN   16
 I3	  30242 #endif
 I3	  30243 
 I3	  30244 #define MSG_OOB         0x1   /* process out-of-band data           */
 I3	  30245 #define MSG_PEEK        0x2   /* peek at incoming message           */
 I3	  30246 #define MSG_DONTROUTE   0x4   /* send without using routing tables  */
 I3	  30247 #define MSG_EOR         0x8   /* data completes record              */
 I3	  30248 #define MSG_TRUNC       0x10  /* data discarded before delivery     */
 I3	  30249 #define MSG_CTRUNC      0x20  /* control data lost before delivery  */
 I3	  30250 #define MSG_WIRE        0x40  /* toggle socket wire flag (send only)*/
 I3	  30251 #define MSG_WAITALL     0x80  /* wait for full request or error     */
 I3	  30252 
 I3	  30253 /* MSG_AIO must not be set by the user */
 I3	  30254 #define MSG_AIO         0x2000          /* Asynchronous IO request */
 I3	  30255 
 I3	  30256 /* Following used within kernel */
 I3	  30257 #define	MSG_NONBLOCK	0x4000		/* nonblocking request */
 I3	  30258 #define MSG_COMPAT	0x8000		/* 4.3-format sockaddr */
 I3	  30259 #define MSG_SENDFILE    0x10000         /* from sendfile; bypass space checks */
 I3	  30260 
 I3	  30261 
 I3	  30262 #if !defined _XOPEN_SOURCE_EXTENDED
 I3	  30263 #   define MSG_DONTWAIT    0x40  /* this message should be nonblocking */
 I3	  30264 #   define MSG_DONTROUTE   0x4   /* send without using routing tables  */
 I3	  30265 #endif 
 I3	  30266 
 I3	  30267 /*
 I3	  30268 **  Header for ancillary data objects in msg_control buffer.  Used for
 I3	  30269 **  additional information with/about a datagram not expressible by
 I3	  30270 **  flags.  The format is a sequence of message elements headed by
 I3	  30271 **  cmsghdr structures.
 I3	  30272 */
 I3    X  30273 #ifdef _XOPEN_SOURCE_EXTENDED
 I3	  30274 /*
 I3	  30275 ** The CMSG_NXTHDR macro uses the _ALIGN macro and therefore
 I3	  30276 ** the assumption exists that we are longword base aligned.
 I3	  30277 ** Consequently, the cmsghdr struct must have longword base alignment.
 I3    X  30278 */
 I3    X  30279 #pragma __nomember_alignment __longword
 I3    X  30280     struct cmsghdr {
 I3    X  30281             __size_t        cmsg_len;       /* data byte count, including hdr.
 I3    X  30282                                             */
 I3    X  30283             int             cmsg_level;     /* originating protocol, values
 I3    X  30284                                             ** will be legal values for level
 I3    X  30285                                             ** arg to getsockopt(),setsockopt().
 I3    X  30286                                             */
 I3    X  30287             int             cmsg_type;      /* protocol-specific type.
 I3    X  30288                                             */
 I3    X  30289     /* followed by  u_char  cmsg_data[]; */
 I3    X  30290     };
 I3    X  30291 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 548
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  30292 
 I3    X  30293 #ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30294     struct __Ocmsghdr {
 I3    X  30295 #else
 I3	  30296     struct cmsghdr {
 I3	  30297 #endif
 I3	  30298             unsigned int    cmsg_len;       /* data byte count, including hdr */
 I3	  30299             int             cmsg_level;     /* originating protocol; see above*/
 I3	  30300             int             cmsg_type;      /* protocol-specific type */
 I3	  30301     /* followed by  u_char  cmsg_data[]; */
 I3	  30302     };
 I3	  30303 /*
 I3	  30304 ** Restore default base alignment.
 I3	  30305 */
 I3	  30306 #pragma __nomember_alignment
 I3	  30307 
 I3	  30308 /*
 I3	  30309 ** Macro for checking and aligning a pointer to the machines native word size.
 I3	  30310 */
 I3	  30311 #define _ALIGN(p) \
 I3	  30312         (void *)((__caddr_t)(p) + sizeof(void *) - 1UL - \
 I3	  30313                 ((unsigned int)((__caddr_t)(p) + sizeof(void *) - 1UL) % \
 I3	  30314                 sizeof(void *)))
 I3	  30315 
 I3	  30316 /* given pointer to struct cmsghdr, return pointer to data */
 I3	  30317 #define CMSG_DATA(cmsg)         ((unsigned char *)(cmsg) + _CMSG_LEN(0))
 I3	  30318 
 I3	  30319 /* given length of data, return space required for cmsghdr and data,
 I3	  30320  * plus any padding needed to satisfy alignment requirements
 I3	  30321  */
 I3	  30322 #define _CMSG_SPACE(length) ((unsigned long)_ALIGN(sizeof(struct cmsghdr)) + \
 I3	  30323                                 (unsigned long)_ALIGN(length))
 I3	  30324 
 I3	  30325 /* given length of data, return value to store in cmsg_len field, taking
 I3	  30326  * into account any padding needed to satisfy alignment requirements.
 I3	  30327  */
 I3	  30328 #define _CMSG_LEN(length) ((unsigned long)_ALIGN(sizeof(struct cmsghdr)) \
 I3	  30329                                 + length)
 I3	  30330 
 I3	  30331 /* given pointer to struct cmsghdr, return length of data */
 I3	  30332 #define _CMSG_DATALEN(cmsg)     ((cmsg)->cmsg_len - _CMSG_LEN(0))
 I3	  30333 
 I3	  30334 /* given pointer to struct msghdr, return pointer to first cmsghdr */
 I3	  30335 #define CMSG_FIRSTHDR(mhdr) \
 I3	  30336     ( (mhdr)->msg_controllen >= _CMSG_LEN(0) ? \
 I3	  30337       (struct cmsghdr *)(mhdr)->msg_control : \
 I3	  30338       (struct cmsghdr *)__NULL )
 I3	  30339 
 I3	  30340 /* given pointer to struct msghdr and cmsghdr, return pointer to next cmsghdr */
 I3	  30341 #define CMSG_NXTHDR(mhdr, cmsg) \
 I3	  30342     (  ((cmsg) == __NULL) ? CMSG_FIRSTHDR(mhdr) : \
 I3	  30343      ( ((__caddr_t)(cmsg) + _CMSG_SPACE(_CMSG_DATALEN(cmsg)) + _CMSG_LEN(0)) > \
 I3	  30344             ((__caddr_t)(mhdr)->msg_control + (mhdr)->msg_controllen) ? \
 I3	  30345        (struct cmsghdr *)__NULL : \
 I3	  30346        (struct cmsghdr *)((__caddr_t)(cmsg) + _CMSG_SPACE(_CMSG_DATALEN(cmsg)) )))
 I3	  30347 
 I3	  30348 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 549
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  30349 **  "Socket"-level control message types:
 I3	  30350 */
 I3	  30351 #define SCM_RIGHTS      0x01            /* access rights (array of int) */
 I3	  30352 
 I3	  30353 
 I3    X  30354 #if __INITIAL_POINTER_SIZE
 I3    X  30355 #   pragma __pointer_size 64
 I3    X  30356 
 I3    X  30357 /*
 I3    X  30358 ** 64-bit Msghdr Structure
 I3    X  30359 **
 I3    X  30360 ** This structure specifies the message buffer parameter for 
 I3    X  30361 ** recvmsg and sendmsg calls.  It allows you to specify an array
 I3    X  30362 ** of scatter/gather buffers.  Recvmsg scatters the data to several
 I3    X  30363 ** user receive buffers.  Sendmsg gathers data from several user
 I3    X  30364 ** transmit buffers before transmitting.
 I3    X  30365 ** 
 I3    X  30366 */
 I3    X  30367 #ifdef _SOCKADDR_LEN
 I3    X  30368 
 I3    X  30369 #    ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30370         struct __msghdr64 {
 I3    X  30371                 __void_ptr64	  msg_name;       /* The address of the destina-
 I3    X  30372                                                   ** tion socket, if the socket is
 I3    X  30373                                                   ** connected.  If no address is
 I3    X  30374                                                   ** required, this field can be
 I3    X  30375                                                   ** set to NULL.
 I3    X  30376                                                   */
 I3    X  30377                 __size_t          msg_namelen;    /* Len of msg_name field.
 I3    X  30378                                                   */
 I3    X  30379                 struct __iovec64  *msg_iov;        /* scatter/gather array.
 I3    X  30380                                                   */
 I3    X  30381                 int               msg_iovlen;     /* # elements in msg_iov.
 I3    X  30382                                                   */
 I3    X  30383                 __void_ptr64	  msg_control;   /* Ancillary data consisting
 I3    X  30384                                                   ** of a sequence of pairs, each
 I3    X  30385                                                   ** consisting of a cmsghdr 
 I3    X  30386                                                   ** structure followed by a data
 I3    X  30387                                                   ** array.  The data array con-
 I3    X  30388                                                   ** tains the ancillary data
 I3    X  30389                                                   ** message, and the cmsghdr 
 I3    X  30390                                                   ** struct contains info allowing
 I3    X  30391                                                   ** applications to parse the 
 I3    X  30392                                                   ** data.
 I3    X  30393                                                   */
 I3    X  30394                 __size_t          msg_controllen; /* Ancillary data buffer len.
 I3    X  30395                                                   */
 I3    X  30396                 int               msg_flags;      /* Flags on received message.
 I3    X  30397                                                 */
 I3    X  30398         };
 I3    X  30399 
 I3    X  30400 #    else
 I3    X  30401 
 I3    X  30402         struct __msghdr64 {
 I3    X  30403                 __char_ptr64       msg_name;       /* The address of the destina-
 I3    X  30404                                                 ** tion socket, if the socket is
 I3    X  30405                                                 ** connected.  If no address is

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 550
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30406                                                 ** required, this field can be
 I3    X  30407                                                 ** set to NULL.
 I3    X  30408                                                 */
 I3    X  30409                 unsigned int      msg_namelen;    /* Len of msg_name field.
 I3    X  30410                                                 */
 I3    X  30411                 struct __iovec64  *msg_iov;     /* scatter/gather array.
 I3    X  30412                                                 */
 I3    X  30413                 unsigned int    msg_iovlen;     /* # elements in msg_iov.
 I3    X  30414                                                 */
 I3    X  30415                 __char_ptr64	msg_control;    /* Ancillary data, see above.
 I3    X  30416                                                 */
 I3    X  30417                 unsigned int    msg_controllen; /* Ancillary data buffer len.
 I3    X  30418                                                 */
 I3    X  30419                 int             msg_flags;      /* Flags on received message.
 I3    X  30420                                                 */
 I3    X  30421         };
 I3    X  30422 
 I3    X  30423 #    endif
 I3    X  30424 
 I3    X  30425 #else
 I3    X  30426 
 I3    X  30427     /*
 I3    X  30428     **  BSD 4.3 message header
 I3    X  30429     */
 I3    X  30430     struct __msghdr64 {
 I3    X  30431         __char_ptr64	 msg_name;	  /* The address of the destina-
 I3    X  30432                                           ** tion socket, if the socket is
 I3    X  30433                                           ** connected.  If no address is
 I3    X  30434                                           ** required, this field can be
 I3    X  30435                                           ** set to NULL.
 I3    X  30436                                           */
 I3    X  30437         int              msg_namelen;     /* Len of msg_name field.
 I3    X  30438                                           */
 I3    X  30439         struct __iovec64 *msg_iov;        /* Scatter/Gather array.
 I3    X  30440                                           */
 I3    X  30441         int              msg_iovlen;      /* # elements in msg_iov.
 I3    X  30442                                           */
 I3    X  30443         __char_ptr64	 msg_accrights;   /* Points to a buffer containing
 I3    X  30444                                           ** access rights sent with message.
 I3    X  30445                                           */
 I3    X  30446         int              msg_accrightslen;/* Len of the msg_accrights buffer.
 I3    X  30447                                           */
 I3    X  30448     };
 I3    X  30449 
 I3    X  30450 #endif
 I3    X  30451 
 I3    X  30452     typedef struct msghdr *__msghdr_ptr64;
 I3    X  30453     typedef const struct msghdr *__const_msghdr_ptr64;
 I3    X  30454     typedef struct __msghdr64 *__msghdr64_ptr64;
 I3    X  30455     typedef const struct __msghdr64 *__const_msghdr64_ptr64;
 I3    X  30456 
 I3    X  30457 #   pragma __pointer_size 32
 I3    X  30458 
 I3    X  30459 /*
 I3    X  30460 ** 32-bit Msghdr Structure
 I3    X  30461 **
 I3    X  30462 ** This structure specifies the message buffer parameter for

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 551
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30463 ** recvmsg and sendmsg calls.  It allows you to specify an array
 I3    X  30464 ** of scatter/gather buffers.  Recvmsg scatters the data to several
 I3    X  30465 ** user receive buffers.  Sendmsg gathers data from several user
 I3    X  30466 ** transmit buffers before transmitting.
 I3    X  30467 **
 I3    X  30468 */
 I3    X  30469 #ifdef _SOCKADDR_LEN
 I3    X  30470 
 I3    X  30471 #    ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30472         struct __msghdr32 {
 I3    X  30473                 __void_ptr32     *msg_name;      /* The address of the destina-
 I3    X  30474                                                  ** tion socket, if the socket is
 I3    X  30475                                                  ** connected.  If no address is
 I3    X  30476                                                  ** required, this field can be
 I3    X  30477                                                  ** set to NULL.
 I3    X  30478                                                  */
 I3    X  30479                 __size_t         msg_namelen;    /* Len of msg_name field.
 I3    X  30480                                                  */
 I3    X  30481                 struct __iovec32 *msg_iov;       /* scatter/gather array.
 I3    X  30482                                                  */
 I3    X  30483                 int              msg_iovlen;     /* # elements in msg_iov.
 I3    X  30484                                                  */
 I3    X  30485                 __void_ptr32     msg_control;    /* Ancillary data consisting
 I3    X  30486                                                  ** of a sequence of pairs, each
 I3    X  30487                                                  ** consisting of a cmsghdr
 I3    X  30488                                                  ** structure followed by a data
 I3    X  30489                                                  ** array.  The data array con-
 I3    X  30490                                                  ** tains the ancillary data
 I3    X  30491                                                  ** message, and the cmsghdr
 I3    X  30492                                                  ** struct contains info allowing
 I3    X  30493                                                  ** applications to parse the
 I3    X  30494                                                  ** data.
 I3    X  30495                                                  */
 I3    X  30496                 __size_t         msg_controllen; /* Ancillary data buffer len.
 I3    X  30497                                                  */
 I3    X  30498                 int              msg_flags;      /* Flags on received message.
 I3    X  30499                                                  */
 I3    X  30500         };
 I3    X  30501 
 I3    X  30502 #    else
 I3    X  30503 
 I3    X  30504         struct __msghdr32 {
 I3    X  30505                 __char_ptr32      msg_name;       /* The address of the destina-
 I3    X  30506                                                   ** tion socket, if the socket is
 I3    X  30507                                                   ** connected.  If no address is
 I3    X  30508                                                   ** required, this field can be
 I3    X  30509                                                   ** set to NULL.
 I3    X  30510                                                   */
 I3    X  30511                 unsigned int      msg_namelen;    /* Len of msg_name field.
 I3    X  30512                                                   */
 I3    X  30513                 struct __iovec32  *msg_iov;       /* scatter/gather array.
 I3    X  30514                                                   */
 I3    X  30515                 unsigned int      msg_iovlen;     /* # elements in msg_iov.
 I3    X  30516                                                   */
 I3    X  30517                 __char_ptr32      msg_control;    /* Ancillary data, see above.
 I3    X  30518                                                   */
 I3    X  30519                 unsigned int      msg_controllen; /* Ancillary data buffer len.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 552
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30520                                                   */
 I3    X  30521                 int               msg_flags;      /* Flags on received message.
 I3    X  30522                                                   */
 I3    X  30523         };
 I3    X  30524 
 I3    X  30525 #    endif
 I3    X  30526 
 I3    X  30527 #else
 I3    X  30528 
 I3    X  30529     /*
 I3    X  30530     **  BSD 4.3 message header
 I3    X  30531     */
 I3    X  30532     struct __msghdr32 {
 I3    X  30533         __char_ptr32     msg_name;        /* The address of the destina-
 I3    X  30534                                           ** tion socket, if the socket is
 I3    X  30535                                           ** connected.  If no address is
 I3    X  30536                                           ** required, this field can be
 I3    X  30537                                           ** set to NULL.
 I3    X  30538                                           */
 I3    X  30539         int              msg_namelen;     /* Len of msg_name field.
 I3    X  30540                                           */
 I3    X  30541         struct __iovec32 *msg_iov;        /* Scatter/Gather array.
 I3    X  30542                                           */
 I3    X  30543         int              msg_iovlen;      /* # elements in msg_iov.
 I3    X  30544                                           */
 I3    X  30545         __char_ptr32     msg_accrights;   /* Points to a buffer containing
 I3    X  30546                                           ** access rights sent with message.
 I3    X  30547                                           */
 I3    X  30548         int              msg_accrightslen; /* Len of the msg_accrights buffer.
 I3    X  30549                                            */
 I3    X  30550     };
 I3    X  30551 
 I3    X  30552 #endif
 I3    X  30553 
 I3    X  30554     typedef struct msghdr *__msghdr_ptr32;
 I3    X  30555     typedef struct __msghdr32 *__msghdr32_ptr32;
 I3    X  30556     typedef struct __msghdr64 *__msghdr64_ptr32;
 I3    X  30557     typedef const struct __msghdr32 *__const_msghdr32_ptr32;
 I3    X  30558 
 I3    X  30559 
 I3    X  30560 #endif /* __INITIAL_POINTER_SIZE */
 I3	  30561 
 I3	  30562 /*
 I3	  30563 ** Msghdr Structure
 I3	  30564 **
 I3	  30565 ** This structure specifies the message buffer parameter for 
 I3	  30566 ** recvmsg and sendmsg calls.  It allows you to specify an array
 I3	  30567 ** of scatter/gather buffers.  Recvmsg scatters the data to several
 I3	  30568 ** user receive buffers.  Sendmsg gathers data from several user
 I3	  30569 ** transmit buffers before transmitting.
 I3	  30570 ** 
 I3	  30571 */
 I3    X  30572 #ifdef _SOCKADDR_LEN
 I3    X  30573 
 I3    X  30574 #    ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30575         struct msghdr {
 I3    X  30576                 void           *msg_name;       /* The address of the destina-

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 553
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30577                                                 ** tion socket, if the socket is
 I3    X  30578                                                 ** connected.  If no address is
 I3    X  30579                                                 ** required, this field can be
 I3    X  30580                                                 ** set to NULL.
 I3    X  30581                                                 */
 I3    X  30582                 __size_t        msg_namelen;    /* Len of msg_name field.
 I3    X  30583                                                 */
 I3    X  30584                 struct iovec   *msg_iov;        /* scatter/gather array.
 I3    X  30585                                                 */
 I3    X  30586                 int             msg_iovlen;     /* # elements in msg_iov.
 I3    X  30587                                                 */
 I3    X  30588                 void           *msg_control;    /* Ancillary data consisting
 I3    X  30589                                                 ** of a sequence of pairs, each
 I3    X  30590                                                 ** consisting of a cmsghdr 
 I3    X  30591                                                 ** structure followed by a data
 I3    X  30592                                                 ** array.  The data array con-
 I3    X  30593                                                 ** tains the ancillary data
 I3    X  30594                                                 ** message, and the cmsghdr 
 I3    X  30595                                                 ** struct contains info allowing
 I3    X  30596                                                 ** applications to parse the 
 I3    X  30597                                                 ** data.
 I3    X  30598                                                 */
 I3    X  30599                 __size_t        msg_controllen; /* Ancillary data buffer len.
 I3    X  30600                                                 */
 I3    X  30601                 int             msg_flags;      /* Flags on received message.
 I3    X  30602                                                 */
 I3    X  30603         };
 I3    X  30604 #    endif
 I3    X  30605 
 I3    X  30606 #    ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30607         struct __Omsghdr {
 I3    X  30608 #    else
 I3    X  30609         struct msghdr {
 I3    X  30610 #    endif
 I3    X  30611                 char	       *msg_name;       /* The address of the destina-
 I3    X  30612                                                 ** tion socket, if the socket is
 I3    X  30613                                                 ** connected.  If no address is
 I3    X  30614                                                 ** required, this field can be
 I3    X  30615                                                 ** set to NULL.
 I3    X  30616                                                 */
 I3    X  30617                 unsigned int    msg_namelen;    /* Len of msg_name field.
 I3    X  30618                                                 */
 I3    X  30619 #    ifdef _XOPEN_SOURCE_EXTENDED
 I3    X  30620                 struct __Oiovec *msg_iov;       /* scatter/gather array.
 I3    X  30621                                                 */
 I3    X  30622 #    else
 I3    X  30623                 struct iovec   *msg_iov;        /* scatter/gather array.
 I3    X  30624                                                 */
 I3    X  30625 #    endif
 I3    X  30626                 unsigned int    msg_iovlen;     /* # elements in msg_iov.
 I3    X  30627                                                 */
 I3    X  30628                 char	       *msg_control;    /* Ancillary data, see above.
 I3    X  30629                                                 */
 I3    X  30630                 unsigned int    msg_controllen; /* Ancillary data buffer len.
 I3    X  30631                                                 */
 I3    X  30632                 int             msg_flags;      /* Flags on received message.
 I3    X  30633                                                 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 554
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30634         };
 I3    X  30635 
 I3    X  30636 
 I3    X  30637 #    if !defined _XOPEN_SOURCE_EXTENDED
 I3    X  30638         /*
 I3    X  30639         **  BSD 4.3 message header (for compatibility)
 I3    X  30640         */
 I3    X  30641         struct omsghdr {
 I3    X  30642              char	 *msg_name;    	   /* The address of the destina-
 I3    X  30643                                            ** tion socket, if the socket is
 I3    X  30644                                            ** connected.  If no address is
 I3    X  30645                                            ** required, this field can be
 I3    X  30646                                            ** set to NULL.
 I3    X  30647                                            */
 I3    X  30648              int          msg_namelen;     /* Len of msg_name field.
 I3    X  30649                                            */
 I3    X  30650              struct iovec *msg_iov;        /* scatter/gather array.
 I3    X  30651                                            */
 I3    X  30652              int          msg_iovlen;      /* # elements in msg_iov.       
 I3    X  30653                                            */
 I3    X  30654              char	 *msg_accrights;   /* Points to a buffer containing
 I3    X  30655                                            ** access rights sent with message.
 I3    X  30656                                            */
 I3    X  30657              int          msg_accrightslen;/* Len of the msg_accrights buffer.
 I3    X  30658                                            */
 I3    X  30659         };
 I3    X  30660 #    endif
 I3    X  30661 
 I3    X  30662 #else
 I3	  30663 
 I3	  30664     /*
 I3	  30665     **  BSD 4.3 message header
 I3	  30666     */
 I3	  30667     struct msghdr {
 I3	  30668         char		*msg_name;	  /* The address of the destina-
 I3	  30669                                           ** tion socket, if the socket is
 I3	  30670                                           ** connected.  If no address is
 I3	  30671                                           ** required, this field can be
 I3	  30672                                           ** set to NULL.
 I3	  30673                                           */
 I3	  30674         int              msg_namelen;     /* Len of msg_name field.
 I3	  30675                                           */
 I3	  30676         struct iovec     *msg_iov;        /* Scatter/Gather array.
 I3	  30677                                           */
 I3	  30678         int              msg_iovlen;      /* # elements in msg_iov.
 I3	  30679                                           */
 I3	  30680         char		*msg_accrights;   /* Points to a buffer containing
 I3	  30681                                           ** access rights sent with message.
 I3	  30682                                           */
 I3	  30683         int              msg_accrightslen;/* Len of the msg_accrights buffer.
 I3	  30684                                           */
 I3	  30685     };
 I3	  30686 
 I3	  30687 #endif
 I3	  30688 
 I3	  30689     typedef struct msghdr *__msghdr_ptr;
 I3	  30690     typedef const struct msghdr *__const_msghdr_ptr;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 555
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3	  30691 
 I3	  30692 
 I3	  30693 /*
 I3	  30694 **  This section is for functions and declarations which do support 64 bit
 I3	  30695 **  pointers being passed (or returned).  The socket interface is different
 I3	  30696 **  from other 64 bit interfaces in that only a select set of functions
 I3	  30697 **  accept 64 bit pointers.  The DEC C RTL is a thin layer between the user
 I3	  30698 **  application and a vendors tcp/ip interface.
 I3	  30699 */
 I3	  30700 #if __CAN_USE_EXTERN_PREFIX
 I3	  30701 #   pragma __extern_prefix __save
 I3	  30702 #endif
 I3	  30703 
 I3    X  30704 #ifdef _SOCKADDR_LEN
 I3    X  30705 #   if __CAN_USE_EXTERN_PREFIX
 I3    X  30706 #	pragma __extern_prefix "__bsd44_"
 I3    X  30707 #   else
 I3    X  30708 #	define recvmsg(__p1,__p2,__p3)                  __bsd44_recvmsg(__p1,__p2,__p3)
 I3    X  30709 #	define sendmsg(__p1,__p2,__p3)                  __bsd44_sendmsg(__p1,__p2,__p3)
 I3    X  30710 #   endif
 I3    X  30711 #endif
 I3	  30712 
 I3	  30713 __ssize_t recvmsg(int __sd, __msghdr_ptr __msg, int __flags);
 I3	  30714 __ssize_t sendmsg(int __sd, __const_msghdr_ptr __msg, int __flags);
 I3	  30715 
 I3	  30716 #if __CAN_USE_EXTERN_PREFIX
 I3	  30717 #   pragma __extern_prefix __restore
 I3	  30718 #endif
 I3	  30719 
 I3	  30720 /*
 I3	  30721 ** New pointer-size specific entry points for sendmsg and recvmsg were added in
 I3	  30722 ** OpenVMS V7.3-2 to support pointer-size specific struct msghdr. These are 
 I3	  30723 ** new pointer-size specific entry points and hence are not available on VAX.
 I3	  30724 */
 I3    X  30725 #if __INITIAL_POINTER_SIZE && __CRTL_VER >= 70311000
 I3    X  30726 #   if __CAN_USE_EXTERN_PREFIX
 I3    X  30727 #	pragma __extern_prefix __save
 I3    X  30728 #   endif
 I3    X  30729 
 I3    X  30730 #   ifdef _SOCKADDR_LEN
 I3    X  30731 #       if __CAN_USE_EXTERN_PREFIX
 I3    X  30732 #           pragma __extern_prefix "__bsd44_"
 I3    X  30733 #       else
 I3    X  30734 #           define __recvmsg32(__p1,__p2,__p3)               __bsd44___recvmsg32(__p1,__p2,__p3)
 I3    X  30735 #           define __sendmsg32(__p1,__p2,__p3)               __bsd44___sendmsg32(__p1,__p2,__p3)
 I3    X  30736 #           define __recvmsg64(__p1,__p2,__p3)               __bsd44___recvmsg64(__p1,__p2,__p3)
 I3    X  30737 #           define __sendmsg64(__p1,__p2,__p3)               __bsd44___sendmsg64(__p1,__p2,__p3)
 I3    X  30738 #       endif
 I3    X  30739 #   endif
 I3    X  30740 
 I3    X  30741 __ssize_t __recvmsg32(int __sd, __msghdr32_ptr32 __msg, int __flags);
 I3    X  30742 __ssize_t __sendmsg32(int __sd, __const_msghdr32_ptr32 __msg, int __flags);
 I3    X  30743 
 I3    X  30744 __ssize_t __recvmsg64(int __sd, __msghdr64_ptr64 __msg, int __flags);
 I3    X  30745 __ssize_t __sendmsg64(int __sd, __const_msghdr64_ptr64 __msg, int __flags);
 I3    X  30746 
 I3    X  30747 #   if __CAN_USE_EXTERN_PREFIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 556
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30748 #      pragma __extern_prefix __restore
 I3    X  30749 #   endif
 I3    X  30750 #endif
 I3	  30751 
 I3    X  30752 #if __INITIAL_POINTER_SIZE == 64 && __CRTL_VER >= 70311000
 I3    X  30753 #	define recvmsg(__p1,__p2,__p3)                 __recvmsg64(__p1,__p2,__p3)
 I3    X  30754 #	define sendmsg(__p1,__p2,__p3)                 __sendmsg64(__p1,__p2,__p3)
 I3    X  30755 #	define __bsd44_recvmsg(__p1,__p2,__p3)		__bsd44___recvmsg64(__p1,__p2,__p3)
 I3    X  30756 #	define __bsd44_sendmsg(__p1,__p2,__p3)		__bsd44___sendmsg64(__p1,__p2,__p3)
 I3    X  30757 #endif
 I3	  30758 
 I3	  30759 /*
 I3	  30760 **  If the user has used /pointer_size=32 or /pointer_size=64, we will allow 64
 I3	  30761 **  bit pointers to be used in function calls.
 I3	  30762 */
 I3    X  30763 #if __INITIAL_POINTER_SIZE
 I3    X  30764 #   pragma __pointer_size 64
 I3    X  30765 #endif
 I3	  30766 
 I3	  30767 /*
 I3	  30768 **  Functions which will always accept 32 or 64 bit pointers.  If the
 I3	  30769 **  underlying tcp/ip layer has 64 bit support, then the addresses will be
 I3	  30770 **  passed as they are.  If the underlying layer does not have 64 bit
 I3	  30771 **  address support, then the data will be copied to a malloced area and
 I3	  30772 **  then passed on to the underlying layer.
 I3	  30773 */
 I3    X  30774 #ifdef _SOCKADDR_LEN
 I3    X  30775 #   if __CAN_USE_EXTERN_PREFIX
 I3    X  30776 #       pragma __extern_prefix __save
 I3    X  30777 #       pragma __extern_prefix "__bsd44_"
 I3    X  30778 #   else
 I3    X  30779 #       define accept(__p1,__p2,__p3)			__bsd44_accept(__p1,__p2,__p3)
 I3    X  30780 #       define bind(__p1,__p2,__p3)			__bsd44_bind(__p1,__p2,__p3)
 I3    X  30781 #       define connect(__p1,__p2,__p3)			__bsd44_connect(__p1,__p2,__p3)
 I3    X  30782 #       define getpeername(__p1,__p2,__p3)		__bsd44_getpeername(__p1,__p2,__p3)
 I3    X  30783 #       define getsockname(__p1,__p2,__p3)		__bsd44_getsockname(__p1,__p2,__p3)
 I3    X  30784 #       define recvfrom(__p1,__p2,__p3,__p4,__p5,__p6)	__bsd44_recvfrom(__p1,__p2,__p3,__p4,__p5,__p6)
 I3    X  30785 #       define sendto(__p1,__p2,__p3,__p4,__p5,__p6)	__bsd44_sendto(__p1,__p2,__p3,__p4,__p5,__p6)
 I3    X  30786 #   endif
 I3    X  30787 #endif
 I3	  30788 
 I3	  30789     /*	 
 I3	  30790     **  In DEC C V4.0, the following routines used int or int *
 I3	  30791     **	for the length parameters.  X/Open specifies that these
 I3	  30792     **	are size_t.
 I3	  30793     */	 
 I3	  30794 #if !defined _DECC_V4_SOURCE 
 I3	  30795     int	accept      (int __sd, struct sockaddr *__S_addr, __size_t *__len);
 I3	  30796     int	bind        (int __sd, const struct sockaddr *__s_name, __size_t __len);    
 I3	  30797     int connect     (int __sd, const struct sockaddr *__name, __size_t __len);
 I3	  30798     int getpeername (int __sd, struct sockaddr *__name, __size_t *__len);
 I3	  30799     int getsockname (int __sd, struct sockaddr *__name, __size_t *__len);
 I3	  30800 
 I3	  30801     __ssize_t recvfrom  (int __sd, void *__buf, __size_t __buflen, int __flags, 
 I3	  30802                        struct sockaddr *__from, __size_t *__fromlen);
 I3	  30803     __ssize_t sendto    (int __sd, const void *__msg, __size_t __msglen, int __flags, 
 I3	  30804                        const struct sockaddr *__to, __size_t __tolen);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 557
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30805 #else
 I3    X  30806     int accept (int __sd, struct sockaddr *__S_addr, int *__addrlen);
 I3    X  30807     int bind (int __sd, struct sockaddr *__s_name, int __namelen);
 I3    X  30808     int connect (int __sd, struct sockaddr *__name, int __namelen);
 I3    X  30809     int getpeername (int __sd, struct sockaddr *__name, int *__namelen);
 I3    X  30810     int getsockname (int __sd, struct sockaddr *__name, int *__namelen);
 I3    X  30811     int recvfrom (int __sd, char *__buf, int __length, int __flags, struct sockaddr *__from, int *__fromlen);
 I3    X  30812     int sendto (int __sd, char *__msg, int __length, int __flags, struct sockaddr *__to, int __tolen);
 I3    X  30813 #endif
 I3	  30814 
 I3    X  30815 #ifdef _SOCKADDR_LEN
 I3    X  30816 #   if __CAN_USE_EXTERN_PREFIX
 I3    X  30817 #       pragma __extern_prefix __restore
 I3    X  30818 #   endif
 I3    X  30819 #endif
 I3	  30820 
 I3	  30821 
 I3	  30822     /*	 
 I3	  30823     **  In DEC C V4.0, the following routines used int or int *
 I3	  30824     **	for the length parameters and char * for the option 
 I3	  30825     **	value.  X/Open specifies that these are size_t and void *.
 I3	  30826     */	 
 I3	  30827 #if !defined _DECC_V4_SOURCE 
 I3	  30828     int getsockopt  (int __sd, int __level, int __optname, void *__optval, __size_t *__optlen);
 I3	  30829     int setsockopt  (int __sd, int __level, int __optname, const void *__optval, __size_t __optlen);
 I3	  30830     __ssize_t recv  (int __sd, void *__buf, __size_t __length, int __flags);
 I3	  30831     __ssize_t send  (int __sd, const void *__msg, __size_t __length, int __flags);
 I3    X  30832 #else
 I3    X  30833     int getsockopt (int __sd, int __level, int __optname, char *__optval, int *__optlen);
 I3    X  30834     int setsockopt (int __sd, int __level, int __optname, char *__optval, int __optlen);
 I3    X  30835     int send (int __sd, char *__msg, int __length, int __flags);
 I3    X  30836     int recv (int __sd, char *__buf, int __length, int __flags);
 I3    X  30837 #endif
 I3	  30838 
 I3	  30839 int listen      (int __sd, int __backlog);
 I3	  30840 int shutdown    (int __sd, int __mode);
 I3	  30841 int socket      (int __af, int __mess_type, int __prot_type);
 I3	  30842 
 I3	  30843 
 I3	  30844 /*         
 I3	  30845 **  DEC C Extensions (64-bit)
 I3	  30846 */         
 I3	  30847 #ifndef _XOPEN_SOURCE_EXTENDED
 I3	  30848 
 I3	  30849 #   if __CRTL_VER >= 70000000
 I3	  30850         int decc$socket_fd (int __channel);
 I3	  30851 
 I3    X  30852 #       if !defined(__DECC) || (__DECC_VER < 60400000)
 I3    X  30853             int socket_fd (int __channel);
 I3    X  30854 #       endif
 I3	  30855 #   endif
 I3	  30856 
 I3	  30857     int decc$get_sdc (int __descrip_no);
 I3	  30858 #   define vaxc$get_sdc(x) decc$get_sdc(x)
 I3	  30859     int gethostaddr (char *__addr);
 I3	  30860 
 I3    X  30861 #   ifdef _DECC_V4_SOURCE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 558
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(SOCKET)

 I3    X  30862         int gethostname (char *__name, int __namelen);
 I3    X  30863         int select (int __nfds, int *__readfds, int *__writefds, 
 I3    X  30864                       int *__exceptfds, struct timeval *__timeout);
 I3    X  30865 #   else
 I3	  30866         int gethostname (char *__name, __size_t __namelen);
 I3	  30867         int select (int __nfds, fd_set *__readfds, fd_set *__writefds, 
 I3	  30868                       fd_set *__exceptfds, struct timeval *__timeout);
 I3	  30869 #   endif
 I3	  30870 #endif
 I3	  30871 
 I3	  30872 #if (__CRTL_VER >= 80200000)
 I3	  30873     int socketpair (int af, int mess_type, int prot_type, int sd[2] );
 I3	  30874 #endif
 I3	  30875 
 I3	  30876 /*
 I3	  30877 **  Restore the users pointer context
 I3	  30878 */
 I3    X  30879 #if __INITIAL_POINTER_SIZE
 I3    X  30880 #   pragma __pointer_size __restore
 I3    X  30881 #endif
 I3	  30882 
 I3    X  30883 #ifdef __cplusplus
 I3    X  30884     }
 I3    X  30885 #endif
 I3	  30886 
 I3	  30887 #pragma __member_alignment __restore
 I3	  30888 #pragma __standard
 I3	  30889 #endif /* __SOCKET_LOADED */
 I2	  30890 #include <if_trnstat.h>
 I3	  30891 #ifndef __IF_TRNSTAT_LOADED
 I3	  30892 #define __IF_TRNSTAT_LOADED 1
 I3	  30893 /****************************************************************************
 I3	  30894 **
 I3	  30895 **  <if.h> - Structures providing a packet transport mechanism
 I3	  30896 **
 I3	  30897 *****************************************************************************
 I3	  30898 **  Header is nonstandard
 I3	  30899 *****************************************************************************
 I3	  30900 **                                                                       
 I3	  30901 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I3	  30902 **                                                                       
 I3	  30903 ** Confidential computer software.  Valid license from HP and/or         
 I3	  30904 ** its subsidiaries required for possession, use, or copying.            
 I3	  30905 **                                                                       
 I3	  30906 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I3	  30907 ** Computer Software Documentation, and Technical Data for Commercial    
 I3	  30908 ** Items are licensed to the U.S. Government under vendor's standard     
 I3	  30909 ** commercial license.                                                   
 I3	  30910 **                                                                       
 I3	  30911 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I3	  30912 ** or editorial errors or omissions contained herein.  The information   
 I3	  30913 ** in this document is provided "as is" without warranty of any kind and 
 I3	  30914 ** is subject to change without notice.  The warranties for HP products  
 I3	  30915 ** are set forth in the express limited warranty statements accompanying 
 I3	  30916 ** such products.  Nothing herein should be construed as constituting an 
 I3	  30917 ** additional warranty.                                                  
 I3	  30918 **                                                                       

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 559
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IF_TRNSTAT)

 I3	  30919 *****************************************************************************
 I3	  30920 **
 I3	  30921 **  Copyright (c) 1982, 1993 Regents of the University of California.
 I3	  30922 **  All rights reserved.  The Berkeley software License Agreement
 I3	  30923 **  specifies the terms and conditions for redistribution.
 I3	  30924 **
 I3	  30925 **      if.h             8.1 (Berkeley) 6/10/93
 I3	  30926 **
 I3	  30927 ******************************************************************************
 I3	  30928 */
 I3	  30929 
 I3	  30930 #pragma __nostandard
 I3    X  30931 #include <decc$types.h>
 I3    X  30932 #ifdef __cplusplus
 I3    X  30933     extern "C" {
 I3    X  30934 #endif
 I3	  30935 
 I3    X  30936 #include <types.h>
 I3	  30937 
 I3    X  30938 #if __INITIAL_POINTER_SIZE
 I3    X  30939 #   pragma __pointer_size __save
 I3    X  30940 #   pragma __pointer_size 32
 I3    X  30941 #endif
 I3	  30942 
 I3	  30943 
 I3	  30944 /*
 I3	  30945 **  All structures should be member aligned on natural boundaries
 I3	  30946 */
 I3	  30947 #pragma __member_alignment __save
 I3	  30948 #pragma __member_alignment
 I3	  30949 
 I3	  30950 
 I3	  30951 /*
 I3	  30952 **  External model of relaxed refdef
 I3	  30953 */
 I3	  30954 #pragma __extern_model __save
 I3	  30955 #pragma __extern_model __relaxed_refdef
 I3	  30956 
 I3	  30957 
 I3	  30958 /*
 I3	  30959  * Token Ring characteristics.
 I3	  30960  */
 I3	  30961 struct trnchar {
 I3	  30962         __u_char  mac_addr[6];		/* The mac address 	*/
 I3	  30963         __u_char	grp_addr[6];		/* Group address	*/
 I3	  30964         __u_char	func_addr[6];		/* Functional address	*/
 I3	  30965         __u_short	drop_numb;		/* Physical drop number */
 I3	  30966         __u_char	upstream_nbr[6];	/* Upstream neighbor	*/
 I3	  30967         __u_short	upstream_drop_numb;	/* Upstream drop number */
 I3	  30968         __u_short transmit_access_pri;	/* Trasmit access priority */
 I3	  30969 	__u_short last_major_vector;	/* Last major vector	*/
 I3	  30970 	__u_short ring_status;		/* Ring status		*/
 I3	  30971 	__u_short	interface_state;	/* State of the interface*/
 I3	  30972         __u_short monitor_contd;		/* monitor contender   */
 I3	  30973 	__u_short	soft_error_timer;	/* Soft error timer value */
 I3	  30974 	__u_short	ring_number;		/* Local ring number	*/
 I3	  30975 	__u_short monitor_error_code;	/* Monitor error code */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 560
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IF_TRNSTAT)

 I3	  30976 	__u_short beacon_receive_type;	/* Type of beacon received */
 I3	  30977 	__u_short beacon_transmit_type;	/* Type of beacon transmitted */
 I3	  30978 	__u_char  beacon_una[6];		/* UNA of the beaconing station */
 I3	  30979 	__u_short beacon_stn_drop_numb;	/* Drop number of the beacon station */
 I3	  30980         __u_short ring_speed;		/* The ring speed	*/
 I3	  30981         __u_short etr;			/* Early token release  */
 I3	  30982 	__u_short	open_status;		/* Open status		*/
 I3	  30983 	__u_char  token_ring_chip[16];	/* type of chip		*/
 I3	  30984 };
 I3	  30985 
 I3	  30986 /*
 I3	  30987  * Definitions for the Major Vector commands 
 I3	  30988  * See page 2-30 of the TMS380 book
 I3	  30989  */
 I3	  30990 #define MV_RESPONSE		0x00
 I3	  30991 #define MV_BEACON		0x02
 I3	  30992 #define MV_CLAIM_TOKEN		0x03
 I3	  30993 #define MV_RING_PURGE		0x04
 I3	  30994 #define MV_ACTIVE_MON_PRES	0x05
 I3	  30995 #define MV_STANDBY_MON_PRES	0x06
 I3	  30996 #define MV_DUP_ADDR_TEST	0x07
 I3	  30997 #define MV_LOBE_MEDIA_TEST	0x08
 I3	  30998 #define MV_TRANSMIT_FORW	0x09
 I3	  30999 #define MV_RMV_RING_STATION	0x0B
 I3	  31000 #define MV_CHANGE_PARM		0x0C
 I3	  31001 #define MV_INIT_RING_STN	0x0D
 I3	  31002 #define MV_REQ_STN_ADDR		0x0E
 I3	  31003 #define MV_REQ_STN_STATE	0x0F
 I3	  31004 #define MV_REQ_STN_ATTACH	0x10
 I3	  31005 #define MV_REQ_INIT		0x20
 I3	  31006 #define MV_REPORT_STN_ADDR	0x22
 I3	  31007 #define MV_REPORT_STN_STATE	0x23
 I3	  31008 #define MV_REPORT_STN_ATTACH	0x24
 I3	  31009 #define MV_REPORT_NEW_MONITOR	0x25
 I3	  31010 #define MV_REPORT_SUA_CHANGE	0x26
 I3	  31011 #define MV_REPORT_RNG_POLL_FAIL	0x27
 I3	  31012 #define MV_REPORT_MONTIOR_ERR	0x28
 I3	  31013 #define MV_REPORT_ERR		0x29
 I3	  31014 #define MV_REPORT_TRANSMIT_FORW	0x2A
 I3	  31015 
 I3	  31016 /*
 I3	  31017  * Definitions for the beacon types 
 I3	  31018  * See page 2-56 of the TMS380 book
 I3	  31019  */
 I3	  31020 #define BT_SET_RECOV_MODE	0x01
 I3	  31021 #define BT_SET_SIGNAL_LOSS	0x02
 I3	  31022 #define BT_SET_BIT_STREAMING	0x03
 I3	  31023 #define BT_SET_CONT_STREAMING	0x04
 I3	  31024 
 I3	  31025 /*
 I3	  31026  * Definitions for the Monitor Error Code.
 I3	  31027  * See page 2-47 of the TMS380 book
 I3	  31028  */
 I3	  31029 #define M_NO_ERROR		0x0000
 I3	  31030 #define M_MON_ERROR		0x0001
 I3	  31031 #define M_DUPLICATE_MON		0x0002
 I3	  31032 #define M_DUPLICATE_ADDR	0x0003

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 561
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IF_TRNSTAT)

 I3	  31033 
 I3	  31034 /*
 I3	  31035  * Token Ring counters
 I3	  31036  */
 I3	  31037 struct trncount {
 I3	  31038         __u_long	trn_second;          	/* seconds since last zeroed */
 I3	  31039         __u_long  trn_bytercvd;           /* bytes received */
 I3	  31040         __u_long  trn_bytesent;           /* bytes sent */
 I3	  31041         __u_long  trn_pdurcvd;            /* data blocks received */
 I3	  31042         __u_long  trn_pdusent;            /* data blocks sent */
 I3	  31043         __u_long  trn_mbytercvd;          /* multicast bytes received */
 I3	  31044 	__u_long  trn_mpdurcvd;           /* multicast blocks received */
 I3	  31045         __u_long  trn_mbytesent;          /* multicast bytes sent */
 I3	  31046         __u_long  trn_mpdusent;           /* multicast blocks sent */
 I3	  31047 	__u_long	trn_pduunrecog;		/* frame unrecognized */
 I3	  31048 	__u_long  trn_mpduunrecog;	/* multicast frame unrecognized */
 I3	  31049         __u_short	trn_nosysbuf;           /* system buffer unavailable */
 I3	  31050 	__u_short	trn_xmit_fail;		/* xmit failures */
 I3	  31051 	__u_short	trn_xmit_underrun;	/* xmit underruns */
 I3	  31052         __u_short	trn_line_error;		/* Line errors */
 I3	  31053 	__u_short	trn_internal_error;	/* recoverable internal errors */
 I3	  31054         __u_short	trn_burst_error;	/* Burst error */
 I3	  31055         __u_short	trn_ari_fci_error;	/* ARI/FCI error */
 I3	  31056 	__u_short	trn_ad_trans;		/* Abort delimiters transmitted */
 I3	  31057         __u_short	trn_lost_frame_error;	/* Lost frame error */
 I3	  31058         __u_short	trn_rcv_congestion_error;/* receive overrun (or congestion) */
 I3	  31059         __u_short	trn_frame_copied_error;	/* Frame copied error */
 I3	  31060 	__u_short	trn_frequency_error;	/* Frequency error */
 I3	  31061         __u_short	trn_token_error;	/* Token error */
 I3	  31062         __u_short	trn_hard_error;		/* Hard errors */
 I3	  31063         __u_short	trn_soft_error;	        /* Soft errors */
 I3	  31064 	__u_short	trn_adapter_reset;	/* Resets performed */
 I3	  31065 	__u_short	trn_signal_loss;	/* Signal loss */
 I3	  31066 	__u_short	trn_xmit_beacon;	/* Beacons transmitted */
 I3	  31067 	__u_short trn_ring_recovery;	/* Ring recoverys received */
 I3	  31068 	__u_short trn_lobe_wire_fault;	/* Lobe faults detected */
 I3	  31069 	__u_short trn_remove_received;	/* Remove received */
 I3	  31070 	__u_short trn_single_station;	/* # of times host was single */
 I3	  31071 	__u_short trn_selftest_fail;	/* # of times selftest failed */
 I3	  31072 };
 I3	  31073 
 I3	  31074 /* 
 I3	  31075  * Token Ring RFC 1231 definitions.
 I3	  31076  */
 I3	  31077 
 I3	  31078 struct dot5Entry {
 I3	  31079     int dot5TrnNumber;
 I3	  31080     int dot5IfIndex;
 I3	  31081     int dot5Commands;
 I3	  31082     int dot5RingStatus;
 I3	  31083     int dot5RingState;
 I3	  31084     int dot5RingOpenStatus;
 I3	  31085     int dot5RingSpeed;
 I3	  31086     __u_char dot5UpStream[6];
 I3	  31087     int dot5ActMonParticipate;
 I3	  31088     __u_char dot5Functional[6];
 I3	  31089 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 562
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IF_TRNSTAT)

 I3	  31090 
 I3	  31091 /* Values for dot5Commands */
 I3	  31092 #define MIB1231_COMM_NO_OP	1
 I3	  31093 #define MIB1231_COMM_OPEN	2
 I3	  31094 #define MIB1231_COMM_RESET	3
 I3	  31095 #define	MIB1231_COMM_CLOSE	4
 I3	  31096 
 I3	  31097 /* Values for dot5RingStatus */
 I3	  31098 #define MIB1231_RSTATUS_NO_PROB		0x0000
 I3	  31099 #define MIB1231_RSTATUS_RING_RECOVERY	0x0020	/* 32 */
 I3	  31100 #define MIB1231_RSTATUS_SINGLE_STATION	0x0040	/* 64 */
 I3	  31101 #define	MIB1231_RSTATUS_REMOVE_RCVD	0x0100	/* 256 */
 I3	  31102 #define	MIB1231_RSTATUS_RESERVED	0x0200	/* 512 */
 I3	  31103 #define	MIB1231_RSTATUS_AUTO_REM_ERROR	0x0400	/* 1024 */
 I3	  31104 #define	MIB1231_RSTATUS_LOBE_WIRE_FAULT	0x0800	/* 2048 */
 I3	  31105 #define	MIB1231_RSTATUS_TRANSMIT_BEACON	0x1000	/* 4096 */
 I3	  31106 #define	MIB1231_RSTATUS_SOFT_ERROR	0x2000	/* 8192 */
 I3	  31107 #define	MIB1231_RSTATUS_HARD_ERROR	0x4000	/* 16384 */
 I3	  31108 #define	MIB1231_RSTATUS_SIGNAL_LOSS	0x8000	/* 32768 */
 I3	  31109 #define	MIB1231_RSTATUS_NO_STATUS	0x20000 /* 131072 */
 I3	  31110 
 I3	  31111 /* Values for dot5RingState */
 I3	  31112 #define MIB1231_RSTATE_OPENED			1
 I3	  31113 #define MIB1231_RSTATE_CLOSED			2
 I3	  31114 #define MIB1231_RSTATE_OPENING			3
 I3	  31115 #define MIB1231_RSTATE_CLOSING			4
 I3	  31116 #define MIB1231_RSTATE_OPEN_FAILURE		5
 I3	  31117 #define MIB1231_RSTATE_RING_FAILURE		6
 I3	  31118 
 I3	  31119 /* Values for dot5RingStatus */
 I3	  31120 #define MIB1231_ROSTATUS_NOOPEN		1
 I3	  31121 #define MIB1231_ROSTATUS_BADPARM	2
 I3	  31122 #define MIB1231_ROSTATUS_LOBEFAILED	3
 I3	  31123 #define MIB1231_ROSTATUS_SIG_LOSS	4
 I3	  31124 #define MIB1231_ROSTATUS_INS_TIMEOUT	5
 I3	  31125 #define MIB1231_ROSTATUS_RING_FAILED	6
 I3	  31126 #define MIB1231_ROSTATUS_BEACONING	7
 I3	  31127 #define MIB1231_ROSTATUS_DUPLICATE_MAC	8
 I3	  31128 #define MIB1231_ROSTATUS_REQ_FAILED	9
 I3	  31129 #define MIB1231_ROSTATUS_REM_RECVD	10
 I3	  31130 #define MIB1231_ROSTATUS_OPEN		11
 I3	  31131 
 I3	  31132 /* Values for dot5RingSpeed */
 I3	  31133 #define MIB1231_RSPEED_UNKNOWN		1
 I3	  31134 #define MIB1231_RSPEED_1_MEG		2
 I3	  31135 #define MIB1231_RSPEED_4_MEG		3
 I3	  31136 #define MIB1231_RSPEED_16_MEG		4
 I3	  31137 
 I3	  31138 /* Values for dot5ActMonParticipate */
 I3	  31139 #define MIB1231_ACTMON_TRUE		1
 I3	  31140 #define MIB1231_ACTMON_FALSE		2
 I3	  31141 
 I3	  31142 /* The statistics table */
 I3	  31143 
 I3	  31144 struct dot5StatsEntry {
 I3	  31145     int dot5StatsIfIndex;
 I3	  31146     int dot5StatsLineErrors;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 563
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IF_TRNSTAT)

 I3	  31147     int dot5StatsBurstErrors;
 I3	  31148     int dot5StatsACErrors;
 I3	  31149     int dot5StatsAbortTransErrors;
 I3	  31150     int dot5StatsInternalErrors;
 I3	  31151     int dot5StatsLostFrameErrors;
 I3	  31152     int dot5StatsReceiveCongestions;
 I3	  31153     int dot5StatsFrameCopiedErrors;
 I3	  31154     int dot5StatsTokenErrors;
 I3	  31155     int dot5StatsSoftErrors;
 I3	  31156     int dot5StatsHardErrors;
 I3	  31157     int dot5StatsSignalLoss;
 I3	  31158     int dot5StatsTransmitBeacons;
 I3	  31159     int dot5StatsRecoverys;
 I3	  31160     int dot5StatsLobeWires;
 I3	  31161     int dot5StatsRemoves;
 I3	  31162     int dot5StatsSingles;
 I3	  31163     int dot5StatsFreqErrors;
 I3	  31164 };
 I3	  31165 
 I3	  31166 /* The timer table - optional */
 I3	  31167 
 I3	  31168 struct dot5TimerEntry {
 I3	  31169     int dot5TimerIfIndex;
 I3	  31170     int dot5TimerReturnRepeat;
 I3	  31171     int dot5TimerHolding;
 I3	  31172     int dot5TimerQueuePDU;
 I3	  31173     int dot5TimerValidTransmit;
 I3	  31174     int dot5TimerNoToken;
 I3	  31175     int dot5TimerActiveMon;
 I3	  31176     int dot5TimerStandbyMon;
 I3	  31177     int dot5TimerErrorReport;
 I3	  31178     int dot5TimerBeaconTransmit;
 I3	  31179     int dot5TimerBeaconReceive;
 I3	  31180 };
 I3	  31181 
 I3	  31182 /*
 I3	  31183 **  Restore the users pointer context
 I3	  31184 */
 I3    X  31185 #if __INITIAL_POINTER_SIZE
 I3    X  31186 #   pragma __pointer_size __restore
 I3    X  31187 #endif
 I3	  31188 
 I3    X  31189 #ifdef __cplusplus
 I3    X  31190     }
 I3    X  31191 #endif
 I3	  31192 
 I3	  31193 #pragma __member_alignment __restore
 I3	  31194 #pragma __extern_model __restore
 I3	  31195 #pragma __standard
 I3	  31196 #endif  /* __IF_TRNSTAT_LOADED  */
 I2	  31197 #include <if_types.h>
 I3	  31198 #ifndef __IF_TYPES_LOADED
 I3	  31199 #define __IF_TYPES_LOADED 1
 I3	  31200 /****************************************************************************
 I3	  31201 **
 I3	  31202 **  <if_types.h> - IANA types
 I3	  31203 **

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 564
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF_TYPES)

 I3	  31204 *****************************************************************************
 I3	  31205 **  Header is nonstandard
 I3	  31206 *****************************************************************************
 I3	  31207 **                                                                       
 I3	  31208 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I3	  31209 **                                                                       
 I3	  31210 ** Confidential computer software.  Valid license from HP and/or         
 I3	  31211 ** its subsidiaries required for possession, use, or copying.            
 I3	  31212 **                                                                       
 I3	  31213 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I3	  31214 ** Computer Software Documentation, and Technical Data for Commercial    
 I3	  31215 ** Items are licensed to the U.S. Government under vendor's standard     
 I3	  31216 ** commercial license.                                                   
 I3	  31217 **                                                                       
 I3	  31218 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I3	  31219 ** or editorial errors or omissions contained herein.  The information   
 I3	  31220 ** in this document is provided "as is" without warranty of any kind and 
 I3	  31221 ** is subject to change without notice.  The warranties for HP products  
 I3	  31222 ** are set forth in the express limited warranty statements accompanying 
 I3	  31223 ** such products.  Nothing herein should be construed as constituting an 
 I3	  31224 ** additional warranty.                                                  
 I3	  31225 **                                                                       
 I3	  31226 *****************************************************************************
 I3	  31227 **
 I3	  31228 **  Copyright (c) 1989 Regents of the University of California.
 I3	  31229 **  All rights reserved.
 I3	  31230 **
 I3	  31231 **  Redistribution and use in source and binary forms are permitted provided
 I3	  31232 **  that: (1) source distributions retain this entire copyright notice and
 I3	  31233 **  comment, and (2) distributions including binaries display the following
 I3	  31234 **  acknowledgement:  ``This product includes software developed by the
 I3	  31235 **  University of California, Berkeley and its contributors'' in the
 I3	  31236 **  documentation or other materials provided with the distribution and in
 I3	  31237 **  all advertising materials mentioning features or use of this software.
 I3	  31238 **  Neither the name of the University nor the names of its contributors may
 I3	  31239 **  be used to endorse or promote products derived from this software without
 I3	  31240 **  specific prior written permission.
 I3	  31241 **  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
 I3	  31242 **  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 I3	  31243 **  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 I3	  31244 **
 I3	  31245 **	Base:	if_types.h	7.2 (Berkeley) 9/20/89
 I3	  31246 **	Merged:	if_types.h	7.3 (Berkeley) 6/28/90
 I3	  31247 **
 I3	  31248 ******************************************************************************
 I3	  31249 */
 I3	  31250 
 I3	  31251 #pragma __nostandard
 I3    X  31252 #include <decc$types.h>
 I3    X  31253 #ifdef __cplusplus
 I3    X  31254     extern "C" {
 I3    X  31255 #endif
 I3	  31256 
 I3	  31257 
 I3	  31258 /*
 I3	  31259  * latest IANA sanctioned types can be found at:
 I3	  31260  * ftp.isi.edu/in-notes/iana/assignments/smi-numbers

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 565
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF_TYPES)

 I3	  31261  */
 I3	  31262 
 I3	  31263 /* interface types for benefit of parsing media address headers */
 I3	  31264 #define IFT_OTHER	0x1		/* none of the following */
 I3	  31265 #define IFT_1822	0x2		/* old-style arpanet imp */
 I3	  31266 #define IFT_HDH1822	0x3		/* HDH arpanet imp */
 I3	  31267 #define IFT_X25DDN	0x4		/* x25 to imp */
 I3	  31268 #define IFT_X25		0x5		/* PDN X25 interface */
 I3	  31269 #define	IFT_ETHER	0x6		/* Ethernet I or II */
 I3	  31270 #define	IFT_ISO88023	0x7		/* CMSA CD */
 I3	  31271 #define	IFT_ISO88024	0x8		/* Token Bus */
 I3	  31272 #define	IFT_ISO88025	0x9		/* Token Ring */
 I3	  31273 #define	IFT_ISO88026	0xa		/* MAN */
 I3	  31274 #define	IFT_STARLAN	0xb
 I3	  31275 #define	IFT_P10		0xc		/* Proteon 10MBit ring */
 I3	  31276 #define	IFT_P80		0xd		/* Proteon 10MBit ring */
 I3	  31277 #define IFT_HY		0xe		/* Hyperchannel */
 I3	  31278 #define IFT_FDDI	0xf
 I3	  31279 #define IFT_LAPB	0x10
 I3	  31280 #define IFT_SDLC	0x11
 I3	  31281 #define IFT_T1		0x12
 I3	  31282 #define IFT_CEPT	0x13
 I3	  31283 #define IFT_ISDNBASIC	0x14
 I3	  31284 #define IFT_ISDNPRIMARY	0x15
 I3	  31285 #define IFT_PTPSERIAL	0x16
 I3	  31286 #define IFT_PPP		0x17		/* Point to Point Protocol*/	
 I3	  31287 #define	IFT_LOOP	0x18		/* loopback */
 I3	  31288 #define IFT_EON		0x19		/* ISO over IP */
 I3	  31289 #define	IFT_XETHER	0x1a		/* obsolete 3MB experimental ethernet */
 I3	  31290 #define	IFT_NSIP	0x1b		/* XNS over IP */
 I3	  31291 #define	IFT_SLIP	0x1c		/* IP over generic TTY */
 I3	  31292 #define	IFT_ULTRA	0x1d		/* RFC 1213 */
 I3	  31293 #define IFT_DS3		0x1e		/* DS3/E3 interface (RFC 1407) */
 I3	  31294 #define	IFT_SIP		0x1f		/* SMDS (RFC 1305) */
 I3	  31295 #define	IFT_FRAMERELAY 	0x20		/* Frame Relay (RFC 1315) */
 I3	  31296 #define IFT_RS232	0x21		/* RS232 Objects (RFC 1659) */
 I3	  31297 #define IFT_PARALLEL	0x22		/* Parallel Objects (RFC 1660) */
 I3	  31298 #define IFT_ARCNET	0x23		/* ARC network */
 I3	  31299 #define IFT_ARCNET_PLUS	0x24		/* ARC network plus */
 I3	  31300 #define IFT_ATM		0x25		/* ATM network */
 I3	  31301 #define IFT_MIO25	0x26		/* MIOX25 (RFC 1461) */
 I3	  31302 #define IFT_SONET	0x27		/* SONET/ SDH */
 I3	  31303 #define IFT_X25PLE	0x28		/* X.25 packet level (RFC 1382)
 I3	  31304 #define IFT_ISO88022LLC 0x29		/* 802 logical link Control */
 I3	  31305 #define IFT_LOCALTALK	0x2a		
 I3	  31306 #define IFT_SMDSDXI	0x2b		/* SMDS DXI	*/ 
 I3	  31307 #define IFT_FRAMERELAYS 0x2c		/* Frame Relay DCE */
 I3	  31308 #define IFT_V35		0x2d		/* V.35 */
 I3	  31309 #define IFT_HSSI	0x2e		/* HSSI */
 I3	  31310 #define IFT_HPPI	0x2f		/* HPPI */
 I3	  31311 #define IFT_MODEM	0x30		/* "generic modem" */
 I3	  31312 #define IFT_AAL5	0x31		/* AAl5 over ATM */
 I3	  31313 #define IFT_SONETPATH	0x32	
 I3	  31314 #define IFT_SOBETVI	0x33		
 I3	  31315 #define IFT_SMDSICIP	0x34		/* SMDS InterCarrier Interface proto */
 I3	  31316 #define IFT_PROPVIRT	0x35		/* Proprietary Virtual/Internal */
 I3	  31317 					/* Interface	*/

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 566
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF_TYPES)

 I3	  31318 #define IFT_PROPMULTI	0x36		/* Propietary muli-link interface */
 I3	  31319 #define IFT_IEEE80212	0x37		/* 100Base VG */
 I3	  31320 #define IFT_FIBRECHAN	0x38		/* Fibre Channel	*/
 I3	  31321 #define IFT_HPPI_I	0x39		/* HIPPI Interface */
 I3	  31322 #define IFT_FRAMEREALYI 0x3a		/* Interconnect over FR (RFC 1490) */
 I3	  31323 #define	IFT_LANE8023	0x3b		/* ATM LAN Emulation for 802.3 */
 I3	  31324 #define IFT_LANE8025	0x3c		/* ATM LAN Emulation for 802.5 */
 I3	  31325 #define IFT_ATMECIR	0x3d		/* ATM Emulatated Circuit */
 I3	  31326 #define IFT_FASTETHER	0x3e		/* Fast Ethernet (100BaseT) */
 I3	  31327 #define IFT_ISDNX25	0x3f		/* ISDN over X.25 (RFC 1356) */
 I3	  31328 #define IFT_V11		0x40		/* CCITT V/11/X.21 */
 I3	  31329 #define IFT_V36		0x41		/* CCITT V.36 */
 I3	  31330 #define	IFT_G70364K	0x42		/* CCITT G703 @ 64Kbps */
 I3	  31331 #define IFT_G7022MB	0x43		/* CCITT G703 @ 2Mbps */
 I3	  31332 #define IFT_QLLC	0x44		/* SNA QLLC */
 I3	  31333 #define IFT_LAG         0xa1            /* IEEE 802.3ad Link Aggregate */
 I3	  31334 #define IFT_VLAN        0x87            /* IEEE 802.1q Virtual LAN */
 I3	  31335 
 I3	  31336 /* non standard (non IANA) types start at 200 (decimal) */
 I3	  31337 
 I3	  31338 #define IFT_WANDD       0xc8		/* Wide Area Network Device Driver */
 I3	  31339 #define	IFT_RM		0xc9		/* Memory Channel (Reflective Memory) */
 I3	  31340 #define IFT_SYNC	0xca		/* Synchronous communications */
 I3	  31341 #define IFT_IPV4        0xd0            /* IPv4 tunnel */
 I3	  31342 #define IFT_IPV6        0xd1            /* IPv6 tunnel */
 I3	  31343 #define IFT_IP624       0xd2            /* 6-to-4 tunnel */
 I3	  31344 
 I3    X  31345 #ifdef __cplusplus
 I3    X  31346     }
 I3    X  31347 #endif
 I3	  31348 
 I3	  31349 #pragma __standard
 I3	  31350 #endif  /* __IF_LOADED  */
 I2	  31351 #include <if_arp.h>
 I3	  31352 #ifndef __IF_ARP_LOADED
 I3	  31353 #define __IF_ARP_LOADED 1
 I3	  31354 /****************************************************************************
 I3	  31355 **
 I3	  31356 **  <if_arp.h> - Structures for the Address Resolution Protocol
 I3	  31357 **
 I3	  31358 *****************************************************************************
 I3	  31359 **  Header is nonstandard
 I3	  31360 *****************************************************************************
 I3	  31361 **                                                                       
 I3	  31362 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I3	  31363 **                                                                       
 I3	  31364 ** Confidential computer software.  Valid license from HP and/or         
 I3	  31365 ** its subsidiaries required for possession, use, or copying.            
 I3	  31366 **                                                                       
 I3	  31367 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I3	  31368 ** Computer Software Documentation, and Technical Data for Commercial    
 I3	  31369 ** Items are licensed to the U.S. Government under vendor's standard     
 I3	  31370 ** commercial license.                                                   
 I3	  31371 **                                                                       
 I3	  31372 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I3	  31373 ** or editorial errors or omissions contained herein.  The information   
 I3	  31374 ** in this document is provided "as is" without warranty of any kind and 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 567
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF_ARP)

 I3	  31375 ** is subject to change without notice.  The warranties for HP products  
 I3	  31376 ** are set forth in the express limited warranty statements accompanying 
 I3	  31377 ** such products.  Nothing herein should be construed as constituting an 
 I3	  31378 ** additional warranty.                                                  
 I3	  31379 **                                                                       
 I3	  31380 *****************************************************************************
 I3	  31381 **
 I3	  31382 **  Copyright (c) 1982, 1993 Regents of the University of California.
 I3	  31383 **  All rights reserved.  The Berkeley software License Agreement
 I3	  31384 **  specifies the terms and conditions for redistribution.
 I3	  31385 **
 I3	  31386 **      if_arp.h           8.1 (Berkeley) 6/10/93
 I3	  31387 **
 I3	  31388 ******************************************************************************
 I3	  31389 */
 I3	  31390 
 I3	  31391 #pragma   __nostandard
 I3    X  31392 #include <decc$types.h>
 I3    X  31393 #ifdef __cplusplus
 I3    X  31394     extern "C" {
 I3    X  31395 #endif
 I3	  31396 
 I3    X  31397 #include <socket.h>
 I3	  31398 
 I3    X  31399 #if __INITIAL_POINTER_SIZE
 I3    X  31400 #   pragma __pointer_size __save
 I3    X  31401 #   pragma __pointer_size 32
 I3    X  31402 #endif
 I3	  31403 
 I3	  31404 
 I3	  31405 /*
 I3	  31406 **  Set __nomember_alignment to avoid internal and tail
 I3	  31407 **  padding in structures; default base alignment. 
 I3	  31408 **  Required for consistency across programming languages.
 I3	  31409 */
 I3	  31410 #pragma __member_alignment __save
 I3	  31411 #pragma __nomember_alignment
 I3	  31412 
 I3	  31413 
 I3	  31414 /*
 I3	  31415 **  External model of relaxed refdef
 I3	  31416 */
 I3	  31417 #pragma __extern_model __save
 I3	  31418 #pragma __extern_model __relaxed_refdef
 I3	  31419 
 I3	  31420 
 I3	  31421 /*
 I3	  31422  * Address Resolution Protocol.
 I3	  31423  *
 I3	  31424  * See RFC 826 for protocol description.  ARP packets are variable
 I3	  31425  * in size; the arphdr structure defines the fixed-length portion.
 I3	  31426  * Protocol type values are the same as those for 10 Mb/s Ethernet.
 I3	  31427  * It is followed by the variable-sized fields ar_sha, arp_spa,
 I3	  31428  * arp_tha and arp_tpa in that order, according to the lengths
 I3	  31429  * specified.  Field names used correspond to RFC 826.
 I3	  31430  */
 I3	  31431 struct	arphdr {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 568
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF_ARP)

 I3	  31432 	u_short	ar_hrd;		/* format of hardware address */
 I3	  31433 #define ARPHRD_ETHER 	1	/* ethernet hardware address */
 I3	  31434 #define ARPHRD_802	6	/* 802 net hardware address */
 I3	  31435 	u_short	ar_pro;		/* format of protocol address */
 I3	  31436 	u_char	ar_hln;		/* length of hardware address */
 I3	  31437 	u_char	ar_pln;		/* length of protocol address */
 I3	  31438 	u_short	ar_op;		/* one of: */
 I3	  31439 #define	ARPOP_REQUEST	1	/* request to resolve address */
 I3	  31440 #define	ARPOP_REPLY	2	/* response to previous request */
 I3	  31441 /*
 I3	  31442  * The remaining fields are variable in size,
 I3	  31443  * according to the sizes above.
 I3	  31444  */
 I3	  31445 /*	u_char	ar_sha[];	   sender hardware address */
 I3	  31446 /*	u_char	ar_spa[];	   sender protocol address */
 I3	  31447 /*	u_char	ar_tha[];	   target hardware address */
 I3	  31448 /*	u_char	ar_tpa[];	   target protocol address */
 I3	  31449 };
 I3	  31450 
 I3	  31451 /* For indexing into arbitrary ha/pa ARP headers */
 I3	  31452 #define AR_SHA(ah)	((u_char *)((ah)+1))
 I3	  31453 #define AR_SPA(ah)	(AR_SHA(ah)+(ah)->ar_hln)
 I3	  31454 #define AR_THA(ah)	(AR_SPA(ah)+(ah)->ar_pln)
 I3	  31455 #define AR_TPA(ah)	(AR_THA(ah)+(ah)->ar_hln)
 I3	  31456 
 I3	  31457 /*
 I3	  31458  * ARP ioctl request
 I3	  31459  */
 I3	  31460 struct arpreq {
 I3	  31461 	struct	sockaddr arp_pa;		/* protocol address */
 I3	  31462 	struct	sockaddr arp_ha;		/* hardware address */
 I3	  31463 	int	arp_flags;			/* flags */
 I3	  31464 };
 I3	  31465 /*  arp_flags and at_flags field values */
 I3	  31466 #define	ATF_INUSE	0x01	/* entry in use */
 I3	  31467 #define ATF_COM		0x02	/* completed entry (enaddr valid) */
 I3	  31468 #define	ATF_PERM	0x04	/* permanent entry */
 I3	  31469 #define	ATF_PUBL	0x08	/* publish entry (respond for other host) */
 I3	  31470 #define	ATF_USETRAILERS	0x10	/* has requested trailers */
 I3	  31471 #define	ATF_USE802	0x20	/* host using 802 framing */
 I3	  31472 #define ATF_STALE	0x0100	/* entry needs to be refreshed */
 I3	  31473 #define ATF_DEAD	0x0200	/* entry (host) failed to refresh */
 I3	  31474 
 I3	  31475 #define ATF_CANTCHANGE	(0xff00|ATF_INUSE|ATF_COM)
 I3	  31476 
 I3	  31477 
 I3	  31478 /*
 I3	  31479 **  Restore the users pointer context
 I3	  31480 */
 I3    X  31481 #if __INITIAL_POINTER_SIZE
 I3    X  31482 #   pragma __pointer_size __restore
 I3    X  31483 #endif
 I3	  31484 
 I3    X  31485 #ifdef __cplusplus
 I3    X  31486     }
 I3    X  31487 #endif
 I3	  31488 #pragma __member_alignment __restore

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 569
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF_ARP)

 I3	  31489 #pragma __extern_model __restore
 I3	  31490 #pragma __standard
 I3	  31491 #endif  /* __IF_ARP_LOADED  */
 I2	  31492 
 I2    X  31493 #if __INITIAL_POINTER_SIZE
 I2    X  31494 #   pragma __pointer_size __save
 I2    X  31495 #   pragma __pointer_size 32
 I2    X  31496 #endif
 I2	  31497 
 I2	  31498 
 I2	  31499 /*
 I2	  31500 **  Set __nomember_alignment to avoid internal and tail
 I2	  31501 **  padding in structures; default base alignment.
 I2	  31502 **  Required for consistency across programming languages.
 I2	  31503 */
 I2	  31504 #pragma __member_alignment __save
 I2	  31505 #pragma __nomember_alignment
 I2	  31506 
 I2	  31507 /*
 I2	  31508 **  External model of relaxed refdef
 I2	  31509 */
 I2	  31510 #pragma __extern_model __save
 I2	  31511 #pragma __extern_model __relaxed_refdef
 I2	  31512 
 I2	  31513 
 I2	  31514 /*
 I2	  31515 **  Public typedefs
 I2	  31516 */
 I2    X  31517 #if !defined __U_INT && !defined _DECC_V4_SOURCE
 I2    X  31518 #   define __U_INT
 I2    X  31519     typedef unsigned int u_int;
 I2    X  31520 #endif
 I2	  31521 
 I2	  31522 
 I2	  31523 /*
 I2	  31524  * Structures defining a network interface, providing a packet
 I2	  31525  * transport mechanism (ala level 0 of the PUP protocols).
 I2	  31526  *
 I2	  31527  * Each interface accepts output datagrams of a specified maximum
 I2	  31528  * length, and provides higher level routines with input datagrams
 I2	  31529  * received from its medium.
 I2	  31530  *
 I2	  31531  * Output occurs when the routine if_output is called, with four parameters:
 I2	  31532  *	(*ifp->if_output)(ifp, m, dst, ro)
 I2	  31533  * Here m is the mbuf chain to be sent and dst is the destination address.
 I2	  31534  * The output routine encapsulates the supplied datagram if necessary,
 I2	  31535  * and then transmits it on its medium.
 I2	  31536  *
 I2	  31537  * On input, each interface unwraps the data received by it, and either
 I2	  31538  * places it on the input queue of a internetwork datagram routine
 I2	  31539  * and posts the associated software interrupt, or passes the datagram to a raw
 I2	  31540  * packet input routine.
 I2	  31541  *
 I2	  31542  * Routines exist for locating interfaces by their addresses
 I2	  31543  * or for locating a interface on a certain network, as well as more general
 I2	  31544  * routing and gateway routines maintaining information used to locate
 I2	  31545  * interfaces.  These routines live in the files if.c and route.c

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 570
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31546  */
 I2	  31547 
 I2	  31548 
 I2	  31549 
 I2	  31550 /* forward decls for C++ */
 I2    X  31551 #ifdef __cplusplus
 I2    X  31552 struct mbuf;
 I2    X  31553 struct ifaddr;
 I2    X  31554 struct ifmulti;
 I2    X  31555 struct rtentry;
 I2    X  31556 struct ifafilt;
 I2    X  31557 #endif
 I2	  31558 
 I2	  31559 /*
 I2	  31560  * Structure defining a queue for a network interface.
 I2	  31561  */
 I2	  31562 struct  ifqueue {
 I2	  31563                 struct  mbuf *ifq_head;
 I2	  31564                 struct  mbuf *ifq_tail;
 I2	  31565                 int     ifq_len;
 I2	  31566                 int     ifq_maxlen;
 I2	  31567                 int     ifq_drops;
 I2	  31568 };
 I2	  31569 
 I2	  31570 /*
 I2	  31571  * Structure defining a network interface.
 I2	  31572  */
 I2	  31573 struct ifnet {
 I2	  31574 /* 64-byte alignment */
 I2	  31575         struct  ifnet *if_next;         /* the next structure in the list */
 I2	  31576         char    *if_name;               /* name, e.g. ``en'' or ``lo'' */
 I2	  31577         char    *if_version;            /* The version string.             */
 I2	  31578         struct  sockaddr if_addr;       /* address of interface */
 I2	  31579         int     if_flags;               /* up/down, broadcast, etc. */
 I2	  31580         int     if_pfactive;            /* interface-specific pfactive */
 I2	  31581         short   if_unit;                /* sub-unit for lower level driver */
 I2	  31582         u_short if_mtu;                 /* maximum IP transmission unit */
 I2	  31583         u_short if_mediamtu;            /* maximum MTU of the media */
 I2	  31584         short   if_timer;               /* time 'til if_watchdog called */
 I2	  31585         int     if_metric;              /* routing metric (external only) */
 I2	  31586         int     pad_a[1];
 I2	  31587 /* 64-byte alignment */
 I2	  31588         struct  ifaddr *if_addrlist;    /* linked list of addresses per if */
 I2	  31589                                                                              
 I2	  31590         struct  ifmulti *if_multiaddrs; /* list of multicast addrs */
 I2	  31591         int     if_multicnt;            /* number of multicast addrs in list */
 I2	  31592         int     if_allmulticnt;         /* number of allmulti requests */
 I2	  31593 /* procedure handles */
 I2	  31594         int     (*if_init)(int);                                    /* init routine */
 I2	  31595         int     (*if_output)(struct ifnet *, struct mbuf *,
 I2	  31596                                 struct sockaddr *, struct rtentry *, __caddr_t);  /* output routine (enqueue) */
 I2	  31597         int     (*if_start)(struct ifnet *);                        /* initiate output routine */
 I2	  31598         int     (*if_done)(struct ifnet *);                         /* output complete routine */
 I2	  31599         int     (*if_ioctl)(struct ifnet *, unsigned int, __caddr_t); /* ioctl routine */
 I2	  31600 /* 64-byte alignment */
 I2	  31601         int     (*if_reset)(int, int);                              /* bus reset routine */
 I2	  31602         int     (*if_watchdog)(int, struct ifnet *);                /* timer routine */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 571
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31603         void    *drvr_softc;            /* ptr to driver's softc */
 I2	  31604         long    if_reserved[5];         /* reserved for future use */
 I2	  31605 /* 64-byte alignment */
 I2	  31606 /* generic interface statistics */
 I2	  31607         u_long  if_ipackets;            /* packets received on interface */
 I2	  31608         u_long  if_ierrors;             /* input errors on interface */
 I2	  31609         u_long  if_opackets;            /* packets sent on interface */
 I2	  31610         u_long  if_oerrors;             /* output errors on interface */
 I2	  31611         u_long  if_collisions;          /* collisions on csma interfaces */
 I2	  31612         u_long  if_sysid_type;          /* MOP SYSID device code */
 I2	  31613 /* SNMP statistics */
 I2	  31614         struct  timeval if_lastchange;  /* last updated */
 I2	  31615         u_long  if_ibytes;              /* total number of octets received */
 I2	  31616         u_long  if_obytes;              /* total number of octets sent */
 I2	  31617         u_long  if_imcasts;             /* packets received via multicast */
 I2	  31618         u_long  if_omcasts;             /* packets sent via multicast */
 I2	  31619         u_long  if_iqdrops;             /* dropped on input, this interface */
 I2	  31620         u_long  if_noproto;             /* destined for unsupported protocol */
 I2	  31621         u_long  if_baudrate;            /* linespeed */
 I2	  31622         u_long  if_imbytes;             /* multicast octets received */
 I2	  31623         u_long  if_ombytes;             /* multicast octets sent */
 I2	  31624 /* end statistics */
 I2	  31625 /* 64-byte alignment */
 I2	  31626         u_char  if_type;                /* ethernet, tokenring, etc */
 I2	  31627         u_char  if_addrlen;             /* media address length */
 I2	  31628         u_char  if_hdrlen;              /* media header length */
 I2	  31629         u_char  if_initialized;         /* ifnet has been initialized */
 I2	  31630         __u_int if_index;               /* numeric abbreviation for this if */
 I2	  31631         int     if_trustgrp;            /* Interface trustgrp (see below) for FIREWALL product */
 I2	  31632         int     if_affinity;            /* which CPU to run on (master, all) */
 I2	  31633         struct  ifafilt *if_afilt;      /* interface access filter */
 I2	  31634         struct  ifnet *if_nrnext;       /* Flink in NetRAIN set - circular list */
 I2	  31635         struct  ifnet *if_nrif;         /* Back link to netrain virtual ifp */
 I2	  31636         u_short if_alloc_size;          /* size structure if_alloc() alloc'ed */
 I2	  31637         u_short if_padb[1];             /* unused - padding */
 I2	  31638         int     if_rad_id;              /* RAD this interface is in */
 I2	  31639         __caddr_t if_arp_cache_head;    /* pointer to this ifnet's ARP cache */
 I2	  31640         __u_int if_padc[2];             /* unused - padding */
 I2	  31641 /* 64-byte alignment */
 I2	  31642         struct  ifqueue  if_snd;        /* output queue */
 I2	  31643 /* 64-byte alignment */
 I2    X  31644 #if     SEC_NET
 I2    X  31645         struct tnet_if *if_sec;
 I2    X  31646 #       define SEC_IFF_LOADING 0x10000000
 I2    X  31647 #endif  /* SEC_NET */
 I2	  31648         u_short ovms_if_sts;
 I2	  31649         u_short ovms_if_pad;
 I2	  31650         u_short ovms_if_size;
 I2	  31651         u_char  ovms_if_type;
 I2	  31652         u_char  ovms_if_iftype;
 I2	  31653 #define IF_LOCAL     0
 I2	  31654         __u_int ovms_if_eth_name;
 I2	  31655         u_short ovms_if_react_att;
 I2	  31656         u_short ovms_if_succ_react;
 I2	  31657         __u_int ovms_if_cluster;
 I2	  31658         __u_int ovms_if_clust_tcps;
 I2	  31659         __u_int ovms_if_cluster_timer_id;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 572
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31660         u_char  ovms_if_lock[24];
 I2	  31661 
 I2	  31662         u_char  *ovms_vcib_ip;
 I2	  31663         u_char  *ovms_vcib_arp;
 I2	  31664         u_char  *ovms_vcib_ipv6;
 I2	  31665         __u_int if_ovms_outstanding_xmits;
 I2	  31666 };
 I2	  31667 
 I2	  31668 #define	IFF_UP		0x1		/* interface is up */
 I2	  31669 #define	IFF_BROADCAST	0x2		/* broadcast address valid */
 I2	  31670 #define	IFF_DEBUG	0x4		/* turn on debugging */
 I2	  31671 #define	IFF_LOOPBACK	0x8		/* is a loopback net */
 I2	  31672 #define	IFF_POINTOPOINT	0x10		/* interface is point-to-point link */
 I2	  31673 #define	IFF_NOTRAILERS	0x20		/* avoid use of trailers */
 I2	  31674 #define	IFF_RUNNING	0x40		/* resources allocated */
 I2	  31675 #define	IFF_NOARP	0x80		/* no address resolution protocol */
 I2	  31676 #define	IFF_PROMISC	0x100		/* receive all packets */
 I2	  31677 #define	IFF_ALLMULTI	0x200		/* receive all multicast packets */
 I2	  31678 #define IFF_MULTICAST	0x400		/* supports multicast */
 I2	  31679 #define	IFF_SIMPLEX	0x800		/* can't hear own transmissions */
 I2	  31680 #define	IFF_OACTIVE	0x1000		/* transmission in progress */
 I2	  31681 #define IFF_PFCOPYALL   0x2000          /* pfilt gets packets to this host */
 I2	  31682 #define IFF_UIOMOVE     0x10000		/* DART */
 I2	  31683 #define IFF_PKTOK       0x20000		/* DART */
 I2	  31684 #define IFF_SOCKBUF     0x40000		/* DART */
 I2	  31685 #define IFF_VAR_MTU	0x80000		/* interface supports variable MTUs */
 I2	  31686 #define IFF_NOCHECKSUM  0x100000        /* no checksums need reliable media */
 I2	  31687 #define IFF_DYNPROTO    0x200000        /* Support dynamic proto dispatching */
 I2	  31688 #define IFF_MOP         0x400000        /* Device in MOP mode */
 I2	  31689 #define IFF_SLIP        0x800000        /* Interface is a SLIP IFNET */
 I2	  31690 #define IFF_DELETE      0x1000000       /* Started DELETE on this interface */
 I2	  31691 #define IFF_NONAME      0x2000000       /* Interf does not hold cluster name */
 I2	  31692 #define IFF_CLUSTER     0x4000000       /* Interface is a cluster IFNET */
 I2	  31693 
 I2	  31694 #define IFF_MULTINET    0x8000000       /* Multiple network on interface */
 I2	  31695 #define IFF_QUORUMLOSS  0x10000000      /* UP interface marked DOWN due to cluster quorum loss */
 I2	  31696 #define IFF_VMIFNET     0x20000000      /* Used to identify a virtual Mac Addr*/
 I2	  31697 #define IFF_CLUIF       0x40000000      /* interface is cluster interconnect */
 I2	  31698 #define IFF_DETACHED    0x80000000      /* interface is detached */
 I2	  31699 
 I2	  31700 /* Device-specific flags */
 I2	  31701 #define IFF_D1		0x8000
 I2	  31702 #define IFF_D2		0x4000
 I2	  31703 #define IFF_SNAP	IFF_D1		/* Ethernet driver outputs SNAP hdr */
 I2	  31704 
 I2	  31705 /* flags set internally only: */
 I2	  31706 #define IFF_CANTCHANGE  \
 I2	  31707         (IFF_BROADCAST|IFF_POINTOPOINT|IFF_SIMPLEX|IFF_RUNNING|\
 I2	  31708         IFF_OACTIVE|IFF_MULTICAST|IFF_UIOMOVE|IFF_PKTOK|IFF_SOCKBUF|\
 I2	  31709         IFF_VAR_MTU|IFF_CLUIF)
 I2	  31710 
 I2	  31711 /* interface types for benefit of parsing media address headers */
 I2	  31712 
 I2	  31713 /* interface trust groups for network security (aka FIREWALL) product */
 I2	  31714 #define IFG_ANY         0x0             /* for screend; matches any */
 I2	  31715 #define IFG_UNKNOWN     0x1             /* currently unknown */
 I2	  31716 #define IFG_INFRARED    0x2             /* Totally untrusted */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 573
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31717 #define IFG_RED         0x3             /*        ^          */
 I2	  31718 #define IFG_ORANGE      0x4             /*        :          */
 I2	  31719 #define IFG_YELLOW      0x5             /*        v          */
 I2	  31720 #define IFG_GREEN       0x6             /* Somewhat trusted  */
 I2	  31721 #define IFG_BLUE        0x7             /*        ^          */
 I2	  31722 #define IFG_INDIGO      0x8             /*        :          */
 I2	  31723 #define IFG_VIOLET      0x9             /*        v          */
 I2	  31724 #define IFG_ULTRAVIOLET 0xa             /* Totally trusted   */
 I2	  31725 #define IFG_MAX         0xa             /* Current max.; expand as needed */
 I2	  31726 
 I2	  31727 #define IFQ_LOCKINIT(ifq)
 I2	  31728 #define IFQ_LOCKTERMINATE(ifq)
 I2	  31729 #define IFQ_LOCKINIT_SPLIMP(ifq)
 I2	  31730 #define IFQ_LOCKINIT_SPLNET(ifq)
 I2	  31731 #define IFQ_LOCKINIT_SPLNONE(ifq)
 I2	  31732 #define IFQ_LOCK(ifq)
 I2	  31733 #define IFQ_UNLOCK(ifq)
 I2	  31734 
 I2	  31735 /*
 I2	  31736  * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1)
 I2	  31737  * input routines have queues of messages stored on ifqueue structures
 I2	  31738  * (defined above).  Entries are added to and deleted from these structures
 I2	  31739  * by these macros, which should be called with ipl raised to splimp().
 I2	  31740  */
 I2	  31741 #define IF_QFULL(ifq)           ((ifq)->ifq_len >= (ifq)->ifq_maxlen)
 I2	  31742 #define IF_DROP(ifq)            ((ifq)->ifq_drops++)
 I2	  31743 #define IF_ENQUEUE_NOLOCK(ifq, m) { \
 I2	  31744         (m)->m_nextpkt = 0; \
 I2	  31745         if ((ifq)->ifq_tail == 0) \
 I2	  31746                 (ifq)->ifq_head = m; \
 I2	  31747         else \
 I2	  31748                 (ifq)->ifq_tail->m_nextpkt = m; \
 I2	  31749         (ifq)->ifq_tail = m; \
 I2	  31750         (ifq)->ifq_len++; \
 I2	  31751 }
 I2	  31752 #define IF_ENQUEUE(ifq, m) { \
 I2	  31753         IFQ_LOCK(ifq); \
 I2	  31754         IF_ENQUEUE_NOLOCK(ifq, m); \
 I2	  31755         IFQ_UNLOCK(ifq); \
 I2	  31756 }
 I2	  31757 #define IF_PREPEND_NOLOCK(ifq, m) { \
 I2	  31758         (m)->m_nextpkt = (ifq)->ifq_head; \
 I2	  31759         if ((ifq)->ifq_tail == 0) \
 I2	  31760                 (ifq)->ifq_tail = (m); \
 I2	  31761         (ifq)->ifq_head = (m); \
 I2	  31762         (ifq)->ifq_len++; \
 I2	  31763 }
 I2	  31764 #define IF_PREPEND(ifq, m) { \
 I2	  31765         IFQ_LOCK(ifq); \
 I2	  31766         IF_PREPEND_NOLOCK(ifq, m); \
 I2	  31767         IFQ_UNLOCK(ifq); \
 I2	  31768 }
 I2	  31769 #define IF_DEQUEUE_NOLOCK(ifq, m) { \
 I2	  31770         (m) = (ifq)->ifq_head; \
 I2	  31771         if (m) { \
 I2	  31772                 if (((ifq)->ifq_head = (m)->m_nextpkt) == 0) \
 I2	  31773                         (ifq)->ifq_tail = 0; \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 574
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31774                 (m)->m_nextpkt = 0; \
 I2	  31775                 (ifq)->ifq_len--; \
 I2	  31776         } \
 I2	  31777 }
 I2	  31778 #define IF_DEQUEUE(ifq, m) { \
 I2	  31779         IFQ_LOCK(ifq); \
 I2	  31780         IF_DEQUEUE_NOLOCK(ifq, m); \
 I2	  31781         IFQ_UNLOCK(ifq); \
 I2	  31782 }
 I2	  31783 
 I2	  31784 #define IFQ_MAXLEN      1024
 I2	  31785 #define IFNET_SLOWHZ    1               /* granularity is 1 second */
 I2	  31786 
 I2	  31787 
 I2	  31788 /*
 I2	  31789  * The ifaddr structure contains information about one address
 I2	  31790  * of an interface.  They are maintained by the different address families,
 I2	  31791  * are allocated and attached when an address is set, and are linked
 I2	  31792  * together so all addresses for an interface can be located.
 I2	  31793  */
 I2	  31794 struct ifaddr {
 I2	  31795 	struct	sockaddr *ifa_addr;	/* address of interface */
 I2	  31796 	struct	sockaddr *ifa_dstaddr;	/* other end of p-to-p link */
 I2	  31797 #define	ifa_broadaddr	ifa_dstaddr	/* broadcast address interface */
 I2	  31798 	struct	sockaddr *ifa_netmask;	/* used to determine subnet */
 I2	  31799 	struct	ifnet *ifa_ifp;		/* back-pointer to interface */
 I2	  31800 	struct	ifaddr *ifa_next;	/* next address for interface */
 I2	  31801 	/* check or clean routes (+ or -)'d */
 I2	  31802 	void	(*ifa_rtrequest) (int, struct rtentry *, struct sockaddr *);
 I2	  31803 	struct	rtentry *ifa_rt;	/* ??? for ROUTETOIF */
 I2	  31804 	u_short	ifa_flags;		/* mostly rt_flags for cloning */
 I2	  31805         u_short ifa_llinfolen;          /* extra to malloc for link info */
 I2	  31806 	__u_int	ifa_refcnt;		/* ref count */
 I2	  31807 };
 I2	  31808 #define IFA_ROUTE	RTF_UP		/* route installed */
 I2	  31809 #define IFA_ARPDISABLED RTF_REJECT      /* ARP disabled */
 I2	  31810 /*
 I2	  31811  * Interface request structure used for socket
 I2	  31812  * ioctl's.  All interface ioctl's must have parameter
 I2	  31813  * definitions which begin with ifr_name.  The
 I2	  31814  * remainder may be interface specific.
 I2	  31815  */
 I2	  31816 struct	ifreq {
 I2	  31817 #define IFNAMSIZ    16
 I2	  31818 	char	ifr_name[IFNAMSIZ];		/* if name, e.g. "en0" */
       E	                16
 I2	  31819 	union {
 I2	  31820 		struct	sockaddr ifru_addr;
 I2	  31821 		struct	sockaddr ifru_dstaddr;
 I2	  31822 		struct	sockaddr ifru_broadaddr;
 I2	  31823 		int	ifru_flags;
 I2	  31824 		int	ifru_metric;
 I2	  31825 		__caddr_t ifru_data;
 I2	  31826 		int	ifru_value;		/* any generic value */
 I2	  31827 		__u_int	ifru_index;
 I2    X  31828 #if     SEC_NET
 I2    X  31829                 struct  tnet_if *ifru_sec;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 575
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2    X  31830 #define ifr_sec         ifr_ifru.ifru_sec       /* tnet interface */
 I2    X  31831 #endif  /* SEC_NET */
 I2	  31832         } ifr_ifru;
 I2	  31833 #define IF_NAMESIZE     IFNAMSIZ
 I2	  31834 #define	ifr_addr	ifr_ifru.ifru_addr	/* address */
 I2	  31835 #define	ifr_dstaddr	ifr_ifru.ifru_dstaddr	/* other end of p-to-p link */
 I2	  31836 #define	ifr_broadaddr	ifr_ifru.ifru_broadaddr	/* broadcast address */
 I2	  31837 #define	ifr_flags	ifr_ifru.ifru_flags	/* flags */
 I2	  31838 #define	ifr_metric	ifr_ifru.ifru_metric	/* metric */
 I2	  31839 #define	ifr_data	ifr_ifru.ifru_data	/* for use by interface */
 I2	  31840 #define	ifr_value	ifr_ifru.ifru_value	/* for use by interface */
 I2	  31841 #define ifr_index	ifr_ifru.ifru_index	/* interface index */
 I2	  31842 };
 I2	  31843 
 I2	  31844 /*
 I2	  31845  * structure used to query de and qe for physical addresses
 I2	  31846  */
 I2	  31847 struct ifdevea {
 I2	  31848         char    ifr_name[IFNAMSIZ];             /* if name, e.g. "en0" */
       E	                          16
 I2	  31849         u_char default_pa[6];                   /* default hardware address */
 I2	  31850         u_char current_pa[6];                   /* current physical address */
 I2	  31851 };
 I2	  31852 
 I2	  31853 struct ifaliasreq {
 I2	  31854 	char	ifra_name[IFNAMSIZ];		/* if name, e.g. "en0" */
       E	                 16
 I2	  31855 	struct	sockaddr ifra_addr;
 I2	  31856 	struct	sockaddr ifra_broadaddr;
 I2	  31857 	struct	sockaddr ifra_mask;
 I2	  31858 };
 I2	  31859 
 I2	  31860 /*
 I2	  31861  * Request struct to create interface access filters. Used
 I2	  31862  * in SIOCSIFAFILT requests.
 I2	  31863  */
 I2	  31864 struct ifafiltreq {
 I2	  31865         char    ifafr_name[IFNAMSIZ];   /* if name, e.g. "en0" */
       E	                            16
 I2	  31866         __u_int ifafr_cnt;              /* number of entries */
 I2	  31867         struct  ifafilt *ifafr_filt;    /* user-defined filter */
 I2	  31868 };
 I2	  31869 
 I2	  31870 /*
 I2	  31871  * Interface access filter. Filter is variable length as
 I2	  31872  * specified by user's ifafiltreq. Filter allocated via
 I2	  31873  * NET_MALLOC; one valid filter per interface; new filter
 I2	  31874  * outdates existing filter.
 I2	  31875  * 
 I2	  31876  * Filter entrys contain {addr, mask, action}. {addr, mask}
 I2	  31877  * combine to filter packets; {action} gives action for
 I2	  31878  * matching packets. "cnt" is reference count for number
 I2	  31879  * of hits per filter entry. Filtering is protocol-specific;
 I2	  31880  * see netinet/{in,ip_input}.c for IP-style filtering.
 I2	  31881  */
 I2	  31882 struct ifafilt {
 I2	  31883 	struct	sockaddr ifaf_addr;	/* addr */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 576
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31884 	struct	sockaddr ifaf_mask;	/* mask */
 I2	  31885 	__u_int	ifaf_action;		/* action */
 I2	  31886 	__u_int	ifaf_cnt;		/* counter */
 I2	  31887 };
 I2	  31888 
 I2	  31889 #define	IFAF_PERMIT	0x1
 I2	  31890 #define	IFAF_DENY	0x2
 I2	  31891 #define	IFAF_DENYLOG	0x4
 I2	  31892 
 I2	  31893 /*
 I2	  31894  * IFAF_MAXBUFSIZE = 32Kbytes
 I2	  31895  * IFAF_MAXENTRIES = (IFAF_MAXBUFSIZE/sizeof(struct ifafilt)) - 2
 I2	  31896  */
 I2	  31897 #define	IFAF_MAXBUFSIZE	0x8000
 I2	  31898 #define	IFAF_MAXENTRIES	0x331
 I2	  31899 
 I2	  31900 
 I2	  31901 /*
 I2	  31902  * Structure used in SIOCGIFCONF request.
 I2	  31903  * Used to retrieve interface configuration
 I2	  31904  * for machine (useful for programs which
 I2	  31905  * must know all networks accessible).
 I2	  31906  */
 I2	  31907 struct	ifconf {
 I2	  31908 	int	ifc_len;		/* size of associated buffer */
 I2	  31909 	union {
 I2	  31910 		__caddr_t ifcu_buf;
 I2	  31911 		struct	ifreq *ifcu_req;
 I2	  31912 	} ifc_ifcu;
 I2	  31913 #define	ifc_buf	ifc_ifcu.ifcu_buf	/* buffer address */
 I2	  31914 #define	ifc_req	ifc_ifcu.ifcu_req	/* array of structures returned */
 I2	  31915 };
 I2	  31916 
 I2	  31917 /*
 I2	  31918  * Interface multicast address structure.  There is one of these for each
 I2	  31919  * multicast address or range of multicast addresses that we are supposed
 I2	  31920  * to listen to on a particular interface.  They are kept in a linked list,
 I2	  31921  * rooted in the interfaces's ifnet structure. 
 I2	  31922  */
 I2	  31923 struct ifmulti {
 I2	  31924 	u_char	ifm_addrlo[6];		/* low  or only address of range */
 I2	  31925 	u_char	ifm_addrhi[6];		/* high or only address of range */
 I2	  31926 	struct	ifnet *ifm_ifnet;	/* back pointer to ifnet */
 I2	  31927 	__u_int	ifm_refcount;		/* no. claims to this addr/range */
 I2	  31928 	struct	ifmulti *ifm_next;	/* ptr to next ifmulti */
 I2	  31929 };
 I2	  31930 
 I2	  31931 /*
 I2	  31932  * Structure for EEPROM downline upgrades. (Supported by FDDI adapters)
 I2	  31933  */
 I2	  31934 struct ifeeprom {
 I2	  31935         char    ife_name[IFNAMSIZ];             /* if name, e.g. "fza0" */
       E	                          16
 I2	  31936         u_char  ife_data[64];                   /* block of EEPROM data */
 I2	  31937         __u_int ife_offset;                     /* byte offset from base */
 I2	  31938         __u_int ife_blklen;                     /* len of EEPROM block */
 I2	  31939         __u_int ife_lastblk;                    /* True if last block */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 577
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31940 };
 I2	  31941 #define IFE_NOTLAST     0x0     /* Intermediary block of EEPROM image */
 I2	  31942 #define IFE_LASTBLOCK   0x1     /* Last block of EEPROM image */
 I2	  31943 #define IFE_SUCCESS     0x0     /* Block of EEPROM successfully written */
 I2	  31944 #define IFE_RETRY       0x1     /* Retry last block written */
 I2	  31945 #define IFE_FAIL        0x2     /* Fail entire EEPROM image write sequence */
 I2	  31946 
 I2	  31947 /*
 I2	  31948  * Structure for set adapter's characteristics
 I2	  31949  */
 I2	  31950 struct ifchar {
 I2	  31951 	char	ifc_name[IFNAMSIZ];
       E	                16
 I2	  31952 	__u_int	ifc_treq;
 I2	  31953 	__u_int	ifc_tvx;
 I2	  31954 	__u_int	ifc_lem;
 I2	  31955 	__u_int ifc_rtoken;
 I2	  31956 	__u_int ifc_ring_purger;
 I2	  31957 	__u_int ifc_cnt_interval;	/* Not applicable to DEFZA */
 I2	  31958 #define FDX_ENB		1
 I2	  31959 #define FDX_DIS		2
 I2	  31960 	int	ifc_full_duplex_mode;	/* Not applicable to DEFZA */
 I2	  31961 	int	ifc_media_speed;
 I2	  31962 	int	ifc_media_type;
 I2	  31963 #define AUTO_ENB        1
 I2	  31964 #define AUTO_DIS        2
 I2	  31965 	int     ifc_auto_sense;
 I2	  31966 };
 I2	  31967 
 I2	  31968 /*
 I2	  31969  * We pass extra options (defined in lan_common.h) by overloading
 I2	  31970  * the ifc_media_type field.
 I2	  31971  */
 I2	  31972 #define ifc_extra_options ifc_media_type
 I2	  31973 
 I2	  31974 /*
 I2	  31975  * interface statistics structures
 I2	  31976  */
 I2	  31977 struct estat {				/* Ethernet interface statistics */
 I2	  31978 	u_short	est_seconds;		/* seconds since last zeroed */
 I2	  31979 	__u_int	est_bytercvd;		/* bytes received */
 I2	  31980 	__u_int	est_bytesent;		/* bytes sent */
 I2	  31981 	__u_int	est_blokrcvd;		/* data blocks received */
 I2	  31982 	__u_int	est_bloksent;		/* data blocks sent */
 I2	  31983 	__u_int	est_mbytercvd;		/* multicast bytes received */
 I2	  31984 	__u_int	est_mblokrcvd;		/* multicast blocks received */
 I2	  31985 	__u_int	est_deferred;		/* blocks sent, initially deferred */
 I2	  31986 	__u_int	est_single;		/* blocks sent, single collision */
 I2	  31987 	__u_int	est_multiple;		/* blocks sent, multiple collisions */
 I2	  31988 	u_short	est_sendfail_bm;	/*	0 - Excessive collisions */
 I2	  31989 					/*	1 - Carrier check failed */
 I2	  31990 					/*	2 - Short circuit */
 I2	  31991 					/*	3 - Open circuit */
 I2	  31992 					/*	4 - Frame too long */
 I2	  31993 					/*	5 - Remote failure to defer */
 I2	  31994 	u_short	est_sendfail;		/* send failures: (bit map)*/
 I2	  31995 	u_short	est_collis;		/* Collision detect check failure */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 578
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  31996 	u_short	est_recvfail_bm;	/*	0 - Block check error */
 I2	  31997 					/*	1 - Framing error */
 I2	  31998 					/*	2 - Frame too long */
 I2	  31999 	u_short	est_recvfail;		/* receive failure: (bit map) */
 I2	  32000 	u_short	est_unrecog;		/* unrecognized frame destination */
 I2	  32001 	u_short	est_overrun;		/* data overrun */
 I2	  32002 	u_short	est_sysbuf;		/* system buffer unavailable */
 I2	  32003 	u_short	est_userbuf;		/* user buffer unavailable */
 I2	  32004 	__u_int	est_mbytesent;		/* multicast bytes sent */
 I2	  32005 	__u_int	est_mbloksent;		/* multicast blocks sent */
 I2	  32006 };
 I2	  32007 
 I2	  32008 struct estat_extended {                 /* 64-bit Ethernet interface stats */
 I2	  32009         u_long  est_seconds;            /* seconds since last zeroed */
 I2	  32010 
 I2	  32011         /* xmit stats: successful */
 I2	  32012 
 I2	  32013         u_long  est_bytesent;           /* bytes sent */
 I2	  32014         u_long  est_bloksent;           /* blocks (frames) sent */
 I2	  32015         u_long  est_mbytesent;          /* multicast bytes sent */
 I2	  32016         u_long  est_mbloksent;          /* multicast blocks (frames) sent */
 I2	  32017         u_long  est_deferred;           /* initially deferred */
 I2	  32018         u_long  est_single;             /* 1 collision */
 I2	  32019         u_long  est_multiple;           /* >1 collision */
 I2	  32020 
 I2	  32021         /* xmit stats: failed */
 I2	  32022 
 I2	  32023         u_long  est_collis;             /* collision detect check failures */
 I2	  32024         u_long  est_unrecog;            /* unrecognized frame dest */
 I2	  32025         u_long  est_userbuf;            /* user buffer unavailable */
 I2	  32026         u_long  est_latecoll;           /* late collisions */
 I2	  32027         u_long  est_excesscoll;         /* excessive collisions */
 I2	  32028         u_long  est_carrierfail;        /* carrier sense lost */
 I2	  32029         u_long  est_shortcirc;          /* short circuit */
 I2	  32030         u_long  est_opencirc;           /* open circuit */
 I2	  32031         u_long  est_sndlong;            /* frame too long */
 I2	  32032         u_long  est_sendfail;           /* total send failures */
 I2	  32033 
 I2	  32034         /* recv stats: successful */
 I2	  32035 
 I2	  32036         u_long  est_bytercvd;           /* bytes received */
 I2	  32037         u_long  est_blokrcvd;           /* blocks (frames) received */
 I2	  32038         u_long  est_mbytercvd;          /* multicast bytes received */
 I2	  32039         u_long  est_mblokrcvd;          /* multicast blocks (frames) rcvd */
 I2	  32040 
 I2	  32041         /* recv stats: failed */
 I2	  32042 
 I2	  32043         u_long  est_overrun;            /* data overruns */
 I2	  32044         u_long  est_sysbuf;             /* system buffer unavailable */
 I2	  32045         u_long  est_unaligned;          /* unaligned frame */
 I2	  32046         u_long  est_longframe;          /* frame too long */
 I2	  32047         u_long  est_shortframe;         /* frame too short */
 I2	  32048         u_long  est_fcsfail;            /* frame check sequence errors */
 I2	  32049         u_long  est_badframe;           /* frame error */
 I2	  32050         u_long  est_symbolerror;        /* symbol error during carrier */
 I2	  32051         u_long  est_recvfail;           /* total receive failures */
 I2	  32052 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 579
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32053         /* padding for the future, but must fit in ctrreq
 I2	  32054          *   (512 - 248) / 8 = 33
 I2	  32055          */
 I2	  32056         u_long  padding[33];
 I2	  32057 };
 I2	  32058 
 I2	  32059 struct dstat {				/* DDCMP pt-to-pt interface statistics */
 I2	  32060 	u_short	dst_seconds;		/* seconds since last zeroed */
 I2	  32061 	__u_int	dst_bytercvd;		/* bytes received */
 I2	  32062 	__u_int	dst_bytesent;		/* bytes sent */
 I2	  32063 	__u_int	dst_blockrcvd;		/* data blocks received */
 I2	  32064 	__u_int	dst_blocksent;		/* data blocks sent */
 I2	  32065 	u_short	dst_inbound_bm;		/*	0 - NAKs sent, header crc */
 I2	  32066 					/*	1 - NAKs sent, data crc */
 I2	  32067 					/*	2 - NAKs sent, REP response */
 I2	  32068 	u_char	dst_inbound;		/* data errors inbound: (bit map) */
 I2	  32069 	u_short	dst_outbound_bm;	/*	0 - NAKs rcvd, header crc */
 I2	  32070 					/*	1 - NAKs rcvd, data crc */
 I2	  32071 					/*	2 - NAKs rcvd, REP response */
 I2	  32072 	u_char	dst_outbound;		/* data errors outbound: (bit map) */
 I2	  32073 	u_char	dst_remotetmo;		/* remote reply timeouts */
 I2	  32074 	u_char	dst_localtmo;		/* local reply timeouts */
 I2	  32075 	u_short	dst_remotebuf_bm;	/*	0 - NAKs rcvd, buffer unavailable */
 I2	  32076 					/*	1 - NAKs rcvd, buffer too small */
 I2	  32077 	u_char	dst_remotebuf;		/* remote buffer errors: (bit map) */
 I2	  32078 	u_short	dst_localbuf_bm;	/*	0 - NAKs sent, buffer unavailable */
 I2	  32079 					/*	1 - NAKs sent, buffer too small */
 I2	  32080 	u_char	dst_localbuf;		/* local buffer errors: (bit map) */
 I2	  32081 	u_char	dst_select;		/* selection intervals elapsed */
 I2	  32082 	u_short	dst_selecttmo_bm;	/*	0 - No reply to select */
 I2	  32083 					/*	1 - Incomplete reply to select */
 I2	  32084 	u_char	dst_selecttmo;		/* selection timeouts: (bit map) */
 I2	  32085 	u_short	dst_remotesta_bm;	/*	0 - NAKs rcvd, receive overrun */
 I2	  32086 					/*	1 - NAKs sent, header format */
 I2	  32087 					/*	2 - Select address errors */
 I2	  32088 					/*	3 - Streaming tributaries */
 I2	  32089 	u_char	dst_remotesta;		/* remote station errors: (bit map) */
 I2	  32090 	u_short	dst_localsta_bm;	/*	0 - NAKs sent, receive overrun */
 I2	  32091 					/*	1 - Receive overrun, NAK not sent */
 I2	  32092 					/*	2 - Transmit underruns */
 I2	  32093 					/*	3 - NAKs rcvd, header format */
 I2	  32094 	u_char	dst_localsta;		/* local station errors: (bit map) */
 I2	  32095 };
 I2	  32096 
 I2	  32097 
 I2	  32098 struct fstat {
 I2	  32099         u_short fst_second;             /* seconds since last zeroed */
 I2	  32100 	__u_int	fst_frame;		/* total number of frames seen */ 
 I2	  32101 	__u_int	fst_error;		/* MAC counter frame error */
 I2	  32102 	__u_int fst_lost;		/* MAC counter frame count */
 I2	  32103         __u_int fst_bytercvd;           /* bytes received */
 I2	  32104         __u_int fst_bytesent;           /* bytes sent */
 I2	  32105         __u_int fst_pdurcvd;            /* data blocks received */
 I2	  32106         __u_int fst_pdusent;            /* data blocks sent */
 I2	  32107         __u_int fst_mbytercvd;          /* multicast bytes received */
 I2	  32108 	__u_int fst_mpdurcvd;           /* multicast blocks received */
 I2	  32109         __u_int fst_mbytesent;          /* multicast bytes sent */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 580
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32110         __u_int fst_mpdusent;           /* multicast blocks sent */
 I2	  32111 	u_short	fst_underrun;		/* transmit underrun error */
 I2	  32112         u_short fst_sendfail;           /* sent failures: (bit map)*/
 I2	  32113         u_short	fst_fcserror;		/* FCS check failure */
 I2	  32114 	u_short	fst_fseerror;		/* frame status error */
 I2	  32115 	u_short	fst_pdualig;		/* frame alignment error */
 I2	  32116 	u_short	fst_pdulen;		/* frame length error */
 I2	  32117 	u_short	fst_pduunrecog;		/* frame unrecognized */
 I2	  32118 	u_short fst_mpduunrecog;	/* multicast frame unrecognized */
 I2	  32119         u_short fst_overrun;            /* data overrun */
 I2	  32120         u_short fst_sysbuf;             /* system buffer unavailable */
 I2	  32121         u_short fst_userbuf;            /* user buffer unavailable */
 I2	  32122 	u_short fst_ringinit;		/* other station ring reinit. intiated*/
 I2	  32123 	u_short fst_ringinitrcv;	/* ring reinitialization initiated */
 I2	  32124 	u_short fst_ringbeacon;		/* ring beacon process initiated */
 I2	  32125 	u_short fst_ringbeaconrecv;	/* ring beacon process recv */
 I2	  32126 	u_short fst_duptoken;		/* duplicat token detected */
 I2	  32127 	u_short fst_dupaddfail;		/* duplicate address test failures */
 I2	  32128 	u_short	fst_ringpurge;		/* ring purge errors */
 I2	  32129 	u_short fst_bridgestrip;	/* bridge strip errors */
 I2	  32130 	u_short fst_traceinit;		/* traces initiated */
 I2	  32131 	u_short fst_tracerecv;		/* traces received */
 I2	  32132 	u_short fst_lem_rej;		/* LEM reject count */
 I2	  32133 	u_short fst_lem_events;		/* LEM events count */
 I2	  32134 	u_short fst_lct_rej;		/* LCT reject count */
 I2	  32135 	u_short fst_tne_exp_rej;	/* TNE expired reject count */
 I2	  32136 	u_short fst_connection;		/* Completed Connection count */
 I2	  32137 	u_short fst_ebf_error;		/* Elasticity Buffer Errors */
 I2	  32138 };
 I2	  32139 
 I2	  32140 /*
 I2	  32141  * Same fields as "struct fstat", but all u_long
 I2	  32142  */
 I2	  32143 struct fstat_extended {
 I2	  32144         u_long  fst_second;             /* seconds since last zeroed */
 I2	  32145         u_long  fst_frame;              /* total number of frames seen */
 I2	  32146         u_long  fst_error;              /* MAC counter frame error */
 I2	  32147         u_long  fst_lost;               /* MAC counter frame count */
 I2	  32148         u_long  fst_bytercvd;           /* bytes received */
 I2	  32149         u_long  fst_bytesent;           /* bytes sent */
 I2	  32150         u_long  fst_pdurcvd;            /* data blocks received */
 I2	  32151         u_long  fst_pdusent;            /* data blocks sent */
 I2	  32152         u_long  fst_mbytercvd;          /* multicast bytes received */
 I2	  32153         u_long  fst_mpdurcvd;           /* multicast blocks received */
 I2	  32154         u_long  fst_mbytesent;          /* multicast bytes sent */
 I2	  32155         u_long  fst_mpdusent;           /* multicast blocks sent */
 I2	  32156         u_long  fst_underrun;           /* transmit underrun error */
 I2	  32157         u_long  fst_sendfail;           /* total send failures */
 I2	  32158         u_long  fst_fcserror;           /* FCS check failure */
 I2	  32159         u_long  fst_fseerror;           /* frame status error */
 I2	  32160         u_long  fst_pdualig;            /* frame alignment error */
 I2	  32161         u_long  fst_pdulen;             /* frame length error */
 I2	  32162         u_long  fst_pduunrecog;         /* frame unrecognized */
 I2	  32163         u_long  fst_mpduunrecog;        /* multicast frame unrecognized */
 I2	  32164         u_long  fst_overrun;            /* data overrun */
 I2	  32165         u_long  fst_sysbuf;             /* system buffer unavailable */
 I2	  32166         u_long  fst_userbuf;            /* user buffer unavailable */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 581
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32167         u_long  fst_ringinit;           /* other station ring reinit. intiated*/
 I2	  32168         u_long  fst_ringinitrcv;        /* ring reinitialization initiated */
 I2	  32169         u_long  fst_ringbeacon;         /* ring beacon process initiated */
 I2	  32170         u_long  fst_ringbeaconrecv;     /* ring beacon process recv */
 I2	  32171         u_long  fst_duptoken;           /* duplicat token detected */
 I2	  32172         u_long  fst_dupaddfail;         /* duplicate address test failures */
 I2	  32173         u_long  fst_ringpurge;          /* ring purge errors */
 I2	  32174         u_long  fst_bridgestrip;        /* bridge strip errors */
 I2	  32175         u_long  fst_traceinit;          /* traces initiated */
 I2	  32176         u_long  fst_tracerecv;          /* traces received */
 I2	  32177         u_long  fst_lem_rej;            /* LEM reject count */
 I2	  32178         u_long  fst_lem_events;         /* LEM events count */
 I2	  32179         u_long  fst_lct_rej;            /* LCT reject count */
 I2	  32180         u_long  fst_tne_exp_rej;        /* TNE expired reject count */
 I2	  32181         u_long  fst_connection;         /* Completed Connection count */
 I2	  32182         u_long  fst_ebf_error;          /* Elasticity Buffer Errors */
 I2	  32183 };
 I2	  32184 
 I2	  32185 /* 
 I2	  32186  * FDDI MIB structures 
 I2	  32187  */
 I2	  32188 
 I2	  32189 /* SMT group */
 I2	  32190 
 I2	  32191 struct fddismt {
 I2	  32192 	short   smt_number;             /* SMT number */
 I2	  32193 	short	smt_index;		/* SMT FDDI SMT index */	
 I2	  32194 	u_char	smt_stationid[8];	/* FDDI station id */ 
 I2	  32195 	u_short	smt_opversionid;	/* operation version id */
 I2	  32196 	u_short	smt_hiversionid;	/* highest version id */
 I2	  32197 	u_short	smt_loversionid;	/* lowest version id */
 I2	  32198 	short 	smt_macct;		/* number of MACs */
 I2	  32199 	short	smt_nonmasterct;	/* number of non master port */
 I2	  32200 	short	smt_masterct;		/* number of master port */
 I2	  32201 	short   smt_pathsavail;		/* available path type */
 I2	  32202 	short	smt_configcap;		/* configuration capabilities */
 I2	  32203 	short	smt_configpolicy;	/* configuration policy */
 I2	  32204 	u_short	smt_connectpolicy;	/* connection policy */
 I2	  32205 	u_short	smt_timenotify;		/* neighbor notification prot. time*/
 I2	  32206 	short	smt_statusreport;	/* status reporting protocol */
 I2	  32207 	short	smt_ecmstate;		/* state of ECM state machine */
 I2	  32208 	short	smt_cfstate;		/* CF_state */
 I2	  32209 	short	smt_holdstate;		/* current state of Hold function */
 I2	  32210 	short	smt_remotedisconn;	/* remotely disconnection flag */ 
 I2	  32211 	u_char	smt_msgtimestamp[8];	/* timestamp for SMT frames */
 I2	  32212 	u_char	smt_trantimestamp[8];	/* timestamp for last event */
 I2	  32213 	u_char	smt_setinfo[12];	/* station last parameter change */
 I2	  32214 	u_char	smt_lastsetid[8];	/* Last station ID change */
 I2	  32215 	short	smt_action;		/* SMT station action */
 I2	  32216 }; 
 I2	  32217 
 I2	  32218 /*--------------------------------------------------------------*/
 I2	  32219 /*								*/
 I2	  32220 /* FDDI Station/Link/Physical Port Attributes & Status:		*/
 I2	  32221 /*								*/
 I2	  32222 /* defined by the DNA-FDDI Data Link Functional Spec		*/
 I2	  32223 /* version 1.0.1 chapter 5.					*/

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 582
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32224 /*								*/
 I2	  32225 /*--------------------------------------------------------------*/	
 I2	  32226 
 I2	  32227 struct fddi_dna_attributes {
 I2	  32228 
 I2	  32229 	/* STATION Attributes */
 I2	  32230 
 I2	  32231 	u_char	stationid[8];		/* FDDI station id */ 
 I2	  32232 	short   stationtype;		/* FDDI station type */
 I2	  32233 	u_short	opversionid;		/* operation version id */
 I2	  32234 	u_short	hiversionid;		/* highest version id */
 I2	  32235 	u_short	loversionid;		/* lowest version id */
 I2	  32236 
 I2	  32237 	/* LINK Attributes */
 I2	  32238 
 I2	  32239 	u_char  link_addr[6];		/* LINK address */
 I2	  32240 	__u_int	t_req;			/* TRT request */
 I2	  32241 	__u_int	tvx;			/* Valid Transmission time */
 I2	  32242 	__u_int	rtoken_timeout;		/* restricted token timeout */
 I2	  32243 	short	ring_purge_enable;	/* ring purger enable */
 I2	  32244 
 I2	  32245 	/* PHY Attributes */
 I2	  32246 		
 I2	  32247 	u_char	phy_type;		/* PHY type */
 I2	  32248 	u_char	pmd_type;		/* PMD type */
 I2	  32249         __u_int	lem_threshold; 		/* lem threshold */
 I2	  32250 };
 I2	  32251 
 I2	  32252 struct fddi_dna_status {
 I2	  32253 
 I2	  32254 	/* STATION Status */
 I2	  32255 
 I2	  32256 	short   station_state;		/* station state */
 I2	  32257 	u_char	laststationid[8];	/* Last FDDI station id */ 
 I2	  32258 	u_char	station_uid[8];		/* station uid */ 
 I2	  32259 
 I2	  32260 	/* LINK Status */
 I2	  32261 
 I2	  32262 	short   link_state;		/* LINK state */
 I2	  32263 	u_char	link_uid[8];		/* link uid */ 
 I2	  32264 	__u_int	neg_trt;		/* Negotiated TRT */
 I2	  32265 	short   dup_add_flag;		/* duplicate address flag */
 I2	  32266 	u_char  upstream[6];		/* Upstream Neighbor */
 I2	  32267 	u_char  oldupstream[6];		/* Old Upstream Neighbor */
 I2	  32268 	short   upstreamdaf;		/* Upstream Neighbor duplicate address flag */
 I2	  32269 	u_char  downstream[6];		/* Downstream Neighbor */
 I2	  32270 	u_char  olddownstream[6];	/* Old Downstream Neighbor */
 I2	  32271 	short   ring_purge_state;	/* ring purge state */
 I2	  32272 	u_char 	frame_strip_mode;	/* frame strip mode */
 I2	  32273 	u_char	ring_error;		/* ring error reasons */
 I2	  32274 	short	loopback;		/* loopback mode - true/false */
 I2	  32275 	short 	ring_latency;		/* currently measured ring latency */
 I2	  32276 	u_char	ring_purge_addr[6];	/* ring purger address */	
 I2	  32277 
 I2	  32278 	/* PHY Status */
 I2	  32279 
 I2	  32280 	u_char 	phy_state;		/* Physical state */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 583
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32281 	u_char	phy_uid[8];		/* phy uid */ 
 I2	  32282 	u_char	neighbor_phy_type;	/* Neighborshort */		   
 I2	  32283 	__u_int	phy_link_error;		/* phy link error estimate */
 I2	  32284 	u_char  broken_reason;		/* phy port broken reason */
 I2	  32285 	u_char  rej_reason;		/* reject reason */
 I2	  32286 };
 I2	  32287 
 I2	  32288 struct fddiDNA_status {
 I2	  32289 	struct fddi_dna_attributes	attr;
 I2	  32290 	struct fddi_dna_status		stat;	
 I2	  32291 };
 I2	  32292 	
 I2	  32293 struct fstatus {
 I2	  32294 	short	led_state;		/* LED State */
 I2	  32295 	short   rmt_state;		/* RMT state */
 I2	  32296 	short   link_state;		/* LINK state */
 I2	  32297 	short   dup_add_test;		/* duplicate address test */
 I2	  32298 	short   ring_purge_state;	/* ring purge state */
 I2	  32299 	__u_int neg_trt;		/* Negotiated TRT */
 I2	  32300 	u_char  upstream[6];		/* Upstream Neighbor */
 I2	  32301 	u_char  downstream[6];		/* downstream Neighbor */
 I2	  32302 	u_char	una_timed_out;		/* una timed out flag */
 I2	  32303 	u_char 	frame_strip_mode;	/* frame strip mode */
 I2	  32304 	u_char	claim_token_mode;	/* claim token yield mode */
 I2	  32305 	u_char 	phy_state;		/* Physical state */
 I2	  32306 	u_char	neighbor_phy_type;	/* Neighborshort */		   
 I2	  32307 	u_char  rej_reason;		/* reject reason */
 I2	  32308 	__u_int	phy_link_error;		/* phy link error estimate */
 I2	  32309 	u_char	ring_error;		/* ring error reasons */
 I2	  32310 	__u_int	t_req;			/* TRT request */
 I2	  32311 	__u_int tvx;			/* TVX value */
 I2	  32312 	__u_int t_max;			/* TRT maximum */
 I2	  32313         __u_int lem_threshold;          /* lem threshold */
 I2	  32314 	__u_int	rtoken_timeout;		/* restricted token timeout */
 I2	  32315 	u_char  fw_rev[4];		/* firmware revision */
 I2	  32316 	u_char  phy_rev[4];		/* ROM revision */	
 I2	  32317 	u_char	pmd_type;		/* PMD type */
 I2	  32318 	u_char  dir_beacon[6];		/* Last Direct Beacon address */
 I2	  32319 	short	smt_version;		/* SMT version */
 I2	  32320 	short   state;			/* Adapter State */
 I2	  32321 	u_char	dir_beacon_una[6];	/* UNA from last direct beacon addr. */
 I2	  32322 	short	cnt_interval;		/* Interval to get counter updates */
 I2	  32323 	short	full_duplex_mode;	/* enabling/disabling duplex mode */
 I2	  32324 	short	full_duplex_state;	/* state, if enabled */
 I2	  32325 };	
 I2	  32326 
 I2	  32327 /* MAC group */
 I2	  32328 
 I2	  32329 struct fddimac {
 I2	  32330 	short   mac_number;             /* MAC number */
 I2	  32331 	short   mac_smt_index;		/* MAC SMT index */
 I2	  32332 	short   mac_index;		/* MAC index */
 I2	  32333 	short	mac_fsc;		/* MAC frame status capabilities */
 I2	  32334 	__u_int	mac_gltmax;		/* Greastest lower bound of T_max */
 I2	  32335 	__u_int	mac_gltvx;		/* Greastest lower bound of TVX */
 I2	  32336 	short	mac_paths;		/* path types available */
 I2	  32337 	short	mac_current;		/* association of the MAC with path*/

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 584
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32338 	u_char	mac_upstream[6];	/* upstream neighbor */
 I2	  32339 	u_char	mac_oldupstream[6];	/* previous upstream neighbor */
 I2	  32340 	short	mac_dupaddrtest;	/* duplicate address test */
 I2	  32341 	short   mac_pathsreq;		/* paths requested */
 I2	  32342 	short	mac_downstreamtype;	/* downstream PC-type */
 I2	  32343 	u_char	mac_smtaddress[6];	/* MAC address for SMT */
 I2	  32344 	__u_int	mac_treq;		/* TRT time */
 I2	  32345 	__u_int	mac_tneg;		/* Neg. TRT time */
 I2	  32346 	__u_int	mac_tmax;		/* max. TRT time */
 I2	  32347 	__u_int	mac_tvx;		/* TVX value */
 I2	  32348 	__u_int	mac_tmin;		/* min. TRT time */
 I2	  32349 	short	mac_framestatus;	/* current frame status */
 I2	  32350 	int	mac_counter;		/* frame counters */
 I2	  32351 	int	mac_error;		/* frame error counters */
 I2	  32352 	int	mac_lost;		/* frame lost counter */
 I2	  32353 	short	mac_rmtstate;		/* Ring Management state */
 I2	  32354 	short	mac_dupaddr;		/* duplicate address flag */
 I2	  32355 	short	mac_condition;		/* MAC condition */
 I2	  32356 	short   mac_action;		/* MAC action */
 I2	  32357 	short	mac_updupaddr;		/* upstream duplicate address flag */
 I2	  32358 	short	mac_frame_error_thresh;	/* frame error threshold */
 I2	  32359 	short 	mac_frame_error_ratio;	/* frame error ratio */
 I2	  32360 	short	mac_chip_set;		/* the chip set used */
 I2	  32361 };
 I2	  32362 
 I2	  32363 /* PATH group */
 I2	  32364 
 I2	  32365 struct fddipath {
 I2	  32366 	short	path_configindex;	/* path configuration index */
 I2	  32367 	short	path_type;		
 I2	  32368 	short	path_portorder;			
 I2	  32369 	__u_int	path_sba;		/*synchronous bandwidth allocation*/ 
 I2	  32370 	short	path_sbaoverhead;	/* SBA overhead */
 I2	  32371 	short	path_status;		/* path status */
 I2	  32372 };
 I2	  32373 
 I2	  32374 /* PORT group */
 I2	  32375 
 I2	  32376 struct fddiport {
 I2	  32377 	short   port_number;            /* port number */
 I2	  32378 	short	port_smt_index;		/* port SMT index */
 I2	  32379 	short	port_index;		/* port index */
 I2	  32380 	short	port_pctype;		/* value of the port's PC_type */
 I2	  32381 	short	port_pcneighbor;	/* PC_neighbor of remote port*/
 I2	  32382 	short   port_connpolicy;	/* connection policies */
 I2	  32383 	short	port_remoteind;		/* remote MAC indicated */
 I2	  32384 	short 	port_CEstate;		/* Current Configuration state */
 I2	  32385 	short   port_pathreq;		/* path request */
 I2	  32386 	u_short port_placement;		/* upstream MAC */
 I2	  32387 	short	port_availpaths;	/* available paths */
 I2	  32388 	__u_int	port_looptime;		/* time for MAC loval loop */
 I2	  32389 	__u_int	port_TBmax;		/* TB_max */
 I2	  32390 	short	port_BSflag;		/* the Break state, BF_flag */
 I2	  32391 	__u_int	port_LCTfail;		/* counter for Link confidence test */
 I2	  32392 	short	port_LerrEst;		/* Link error estimate */
 I2	  32393 	__u_int	port_Lemreject;		/* Link reject count */
 I2	  32394 	__u_int	port_Lem;		/* Link error monitor count */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 585
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32395 	short	port_baseLerEst;	/* value of port Ler Estimate */
 I2	  32396 	__u_int	port_baseLerrej;	/* Ler reject count */
 I2	  32397 	__u_int	port_baseLer;		/* Ler count */
 I2	  32398 	u_char	port_baseLerTime[8];	/* Ler timestamp */	
 I2	  32399 	short   port_Lercutoff;		/* error rate cut off limit */
 I2	  32400 	short	port_alarm;		/* error rate cause alarm generate*/
 I2	  32401 	short	port_connectstate;	/* connect state */
 I2	  32402 	short   port_PCMstate;		/* PCM state */
 I2	  32403 	short	port_PCwithhold;	/* PC_withhold */
 I2	  32404 	short	port_Lercondition;	/* true if Ler-Est <= Ler_alarm */
 I2	  32405 	short   port_action;		/* PORT action */
 I2	  32406 	short	port_chip_set;		/* PORT chip set */
 I2	  32407 };
 I2	  32408 
 I2	  32409 /* Attachment group */
 I2	  32410 
 I2	  32411 struct	fddiatta {
 I2	  32412 	short	atta_number;            /* attachment number */
 I2	  32413 	short 	atta_smt_index;		/* attachment SMT index */
 I2	  32414 	short 	atta_index;		/* attachment index */
 I2	  32415 	short	atta_class;		/* attachment class */
 I2	  32416 	short	atta_bypass;		/* attachment optical bypass */	
 I2	  32417 	short	atta_IMaxExpiration;	/* attachment I_Max Expiration */	
 I2	  32418 	short	atta_InsertedStatus;	/* Inserted status */	
 I2	  32419 	short	atta_InsertPolicy;	/* Insert policy */	
 I2	  32420 };
 I2	  32421 
 I2	  32422 		/* Information here is conformant to SMT 7.2 */
 I2	  32423 
 I2	  32424     /* SMT GROUP */
 I2	  32425 struct smtmib_smt {
 I2	  32426 
 I2	  32427 	u_char      smt_station_id[8];
 I2	  32428 	__u_int     smt_op_version_id;
 I2	  32429 	__u_int     smt_hi_version_id;
 I2	  32430 	__u_int     smt_lo_version_id;
 I2	  32431 	u_char      smt_user_data[32];
 I2	  32432 	__u_int     smt_mib_version_id;
 I2	  32433 	__u_int     smt_mac_ct;
 I2	  32434 	__u_int     smt_non_master_ct;
 I2	  32435 	__u_int     smt_master_ct;
 I2	  32436 	__u_int     smt_available_paths;
 I2	  32437 	__u_int     smt_config_capabilities;
 I2	  32438 	__u_int     smt_config_policy;
 I2	  32439 	__u_int     smt_connection_policy;
 I2	  32440 	__u_int     smt_t_notify;
 I2	  32441 	__u_int     smt_stat_rpt_policy;
 I2	  32442 	__u_int     smt_trace_max_expiration;
 I2	  32443 	__u_int     smt_bypass_present;
 I2	  32444 	__u_int     smt_ecm_state;
 I2	  32445 	__u_int     smt_cf_state;
 I2	  32446 	__u_int     smt_remote_disconnect_flag;
 I2	  32447 	__u_int	    smt_station_status;
 I2	  32448 	__u_int     smt_peer_wrap_flag;
 I2	  32449 	u_long      smt_msg_time_stamp;	/* 64 bit counter */
 I2	  32450 	u_long      smt_transition_time_stamp; /* 64 bit counter */
 I2	  32451 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 586
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32452 
 I2	  32453 	/* MAC GROUP */
 I2	  32454 struct smtmib_mac {
 I2	  32455 	__u_int     mac_frame_status_functions;
 I2	  32456 	__u_int     mac_t_max_capability;
 I2	  32457 	__u_int     mac_tvx_capability;
 I2	  32458 	__u_int     mac_available_paths;
 I2	  32459 	__u_int     mac_current_path;
 I2	  32460 	u_char      mac_upstream_nbr[8];
 I2	  32461 	u_char      mac_downstream_nbr[8];
 I2	  32462 	u_char      mac_old_upstream_nbr[8];
 I2	  32463 	u_char      mac_old_downstream_nbr[8];
 I2	  32464 	__u_int     mac_dup_address_test;
 I2	  32465         __u_int     mac_requested_paths;
 I2	  32466       	__u_int     mac_downstream_port_type;
 I2	  32467 	u_char      mac_smt_address[8];
 I2	  32468     	__u_int     mac_t_req;
 I2	  32469 	__u_int     mac_t_neg;
 I2	  32470 	__u_int     mac_t_max;
 I2	  32471 	__u_int     mac_tvx_value;
 I2	  32472 	__u_int     mac_frame_error_threshold;
 I2	  32473 	__u_int     mac_frame_error_ratio;
 I2	  32474 	__u_int     mac_rmt_state;
 I2	  32475 	__u_int     mac_da_flag;
 I2	  32476 	__u_int     mac_unda_flag;
 I2	  32477 	__u_int     mac_frame_error_flag;
 I2	  32478 	__u_int     mac_ma_unitdata_available;
 I2	  32479 	__u_int     mac_hw_present;
 I2	  32480 	__u_int     mac_ma_unitdata_enable;
 I2	  32481 };
 I2	  32482 
 I2	  32483 	/* PATH GROUP */
 I2	  32484 
 I2	  32485 struct smtmib_path {
 I2	  32486 	u_char      path_configuration[32];
 I2	  32487 	__u_int     path_tvx_lower_bound;
 I2	  32488 	__u_int     path_t_max_lower_bound;
 I2	  32489 	__u_int     path_max_t_req;
 I2	  32490 };
 I2	  32491 
 I2	  32492 	/* PORT GROUP */
 I2	  32493 struct smtmib_port {
 I2	  32494 	__u_int     port_my_type[2];
 I2	  32495 	__u_int     port_neighbor_type[2];
 I2	  32496 	__u_int     port_connection_policies[2];
 I2	  32497 	__u_int     port_mac_indicated[2];
 I2	  32498 	__u_int     port_current_path[2];
 I2	  32499 	__u_int     port_requested_paths[2];
 I2	  32500 	__u_int     port_mac_placement[2];
 I2	  32501 	__u_int     port_available_paths[2];
 I2	  32502 	__u_int     port_pmd_class[2];
 I2	  32503 	__u_int     port_connection_capabilities[2];
 I2	  32504 	__u_int     port_bs_flag[2];
 I2	  32505 	__u_int     port_ler_estimate[2];
 I2	  32506 	__u_int     port_ler_cutoff[2];
 I2	  32507 	__u_int     port_ler_alarm[2];
 I2	  32508 	__u_int     port_connect_state[2];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 587
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32509 	__u_int     port_pcm_state[2];
 I2	  32510 	__u_int     port_pc_withhold[2];
 I2	  32511 	__u_int     port_ler_flag[2];
 I2	  32512 	__u_int     port_hardware_present[2];
 I2	  32513 };
 I2	  32514 
 I2	  32515 struct decext_mib {
 I2	  32516 	/* SMT GROUP */
 I2	  32517 	__u_int     esmt_station_type;
 I2	  32518 
 I2	  32519 	/* MAC GROUP */
 I2	  32520 	__u_int	emac_link_state;
 I2	  32521 	__u_int	emac_ring_purger_state;
 I2	  32522 	__u_int	emac_ring_purger_enable;
 I2	  32523 	__u_int	emac_frame_strip_mode;
 I2	  32524 	__u_int	emac_ring_error_reason;
 I2	  32525 	__u_int	emac_up_nbr_dup_addr_flag;
 I2	  32526 	__u_int	emac_restricted_token_timeout;
 I2	  32527 
 I2	  32528 	/* PORT GROUP */
 I2	  32529 	__u_int	eport_pmd_type[2];
 I2	  32530 	__u_int	eport_phy_state[2];
 I2	  32531 	__u_int	eport_reject_reason[2];
 I2	  32532 
 I2	  32533 	/* FDX (Full-Duplex) GROUP */
 I2	  32534 	__u_int	efdx_enable;        /* Valid only in SMT 7.2 */
 I2	  32535 	__u_int	efdx_op;            /* Valid only in SMT 7.2 */
 I2	  32536 	__u_int	efdx_state;         /* Valid only in SMT 7.2 */
 I2	  32537 };
 I2	  32538 
 I2	  32539 
 I2	  32540 
 I2	  32541 
 I2	  32542 #define CTR_ETHER 0			/* Ethernet interface */
 I2	  32543 #define CTR_DDCMP 1			/* DDCMP pt-to-pt interface */
 I2	  32544 #define CTR_FDDI 2			/* FDDI interface */
 I2	  32545 #define FDDIMIB_SMT	3		/* FDDI MIB SMT group */
 I2	  32546 #define FDDIMIB_MAC	4		/* FDDI MIB MAC group */
 I2	  32547 #define FDDIMIB_PATH	5		/* FDDI MIB PATH group */
 I2	  32548 #define FDDIMIB_PORT	6		/* FDDI MIB PORT group */
 I2	  32549 #define FDDIMIB_ATTA	7		/* FDDI MIB Attatchment Group */
 I2	  32550 #define FDDI_STATUS	8		/* FDDI status */
 I2	  32551 #define FDDISMT_MIB_SMT	9		/* FDDI SMT SMT MIB values */
 I2	  32552 #define FDDISMT_MIB_MAC	10		/* FDDI SMT MAC values */
 I2	  32553 #define FDDISMT_MIB_PATH	11	/* FDDI SMT PATH values */
 I2	  32554 #define FDDISMT_MIB_PORT	12	/* FDDI SMT PORT values */
 I2	  32555 #define FDDIDECEXT_MIB		13	/* FDDI DEC Extended MIB values */
 I2	  32556 #define CTR_TRN			14	/* Token ring counters */
 I2	  32557 #define TRN_CHAR		15	/* Token ring characteristics */
 I2	  32558 #define TRN_MIB_ENTRY		16	/* Token ring mib entry */
 I2	  32559 #define TRN_MIB_STAT_ENTRY	17	/* Token ring mib status entry */
 I2	  32560 #define TRN_MIB_TIMER_ENTRY     18	/* Token ring mib timer entry */
 I2	  32561 #define FDDIMIB_PORT_B		19	/* FDDI MIB PORT group */
 I2	  32562 #define FDDISMT_MIB_PORT_B	20	/* FDDI MIB PORT group */
 I2	  32563 #define DS1_CONFIG              21      /* DS1 mib current entry */
 I2	  32564 #define DS1_CURRENT             22      /* DS1 mib current entry */
 I2	  32565 #define DS1_INTERVAL            23      /* DS1 mib interval entry */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 588
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32566 #define DS1_TOTAL               24      /* DS1 mib total entry */
 I2	  32567 #define DS1_FAR_END_CURRENT     25      /* DS1 mib far end current entry */
 I2	  32568 #define DS1_FAR_END_INTERVAL    26      /* DS1 mib far end interval entry */
 I2	  32569 #define DS1_FAR_END_TOTAL       27      /* DS1 mib far end total entry */
 I2	  32570 #define DS1_FRAC                28      /* DS1 mib frac entry */
 I2	  32571 #define CTR_IPSTAT              29      /* ip protocol interface counters since zeroed */
 I2	  32572 #define CTR_IPSTATBOOT          30      /* ip protocol interface counters since boot */
 I2	  32573 #define CTR_ICMPSTAT            31      /* icmp protocol interface counters since zeroed */
 I2	  32574 #define CTR_ICMPSTATBOOT        32      /* icmp protocol interface counters since boot */
 I2	  32575 #define CTR_TCPSTAT             33      /* tcp protocol interface counters since zeroed */
 I2	  32576 #define CTR_TCPSTATBOOT         34      /* tcp protocol interface counters since boot */
 I2	  32577 #define CTR_UDPSTAT             35      /* udp protocol interface counters since zeroed */
 I2	  32578 #define CTR_UDPSTATBOOT         36      /* udp protocol interface counters since boot */
 I2	  32579 #define CTR_IGMPSTAT            37      /* igmp protocol interface counters since zeroed  */
 I2	  32580 #define CTR_IGMPSTATBOOT        38      /* igmp protocol interface counters since boot */
 I2	  32581 #define CTR_RTSTAT              39      /* ip routing counters since zeroed */
 I2	  32582 #define CTR_RTSTATBOOT          40      /* ip routing counters since boot */
 I2	  32583 #define CTR_MRTSTAT             41      /* multicast ip routing counters since zeroed */
 I2	  32584 #define CTR_MRTSTATBOOT         42      /* multicast ip routing coutners since boot */
 I2	  32585 #define CTR_ETHER_EXTENDED      43      /* Extended Ethernet interface */
 I2	  32586 #define CTR_FDDI_EXTENDED       44      /* Extended FDDI interface */
 I2	  32587 #define CTR_IPSECSTAT           45      /* IPsec protocol interface counters since zeroed */
 I2	  32588 #define CTR_IPSECSTATBOOT       46      /* IPsec protocol interface counters since boot */
 I2	  32589 
 I2	  32590 #define ctr_ether ctr_ctrs.ctrc_ether
 I2	  32591 #define ctr_ether_ext ctr_ctrs.ctrc_ether_ext
 I2	  32592 #define ctr_ddcmp ctr_ctrs.ctrc_ddcmp
 I2	  32593 #define ctr_fddi  ctr_ctrs.ctrc_fddi
 I2	  32594 #define ctr_fddi_ext  ctr_ctrs.ctrc_fddi_ext
 I2	  32595 #define sts_fddi  ctr_ctrs.status_fddi
 I2	  32596 #define dna_fddi  ctr_ctrs.dna_status_fddi
 I2	  32597 #define fmib_smt  ctr_ctrs.smt_fddi
 I2	  32598 #define fmib_mac  ctr_ctrs.mac_fddi
 I2	  32599 #define fmib_path  ctr_ctrs.path_fddi
 I2	  32600 #define fmib_port  ctr_ctrs.port_fddi
 I2	  32601 #define fmib_atta  ctr_ctrs.atta_fddi
 I2	  32602 #define smib_smt  ctr_ctrs.smt_smt
 I2	  32603 #define smib_mac  ctr_ctrs.smt_mac
 I2	  32604 #define smib_port  ctr_ctrs.smt_port
 I2	  32605 #define smib_path  ctr_ctrs.smt_path
 I2	  32606 #define decmib_ext ctr_ctrs.dec_ext
 I2	  32607 
 I2	  32608 #define CTR_HDRCRC	0		/* header crc bit index */
 I2	  32609 #define CTR_DATCRC	1		/* data crc bit index */
 I2	  32610 #define CTR_BUFUNAVAIL	0		/* buffer unavailable bit index */
 I2	  32611 
 I2	  32612 /*
 I2	  32613  * Interface counter ioctl request
 I2	  32614  */
 I2	  32615 struct ctrreq {
 I2	  32616 	char    ctr_name[IFNAMSIZ];     /* if name */
       E	                   16
 I2	  32617 	        char    ctr_type;               /* type of interface */
 I2	  32618         union {
 I2	  32619                 struct estat ctrc_ether;		/* ethernet counters */
 I2	  32620                 struct estat_extended ctrc_ether_ext;   /* extended ethernet counters */
 I2	  32621                 struct dstat ctrc_ddcmp;		/* DDCMP pt-to-pt counters */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 589
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32622                 struct fstat ctrc_fddi; 		/* FDDI counters */
 I2	  32623                 struct fstat_extended ctrc_fddi_ext;    /* extended FDDI counters */
 I2	  32624                 struct fstatus status_fddi; 		/* FDDI stsatus */
 I2	  32625                 struct fddiDNA_status dna_status_fddi; 	/* FDDI status per DNA spec */
 I2	  32626                 struct fddismt smt_fddi;		/* fddi SMT attributes */
 I2	  32627                 struct fddimac mac_fddi;		/* fddi MAC attributes */
 I2	  32628                 struct fddipath path_fddi;		/* fddi PATH attributes */
 I2	  32629                 struct fddiport port_fddi; 		/* fddi PORT attributes */
 I2	  32630                 struct fddiatta atta_fddi; 		/* fddi attatch attributes */
 I2	  32631 		struct smtmib_smt	smt_smt;   	/* smt mib attributes */
 I2	  32632 		struct smtmib_mac	smt_mac;   	/* smt mib attributes */
 I2	  32633 		struct smtmib_path	smt_path;  	/* smt mib attributes */
 I2	  32634 		struct smtmib_port	smt_port;  	/* smt mib attributes */
 I2	  32635 		struct decext_mib	dec_ext;   	/* dec extended mib */
 I2	  32636 		struct trnchar	trnchar;		/* Token ring characteristics */
 I2	  32637 		struct trncount	trncount;		/* Token ring counters */
 I2	  32638 		struct dot5Entry dot5Entry;		/* Token ring MIB counters */
 I2	  32639 		struct dot5StatsEntry dot5StatsEntry; 	/*Token ring MIB stats */
 I2	  32640 		struct dot5TimerEntry dot5TimerEntry; 	/*Token ring MIB Timers */
 I2	  32641                 unsigned char   protos[512];            /* protocol stat structs can't be bigger */
 I2	  32642         } ctr_ctrs;
 I2	  32643 };
 I2	  32644 
 I2	  32645 union mac_addr {
 I2	  32646 	u_short	saddr[3];
 I2	  32647 	u_char	caddr[6];
 I2	  32648 };
 I2	  32649 
 I2	  32650 
 I2	  32651 /*
 I2	  32652  * following are the prototypes and structure defns. for the
 I2	  32653  * new interface indentification API for IPv6
 I2	  32654 */
 I2	  32655 char *                  if_indextoname ( unsigned int, char *);
 I2	  32656 unsigned int            if_nametoindex ( const char * );
 I2	  32657 struct if_nameindex *	if_nameindex ( void );
 I2	  32658 void			if_freenameindex ( struct if_nameindex *);
 I2	  32659 
 I2	  32660 struct if_nameindex {
 I2	  32661 	unsigned int	if_index;
 I2	  32662 	char		*if_name;
 I2	  32663 };
 I2	  32664 
 I2	  32665 
 I2	  32666 
 I2	  32667 /*
 I2	  32668 **  Restore the users pointer context
 I2	  32669 */
 I2    X  32670 #if __INITIAL_POINTER_SIZE
 I2    X  32671 #   pragma __pointer_size __restore
 I2    X  32672 #endif
 I2	  32673 
 I2    X  32674 #ifdef __cplusplus
 I2    X  32675     }
 I2    X  32676 #endif
 I2	  32677 
 I2	  32678 #pragma __member_alignment __restore

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 590
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IF)

 I2	  32679 #pragma __extern_model __restore
 I2	  32680 #pragma __standard
 I2	  32681 #endif  /* __IF_LOADED  */
 I1    X  32682 #else
 I1    X  32683 #ifdef NEEDUINT
 I1    X  32684 typedef unsigned int u_int;
 I1    X  32685 #endif /* NEEDUINT */
 I1    X  32686 #endif /* IF_DOT_H */
 I1	  32687 
 I1	  32688 #include <in.h>
 I2	  32689 #ifndef __IN_LOADED
 I2	  32690 #define __IN_LOADED 1
 I2	  32691 /****************************************************************************
 I2	  32692 **
 I2	  32693 **  <in.h> - Internet protocol family
 I2	  32694 **
 I2	  32695 *****************************************************************************
 I2	  32696 **  Header introduced by the X/Open CAE Specification, Issue 4, Version 2
 I2	  32697 *****************************************************************************
 I2	  32698 **                                                                       
 I2	  32699 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I2	  32700 **                                                                       
 I2	  32701 ** Confidential computer software.  Valid license from HP and/or         
 I2	  32702 ** its subsidiaries required for possession, use, or copying.            
 I2	  32703 **                                                                       
 I2	  32704 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I2	  32705 ** Computer Software Documentation, and Technical Data for Commercial    
 I2	  32706 ** Items are licensed to the U.S. Government under vendor's standard     
 I2	  32707 ** commercial license.                                                   
 I2	  32708 **                                                                       
 I2	  32709 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I2	  32710 ** or editorial errors or omissions contained herein.  The information   
 I2	  32711 ** in this document is provided "as is" without warranty of any kind and 
 I2	  32712 ** is subject to change without notice.  The warranties for HP products  
 I2	  32713 ** are set forth in the express limited warranty statements accompanying 
 I2	  32714 ** such products.  Nothing herein should be construed as constituting an 
 I2	  32715 ** additional warranty.                                                  
 I2	  32716 **                                                                       
 I2	  32717 *****************************************************************************
 I2	  32718 **
 I2	  32719 **  Copyright (c) 1982 Regents of the University of California.
 I2	  32720 **  All rights reserved.  The Berkeley software License Agreement
 I2	  32721 **  specifies the terms and conditions for redistribution.
 I2	  32722 **
 I2	  32723 **      in.h             6.5 (Berkeley) 6/8/85
 I2	  32724 **
 I2	  32725 ******************************************************************************
 I2	  32726 */
 I2	  32727 
 I2	  32728 #pragma   __nostandard
 I2    X  32729 #include <decc$types.h>
 I2    X  32730 #ifdef __cplusplus
 I2    X  32731     extern "C" {
 I2    X  32732 #endif
 I2	  32733 
 I2	  32734 
 I2	  32735 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 591
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I2	  32736 **  The OpenVMS V7.0 release added a second implementation of the socket 
 I2	  32737 **  functions which is compatible with BSD 4.4.  Define a local to be 
 I2	  32738 **  used throughout the remaining header file which reflects which 
 I2	  32739 **  implementation is being used.
 I2	  32740 **
 I2	  32741 **  An application program enables this support by defining _SOCKADDR_LEN
 I2	  32742 **  prior to including this header file.
 I2	  32743 */
 I2    X  32744 #ifdef _SOCKADDR_LEN
 I2    X  32745 #   if (__CRTL_VER < 70000000)
 I2    X  32746 #      error " BSD 4.4 Socket package not available before OpenVMS V7.0"
 I2    X  32747 #      undef _SOCKADDR_LEN
 I2    X  32748 #   endif
 I2    X  32749 #endif
 I2	  32750 
 I2	  32751 
 I2	  32752 /*
 I2	  32753 **  All includes of other header files must be done prior to altering
 I2	  32754 **  the pointer size mode.  We include socket.h because we need the
 I2	  32755 **  sa_family_t typedef for Spec1170.
 I2	  32756 */
 I2    X  32757 #include <types.h>
 I2	  32758 #if !defined (_XOPEN_SOURCE_EXTENDED)
 I2    X  32759 #   include <socket.h>
 I2	  32760 #endif
 I2	  32761 
 I2	  32762 
 I2	  32763 /*
 I2	  32764 **  Start processing in 32-bit addressing mode
 I2	  32765 */
 I2    X  32766 #if __INITIAL_POINTER_SIZE
 I2    X  32767 #   pragma __pointer_size __save
 I2    X  32768 #   pragma __pointer_size 32
 I2    X  32769 #endif
 I2	  32770 
 I2	  32771 
 I2	  32772 /*
 I2	  32773 **  Set __nomember_alignment to avoid internal and tail
 I2	  32774 **  padding in structures; default base alignment.
 I2	  32775 **  Required for consistency across programming languages.
 I2	  32776 */
 I2	  32777 #pragma __member_alignment __save
 I2	  32778 #pragma __nomember_alignment
 I2	  32779 
 I2	  32780 
 I2	  32781 /* 
 I2	  32782 **  Define XPG4 IP typedefs
 I2	  32783 */
 I2	  32784 #if !defined __IN_PORT_T && !defined _DECC_V4_SOURCE
 I2	  32785 #   define __IN_PORT_T 1
 I2	  32786     typedef __in_port_t in_port_t;
 I2	  32787 #endif
 I2	  32788 
 I2	  32789 #if !defined __IN_ADDR_T  && !defined _DECC_V4_SOURCE
 I2	  32790 #   define __IN_ADDR_T 1
 I2	  32791     typedef __in_addr_t in_addr_t;
 I2	  32792 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 592
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I2	  32793 
 I2    X  32794 #if !defined __SA_FAMILY_T && !defined _DECC_V4_SOURCE
 I2    X  32795 #   define __SA_FAMILY_T 1
 I2    X  32796     typedef __sa_family_t sa_family_t;
 I2    X  32797 #endif
 I2	  32798 
 I2	  32799 /*
 I2	  32800 **  Internet address (a structure for historical reasons).
 I2	  32801 **  The address format can be any of the supported Internet
 I2	  32802 **  address notations.  See the DEC TCP/IP Services for OpenVMS
 I2	  32803 **  System Management manual for more information on  
 I2	  32804 **  Internet address notations.
 I2	  32805 */
 I2	  32806 #ifndef __IN_ADDR
 I2	  32807 #   define __IN_ADDR 1
 I2	  32808     struct in_addr {
 I2	  32809         union {
 I2	  32810             struct { unsigned char s_b1,s_b2,s_b3,s_b4; } S_un_b;
 I2	  32811             struct { unsigned short s_w1,s_w2; } S_un_w;
 I2	  32812             unsigned long S_addr;
 I2    X  32813 #ifdef _XOPEN_SOURCE_EXTENDED
 I2    X  32814             __in_addr_t  S_addr_xopen;
 I2    X  32815 #endif
 I2	  32816         } S_un;
 I2	  32817 };
 I2	  32818 
 I2    X  32819 #ifdef _XOPEN_SOURCE_EXTENDED
 I2    X  32820 #   define s_addr S_un.S_addr_xopen /* X/Open version of s_addr */
 I2    X  32821 #else
 I2	  32822 #   define s_addr S_un.S_addr       /* can be used for most tcp & ip code */
 I2	  32823 #endif
 I2	  32824 #   define s_host S_un.S_un_b.s_b2  /* host on imp  */
 I2	  32825 #   define s_net S_un.S_un_b.s_b1   /* network      */
 I2	  32826 #   define s_imp S_un.S_un_w.s_w2   /* imp          */
 I2	  32827 #   define s_impno S_un.S_un_b.s_b4 /* imp #        */
 I2	  32828 #   define s_lh S_un.S_un_b.s_b3    /* logical host */
 I2	  32829 
 I2	  32830 #endif
 I2	  32831 
 I2	  32832 
 I2	  32833 /*
 I2	  32834  * Buffer size to hold IPv4 address as text string
 I2	  32835  */
 I2	  32836 
 I2	  32837 #define INET_ADDRSTRLEN	16
 I2	  32838 
 I2	  32839 /*
 I2	  32840  * Constants and structures defined by the internet system,
 I2	  32841  * Per RFC 790, September 1981.
 I2	  32842  */
 I2	  32843 
 I2	  32844 /*
 I2	  32845  * Protocols
 I2	  32846  */
 I2	  32847 #define	IPPROTO_IP		0		/* dummy for IP */
 I2	  32848 #define IPPROTO_HOPOPTS         0               /* IPv6 Hop-by-Hop options */
 I2	  32849 #define	IPPROTO_ICMP		1		/* control message protocol */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 593
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I2	  32850 #define IPPROTO_IGMP		2		/* group mgmt protocol */
 I2	  32851 #define	IPPROTO_GGP		3		/* gateway^2 (deprecated) */
 I2	  32852 #define IPPROTO_IPIP            4               /* IP inside IP */
 I2	  32853 #define IPPROTO_IPV4		IPPROTO_IPIP	/* IPv4 (tunneled) */
 I2	  32854 #define	IPPROTO_TCP		6		/* tcp */
 I2	  32855 #define	IPPROTO_EGP		8		/* exterior gateway protocol */
 I2	  32856 #define	IPPROTO_PUP		12		/* pup */
 I2	  32857 #define	IPPROTO_UDP		17		/* user datagram protocol */
 I2	  32858 #define	IPPROTO_IDP		22		/* xns idp */
 I2	  32859 #define	IPPROTO_TP		29 		/* tp-4 w/ class negotiation */
 I2	  32860 #define IPPROTO_IPV6            41              /* IPv6 header */
 I2	  32861 #define IPPROTO_ROUTING         43              /* IPv6 Routing header */
 I2	  32862 #define IPPROTO_FRAGMENT        44              /* IPv6 fragmentation header */
 I2	  32863 #define IPPROTO_RSVP            46              /* resource reservation proto */
 I2	  32864 #define IPPROTO_ESP             50              /* encap. security payload */
 I2	  32865 #define IPPROTO_AH              51              /* authentication header */
 I2	  32866 #define IPPROTO_ICMPV6          58              /* ICMPv6 */
 I2	  32867 #define IPPROTO_NONE            59              /* IPv6 no next header */
 I2	  32868 #define IPPROTO_DSTOPTS         60              /* IPv6 Destination options */
 I2	  32869 #define IPPROTO_EON             80              /* ISO cnlp */
 I2	  32870 #define IPPROTO_IFMP            101             /* Ipsilon Flow Mgmt Protocol*/
 I2	  32871 #define IPPROTO_IPCOMP          108             /* IP Payload Compression */
 I2	  32872 #define IPPROTO_SCTP            132             /* SCTP */
 I2	  32873 #define IPPROTO_MH              135             /* IPv6 Mobility header */
 I2	  32874 #define IPPROTO_MOBILITY        IPPROTO_MH      /* IPv6 Mobility header */
 I2	  32875 
 I2	  32876 #define	IPPROTO_RAW		255		/* raw IP packet */
 I2	  32877 #define	IPPROTO_MAX		256
 I2	  32878 
 I2	  32879 
 I2	  32880 /*
 I2	  32881  * Local port number conventions:
 I2	  32882  * Ports < IPPORT_RESERVED are reserved for
 I2	  32883  * privileged processes (e.g. root).
 I2	  32884  * Ports > IPPORT_USERRESERVED are reserved
 I2	  32885  * for servers, not necessarily privileged.
 I2	  32886  */
 I2	  32887 #define	IPPORT_RESERVED		1024
 I2	  32888 #define	IPPORT_USERRESERVED	5000
 I2	  32889 
 I2	  32890 /* From Sun 4.1 sources, needed for SUN rpc */
 I2	  32891 #define    IPPORT_TIMESERVER       37
 I2	  32892 
 I2	  32893 /*
 I2	  32894 **  Link numbers
 I2	  32895 */
 I2	  32896 #define IMPLINK_IP        155
 I2	  32897 #define IMPLINK_LOWEXPER  156
 I2	  32898 #define IMPLINK_HIGHEXPER 158
 I2	  32899 
 I2	  32900 /*
 I2	  32901 **  Macros for subnetworks.  A subnet is distinguished by
 I2	  32902 **
 I2	  32903 **    (1) the network number is a `local' network number, and
 I2	  32904 **    (2) the most significant bit of the host part is set.
 I2	  32905 **
 I2	  32906 **  Such addresses include one additional byte in the network number, and

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 594
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I2	  32907 **  use one less byte in the host part (i.e., a subnet of a Class A network
 I2	  32908 **  uses the rules for Class B net/host number extraction, a Class B subnet
 I2	  32909 **  is dealt with as if it were a Class C net).  Subnets of Class C nets
 I2	  32910 **  are not supported.
 I2	  32911 */
 I2	  32912 #define SUBNETSHIFT  8  /* used to get main net number from subnet */
 I2	  32913 
 I2	  32914 #define IN_SUBNETA(i)       ((((long)(i))&0x80800000)==0x00800000)
 I2	  32915 #define IN_CLASSA_SUBNET    0xffff0000
 I2	  32916 #define IN_CLASSA_SUBNSHIFT (IN_CLASSA_NSHIFT - SUBNETSHIFT)
 I2	  32917 #define IN_CLASSA_SUBHOST   0x0000ffff
 I2	  32918 
 I2	  32919 #define IN_SUBNETB(i)       ((((long)(i))&0xc0008000)==0x80008000)
 I2	  32920 #define IN_CLASSB_SUBNET    0xffffff00
 I2	  32921 #define IN_CLASSB_SUBNSHIFT (IN_CLASSB_NSHIFT - SUBNETSHIFT)
 I2	  32922 #define IN_CLASSA_SUBHOST   0x0000ffff
 I2	  32923 #define IN_CLASSB_SUBHOST   0x000000ff
 I2	  32924 
 I2	  32925 /*
 I2	  32926  * Definitions of bits in internet address integers.
 I2	  32927  * On subnets, the decomposition of addresses to host and net parts
 I2	  32928  * is done according to subnet mask, not the masks here.
 I2	  32929  */
 I2	  32930 #define	IN_CLASSA(i)		(((int)(i) & 0x80000000) == 0)
 I2	  32931 #define	IN_CLASSA_NET		0xff000000
 I2	  32932 #define	IN_CLASSA_NSHIFT	24
 I2	  32933 #define	IN_CLASSA_HOST		0x00ffffff
 I2	  32934 #define	IN_CLASSA_MAX		128
 I2	  32935 
 I2	  32936 #define	IN_CLASSB(i)		(((int)(i) & 0xc0000000) == 0x80000000)
 I2	  32937 #define	IN_CLASSB_NET		0xffff0000
 I2	  32938 #define	IN_CLASSB_NSHIFT	16
 I2	  32939 #define	IN_CLASSB_HOST		0x0000ffff
 I2	  32940 #define	IN_CLASSB_MAX		65536
 I2	  32941 
 I2	  32942 #define	IN_CLASSC(i)		(((int)(i) & 0xe0000000) == 0xc0000000)
 I2	  32943 #define	IN_CLASSC_NET		0xffffff00
 I2	  32944 #define	IN_CLASSC_NSHIFT	8
 I2	  32945 #define	IN_CLASSC_HOST		0x000000ff
 I2	  32946 
 I2	  32947 #define	IN_CLASSD(i)		(((int)(i) & 0xf0000000) == 0xe0000000)
 I2	  32948 #define IN_CLASSD_NET		0xf0000000	/* These ones aren't really */
 I2	  32949 #define IN_CLASSD_NSHIFT	28		/* net and host fields, but */
 I2	  32950 #define IN_CLASSD_HOST		0x0fffffff	/* routing needn't know.  */
 I2	  32951 #define	IN_MULTICAST(i)		IN_CLASSD(i)
 I2	  32952 
 I2	  32953 #define	IN_EXPERIMENTAL(i)	(((int)(i) & 0xe0000000) == 0xe0000000)
 I2	  32954 #define	IN_BADCLASS(i)		(((int)(i) & 0xf0000000) == 0xf0000000)
 I2	  32955 
 I2	  32956 #define	INADDR_ANY		(unsigned int)0x00000000
 I2	  32957 #define	INADDR_BROADCAST	(unsigned int)0xffffffff	/* must be masked */
 I2	  32958 #define INADDR_LOOPBACK         (unsigned int)0x7F000001
 I2	  32959 
 I2	  32960 #define INADDR_UNSPEC_GROUP	(unsigned int)0xe0000000	/* 224.0.0.0   */
 I2	  32961 #define INADDR_ALLHOSTS_GROUP	(unsigned int)0xe0000001	/* 224.0.0.1   */
 I2	  32962 #define INADDR_MAX_LOCAL_GROUP	(unsigned int)0xe00000ff	/* 224.0.0.255 */
 I2	  32963 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 595
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I2	  32964 #define	INADDR_NONE		0xffffffff		/* -1 return */
 I2	  32965 
 I2	  32966 #define	IN_LOOPBACKNET		127			/* official! */
 I2	  32967 
 I2	  32968 /*
 I2	  32969  * Socket address, internet style.
 I2	  32970  */
 I2    X  32971 #if defined(_SOCKADDR_LEN) || \
 I2	  32972 			defined(_XOPEN_SOURCE_EXTENDED)
 I2    X  32973 struct sockaddr_in {
 I2    X  32974 	unsigned char	sin_len;
 I2    X  32975 	__sa_family_t	sin_family;	/* New typedef for Spec 1170 */
 I2    X  32976 	__in_port_t	sin_port;	/* New typedef for Spec 1170 */
 I2    X  32977 	struct	in_addr sin_addr;
 I2    X  32978 #ifdef _XOPEN_SOURCE_EXTENDED
 I2    X  32979 	unsigned char	sin_zero[8];	/* Changed type from char to	*/
 I2    X  32980 					/* unsigned char for Spec 1170	*/
 I2    X  32981 #else
 I2    X  32982 	char	sin_zero[8];
 I2    X  32983 #endif
 I2    X  32984 };
 I2    X  32985 #else
 I2	  32986 struct sockaddr_in {
 I2	  32987 	unsigned short	sin_family;
 I2	  32988 	unsigned short	sin_port;
 I2	  32989 	struct	in_addr sin_addr;
 I2	  32990 	char	sin_zero[8];
 I2	  32991 };
 I2	  32992 #endif
 I2	  32993 
 I2	  32994 /*	 
 I2	  32995 **  DEC C extensions
 I2	  32996 **  
 I2	  32997 **  caddr_t was here in previous versions and so is retained for compatibility
 I2	  32998 */	 
 I2    X  32999 #if !defined __CADDR_T && !defined CADDR_T && !defined _XOPEN_SOURCE_EXTENDED
 I2    X  33000 #   define __CADDR_T 1
 I2    X  33001 #   ifndef __HIDE_FORBIDDEN_NAMES
 I2    X  33002 #      define CADDR_T 1
 I2    X  33003 #   endif
 I2    X  33004     typedef __caddr_t caddr_t;
 I2    X  33005 # endif
 I2	  33006 
 I2	  33007 
 I2	  33008 /*
 I2	  33009  * Structure used to describe IP options.
 I2	  33010  * Used to store options internally, to pass them to a process,
 I2	  33011  * or to restore options retrieved earlier.
 I2	  33012  * The ip_dst is used for the first-hop gateway when using a source route
 I2	  33013  * (this gets put into the header proper).
 I2	  33014  */
 I2	  33015 struct ip_opts {
 I2	  33016 	struct	in_addr ip_dst;		/* first hop, 0 w/o src rt */
 I2    X  33017 #if defined(__cplusplus)
 I2    X  33018 	char    Ip_opts[40];            /* cannot have same name as class */
 I2    X  33019 #else
 I2	  33020 	char	ip_opts[40];		/* actually variable in size */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 596
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I2	  33021 #endif
 I2	  33022 };
 I2	  33023 
 I2	  33024 /*
 I2	  33025  * Options for use with [gs]etsockopt at the IP level.
 I2	  33026  * First word of comment is data type; bool is stored in int.
 I2	  33027  */
 I2	  33028 #define	IP_OPTIONS	1	/* buf/ip_opts; set/get IP per-packet options */
 I2	  33029 #define	IP_HDRINCL	2	/* int; header is included with data (raw) */
 I2	  33030 #define	IP_TOS		3	/* int; IP type of service and precedence */
 I2	  33031 #define	IP_TTL		4	/* int; IP time to live */
 I2	  33032 #define	IP_RECVOPTS	5	/* bool; receive all IP options w/datagram */
 I2	  33033 #define	IP_RECVRETOPTS	6	/* bool; receive IP options for response */
 I2	  33034 #define	IP_RECVDSTADDR	7	/* bool; receive IP dst addr w/datagram */
 I2	  33035 #define	IP_RETOPTS	8	/* ip_opts; set/get IP per-packet options */
 I2	  33036 #define IP_MULTICAST_IF	   9	/* in_addr; IP multicast interface */
 I2	  33037 #define IP_MULTICAST_TTL   10	/* u_char; IP multicast timetolive */
 I2	  33038 #define IP_MULTICAST_LOOP  11	/* u_char; IP multicast loopback */
 I2	  33039 #define IP_ADD_MEMBERSHIP  12	/* ip_mreq; add  an IP group membership */
 I2	  33040 #define IP_DROP_MEMBERSHIP 13	/* ip_mreq; drop an IP group membership */
 I2	  33041 #define IP_MULTICAST_VIF   14   /* set/get IP mcast vir. interface */
 I2	  33042 #define OIP_MULTICAST_IF    16  /* in_addr; IP multicast interface */
 I2	  33043 #define OIP_MULTICAST_TTL   17  /* u_char; IP multicast timetolive */
 I2	  33044 #define OIP_MULTICAST_LOOP  18  /* u_char; IP multicast loopback */
 I2	  33045 #define OIP_ADD_MEMBERSHIP  19  /* ip_mreq; add  an IP group membership */
 I2	  33046 #define OIP_DROP_MEMBERSHIP 20  /* ip_mreq; drop an IP group membership */
 I2	  33047 #define OIP_MULTICAST_VIF   21  /* set/get IP mcast vir. interface */
 I2	  33048 #define IP_RSVP_ON         25   /* set rsvp var. in kernel         */
 I2	  33049 #define IP_RSVP_OFF        26   /* unset rsvp var in kernel        */
 I2	  33050 #define IP_RSVP_VIF_ON     27   /* set rsvp per-vif socket         */
 I2	  33051 #define IP_RSVP_VIF_OFF    28   /* unset rsvp per-vif socket       */
 I2	  33052 #define	IP_PROXY	   29	/* bool; allow proxy packet reception */
 I2	  33053 /*	IP_FLOWLABEL	   20	   defined in in6.h */
 I2	  33054 /*	IP_RXHDR	   21	   defined in in6.h */
 I2	  33055 
 I2	  33056 #define IP_DEFAULT_MULTICAST_TTL   1	/* normally limit m'casts to 1 hop  */
 I2	  33057 #define IP_DEFAULT_MULTICAST_LOOP  1	/* normally hear sends if a member  */
 I2	  33058 #define IP_DEFAULT_MEMBERSHIPS     20   /* default multicasts per socket */
 I2	  33059 #define IP_MAX_MEMBERSHIPS         65535        /* max per socket */
 I2	  33060 
 I2	  33061 /*
 I2	  33062  * IP protocol specific route flags
 I2	  33063  */
 I2	  33064 
 I2	  33065 #define IP_RTF_PMTU         RTF_PROTO3  /* rmx_mtu set by pmtu discovery */
 I2	  33066 
 I2	  33067 /*
 I2	  33068  * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
 I2	  33069  */
 I2	  33070 struct ip_mreq {
 I2	  33071 	struct in_addr	imr_multiaddr;	/* IP multicast address of group */
 I2	  33072 	struct in_addr	imr_interface;	/* local IP address of interface */
 I2	  33073 };
 I2	  33074 
 I2	  33075 /*
 I2	  33076  * Protocol specific route flags
 I2	  33077  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 597
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I2	  33078 
 I2	  33079 #define	RTF_PMTU	 RTF_PROTO4	/* rmx_mtu set by pmtu discovery */
 I2	  33080 #define	RTF_NOPMTUDISC	 RTF_PROTO5	/* pmtu discovery disabled */
 I2	  33081 #define	RTF_NOFRAGTOPMTU RTF_PROTO6     /* fragment to pmtu size disabled */
 I2	  33082 #define	RTF_LOOPBACK	 RTF_PROTO7     /* send packets over loopback device */
 I2	  33083 
 I2	  33084 /* included to get decls for ntohs, htons, ntohl, htonl */
 I2	  33085     /*
 I2	  33086     **  Macros for number representation conversion.
 I2	  33087     */
 I2	  33088     __in_addr_t htonl (__in_addr_t);
 I2	  33089     __in_port_t htons (__in_port_t);
 I2	  33090     __in_addr_t ntohl (__in_addr_t);
 I2	  33091     __in_port_t ntohs (__in_port_t);
 I2	  33092 
 I2	  33093 #include <in6.h>
 I3	  33094 #ifndef __IN6_LOADED
 I3	  33095 #define __IN6_LOADED 1
 I3	  33096 /****************************************************************************
 I3	  33097 **
 I3	  33098 **  <in6.h> - Internet V6 protocol family
 I3	  33099 **
 I3	  33100 *****************************************************************************
 I3	  33101 **  Header introduced by the X/Open CAE Specification, Issue 4, Version 2
 I3	  33102 *****************************************************************************
 I3	  33103 **
 I3	  33104 **  HPE CONFIDENTIAL. This software is confidential proprietary software
 I3	  33105 **  licensed by Hewlett Packard Enterprise Development, LP, and is not
 I3	  33106 **  authorized to be used, duplicated or disclosed to anyone without the
 I3	  33107 **  prior written permission of HPE.
 I3	  33108 **  Copyright 2005 Hewlett Packard Enterprise Development, LP
 I3	  33109 **
 I3	  33110 **  VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential
 I3	  33111 **  proprietary software licensed by VMS Software, Inc., and is not
 I3	  33112 **  authorized to be used, duplicated or disclosed to anyone without
 I3	  33113 **  the prior written permission of VMS Software, Inc.
 I3	  33114 **  Copyright 2020 VMS Software, Inc.
 I3	  33115 **
 I3	  33116 *****************************************************************************
 I3	  33117 **
 I3	  33118 **  Copyright (c) 1982 Regents of the University of California.
 I3	  33119 **  All rights reserved.  The Berkeley software License Agreement
 I3	  33120 **  specifies the terms and conditions for redistribution.
 I3	  33121 **
 I3	  33122 **      in6.h             6.5 (Berkeley) 6/8/85
 I3	  33123 **
 I3	  33124 ******************************************************************************
 I3	  33125 */
 I3	  33126 
 I3	  33127 #pragma   __nostandard
 I3    X  33128 #include <decc$types.h>
 I3    X  33129 #ifdef __cplusplus
 I3    X  33130     extern "C" {
 I3    X  33131 #endif
 I3	  33132 
 I3	  33133 
 I3	  33134 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 598
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  33135 **  The OpenVMS V7.0 release added a second implementation of the socket
 I3	  33136 **  functions which is compatible with BSD 4.4.  Define a local to be
 I3	  33137 **  used throughout the remaining header file which reflects which
 I3	  33138 **  implementation is being used.
 I3	  33139 **
 I3	  33140 **  An application program enables this support by defining _SOCKADDR_LEN
 I3	  33141 **  prior to including this header file.
 I3	  33142 */
 I3    X  33143 #ifdef _SOCKADDR_LEN
 I3    X  33144 #   if (__CRTL_VER < 70000000)
 I3    X  33145 #      error " BSD 4.4 Socket package not available before OpenVMS V7.0"
 I3    X  33146 #      undef _SOCKADDR_LEN
 I3    X  33147 #   endif
 I3    X  33148 #endif
 I3	  33149 
 I3	  33150 
 I3	  33151 /*
 I3	  33152 **  All includes of other header files must be done prior to altering the
 I3	  33153 **  pointer size mode.
 I3	  33154 */
 I3    X  33155 #include <types.h>
 I3	  33156 #if !defined (_XOPEN_SOURCE_EXTENDED)
 I3    X  33157 #   include <socket.h>
 I3	  33158 #endif
 I3	  33159 #include <in.h>
 I4    X  33160 #ifndef __IN_LOADED
 I4    X  33161 #define __IN_LOADED 1
 I4    X  33162 /****************************************************************************
 I4    X  33163 **
 I4    X  33164 **  <in.h> - Internet protocol family
 I4    X  33165 **
 I4    X  33166 *****************************************************************************
 I4    X  33167 **  Header introduced by the X/Open CAE Specification, Issue 4, Version 2
 I4    X  33168 *****************************************************************************
 I4    X  33169 **                                                                       
 I4    X  33170 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I4    X  33171 **                                                                       
 I4    X  33172 ** Confidential computer software.  Valid license from HP and/or         
 I4    X  33173 ** its subsidiaries required for possession, use, or copying.            
 I4    X  33174 **                                                                       
 I4    X  33175 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I4    X  33176 ** Computer Software Documentation, and Technical Data for Commercial    
 I4    X  33177 ** Items are licensed to the U.S. Government under vendor's standard     
 I4    X  33178 ** commercial license.                                                   
 I4    X  33179 **                                                                       
 I4    X  33180 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I4    X  33181 ** or editorial errors or omissions contained herein.  The information   
 I4    X  33182 ** in this document is provided "as is" without warranty of any kind and 
 I4    X  33183 ** is subject to change without notice.  The warranties for HP products  
 I4    X  33184 ** are set forth in the express limited warranty statements accompanying 
 I4    X  33185 ** such products.  Nothing herein should be construed as constituting an 
 I4    X  33186 ** additional warranty.                                                  
 I4    X  33187 **                                                                       
 I4    X  33188 *****************************************************************************
 I4    X  33189 **
 I4    X  33190 **  Copyright (c) 1982 Regents of the University of California.
 I4    X  33191 **  All rights reserved.  The Berkeley software License Agreement

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 599
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I4    X  33192 **  specifies the terms and conditions for redistribution.
 I4    X  33193 **
 I4    X  33194 **      in.h             6.5 (Berkeley) 6/8/85
 I4    X  33195 **
 I4    X  33196 ******************************************************************************
 I4    X  33197 */
 I4    X  33198 
 I4    X  33199 #pragma   __nostandard
 I4    X  33200 #include <decc$types.h>
 I4    X  33201 #ifdef __cplusplus
 I4    X  33202     extern "C" {
 I4    X  33203 #endif
 I4    X  33204 
 I4    X  33205 
 I4    X  33206 /*
 I4    X  33207 **  The OpenVMS V7.0 release added a second implementation of the socket 
 I4    X  33208 **  functions which is compatible with BSD 4.4.  Define a local to be 
 I4    X  33209 **  used throughout the remaining header file which reflects which 
 I4    X  33210 **  implementation is being used.
 I4    X  33211 **
 I4    X  33212 **  An application program enables this support by defining _SOCKADDR_LEN
 I4    X  33213 **  prior to including this header file.
 I4    X  33214 */
 I4    X  33215 #ifdef _SOCKADDR_LEN
 I4    X  33216 #   if (__CRTL_VER < 70000000)
 I4    X  33217 #      error " BSD 4.4 Socket package not available before OpenVMS V7.0"
 I4    X  33218 #      undef _SOCKADDR_LEN
 I4    X  33219 #   endif
 I4    X  33220 #endif
 I4    X  33221 
 I4    X  33222 
 I4    X  33223 /*
 I4    X  33224 **  All includes of other header files must be done prior to altering
 I4    X  33225 **  the pointer size mode.  We include socket.h because we need the
 I4    X  33226 **  sa_family_t typedef for Spec1170.
 I4    X  33227 */
 I4    X  33228 #include <types.h>
 I4    X  33229 #if !defined (_XOPEN_SOURCE_EXTENDED)
 I4    X  33230 #   include <socket.h>
 I4    X  33231 #endif
 I4    X  33232 
 I4    X  33233 
 I4    X  33234 /*
 I4    X  33235 **  Start processing in 32-bit addressing mode
 I4    X  33236 */
 I4    X  33237 #if __INITIAL_POINTER_SIZE
 I4    X  33238 #   pragma __pointer_size __save
 I4    X  33239 #   pragma __pointer_size 32
 I4    X  33240 #endif
 I4    X  33241 
 I4    X  33242 
 I4    X  33243 /*
 I4    X  33244 **  Set __nomember_alignment to avoid internal and tail
 I4    X  33245 **  padding in structures; default base alignment.
 I4    X  33246 **  Required for consistency across programming languages.
 I4    X  33247 */
 I4    X  33248 #pragma __member_alignment __save

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 600
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I4    X  33249 #pragma __nomember_alignment
 I4    X  33250 
 I4    X  33251 
 I4    X  33252 /* 
 I4    X  33253 **  Define XPG4 IP typedefs
 I4    X  33254 */
 I4    X  33255 #if !defined __IN_PORT_T && !defined _DECC_V4_SOURCE
 I4    X  33256 #   define __IN_PORT_T 1
 I4    X  33257     typedef __in_port_t in_port_t;
 I4    X  33258 #endif
 I4    X  33259 
 I4    X  33260 #if !defined __IN_ADDR_T  && !defined _DECC_V4_SOURCE
 I4    X  33261 #   define __IN_ADDR_T 1
 I4    X  33262     typedef __in_addr_t in_addr_t;
 I4    X  33263 #endif
 I4    X  33264 
 I4    X  33265 #if !defined __SA_FAMILY_T && !defined _DECC_V4_SOURCE
 I4    X  33266 #   define __SA_FAMILY_T 1
 I4    X  33267     typedef __sa_family_t sa_family_t;
 I4    X  33268 #endif
 I4    X  33269 
 I4    X  33270 /*
 I4    X  33271 **  Internet address (a structure for historical reasons).
 I4    X  33272 **  The address format can be any of the supported Internet
 I4    X  33273 **  address notations.  See the DEC TCP/IP Services for OpenVMS
 I4    X  33274 **  System Management manual for more information on  
 I4    X  33275 **  Internet address notations.
 I4    X  33276 */
 I4    X  33277 #ifndef __IN_ADDR
 I4    X  33278 #   define __IN_ADDR 1
 I4    X  33279     struct in_addr {
 I4    X  33280         union {
 I4    X  33281             struct { unsigned char s_b1,s_b2,s_b3,s_b4; } S_un_b;
 I4    X  33282             struct { unsigned short s_w1,s_w2; } S_un_w;
 I4    X  33283             unsigned long S_addr;
 I4    X  33284 #ifdef _XOPEN_SOURCE_EXTENDED
 I4    X  33285             __in_addr_t  S_addr_xopen;
 I4    X  33286 #endif
 I4    X  33287         } S_un;
 I4    X  33288 };
 I4    X  33289 
 I4    X  33290 #ifdef _XOPEN_SOURCE_EXTENDED
 I4    X  33291 #   define s_addr S_un.S_addr_xopen /* X/Open version of s_addr */
 I4    X  33292 #else
 I4    X  33293 #   define s_addr S_un.S_addr       /* can be used for most tcp & ip code */
 I4    X  33294 #endif
 I4    X  33295 #   define s_host S_un.S_un_b.s_b2  /* host on imp  */
 I4    X  33296 #   define s_net S_un.S_un_b.s_b1   /* network      */
 I4    X  33297 #   define s_imp S_un.S_un_w.s_w2   /* imp          */
 I4    X  33298 #   define s_impno S_un.S_un_b.s_b4 /* imp #        */
 I4    X  33299 #   define s_lh S_un.S_un_b.s_b3    /* logical host */
 I4    X  33300 
 I4    X  33301 #endif
 I4    X  33302 
 I4    X  33303 
 I4    X  33304 /*
 I4    X  33305  * Buffer size to hold IPv4 address as text string

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 601
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I4    X  33306  */
 I4    X  33307 
 I4    X  33308 #define INET_ADDRSTRLEN	16
 I4    X  33309 
 I4    X  33310 /*
 I4    X  33311  * Constants and structures defined by the internet system,
 I4    X  33312  * Per RFC 790, September 1981.
 I4    X  33313  */
 I4    X  33314 
 I4    X  33315 /*
 I4    X  33316  * Protocols
 I4    X  33317  */
 I4    X  33318 #define	IPPROTO_IP		0		/* dummy for IP */
 I4    X  33319 #define IPPROTO_HOPOPTS         0               /* IPv6 Hop-by-Hop options */
 I4    X  33320 #define	IPPROTO_ICMP		1		/* control message protocol */
 I4    X  33321 #define IPPROTO_IGMP		2		/* group mgmt protocol */
 I4    X  33322 #define	IPPROTO_GGP		3		/* gateway^2 (deprecated) */
 I4    X  33323 #define IPPROTO_IPIP            4               /* IP inside IP */
 I4    X  33324 #define IPPROTO_IPV4		IPPROTO_IPIP	/* IPv4 (tunneled) */
 I4    X  33325 #define	IPPROTO_TCP		6		/* tcp */
 I4    X  33326 #define	IPPROTO_EGP		8		/* exterior gateway protocol */
 I4    X  33327 #define	IPPROTO_PUP		12		/* pup */
 I4    X  33328 #define	IPPROTO_UDP		17		/* user datagram protocol */
 I4    X  33329 #define	IPPROTO_IDP		22		/* xns idp */
 I4    X  33330 #define	IPPROTO_TP		29 		/* tp-4 w/ class negotiation */
 I4    X  33331 #define IPPROTO_IPV6            41              /* IPv6 header */
 I4    X  33332 #define IPPROTO_ROUTING         43              /* IPv6 Routing header */
 I4    X  33333 #define IPPROTO_FRAGMENT        44              /* IPv6 fragmentation header */
 I4    X  33334 #define IPPROTO_RSVP            46              /* resource reservation proto */
 I4    X  33335 #define IPPROTO_ESP             50              /* encap. security payload */
 I4    X  33336 #define IPPROTO_AH              51              /* authentication header */
 I4    X  33337 #define IPPROTO_ICMPV6          58              /* ICMPv6 */
 I4    X  33338 #define IPPROTO_NONE            59              /* IPv6 no next header */
 I4    X  33339 #define IPPROTO_DSTOPTS         60              /* IPv6 Destination options */
 I4    X  33340 #define IPPROTO_EON             80              /* ISO cnlp */
 I4    X  33341 #define IPPROTO_IFMP            101             /* Ipsilon Flow Mgmt Protocol*/
 I4    X  33342 #define IPPROTO_IPCOMP          108             /* IP Payload Compression */
 I4    X  33343 #define IPPROTO_SCTP            132             /* SCTP */
 I4    X  33344 #define IPPROTO_MH              135             /* IPv6 Mobility header */
 I4    X  33345 #define IPPROTO_MOBILITY        IPPROTO_MH      /* IPv6 Mobility header */
 I4    X  33346 
 I4    X  33347 #define	IPPROTO_RAW		255		/* raw IP packet */
 I4    X  33348 #define	IPPROTO_MAX		256
 I4    X  33349 
 I4    X  33350 
 I4    X  33351 /*
 I4    X  33352  * Local port number conventions:
 I4    X  33353  * Ports < IPPORT_RESERVED are reserved for
 I4    X  33354  * privileged processes (e.g. root).
 I4    X  33355  * Ports > IPPORT_USERRESERVED are reserved
 I4    X  33356  * for servers, not necessarily privileged.
 I4    X  33357  */
 I4    X  33358 #define	IPPORT_RESERVED		1024
 I4    X  33359 #define	IPPORT_USERRESERVED	5000
 I4    X  33360 
 I4    X  33361 /* From Sun 4.1 sources, needed for SUN rpc */
 I4    X  33362 #define    IPPORT_TIMESERVER       37

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 602
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I4    X  33363 
 I4    X  33364 /*
 I4    X  33365 **  Link numbers
 I4    X  33366 */
 I4    X  33367 #define IMPLINK_IP        155
 I4    X  33368 #define IMPLINK_LOWEXPER  156
 I4    X  33369 #define IMPLINK_HIGHEXPER 158
 I4    X  33370 
 I4    X  33371 /*
 I4    X  33372 **  Macros for subnetworks.  A subnet is distinguished by
 I4    X  33373 **
 I4    X  33374 **    (1) the network number is a `local' network number, and
 I4    X  33375 **    (2) the most significant bit of the host part is set.
 I4    X  33376 **
 I4    X  33377 **  Such addresses include one additional byte in the network number, and
 I4    X  33378 **  use one less byte in the host part (i.e., a subnet of a Class A network
 I4    X  33379 **  uses the rules for Class B net/host number extraction, a Class B subnet
 I4    X  33380 **  is dealt with as if it were a Class C net).  Subnets of Class C nets
 I4    X  33381 **  are not supported.
 I4    X  33382 */
 I4    X  33383 #define SUBNETSHIFT  8  /* used to get main net number from subnet */
 I4    X  33384 
 I4    X  33385 #define IN_SUBNETA(i)       ((((long)(i))&0x80800000)==0x00800000)
 I4    X  33386 #define IN_CLASSA_SUBNET    0xffff0000
 I4    X  33387 #define IN_CLASSA_SUBNSHIFT (IN_CLASSA_NSHIFT - SUBNETSHIFT)
 I4    X  33388 #define IN_CLASSA_SUBHOST   0x0000ffff
 I4    X  33389 
 I4    X  33390 #define IN_SUBNETB(i)       ((((long)(i))&0xc0008000)==0x80008000)
 I4    X  33391 #define IN_CLASSB_SUBNET    0xffffff00
 I4    X  33392 #define IN_CLASSB_SUBNSHIFT (IN_CLASSB_NSHIFT - SUBNETSHIFT)
 I4    X  33393 #define IN_CLASSA_SUBHOST   0x0000ffff
 I4    X  33394 #define IN_CLASSB_SUBHOST   0x000000ff
 I4    X  33395 
 I4    X  33396 /*
 I4    X  33397  * Definitions of bits in internet address integers.
 I4    X  33398  * On subnets, the decomposition of addresses to host and net parts
 I4    X  33399  * is done according to subnet mask, not the masks here.
 I4    X  33400  */
 I4    X  33401 #define	IN_CLASSA(i)		(((int)(i) & 0x80000000) == 0)
 I4    X  33402 #define	IN_CLASSA_NET		0xff000000
 I4    X  33403 #define	IN_CLASSA_NSHIFT	24
 I4    X  33404 #define	IN_CLASSA_HOST		0x00ffffff
 I4    X  33405 #define	IN_CLASSA_MAX		128
 I4    X  33406 
 I4    X  33407 #define	IN_CLASSB(i)		(((int)(i) & 0xc0000000) == 0x80000000)
 I4    X  33408 #define	IN_CLASSB_NET		0xffff0000
 I4    X  33409 #define	IN_CLASSB_NSHIFT	16
 I4    X  33410 #define	IN_CLASSB_HOST		0x0000ffff
 I4    X  33411 #define	IN_CLASSB_MAX		65536
 I4    X  33412 
 I4    X  33413 #define	IN_CLASSC(i)		(((int)(i) & 0xe0000000) == 0xc0000000)
 I4    X  33414 #define	IN_CLASSC_NET		0xffffff00
 I4    X  33415 #define	IN_CLASSC_NSHIFT	8
 I4    X  33416 #define	IN_CLASSC_HOST		0x000000ff
 I4    X  33417 
 I4    X  33418 #define	IN_CLASSD(i)		(((int)(i) & 0xf0000000) == 0xe0000000)
 I4    X  33419 #define IN_CLASSD_NET		0xf0000000	/* These ones aren't really */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 603
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I4    X  33420 #define IN_CLASSD_NSHIFT	28		/* net and host fields, but */
 I4    X  33421 #define IN_CLASSD_HOST		0x0fffffff	/* routing needn't know.  */
 I4    X  33422 #define	IN_MULTICAST(i)		IN_CLASSD(i)
 I4    X  33423 
 I4    X  33424 #define	IN_EXPERIMENTAL(i)	(((int)(i) & 0xe0000000) == 0xe0000000)
 I4    X  33425 #define	IN_BADCLASS(i)		(((int)(i) & 0xf0000000) == 0xf0000000)
 I4    X  33426 
 I4    X  33427 #define	INADDR_ANY		(unsigned int)0x00000000
 I4    X  33428 #define	INADDR_BROADCAST	(unsigned int)0xffffffff	/* must be masked */
 I4    X  33429 #define INADDR_LOOPBACK         (unsigned int)0x7F000001
 I4    X  33430 
 I4    X  33431 #define INADDR_UNSPEC_GROUP	(unsigned int)0xe0000000	/* 224.0.0.0   */
 I4    X  33432 #define INADDR_ALLHOSTS_GROUP	(unsigned int)0xe0000001	/* 224.0.0.1   */
 I4    X  33433 #define INADDR_MAX_LOCAL_GROUP	(unsigned int)0xe00000ff	/* 224.0.0.255 */
 I4    X  33434 
 I4    X  33435 #define	INADDR_NONE		0xffffffff		/* -1 return */
 I4    X  33436 
 I4    X  33437 #define	IN_LOOPBACKNET		127			/* official! */
 I4    X  33438 
 I4    X  33439 /*
 I4    X  33440  * Socket address, internet style.
 I4    X  33441  */
 I4    X  33442 #if defined(_SOCKADDR_LEN) || \
 I4    X  33443 			defined(_XOPEN_SOURCE_EXTENDED)
 I4    X  33444 struct sockaddr_in {
 I4    X  33445 	unsigned char	sin_len;
 I4    X  33446 	__sa_family_t	sin_family;	/* New typedef for Spec 1170 */
 I4    X  33447 	__in_port_t	sin_port;	/* New typedef for Spec 1170 */
 I4    X  33448 	struct	in_addr sin_addr;
 I4    X  33449 #ifdef _XOPEN_SOURCE_EXTENDED
 I4    X  33450 	unsigned char	sin_zero[8];	/* Changed type from char to	*/
 I4    X  33451 					/* unsigned char for Spec 1170	*/
 I4    X  33452 #else
 I4    X  33453 	char	sin_zero[8];
 I4    X  33454 #endif
 I4    X  33455 };
 I4    X  33456 #else
 I4    X  33457 struct sockaddr_in {
 I4    X  33458 	unsigned short	sin_family;
 I4    X  33459 	unsigned short	sin_port;
 I4    X  33460 	struct	in_addr sin_addr;
 I4    X  33461 	char	sin_zero[8];
 I4    X  33462 };
 I4    X  33463 #endif
 I4    X  33464 
 I4    X  33465 /*	 
 I4    X  33466 **  DEC C extensions
 I4    X  33467 **  
 I4    X  33468 **  caddr_t was here in previous versions and so is retained for compatibility
 I4    X  33469 */	 
 I4    X  33470 #if !defined __CADDR_T && !defined CADDR_T && !defined _XOPEN_SOURCE_EXTENDED
 I4    X  33471 #   define __CADDR_T 1
 I4    X  33472 #   ifndef __HIDE_FORBIDDEN_NAMES
 I4    X  33473 #      define CADDR_T 1
 I4    X  33474 #   endif
 I4    X  33475     typedef __caddr_t caddr_t;
 I4    X  33476 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 604
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I4    X  33477 
 I4    X  33478 
 I4    X  33479 /*
 I4    X  33480  * Structure used to describe IP options.
 I4    X  33481  * Used to store options internally, to pass them to a process,
 I4    X  33482  * or to restore options retrieved earlier.
 I4    X  33483  * The ip_dst is used for the first-hop gateway when using a source route
 I4    X  33484  * (this gets put into the header proper).
 I4    X  33485  */
 I4    X  33486 struct ip_opts {
 I4    X  33487 	struct	in_addr ip_dst;		/* first hop, 0 w/o src rt */
 I4    X  33488 #if defined(__cplusplus)
 I4    X  33489 	char    Ip_opts[40];            /* cannot have same name as class */
 I4    X  33490 #else
 I4    X  33491 	char	ip_opts[40];		/* actually variable in size */
 I4    X  33492 #endif
 I4    X  33493 };
 I4    X  33494 
 I4    X  33495 /*
 I4    X  33496  * Options for use with [gs]etsockopt at the IP level.
 I4    X  33497  * First word of comment is data type; bool is stored in int.
 I4    X  33498  */
 I4    X  33499 #define	IP_OPTIONS	1	/* buf/ip_opts; set/get IP per-packet options */
 I4    X  33500 #define	IP_HDRINCL	2	/* int; header is included with data (raw) */
 I4    X  33501 #define	IP_TOS		3	/* int; IP type of service and precedence */
 I4    X  33502 #define	IP_TTL		4	/* int; IP time to live */
 I4    X  33503 #define	IP_RECVOPTS	5	/* bool; receive all IP options w/datagram */
 I4    X  33504 #define	IP_RECVRETOPTS	6	/* bool; receive IP options for response */
 I4    X  33505 #define	IP_RECVDSTADDR	7	/* bool; receive IP dst addr w/datagram */
 I4    X  33506 #define	IP_RETOPTS	8	/* ip_opts; set/get IP per-packet options */
 I4    X  33507 #define IP_MULTICAST_IF	   9	/* in_addr; IP multicast interface */
 I4    X  33508 #define IP_MULTICAST_TTL   10	/* u_char; IP multicast timetolive */
 I4    X  33509 #define IP_MULTICAST_LOOP  11	/* u_char; IP multicast loopback */
 I4    X  33510 #define IP_ADD_MEMBERSHIP  12	/* ip_mreq; add  an IP group membership */
 I4    X  33511 #define IP_DROP_MEMBERSHIP 13	/* ip_mreq; drop an IP group membership */
 I4    X  33512 #define IP_MULTICAST_VIF   14   /* set/get IP mcast vir. interface */
 I4    X  33513 #define OIP_MULTICAST_IF    16  /* in_addr; IP multicast interface */
 I4    X  33514 #define OIP_MULTICAST_TTL   17  /* u_char; IP multicast timetolive */
 I4    X  33515 #define OIP_MULTICAST_LOOP  18  /* u_char; IP multicast loopback */
 I4    X  33516 #define OIP_ADD_MEMBERSHIP  19  /* ip_mreq; add  an IP group membership */
 I4    X  33517 #define OIP_DROP_MEMBERSHIP 20  /* ip_mreq; drop an IP group membership */
 I4    X  33518 #define OIP_MULTICAST_VIF   21  /* set/get IP mcast vir. interface */
 I4    X  33519 #define IP_RSVP_ON         25   /* set rsvp var. in kernel         */
 I4    X  33520 #define IP_RSVP_OFF        26   /* unset rsvp var in kernel        */
 I4    X  33521 #define IP_RSVP_VIF_ON     27   /* set rsvp per-vif socket         */
 I4    X  33522 #define IP_RSVP_VIF_OFF    28   /* unset rsvp per-vif socket       */
 I4    X  33523 #define	IP_PROXY	   29	/* bool; allow proxy packet reception */
 I4    X  33524 /*	IP_FLOWLABEL	   20	   defined in in6.h */
 I4    X  33525 /*	IP_RXHDR	   21	   defined in in6.h */
 I4    X  33526 
 I4    X  33527 #define IP_DEFAULT_MULTICAST_TTL   1	/* normally limit m'casts to 1 hop  */
 I4    X  33528 #define IP_DEFAULT_MULTICAST_LOOP  1	/* normally hear sends if a member  */
 I4    X  33529 #define IP_DEFAULT_MEMBERSHIPS     20   /* default multicasts per socket */
 I4    X  33530 #define IP_MAX_MEMBERSHIPS         65535        /* max per socket */
 I4    X  33531 
 I4    X  33532 /*
 I4    X  33533  * IP protocol specific route flags

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 605
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN)

 I4    X  33534  */
 I4    X  33535 
 I4    X  33536 #define IP_RTF_PMTU         RTF_PROTO3  /* rmx_mtu set by pmtu discovery */
 I4    X  33537 
 I4    X  33538 /*
 I4    X  33539  * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
 I4    X  33540  */
 I4    X  33541 struct ip_mreq {
 I4    X  33542 	struct in_addr	imr_multiaddr;	/* IP multicast address of group */
 I4    X  33543 	struct in_addr	imr_interface;	/* local IP address of interface */
 I4    X  33544 };
 I4    X  33545 
 I4    X  33546 /*
 I4    X  33547  * Protocol specific route flags
 I4    X  33548  */
 I4    X  33549 
 I4    X  33550 #define	RTF_PMTU	 RTF_PROTO4	/* rmx_mtu set by pmtu discovery */
 I4    X  33551 #define	RTF_NOPMTUDISC	 RTF_PROTO5	/* pmtu discovery disabled */
 I4    X  33552 #define	RTF_NOFRAGTOPMTU RTF_PROTO6     /* fragment to pmtu size disabled */
 I4    X  33553 #define	RTF_LOOPBACK	 RTF_PROTO7     /* send packets over loopback device */
 I4    X  33554 
 I4    X  33555 /* included to get decls for ntohs, htons, ntohl, htonl */
 I4    X  33556     /*
 I4    X  33557     **  Macros for number representation conversion.
 I4    X  33558     */
 I4    X  33559     __in_addr_t htonl (__in_addr_t);
 I4    X  33560     __in_port_t htons (__in_port_t);
 I4    X  33561     __in_addr_t ntohl (__in_addr_t);
 I4    X  33562     __in_port_t ntohs (__in_port_t);
 I4    X  33563 
 I4    X  33564 #include <in6.h>
 I4    X  33565 
 I4    X  33566 
 I4    X  33567 /*
 I4    X  33568 **  Restore the users pointer context
 I4    X  33569 */
 I4    X  33570 #if __INITIAL_POINTER_SIZE
 I4    X  33571 #   pragma __pointer_size __restore
 I4    X  33572 #endif
 I4    X  33573 
 I4    X  33574 #ifdef __cplusplus
 I4    X  33575     }
 I4    X  33576 #endif
 I4    X  33577 
 I4    X  33578 #pragma __member_alignment __restore
 I4    X  33579 #pragma __standard
 I4    X  33580 #endif /* __IN_LOADED */
 I3	  33581 #include <in6_machtypes.h>
 I4	  33582 #ifndef __IN6_MACHTYPES_LOADED
 I4	  33583 #define __IN6_MACHTYPES_LOADED 1
 I4	  33584 /****************************************************************************
 I4	  33585 **
 I4	  33586 **  <in6_machtypes.h> - Internet V6 protocol family
 I4	  33587 **
 I4	  33588 *****************************************************************************
 I4	  33589 **  Header is nonstandard
 I4	  33590 *****************************************************************************

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 606
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IN6_MACHTYPES)

 I4	  33591 **                                                                       
 I4	  33592 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I4	  33593 **                                                                       
 I4	  33594 ** Confidential computer software.  Valid license from HP and/or         
 I4	  33595 ** its subsidiaries required for possession, use, or copying.            
 I4	  33596 **                                                                       
 I4	  33597 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I4	  33598 ** Computer Software Documentation, and Technical Data for Commercial    
 I4	  33599 ** Items are licensed to the U.S. Government under vendor's standard     
 I4	  33600 ** commercial license.                                                   
 I4	  33601 **                                                                       
 I4	  33602 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I4	  33603 ** or editorial errors or omissions contained herein.  The information   
 I4	  33604 ** in this document is provided "as is" without warranty of any kind and 
 I4	  33605 ** is subject to change without notice.  The warranties for HP products  
 I4	  33606 ** are set forth in the express limited warranty statements accompanying 
 I4	  33607 ** such products.  Nothing herein should be construed as constituting an 
 I4	  33608 ** additional warranty.                                                  
 I4	  33609 **                                                                       
 I4	  33610 *****************************************************************************
 I4	  33611 */
 I4	  33612 
 I4	  33613 #pragma __nostandard
 I4    X  33614 #include <decc$types.h>
 I4	  33615 
 I4	  33616 /*
 I4	  33617  * Machine or architecure specific MACROS and types
 I4	  33618  * for IPv6.
 I4	  33619  */
 I4	  33620 #include <bitypes.h>
 I5	  33621 #ifndef __BITYPES_LOADED
 I5	  33622 #define __BITYPES_LOADED 1
 I5	  33623 /****************************************************************************
 I5	  33624 **
 I5	  33625 **  <bitypes.h> - basic integral types
 I5	  33626 **
 I5	  33627 *****************************************************************************
 I5	  33628 **  Header is nonstandard
 I5	  33629 *****************************************************************************
 I5	  33630 **/
 I5	  33631 /* ************************************************************************* */
 I5	  33632 /* *                                                                       * */
 I5	  33633 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I5	  33634 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I5	  33635 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I5	  33636 /* * prior written permission of HPE.                                      * */
 I5	  33637 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I5	  33638 /* *                                                                       * */
 I5	  33639 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I5	  33640 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I5	  33641 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I5	  33642 /* * the prior written permission of VMS Software, Inc.                    * */
 I5	  33643 /* * Copyright 2017-2020 VMS Software, Inc.                                * */
 I5	  33644 /* *                                                                       * */
 I5	  33645 /* ************************************************************************* */
 I5	  33646 /**                                                                       
 I5	  33647 *****************************************************************************

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 607
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BITYPES)

 I5	  33648 **
 I5	  33649 **  Copyright (c) 1993 Regents of the University of California.
 I5	  33650 **  All rights reserved.
 I5	  33651 **
 I5	  33652 **  Redistribution and use in source and binary forms are permitted provided
 I5	  33653 **  that: (1) source distributions retain this entire copyright notice and
 I5	  33654 **  comment, and (2) distributions including binaries display the following
 I5	  33655 **  acknowledgement:  ``This product includes software developed by the
 I5	  33656 **  University of California, Berkeley and its contributors'' in the
 I5	  33657 **  documentation or other materials provided with the distribution and in
 I5	  33658 **  all advertising materials mentioning features or use of this software.
 I5	  33659 **  Neither the name of the University nor the names of its contributors may
 I5	  33660 **  be used to endorse or promote products derived from this software without
 I5	  33661 **  specific prior written permission.
 I5	  33662 **  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
 I5	  33663 **  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 I5	  33664 **  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 I5	  33665 **
 I5	  33666 ******************************************************************************
 I5	  33667 */
 I5	  33668 #pragma __nostandard
 I5	  33669 
 I5	  33670 
 I5	  33671 /*
 I5	  33672 **  Most of these definitions are in <inttypes.h> which we include
 I5	  33673 **  first and then add those missing definitions.
 I5	  33674 */
 I5	  33675 #include <inttypes.h>
 I6	  33676 #ifndef __INTTYPES_LOADED
 I6	  33677 #define __INTTYPES_LOADED
 I6	  33678 /****************************************************************************
 I6	  33679 **
 I6	  33680 **  <inttypes.h> - Format conversion of integer types
 I6	  33681 **
 I6	  33682 *****************************************************************************
 I6	  33683 **  Header introduced by C99 standard (ISO/IEC 9899:1999)
 I6	  33684 *****************************************************************************
 I6	  33685 **                                                                          *
 I6	  33686 ** HPE CONFIDENTIAL. This software is confidential proprietary software     *
 I6	  33687 ** licensed by Hewlett Packard Enterprise Development, LP, and is not       *
 I6	  33688 ** authorized to be used, duplicated or disclosed to anyone without the     *
 I6	  33689 ** prior written permission of HPE.                                         *
 I6	  33690 ** Copyright 2019 Hewlett Packard Enterprise Development, LP                *
 I6	  33691 **                                                                          *
 I6	  33692 ** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential           *
 I6	  33693 ** proprietary software licensed by VMS Software, Inc., and is not          *
 I6	  33694 ** authorized to be used, duplicated or disclosed to anyone without         *
 I6	  33695 ** the prior written permission of VMS Software, Inc.                       *
 I6	  33696 ** Copyright 2019-20 VMS Software, Inc.                                     *
 I6	  33697 **                                                                          *
 I6	  33698 *****************************************************************************
 I6	  33699 */
 I6	  33700 
 I6	  33701 /*
 I6	  33702 **  ISO/IEC 9899:1999 Cor. 3:2007(E) Section 7.8
 I6	  33703 */
 I6	  33704 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 608
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INTTYPES)

 I6	  33705 #include <stdint.h>
 I7	  33706 #ifndef __STDINT_LOADED
 I7	  33707 #define __STDINT_LOADED 1
 I7	  33708 /*************************************************************************
 I7	  33709 **
 I7	  33710 **  <stdint.h> - Fixed-width integer types
 I7	  33711 **
 I7	  33712 **************************************************************************
 I7	  33713 **  Header introduced by C99 standard (ISO/IEC 9899:1999)
 I7	  33714 *****************************************************************************
 I7	  33715 **                                                                          *
 I7	  33716 ** HPE CONFIDENTIAL. This software is confidential proprietary software     *
 I7	  33717 ** licensed by Hewlett Packard Enterprise Development, LP, and is not       *
 I7	  33718 ** authorized to be used, duplicated or disclosed to anyone without the     *
 I7	  33719 ** prior written permission of HPE.                                         *
 I7	  33720 ** Copyright 2019 Hewlett Packard Enterprise Development, LP                *
 I7	  33721 **                                                                          *
 I7	  33722 ** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential           *
 I7	  33723 ** proprietary software licensed by VMS Software, Inc., and is not          *
 I7	  33724 ** authorized to be used, duplicated or disclosed to anyone without         *
 I7	  33725 ** the prior written permission of VMS Software, Inc.                       *
 I7	  33726 ** Copyright 2019 VMS Software, Inc.                                        *
 I7	  33727 **                                                                          *
 I7	  33728 *****************************************************************************
 I7	  33729 */
 I7	  33730 
 I7	  33731 #pragma __nostandard
 I7	  33732 
 I7    X  33733 #ifdef __cplusplus
 I7    X  33734 extern "C" {
 I7    X  33735 #endif
 I7	  33736 
 I7	  33737 /*
 I7	  33738 **  ISO/IEC 9899:1999 Cor. 3:2007(E) Section 7.18
 I7	  33739 */
 I7	  33740 
 I7	  33741 /*
 I7	  33742 **  Signed integral types
 I7	  33743 */
 I7	  33744 typedef signed char             int8_t;
 I7	  33745 typedef signed short            int16_t;
 I7	  33746 typedef signed int              int32_t;
 I7	  33747 typedef signed long long int    int64_t;
 I7	  33748 
 I7	  33749 typedef signed char             int_least8_t;
 I7	  33750 typedef signed short            int_least16_t;
 I7	  33751 typedef signed int              int_least32_t;
 I7	  33752 typedef signed long long int    int_least64_t;
 I7	  33753 
 I7	  33754 typedef signed char             int_fast8_t;
 I7	  33755 typedef signed int              int_fast16_t;
 I7	  33756 typedef signed int              int_fast32_t;
 I7	  33757 typedef signed long long int    int_fast64_t;
 I7	  33758 typedef signed long long int    intmax_t;
 I7	  33759 
 I7	  33760 /*
 I7	  33761 **  Unsigned integral types

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 609
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDINT)

 I7	  33762 */
 I7	  33763 typedef unsigned char           uint8_t;
 I7	  33764 typedef unsigned short          uint16_t;
 I7	  33765 typedef unsigned int            uint32_t;
 I7	  33766 typedef unsigned long long int  uint64_t;
 I7	  33767 
 I7	  33768 typedef unsigned char           uint_least8_t;
 I7	  33769 typedef unsigned short          uint_least16_t;
 I7	  33770 typedef unsigned int            uint_least32_t;
 I7	  33771 typedef unsigned long long int  uint_least64_t;
 I7	  33772 
 I7	  33773 typedef unsigned char           uint_fast8_t;
 I7	  33774 typedef unsigned int            uint_fast16_t;
 I7	  33775 typedef unsigned int            uint_fast32_t;
 I7	  33776 typedef unsigned long long int  uint_fast64_t;
 I7	  33777 typedef unsigned long long int  uintmax_t;
 I7	  33778 
 I7	  33779 /*
 I7	  33780 **  Min constants
 I7	  33781 */
 I7	  33782 #define INT8_MIN        (-127-1)
 I7	  33783 #define INT16_MIN       (-32767-1)
 I7	  33784 #define INT32_MIN       (-2147483647-1)
 I7	  33785 #define INT64_MIN       (-9223372036854775807LL-1)
 I7	  33786 #define INTMAX_MIN      INT64_MIN
 I7	  33787 
 I7	  33788 #define INT_LEAST8_MIN  INT8_MIN
 I7	  33789 #define INT_LEAST16_MIN INT16_MIN
 I7	  33790 #define INT_LEAST32_MIN INT32_MIN
 I7	  33791 #define INT_LEAST64_MIN INT64_MIN
 I7	  33792 
 I7	  33793 #define INT_FAST8_MIN   INT8_MIN
 I7	  33794 #define INT_FAST16_MIN  INT32_MIN
 I7	  33795 #define INT_FAST32_MIN  INT32_MIN
 I7	  33796 #define INT_FAST64_MIN  INT64_MIN
 I7	  33797 
 I7	  33798 /*
 I7	  33799 **  Max constants
 I7	  33800 */
 I7	  33801 #define INT8_MAX        (127)
 I7	  33802 #define INT16_MAX       (32767)
 I7	  33803 #define INT32_MAX       (2147483647)
 I7	  33804 #define INT64_MAX       (9223372036854775807LL)
 I7	  33805 #define INTMAX_MAX      INT64_MAX
 I7	  33806 
 I7	  33807 #define INT_LEAST8_MAX  INT8_MAX
 I7	  33808 #define INT_LEAST16_MAX INT16_MAX
 I7	  33809 #define INT_LEAST32_MAX INT32_MAX
 I7	  33810 #define INT_LEAST64_MAX INT64_MAX
 I7	  33811 
 I7	  33812 #define INT_FAST8_MAX   INT8_MAX
 I7	  33813 #define INT_FAST16_MAX  INT32_MAX
 I7	  33814 #define INT_FAST32_MAX  INT32_MAX
 I7	  33815 #define INT_FAST64_MAX  INT64_MAX
 I7	  33816 
 I7	  33817 #define UINT8_MAX       (255)
 I7	  33818 #define UINT16_MAX      (65535)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 610
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDINT)

 I7	  33819 #define UINT32_MAX      (4294967295UL)
 I7	  33820 #define UINT64_MAX      (18446744073709551615ULL)
 I7	  33821 #define UINTMAX_MAX     UINT64_MAX
 I7	  33822 
 I7	  33823 #define UINT_LEAST8_MAX     UINT8_MAX
 I7	  33824 #define UINT_LEAST16_MAX    UINT16_MAX
 I7	  33825 #define UINT_LEAST32_MAX    UINT32_MAX
 I7	  33826 #define UINT_LEAST64_MAX    UINT64_MAX
 I7	  33827 
 I7	  33828 #define UINT_FAST8_MAX      UINT8_MAX
 I7	  33829 #define UINT_FAST16_MAX     UINT32_MAX
 I7	  33830 #define UINT_FAST32_MAX     UINT32_MAX
 I7	  33831 #define UINT_FAST64_MAX     UINT64_MAX
 I7	  33832 
 I7	  33833 /*
 I7	  33834 **  Pointer types
 I7	  33835 */
 I7	  33836 typedef signed long long int    intptr_t;
 I7	  33837 typedef unsigned long long int  uintptr_t;
 I7	  33838 
 I7	  33839 #define INTPTR_MIN      INT64_MIN
 I7	  33840 #define INTPTR_MAX      INT64_MAX
 I7	  33841 #define UINTPTR_MAX     UINT64_MAX
 I7	  33842 
 I7	  33843 /*
 I7	  33844 **  Function Macros
 I7	  33845 */
 I7	  33846 #define INT8_C(c)       (c)
 I7	  33847 #define INT16_C(c)      (c)
 I7	  33848 #define INT32_C(c)      (c)
 I7	  33849 #define INT64_C(c)      (c##LL)
 I7	  33850 #define INTMAX_C(c)     INT64_C(c)
 I7	  33851 #define UINT8_C(c)      (c)
 I7	  33852 #define UINT16_C(c)     (c)
 I7	  33853 #define UINT32_C(c)     (c##UL)
 I7	  33854 #define UINT64_C(c)     (c##ULL)
 I7	  33855 #define UINTMAX_C( c)    UINT64_C(c)
 I7	  33856 
 I7	  33857 /*
 I7	  33858 **  Numeric Limits
 I7	  33859 */
 I7	  33860 #define PTRDIFF_MIN     INT32_MIN
 I7	  33861 #define PTRDIFF_MAX     INT32_MAX
 I7	  33862 #define SIZE_MAX        UINT32_MAX
 I7	  33863 #define SIG_ATOMIC_MIN  INT32_MIN
 I7	  33864 #define SIG_ATOMIC_MAX  INT32_MAX
 I7	  33865 
 I7    X  33866 #ifdef __cplusplus
 I7    X  33867 }
 I7    X  33868 #endif
 I7	  33869 
 I7	  33870 #pragma __standard
 I7	  33871 
 I7	  33872 #endif
 I6	  33873 
 I6    X  33874 #ifdef __cplusplus
 I6    X  33875 extern "C" {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 611
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INTTYPES)

 I6    X  33876 #endif
 I6	  33877 
 I6	  33878 /*
 I6	  33879 **  Output specifier macros
 I6	  33880 */
 I6	  33881 
 I6	  33882 /*
 I6	  33883 **  Decimal
 I6	  33884 */
 I6	  33885 #define PRId8           "hd"
 I6	  33886 #define PRId16          "hd"
 I6	  33887 #define PRId32          "d"
 I6	  33888 #define PRId64          "lld"
 I6	  33889 
 I6	  33890 #define PRIdLEAST8      PRId8
 I6	  33891 #define PRIdLEAST16     PRId16
 I6	  33892 #define PRIdLEAST32     PRId32
 I6	  33893 #define PRIdLEAST64     PRId64
 I6	  33894 
 I6	  33895 #define PRIdFAST8       PRId8
 I6	  33896 #define PRIdFAST16      PRId32
 I6	  33897 #define PRIdFAST32      PRId32
 I6	  33898 #define PRIdFAST64      PRId64
 I6	  33899 
 I6	  33900 #define PRIdMAX         PRId64
 I6	  33901 #define PRIdPTR         PRId64
 I6	  33902 
 I6	  33903 #define PRIi8           "hi"
 I6	  33904 #define PRIi16          "hi"
 I6	  33905 #define PRIi32          "i"
 I6	  33906 #define PRIi64          "lli"
 I6	  33907 
 I6	  33908 #define PRIiLEAST8      PRIi8
 I6	  33909 #define PRIiLEAST16     PRIi16
 I6	  33910 #define PRIiLEAST32     PRIi32
 I6	  33911 #define PRIiLEAST64     PRIi64
 I6	  33912 
 I6	  33913 #define PRIiFAST8       PRIi8
 I6	  33914 #define PRIiFAST16      PRIi32
 I6	  33915 #define PRIiFAST32      PRIi32
 I6	  33916 #define PRIiFAST64      PRIi64
 I6	  33917 
 I6	  33918 #define PRIiMAX         PRIi64
 I6	  33919 #define PRIiPTR         PRIi64
 I6	  33920 
 I6	  33921 /*
 I6	  33922 **  Octal
 I6	  33923 */
 I6	  33924 #define PRIo8           "ho"
 I6	  33925 #define PRIo16          "ho"
 I6	  33926 #define PRIo32          "o"
 I6	  33927 #define PRIo64          "llo"
 I6	  33928 
 I6	  33929 #define PRIoLEAST8      PRIo8
 I6	  33930 #define PRIoLEAST16     PRIo16
 I6	  33931 #define PRIoLEAST32     PRIo32
 I6	  33932 #define PRIoLEAST64     PRIo64

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 612
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INTTYPES)

 I6	  33933 
 I6	  33934 #define PRIoFAST8       PRIo8
 I6	  33935 #define PRIoFAST16      PRIo32
 I6	  33936 #define PRIoFAST32      PRIo32
 I6	  33937 #define PRIoFAST64      PRIo64
 I6	  33938 
 I6	  33939 #define PRIoMAX         PRIo64
 I6	  33940 #define PRIoPTR         PRIo64
 I6	  33941 
 I6	  33942 /*
 I6	  33943 **  Unsigned integers
 I6	  33944 */
 I6	  33945 #define PRIu8           "hu"
 I6	  33946 #define PRIu16          "hu"
 I6	  33947 #define PRIu32          "u"
 I6	  33948 #define PRIu64          "llu"
 I6	  33949 
 I6	  33950 #define PRIuLEAST8      PRIu8
 I6	  33951 #define PRIuLEAST16     PRIu16
 I6	  33952 #define PRIuLEAST32     PRIu32
 I6	  33953 #define PRIuLEAST64     PRIu64
 I6	  33954 
 I6	  33955 #define PRIuFAST8       PRIu8
 I6	  33956 #define PRIuFAST16      PRIu32
 I6	  33957 #define PRIuFAST32      PRIu32
 I6	  33958 #define PRIuFAST64      PRIu64
 I6	  33959 
 I6	  33960 #define PRIuMAX         PRIu64
 I6	  33961 #define PRIuPTR         PRIu64
 I6	  33962 
 I6	  33963 /*
 I6	  33964 **  Hexidecimal, lowercase
 I6	  33965 */
 I6	  33966 #define PRIx8           "hx"
 I6	  33967 #define PRIx16          "hx"
 I6	  33968 #define PRIx32          "x"
 I6	  33969 #define PRIx64          "llx"
 I6	  33970 
 I6	  33971 #define PRIxLEAST8      PRIx8
 I6	  33972 #define PRIxLEAST16     PRIx16
 I6	  33973 #define PRIxLEAST32     PRIx32
 I6	  33974 #define PRIxLEAST64     PRIx64
 I6	  33975 
 I6	  33976 #define PRIxFAST8       PRIx8
 I6	  33977 #define PRIxFAST16      PRIx32
 I6	  33978 #define PRIxFAST32      PRIx32
 I6	  33979 #define PRIxFAST64      PRIx64
 I6	  33980 
 I6	  33981 #define PRIxMAX         PRIx64
 I6	  33982 #define PRIxPTR         PRIx64
 I6	  33983 
 I6	  33984 /*
 I6	  33985 **  Hexidecimal, uppercase
 I6	  33986 */
 I6	  33987 #define PRIX8           "hX"
 I6	  33988 #define PRIX16          "hX"
 I6	  33989 #define PRIX32          "X"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 613
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INTTYPES)

 I6	  33990 #define PRIX64          "llX"
 I6	  33991 
 I6	  33992 #define PRIXLEAST8      PRIX8
 I6	  33993 #define PRIXLEAST16     PRIX16
 I6	  33994 #define PRIXLEAST32     PRIX32
 I6	  33995 #define PRIXLEAST64     PRIX64
 I6	  33996 
 I6	  33997 #define PRIXFAST8       PRIX8
 I6	  33998 #define PRIXFAST16      PRIX32
 I6	  33999 #define PRIXFAST32      PRIX32
 I6	  34000 #define PRIXFAST64      PRIX64
 I6	  34001 
 I6	  34002 #define PRIXMAX         PRIX64
 I6	  34003 #define PRIXPTR         PRIX64
 I6	  34004 
 I6	  34005 /*
 I6	  34006 ** Input specifier macros
 I6	  34007 */
 I6	  34008 
 I6	  34009 /*
 I6	  34010 **  Decimal
 I6	  34011 */
 I6	  34012 #define SCNd8           "hd"
 I6	  34013 #define SCNd16          "hd"
 I6	  34014 #define SCNd32          "d"
 I6	  34015 #define SCNd64          "lld"
 I6	  34016 
 I6	  34017 #define SCNdLEAST8      SCNd8
 I6	  34018 #define SCNdLEAST16     SCNd16
 I6	  34019 #define SCNdLEAST32     SCNd32
 I6	  34020 #define SCNdLEAST64     SCNd64
 I6	  34021 
 I6	  34022 #define SCNdFAST8       SCNd8
 I6	  34023 #define SCNdFAST16      SCNd32
 I6	  34024 #define SCNdFAST32      SCNd32
 I6	  34025 #define SCNdFAST64      SCNd64
 I6	  34026 
 I6	  34027 #define SCNdMAX         SCNd64
 I6	  34028 #define SCNdPTR         SCNd64
 I6	  34029 
 I6	  34030 #define SCNi8           "hi"
 I6	  34031 #define SCNi16          "hi"
 I6	  34032 #define SCNi32          "i"
 I6	  34033 #define SCNi64          "lli"
 I6	  34034 
 I6	  34035 #define SCNiLEAST8      SCNi8
 I6	  34036 #define SCNiLEAST16     SCNi16
 I6	  34037 #define SCNiLEAST32     SCNi32
 I6	  34038 #define SCNiLEAST64     SCNi64
 I6	  34039 
 I6	  34040 #define SCNiFAST8       SCNi8
 I6	  34041 #define SCNiFAST16      SCNi32
 I6	  34042 #define SCNiFAST32      SCNi32
 I6	  34043 #define SCNiFAST64      SCNi64
 I6	  34044 
 I6	  34045 #define SCNiMAX         SCNi64
 I6	  34046 #define SCNiPTR         SCNi64

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 614
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INTTYPES)

 I6	  34047 
 I6	  34048 /*
 I6	  34049 **  Octal
 I6	  34050 */
 I6	  34051 #define SCNo8           "ho"
 I6	  34052 #define SCNo16          "ho"
 I6	  34053 #define SCNo32          "o"
 I6	  34054 #define SCNo64          "llo"
 I6	  34055 
 I6	  34056 #define SCNoLEAST8      SCNo8
 I6	  34057 #define SCNoLEAST16     SCNo16
 I6	  34058 #define SCNoLEAST32     SCNo32
 I6	  34059 #define SCNoLEAST64     SCNo64
 I6	  34060 
 I6	  34061 #define SCNoFAST8       SCNo8
 I6	  34062 #define SCNoFAST16      SCNo32
 I6	  34063 #define SCNoFAST32      SCNo32
 I6	  34064 #define SCNoFAST64      SCNo64
 I6	  34065 
 I6	  34066 #define SCNoMAX         SCNo64
 I6	  34067 #define SCNoPTR         SCNo64
 I6	  34068 
 I6	  34069 /*
 I6	  34070 **  Unsigned integers
 I6	  34071 */
 I6	  34072 #define SCNu8           "hu"
 I6	  34073 #define SCNu16          "hu"
 I6	  34074 #define SCNu32          "u"
 I6	  34075 #define SCNu64          "llu"
 I6	  34076 
 I6	  34077 #define SCNuLEAST8      SCNu8
 I6	  34078 #define SCNuLEAST16     SCNu16
 I6	  34079 #define SCNuLEAST32     SCNu32
 I6	  34080 #define SCNuLEAST64     SCNu64
 I6	  34081 
 I6	  34082 #define SCNuFAST8       SCNu8
 I6	  34083 #define SCNuFAST16      SCNu32
 I6	  34084 #define SCNuFAST32      SCNu32
 I6	  34085 #define SCNuFAST64      SCNu64
 I6	  34086 
 I6	  34087 #define SCNuMAX         SCNu64
 I6	  34088 #define SCNuPTR         SCNu64
 I6	  34089 
 I6	  34090 /*
 I6	  34091 **  Hexidecimal
 I6	  34092 */
 I6	  34093 #define SCNx8           "hx"
 I6	  34094 #define SCNx16          "hx"
 I6	  34095 #define SCNx32          "x"
 I6	  34096 #define SCNx64          "llx"
 I6	  34097 
 I6	  34098 #define SCNxLEAST8      SCNx8
 I6	  34099 #define SCNxLEAST16     SCNx16
 I6	  34100 #define SCNxLEAST32     SCNx32
 I6	  34101 #define SCNxLEAST64     SCNx64
 I6	  34102 
 I6	  34103 #define SCNxFAST8       SCNx8

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 615
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INTTYPES)

 I6	  34104 #define SCNxFAST16      SCNx32
 I6	  34105 #define SCNxFAST32      SCNx32
 I6	  34106 #define SCNxFAST64      SCNx64
 I6	  34107 
 I6	  34108 #define SCNxMAX         SCNx64
 I6	  34109 #define SCNxPTR         SCNx64
 I6	  34110 
 I6	  34111 /*
 I6	  34112 **  imaxdiv and associated types/functions
 I6	  34113 */
 I6	  34114 typedef struct {
 I6	  34115     intmax_t    quot;
 I6	  34116     intmax_t    rem;
 I6	  34117 } imaxdiv_t;
 I6	  34118 
 I6	  34119 /*
 I6	  34120 **  Functions for greatest-width integer types:
 I6	  34121 */
 I6    X  34122 #if __INITIAL_POINTER_SIZE
 I6    X  34123 #   pragma __pointer_size __save
 I6    X  34124 #   pragma __pointer_size 32
 I6    X  34125 #endif
 I6	  34126 
 I6	  34127 #if (defined(__DECC) && (__CRTL_VER >= 80500000) && (__STDC_VERSION__ >= 199901L))
 I6	  34128     intmax_t strtoimax(const char *__nptr, char **__endptr, int __base);
 I6	  34129     uintmax_t strtoumax(const char *__nptr, char **__endptr, int __base);
 I6    X  34130 #   if __INITIAL_POINTER_SIZE && !defined _ANSI_C_SOURCE
 I6    X  34131 #       pragma __pointer_size 32
 I6    X  34132         intmax_t _strtoimax32(const char *__nptr, char **__endptr, int __base);
 I6    X  34133         uintmax_t _strtoumax32(const char *__nptr, char **__endptr, int __base);
 I6    X  34134 #       pragma __pointer_size 64
 I6    X  34135         intmax_t _strtoimax64(const char *__nptr, char **__endptr, int __base);
 I6    X  34136         uintmax_t _strtoumax64(const char *__nptr, char **__endptr, int __base);
 I6    X  34137 #   endif
 I6	  34138 #endif
 I6	  34139 
 I6	  34140 /*
 I6	  34141 **  Restore the user's pointer context
 I6	  34142 */
 I6    X  34143 #if __INITIAL_POINTER_SIZE
 I6    X  34144 #   pragma __pointer_size __restore
 I6    X  34145 #endif
 I6	  34146 
 I6	  34147 /*
 I6	  34148 **  NOT IMPLEMENTED:
 I6	  34149 */
 I6	  34150 /*
 I6	  34151 **  intmax_t  imaxabs(intmax_t);
 I6	  34152 **  imaxdiv_t imaxdiv(intmax_t, intmax_t);
 I6	  34153 **  intmax_t  wcstoimax(const wchar_t *restrict, wchar_t **restrict, int);
 I6	  34154 **  uintmax_t wcstoumax(const wchar_t *restrict, wchar_t **restrict, int);
 I6	  34155 */
 I6	  34156 
 I6    X  34157 #ifdef __cplusplus
 I6    X  34158 }
 I6    X  34159 #endif
 I6	  34160 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 616
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INTTYPES)

 I6	  34161 #endif /* __INTTYPES_LOADED */
 I5	  34162 
 I5	  34163 
 I5	  34164 /*
 I5	  34165 **  Ensure that the compiler will not emit diagnostics about "signed"
 I5	  34166 **  keyword usage when in /STAND=VAXC mode (the reason for the diagnostics
 I5	  34167 **  is that VAX C does not support the signed keyword).
 I5	  34168 */
 I5	  34169 #if ((__DECC_VER >= 50600000) && !defined(__DECCXX))
 I5	  34170 #   pragma __message __save
 I5	  34171 #   pragma __message __disable (__SIGNEDKNOWN)
 I5	  34172 #endif
 I5	  34173 
 I5	  34174 
 I5	  34175 /*
 I5	  34176 **  Basic integral types which are not defined in inttypes.h
 I5	  34177 */
 I5	  34178 typedef signed char int8m_t;
 I5	  34179 typedef unsigned char u_int8_t;
 I5	  34180 typedef unsigned char u_int8m_t;
 I5	  34181 
 I5	  34182 typedef short int int16m_t;
 I5	  34183 typedef unsigned short int u_int16_t;
 I5	  34184 typedef unsigned short int u_int16m_t;
 I5	  34185 
 I5	  34186 typedef int int32m_t;
 I5	  34187 typedef unsigned int u_int32_t;
 I5	  34188 typedef unsigned int u_int32m_t;
 I5	  34189 
 I5	  34190 typedef __int64 int64m_t;
 I5	  34191 typedef unsigned __int64 u_int64_t;
 I5	  34192 typedef unsigned __int64 uint64m_t;
 I5	  34193 
 I5	  34194 
 I5	  34195 /*
 I5	  34196 **  Restore messages
 I5	  34197 */
 I5	  34198 #if ((__DECC_VER >= 50600000) && !defined(__DECCXX))
 I5	  34199 #   pragma __message __restore
 I5	  34200 #endif
 I5	  34201 
 I5	  34202 #pragma __standard
 I5	  34203 #endif  /* __BITYPES_LOADED  */
 I4	  34204 
 I4	  34205 #ifndef OPENVMS_32BIT
 I4	  34206 #if !defined(__VAX)
 I4	  34207 #define	IN6_HAS_64BIT_INTTYPE
 I4	  34208 #endif
 I4	  34209 #endif
 I4	  34210 #if !defined(BYTE_ORDER) || BYTE_ORDER == LITTLE_ENDIAN
 I4	  34211 #define	IN6_MSB16_SHIFT			0
 I4	  34212 #define	IN6_MSB32_SHIFT			0
 I4	  34213 #define	IN6_MSW32_SHIFT			0
 I4	  34214 #define	IN6_BIT_ORDER			+1
 I4	  34215 #ifdef IN6_HAS_64BIT_INTTYPE
 I4	  34216 #define	IN6_MSB64_SHIFT			0
 I4	  34217 #define	IN6_MSW64_SHIFT			0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 617
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IN6_MACHTYPES)

 I4	  34218 #define	IN6_MSL64_SHIFT			0
 I4	  34219 #endif
 I4	  34220 
 I4    X  34221 #elif BYTE_ORDER == BIG_ENDIAN
 I4    X  34222 #define	IN6_MSB16_SHIFT			(16 - 8)
 I4    X  34223 #define	IN6_MSB32_SHIFT			(32 - 8)
 I4    X  34224 #define	IN6_MSW32_SHIFT			(32 - 16)
 I4    X  34225 #define	IN6_BIT_ORDER			-1
 I4    X  34226 #ifdef IN6_HAS_64BIT_INTTYPE
 I4    X  34227 #define	IN6_MSB64_SHIFT			(64 - 8)
 I4    X  34228 #define	IN6_MSW64_SHIFT			(64 - 16)
 I4    X  34229 #define	IN6_MSL64_SHIFT			(64 - 32)
 I4    X  34230 #endif
 I4    X  34231 #endif
 I4	  34232 
 I4	  34233 #ifdef IN6_HAS_64BIT_INTTYPE
 I4	  34234 #define	IN6_MSB64_OFFSET(n)		(IN6_MSB64_SHIFT + ((n) * IN6_BIT_ORDER * 8))
 I4	  34235 #define	IN6_MSW64_OFFSET(n)		(IN6_MSB64_SHIFT + ((n) * IN6_BIT_ORDER * 16))
 I4	  34236 #define	IN6_MSL64_OFFSET(n)		(IN6_MSB64_SHIFT + ((n) * IN6_BIT_ORDER * 32))
 I4	  34237 #define	IN6_LSB64_SHIFT			IN6_MSB64_OFFSET(7)
 I4	  34238 #define	IN6_LSW64_SHIFT			IN6_MSW64_OFFSET(3)
 I4	  34239 #define	IN6_LSL64_SHIFT			IN6_MSL64_OFFSET(1)
 I4	  34240 
 I4	  34241 #define	IN6__MK0_MSB64_VALUE(a)			( ((u_int64_t) (a)) << IN6_MSB64_OFFSET(0))
 I4	  34242 #define	IN6__MK1_MSB64_VALUE(a,b)		((((u_int64_t) (b)) << IN6_MSB64_OFFSET(1))|IN6__MK0_MSB64_VALUE(a))
 I4	  34243 #define	IN6__MK2_MSB64_VALUE(a,b,c)		((((u_int64_t) (c)) << IN6_MSB64_OFFSET(2))|IN6__MK1_MSB64_VALUE(a,b
 I4	  34243 ))
 I4	  34244 #define	IN6__MK3_MSB64_VALUE(a,b,c,d)		((((u_int64_t) (d)) << IN6_MSB64_OFFSET(3))|IN6__MK2_MSB64_VALUE(a,b
 I4	  34244 ,c))
 I4	  34245 #define	IN6__MK4_MSB64_VALUE(a,b,c,d,e)		((((u_int64_t) (e)) << IN6_MSB64_OFFSET(4))|IN6__MK3_MSB64_VALUE(a,b
 I4	  34245 ,c,d))
 I4	  34246 #define	IN6__MK5_MSB64_VALUE(a,b,c,d,e,f)	((((u_int64_t) (f)) << IN6_MSB64_OFFSET(5))|IN6__MK4_MSB64_VALUE(a,b
 I4	  34246 ,c,d,e))
 I4	  34247 #define	IN6__MK6_MSB64_VALUE(a,b,c,d,e,f,g)	((((u_int64_t) (g)) << IN6_MSB64_OFFSET(6))|IN6__MK5_MSB64_VALUE(a,b
 I4	  34247 ,c,d,e,f))
 I4	  34248 #define	IN6__MK7_MSB64_VALUE(a,b,c,d,e,f,g,h)	((((u_int64_t) (h)) << IN6_MSB64_OFFSET(7))|IN6__MK6_MSB64_VALUE(a,b
 I4	  34248 ,c,d,e,f,g))
 I4	  34249 
 I4	  34250 #define	IN6__MK0_MSW64_VALUE(a)		( ((u_int64_t) (a)) << IN6_MSW64_OFFSET(0))
 I4	  34251 #define	IN6__MK1_MSW64_VALUE(a,b)	((((u_int64_t) (b)) << IN6_MSW64_OFFSET(1))|IN6__MK0_MSW64_VALUE(a))
 I4	  34252 #define	IN6__MK2_MSW64_VALUE(a,b,c)	((((u_int64_t) (c)) << IN6_MSW64_OFFSET(2))|IN6__MK1_MSW64_VALUE(a,b))
 I4	  34253 #define	IN6__MK3_MSW64_VALUE(a,b,c,d)	((((u_int64_t) (d)) << IN6_MSW64_OFFSET(3))|IN6__MK2_MSW64_VALUE(a,b,c))
 I4	  34254 
 I4	  34255 #define	IN6__MK0_MSL64_VALUE(a)		( ((u_int64_t) (a)) << IN6_MSL64_OFFSET(0) )
 I4	  34256 #define	IN6__MK1_MSL64_VALUE(a,b)	((((u_int64_t) (b)) << IN6_MSL64_OFFSET(1))|IN6__MK0_MSL64_VALUE(a))
 I4	  34257 #endif
 I4	  34258 
 I4	  34259 #define	IN6_MSB32_OFFSET(n)		(IN6_MSB32_SHIFT + ((n) * IN6_BIT_ORDER * 8))
 I4	  34260 #define	IN6_MSW32_OFFSET(n)		(IN6_MSB32_SHIFT + ((n) * IN6_BIT_ORDER * 16))
 I4	  34261 #define	IN6_LSB32_SHIFT			IN6_MSB32_OFFSET(3)
 I4	  34262 #define	IN6_LSW32_SHIFT			IN6_MSW32_OFFSET(1)
 I4	  34263 
 I4	  34264 #define	IN6__MK0_MSB32_VALUE(a)		( ((u_int32_t) (a)) << IN6_MSB32_OFFSET(0) )
 I4	  34265 #define	IN6__MK1_MSB32_VALUE(a,b)	((((u_int32_t) (b)) << IN6_MSB32_OFFSET(1))|IN6__MK0_MSB32_VALUE(a))
 I4	  34266 #define	IN6__MK2_MSB32_VALUE(a,b,c)	((((u_int32_t) (c)) << IN6_MSB32_OFFSET(2))|IN6__MK1_MSB32_VALUE(a,b))
 I4	  34267 #define	IN6__MK3_MSB32_VALUE(a,b,c,d)	((((u_int32_t) (d)) << IN6_MSB32_OFFSET(3))|IN6__MK2_MSB32_VALUE(a,b,c))
 I4	  34268 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 618
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]DECC$RTLDEF.TLB;1(IN6_MACHTYPES)

 I4	  34269 #define	IN6__MK0_MSW32_VALUE(a)		(( (u_int32_t) (a)) << IN6_MSW32_OFFSET(0) )
 I4	  34270 #define	IN6__MK1_MSW32_VALUE(a,b)	((((u_int32_t) (b)) << IN6_MSW32_OFFSET(1))|IN6__MK0_MSW32_VALUE(a))
 I4	  34271 
 I4	  34272 /*
 I4	  34273  * Macros for 16 bit words.
 I4	  34274  */
 I4	  34275 
 I4	  34276 #define	IN6_MSB16_OFFSET(n)		(IN6_MSB16_SHIFT + ((n) * IN6_BIT_ORDER * 8))
 I4	  34277 #define	IN6_LSB16_SHIFT			IN6_MSB16_OFFSET(1)
 I4	  34278 
 I4	  34279 #define	IN6__MK0_MSB16_VALUE(a)		( ((u_int16_t) (a)) << IN6_MSB16_OFFSET(0))
 I4	  34280 #define	IN6__MK1_MSB16_VALUE(a,b)	((((u_int16_t) (b)) << IN6_MSB16_OFFSET(1))|IN6__MK0_MSB16_VALUE(a))
 I4	  34281 
 I4	  34282 #pragma __standard
 I4	  34283 #endif /* _IN6_MACHTYPES_H */
 I3    X  34284 #include <if.h>
 I3	  34285 
 I3	  34286 /*
 I3	  34287 **  Start processing in 32-bit addressing mode
 I3	  34288 */
 I3    X  34289 #if __INITIAL_POINTER_SIZE
 I3    X  34290 #   pragma __pointer_size __save
 I3    X  34291 #   pragma __pointer_size 32
 I3    X  34292 #endif
 I3	  34293 
 I3	  34294 
 I3	  34295 /*
 I3	  34296 **  Set __nomember_alignment to avoid internal and tail
 I3	  34297 **  padding in structures; default base alignment.
 I3	  34298 **  Required for consistency across programming languages.
 I3	  34299 */
 I3	  34300 #pragma __member_alignment __save
 I3	  34301 #pragma __nomember_alignment
 I3	  34302 
 I3	  34303 
 I3	  34304 /*
 I3	  34305 **  Define XPG4 IP typedefs
 I3	  34306 */
 I3    X  34307 #if !defined __IN_PORT_T && !defined _DECC_V4_SOURCE
 I3    X  34308 #   define __IN_PORT_T 1
 I3    X  34309     typedef __in_port_t in_port_t;
 I3    X  34310 #endif
 I3	  34311 
 I3    X  34312 #if !defined __IN_ADDR_T  && !defined _DECC_V4_SOURCE
 I3    X  34313 #   define __IN_ADDR_T 1
 I3    X  34314     typedef __in_addr_t in_addr_t;
 I3    X  34315 #endif
 I3	  34316 
 I3    X  34317 #if !defined __SA_FAMILY_T && !defined _DECC_V4_SOURCE
 I3    X  34318 #   define __SA_FAMILY_T 1
 I3    X  34319     typedef __sa_family_t sa_family_t;
 I3    X  34320 #endif
 I3	  34321 
 I3	  34322 /*
 I3	  34323  * IPv6 protocols
 I3	  34324  */
 I3	  34325 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 619
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34326 #define IPPROTO_HOPOPTS		 0	/* Hop-by-hop options */
 I3	  34327 #define IPPROTO_IPV6            41	/* IPv6 header */
 I3	  34328 #define IPPROTO_ROUTING		43	/* Routing header */
 I3	  34329 #define IPPROTO_FRAGMENT	44	/* Fragmentation header */
 I3	  34330 #define IPPROTO_ESP		50	/* Encap. security payload */
 I3	  34331 #define IPPROTO_AH		51	/* Authentication header */
 I3	  34332 #define IPPROTO_ICMPV6		58
 I3	  34333 #define	IPPROTO_NONE		59
 I3	  34334 #define	IPPROTO_DSTOPTS		60	/* Destination Node header */
 I3	  34335 
 I3	  34336 /*
 I3	  34337  * Interface token lengths (bits)
 I3	  34338  */
 I3	  34339 
 I3	  34340 #define IPV6_LOOPBACK_TOKEN_LENGTH	 0
 I3	  34341 #define IPV6_ETHERNET_TOKEN_LENGTH	64
 I3	  34342 #define IPV6_FDDI_TOKEN_LENGTH		64
 I3	  34343 #define IPV6_IPV4_TOKEN_LENGTH		48
 I3	  34344 
 I3	  34345 /*
 I3	  34346  * Define the extra set/getsockopts for the IPv6 level.
 I3	  34347  */
 I3	  34348 #define IP_FLOWLABEL		20      /* int; flow label in net byte order */
 I3	  34349 #define IP_RXHDR		21      /* int; include rx info in raw recv */
 I3	  34350 
 I3	  34351 /*
 I3	  34352  * IPv6 level socket options
 I3	  34353  */
 I3	  34354 #define IPV6_UNICAST_HOPS	104	/* int; unicast hoplimit (0..255) */
 I3	  34355 #define IPV6_MULTICAST_HOPS	105	/* int; multicast hoplimit (0..255) */
 I3	  34356 #define	IPV6_MULTICAST_IF	106	/* u_int; mcast interface */ 
 I3	  34357 #define	IPV6_MULTICAST_LOOP	107	/* u_int; recv own multicast (0 or 1) */
 I3	  34358 #define IPV6_JOIN_GROUP         108     /* struct ipv6_mreq; join group */
 I3	  34359 #define IPV6_LEAVE_GROUP        109     /* struct ipv6_mreq; leave group */
 I3	  34360 #define IPV6_PKTINFO            110     /* set in6_pktinfo */
 I3	  34361 #define IPV6_HOPLIMIT           111     /* set hop limit */
 I3	  34362 #define IPV6_HOPOPTS            112     /* set hop-by-hop options */
 I3	  34363 #define IPV6_DSTOPTS            113     /* set dest. options after rt header */
 I3	  34364 #define IPV6_RTHDR              114     /* set routing header */
 I3	  34365 #define IPV6_NEXTHOP            115     /* set next hop address */
 I3	  34366 #define IPV6_CHECKSUM           116     /* int: checksum offset */
 I3	  34367 #define IPV6_PKTOPTIONS         117     /* sticky options */
 I3	  34368 #define IPV6_RXHDR              118     /* int; include rx info in raw recv */
 I3	  34369 #define IPV6_V6ONLY             119     /* int; AF_INET6 socket over IPv6 only*/
 I3	  34370 #define IPV6_RTHDRDSTOPTS       120     /* dest. options before routing header*/
 I3	  34371 #define IPV6_RECVPKTINFO        121     /* receive the in6_pktinfo */
 I3	  34372 #define IPV6_RECVHOPLIMIT       122     /* receive hop limit */
 I3	  34373 #define IPV6_RECVRTHDR          123     /* receive routing header */
 I3	  34374 #define IPV6_RECVHOPOPTS        124     /* receive hop-by-hop options */
 I3	  34375 #define IPV6_RECVDSTOPTS        125     /* receive dest opts after rt header */
 I3	  34376 #define IPV6_RECVRTHDRDSTOPTS   126     /* receive dest opts before rt header */
 I3	  34377 #define IPV6_RTHDR2             127     /* set rtng hdr t2 (kernel use only) */
 I3	  34378 #define IPV6_TCLASS             128     /* set traffic class */
 I3	  34379 #define IPV6_RECVTCLASS         129     /* receive traffic class */
 I3	  34380 #define IPV6_USE_MIN_MTU        130     /* path mtu discovery policy */
 I3	  34381 #define IPV6_DONTFRAG           131     /* don't fragment option */
 I3	  34382 #define IPV6_RECVPATHMTU        132     /* recieve path mtu information */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 620
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34383 #define IPV6_PATHMTU            133     /* path mtu data */
 I3	  34384 
 I3	  34385 #define IPV6_DEFAULT_UNICAST_HOPLIMIT   64 /* default unicast hop limit */
 I3	  34386 #define IPV6_DEFAULT_MULTICAST_HOPS      1 /* normally limit mcasts to 1 hop */
 I3	  34387 #define IPV6_DEFAULT_MULTICAST_LOOP      1 /* normally hear sends if a member */
 I3	  34388 #define IPV6_DEFAULT_MEMBERSHIPS        32 /* default per socket */
 I3	  34389 #define IPV6_MAX_MEMBERSHIPS         65536 /* max per socket */
 I3	  34390 
 I3	  34391 /*
 I3	  34392  *   Define the IPv6 address.
 I3	  34393  */
 I3	  34394 struct in6_addr {
 I3	  34395     union {
 I3	  34396 	u_int8_t sa6_addr[16];
 I3	  34397 #define	s6_addr		s6_un.sa6_addr
 I3	  34398 	u_int16_t sa6_waddr[8];
 I3	  34399 #define	s6_waddr	s6_un.sa6_waddr
 I3	  34400 	u_int32_t sa6_laddr[4];
 I3	  34401 #define	s6_laddr	s6_un.sa6_laddr
 I3	  34402 #ifdef IN6_HAS_64BIT_INTTYPE
 I3	  34403 	u_int64_t sa6_qaddr[2];
 I3	  34404 #define	s6_qaddr	s6_un.sa6_qaddr
 I3	  34405 #endif
 I3	  34406     } s6_un;
 I3	  34407 };
 I3	  34408 
 I3	  34409 /*
 I3	  34410  * Maximum length of IPv6 address as text string
 I3	  34411  */
 I3	  34412 
 I3	  34413 #define INET6_ADDRSTRLEN	46
 I3	  34414 
 I3	  34415 /*
 I3	  34416  * IPv6 protocol specific route flags
 I3	  34417  */
 I3	  34418 #define IPV6_RTF_MINMTU     RTF_PROTO2  /* mtu less then 1280, use frag hdr */
 I3	  34419 
 I3	  34420 /*
 I3	  34421  * Structure for join/leave multicast group
 I3	  34422  */
 I3	  34423 
 I3	  34424 struct ipv6_mreq {
 I3	  34425     struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast address */
 I3	  34426     unsigned int ipv6mr_interface; /* inteface index */
 I3	  34427 };
 I3	  34428 
 I3	  34429 /*
 I3	  34430  * Define the macros to manipulate IPv6 addresses
 I3	  34431  */
 I3	  34432 
 I3	  34433 #ifdef IN6_HAS_64BIT_INTTYPE
 I3	  34434 #define IN6_ARE_ADDR_EQUAL(a,b)		((a)->s6_qaddr[1] == (b)->s6_qaddr[1] && \
 I3	  34435 					 (a)->s6_qaddr[0] == (b)->s6_qaddr[0])
 I3	  34436 #define	IN6_ARE_ADDR_SAMEPREFIX(a,b,m)	(((a)->s6_qaddr[0] & (m)->s6_qaddr[0]) == (b)->s6_qaddr[0] && \
 I3	  34437 					 ((a)->s6_qaddr[1] & (m)->s6_qaddr[1]) == (b)->s6_qaddr[1])
 I3	  34438 #define IN6_IS_ADDR_HOSTMASK(a)		(((a)->s6_qaddr[0] & (a)->s6_qaddr[1]) == ~0UL)
 I3	  34439 #define IN6_IS_ADDR_LOOPBACK(a)		((a)->s6_qaddr[0] == 0UL && \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 621
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34440 					 (a)->s6_qaddr[1] == IN6__MK7_MSB64_VALUE(0,0,0,0,0,0,0,1))
 I3	  34441 #define	IN6_IS_ADDR_UNSPECIFIED(a)	(((a)->s6_qaddr[0] | (a)->s6_qaddr[1]) == 0UL)
 I3	  34442 #define IN6_IS_ADDR_V4COMPAT(a)         ((a)->s6_qaddr[0] == 0UL && \
 I3	  34443                                          (a)->s6_laddr[2] == 0 &&   \
 I3	  34444                                          (a)->s6_laddr[3] != 0 && \
 I3	  34445                                          (a)->s6_laddr[3] != IN6__MK3_MSB32_VALUE(0,0,0,1))
 I3	  34446 #define IN6_IS_ADDR_V4MAPPED(a)		((a)->s6_qaddr[0] == 0UL && \
 I3	  34447 					 (a)->s6_laddr[2] == IN6__MK1_MSW32_VALUE(0, 0xFFFFU))
 I3	  34448 #define	IN6_SET_ADDR_HOSTMASK(a)	((a)->s6_qaddr[1] = ((a)->s6_qaddr[0] = ~0UL))
 I3	  34449 #define	IN6_SET_ADDR_LOOPBACK(a)	((a)->s6_qaddr[0] = 0UL, \
 I3	  34450 					 (a)->s6_qaddr[1] = IN6__MK7_MSB64_VALUE(0,0,0,0,0,0,0,1))
 I3	  34451 #define	IN6_SET_ADDR_PREFIX(a,b,c)	((a)->s6_qaddr[0] = (b)->s6_qaddr[0] & (c)->s6_qaddr[0], \
 I3	  34452 					 (a)->s6_qaddr[1] = (b)->s6_qaddr[1] & (c)->s6_qaddr[1])
 I3	  34453 #define	IN6_SET_ADDR_UNSPECIFIED(a)	((a)->s6_qaddr[1] = ((a)->s6_qaddr[0] = 0UL))
 I3	  34454 #define IN6_SET_ADDR_V4MAPPED(a,b)	((a)->s6_qaddr[0] = 0, \
 I3	  34455 					 (a)->s6_laddr[2] = IN6__MK1_MSW32_VALUE(0, 0xFFFFU), \
 I3	  34456 					 (a)->s6_laddr[3] = (b))
 I3	  34457 #define IN6_SET_ADDR_V4COMPAT(a,b)	((a)->s6_qaddr[0] = 0, \
 I3	  34458 					 (a)->s6_laddr[2] = 0, \
 I3	  34459 					 (a)->s6_laddr[3] = (b))
 I3	  34460 #define IN6_SET_LINKLOCAL_NETMASK(a)	((a)->s6_qaddr[0] = IN6__MK1_MSB64_VALUE(0xFF, 0xC0), \
 I3	  34461 					 (a)->s6_qaddr[1] = 0UL)
 I3	  34462 #define IN6_SET_LINKLOCAL_PREFIX(a)     ((a)->s6_qaddr[0] = IN6__MK1_MSB64_VALUE(0xFE, 0x80), \
 I3	  34463                                          (a)->s6_qaddr[1] = 0UL)
 I3	  34464 #define IN6_SET_LOWER_64_MASK(a)        ((a)->s6_qaddr[0] = 0UL, \
 I3	  34465                                          (a)->s6_qaddr[1] = ~0UL)
 I3	  34466 #define IN6_JOIN_PREFIX_TOKEN(a,p,t)	((a)->s6_qaddr[0] = \
 I3	  34467 					  (p)->s6_qaddr[0] | (t)->s6_qaddr[0], \
 I3	  34468 					 (a)->s6_qaddr[1] = \
 I3	  34469 					  (p)->s6_qaddr[1] | (t)->s6_qaddr[1])
 I3    X  34470 #else
 I3	  34471 #define IN6_ARE_ADDR_EQUAL(a,b)		((a)->s6_laddr[3] == (b)->s6_laddr[3] && \
 I3	  34472 					 (a)->s6_laddr[0] == (b)->s6_laddr[0] && \
 I3	  34473 					 (a)->s6_laddr[2] == (b)->s6_laddr[2] && \
 I3    X  34474 					 (a)->s6_laddr[1] == (b)->s6_laddr[1])
 I3    X  34475 #define	IN6_ARE_ADDR_SAMEPREFIX(a,b,m)	(((a)->s6_laddr[0] & (m)->s6_laddr[0]) == (b)->s6_laddr[0] && \
 I3    X  34476 					 ((a)->s6_laddr[1] & (m)->s6_laddr[1]) == (b)->s6_laddr[1] && \
 I3    X  34477 					 ((a)->s6_laddr[2] & (m)->s6_laddr[2]) == (b)->s6_laddr[2] && \
 I3    X  34478 					 ((a)->s6_laddr[3] & (m)->s6_laddr[3]) == (b)->s6_laddr[3])
 I3    X  34479 #define IN6_IS_ADDR_HOSTMASK(a)		((a)->s6_laddr[3] == ~0UL && \
 I3    X  34480 					 (a)->s6_laddr[0] == ~0UL && \
 I3    X  34481 					 (a)->s6_laddr[2] == ~0UL && \
 I3    X  34482 					 (a)->s6_laddr[1] == ~0UL)
 I3    X  34483 #define	IN6_IS_ADDR_LOOPBACK(a)		((a)->s6_laddr[0] == 0UL && \
 I3    X  34484 					 (a)->s6_laddr[1] == 0UL && \
 I3    X  34485 					 (a)->s6_laddr[2] == 0UL && \
 I3    X  34486 					 (a)->s6_laddr[3] == IN6__MK3_MSB32_VALUE(0,0,0,1))
 I3    X  34487 #define IN6_IS_ADDR_UNSPECIFIED(a)	((a)->s6_laddr[3] == 0UL && \
 I3    X  34488 					 (a)->s6_laddr[0] == 0UL && \
 I3    X  34489 					 (a)->s6_laddr[2] == 0UL && \
 I3    X  34490 					 (a)->s6_laddr[1] == 0UL)
 I3    X  34491 #define IN6_IS_ADDR_V4COMPAT(a)		((a)->s6_laddr[0] == 0UL && \
 I3    X  34492 					 (a)->s6_laddr[1] == 0UL && \
 I3    X  34493                                          (a)->s6_laddr[2] == 0UL && \
 I3    X  34494                                          (a)->s6_laddr[3] != 0 && \
 I3    X  34495                                          (a)->s6_laddr[3] != IN6__MK3_MSB32_VALUE(0,0,0,1))
 I3    X  34496 #define IN6_IS_ADDR_V4MAPPED(a)		((a)->s6_laddr[0] == 0UL && \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 622
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3    X  34497 					 (a)->s6_laddr[1] == 0UL && \
 I3    X  34498 					 (a)->s6_laddr[2] == IN6__MK1_MSW32_VALUE(0, 0xFFFFU))
 I3    X  34499 #define	IN6_SET_ADDR_HOSTMASK(a)	((a)->s6_laddr[3] = ((a)->s6_laddr[2] = ((a)->s6_laddr[1] = ((a)->s6_laddr[0
 I3    X  34499 ] = ~0UL))))
 I3    X  34500 #define	IN6_SET_ADDR_LOOPBACK(a)	((a)->s6_laddr[0] = ((a)->s6_laddr[1] = ((a)->s6_laddr[2] = 0UL)), \
 I3    X  34501 					 (a)->s6_laddr[3] = IN6__MK3_MSB32_VALUE(0,0,0,1))
 I3    X  34502 #define	IN6_SET_ADDR_PREFIX(a,b,c)	((a)->s6_laddr[0] = (b)->s6_laddr[0] & (c)->s6_laddr[0], \
 I3    X  34503 					 (a)->s6_laddr[1] = (b)->s6_laddr[1] & (c)->s6_laddr[1], \
 I3    X  34504 					 (a)->s6_laddr[2] = (b)->s6_laddr[2] & (c)->s6_laddr[2], \
 I3    X  34505 					 (a)->s6_laddr[3] = (b)->s6_laddr[3] & (c)->s6_laddr[3])
 I3    X  34506 #define	IN6_SET_ADDR_UNSPECIFIED(a)	((a)->s6_laddr[3] = ((a)->s6_laddr[2] = ((a)->s6_laddr[1] = ((a)->s6_laddr[0
 I3    X  34506 ] = 0UL))))
 I3    X  34507 #define IN6_SET_ADDR_V4MAPPED(a,b)	((a)->s6_laddr[0] = 0, (a)->s6_laddr[1] = 0, \
 I3    X  34508 					 (a)->s6_laddr[2] = IN6__MK1_MSW32_VALUE(0, 0xFFFFU), \
 I3    X  34509 					 (a)->s6_laddr[3] = (b))
 I3    X  34510 #define IN6_SET_ADDR_V4COMPAT(a,b)	((a)->s6_laddr[0] = 0, (a)->s6_laddr[1] = 0, \
 I3    X  34511 					 (a)->s6_laddr[2] = 0, \
 I3    X  34512 					 (a)->s6_laddr[3] = (b))
 I3    X  34513 #define IN6_SET_LINKLOCAL_NETMASK(a)	((a)->s6_laddr[0] = IN6__MK1_MSB32_VALUE(0xFF, 0xC0), \
 I3    X  34514 					 (a)->s6_laddr[1] = 0, \
 I3    X  34515 					 (a)->s6_laddr[2] = 0, \
 I3    X  34516 					 (a)->s6_laddr[3] = 0)
 I3    X  34517 #define IN6_SET_LINKLOCAL_PREFIX(a)     ((a)->s6_laddr[0] = IN6__MK1_MSB32_VALUE(0xFE, 0x80), \
 I3    X  34518                                          (a)->s6_laddr[1] = 0, \
 I3    X  34519                                          (a)->s6_laddr[2] = 0, \
 I3    X  34520                                          (a)->s6_laddr[3] = 0)
 I3    X  34521 #define IN6_SET_LOWER_64_MASK(a)        ((a)->s6_laddr[0] = 0, \
 I3    X  34522                                          (a)->s6_laddr[1] = 0, \
 I3    X  34523                                          (a)->s6_laddr[2] = IN6__MK1_MSB32_VALUE(0xFF, 0xFF), \
 I3    X  34524                                          (a)->s6_laddr[3] = IN6__MK1_MSB32_VALUE(0xFF, 0xFF))
 I3    X  34525 #define IN6_JOIN_PREFIX_TOKEN(a,p,t)	((a)->s6_laddr[0] = \
 I3    X  34526 					  (p)->s6_laddr[0] | (t)->s6_laddr[0], \
 I3    X  34527 					 (a)->s6_laddr[1] = \
 I3    X  34528 					  (p)->s6_laddr[1] | (t)->s6_laddr[1], \
 I3    X  34529 					 (a)->s6_laddr[2] = \
 I3    X  34530 					  (p)->s6_laddr[2] | (t)->s6_laddr[2], \
 I3    X  34531 					 (a)->s6_laddr[3] = \
 I3    X  34532 					  (p)->s6_laddr[3] | (t)->s6_laddr[3])
 I3    X  34533 #endif
 I3	  34534 
 I3	  34535 #define	IN6_EXTRACT_V4ADDR(a)		((a)->s6_laddr[3])
 I3	  34536 #define IN6_EXTRACT_V4ADDR_624(a)       (IN6__MK1_MSW32_VALUE((a)->s6_waddr[1],\
 I3	  34537                                                               (a)->s6_waddr[2]))
 I3	  34538 #define IN6_IS_ADDR_LINKLOCAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0xC0)) == IN6__MK1_MSB32_VAL
 I3	  34538 UE(0xFE, 0x80))
 I3	  34539 #define IN6_IS_ADDR_SITELOCAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0xC0)) == IN6__MK1_MSB32_VAL
 I3	  34539 UE(0xFE, 0xC0))
 I3	  34540 #define IN6_IS_ADDR_MULTICAST(a)	(((a)->s6_laddr[0] & IN6__MK0_MSB32_VALUE(0xFF)) == IN6__MK0_MSB32_VALUE(0xF
 I3	  34540 F))
 I3	  34541 #define IN6_IS_ADDR_MC_NODELOCAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0x0F)) == IN6__MK1_MSB32_VAL
 I3	  34541 UE(0xFF, IN6_MCSCOPE_NODELOCAL))
 I3	  34542 #define IN6_IS_ADDR_MC_LINKLOCAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0x0F)) == IN6__MK1_MSB32_VAL
 I3	  34542 UE(0xFF, IN6_MCSCOPE_LINKLOCAL))
 I3	  34543 #define IN6_IS_ADDR_MC_SITELOCAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0x0F)) == IN6__MK1_MSB32_VAL
 I3	  34543 UE(0xFF, IN6_MCSCOPE_SITELOCAL))
 I3	  34544 #define IN6_IS_ADDR_MC_ADMINLOCAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0x0F)) == IN6__MK1_MSB32_VAL
 I3	  34544 UE(0xFF, IN6_MCSCOPE_ADMINLOCAL))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 623
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34545 #define IN6_IS_ADDR_MC_ORGLOCAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0x0F)) == IN6__MK1_MSB32_VAL
 I3	  34545 UE(0xFF, IN6_MCSCOPE_ORGLOCAL))
 I3	  34546 #define IN6_IS_ADDR_MC_GLOBAL(a)	(((a)->s6_laddr[0] & IN6__MK1_MSB32_VALUE(0xFF, 0x0F)) == IN6__MK1_MSB32_VAL
 I3	  34546 UE(0xFF, IN6_MCSCOPE_GLOBAL))
 I3	  34547 #define IN6_SET_LINKLOCAL_PREFIX(a)	((a)->s6_laddr[0] = IN6__MK1_MSB32_VALUE(0xFE, 0x80), \
 I3	  34548 					 (a)->s6_laddr[1] = ((a)->s6_laddr[2] = ((a)->s6_laddr[3] = 0)))
 I3	  34549 
 I3	  34550 #define	IPV6ADDR_LINKLOCAL_ALL_NODES_INIT { \
 I3	  34551 	0xFF, IN6_MCSCOPE_LINKLOCAL, 0, 0, \
 I3	  34552 	0, 0, 0, 0, \
 I3	  34553 	0, 0, 0, 0, \
 I3	  34554 	0, 0, 0, 1 \
 I3	  34555     }
 I3	  34556 
 I3	  34557 #define	IPV6ADDR_LINKLOCAL_ALL_ROUTERS_INIT { \
 I3	  34558 	0xFF, IN6_MCSCOPE_LINKLOCAL, 0, 0, \
 I3	  34559 	0, 0, 0, 0, \
 I3	  34560 	0, 0, 0, 0, \
 I3	  34561 	0, 0, 0, 2 \
 I3	  34562     }
 I3	  34563 
 I3	  34564 extern const struct in6_addr in6addr_any;
 I3	  34565 extern const struct in6_addr in6addr_loopback;
 I3	  34566 
 I3	  34567 #define IN6ADDR_ANY_INIT { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 I3	  34568 
 I3	  34569 #define IN6ADDR_TLA624_INIT { 0x20, 0x02, /* IANA defined TLA */ \
 I3	  34570                               0, 0, 0, 0, /* NLA == V4ADDR */ \
 I3	  34571                               0, 0,       /* SLA ID */ \
 I3	  34572                               0, 0, 0, 0, 0, 0, 0, 0 /* interface id */ }
 I3	  34573 
 I3	  34574 #define IN6ADDR_TLA624_PFXMASK {0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, \
 I3	  34575                                 0, 0, 0, 0, 0, 0 }
 I3	  34576 
 I3	  34577 #define	IN6ADDR_LOOPBACK_INIT { \
 I3	  34578 	0, 0, 0, 0, \
 I3	  34579 	0, 0, 0, 0, \
 I3	  34580 	0, 0, 0, 0, \
 I3	  34581 	0, 0, 0, 1  \
 I3	  34582     }
 I3	  34583 
 I3	  34584 #define IN6ADDR_HOMEAGENT_ANYCAST_INIT { 0, 0, 0, 0, 0, 0, 0, 0, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE }
 I3	  34585 
 I3	  34586 /*
 I3	  34587  * IPv6 multicast scope.
 I3	  34588  */
 I3	  34589 #define	IN6_MCSCOPE_NODELOCAL	0x01
 I3	  34590 #define	IN6_MCSCOPE_LINKLOCAL	0x02
 I3	  34591 #define IN6_MCSCOPE_ADMINLOCAL  0x04
 I3	  34592 #define	IN6_MCSCOPE_SITELOCAL	0x05
 I3	  34593 #define	IN6_MCSCOPE_ORGLOCAL	0x08
 I3	  34594 #define	IN6_MCSCOPE_GLOBAL	0x0E
 I3	  34595 
 I3	  34596 #define	IN6_MCFLAG_PERMANENT	0x00
 I3	  34597 #define	IN6_MCFLAG_TRANSIENT	0x10
 I3	  34598 
 I3	  34599 #ifdef IN6_HAS_64BIT_INTTYPE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 624
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34600 #define	IN6_SET_MULTICAST_CLASS(addrp, class) \
 I3	  34601     ((void) (*(u_int64_t *) (addrp) = IN6__MK1_MSB64_VALUE(0xFF, class)))
 I3    X  34602 #else
 I3	  34603 #define	IN6_SET_MULTICAST_CLASS(addrp, class) \
 I3    X  34604     ((void) ((addrp)->s6_laddr[0] = IN6__MK1_MSB32_VALUE(0xFF, class), (addrp)->s6_laddr[1] = 0))
 I3    X  34605 #endif
 I3	  34606 
 I3	  34607 /* forward decls for C++ */
 I3    X  34608 #ifdef __cplusplus
 I3    X  34609 struct rtentry;
 I3    X  34610 #endif
 I3	  34611 
 I3	  34612 /*
 I3	  34613 **  The TCP/IP V5.4 and prior kernel checks for strict
 I3	  34614 **  equality sizeof(struct sockaddr_in6) == 28.  
 I3	  34615 **  __nomember_alignment allows this check to pass for
 I3	  34616 **  scalar variables.  However arrays of struct sockaddr_in6 
 I3	  34617 **  will cause compiler messages and must be avoided with 
 I3	  34618 **  this file.  Fortunately such arrays are not a common
 I3	  34619 **  programming practice.
 I3	  34620 **
 I3	  34621 */
 I3	  34622 /*
 I3	  34623  * Define the socket address for IPv6
 I3	  34624  */
 I3	  34625 struct sockaddr_in6 {
 I3    X  34626 #if     defined(_SOCKADDR_LEN)
 I3    X  34627 #define SIN6_LEN
 I3    X  34628     u_char	    sin6_len;		/* length of this struct */
 I3    X  34629     u_char	    sin6_family;	/* AF_INET6 */
 I3    X  34630 #else
 I3	  34631     u_int16m_t	    sin6_family;	/* AF_INET6 */
 I3	  34632 #endif
 I3	  34633     u_int16m_t	    sin6_port;		/* Transport layer port # */
 I3	  34634     u_int32m_t	    sin6_flowinfo;	/* IPv6 flow information */
 I3	  34635     struct in6_addr sin6_addr;		/* IPv6 address */
 I3	  34636     u_int32m_t      sin6_scope_id;      /* set of interfaces for a scope */
 I3	  34637 };
 I3	  34638 
 I3	  34639 /*
 I3	  34640  * ioctl handles up to 128 bytes on stack.  The max amount of generic data
 I3	  34641  * this structure can hold is carefully chosen so the entire ip6ifreq does
 I3	  34642  * not exceed 128 bytes, thus avoiding a kalloc().  The max size of a link-
 I3	  34643  * layer address is smaller to account for a 16 byte IPv6 address, the
 I3	  34644  * lladdrlen and the radv_flags.
 I3	  34645  */
 I3	  34646 
 I3	  34647 #define IFR6_MAX_DATA   88      /* max generic data in ip6ifreq */
 I3	  34648 #define IFR6_MAX_LLADDR 63      /* max link-layer address in un_lladdr */
 I3	  34649 
 I3	  34650 /*
 I3	  34651  * Define the structure used for interface ioctls with IPv6 addresses
 I3	  34652  *
 I3	  34653  * Caution: some code expects the first portion of the ip6ifreq to
 I3	  34654  * be identical to an ifreq (i.e. the union containing the sockaddr
 I3	  34655  * structures et al. must immediately follow ifr6_name)
 I3	  34656  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 625
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34657 
 I3	  34658 struct ip6ifreq {
 I3	  34659     char ifr6_name[IFNAMSIZ];                   /* i/f name, e.g. "ln0" */
       E	                    16
 I3	  34660     union {
 I3	  34661         struct sockaddr         un_addr;        /* address */
 I3	  34662         struct sockaddr_in      un_addr4;       /* address */
 I3	  34663         struct sockaddr_in6     un_addr6;       /* address */
 I3	  34664         struct {
 I3	  34665             __size_t            un_datalen;             /* generic data len */
 I3	  34666             char                un_data[IFR6_MAX_DATA]; /* generic data */
       E	                                         88
 I3	  34667         } un_1;
 I3	  34668         struct {
 I3	  34669             __u_int             un_value;       /* generic value... */
 I3	  34670             int                 un_code;        /* generic ... */
 I3	  34671         } un_2;
 I3	  34672         struct {
 I3	  34673             struct in6_addr     un_dst;                     /* IPv6 address */
 I3	  34674             __size_t            un_lladdrlen;               /* link addr len */
 I3	  34675             char                un_lladdr[IFR6_MAX_LLADDR]; /* link addr */
       E	                                           63
 I3	  34676             uint8_t             un_radv_flags;              /* radv flags */
 I3	  34677         } un_3;
 I3	  34678         struct {
 I3	  34679             struct in6_addr     un_liid;        /* local intf id   */
 I3	  34680             struct in6_addr     un_riid;        /* remote intf id for ppp6 */
 I3	  34681         } un_4;
 I3	  34682         struct {
 I3	  34683             struct in6_addr     un_prefix;      /* prefix */
 I3	  34684             uint8_t             un_prefixlen;   /* prefix length */
 I3	  34685             uint8_t             un_pad_5_1;     /* padding */
 I3	  34686             uint16_t            un_prefixflags; /* flags (see ip6_mobile.h) */
 I3	  34687             uint16_t            un_pad_5_2;     /* padding */
 I3	  34688             uint32_t            un_validlife;   /* valid prefix lifetime */
 I3	  34689             uint32_t            un_preferredlife;/* preferred prefix lifetime */
 I3	  34690         } un_5;
 I3	  34691     } ifr6_un;
 I3	  34692 #define ifr6_addr       ifr6_un.un_addr
 I3	  34693 #define ifr6_addr4      ifr6_un.un_addr4
 I3	  34694 #define ifr6_addr6      ifr6_un.un_addr6
 I3	  34695 #define ifr6_datalen    ifr6_un.un_1.un_datalen
 I3	  34696 #define ifr6_data       ifr6_un.un_1.un_data
 I3	  34697 #define ifr6_value      ifr6_un.un_2.un_value
 I3	  34698 #define ifr6_code       ifr6_un.un_2.un_code
 I3	  34699 #define ifr6_dst        ifr6_un.un_3.un_dst
 I3	  34700 #define ifr6_radv_flags ifr6_un.un_3.un_radv_flags
 I3	  34701 #define ifr6_lladdrlen  ifr6_un.un_3.un_lladdrlen
 I3	  34702 #define ifr6_lladdr     ifr6_un.un_3.un_lladdr
 I3	  34703 #define ifr6_lid        ifr6_un.un_4.un_liid
 I3	  34704 #define ifr6_rid        ifr6_un.un_4.un_riid
 I3	  34705 #define ifr6_prefix     ifr6_un.un_5.un_prefix
 I3	  34706 #define ifr6_prefixlen  ifr6_un.un_5.un_prefixlen
 I3	  34707 #define ifr6_prefixflags ifr6_un.un_5.un_prefixflags
 I3	  34708 #define ifr6_validlife  ifr6_un.un_5.un_validlife
 I3	  34709 #define ifr6_preferredlife      ifr6_un.un_5.un_preferredlife
 I3	  34710 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 626
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34711     unsigned ifr6_flags;                        /* */
 I3	  34712 #define IFR6_NODAD              0x0001U         /* suppress duplicate address detection */
 I3	  34713 #define IFR6_ADDTOKEN           0x0002U         /* add token to end of prefix */
 I3	  34714 #define IFR6_DADFAILED          0x0004U
 I3	  34715 #define IFR6_DADINPROGRESS      0x0008U
 I3	  34716 #define IFR6_DEPRECATED         0x0010U
 I3	  34717 #define IFR6_ANYCAST            0x0020U         /* address is anycast */
 I3	  34718 #define IFR6_PROXY              0x0040U         /* proxying for address */
 I3	  34719 #define IFR6_MOBILE             0x0080U         /* mobile node home address */
 I3	  34720     __u_int ifr6_reserved[3];                   /* for future use */
 I3	  34721 };
 I3	  34722 
 I3	  34723 /*
 I3	  34724  * Define the structure that is added as a control message to
 I3	  34725  * incoming raw packets before being handed to the user.
 I3	  34726  */
 I3	  34727 struct rip6_header {
 I3	  34728     int   rhdr_ifindex;          /* ifnet index number */
 I3	  34729     int   rhdr_pktflags;         /* The mbuf flags (M_MCAST etc) */
 I3	  34730     u_short rhdr_offset;         /* data offset in IPv6 packet */
 I3	  34731     u_char  rhdr_proto;          /* The protocol type */
 I3	  34732     u_char  rhdr_authOK;         /* TRUE if the pkt was authenticated */
 I3	  34733 };
 I3	  34734 
 I3	  34735 /*
 I3	  34736  * advance API defines (rfc2292)
 I3	  34737  */
 I3	  34738 struct in6_pktinfo {
 I3	  34739     struct in6_addr	ipi6_addr;	/* IPv6 address */
 I3	  34740     unsigned int        ipi6_ifindex;   /* interface index */
 I3	  34741 };
 I3	  34742 
 I3	  34743 
 I3	  34744 struct ip6_mtuinfo {
 I3	  34745     struct sockaddr_in6 ip6m_addr;      /* IPv6 destination address */
 I3	  34746     uint32_t            ip6m_mtu;       /* path mtu */
 I3	  34747 };
 I3	  34748 
 I3	  34749 /*
 I3	  34750  * Define constants for the routing header
 I3	  34751  */
 I3	  34752 #define IPV6_RTHDR_LOOSE     0 /* this hop need not be a neighbor */
 I3	  34753 #define IPV6_RTHDR_STRICT    1 /* this hop must be a neighbor */
 I3	  34754 #define IPV6_RTHDR_TYPE_0    0 /* IPv6 Routing header type 0 */
 I3	  34755 #define IPV6_RTHDR_TYPE_2    2 /* IPv6 Routing header type 2 */
 I3	  34756 
 I3	  34757 
 I3	  34758 /*
 I3	  34759  * function and macro prototypes
 I3	  34760  */
 I3	  34761 
 I3	  34762 extern int      inet6_opt_init (void*, __size_t);
 I3	  34763 extern int      inet6_opt_append (void *, __size_t, int, u_int8_t, __size_t,
 I3	  34764                                      u_int32_t, void **);
 I3	  34765 extern int      inet6_opt_finish (void *, __size_t, int);
 I3	  34766 extern int      inet6_opt_set_val (void *, __size_t, void *, int);
 I3	  34767 extern int      inet6_opt_next (void *, __size_t, int, u_int8_t *, __size_t *,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 627
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(IN6)

 I3	  34768                                    void **);
 I3	  34769 extern int      inet6_opt_find (void *, __size_t, int, u_int8_t, __size_t *,
 I3	  34770                                    void **);
 I3	  34771 extern int      inet6_opt_get_val (void *, __size_t, void *, int);
 I3	  34772 
 I3	  34773 extern __size_t inet6_rth_space (int, int);
 I3	  34774 extern void *   inet6_rth_init (void *, int, int, int);
 I3	  34775 extern int      inet6_rth_add (void *, const struct in6_addr *);
 I3	  34776 extern int      inet6_rth_reverse (const void *, void *);
 I3	  34777 extern int      inet6_rth_segments (const void *);
 I3	  34778 extern struct in6_addr *        inet6_rth_getaddr (void *, int);
 I3	  34779 
 I3	  34780 /*
 I3	  34781 **  Restore the users pointer context
 I3	  34782 */
 I3    X  34783 #if __INITIAL_POINTER_SIZE
 I3    X  34784 #   pragma __pointer_size __restore
 I3    X  34785 #endif
 I3	  34786 
 I3    X  34787 #ifdef __cplusplus
 I3    X  34788     }
 I3    X  34789 #endif
 I3	  34790 
 I3	  34791 #pragma __member_alignment __restore
 I3	  34792 #pragma __standard
 I3	  34793 #endif /* __IN6_LOADED */
 I2	  34794 
 I2	  34795 
 I2	  34796 /*
 I2	  34797 **  Restore the users pointer context
 I2	  34798 */
 I2    X  34799 #if __INITIAL_POINTER_SIZE
 I2    X  34800 #   pragma __pointer_size __restore
 I2    X  34801 #endif
 I2	  34802 
 I2    X  34803 #ifdef __cplusplus
 I2    X  34804     }
 I2    X  34805 #endif
 I2	  34806 
 I2	  34807 #pragma __member_alignment __restore
 I2	  34808 #pragma __standard
 I2	  34809 #endif /* __IN_LOADED */
 I1	  34810 #ifdef VMS
 I1	  34811 #include <inet.h>			/* (SMS 2007/02/15) */
 I2	  34812 #ifndef __INET_LOADED
 I2	  34813 #define __INET_LOADED 1
 I2	  34814 /****************************************************************************
 I2	  34815 **
 I2	  34816 **  <inet.h> - Internet access
 I2	  34817 **
 I2	  34818 *****************************************************************************
 I2	  34819 **  Header introduced by the X/Open CAE Specification, Issue 4, Version 2
 I2	  34820 *****************************************************************************
 I2	  34821 **                                                                       
 I2	  34822 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I2	  34823 **                                                                       
 I2	  34824 ** Confidential computer software.  Valid license from HP and/or         

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 628
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INET)

 I2	  34825 ** its subsidiaries required for possession, use, or copying.            
 I2	  34826 **                                                                       
 I2	  34827 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I2	  34828 ** Computer Software Documentation, and Technical Data for Commercial    
 I2	  34829 ** Items are licensed to the U.S. Government under vendor's standard     
 I2	  34830 ** commercial license.                                                   
 I2	  34831 **                                                                       
 I2	  34832 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I2	  34833 ** or editorial errors or omissions contained herein.  The information   
 I2	  34834 ** in this document is provided "as is" without warranty of any kind and 
 I2	  34835 ** is subject to change without notice.  The warranties for HP products  
 I2	  34836 ** are set forth in the express limited warranty statements accompanying 
 I2	  34837 ** such products.  Nothing herein should be construed as constituting an 
 I2	  34838 ** additional warranty.                                                  
 I2	  34839 **                                                                       
 I2	  34840 *****************************************************************************
 I2	  34841 */
 I2	  34842 
 I2	  34843 #pragma   __nostandard
 I2    X  34844 #include <decc$types.h>
 I2	  34845 
 I2    X  34846 #ifdef __cplusplus
 I2    X  34847     extern "C" {
 I2    X  34848 #endif
 I2	  34849 
 I2	  34850 
 I2	  34851 /*
 I2	  34852 **  All includes of other header files must be done prior to altering
 I2	  34853 **  the pointer size mode.  
 I2	  34854 */
 I2    X  34855 #include <bitypes.h>
 I2	  34856 
 I2	  34857 
 I2	  34858 /*
 I2	  34859 **  Start processing in 32-bit addressing mode
 I2	  34860 */
 I2    X  34861 #if __INITIAL_POINTER_SIZE
 I2    X  34862 #   pragma __pointer_size __save
 I2    X  34863 #   pragma __pointer_size 32
 I2    X  34864 #endif
 I2	  34865 
 I2	  34866 
 I2	  34867 /*
 I2	  34868 **  Set __nomember_alignment to avoid internal and tail
 I2	  34869 **  padding in structures; default base alignment.
 I2	  34870 **  Required for consistency across programming languages.
 I2	  34871 */
 I2	  34872 #pragma __member_alignment __save
 I2	  34873 #pragma __nomember_alignment
 I2	  34874 
 I2	  34875 
 I2	  34876 /* 
 I2	  34877 ** Define XPG4 IP typedefs
 I2	  34878 */
 I2    X  34879 #if !defined __IN_PORT_T && !defined _DECC_V4_SOURCE
 I2    X  34880 #   define __IN_PORT_T 1
 I2    X  34881     typedef __in_port_t in_port_t;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 629
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INET)

 I2    X  34882 #endif
 I2	  34883 
 I2    X  34884 #if !defined __IN_ADDR_T  && !defined _DECC_V4_SOURCE
 I2    X  34885 #   define __IN_ADDR_T 1
 I2    X  34886     typedef __in_addr_t in_addr_t;
 I2    X  34887 #endif
 I2	  34888 
 I2	  34889 
 I2	  34890 /*
 I2	  34891 **  Internet address (a structure for historical reasons)
 I2	  34892 */
 I2    X  34893 #ifndef __IN_ADDR
 I2    X  34894 #   define __IN_ADDR 1
 I2    X  34895     struct in_addr {
 I2    X  34896         union {
 I2    X  34897             struct { unsigned char  s_b1,s_b2,s_b3,s_b4; } S_un_b;
 I2    X  34898             struct { unsigned short s_w1,s_w2;           } S_un_w;
 I2    X  34899             unsigned long S_addr;
 I2    X  34900 #ifdef _XOPEN_SOURCE
 I2    X  34901 	    __in_addr_t  S_addr_xopen;
 I2    X  34902 #endif
 I2    X  34903 	} S_un;
 I2    X  34904 };
 I2    X  34905 
 I2    X  34906 #ifdef _XOPEN_SOURCE
 I2    X  34907 #   define s_addr S_un.S_addr_xopen /* X/Open version of s_addr */
 I2    X  34908 #else
 I2    X  34909 #   define s_addr S_un.S_addr       /* can be used for most tcp & ip code */
 I2    X  34910 #endif
 I2    X  34911 
 I2    X  34912 #   define s_host  S_un.S_un_b.s_b2  /* host on imp  */
 I2    X  34913 #   define s_net   S_un.S_un_b.s_b1  /* network      */
 I2    X  34914 #   define s_imp   S_un.S_un_w.s_w2  /* imp          */
 I2    X  34915 #   define s_impno S_un.S_un_b.s_b4  /* imp #        */
 I2    X  34916 #   define s_lh    S_un.S_un_b.s_b3  /* logical host */
 I2    X  34917 #endif
 I2	  34918 
 I2	  34919 
 I2	  34920 /*
 I2	  34921 **  The following function always returns a 32 bit pointer
 I2	  34922 */
 I2	  34923 char *inet_ntoa (struct in_addr __in); 
 I2	  34924 
 I2    X  34925 #if __INITIAL_POINTER_SIZE
 I2    X  34926 #pragma __pointer_size __restore
 I2    X  34927 #endif
 I2	  34928 
 I2	  34929 /*
 I2	  34930 **  All other functions accept 32 bit or 64 bit pointers.
 I2	  34931 */
 I2	  34932 
 I2	  34933 __in_addr_t htonl (__in_addr_t __hostlong);
 I2	  34934 __in_port_t htons (__in_port_t __hostshort);
 I2	  34935 __in_addr_t ntohl (__in_addr_t __netlong);
 I2	  34936 __in_port_t ntohs (__in_port_t __netshort);
 I2	  34937 
 I2	  34938 __in_addr_t inet_addr    (__const_char_ptr64 __cp);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 630
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(INET)

 I2	  34939 __in_addr_t inet_network (__const_char_ptr64 __cp);
 I2	  34940 __in_addr_t inet_lnaof   (struct in_addr __in);
 I2	  34941 __in_addr_t inet_netof   (struct in_addr __in);
 I2	  34942 
 I2	  34943 /*
 I2	  34944 ** The new definition of inet_makeaddr() is incompatible
 I2	  34945 ** with the implementation
 I2	  34946 **  __in_addr_t  inet_makeaddr (__u_long, __u_long);
 I2	  34947 */
 I2	  34948 struct in_addr inet_makeaddr (__in_addr_t __net, __in_addr_t __lna);
 I2	  34949 
 I2	  34950 int            inet_aton (__const_char_ptr64, struct in_addr *);
 I2	  34951 
 I2	  34952 /*
 I2	  34953 ** Functions inet_pton() and inet_ntop() do not support 64-bit
 I2	  34954 ** pointers in versions of DECC$SHR prior to __CRTL_VER 70312000.
 I2	  34955 */
 I2    X  34956 #if __INITIAL_POINTER_SIZE && __CRTL_VER < 70312000
 I2    X  34957   int                inet_pton (int, __const_char_ptr32, __void_ptr32);
 I2    X  34958   __const_char_ptr32 inet_ntop (int, __const_void_ptr32, __char_ptr32, __size_t);
 I2    X  34959 #else
 I2	  34960   int          inet_pton (int, __const_char_ptr64, __void_ptr64);
 I2	  34961   const char * inet_ntop (int, __const_void_ptr64, char *, __size_t);
 I2	  34962 #endif
 I2	  34963 
 I2	  34964 
 I2    X  34965 #ifdef __cplusplus
 I2    X  34966     }
 I2    X  34967 #endif
 I2	  34968 
 I2	  34969 #pragma __member_alignment __restore
 I2	  34970 #pragma __standard
 I2	  34971 #endif /* __INET_LOADED */
 I1	  34972 #endif	/* VMS */
 I1	  34973 #include <netdb.h>
 I2	  34974 #ifndef __NETDB_LOADED
 I2	  34975 #define __NETDB_LOADED 1
 I2	  34976 /****************************************************************************
 I2	  34977 **
 I2	  34978 **  <netdb.h> - Network database library info
 I2	  34979 **
 I2	  34980 *****************************************************************************
 I2	  34981 **  Header introduced by the X/Open CAE Specification, Issue 4, Version 2
 I2	  34982 *****************************************************************************
 I2	  34983 **                                                                         **
 I2	  34984 **  HPE CONFIDENTIAL. This software is confidential proprietary software   **
 I2	  34985 **  licensed by Hewlett Packard Enterprise Development, LP, and is not     **
 I2	  34986 **  authorized to be used, duplicated or disclosed to anyone without the   **
 I2	  34987 **  prior written permission of HPE.                                       **
 I2	  34988 **  Copyright 2007 Hewlett Packard Enterprise Development, LP              **
 I2	  34989 **                                                                         **
 I2	  34990 **  VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential         **
 I2	  34991 **  proprietary software licensed by VMS Software, Inc., and is not        **
 I2	  34992 **  authorized to be used, duplicated or disclosed to anyone without       **
 I2	  34993 **  the prior written permission of VMS Software, Inc.                     **
 I2	  34994 **  Copyright 2021 VMS Software, Inc.                                      **
 I2	  34995 **                                                                         **

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 631
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2	  34996 ****************************************************************************/
 I2	  34997 
 I2	  34998 #pragma __nostandard
 I2    X  34999 #include <decc$types.h>
 I2	  35000 
 I2    X  35001 #ifdef __cplusplus
 I2    X  35002     extern "C" {
 I2    X  35003 #endif
 I2	  35004 
 I2	  35005 
 I2	  35006 /*
 I2	  35007 **  All includes of other header files must be done prior to altering
 I2	  35008 **  the pointer size mode.  
 I2	  35009 */
 I2    X  35010 #include <types.h>
 I2    X  35011 #include <bitypes.h>
 I2    X  35012 #include <socket.h>
 I2	  35013 
 I2	  35014 
 I2	  35015 /*
 I2	  35016 ** IPv6: Include these here for now so res_init() and RES_USE_INET6 will
 I2	  35017 **       be available for gethostbyname() users.
 I2	  35018 */
 I2    X  35019 #include <in.h>
 I2	  35020 #include <nameser.h>
 I3	  35021 #ifndef	__NAMESER_LOADED
 I3	  35022 #define __NAMESER_LOADED 1
 I3	  35023 /****************************************************************************
 I3	  35024 **
 I3	  35025 **  <nameser.h> - define maximum domain name size
 I3	  35026 **
 I3	  35027 *****************************************************************************
 I3	  35028 **  Header is nonstandard
 I3	  35029 *****************************************************************************
 I3	  35030 **                                                                       
 I3	  35031 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I3	  35032 **                                                                       
 I3	  35033 ** Confidential computer software.  Valid license from HP and/or         
 I3	  35034 ** its subsidiaries required for possession, use, or copying.            
 I3	  35035 **                                                                       
 I3	  35036 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I3	  35037 ** Computer Software Documentation, and Technical Data for Commercial    
 I3	  35038 ** Items are licensed to the U.S. Government under vendor's standard     
 I3	  35039 ** commercial license.                                                   
 I3	  35040 **                                                                       
 I3	  35041 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I3	  35042 ** or editorial errors or omissions contained herein.  The information   
 I3	  35043 ** in this document is provided "as is" without warranty of any kind and 
 I3	  35044 ** is subject to change without notice.  The warranties for HP products  
 I3	  35045 ** are set forth in the express limited warranty statements accompanying 
 I3	  35046 ** such products.  Nothing herein should be construed as constituting an 
 I3	  35047 ** additional warranty.                                                  
 I3	  35048 **                                                                       
 I3	  35049 *****************************************************************************
 I3	  35050 */
 I3	  35051 
 I3	  35052 #pragma __nostandard

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 632
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3    X  35053 #include <decc$types.h>
 I3	  35054 
 I3    X  35055 #ifdef __cplusplus
 I3    X  35056     extern "C" {
 I3    X  35057 #endif
 I3	  35058 
 I3	  35059 
 I3	  35060 /*
 I3	  35061 **  All includes of other header files must be done prior to altering
 I3	  35062 **  the pointer size mode.  
 I3	  35063 */
 I3    X  35064 #include <types.h>
 I3    X  35065 #include <bitypes.h>
 I3	  35066 
 I3	  35067 
 I3	  35068 /*
 I3	  35069 **  Start processing in 32-bit addressing mode
 I3	  35070 */
 I3    X  35071 #if __INITIAL_POINTER_SIZE
 I3    X  35072 #   pragma __pointer_size __save
 I3    X  35073 #   pragma __pointer_size 32
 I3    X  35074 #endif
 I3	  35075 
 I3	  35076 
 I3	  35077 /*
 I3	  35078 **  Set __nomember_alignment to avoid internal and tail
 I3	  35079 **  padding in structures; default base alignment.
 I3	  35080 **  Required for consistency across programming languages.
 I3	  35081 */
 I3	  35082 #pragma __member_alignment __save
 I3	  35083 #pragma __nomember_alignment
 I3	  35084 
 I3	  35085 
 I3	  35086 /*
 I3	  35087 **  This definition does not appear in the new NAMESER.H file
 I3	  35088 */
 I3	  35089 #define MAXDNAME 256
 I3	  35090 
 I3	  35091 /*
 I3	  35092  * revision information.  this is the release date in YYYYMMDD format.
 I3	  35093  * it can change every day so the right thing to do with it is use it
 I3	  35094  * in preprocessor commands such as "#if (__NAMESER > 19931104)".  do not
 I3	  35095  * compare for equality; rather, use it to determine whether your libnameser.a
 I3	  35096  * is new enough to contain a certain feature.
 I3	  35097  */
 I3	  35098 
 I3	  35099 /* XXXRTH I made this bigger than __BIND in 4.9.5 T6B */
 I3	  35100 #define __NAMESER	19961001	/* New interface version stamp. */
 I3	  35101 
 I3	  35102 /*
 I3	  35103  * Define constants based on RFC 883, RFC 1034, RFC 1035
 I3	  35104  */
 I3	  35105 #define NS_PACKETSZ	512	/* maximum packet size */
 I3	  35106 #define NS_MAXDNAME	1025	/* maximum domain name */
 I3	  35107 #define NS_MAXCDNAME	255	/* maximum compressed domain name */
 I3	  35108 #define NS_MAXLABEL	63	/* maximum length of domain label */
 I3	  35109 #define NS_HFIXEDSZ	12	/* #/bytes of fixed data in header */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 633
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3	  35110 #define NS_QFIXEDSZ	4	/* #/bytes of fixed data in query */
 I3	  35111 #define NS_RRFIXEDSZ	10	/* #/bytes of fixed data in r record */
 I3	  35112 #define NS_INT32SZ	4	/* #/bytes of data in a u_int32_t */
 I3	  35113 #define NS_INT16SZ	2	/* #/bytes of data in a u_int16_t */
 I3	  35114 #define NS_INT8SZ	1	/* #/bytes of data in a u_int8_t */
 I3	  35115 #define NS_INADDRSZ	4	/* IPv4 T_A */
 I3	  35116 #define NS_IN6ADDRSZ	16	/* IPv6 T_AAAA */
 I3	  35117 #define NS_CMPRSFLGS	0xc0	/* Flag bits indicating name compression. */
 I3	  35118 #define NS_DEFAULTPORT	53	/* For both TCP and UDP. */
 I3	  35119 
 I3	  35120 /*
 I3	  35121  * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
 I3	  35122  * in synch with it.
 I3	  35123  */
 I3	  35124 typedef enum __ns_sect {
 I3	  35125 	ns_s_qd = 0,		/* Query: Question. */
 I3	  35126 	ns_s_zn = 0,		/* Update: Zone. */
 I3	  35127 	ns_s_an = 1,		/* Query: Answer. */
 I3	  35128 	ns_s_pr = 1,		/* Update: Prerequisites. */
 I3	  35129 	ns_s_ns = 2,		/* Query: Name servers. */
 I3	  35130 	ns_s_ud = 2,		/* Update: Update. */
 I3	  35131 	ns_s_ar = 3,		/* Query|Update: Additional records. */
 I3	  35132 	ns_s_max = 4
 I3	  35133 } ns_sect;
 I3	  35134 
 I3	  35135 /*
 I3	  35136  * This is a message handle.  It is caller allocated and has no dynamic data.
 I3	  35137  * This structure is intended to be opaque to all but ns_parse.c, thus the
 I3	  35138  * leading _'s on the member names.  Use the accessor functions, not the _'s.
 I3	  35139  */
 I3	  35140 typedef struct __ns_msg {
 I3	  35141 	const __u_char	*_msg, *_eom;
 I3	  35142 	u_int16_t	_id, _flags, _counts[ns_s_max];
 I3	  35143 	const __u_char	*_sections[ns_s_max];
 I3	  35144 	ns_sect		_sect;
 I3	  35145 	int		_rrnum;
 I3	  35146 	const __u_char	*_ptr;
 I3	  35147 } ns_msg;
 I3	  35148 
 I3	  35149 /* Private data structure - do not use from outside library. */
 I3	  35150 struct _ns_flagdata {  int mask, shift;  };
 I3	  35151 extern struct _ns_flagdata _ns_flagdata[];
 I3	  35152 
 I3	  35153 /* Accessor macros - this is part of the public interface. */
 I3	  35154 #define ns_msg_getflag(handle, flag) ( \
 I3	  35155 			((handle)._flags & _ns_flagdata[flag].mask) \
 I3	  35156 			 >> _ns_flagdata[flag].shift \
 I3	  35157 			)
 I3	  35158 #define ns_msg_id(handle) ((handle)._id + 0)
 I3	  35159 #define ns_msg_base(handle) ((handle)._msg + 0)
 I3	  35160 #define ns_msg_end(handle) ((handle)._eom + 0)
 I3	  35161 #define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
 I3	  35162 #define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
 I3	  35163 
 I3	  35164 /*
 I3	  35165  * This is a parsed record.  It is caller allocated and has no dynamic data.
 I3	  35166  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 634
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3	  35167 typedef	struct __ns_rr {
 I3	  35168 	char		name[NS_MAXDNAME];	/* XXX need to malloc */
       E	             1025
 I3	  35169 	u_int16_t	type;
 I3	  35170 	u_int16_t	rr_class;
 I3	  35171 	u_int32_t	ttl;
 I3	  35172 	u_int16_t	rdlength;
 I3	  35173 	const __u_char	*rdata;
 I3	  35174 } ns_rr;
 I3	  35175 
 I3	  35176 /* Accessor macros - this is part of the public interface. */
 I3	  35177 #define ns_rr_name(rr)	(((rr).name[0] != '\0') ? (rr).name : ".")
 I3	  35178 #define ns_rr_type(rr)	((rr).type + 0)
 I3	  35179 #define ns_rr_class(rr)	((rr).rr_class + 0)
 I3	  35180 #define ns_rr_ttl(rr)	((rr).ttl + 0)
 I3	  35181 #define ns_rr_rdlen(rr)	((rr).rdlength + 0)
 I3	  35182 #define ns_rr_rdata(rr)	((rr).rdata + 0)
 I3	  35183 
 I3	  35184 /*
 I3	  35185  * These don't have to be in the same order as in the packet flags word,
 I3	  35186  * and they can even overlap in some cases, but they will need to be kept
 I3	  35187  * in synch with ns_parse.c:ns_flagdata[].
 I3	  35188  */
 I3	  35189 typedef enum __ns_flag {
 I3	  35190 	ns_f_qr,		/* Question/Response. */
 I3	  35191 	ns_f_opcode,		/* Operation code. */
 I3	  35192 	ns_f_aa,		/* Authoritative Answer. */
 I3	  35193 	ns_f_tc,		/* Truncation occurred. */
 I3	  35194 	ns_f_rd,		/* Recursion Desired. */
 I3	  35195 	ns_f_ra,		/* Recursion Available. */
 I3	  35196 	ns_f_z,			/* MBZ. */
 I3	  35197 	ns_f_ad,		/* Authentic Data (DNSSEC). */
 I3	  35198 	ns_f_cd,		/* Checking Disabled (DNSSEC). */
 I3	  35199 	ns_f_rcode,		/* Response code. */
 I3	  35200 	ns_f_max
 I3	  35201 } ns_flag;
 I3	  35202 
 I3	  35203 /*
 I3	  35204  * Currently defined opcodes.
 I3	  35205  */
 I3	  35206 typedef enum __ns_opcode {
 I3	  35207 	ns_o_query = 0,		/* Standard query. */
 I3	  35208 	ns_o_iquery = 1,	/* Inverse query (deprecated/unsupported). */
 I3	  35209 	ns_o_status = 2,	/* Name server status query (unsupported). */
 I3	  35210 				/* Opcode 3 is undefined/reserved. */
 I3	  35211 	ns_o_notify = 4,	/* Zone change notification. */
 I3	  35212 	ns_o_update = 5,	/* Zone update message. */
 I3	  35213 	ns_o_max = 6
 I3	  35214 } ns_opcode;
 I3	  35215 
 I3	  35216 /*
 I3	  35217  * Currently defined response codes.
 I3	  35218  */
 I3	  35219 typedef	enum __ns_rcode {
 I3	  35220 	ns_r_noerror = 0,	/* No error occurred. */
 I3	  35221 	ns_r_formerr = 1,	/* Format error. */
 I3	  35222 	ns_r_servfail = 2,	/* Server failure. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 635
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3	  35223 	ns_r_nxdomain = 3,	/* Name error. */
 I3	  35224 	ns_r_notimpl = 4,	/* Unimplemented. */
 I3	  35225 	ns_r_refused = 5,	/* Operation refused. */
 I3	  35226 	/* these are for BIND_UPDATE */
 I3	  35227 	ns_r_yxdomain = 6,	/* Name exists */
 I3	  35228 	ns_r_yxrrset = 7,	/* RRset exists */
 I3	  35229 	ns_r_nxrrset = 8,	/* RRset does not exist */
 I3	  35230 	ns_r_notauth = 9,	/* Not authoritative for zone */
 I3	  35231 	ns_r_notzone = 10,	/* Zone of record different from zone section */
 I3	  35232 	ns_r_max = 11
 I3	  35233 } ns_rcode;
 I3	  35234 
 I3	  35235 /* BIND_UPDATE */
 I3	  35236 typedef enum __ns_update_operation {
 I3	  35237 	ns_uop_delete = 0,
 I3	  35238 	ns_uop_add = 1,
 I3	  35239 	ns_uop_max = 2
 I3	  35240 } ns_update_operation;
 I3	  35241 
 I3	  35242 
 I3	  35243 /* forward decls for C++ */
 I3    X  35244 #ifdef __cplusplus
 I3    X  35245 struct databuf;
 I3    X  35246 #endif
 I3	  35247 
 I3	  35248 /*
 I3	  35249  * This RR-like structure is particular to UPDATE.
 I3	  35250  */
 I3	  35251 struct ns_updrec {
 I3	  35252         struct ns_updrec *r_prev;       /* prev record */
 I3	  35253 	struct ns_updrec *r_next;	/* next record */
 I3	  35254 	u_int8_t	r_section;	/* ZONE/PREREQUISITE/UPDATE */
 I3	  35255 	char *		r_dname;	/* owner of the RR */
 I3	  35256 	u_int16_t	r_class;	/* class number */
 I3	  35257 	u_int16_t	r_type;		/* type number */
 I3	  35258 	u_int32_t	r_ttl;		/* time to live */
 I3	  35259 	__u_char *	r_data;		/* rdata fields as text string */
 I3	  35260 	u_int16_t	r_size;		/* size of r_data field */
 I3	  35261 	int		r_opcode;	/* type of operation */
 I3	  35262 	/* following fields for private use by the resolver/server routines */
 I3	  35263 	struct ns_updrec *r_grpnext;	/* next record when grouped */
 I3	  35264 	struct databuf *r_dp;		/* databuf to process */
 I3	  35265 	struct databuf *r_deldp;	/* databuf's deleted/overwritten */
 I3	  35266 	int16_t		r_zone;		/* zone number on server */
 I3	  35267 };
 I3	  35268 typedef struct ns_updrec ns_updrec;
 I3	  35269 
 I3	  35270 /*
 I3	  35271  * Currently defined type values for resources and queries.
 I3	  35272  */
 I3	  35273 typedef enum __ns_type {
 I3	  35274 	ns_t_a = 1,		/* Host address. */
 I3	  35275 	ns_t_ns = 2,		/* Authoritative server. */
 I3	  35276 	ns_t_md = 3,		/* Mail destination. */
 I3	  35277 	ns_t_mf = 4,		/* Mail forwarder. */
 I3	  35278 	ns_t_cname = 5,		/* Canonical name. */
 I3	  35279 	ns_t_soa = 6,		/* Start of authority zone. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 636
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3	  35280 	ns_t_mb = 7,		/* Mailbox domain name. */
 I3	  35281 	ns_t_mg = 8,		/* Mail group member. */
 I3	  35282 	ns_t_mr = 9,		/* Mail rename name. */
 I3	  35283 	ns_t_null = 10,		/* Null resource record. */
 I3	  35284 	ns_t_wks = 11,		/* Well known service. */
 I3	  35285 	ns_t_ptr = 12,		/* Domain name pointer. */
 I3	  35286 	ns_t_hinfo = 13,	/* Host information. */
 I3	  35287 	ns_t_minfo = 14,	/* Mailbox information. */
 I3	  35288 	ns_t_mx = 15,		/* Mail routing information. */
 I3	  35289 	ns_t_txt = 16,		/* Text strings. */
 I3	  35290 	ns_t_rp = 17,		/* Responsible person. */
 I3	  35291 	ns_t_afsdb = 18,	/* AFS cell database. */
 I3	  35292 	ns_t_x25 = 19,		/* X_25 calling address. */
 I3	  35293 	ns_t_isdn = 20,		/* ISDN calling address. */
 I3	  35294 	ns_t_rt = 21,		/* Router. */
 I3	  35295 	ns_t_nsap = 22,		/* NSAP address. */
 I3	  35296 	ns_t_nsap_ptr = 23,	/* Reverse NSAP lookup (deprecated). */
 I3	  35297 	ns_t_sig = 24,		/* Security signature. */
 I3	  35298 	ns_t_key = 25,		/* Security key. */
 I3	  35299 	ns_t_px = 26,		/* X.400 mail mapping. */
 I3	  35300 	ns_t_gpos = 27,		/* Geographical position (withdrawn). */
 I3	  35301 	ns_t_aaaa = 28,		/* Ip6 Address. */
 I3	  35302 	ns_t_loc = 29,		/* Location Information. */
 I3	  35303 	ns_t_nxt = 30,		/* Next domain (security). */
 I3	  35304 	ns_t_eid = 31,		/* Endpoint identifier. */
 I3	  35305 	ns_t_nimloc = 32,	/* Nimrod Locator. */
 I3	  35306 	ns_t_srv = 33,		/* Server Selection. */
 I3	  35307 	ns_t_atma = 34,		/* ATM Address */
 I3	  35308 	ns_t_naptr = 35,	/* Naming Authority PoinTeR */
 I3	  35309 	/* Query type values which do not appear in resource records. */
 I3	  35310 	ns_t_ixfr = 251,	/* Incremental zone transfer. */
 I3	  35311 	ns_t_axfr = 252,	/* Transfer zone of authority. */
 I3	  35312 	ns_t_mailb = 253,	/* Transfer mailbox records. */
 I3	  35313 	ns_t_maila = 254,	/* Transfer mail agent records. */
 I3	  35314 	ns_t_any = 255,		/* Wildcard match. */
 I3	  35315 	ns_t_max = 65536
 I3	  35316 } ns_type;
 I3	  35317 
 I3	  35318 /*
 I3	  35319  * Values for class field
 I3	  35320  */
 I3	  35321 typedef enum __ns_class {
 I3	  35322 	ns_c_in = 1,		/* Internet. */
 I3	  35323 				/* Class 2 unallocated/unsupported. */
 I3	  35324 	ns_c_chaos = 3,		/* MIT Chaos-net. */
 I3	  35325 	ns_c_hs = 4,		/* MIT Hesiod. */
 I3	  35326 	/* Query class values which do not appear in resource records */
 I3	  35327 	ns_c_none = 254,	/* for prereq. sections in update requests */
 I3	  35328 	ns_c_any = 255,		/* Wildcard match. */
 I3	  35329 	ns_c_max = 65536
 I3	  35330 } ns_class;
 I3	  35331 
 I3	  35332 /*
 I3	  35333  * Flags field of the KEY RR rdata
 I3	  35334  */
 I3	  35335 #define	NS_KEY_TYPEMASK		0xC000	/* Mask for "type" bits */
 I3	  35336 #define	NS_KEY_TYPE_AUTH_CONF	0x0000	/* Key usable for both */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 637
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3	  35337 #define	NS_KEY_TYPE_CONF_ONLY	0x8000	/* Key usable for confidentiality */
 I3	  35338 #define	NS_KEY_TYPE_AUTH_ONLY	0x4000	/* Key usable for authentication */
 I3	  35339 #define	NS_KEY_TYPE_NO_KEY	0xC000	/* No key usable for either; no key */
 I3	  35340 /* The type bits can also be interpreted independently, as single bits: */
 I3	  35341 #define	NS_KEY_NO_AUTH		0x8000	/* Key unusable for authentication */
 I3	  35342 #define	NS_KEY_NO_CONF		0x4000	/* Key unusable for confidentiality */
 I3	  35343 #define	NS_KEY_EXPERIMENTAL	0x2000	/* Security is *mandatory* if bit=0 */
 I3	  35344 #define	NS_KEY_RESERVED3	0x1000  /* reserved - must be zero */
 I3	  35345 #define	NS_KEY_RESERVED4	0x0800  /* reserved - must be zero */
 I3	  35346 #define	NS_KEY_USERACCOUNT	0x0400	/* key is assoc. with a user acct */
 I3	  35347 #define	NS_KEY_ENTITY		0x0200	/* key is assoc. with entity eg host */
 I3	  35348 #define	NS_KEY_ZONEKEY		0x0100	/* key is zone key */
 I3	  35349 #define	NS_KEY_IPSEC		0x0080  /* key is for IPSEC (host or user)*/
 I3	  35350 #define	NS_KEY_EMAIL		0x0040  /* key is for email (MIME security) */
 I3	  35351 #define	NS_KEY_RESERVED10	0x0020  /* reserved - must be zero */
 I3	  35352 #define	NS_KEY_RESERVED11	0x0010  /* reserved - must be zero */
 I3	  35353 #define	NS_KEY_SIGNATORYMASK	0x000F	/* key can sign RR's of same name */
 I3	  35354 
 I3	  35355 #define	NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED3 | \
 I3	  35356 				  NS_KEY_RESERVED4 | \
 I3	  35357 				  NS_KEY_RESERVED10 | \
 I3	  35358 				  NS_KEY_RESERVED11 )
 I3	  35359 
 I3	  35360 /* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
 I3	  35361 #define	NS_ALG_MD5RSA		1	/* MD5 with RSA */
 I3	  35362 #define	NS_ALG_EXPIRE_ONLY	253	/* No alg, no security */
 I3	  35363 #define	NS_ALG_PRIVATE_OID	254	/* Key begins with OID giving alg */
 I3	  35364 
 I3	  35365 /* Signatures */
 I3	  35366 #define	NS_MD5RSA_MIN_BITS	 512	/* Size of a mod or exp in bits */
 I3	  35367 #define	NS_MD5RSA_MAX_BITS	2552
 I3	  35368 	/* Total of binary mod and exp */
 I3	  35369 #define	NS_MD5RSA_MAX_BYTES	((NS_MD5RSA_MAX_BITS+7/8)*2+3)
 I3	  35370 	/* Max length of text sig block */
 I3	  35371 #define	NS_MD5RSA_MAX_BASE64	(((NS_MD5RSA_MAX_BYTES+2)/3)*4)
 I3	  35372 
 I3	  35373 /* Offsets into SIG record rdata to find various values */
 I3	  35374 #define	NS_SIG_TYPE	0	/* Type flags */
 I3	  35375 #define	NS_SIG_ALG	2	/* Algorithm */
 I3	  35376 #define	NS_SIG_LABELS	3	/* How many labels in name */
 I3	  35377 #define	NS_SIG_OTTL	4	/* Original TTL */
 I3	  35378 #define	NS_SIG_EXPIR	8	/* Expiration time */
 I3	  35379 #define	NS_SIG_SIGNED	12	/* Signature time */
 I3	  35380 #define	NS_SIG_FOOT	16	/* Key footprint */
 I3	  35381 #define	NS_SIG_SIGNER	18	/* Domain name of who signed it */
 I3	  35382 
 I3	  35383 /* How RR types are represented as bit-flags in NXT records */
 I3	  35384 #define	NS_NXT_BITS 8
 I3	  35385 #define	NS_NXT_BIT_SET(  n,p) (p[(n)/NS_NXT_BITS] |=  (0x80>>((n)%NS_NXT_BITS)))
 I3	  35386 #define	NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
 I3	  35387 #define	NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] &   (0x80>>((n)%NS_NXT_BITS)))
 I3	  35388 
 I3	  35389 
 I3	  35390 /*
 I3	  35391  * Inline versions of get/put short/long.  Pointer is advanced.
 I3	  35392  */
 I3	  35393 #define NS_GET16(s, cp) { \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 638
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3	  35394 	register __u_char *t_cp = (__u_char *)(cp); \
 I3	  35395 	(s) = ((u_int16_t)t_cp[0] << 8) \
 I3	  35396 	    | ((u_int16_t)t_cp[1]) \
 I3	  35397 	    ; \
 I3	  35398 	(cp) += NS_INT16SZ; \
 I3	  35399 }
 I3	  35400 
 I3	  35401 #define NS_GET32(l, cp) { \
 I3	  35402 	register __u_char *t_cp = (__u_char *)(cp); \
 I3	  35403 	(l) = ((u_int32_t)t_cp[0] << 24) \
 I3	  35404 	    | ((u_int32_t)t_cp[1] << 16) \
 I3	  35405 	    | ((u_int32_t)t_cp[2] << 8) \
 I3	  35406 	    | ((u_int32_t)t_cp[3]) \
 I3	  35407 	    ; \
 I3	  35408 	(cp) += NS_INT32SZ; \
 I3	  35409 }
 I3	  35410 
 I3	  35411 #define NS_PUT16(s, cp) { \
 I3	  35412 	register u_int16_t t_s = (u_int16_t)(s); \
 I3	  35413 	register __u_char *t_cp = (__u_char *)(cp); \
 I3	  35414 	*t_cp++ = t_s >> 8; \
 I3	  35415 	*t_cp   = t_s; \
 I3	  35416 	(cp) += NS_INT16SZ; \
 I3	  35417 }
 I3	  35418 
 I3	  35419 #define NS_PUT32(l, cp) { \
 I3	  35420 	register u_int32_t t_l = (u_int32_t)(l); \
 I3	  35421 	register __u_char *t_cp = (__u_char *)(cp); \
 I3	  35422 	*t_cp++ = t_l >> 24; \
 I3	  35423 	*t_cp++ = t_l >> 16; \
 I3	  35424 	*t_cp++ = t_l >> 8; \
 I3	  35425 	*t_cp   = t_l; \
 I3	  35426 	(cp) += NS_INT32SZ; \
 I3	  35427 }
 I3	  35428 
 I3    X  35429 #if defined __TCPIP_NO_NS_TRANSLITERATIONS
 I3	  35430 /*
 I3	  35431  * For naked nameserver (ns_*) routines
 I3    X  35432  */
 I3    X  35433 #else
 I3    X  35434 #   if defined __TCPIP_NO_RES_TRANSLITERATIONS
 I3    X  35435 #define ns_get16		res$$ns_get16
 I3    X  35436 #define ns_get32		res$$ns_get32
 I3    X  35437 #define ns_put16		res$$ns_put16
 I3    X  35438 #define ns_put32		res$$ns_put32
 I3    X  35439 #define ns_initparse		res$$ns_initparse
 I3    X  35440 #define ns_parserr		res$$ns_parserr
 I3    X  35441 #define	ns_sprintrr		res$$ns_sprintrr
 I3    X  35442 #define	ns_sprintrrf		res$$ns_sprintrrf
 I3    X  35443 #define	ns_format_ttl		res$$ns_format_ttl
 I3    X  35444 #define	ns_parse_ttl		res$$ns_parse_ttl
 I3    X  35445 #define	ns_name_ntop		res$$ns_name_ntop
 I3    X  35446 #define	ns_name_pton		res$$ns_name_pton
 I3    X  35447 #define	ns_name_unpack		res$$ns_name_unpack
 I3    X  35448 #define	ns_name_pack		res$$ns_name_pack
 I3    X  35449 #define	ns_name_compress	res$$ns_name_compress
 I3    X  35450 #define	ns_name_uncompress	res$$ns_name_uncompress

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 639
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

 I3    X  35451 #   else
 I3	  35452 /*
 I3	  35453  *  If the user has not defined __TCPIP_NO_NS_TRANSLITERATIONS or
 I3	  35454  *  __TCPIP_NO_RES_TRANSLITERATIONS we will define these functions
 I3	  35455  *  with the TCPIP$ prefix so that the TCPIP$IPC_SHR interface is used.
 I3	  35456  */
 I3	  35457 #define ns_get16                TCPIP$NS_GET16
 I3	  35458 #define ns_get32                TCPIP$NS_GET32
 I3	  35459 #define ns_put16                TCPIP$NS_PUT16
 I3	  35460 #define ns_put32                TCPIP$NS_PUT32
 I3	  35461 #define ns_initparse            TCPIP$NS_INITPARSE
 I3	  35462 #define ns_parserr              TCPIP$NS_PARSERR
 I3	  35463 #define ns_sprintrr             TCPIP$NS_SPRINTRR
 I3	  35464 #define ns_sprintrrf            TCPIP$NS_SPRINTRRF
 I3	  35465 #define ns_format_ttl           TCPIP$NS_FORMAT_TTL
 I3	  35466 #define ns_parse_ttl            TCPIP$NS_PARSE_TTL
 I3	  35467 #define ns_name_ntop            TCPIP$NS_NAME_NTOP
 I3	  35468 #define ns_name_pton            TCPIP$NS_NAME_PTON
 I3	  35469 #define ns_name_unpack          TCPIP$NS_NAME_UNPACK
 I3	  35470 #define ns_name_pack            TCPIP$NS_NAME_PACL
 I3	  35471 #define ns_name_compress        TCPIP$NS_NAME_COMPRESS
 I3	  35472 #define ns_name_uncompress      TCPIP$NS_NAME_UNCOMPRESS
 I3	  35473 #   endif /* __TCPIP_NO_RES_TRANSLITERATIONS */
 I3	  35474 #endif /* __TCPIP_NO_NS_TRANSLITERATIONS */
 I3	  35475 
 I3	  35476 __u_int		ns_get16 (const __u_char *);
       E	          TCPIP$NS_GET16
 I3	  35477 __u_long		ns_get32 (const __u_char *);
       E	           TCPIP$NS_GET32
 I3	  35478 void		ns_put16 (__u_int, __u_char *);
       E	       TCPIP$NS_PUT16
 I3	  35479 void		ns_put32 (__u_long, __u_char *);
       E	       TCPIP$NS_PUT32
 I3	  35480 int		ns_initparse (const __u_char *, int, ns_msg *);
       E	      TCPIP$NS_INITPARSE
 I3	  35481 int		ns_parserr (ns_msg *, ns_sect, int, ns_rr *);
       E	      TCPIP$NS_PARSERR
 I3	  35482 int		ns_sprintrr (const ns_msg *, const ns_rr *,
       E	      TCPIP$NS_SPRINTRR
 I3	  35483 				 const char *, const char *, char *, __size_t);
 I3	  35484 int		ns_sprintrrf (const __u_char *, __size_t, const char *,
       E	      TCPIP$NS_SPRINTRRF
 I3	  35485 				  ns_class, ns_type, __u_long, const __u_char *,
 I3	  35486 				  __size_t, const char *, const char *,
 I3	  35487 				  char *, __size_t);
 I3	  35488 int		ns_format_ttl (__u_long, char *, __size_t);
       E	      TCPIP$NS_FORMAT_TTL
 I3	  35489 int		ns_parse_ttl (const char *, __u_long *);
       E	      TCPIP$NS_PARSE_TTL
 I3	  35490 int		ns_name_ntop (const __u_char *, char *, __size_t);
       E	      TCPIP$NS_NAME_NTOP
 I3	  35491 int		ns_name_pton (const char *, __u_char *, __size_t);
       E	      TCPIP$NS_NAME_PTON
 I3	  35492 int		ns_name_unpack (const __u_char *, const __u_char *,
       E	      TCPIP$NS_NAME_UNPACK
 I3	  35493 				    const __u_char *, __u_char *, __size_t);
 I3	  35494 int		ns_name_pack (const __u_char *, __u_char *, int,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 640
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NAMESER)

       E	      TCPIP$NS_NAME_PACL
 I3	  35495 				  const __u_char **, const __u_char **);
 I3	  35496 int		ns_name_uncompress (const __u_char *, const __u_char *,
       E	      TCPIP$NS_NAME_UNCOMPRESS
 I3	  35497 					const __u_char *, char *, __size_t);
 I3	  35498 int		ns_name_compress (const char *, __u_char *, __size_t,
       E	      TCPIP$NS_NAME_COMPRESS
 I3	  35499 				      const __u_char **, const __u_char **);
 I3	  35500 int		ns_name_skip (const __u_char **, const __u_char *);
 I3	  35501 
 I3    X  35502 #ifdef BIND_4_COMPAT
 I3    X  35503 #include <nameser_compat.h>
 I3    X  35504 #endif
 I3	  35505 
 I3	  35506 /*
 I3	  35507 **  Restore the users pointer context
 I3	  35508 */
 I3    X  35509 #if __INITIAL_POINTER_SIZE
 I3    X  35510 #   pragma __pointer_size __restore
 I3    X  35511 #endif
 I3	  35512 
 I3    X  35513 #ifdef __cplusplus
 I3    X  35514     }
 I3    X  35515 #endif
 I3	  35516 
 I3	  35517 #pragma __member_alignment __restore
 I3	  35518 #pragma __standard
 I3	  35519 #endif /* __NAMESER_LOADED  */
 I2	  35520 #include <resolv.h>
 I3	  35521 #ifndef __RESOLV_LOADED
 I3	  35522 #define __RESOLV_LOADED 1
 I3	  35523 
 I3	  35524 #pragma __nostandard
 I3    X  35525 #include <decc$types.h>
 I3	  35526 
 I3	  35527 #if __CRTL_VER >= 70000000  /*  Only OpenVMS V7.0 or later  */
 I3	  35528 
 I3	  35529 /****************************************************************************
 I3	  35530 **
 I3	  35531 **  <resolv.h> - Resolver configuration file
 I3	  35532 **
 I3	  35533 *****************************************************************************
 I3	  35534 **  Header is nonstandard
 I3	  35535 *****************************************************************************
 I3	  35536 **                                                                       
 I3	  35537 **   Copyright 2005 Hewlett-Packard Development Company, L.P.            
 I3	  35538 **                                                                       
 I3	  35539 ** Confidential computer software.  Valid license from HP and/or         
 I3	  35540 ** its subsidiaries required for possession, use, or copying.            
 I3	  35541 **                                                                       
 I3	  35542 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I3	  35543 ** Computer Software Documentation, and Technical Data for Commercial    
 I3	  35544 ** Items are licensed to the U.S. Government under vendor's standard     
 I3	  35545 ** commercial license.                                                   
 I3	  35546 **                                                                       
 I3	  35547 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I3	  35548 ** or editorial errors or omissions contained herein.  The information   

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 641
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3	  35549 ** in this document is provided "as is" without warranty of any kind and 
 I3	  35550 ** is subject to change without notice.  The warranties for HP products  
 I3	  35551 ** are set forth in the express limited warranty statements accompanying 
 I3	  35552 ** such products.  Nothing herein should be construed as constituting an 
 I3	  35553 ** additional warranty.                                                  
 I3	  35554 **                                                                       
 I3	  35555 *****************************************************************************
 I3	  35556 */
 I3	  35557 
 I3    X  35558 #ifdef __cplusplus
 I3    X  35559     extern "C" {
 I3    X  35560 #endif
 I3	  35561 
 I3    X  35562 #include <bitypes.h>
 I3    X  35563 #include <in.h>
 I3    X  35564 #include <nameser.h>
 I3    X  35565 #include <types.h>
 I3    X  35566 #include <stdio.h>
 I3	  35567 
 I3	  35568 /*
 I3	  35569 **  Set __nomember_alignment to avoid internal and tail
 I3	  35570 **  padding in structures; default base alignment.
 I3	  35571 **  Required for consistency across programming languages.
 I3	  35572 */
 I3	  35573 #pragma __member_alignment __save
 I3	  35574 #pragma __nomember_alignment
 I3	  35575 
 I3	  35576 /*
 I3	  35577 **  Enable 64 bit pointers for the prototype when the 
 I3	  35578 **  user has specified the /pointer_size qualifier.
 I3	  35579 */
 I3    X  35580 #if __INITIAL_POINTER_SIZE
 I3    X  35581 #   pragma __pointer_size __save
 I3    X  35582 #   pragma __pointer_size 64
 I3    X  35583 #endif
 I3	  35584 
 I3	  35585 /*
 I3	  35586 **  Function prototype
 I3	  35587 */
 I3	  35588 __char_ptr32 hostalias (const char *);
 I3	  35589 
 I3	  35590 /*
 I3	  35591 ** Rest of the functions and data structures declared in this file
 I3	  35592 ** currently require 32 bit pointers.
 I3	  35593 */
 I3    X  35594 #if __INITIAL_POINTER_SIZE
 I3    X  35595 #pragma __pointer_size 32
 I3    X  35596 #endif
 I3	  35597 
 I3	  35598 /*
 I3	  35599  * Revision information.  This is the release date in YYYYMMDD format.
 I3	  35600  * It can change every day so the right thing to do with it is use it
 I3	  35601  * in preprocessor commands such as "#if (__RES > 19931104)".  Do not
 I3	  35602  * compare for equality; rather, use it to determine whether your resolver
 I3	  35603  * is new enough to contain a certain feature.
 I3	  35604  */
 I3	  35605 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 642
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3	  35606 #define	__RES	20030124
 I3	  35607 
 I3	  35608 /*
 I3	  35609  * This used to be defined in res_query.c, now it's in herror.c.
 I3	  35610  * [XXX no it's not.  It's in irs/irs_data.c]
 I3	  35611  * It was
 I3	  35612  * never extern'd by any *.h file before it was placed here.  For thread
 I3	  35613  * aware programs, the last h_errno value set is stored in res->h_errno.
 I3	  35614  *
 I3	  35615  * XXX: There doesn't seem to be a good reason for exposing RES_SET_H_ERRNO
 I3	  35616  *      (and __h_errno_set) to the public via <resolv.h>.
 I3	  35617  * XXX: __h_errno_set is really part of IRS, not part of the resolver.
 I3	  35618  *      If somebody wants to build and use a resolver that doesn't use IRS,
 I3	  35619  *      what do they do?  Perhaps something like
 I3	  35620  *              #ifdef WANT_IRS
 I3	  35621  *              # define RES_SET_H_ERRNO(r,x) __h_errno_set(r,x)
 I3	  35622  *              #else
 I3	  35623  *              # define RES_SET_H_ERRNO(r,x) (h_errno = (r)->res_h_errno = (x))
 I3	  35624  *              #endif
 I3	  35625  */
 I3	  35626 
 I3	  35627 #define RES_SET_H_ERRNO(r,x) __h_errno_set(r,x)
 I3	  35628 struct __res_state; /* forward */
 I3	  35629 void __h_errno_set(struct __res_state *res, int err);
 I3	  35630 
 I3	  35631 /*
 I3	  35632  * Resolver configuration file.
 I3	  35633  * Normally not present, but may contain the address of the
 I3	  35634  * initial name server(s) to query and the domain search list.
 I3	  35635  */
 I3	  35636 
 I3	  35637 #ifndef _PATH_RESCONF
 I3	  35638 #define _PATH_RESCONF        "tcpip$etc:resolv.conf"
 I3	  35639 #endif
 I3	  35640 
 I3	  35641 typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error }
 I3	  35642 	res_sendhookact;
 I3	  35643 
 I3	  35644 typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *ns,
 I3	  35645 					      const u_char **query,
 I3	  35646 					      int *querylen,
 I3	  35647 					      u_char *ans,
 I3	  35648 					      int anssiz,
 I3	  35649 					      int *resplen);
 I3	  35650 
 I3	  35651 typedef res_sendhookact (*res_send_rhook) (const struct sockaddr *ns,
 I3	  35652 					      const u_char *query,
 I3	  35653 					      int querylen,
 I3	  35654 					      u_char *ans,
 I3	  35655 					      int anssiz,
 I3	  35656 					      int *resplen);
 I3	  35657 
 I3	  35658 struct res_sym {
 I3	  35659 	int		number;	    /* Identifying number, like T_MX */
 I3	  35660 	const char *	name;	    /* Its symbolic name, like "MX" */
 I3	  35661 	const char *	humanname;  /* Its fun name, like "mail exchanger" */
 I3	  35662 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 643
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3	  35663 
 I3	  35664 /*
 I3	  35665  * Global defines and variables for resolver stub.
 I3	  35666  */
 I3	  35667 #define	MAXNS			3	/* max # name servers we'll track */
 I3	  35668 #define	MAXDFLSRCH		3	/* # default domain levels to try */
 I3	  35669 #define	MAXDNSRCH		6	/* max # domains in search path */
 I3	  35670 #define	LOCALDOMAINPARTS	2	/* min levels in name that is "local" */
 I3	  35671 
 I3	  35672 #define RES_TIMEOUT             5       /* min. seconds between retries */
 I3	  35673 #define MAXRESOLVSORT           10      /* number of net to sort on */
 I3	  35674 #define RES_MAXNDOTS            15      /* should reflect bit field size */
 I3	  35675 #define RES_MAXRETRANS          30      /* only for resolv.conf/RES_OPTIONS */
 I3	  35676 #define RES_MAXRETRY            5       /* only for resolv.conf/RES_OPTIONS */
 I3	  35677 #define RES_DFLRETRY            2       /* Default #/tries. */
 I3	  35678 #define RES_MAXTIME             65535   /* Infinity, in milliseconds. */
 I3	  35679 
 I3	  35680 struct __res_state_ext;
 I3	  35681 
 I3	  35682 struct __res_state {
 I3	  35683         int     retrans;                /* retransmission time interval */
 I3	  35684         int     retry;                  /* number of times to retransmit */
 I3	  35685         u_long  options;                /* option flags - see below. */
 I3	  35686         int     nscount;                /* number of name servers */
 I3	  35687         struct sockaddr_in
 I3	  35688                 nsaddr_list[MAXNS];     /* address of name server */
       E	                             3
 I3	  35689 #define nsaddr  nsaddr_list[0]          /* for backward compatibility */
 I3	  35690         u_short id;                     /* current message id */
 I3	  35691         char    *dnsrch[MAXDNSRCH+1];   /* components of domain to search */
       E	                         6
 I3	  35692         char    defdname[256];          /* default domain (deprecated) */
 I3	  35693         u_long  pfcode;                 /* RES_PRF_ flags - see below. */
 I3	  35694         unsigned ndots:4;               /* threshold for initial abs. query */
 I3	  35695         unsigned nsort:4;               /* number of elements in sort_list[] */
 I3	  35696         char    unused[3];
 I3	  35697         struct {
 I3	  35698                 struct in_addr  addr;
 I3	  35699                 u_int32_t       mask;
 I3	  35700         } sort_list[MAXRESOLVSORT];
       E	                     10
 I3	  35701         res_send_qhook qhook;           /* query hook */
 I3	  35702         res_send_rhook rhook;           /* response hook */
 I3	  35703         int     res_h_errno;            /* last one set for this context */
 I3	  35704         int     _vcsock;                /* PRIVATE: for res_send VC i/o */
 I3	  35705         __u_int _flags;                 /* PRIVATE: see below */
 I3	  35706         __u_int _pad;                   /* make _u 64 bit aligned */
 I3	  35707         union {
 I3	  35708                 /* On an 32-bit arch this means 512b total. */
 I3	  35709                 char    pad[72 - 4*sizeof (int) - 2*sizeof (void *)];
 I3	  35710                 struct {
 I3	  35711                         u_int16_t               nscount;
 I3	  35712                         u_int16_t               nstimes[MAXNS]; /* ms. */
       E	                                                         3
 I3	  35713                         int                     nssocks[MAXNS];
       E	                                                         3
 I3	  35714                         struct __res_state_ext *ext;    /* extention for IPv6 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 644
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3	  35715                                         /* the server we just talked to */
 I3	  35716                         struct sockaddr_in last_nsaddr;
 I3	  35717                 } _ext;
 I3	  35718         } _u;
 I3	  35719 #define last_ns _u._ext.last_nsaddr
 I3	  35720 };
 I3	  35721 
 I3	  35722 typedef struct __res_state *res_state;
 I3	  35723 
 I3	  35724 union res_sockaddr_union {
 I3	  35725         struct sockaddr_in      sin;
 I3	  35726 #ifdef IN6ADDR_ANY_INIT
 I3	  35727         struct sockaddr_in6     sin6;
 I3	  35728 #endif
 I3    X  35729 #ifdef ISC_ALIGN64
 I3    X  35730         int64_t                 __align64;      /* 64bit alignment */
 I3    X  35731 #else
 I3	  35732         int32_t                 __align32;      /* 32bit alignment */
 I3	  35733 #endif
 I3	  35734         char                    __space[128];   /* max size */
 I3	  35735 };
 I3	  35736 
 I3	  35737 /*
 I3	  35738  * Resolver flags (used to be discrete per-module statics ints).
 I3	  35739  */
 I3	  35740 #define RES_F_VC        0x00000001      /* socket is TCP */
 I3	  35741 #define RES_F_CONN      0x00000002      /* socket is connected */
 I3	  35742 #define RES_F_EDNS0ERR  0x00000004      /* EDNS0 caused errors */
 I3	  35743 #define RES_F__UNUSED   0x00000008      /* (unused) */
 I3	  35744 #define RES_F_LASTMASK  0x000000F0      /* ordinal server of last res_nsend */
 I3	  35745 #define RES_F_LASTSHIFT 4               /* bit position of LASTMASK "flag" */
 I3	  35746 #define RES_GETLAST(res) (((res)._flags & RES_F_LASTMASK) >> RES_F_LASTSHIFT)
 I3	  35747 
 I3	  35748 /* res_findzonecut2() options */
 I3	  35749 #define RES_EXHAUSTIVE  0x00000001      /* always do all queries */
 I3	  35750 #define RES_IPV4ONLY    0x00000002      /* IPv4 only */
 I3	  35751 #define RES_IPV6ONLY    0x00000004      /* IPv6 only */
 I3	  35752 
 I3	  35753 /*
 I3	  35754  * Resolver options (keep these in synch with res_debug.c, please)
 I3	  35755  */
 I3	  35756 #define RES_INIT        0x00000001      /* address initialized */
 I3	  35757 #define RES_DEBUG       0x00000002      /* print debug messages */
 I3	  35758 #define RES_AAONLY      0x00000004      /* authoritative answers only (!IMPL)*/
 I3	  35759 #define RES_USEVC       0x00000008      /* use virtual circuit */
 I3	  35760 #define RES_PRIMARY     0x00000010      /* query primary server only (!IMPL) */
 I3	  35761 #define RES_IGNTC       0x00000020      /* ignore trucation errors */
 I3	  35762 #define RES_RECURSE     0x00000040      /* recursion desired */
 I3	  35763 #define RES_DEFNAMES    0x00000080      /* use default domain name */
 I3	  35764 #define RES_STAYOPEN    0x00000100      /* Keep TCP socket open */
 I3	  35765 #define RES_DNSRCH      0x00000200      /* search up local domain tree */
 I3	  35766 #define RES_INSECURE1   0x00000400      /* type 1 security disabled */
 I3	  35767 #define RES_INSECURE2   0x00000800      /* type 2 security disabled */
 I3	  35768 #define RES_NOALIASES   0x00001000      /* shuts off HOSTALIASES feature */
 I3	  35769 #define RES_USE_INET6   0x00002000      /* use/map IPv6 in gethostbyname() */
 I3	  35770 #define RES_ROTATE      0x00004000      /* rotate ns list after each query */
 I3	  35771 #define RES_NOCHECKNAME 0x00008000      /* do not check names for sanity. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 645
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3	  35772 #define RES_KEEPTSIG    0x00010000      /* do not strip TSIG records */
 I3	  35773 #define RES_BLAST       0x00020000      /* blast all recursive servers */
 I3	  35774 #define RES_NOTLDQUERY  0x00100000      /* don't unqualified name as a tld */
 I3	  35775 #define RES_USE_DNSSEC  0x00200000      /* use DNSSEC using OK bit in OPT */
 I3	  35776 /* KAME extensions: use higher bit to avoid conflict with ISC use */
 I3	  35777 #define RES_USE_DNAME   0x10000000      /* use DNAME */
 I3	  35778 #define RES_USE_EDNS0   0x40000000      /* use EDNS0 if configured */
 I3	  35779 #define RES_NO_NIBBLE2  0x80000000      /* disable alternate nibble lookup */
 I3	  35780 
 I3	  35781 #define RES_DEFAULT     (RES_RECURSE | RES_DEFNAMES | \
 I3	  35782                          RES_DNSRCH | RES_NO_NIBBLE2)
 I3	  35783 
 I3	  35784 /*
 I3	  35785  * Resolver "pfcode" values.  Used by dig.
 I3	  35786  */
 I3	  35787 #define RES_PRF_STATS   0x00000001
 I3	  35788 #define RES_PRF_UPDATE  0x00000002
 I3	  35789 #define RES_PRF_CLASS   0x00000004
 I3	  35790 #define RES_PRF_CMD     0x00000008
 I3	  35791 #define RES_PRF_QUES    0x00000010
 I3	  35792 #define RES_PRF_ANS     0x00000020
 I3	  35793 #define RES_PRF_AUTH    0x00000040
 I3	  35794 #define RES_PRF_ADD     0x00000080
 I3	  35795 #define RES_PRF_HEAD1   0x00000100
 I3	  35796 #define RES_PRF_HEAD2   0x00000200
 I3	  35797 #define RES_PRF_TTLID   0x00000400
 I3	  35798 #define RES_PRF_HEADX   0x00000800
 I3	  35799 #define RES_PRF_QUERY   0x00001000
 I3	  35800 #define RES_PRF_REPLY   0x00002000
 I3	  35801 #define RES_PRF_INIT    0x00004000
 I3	  35802 #define RES_PRF_TRUNC   0x00008000
 I3	  35803 /*                      0x00010000      */
 I3	  35804 
 I3    X  35805 #ifdef _REENTRANT
 I3    X  35806 #ifdef __TCPIP_NO_RES_TRANSLITERATIONS
 I3    X  35807 extern struct __res_state *__res_state(void);
 I3    X  35808 #define _res (*__res_state())
 I3    X  35809 #else
 I3    X  35810 extern struct __res_state *TCPIP$__RES_STATE(void);
 I3    X  35811 #define _res (*TCPIP$__RES_STATE())
 I3    X  35812 #endif /* __TCPIP_NO_RES_TRANSLITERATIONS */
 I3    X  35813 #else
 I3	  35814 #ifndef __BIND_NOSTATIC
 I3	  35815 extern struct __res_state _res;
 I3	  35816 #endif
 I3	  35817 #endif /* _REENTRANT */
 I3	  35818 
 I3	  35819 /*
 I3	  35820 **  The following functions are not defined in the DECC$SHR image, but
 I3	  35821 **  instead must be resolved with the TCPIP images.
 I3	  35822 **
 I3	  35823 **  If the user has not defined __TCPIP_NO_RES_TRANSLITERATIONS,
 I3	  35824 **  we will define these functions as their TCPIP$ replacements.
 I3	  35825 */
 I3    X  35826 #if defined __TCPIP_NO_RES_TRANSLITERATIONS
 I3    X  35827 extern const struct res_sym __p_class_syms[];
 I3    X  35828 extern const struct res_sym __p_type_syms[];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 646
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3    X  35829 #else
 I3	  35830 extern const struct res_sym *TCPIP$P_CLASS_SYMS();
 I3	  35831 extern const struct res_sym *TCPIP$P_TYPE_SYMS();
 I3	  35832 #define res_hnok		TCPIP$RES_HNOK
 I3	  35833 #define res_ownok		TCPIP$RES_OWNOK
 I3	  35834 #define res_mailok		TCPIP$RES_MAILOK
 I3	  35835 #define res_dnok		TCPIP$RES_DNOK
 I3	  35836 #define	sym_ston		TCPIP$SYM_STON
 I3	  35837 #define	sym_ntos		TCPIP$SYM_NTOS
 I3	  35838 #define	sym_ntop		TCPIP$SYM_NTOP
 I3	  35839 #define b64_ntop		TCPIP$B64_NTOP
 I3	  35840 #define	b64_pton		TCPIP$B64_PTON
 I3	  35841 #define loc_ntoa		TCPIP$LOC_NTOA
 I3	  35842 #define loc_aton		TCPIP$LOC_ATON
 I3	  35843 #define	fp_resstat		TCPIP$FP_RESSTAT
 I3	  35844 #define p_query			TCPIP$P_QUERY
 I3	  35845 #define	dn_skipname		TCPIP$DN_SKIPNAME
 I3	  35846 #define	fp_resstat		TCPIP$FP_RESSTAT
 I3	  35847 #define	fp_query		TCPIP$FP_QUERY
 I3	  35848 #define	fp_nquery		TCPIP$FP_NQUERY
 I3	  35849 #define	putlong			TCPIP$PUTLONG
 I3	  35850 #define	putshort		TCPIP$PUTSHORT
 I3	  35851 #define p_class			TCPIP$P_CLASS
 I3	  35852 #define p_time			TCPIP$P_TIME
 I3	  35853 #define p_type			TCPIP$P_TYPE
 I3	  35854 #define p_query			TCPIP$P_QUERY
 I3	  35855 #define	p_cdnname		TCPIP$P_CDNNAME
 I3	  35856 #define	p_section		TCPIP$P_SECTION
 I3	  35857 #define	p_cdname		TCPIP$P_CDNAME
 I3	  35858 #define	p_fqnname		TCPIP$P_FQNNAME
 I3	  35859 #define	p_fqname		TCPIP$P_FQNAME
 I3	  35860 #define	p_option		TCPIP$P_OPTION
 I3	  35861 #define	p_secstodate		TCPIP$P_SECSTODATE
 I3	  35862 #define	dn_count_labels		TCPIP$DN_COUNT_LABELS
 I3	  35863 #define	dn_comp			TCPIP$DN_COMP
 I3	  35864 #define	dn_expand		TCPIP$DN_EXPAND
 I3	  35865 #define	res_init		TCPIP$RES_INIT
 I3	  35866 #define res_init_access         TCPIP$RES_INIT_ACCESS
 I3	  35867 #define	res_randomid		TCPIP$RES_RANDOMID
 I3	  35868 #define	res_query		TCPIP$RES_QUERY
 I3	  35869 #define	res_search		TCPIP$RES_SEARCH
 I3	  35870 #define	res_querydomain		TCPIP$RES_QUERYDOMAIN
 I3	  35871 #define	res_mkquery		TCPIP$RES_MKQUERY
 I3	  35872 #define	res_send		TCPIP$RES_SEND
 I3	  35873 #define	res_isourserver		TCPIP$RES_ISOURSERVER
 I3	  35874 #define	res_nameinquery		TCPIP$RES_NAMEINQUERY
 I3	  35875 #define	res_queriesmatch	TCPIP$RES_QUERIESMATCH
 I3	  35876 #define res_close		TCPIP$RES_CLOSE
 I3	  35877 #define res_update		TCPIP$RES_UPDATE
 I3	  35878 #define res_mkupdate		TCPIP$RES_MKUPDATE
 I3	  35879 #define res_mkupdrec		TCPIP$RES_MKUPDREC
 I3	  35880 #define res_freeupdrec		TCPIP$RES_FREEUPDREC
 I3	  35881 #define res_alloc_updrec        TCPIP$RES_ALLOC_UPDREC
 I3	  35882 #define res_zone_update         TCPIP$RES_ZONE_UPDATE
 I3	  35883 #define __p_class_syms		(TCPIP$P_CLASS_SYMS())
 I3	  35884 #define __p_type_syms		(TCPIP$P_TYPE_SYMS())
 I3	  35885 #define _res_opcodes		TCPIP$RES_OPCODES

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 647
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3	  35886 #define _res_sectioncodes	TCPIP$RES_SECTION_CODES
 I3	  35887 /* hostalias defined in decc rtl */
 I3	  35888 #endif  /* __TCPIP_NO_RES_TRANSLITERATIONS */
 I3	  35889 
 I3	  35890 /*
 I3	  35891 **  Function prototypes
 I3	  35892 */
 I3	  35893 int		res_hnok (const char *);
       E	      TCPIP$RES_HNOK
 I3	  35894 int		res_ownok (const char *);
       E	      TCPIP$RES_OWNOK
 I3	  35895 int		res_mailok (const char *);
       E	      TCPIP$RES_MAILOK
 I3	  35896 int		res_dnok (const char *);
       E	      TCPIP$RES_DNOK
 I3	  35897 int		sym_ston (const struct res_sym *, const char *, int *);
       E	      TCPIP$SYM_STON
 I3	  35898 __const_char_ptr32 sym_ntos (const struct res_sym *, int, int *);
       E	                    TCPIP$SYM_NTOS
 I3	  35899 __const_char_ptr32 sym_ntop (const struct res_sym *, int, int *);
       E	                    TCPIP$SYM_NTOP
 I3	  35900 int		b64_ntop (u_char const *, size_t, char *, size_t);
       E	      TCPIP$B64_NTOP
 I3	  35901 int		b64_pton (char const *, u_char *, size_t);
       E	      TCPIP$B64_PTON
 I3	  35902 int		loc_aton (const char *ascii, u_char *binary);
       E	      TCPIP$LOC_ATON
 I3	  35903 __const_char_ptr32 loc_ntoa (const u_char *binary, char *ascii);
       E	                    TCPIP$LOC_NTOA
 I3	  35904 int		dn_skipname (const u_char *, const u_char *);
       E	      TCPIP$DN_SKIPNAME
 I3	  35905 void		fp_resstat (struct __res_state *, FILE *);
       E	       TCPIP$FP_RESSTAT
 I3	  35906 void		fp_query (const u_char *, FILE *);
       E	       TCPIP$FP_QUERY
 I3	  35907 void		fp_nquery (const u_char *, int, FILE *);
       E	       TCPIP$FP_NQUERY
 I3	  35908 void		putlong (u_int32_t, u_char *);
       E	       TCPIP$PUTLONG
 I3	  35909 void		putshort (u_int16_t, u_char *);
       E	       TCPIP$PUTSHORT
 I3	  35910 __char_ptr32	p_class (int);
       E	              TCPIP$P_CLASS
 I3	  35911 __char_ptr32	p_time (u_int32_t);
       E	              TCPIP$P_TIME
 I3	  35912 __char_ptr32	p_type (int);
       E	              TCPIP$P_TYPE
 I3	  35913 void		p_query (const u_char *);
       E	       TCPIP$P_QUERY
 I3	  35914 __u_char_ptr32	p_cdnname (const u_char *, const u_char *, int, FILE *);
       E	                TCPIP$P_CDNNAME
 I3	  35915 __u_char_ptr32	p_cdname (const u_char *, const u_char *, FILE *);
       E	                TCPIP$P_CDNAME
 I3	  35916 __u_char_ptr32	p_fqnname (const u_char *cp, const u_char *msg,
       E	                TCPIP$P_FQNNAME
 I3	  35917 			       int, char *, int);
 I3	  35918 __const_u_char_ptr32 p_fqname (const u_char *, const u_char *, FILE *);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 648
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

       E	                      TCPIP$P_FQNAME
 I3	  35919 __char_ptr32	p_option (u_long option);
       E	              TCPIP$P_OPTION
 I3	  35920 __char_ptr32	p_secstodate (u_long);
       E	              TCPIP$P_SECSTODATE
 I3	  35921 int		dn_count_labels (const char *);
       E	      TCPIP$DN_COUNT_LABELS
 I3	  35922 int		dn_comp (const char *, u_char *, int,
       E	      TCPIP$DN_COMP
 I3	  35923 			     u_char **, u_char **);
 I3	  35924 int		dn_expand (const u_char *, const u_char *, const u_char *,
       E	      TCPIP$DN_EXPAND
 I3	  35925 			       char *, int);
 I3	  35926 int		res_init (void);
       E	      TCPIP$RES_INIT
 I3	  35927 __u_int		res_randomid (void);
       E	          TCPIP$RES_RANDOMID
 I3	  35928 int		res_query (const char *, int, int, u_char *, int);
       E	      TCPIP$RES_QUERY
 I3	  35929 int		res_search (const char *, int, int, u_char *, int);
       E	      TCPIP$RES_SEARCH
 I3	  35930 int		res_querydomain (const char *, const char *, int, int,
       E	      TCPIP$RES_QUERYDOMAIN
 I3	  35931 				     u_char *, int);
 I3	  35932 int		res_mkquery (int, const char *, int, int, const u_char *,
       E	      TCPIP$RES_MKQUERY
 I3	  35933 				 int, const u_char *, u_char *, int);
 I3	  35934 int		res_send (const u_char *, int, u_char *, int);
       E	      TCPIP$RES_SEND
 I3	  35935 int		res_isourserver (const struct sockaddr_in *);
       E	      TCPIP$RES_ISOURSERVER
 I3	  35936 int		res_nameinquery (const char *, int, int,
       E	      TCPIP$RES_NAMEINQUERY
 I3	  35937 				     const u_char *, const u_char *);
 I3	  35938 int		res_queriesmatch (const u_char *, const u_char *,
       E	      TCPIP$RES_QUERIESMATCH
 I3	  35939 				      const u_char *, const u_char *);
 I3	  35940 void		res_close (void);
       E	       TCPIP$RES_CLOSE
 I3	  35941 __char_ptr32	p_section (int section, int opcode);
       E	              TCPIP$P_SECTION
 I3	  35942 int		res_update (ns_updrec *);
       E	      TCPIP$RES_UPDATE
 I3	  35943 int		res_mkupdate (ns_updrec *, u_char *, int);
       E	      TCPIP$RES_MKUPDATE
 I3	  35944 ns_updrec *	res_mkupdrec (int, const char *, __u_int, __u_int, u_long);
       E	             TCPIP$RES_MKUPDREC
 I3	  35945 void		res_freeupdrec (ns_updrec *);
       E	       TCPIP$RES_FREEUPDREC
 I3	  35946 ns_updrec *     res_alloc_updrec (__u_int, __u_int, const char *,
       E	                 TCPIP$RES_ALLOC_UPDREC
 I3	  35947                                   __u_int, __u_int, u_long, __u_int, char *);
 I3	  35948 int             res_zone_update (ns_updrec *);
       E	                 TCPIP$RES_ZONE_UPDATE
 I3	  35949 
 I3	  35950 /*
 I3	  35951 **  Restore the users pointer context

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 649
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(RESOLV)

 I3	  35952 */
 I3    X  35953 #if __INITIAL_POINTER_SIZE
 I3    X  35954 #   pragma __pointer_size __restore
 I3    X  35955 #endif
 I3	  35956 
 I3    X  35957 #ifdef __cplusplus
 I3    X  35958     }
 I3    X  35959 #endif
 I3	  35960 
 I3	  35961 #pragma __member_alignment __restore
 I3	  35962 #endif  /* __CRTL_VER */
 I3	  35963 
 I3	  35964 #pragma __standard
 I3	  35965 #endif  /* __RESOLV_LOADED */
 I2	  35966 
 I2	  35967 /*
 I2	  35968 **  Start processing in 32-bit addressing mode
 I2	  35969 */
 I2    X  35970 #if __INITIAL_POINTER_SIZE
 I2    X  35971 #   pragma __pointer_size __save
 I2    X  35972 #   pragma __pointer_size 32
 I2    X  35973 #endif
 I2	  35974 
 I2	  35975 
 I2	  35976 /*
 I2	  35977 **  Those socket structures allocated by the DEC C RTL or the underlying tcp/ip
 I2	  35978 **  layer are always 32 bit pointers.  Declare typedefs which are pointers to
 I2	  35979 **  these structures while in 32 bit pointer context.  We will then use these
 I2	  35980 **  typedefs in the function prototypes when in 64 bit pointer context.
 I2	  35981 */
 I2	  35982 typedef struct hostent  * __struct_hostent_ptr32;
 I2	  35983 typedef struct hostent  ** __struct_hostent_ptr32_ptr32;
 I2	  35984 typedef struct servent  * __struct_servent_ptr32;
 I2	  35985 typedef struct netent   * __struct_netent_ptr32;
 I2	  35986 typedef struct protoent * __struct_protoent_ptr32;
 I2	  35987 /*
 I2	  35988 **  The OpenVMS V7.0 release added a second implementation of the socket 
 I2	  35989 **  functions which is compatible with BSD 4.4.  Define a local to be 
 I2	  35990 **  used throughout the remaining header file which reflects which 
 I2	  35991 **  implementation is being used.
 I2	  35992 **
 I2	  35993 **  An application program enables this support by defining _SOCKADDR_LEN
 I2	  35994 **  prior to including this header file.
 I2	  35995 */
 I2    X  35996 #ifdef _SOCKADDR_LEN
 I2    X  35997 #   if (__CRTL_VER < 70000000)
 I2    X  35998 #      error " BSD 4.4 Socket package not available before OpenVMS V7.0"
 I2    X  35999 #      undef _SOCKADDR_LEN
 I2    X  36000 #   endif
 I2    X  36001 #endif
 I2	  36002 
 I2	  36003 
 I2	  36004 /*
 I2	  36005 **  Set __nomember_alignment to avoid internal and tail
 I2	  36006 **  padding in structures; default base alignment.
 I2	  36007 **  Required for consistency across programming languages.
 I2	  36008 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 650
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2	  36009 #pragma __member_alignment __save
 I2	  36010 #pragma __nomember_alignment
 I2	  36011 
 I2	  36012 
 I2	  36013 /*
 I2	  36014 **  Conditionally define in_addr_t and size_t structures
 I2	  36015 */
 I2    X  36016 #if !defined __IN_ADDR_T  && !defined _DECC_V4_SOURCE
 I2    X  36017 #   define __IN_ADDR_T
 I2    X  36018     typedef __in_addr_t in_addr_t;
 I2    X  36019 #endif
 I2	  36020 
 I2    X  36021 #ifndef __SIZE_T
 I2    X  36022 #   define __SIZE_T 1
 I2    X  36023 #ifdef __NAMESPACE_STD
 I2    X  36024 namespace std {
 I2    X  36025 #endif
 I2    X  36026     typedef __size_t size_t;
 I2    X  36027 #ifdef __NAMESPACE_STD
 I2    X  36028 } /* namespace std */
 I2    X  36029     using std::size_t;
 I2    X  36030 #endif
 I2    X  36031 #endif
 I2	  36032 
 I2	  36033 
 I2	  36034 /*
 I2	  36035 **  Internal Constants for Reentrant Socket Functions
 I2	  36036 */
 I2    X  36037 #ifdef _REENTRANT
 I2    X  36038 #define _MAXALIASES     35
 I2    X  36039 #define _MAXLINELEN     1024
 I2    X  36040 #define _MAXADDRS       35
 I2    X  36041 #define _HOSTBUFSIZE    (BUFSIZ + 1)
 I2    X  36042 
 I2    X  36043 struct hostent_data {
 I2    X  36044         struct in_addr  host_addr;
 I2    X  36045         char            *h_addr_ptrs[_MAXADDRS + 1];
 I2    X  36046         char            hostaddr[_MAXADDRS];
 I2    X  36047         char            hostbuf[_HOSTBUFSIZE];
 I2    X  36048         char            *host_aliases[_MAXALIASES];
 I2    X  36049         char            *host_addrs[2];
 I2    X  36050         FILE            *hostf;
 I2    X  36051         int             svc_gethostflag;
 I2    X  36052         int             svc_gethostbind;
 I2    X  36053 };
 I2    X  36054 
 I2    X  36055 struct  netent_data {
 I2    X  36056         FILE    *net_fp;
 I2    X  36057         char    line[_MAXLINELEN];
 I2    X  36058         char    *net_aliases[_MAXALIASES];
 I2    X  36059         int     _net_stayopen;
 I2    X  36060         int     svc_getnetflag;
 I2    X  36061 };
 I2    X  36062 
 I2    X  36063 struct  protoent_data {
 I2    X  36064         FILE    *proto_fp;
 I2    X  36065         char    line[1024];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 651
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2    X  36066         char    *proto_aliases[_MAXALIASES];
 I2    X  36067         int     _proto_stayopen;
 I2    X  36068         int     svc_getprotoflag;
 I2    X  36069 };
 I2    X  36070 
 I2    X  36071 struct  servent_data {
 I2    X  36072         FILE    *serv_fp;
 I2    X  36073         char    line[_MAXLINELEN];
 I2    X  36074         char    *serv_aliases[_MAXALIASES];
 I2    X  36075         int     _serv_stayopen;
 I2    X  36076         int     svc_getservflag;
 I2    X  36077 };
 I2    X  36078 #endif /* _REENTRANT */
 I2	  36079 
 I2	  36080 #define _PATH_HOSTS     "TCPIP$SYSTEM:HOSTS.DAT"
 I2	  36081 #define _PATH_NETWORKS  "TCPIP$SYSTEM:NETWORKS.DAT"
 I2	  36082 #define _PATH_PROTOCOLS "TCPIP$SYSTEM:PROTOCOLS.DAT"
 I2	  36083 #define _PATH_SERVICES  "TCPIP$ETC:SERVICES.DAT"
 I2	  36084 
 I2	  36085 /*
 I2	  36086 ** Structures returned by network data base library.  All addresses are
 I2	  36087 ** supplied in host order, and returned in network order (suitable for
 I2	  36088 ** use in system calls).
 I2	  36089 **/
 I2	  36090 
 I2	  36091 /*
 I2	  36092 ** Hostent Structure
 I2	  36093 **
 I2	  36094 ** This structure specifies or obtains a host name, a list of aliases
 I2	  36095 ** associated with the host, and the host's number specified
 I2	  36096 ** as an Internet address from the host database.  An entry in the host 
 I2	  36097 ** database is created with the following command:
 I2	  36098 **
 I2	  36099 **    TCPIP> SET HOST XXXX
 I2	  36100 **
 I2	  36101 ** See the HP TCP/IP Services for OpenVMS Management Guide for 
 I2	  36102 ** a description of the host database.
 I2	  36103 */
 I2	  36104 struct  hostent {
 I2	  36105 	char	*h_name;	/* official name of host */
 I2	  36106 	char	**h_aliases;	/* alias list */
 I2	  36107 	int	h_addrtype;	/* host address type */
 I2	  36108 	int	h_length;	/* length of address */
 I2	  36109 	char	**h_addr_list;	/* list of addresses from name server */
 I2	  36110 #define	h_addr	h_addr_list[0]	/* address, for backward compatiblity */
 I2	  36111 };
 I2	  36112 
 I2	  36113 /*
 I2	  36114 ** Netent Structure
 I2	  36115 **
 I2	  36116 ** This structure specifies or obtains a network name, a list of aliases
 I2	  36117 ** associated with the network, and the network's number specified
 I2	  36118 ** as an Internet address from the network database.  An entry in the network
 I2	  36119 ** database is created with the following command:
 I2	  36120 **
 I2	  36121 **    TCPIP> SET NETWORK XXXX
 I2	  36122 **

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 652
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2	  36123 ** See the HP TCP/IP Services for OpenVMS Management Guide for
 I2	  36124 ** a description of the network database.
 I2	  36125 **
 I2	  36126 */
 I2	  36127 
 I2	  36128 /*
 I2	  36129  * Assumption here is that a network number
 I2	  36130  * fits in 32 bits -- probably a poor one.
 I2	  36131  */
 I2	  36132 struct	netent {
 I2	  36133 	char		*n_name;	/* official name of net */
 I2	  36134 	char		**n_aliases;	/* alias list */
 I2	  36135 	int		n_addrtype;	/* net address type */
 I2	  36136 	__in_addr_t	n_net;		/* network # */
 I2	  36137 };
 I2	  36138 
 I2	  36139 /*
 I2	  36140 ** Servent Structure
 I2	  36141 **
 I2	  36142 ** This structure specifies or obtains a service name, a list of aliases
 I2	  36143 ** associated with the service, and the service's number specified
 I2	  36144 ** as an Internet address from the services database.  An entry in the services
 I2	  36145 ** database is created with the following command:
 I2	  36146 **
 I2	  36147 **    TCPIP> SET SERV XXXX
 I2	  36148 **
 I2	  36149 ** See the HP TCP/IP Services for OpenVMS Management Guide for
 I2	  36150 ** a description of the services database.
 I2	  36151 */
 I2	  36152 struct	servent {
 I2	  36153 	char	*s_name;	/* official service name */
 I2	  36154 	char	**s_aliases;	/* alias list */
 I2	  36155 	int	s_port;		/* port # */
 I2	  36156 	char	*s_proto;	/* protocol to use */
 I2	  36157 };
 I2	  36158 
 I2	  36159 struct	protoent {
 I2	  36160 	char	*p_name;	/* official protocol name */
 I2	  36161 	char	**p_aliases;	/* alias list */
 I2	  36162 	int	p_proto;	/* protocol # */
 I2	  36163 };
 I2	  36164 
 I2	  36165 
 I2	  36166 /*
 I2	  36167  * Flag values for getaddrinfo()
 I2	  36168  */
 I2	  36169 #define AI_PASSIVE	0x00000001	/* socket address intended for bind() */
 I2	  36170 #define AI_CANONNAME	0x00000002	/* request for canonical name */
 I2	  36171 #define AI_NUMERICHOST  0x00000004      /* numeric host address string */
 I2	  36172 #define AI_ALL		0x00000008      /* Both AAAA and A records */
 I2	  36173 #define AI_V4MAPPED     0x00000010      /* request IPV4 mapped IPV6 address */
 I2	  36174 #define AI_ADDRCONFIG   0x00000020      /* Address Family must be configured */
 I2	  36175 #define AI_NUMERICSERV  0x00000040      /* numeric service string */
 I2	  36176 #define AI_DEFAULT      (AI_V4MAPPED | AI_ADDRCONFIG)   /* Default behavior */
 I2	  36177 #define AI_MASK         (AI_PASSIVE|AI_CANONNAME|AI_NUMERICHOST|\
 I2	  36178                          AI_V4MAPPED|AI_ALL|AI_ADDRCONFIG|AI_NUMERICSERV)
 I2	  36179 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 653
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2	  36180 /*
 I2	  36181  * Flag values for getnameinfo()
 I2	  36182  */
 I2	  36183 #define NI_DGRAM        0x00000001
 I2	  36184 #define NI_NAMEREQD     0x00000002
 I2	  36185 #define NI_NOFQDN       0x00000004
 I2	  36186 #define NI_NUMERICHOST  0x00000008
 I2	  36187 #define NI_NUMERICSERV  0x00000010
 I2	  36188 #define NI_NUMERICSCOPE 0x00000020
 I2	  36189 #define NI_WITHSCOPEID  0x00000040
 I2	  36190 
 I2	  36191 #define NI_MAXHOST	1025
 I2	  36192 #define NI_MAXSERV	32
 I2	  36193 
 I2	  36194 /*
 I2	  36195  * Scope delimit character
 I2	  36196  */
 I2	  36197 #define SCOPE_DELIMITER '%'
 I2	  36198 
 I2	  36199 /*	 
 I2	  36200 **  DEC C extensions
 I2	  36201 */	 
 I2	  36202 #if !defined _XOPEN_SOURCE_EXTENDED
 I2	  36203     /*
 I2	  36204     **  Rpcent Structures
 I2	  36205     */
 I2	  36206     struct rpcent {
 I2	  36207 	char  *r_name;        /* name of server for rpc program */
 I2	  36208 	char **r_aliases;     /* alias list                     */
 I2	  36209 	int    r_number;      /* rpc program number             */
 I2	  36210     };
 I2	  36211 #endif
 I2	  36212 
 I2	  36213 
 I2	  36214 /*
 I2	  36215 **  Error return codes from gethostbyname and gethostbyaddr (left in h_errno).
 I2	  36216 */
 I2	  36217 #define NETDB_INTERNAL  -1      /* see errno */
 I2	  36218 #define NETDB_SUCCESS   0       /* no problem */
 I2	  36219 #define HOST_NOT_FOUND  1 /* Authoritative Answer Host not found */
 I2	  36220 #define TRY_AGAIN       2 /* Non-Authoritive Host not found, or SERVERFAIL */
 I2	  36221 #define NO_RECOVERY     3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
 I2	  36222 #define NO_DATA         4 /* Valid name, no data record of requested type */
 I2	  36223 #define NO_ADDRESS      NO_DATA         /* no address, look for MX record */
 I2	  36224 
 I2	  36225 /*
 I2	  36226  **  As of OpenVMS V7.0, the DEC C RTL supports h_errno.
 I2	  36227  */
 I2	  36228 int *decc$h_errno_get_addr(void);
 I2	  36229 #define h_errno (*decc$h_errno_get_addr())
 I2	  36230 
 I2    X  36231 #if __INITIAL_POINTER_SIZE
 I2    X  36232 #   pragma __pointer_size 64
 I2    X  36233 
 I2    X  36234 /*
 I2    X  36235  * 64-bit addrinfo structure
 I2    X  36236  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 654
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2    X  36237 struct __addrinfo64 {
 I2    X  36238 	int		   ai_flags;	/* input flags */
 I2    X  36239 	int		   ai_family;	/* protofamily for socket */
 I2    X  36240 	int		   ai_socktype;	/* socket type */
 I2    X  36241 	int		   ai_protocol;	/* protocol for socket */
 I2    X  36242 	size_t		   ai_addrlen;	/* length of socket-address */
 I2    X  36243 	char		   *ai_canonname;	/* service location canonical name */
 I2    X  36244 	struct sockaddr    *ai_addr;	/* socket-address for socket */
 I2    X  36245 	struct __addrinfo64 *ai_next;	/* pointer to next in list */
 I2    X  36246 };
 I2    X  36247 
 I2    X  36248 #if __CRTL_VER < 80500000
 I2    X  36249     typedef struct addrinfo *__addrinfo_ptr64;
 I2    X  36250     typedef const struct addrinfo *__const_addrinfo_ptr64;
 I2    X  36251     typedef __addrinfo_ptr64 *__addrinfo_ptr64_ptr64;
 I2    X  36252 #endif
 I2    X  36253     typedef struct __addrinfo64 *__addrinfo64_ptr64;
 I2    X  36254     typedef __addrinfo64_ptr64 *__addrinfo64_ptr64_ptr64;
 I2    X  36255     typedef const struct __addrinfo64 *__const_addrinfo64_ptr64;
 I2    X  36256 
 I2    X  36257 #   pragma __pointer_size 32
 I2    X  36258 
 I2    X  36259 /*
 I2    X  36260  * 32-bit addrinfo structure
 I2    X  36261  */
 I2    X  36262 struct __addrinfo32 {
 I2    X  36263 	int		   ai_flags;	/* input flags */
 I2    X  36264 	int		   ai_family;	/* protofamily for socket */
 I2    X  36265 	int		   ai_socktype;	/* socket type */
 I2    X  36266 	int		   ai_protocol;	/* protocol for socket */
 I2    X  36267 	size_t		   ai_addrlen;	/* length of socket-address */
 I2    X  36268 	char		   *ai_canonname;	/* service location canonical name */
 I2    X  36269 	struct sockaddr    *ai_addr;	/* socket-address for socket */
 I2    X  36270 	struct __addrinfo32 *ai_next;	/* pointer to next in list */
 I2    X  36271 };
 I2    X  36272 
 I2    X  36273 #if __CRTL_VER < 80500000
 I2    X  36274     typedef struct addrinfo *__addrinfo_ptr32;
 I2    X  36275     typedef const struct addrinfo *__const_addrinfo_ptr32;
 I2    X  36276     typedef __addrinfo_ptr32 *__addrinfo_ptr32_ptr32;
 I2    X  36277 #endif
 I2    X  36278     typedef struct __addrinfo32 *__addrinfo32_ptr32;
 I2    X  36279     typedef __addrinfo32_ptr32 *__addrinfo32_ptr32_ptr32;
 I2    X  36280     typedef const struct __addrinfo32 *__const_addrinfo32_ptr32;
 I2    X  36281 
 I2    X  36282 #endif /* __INITIAL_POINTER_SIZE */
 I2	  36283 
 I2	  36284 /*
 I2	  36285  * addrinfo structure
 I2	  36286  */
 I2    X  36287 #if __INITIAL_POINTER_SIZE && __CRTL_VER >= 80500000
 I2    X  36288 #   if __INITIAL_POINTER_SIZE == 32
 I2    X  36289 #        define addrinfo __addrinfo32
 I2    X  36290 #   elif __INITIAL_POINTER_SIZE == 64
 I2    X  36291 #        define addrinfo __addrinfo64
 I2    X  36292 #   endif
 I2    X  36293 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 655
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2    X  36294     typedef struct __addrinfo32 *__addrinfo_ptr;
 I2    X  36295     typedef __addrinfo_ptr *__addrinfo_ptr_ptr;
 I2    X  36296     typedef const struct __addrinfo32 *__const_addrinfo_ptr;
 I2    X  36297 #else
 I2	  36298 struct addrinfo {
 I2	  36299         int                ai_flags;    /* input flags */
 I2	  36300         int                ai_family;   /* protofamily for socket */
 I2	  36301         int                ai_socktype; /* socket type */
 I2	  36302         int                ai_protocol; /* protocol for socket */
 I2	  36303         size_t             ai_addrlen;  /* length of socket-address */
 I2	  36304         char               *ai_canonname;       /* service location canonical name */
 I2	  36305         struct sockaddr    *ai_addr;    /* socket-address for socket */
 I2	  36306         struct addrinfo    *ai_next;    /* pointer to next in list */
 I2	  36307 };
 I2	  36308 
 I2	  36309     typedef struct addrinfo *__addrinfo_ptr;
 I2	  36310     typedef __addrinfo_ptr *__addrinfo_ptr_ptr;
 I2	  36311     typedef const struct addrinfo *__const_addrinfo_ptr;
 I2	  36312 #endif
 I2	  36313 
 I2	  36314 #if __CRTL_VER >= 70300000 
 I2    X  36315 #   if __INITIAL_POINTER_SIZE
 I2    X  36316 #	pragma __pointer_size 64
 I2    X  36317 #   endif
 I2	  36318 
 I2    X  36319 #   if __INITIAL_POINTER_SIZE && __CRTL_VER >= 80500000
 I2    X  36320         int getaddrinfo(const char *, const char *, const struct __addrinfo32 *, __addrinfo_ptr *);
 I2    X  36321         int getaddrinfo_compat43(const char *, const char *, const struct __addrinfo32 *, __addrinfo_ptr *);
 I2    X  36322         void freeaddrinfo(struct __addrinfo32 *);
 I2    X  36323         int getnameinfo(const struct sockaddr *, size_t, char *, size_t, char *, size_t, int);
 I2    X  36324 #   else
 I2	  36325         int getaddrinfo(const char *, const char *, const struct addrinfo *, __addrinfo_ptr *);
 I2	  36326         int getaddrinfo_compat43(const char *, const char *, const struct addrinfo *, __addrinfo_ptr *);
 I2	  36327         void freeaddrinfo(struct addrinfo *);
 I2	  36328         int getnameinfo(const struct sockaddr *, size_t, char *, size_t, char *, size_t, int);
 I2	  36329 #   endif
 I2	  36330 
 I2    X  36331 #   if __INITIAL_POINTER_SIZE
 I2    X  36332 #	pragma __pointer_size 32
 I2    X  36333 #   endif
 I2	  36334 
 I2	  36335 const char *gai_strerror (int);
 I2	  36336 
 I2	  36337 #endif
 I2	  36338 
 I2    X  36339 #if __INITIAL_POINTER_SIZE  && __CRTL_VER >= 70311000
 I2    X  36340 int __getaddrinfo32(__const_char_ptr32, __const_char_ptr32, __const_addrinfo32_ptr32, __addrinfo32_ptr32_ptr32);
 I2    X  36341 int __getaddrinfo_compat4332(__const_char_ptr32, __const_char_ptr32, __const_addrinfo32_ptr32, __addrinfo32_ptr32_pt
 I2    X  36341 r32);
 I2    X  36342 void __freeaddrinfo32(__addrinfo32_ptr32);
 I2    X  36343 
 I2    X  36344 int __getaddrinfo64(__const_char_ptr64, __const_char_ptr64, __const_addrinfo64_ptr64, __addrinfo64_ptr64_ptr64);
 I2    X  36345 int __getaddrinfo_compat4364(__const_char_ptr64, __const_char_ptr64, __const_addrinfo64_ptr64, __addrinfo64_ptr64_pt
 I2    X  36345 r64);
 I2    X  36346 void __freeaddrinfo64(__addrinfo64_ptr64);
 I2    X  36347 #endif
 I2	  36348 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 656
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2    X  36349 #if __INITIAL_POINTER_SIZE == 64 && __CRTL_VER >= 70311000
 I2    X  36350 #   define getaddrinfo(__P1,__p2,__P3,__P4)		__getaddrinfo64(__P1,__p2,__P3,__P4)
 I2    X  36351 #   define getaddrinfo_compat43(__P1,__p2,__P3,__P4)	__getaddrinfo_compat4364(__P1,__p2,__P3,__P4)
 I2    X  36352 #   define freeaddrinfo(__P1)				__freeaddrinfo64(__P1)
 I2    X  36353 #endif
 I2	  36354 
 I2	  36355 #if !defined(_SOCKADDR_LEN) 
 I2	  36356 #   if __CRTL_VER >= 70300000
 I2    X  36357 #	ifdef getaddrinfo
 I2    X  36358 #	    undef getaddrinfo
 I2    X  36359 #	endif
 I2	  36360 #	define getaddrinfo(__p1,__p2,__p3,__p4)	getaddrinfo_compat43(__p1,__p2,__p3,__p4)
 I2	  36361 #   endif
 I2    X  36362 #   if __INITIAL_POINTER_SIZE  && __CRTL_VER >= 70311000
 I2    X  36363 #	define __getaddrinfo32(__P1,__p2,__P3,__P4)	__getaddrinfo_compat4332(__P1,__p2,__P3,__P4)
 I2    X  36364 #	define __getaddrinfo64(__P1,__p2,__P3,__P4)	__getaddrinfo_compat4364(__P1,__p2,__P3,__P4)
 I2    X  36365 #   endif
 I2	  36366 #endif
 I2	  36367 
 I2	  36368 
 I2	  36369 /*
 I2	  36370  * Error values for getaddrinfo()
 I2	  36371  */
 I2	  36372 #define EAI_ADDRFAMILY  1     /* address family for hostname not supported */
 I2	  36373 #define EAI_AGAIN       2     /* temporary failure in name resolution */
 I2	  36374 #define EAI_BADFLAGS    3     /* invalid value for ai_flags */
 I2	  36375 #define EAI_FAIL        4     /* non-recoverable failure in name resolution */
 I2	  36376 #define EAI_FAMILY      5     /* ai_family not supported */
 I2	  36377 #define EAI_MEMORY      6     /* memory allocation failure */
 I2	  36378 #define EAI_NODATA      7     /* no address associated with hostname */
 I2	  36379 #define EAI_NONAME      8     /* hostname nor servname provided, or not known */
 I2	  36380 #define EAI_SERVICE     9     /* servname not supported for ai_socktype */
 I2	  36381 #define EAI_SOCKTYPE    10    /* ai_socktype not supported */
 I2	  36382 #define EAI_SYSTEM      11    /* system error returned in errno */
 I2	  36383 #define EAI_BADHINTS    12
 I2	  36384 #define EAI_PROTOCOL    13
 I2	  36385 #define EAI_MAX         14
 I2	  36386 
 I2	  36387 /*
 I2	  36388 **  If the user has used /pointer_size=32 or /pointer_size=64, we will allow 64
 I2	  36389 **  bit pointers to be used in function calls.
 I2	  36390 */
 I2    X  36391 #if __INITIAL_POINTER_SIZE
 I2    X  36392 #   pragma __pointer_size 64
 I2    X  36393 #endif
 I2	  36394 
 I2	  36395 
 I2	  36396 /*
 I2	  36397 **  The following functions return pointers to memory allocated by the DEC C
 I2	  36398 **  RTL or the underlying tcp/ip layer.  These pointers are always 32 bit
 I2	  36399 **  pointers, while the pointer parameters may be 32 or 64 bits.
 I2	  36400 */
 I2	  36401 __struct_netent_ptr32   getnetbyaddr     (__in_addr_t __net, int __type);
 I2	  36402 __struct_netent_ptr32   getnetent        (void);
 I2	  36403 __struct_protoent_ptr32 getprotobynumber (int __proto);
 I2	  36404 __struct_protoent_ptr32 getprotoent      (void);
 I2	  36405  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 657
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2	  36406 __struct_netent_ptr32   getnetbyname     (const char *__name);
 I2	  36407 __struct_servent_ptr32  getservbyname    (const char *__name, const char *__proto);
 I2	  36408 __struct_servent_ptr32  getservbyport    (int __port, const char *__proto);
 I2	  36409 __struct_protoent_ptr32 getprotobyname   (const char *__name);
 I2	  36410 
 I2	  36411 #if __CRTL_VER >= 70000000
 I2	  36412     __struct_hostent_ptr32  gethostent       (void);
 I2	  36413     __struct_servent_ptr32  getservent       (void);
 I2	  36414 
 I2	  36415     void endnetent   (void);
 I2	  36416     void endprotoent (void);
 I2	  36417     void endhostent  (void);
 I2	  36418     void endservent  (void);
 I2	  36419     void sethostent  (int __stayopen);
 I2	  36420     void setservent  (int __stayopen);
 I2	  36421     void setnetent   (int __stayopen);
 I2	  36422     void setprotoent (int __stayopen);
 I2	  36423 
 I2	  36424 #endif
 I2	  36425 
 I2	  36426 
 I2	  36427 /*
 I2	  36428 **  These functions have new semantics for BSD 4.4
 I2	  36429 */
 I2    X  36430 #ifdef _SOCKADDR_LEN
 I2    X  36431 #   if __CAN_USE_EXTERN_PREFIX
 I2    X  36432 #       pragma __extern_prefix __save
 I2    X  36433 #       pragma __extern_prefix "__bsd44_"
 I2    X  36434 #   else
 I2    X  36435 #       define gethostbyaddr(__p1,__p2,__p3)   __bsd44_gethostbyaddr(__p1,__p2,__p3)
 I2    X  36436 #       define gethostbyname(__p1)             __bsd44_gethostbyname(__p1)
 I2    X  36437 #   endif
 I2    X  36438 #endif
 I2	  36439 
 I2	  36440 __struct_hostent_ptr32 gethostbyaddr (const void *__addr, size_t __len, int __type);
 I2	  36441 __struct_hostent_ptr32 gethostbyname (const char *__name);
 I2	  36442 __struct_hostent_ptr32 gethostbyname2 (const char *, int);
 I2    X  36443 #ifdef _SOCKADDR_LEN
 I2    X  36444 #   if __CAN_USE_EXTERN_PREFIX
 I2    X  36445 #       pragma __extern_prefix __restore
 I2    X  36446 #   endif
 I2    X  36447 #endif
 I2	  36448 
 I2	  36449 /*	 
 I2	  36450 **  DEC C Extensions
 I2	  36451 */	 
 I2	  36452 
 I2	  36453 #if !defined _XOPEN_SOURCE_EXTENDED && __CRTL_VER >= 70000000
 I2	  36454 
 I2	  36455     void herror (const char *__s1);
 I2	  36456     /*
 I2	  36457     **  The hstrerror function always returns a 32 bit pointer
 I2	  36458     */
 I2	  36459     __char_ptr32 hstrerror (int __n);
 I2	  36460 
 I2	  36461 #endif
 I2	  36462 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 658
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(NETDB)

 I2	  36463 #define	NETDB_INTERNAL -1 /* see errno */
 I2	  36464 #define	NETDB_SUCCESS	0 /* no problem */
 I2	  36465 #define	HOST_NOT_FOUND	1 /* Authoritative Answer Host not found */
 I2	  36466 #define	TRY_AGAIN	2 /* Non-Authoritive Host not found, or SERVERFAIL */
 I2	  36467 #define	NO_RECOVERY	3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
 I2	  36468 #define	NO_DATA		4 /* Valid name, no data record of requested type */
 I2	  36469 #define	NO_ADDRESS	NO_DATA		/* no address, look for MX record */
 I2	  36470 
 I2	  36471 /*
 I2	  36472 **  Restore the users pointer context
 I2	  36473 */
 I2    X  36474 #if __INITIAL_POINTER_SIZE
 I2    X  36475 #   pragma __pointer_size __restore
 I2    X  36476 #endif
 I2	  36477 #if __CRTL_VER >= 80500000
 I2	  36478     int gethostbyname_r (const char * __name, struct hostent* __ret, char *__buf, \
 I2	  36479 			size_t __len, struct hostent ** __result, int *__err);
 I2	  36480 #endif
 I2	  36481 
 I2	  36482 
 I2    X  36483 #ifdef __cplusplus
 I2    X  36484     }
 I2    X  36485 #endif
 I2	  36486 
 I2	  36487 #pragma __member_alignment __restore
 I2	  36488 #pragma __standard
 I2	  36489 #endif /* __NETDB_LOADED */
 I1    X  36490 #include <socket.h>
 I1	  36491 #include "ckvioc.h"
 I2	  36492 #ifndef CKV_IOCTL
 I2	  36493 #define CKV_IOCTL
 I2	  36494 /*
 I2	  36495   NOTE: DEC C on OpenVMS AXP does not like an empty header file,
 I2	  36496   so we include the following system header files unconditionally.
 I2	  36497 */
 I2    X  36498 #include <errno.h>
 I2    X  36499 #include <stdio.h>
 I2	  36500 
 I2	  36501 #ifdef DEC_TCPIP
 I2	  36502 /*
 I2	  36503   The rest is used only if we have selected DEC TCP/IP support.
 I2	  36504 */
 I2	  36505 #include <iodef.h>
 I3	  36506 /*******************************************************************************************************************
 I3	  36506 *************/
 I3	  36507 /* Created:  9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3      */
 I3	  36508 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFFL.SDI;1 */
 I3	  36509 /*******************************************************************************************************************
 I3	  36509 *************/
 I3	  36510 /*** MODULE $IODEF ***/
 I3	  36511 #ifndef __IODEF_LOADED
 I3	  36512 #define __IODEF_LOADED 1
 I3	  36513  
 I3	  36514 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I3	  36515 #pragma __member_alignment __save
 I3	  36516 #pragma __nomember_alignment
 I3	  36517 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 659
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  36518 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I3	  36519 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I3	  36520 #endif
 I3	  36521  
 I3    X  36522 #ifdef __cplusplus
 I3    X  36523     extern "C" {
 I3    X  36524 #define __unknown_params ...
 I3    X  36525 #define __optional_params ...
 I3    X  36526 #else
 I3	  36527 #define __unknown_params
 I3	  36528 #define __optional_params ...
 I3	  36529 #endif
 I3	  36530  
 I3    X  36531 #ifndef __struct
 I3    X  36532 #if !defined(__VAXC)
 I3    X  36533 #define __struct struct
 I3    X  36534 #else
 I3    X  36535 #define __struct variant_struct
 I3    X  36536 #endif
 I3    X  36537 #endif
 I3	  36538  
 I3    X  36539 #ifndef __union
 I3    X  36540 #if !defined(__VAXC)
 I3    X  36541 #define __union union
 I3    X  36542 #else
 I3    X  36543 #define __union variant_union
 I3    X  36544 #endif
 I3    X  36545 #endif
 I3	  36546  
 I3	  36547 /*+                                                                         */
 I3	  36548 /* I/O FUNCTION CODE DEFINITIONS                                            */
 I3	  36549 /*-                                                                         */
 I3	  36550 /*                                                                          */
 I3	  36551 /* *** START PHYSICAL I/O FUNCTION CODES ***                                */
 I3	  36552 /*                                                                          */
 I3	  36553 #define IO$_NOP 0                       /*NO OPERATION                      */
 I3	  36554 #define IO$_UNLOAD 1                    /*UNLOAD DRIVE                      */
 I3	  36555 #define IO$_LOADMCODE 1                 /*LOAD MICROCODE                    */
 I3	  36556 #define IO$_START_BUS 1                 /*START LAVC BUS                    */
 I3	  36557 #define IO$_SEEK 2                      /*SEEK CYLINDER                     */
 I3	  36558 #define IO$_SPACEFILE 2                 /*SPACE FILES                       */
 I3	  36559 #define IO$_STARTMPROC 2                /*START MICROPROCESSOR              */
 I3	  36560 #define IO$_STOP_BUS 2                  /*STOP LAVC BUS                     */
 I3	  36561 #define IO$_RECAL 3                     /*RECALIBRATE DRIVE                 */
 I3	  36562 #define IO$_DUPLEX 3                    /*ENTER DUPLEX MODE                 */
 I3	  36563 #define IO$_STOP 3                      /*STOP                              */
 I3	  36564 #define IO$_DEF_COMP 3                  /*DEFINE NETWORK COMPONENT          */
 I3	  36565 #define IO$_DRVCLR 4                    /*DRIVE CLEAR                       */
 I3	  36566 #define IO$_INITIALIZE 4                /*INITIALIZE                        */
 I3	  36567 #define IO$_MIMIC 4                     /*ENTER MIMIC MODE                  */
 I3	  36568 #define IO$_DEF_COMP_LIST 4             /*DEFINE NETWORK COMPONENT LIST     */
 I3	  36569 #define IO$_FLUSH_ERROR 4               /*FLUSH SCSI ERRORS                 */
 I3	  36570 #define IO$_RELEASE 5                   /*RELEASE PORT                      */
 I3	  36571 #define IO$_SETCLOCKP 5                 /*SET CLOCK (PHYSICAL)              */
 I3	  36572 #define IO$_START_ANALYSIS 5            /*START LAVC FAILURE ANALYSIS       */
 I3	  36573 #define IO$_BIND 5                      /*BIND UNITS INTO A STORAGE POOL    */
 I3	  36574 #define IO$_PATH_VERIFY 5               /*VERIFY PATH TO DEVICE             */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 660
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  36575 #define IO$_OFFSET 6                    /*OFFSET READ HEADS                 */
 I3	  36576 #define IO$_ERASETAPE 6                 /*ERASE TAPE                        */
 I3	  36577 #define IO$_STARTDATAP 6                /*START DATA TRANSFER (PHYSICAL)    */
 I3	  36578 #define IO$_STOP_ANALYSIS 6             /*STOP LAVC FAILURE ANALYSIS        */
 I3	  36579 #define IO$_UNBIND 6                    /*REMOVE UNITS FROM A STORAGE POOL  */
 I3	  36580 #define IO$_RETCENTER 7                 /*RETURN TO CENTERLINE              */
 I3	  36581 #define IO$_QSTOP 7                     /*QUEUE STOP REQUEST                */
 I3	  36582 #define IO$_START_MONITOR 7             /*START LAVC CHANNEL MONITOR.       */
 I3	  36583 #define IO$_CREDISK 7                   /*CREATE A DISK IN A STORAGE POOL   */
 I3	  36584 #define IO$_LOCAL_DRAIN 7               /*DRAIN LOCAL IO                    */
 I3	  36585 #define IO$_PACKACK 8                   /*PACK ACKNOWLEDGE                  */
 I3	  36586 #define IO$_STOP_MONITOR 8              /*STOP LAVC CHANNEL MONITOR.        */
 I3	  36587 #define IO$_SEARCH 9                    /*SEARCH FOR SECTOR                 */
 I3	  36588 #define IO$_SPACERECORD 9               /*SPACE RECORDS                     */
 I3	  36589 #define IO$_READRCT 9                   /*READ REPLACEMENT & CACHING TABLE  */
 I3	  36590 #define IO$_REMDISK 9                   /*REMOVE A DISK FROM A STORAGE POOL */
 I3	  36591 #define IO$_WRITECHECK 10               /*WRITE CHECK DATA                  */
 I3	  36592 #define IO$_EXPORT 10                   /*EXPORT A DISK FROM A STORAGE POOL */
 I3	  36593 #define IO$_WRITEPBLK 11                /*WRITE PHYSICAL BLOCK              */
 I3	  36594 #define IO$_READPBLK 12                 /*READ PHYSICAL BLOCK               */
 I3	  36595 #define IO$_WRITEHEAD 13                /*WRITE HEADER AND DATA             */
 I3	  36596 #define IO$_RDSTATS 13                  /*READ STATISTICS                   */
 I3	  36597 #define IO$_CRESHAD 13                  /*CREATE A SHADOW SET               */
 I3	  36598 #define IO$_READHEAD 14                 /*READ HEADER AND DATA              */
 I3	  36599 #define IO$_ADDSHAD 14                  /*ADD MEMBER TO SHADOW SET          */
 I3	  36600 #define IO$_WRITETRACKD 15              /*WRITE TRACK DATA                  */
 I3	  36601 #define IO$_COPYSHAD 15                 /*PERFORM SHADOW SET COPY OPERATIONS */
 I3	  36602 #define IO$_READTRACKD 16               /*READ TRACK DATA                   */
 I3	  36603 #define IO$_REMSHAD 16                  /*REMOVE MEMBER FROM SHADOW SET     */
 I3	  36604 #define IO$_AVAILABLE 17                /*AVAILABLE (DISK AND TAPE CLASS)   */
 I3	  36605 #define IO$_SETPRFPATH 18               /*SET PREFERRED PATH                */
 I3	  36606 #define IO$_DISPLAY 19                  /*DISPLAY VOLUME LABEL              */
 I3	  36607 #define IO$_REMSHADMBR 20               /*REMOVE MEMBER FROM SHADOW SET     */
 I3	  36608 #define IO$_DSE 21                      /*DATA SECURITY ERASE (AND REWIND)  */
 I3	  36609 #define IO$_REREADN 22                  /*REREAD NEXT                       */
 I3	  36610 #define IO$_DISK_COPY_DATA 22           /*DISK_COPY_DATA                    */
 I3	  36611 #define IO$_MOUNTSHAD 23                /*CREATE A SHADOW SET               */
 I3	  36612 #define IO$_REREADP 23                  /*REREAD PREVIOUS                   */
 I3	  36613 #define IO$_WHM 23                      /*WRITE HISTORY MANAGEMENT          */
 I3	  36614 #define IO$_AS_SETCHAR 23               /*ASIAN SET CHARACTERISTICS         */
 I3	  36615 #define IO$_WRITERET 24                 /*WRITE RETRY                       */
 I3	  36616 #define IO$_WRITECHECKH 24              /*WRITE CHECK HEADER AND DATA       */
 I3	  36617 #define IO$_AS_SENSECHAR 24             /*ASIAN SENSE CHARACTERISTICS       */
 I3	  36618 #define IO$_ADDSHADMBR 25               /*ADD MEMBER TO SHADOW SET          */
 I3	  36619 #define IO$_READPRESET 25               /*READIN PRESET                     */
 I3	  36620 #define IO$_STARTSPNDL 25               /*START SPINDLE                     */
 I3	  36621 #define IO$_SETCHAR 26                  /*SET CHARACTERISTICS               */
 I3	  36622 #define IO$_SENSECHAR 27                /*SENSE TAPE CHARACTERISTICS        */
 I3	  36623 #define IO$_WRITEMARK 28                /*WRITE TAPE MARK                   */
 I3	  36624 #define IO$_COPYMEM 28                  /*COPY MEMORY                       */
 I3	  36625 #define IO$_PSXSETCHAR 28               /*POSIX SET CHARACTERISTICS         */
 I3	  36626 #define IO$_WRTTMKR 29                  /*WRITE TAPE MARK RETRY             */
 I3	  36627 #define IO$_DIAGNOSE 29                 /*DIAGNOSE                          */
 I3	  36628 #define IO$_SHADMV 29                   /*PREFORM MOUNT VER. ON SHADOW SET  */
 I3	  36629 #define IO$_PSXSENSECHAR 29             /*POSIX SENSE CHARACTERISTICS       */
 I3	  36630 #define IO$_FORMAT 30                   /*FORMAT                            */
 I3	  36631 #define IO$_CLEAN 30                    /*CLEAN TAPE                        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 661
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  36632 #define IO$_UPSHAD 30                   /*UPDATE SHADOW SYSDEVICE           */
 I3	  36633 #define IO$_PHYSICAL 31                 /*HIGHEST PHYSICAL I/O FUNCTION CODE  */
 I3	  36634 /*                                                                          */
 I3	  36635 /* *** START LOGICAL I/O FUNCTION CODES ***                                 */
 I3	  36636 /*                                                                          */
 I3	  36637 #define IO$_WRITELBLK 32                /*WRITE LOGICAL BLOCK               */
 I3	  36638 #define IO$_READLBLK 33                 /*READ LOGICAL BLOCK                */
 I3	  36639 #define IO$_REWINDOFF 34                /*REWIND AND SET OFFLINE            */
 I3	  36640 #define IO$_READRCTL 34                 /*READ RCT SECTOR ZERO              */
 I3	  36641 #define IO$_SETMODE 35                  /*SET MODE                          */
 I3	  36642 #define IO$_REWIND 36                   /*REWIND TAPE                       */
 I3	  36643 #define IO$_SKIPFILE 37                 /*SKIP FILES                        */
 I3	  36644 #define IO$_PSXSETMODE 37               /*POSIX SET MODE                    */
 I3	  36645 #define IO$_SKIPRECORD 38               /*SKIP RECORDS                      */
 I3	  36646 #define IO$_PSXSENSEMODE 38             /*POSIX SENSE MODE                  */
 I3	  36647 #define IO$_SENSEMODE 39                /*SENSE TAPE MODE                   */
 I3	  36648 #define IO$_WRITEOF 40                  /*WRITE END OF FILE                 */
 I3	  36649 #define IO$_TTY_PORT_BUFIO 40           /*BUFFERED I/O TERMINAL PORT FDT ROUTINE */
 I3	  36650 #define IO$_TTY_PORT 41                 /*TERMINAL PORT FDT ROUTINE         */
 I3	  36651 #define IO$_FREECAP 41                  /*RETURN FREE CAPACITY              */
 I3	  36652 #define IO$_FLUSH 42                    /*FLUSH CONTROLLER CACHE            */
 I3	  36653 #define IO$_AS_SETMODE 42               /*ASIAN SET MODE                    */
 I3	  36654 #define IO$_READLCHUNK 43               /*READ LARGE LOGICAL BLOCK          */
 I3	  36655 #define IO$_AS_SENSEMODE 43             /*ASIAN SENSE MODE                  */
 I3	  36656 #define IO$_WRITELCHUNK 44              /*WRITE LARGE LOGICAL BLOCK         */
 I3	  36657 #define IO$_LOGICAL 47                  /*HIGHEST LOGICAL I/O FUNCTION CODE  */
 I3	  36658 /*                                                                          */
 I3	  36659 /* *** START VIRTUAL I/O FUNCTION CODES                                     */
 I3	  36660 /*                                                                          */
 I3	  36661 /* NOTE:                                                                    */
 I3	  36662 /* Virtual IO operations to a non-file oriented device require that the process */
 I3	  36663 /* has READ access priviledges for that device. Specificly, EXE$QIO calls   */
 I3	  36664 /* EXE$CHECK_DEVICE_ACCESS for the following virtual IO function codes to   */
 I3	  36665 /* verify that the the process has read access rights:                      */
 I3	  36666 /*    READPBLK,READLBLK,READVBLK, READHEAD,READTRACKD,REREADN,REREADP,      */
 I3	  36667 /*    READPROMPT,TTYREADALL,TTYREADPALL                                     */
 I3	  36668 #define IO$_WRITEVBLK 48                /*WRITE VIRTUAL BLOCK               */
 I3	  36669 #define IO$_READVBLK 49                 /*READ VIRTUAL BLOCK                */
 I3	  36670 #define IO$_ACCESS 50                   /*ACCESS FILE                       */
 I3	  36671 #define IO$_PSXWRITEVBLK 50             /*POSIX WRITE VIRTUAL               */
 I3	  36672 #define IO$_CREATE 51                   /*CREATE FILE                       */
 I3	  36673 #define IO$_DEACCESS 52                 /*DEACCESS FILE                     */
 I3	  36674 #define IO$_PSXREADVBLK 52              /*POSIX READ VIRTUAL                */
 I3	  36675 #define IO$_DELETE 53                   /*DELETE FILE                       */
 I3	  36676 #define IO$_MODIFY 54                   /*MODIFY FILE                       */
 I3	  36677 #define IO$_NETCONTROL 54               /*X25 NETWORK CONTROL FUNCTION      */
 I3	  36678 #define IO$_READPROMPT 55               /*READ TERMINAL WITH PROMPT         */
 I3	  36679 #define IO$_SETCLOCK 55                 /*SET CLOCK                         */
 I3	  36680 #define IO$_AUDIO 55                    /*CD-ROM AUDIO                      */
 I3	  36681 #define IO$_ACPCONTROL 56               /*MISCELLANEOUS ACP CONTROL         */
 I3	  36682 #define IO$_STARTDATA 56                /*START DATA                        */
 I3	  36683 #define IO$_IOCTLV 56                   /*GENERIC UNIX IOCTL FUNCTIONS      */
 I3	  36684 #define IO$_MANAGE 56                   /*MANAGE DEVICE                     */
 I3	  36685 #define IO$_MOUNT 57                    /*MOUNT VOLUME                      */
 I3	  36686 #define IO$_TTYREADALL 58               /* TERMINAL READ PASSALL            */
 I3	  36687 #define IO$_DISMOUNT 58                 /* F64 dismount                     */
 I3	  36688 #define IO$_TTYREADPALL 59              /* TERM READ W/PROMPT PASSALL       */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 662
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  36689 #define IO$_USBATTR 59                  /* USB device attributes            */
 I3	  36690 #define IO$_CONINTREAD 60               /* Connect to interrupt readonly    */
 I3	  36691 #define IO$_CONINTWRITE 61              /* Connect to interrupt with write  */
 I3	  36692 #define IO$_READDIR 62                  /*READ DIRECTORY CONTENTS           */
 I3	  36693 #define IO$_VIRTUAL 63                  /*HIGHEST VIRTUAL I/O FUNCTION      */
 I3	  36694 /*                                                                          */
 I3	  36695 /* FUNCTION MODIFIER BIT DEFINITIONS                                        */
 I3	  36696 /*                                                                          */
 I3	  36697 #define IO$M_FCODE 0x3F
 I3	  36698 #define IO$M_FMODIFIERS 0xFFC0
 I3	  36699 #define IO$M_INHERLOG 0x800
 I3	  36700 #define IO$M_ERASE 0x400
 I3	  36701 #define IO$M_EXFUNC 0x2000
 I3	  36702 #define IO$M_DATACHECK 0x4000
 I3	  36703 #define IO$M_INHRETRY 0x8000
 I3	  36704 #define IO$M_SYNCSTS 0x10000
 I3	  36705 #define IO$M_NOVCACHE 0x20000
 I3	  36706 #define IO$M_BUFOBJ 0x40000
 I3	  36707 #define IO$M_TRUSTED 0x80000
 I3	  36708 #define IO$M_FILE_FLUSH 0x100000
 I3	  36709 #define IO$M_BARRIER 0x200000
 I3	  36710 #define IO$M_RAH_HINT 0x400000
 I3	  36711 #define IO$M_INHSEEK 0x1000
 I3	  36712 #define IO$M_READ_TO_EOF 0x200000
 I3	  36713 #define IO$M_REVERSE 0x40
 I3	  36714 #define IO$M_NOWAIT 0x80
 I3	  36715 #define IO$M_INHEXTGAP 0x1000
 I3	  36716 #define IO$M_RETENSION 0x2000
 I3	  36717 #define IO$M_ALLOWFAST 0x4000
 I3	  36718 #define IO$M_MT3_DENSITY 0x8000
 I3	  36719 #define IO$M_MSCPMODIFS 0x100
 I3	  36720 #define IO$M_SHADOW 0x40
 I3	  36721 #define IO$M_LOCATE 0x80
 I3	  36722 #define IO$M_MSCP_FORMAT 0x40
 I3	  36723 #define IO$M_ALLHOSTS 0x40
 I3	  36724 #define IO$M_DISSOLVE 0x80
 I3	  36725 #define IO$M_NOCLEANUP 0x100
 I3	  36726 #define IO$M_SPINDOWN 0x40
 I3	  36727 #define IO$M_EST_COM_PATH 0x40
 I3	  36728 #define IO$M_LCL_SRC_UNIT 0x80
 I3	  36729 #define IO$M_RTN_COM_PATH 0x100
 I3	  36730 #define IO$M_DEALC_ALL 0x40
 I3	  36731 #define IO$M_DEALC_HRN 0x80
 I3	  36732 #define IO$M_DEALC_ENTLOC 0x100
 I3	  36733 #define IO$M_DECR_AFC 0x200
 I3	  36734 #define IO$M_READ_ALL 0x400
 I3	  36735 #define IO$M_READ_HRN 0x800
 I3	  36736 #define IO$M_BREAK_CONN 0x1000
 I3	  36737 #define IO$M_STEPOVER 0x40
 I3	  36738 #define IO$M_COPYOP 0x100
 I3	  36739 #define IO$M_EXISTS 0x40
 I3	  36740 #define IO$M_CBS 0x80
 I3	  36741 #define IO$M_BOOTING 0x100
 I3	  36742 #define IO$M_REQ_MINICOPY 0x200
 I3	  36743 #define IO$M_OPT_MINICOPY 0x400
 I3	  36744 #define IO$M_NOMINICOPY 0x800
 I3	  36745 #define IO$M_EXPECT_MOUNT_DONE 0x2000

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 663
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  36746 #define IO$M_VUEX_FC 0x200
 I3	  36747 #define IO$M_WRITE_SCB 0x200
 I3	  36748 #define IO$M_UPD_SCBLBN 0x2000
 I3	  36749 #define IO$M_FORCEPATH 0x40
 I3	  36750 #define IO$M_PREFERRED_CPU 0x80
 I3	  36751 #define IO$M_SYS_ASSIGNABLE 0x100
 I3	  36752 #define IO$M_COMMOD 0x40
 I3	  36753 #define IO$M_MOVETRACKD 0x80
 I3	  36754 #define IO$M_DIAGNOSTIC 0x100
 I3	  36755 #define IO$M_SKPSECINH 0x200
 I3	  36756 #define IO$M_DELDATA 0x40
 I3	  36757 #define IO$M_NOMRSP 0x40
 I3	  36758 #define IO$M_SWAP 0x100
 I3	  36759 #define IO$M_OPPOSITE 0x200
 I3	  36760 #define IO$M_CLSEREXCP 0x200
 I3	  36761 #define IO$M_CHUNKDIAG 0x40
 I3	  36762 #define IO$M_TBC 0x400
 I3	  36763 #define IO$M_ENAREP 0x40
 I3	  36764 #define IO$M_ACCESS 0x40
 I3	  36765 #define IO$M_CREATE 0x80
 I3	  36766 #define IO$M_DELETE 0x100
 I3	  36767 #define IO$M_MOUNT 0x200
 I3	  36768 #define IO$M_DMOUNT 0x400
 I3	  36769 #define IO$M_REMOUNT 0x800
 I3	  36770 #define IO$M_MOVEFILE 0x1000
 I3	  36771 #define IO$M_RWSHELVED 0x4000
 I3	  36772 #define IO$M_SETDIR 0x8000
 I3	  36773 #define IO$M_BINARY 0x40
 I3	  36774 #define IO$M_PACKED 0x80
 I3	  36775 #define IO$M_NOW 0x40
 I3	  36776 #define IO$M_STREAM 0x80
 I3	  36777 #define IO$M_READERCHECK 0x100
 I3	  36778 #define IO$M_WRITERCHECK 0x200
 I3	  36779 #define IO$M_NORSWAIT 0x400
 I3	  36780 #define IO$M_MB_ROOM_NOTIFY 0x40
 I3	  36781 #define IO$M_READATTN 0x80
 I3	  36782 #define IO$M_WRTATTN 0x100
 I3	  36783 #define IO$M_SETPROT 0x200
 I3	  36784 #define IO$M_READERWAIT 0x400
 I3	  36785 #define IO$M_WRITERWAIT 0x800
 I3	  36786 #define IO$M_NOECHO 0x40
 I3	  36787 #define IO$M_TIMED 0x80
 I3	  36788 #define IO$M_CVTLOW 0x100
 I3	  36789 #define IO$M_NOFILTR 0x200
 I3	  36790 #define IO$M_DSABLMBX 0x400
 I3	  36791 #define IO$M_PURGE 0x800
 I3	  36792 #define IO$M_TRMNOECHO 0x1000
 I3	  36793 #define IO$M_REFRESH 0x2000
 I3	  36794 #define IO$M_ESCAPE 0x4000
 I3	  36795 #define IO$M_EXTEND 0x8000
 I3	  36796 #define IO$M_CANCTRLO 0x40
 I3	  36797 #define IO$M_ENABLMBX 0x80
 I3	  36798 #define IO$M_NOFORMAT 0x100
 I3	  36799 #define IO$M_BREAKTHRU 0x200
 I3	  36800 #define IO$M_NEWLINE 0x400
 I3	  36801 #define IO$M_TYPEAHDCNT 0x40
 I3	  36802 #define IO$M_MAINT 0x40

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 664
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  36803 #define IO$M_CTRLYAST 0x80
 I3	  36804 #define IO$M_CTRLCAST 0x100
 I3	  36805 #define IO$M_HANGUP 0x200
 I3	  36806 #define IO$M_OUTBAND 0x400
 I3	  36807 #define IO$M_TT_CONNECT 0x800
 I3	  36808 #define IO$M_TT_DISCON 0x1000
 I3	  36809 #define IO$M_TT_PROCESS 0x2000
 I3	  36810 #define IO$M_BRDCST 0x4000
 I3	  36811 #define IO$M_LOOP 0x80
 I3	  36812 #define IO$M_UNLOOP 0x100
 I3	  36813 #define IO$M_LINE_OFF 0x200
 I3	  36814 #define IO$M_SET_MODEM 0x400
 I3	  36815 #define IO$M_LINE_ON 0x800
 I3	  36816 #define IO$M_LOOP_EXT 0x1000
 I3	  36817 #define IO$M_AUTXOF_ENA 0x2000
 I3	  36818 #define IO$M_AUTXOF_DIS 0x4000
 I3	  36819 #define IO$M_INCLUDE 0x800
 I3	  36820 #define IO$M_TT_ABORT 0x1000
 I3	  36821 #define IO$M_POSIXINIT 0x40
 I3	  36822 #define IO$M_POSIXFLOW 0x80
 I3	  36823 #define IO$M_SET_POSIX 0x80
 I3	  36824 #define IO$M_CLEAR_POSIX 0x100
 I3	  36825 #define IO$M_SET_TERMIOS 0x200
 I3	  36826 #define IO$M_SET_PTC 0x400
 I3	  36827 #define IO$M_CLEAR_PTC 0x800
 I3	  36828 #define IO$M_FLUSH_TAB 0x1000
 I3	  36829 #define IO$M_FLUSH_OUTPUT 0x2000
 I3	  36830 #define IO$M_UPDATE_PTC 0x4000
 I3	  36831 #define IO$M_OUT_XOFF 0x100
 I3	  36832 #define IO$M_OUT_XON 0x200
 I3	  36833 #define IO$M_IN_XOFF 0x400
 I3	  36834 #define IO$M_IN_XON 0x800
 I3	  36835 #define IO$M_O_NONBLOCK 0x40
 I3	  36836 #define IO$M_INTERRUPT 0x40
 I3	  36837 #define IO$M_MULTIPLE 0x80
 I3	  36838 #define IO$M_LOCKBUF 0x100
 I3	  36839 #define IO$M_NOBLOCK 0x200
 I3	  36840 #define IO$M_ABORT 0x100
 I3	  36841 #define IO$M_SYNCH 0x200
 I3	  36842 #define IO$M_RESPONSE 0x40
 I3	  36843 #define IO$M_STARTUP 0x40
 I3	  36844 #define IO$M_SHUTDOWN 0x80
 I3	  36845 #define IO$M_ATTNAST 0x100
 I3	  36846 #define IO$M_CTRL 0x200
 I3	  36847 #define IO$M_SET_MAC 0x800
 I3	  36848 #define IO$M_UPDATE_MAP 0x1000
 I3	  36849 #define IO$M_ROUTE 0x2000
 I3	  36850 #define IO$M_RD_MEM 0x40
 I3	  36851 #define IO$M_RD_MODEM 0x80
 I3	  36852 #define IO$M_RD_COUNT 0x100
 I3	  36853 #define IO$M_CLR_COUNT 0x400
 I3	  36854 #define IO$M_SENSE_MAC 0x800
 I3	  36855 #define IO$M_SHOW_MAP 0x1000
 I3	  36856 #define IO$M_SHOW_ROUTE 0x2000
 I3	  36857 #define IO$K_SRRUNOUT 0                 /* Send or rcv until cnt runout     */
 I3	  36858 #define IO$K_PTPBSC 8192                /* Point to point BSC control       */
 I3	  36859 #define IO$K_LOOPTEST 57344             /* Loop test                        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 665
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  36860 /* X25 driver WRITEBLK function modifier bits.                              */
 I3	  36861 #define IO$M_MORE 0x40
 I3	  36862 #define IO$M_QUALIFIED 0x80
 I3	  36863 #define IO$M_REDIRECT 0x40
 I3	  36864 #define IO$M_ACCEPT 0x80
 I3	  36865 #define IO$M_SETEVF 0x40
 I3	  36866 #define IO$M_WORD 0x40
 I3	  36867 #define IO$M_SETFNCT 0x200
 I3	  36868 #define IO$M_DATAPATH 0x400
 I3	  36869 #define IO$M_CYCLE 0x1000
 I3	  36870 #define IO$M_RESET 0x2000
 I3	  36871 #define IO$M_SETCUADR 0x100
 I3	  36872 #define IO$M_SETBSIZE 0x200
 I3	  36873 #define IO$M_SETPOOLSZ 0x400
 I3	  36874 #define IO$M_SETENQCNT 0x800
 I3	  36875 #define IO$M_CLEAR 0x1000
 I3	  36876 #define IO$M_LPBEXT 0x2000
 I3	  36877 #define IO$M_LPBINT 0x4000
 I3	  36878 #define IO$M_READCSR 0x8000
 I3	  36879 #define IO$M_NOCTSWAIT 0x40
 I3	  36880 #define IO$M_SLAVLOOP 0x80
 I3	  36881 #define IO$M_NODSRWAIT 0x100
 I3	  36882 #define IO$M_MAINTLOOP 0x200
 I3	  36883 #define IO$M_LASTBLOCK 0x400
 I3	  36884 #define IO$M_INTCLOCK 0x1000
 I3	  36885 #define IO$M_LT_CONNECT 0x40
 I3	  36886 #define IO$M_LT_DISCON 0x80
 I3	  36887 #define IO$M_LT_READPORT 0x100
 I3	  36888 #define IO$M_LT_MAP_PORT 0x200
 I3	  36889 #define IO$M_LT_RATING 0x400
 I3	  36890 #define IO$M_LT_SOL_INFO 0x800
 I3	  36891 #define IO$M_LT_RCV_INFO 0x1000
 I3	  36892 #define IO$M_LT_SETMODE 0x2000
 I3	  36893 #define IO$M_LT_SENSEMODE 0x4000
 I3	  36894 #define IO$M_LT_QUE_CHG_NOTIF 0x8000
 I3	  36895 #define IO$M_LT_MAP_FILLER 0x1
 I3	  36896 #define IO$M_LT_MAP_NODNAM 0x2
 I3	  36897 #define IO$M_LT_MAP_PORNAM 0x4
 I3	  36898 #define IO$M_LT_MAP_SRVNAM 0x8
 I3	  36899 #define IO$M_LT_MAP_LNKNAM 0x10
 I3	  36900 #define IO$M_LT_MAP_NETADR 0x20
 I3	  36901 #define IO$M_FLUSH 0x40
 I3	  36902 #define IO$M_WRITE_BARRIER 0x80
 I3	  36903 #define IO$M_MKFILL1 0x40
 I3	  36904 #define IO$M_ALLOWFAST_NEVER 0x80
 I3	  36905 #define IO$M_ALLOWFAST_PER_IO 0x100
 I3	  36906 #define IO$M_ALLOWFAST_ALWAYS 0x200
 I3	  36907 #define IO$M_ADD 0x40
 I3	  36908 #define IO$M_IDSTRING 0x40
 I3	  36909 #define IO$M_SERIALNUM 0x80
 I3	  36910 #define IO$M_BYPASS_VALID_CHK 0x80
 I3	  36911 	
 I3    X  36912 #ifdef __NEW_STARLET
 I3    X  36913 typedef union _iodef {
 I3    X  36914 /* Basic I/O function code/modifiers structure                              */
 I3    X  36915     __struct  {
 I3    X  36916         unsigned io$v_fcode : 6;        /* Function Code Field              */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 666
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  36917         unsigned io$v_fmodifiers : 10;  /* Function Modifiers Field         */
 I3    X  36918         } io$r_fcode_structure;
 I3    X  36919 /* Function modifiers common to all drivers which do error logging          */
 I3    X  36920     __struct  {
 I3    X  36921         unsigned io$v_fcode_fill_1 : 6;
 I3    X  36922         unsigned io$v_filler_1 : 5;
 I3    X  36923         unsigned io$v_inherlog : 1;     /* Inhibit error logging            */
 I3    X  36924         unsigned io$v_fill_20_ : 4;
 I3    X  36925         } io$r_errlog_modifiers;
 I3    X  36926 /* General disk and tape function code modifiers                            */
 I3    X  36927     __struct  {
 I3    X  36928         unsigned io$v_fcode_fill_2 : 6;
 I3    X  36929         unsigned io$v_rsvd_for_devdepend_1 : 4;
 I3    X  36930         unsigned io$v_erase : 1;        /* Erase data                       */
 I3    X  36931         unsigned io$v_filler_2 : 1;     /* IO$M_INHERLOG                    */
 I3    X  36932         unsigned io$v_rsvd_for_devdepend_2 : 1;
 I3    X  36933         unsigned io$v_exfunc : 1;       /* func<31:16> are valid            */
 I3    X  36934         unsigned io$v_datacheck : 1;    /* Write check data after transfer  */
 I3    X  36935         unsigned io$v_inhretry : 1;     /* Inhibit error retry              */
 I3    X  36936 /* the following are only valid if EXFUNC is set                            */
 I3    X  36937         unsigned io$v_syncsts : 1;      /* allow synchronous completion     */
 I3    X  36938         unsigned io$v_novcache : 1;     /* do not use VBN cache             */
 I3    X  36939         unsigned io$v_bufobj : 1;       /* Buffer object I/O                */
 I3    X  36940         unsigned io$v_trusted : 1;      /* I/O from trusted component       */
 I3    X  36941         unsigned io$v_file_flush : 1;   /* Flush file to disk               */
 I3    X  36942         unsigned io$v_barrier : 1;      /* Insert a barrier after the write */
 I3    X  36943         unsigned io$v_rah_hint : 1;     /* Readahead hint (used by XFC)     */
 I3    X  36944         unsigned io$v_fill_21_ : 1;
 I3    X  36945         } io$r_disk_tape_modifiers;
 I3    X  36946 /* General disk function code modifiers                                     */
 I3    X  36947     __struct  {
 I3    X  36948         unsigned io$v_fcode_fill_3 : 6;
 I3    X  36949         unsigned io$v_rsvd_for_devdepend_3 : 6;
 I3    X  36950         unsigned io$v_inhseek : 1;      /* Inhibit implied seek on physical functions */
 I3    X  36951         unsigned io$v_fill_22_ : 3;
 I3    X  36952         } io$r_disk_modifiers;
 I3    X  36953 /* General disk READ function code modifiers                                */
 I3    X  36954     __struct  {
 I3    X  36955         unsigned io$v_filler_2a : 21;   /* Fill to overlay READ_TO_EOF with BARRIER */
 I3    X  36956 /* the following are only valid if EXFUNC is set                            */
 I3    X  36957         unsigned io$v_read_to_eof : 1;  /* Reserved for Internal Use only.  */
 I3    X  36958         unsigned io$v_fill_23_ : 2;
 I3    X  36959         } io$r_disk_read_modifiers;
 I3    X  36960 /* General tape function code modifiers                                     */
 I3    X  36961     __struct  {
 I3    X  36962         unsigned io$v_fcode_fill_4 : 6;
 I3    X  36963         unsigned io$v_reverse : 1;      /* Reverse operation                */
 I3    X  36964         unsigned io$v_nowait : 1;       /* No wait for rewind to complete   */
 I3    X  36965         unsigned io$v_rsvd_for_devdepend_4 : 4;
 I3    X  36966         unsigned io$v_inhextgap : 1;    /* Inhibit extended inter-record gap  */
 I3    X  36967         unsigned io$v_retension : 1;    /* Traverse the entire tape to uniformly set the tape's tension. */
 I3    X  36968 /*  Applies only to IO$_REWIND/REWINDOFF functions                          */
 I3    X  36969         unsigned io$v_allowfast : 1;    /* Allow fast skip by filemarks when enabled */
 I3    X  36970 /*  Applies only to IO$_SKIPFILE/SPACEFILE functions                        */
 I3    X  36971         unsigned io$v_mt3_density : 1;  /* Density Setmode and Sensemode for MTD enhanced tape drivers. */
 I3    X  36972         } io$r_tape_modifiers;
 I3    X  36973 /* DU  & TU, disk & tape class driver transfer function modifier bits       */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 667
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  36974     __struct  {
 I3    X  36975         unsigned io$v_fcode_fill_5 : 6;
 I3    X  36976         unsigned io$v_dutux_reserved : 2;
 I3    X  36977         unsigned io$v_mscpmodifs : 1;   /* Use MSCP modifiers in P5         */
 I3    X  36978         unsigned io$v_fill_24_ : 7;
 I3    X  36979         } io$r_dutu_xfer_modifiers;
 I3    X  36980     __struct  {
 I3    X  36981         unsigned io$v_fcode_fill_6 : 6;
 I3    X  36982         unsigned io$v_shadow : 1;       /* Shadowing SENSECHAR              */
 I3    X  36983         unsigned io$v_locate : 1;       /* Shadowing Locate function        */
 I3    X  36984         } io$r_du_sense_modifiers;
 I3    X  36985     __struct  {
 I3    X  36986         unsigned io$v_fcode_fill_7 : 6;
 I3    X  36987         unsigned io$v_mscp_format : 1;  /* PACKACK media for formatting     */
 I3    X  36988         unsigned io$v_fill_25_ : 1;
 I3    X  36989         } io$r_du_packack_modifiers;
 I3    X  36990     __struct  {
 I3    X  36991         unsigned io$v_fcode_fill_8 : 6;
 I3    X  36992         unsigned io$v_allhosts : 1;     /* Do available as for all class drivers */
 I3    X  36993         unsigned io$v_dissolve : 1;     /* Dissolve shadow set              */
 I3    X  36994         unsigned io$v_nocleanup : 1;    /* Normal shadow set cleanup not necessary */
 I3    X  36995         unsigned io$v_fill_26_ : 7;
 I3    X  36996         } io$r_du_avail_modifiers;
 I3    X  36997     __struct  {
 I3    X  36998         unsigned io$v_fcode_fill_9 : 6;
 I3    X  36999         unsigned io$v_spindown : 1;     /* Spin down removed member         */
 I3    X  37000         unsigned io$v_fill_27_ : 1;
 I3    X  37001         } io$r_du_remshad_modifiers;
 I3    X  37002     __struct  {
 I3    X  37003         unsigned io$v_fcode_fill_11 : 6;
 I3    X  37004         unsigned io$v_est_com_path : 1; /* Establish Communication Path     */
 I3    X  37005         unsigned io$v_lcl_src_unit : 1; /* Local Source Unit                */
 I3    X  37006         unsigned io$v_rtn_com_path : 1; /* Retain Communication Path        */
 I3    X  37007         unsigned io$v_fill_28_ : 7;
 I3    X  37008         } io$r_du_dcd_modifiers;
 I3    X  37009     __struct  {
 I3    X  37010         unsigned io$v_fcode_fill_12 : 6;
 I3    X  37011         unsigned io$v_dealc_all : 1;    /* Deallocate All                   */
 I3    X  37012         unsigned io$v_dealc_hrn : 1;    /* Deallocate by Host Reference Number */
 I3    X  37013         unsigned io$v_dealc_entloc : 1; /* Deallocate by Entry Locator      */
 I3    X  37014         unsigned io$v_decr_afc : 1;     /* Decrement Allocation Failure Count */
 I3    X  37015         unsigned io$v_read_all : 1;     /* Read All                         */
 I3    X  37016         unsigned io$v_read_hrn : 1;     /* Read by Host Reference Number    */
 I3    X  37017         unsigned io$v_break_conn : 1;   /* Break Connection                 */
 I3    X  37018         unsigned io$v_fill_29_ : 3;
 I3    X  37019         } io$r_du_whm_modifiers;
 I3    X  37020 /* HBS driver transfer function modifier bits                               */
 I3    X  37021 /* Make sure that IO$V_SHADOW .ne. IO$V_LOCATE .ne. IO$V_COPYOP             */
 I3    X  37022     __struct  {
 I3    X  37023         unsigned io$v_fcode_fill_13 : 6;
 I3    X  37024         unsigned io$v_stepover : 1;     /* Stepover SCBLBN.                 */
 I3    X  37025         unsigned io$v_cs_fill : 1;
 I3    X  37026         unsigned io$v_copyop : 1;       /* Shad Server Cpy Operation        */
 I3    X  37027         unsigned io$v_fill_30_ : 7;
 I3    X  37028         } io$r_hbs_copyshad_modifiers;
 I3    X  37029     __struct  {
 I3    X  37030         unsigned io$v_fcode_fill_14 : 6;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 668
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37031         unsigned io$v_exists : 1;       /* VU already exists.               */
 I3    X  37032         unsigned io$v_cbs : 1;          /* Controller based shadowing.      */
 I3    X  37033         unsigned io$v_booting : 1;      /* Creshad for system disk.         */
 I3    X  37034         unsigned io$v_req_minicopy : 1; /* MINICOPY required                */
 I3    X  37035         unsigned io$v_opt_minicopy : 1; /* MINICOPY optional                */
 I3    X  37036         unsigned io$v_nominicopy : 1;   /* NOMINICOPY                       */
 I3    X  37037         unsigned io$v_hbvs_fill : 1;
 I3    X  37038         unsigned io$v_expect_mount_done : 1; /* All SSMs on command line sent to HBVS */
 I3    X  37039         unsigned io$v_fill_31_ : 2;
 I3    X  37040         } io$r_hbs_creshad_modifiers;
 I3    X  37041     __struct  {
 I3    X  37042         unsigned io$v_fcode_fill_15 : 9;
 I3    X  37043         unsigned io$v_vuex_fc : 1;      /* Exclude Full copy members        */
 I3    X  37044         unsigned io$v_fill_32_ : 6;
 I3    X  37045         } io$r_hbs_xfer_modifiers;
 I3    X  37046     __struct  {
 I3    X  37047         unsigned io$v_fcode_fill_54 : 9;
 I3    X  37048         unsigned io$v_write_scb : 1;    /* Write the SCB                    */
 I3    X  37049         unsigned io$v_filler_hbvs_1 : 3; /*                                 */
 I3    X  37050         unsigned io$v_upd_scblbn : 1;   /* Update HVBS on new location of the SCB */
 I3    X  37051         unsigned io$v_fill_33_ : 2;
 I3    X  37052         } io$r_hbs_scb_modifiers;
 I3    X  37053 /* Function modifier bits for Set Preferred Path.                           */
 I3    X  37054     __struct  {
 I3    X  37055         unsigned io$v_fcode_fill_10 : 6;
 I3    X  37056 /* No modifiers set, passes in a preferred path (DUDRIVER)                  */
 I3    X  37057         unsigned io$v_forcepath : 1;    /* Make path change happen (DUDRIVER) */
 I3    X  37058         unsigned io$v_preferred_cpu : 1; /* Set Fast Path CPU affinity of port (port driver) */
 I3    X  37059         unsigned io$v_sys_assignable : 1; /* system assignable port         */
 I3    X  37060         unsigned io$v_fill_34_ : 7;
 I3    X  37061         } io$r_prfpath_modifiers;
 I3    X  37062 /* DR driver function modifier bits.                                        */
 I3    X  37063     __struct  {
 I3    X  37064         unsigned io$v_fcode_fill_16 : 6;
 I3    X  37065         unsigned io$v_commod : 1;       /* Diagnostic command               */
 I3    X  37066         unsigned io$v_movetrackd : 1;   /* Move track descriptor            */
 I3    X  37067         unsigned io$v_diagnostic : 1;   /* Diagnostic function              */
 I3    X  37068         unsigned io$v_skpsecinh : 1;    /* Skip sector inhibit              */
 I3    X  37069         unsigned io$v_fill_35_ : 6;
 I3    X  37070         } io$r_dr_modifiers;
 I3    X  37071 /* DY driver function modifier bits.                                        */
 I3    X  37072     __struct  {
 I3    X  37073         unsigned io$v_fcode_fill_17 : 6;
 I3    X  37074         unsigned io$v_deldata : 1;      /* Write deleted data mark          */
 I3    X  37075         unsigned io$v_fill_36_ : 1;
 I3    X  37076         } io$r_dy_modifiers;
 I3    X  37077 /* DD driver (TU58) function modifier bits.                                 */
 I3    X  37078     __struct  {
 I3    X  37079         unsigned io$v_fcode_fill_18 : 6;
 I3    X  37080         unsigned io$v_nomrsp : 1;       /* Do not use MRSP for this operation */
 I3    X  37081         unsigned io$v_fill_37_ : 1;
 I3    X  37082         } io$r_dd_modifiers;
 I3    X  37083 /* Magnetic tape I/O function modifier bits for the TS11.                   */
 I3    X  37084     __struct  {
 I3    X  37085         unsigned io$v_fcode_fill_19 : 6;
 I3    X  37086         unsigned io$v_rsvd_for_devdepend_5 : 2;
 I3    X  37087         unsigned io$v_swap : 1;         /* Swap byte (TS11)                 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 669
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37088         unsigned io$v_opposite : 1;     /* Opposite bit for rereads (TS11)  */
 I3    X  37089         unsigned io$v_fill_38_ : 6;
 I3    X  37090         } io$r_ts11_modifiers;
 I3    X  37091 /* TU driver function modifier bits                                         */
 I3    X  37092     __struct  {
 I3    X  37093         unsigned io$v_fcode_fill_20 : 6;
 I3    X  37094         unsigned io$v_rsvd_for_devdepend_6 : 3;
 I3    X  37095         unsigned io$v_clserexcp : 1;    /* Clear serious exception condition */
 I3    X  37096         unsigned io$v_fill_39_ : 6;
 I3    X  37097         } io$r_tu_modifiers;
 I3    X  37098 /* Tape class driver segmented and large transfer modifier bits             */
 I3    X  37099     __struct  {
 I3    X  37100         unsigned io$v_fcode_fill_21 : 6;
 I3    X  37101         unsigned io$v_chunkdiag : 1;    /* Allow diagnostic buffers         */
 I3    X  37102         unsigned io$v_rsvd_for_devdepend_7 : 3;
 I3    X  37103         unsigned io$v_tbc : 1;          /* To be continued modifier         */
 I3    X  37104         unsigned io$v_fill_40_ : 5;
 I3    X  37105         } io$r_tu_lg_transfer_modifiers;
 I3    X  37106 /* TUDRIVER SETMODE function modifier bits.                                 */
 I3    X  37107     __struct  {
 I3    X  37108         unsigned io$v_fcode_fill_22 : 6;
 I3    X  37109         unsigned io$v_enarep : 1;       /* Enable media quality             */
 I3    X  37110         unsigned io$v_fill_41_ : 1;
 I3    X  37111         } io$r_tu_setmode_modifiers;
 I3    X  37112 /* reporting.                                                               */
 I3    X  37113 /* ACP function modifier bits.                                              */
 I3    X  37114     __struct  {
 I3    X  37115         unsigned io$v_fcode_fill_23 : 6;
 I3    X  37116         unsigned io$v_access : 1;       /* Access file                      */
 I3    X  37117         unsigned io$v_create : 1;       /* Create file                      */
 I3    X  37118         unsigned io$v_delete : 1;       /* Delete file                      */
 I3    X  37119         unsigned io$v_mount : 1;        /* Mount volume                     */
 I3    X  37120         unsigned io$v_dmount : 1;       /* Dismount volume                  */
 I3    X  37121         unsigned io$v_remount : 1;      /* Remount volume                   */
 I3    X  37122         unsigned io$v_movefile : 1;     /* Move a file                      */
 I3    X  37123         unsigned io$v_filler_8 : 1;     /* Used for EXFUNC                  */
 I3    X  37124         unsigned io$v_rwshelved : 1;    /* Access shelved files             */
 I3    X  37125         unsigned io$v_setdir : 1;       /* Set file as a directory          */
 I3    X  37126 /* Bit 19 used for TRUSTED                                                  */
 I3    X  37127         } io$r_acp_modifiers;
 I3    X  37128 /* CR (card reader) driver function modifier bits.                          */
 I3    X  37129     __struct  {
 I3    X  37130         unsigned io$v_fcode_fill_24 : 6;
 I3    X  37131         unsigned io$v_binary : 1;       /* Binary read                      */
 I3    X  37132         unsigned io$v_packed : 1;       /* Packed read                      */
 I3    X  37133         } io$r_cr_modifiers;
 I3    X  37134 /* MB (mailbox) driver function modifier bits.                              */
 I3    X  37135 /* The following modifers are for the QIO READ, WRITE and SENSEMODE         */
 I3    X  37136 /* functions.                                                               */
 I3    X  37137     __struct  {
 I3    X  37138         unsigned io$v_fcode_fill_25 : 6;
 I3    X  37139         unsigned io$v_now : 1;          /* Do not wait for operation complete */
 I3    X  37140         unsigned io$v_stream : 1;       /* Perform stream mode operation (vs. record mode) */
 I3    X  37141         unsigned io$v_readercheck : 1;  /* Perform operation if no read channel is assigned to the mailbox. */
 I3    X  37142         unsigned io$v_writercheck : 1;  /* Perform operation if no write channel is assigned to the mailbox. */
 I3    X  37143         unsigned io$v_norswait : 1;     /* Do not allow resource waits      */
 I3    X  37144 /* Bit 13 used for EXFUNC                                                   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 670
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37145 /* Bit 19 used for TRUSTED                                                  */
 I3    X  37146         unsigned io$v_fill_42_ : 5;
 I3    X  37147         } io$r_mb_modifiers;
 I3    X  37148 /* More MB (mailbox) driver function modifier bits.                         */
 I3    X  37149 /* Mailbox QIO SETMODE function modifiers.                                  */
 I3    X  37150     __struct  {
 I3    X  37151         unsigned io$v_fcode_fill_26 : 6;
 I3    X  37152         unsigned io$v_mb_room_notify : 1; /* Notify when some (any) space in the mailbox is available. */
 I3    X  37153         unsigned io$v_readattn : 1;     /* Request ast on waiting reader    */
 I3    X  37154         unsigned io$v_wrtattn : 1;      /* Request ast on waiting writer    */
 I3    X  37155         unsigned io$v_setprot : 1;      /* Set volume protection            */
 I3    X  37156         unsigned io$v_readerwait : 1;   /* Wait for a read channel to be assigned to the mailbox. */
 I3    X  37157         unsigned io$v_writerwait : 1;   /* Wait for a write channel to be assigned to the mailbox. */
 I3    X  37158         unsigned io$v_fill_43_ : 4;
 I3    X  37159         } io$r_mb_setmode_modifiers;
 I3    X  37160 /* TT driver READ function modifier bits.                                   */
 I3    X  37161     __struct  {
 I3    X  37162         unsigned io$v_fcode_fill_27 : 6;
 I3    X  37163         unsigned io$v_noecho : 1;       /* Noecho                           */
 I3    X  37164         unsigned io$v_timed : 1;        /* Timed                            */
 I3    X  37165         unsigned io$v_cvtlow : 1;       /* Convert lower case               */
 I3    X  37166         unsigned io$v_nofiltr : 1;      /* No filter                        */
 I3    X  37167         unsigned io$v_dsablmbx : 1;     /* Disable mailbox                  */
 I3    X  37168         unsigned io$v_purge : 1;        /* Purge typeahead                  */
 I3    X  37169         unsigned io$v_trmnoecho : 1;    /* Terminators are not echoed       */
 I3    X  37170         unsigned io$v_refresh : 1;      /* Control-R interrupted read       */
 I3    X  37171         unsigned io$v_escape : 1;       /* Terminate read on escape sequence */
 I3    X  37172         unsigned io$v_extend : 1;       /* Used by alternate class drivers  */
 I3    X  37173         } io$r_tt_read_modifiers;
 I3    X  37174 /* TT driver WRITE function modifier bits.                                  */
 I3    X  37175     __struct  {
 I3    X  37176         unsigned io$v_fcode_fill_28 : 6;
 I3    X  37177         unsigned io$v_canctrlo : 1;     /* Cancel control O                 */
 I3    X  37178         unsigned io$v_enablmbx : 1;     /* Enable mailbox                   */
 I3    X  37179         unsigned io$v_noformat : 1;     /* Do not format output             */
 I3    X  37180         unsigned io$v_breakthru : 1;    /* Broadcast I/O                    */
 I3    X  37181         unsigned io$v_newline : 1;      /* Output a newline                 */
 I3    X  37182         unsigned io$v_fill_44_ : 5;
 I3    X  37183         } io$r_tt_write_modifiers;
 I3    X  37184 /* TT driver SENSEMODE function modifier bits.                              */
 I3    X  37185     __struct  {
 I3    X  37186         unsigned io$v_fcode_fill_29 : 6;
 I3    X  37187         unsigned io$v_typeahdcnt : 1;   /* Sense typeahead information      */
 I3    X  37188         unsigned io$v_reserve_rd_modem : 1;
 I3    X  37189         } io$r_tt_sensemode_modifiers;
 I3    X  37190 /* TT driver SETMODE subfunction modifier bits.                             */
 I3    X  37191     __struct  {
 I3    X  37192         unsigned io$v_fcode_fill_30 : 6;
 I3    X  37193         unsigned io$v_maint : 1;        /* Enable maint sub modifiers       */
 I3    X  37194         unsigned io$v_ctrlyast : 1;     /* Set control Y AST                */
 I3    X  37195         unsigned io$v_ctrlcast : 1;     /* Set Control C                    */
 I3    X  37196         unsigned io$v_hangup : 1;       /* Set mode and hang up line        */
 I3    X  37197         unsigned io$v_outband : 1;      /* Set out of band AST              */
 I3    X  37198         unsigned io$v_tt_connect : 1;   /* Connect to detached terminal     */
 I3    X  37199         unsigned io$v_tt_discon : 1;    /* Disconnect detached terminal     */
 I3    X  37200         unsigned io$v_tt_process : 1;   /* Define controlling process       */
 I3    X  37201         unsigned io$v_brdcst : 1;       /* Define broadcast mask            */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 671
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37202         unsigned io$v_fill_45_ : 1;
 I3    X  37203         } io$r_tt_setmode_modifiers;
 I3    X  37204 /* TT driver MAINTIANCE subfunction submodifier bits.                       */
 I3    X  37205     __struct  {
 I3    X  37206         unsigned io$v_fcode_fill_31 : 6;
 I3    X  37207         unsigned io$v_reserve_maint_escape_1 : 1;
 I3    X  37208         unsigned io$v_loop : 1;         /* Diagnostic loopback              */
 I3    X  37209         unsigned io$v_unloop : 1;       /* Diagnostic reset loopback        */
 I3    X  37210         unsigned io$v_line_off : 1;     /* Disable line                     */
 I3    X  37211         unsigned io$v_set_modem : 1;    /* Diagnostic modem control         */
 I3    X  37212         unsigned io$v_line_on : 1;      /* Enable line                      */
 I3    X  37213         unsigned io$v_loop_ext : 1;     /* Diagnostic external loopback     */
 I3    X  37214         unsigned io$v_autxof_ena : 1;   /* Enable auto XOFF                 */
 I3    X  37215         unsigned io$v_autxof_dis : 1;   /* Disable auto XOFF                */
 I3    X  37216         unsigned io$v_reserve_int_disable : 1;
 I3    X  37217         } io$r_tt_maint_modifiers;
 I3    X  37218 /* TT driver out-of-band modifier bits.                                     */
 I3    X  37219     __struct  {
 I3    X  37220         unsigned io$v_fcode_fill_32 : 6;
 I3    X  37221         unsigned io$v_reserve_maint_escape_2 : 5;
 I3    X  37222         unsigned io$v_include : 1;      /* Include character in stream      */
 I3    X  37223         unsigned io$v_tt_abort : 1;     /* Abort current I/O                */
 I3    X  37224         unsigned io$v_fill_46_ : 3;
 I3    X  37225         } io$r_tt_outofband_modifiers;
 I3    X  37226 /* Posix terminal driver SETMODE subfunction modifier bits.                 */
 I3    X  37227     __struct  {
 I3    X  37228         unsigned io$v_fcode_fill_33 : 6;
 I3    X  37229         unsigned io$v_posixinit : 1;    /* Enable initialization subfunctions */
 I3    X  37230         unsigned io$v_posixflow : 1;    /* Enable flow control subfunctions */
 I3    X  37231         } io$r_tt_psxsetmode_modifiers;
 I3    X  37232 /* Posix terminal driver INIT subfunction submodifier bits.                 */
 I3    X  37233     __struct  {
 I3    X  37234         unsigned io$v_fcode_fill_34 : 6;
 I3    X  37235         unsigned io$v_reserve_init_escape : 1;
 I3    X  37236         unsigned io$v_set_posix : 1;    /* Set TT3$M_POSIX and set up PTC   */
 I3    X  37237         unsigned io$v_clear_posix : 1;  /* Clear TT3$M_POSIX (opt. delete PTC) */
 I3    X  37238         unsigned io$v_set_termios : 1;  /* Set up termios                   */
 I3    X  37239         unsigned io$v_set_ptc : 1;      /* Set up all of PTC                */
 I3    X  37240         unsigned io$v_clear_ptc : 1;    /* clear PTC                        */
 I3    X  37241         unsigned io$v_flush_tab : 1;    /* flush typeahead buffer           */
 I3    X  37242         unsigned io$v_flush_output : 1; /* flush outstanding writes         */
 I3    X  37243         unsigned io$v_update_ptc : 1;   /* update PTC                       */
 I3    X  37244         unsigned io$v_fill_47_ : 1;
 I3    X  37245         } io$r_tt_posixinit_modifiers;
 I3    X  37246 /* Posix terminal driver FLOW subfunction submodifier bits.                 */
 I3    X  37247     __struct  {
 I3    X  37248         unsigned io$v_fcode_fill_35 : 6;
 I3    X  37249         unsigned io$v_reserve_flow_escape : 2;
 I3    X  37250         unsigned io$v_out_xoff : 1;     /* Simulate output XOFF             */
 I3    X  37251         unsigned io$v_out_xon : 1;      /* Simulate output XON              */
 I3    X  37252         unsigned io$v_in_xoff : 1;      /* Simulate input XOFF              */
 I3    X  37253         unsigned io$v_in_xon : 1;       /* Simulate input XON               */
 I3    X  37254         unsigned io$v_fill_48_ : 4;
 I3    X  37255         } io$r_tt_posixflow_modifiers;
 I3    X  37256 /* Posix terminal driver READ function modifier bits.                       */
 I3    X  37257     __struct  {
 I3    X  37258         unsigned io$v_fcode_fill_36 : 6;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 672
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37259         unsigned io$v_o_nonblock : 1;   /* Nonblock                         */
 I3    X  37260         unsigned io$v_fill_49_ : 1;
 I3    X  37261         } io$r_tt_psxread_modifiers;
 I3    X  37262 /* Network WRITE and READ VIRTUAL function modifier bits.                   */
 I3    X  37263     __struct  {
 I3    X  37264         unsigned io$v_fcode_fill_37 : 6;
 I3    X  37265         unsigned io$v_interrupt : 1;    /* Interrupt message                */
 I3    X  37266         unsigned io$v_multiple : 1;     /* Multiple write/read request      */
 I3    X  37267         unsigned io$v_lockbuf : 1;      /* Direct I/O request               */
 I3    X  37268         unsigned io$v_noblock : 1;      /* Segment message w/o blocking     */
 I3    X  37269 /* Bit 13 used for EXFUNC                                                   */
 I3    X  37270 /* Bit 19 used for TRUSTED                                                  */
 I3    X  37271         unsigned io$v_fill_50_ : 6;
 I3    X  37272         } io$r_net_write_read_modifiers;
 I3    X  37273 /* Network ACCESS/DEACCESS function modifier bits.                          */
 I3    X  37274     __struct  {
 I3    X  37275         unsigned io$v_fcode_fill_38 : 6;
 I3    X  37276         unsigned io$v_reserved : 2;
 I3    X  37277         unsigned io$v_abort : 1;        /* Disconnect abort/connect reject  */
 I3    X  37278         unsigned io$v_synch : 1;        /* Synchronous disconnect           */
 I3    X  37279         unsigned io$v_fill_51_ : 6;
 I3    X  37280         } io$r_net_accdea_modifiers;
 I3    X  37281 /* DATALINK driver WRITE subfunction modifier bits.                         */
 I3    X  37282     __struct  {
 I3    X  37283         unsigned io$v_fcode_fill_39 : 6;
 I3    X  37284         unsigned io$v_response : 1;     /* Transmit this packet as a response */
 I3    X  37285         unsigned io$v_fill_52_ : 1;
 I3    X  37286         } io$r_dlink_write_modifiers;
 I3    X  37287 /* DATALINK driver SETMODE subfunction modifier bits.                       */
 I3    X  37288     __struct  {
 I3    X  37289         unsigned io$v_fcode_fill_40 : 6;
 I3    X  37290         unsigned io$v_startup : 1;      /* Start protocol                   */
 I3    X  37291         unsigned io$v_shutdown : 1;     /* Stop protocol                    */
 I3    X  37292         unsigned io$v_attnast : 1;      /* Attention AST                    */
 I3    X  37293         unsigned io$v_ctrl : 1;         /* Controller (ie. not station) function */
 I3    X  37294         unsigned io$v_reserve_set_modem : 1;
 I3    X  37295         unsigned io$v_set_mac : 1;      /* Set MAC parameters               */
 I3    X  37296         unsigned io$v_update_map : 1;   /* Functional Addr Map              */
 I3    X  37297         unsigned io$v_route : 1;        /* Source Routing Ops               */
 I3    X  37298         unsigned io$v_fill_53_ : 2;
 I3    X  37299         } io$r_dlink_setmode_modifiers;
 I3    X  37300 /* DATALINK driver SENSEMODE subfunction modifier bits.                     */
 I3    X  37301     __struct  {
 I3    X  37302         unsigned io$v_fcode_fill_41 : 6;
 I3    X  37303         unsigned io$v_rd_mem : 1;       /* Read device memory               */
 I3    X  37304         unsigned io$v_rd_modem : 1;     /* Read modem status                */
 I3    X  37305         unsigned io$v_rd_count : 1;     /* Read counters                    */
 I3    X  37306         unsigned io$v_reserve_ctrl : 1;
 I3    X  37307         unsigned io$v_clr_count : 1;    /* Clear counters                   */
 I3    X  37308         unsigned io$v_sense_mac : 1;    /* Sense MAC parameters             */
 I3    X  37309         unsigned io$v_show_map : 1;     /* Functional Addr Map              */
 I3    X  37310         unsigned io$v_show_route : 1;   /* Source Routing Ops               */
 I3    X  37311         unsigned io$v_fill_54_ : 2;
 I3    X  37312         } io$r_dlink_sensemode_modifiers;
 I3    X  37313     __struct  {
 I3    X  37314         unsigned io$v_fcode_fill_42 : 6;
 I3    X  37315         unsigned io$v_more : 1;         /* More data follows (M-bit)        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 673
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37316         unsigned io$v_qualified : 1;    /* Use qualified sub-channel (Q-bit) */
 I3    X  37317         } io$r_x25_write_modifiers;
 I3    X  37318 /* X25 driver ACCESS function modifier bits.                                */
 I3    X  37319     __struct  {
 I3    X  37320         unsigned io$v_fcode_fill_43 : 6;
 I3    X  37321         unsigned io$v_redirect : 1;     /* Redirect virtual call            */
 I3    X  37322         unsigned io$v_accept : 1;       /* Accept virtual call              */
 I3    X  37323         } io$r_x25_access_modifiers;
 I3    X  37324 /* LPA-11 driver STARTDATA modifier bits.                                   */
 I3    X  37325     __struct  {
 I3    X  37326         unsigned io$v_fcode_fill_44 : 6;
 I3    X  37327         unsigned io$v_setevf : 1;       /* Set event flag                   */
 I3    X  37328         unsigned io$v_fill_55_ : 1;
 I3    X  37329         } io$r_lpa_start_modifiers;
 I3    X  37330 /* XA (DR11-W) driver function modifier bits.                               */
 I3    X  37331     __struct  {
 I3    X  37332         unsigned io$v_fcode_fill_45 : 6;
 I3    X  37333         unsigned io$v_word : 1;         /* Word (interrupt)/block (DMA) mode specifier */
 I3    X  37334         unsigned io$v_filler_3 : 1;     /* IO$M_TIMED                       */
 I3    X  37335         unsigned io$v_filler_4 : 1;     /* IO$M_ATTNAST, IO$M_DIAGNOSTIC    */
 I3    X  37336         unsigned io$v_setfnct : 1;      /* Set "FNCT" bits in device CSR    */
 I3    X  37337         unsigned io$v_datapath : 1;     /* Change UBA datapath (direct/buffered) */
 I3    X  37338         unsigned io$v_filler_5 : 1;     /* IO$M_INHERLOG (former def'n for RESET) */
 I3    X  37339         unsigned io$v_cycle : 1;        /* Set "cycle" bit in device CSR    */
 I3    X  37340         unsigned io$v_reset : 1;        /* Device reset specifier           */
 I3    X  37341         unsigned io$v_fill_56_ : 2;
 I3    X  37342         } io$r_xa_modifiers;
 I3    X  37343 /* 3271 driver function modifier bits.                                      */
 I3    X  37344     __struct  {
 I3    X  37345         unsigned io$v_fcode_fill_46 : 6;
 I3    X  37346         unsigned io$v_filler_6 : 2;
 I3    X  37347         unsigned io$v_setcuadr : 1;     /* Set a new CU address             */
 I3    X  37348         unsigned io$v_setbsize : 1;     /* Set a new maximum buffer size    */
 I3    X  37349         unsigned io$v_setpoolsz : 1;    /* Set a new pool size              */
 I3    X  37350         unsigned io$v_setenqcnt : 1;    /* Set a new ENQ threshold          */
 I3    X  37351         unsigned io$v_clear : 1;        /* Zero status counters             */
 I3    X  37352         unsigned io$v_lpbext : 1;       /* Loopback is external loopback    */
 I3    X  37353         unsigned io$v_lpbint : 1;       /* Loopback is internal loopback (DUP11) */
 I3    X  37354         unsigned io$v_readcsr : 1;      /* Read CSRs on DUP11               */
 I3    X  37355         } io$r_ibm3271_modifiers;
 I3    X  37356 /* XW driver function modifier bits.                                        */
 I3    X  37357     __struct  {
 I3    X  37358         unsigned io$v_fcode_fill_47 : 6;
 I3    X  37359         unsigned io$v_noctswait : 1;    /* Diagnostic function              */
 I3    X  37360         unsigned io$v_slavloop : 1;     /* Diagnostic function              */
 I3    X  37361         unsigned io$v_nodsrwait : 1;    /* Do not wait for DSR (diag)       */
 I3    X  37362         unsigned io$v_maintloop : 1;    /* Internal maint loop              */
 I3    X  37363         unsigned io$v_lastblock : 1;    /* Last block of message            */
 I3    X  37364         unsigned io$v_filler_7 : 1;
 I3    X  37365         unsigned io$v_intclock : 1;     /* Internal clock                   */
 I3    X  37366         unsigned io$v_fill_57_ : 3;
 I3    X  37367         } io$r_xw_modifiers;
 I3    X  37368 /* LAT driver function modifier bits.                                       */
 I3    X  37369     __struct  {
 I3    X  37370         unsigned io$v_fcode_fill_48 : 6;
 I3    X  37371         unsigned io$v_lt_connect : 1;   /* Solicit connection to remote LAT device */
 I3    X  37372         unsigned io$v_lt_discon : 1;    /* Disconnect LAT session           */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 674
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37373         unsigned io$v_lt_readport : 1;  /* Read LAT device info             */
 I3    X  37374         unsigned io$v_lt_map_port : 1;  /* Map application port             */
 I3    X  37375         unsigned io$v_lt_rating : 1;    /* Set service rating               */
 I3    X  37376         unsigned io$v_lt_sol_info : 1;  /* Request solicit info             */
 I3    X  37377         unsigned io$v_lt_rcv_info : 1;  /* Setup to recive reply            */
 I3    X  37378         unsigned io$v_lt_setmode : 1;   /* SETMODE on LTA device            */
 I3    X  37379         unsigned io$v_lt_sensemode : 1; /* SENSEMODE on LTA device          */
 I3    X  37380         unsigned io$v_lt_que_chg_notif : 1; /* Queue change AST             */
 I3    X  37381         } io$r_lt_modifiers;
 I3    X  37382 /* LAT item list definitions for MAP_PORT                                   */
 I3    X  37383     __struct  {
 I3    X  37384         unsigned io$v_lt_map_filler : 1; /* Item 0 not used                 */
 I3    X  37385         unsigned io$v_lt_map_nodnam : 1; /* Server node name                */
 I3    X  37386         unsigned io$v_lt_map_pornam : 1; /* Server port name                */
 I3    X  37387         unsigned io$v_lt_map_srvnam : 1; /* Server service name             */
 I3    X  37388         unsigned io$v_lt_map_lnknam : 1; /* Link name                       */
 I3    X  37389         unsigned io$v_lt_map_netadr : 1; /* Server Ethernet Add.            */
 I3    X  37390         unsigned io$v_fill_58_ : 2;
 I3    X  37391         } io$r_lt_mapitem;
 I3    X  37392 /* FSDRIVER function modifiers for Dollar.                                  */
 I3    X  37393     __struct  {
 I3    X  37394         unsigned io$v_fcode_fill_49 : 6;
 I3    X  37395         unsigned io$v_flush : 1;        /* Flush writes                     */
 I3    X  37396         unsigned io$v_write_barrier : 1; /* Barrier writes to this point    */
 I3    X  37397         } io$r_fs_modifiers;
 I3    X  37398 /* MKDRIVER function modifiers for SETMODE                                  */
 I3    X  37399     __struct  {
 I3    X  37400         unsigned io$v_fcode_fill_50 : 6;
 I3    X  37401         unsigned io$v_mkfill1 : 1;      /* Filler to not coincide with TU modifier (for safety) */
 I3    X  37402         unsigned io$v_allowfast_never : 1; /* Disable all skip by filemarks */
 I3    X  37403         unsigned io$v_allowfast_per_io : 1; /* Enable skip by filemarks with i/o fcn modifier */
 I3    X  37404         unsigned io$v_allowfast_always : 1; /* Default all IO$_SKIPFILE to use skip by filemarks */
 I3    X  37405         unsigned io$v_fill_59_ : 6;
 I3    X  37406         } io$r_mk_setmode_modifiers;
 I3    X  37407 /* Snapshot-capable disk (SD) driver function modifier bits.                */
 I3    X  37408     __struct  {
 I3    X  37409         unsigned io$v_fcode_fill_51 : 6;
 I3    X  37410         unsigned io$v_add : 1;          /* Add UNIT to an existing pool     */
 I3    X  37411         unsigned io$v_fill_60_ : 1;
 I3    X  37412         } io$r_sd_modifiers;
 I3    X  37413 /* USB usbattr modifiers                                                    */
 I3    X  37414     __struct  {
 I3    X  37415         unsigned io$v_fcode_fill_52 : 6;
 I3    X  37416         unsigned io$v_idstring : 1;     /* Request for printer's 1284 device ID string */
 I3    X  37417         unsigned io$v_serialnum : 1;    /* Request for printer's serial number (if supported) */
 I3    X  37418         } io$r_usb_usbattr_modifiers;
 I3    X  37419 /* Disk-specific PACKACK modifiers                                          */
 I3    X  37420     __struct  {
 I3    X  37421         unsigned io$v_disk_packack_fcode_fill : 6;
 I3    X  37422         unsigned io$v_mscp_format_fill : 1; /* Filler to coincide with MSCP_FORMAT modifier for DU PACKACK */
 I3    X  37423         unsigned io$v_bypass_valid_chk : 1; /* Send PACKACK to driver even if UCB$M_VALID is set (LCLDSKVALID) */
 I3    X  37424         } io$r_disk_packack_modifiers;
 I3    X  37425     } IODEF;
 I3    X  37426  
 I3    X  37427 #if !defined(__VAXC)
 I3    X  37428 #define io$v_fcode io$r_fcode_structure.io$v_fcode
 I3    X  37429 #define io$v_fmodifiers io$r_fcode_structure.io$v_fmodifiers

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 675
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37430 #define io$v_inherlog io$r_errlog_modifiers.io$v_inherlog
 I3    X  37431 #define io$v_erase io$r_disk_tape_modifiers.io$v_erase
 I3    X  37432 #define io$v_exfunc io$r_disk_tape_modifiers.io$v_exfunc
 I3    X  37433 #define io$v_datacheck io$r_disk_tape_modifiers.io$v_datacheck
 I3    X  37434 #define io$v_inhretry io$r_disk_tape_modifiers.io$v_inhretry
 I3    X  37435 #define io$v_syncsts io$r_disk_tape_modifiers.io$v_syncsts
 I3    X  37436 #define io$v_novcache io$r_disk_tape_modifiers.io$v_novcache
 I3    X  37437 #define io$v_bufobj io$r_disk_tape_modifiers.io$v_bufobj
 I3    X  37438 #define io$v_trusted io$r_disk_tape_modifiers.io$v_trusted
 I3    X  37439 #define io$v_file_flush io$r_disk_tape_modifiers.io$v_file_flush
 I3    X  37440 #define io$v_barrier io$r_disk_tape_modifiers.io$v_barrier
 I3    X  37441 #define io$v_rah_hint io$r_disk_tape_modifiers.io$v_rah_hint
 I3    X  37442 #define io$v_inhseek io$r_disk_modifiers.io$v_inhseek
 I3    X  37443 #define io$v_read_to_eof io$r_disk_read_modifiers.io$v_read_to_eof
 I3    X  37444 #define io$v_reverse io$r_tape_modifiers.io$v_reverse
 I3    X  37445 #define io$v_nowait io$r_tape_modifiers.io$v_nowait
 I3    X  37446 #define io$v_inhextgap io$r_tape_modifiers.io$v_inhextgap
 I3    X  37447 #define io$v_retension io$r_tape_modifiers.io$v_retension
 I3    X  37448 #define io$v_allowfast io$r_tape_modifiers.io$v_allowfast
 I3    X  37449 #define io$v_mt3_density io$r_tape_modifiers.io$v_mt3_density
 I3    X  37450 #define io$v_mscpmodifs io$r_dutu_xfer_modifiers.io$v_mscpmodifs
 I3    X  37451 #define io$v_shadow io$r_du_sense_modifiers.io$v_shadow
 I3    X  37452 #define io$v_locate io$r_du_sense_modifiers.io$v_locate
 I3    X  37453 #define io$v_mscp_format io$r_du_packack_modifiers.io$v_mscp_format
 I3    X  37454 #define io$v_allhosts io$r_du_avail_modifiers.io$v_allhosts
 I3    X  37455 #define io$v_dissolve io$r_du_avail_modifiers.io$v_dissolve
 I3    X  37456 #define io$v_nocleanup io$r_du_avail_modifiers.io$v_nocleanup
 I3    X  37457 #define io$v_spindown io$r_du_remshad_modifiers.io$v_spindown
 I3    X  37458 #define io$v_est_com_path io$r_du_dcd_modifiers.io$v_est_com_path
 I3    X  37459 #define io$v_lcl_src_unit io$r_du_dcd_modifiers.io$v_lcl_src_unit
 I3    X  37460 #define io$v_rtn_com_path io$r_du_dcd_modifiers.io$v_rtn_com_path
 I3    X  37461 #define io$v_dealc_all io$r_du_whm_modifiers.io$v_dealc_all
 I3    X  37462 #define io$v_dealc_hrn io$r_du_whm_modifiers.io$v_dealc_hrn
 I3    X  37463 #define io$v_dealc_entloc io$r_du_whm_modifiers.io$v_dealc_entloc
 I3    X  37464 #define io$v_decr_afc io$r_du_whm_modifiers.io$v_decr_afc
 I3    X  37465 #define io$v_read_all io$r_du_whm_modifiers.io$v_read_all
 I3    X  37466 #define io$v_read_hrn io$r_du_whm_modifiers.io$v_read_hrn
 I3    X  37467 #define io$v_break_conn io$r_du_whm_modifiers.io$v_break_conn
 I3    X  37468 #define io$v_stepover io$r_hbs_copyshad_modifiers.io$v_stepover
 I3    X  37469 #define io$v_copyop io$r_hbs_copyshad_modifiers.io$v_copyop
 I3    X  37470 #define io$v_exists io$r_hbs_creshad_modifiers.io$v_exists
 I3    X  37471 #define io$v_cbs io$r_hbs_creshad_modifiers.io$v_cbs
 I3    X  37472 #define io$v_booting io$r_hbs_creshad_modifiers.io$v_booting
 I3    X  37473 #define io$v_req_minicopy io$r_hbs_creshad_modifiers.io$v_req_minicopy
 I3    X  37474 #define io$v_opt_minicopy io$r_hbs_creshad_modifiers.io$v_opt_minicopy
 I3    X  37475 #define io$v_nominicopy io$r_hbs_creshad_modifiers.io$v_nominicopy
 I3    X  37476 #define io$v_expect_mount_done io$r_hbs_creshad_modifiers.io$v_expect_mount_done
 I3    X  37477 #define io$v_vuex_fc io$r_hbs_xfer_modifiers.io$v_vuex_fc
 I3    X  37478 #define io$v_write_scb io$r_hbs_scb_modifiers.io$v_write_scb
 I3    X  37479 #define io$v_upd_scblbn io$r_hbs_scb_modifiers.io$v_upd_scblbn
 I3    X  37480 #define io$v_forcepath io$r_prfpath_modifiers.io$v_forcepath
 I3    X  37481 #define io$v_preferred_cpu io$r_prfpath_modifiers.io$v_preferred_cpu
 I3    X  37482 #define io$v_sys_assignable io$r_prfpath_modifiers.io$v_sys_assignable
 I3    X  37483 #define io$v_commod io$r_dr_modifiers.io$v_commod
 I3    X  37484 #define io$v_movetrackd io$r_dr_modifiers.io$v_movetrackd
 I3    X  37485 #define io$v_diagnostic io$r_dr_modifiers.io$v_diagnostic
 I3    X  37486 #define io$v_skpsecinh io$r_dr_modifiers.io$v_skpsecinh

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 676
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37487 #define io$v_deldata io$r_dy_modifiers.io$v_deldata
 I3    X  37488 #define io$v_nomrsp io$r_dd_modifiers.io$v_nomrsp
 I3    X  37489 #define io$v_swap io$r_ts11_modifiers.io$v_swap
 I3    X  37490 #define io$v_opposite io$r_ts11_modifiers.io$v_opposite
 I3    X  37491 #define io$v_clserexcp io$r_tu_modifiers.io$v_clserexcp
 I3    X  37492 #define io$v_chunkdiag io$r_tu_lg_transfer_modifiers.io$v_chunkdiag
 I3    X  37493 #define io$v_tbc io$r_tu_lg_transfer_modifiers.io$v_tbc
 I3    X  37494 #define io$v_enarep io$r_tu_setmode_modifiers.io$v_enarep
 I3    X  37495 #define io$v_access io$r_acp_modifiers.io$v_access
 I3    X  37496 #define io$v_create io$r_acp_modifiers.io$v_create
 I3    X  37497 #define io$v_delete io$r_acp_modifiers.io$v_delete
 I3    X  37498 #define io$v_mount io$r_acp_modifiers.io$v_mount
 I3    X  37499 #define io$v_dmount io$r_acp_modifiers.io$v_dmount
 I3    X  37500 #define io$v_remount io$r_acp_modifiers.io$v_remount
 I3    X  37501 #define io$v_movefile io$r_acp_modifiers.io$v_movefile
 I3    X  37502 #define io$v_rwshelved io$r_acp_modifiers.io$v_rwshelved
 I3    X  37503 #define io$v_setdir io$r_acp_modifiers.io$v_setdir
 I3    X  37504 #define io$v_binary io$r_cr_modifiers.io$v_binary
 I3    X  37505 #define io$v_packed io$r_cr_modifiers.io$v_packed
 I3    X  37506 #define io$v_now io$r_mb_modifiers.io$v_now
 I3    X  37507 #define io$v_stream io$r_mb_modifiers.io$v_stream
 I3    X  37508 #define io$v_readercheck io$r_mb_modifiers.io$v_readercheck
 I3    X  37509 #define io$v_writercheck io$r_mb_modifiers.io$v_writercheck
 I3    X  37510 #define io$v_norswait io$r_mb_modifiers.io$v_norswait
 I3    X  37511 #define io$v_mb_room_notify io$r_mb_setmode_modifiers.io$v_mb_room_notify
 I3    X  37512 #define io$v_readattn io$r_mb_setmode_modifiers.io$v_readattn
 I3    X  37513 #define io$v_wrtattn io$r_mb_setmode_modifiers.io$v_wrtattn
 I3    X  37514 #define io$v_setprot io$r_mb_setmode_modifiers.io$v_setprot
 I3    X  37515 #define io$v_readerwait io$r_mb_setmode_modifiers.io$v_readerwait
 I3    X  37516 #define io$v_writerwait io$r_mb_setmode_modifiers.io$v_writerwait
 I3    X  37517 #define io$v_noecho io$r_tt_read_modifiers.io$v_noecho
 I3    X  37518 #define io$v_timed io$r_tt_read_modifiers.io$v_timed
 I3    X  37519 #define io$v_cvtlow io$r_tt_read_modifiers.io$v_cvtlow
 I3    X  37520 #define io$v_nofiltr io$r_tt_read_modifiers.io$v_nofiltr
 I3    X  37521 #define io$v_dsablmbx io$r_tt_read_modifiers.io$v_dsablmbx
 I3    X  37522 #define io$v_purge io$r_tt_read_modifiers.io$v_purge
 I3    X  37523 #define io$v_trmnoecho io$r_tt_read_modifiers.io$v_trmnoecho
 I3    X  37524 #define io$v_refresh io$r_tt_read_modifiers.io$v_refresh
 I3    X  37525 #define io$v_escape io$r_tt_read_modifiers.io$v_escape
 I3    X  37526 #define io$v_extend io$r_tt_read_modifiers.io$v_extend
 I3    X  37527 #define io$v_canctrlo io$r_tt_write_modifiers.io$v_canctrlo
 I3    X  37528 #define io$v_enablmbx io$r_tt_write_modifiers.io$v_enablmbx
 I3    X  37529 #define io$v_noformat io$r_tt_write_modifiers.io$v_noformat
 I3    X  37530 #define io$v_breakthru io$r_tt_write_modifiers.io$v_breakthru
 I3    X  37531 #define io$v_newline io$r_tt_write_modifiers.io$v_newline
 I3    X  37532 #define io$v_typeahdcnt io$r_tt_sensemode_modifiers.io$v_typeahdcnt
 I3    X  37533 #define io$v_maint io$r_tt_setmode_modifiers.io$v_maint
 I3    X  37534 #define io$v_ctrlyast io$r_tt_setmode_modifiers.io$v_ctrlyast
 I3    X  37535 #define io$v_ctrlcast io$r_tt_setmode_modifiers.io$v_ctrlcast
 I3    X  37536 #define io$v_hangup io$r_tt_setmode_modifiers.io$v_hangup
 I3    X  37537 #define io$v_outband io$r_tt_setmode_modifiers.io$v_outband
 I3    X  37538 #define io$v_tt_connect io$r_tt_setmode_modifiers.io$v_tt_connect
 I3    X  37539 #define io$v_tt_discon io$r_tt_setmode_modifiers.io$v_tt_discon
 I3    X  37540 #define io$v_tt_process io$r_tt_setmode_modifiers.io$v_tt_process
 I3    X  37541 #define io$v_brdcst io$r_tt_setmode_modifiers.io$v_brdcst
 I3    X  37542 #define io$v_loop io$r_tt_maint_modifiers.io$v_loop
 I3    X  37543 #define io$v_unloop io$r_tt_maint_modifiers.io$v_unloop

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 677
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37544 #define io$v_line_off io$r_tt_maint_modifiers.io$v_line_off
 I3    X  37545 #define io$v_set_modem io$r_tt_maint_modifiers.io$v_set_modem
 I3    X  37546 #define io$v_line_on io$r_tt_maint_modifiers.io$v_line_on
 I3    X  37547 #define io$v_loop_ext io$r_tt_maint_modifiers.io$v_loop_ext
 I3    X  37548 #define io$v_autxof_ena io$r_tt_maint_modifiers.io$v_autxof_ena
 I3    X  37549 #define io$v_autxof_dis io$r_tt_maint_modifiers.io$v_autxof_dis
 I3    X  37550 #define io$v_include io$r_tt_outofband_modifiers.io$v_include
 I3    X  37551 #define io$v_tt_abort io$r_tt_outofband_modifiers.io$v_tt_abort
 I3    X  37552 #define io$v_posixinit io$r_tt_psxsetmode_modifiers.io$v_posixinit
 I3    X  37553 #define io$v_posixflow io$r_tt_psxsetmode_modifiers.io$v_posixflow
 I3    X  37554 #define io$v_set_posix io$r_tt_posixinit_modifiers.io$v_set_posix
 I3    X  37555 #define io$v_clear_posix io$r_tt_posixinit_modifiers.io$v_clear_posix
 I3    X  37556 #define io$v_set_termios io$r_tt_posixinit_modifiers.io$v_set_termios
 I3    X  37557 #define io$v_set_ptc io$r_tt_posixinit_modifiers.io$v_set_ptc
 I3    X  37558 #define io$v_clear_ptc io$r_tt_posixinit_modifiers.io$v_clear_ptc
 I3    X  37559 #define io$v_flush_tab io$r_tt_posixinit_modifiers.io$v_flush_tab
 I3    X  37560 #define io$v_flush_output io$r_tt_posixinit_modifiers.io$v_flush_output
 I3    X  37561 #define io$v_update_ptc io$r_tt_posixinit_modifiers.io$v_update_ptc
 I3    X  37562 #define io$v_out_xoff io$r_tt_posixflow_modifiers.io$v_out_xoff
 I3    X  37563 #define io$v_out_xon io$r_tt_posixflow_modifiers.io$v_out_xon
 I3    X  37564 #define io$v_in_xoff io$r_tt_posixflow_modifiers.io$v_in_xoff
 I3    X  37565 #define io$v_in_xon io$r_tt_posixflow_modifiers.io$v_in_xon
 I3    X  37566 #define io$v_o_nonblock io$r_tt_psxread_modifiers.io$v_o_nonblock
 I3    X  37567 #define io$v_interrupt io$r_net_write_read_modifiers.io$v_interrupt
 I3    X  37568 #define io$v_multiple io$r_net_write_read_modifiers.io$v_multiple
 I3    X  37569 #define io$v_lockbuf io$r_net_write_read_modifiers.io$v_lockbuf
 I3    X  37570 #define io$v_noblock io$r_net_write_read_modifiers.io$v_noblock
 I3    X  37571 #define io$v_abort io$r_net_accdea_modifiers.io$v_abort
 I3    X  37572 #define io$v_synch io$r_net_accdea_modifiers.io$v_synch
 I3    X  37573 #define io$v_response io$r_dlink_write_modifiers.io$v_response
 I3    X  37574 #define io$v_startup io$r_dlink_setmode_modifiers.io$v_startup
 I3    X  37575 #define io$v_shutdown io$r_dlink_setmode_modifiers.io$v_shutdown
 I3    X  37576 #define io$v_attnast io$r_dlink_setmode_modifiers.io$v_attnast
 I3    X  37577 #define io$v_ctrl io$r_dlink_setmode_modifiers.io$v_ctrl
 I3    X  37578 #define io$v_set_mac io$r_dlink_setmode_modifiers.io$v_set_mac
 I3    X  37579 #define io$v_update_map io$r_dlink_setmode_modifiers.io$v_update_map
 I3    X  37580 #define io$v_route io$r_dlink_setmode_modifiers.io$v_route
 I3    X  37581 #define io$v_rd_mem io$r_dlink_sensemode_modifiers.io$v_rd_mem
 I3    X  37582 #define io$v_rd_modem io$r_dlink_sensemode_modifiers.io$v_rd_modem
 I3    X  37583 #define io$v_rd_count io$r_dlink_sensemode_modifiers.io$v_rd_count
 I3    X  37584 #define io$v_clr_count io$r_dlink_sensemode_modifiers.io$v_clr_count
 I3    X  37585 #define io$v_sense_mac io$r_dlink_sensemode_modifiers.io$v_sense_mac
 I3    X  37586 #define io$v_show_map io$r_dlink_sensemode_modifiers.io$v_show_map
 I3    X  37587 #define io$v_show_route io$r_dlink_sensemode_modifiers.io$v_show_route
 I3    X  37588 #define io$v_more io$r_x25_write_modifiers.io$v_more
 I3    X  37589 #define io$v_qualified io$r_x25_write_modifiers.io$v_qualified
 I3    X  37590 #define io$v_redirect io$r_x25_access_modifiers.io$v_redirect
 I3    X  37591 #define io$v_accept io$r_x25_access_modifiers.io$v_accept
 I3    X  37592 #define io$v_setevf io$r_lpa_start_modifiers.io$v_setevf
 I3    X  37593 #define io$v_word io$r_xa_modifiers.io$v_word
 I3    X  37594 #define io$v_setfnct io$r_xa_modifiers.io$v_setfnct
 I3    X  37595 #define io$v_datapath io$r_xa_modifiers.io$v_datapath
 I3    X  37596 #define io$v_cycle io$r_xa_modifiers.io$v_cycle
 I3    X  37597 #define io$v_reset io$r_xa_modifiers.io$v_reset
 I3    X  37598 #define io$v_setcuadr io$r_ibm3271_modifiers.io$v_setcuadr
 I3    X  37599 #define io$v_setbsize io$r_ibm3271_modifiers.io$v_setbsize
 I3    X  37600 #define io$v_setpoolsz io$r_ibm3271_modifiers.io$v_setpoolsz

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 678
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3    X  37601 #define io$v_setenqcnt io$r_ibm3271_modifiers.io$v_setenqcnt
 I3    X  37602 #define io$v_clear io$r_ibm3271_modifiers.io$v_clear
 I3    X  37603 #define io$v_lpbext io$r_ibm3271_modifiers.io$v_lpbext
 I3    X  37604 #define io$v_lpbint io$r_ibm3271_modifiers.io$v_lpbint
 I3    X  37605 #define io$v_readcsr io$r_ibm3271_modifiers.io$v_readcsr
 I3    X  37606 #define io$v_noctswait io$r_xw_modifiers.io$v_noctswait
 I3    X  37607 #define io$v_slavloop io$r_xw_modifiers.io$v_slavloop
 I3    X  37608 #define io$v_nodsrwait io$r_xw_modifiers.io$v_nodsrwait
 I3    X  37609 #define io$v_maintloop io$r_xw_modifiers.io$v_maintloop
 I3    X  37610 #define io$v_lastblock io$r_xw_modifiers.io$v_lastblock
 I3    X  37611 #define io$v_intclock io$r_xw_modifiers.io$v_intclock
 I3    X  37612 #define io$v_lt_connect io$r_lt_modifiers.io$v_lt_connect
 I3    X  37613 #define io$v_lt_discon io$r_lt_modifiers.io$v_lt_discon
 I3    X  37614 #define io$v_lt_readport io$r_lt_modifiers.io$v_lt_readport
 I3    X  37615 #define io$v_lt_map_port io$r_lt_modifiers.io$v_lt_map_port
 I3    X  37616 #define io$v_lt_rating io$r_lt_modifiers.io$v_lt_rating
 I3    X  37617 #define io$v_lt_sol_info io$r_lt_modifiers.io$v_lt_sol_info
 I3    X  37618 #define io$v_lt_rcv_info io$r_lt_modifiers.io$v_lt_rcv_info
 I3    X  37619 #define io$v_lt_setmode io$r_lt_modifiers.io$v_lt_setmode
 I3    X  37620 #define io$v_lt_sensemode io$r_lt_modifiers.io$v_lt_sensemode
 I3    X  37621 #define io$v_lt_que_chg_notif io$r_lt_modifiers.io$v_lt_que_chg_notif
 I3    X  37622 #define io$v_lt_map_filler io$r_lt_mapitem.io$v_lt_map_filler
 I3    X  37623 #define io$v_lt_map_nodnam io$r_lt_mapitem.io$v_lt_map_nodnam
 I3    X  37624 #define io$v_lt_map_pornam io$r_lt_mapitem.io$v_lt_map_pornam
 I3    X  37625 #define io$v_lt_map_srvnam io$r_lt_mapitem.io$v_lt_map_srvnam
 I3    X  37626 #define io$v_lt_map_lnknam io$r_lt_mapitem.io$v_lt_map_lnknam
 I3    X  37627 #define io$v_lt_map_netadr io$r_lt_mapitem.io$v_lt_map_netadr
 I3    X  37628 #define io$v_flush io$r_fs_modifiers.io$v_flush
 I3    X  37629 #define io$v_write_barrier io$r_fs_modifiers.io$v_write_barrier
 I3    X  37630 #define io$v_mkfill1 io$r_mk_setmode_modifiers.io$v_mkfill1
 I3    X  37631 #define io$v_allowfast_never io$r_mk_setmode_modifiers.io$v_allowfast_never
 I3    X  37632 #define io$v_allowfast_per_io io$r_mk_setmode_modifiers.io$v_allowfast_per_io
 I3    X  37633 #define io$v_allowfast_always io$r_mk_setmode_modifiers.io$v_allowfast_always
 I3    X  37634 #define io$v_add io$r_sd_modifiers.io$v_add
 I3    X  37635 #define io$v_idstring io$r_usb_usbattr_modifiers.io$v_idstring
 I3    X  37636 #define io$v_serialnum io$r_usb_usbattr_modifiers.io$v_serialnum
 I3    X  37637 #define io$v_bypass_valid_chk io$r_disk_packack_modifiers.io$v_bypass_valid_chk
 I3    X  37638 #endif		/* #if !defined(__VAXC) */
 I3    X  37639  
 I3    X  37640 #else	    /* __OLD_STARLET */
 I3	  37641 union iodef {
 I3	  37642 /* Basic I/O function code/modifiers structure                              */
 I3	  37643     __struct  {
       E	     struct
 I3	  37644         unsigned io$v_fcode : 6;        /* Function Code Field              */
 I3	  37645         unsigned io$v_fmodifiers : 10;  /* Function Modifiers Field         */
 I3	  37646         } io$r_fcode_structure;
 I3	  37647 /* Function modifiers common to all drivers which do error logging          */
 I3	  37648     __struct  {
       E	     struct
 I3	  37649         unsigned io$v_fcode_fill_1 : 6;
 I3	  37650         unsigned io$v_filler_1 : 5;
 I3	  37651         unsigned io$v_inherlog : 1;     /* Inhibit error logging            */
 I3	  37652         unsigned io$v_fill_20_ : 4;
 I3	  37653         } io$r_errlog_modifiers;
 I3	  37654 /* General disk and tape function code modifiers                            */
 I3	  37655     __struct  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 679
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

       E	     struct
 I3	  37656         unsigned io$v_fcode_fill_2 : 6;
 I3	  37657         unsigned io$v_rsvd_for_devdepend_1 : 4;
 I3	  37658         unsigned io$v_erase : 1;        /* Erase data                       */
 I3	  37659         unsigned io$v_filler_2 : 1;     /* IO$M_INHERLOG                    */
 I3	  37660         unsigned io$v_rsvd_for_devdepend_2 : 1;
 I3	  37661         unsigned io$v_exfunc : 1;       /* func<31:16> are valid            */
 I3	  37662         unsigned io$v_datacheck : 1;    /* Write check data after transfer  */
 I3	  37663         unsigned io$v_inhretry : 1;     /* Inhibit error retry              */
 I3	  37664 /* the following are only valid if EXFUNC is set                            */
 I3	  37665         unsigned io$v_syncsts : 1;      /* allow synchronous completion     */
 I3	  37666         unsigned io$v_novcache : 1;     /* do not use VBN cache             */
 I3	  37667         unsigned io$v_bufobj : 1;       /* Buffer object I/O                */
 I3	  37668         unsigned io$v_trusted : 1;      /* I/O from trusted component       */
 I3	  37669         unsigned io$v_file_flush : 1;   /* Flush file to disk               */
 I3	  37670         unsigned io$v_barrier : 1;      /* Insert a barrier after the write */
 I3	  37671         unsigned io$v_rah_hint : 1;     /* Readahead hint (used by XFC)     */
 I3	  37672         unsigned io$v_fill_21_ : 1;
 I3	  37673         } io$r_disk_tape_modifiers;
 I3	  37674 /* General disk function code modifiers                                     */
 I3	  37675     __struct  {
       E	     struct
 I3	  37676         unsigned io$v_fcode_fill_3 : 6;
 I3	  37677         unsigned io$v_rsvd_for_devdepend_3 : 6;
 I3	  37678         unsigned io$v_inhseek : 1;      /* Inhibit implied seek on physical functions */
 I3	  37679         unsigned io$v_fill_22_ : 3;
 I3	  37680         } io$r_disk_modifiers;
 I3	  37681 /* General disk READ function code modifiers                                */
 I3	  37682     __struct  {
       E	     struct
 I3	  37683         unsigned io$v_filler_2a : 21;   /* Fill to overlay READ_TO_EOF with BARRIER */
 I3	  37684 /* the following are only valid if EXFUNC is set                            */
 I3	  37685         unsigned io$v_read_to_eof : 1;  /* Reserved for Internal Use only.  */
 I3	  37686         unsigned io$v_fill_23_ : 2;
 I3	  37687         } io$r_disk_read_modifiers;
 I3	  37688 /* General tape function code modifiers                                     */
 I3	  37689     __struct  {
       E	     struct
 I3	  37690         unsigned io$v_fcode_fill_4 : 6;
 I3	  37691         unsigned io$v_reverse : 1;      /* Reverse operation                */
 I3	  37692         unsigned io$v_nowait : 1;       /* No wait for rewind to complete   */
 I3	  37693         unsigned io$v_rsvd_for_devdepend_4 : 4;
 I3	  37694         unsigned io$v_inhextgap : 1;    /* Inhibit extended inter-record gap  */
 I3	  37695         unsigned io$v_retension : 1;    /* Traverse the entire tape to uniformly set the tape's tension. */
 I3	  37696 /*  Applies only to IO$_REWIND/REWINDOFF functions                          */
 I3	  37697         unsigned io$v_allowfast : 1;    /* Allow fast skip by filemarks when enabled */
 I3	  37698 /*  Applies only to IO$_SKIPFILE/SPACEFILE functions                        */
 I3	  37699         unsigned io$v_mt3_density : 1;  /* Density Setmode and Sensemode for MTD enhanced tape drivers. */
 I3	  37700         } io$r_tape_modifiers;
 I3	  37701 /* DU  & TU, disk & tape class driver transfer function modifier bits       */
 I3	  37702     __struct  {
       E	     struct
 I3	  37703         unsigned io$v_fcode_fill_5 : 6;
 I3	  37704         unsigned io$v_dutux_reserved : 2;
 I3	  37705         unsigned io$v_mscpmodifs : 1;   /* Use MSCP modifiers in P5         */
 I3	  37706         unsigned io$v_fill_24_ : 7;
 I3	  37707         } io$r_dutu_xfer_modifiers;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 680
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  37708     __struct  {
       E	     struct
 I3	  37709         unsigned io$v_fcode_fill_6 : 6;
 I3	  37710         unsigned io$v_shadow : 1;       /* Shadowing SENSECHAR              */
 I3	  37711         unsigned io$v_locate : 1;       /* Shadowing Locate function        */
 I3	  37712         } io$r_du_sense_modifiers;
 I3	  37713     __struct  {
       E	     struct
 I3	  37714         unsigned io$v_fcode_fill_7 : 6;
 I3	  37715         unsigned io$v_mscp_format : 1;  /* PACKACK media for formatting     */
 I3	  37716         unsigned io$v_fill_25_ : 1;
 I3	  37717         } io$r_du_packack_modifiers;
 I3	  37718     __struct  {
       E	     struct
 I3	  37719         unsigned io$v_fcode_fill_8 : 6;
 I3	  37720         unsigned io$v_allhosts : 1;     /* Do available as for all class drivers */
 I3	  37721         unsigned io$v_dissolve : 1;     /* Dissolve shadow set              */
 I3	  37722         unsigned io$v_nocleanup : 1;    /* Normal shadow set cleanup not necessary */
 I3	  37723         unsigned io$v_fill_26_ : 7;
 I3	  37724         } io$r_du_avail_modifiers;
 I3	  37725     __struct  {
       E	     struct
 I3	  37726         unsigned io$v_fcode_fill_9 : 6;
 I3	  37727         unsigned io$v_spindown : 1;     /* Spin down removed member         */
 I3	  37728         unsigned io$v_fill_27_ : 1;
 I3	  37729         } io$r_du_remshad_modifiers;
 I3	  37730     __struct  {
       E	     struct
 I3	  37731         unsigned io$v_fcode_fill_11 : 6;
 I3	  37732         unsigned io$v_est_com_path : 1; /* Establish Communication Path     */
 I3	  37733         unsigned io$v_lcl_src_unit : 1; /* Local Source Unit                */
 I3	  37734         unsigned io$v_rtn_com_path : 1; /* Retain Communication Path        */
 I3	  37735         unsigned io$v_fill_28_ : 7;
 I3	  37736         } io$r_du_dcd_modifiers;
 I3	  37737     __struct  {
       E	     struct
 I3	  37738         unsigned io$v_fcode_fill_12 : 6;
 I3	  37739         unsigned io$v_dealc_all : 1;    /* Deallocate All                   */
 I3	  37740         unsigned io$v_dealc_hrn : 1;    /* Deallocate by Host Reference Number */
 I3	  37741         unsigned io$v_dealc_entloc : 1; /* Deallocate by Entry Locator      */
 I3	  37742         unsigned io$v_decr_afc : 1;     /* Decrement Allocation Failure Count */
 I3	  37743         unsigned io$v_read_all : 1;     /* Read All                         */
 I3	  37744         unsigned io$v_read_hrn : 1;     /* Read by Host Reference Number    */
 I3	  37745         unsigned io$v_break_conn : 1;   /* Break Connection                 */
 I3	  37746         unsigned io$v_fill_29_ : 3;
 I3	  37747         } io$r_du_whm_modifiers;
 I3	  37748 /* HBS driver transfer function modifier bits                               */
 I3	  37749 /* Make sure that IO$V_SHADOW .ne. IO$V_LOCATE .ne. IO$V_COPYOP             */
 I3	  37750     __struct  {
       E	     struct
 I3	  37751         unsigned io$v_fcode_fill_13 : 6;
 I3	  37752         unsigned io$v_stepover : 1;     /* Stepover SCBLBN.                 */
 I3	  37753         unsigned io$v_cs_fill : 1;
 I3	  37754         unsigned io$v_copyop : 1;       /* Shad Server Cpy Operation        */
 I3	  37755         unsigned io$v_fill_30_ : 7;
 I3	  37756         } io$r_hbs_copyshad_modifiers;
 I3	  37757     __struct  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 681
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

       E	     struct
 I3	  37758         unsigned io$v_fcode_fill_14 : 6;
 I3	  37759         unsigned io$v_exists : 1;       /* VU already exists.               */
 I3	  37760         unsigned io$v_cbs : 1;          /* Controller based shadowing.      */
 I3	  37761         unsigned io$v_booting : 1;      /* Creshad for system disk.         */
 I3	  37762         unsigned io$v_req_minicopy : 1; /* MINICOPY required                */
 I3	  37763         unsigned io$v_opt_minicopy : 1; /* MINICOPY optional                */
 I3	  37764         unsigned io$v_nominicopy : 1;   /* NOMINICOPY                       */
 I3	  37765         unsigned io$v_hbvs_fill : 1;
 I3	  37766         unsigned io$v_expect_mount_done : 1; /* All SSMs on command line sent to HBVS */
 I3	  37767         unsigned io$v_fill_31_ : 2;
 I3	  37768         } io$r_hbs_creshad_modifiers;
 I3	  37769     __struct  {
       E	     struct
 I3	  37770         unsigned io$v_fcode_fill_15 : 9;
 I3	  37771         unsigned io$v_vuex_fc : 1;      /* Exclude Full copy members        */
 I3	  37772         unsigned io$v_fill_32_ : 6;
 I3	  37773         } io$r_hbs_xfer_modifiers;
 I3	  37774     __struct  {
       E	     struct
 I3	  37775         unsigned io$v_fcode_fill_54 : 9;
 I3	  37776         unsigned io$v_write_scb : 1;    /* Write the SCB                    */
 I3	  37777         unsigned io$v_filler_hbvs_1 : 3; /*                                 */
 I3	  37778         unsigned io$v_upd_scblbn : 1;   /* Update HVBS on new location of the SCB */
 I3	  37779         unsigned io$v_fill_33_ : 2;
 I3	  37780         } io$r_hbs_scb_modifiers;
 I3	  37781 /* Function modifier bits for Set Preferred Path.                           */
 I3	  37782     __struct  {
       E	     struct
 I3	  37783         unsigned io$v_fcode_fill_10 : 6;
 I3	  37784 /* No modifiers set, passes in a preferred path (DUDRIVER)                  */
 I3	  37785         unsigned io$v_forcepath : 1;    /* Make path change happen (DUDRIVER) */
 I3	  37786         unsigned io$v_preferred_cpu : 1; /* Set Fast Path CPU affinity of port (port driver) */
 I3	  37787         unsigned io$v_sys_assignable : 1; /* system assignable port         */
 I3	  37788         unsigned io$v_fill_34_ : 7;
 I3	  37789         } io$r_prfpath_modifiers;
 I3	  37790 /* DR driver function modifier bits.                                        */
 I3	  37791     __struct  {
       E	     struct
 I3	  37792         unsigned io$v_fcode_fill_16 : 6;
 I3	  37793         unsigned io$v_commod : 1;       /* Diagnostic command               */
 I3	  37794         unsigned io$v_movetrackd : 1;   /* Move track descriptor            */
 I3	  37795         unsigned io$v_diagnostic : 1;   /* Diagnostic function              */
 I3	  37796         unsigned io$v_skpsecinh : 1;    /* Skip sector inhibit              */
 I3	  37797         unsigned io$v_fill_35_ : 6;
 I3	  37798         } io$r_dr_modifiers;
 I3	  37799 /* DY driver function modifier bits.                                        */
 I3	  37800     __struct  {
       E	     struct
 I3	  37801         unsigned io$v_fcode_fill_17 : 6;
 I3	  37802         unsigned io$v_deldata : 1;      /* Write deleted data mark          */
 I3	  37803         unsigned io$v_fill_36_ : 1;
 I3	  37804         } io$r_dy_modifiers;
 I3	  37805 /* DD driver (TU58) function modifier bits.                                 */
 I3	  37806     __struct  {
       E	     struct
 I3	  37807         unsigned io$v_fcode_fill_18 : 6;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 682
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  37808         unsigned io$v_nomrsp : 1;       /* Do not use MRSP for this operation */
 I3	  37809         unsigned io$v_fill_37_ : 1;
 I3	  37810         } io$r_dd_modifiers;
 I3	  37811 /* Magnetic tape I/O function modifier bits for the TS11.                   */
 I3	  37812     __struct  {
       E	     struct
 I3	  37813         unsigned io$v_fcode_fill_19 : 6;
 I3	  37814         unsigned io$v_rsvd_for_devdepend_5 : 2;
 I3	  37815         unsigned io$v_swap : 1;         /* Swap byte (TS11)                 */
 I3	  37816         unsigned io$v_opposite : 1;     /* Opposite bit for rereads (TS11)  */
 I3	  37817         unsigned io$v_fill_38_ : 6;
 I3	  37818         } io$r_ts11_modifiers;
 I3	  37819 /* TU driver function modifier bits                                         */
 I3	  37820     __struct  {
       E	     struct
 I3	  37821         unsigned io$v_fcode_fill_20 : 6;
 I3	  37822         unsigned io$v_rsvd_for_devdepend_6 : 3;
 I3	  37823         unsigned io$v_clserexcp : 1;    /* Clear serious exception condition */
 I3	  37824         unsigned io$v_fill_39_ : 6;
 I3	  37825         } io$r_tu_modifiers;
 I3	  37826 /* Tape class driver segmented and large transfer modifier bits             */
 I3	  37827     __struct  {
       E	     struct
 I3	  37828         unsigned io$v_fcode_fill_21 : 6;
 I3	  37829         unsigned io$v_chunkdiag : 1;    /* Allow diagnostic buffers         */
 I3	  37830         unsigned io$v_rsvd_for_devdepend_7 : 3;
 I3	  37831         unsigned io$v_tbc : 1;          /* To be continued modifier         */
 I3	  37832         unsigned io$v_fill_40_ : 5;
 I3	  37833         } io$r_tu_lg_transfer_modifiers;
 I3	  37834 /* TUDRIVER SETMODE function modifier bits.                                 */
 I3	  37835     __struct  {
       E	     struct
 I3	  37836         unsigned io$v_fcode_fill_22 : 6;
 I3	  37837         unsigned io$v_enarep : 1;       /* Enable media quality             */
 I3	  37838         unsigned io$v_fill_41_ : 1;
 I3	  37839         } io$r_tu_setmode_modifiers;
 I3	  37840 /* reporting.                                                               */
 I3	  37841 /* ACP function modifier bits.                                              */
 I3	  37842     __struct  {
       E	     struct
 I3	  37843         unsigned io$v_fcode_fill_23 : 6;
 I3	  37844         unsigned io$v_access : 1;       /* Access file                      */
 I3	  37845         unsigned io$v_create : 1;       /* Create file                      */
 I3	  37846         unsigned io$v_delete : 1;       /* Delete file                      */
 I3	  37847         unsigned io$v_mount : 1;        /* Mount volume                     */
 I3	  37848         unsigned io$v_dmount : 1;       /* Dismount volume                  */
 I3	  37849         unsigned io$v_remount : 1;      /* Remount volume                   */
 I3	  37850         unsigned io$v_movefile : 1;     /* Move a file                      */
 I3	  37851         unsigned io$v_filler_8 : 1;     /* Used for EXFUNC                  */
 I3	  37852         unsigned io$v_rwshelved : 1;    /* Access shelved files             */
 I3	  37853         unsigned io$v_setdir : 1;       /* Set file as a directory          */
 I3	  37854 /* Bit 19 used for TRUSTED                                                  */
 I3	  37855         } io$r_acp_modifiers;
 I3	  37856 /* CR (card reader) driver function modifier bits.                          */
 I3	  37857     __struct  {
       E	     struct
 I3	  37858         unsigned io$v_fcode_fill_24 : 6;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 683
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  37859         unsigned io$v_binary : 1;       /* Binary read                      */
 I3	  37860         unsigned io$v_packed : 1;       /* Packed read                      */
 I3	  37861         } io$r_cr_modifiers;
 I3	  37862 /* MB (mailbox) driver function modifier bits.                              */
 I3	  37863 /* The following modifers are for the QIO READ, WRITE and SENSEMODE         */
 I3	  37864 /* functions.                                                               */
 I3	  37865     __struct  {
       E	     struct
 I3	  37866         unsigned io$v_fcode_fill_25 : 6;
 I3	  37867         unsigned io$v_now : 1;          /* Do not wait for operation complete */
 I3	  37868         unsigned io$v_stream : 1;       /* Perform stream mode operation (vs. record mode) */
 I3	  37869         unsigned io$v_readercheck : 1;  /* Perform operation if no read channel is assigned to the mailbox. */
 I3	  37870         unsigned io$v_writercheck : 1;  /* Perform operation if no write channel is assigned to the mailbox. */
 I3	  37871         unsigned io$v_norswait : 1;     /* Do not allow resource waits      */
 I3	  37872 /* Bit 13 used for EXFUNC                                                   */
 I3	  37873 /* Bit 19 used for TRUSTED                                                  */
 I3	  37874         unsigned io$v_fill_42_ : 5;
 I3	  37875         } io$r_mb_modifiers;
 I3	  37876 /* More MB (mailbox) driver function modifier bits.                         */
 I3	  37877 /* Mailbox QIO SETMODE function modifiers.                                  */
 I3	  37878     __struct  {
       E	     struct
 I3	  37879         unsigned io$v_fcode_fill_26 : 6;
 I3	  37880         unsigned io$v_mb_room_notify : 1; /* Notify when some (any) space in the mailbox is available. */
 I3	  37881         unsigned io$v_readattn : 1;     /* Request ast on waiting reader    */
 I3	  37882         unsigned io$v_wrtattn : 1;      /* Request ast on waiting writer    */
 I3	  37883         unsigned io$v_setprot : 1;      /* Set volume protection            */
 I3	  37884         unsigned io$v_readerwait : 1;   /* Wait for a read channel to be assigned to the mailbox. */
 I3	  37885         unsigned io$v_writerwait : 1;   /* Wait for a write channel to be assigned to the mailbox. */
 I3	  37886         unsigned io$v_fill_43_ : 4;
 I3	  37887         } io$r_mb_setmode_modifiers;
 I3	  37888 /* TT driver READ function modifier bits.                                   */
 I3	  37889     __struct  {
       E	     struct
 I3	  37890         unsigned io$v_fcode_fill_27 : 6;
 I3	  37891         unsigned io$v_noecho : 1;       /* Noecho                           */
 I3	  37892         unsigned io$v_timed : 1;        /* Timed                            */
 I3	  37893         unsigned io$v_cvtlow : 1;       /* Convert lower case               */
 I3	  37894         unsigned io$v_nofiltr : 1;      /* No filter                        */
 I3	  37895         unsigned io$v_dsablmbx : 1;     /* Disable mailbox                  */
 I3	  37896         unsigned io$v_purge : 1;        /* Purge typeahead                  */
 I3	  37897         unsigned io$v_trmnoecho : 1;    /* Terminators are not echoed       */
 I3	  37898         unsigned io$v_refresh : 1;      /* Control-R interrupted read       */
 I3	  37899         unsigned io$v_escape : 1;       /* Terminate read on escape sequence */
 I3	  37900         unsigned io$v_extend : 1;       /* Used by alternate class drivers  */
 I3	  37901         } io$r_tt_read_modifiers;
 I3	  37902 /* TT driver WRITE function modifier bits.                                  */
 I3	  37903     __struct  {
       E	     struct
 I3	  37904         unsigned io$v_fcode_fill_28 : 6;
 I3	  37905         unsigned io$v_canctrlo : 1;     /* Cancel control O                 */
 I3	  37906         unsigned io$v_enablmbx : 1;     /* Enable mailbox                   */
 I3	  37907         unsigned io$v_noformat : 1;     /* Do not format output             */
 I3	  37908         unsigned io$v_breakthru : 1;    /* Broadcast I/O                    */
 I3	  37909         unsigned io$v_newline : 1;      /* Output a newline                 */
 I3	  37910         unsigned io$v_fill_44_ : 5;
 I3	  37911         } io$r_tt_write_modifiers;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 684
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  37912 /* TT driver SENSEMODE function modifier bits.                              */
 I3	  37913     __struct  {
       E	     struct
 I3	  37914         unsigned io$v_fcode_fill_29 : 6;
 I3	  37915         unsigned io$v_typeahdcnt : 1;   /* Sense typeahead information      */
 I3	  37916         unsigned io$v_reserve_rd_modem : 1;
 I3	  37917         } io$r_tt_sensemode_modifiers;
 I3	  37918 /* TT driver SETMODE subfunction modifier bits.                             */
 I3	  37919     __struct  {
       E	     struct
 I3	  37920         unsigned io$v_fcode_fill_30 : 6;
 I3	  37921         unsigned io$v_maint : 1;        /* Enable maint sub modifiers       */
 I3	  37922         unsigned io$v_ctrlyast : 1;     /* Set control Y AST                */
 I3	  37923         unsigned io$v_ctrlcast : 1;     /* Set Control C                    */
 I3	  37924         unsigned io$v_hangup : 1;       /* Set mode and hang up line        */
 I3	  37925         unsigned io$v_outband : 1;      /* Set out of band AST              */
 I3	  37926         unsigned io$v_tt_connect : 1;   /* Connect to detached terminal     */
 I3	  37927         unsigned io$v_tt_discon : 1;    /* Disconnect detached terminal     */
 I3	  37928         unsigned io$v_tt_process : 1;   /* Define controlling process       */
 I3	  37929         unsigned io$v_brdcst : 1;       /* Define broadcast mask            */
 I3	  37930         unsigned io$v_fill_45_ : 1;
 I3	  37931         } io$r_tt_setmode_modifiers;
 I3	  37932 /* TT driver MAINTIANCE subfunction submodifier bits.                       */
 I3	  37933     __struct  {
       E	     struct
 I3	  37934         unsigned io$v_fcode_fill_31 : 6;
 I3	  37935         unsigned io$v_reserve_maint_escape_1 : 1;
 I3	  37936         unsigned io$v_loop : 1;         /* Diagnostic loopback              */
 I3	  37937         unsigned io$v_unloop : 1;       /* Diagnostic reset loopback        */
 I3	  37938         unsigned io$v_line_off : 1;     /* Disable line                     */
 I3	  37939         unsigned io$v_set_modem : 1;    /* Diagnostic modem control         */
 I3	  37940         unsigned io$v_line_on : 1;      /* Enable line                      */
 I3	  37941         unsigned io$v_loop_ext : 1;     /* Diagnostic external loopback     */
 I3	  37942         unsigned io$v_autxof_ena : 1;   /* Enable auto XOFF                 */
 I3	  37943         unsigned io$v_autxof_dis : 1;   /* Disable auto XOFF                */
 I3	  37944         unsigned io$v_reserve_int_disable : 1;
 I3	  37945         } io$r_tt_maint_modifiers;
 I3	  37946 /* TT driver out-of-band modifier bits.                                     */
 I3	  37947     __struct  {
       E	     struct
 I3	  37948         unsigned io$v_fcode_fill_32 : 6;
 I3	  37949         unsigned io$v_reserve_maint_escape_2 : 5;
 I3	  37950         unsigned io$v_include : 1;      /* Include character in stream      */
 I3	  37951         unsigned io$v_tt_abort : 1;     /* Abort current I/O                */
 I3	  37952         unsigned io$v_fill_46_ : 3;
 I3	  37953         } io$r_tt_outofband_modifiers;
 I3	  37954 /* Posix terminal driver SETMODE subfunction modifier bits.                 */
 I3	  37955     __struct  {
       E	     struct
 I3	  37956         unsigned io$v_fcode_fill_33 : 6;
 I3	  37957         unsigned io$v_posixinit : 1;    /* Enable initialization subfunctions */
 I3	  37958         unsigned io$v_posixflow : 1;    /* Enable flow control subfunctions */
 I3	  37959         } io$r_tt_psxsetmode_modifiers;
 I3	  37960 /* Posix terminal driver INIT subfunction submodifier bits.                 */
 I3	  37961     __struct  {
       E	     struct
 I3	  37962         unsigned io$v_fcode_fill_34 : 6;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 685
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  37963         unsigned io$v_reserve_init_escape : 1;
 I3	  37964         unsigned io$v_set_posix : 1;    /* Set TT3$M_POSIX and set up PTC   */
 I3	  37965         unsigned io$v_clear_posix : 1;  /* Clear TT3$M_POSIX (opt. delete PTC) */
 I3	  37966         unsigned io$v_set_termios : 1;  /* Set up termios                   */
 I3	  37967         unsigned io$v_set_ptc : 1;      /* Set up all of PTC                */
 I3	  37968         unsigned io$v_clear_ptc : 1;    /* clear PTC                        */
 I3	  37969         unsigned io$v_flush_tab : 1;    /* flush typeahead buffer           */
 I3	  37970         unsigned io$v_flush_output : 1; /* flush outstanding writes         */
 I3	  37971         unsigned io$v_update_ptc : 1;   /* update PTC                       */
 I3	  37972         unsigned io$v_fill_47_ : 1;
 I3	  37973         } io$r_tt_posixinit_modifiers;
 I3	  37974 /* Posix terminal driver FLOW subfunction submodifier bits.                 */
 I3	  37975     __struct  {
       E	     struct
 I3	  37976         unsigned io$v_fcode_fill_35 : 6;
 I3	  37977         unsigned io$v_reserve_flow_escape : 2;
 I3	  37978         unsigned io$v_out_xoff : 1;     /* Simulate output XOFF             */
 I3	  37979         unsigned io$v_out_xon : 1;      /* Simulate output XON              */
 I3	  37980         unsigned io$v_in_xoff : 1;      /* Simulate input XOFF              */
 I3	  37981         unsigned io$v_in_xon : 1;       /* Simulate input XON               */
 I3	  37982         unsigned io$v_fill_48_ : 4;
 I3	  37983         } io$r_tt_posixflow_modifiers;
 I3	  37984 /* Posix terminal driver READ function modifier bits.                       */
 I3	  37985     __struct  {
       E	     struct
 I3	  37986         unsigned io$v_fcode_fill_36 : 6;
 I3	  37987         unsigned io$v_o_nonblock : 1;   /* Nonblock                         */
 I3	  37988         unsigned io$v_fill_49_ : 1;
 I3	  37989         } io$r_tt_psxread_modifiers;
 I3	  37990 /* Network WRITE and READ VIRTUAL function modifier bits.                   */
 I3	  37991     __struct  {
       E	     struct
 I3	  37992         unsigned io$v_fcode_fill_37 : 6;
 I3	  37993         unsigned io$v_interrupt : 1;    /* Interrupt message                */
 I3	  37994         unsigned io$v_multiple : 1;     /* Multiple write/read request      */
 I3	  37995         unsigned io$v_lockbuf : 1;      /* Direct I/O request               */
 I3	  37996         unsigned io$v_noblock : 1;      /* Segment message w/o blocking     */
 I3	  37997 /* Bit 13 used for EXFUNC                                                   */
 I3	  37998 /* Bit 19 used for TRUSTED                                                  */
 I3	  37999         unsigned io$v_fill_50_ : 6;
 I3	  38000         } io$r_net_write_read_modifiers;
 I3	  38001 /* Network ACCESS/DEACCESS function modifier bits.                          */
 I3	  38002     __struct  {
       E	     struct
 I3	  38003         unsigned io$v_fcode_fill_38 : 6;
 I3	  38004         unsigned io$v_reserved : 2;
 I3	  38005         unsigned io$v_abort : 1;        /* Disconnect abort/connect reject  */
 I3	  38006         unsigned io$v_synch : 1;        /* Synchronous disconnect           */
 I3	  38007         unsigned io$v_fill_51_ : 6;
 I3	  38008         } io$r_net_accdea_modifiers;
 I3	  38009 /* DATALINK driver WRITE subfunction modifier bits.                         */
 I3	  38010     __struct  {
       E	     struct
 I3	  38011         unsigned io$v_fcode_fill_39 : 6;
 I3	  38012         unsigned io$v_response : 1;     /* Transmit this packet as a response */
 I3	  38013         unsigned io$v_fill_52_ : 1;
 I3	  38014         } io$r_dlink_write_modifiers;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 686
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  38015 /* DATALINK driver SETMODE subfunction modifier bits.                       */
 I3	  38016     __struct  {
       E	     struct
 I3	  38017         unsigned io$v_fcode_fill_40 : 6;
 I3	  38018         unsigned io$v_startup : 1;      /* Start protocol                   */
 I3	  38019         unsigned io$v_shutdown : 1;     /* Stop protocol                    */
 I3	  38020         unsigned io$v_attnast : 1;      /* Attention AST                    */
 I3	  38021         unsigned io$v_ctrl : 1;         /* Controller (ie. not station) function */
 I3	  38022         unsigned io$v_reserve_set_modem : 1;
 I3	  38023         unsigned io$v_set_mac : 1;      /* Set MAC parameters               */
 I3	  38024         unsigned io$v_update_map : 1;   /* Functional Addr Map              */
 I3	  38025         unsigned io$v_route : 1;        /* Source Routing Ops               */
 I3	  38026         unsigned io$v_fill_53_ : 2;
 I3	  38027         } io$r_dlink_setmode_modifiers;
 I3	  38028 /* DATALINK driver SENSEMODE subfunction modifier bits.                     */
 I3	  38029     __struct  {
       E	     struct
 I3	  38030         unsigned io$v_fcode_fill_41 : 6;
 I3	  38031         unsigned io$v_rd_mem : 1;       /* Read device memory               */
 I3	  38032         unsigned io$v_rd_modem : 1;     /* Read modem status                */
 I3	  38033         unsigned io$v_rd_count : 1;     /* Read counters                    */
 I3	  38034         unsigned io$v_reserve_ctrl : 1;
 I3	  38035         unsigned io$v_clr_count : 1;    /* Clear counters                   */
 I3	  38036         unsigned io$v_sense_mac : 1;    /* Sense MAC parameters             */
 I3	  38037         unsigned io$v_show_map : 1;     /* Functional Addr Map              */
 I3	  38038         unsigned io$v_show_route : 1;   /* Source Routing Ops               */
 I3	  38039         unsigned io$v_fill_54_ : 2;
 I3	  38040         } io$r_dlink_sensemode_modifiers;
 I3	  38041     __struct  {
       E	     struct
 I3	  38042         unsigned io$v_fcode_fill_42 : 6;
 I3	  38043         unsigned io$v_more : 1;         /* More data follows (M-bit)        */
 I3	  38044         unsigned io$v_qualified : 1;    /* Use qualified sub-channel (Q-bit) */
 I3	  38045         } io$r_x25_write_modifiers;
 I3	  38046 /* X25 driver ACCESS function modifier bits.                                */
 I3	  38047     __struct  {
       E	     struct
 I3	  38048         unsigned io$v_fcode_fill_43 : 6;
 I3	  38049         unsigned io$v_redirect : 1;     /* Redirect virtual call            */
 I3	  38050         unsigned io$v_accept : 1;       /* Accept virtual call              */
 I3	  38051         } io$r_x25_access_modifiers;
 I3	  38052 /* LPA-11 driver STARTDATA modifier bits.                                   */
 I3	  38053     __struct  {
       E	     struct
 I3	  38054         unsigned io$v_fcode_fill_44 : 6;
 I3	  38055         unsigned io$v_setevf : 1;       /* Set event flag                   */
 I3	  38056         unsigned io$v_fill_55_ : 1;
 I3	  38057         } io$r_lpa_start_modifiers;
 I3	  38058 /* XA (DR11-W) driver function modifier bits.                               */
 I3	  38059     __struct  {
       E	     struct
 I3	  38060         unsigned io$v_fcode_fill_45 : 6;
 I3	  38061         unsigned io$v_word : 1;         /* Word (interrupt)/block (DMA) mode specifier */
 I3	  38062         unsigned io$v_filler_3 : 1;     /* IO$M_TIMED                       */
 I3	  38063         unsigned io$v_filler_4 : 1;     /* IO$M_ATTNAST, IO$M_DIAGNOSTIC    */
 I3	  38064         unsigned io$v_setfnct : 1;      /* Set "FNCT" bits in device CSR    */
 I3	  38065         unsigned io$v_datapath : 1;     /* Change UBA datapath (direct/buffered) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 687
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  38066         unsigned io$v_filler_5 : 1;     /* IO$M_INHERLOG (former def'n for RESET) */
 I3	  38067         unsigned io$v_cycle : 1;        /* Set "cycle" bit in device CSR    */
 I3	  38068         unsigned io$v_reset : 1;        /* Device reset specifier           */
 I3	  38069         unsigned io$v_fill_56_ : 2;
 I3	  38070         } io$r_xa_modifiers;
 I3	  38071 /* 3271 driver function modifier bits.                                      */
 I3	  38072     __struct  {
       E	     struct
 I3	  38073         unsigned io$v_fcode_fill_46 : 6;
 I3	  38074         unsigned io$v_filler_6 : 2;
 I3	  38075         unsigned io$v_setcuadr : 1;     /* Set a new CU address             */
 I3	  38076         unsigned io$v_setbsize : 1;     /* Set a new maximum buffer size    */
 I3	  38077         unsigned io$v_setpoolsz : 1;    /* Set a new pool size              */
 I3	  38078         unsigned io$v_setenqcnt : 1;    /* Set a new ENQ threshold          */
 I3	  38079         unsigned io$v_clear : 1;        /* Zero status counters             */
 I3	  38080         unsigned io$v_lpbext : 1;       /* Loopback is external loopback    */
 I3	  38081         unsigned io$v_lpbint : 1;       /* Loopback is internal loopback (DUP11) */
 I3	  38082         unsigned io$v_readcsr : 1;      /* Read CSRs on DUP11               */
 I3	  38083         } io$r_ibm3271_modifiers;
 I3	  38084 /* XW driver function modifier bits.                                        */
 I3	  38085     __struct  {
       E	     struct
 I3	  38086         unsigned io$v_fcode_fill_47 : 6;
 I3	  38087         unsigned io$v_noctswait : 1;    /* Diagnostic function              */
 I3	  38088         unsigned io$v_slavloop : 1;     /* Diagnostic function              */
 I3	  38089         unsigned io$v_nodsrwait : 1;    /* Do not wait for DSR (diag)       */
 I3	  38090         unsigned io$v_maintloop : 1;    /* Internal maint loop              */
 I3	  38091         unsigned io$v_lastblock : 1;    /* Last block of message            */
 I3	  38092         unsigned io$v_filler_7 : 1;
 I3	  38093         unsigned io$v_intclock : 1;     /* Internal clock                   */
 I3	  38094         unsigned io$v_fill_57_ : 3;
 I3	  38095         } io$r_xw_modifiers;
 I3	  38096 /* LAT driver function modifier bits.                                       */
 I3	  38097     __struct  {
       E	     struct
 I3	  38098         unsigned io$v_fcode_fill_48 : 6;
 I3	  38099         unsigned io$v_lt_connect : 1;   /* Solicit connection to remote LAT device */
 I3	  38100         unsigned io$v_lt_discon : 1;    /* Disconnect LAT session           */
 I3	  38101         unsigned io$v_lt_readport : 1;  /* Read LAT device info             */
 I3	  38102         unsigned io$v_lt_map_port : 1;  /* Map application port             */
 I3	  38103         unsigned io$v_lt_rating : 1;    /* Set service rating               */
 I3	  38104         unsigned io$v_lt_sol_info : 1;  /* Request solicit info             */
 I3	  38105         unsigned io$v_lt_rcv_info : 1;  /* Setup to recive reply            */
 I3	  38106         unsigned io$v_lt_setmode : 1;   /* SETMODE on LTA device            */
 I3	  38107         unsigned io$v_lt_sensemode : 1; /* SENSEMODE on LTA device          */
 I3	  38108         unsigned io$v_lt_que_chg_notif : 1; /* Queue change AST             */
 I3	  38109         } io$r_lt_modifiers;
 I3	  38110 /* LAT item list definitions for MAP_PORT                                   */
 I3	  38111     __struct  {
       E	     struct
 I3	  38112         unsigned io$v_lt_map_filler : 1; /* Item 0 not used                 */
 I3	  38113         unsigned io$v_lt_map_nodnam : 1; /* Server node name                */
 I3	  38114         unsigned io$v_lt_map_pornam : 1; /* Server port name                */
 I3	  38115         unsigned io$v_lt_map_srvnam : 1; /* Server service name             */
 I3	  38116         unsigned io$v_lt_map_lnknam : 1; /* Link name                       */
 I3	  38117         unsigned io$v_lt_map_netadr : 1; /* Server Ethernet Add.            */
 I3	  38118         unsigned io$v_fill_58_ : 2;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 688
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  38119         } io$r_lt_mapitem;
 I3	  38120 /* FSDRIVER function modifiers for Dollar.                                  */
 I3	  38121     __struct  {
       E	     struct
 I3	  38122         unsigned io$v_fcode_fill_49 : 6;
 I3	  38123         unsigned io$v_flush : 1;        /* Flush writes                     */
 I3	  38124         unsigned io$v_write_barrier : 1; /* Barrier writes to this point    */
 I3	  38125         } io$r_fs_modifiers;
 I3	  38126 /* MKDRIVER function modifiers for SETMODE                                  */
 I3	  38127     __struct  {
       E	     struct
 I3	  38128         unsigned io$v_fcode_fill_50 : 6;
 I3	  38129         unsigned io$v_mkfill1 : 1;      /* Filler to not coincide with TU modifier (for safety) */
 I3	  38130         unsigned io$v_allowfast_never : 1; /* Disable all skip by filemarks */
 I3	  38131         unsigned io$v_allowfast_per_io : 1; /* Enable skip by filemarks with i/o fcn modifier */
 I3	  38132         unsigned io$v_allowfast_always : 1; /* Default all IO$_SKIPFILE to use skip by filemarks */
 I3	  38133         unsigned io$v_fill_59_ : 6;
 I3	  38134         } io$r_mk_setmode_modifiers;
 I3	  38135 /* Snapshot-capable disk (SD) driver function modifier bits.                */
 I3	  38136     __struct  {
       E	     struct
 I3	  38137         unsigned io$v_fcode_fill_51 : 6;
 I3	  38138         unsigned io$v_add : 1;          /* Add UNIT to an existing pool     */
 I3	  38139         unsigned io$v_fill_60_ : 1;
 I3	  38140         } io$r_sd_modifiers;
 I3	  38141 /* USB usbattr modifiers                                                    */
 I3	  38142     __struct  {
       E	     struct
 I3	  38143         unsigned io$v_fcode_fill_52 : 6;
 I3	  38144         unsigned io$v_idstring : 1;     /* Request for printer's 1284 device ID string */
 I3	  38145         unsigned io$v_serialnum : 1;    /* Request for printer's serial number (if supported) */
 I3	  38146         } io$r_usb_usbattr_modifiers;
 I3	  38147 /* Disk-specific PACKACK modifiers                                          */
 I3	  38148     __struct  {
       E	     struct
 I3	  38149         unsigned io$v_disk_packack_fcode_fill : 6;
 I3	  38150         unsigned io$v_mscp_format_fill : 1; /* Filler to coincide with MSCP_FORMAT modifier for DU PACKACK */
 I3	  38151         unsigned io$v_bypass_valid_chk : 1; /* Send PACKACK to driver even if UCB$M_VALID is set (LCLDSKVALID) */
 I3	  38152         } io$r_disk_packack_modifiers;
 I3	  38153     } ;
 I3	  38154  
 I3	  38155 #if !defined(__VAXC)
 I3	  38156 #define io$v_fcode io$r_fcode_structure.io$v_fcode
 I3	  38157 #define io$v_fmodifiers io$r_fcode_structure.io$v_fmodifiers
 I3	  38158 #define io$v_inherlog io$r_errlog_modifiers.io$v_inherlog
 I3	  38159 #define io$v_erase io$r_disk_tape_modifiers.io$v_erase
 I3	  38160 #define io$v_exfunc io$r_disk_tape_modifiers.io$v_exfunc
 I3	  38161 #define io$v_datacheck io$r_disk_tape_modifiers.io$v_datacheck
 I3	  38162 #define io$v_inhretry io$r_disk_tape_modifiers.io$v_inhretry
 I3	  38163 #define io$v_syncsts io$r_disk_tape_modifiers.io$v_syncsts
 I3	  38164 #define io$v_novcache io$r_disk_tape_modifiers.io$v_novcache
 I3	  38165 #define io$v_bufobj io$r_disk_tape_modifiers.io$v_bufobj
 I3	  38166 #define io$v_trusted io$r_disk_tape_modifiers.io$v_trusted
 I3	  38167 #define io$v_file_flush io$r_disk_tape_modifiers.io$v_file_flush
 I3	  38168 #define io$v_barrier io$r_disk_tape_modifiers.io$v_barrier
 I3	  38169 #define io$v_rah_hint io$r_disk_tape_modifiers.io$v_rah_hint
 I3	  38170 #define io$v_inhseek io$r_disk_modifiers.io$v_inhseek

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 689
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  38171 #define io$v_read_to_eof io$r_disk_read_modifiers.io$v_read_to_eof
 I3	  38172 #define io$v_reverse io$r_tape_modifiers.io$v_reverse
 I3	  38173 #define io$v_nowait io$r_tape_modifiers.io$v_nowait
 I3	  38174 #define io$v_inhextgap io$r_tape_modifiers.io$v_inhextgap
 I3	  38175 #define io$v_retension io$r_tape_modifiers.io$v_retension
 I3	  38176 #define io$v_allowfast io$r_tape_modifiers.io$v_allowfast
 I3	  38177 #define io$v_mt3_density io$r_tape_modifiers.io$v_mt3_density
 I3	  38178 #define io$v_mscpmodifs io$r_dutu_xfer_modifiers.io$v_mscpmodifs
 I3	  38179 #define io$v_shadow io$r_du_sense_modifiers.io$v_shadow
 I3	  38180 #define io$v_locate io$r_du_sense_modifiers.io$v_locate
 I3	  38181 #define io$v_mscp_format io$r_du_packack_modifiers.io$v_mscp_format
 I3	  38182 #define io$v_allhosts io$r_du_avail_modifiers.io$v_allhosts
 I3	  38183 #define io$v_dissolve io$r_du_avail_modifiers.io$v_dissolve
 I3	  38184 #define io$v_nocleanup io$r_du_avail_modifiers.io$v_nocleanup
 I3	  38185 #define io$v_spindown io$r_du_remshad_modifiers.io$v_spindown
 I3	  38186 #define io$v_est_com_path io$r_du_dcd_modifiers.io$v_est_com_path
 I3	  38187 #define io$v_lcl_src_unit io$r_du_dcd_modifiers.io$v_lcl_src_unit
 I3	  38188 #define io$v_rtn_com_path io$r_du_dcd_modifiers.io$v_rtn_com_path
 I3	  38189 #define io$v_dealc_all io$r_du_whm_modifiers.io$v_dealc_all
 I3	  38190 #define io$v_dealc_hrn io$r_du_whm_modifiers.io$v_dealc_hrn
 I3	  38191 #define io$v_dealc_entloc io$r_du_whm_modifiers.io$v_dealc_entloc
 I3	  38192 #define io$v_decr_afc io$r_du_whm_modifiers.io$v_decr_afc
 I3	  38193 #define io$v_read_all io$r_du_whm_modifiers.io$v_read_all
 I3	  38194 #define io$v_read_hrn io$r_du_whm_modifiers.io$v_read_hrn
 I3	  38195 #define io$v_break_conn io$r_du_whm_modifiers.io$v_break_conn
 I3	  38196 #define io$v_stepover io$r_hbs_copyshad_modifiers.io$v_stepover
 I3	  38197 #define io$v_copyop io$r_hbs_copyshad_modifiers.io$v_copyop
 I3	  38198 #define io$v_exists io$r_hbs_creshad_modifiers.io$v_exists
 I3	  38199 #define io$v_cbs io$r_hbs_creshad_modifiers.io$v_cbs
 I3	  38200 #define io$v_booting io$r_hbs_creshad_modifiers.io$v_booting
 I3	  38201 #define io$v_req_minicopy io$r_hbs_creshad_modifiers.io$v_req_minicopy
 I3	  38202 #define io$v_opt_minicopy io$r_hbs_creshad_modifiers.io$v_opt_minicopy
 I3	  38203 #define io$v_nominicopy io$r_hbs_creshad_modifiers.io$v_nominicopy
 I3	  38204 #define io$v_expect_mount_done io$r_hbs_creshad_modifiers.io$v_expect_mount_done
 I3	  38205 #define io$v_vuex_fc io$r_hbs_xfer_modifiers.io$v_vuex_fc
 I3	  38206 #define io$v_write_scb io$r_hbs_scb_modifiers.io$v_write_scb
 I3	  38207 #define io$v_upd_scblbn io$r_hbs_scb_modifiers.io$v_upd_scblbn
 I3	  38208 #define io$v_forcepath io$r_prfpath_modifiers.io$v_forcepath
 I3	  38209 #define io$v_preferred_cpu io$r_prfpath_modifiers.io$v_preferred_cpu
 I3	  38210 #define io$v_sys_assignable io$r_prfpath_modifiers.io$v_sys_assignable
 I3	  38211 #define io$v_commod io$r_dr_modifiers.io$v_commod
 I3	  38212 #define io$v_movetrackd io$r_dr_modifiers.io$v_movetrackd
 I3	  38213 #define io$v_diagnostic io$r_dr_modifiers.io$v_diagnostic
 I3	  38214 #define io$v_skpsecinh io$r_dr_modifiers.io$v_skpsecinh
 I3	  38215 #define io$v_deldata io$r_dy_modifiers.io$v_deldata
 I3	  38216 #define io$v_nomrsp io$r_dd_modifiers.io$v_nomrsp
 I3	  38217 #define io$v_swap io$r_ts11_modifiers.io$v_swap
 I3	  38218 #define io$v_opposite io$r_ts11_modifiers.io$v_opposite
 I3	  38219 #define io$v_clserexcp io$r_tu_modifiers.io$v_clserexcp
 I3	  38220 #define io$v_chunkdiag io$r_tu_lg_transfer_modifiers.io$v_chunkdiag
 I3	  38221 #define io$v_tbc io$r_tu_lg_transfer_modifiers.io$v_tbc
 I3	  38222 #define io$v_enarep io$r_tu_setmode_modifiers.io$v_enarep
 I3	  38223 #define io$v_access io$r_acp_modifiers.io$v_access
 I3	  38224 #define io$v_create io$r_acp_modifiers.io$v_create
 I3	  38225 #define io$v_delete io$r_acp_modifiers.io$v_delete
 I3	  38226 #define io$v_mount io$r_acp_modifiers.io$v_mount
 I3	  38227 #define io$v_dmount io$r_acp_modifiers.io$v_dmount

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 690
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  38228 #define io$v_remount io$r_acp_modifiers.io$v_remount
 I3	  38229 #define io$v_movefile io$r_acp_modifiers.io$v_movefile
 I3	  38230 #define io$v_rwshelved io$r_acp_modifiers.io$v_rwshelved
 I3	  38231 #define io$v_setdir io$r_acp_modifiers.io$v_setdir
 I3	  38232 #define io$v_binary io$r_cr_modifiers.io$v_binary
 I3	  38233 #define io$v_packed io$r_cr_modifiers.io$v_packed
 I3	  38234 #define io$v_now io$r_mb_modifiers.io$v_now
 I3	  38235 #define io$v_stream io$r_mb_modifiers.io$v_stream
 I3	  38236 #define io$v_readercheck io$r_mb_modifiers.io$v_readercheck
 I3	  38237 #define io$v_writercheck io$r_mb_modifiers.io$v_writercheck
 I3	  38238 #define io$v_norswait io$r_mb_modifiers.io$v_norswait
 I3	  38239 #define io$v_mb_room_notify io$r_mb_setmode_modifiers.io$v_mb_room_notify
 I3	  38240 #define io$v_readattn io$r_mb_setmode_modifiers.io$v_readattn
 I3	  38241 #define io$v_wrtattn io$r_mb_setmode_modifiers.io$v_wrtattn
 I3	  38242 #define io$v_setprot io$r_mb_setmode_modifiers.io$v_setprot
 I3	  38243 #define io$v_readerwait io$r_mb_setmode_modifiers.io$v_readerwait
 I3	  38244 #define io$v_writerwait io$r_mb_setmode_modifiers.io$v_writerwait
 I3	  38245 #define io$v_noecho io$r_tt_read_modifiers.io$v_noecho
 I3	  38246 #define io$v_timed io$r_tt_read_modifiers.io$v_timed
 I3	  38247 #define io$v_cvtlow io$r_tt_read_modifiers.io$v_cvtlow
 I3	  38248 #define io$v_nofiltr io$r_tt_read_modifiers.io$v_nofiltr
 I3	  38249 #define io$v_dsablmbx io$r_tt_read_modifiers.io$v_dsablmbx
 I3	  38250 #define io$v_purge io$r_tt_read_modifiers.io$v_purge
 I3	  38251 #define io$v_trmnoecho io$r_tt_read_modifiers.io$v_trmnoecho
 I3	  38252 #define io$v_refresh io$r_tt_read_modifiers.io$v_refresh
 I3	  38253 #define io$v_escape io$r_tt_read_modifiers.io$v_escape
 I3	  38254 #define io$v_extend io$r_tt_read_modifiers.io$v_extend
 I3	  38255 #define io$v_canctrlo io$r_tt_write_modifiers.io$v_canctrlo
 I3	  38256 #define io$v_enablmbx io$r_tt_write_modifiers.io$v_enablmbx
 I3	  38257 #define io$v_noformat io$r_tt_write_modifiers.io$v_noformat
 I3	  38258 #define io$v_breakthru io$r_tt_write_modifiers.io$v_breakthru
 I3	  38259 #define io$v_newline io$r_tt_write_modifiers.io$v_newline
 I3	  38260 #define io$v_typeahdcnt io$r_tt_sensemode_modifiers.io$v_typeahdcnt
 I3	  38261 #define io$v_maint io$r_tt_setmode_modifiers.io$v_maint
 I3	  38262 #define io$v_ctrlyast io$r_tt_setmode_modifiers.io$v_ctrlyast
 I3	  38263 #define io$v_ctrlcast io$r_tt_setmode_modifiers.io$v_ctrlcast
 I3	  38264 #define io$v_hangup io$r_tt_setmode_modifiers.io$v_hangup
 I3	  38265 #define io$v_outband io$r_tt_setmode_modifiers.io$v_outband
 I3	  38266 #define io$v_tt_connect io$r_tt_setmode_modifiers.io$v_tt_connect
 I3	  38267 #define io$v_tt_discon io$r_tt_setmode_modifiers.io$v_tt_discon
 I3	  38268 #define io$v_tt_process io$r_tt_setmode_modifiers.io$v_tt_process
 I3	  38269 #define io$v_brdcst io$r_tt_setmode_modifiers.io$v_brdcst
 I3	  38270 #define io$v_loop io$r_tt_maint_modifiers.io$v_loop
 I3	  38271 #define io$v_unloop io$r_tt_maint_modifiers.io$v_unloop
 I3	  38272 #define io$v_line_off io$r_tt_maint_modifiers.io$v_line_off
 I3	  38273 #define io$v_set_modem io$r_tt_maint_modifiers.io$v_set_modem
 I3	  38274 #define io$v_line_on io$r_tt_maint_modifiers.io$v_line_on
 I3	  38275 #define io$v_loop_ext io$r_tt_maint_modifiers.io$v_loop_ext
 I3	  38276 #define io$v_autxof_ena io$r_tt_maint_modifiers.io$v_autxof_ena
 I3	  38277 #define io$v_autxof_dis io$r_tt_maint_modifiers.io$v_autxof_dis
 I3	  38278 #define io$v_include io$r_tt_outofband_modifiers.io$v_include
 I3	  38279 #define io$v_tt_abort io$r_tt_outofband_modifiers.io$v_tt_abort
 I3	  38280 #define io$v_posixinit io$r_tt_psxsetmode_modifiers.io$v_posixinit
 I3	  38281 #define io$v_posixflow io$r_tt_psxsetmode_modifiers.io$v_posixflow
 I3	  38282 #define io$v_set_posix io$r_tt_posixinit_modifiers.io$v_set_posix
 I3	  38283 #define io$v_clear_posix io$r_tt_posixinit_modifiers.io$v_clear_posix
 I3	  38284 #define io$v_set_termios io$r_tt_posixinit_modifiers.io$v_set_termios

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 691
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  38285 #define io$v_set_ptc io$r_tt_posixinit_modifiers.io$v_set_ptc
 I3	  38286 #define io$v_clear_ptc io$r_tt_posixinit_modifiers.io$v_clear_ptc
 I3	  38287 #define io$v_flush_tab io$r_tt_posixinit_modifiers.io$v_flush_tab
 I3	  38288 #define io$v_flush_output io$r_tt_posixinit_modifiers.io$v_flush_output
 I3	  38289 #define io$v_update_ptc io$r_tt_posixinit_modifiers.io$v_update_ptc
 I3	  38290 #define io$v_out_xoff io$r_tt_posixflow_modifiers.io$v_out_xoff
 I3	  38291 #define io$v_out_xon io$r_tt_posixflow_modifiers.io$v_out_xon
 I3	  38292 #define io$v_in_xoff io$r_tt_posixflow_modifiers.io$v_in_xoff
 I3	  38293 #define io$v_in_xon io$r_tt_posixflow_modifiers.io$v_in_xon
 I3	  38294 #define io$v_o_nonblock io$r_tt_psxread_modifiers.io$v_o_nonblock
 I3	  38295 #define io$v_interrupt io$r_net_write_read_modifiers.io$v_interrupt
 I3	  38296 #define io$v_multiple io$r_net_write_read_modifiers.io$v_multiple
 I3	  38297 #define io$v_lockbuf io$r_net_write_read_modifiers.io$v_lockbuf
 I3	  38298 #define io$v_noblock io$r_net_write_read_modifiers.io$v_noblock
 I3	  38299 #define io$v_abort io$r_net_accdea_modifiers.io$v_abort
 I3	  38300 #define io$v_synch io$r_net_accdea_modifiers.io$v_synch
 I3	  38301 #define io$v_response io$r_dlink_write_modifiers.io$v_response
 I3	  38302 #define io$v_startup io$r_dlink_setmode_modifiers.io$v_startup
 I3	  38303 #define io$v_shutdown io$r_dlink_setmode_modifiers.io$v_shutdown
 I3	  38304 #define io$v_attnast io$r_dlink_setmode_modifiers.io$v_attnast
 I3	  38305 #define io$v_ctrl io$r_dlink_setmode_modifiers.io$v_ctrl
 I3	  38306 #define io$v_set_mac io$r_dlink_setmode_modifiers.io$v_set_mac
 I3	  38307 #define io$v_update_map io$r_dlink_setmode_modifiers.io$v_update_map
 I3	  38308 #define io$v_route io$r_dlink_setmode_modifiers.io$v_route
 I3	  38309 #define io$v_rd_mem io$r_dlink_sensemode_modifiers.io$v_rd_mem
 I3	  38310 #define io$v_rd_modem io$r_dlink_sensemode_modifiers.io$v_rd_modem
 I3	  38311 #define io$v_rd_count io$r_dlink_sensemode_modifiers.io$v_rd_count
 I3	  38312 #define io$v_clr_count io$r_dlink_sensemode_modifiers.io$v_clr_count
 I3	  38313 #define io$v_sense_mac io$r_dlink_sensemode_modifiers.io$v_sense_mac
 I3	  38314 #define io$v_show_map io$r_dlink_sensemode_modifiers.io$v_show_map
 I3	  38315 #define io$v_show_route io$r_dlink_sensemode_modifiers.io$v_show_route
 I3	  38316 #define io$v_more io$r_x25_write_modifiers.io$v_more
 I3	  38317 #define io$v_qualified io$r_x25_write_modifiers.io$v_qualified
 I3	  38318 #define io$v_redirect io$r_x25_access_modifiers.io$v_redirect
 I3	  38319 #define io$v_accept io$r_x25_access_modifiers.io$v_accept
 I3	  38320 #define io$v_setevf io$r_lpa_start_modifiers.io$v_setevf
 I3	  38321 #define io$v_word io$r_xa_modifiers.io$v_word
 I3	  38322 #define io$v_setfnct io$r_xa_modifiers.io$v_setfnct
 I3	  38323 #define io$v_datapath io$r_xa_modifiers.io$v_datapath
 I3	  38324 #define io$v_cycle io$r_xa_modifiers.io$v_cycle
 I3	  38325 #define io$v_reset io$r_xa_modifiers.io$v_reset
 I3	  38326 #define io$v_setcuadr io$r_ibm3271_modifiers.io$v_setcuadr
 I3	  38327 #define io$v_setbsize io$r_ibm3271_modifiers.io$v_setbsize
 I3	  38328 #define io$v_setpoolsz io$r_ibm3271_modifiers.io$v_setpoolsz
 I3	  38329 #define io$v_setenqcnt io$r_ibm3271_modifiers.io$v_setenqcnt
 I3	  38330 #define io$v_clear io$r_ibm3271_modifiers.io$v_clear
 I3	  38331 #define io$v_lpbext io$r_ibm3271_modifiers.io$v_lpbext
 I3	  38332 #define io$v_lpbint io$r_ibm3271_modifiers.io$v_lpbint
 I3	  38333 #define io$v_readcsr io$r_ibm3271_modifiers.io$v_readcsr
 I3	  38334 #define io$v_noctswait io$r_xw_modifiers.io$v_noctswait
 I3	  38335 #define io$v_slavloop io$r_xw_modifiers.io$v_slavloop
 I3	  38336 #define io$v_nodsrwait io$r_xw_modifiers.io$v_nodsrwait
 I3	  38337 #define io$v_maintloop io$r_xw_modifiers.io$v_maintloop
 I3	  38338 #define io$v_lastblock io$r_xw_modifiers.io$v_lastblock
 I3	  38339 #define io$v_intclock io$r_xw_modifiers.io$v_intclock
 I3	  38340 #define io$v_lt_connect io$r_lt_modifiers.io$v_lt_connect
 I3	  38341 #define io$v_lt_discon io$r_lt_modifiers.io$v_lt_discon

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 692
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(IODEF)

 I3	  38342 #define io$v_lt_readport io$r_lt_modifiers.io$v_lt_readport
 I3	  38343 #define io$v_lt_map_port io$r_lt_modifiers.io$v_lt_map_port
 I3	  38344 #define io$v_lt_rating io$r_lt_modifiers.io$v_lt_rating
 I3	  38345 #define io$v_lt_sol_info io$r_lt_modifiers.io$v_lt_sol_info
 I3	  38346 #define io$v_lt_rcv_info io$r_lt_modifiers.io$v_lt_rcv_info
 I3	  38347 #define io$v_lt_setmode io$r_lt_modifiers.io$v_lt_setmode
 I3	  38348 #define io$v_lt_sensemode io$r_lt_modifiers.io$v_lt_sensemode
 I3	  38349 #define io$v_lt_que_chg_notif io$r_lt_modifiers.io$v_lt_que_chg_notif
 I3	  38350 #define io$v_lt_map_filler io$r_lt_mapitem.io$v_lt_map_filler
 I3	  38351 #define io$v_lt_map_nodnam io$r_lt_mapitem.io$v_lt_map_nodnam
 I3	  38352 #define io$v_lt_map_pornam io$r_lt_mapitem.io$v_lt_map_pornam
 I3	  38353 #define io$v_lt_map_srvnam io$r_lt_mapitem.io$v_lt_map_srvnam
 I3	  38354 #define io$v_lt_map_lnknam io$r_lt_mapitem.io$v_lt_map_lnknam
 I3	  38355 #define io$v_lt_map_netadr io$r_lt_mapitem.io$v_lt_map_netadr
 I3	  38356 #define io$v_flush io$r_fs_modifiers.io$v_flush
 I3	  38357 #define io$v_write_barrier io$r_fs_modifiers.io$v_write_barrier
 I3	  38358 #define io$v_mkfill1 io$r_mk_setmode_modifiers.io$v_mkfill1
 I3	  38359 #define io$v_allowfast_never io$r_mk_setmode_modifiers.io$v_allowfast_never
 I3	  38360 #define io$v_allowfast_per_io io$r_mk_setmode_modifiers.io$v_allowfast_per_io
 I3	  38361 #define io$v_allowfast_always io$r_mk_setmode_modifiers.io$v_allowfast_always
 I3	  38362 #define io$v_add io$r_sd_modifiers.io$v_add
 I3	  38363 #define io$v_idstring io$r_usb_usbattr_modifiers.io$v_idstring
 I3	  38364 #define io$v_serialnum io$r_usb_usbattr_modifiers.io$v_serialnum
 I3	  38365 #define io$v_bypass_valid_chk io$r_disk_packack_modifiers.io$v_bypass_valid_chk
 I3	  38366 #endif		/* #if !defined(__VAXC) */
 I3	  38367  
 I3	  38368 #endif	    /* #ifdef __NEW_STARLET */
 I3	  38369  
 I3	  38370 #pragma __member_alignment __restore
 I3	  38371 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I3	  38372 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I3	  38373 #endif
 I3    X  38374 #ifdef __cplusplus
 I3    X  38375     }
 I3    X  38376 #endif
 I3	  38377 #pragma __standard
 I3	  38378  
 I3	  38379 #endif /* __IODEF_LOADED */
 I3	  38380  
 I2    X  38381 #ifdef TCPWARE
 I2    X  38382 #include "tcpware_include:ucx$inetdef.h"
 I2    X  38383 #else
 I2	  38384 #include <ucx$inetdef.h>
 I3	  38385 /*******************************************************************************************************************
 I3	  38385 *************/
 I3	  38386 /* Created: 18-NOV-1997 11:24:36 by OpenVMS SDL EV1-50     */
 I3	  38387 /* Source:  22-OCT-1996 00:33:26 DISK$UCX_BUILD2:[UCX.X42.BL21.SRC.NET]INET_USER */
 I3	  38388 /*******************************************************************************************************************
 I3	  38388 *************/
 I3	  38389 /*** MODULE $$BEGIN ***/
 I3	  38390 #pragma __member_alignment __save
 I3	  38391 #pragma __nomember_alignment
 I3	  38392 #ifndef UCX$INETDEF_LOADED
 I3	  38393 # define UCX$INETDEF_LOADED 1
 I3	  38394  
 I3	  38395 #pragma __member_alignment __restore
 I3	  38396 /*** MODULE $ARPREQDEF ***/

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 693
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38397 #pragma __member_alignment __save
 I3	  38398 #pragma __nomember_alignment
 I3	  38399 #define ARP$M_IN_USE 0x1
 I3	  38400 #define ARP$M_COM 0x2
 I3	  38401 #define ARP$M_PERM 0x4
 I3	  38402 #define ARP$M_PUBL 0x8
 I3	  38403 #define ARP$M_USETRAILERS 0x10
 I3	  38404 #define ARP$C_LENGTH 34
 I3	  38405 #define ARP$K_LENGTH 34
 I3	  38406 struct ARPREQDEF {
 I3	  38407     char ARP$T_PA [16];                 /* IP address                       */
 I3	  38408 /* $SOCKADDRINDEF defines offsets                                           */
 I3	  38409     char ARP$T_HA [16];                 /* Ethernet hardware address        */
 I3	  38410 /* $SOCKADDRDEF defines offsets                                             */
 I3	  38411     union  {                            /*                                  */
 I3	  38412         unsigned short int ARP$W_FLAGS; /* flags                            */
 I3	  38413         struct  {                       /*                                  */
 I3	  38414             unsigned ARP$V_IN_USE : 1;  /* ARP entry is in use              */
 I3	  38415             unsigned ARP$V_COM : 1;     /* ARP entry is complete            */
 I3	  38416             unsigned ARP$V_PERM : 1;    /* ARP entry is pemanent            */
 I3	  38417             unsigned ARP$V_PUBL : 1;    /* ARP entry is public              */
 I3	  38418             unsigned ARP$V_USETRAILERS : 1; /* hosts uses trailers          */
 I3	  38419             unsigned ARP$V_FILL_0 : 3;
 I3	  38420             } ARP$R_O_FLAGS;
 I3	  38421         } ARP$R_OVLY;
 I3	  38422     } ;
 I3	  38423  
 I3	  38424 #pragma __member_alignment __restore
 I3	  38425 /*** MODULE $IFREQDEF ***/
 I3	  38426 #pragma __member_alignment __save
 I3	  38427 #pragma __nomember_alignment
 I3	  38428 #define IFR$M_IFF_UP 0x1
 I3	  38429 #define IFR$M_IFF_BROADCAST 0x2
 I3	  38430 #define IFR$M_IFF_DEBUG 0x4
 I3	  38431 #define IFR$M_IFF_LOOPBACK 0x8
 I3	  38432 #define IFR$M_IFF_POINTOPOINT 0x10
 I3	  38433 #define IFR$M_IFF_NOTRAILERS 0x20
 I3	  38434 #define IFR$M_IFF_RUNNING 0x40
 I3	  38435 #define IFR$M_IFF_NOARP 0x80
 I3	  38436 #define IFR$M_IFF_PROMISC 0x100
 I3	  38437 #define IFR$M_IFF_ALLMULTI 0x200
 I3	  38438 #define IFR$M_IFF_DYNPROTO 0x400
 I3	  38439 #define IFR$M_IFF_MOP 0x800
 I3	  38440 #define IFR$M_IFF_NONAME 0x4000
 I3	  38441 #define IFR$M_IFF_CLUSTER 0x8000
 I3	  38442 #define IFR$C_LENGTH 32
 I3	  38443 #define IFR$K_LENGTH 32
 I3	  38444 struct IFREQDEF {
 I3	  38445     char IFR$T_NAME [16];               /* device name                      */
 I3	  38446     union  {
 I3	  38447         char IFR$T_ADDR [16];           /* SOCKADDRIN structure             */
 I3	  38448         char IFR$T_DSTADDR [16];        /* SOCKADDRIN structure             */
 I3	  38449         char IFR$T_BROADADDR [16];      /* SOCKADDRIN structure             */
 I3	  38450         union  {
 I3	  38451             unsigned short int IFR$W_FLAGS; /* flags                        */
 I3	  38452             struct  {
 I3	  38453                 unsigned IFR$V_IFF_UP : 1; /* Interface is up               */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 694
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38454                 unsigned IFR$V_IFF_BROADCAST : 1; /* Broadcast address valid */
 I3	  38455                 unsigned IFR$V_IFF_DEBUG : 1; /* Turn on tracing            */
 I3	  38456                 unsigned IFR$V_IFF_LOOPBACK : 1; /* Interface set to loopback */
 I3	  38457                 unsigned IFR$V_IFF_POINTOPOINT : 1; /* Interface is point-to-point link */
 I3	  38458                 unsigned IFR$V_IFF_NOTRAILERS : 1; /* Avoid use of trailers */
 I3	  38459                 unsigned IFR$V_IFF_RUNNING : 1; /* Resources are allocated  */
 I3	  38460                 unsigned IFR$V_IFF_NOARP : 1; /* No address resolution protocol */
 I3	  38461                 unsigned IFR$V_IFF_PROMISC : 1; /* Receive all packets      */
 I3	  38462                 unsigned IFR$V_IFF_ALLMULTI : 1; /* Receive all multicasting packets */
 I3	  38463                 unsigned IFR$V_IFF_DYNPROTO : 1; /* Support dynamic proto dispatching */
 I3	  38464                 unsigned IFR$V_IFF_MOP : 1; /* Device in MOP mode; not in use */
 I3	  38465                 unsigned IFR$V_IFF_RESERVE : 2; /* SPARE bits               */
 I3	  38466                 unsigned IFR$V_IFF_NONAME : 1; /* Interface cluster name flag */
 I3	  38467                 unsigned IFR$V_IFF_CLUSTER : 1; /* Interface is a cluster IFNET */
 I3	  38468                 } IFR$R_DUMMY_1_BITS;
 I3	  38469             } IFR$R_DUMMY_1_OVRL;
 I3	  38470         int *IFR$L_DATA;                /* pointer to data                  */
 I3	  38471         } IFR$R_DUMMY;
 I3	  38472     } ;
 I3	  38473  
 I3	  38474 #pragma __member_alignment __restore
 I3	  38475 /*** MODULE $INETERRDEF ***/
 I3	  38476 #pragma __member_alignment __save
 I3	  38477 #pragma __nomember_alignment
 I3	  38478 #define EPERM 1                         /* Not owner                        */
 I3	  38479 #define ENOENT 2                        /* No such file or directory        */
 I3	  38480 #define ESRCH 3                         /* No such process                  */
 I3	  38481 #define EINTR 4                         /* Interrupted system call          */
 I3	  38482 #define EIO 5                           /* I/O error                        */
 I3	  38483 #define ENXIO 6                         /* No such device or address        */
 I3	  38484 #define E2BIG 7                         /* Arg list too long                */
 I3	  38485 #define ENOEXEC 8                       /* Exec format error                */
 I3	  38486 #define EBADF 9                         /* Bad file number                  */
 I3	  38487 #define ECHILD 10                       /* No children                      */
 I3	  38488 #define EAGAIN 11                       /* No more processes                */
 I3	  38489 #define ENOMEM 12                       /* Not enough core                  */
 I3	  38490 #define EACCES 13                       /* Permission denied                */
 I3	  38491 #define EFAULT 14                       /* Bad address                      */
 I3	  38492 #define ENOTBLK 15                      /* Block device required            */
 I3	  38493 #define EBUSY 16                        /* Mount device busy                */
 I3	  38494 #define EEXIST 17                       /* File exists                      */
 I3	  38495 #define EXDEV 18                        /* Cross-device link                */
 I3	  38496 #define ENODEV 19                       /* No such device                   */
 I3	  38497 #define ENOTDIR 20                      /* Not a directory                  */
 I3	  38498 #define EISDIR 21                       /* Is a directory                   */
 I3	  38499 #define EINVAL 22                       /* Invalid argument                 */
 I3	  38500 #define ENFILE 23                       /* File table overflow              */
 I3	  38501 #define EMFILE 24                       /* Too many open files              */
 I3	  38502 #define ENOTTY 25                       /* Not a typewriter                 */
 I3	  38503 #define ETXTBSY 26                      /* Text file busy                   */
 I3	  38504 #define EFBIG 27                        /* File too large                   */
 I3	  38505 #define ENOSPC 28                       /* No space left on device          */
 I3	  38506 #define ESPIPE 29                       /* Illegal seek                     */
 I3	  38507 #define EROFS 30                        /* Read-only file system            */
 I3	  38508 #define EMLINK 31                       /* Too many links                   */
 I3	  38509 #define EPIPE 32                        /* Broken pipe                      */
 I3	  38510 /* math software                                                            */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 695
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38511 #define EDOM 33                         /* Argument too large               */
 I3	  38512 #define ERANGE 34                       /* Result too large                 */
 I3	  38513 /* non-blocking and interrupt i/o                                           */
 I3	  38514 #define EWOULDBLOCK 35                  /* Operation would block            */
 I3	  38515 #define EINPROGRESS 36                  /* Operation now in progress        */
 I3	  38516 #define EALREADY 37                     /* Operation already in progress    */
 I3	  38517 /* ipc/network software                                                     */
 I3	  38518 /* argument errors                                                          */
 I3	  38519 #define ENOTSOCK 38                     /* Socket operation on non-socket   */
 I3	  38520 #define EDESTADDRREQ 39                 /* Destination address required     */
 I3	  38521 #define EMSGSIZE 40                     /* Message too long                 */
 I3	  38522 #define EPROTOTYPE 41                   /* Protocol wrong type for socket   */
 I3	  38523 #define ENOPROTOOPT 42                  /* Protocol not available           */
 I3	  38524 #define EPROTONOSUPPORT 43              /* Protocol not supported           */
 I3	  38525 #define ESOCKTNOSUPPORT 44              /* Socket type not supported        */
 I3	  38526 #define EOPNOTSUPP 45                   /* Operation not supported on socket  */
 I3	  38527 #define EPFNOSUPPORT 46                 /* Protocol family not supported    */
 I3	  38528 #define EAFNOSUPPORT 47                 /* Address family not supported by protocol family  */
 I3	  38529 #define EADDRINUSE 48                   /* Address already in use           */
 I3	  38530 #define EADDRNOTAVAIL 49                /* Can't assign requested address   */
 I3	  38531 /* operational errors                                                       */
 I3	  38532 #define ENETDOWN 50                     /* Network is down                  */
 I3	  38533 #define ENETUNREACH 51                  /* Network is unreachable           */
 I3	  38534 #define ENETRESET 52                    /* Network dropped connection on reset  */
 I3	  38535 #define ECONNABORTED 53                 /* Software caused connection abort  */
 I3	  38536 #define ECONNRESET 54                   /* Connection reset by peer         */
 I3	  38537 #define ENOBUFS 55                      /* No buffer space available        */
 I3	  38538 #define EISCONN 56                      /* Socket is already connected      */
 I3	  38539 #define ENOTCONN 57                     /* Socket is not connected          */
 I3	  38540 #define ESHUTDOWN 58                    /* Can't send after socket shutdown  */
 I3	  38541 #define ETOOMANYREFS 59                 /* Too many references: can't splice  */
 I3	  38542 #define ETIMEDOUT 60                    /* Connection timed out             */
 I3	  38543 #define ECONNREFUSED 61                 /* Connection refused               */
 I3	  38544 #define ELOOP 62                        /* Too many levels of symbolic links  */
 I3	  38545 #define ENAMETOOLONG 63                 /* File name too long               */
 I3	  38546 /* should be rearranged                                                     */
 I3	  38547 #define EHOSTDOWN 64                    /* Host is down                     */
 I3	  38548 #define EHOSTUNREACH 65                 /* No route to host                 */
 I3	  38549 /* quotas & mush                                                            */
 I3	  38550 #define EPROCLIM 67                     /* Too many processes               */
 I3	  38551 #define EUSERS 68                       /* Too many users                   */
 I3	  38552 #define EDQUOT 69                       /* Disc quota exceeded              */
 I3	  38553  
 I3	  38554 #pragma __member_alignment __restore
 I3	  38555 /*** MODULE $INETSYMDEF ***/
 I3	  38556 #pragma __member_alignment __save
 I3	  38557 #pragma __nomember_alignment
 I3	  38558 #define DVI$_ACP_TCP 10
 I3	  38559 #define INET$C_ICMP 1
 I3	  38560 #define INET$C_IGMP 2
 I3	  38561 #define INET$C_RAW_IP 255
 I3	  38562 #define INET$C_TCP 6
 I3	  38563 #define INET$C_UDP 17
 I3	  38564 #define INET$C_AUXS 127
 I3	  38565 #define INET$C_REXEC 128
 I3	  38566 #define IPPROTO$C_ICMP 1
 I3	  38567 #define IPPROTO$C_IGMP 2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 696
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38568 #define IPPROTO$C_RAW_IP 255
 I3	  38569 #define IPPROTO$C_TCP 6
 I3	  38570 #define IPPROTO$C_UDP 17
 I3	  38571 #define IPPROTO$C_AUXS 127
 I3	  38572 #define IPPROTO$C_REXEC 128
 I3	  38573 /*                                                                          */
 I3	  38574 #define UCX$C_ICMP 1
 I3	  38575 #define UCX$C_IGMP 2
 I3	  38576 #define UCX$C_RAW_IP 255
 I3	  38577 #define UCX$C_TCP 6
 I3	  38578 #define UCX$C_UDP 17
 I3	  38579 #define UCX$C_AUXS 127
 I3	  38580 #define UCX$C_REXEC 128
 I3	  38581 /*                                                                          */
 I3	  38582 /* Ports < IP_PROTO$C_RESERVED are reserved for                             */
 I3	  38583 /* privileged processes (e.g. root).                                        */
 I3	  38584 /*                                                                          */
 I3	  38585 #define IP_PROTO$C_RESERVED 1024
 I3	  38586 #define INET_PROTYP$C_STREAM 1          /* stream type                      */
 I3	  38587 #define INET_PROTYP$C_DGRAM 2           /* datagram type                    */
 I3	  38588 #define INET_PROTYP$C_RAW 3             /* raw type                         */
 I3	  38589 /*                                                                          */
 I3	  38590 #define UCX$C_STREAM 1
 I3	  38591 #define UCX$C_DGRAM 2
 I3	  38592 #define UCX$C_RAW 3
 I3	  38593 #define INET$C_IPOPT 0                  /* IP opt type parameter            */
 I3	  38594 #define INET$C_SOCKOPT 1                /* setsockopt type parameter        */
 I3	  38595 #define INET$C_IOCTL 2                  /* ioctl type parameter             */
 I3	  38596 #define INET$C_DATA 3                   /* data                             */
 I3	  38597 #define INET$C_SOCK_NAME 4              /* socket name                      */
 I3	  38598 #define INET$C_RESERVE_1 5
 I3	  38599 #define INET$C_TCPOPT 6                 /* TCP option type                  */
 I3	  38600 /*                                                                          */
 I3	  38601 #define UCX$C_IPOPT 0
 I3	  38602 #define UCX$C_SOCKOPT 1
 I3	  38603 #define UCX$C_TCPOPT 6
 I3	  38604 #define UCX$C_IOCTL 2
 I3	  38605 #define UCX$C_DATA 3
 I3	  38606 #define UCX$C_SOCK_NAME 4
 I3	  38607 #define INET$C_DSC_RCV 0                /* discard received messages        */
 I3	  38608 #define INET$C_DSC_SND 1                /* discard sent messages            */
 I3	  38609 #define INET$C_DSC_ALL 2                /* discard all messages             */
 I3	  38610 #define UCX$C_DSC_RCV 0
 I3	  38611 #define UCX$C_DSC_SND 1
 I3	  38612 #define UCX$C_DSC_ALL 2
 I3	  38613 #define UCX$C_SO_SNDBUF 4097
 I3	  38614 #define UCX$C_SO_RCVBUF 4098
 I3	  38615 #define UCX$C_SO_SNDLOWAT 4099
 I3	  38616 #define UCX$C_SO_RCVLOWAT 4100
 I3	  38617 #define UCX$C_SO_SNDTIMEO 4101
 I3	  38618 #define UCX$C_SO_RCVTIMEO 4102
 I3	  38619 #define UCX$C_SO_ERROR 4103
 I3	  38620 #define UCX$C_SO_TYPE 4104
 I3	  38621 #define UCX$C_SO_SHARE 4105
 I3	  38622 #define UCX$C_SO_CCL 4106
 I3	  38623 #define UCX$C_SO_NO_RCV_CHKSUM 16384
 I3	  38624 #define UCX$C_SO_NO_SND_CHKSUM 32768

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 697
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38625 #define UCX$C_SO_NO_CHKSUM 49152
 I3	  38626 /*;constant (                                                               */
 I3	  38627 /*;	DEBUGGING 	                                                    */
 I3	  38628 /*;	,ACCEPTCONN                                                         */
 I3	  38629 /*;	,REUSEADDR                                                          */
 I3	  38630 /*;	,KEEPALIVE                                                          */
 I3	  38631 /*;	,DONTROUTE                                                          */
 I3	  38632 /*;	,BROADCAST                                                          */
 I3	  38633 /*;	,USELOOPBACK                                                        */
 I3	  38634 /*;	,LINGER                                                             */
 I3	  38635 /*;	,OOBINLINE                                                          */
 I3	  38636 /*;	) equals 1 increment 1 prefix UCX$ tag C counter #types;            */
 I3	  38637 #define INET$C_TCPOPT_EOL 0
 I3	  38638 #define INET$C_TCPOPT_NOP 1
 I3	  38639 #define INET$C_TCPOPT_MAXSEG 2
 I3	  38640 #define INET$C_TCP_NODELAY 1            /* don't delay send to coalesce packets  */
 I3	  38641 #define INET$C_TCP_MAXSEG 2             /* set maximum segment size         */
 I3	  38642 #define INET$C_TCP_PROBE_IDLE 128       /* probe idle timer                 */
 I3	  38643 #define INET$C_TCP_DROP_IDLE 129        /* drop idle timer                  */
 I3	  38644 #define UCX$C_TCPOPT_EOL 0
 I3	  38645 #define UCX$C_TCPOPT_NOP 1
 I3	  38646 #define UCX$C_TCPOPT_MAXSEG 2
 I3	  38647 #define UCX$C_TCP_NODELAY 1
 I3	  38648 #define UCX$C_TCP_MAXSEG 2
 I3	  38649 #define UCX$C_TCP_PROBE_IDLE 128
 I3	  38650 #define UCX$C_TCP_DROP_IDLE 129
 I3	  38651 #define INET$C_IP_TOS 3
 I3	  38652 #define INET$C_IP_TTL 4
 I3	  38653 #define INET$C_IP_MULTICAST_IF 16       /* set/get IP multicast interface   */
 I3	  38654 #define INET$C_IP_MULTICAST_TTL 17      /* set/get IP multicast timetolive  */
 I3	  38655 #define INET$C_IP_MULTICAST_LOOP 18     /* set/get IP multicast loopback    */
 I3	  38656 #define INET$C_IP_ADD_MEMBERSHIP 19     /* add  an IP group membership      */
 I3	  38657 #define INET$C_IP_DROP_MEMBERSHIP 20    /* drop an IP group membership      */
 I3	  38658 #define INET$C_IP_MULTICAST_VIF 21      /* set/get IP mcast vir. interface  */
 I3	  38659 #define UCX$C_IP_TOS 3
 I3	  38660 #define UCX$C_IP_TTL 4
 I3	  38661 #define UCX$C_IP_MULTICAST_IF 16        /* set/get IP multicast interface   */
 I3	  38662 #define UCX$C_IP_MULTICAST_TTL 17       /* set/get IP multicast timetolive  */
 I3	  38663 #define UCX$C_IP_MULTICAST_LOOP 18      /* set/get IP multicast loopback    */
 I3	  38664 #define UCX$C_IP_ADD_MEMBERSHIP 19      /* add  an IP group membership      */
 I3	  38665 #define UCX$C_IP_DROP_MEMBERSHIP 20     /* drop an IP group membership      */
 I3	  38666 #define UCX$C_IP_MULTICAST_VIF 21       /* set/get IP mcast vir. interface  */
 I3	  38667 #define INET$C_AF_UNSPEC 0              /* unspecified                      */
 I3	  38668 #define INET$C_AF_UNIX 1                /* local to host (pipes, portals)   */
 I3	  38669 #define INET$C_AF_INET 2                /* internetwork: UDP, TCP, etc.     */
 I3	  38670 #define INET$C_AF_MAX 3                 /* maximum value                    */
 I3	  38671 #define INET$C_INADDR_ANY 0
 I3	  38672 #define INET$C_INADDR_BROADCAST -1
 I3	  38673 /*                                                                          */
 I3	  38674 #define UCX$C_AF_UNSPEC 0
 I3	  38675 #define UCX$C_AF_UNIX 1
 I3	  38676 #define UCX$C_AF_INET 2
 I3	  38677 #define UCX$C_AF_MAX 3
 I3	  38678 #define UCX$C_INADDR_ANY 0
 I3	  38679 #define UCX$C_INADDR_BROADCAST -1
 I3	  38680 /*                                                                          */
 I3	  38681 #define INET$M_MSG_OOB 0x1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 698
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38682 #define INET$M_MSG_PEEK 0x2
 I3	  38683 #define INET$M_MSG_DONTROUTE 0x4
 I3	  38684 #define INET$M_DUMMYN_4 0x8
 I3	  38685 #define INET$M_DUMMYN_5 0x10
 I3	  38686 #define INET$M_MSG_PURGE 0x20
 I3	  38687 #define INET$M_MSG_NBIO 0x40
 I3	  38688 #define INET$M_MSG_BLOCKALL 0x80
 I3	  38689 struct MSGBITS {
 I3	  38690     struct  {
 I3	  38691 /*                                                                          */
 I3	  38692         unsigned INET$V_MSG_OOB : 1;    /* turn on event logging, not used  */
 I3	  38693         unsigned INET$V_MSG_PEEK : 1;   /* socket has had LISTEN            */
 I3	  38694         unsigned INET$V_MSG_DONTROUTE : 1; /* use only the interface addr   */
 I3	  38695 /*                                                                          */
 I3	  38696         unsigned INET$V_DUMMYN_4 : 1;   /* reserve space                    */
 I3	  38697 /*                                                                          */
 I3	  38698         unsigned INET$V_DUMMYN_5 : 1;   /* reserve space                    */
 I3	  38699 /*                                                                          */
 I3	  38700         unsigned INET$V_MSG_PURGE : 1;  /* Purge I/O                        */
 I3	  38701         unsigned INET$V_MSG_NBIO : 1;   /* NON-block I/O                    */
 I3	  38702         unsigned INET$V_MSG_BLOCKALL : 1; /* record TCP I/O                 */
 I3	  38703         } INET$R_MSG_BITS;
 I3	  38704     } ;
 I3	  38705 #define INET$C_MSG_OOB 1                /* process out-of-band data         */
 I3	  38706 #define INET$C_MSG_PEEK 2               /* peek at incoming message         */
 I3	  38707 #define INET$C_MSG_DONTROUTE 4          /* send without                     */
 I3	  38708 /* using routing tables                                                     */
 I3	  38709 #define INET$C_MSG_PURGE 32             /* block read until fill buffer     */
 I3	  38710 #define INET$C_MSG_NBIO 64              /* block read until fill buffer     */
 I3	  38711 #define INET$C_MSG_BLOCKALL 128         /* block read until fill buffer     */
 I3	  38712 #define INET$C_MSG_MAXIOVLEN 16
 I3	  38713 /*                                                                          */
 I3	  38714 #define UCX$C_MSG_OOB 1                 /* process out-of-band data         */
 I3	  38715 #define UCX$C_MSG_PEEK 2                /* peek at incoming message         */
 I3	  38716 #define UCX$C_MSG_DONTROUTE 4           /* send without                     */
 I3	  38717 /* using routing tables                                                     */
 I3	  38718 #define UCX$C_MSG_PURGE 32              /* block read until fill buffer     */
 I3	  38719 #define UCX$C_MSG_NBIO 64               /* block read until fill buffer     */
 I3	  38720 #define UCX$C_MSG_BLOCKALL 128          /* block read until fill buffer     */
 I3	  38721 #define UCX$C_MSG_MAXIOVLEN 16
 I3	  38722 #define UCX$M_MSG_OOB 0x1
 I3	  38723 #define UCX$M_MSG_PEEK 0x2
 I3	  38724 #define UCX$M_MSG_DONTROUTE 0x4
 I3	  38725 #define UCX$M_DUMMYX_4 0x8
 I3	  38726 #define UCX$M_DUMMYX_5 0x10
 I3	  38727 #define UCX$M_MSG_PURGE 0x20
 I3	  38728 #define UCX$M_MSG_NBIO 0x40
 I3	  38729 #define UCX$M_MSG_BLOCKALL 0x80
 I3	  38730 struct MSGBITS_1 {
 I3	  38731     struct  {
 I3	  38732 /*                                                                          */
 I3	  38733         unsigned UCX$V_MSG_OOB : 1;     /* turn on event logging, not used  */
 I3	  38734         unsigned UCX$V_MSG_PEEK : 1;    /* socket has had LISTEN            */
 I3	  38735         unsigned UCX$V_MSG_DONTROUTE : 1; /* use only the interface addr    */
 I3	  38736 /*                                                                          */
 I3	  38737         unsigned UCX$V_DUMMYX_4 : 1;    /* reserve space                    */
 I3	  38738 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 699
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38739         unsigned UCX$V_DUMMYX_5 : 1;    /* reserve space                    */
 I3	  38740 /*                                                                          */
 I3	  38741         unsigned UCX$V_MSG_PURGE : 1;   /* Purge I/O                        */
 I3	  38742         unsigned UCX$V_MSG_NBIO : 1;    /* NON-block I/O                    */
 I3	  38743         unsigned UCX$V_MSG_BLOCKALL : 1; /* record TCP I/O                  */
 I3	  38744         } UCX$R_MSG_BITS;
 I3	  38745     } ;
 I3	  38746 #define UCX$M_DEBUGGING 0x1
 I3	  38747 #define UCX$M_ACCEPTCONN 0x2
 I3	  38748 #define UCX$M_REUSEADDR 0x4
 I3	  38749 #define UCX$M_KEEPALIVE 0x8
 I3	  38750 #define UCX$M_DONTROUTE 0x10
 I3	  38751 #define UCX$M_BROADCAST 0x20
 I3	  38752 #define UCX$M_USELOOPBACK 0x40
 I3	  38753 #define UCX$M_LINGER 0x80
 I3	  38754 #define UCX$M_OOBINLINE 0x100
 I3	  38755 #define UCX$M_DUMMYM_2 0x200
 I3	  38756 #define UCX$M_DUMMYM_3 0x400
 I3	  38757 #define UCX$M_DUMMYM_4 0x800
 I3	  38758 #define UCX$M_DUMMYM_5 0x1000
 I3	  38759 #define UCX$M_FULL_DUPLEX_CLOSE 0x2000
 I3	  38760 #define UCX$M_NO_RCV_CHKSUM 0x4000
 I3	  38761 #define UCX$M_NO_SND_CHKSUM 0x8000
 I3	  38762 #define UCX$C_DEBUG 1                   /* turn on event logging, not used  */
 I3	  38763 #define UCX$C_ACCEPTCONN 2              /* socket has had LISTEN            */
 I3	  38764 #define UCX$C_REUSEADDR 4               /* allow local address reuse        */
 I3	  38765 #define UCX$C_KEEPALIVE 8               /* keep connection alive            */
 I3	  38766 #define UCX$C_DONTROUTE 16              /* use only the interface addr      */
 I3	  38767 #define UCX$C_BROADCAST 32              /* allow broadcasting               */
 I3	  38768 #define UCX$C_USELOOPBACK 64            /* loopback interface, not used     */
 I3	  38769 #define UCX$C_LINGER 128                /* linger at close                  */
 I3	  38770 #define UCX$C_OOBINLINE 256             /* leave received OOB data in line  */
 I3	  38771 #define UCX$C_FULL_DUPLEX_CLOSE 8192    /* full duplex close                */
 I3	  38772 #define UCX$C_NO_RCV_CHKSUM 16384       /* no receive checksum calculation  */
 I3	  38773 #define UCX$C_NO_SND_CHKSUM 32768       /* no send checksum calculation     */
 I3	  38774 #define UCX$M_NO_CHKSUM 49152           /* no checksum calculation          */
 I3	  38775 #define UCX$C_NO_CHKSUM 49152           /* no checksum calculation          */
 I3	  38776 /*                                                                          */
 I3	  38777 #define UCX$C_SNDBUF 4097               /* send buffer size                 */
 I3	  38778 #define UCX$C_RCVBUF 4098               /* receive buffer size              */
 I3	  38779 #define UCX$C_SNDLOWAT 4099             /* send low-water mark              */
 I3	  38780 #define UCX$C_RCVLOWAT 4100             /* receive low-water mark           */
 I3	  38781 #define UCX$C_SNDTIMEO 4101             /* send timeout                     */
 I3	  38782 #define UCX$C_RCVTIMEO 4102             /* receive timeout                  */
 I3	  38783 #define UCX$C_ERROR 4103                /* get error status and clear       */
 I3	  38784 #define UCX$C_TYPE 4104                 /* get socket type                  */
 I3	  38785 #define UCX$C_SHARE 4105                /* shared between processes         */
 I3	  38786 #define UCX$C_CCL 4106                  /* carriage control added           */
 I3	  38787 /*                                                                          */
 I3	  38788 #define UCX$M_SNDBUF 4097               /* send buffer size                 */
 I3	  38789 #define UCX$M_RCVBUF 4098               /* receive buffer size              */
 I3	  38790 #define UCX$M_SNDLOWAT 4099             /* send low-water mark              */
 I3	  38791 #define UCX$M_RCVLOWAT 4100             /* receive low-water mark           */
 I3	  38792 #define UCX$M_SNDTIMEO 4101             /* send timeout                     */
 I3	  38793 #define UCX$M_RCVTIMEO 4102             /* receive timeout                  */
 I3	  38794 #define UCX$M_ERROR 4103                /* get error status and clear       */
 I3	  38795 #define UCX$M_TYPE 4104                 /* get socket type                  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 700
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38796 #define UCX$M_SHARE 4105                /* shared between processes         */
 I3	  38797 #define UCX$M_CCL 4106                  /* carriage control added           */
 I3	  38798 struct SOCKOPTDEF {
 I3	  38799     union  {                            /*                                  */
 I3	  38800         unsigned short int UCX$W_OPTIONS; /* Socket options, see socket.h   */
 I3	  38801         struct  {
 I3	  38802 /*                                                                          */
 I3	  38803 /* Socket options bits.                                                     */
 I3	  38804 /*                                                                          */
 I3	  38805             unsigned UCX$V_DEBUGGING : 1; /* turn on event logging, not used */
 I3	  38806             unsigned UCX$V_ACCEPTCONN : 1; /* socket has had LISTEN         */
 I3	  38807             unsigned UCX$V_REUSEADDR : 1; /* allow local address reuse      */
 I3	  38808             unsigned UCX$V_KEEPALIVE : 1; /* keep connection alive          */
 I3	  38809             unsigned UCX$V_DONTROUTE : 1; /* use only the interface addr    */
 I3	  38810             unsigned UCX$V_BROADCAST : 1; /* allow broadcasting             */
 I3	  38811             unsigned UCX$V_USELOOPBACK : 1; /* loopback interface, not used */
 I3	  38812             unsigned UCX$V_LINGER : 1;  /* linger at close                  */
 I3	  38813             unsigned UCX$V_OOBINLINE : 1; /* leave received OOB data in line  */
 I3	  38814 /*                                                                          */
 I3	  38815 /*                                                                          */
 I3	  38816             unsigned UCX$V_DUMMYM_2 : 1; /* reserve space                   */
 I3	  38817             unsigned UCX$V_DUMMYM_3 : 1; /* reserve space                   */
 I3	  38818             unsigned UCX$V_DUMMYM_4 : 1; /* reserve space                   */
 I3	  38819             unsigned UCX$V_DUMMYM_5 : 1; /* reserve space                   */
 I3	  38820 /*                                                                          */
 I3	  38821             unsigned UCX$V_FULL_DUPLEX_CLOSE : 1; /* full duplex close      */
 I3	  38822             unsigned UCX$V_NO_RCV_CHKSUM : 1; /* no receive checksum calculation */
 I3	  38823             unsigned UCX$V_NO_SND_CHKSUM : 1; /* no send checksum calculation */
 I3	  38824 /*                                                                          */
 I3	  38825 /* Additional options, not kept in so_options.                              */
 I3	  38826 /*                                                                          */
 I3	  38827             } UCX$R_OPT_BITS;
 I3	  38828         } UCX$R_OPT_OVRLY;
 I3	  38829     } ;
 I3	  38830  
 I3	  38831 #pragma __member_alignment __restore
 I3	  38832 /*** MODULE $OPTDEF ***/
 I3	  38833 #pragma __member_alignment __save
 I3	  38834 #pragma __nomember_alignment
 I3	  38835 #define OPT$L_ADDRESS 4
 I3	  38836 #define OPT$C_SET_LENGTH 8
 I3	  38837 #define OPT$K_SET_LENGTH 8
 I3	  38838 #define OPT$C_GET_LENGTH 12
 I3	  38839 #define OPT$K_GET_LENGTH 12
 I3	  38840 struct OPTDEF {
 I3	  38841     unsigned short int OPT$W_LENGTH;    /* length                           */
 I3	  38842     unsigned short int OPT$W_NAME;      /* name                             */
 I3	  38843     int *OPT$L_ADDR;                    /* address                          */
 I3	  38844     int *OPT$L_RET_LENGTH;              /* address                          */
 I3	  38845     } ;
 I3	  38846  
 I3	  38847 #pragma __member_alignment __restore
 I3	  38848 /*** MODULE $RTENTRYDEF ***/
 I3	  38849 #pragma __member_alignment __save
 I3	  38850 #pragma __nomember_alignment
 I3	  38851 /*                                                                          */
 I3	  38852 /* We distinguish between routes to hosts and routes to networks,           */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 701
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38853 /* preferring the former if available.  For each route we infer             */
 I3	  38854 /* the interface to use from the gateway address supplied when              */
 I3	  38855 /* the route was entered.  Routes that forward packets through              */
 I3	  38856 /* gateways are marked so that the output routines know to address the      */
 I3	  38857 /* gateway rather than the ultimate destination.                            */
 I3	  38858 /*                                                                          */
 I3	  38859 #define RT$M_RTF_UP 0x1
 I3	  38860 #define RT$M_RTF_GATEWAY 0x2
 I3	  38861 #define RT$M_RTF_HOST 0x4
 I3	  38862 #define RT$M_RTF_DYNAMIC 0x8
 I3	  38863 #define RT$M_RTF_MODIFIED 0x10
 I3	  38864 #define RT$C_LENGTH 52
 I3	  38865 #define RT$K_LENGTH 52
 I3	  38866 struct RTENTRYDEF {
 I3	  38867     unsigned int RT$L_HASH;             /* Hash link                        */
 I3	  38868     union  {
 I3	  38869         struct  {
 I3	  38870             unsigned short int RT$W_DST_SIN_FAMILY; /* Address type         */
 I3	  38871             unsigned short int RT$W_DST_SIN_PORT; /* Port number            */
 I3	  38872             unsigned int RT$L_DST_SIN_ADDR; /* Internet address             */
 I3	  38873             char RT$T_DST_SIN_ZERO [8]; /* Unused space                     */
 I3	  38874             } RT$R_DST_FIELDS;
 I3	  38875         char RT$T_DST [16];             /* Destination SOCKADDR structure   */
 I3	  38876         } RT$R_DST_OVRLY;
 I3	  38877     union  {
 I3	  38878         struct  {
 I3	  38879             unsigned short int RT$W_GATEWAY_SIN_FAMILY; /* Address type     */
 I3	  38880             unsigned short int RT$W_GATEWAY_SIN_PORT; /* Port number        */
 I3	  38881             unsigned int RT$L_GATEWAY_SIN_ADDR; /* Internet address         */
 I3	  38882             char RT$T_GATEWAY_SIN_ZERO [8]; /* Unused space                 */
 I3	  38883             } RT$R_GATEWAY_FIELDS;
 I3	  38884         char RT$T_GATEWAY [16];         /* Gateway SOCKADDR structure       */
 I3	  38885         } RT$R_GATEWAY_OVRLY;
 I3	  38886     union  {
 I3	  38887         unsigned short int RT$W_FLAGS;  /* up/down?, host/net               */
 I3	  38888         struct  {
 I3	  38889             unsigned RT$V_RTF_UP : 1;   /* route useable                    */
 I3	  38890             unsigned RT$V_RTF_GATEWAY : 1; /* destination is a gateway      */
 I3	  38891             unsigned RT$V_RTF_HOST : 1; /* host entry (net otherwise)       */
 I3	  38892             unsigned RT$V_RTF_DYNAMIC : 1; /* created dynamically (by redirect) */
 I3	  38893             unsigned RT$V_RTF_MODIFIED : 1; /* changed by redirect          */
 I3	  38894             unsigned RT$V_FILL_1 : 3;
 I3	  38895             } RT$R_FLAGS_BITS;
 I3	  38896         } RT$R_FLAGS_OVRLY;
 I3	  38897     unsigned short int RT$W_REFCNT;     /* # held references                */
 I3	  38898     unsigned int RT$L_USE;              /* raw # packets forwarded          */
 I3	  38899     unsigned int RT$L_IFP;              /* pointer to the IFNET interface to use */
 I3	  38900     unsigned int RT$L_NEXT;             /* pointer to the next RTENTRY      */
 I3	  38901     } ;
 I3	  38902  
 I3	  38903 #pragma __member_alignment __restore
 I3	  38904 /*** MODULE $SIOCDEF ***/
 I3	  38905 #pragma __member_alignment __save
 I3	  38906 #pragma __nomember_alignment
 I3	  38907 #define FIONREAD -2147195265            /* Get # bytes to read              */
 I3	  38908 #define FIONBIO -2147195266             /* non block I/O                    */
 I3	  38909 #define FIOASYNC -2147195267            /* asynch I/O                       */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 702
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38910 #define SIOCSHIWAT -2147192064          /* high water mark                  */
 I3	  38911 #define SIOCGHIWAT 1074033409           /* high water mark                  */
 I3	  38912 #define SIOCSLOWAT -2147192062          /* low water mark                   */
 I3	  38913 #define SIOCGLOWAT 1074033411           /* low water mark                   */
 I3	  38914 #define SIOCATMARK 1074033415           /* at OOB mark                      */
 I3	  38915 #define SIOCSPGRP -2147192056           /* Process group                    */
 I3	  38916 #define SIOCGPGRP 1074033417            /* Process group                    */
 I3	  38917 #define SIOCADDRT -2144046582           /* add RT                           */
 I3	  38918 #define SIOCDELRT -2144046581           /* delete RT                        */
 I3	  38919 #define SIOCGETRT -1070304725           /* get RT                           */
 I3	  38920 #define SIOCSIFADDR -2145359604         /* set IF address                   */
 I3	  38921 #define SIOCGIFADDR -1071617779         /* Get IF address                   */
 I3	  38922 #define SIOCSIFDSTADDR -2145359602      /* Destination addr                 */
 I3	  38923 #define SIOCGIFDSTADDR -1071617777      /* BDestination addr                */
 I3	  38924 #define SIOCSIFFLAGS -2145359600        /* IF flags                         */
 I3	  38925 #define SIOCGIFFLAGS -1071617775        /* IF flags                         */
 I3	  38926 #define SIOCGIFBRDADDR -1071617774      /* Broadcast addr                   */
 I3	  38927 #define SIOCSIFBRDADDR -2145359597      /* Broadcats addr                   */
 I3	  38928 #define SIOCGIFCONF -1073190636         /* IF configuration                 */
 I3	  38929 #define SIOCGIFNETMASK -1071617771      /* Network mask                     */
 I3	  38930 #define SIOCSIFNETMASK -2145359594      /* Network mask                     */
 I3	  38931 #define SIOCSARP -2145097442            /* set ARP                          */
 I3	  38932 #define SIOCGARP -1071355617            /* get ARP                          */
 I3	  38933 #define SIOCDARP -2145097440            /* delete ARP                       */
 I3	  38934 #define SIOCARPREQ -1071355608          /* ARP request                      */
 I3	  38935 #define SIOCENABLBACK -2145359583       /* enable loopback                  */
 I3	  38936 #define SIOCDISABLBACK -2145359582      /* disable loopback                 */
 I3	  38937 #define SIOCSTATE -1072273117           /* state                            */
 I3	  38938  
 I3	  38939 #pragma __member_alignment __restore
 I3	  38940 /*** MODULE $SOCKETOPTDEF ***/
 I3	  38941 #pragma __member_alignment __save
 I3	  38942 #pragma __nomember_alignment
 I3	  38943 /*                                                                          */
 I3	  38944 /* Socket options data structure.                                           */
 I3	  38945 /*                                                                          */
 I3	  38946 #define SOCKOPT$M_DEBUG 0x1
 I3	  38947 #define SOCKOPT$M_ACCEPTCONN 0x2
 I3	  38948 #define SOCKOPT$M_REUSEADDR 0x4
 I3	  38949 #define SOCKOPT$M_KEEPALIVE 0x8
 I3	  38950 #define SOCKOPT$M_DONTROUTE 0x10
 I3	  38951 #define SOCKOPT$M_BROADCAST 0x20
 I3	  38952 #define SOCKOPT$M_USELOOPBACK 0x40
 I3	  38953 #define SOCKOPT$M_LINGER 0x80
 I3	  38954 #define SOCKOPT$M_OOBINLINE 0x100
 I3	  38955 #define SOCKOPT$M_DUMMYB_2 0x200
 I3	  38956 #define SOCKOPT$M_DUMMYB_3 0x400
 I3	  38957 #define SOCKOPT$M_DUMMYB_4 0x800
 I3	  38958 #define SOCKOPT$M_DUMMYB_5 0x1000
 I3	  38959 #define SOCKOPT$M_FULL_DUPLEX_CLOSE 0x2000
 I3	  38960 #define SOCKOPT$M_NO_RCV_CHKSUM 0x4000
 I3	  38961 #define SOCKOPT$M_NO_SND_CHKSUM 0x8000
 I3	  38962 #define SOCKOPT$M_NO_CHKSUM 49152       /* no checksum calculation          */
 I3	  38963 #define SOCKOPT$C_NO_CHKSUM 49152       /* no checksum calculation          */
 I3	  38964 /*                                                                          */
 I3	  38965 #define SOCKOPT$C_SNDBUF 4097           /* send buffer size                 */
 I3	  38966 #define SOCKOPT$C_RCVBUF 4098           /* receive buffer size              */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 703
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  38967 #define SOCKOPT$C_SNDLOWAT 4099         /* send low-water mark              */
 I3	  38968 #define SOCKOPT$C_RCVLOWAT 4100         /* receive low-water mark           */
 I3	  38969 #define SOCKOPT$C_SNDTIMEO 4101         /* send timeout                     */
 I3	  38970 #define SOCKOPT$C_RCVTIMEO 4102         /* receive timeout                  */
 I3	  38971 #define SOCKOPT$C_ERROR 4103            /* get error status and clear       */
 I3	  38972 #define SOCKOPT$C_TYPE 4104             /* get socket type                  */
 I3	  38973 #define SOCKOPT$C_SHARE 4105            /* shared between processes         */
 I3	  38974 #define SOCKOPT$C_CCL 4106              /* carriage control added           */
 I3	  38975 #define SOCKOPT$M_SNDBUF 4097           /* send buffer size                 */
 I3	  38976 #define SOCKOPT$M_RCVBUF 4098           /* receive buffer size              */
 I3	  38977 #define SOCKOPT$M_SNDLOWAT 4099         /* send low-water mark              */
 I3	  38978 #define SOCKOPT$M_RCVLOWAT 4100         /* receive low-water mark           */
 I3	  38979 #define SOCKOPT$M_SNDTIMEO 4101         /* send timeout                     */
 I3	  38980 #define SOCKOPT$M_RCVTIMEO 4102         /* receive timeout                  */
 I3	  38981 #define SOCKOPT$M_ERROR 4103            /* get error status and clear       */
 I3	  38982 #define SOCKOPT$M_TYPE 4104             /* get socket type                  */
 I3	  38983 #define SOCKOPT$M_SHARE 4105            /* shared between processes         */
 I3	  38984 #define SOCKOPT$M_CCL 4106              /* carriage control added           */
 I3	  38985 #define SOCKOPT$C_DEBUG 1               /* turn on event logging, not used  */
 I3	  38986 #define SOCKOPT$C_ACCEPTCONN 2          /* socket has had LISTEN            */
 I3	  38987 #define SOCKOPT$C_REUSEADDR 4           /* allow local address reuse        */
 I3	  38988 #define SOCKOPT$C_KEEPALIVE 8           /* keep connection alive            */
 I3	  38989 #define SOCKOPT$C_DONTROUTE 16          /* use only the interface addr      */
 I3	  38990 #define SOCKOPT$C_BROADCAST 32          /* allow broadcasting               */
 I3	  38991 #define SOCKOPT$C_USELOOPBACK 64        /* loopback interface, not used     */
 I3	  38992 #define SOCKOPT$C_LINGER 128            /* linger at close                  */
 I3	  38993 #define SOCKOPT$C_OOBINLINE 256         /* leave received OOB data in line  */
 I3	  38994 #define SOCKOPT$C_FULL_DUPLEX_CLOSE 8192 /* full duplex close               */
 I3	  38995 #define SOCKOPT$C_NO_RCV_CHKSUM 16384   /* no receive checksum calculation  */
 I3	  38996 #define SOCKOPT$C_NO_SND_CHKSUM 32768   /* no send checksum calculation     */
 I3	  38997 #define SOCKOPT$C_LENGTH 2
 I3	  38998 #define SOCKOPT$K_LENGTH 2
 I3	  38999 struct SOCKETOPTDEF {
 I3	  39000     union  {                            /*                                  */
 I3	  39001         unsigned short int SOCKOPT$W_OPTIONS; /* Socket options, see socket.h  */
 I3	  39002         struct  {
 I3	  39003 /*                                                                          */
 I3	  39004 /* Socket options bits.                                                     */
 I3	  39005 /*                                                                          */
 I3	  39006             unsigned SOCKOPT$V_DEBUG : 1; /* turn on event logging, not used */
 I3	  39007             unsigned SOCKOPT$V_ACCEPTCONN : 1; /* socket has had LISTEN     */
 I3	  39008             unsigned SOCKOPT$V_REUSEADDR : 1; /* allow local address reuse  */
 I3	  39009             unsigned SOCKOPT$V_KEEPALIVE : 1; /* keep connection alive      */
 I3	  39010             unsigned SOCKOPT$V_DONTROUTE : 1; /* use only the interface addr */
 I3	  39011             unsigned SOCKOPT$V_BROADCAST : 1; /* allow broadcasting         */
 I3	  39012             unsigned SOCKOPT$V_USELOOPBACK : 1; /* loopback interface, not used */
 I3	  39013             unsigned SOCKOPT$V_LINGER : 1; /* linger at close               */
 I3	  39014             unsigned SOCKOPT$V_OOBINLINE : 1; /* leave received OOB data in line  */
 I3	  39015 /*                                                                          */
 I3	  39016 /*                                                                          */
 I3	  39017             unsigned SOCKOPT$V_DUMMYB_2 : 1; /* reserve space               */
 I3	  39018             unsigned SOCKOPT$V_DUMMYB_3 : 1; /* reserve space               */
 I3	  39019             unsigned SOCKOPT$V_DUMMYB_4 : 1; /* reserve space               */
 I3	  39020             unsigned SOCKOPT$V_DUMMYB_5 : 1; /* reserve space               */
 I3	  39021 /*                                                                          */
 I3	  39022             unsigned SOCKOPT$V_FULL_DUPLEX_CLOSE : 1; /* full duplex close  */
 I3	  39023             unsigned SOCKOPT$V_NO_RCV_CHKSUM : 1; /* no receive checksum calculation */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 704
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  39024             unsigned SOCKOPT$V_NO_SND_CHKSUM : 1; /* no send checksum calculation */
 I3	  39025 /* Additional options, not kept in so_options.                              */
 I3	  39026 /*                                                                          */
 I3	  39027             } SOCKOPT$R_OPT_BITS;
 I3	  39028         } SOCKOPT$R_OPT_OVRLY;
 I3	  39029     } ;
 I3	  39030  
 I3	  39031 #pragma __member_alignment __restore
 I3	  39032 /*** MODULE $INETSOCKOPTDEF ***/
 I3	  39033 #pragma __member_alignment __save
 I3	  39034 #pragma __nomember_alignment
 I3	  39035 /*                                                                          */
 I3	  39036 /* Socket options data structure.                                           */
 I3	  39037 /*                                                                          */
 I3	  39038 #define INET$M_DEBUG 0x1
 I3	  39039 #define INET$M_ACCEPTCONN 0x2
 I3	  39040 #define INET$M_REUSEADDR 0x4
 I3	  39041 #define INET$M_KEEPALIVE 0x8
 I3	  39042 #define INET$M_DONTROUTE 0x10
 I3	  39043 #define INET$M_BROADCAST 0x20
 I3	  39044 #define INET$M_USELOOPBACK 0x40
 I3	  39045 #define INET$M_LINGER 0x80
 I3	  39046 #define INET$M_OOBINLINE 0x100
 I3	  39047 #define INET$M_DUMMYB_2 0x200
 I3	  39048 #define INET$M_DUMMYB_3 0x400
 I3	  39049 #define INET$M_DUMMYB_4 0x800
 I3	  39050 #define INET$M_DUMMYB_5 0x1000
 I3	  39051 #define INET$M_FULL_DUPLEX_CLOSE 0x2000
 I3	  39052 #define INET$M_NO_RCV_CHKSUM 0x4000
 I3	  39053 #define INET$M_NO_SND_CHKSUM 0x8000
 I3	  39054 #define INET$M_NO_CHKSUM 49152          /* no checksum calculation          */
 I3	  39055 #define INET$C_NO_CHKSUM 49152          /* no checksum calculation          */
 I3	  39056 /*                                                                          */
 I3	  39057 #define INET$C_SNDBUF 4097              /* send buffer size                 */
 I3	  39058 #define INET$C_RCVBUF 4098              /* receive buffer size              */
 I3	  39059 #define INET$C_SNDLOWAT 4099            /* send low-water mark              */
 I3	  39060 #define INET$C_RCVLOWAT 4100            /* receive low-water mark           */
 I3	  39061 #define INET$C_SNDTIMEO 4101            /* send timeout                     */
 I3	  39062 #define INET$C_RCVTIMEO 4102            /* receive timeout                  */
 I3	  39063 #define INET$C_ERROR 4103               /* get error status and clear       */
 I3	  39064 #define INET$C_TYPE 4104                /* get socket type                  */
 I3	  39065 #define INET$C_SHARE 4105               /* Share                            */
 I3	  39066 #define INET$C_CCL 4106                 /* carriage control added           */
 I3	  39067 /*                                                                          */
 I3	  39068 #define INET$M_SNDBUF 4097              /* send buffer size                 */
 I3	  39069 #define INET$M_RCVBUF 4098              /* receive buffer size              */
 I3	  39070 #define INET$M_SNDLOWAT 4099            /* send low-water mark              */
 I3	  39071 #define INET$M_RCVLOWAT 4100            /* receive low-water mark           */
 I3	  39072 #define INET$M_SNDTIMEO 4101            /* send timeout                     */
 I3	  39073 #define INET$M_RCVTIMEO 4102            /* receive timeout                  */
 I3	  39074 #define INET$M_ERROR 4103               /* get error status and clear       */
 I3	  39075 #define INET$M_TYPE 4104                /* get socket type                  */
 I3	  39076 #define INET$M_SHARE 4105               /* Share                            */
 I3	  39077 #define INET$M_CCL 4106                 /* carriage control added           */
 I3	  39078 #define INET$C_DEBUG 1                  /* turn on event logging, not used  */
 I3	  39079 #define INET$C_ACCEPTCONN 2             /* socket has had LISTEN            */
 I3	  39080 #define INET$C_REUSEADDR 4              /* allow local address reuse        */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 705
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  39081 #define INET$C_KEEPALIVE 8              /* keep connection alive            */
 I3	  39082 #define INET$C_DONTROUTE 16             /* use only the interface addr      */
 I3	  39083 #define INET$C_BROADCAST 32             /* allow broadcasting               */
 I3	  39084 #define INET$C_USELOOPBACK 64           /* loopback interface, not used     */
 I3	  39085 #define INET$C_LINGER 128               /* linger at close                  */
 I3	  39086 #define INET$C_OOBINLINE 256            /* leave received OOB data in line  */
 I3	  39087 #define INET$C_FULL_DUPLEX_CLOSE 8192   /* full duplex close                */
 I3	  39088 #define INET$C_NO_RCV_CHKSUM 16384      /* no receive checksum calculation  */
 I3	  39089 #define INET$C_NO_SND_CHKSUM 32768      /* no send checksum calculation     */
 I3	  39090 #define INET$C_LENGTH 2
 I3	  39091 #define INET$K_LENGTH 2
 I3	  39092 struct INETSOCKOPTDEF {
 I3	  39093     union  {                            /*                                  */
 I3	  39094         unsigned short int INET$W_OPTIONS; /* Socket options, see socket.h  */
 I3	  39095         struct  {
 I3	  39096 /*                                                                          */
 I3	  39097 /* Socket options bits.                                                     */
 I3	  39098 /*                                                                          */
 I3	  39099             unsigned INET$V_DEBUG : 1;  /* turn on event logging, not used  */
 I3	  39100             unsigned INET$V_ACCEPTCONN : 1; /* socket has had LISTEN        */
 I3	  39101             unsigned INET$V_REUSEADDR : 1; /* allow local address reuse     */
 I3	  39102             unsigned INET$V_KEEPALIVE : 1; /* keep connection alive         */
 I3	  39103             unsigned INET$V_DONTROUTE : 1; /* use only the interface addr   */
 I3	  39104             unsigned INET$V_BROADCAST : 1; /* allow broadcasting            */
 I3	  39105             unsigned INET$V_USELOOPBACK : 1; /* loopback interface, not used */
 I3	  39106             unsigned INET$V_LINGER : 1; /* linger at close                  */
 I3	  39107             unsigned INET$V_OOBINLINE : 1; /* leave received OOB data in line  */
 I3	  39108 /*                                                                          */
 I3	  39109 /*                                                                          */
 I3	  39110             unsigned INET$V_DUMMYB_2 : 1; /* reserve space                  */
 I3	  39111             unsigned INET$V_DUMMYB_3 : 1; /* reserve space                  */
 I3	  39112             unsigned INET$V_DUMMYB_4 : 1; /* reserve space                  */
 I3	  39113             unsigned INET$V_DUMMYB_5 : 1; /* reserve space                  */
 I3	  39114 /*                                                                          */
 I3	  39115             unsigned INET$V_FULL_DUPLEX_CLOSE : 1; /* full duplex close     */
 I3	  39116             unsigned INET$V_NO_RCV_CHKSUM : 1; /* no receive checksum calculation */
 I3	  39117             unsigned INET$V_NO_SND_CHKSUM : 1; /* no send checksum calculation */
 I3	  39118 /* Additional options, not kept in so_options.                              */
 I3	  39119 /*                                                                          */
 I3	  39120             } INET$R_OPT_BITS;
 I3	  39121         } INET$R_OPT_OVRLY;
 I3	  39122     } ;
 I3	  39123  
 I3	  39124 #pragma __member_alignment __restore
 I3	  39125 /*** MODULE $SOCKADDRDEF ***/
 I3	  39126 #pragma __member_alignment __save
 I3	  39127 #pragma __nomember_alignment
 I3	  39128 #define AF_UNSPEC 0                     /* unspecified socket family        */
 I3	  39129 #define AF_INET 2                       /* INET socket family               */
 I3	  39130 #define SA$C_LENGTH 16
 I3	  39131 #define SA$K_LENGTH 16
 I3	  39132 struct SOCKADDR {
 I3	  39133     unsigned short int SA$W_FAMILY;     /* address family                   */
 I3	  39134     char SA$T_DATA [14];                /* up to 14 bytes of address        */
 I3	  39135     } ;
 I3	  39136  
 I3	  39137 #pragma __member_alignment __restore

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 706
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  39138 /*** MODULE $SOCKADDRINDEF ***/
 I3	  39139 #pragma __member_alignment __save
 I3	  39140 #pragma __nomember_alignment
 I3	  39141 #define SIN$C_LENGTH 16
 I3	  39142 #define SIN$K_LENGTH 16
 I3	  39143 struct SOCKADDRIN {
 I3	  39144     unsigned short int SIN$W_FAMILY;    /* address family                   */
 I3	  39145     unsigned short int SIN$W_PORT;      /* 2 bytes specifying a port        */
 I3	  39146     unsigned int SIN$L_ADDR;            /* 4 bytes specifying an IP address */
 I3	  39147     char SIN$T_ZERO [8];                /* 8 bytes                          */
 I3	  39148     } ;
 I3	  39149  
 I3	  39150 #pragma __member_alignment __restore
 I3	  39151 /*** MODULE $INETACPSYMDEF ***/
 I3	  39152 #pragma __member_alignment __save
 I3	  39153 #pragma __nomember_alignment
 I3	  39154 /*+                                                                         */
 I3	  39155 /* Define ACP HOST/NET data base subroutine calls subfunction codes         */
 I3	  39156 /*                                                                          */
 I3	  39157 /*-                                                                         */
 I3	  39158 #define INETACP$C_ALIASES 1             /* aliases                          */
 I3	  39159 #define INETACP$C_TRANS 2               /* translate ASCII string in binary */
 I3	  39160 #define INETACP$C_HOSTENT 3             /* get back a HOSTENT               */
 I3	  39161 #define INETACP$C_NETENT 4              /* get back a NETENT                */
 I3	  39162 #define INETACP$C_HOSTENT_OFFSET 5      /* get back a HOSTENT               */
 I3	  39163 #define INETACP$C_NETENT_OFFSET 6       /* get back a NETENT                */
 I3	  39164 #define INETACPC$C_ALIASES 1            /* aliases                          */
 I3	  39165 #define INETACPC$C_TRANS 2              /* translate ASCII string in binary */
 I3	  39166 #define INETACPC$C_HOSTENT 3            /* get back a HOSTENT               */
 I3	  39167 #define INETACPC$C_NETENT 4             /* get back a NETENT                */
 I3	  39168 #define INETACPC$C_HOSTENT_OFFSET 5     /* get back a HOSTENT               */
 I3	  39169 #define INETACPC$C_NETENT_OFFSET 6      /* get back a NETENT                */
 I3	  39170  
 I3	  39171 #pragma __member_alignment __restore
 I3	  39172 /*** MODULE $INETACPFSYMDEF ***/
 I3	  39173 #pragma __member_alignment __save
 I3	  39174 #pragma __nomember_alignment
 I3	  39175 /*+                                                                         */
 I3	  39176 /* Define ACP control subfunction codes                                     */
 I3	  39177 /*                                                                          */
 I3	  39178 /*-                                                                         */
 I3	  39179 #define INETACP_FUNC$C_GETHOSTBYNAME 1  /* Subroutine call of GET_HOST_BY_NAME */
 I3	  39180 #define INETACP_FUNC$C_GETHOSTBYADDR 2  /* Subroutine call of GET_HOST_BY_ADDR */
 I3	  39181 #define INETACP_FUNC$C_GETNETBYNAME 3   /* Subroutine call of GET_NET_BY_NAME */
 I3	  39182 #define INETACP_FUNC$C_GETNETBYADDR 4   /* Subroutine call of GET_NET_BY_ADDR  */
 I3	  39183 /*                                                                          */
 I3	  39184  
 I3	  39185 #pragma __member_alignment __restore
 I3	  39186 /*** MODULE $NETENTDEF ***/
 I3	  39187 #pragma __member_alignment __save
 I3	  39188 #pragma __nomember_alignment
 I3	  39189 #define NET$C_LENGTH 16                 /*                                  */
 I3	  39190 #define NET$K_LENGTH 16                 /*                                  */
 I3	  39191 struct NETENTDEF {
 I3	  39192     int *NET$L_N_NAME;                  /* pointer to the network name      */
 I3	  39193     int *NET$L_N_ALIASES;               /* pointer to array of pointers to aliases */
 I3	  39194     unsigned int NET$L_N_ADDRTYPE;      /* Network address type             */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 707
V1.0                                                             1-DEC-2014 04:09:54  SYS$COMMON:[SYSLIB]UCX$INETDEF.H;1

 I3	  39195     unsigned int NET$L_N_NET;           /* Network address                  */
 I3	  39196     } ;
 I3	  39197 /*                                                                          */
 I3	  39198 /* Structures returned by network                                           */
 I3	  39199 /* data base library.  All addresses                                        */
 I3	  39200 /* are supplied in host order, and                                          */
 I3	  39201 /* returned in network order (suitable                                      */
 I3	  39202 /* for use in system calls).                                                */
 I3	  39203 /*                                                                          */
 I3	  39204  
 I3	  39205 #pragma __member_alignment __restore
 I3	  39206 /*** MODULE $HOSTENTDEF ***/
 I3	  39207 #pragma __member_alignment __save
 I3	  39208 #pragma __nomember_alignment
 I3	  39209 #define HOST$L_H_ADDR 16                /*                                  */
 I3	  39210 #define HOST$C_LENGTH 20                /*                                  */
 I3	  39211 #define HOST$K_LENGTH 20                /*                                  */
 I3	  39212 struct HOSTENTDEF {
 I3	  39213     int *HOST$L_H_NAME;                 /* pointer to the host name         */
 I3	  39214     int *HOST$L_H_ALIASES;              /* pointer to array of pointers to aliases */
 I3	  39215     unsigned int HOST$L_H_ADDRTYPE;     /* Host address type                */
 I3	  39216     unsigned int HOST$L_H_LENGTH;       /* Length of address                */
 I3	  39217     int *HOST$L_H_ADDR_LIST;            /* Pointer to array of pointers to addresses */
 I3	  39218     } ;
 I3	  39219  
 I3	  39220 #pragma __member_alignment __restore
 I3	  39221 /*** MODULE $$END ***/
 I3	  39222 #pragma __member_alignment __save
 I3	  39223 #pragma __nomember_alignment
 I3	  39224 #endif /* UCX$INETDEF_LOADED */
 I3	  39225  
 I3	  39226 #pragma __member_alignment __restore
 I2	  39227 #endif /* TCPWARE */
 I2	  39228 
 I2	  39229 #ifndef _IO
 I2	  39230 #define IOCPARM_MASK   0x7f		/* Parameters are < 128 bytes */
 I2	  39231 #define IOC_VOID       (int)0x20000000	/* No parameters */
 I2	  39232 #define IOC_OUT        (int)0x40000000	/* Copy out parameters */
 I2	  39233 #define IOC_IN         (int)0x80000000	/* Copy in parameters */
 I2	  39234 #define IOC_INOUT      (int)(IOC_IN|IOC_OUT)
 I2	  39235 #define _IO(x,y)       (int)(IOC_VOID|('x'<<8)|y)
 I2	  39236 #define _IOR(x,y,t)    (int)(IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
 I2	  39237 #define _IOW(x,y,t)    (int)(IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
 I2	  39238 #define _IOWR(x,y,t)   (int)(IOC_INOUT|((sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)`
 I2	  39239 #endif /* _IO */
 I2	  39240 #endif /* DEC_TCPIP */
 I2	  39241 #endif /* CKV_IOCTL */
 I2	  39242 
 I1	  39243 #define socket_errno errno
 I1	  39244 
 I1    X  39245 #ifdef COMMENT
 I1	  39246 /*
 I1	  39247   No longer needed because now bzero/bcopy are macros defined as
 I1	  39248   memset/memmove in all VMS builds.
 I1    X  39249 */
 I1    X  39250 /*
 I1    X  39251   Translation: In <strings.h>, which exists only for DECC >= 5.2, bzero()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 708
V1.0                                                             1-DEC-2014 04:09:54  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  39252   and bcopy() are declared only for OpenVMS >= 7.0.  This still might need
 I1    X  39253   adjustment for DECC 5.0 and higher.
 I1    X  39254 */
 I1    X  39255 #ifdef __DECC_VER
 I1    X  39256 #ifdef VMSV70
 I1    X  39257 /*
 I1    X  39258   Note: you can't use "#if (__VMS_VER>=70000000)" because that is not
 I1    X  39259   portable and kills non-VMS builds.
 I1    X  39260 */
 I1    X  39261 #include <strings.h>
 I1    X  39262 #else
 I1    X  39263 #ifndef bzero
 I1    X  39264 #define bzero(s,n) memset(s,0,n)
 I1    X  39265 #endif
 I1    X  39266 #ifndef bcopy
 I1    X  39267 #define bcopy(h,a,l) memmove(a,h,l)
 I1    X  39268 #endif
 I1    X  39269 #endif /* VMSV70 */
 I1    X  39270 #else
 I1    X  39271 #ifndef bzero
 I1    X  39272 #define bzero(s,n) memset(s,0,n)
 I1    X  39273 #endif
 I1    X  39274 #ifndef bcopy
 I1    X  39275 #define bcopy(h,a,l) memmove(a,h,l)
 I1    X  39276 #endif
 I1    X  39277 #endif /* __DECC_VER */
 I1    X  39278 #endif /* COMMENT */
 I1	  39279 
 I1	  39280 #define socket_read     read
 I1	  39281 #define socket_write    write
 I1	  39282 #define socket_ioctl    ioctl
 I1	  39283 #define socket_close    close
 I1	  39284 
 I1	  39285 #ifdef __DECC
 I1	  39286 int ioctl (int d, int request, void *argp);
 I1    X  39287 #else
 I1    X  39288 int ioctl (int d, int request, char *argp);
 I1    X  39289 #endif /* DECC */
 I1	  39290 /*
 I1	  39291   UCX supports select(), but does not provide the needed symbol and
 I1	  39292   structure definitions in any header file, so ...
 I1	  39293 */
 I1    X  39294 #include <types.h>
 I1    X  39295 #ifndef NBBY
 I1	  39296 /*-
 I1	  39297  * Copyright (c) 1982, 1986, 1991, 1993
 I1	  39298  *      The Regents of the University of California.  All rights reserved.
 I1	  39299  *
 I1	  39300  * Redistribution and use in source and binary forms, with or without
 I1	  39301  * modification, are permitted provided that the following conditions
 I1	  39302  * are met:
 I1	  39303  * 1. Redistributions of source code must retain the above copyright
 I1	  39304  *    notice, this list of conditions and the following disclaimer.
 I1	  39305  * 2. Redistributions in binary form must reproduce the above copyright
 I1	  39306  *    notice, this list of conditions and the following disclaimer in the
 I1	  39307  *    documentation and/or other materials provided with the distribution.
 I1	  39308  * 3. All advertising materials mentioning features or use of this software

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 709
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  39309  *    must display the following acknowledgement:
 I1	  39310  *      This product includes software developed by the University of
 I1	  39311  *      California, Berkeley and its contributors.
 I1	  39312  * 4. Neither the name of the University nor the names of its contributors
 I1	  39313  *    may be used to endorse or promote products derived from this software
 I1	  39314  *    without specific prior written permission.
 I1	  39315  *
 I1	  39316  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 I1	  39317  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 I1	  39318  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 I1	  39319  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 I1	  39320  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 I1	  39321  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 I1	  39322  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 I1	  39323  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 I1	  39324  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 I1	  39325  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 I1	  39326  * SUCH DAMAGE.
 I1	  39327  *
 I1	  39328  *      @(#)types.h     8.1 (Berkeley) 6/2/93
 I1    X  39329  */
 I1    X  39330 
 I1    X  39331 #define NBBY    8               /* number of bits in a byte */
 I1    X  39332 
 I1    X  39333 /*
 I1    X  39334  * Select uses bit masks of file descriptors in longs.  These macros
 I1    X  39335  * manipulate such bit fields (the filesystem macros use chars).
 I1    X  39336  * FD_SETSIZE may be defined by the user, but the default here should
 I1    X  39337  * be enough for most uses.
 I1    X  39338  */
 I1    X  39339 #ifndef FD_SETSIZE
 I1    X  39340 #define FD_SETSIZE      256
 I1    X  39341 #endif
 I1    X  39342 
 I1    X  39343 typedef long    fd_mask;
 I1    X  39344 #define NFDBITS (sizeof(fd_mask) * NBBY)        /* bits per mask */
 I1    X  39345 
 I1    X  39346 #ifndef howmany
 I1    X  39347 #define howmany(x, y)   (((x)+((y)-1))/(y))
 I1    X  39348 #endif
 I1    X  39349 
 I1    X  39350 typedef struct fd_set {
 I1    X  39351         fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
 I1    X  39352 } fd_set;
 I1    X  39353 
 I1    X  39354 #define FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
 I1    X  39355 #define FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
 I1    X  39356 #define FD_ISSET(n, p)  ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
 I1    X  39357 #define FD_COPY(f, t)   bcopy(f, t, sizeof(*(f)))
 I1    X  39358 #define FD_ZERO(p)      bzero(p, sizeof(*(p)))
 I1    X  39359 #endif /* !NBBY */
 I1	  39360 
 I1    X  39361 #else  /* Not DEC_TCPIP */
 I1    X  39362 
 I1    X  39363 #ifdef CMU_TCPIP
 I1    X  39364 #include <types.h>
 I1    X  39365 #include <in.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 710
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  39366 #include <netdb.h>
 I1    X  39367 #include <socket.h>
 I1    X  39368 #include <inet.h>
 I1    X  39369 #include <ioctl.h>
 I1    X  39370 #include "ckvioc.h"
 I1    X  39371 #define socket_errno errno
 I1    X  39372 
 I1    X  39373 /*
 I1    X  39374  * Routines supplied in LIBCMU.OLB
 I1    X  39375  */
 I1    X  39376 #define socket_ioctl    ioctl
 I1    X  39377 #define socket_read     cmu_read
 I1    X  39378 #define socket_write    cmu_write
 I1    X  39379 #define socket_close    cmu_close
 I1    X  39380 
 I1    X  39381 #endif /* CMU_TCPIP */
 I1    X  39382 #endif /* DEC_TCPIP */
 I1	  39383 #endif /* WINTCP */
 I1	  39384 #endif /* MULTINET */
 I1	  39385 
 I1    X  39386 #else /* Not VMS */
 I1    X  39387 
 I1    X  39388 #ifdef OS2
 I1    X  39389 #include "ckonet.h"
 I1    X  39390 #ifndef NT
 I1    X  39391 #include <nerrno.h>
 I1    X  39392 #endif
 I1    X  39393 #endif /* OS2 */
 I1    X  39394 
 I1    X  39395 #ifdef STRATUS  /* Stratus VOS using OS TCP/IP products S235, S236, S237 */
 I1    X  39396 #include <tcp_socket.h>
 I1    X  39397 /* This gets used some places when TCPSOCKET is defined. */
 I1    X  39398 /* OS TCP provides bzero(), but not bcopy()... go figure. */
 I1    X  39399 #define bcopy(s,d,z) memcpy(d,s,z)
 I1    X  39400 #endif /* STRATUS */
 I1    X  39401 
 I1    X  39402 #ifdef OSK
 I1    X  39403 #ifndef OSKXXC
 I1    X  39404 #include <inet/in.h>
 I1    X  39405 #include <inet/netdb.h>
 I1    X  39406 #include <inet/socket.h>
 I1    X  39407 #else
 I1    X  39408 #include <INET/in.h>
 I1    X  39409 #include <INET/netdb.h>
 I1    X  39410 #include <INET/socket.h>
 I1    X  39411 #endif /* OSKXXC */
 I1    X  39412 #ifndef bzero
 I1    X  39413 #define bzero(s,n) memset(s,0,n)
 I1    X  39414 #endif
 I1    X  39415 #ifndef bcopy
 I1    X  39416 #define bcopy(h,a,l) memcpy(a,h,l)
 I1    X  39417 #endif
 I1    X  39418 typedef char * caddr_t; /* core address type */
 I1    X  39419 #endif /* OSK */
 I1    X  39420 
 I1    X  39421 #endif /* VMS */
 I1	  39422 #endif /* UNIX */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 711
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  39423 #endif /* TCPSOCKET */
 I1	  39424 
 I1	  39425 #ifndef NOINADDRX		      /* 301 - Needed for Solaris 10 and 11 */
 I1    X  39426 #ifdef SOLARIS
 I1    X  39427 #define NOINADDRX
 I1    X  39428 #ifdef INADDR_NONE
 I1    X  39429 #undef INADDR_NONE
 I1    X  39430 #endif	/* INADDR_NONE */
 I1    X  39431 #endif	/* SOLARIS */
 I1	  39432 #endif	/* NOINADDRX */
 I1	  39433 
 I1    X  39434 #ifdef NOINADDRX
 I1    X  39435 #ifdef INADDRX
 I1    X  39436 #undef INADDRX
 I1    X  39437 #endif	/* INADDRX */
 I1    X  39438 #endif	/* NOINADDRX */
 I1	  39439 
 I1	  39440 #ifdef TCPSOCKET
 I1	  39441 #ifndef NOHADDRLIST
 I1	  39442 #ifndef HADDRLIST
 I1    X  39443 #ifdef SUNOS41
 I1    X  39444 #define HADDRLIST
 I1    X  39445 #endif /* SUNOS41 */
 I1    X  39446 #ifdef SOLARIS
 I1    X  39447 #define HADDRLIST
 I1    X  39448 #endif /* SOLARIS */
 I1    X  39449 #ifdef LINUX
 I1    X  39450 #define HADDRLIST
 I1    X  39451 #endif /* LINUX */
 I1    X  39452 #ifdef AIXRS
 I1    X  39453 #define HADDRLIST
 I1    X  39454 #endif /* AIXRS */
 I1    X  39455 #ifdef HPUX
 I1    X  39456 #define HADDRLIST
 I1    X  39457 #endif /* HPUX */
 I1    X  39458 #ifdef IRIX
 I1    X  39459 #define HADDRLIST
 I1    X  39460 #endif /* IRIX */
 I1    X  39461 #ifdef I386IX
 I1    X  39462 #define HADDRLIST
 I1    X  39463 #endif /* I386IX */
 I1	  39464 #endif /* HADDRLIST */
 I1	  39465 /* A system that defines h_addr as h_addr_list[0] should be HADDRLIST */
 I1	  39466 #ifndef HADDRLIST
 I1	  39467 #ifdef h_addr
 I1	  39468 #define HADDRLIST
 I1	  39469 #endif /* h_addr */
 I1	  39470 #endif /* HADDRLIST */
 I1	  39471 #endif /* NOHADDRLIST */
 I1	  39472 #endif /* TCPSOCKET */
 I1	  39473 
 I1	  39474 #ifdef TNCODE                           /* If we're compiling telnet code... */
 I1	  39475 #ifndef IKS_OPTION
 I1	  39476 #ifndef STRATUS
 I1	  39477 #ifndef NOIKSD
 I1	  39478 #define IKS_OPTION
 I1	  39479 #endif /* NOIKSD */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 712
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  39480 #endif /* STRATUS */
 I1	  39481 #endif /* IKS_OPTION */
 I1	  39482 #include "ckctel.h"
 I2	  39483 /* ckctel.h -- Symbol and macro definitions for C-Kermit telnet support */
 I2	  39484 
 I2	  39485 /*
 I2	  39486   Authors: Jeffrey E Altman <jaltman@secure-endpoints.com>,
 I2	  39487               Secure Endpoints Inc., New York City
 I2	  39488            Frank da Cruz <fdc@columbia.edu>
 I2	  39489   Columbia University Academic Information Systems, New York City.
 I2	  39490 
 I2	  39491   Copyright (C) 1985, 2009,
 I2	  39492     Trustees of Columbia University in the City of New York.
 I2	  39493     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I2	  39494     copyright text in the ckcmai.c module for disclaimer and permissions.
 I2	  39495 
 I2	  39496   Notes:
 I2	  39497   . This file should be used in place of "arpa/telnet.h"
 I2	  39498   . Only one source file should include #defines for
 I2	  39499     TELCMDS, TELOPTS, TELOPT_STATES, SLC_NAMES, and AUTH_NAMES.
 I2	  39500 */
 I2	  39501 
 I2	  39502 #ifndef CKCTEL_H
 I2	  39503 #define CKCTEL_H
 I2	  39504 #ifdef TNCODE
 I2	  39505 /*
 I2	  39506   Definitions for the TELNET protocol.
 I2	  39507   can't rely on library header files for any of them.
 I2	  39508 */
 I2    X  39509 #ifdef COMMENT
 I2    X  39510 /* In some compilers these are prone to sign extension */
 I2    X  39511 
 I2    X  39512 #ifndef IAC                             /* First the telnet commands */
 I2    X  39513 #define IAC 255
 I2    X  39514 #endif /* IAC */
 I2    X  39515 #ifndef DONT
 I2    X  39516 #define DONT 254
 I2    X  39517 #endif /* DONT */
 I2    X  39518 #ifndef DO
 I2    X  39519 #define DO 253
 I2    X  39520 #endif /* DO */
 I2    X  39521 #ifndef WONT
 I2    X  39522 #define WONT 252
 I2    X  39523 #endif /* WONT */
 I2    X  39524 #ifndef WILL
 I2    X  39525 #define WILL 251
 I2    X  39526 #endif /* WILL */
 I2    X  39527 #ifndef SB
 I2    X  39528 #define SB 250
 I2    X  39529 #endif /* SB */
 I2    X  39530 #ifndef TN_GA
 I2    X  39531 #define TN_GA 249
 I2    X  39532 #endif /* TN_GA */
 I2    X  39533 #ifndef TN_EL
 I2    X  39534 #define TN_EL 248
 I2    X  39535 #endif /* TN_EL */
 I2    X  39536 #ifndef TN_EC

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 713
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2    X  39537 #define TN_EC 247
 I2    X  39538 #endif /* TN_EC */
 I2    X  39539 #ifndef TN_AYT
 I2    X  39540 #define TN_AYT 246
 I2    X  39541 #endif /* TN_AYT */
 I2    X  39542 #ifndef TN_AO
 I2    X  39543 #define TN_AO 245
 I2    X  39544 #endif /* TN_AO */
 I2    X  39545 #ifndef TN_IP
 I2    X  39546 #define TN_IP 244
 I2    X  39547 #endif /* TN_IP */
 I2    X  39548 #ifndef BREAK
 I2    X  39549 #define BREAK 243
 I2    X  39550 #endif /* BREAK */
 I2    X  39551 #ifndef TN_DM
 I2    X  39552 #define TN_DM 242
 I2    X  39553 #endif /* TN_DM */
 I2    X  39554 #ifndef TN_NOP
 I2    X  39555 #define TN_NOP 241
 I2    X  39556 #endif /* TN_NOP */
 I2    X  39557 #ifndef SE
 I2    X  39558 #define SE 240
 I2    X  39559 #endif /* SE */
 I2    X  39560 #ifndef TN_EOR
 I2    X  39561 #define TN_EOR 239
 I2    X  39562 #endif /* TN_EOR */
 I2    X  39563 #ifndef TN_ABORT
 I2    X  39564 #define TN_ABORT 238
 I2    X  39565 #endif /* TN_ABORT */
 I2    X  39566 #ifndef TN_SUSP
 I2    X  39567 #define TN_SUSP 237
 I2    X  39568 #endif /* TN_SUSP */
 I2    X  39569 #ifndef TN_EOF
 I2    X  39570 #define TN_EOF 236
 I2    X  39571 #endif /* TN_EOF */
 I2    X  39572 #ifndef LAST_TN_CMD
 I2    X  39573 #define LAST_TN_CMD 236
 I2    X  39574 
 I2    X  39575 #define TN_SAK 200              /* IBM Secure Attention Key */
 I2    X  39576 #endif /* LAST_TN_CMD */
 I2    X  39577 #define SYNCH   242             /* for telfunc calls */
 I2    X  39578 
 I2    X  39579 #else
 I2	  39580 /* Hex notation seems to suppress the sugn extension effect */
 I2	  39581 
 I2	  39582 
 I2	  39583 #ifndef IAC                             /* First the telnet commands */
 I2	  39584 #define IAC 0xff
 I2	  39585 #endif /* IAC */
 I2	  39586 #ifndef DONT
 I2	  39587 #define DONT 0xfe			/* 254 */
 I2	  39588 #endif /* DONT */
 I2	  39589 #ifndef DO
 I2	  39590 #define DO 0xfd				/* 253 */
 I2	  39591 #endif /* DO */
 I2	  39592 #ifndef WONT
 I2	  39593 #define WONT 0xfc			/* 252 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 714
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  39594 #endif /* WONT */
 I2	  39595 #ifndef WILL
 I2	  39596 #define WILL 0xfb			/* 251 */
 I2	  39597 #endif /* WILL */
 I2	  39598 #ifndef SB
 I2	  39599 #define SB 0xfa				/* 250 */
 I2	  39600 #endif /* SB */
 I2	  39601 #ifndef TN_GA
 I2	  39602 #define TN_GA 0xf9			/* 249 */
 I2	  39603 #endif /* TN_GA */
 I2	  39604 #ifndef TN_EL
 I2	  39605 #define TN_EL 0xf8			/* 248 */
 I2	  39606 #endif /* TN_EL */
 I2	  39607 #ifndef TN_EC
 I2	  39608 #define TN_EC 0xf7			/* 247 */
 I2	  39609 #endif /* TN_EC */
 I2	  39610 #ifndef TN_AYT
 I2	  39611 #define TN_AYT 0xf6			/* 246 */
 I2	  39612 #endif /* TN_AYT */
 I2	  39613 #ifndef TN_AO
 I2	  39614 #define TN_AO 0xf5			/* 245 */
 I2	  39615 #endif /* TN_AO */
 I2	  39616 #ifndef TN_IP
 I2	  39617 #define TN_IP 0xf4			/* 244 */
 I2	  39618 #endif /* TN_IP */
 I2	  39619 #ifndef BREAK
 I2	  39620 #define BREAK 0xf3			/* 243 */
 I2	  39621 #endif /* BREAK */
 I2	  39622 #ifndef TN_DM
 I2	  39623 #define TN_DM 0xf2			/* 242 */
 I2	  39624 #endif /* TN_DM */
 I2	  39625 #ifndef TN_NOP
 I2	  39626 #define TN_NOP 0xf1			/* 241 */
 I2	  39627 #endif /* TN_NOP */
 I2	  39628 #ifndef SE
 I2	  39629 #define SE 0xf0				/* 240 */
 I2	  39630 #endif /* SE */
 I2	  39631 #ifndef TN_EOR
 I2	  39632 #define TN_EOR 0xef			/* 239 */
 I2	  39633 #endif /* TN_EOR */
 I2	  39634 #ifndef TN_ABORT
 I2	  39635 #define TN_ABORT 0xee			/* 238 */
 I2	  39636 #endif /* TN_ABORT */
 I2	  39637 #ifndef TN_SUSP
 I2	  39638 #define TN_SUSP 0xed			/* 237 */
 I2	  39639 #endif /* TN_SUSP */
 I2	  39640 #ifndef TN_EOF
 I2	  39641 #define TN_EOF 0xec			/* 236 */
 I2	  39642 #endif /* TN_EOF */
 I2	  39643 #ifndef LAST_TN_CMD
 I2	  39644 #define LAST_TN_CMD 0xec		/* 236 */
 I2	  39645 
 I2	  39646 #define TN_SAK 0xc8			/* 200 - IBM Secure Attention Key */
 I2	  39647 #endif /* LAST_TN_CMD */
 I2	  39648 #define SYNCH 0xf2			/* 242 - for telfunc calls */
 I2	  39649 
 I2	  39650 #endif	/* COMMENT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 715
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  39651 
 I2    X  39652 #ifdef TELCMDS
 I2    X  39653 char *telcmds[] = {
 I2    X  39654         "EOF", "SUSP", "ABORT", "EOR",
 I2    X  39655         "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC",
 I2    X  39656         "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0
 I2    X  39657 };
 I2    X  39658 #else /* TELCMDS */
 I2	  39659 extern char *telcmds[];
 I2	  39660 #endif /* TELCMDS */
 I2	  39661 
 I2	  39662 #define TELCMD_FIRST    TN_EOF
 I2	  39663 #define TELCMD_LAST     IAC
 I2	  39664 #define TELCMD_OK(x)    ((unsigned int)(x) <= TELCMD_LAST && \
 I2	  39665                          (unsigned int)(x) >= TELCMD_FIRST || \
 I2	  39666                           (unsigned int)(x) == TN_SAK)
 I2	  39667 #define TELCMD(x)       (TELCMD_OK(x)? ((x) == TN_SAK?"SAK": \
 I2	  39668                          telcmds[(x)-TELCMD_FIRST]):"UNKNOWN")
 I2	  39669 
 I2	  39670 /* Then the options */
 I2	  39671 /* NB: the following platforms have TELOPT_AUTHENTICATION defined as */
 I2	  39672 /* 45 instead of 37.                                                 */
 I2    X  39673 #ifdef TELOPT_AUTHENTICATION
 I2    X  39674 #ifdef __osf__
 I2    X  39675 #undef TELOPT_AUTHENTICATION
 I2    X  39676 #endif /* __osf__ */
 I2    X  39677 #ifndef IRIX
 I2    X  39678 #undef TELOPT_AUTHENTICATION
 I2    X  39679 #endif /* IRIX */
 I2    X  39680 #ifndef ultrix
 I2    X  39681 #undef TELOPT_AUTHENTICATION
 I2    X  39682 #endif /* ultrix */
 I2    X  39683 #endif /* TELOPT_AUTHENTICATION */
 I2	  39684 
 I2	  39685 /* telnet options */
 I2	  39686 #ifndef TELOPT_BINARY
 I2	  39687 #define TELOPT_BINARY   0       /* 8-bit data path (RFC 856)*/
 I2	  39688 #endif
 I2	  39689 #ifndef TELOPT_ECHO
 I2	  39690 #define TELOPT_ECHO     1       /* echo (RFC 857)*/
 I2	  39691 #endif
 I2	  39692 #ifndef TELOPT_RCP
 I2	  39693 #define TELOPT_RCP      2       /* prepare to reconnect (NIC 50005)*/
 I2	  39694 #endif
 I2	  39695 #ifndef TELOPT_SGA
 I2	  39696 #define TELOPT_SGA      3       /* suppress go ahead (RFC 858) */
 I2	  39697 #endif
 I2	  39698 #ifndef TELOPT_NAMS
 I2	  39699 #define TELOPT_NAMS     4       /* approximate message size (ETHERNET) */
 I2	  39700 #endif
 I2	  39701 #ifndef TELOPT_STATUS
 I2	  39702 #define TELOPT_STATUS   5       /* give status (RFC 859) */
 I2	  39703 #endif
 I2	  39704 #ifndef TELOPT_TM
 I2	  39705 #define TELOPT_TM       6       /* timing mark (RFC 860) */
 I2	  39706 #endif
 I2	  39707 #ifndef TELOPT_RCTE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 716
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  39708 #define TELOPT_RCTE     7       /* remote controlled transmission and echo */
 I2	  39709 #endif                          /* (RFC 726) */
 I2	  39710 #ifndef TELOPT_NAOL
 I2	  39711 #define TELOPT_NAOL     8       /* negotiate about output line width */
 I2	  39712 #endif                          /* (NIC 50005) */
 I2	  39713 #ifndef TELOPT_NAOP
 I2	  39714 #define TELOPT_NAOP     9       /* negotiate about output page size */
 I2	  39715 #endif                          /* (NIC 50005) */
 I2	  39716 #ifndef TELOPT_NAOCRD
 I2	  39717 #define TELOPT_NAOCRD   10      /* negotiate about CR disposition (RFC 652) */
 I2	  39718 #endif                          /* [Historic] */
 I2	  39719 #ifndef TELOPT_NAOHTS
 I2	  39720 #define TELOPT_NAOHTS   11      /* negotiate about horizontal tabstops */
 I2	  39721 #endif                          /* (RFC 653) [Historic] */
 I2	  39722 #ifndef TELOPT_NAOHTD
 I2	  39723 #define TELOPT_NAOHTD   12      /* negotiate about horiz tab disposition */
 I2	  39724 #endif                          /* (RFC 654) [Historic] */
 I2	  39725 #ifndef TELOPT_NAOFFD
 I2	  39726 #define TELOPT_NAOFFD   13      /* negotiate about formfeed disposition */
 I2	  39727 #endif                          /* (RFC 655) [Historic] */
 I2	  39728 #ifndef TELOPT_NAOVTS
 I2	  39729 #define TELOPT_NAOVTS   14      /* negotiate about vertical tab stops */
 I2	  39730 #endif                          /* (RFC 656) [Historic] */
 I2	  39731 #ifndef TELOPT_NAOVTD
 I2	  39732 #define TELOPT_NAOVTD   15      /* negotiate about vertical tab disposition */
 I2	  39733 #endif                          /* (RFC 657) [Historic] */
 I2	  39734 #ifndef TELOPT_NAOLFD
 I2	  39735 #define TELOPT_NAOLFD   16      /* negotiate about output LF disposition */
 I2	  39736 #endif                          /* (RFC 658) [Historic] */
 I2	  39737 #ifndef TELOPT_XASCII
 I2	  39738 #define TELOPT_XASCII   17      /* extended ascii character set */
 I2	  39739 #endif                          /* (RFC 698) */
 I2	  39740 #ifndef TELOPT_LOGOUT
 I2	  39741 #define TELOPT_LOGOUT   18      /* force logout (RFC 727) */
 I2	  39742 #endif
 I2	  39743 #ifndef TELOPT_BM
 I2	  39744 #define TELOPT_BM       19      /* byte macro (RFC 735) */
 I2	  39745 #endif
 I2	  39746 #ifndef TELOPT_DET
 I2	  39747 #define TELOPT_DET      20      /* data entry terminal (RFC 1043, 732) */
 I2	  39748 #endif
 I2	  39749 #ifndef TELOPT_SUPDUP
 I2	  39750 #define TELOPT_SUPDUP   21      /* supdup protocol (RFC 736, 734) */
 I2	  39751 #endif
 I2	  39752 #ifndef TELOPT_SUPDUPOUTPUT
 I2	  39753 #define TELOPT_SUPDUPOUTPUT 22  /* supdup output (RFC 749) */
 I2	  39754 #endif
 I2	  39755 #ifndef TELOPT_SNDLOC
 I2	  39756 #define TELOPT_SNDLOC   23      /* send location (RFC 779) */
 I2	  39757 #endif
 I2	  39758 #ifndef TELOPT_TTYPE
 I2	  39759 #define TELOPT_TTYPE    24      /* terminal type (RFC 1091) */
 I2	  39760 #endif
 I2	  39761 #ifndef TELOPT_EOR
 I2	  39762 #define TELOPT_EOR      25      /* end of record (RFC 885) */
 I2	  39763 #endif
 I2	  39764 #ifndef TELOPT_TUID

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 717
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  39765 #define TELOPT_TUID     26      /* TACACS user identification (RFC 927) */
 I2	  39766 #endif
 I2	  39767 #ifndef TELOPT_OUTMRK
 I2	  39768 #define TELOPT_OUTMRK   27      /* output marking (RFC 933) */
 I2	  39769 #endif
 I2	  39770 #ifndef TELOPT_TTYLOC
 I2	  39771 #define TELOPT_TTYLOC   28      /* terminal location number (RFC 946) */
 I2	  39772 #endif
 I2	  39773 #ifndef TELOPT_3270REGIME
 I2	  39774 #define TELOPT_3270REGIME 29    /* 3270 regime (RFC 1041) */
 I2	  39775 #endif
 I2	  39776 #ifndef TELOPT_X3PAD
 I2	  39777 #define TELOPT_X3PAD    30      /* X.3 PAD (RFC 1053) */
 I2	  39778 #endif
 I2	  39779 #ifndef TELOPT_NAWS
 I2	  39780 #define TELOPT_NAWS     31      /* window size (RFC 1073) */
 I2	  39781 #endif
 I2	  39782 #ifndef TELOPT_TSPEED
 I2	  39783 #define TELOPT_TSPEED   32      /* terminal speed (RFC 1079) */
 I2	  39784 #endif
 I2	  39785 #ifndef TELOPT_LFLOW
 I2	  39786 #define TELOPT_LFLOW    33      /* remote flow control (RFC 1372) */
 I2	  39787 #endif
 I2	  39788 #ifndef TELOPT_LINEMODE
 I2	  39789 #define TELOPT_LINEMODE 34      /* Linemode option (RFC 1184) */
 I2	  39790 #endif
 I2	  39791 #ifndef TELOPT_XDISPLOC
 I2	  39792 #define TELOPT_XDISPLOC 35      /* X Display Location (RFC 1096) */
 I2	  39793 #endif
 I2	  39794 #ifndef TELOPT_OLD_ENVIRON
 I2	  39795 #define TELOPT_OLD_ENVIRON 36   /* Old - Environment variables (RFC 1408) */
 I2	  39796 #endif
 I2	  39797 #ifndef TELOPT_AUTHENTICATION
 I2	  39798 #define TELOPT_AUTHENTICATION 37/* Authenticate (RFC 2941) */
 I2	  39799 #endif
 I2	  39800 #ifndef TELOPT_ENCRYPTION
 I2	  39801 #define TELOPT_ENCRYPTION 38    /* Encryption option (RFC 2946) */
 I2	  39802 #endif
 I2	  39803 #ifndef TELOPT_NEWENVIRON
 I2	  39804 #define TELOPT_NEWENVIRON 39    /* New - Environment variables (RFC 1572) */
 I2	  39805 #endif
 I2	  39806 #ifndef TELOPT_3270E
 I2	  39807 #define TELOPT_3270E    40      /* 3270 Extended (RFC 1647) */
 I2	  39808 #endif
 I2	  39809 #ifndef TELOPT_XAUTH
 I2	  39810 #define TELOPT_XAUTH    41      /* ??? (Earhart) */
 I2	  39811 #endif
 I2	  39812 #ifndef TELOPT_CHARSET
 I2	  39813 #define TELOPT_CHARSET  42      /* Character-set (RFC 2066) */
 I2	  39814 #endif
 I2	  39815 #ifndef TELOPT_RSP
 I2	  39816 #define TELOPT_RSP      43      /* Remote Serial Port (Barnes) */
 I2	  39817 #endif
 I2	  39818 #ifndef TELOPT_COMPORT
 I2	  39819 #define TELOPT_COMPORT  44      /* Com Port Control (RFC 2217) */
 I2	  39820 #endif
 I2	  39821 #ifndef TELOPT_SLE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 718
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  39822 #define TELOPT_SLE      45      /* Suppress Local Echo (Atmar) - [rejected] */
 I2	  39823 #endif
 I2	  39824 #ifndef TELOPT_START_TLS
 I2	  39825 #define TELOPT_START_TLS 46     /* Telnet over Transport Layer Security */
 I2	  39826 #endif                          /* (Boe) */
 I2	  39827 #ifndef TELOPT_KERMIT
 I2	  39828 #define TELOPT_KERMIT   47      /* Kermit (RFC 2840) */
 I2	  39829 #endif
 I2	  39830 #ifndef TELOPT_SEND_URL
 I2	  39831 #define TELOPT_SEND_URL 48      /* Send URL */
 I2	  39832 #endif
 I2	  39833 
 I2	  39834 #ifndef TELOPT_FORWARD_X
 I2	  39835 #define TELOPT_FORWARD_X 49     /* X Windows Forwarding (Altman) */
 I2	  39836 #endif /* TELOPT_FORWARD_X */
 I2	  39837 
 I2	  39838 #ifndef TELOPT_STDERR
 I2	  39839 #define TELOPT_STDERR    50    /* Redirected Stderr (Altman) */
 I2	  39840 #endif /* TELOPT_STDERR */
 I2	  39841 
 I2	  39842 #ifndef TELOPT_PRAGMA_LOGON
 I2	  39843 #define TELOPT_PRAGMA_LOGON 138 /* Encrypted Logon option (PragmaSys) */
 I2	  39844 #endif
 I2	  39845 #ifndef TELOPT_SSPI_LOGON
 I2	  39846 #define TELOPT_SSPI_LOGON 139   /* MS SSPI Logon option (PragmaSys) */
 I2	  39847 #endif
 I2	  39848 #ifndef TELOPT_PRAGMA_HEARTBEAT
 I2	  39849                                 /* Server Send Heartbeat option (PragmaSys) */
 I2	  39850 #define TELOPT_PRAGMA_HEARTBEAT 140
 I2	  39851 #endif
 I2	  39852 
 I2	  39853 #define TELOPT_IBM_SAK 200      /* IBM Secure Attention Key */
 I2	  39854 
 I2	  39855 /*
 I2	  39856   IBM Secure Attention Key (SAK) Option
 I2	  39857 
 I2	  39858   In addition to terminal negotiation, the telnet command allows
 I2	  39859   negotiation for the Secure Attention Key (SAK)
 I2	  39860   option. This option, when supported, provides the local user with
 I2	  39861   a secure communication path to the remote
 I2	  39862   host for tasks such as changing user IDs or passwords. If the remote
 I2	  39863   host supports the SAK function, a trusted
 I2	  39864   shell is opened on the remote host when the telnet send sak
 I2	  39865   subcommand is issued. The SAK function can
 I2	  39866   also be assigned to a single key available in telnet input mode,
 I2	  39867   using the set sak subcommand.
 I2	  39868 
 I2	  39869   TN_SAK
 I2	  39870 
 I2	  39871   Sends the TELNET SAK (Secure Attention Key) sequence, which causes
 I2	  39872   the remote system to invoke the trusted shell. If the SAK is not
 I2	  39873   supported, then an error message is displayed that reads:
 I2	  39874     Remote side does not support SAK.
 I2	  39875 */
 I2	  39876 
 I2	  39877 #ifndef TELOPT_EXOPL
 I2	  39878 #define TELOPT_EXOPL    255     /* Extended-options-list (RFC 861) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 719
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  39879 #endif
 I2	  39880 
 I2    X  39881 #ifdef NTELOPTS
 I2    X  39882 #undef NTELOPTS
 I2    X  39883 #endif /* NTELOPTS */
 I2	  39884 /* The Telnet Option space is no longer being allocated by ICANN as a */
 I2	  39885 /* continuous list.  In other words it is becoming sparse.  But we do */
 I2	  39886 /* not want to have to allocate memory for a long list of strings and */
 I2	  39887 /* structs which will never be used.  Therefore, the NTELOPTS define  */
 I2	  39888 /* can no longer be equal to TELOPT_LAST+1.  In fact, the notion of   */
 I2	  39889 /* TELOPT_FIRST and TELOPT_LAST no longer make sense.                 */
 I2	  39890 #define NTELOPTS        55
 I2	  39891 
 I2	  39892 #define TELOPT_FIRST     TELOPT_BINARY
 I2	  39893 #define TELOPT_LAST      TELOPT_IBM_SAK
 I2	  39894 
 I2	  39895 /*
 I2	  39896   The following macros speed us up at runtime but are too complex
 I2	  39897   for some preprocessors / compilers; if your compiler bombs on ckctel.c
 I2	  39898   with "Instruction table overflow" or somesuch, rebuild with -DNOTOMACROS.
 I2	  39899 */
 I2	  39900 #ifndef NOTOMACROS
 I2	  39901 #ifndef TELOPT_MACRO
 I2	  39902 #define TELOPT_MACRO
 I2	  39903 #endif /* TELOPT_MACRO */
 I2	  39904 #endif /* NOTOMACROS */
 I2	  39905 
 I2	  39906 #ifdef TELOPT_MACRO
 I2	  39907 #define TELOPT_INDEX(x) (((x)>=0 && (x)<= TELOPT_STDERR)?(x):\
 I2	  39908         ((x)>=TELOPT_PRAGMA_LOGON && (x)<=TELOPT_PRAGMA_HEARTBEAT)?(x)-87: \
 I2	  39909         ((x) == TELOPT_IBM_SAK)?(x)-146: NTELOPTS)
 I2	  39910 
 I2	  39911 #define TELOPT_OK(x)    (((x) >= TELOPT_BINARY && (x) <= TELOPT_STDERR) ||\
 I2	  39912              ((x) >= TELOPT_PRAGMA_LOGON && (x) <= TELOPT_PRAGMA_HEARTBEAT) ||\
 I2	  39913              ((x) == TELOPT_IBM_SAK))
 I2	  39914 #define TELOPT(x)       (TELOPT_OK(x)?telopts[TELOPT_INDEX(x)]:"UNKNOWN")
 I2    X  39915 #else /* TELOPT_MACRO */
 I2    X  39916 _PROTOTYP(int telopt_index,(int));
 I2    X  39917 _PROTOTYP(int telopt_ok,(int));
 I2    X  39918 _PROTOTYP(CHAR * telopt, (int));
 I2    X  39919 
 I2    X  39920 #define TELOPT_INDEX(x) telopt_index(x)
 I2    X  39921 #define TELOPT_OK(x)    telopt_ok(x)
 I2    X  39922 #define TELOPT(x)       telopt(x)
 I2    X  39923 #endif /* TELOPT_MACRO */
 I2	  39924 
 I2    X  39925 #ifdef TELOPTS
 I2    X  39926 char *telopts[NTELOPTS+2] = {
 I2    X  39927 /*   0 */ "BINARY",   "ECHO",         "RCP",  "SUPPRESS-GO-AHEAD",
 I2    X  39928 /*   4 */ "NAME",   "STATUS", "TIMING-MARK", "RCTE",
 I2    X  39929 /*   8 */ "NAOL", "NAOP",  "NAOCRD", "NAOHTS",
 I2    X  39930 /*  12 */ "NAOHTD", "NAOFFD", "NAOVTS",  "NAOVTD",
 I2    X  39931 /*  16 */ "NAOLFD", "EXTEND-ASCII", "LOGOUT", "BYTE-MACRO",
 I2    X  39932 /*  20 */ "DATA-ENTRY-TERMINAL", "SUPDUP", "SUPDUP-OUTPUT",  "SEND-LOCATION",
 I2    X  39933 /*  24 */ "TERMINAL-TYPE",  "END-OF-RECORD", "TACACS-UID", "OUTPUT-MARKING",
 I2    X  39934 /*  28 */ "TTYLOC", "3270-REGIME", "X.3-PAD", "NAWS",
 I2    X  39935 /*  32 */ "TSPEED", "LFLOW", "LINEMODE", "XDISPLOC",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 720
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2    X  39936 /*  36 */ "OLD-ENVIRON", "AUTHENTICATION", "ENCRYPTION", "NEW-ENVIRONMENT",
 I2    X  39937 /*  40 */ "TN3270E","xauth","CHARSET", "remote-serial-port",
 I2    X  39938 /*  44 */ "COM-PORT-CONTROL","suppress-local-echo","START-TLS","KERMIT",
 I2    X  39939 /*  48 */ "send-url","FORWARD-X","stderr",
 I2    X  39940 /* 138 */ "pragma-logon", "sspi-logon", "pragma-heartbeat",
 I2    X  39941 /* 200 */ "ibm-sak",
 I2    X  39942           "unknown",
 I2    X  39943         0
 I2    X  39944 };
 I2    X  39945 #else /*TELOPTS */
 I2	  39946 extern char * telopts[];
 I2	  39947 #endif /* TELOPTS */
 I2	  39948 
 I2	  39949 /* TELNET Newline Mode */
 I2	  39950 
 I2	  39951 #define TNL_CR     0                    /* CR sends bare carriage return */
 I2	  39952 #define TNL_CRNUL  1                    /* CR and NUL */
 I2	  39953 #define TNL_CRLF   2                    /* CR and LF */
 I2	  39954 #define TNL_LF     3                    /* LF instead of CR */
 I2	  39955 
 I2	  39956 /* TELNET Negotiation Mode */
 I2	  39957 
 I2	  39958 #define    TN_NG_RF  0                  /*  Negotiation REFUSED */
 I2	  39959 #define    TN_NG_AC  1                  /*  Negotiation ACCEPTED */
 I2	  39960 #define    TN_NG_RQ  2                  /*  Negotiation REQUESTED */
 I2	  39961 #define    TN_NG_MU  3                  /*  Negotiation REQUIRED (must) */
 I2	  39962 
 I2	  39963 
 I2	  39964 /* Systems where we know we can define TELNET NAWS automatically. */
 I2	  39965 
 I2	  39966 #ifndef CK_NAWS                         /* In other words, if both */
 I2	  39967 #ifdef CK_TTGWSIZ                       /* TNCODE and TTGWSIZ are defined */
 I2	  39968 #define CK_NAWS                         /* then we can do NAWS. */
 I2	  39969 #endif /* CK_TTGWSIZ */
 I2	  39970 #endif /* CK_NAWS */
 I2	  39971 
 I2    X  39972 #ifdef CK_FORWARD_X
 I2    X  39973 #ifndef MAXFWDX
 I2    X  39974 #define MAXFWDX 64                      /* Num of X windows to be fwd'd */
 I2    X  39975 #endif /* MAXFWDX */
 I2    X  39976 #endif /* CK_FORWARD_X */
 I2	  39977 
 I2	  39978 /* Telnet State structures and definitions */
 I2	  39979 struct _telopt_state {
 I2	  39980   unsigned char def_server_me_mode;   /* Default Negotiation Mode */
 I2	  39981   unsigned char def_server_u_mode;    /* Default Negotiation Mode */
 I2	  39982   unsigned char def_client_me_mode;   /* Default Negotiation Mode */
 I2	  39983   unsigned char def_client_u_mode;    /* Default Negotiation Mode */
 I2	  39984   unsigned char me_mode;              /* Telnet Negotiation Mode */
 I2	  39985   unsigned char u_mode;               /* Telnet Negotiation Mode */
 I2	  39986   unsigned char me;                   /* Am I ?                  */
 I2	  39987   unsigned char u;                    /* Are you?                */
 I2	  39988   unsigned char unanswered_will;      /* Sent Will, Waiting for DO/DONT */
 I2	  39989   unsigned char unanswered_do;        /* Send DO, Waiting for WILL/WONT */
 I2	  39990   unsigned char unanswered_wont;      /* Sent WONT, Waiting for DONT */
 I2	  39991   unsigned char unanswered_dont;      /* Sent DONT, Waiting for WONT */
 I2	  39992   unsigned char unanswered_sb;        /* Sent SB,   Waiting for SB (server) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 721
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  39993   union {
 I2	  39994 #ifdef IKS_OPTION
 I2	  39995     struct _telopt_kermit {         /* Kermit Option States */
 I2	  39996       unsigned char me_start;       /* I have a Server active */
 I2	  39997       unsigned char me_req_start;   /* Sent Req-Start, Waiting for response */
 I2	  39998       unsigned char me_req_stop;    /* Sent Req-Stop, Waiting for response  */
 I2	  39999       unsigned char u_start;        /* You have a Server active */
 I2	  40000       unsigned char sop;            /* Have we received the SOP char? */
 I2	  40001     } kermit;
 I2	  40002 #endif /* IKS_OPTION */
 I2    X  40003 #ifdef CK_ENCRYPTION
 I2    X  40004     struct _telopt_encrypt {        /* Encryption Option States */
 I2    X  40005       unsigned char need_to_send;
 I2    X  40006       unsigned char  stop;          /* Is encryption stopped?   */
 I2    X  40007     } encrypt;
 I2    X  40008 #endif /* CK_ENCRYPTION */
 I2	  40009 #ifdef CK_NAWS
 I2	  40010     struct _telopt_naws {           /* NAWS Option Information  */
 I2	  40011       unsigned char need_to_send;
 I2	  40012       int x;                        /* Last Width               */
 I2	  40013       int y;                        /* Last Height              */
 I2	  40014     } naws;
 I2	  40015 #endif /* CK_NAWS */
 I2	  40016 #ifdef CK_SSL
 I2	  40017     struct _telopt_start_tls {      /* Start TLS Option             */
 I2	  40018        unsigned char u_follows;     /* u ready for TLS negotiation  */
 I2	  40019        unsigned char me_follows;    /* me ready for TLS negotiation */
 I2	  40020        unsigned char auth_request;  /* Rcvd WILL AUTH before WONT START_TLS */
 I2	  40021     } start_tls;
 I2	  40022 #endif /* CK_SSL */
 I2	  40023     struct _telopt_term {          /* Terminal Type            */
 I2	  40024        unsigned char need_to_send;
 I2	  40025        unsigned char type[41];     /* Last terminal type       */
 I2	  40026     } term;
 I2	  40027 #ifdef CK_ENVIRONMENT
 I2	  40028     struct _telopt_new_env {
 I2	  40029        unsigned char need_to_send;
 I2	  40030        unsigned char * str;
 I2	  40031        int             len;
 I2	  40032     } env;
 I2	  40033 #ifdef CK_XDISPLOC
 I2	  40034     struct _telopt_xdisp {
 I2	  40035        unsigned char need_to_send;
 I2	  40036     } xdisp;
 I2	  40037 #endif /* CK_XDISPLOC */
 I2	  40038 #endif /* CK_ENVIRONMENT */
 I2	  40039 #ifdef CK_SNDLOC
 I2	  40040     struct _telopt_sndloc {
 I2	  40041        unsigned char need_to_send;
 I2	  40042     } sndloc;
 I2	  40043 #endif /* CK_SNDLOC */
 I2    X  40044 #ifdef CK_FORWARD_X
 I2    X  40045     struct _telopt_fwd_x {
 I2    X  40046         unsigned char need_to_send;
 I2    X  40047         int listen_socket;
 I2    X  40048         struct _channel {
 I2    X  40049             int fd;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 722
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2    X  40050             int id;
 I2    X  40051             unsigned char need_to_send_xauth;
 I2    X  40052             unsigned char suspend;
 I2    X  40053         } channel[MAXFWDX];
 I2    X  40054 #ifdef NT
 I2    X  40055         int thread_started;
 I2    X  40056 #endif /* NT */
 I2    X  40057     } forward_x;
 I2    X  40058 #endif /* CK_FORWARD_X */
 I2	  40059 #ifdef TN_COMPORT
 I2	  40060       struct _telopt_comport {
 I2	  40061           unsigned char need_to_send;
 I2	  40062           unsigned char wait_for_sb;
 I2	  40063           unsigned char wait_for_ms;
 I2	  40064       } comport;
 I2	  40065 #endif /* TN_COMPORT */
 I2	  40066     /* additional options such as New Environment or Send Location */
 I2	  40067   } sb;
 I2	  40068 };
 I2	  40069 typedef struct _telopt_state telopt_state, *p_telopt_state;
 I2	  40070 
 I2	  40071 /* telopt_states[] is the array of structs which the state of each telnet */
 I2	  40072 /* option is stored.  We allocate one more than we need in case we are    */
 I2	  40073 /* sent telnet options that we do not recognize.  If by some chance the   */
 I2	  40074 /* TELOPT_OK() check is skipped, TELOPT_INDEX() will force the option to  */
 I2	  40075 /* use the extra cell.                                                    */
 I2	  40076 
 I2    X  40077 #ifdef TELOPT_STATES
 I2    X  40078 telopt_state telopt_states[NTELOPTS+1];
 I2    X  40079 #else /* TELOPT_STATES */
 I2	  40080 extern telopt_state telopt_states[];
 I2	  40081 #endif /* TELOPT_STATES */
 I2	  40082 
 I2	  40083 #define TELOPT_ME(x) (telopt_states[TELOPT_INDEX(x)].me)
 I2	  40084 #define TELOPT_U(x)  (telopt_states[TELOPT_INDEX(x)].u)
 I2	  40085 #define TELOPT_ME_MODE(x) \
 I2	  40086         (telopt_states[TELOPT_INDEX(x)].me_mode)
 I2	  40087 #define TELOPT_U_MODE(x)  \
 I2	  40088         (telopt_states[TELOPT_INDEX(x)].u_mode)
 I2	  40089 #define TELOPT_UNANSWERED_WILL(x) \
 I2	  40090         (telopt_states[TELOPT_INDEX(x)].unanswered_will)
 I2	  40091 #define TELOPT_UNANSWERED_DO(x)   \
 I2	  40092         (telopt_states[TELOPT_INDEX(x)].unanswered_do)
 I2	  40093 #define TELOPT_UNANSWERED_WONT(x) \
 I2	  40094         (telopt_states[TELOPT_INDEX(x)].unanswered_wont)
 I2	  40095 #define TELOPT_UNANSWERED_DONT(x)   \
 I2	  40096         (telopt_states[TELOPT_INDEX(x)].unanswered_dont)
 I2	  40097 #define TELOPT_UNANSWERED_SB(x)   \
 I2	  40098         (telopt_states[TELOPT_INDEX(x)].unanswered_sb)
 I2	  40099 #define TELOPT_SB(x) \
 I2	  40100         (telopt_states[TELOPT_INDEX(x)].sb)
 I2	  40101 #define TELOPT_DEF_S_ME_MODE(x) \
 I2	  40102         (telopt_states[TELOPT_INDEX(x)].def_server_me_mode)
 I2	  40103 #define TELOPT_DEF_S_U_MODE(x)  \
 I2	  40104         (telopt_states[TELOPT_INDEX(x)].def_server_u_mode)
 I2	  40105 #define TELOPT_DEF_C_ME_MODE(x) \
 I2	  40106         (telopt_states[TELOPT_INDEX(x)].def_client_me_mode)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 723
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40107 #define TELOPT_DEF_C_U_MODE(x)  \
 I2	  40108         (telopt_states[TELOPT_INDEX(x)].def_client_u_mode)
 I2	  40109 
 I2    X  40110 #ifdef TELOPT_MODES
 I2    X  40111 char * telopt_modes[4] = {
 I2    X  40112     "REFUSED", "ACCEPTED", "REQUESTED", "REQUIRED"
 I2    X  40113 };
 I2    X  40114 #else /* TELOPT_MODES */
 I2	  40115 extern char * telopt_modes[];
 I2	  40116 #endif /* TELOPT_MODES */
 I2	  40117 
 I2	  40118 #ifdef TELOPT_MACRO
 I2	  40119 #define TELOPT_MODE_OK(x) ((unsigned int)(x) <= TN_NG_MU)
 I2	  40120 #define TELOPT_MODE(x) (TELOPT_MODE_OK(x)?telopt_modes[(x)-TN_NG_RF]:"UNKNOWN")
 I2    X  40121 #else /* TELOPT_MACRO */
 I2    X  40122 _PROTOTYP(int telopt_mode_ok,(int));
 I2    X  40123 _PROTOTYP(CHAR * telopt_mode,(int));
 I2    X  40124 
 I2    X  40125 #define TELOPT_MODE_OK(x) telopt_mode_ok(x)
 I2    X  40126 #define TELOPT_MODE(x)    telopt_mode(x)
 I2    X  40127 #endif /* TELOPT_MACRO */
 I2	  40128 
 I2	  40129 /* Sub-option qualifiers */
 I2	  40130 #define TELQUAL_IS      0       /* option is... */
 I2	  40131 #define TELQUAL_SEND    1       /* send option */
 I2	  40132 #define TELQUAL_INFO    2       /* ENVIRON: informational version of IS */
 I2	  40133 #define TELQUAL_REPLY   2       /* AUTHENTICATION: client version of IS */
 I2	  40134 #define TELQUAL_NAME    3       /* AUTHENTICATION: client version of IS */
 I2	  40135 
 I2	  40136 #define TEL_ENV_VAR     0
 I2	  40137 #define TEL_ENV_VALUE   1
 I2	  40138 #define TEL_ENV_ESC     2
 I2	  40139 #define TEL_ENV_USERVAR 3
 I2	  40140 
 I2	  40141 #define LFLOW_OFF               0       /* Disable remote flow control */
 I2	  40142 #define LFLOW_ON                1       /* Enable remote flow control */
 I2	  40143 #define LFLOW_RESTART_ANY       2       /* Restart output on any char */
 I2	  40144 #define LFLOW_RESTART_XON       3       /* Restart output only on XON */
 I2	  40145 
 I2	  40146 /*
 I2	  40147  * LINEMODE suboptions
 I2	  40148  */
 I2	  40149 
 I2	  40150 #define LM_MODE         1
 I2	  40151 #define LM_FORWARDMASK  2
 I2	  40152 #define LM_SLC          3
 I2	  40153 
 I2	  40154 #define MODE_EDIT       0x01
 I2	  40155 #define MODE_TRAPSIG    0x02
 I2	  40156 #define MODE_ACK        0x04
 I2	  40157 #define MODE_SOFT_TAB   0x08
 I2	  40158 #define MODE_LIT_ECHO   0x10
 I2	  40159 
 I2	  40160 #define MODE_MASK       0x1f
 I2	  40161 
 I2	  40162 /* Not part of protocol, but needed to simplify things... */
 I2	  40163 #define MODE_FLOW               0x0100

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 724
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40164 #define MODE_ECHO               0x0200
 I2	  40165 #define MODE_INBIN              0x0400
 I2	  40166 #define MODE_OUTBIN             0x0800
 I2	  40167 #define MODE_FORCE              0x1000
 I2	  40168 
 I2	  40169 #define SLC_SYNCH       1
 I2	  40170 #define SLC_BRK         2
 I2	  40171 #define SLC_IP          3
 I2	  40172 #define SLC_AO          4
 I2	  40173 #define SLC_AYT         5
 I2	  40174 #define SLC_EOR         6
 I2	  40175 #define SLC_ABORT       7
 I2	  40176 #define SLC_EOF         8
 I2	  40177 #define SLC_SUSP        9
 I2	  40178 #define SLC_EC          10
 I2	  40179 #define SLC_EL          11
 I2	  40180 #define SLC_EW          12
 I2	  40181 #define SLC_RP          13
 I2	  40182 #define SLC_LNEXT       14
 I2	  40183 #define SLC_XON         15
 I2	  40184 #define SLC_XOFF        16
 I2	  40185 #define SLC_FORW1       17
 I2	  40186 #define SLC_FORW2       18
 I2	  40187 #define SLC_MCL         19
 I2	  40188 #define SLC_MCR         20
 I2	  40189 #define SLC_MCWL        21
 I2	  40190 #define SLC_MCWR        22
 I2	  40191 #define SLC_MCBOL       23
 I2	  40192 #define SLC_MCEOL       24
 I2	  40193 #define SLC_INSRT       25
 I2	  40194 #define SLC_OVER        26
 I2	  40195 #define SLC_ECR         27
 I2	  40196 #define SLC_EWR         28
 I2	  40197 #define SLC_EBOL        29
 I2	  40198 #define SLC_EEOL        30
 I2	  40199 
 I2	  40200 #define NSLC            30
 I2	  40201 
 I2	  40202 /*
 I2	  40203  * For backwards compatability, we define SLC_NAMES to be the
 I2	  40204  * list of names if SLC_NAMES is not defined.
 I2	  40205  */
 I2	  40206 #define SLC_NAMELIST    "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \
 I2	  40207                         "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \
 I2	  40208                         "LNEXT", "XON", "XOFF", "FORW1", "FORW2", \
 I2	  40209                         "MCL", "MCR", "MCWL", "MCWR", "MCBOL", "MCEOL", \
 I2	  40210                         "INSRT", "OVER", "ECR", "EWR", "EBOL", "EEOL", 0
 I2    X  40211 #ifdef  SLC_NAMES
 I2    X  40212 char *slc_names[] = {
 I2    X  40213         SLC_NAMELIST
 I2    X  40214 };
 I2    X  40215 #else
 I2	  40216 extern char *slc_names[];
 I2	  40217 #define SLC_NAMES SLC_NAMELIST
 I2	  40218 #endif
 I2	  40219 
 I2	  40220 #define SLC_NAME_OK(x)  ((unsigned int)(x) <= NSLC)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 725
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40221 #define SLC_NAME(x)     (SLC_NAME_OK(x)?slc_names[x]:"UNKNOWN")
 I2	  40222 
 I2	  40223 #define SLC_NOSUPPORT       0
 I2	  40224 #define SLC_CANTCHANGE      1
 I2	  40225 #define SLC_VARIABLE        2
 I2	  40226 #define SLC_DEFAULT         3
 I2	  40227 #define SLC_LEVELBITS       0x03
 I2	  40228 
 I2	  40229 #define SLC_FUNC            0
 I2	  40230 #define SLC_FLAGS           1
 I2	  40231 #define SLC_VALUE           2
 I2	  40232 
 I2	  40233 #define SLC_ACK             0x80
 I2	  40234 #define SLC_FLUSHIN         0x40
 I2	  40235 #define SLC_FLUSHOUT        0x20
 I2	  40236 
 I2	  40237 #define OLD_ENV_VAR         1
 I2	  40238 #define OLD_ENV_VALUE       0
 I2	  40239 #define NEW_ENV_VAR         0
 I2	  40240 #define NEW_ENV_VALUE       1
 I2	  40241 #define ENV_ESC             2
 I2	  40242 #define ENV_USERVAR         3
 I2	  40243 
 I2	  40244 #define FWDX_SCREEN         0
 I2	  40245 #define FWDX_OPEN           1
 I2	  40246 #define FWDX_CLOSE          2
 I2	  40247 #define FWDX_DATA           3
 I2	  40248 #define FWDX_OPTIONS        4
 I2	  40249 #define FWDX_OPT_DATA       5
 I2	  40250 #define FWDX_XOFF           6
 I2	  40251 #define FWDX_XON            7
 I2	  40252 
 I2	  40253 #define FWDX_OPT_NONE       0
 I2	  40254 #define FWDX_OPT_XAUTH      1
 I2	  40255 
 I2	  40256 /*
 I2	  40257  * AUTHENTICATION suboptions
 I2	  40258  */
 I2	  40259 
 I2	  40260 /*
 I2	  40261  * Who is authenticating who ...
 I2	  40262  */
 I2	  40263 #define AUTH_CLIENT_TO_SERVER   0       /* Client authenticating server */
 I2	  40264 #define AUTH_SERVER_TO_CLIENT   1       /* Server authenticating client */
 I2	  40265 #define AUTH_WHO_MASK           1
 I2	  40266 
 I2	  40267 /*
 I2	  40268  * amount of authentication done
 I2	  40269  */
 I2	  40270 #define AUTH_HOW_ONE_WAY        0
 I2	  40271 #define AUTH_HOW_MUTUAL         2
 I2	  40272 #define AUTH_HOW_MASK           2
 I2	  40273 
 I2	  40274 /*
 I2	  40275  * should we be encrypting?
 I2	  40276  */
 I2	  40277 #define AUTH_ENCRYPT_OFF             0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 726
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40278 #define AUTH_ENCRYPT_USING_TELOPT    4
 I2	  40279 #define AUTH_ENCRYPT_AFTER_EXCHANGE 16
 I2	  40280 #define AUTH_ENCRYPT_START_TLS      20
 I2	  40281 #define AUTH_ENCRYPT_MASK           20
 I2	  40282 
 I2	  40283 /*
 I2	  40284  * will we be forwarding?
 I2	  40285  * if we want to activate the use of this flag then
 I2	  40286  *   #define USE_INI_CRED_FWD
 I2	  40287  */
 I2	  40288 #define INI_CRED_FWD_OFF        0
 I2	  40289 #define INI_CRED_FWD_ON         8
 I2	  40290 #define INI_CRED_FWD_MASK       8
 I2	  40291 #define USE_INI_CRED_FWD
 I2	  40292 
 I2	  40293 #define AUTHTYPE_NULL           0
 I2	  40294 #define AUTHTYPE_KERBEROS_V4    1
 I2	  40295 #define AUTHTYPE_KERBEROS_V5    2
 I2	  40296 #define AUTHTYPE_SPX            3
 I2	  40297 #define AUTHTYPE_MINK           4
 I2	  40298 #define AUTHTYPE_SRP            5
 I2	  40299 #define AUTHTYPE_RSA            6
 I2	  40300 #define AUTHTYPE_SSL            7
 I2	  40301 #define AUTHTYPE_LOKI          10
 I2	  40302 #define AUTHTYPE_SSA           11
 I2	  40303 #define AUTHTYPE_KEA_SJ        12
 I2	  40304 #define AUTHTYPE_KEA_INTEG     13
 I2	  40305 #define AUTHTYPE_DSS           14
 I2	  40306 #define AUTHTYPE_NTLM          15
 I2	  40307 #define AUTHTYPE_GSSAPI_KRB5   16               /* Not allocated by IANA */
 I2    X  40308 #ifdef AUTHTYPE_CNT
 I2    X  40309 #undef AUTHTYPE_CNT
 I2    X  40310 #endif /* AUTHTYPE_CNT */
 I2	  40311 #define AUTHTYPE_CNT           17
 I2	  40312 
 I2	  40313 /*
 I2	  40314  * AUTHTYPEs Last updated 21 March 1999
 I2	  40315  * from http://www.isi.edu/in-notes/iana/assignments/telnet-options
 I2	  40316  */
 I2	  40317 
 I2	  40318 #define AUTHTYPE_AUTO           99
 I2	  40319 
 I2    X  40320 #ifdef  AUTH_NAMES
 I2    X  40321 char *authtype_names[] = {
 I2    X  40322     "NULL",                     /* RFC 2941 */
 I2    X  40323     "KERBEROS_V4",              /* RFC 2941 / 1411 */
 I2    X  40324     "KERBEROS_V5",              /* RFC 2941 */
 I2    X  40325     "SPX",                      /* RFC 2941 (not Internet Standard) */
 I2    X  40326     "MINK",                     /* RFC 2941 (not Internet Standard) */
 I2    X  40327     "SRP",                      /* RFC 2944 */
 I2    X  40328     "RSA",                      /* RFC 2941 (not Internet Standard) */
 I2    X  40329     "SSL",                      /* RFC 2941 (not Internet Standard) */
 I2    X  40330     "IANA_8",                   /* not assigned by IANA */
 I2    X  40331     "IANA_9",                   /* not assigned by IANA */
 I2    X  40332     "LOKI",                     /* RFC 2941 (not Internet Standard) */
 I2    X  40333     "SSA",                      /* Schoch */
 I2    X  40334     "KEA_SJ",                   /* RFC 2951 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 727
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2    X  40335     "KEA_SJ_INTEG",             /* RFC 2951 */
 I2    X  40336     "DSS",                      /* RFC 2943 */
 I2    X  40337     "NTLM",                     /* Kahn <louisk@microsoft.com> */
 I2    X  40338     "GSSAPI-KRB5",              /* experimental - altman */
 I2    X  40339     0
 I2    X  40340 };
 I2    X  40341 char * authmode_names[] = {
 I2    X  40342     "CLIENT_TO_SERVER|ONE_WAY",
 I2    X  40343     "SERVER_TO_CLIENT|ONE_WAY",
 I2    X  40344     "CLIENT_TO_SERVER|MUTUAL",
 I2    X  40345     "SERVER_TO_CLIENT|MUTUAL",
 I2    X  40346     "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_USING_TELOPT",
 I2    X  40347     "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_USING_TELOPT",
 I2    X  40348     "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_USING_TELOPT",
 I2    X  40349     "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_USING_TELOPT",
 I2    X  40350     "CLIENT_TO_SERVER|ONE_WAY|CRED_FWD",
 I2    X  40351     "SERVER_TO_CLIENT|ONE_WAY|CRED_FWD",
 I2    X  40352     "CLIENT_TO_SERVER|MUTUAL|CRED_FWD",
 I2    X  40353     "SERVER_TO_CLIENT|MUTUAL|CRED_FWD",
 I2    X  40354     "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_USING_TELOPT|CRED_FWD",
 I2    X  40355     "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_USING_TELOPT|CRED_FWD",
 I2    X  40356     "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_USING_TELOPT|CRED_FWD",
 I2    X  40357     "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_USING_TELOPT|CRED_FWD",
 I2    X  40358     "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_AFTER_EXCHANGE",
 I2    X  40359     "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_AFTER_EXCHANGE",
 I2    X  40360     "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_AFTER_EXCHANGE",
 I2    X  40361     "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_AFTER_EXCHANGE",
 I2    X  40362     "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_START_TLS",
 I2    X  40363     "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_START_TLS",
 I2    X  40364     "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_START_TLS",
 I2    X  40365     "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_START_TLS",
 I2    X  40366     "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",
 I2    X  40367     "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",
 I2    X  40368     "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",
 I2    X  40369     "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_AFTER_EXCHANGE|CRED_FWD",
 I2    X  40370     "CLIENT_TO_SERVER|ONE_WAY|ENCRYPT_START_TLS|CRED_FWD",
 I2    X  40371     "SERVER_TO_CLIENT|ONE_WAY|ENCRYPT_START_TLS|CRED_FWD",
 I2    X  40372     "CLIENT_TO_SERVER|MUTUAL|ENCRYPT_START_TLS|CRED_FWD",
 I2    X  40373     "SERVER_TO_CLIENT|MUTUAL|ENCRYPT_START_TLS|CRED_FWD",
 I2    X  40374     0
 I2    X  40375 };
 I2    X  40376 #else
 I2	  40377 extern char *authtype_names[];
 I2	  40378 extern char *authmode_names[];
 I2	  40379 #endif
 I2	  40380 #define AUTHMODE_CNT  32
 I2	  40381 
 I2	  40382 #define AUTHTYPE_NAME_OK(x)     ((unsigned int)(x) < AUTHTYPE_CNT)
 I2	  40383 #define AUTHTYPE_NAME(x)      (AUTHTYPE_NAME_OK(x)?authtype_names[x]:"UNKNOWN")
 I2	  40384 
 I2	  40385 #define AUTHMODE_NAME_OK(x)     ((unsigned int)(x) < AUTHMODE_CNT)
 I2	  40386 #define AUTHMODE_NAME(x)      (AUTHMODE_NAME_OK(x)?authmode_names[x]:"UNKNOWN")
 I2	  40387 
 I2	  40388 /* Kerberos Authentication Message Identifiers */
 I2	  40389 #define KRB_AUTH                0       /* Authentication data follows */
 I2	  40390 #define KRB_REJECT              1       /* Rejected (reason might follow) */
 I2	  40391 #define KRB_ACCEPT              2       /* Accepted */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 728
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40392 #define KRB4_CHALLENGE          3
 I2	  40393 #define KRB4_RESPONSE           4
 I2	  40394 #define KRB5_RESPONSE           3       /* Response for mutual auth. */
 I2	  40395 #define KRB5_FORWARD            4       /* Forwarded credentials follow */
 I2	  40396 #define KRB5_FORWARD_ACCEPT     5       /* Forwarded credentials accepted */
 I2	  40397 #define KRB5_FORWARD_REJECT     6       /* Forwarded credentials rejected */
 I2	  40398 #define KRB5_TLS_VERIFY         7       /* TLS Finished Msg verifier */
 I2	  40399 
 I2	  40400 /* GSSAPI-KRB5 Authentication Message Identifiers */
 I2	  40401 #define GSS_AUTH_DATA           0       /* Authentication data follows */
 I2	  40402 #define GSS_REJECT              1       /* Rejected (reason might follow) */
 I2	  40403 #define GSS_ACCEPT              2       /* Accepted (username might follow) */
 I2	  40404 #define GSS_CONTINUE            3
 I2	  40405 
 I2	  40406 /* Secure Remote Password Authentication Message Identifiers */
 I2	  40407 #define SRP_AUTH                0       /* Authentication data follows */
 I2	  40408 #define SRP_REJECT              1       /* Rejected (reason might follow) */
 I2	  40409 #define SRP_ACCEPT              2       /* Accepted */
 I2	  40410 #define SRP_CHALLENGE           3
 I2	  40411 #define SRP_RESPONSE            4
 I2	  40412 #define SRP_EXP                 8       /* */
 I2	  40413 #define SRP_PARAMS              9       /* */
 I2	  40414 
 I2	  40415 /* Telnet Auth using KEA and SKIPJACK */
 I2	  40416 
 I2	  40417 #define KEA_CERTA_RA              1
 I2	  40418 #define KEA_CERTB_RB_IVB_NONCEB   2
 I2	  40419 #define KEA_IVA_RESPONSEB_NONCEA  3
 I2	  40420 #define KEA_RESPONSEA             4
 I2	  40421 
 I2	  40422 /* Tim Hudson's SSL Authentication Message Identifiers */
 I2	  40423 #define SSL_START     1
 I2	  40424 #define SSL_ACCEPT    2
 I2	  40425 #define SSL_REJECT    3
 I2	  40426 
 I2	  40427 /* Microsoft NTLM Authentication Message Identifiers */
 I2	  40428 #define NTLM_AUTH   0
 I2	  40429 #define NTLM_CHALLENGE 1
 I2	  40430 #define NTLM_RESPONSE  2
 I2	  40431 #define NTLM_ACCEPT 3
 I2	  40432 #define NTLM_REJECT 4
 I2	  40433 
 I2	  40434 /* Generic Constants */
 I2	  40435 #define AUTH_SUCCESS    0
 I2	  40436 #define AUTH_FAILURE    255
 I2	  40437 
 I2	  40438 /*
 I2	  40439  * ENCRYPTion suboptions
 I2	  40440  */
 I2	  40441 #define ENCRYPT_IS              0       /* I pick encryption type ... */
 I2	  40442 #define ENCRYPT_SUPPORT         1       /* I support encryption types ... */
 I2	  40443 #define ENCRYPT_REPLY           2       /* Initial setup response */
 I2	  40444 #define ENCRYPT_START           3       /* Am starting to send encrypted */
 I2	  40445 #define ENCRYPT_END             4       /* Am ending encrypted */
 I2	  40446 #define ENCRYPT_REQSTART        5       /* Request you start encrypting */
 I2	  40447 #define ENCRYPT_REQEND          6       /* Request you send encrypting */
 I2	  40448 #define ENCRYPT_ENC_KEYID       7

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 729
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40449 #define ENCRYPT_DEC_KEYID       8
 I2	  40450 #define ENCRYPT_CNT             9
 I2	  40451 
 I2	  40452 #define ENCTYPE_ANY             0
 I2	  40453 #define ENCTYPE_DES_CFB64       1
 I2	  40454 #define ENCTYPE_DES_OFB64       2
 I2	  40455 #define ENCTYPE_DES3_CFB64      3
 I2	  40456 #define ENCTYPE_DES3_OFB64      4
 I2	  40457 #define ENCTYPE_CAST5_40_CFB64  8
 I2	  40458 #define ENCTYPE_CAST5_40_OFB64  9
 I2	  40459 #define ENCTYPE_CAST128_CFB64   10
 I2	  40460 #define ENCTYPE_CAST128_OFB64   11
 I2    X  40461 #ifdef ENCTYPE_CNT
 I2    X  40462 #undef ENCTYPE_CNT
 I2    X  40463 #endif
 I2	  40464 #define ENCTYPE_CNT             12
 I2	  40465 
 I2    X  40466 #ifdef  ENCRYPT_NAMES
 I2    X  40467 char *encrypt_names[] = {
 I2    X  40468         "IS", "SUPPORT", "REPLY", "START", "END",
 I2    X  40469         "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID",
 I2    X  40470         0
 I2    X  40471 };
 I2    X  40472 char *enctype_names[] = {
 I2    X  40473     "ANY",
 I2    X  40474     "DES_CFB64",                /* RFC 2952 */
 I2    X  40475     "DES_OFB64",                /* RFC 2953 */
 I2    X  40476     "DES3_CFB64",               /* RFC 2947 */
 I2    X  40477     "DES3_OFB64",               /* RFC 2948 */
 I2    X  40478     "UNKNOWN-5",
 I2    X  40479     "UNKNOWN-6",
 I2    X  40480     "UNKNOWN-7",
 I2    X  40481     "CAST5_40_CFB64",           /* RFC 2950 */
 I2    X  40482     "CAST5_40_OFB64",           /* RFC 2949 */
 I2    X  40483     "CAST128_CFB64",            /* RFC 2950*/
 I2    X  40484     "CAST128_OFB64",            /* RFC 2949 */
 I2    X  40485     0
 I2    X  40486 };
 I2    X  40487 #else
 I2	  40488 extern char *encrypt_names[];
 I2	  40489 extern char *enctype_names[];
 I2	  40490 #endif
 I2	  40491 
 I2	  40492 #define ENCRYPT_NAME_OK(x)      ((unsigned int)(x) < ENCRYPT_CNT)
 I2	  40493 #define ENCRYPT_NAME(x)      (ENCRYPT_NAME_OK(x)?encrypt_names[x]:"UNKNOWN")
 I2	  40494 
 I2	  40495 #define ENCTYPE_NAME_OK(x)      ((unsigned int)(x) < ENCTYPE_CNT)
 I2	  40496 #define ENCTYPE_NAME(x)      (ENCTYPE_NAME_OK(x)?enctype_names[x]:"UNKNOWN")
 I2	  40497 
 I2	  40498 /* For setting the state of validUser */
 I2	  40499 
 I2	  40500 #define AUTH_REJECT     0       /* Rejected */
 I2	  40501 #define AUTH_UNKNOWN    1       /* We don't know who he is, but he's okay */
 I2	  40502 #define AUTH_OTHER      2       /* We know him, but not his name */
 I2	  40503 #define AUTH_USER       3       /* We know he name */
 I2	  40504 #define AUTH_VALID      4       /* We know him, and he needs no password */
 I2	  40505 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 730
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40506 /* Kermit Option Subnegotiations */
 I2	  40507 
 I2	  40508 #define KERMIT_START      0
 I2	  40509 #define KERMIT_STOP       1
 I2	  40510 #define KERMIT_REQ_START  2
 I2	  40511 #define KERMIT_REQ_STOP   3
 I2	  40512 #define KERMIT_SOP        4
 I2	  40513 #define KERMIT_RESP_START 8
 I2	  40514 #define KERMIT_RESP_STOP  9
 I2	  40515 
 I2	  40516 /* For SET TELNET AUTH HOW  */
 I2	  40517 #define TN_AUTH_HOW_ANY     0
 I2	  40518 #define TN_AUTH_HOW_ONE_WAY 1
 I2	  40519 #define TN_AUTH_HOW_MUTUAL  2
 I2	  40520 
 I2	  40521 /* For SET TELNET AUTH ENCRYPT */
 I2	  40522 #define TN_AUTH_ENC_ANY     0
 I2	  40523 #define TN_AUTH_ENC_NONE    1
 I2	  40524 #define TN_AUTH_ENC_TELOPT  2
 I2	  40525 #define TN_AUTH_ENC_EXCH    3  /* not used in Kermit */
 I2	  40526 #define TN_AUTH_ENC_TLS     4
 I2	  40527 
 I2	  40528 /* Telnet protocol functions defined in C-Kermit */
 I2	  40529 
 I2	  40530 _PROTOTYP( int tn_ini, (void) );        /* Telnet protocol support */
       E	 int tn_ini ( void )
 I2	  40531 _PROTOTYP( int tn_reset, (void));
       E	 int tn_reset ( void )
 I2	  40532 _PROTOTYP( int tn_set_modes, (void));
       E	 int tn_set_modes ( void )
 I2	  40533 _PROTOTYP( int tn_sopt, (int, int) );
       E	 int tn_sopt ( int , int )
 I2	  40534 _PROTOTYP( int tn_doop, (CHAR, int, int (*)(int) ) );
       E	 int tn_doop ( CHAR , int , int ( * ) ( int ) )
 I2	  40535 _PROTOTYP( int tn_sttyp, (void) );
       E	 int tn_sttyp ( void )
 I2	  40536 _PROTOTYP( int tn_snenv, (CHAR *, int) ) ;
       E	 int tn_snenv ( CHAR * , int )
 I2	  40537 _PROTOTYP( int tn_rnenv, (CHAR *, int) ) ;
       E	 int tn_rnenv ( CHAR * , int )
 I2	  40538 _PROTOTYP( int tn_wait, (char *) ) ;
       E	 int tn_wait ( char * )
 I2	  40539 _PROTOTYP( int tn_push, (void) ) ;
       E	 int tn_push ( void )
 I2	  40540 _PROTOTYP( int tnsndbrk, (void) );
       E	 int tnsndbrk ( void )
 I2	  40541 _PROTOTYP( VOID tn_debug, (char *));
       E	 void tn_debug ( char * )
 I2	  40542 _PROTOTYP( int tn_hex, (CHAR *, int, CHAR *, int));
       E	 int tn_hex ( CHAR * , int , CHAR * , int )
 I2	  40543 _PROTOTYP( unsigned char * tn_get_display, (void));
       E	 unsigned char * tn_get_display ( void )
 I2	  40544 #ifdef IKS_OPTION
 I2	  40545 _PROTOTYP( int tn_siks, (int) );
       E	 int tn_siks ( int )
 I2	  40546 _PROTOTYP( int iks_wait, (int, int) );
       E	 int iks_wait ( int , int )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 731
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40547 #endif /* IKS_OPTION */
 I2	  40548 #ifdef CK_NAWS
 I2	  40549 _PROTOTYP( int tn_snaws, (void) );
       E	 int tn_snaws ( void )
 I2	  40550 #endif /* CK_NAWS */
 I2	  40551 #ifdef CK_XDISPLOC
 I2	  40552 _PROTOTYP( int tn_sxdisploc, (void) );
       E	 int tn_sxdisploc ( void )
 I2	  40553 #endif /* CK_XDISPLOC */
 I2	  40554 #ifdef CK_SNDLOC
 I2	  40555 _PROTOTYP( int tn_sndloc, (void) );
       E	 int tn_sndloc ( void )
 I2	  40556 #endif /* CK_SNDLOC */
 I2    X  40557 #ifdef CK_FORWARD_X
 I2    X  40558 /* From Xauth.h */
 I2    X  40559 typedef struct xauth {
 I2    X  40560     unsigned short   family;
 I2    X  40561     unsigned short   address_length;
 I2    X  40562     char            *address;
 I2    X  40563     unsigned short   number_length;
 I2    X  40564     char            *number;
 I2    X  40565     unsigned short   name_length;
 I2    X  40566     char            *name;
 I2    X  40567     unsigned short   data_length;
 I2    X  40568     char            *data;
 I2    X  40569 } Xauth;
 I2    X  40570 
 I2    X  40571 #include <stdio.h>
 I2    X  40572 #include "ckuusr.h"
 I2    X  40573 #include "ckcfnp.h"
 I2    X  40574 
 I2    X  40575 /* from X.h */
 I2    X  40576 #define FamilyInternet          0
 I2    X  40577 #define FamilyDECnet            1
 I2    X  40578 #define FamilyChaos             2
 I2    X  40579 
 I2    X  40580 # define FamilyLocal (256)      /* not part of X standard (i.e. X.h) */
 I2    X  40581 # define FamilyWild  (65535)
 I2    X  40582 # define FamilyNetname    (254)   /* not part of X standard */
 I2    X  40583 # define FamilyKrb5Principal (253) /* Kerberos 5 principal name */
 I2    X  40584 # define FamilyLocalHost (252)  /* for local non-net authentication */
 I2    X  40585 char *XauFileName();
 I2    X  40586 
 I2    X  40587 Xauth *XauReadAuth(
 I2    X  40588 FILE*   /* auth_file */
 I2    X  40589 );
 I2    X  40590 
 I2    X  40591 int XauWriteAuth(
 I2    X  40592 FILE*           /* auth_file */,
 I2    X  40593 Xauth*          /* auth */
 I2    X  40594 );
 I2    X  40595 
 I2    X  40596 Xauth *XauGetAuthByName(
 I2    X  40597 const char*     /* display_name */
 I2    X  40598 );
 I2    X  40599 
 I2    X  40600 Xauth *XauGetAuthByAddr(

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 732
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2    X  40601 unsigned int    /* family */,
 I2    X  40602 unsigned int    /* address_length */,
 I2    X  40603 const char*     /* address */,
 I2    X  40604 unsigned int    /* number_length */,
 I2    X  40605 const char*     /* number */,
 I2    X  40606 unsigned int    /* name_length */,
 I2    X  40607 const char*     /* name */
 I2    X  40608 );
 I2    X  40609 
 I2    X  40610 void XauDisposeAuth(
 I2    X  40611 Xauth*          /* auth */
 I2    X  40612 );
 I2    X  40613 
 I2    X  40614 
 I2    X  40615 _PROTOTYP( int fwdx_create_listen_socket,(int));
 I2    X  40616 _PROTOTYP( int fwdx_open_client_channel,(int));
 I2    X  40617 _PROTOTYP( int fwdx_open_server_channel,(VOID));
 I2    X  40618 _PROTOTYP( int fwdx_close_channel,(int));
 I2    X  40619 _PROTOTYP( int fwdx_write_data_to_channel,(int, char *,int));
 I2    X  40620 _PROTOTYP( int fwdx_send_data_from_channel,(int, char *,int));
 I2    X  40621 _PROTOTYP( int fwdx_close_all,(VOID));
 I2    X  40622 _PROTOTYP( int fwdx_tn_sb,(unsigned char *, int));
 I2    X  40623 _PROTOTYP( int tn_sndfwdx, (void));
 I2    X  40624 _PROTOTYP( int fwdx_send_close,(int));
 I2    X  40625 _PROTOTYP( int fwdx_send_open,(int));
 I2    X  40626 _PROTOTYP( int fwdx_client_reply_options,(char *, int));
 I2    X  40627 _PROTOTYP( int fwdx_send_options,(VOID));
 I2    X  40628 _PROTOTYP( VOID fwdx_check_sockets,(fd_set *));
 I2    X  40629 _PROTOTYP( int fwdx_init_fd_set,(fd_set *));
 I2    X  40630 _PROTOTYP( int fwdx_authorize_channel, (int, unsigned char *, int));
 I2    X  40631 _PROTOTYP( int fwdx_create_fake_xauth, (char *, int, int));
 I2    X  40632 _PROTOTYP( int fwdx_send_xauth_to_xserver, (int, unsigned char *, int len));
 I2    X  40633 _PROTOTYP( int fwdx_server_avail, (VOID));
 I2    X  40634 _PROTOTYP( int fwdx_parse_displayname, (char *, int *, char **, int *, int *, char **));
 I2    X  40635 
 I2    X  40636 #ifdef NT
 I2    X  40637 _PROTOTYP( VOID fwdx_thread,(VOID *));
 I2    X  40638 #endif /* NT */
 I2    X  40639 #endif /* CK_FORWARD_X */
 I2	  40640 
 I2	  40641 #ifdef TN_COMPORT
 I2	  40642 #define TNC_C2S_SIGNATURE                 0
 I2	  40643 #define TNC_C2S_SET_BAUDRATE              1
 I2	  40644 #define TNC_C2S_SET_DATASIZE              2
 I2	  40645 #define TNC_C2S_SET_PARITY                3
 I2	  40646 #define TNC_C2S_SET_STOPSIZE              4
 I2	  40647 #define TNC_C2S_SET_CONTROL               5
 I2	  40648 #define TNC_C2S_NOTIFY_LINESTATE          6
 I2	  40649 #define TNC_C2S_NOTIFY_MODEMSTATE         7
 I2	  40650 #define TNC_C2S_FLOW_SUSPEND              8
 I2	  40651 #define TNC_C2S_FLOW_RESUME               9
 I2	  40652 #define TNC_C2S_SET_LS_MASK              10
 I2	  40653 #define TNC_C2S_SET_MS_MASK              11
 I2	  40654 #define TNC_C2S_PURGE                    12
 I2	  40655 #define TNC_S2C_SIGNATURE               100
 I2	  40656 #define TNC_S2C_SET_BAUDRATE            101
 I2	  40657 #define TNC_S2C_SET_DATASIZE            102

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 733
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40658 #define TNC_S2C_SET_PARITY              103
 I2	  40659 #define TNC_S2C_SET_STOPSIZE            104
 I2	  40660 #define TNC_S2C_SET_CONTROL             105
 I2	  40661 #define TNC_S2C_SEND_LS                 106
 I2	  40662 #define TNC_S2C_SEND_MS                 107
 I2	  40663 #define TNC_S2C_FLOW_SUSPEND            108
 I2	  40664 #define TNC_S2C_FLOW_RESUME             109
 I2	  40665 #define TNC_S2C_SET_LS_MASK             110
 I2	  40666 #define TNC_S2C_SET_MS_MASK             111
 I2	  40667 #define TNC_S2C_PURGE                   112
 I2	  40668 
 I2	  40669 /* The COMPORT values are not defined in RFC 2217 */
 I2	  40670 #define TNC_BPS_REQUEST                  0
 I2	  40671 #define TNC_BPS_300                      3
 I2	  40672 #define TNC_BPS_600                      4
 I2	  40673 #define TNC_BPS_1200                     5
 I2	  40674 #define TNC_BPS_2400                     6
 I2	  40675 #define TNC_BPS_4800                     7
 I2	  40676 #define TNC_BPS_9600                     8
 I2	  40677 #define TNC_BPS_14400                    9
 I2	  40678 #define TNC_BPS_19200                   10
 I2	  40679 #define TNC_BPS_28800                   11
 I2	  40680 #define TNC_BPS_38400                   12
 I2	  40681 #define TNC_BPS_57600                   13
 I2	  40682 #define TNC_BPS_115200                  14
 I2	  40683 #define TNC_BPS_230400                  15
 I2	  40684 #define TNC_BPS_460800                  16
 I2	  40685 
 I2	  40686 #define TNC_DS_REQUEST                   0
 I2	  40687 #define TNC_DS_5                         5
 I2	  40688 #define TNC_DS_6                         6
 I2	  40689 #define TNC_DS_7                         7
 I2	  40690 #define TNC_DS_8                         8
 I2	  40691 
 I2	  40692 #define TNC_PAR_REQUEST                  0
 I2	  40693 #define TNC_PAR_NONE                     1
 I2	  40694 #define TNC_PAR_ODD                      2
 I2	  40695 #define TNC_PAR_EVEN                     3
 I2	  40696 #define TNC_PAR_MARK                     4
 I2	  40697 #define TNC_PAR_SPACE                    5
 I2	  40698 
 I2	  40699 #define TNC_SB_REQUEST                   0
 I2	  40700 #define TNC_SB_1                         1
 I2	  40701 #define TNC_SB_1_5                       3
 I2	  40702 #define TNC_SB_2                         2
 I2	  40703 
 I2	  40704 #define TNC_CTL_OFLOW_REQUEST            0
 I2	  40705 #define TNC_CTL_OFLOW_NONE               1
 I2	  40706 #define TNC_CTL_OFLOW_XON_XOFF           2
 I2	  40707 #define TNC_CTL_OFLOW_RTS_CTS            3
 I2	  40708 #define TNC_CTL_OFLOW_DCD               17
 I2	  40709 #define TNC_CTL_OFLOW_DSR               19
 I2	  40710 
 I2	  40711 #define TNC_CTL_BREAK_REQUEST            4
 I2	  40712 #define TNC_CTL_BREAK_ON                 5
 I2	  40713 #define TNC_CTL_BREAK_OFF                6
 I2	  40714 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 734
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40715 #define TNC_CTL_DTR_REQUEST              7
 I2	  40716 #define TNC_CTL_DTR_ON                   8
 I2	  40717 #define TNC_CTL_DTR_OFF                  9
 I2	  40718 
 I2	  40719 #define TNC_CTL_RTS_REQUEST             10
 I2	  40720 #define TNC_CTL_RTS_ON                  11
 I2	  40721 #define TNC_CTL_RTS_OFF                 12
 I2	  40722 
 I2	  40723 #define TNC_CTL_IFLOW_REQUEST           13
 I2	  40724 #define TNC_CTL_IFLOW_NONE              14
 I2	  40725 #define TNC_CTL_IFLOW_XON_XOFF          15
 I2	  40726 #define TNC_CTL_IFLOW_RTS_CTS           16
 I2	  40727 #define TNC_CTL_IFLOW_DTR               18
 I2	  40728 
 I2	  40729 #define TNC_MS_DATA_READY                1
 I2	  40730 #define TNC_MS_OVERRUN_ERROR             2
 I2	  40731 #define TNC_MS_PARITY_ERROR              4
 I2	  40732 #define TNC_MS_FRAME_ERROR               8
 I2	  40733 #define TNC_MS_BREAK_ERROR              16
 I2	  40734 #define TNC_MS_HR_EMPTY                 32
 I2	  40735 #define TNC_MS_SR_EMPTY                 64
 I2	  40736 #define TNC_MS_TIMEOUT_ERROR           128
 I2	  40737 
 I2	  40738 #define TNC_MS_CTS_DELTA                 1
 I2	  40739 #define TNC_MS_DSR_DELTA                 2
 I2	  40740 #define TNC_MS_EDGE_RING                 4
 I2	  40741 #define TNC_MS_RLSD_DELTA                8
 I2	  40742 #define TNC_MS_CTS_SIG                  16
 I2	  40743 #define TNC_MS_DSR_SIG                  32
 I2	  40744 #define TNC_MS_RI_SIG                   64
 I2	  40745 #define TNC_MS_RLSD_SIG                128
 I2	  40746 
 I2	  40747 #define TNC_PURGE_RECEIVE                1
 I2	  40748 #define TNC_PURGE_TRANSMIT               2
 I2	  40749 #define TNC_PURGE_BOTH                   3
 I2	  40750 
 I2    X  40751 #ifdef  TNC_NAMES
 I2    X  40752 char *tnc_names[] = {
 I2    X  40753     "SIGNATURE", "SET-BAUDRATE", "SET-DATARATE", "SET-PARITY", "SET-STOPSIZE",
 I2    X  40754     "SET-CONTROL", "NOTIFY-LINESTATE", "NOTIFY-MODEMSTATE",
 I2    X  40755     "FLOWCONTROL-SUSPEND", "FLOWCONTROL-RESUME", "SET-LINESTATE-MASK",
 I2    X  40756     "SET-MODEMSTATE-MASK", "PURGE-DATA",
 I2    X  40757     0
 I2    X  40758 };
 I2    X  40759 #else
 I2	  40760 extern char *tnc_names[];
 I2	  40761 #endif
 I2	  40762 
 I2	  40763 #define TNC_NAME_OK(x)  ((x) >= 0 && (x) <= 12 || (x) >= 100 && (x) <= 112)
 I2	  40764 #define TNC_NAME(x) \
 I2	  40765              (TNC_NAME_OK(x)?tnc_names[(x)>=100?(x)-100:(x)]:"UNKNOWN")
 I2	  40766 
 I2	  40767 _PROTOTYP(int tnc_init,(void));
       E	 int tnc_init ( void )
 I2	  40768 _PROTOTYP(int tnc_wait,(CHAR *, int));
       E	 int tnc_wait ( CHAR * , int )
 I2	  40769 _PROTOTYP(int tnc_tn_sb,(CHAR *,int));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 735
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

       E	 int tnc_tn_sb ( CHAR * , int )
 I2	  40770 _PROTOTYP(CONST char * tnc_get_signature, (void));
       E	 const char * tnc_get_signature ( void )
 I2	  40771 _PROTOTYP(int tnc_send_signature, (char *));
       E	 int tnc_send_signature ( char * )
 I2	  40772 _PROTOTYP(int tnc_set_baud,(long));
       E	 int tnc_set_baud ( long )
 I2	  40773 _PROTOTYP(int tnc_get_baud,(void));
       E	 int tnc_get_baud ( void )
 I2	  40774 _PROTOTYP(int tnc_set_datasize,(int));
       E	 int tnc_set_datasize ( int )
 I2	  40775 _PROTOTYP(int tnc_get_datasize,(void));
       E	 int tnc_get_datasize ( void )
 I2	  40776 _PROTOTYP(int tnc_set_parity,(int));
       E	 int tnc_set_parity ( int )
 I2	  40777 _PROTOTYP(int tnc_get_parity,(void));
       E	 int tnc_get_parity ( void )
 I2	  40778 _PROTOTYP(int tnc_set_stopsize,(int));
       E	 int tnc_set_stopsize ( int )
 I2	  40779 _PROTOTYP(int tnc_get_stopsize,(void));
       E	 int tnc_get_stopsize ( void )
 I2	  40780 _PROTOTYP(int tnc_set_oflow,(int));
       E	 int tnc_set_oflow ( int )
 I2	  40781 _PROTOTYP(int tnc_get_oflow,(void));
       E	 int tnc_get_oflow ( void )
 I2	  40782 _PROTOTYP(int tnc_set_iflow,(int));
       E	 int tnc_set_iflow ( int )
 I2	  40783 _PROTOTYP(int tnc_get_iflow,(void));
       E	 int tnc_get_iflow ( void )
 I2	  40784 _PROTOTYP(int tnc_set_break_state,(int));
       E	 int tnc_set_break_state ( int )
 I2	  40785 _PROTOTYP(int tnc_get_break_state,(void));
       E	 int tnc_get_break_state ( void )
 I2	  40786 _PROTOTYP(int tnc_set_dtr_state,(int));
       E	 int tnc_set_dtr_state ( int )
 I2	  40787 _PROTOTYP(int tnc_get_dtr_state,(void));
       E	 int tnc_get_dtr_state ( void )
 I2	  40788 _PROTOTYP(int tnc_set_rts_state,(int));
       E	 int tnc_set_rts_state ( int )
 I2	  40789 _PROTOTYP(int tnc_get_rts_state,(void));
       E	 int tnc_get_rts_state ( void )
 I2	  40790 _PROTOTYP(int tnc_set_ls_mask,(int));
       E	 int tnc_set_ls_mask ( int )
 I2	  40791 _PROTOTYP(int tnc_get_ls_mask,(void));
       E	 int tnc_get_ls_mask ( void )
 I2	  40792 _PROTOTYP(int tnc_get_ls,(void));
       E	 int tnc_get_ls ( void )
 I2	  40793 _PROTOTYP(int tnc_set_ms_mask,(int));
       E	 int tnc_set_ms_mask ( int )
 I2	  40794 _PROTOTYP(int tnc_get_ms_mask,(void));
       E	 int tnc_get_ms_mask ( void )
 I2	  40795 _PROTOTYP(int tnc_get_ms,(void));
       E	 int tnc_get_ms ( void )
 I2	  40796 _PROTOTYP(int tnc_send_purge_data,(int));
       E	 int tnc_send_purge_data ( int )
 I2	  40797 _PROTOTYP(int tnc_flow_suspended,(void));
       E	 int tnc_flow_suspended ( void )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 736
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckctel.h;1

 I2	  40798 _PROTOTYP(int tnc_suspend_flow,(void));
       E	 int tnc_suspend_flow ( void )
 I2	  40799 _PROTOTYP(int tnc_resume_flow,(void));
       E	 int tnc_resume_flow ( void )
 I2	  40800 
 I2	  40801 /* The following methods are to be called by ck?tio.c routines */
 I2	  40802 _PROTOTYP(int tnsetflow,(int));
       E	 int tnsetflow ( int )
 I2	  40803 _PROTOTYP(int tnsettings,(int,int));
       E	 int tnsettings ( int , int )
 I2	  40804 _PROTOTYP(int tngmdm,(void));
       E	 int tngmdm ( void )
 I2	  40805 _PROTOTYP(int tnsndb,(long));
       E	 int tnsndb ( long )
 I2	  40806 _PROTOTYP(int istncomport,(void));
       E	 int istncomport ( void )
 I2	  40807 _PROTOTYP(int tn_sndcomport,(void));
       E	 int tn_sndcomport ( void )
 I2	  40808 #endif /* TN_COMPORT */
 I2	  40809 
 I2	  40810 #ifndef CKCTEL_C                        /* These are declared in ckctel.c */
 I2	  40811 extern int tn_init;                     /* Telnet protocol initialized flag */
 I2	  40812 extern char *tn_term;                   /* Terminal type override */
 I2	  40813 extern int sstelnet;                    /* Server side telnet? */
 I2	  40814 extern int tn_deb;                      /* Telnet option debugging flag */
 I2	  40815 extern int tn_auth_krb5_des_bug;        /* Telnet BUG */
 I2	  40816 #endif /* CKCTEL_C */
 I2	  40817 
 I2	  40818 #define TN_MSG_LEN 12292
 I2	  40819 #endif /* TNCODE */
 I2	  40820 #endif /* CKCTEL_H */
 I1    X  40821 #else
 I1    X  40822 extern int sstelnet;
 I1    X  40823 #ifdef IKSD
 I1    X  40824 #undef IKSD
 I1    X  40825 #endif /* IKSD */
 I1    X  40826 #ifndef NOIKSD
 I1    X  40827 #define NOIKSD
 I1    X  40828 #endif /* NOIKSD */
 I1    X  40829 #ifdef IKS_OPTION
 I1    X  40830 #undef IKS_OPTION
 I1    X  40831 #endif /* IKS_OPTION */
 I1    X  40832 #endif /* TNCODE */
 I1	  40833 
 I1	  40834 #ifndef NOTCPOPTS
 I1	  40835 /*
 I1	  40836   Automatically define NOTCPOPTS for configurations where they can't be
 I1	  40837   used at runtime or cause too much trouble at compile time.
 I1	  40838 */
 I1    X  40839 #ifdef CMU_TCPIP                        /* CMU/Tek */
 I1    X  40840 #define NOTCPOPTS
 I1    X  40841 #endif /* CMU_TCPIP */
 I1    X  40842 #ifdef MULTINET                         /* Multinet on Alpha */
 I1    X  40843 #ifdef __alpha
 I1    X  40844 #define NOTCPOPTS
 I1    X  40845 #endif /* __alpha */
 I1    X  40846 #endif /* MULTINET */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 737
V1.0                                                            24-MAR-2023 09:06:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1	  40847 #endif /* NOTCPOPTS */
 I1	  40848 
 I1    X  40849 #ifdef NOTCPOPTS
 I1    X  40850 #ifdef TCP_NODELAY
 I1    X  40851 #undef TCP_NODELAY
 I1    X  40852 #endif /* TCP_NODELAY */
 I1    X  40853 #ifdef SO_LINGER
 I1    X  40854 #undef SO_LINGER
 I1    X  40855 #endif /* SO_LINGER */
 I1    X  40856 #ifdef SO_KEEPALIVE
 I1    X  40857 #undef SO_KEEPALIVE
 I1    X  40858 #endif /* SO_KEEPALIVE */
 I1    X  40859 #ifdef SO_SNDBUF
 I1    X  40860 #undef SO_SNDBUF
 I1    X  40861 #endif /* SO_SNDBUF */
 I1    X  40862 #ifdef SO_RCVBUF
 I1    X  40863 #undef SO_RCVBUF
 I1    X  40864 #endif /* SO_RCVBUF */
 I1    X  40865 #endif /* NOTCPOPTS */
 I1	  40866 
 I1	  40867 /* This function is declared even when TCPSOCKET is not available */
 I1	  40868 _PROTOTYP( char * ckgetpeer, (VOID));
       E	 char * ckgetpeer ( void )
 I1	  40869 
 I1	  40870 #ifdef TCPSOCKET
 I1	  40871 #ifdef SOL_SOCKET
 I1    X  40872 #ifdef TCP_NODELAY
 I1    X  40873 _PROTOTYP( int no_delay, (int, int) );
 I1    X  40874 #endif /* TCP_NODELAY */
 I1	  40875 #ifdef SO_KEEPALIVE
 I1	  40876 _PROTOTYP( int keepalive, (int, int) ) ;
       E	 int keepalive ( int , int )
 I1	  40877 #endif /* SO_KEEPALIVE */
 I1	  40878 #ifdef SO_LINGER
 I1	  40879 _PROTOTYP( int ck_linger, (int, int, int) ) ;
       E	 int ck_linger ( int , int , int )
 I1	  40880 #endif /* SO_LINGER */
 I1	  40881 #ifdef SO_SNDBUF
 I1	  40882 _PROTOTYP( int sendbuf,(int, int) ) ;
       E	 int sendbuf ( int , int )
 I1	  40883 #endif /* SO_SNDBUF */
 I1	  40884 #ifdef SO_RCVBUF
 I1	  40885 _PROTOTYP( int recvbuf, (int, int) ) ;
       E	 int recvbuf ( int , int )
 I1	  40886 #endif /* SO_RCVBUF */
 I1	  40887 #ifdef SO_DONTROUTE
 I1	  40888 _PROTOTYP(int dontroute, (int, int));
       E	 int dontroute ( int , int )
 I1	  40889 #endif /* SO_DONTROUTE */
 I1	  40890 #endif /* SOL_SOCKET */
 I1	  40891 _PROTOTYP( int getlocalipaddr, (VOID));
       E	 int getlocalipaddr ( void )
 I1	  40892 _PROTOTYP( int getlocalipaddrs, (char *,int,int));
       E	 int getlocalipaddrs ( char * , int , int )
 I1	  40893 _PROTOTYP( char * ckgetfqhostname,(char *));
       E	 char * ckgetfqhostname ( char * )
 I1	  40894 _PROTOTYP( struct hostent * ck_copyhostent,(struct hostent *));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 738
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

       E	 struct hostent * ck_copyhostent ( struct hostent * )
 I1	  40895 _PROTOTYP( char * ckname2addr, (char *));
       E	 char * ckname2addr ( char * )
 I1	  40896 _PROTOTYP( char * ckaddr2name, (char *));
       E	 char * ckaddr2name ( char * )
 I1	  40897 
 I1	  40898 /* AIX */
 I1	  40899 
 I1    X  40900 #ifdef AIXRS
 I1    X  40901 #ifndef TCP_NODELAY
 I1    X  40902 #define TCP_NODELAY 0x1
 I1    X  40903 #endif /* TCP_NODELAY */
 I1    X  40904 #ifndef TCP_MAXSEG
 I1    X  40905 #define TCP_MAXSEG 0x2
 I1    X  40906 #endif /* TCP_MAXSEG */
 I1    X  40907 #ifndef TCP_KEEPALIVE
 I1    X  40908 #define TCP_KEEPALIVE 0x8
 I1    X  40909 #endif /* TCP_KEEPALIVE */
 I1    X  40910 #endif /* AIXRS */
 I1	  40911 #endif /* TCPSOCKET */
 I1	  40912 
 I1	  40913 #ifdef RLOGCODE
 I1    X  40914 #ifndef CK_TTGWSIZ
 I1    X  40915 SORRY_RLOGIN_REQUIRES_TTGWSIZ_see_ckcplm.doc
 I1    X  40916 #endif /* CK_TTGWSIZ */
 I1	  40917 #endif /* RLOGCODE */
 I1	  40918 
 I1	  40919 #ifdef CK_NAWS
 I1    X  40920 #ifndef CK_TTGWSIZ
 I1    X  40921 SORRY_CK_NAWS_REQUIRES_TTGWSIZ_see_ckcplm.doc
 I1    X  40922 #endif /* CK_TTGWSIZ */
 I1	  40923 #endif /* CK_NAWS */
 I1	  40924 
 I1    X  40925 #ifndef PF_INET
 I1    X  40926 #ifdef  AF_INET
 I1    X  40927 #define PF_INET AF_INET
 I1    X  40928 #endif /* AF_INET */
 I1    X  40929 #endif /* PF_INET */
 I1	  40930 
 I1	  40931 #ifndef IPPORT_ECHO
 I1	  40932 #define IPPORT_ECHO 7
 I1	  40933 #endif /* IPPORT_ECHO */
 I1	  40934 
 I1    X  40935 #ifdef CK_KERBEROS
 I1    X  40936 #ifdef RLOGCODE
 I1    X  40937 _PROTOTYP(int ck_krb_rlogin,(CHAR *, int, CHAR *, CHAR *, CHAR *,
 I1    X  40938                               struct sockaddr_in *,
 I1    X  40939                               struct sockaddr_in *, int, int));
 I1    X  40940 #endif /* RLOGCODE */
 I1    X  40941 #endif /* CK_KERBEROS */
 I1	  40942 
 I1	  40943 _PROTOTYP( VOID ini_kerb, ( void ) );   /* Kerberos initialization routine */
       E	 void ini_kerb ( void )
 I1	  40944 _PROTOTYP( int doauth, (int) );         /* AUTHENTICATE action routine */
       E	 int doauth ( int )
 I1	  40945 
 I1    X  40946 #ifdef CK_DNS_SRV

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 739
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  40947 _PROTOTYP(int locate_srv_dns,(char *host, char *service,
 I1    X  40948                               char *protocol, struct sockaddr **addr_pp,
 I1    X  40949                               int *naddrs));
 I1    X  40950 #endif /* CK_DNS_SRV */
 I1	  40951 
 I1    X  40952 #ifndef NOHTTP
 I1    X  40953 _PROTOTYP(int http_open, (char *, char *, int, char *, int, char *));
 I1    X  40954 _PROTOTYP(int http_reopen, (VOID));
 I1    X  40955 _PROTOTYP(int http_close, (VOID));
 I1    X  40956 _PROTOTYP(int http_get, (char *,char **,char *,char *,char,char *,char *,
 I1    X  40957                          int));
 I1    X  40958 _PROTOTYP(int http_head, (char *,char **,char *,char *,char,char *,char *,
 I1    X  40959                           int));
 I1    X  40960 _PROTOTYP(int http_put, (char *,char **,char *,char *,char *,char,char *,
 I1    X  40961                          char *, char *, int));
 I1    X  40962 _PROTOTYP(int http_delete, (char *,char **,char *,char *,char,char *));
 I1    X  40963 _PROTOTYP(int http_connect, (int, char *,char **,char *,char *,char,char *));
 I1    X  40964 _PROTOTYP(int http_post, (char *,char **,char *,char *,char *,char,char *,
 I1    X  40965                   char *,char *, int));
 I1    X  40966 _PROTOTYP(int http_index, (char *,char **,char *,char *,char,char *,char *,
 I1    X  40967                            int));
 I1    X  40968 _PROTOTYP(int http_inc, (int));
 I1    X  40969 _PROTOTYP(int http_isconnected, (void));
 I1    X  40970 
 I1    X  40971 extern char * tcp_http_proxy;           /* Name[:port] of http proxy server */
 I1    X  40972 extern int    tcp_http_proxy_errno;     /* Return value from server */
 I1    X  40973 extern char * tcp_http_proxy_user;      /* Name of user for authentication */
 I1    X  40974 extern char * tcp_http_proxy_pwd;       /* Password of user */
 I1    X  40975 #endif /* NOHTTP */
 I1	  40976 
 I1	  40977 #ifdef TCPSOCKET
 I1	  40978 
 I1	  40979 /* Type needed as 5th argument (length) to get/setsockopt() */
 I1	  40980 
 I1    X  40981 #ifdef TRU64
 I1    X  40982 /* They say it themselves - this does not conform to standards */
 I1    X  40983 #define socklen_t int
 I1    X  40984 #else
 I1    X  40985 #ifdef HPUX
 I1    X  40986 #define socklen_t int
 I1    X  40987 #endif	/* HPUX */
 I1	  40988 #endif	/* TRU64 */
 I1	  40989 
 I1	  40990 #ifndef SOCKOPT_T
 I1    X  40991 #ifdef CK_64BIT
 I1    X  40992 #ifndef NT
 I1    X  40993 #define SOCKOPT_T socklen_t
 I1    X  40994 #endif  /* NT */
 I1    X  40995 #endif	/* CK_64BIT */
 I1	  40996 #endif	/* SOCKOPT_T */
 I1	  40997 
 I1	  40998 #ifndef SOCKOPT_T
 I1	  40999 #define SOCKOPT_T int
 I1    X  41000 #ifdef MACOSX10
 I1    X  41001 #undef SOCKOPT_T
 I1    X  41002 #define SOCKOPT_T unsigned int
 I1    X  41003 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 740
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  41004 #ifdef AIX42
 I1    X  41005 #undef SOCKOPT_T
 I1    X  41006 #define SOCKOPT_T unsigned long
 I1    X  41007 #else
 I1    X  41008 #ifdef PTX
 I1    X  41009 #undef SOCKOPT_T
 I1    X  41010 #define SOCKOPT_T size_t
 I1    X  41011 #else
 I1    X  41012 #ifdef NT
 I1    X  41013 #undef SOCKOPT_T
 I1    X  41014 #define SOCKOPT_T int
 I1    X  41015 #else /* NT */
 I1    X  41016 #ifdef UNIXWARE
 I1    X  41017 #undef SOCKOPT_T
 I1    X  41018 #define SOCKOPT_T size_t
 I1    X  41019 #else /* UNIXWARE */
 I1	  41020 #ifdef VMS
 I1	  41021 #ifdef DEC_TCPIP
 I1	  41022 #ifdef __DECC_VER
 I1	  41023 #undef SOCKOPT_T
 I1	  41024 #define SOCKOPT_T size_t
 I1	  41025 #endif /* __DECC_VER */
 I1	  41026 #endif /* DEC_TCPIP */
 I1	  41027 #endif /* VMS */
 I1	  41028 #endif /* UNIXWARE */
 I1	  41029 #endif /* NT */
 I1	  41030 #endif /* PTX */
 I1	  41031 #endif /* AIX42 */
 I1	  41032 #endif /* MACOSX10 */
 I1	  41033 #endif /* SOCKOPT_T */
 I1	  41034 
 I1	  41035 /* Ditto for getsockname() */
 I1	  41036 
 I1	  41037 #ifndef GSOCKNAME_T
 I1    X  41038 #ifdef CK_64BIT
 I1    X  41039 #ifndef NT
 I1    X  41040 #define GSOCKNAME_T socklen_t
 I1    X  41041 #endif  /* NT */
 I1    X  41042 #endif	/* CK_64BIT */
 I1	  41043 #endif	/* GSOCKNAME_T */
 I1	  41044 
 I1	  41045 #ifndef GSOCKNAME_T
 I1	  41046 #define GSOCKNAME_T int
 I1    X  41047 #ifdef MACOSX10
 I1    X  41048 #undef GSOCKNAME_T
 I1    X  41049 #define GSOCKNAME_T unsigned int
 I1    X  41050 #else
 I1    X  41051 #ifdef PTX
 I1    X  41052 #undef GSOCKNAME_T
 I1    X  41053 #define GSOCKNAME_T size_t
 I1    X  41054 #else
 I1    X  41055 #ifdef AIX42                            /* size_t in 4.2++, int in 4.1-- */
 I1    X  41056 #undef GSOCKNAME_T
 I1    X  41057 #define GSOCKNAME_T size_t
 I1    X  41058 #else
 I1    X  41059 #ifdef UNIXWARE
 I1    X  41060 #undef GSOCKNAME_T

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 741
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcnet.h;1

 I1    X  41061 #define GSOCKNAME_T size_t
 I1    X  41062 #else
 I1	  41063 #ifdef VMS
 I1	  41064 #ifdef DEC_TCPIP
 I1	  41065 #ifdef __DECC_VER
 I1	  41066 #undef GSOCKNAME_T
 I1	  41067 #define GSOCKNAME_T size_t
 I1	  41068 #endif /* __DECC_VER */
 I1	  41069 #endif /* DEC_TCPIP */
 I1	  41070 #endif /* VMS */
 I1	  41071 #endif /* UNIXWARE */
 I1	  41072 #endif /* AIX41 */
 I1	  41073 #endif /* PTX */
 I1	  41074 #endif /* MACOSX10 */
 I1	  41075 #endif /* GSOCKNAME_T */
 I1	  41076 
 I1	  41077 #endif /* TCPSOCKET */
 I1	  41078 
 I1    X  41079 #ifdef MACOSX10
 I1    X  41080 #ifdef bcopy
 I1    X  41081 #undef bcopy
 I1    X  41082 #endif
 I1    X  41083 #ifdef bzero
 I1    X  41084 #undef bzero
 I1    X  41085 #endif
 I1    X  41086 #endif /* MACOSX10 */
 I1	  41087 
 I1	  41088 #endif /* CKCNET_H */
       X  41089 #include "ckctel.h"                     /* (then why include it again?) */
	  41090 #include "ckcxla.h"
 I1	  41091 /*
 I1	  41092   File CKCXLA.H
 I1	  41093 
 I1	  41094   System-independent character-set translation header file for C-Kermit.
 I1	  41095 */
 I1	  41096 
 I1	  41097 /*
 I1	  41098   Author: Frank da Cruz <fdc@columbia.edu>,
 I1	  41099   The Kermit Project - Columbia University, New York City.
 I1	  41100 
 I1	  41101   Copyright (C) 1985, 2009,
 I1	  41102     Trustees of Columbia University in the City of New York.
 I1	  41103     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  41104     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  41105 */
 I1	  41106 /*
 I1	  41107   NOTE:
 I1	  41108   ISO 204 is Latin-1 + Euro.
 I1	  41109   ISO 205 is Latin-4 + Euro.
 I1	  41110   ISO 206 is Latin-7 + Euro.
 I1	  41111 */
 I1	  41112 #ifndef CKCXLA_H                        /* Guard against multiple inclusion */
 I1	  41113 #define CKCXLA_H
 I1	  41114 
 I1	  41115 #ifndef KANJI                           /* Systems supporting Kanji */
 I1    X  41116 #ifdef OS2
 I1    X  41117 #define KANJI

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 742
V1.0                                                            10-JUN-2023 19:06:02  [UTILITY.SOURCE.KERMIT.x-20230622]ckcxla.h;1

 I1    X  41118 #endif /* OS2 */
 I1	  41119 #endif /* KANJI */
 I1	  41120 
 I1    X  41121 #ifdef NOKANJI                          /* Except if NOKANJI is defined. */
 I1    X  41122 #ifdef KANJI
 I1    X  41123 #undef KANJI
 I1    X  41124 #endif /* KANJI */
 I1    X  41125 #endif /* NOKANJI */
 I1	  41126 
 I1	  41127 #ifndef NOUNICODE
 I1	  41128 #ifndef UNICODE                         /* Unicode support */
 I1    X  41129 #ifdef OS2ORUNIX                        /* Only for K95, UNIX, VMS,... */
 I1    X  41130 #define UNICODE
 I1    X  41131 #else
 I1	  41132 #ifdef VMS
 I1	  41133 #define UNICODE
 I1	  41134 #endif /* VMS */
 I1	  41135 #endif /* OS2ORUNIX */
 I1	  41136 #endif /* UNICODE */
 I1	  41137 #endif /* NOUNICODE */
 I1	  41138 
 I1	  41139 #define XLA_NONE    0                   /* Translation types - none */
 I1	  41140 #define XLA_BYTE    1                   /* Byte-for-byte */
 I1	  41141 #define XLA_JAPAN   2                   /* Japanese */
 I1	  41142 #define XLA_UNICODE 3                   /* Unicode */
 I1	  41143 
 I1	  41144 #ifndef UNIORKANJI                      /* Unicode OR Kanji */
 I1	  41145 #ifdef UNICODE                          /* i.e. some support for */
 I1	  41146 #define UNIORKANJI                      /* multibyte character sets */
 I1	  41147 #endif /* UNICODE */
 I1    X  41148 #ifdef KANJI
 I1    X  41149 #define UNIORKANJI
 I1    X  41150 #endif /* KANJI */
 I1	  41151 #endif /* UNIORKANJI */
 I1	  41152 /*
 I1	  41153    Disable all support for all classes of character sets
 I1	  41154    if NOCSETS is defined.
 I1	  41155 */
 I1    X  41156 #ifdef NOCSETS
 I1    X  41157 
 I1    X  41158 #ifdef CKOUNI
 I1    X  41159 #undef CKOUNI
 I1    X  41160 #endif /* CKOUNI */
 I1    X  41161 #ifdef KANJI
 I1    X  41162 #undef KANJI
 I1    X  41163 #endif /* KANJI */
 I1    X  41164 #ifdef CYRILLIC
 I1    X  41165 #undef CYRILLIC
 I1    X  41166 #endif /* CYRILLIC */
 I1    X  41167 #ifdef LATIN2
 I1    X  41168 #undef LATIN2
 I1    X  41169 #endif /* LATIN2 */
 I1    X  41170 #ifdef HEBREW
 I1    X  41171 #undef HEBREW
 I1    X  41172 #endif /* HEBREW */
 I1    X  41173 #ifdef UNICODE
 I1    X  41174 #undef UNICODE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 743
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckcxla.h;1

 I1    X  41175 #endif /* UNICODE */
 I1    X  41176 #ifndef NOUNICODE
 I1    X  41177 #define NOUNICODE
 I1    X  41178 #endif	/* NOUNICODE */
 I1    X  41179 
 I1    X  41180 #else /* Not NOCSETS - Rest of this file... */
 I1	  41181 
 I1    X  41182 #ifdef NOUNICODE                        /* Unicode */
 I1    X  41183 #ifdef UNICODE
 I1    X  41184 #undef UNICODE
 I1    X  41185 #endif /* UNICODE */
 I1    X  41186 #endif /* NOUNICODE */
 I1	  41187 
 I1	  41188 #ifdef UNICODE
 I1    X  41189 #ifdef OS2
 I1    X  41190 #ifndef CKOUNI
 I1    X  41191 #define CKOUNI                          /* Special Unicode features for K95 */
 I1    X  41192 #endif /* CKOUNI */
 I1    X  41193 #endif /* OS2 */
 I1	  41194 #endif /* UNICODE */
 I1	  41195 
 I1	  41196 #ifndef OS2
 I1    X  41197 #ifdef CKOUNI
 I1    X  41198 #undef CKOUNI
 I1    X  41199 #endif /* CKOUNI */
 I1	  41200 #endif /* OS2 */
 I1	  41201 
 I1	  41202 #ifndef NOLATIN2                        /* If they didn't say "no Latin-2" */
 I1	  41203 #ifndef LATIN2                          /* Then if LATIN2 isn't already */
 I1	  41204 #define LATIN2                          /* defined, define it. */
 I1	  41205 #endif /* LATIN2 */
 I1	  41206 #endif /* NOLATIN2 */
 I1	  41207 
 I1    X  41208 #ifdef NOCYRILLIC                       /* (spelling variant...) */
 I1    X  41209 #ifndef NOCYRIL
 I1    X  41210 #define NOCYRIL
 I1    X  41211 #endif /* NOCYRIL */
 I1    X  41212 #endif /* NOCYRILLIC */
 I1	  41213 
 I1	  41214 #ifndef NOCYRIL                         /* If they didn't say "no Cyrillic" */
 I1	  41215 #ifndef CYRILLIC                        /* Then if CYRILLIC isn't already */
 I1	  41216 #define CYRILLIC                        /* defined, define it. */
 I1	  41217 #endif /* CYRILLIC */
 I1	  41218 #endif /* NOCYRIL */
 I1	  41219 
 I1	  41220 #ifndef NOHEBREW                        /* If they didn't say "no Hebrew" */
 I1	  41221 #ifndef HEBREW                          /* Then if HEBREW isn't already */
 I1	  41222 #define HEBREW                          /* defined, define it. */
 I1	  41223 #endif /* HEBREW */
 I1	  41224 #endif /* NOHEBREW */
 I1	  41225 
 I1	  41226 #ifndef NOGREEK                         /* If not no Greek */
 I1	  41227 #ifndef GREEK                           /* then if GREEK isn't already */
 I1	  41228 #define GREEK                           /* defined, define it. */
 I1	  41229 #endif /* GREEK */
 I1	  41230 #endif /* NOGREEK */
 I1	  41231 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 744
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckcxla.h;1

 I1	  41232 #ifndef NOKANJI                         /* If not no Kanji */
 I1	  41233 #ifndef KANJI                           /* then if KANJI isn't already */
 I1	  41234 #define KANJI                           /* defined, define it. */
 I1	  41235 #endif /* KANJI */
 I1	  41236 #endif /* NOKANJI */
 I1	  41237 
 I1	  41238 /* File ckcxla.h -- Character-set-related definitions, system independent */
 I1	  41239 
 I1	  41240 /* Codes for Kermit Transfer Syntax Level (obsolete) */
 I1	  41241 
 I1	  41242 #define TS_L0 0          /* Level 0 (Transparent) */
 I1	  41243 #define TS_L1 1          /* Level 1 (one standard character set) */
 I1	  41244 #define TS_L2 2          /* Level 2 (multiple character sets in same file) */
 I1	  41245 
 I1	  41246 #define UNK 63           /* Symbol to use for unknown character (63 = ?) */
 I1	  41247 
 I1	  41248 /*
 I1	  41249   Codes for the base alphabet of a given character set.
 I1	  41250   These are assigned in roughly ISO 8859 order.
 I1	  41251   (Each is assumed to include ASCII/Roman.)
 I1	  41252 */
 I1	  41253 #define AL_UNIV    0                    /* Universal (like ISO 10646) */
 I1	  41254 #define AL_ROMAN   1                    /* Roman (Latin) alphabet */
 I1	  41255 #define AL_CYRIL   2                    /* Cyrillic alphabet */
 I1	  41256 #define AL_ARABIC  3                    /* Arabic */
 I1	  41257 #define AL_GREEK   4                    /* Greek */
 I1	  41258 #define AL_HEBREW  5                    /* Hebrew */
 I1	  41259 #define AL_KANA    6                    /* Japanese Katakana */
 I1	  41260 #define AL_JAPAN   7                    /* Japanese Katakana+Kanji ideograms */
 I1	  41261 #define AL_HAN     8                    /* Chinese/Japanese/Korean ideograms */
 I1	  41262 #define AL_INDIA   9                    /* Indian scripts (ISCII) */
 I1	  41263 #define AL_VIET   10                    /* Vietnamese (VISCII) */
 I1	  41264                                         /* Add more here... */
 I1	  41265 #define AL_UNK   999                    /* Unknown (transparent) */
 I1	  41266 
 I1	  41267 /* Codes for languages */
 I1	  41268 /*
 I1	  41269   NOTE: It would perhaps be better to use ISO 639-1988 2-letter "Codes for
 I1	  41270   Representation of Names of Languages" here, shown in the comments below.
 I1	  41271 */
 I1	  41272 #define L_ASCII       0  /* EN ASCII, English */
 I1	  41273 #define L_USASCII     0  /* EN ASCII, English */
 I1	  41274 #define L_DUTCH       1  /* NL Dutch */
 I1	  41275 #define L_FINNISH     2  /* FI Finnish */
 I1	  41276 #define L_FRENCH      3  /* FR French */
 I1	  41277 #define L_GERMAN      4  /* DE German */
 I1	  41278 #define L_HUNGARIAN   5  /* HU Hungarian */
 I1	  41279 #define L_ITALIAN     6  /* IT Italian */
 I1	  41280 #define L_NORWEGIAN   7  /* NO Norwegian */
 I1	  41281 #define L_PORTUGUESE  8  /* PT Portuguese */
 I1	  41282 #define L_SPANISH     9  /* ES Spanish */
 I1	  41283 #define L_SWEDISH    10  /* SV Swedish */
 I1	  41284 #define L_SWISS      11  /* RM Swiss (Rhaeto-Romance) */
 I1	  41285 #define L_DANISH     12  /* DA Danish */
 I1	  41286 #define L_ICELANDIC  13  /* IS Icelandic */
 I1	  41287 #define L_RUSSIAN    14  /* RU Russian */
 I1	  41288 #define L_JAPANESE   15  /* JA Japanese */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 745
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckcxla.h;1

 I1	  41289 #define L_HEBREW     16  /* IW Hebrew */
 I1	  41290 #define L_GREEK      17  /*    Greek */
 I1	  41291 
 I1	  41292 #define MAXLANG      17  /* Number of languages */
 I1	  41293 
 I1	  41294 /*
 I1	  41295   File character-sets are defined in the system-specific ck?xla.h file,
 I1	  41296   except for the following ones, which must be available to all versions:
 I1	  41297 */
 I1	  41298 #define FC_TRANSP  254                  /* Transparent */
 I1	  41299 #define FC_UNDEF   255                  /* Undefined   */
 I1	  41300 /*
 I1	  41301   Designators for Kermit's transfer character sets.  These are all standard
 I1	  41302   sets, or based on them.  Symbols must be unique in the first 8 characters,
 I1	  41303   because some C preprocessors have this limit.
 I1	  41304 */
 I1	  41305 /* LIST1 */
 I1	  41306 #define TC_TRANSP  0   /* Transparent, no character translation */
 I1	  41307 #define TC_USASCII 1   /* ISO 646 IRV / US 7-bit ASCII */
 I1	  41308 #define TC_1LATIN  2   /* ISO 8859-1, Latin Alphabet 1 */
 I1	  41309 #define TC_2LATIN  3   /* ISO 8859-2, Latin Alphabet 2 */
 I1	  41310 #define TC_CYRILL  4   /* ISO 8859-5, Latin/Cyrillic */
 I1	  41311 #define TC_JEUC    5   /* Japanese EUC = JIS 0201+0202+0208 */
 I1	  41312 #define TC_HEBREW  6   /* ISO 8859-8, Latin/Hebrew */
 I1	  41313 #define TC_GREEK   7   /* ISO 8859-7, Latin/Greek */
 I1	  41314 #define TC_9LATIN  8   /* ISO 8859-15 Latin Alphabet 9 (with Euro) */
 I1	  41315 #define TC_UCS2    9   /* ISO 10646 / Unicode UCS-2 */
 I1	  41316 #define TC_UTF8   10   /* ISO 10646 / Unicode UTF-8 */
 I1	  41317 
 I1	  41318 #define MAXTCSETS 10   /* Highest Transfer Character Set Number */
 I1	  41319 
 I1    X  41320 #ifdef COMMENT
 I1	  41321 /*
 I1	  41322   Not used and probably won't be due to ISO-10646 / Unicode.
 I1    X  41323 */
 I1    X  41324 #define TC_3LATIN 11  /* ISO 8859-3, Latin-3 */
 I1    X  41325 #define TC_4LATIN 12   /* ISO 8859-4, Latin-4 */
 I1    X  41326 #define TC_5LATIN 13  /* ISO 8859-9, Latin-5 */
 I1    X  41327 #define TC_ARABIC 14  /* ISO-8859-6, Latin/Arabic */
 I1    X  41328 #define TC_JIS208 15  /* Japanese JIS X 0208 multibyte set */
 I1    X  41329 #define TC_CHINES 16  /* Chinese Standard GB 2312-80 */
 I1    X  41330 #define TC_KOREAN 17  /* Korean KS C 5601-1987 */
 I1    X  41331 #define TC_ISCII  18  /* Indian standard code for ii... */
 I1    X  41332 #define TC_VSCII  19  /* Vietnam standard code for ii... */
 I1    X  41333 /* etc... */
 I1    X  41334 #endif /* COMMENT */
 I1	  41335 
 I1	  41336 /* Structure for character-set information */
 I1	  41337 
 I1	  41338 struct csinfo {
 I1	  41339     char *name;                         /* Descriptive name of character set */
 I1	  41340     int size;                           /* Size (e.g. 128, 256, 16384) */
 I1	  41341     int code;                           /* Like TC_1LATIN, etc.  */
 I1	  41342     char *designator;                   /* Designator, like I2/100 = Latin-1 */
 I1	  41343     int alphabet;                       /* Base alphabet */
 I1	  41344     char *keyword;                      /* Keyword for this character-set */
 I1	  41345 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 746
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckcxla.h;1

 I1	  41346 
 I1	  41347 /* Structure for language information */
 I1	  41348 
 I1	  41349 struct langinfo {
 I1	  41350     int id;                             /* Language ID code (L_whatever) */
 I1	  41351     int fc;                             /* File character set to use */
 I1	  41352     int tc;                             /* Transfer character set to use */
 I1	  41353     char *description;                  /* Description of language */
 I1	  41354 };
 I1	  41355 
 I1	  41356 /* Now take in the system-specific definitions */
 I1	  41357 
 I1    X  41358 #ifdef UNIX
 I1    X  41359 #include "ckuxla.h"
 I1    X  41360 #endif /* UNIX */
 I1	  41361 
 I1    X  41362 #ifdef OSK                              /* OS-9 */
 I1    X  41363 #include "ckuxla.h"
 I1    X  41364 #endif /* OS-9 */
 I1	  41365 
 I1	  41366 #ifdef VMS                              /* VAX/VMS */
 I1	  41367 #include "ckuxla.h"
 I2	  41368 /*
 I2	  41369   File CKUXLA.H
 I2	  41370 
 I2	  41371   C-Kermit language and character-set support for UNIX, VMS, OS/2,
 I2	  41372   AOS/VS, and other systems.
 I2	  41373 
 I2	  41374   This file should be used as a template for the language support files
 I2	  41375   for other C-Kermit implementations -- Macintosh, etc.
 I2	  41376 */
 I2	  41377 /*
 I2	  41378   Author: Frank da Cruz <fdc@columbia.edu>,
 I2	  41379   Columbia University Academic Information Systems, New York City.
 I2	  41380 
 I2	  41381   Copyright (C) 1985, 2009,
 I2	  41382     Trustees of Columbia University in the City of New York.
 I2	  41383     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I2	  41384     copyright text in the ckcmai.c module for disclaimer and permissions.
 I2	  41385 
 I2	  41386 */
 I2	  41387 
 I2	  41388 #ifndef CKUXLA_H
 I2	  41389 #define CKUXLA_H
 I2	  41390 
 I2	  41391 /* Codes for file character sets */
 I2	  41392 
 I2	  41393 /* ISO 646 and other ISO-646-like 7-bit sets */
 I2	  41394 
 I2	  41395 #define FC_USASCII 0   /* US ASCII */
 I2	  41396 #define FC_UKASCII 1   /* United Kingdom ASCII */
 I2	  41397 #define FC_DUASCII 2   /* Dutch ISO 646 NRC */
 I2	  41398 #define FC_FIASCII 3   /* Finnish ISO 646 NRC */
 I2	  41399 #define FC_FRASCII 4   /* French ISO 646 NRC */
 I2	  41400 #define FC_FCASCII 5   /* French Canadian ISO 646 NRC */
 I2	  41401 #define FC_GEASCII 6   /* German ISO 646 NRC */
 I2	  41402 #define FC_HUASCII 7   /* Hungarian ISO 646 NRC */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 747
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckuxla.h;1

 I2	  41403 #define FC_ITASCII 8   /* Italian *ISO 646 NRC */
 I2	  41404 #define FC_NOASCII 9   /* Norwegian and Danish ISO 646 NRC */
 I2	  41405 #define FC_POASCII 10  /* Portuguese ISO 646 NRC */
 I2	  41406 #define FC_SPASCII 11  /* Spanish ISO 646 NRC */
 I2	  41407 #define FC_SWASCII 12  /* Swedish ISO 646 NRC */
 I2	  41408 #define FC_CHASCII 13  /* Swiss ISO 646 NRC */
 I2	  41409 
 I2	  41410 /* 8-bit Roman character sets */
 I2	  41411 
 I2	  41412 #define FC_1LATIN  14  /* ISO 8859-1 Latin Alphabet 1 */
 I2	  41413 #define FC_2LATIN  15  /* ISO 8859-2 Latin Alphabet 2 */
 I2	  41414 #define FC_DECMCS  16  /* DEC Multinational Character Set */
 I2	  41415 #define FC_NEXT    17  /* NeXT workstation character set */
 I2	  41416 #define FC_CP437   18  /* IBM PC Code Page 437 */
 I2	  41417 #define FC_CP850   19  /* IBM PC Code Page 850 */
 I2	  41418 #define FC_CP852   20  /* IBM PC Code Page 852 */
 I2	  41419 #define FC_APPQD   21  /* Apple Quickdraw */
 I2	  41420 #define FC_DGMCS   22  /* Data General International Character Set */
 I2	  41421 #define FC_HPR8    23  /* HP Roman8 */
 I2	  41422 
 I2	  41423 /* Cyrillic sets */
 I2	  41424 
 I2	  41425 #define FC_CYRILL  24  /* ISO 8859-5 Latin/Cyrillic */
 I2	  41426 #define FC_CP866   25  /* PC Code Page 866 Cyrillic */
 I2	  41427 #define FC_KOI7    26  /* KOI-7 = Short KOI */
 I2	  41428 #define FC_KOI8    27  /* KOI-8 */
 I2	  41429 
 I2	  41430 /* Japanese sets */
 I2	  41431 
 I2	  41432 #define FC_JIS7    28  /* JIS-7 */
 I2	  41433 #define FC_SHJIS   29  /* Shifted JIS = CP932 */
 I2	  41434 #define FC_JEUC    30  /* Japanese EUC (JAE) */
 I2	  41435 #define FC_JDEC    31  /* Japanese DEC Kanji */
 I2	  41436 
 I2	  41437 /* Hebrew sets */
 I2	  41438 
 I2	  41439 #define FC_HE7     32  /* 7-Bit DEC Hebrew */
 I2	  41440 #define FC_HEBREW  33  /* 8-Bit ISO 8859-8 Latin/Hebrew */
 I2	  41441 #define FC_CP862   34  /* Hebrew PC Code Page */
 I2	  41442 
 I2	  41443 /* Greek sets */
 I2	  41444 
 I2	  41445 #define FC_ELOT    35  /* 7-Bit ELOT 927 Greek */
 I2	  41446 #define FC_GREEK   36  /* 8-Bit ISO 8859-7 Latin/Greek */
 I2	  41447 #define FC_CP869   37  /* Greek PC Code Page */
 I2	  41448 
 I2	  41449 /* New Roman sets with Euro symbol */
 I2	  41450 
 I2	  41451 #define FC_9LATIN  38  /* ISO 8859-15 Latin Alphabet 9 */
 I2	  41452 #define FC_CP923   38  /* Same as Latin-9 */
 I2	  41453 #define FC_CP858   39  /* Western Europe with Euro */
 I2	  41454 
 I2	  41455 /* Other new additions */
 I2	  41456 
 I2	  41457 #define FC_CP855   40  /* Cyrillic PC Code Page */
 I2	  41458 #define FC_CP1251  41  /* Cyrillic Windows */
 I2	  41459 #define FC_BULGAR  42  /* Bulgarian PC code page */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 748
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckuxla.h;1

 I2	  41460 #define FC_CP1250  43  /* Latin 2 Windows (different from Latin-2)*/
 I2	  41461 #define FC_MAZOVIA 44  /* Polish Mazovia PC code page */
 I2	  41462 
 I2	  41463 /* Unicode */
 I2	  41464 
 I2	  41465 #define FC_UCS2    45  /* ISO-10646 / Unicode UCS-2 */
 I2	  41466 #define FC_UTF8    46  /* ISO-10646 / Unicode UTF-8 */
 I2	  41467 
 I2	  41468 /* Recent additions */
 I2	  41469 
 I2	  41470 #define FC_KOI8R   47  /* KOI8-R (RFC1489) - Russian + boxdrawing */
 I2	  41471 #define FC_KOI8U   48  /* KOI8-U (RFC2319) - Ukrainian + boxdrawing */
 I2	  41472 #define FC_CP1252  49  /* Latin 1 Windows */
 I2	  41473 
 I2	  41474 #define MAXFCSETS  49  /* Highest file character set number */
 I2	  41475 
 I2    X  41476 #ifdef OS2
 I2    X  41477 #define FC_DECSPEC 253 /* Not real character-sets */
 I2    X  41478 #define FC_DECTECH 252
 I2    X  41479 #endif /* OS2 */
 I2	  41480 
 I2	  41481 #ifdef UNICODE
 I2	  41482 _PROTOTYP( VOID initxlate, (int, int) );
       E	 void initxlate ( int , int )
 I2	  41483 #endif /* UNICODE */
 I2	  41484 
 I2	  41485 #endif /* CKUXLA_H */
 I1	  41486 #endif /* VMS */
 I1	  41487 
 I1    X  41488 #ifdef GEMDOS                           /* Atari ST */
 I1    X  41489 #include "ckuxla.h"
 I1    X  41490 #endif /* GEMDOS */
 I1	  41491 
 I1    X  41492 #ifdef MAC                              /* Macintosh */
 I1    X  41493 #include "ckmxla.h"
 I1    X  41494 #endif /* MAC */
 I1	  41495 
 I1    X  41496 #ifdef OS2                              /* OS/2 */
 I1    X  41497 #include "ckuxla.h"                     /* Uses big UNIX version */
 I1    X  41498 #endif /* OS2 */
 I1	  41499 
 I1    X  41500 #ifdef AMIGA                            /* Commodore Amiga */
 I1    X  41501 #include "ckuxla.h"
 I1    X  41502 #endif /* AMIGA */
 I1	  41503 
 I1    X  41504 #ifdef datageneral                      /* Data General MV AOS/VS */
 I1    X  41505 #include "ckuxla.h"
 I1    X  41506 #endif /* datageneral */
 I1	  41507 
 I1    X  41508 #ifdef STRATUS                          /* Stratus Computer, Inc. VOS */
 I1    X  41509 #include "ckuxla.h"
 I1    X  41510 #endif /* STRATUS */
 I1	  41511 
 I1	  41512 #ifdef UNICODE
 I1	  41513 #include "ckcuni.h"                     /* Unicode */
 I2	  41514 /*  C K C U N I . H  --  Unicode/Terminal character-set translations  */
 I2	  41515 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 749
V1.0                                                            26-SEP-2022 12:53:45  [UTILITY.SOURCE.KERMIT.x-20230622]ckcuni.h;1

 I2	  41516 /*
 I2	  41517   Copyright (C) 1999, 2023,
 I2	  41518     Trustees of Columbia University in the City of New York.
 I2	  41519     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I2	  41520     copyright text in the ckcmai.c module for disclaimer and permissions.
 I2	  41521 
 I2	  41522   Authors:
 I2	  41523     Frank da Cruz <fdc@columbia.edu>
 I2	  41524       The Kermit Project, New York City.
 I2	  41525     Jeffrey E Altman <jaltman@secure-endpoints.com>
 I2	  41526       Secure Endpoints Inc., New York City
 I2	  41527   Most recent update:
 I2	  41528     Fri May  5 16:25:43 2023
 I2	  41529 */
 I2	  41530 
 I2	  41531 /* Terminal character sets */
 I2	  41532 
 I2	  41533 #ifndef CKOUNI_H
 I2	  41534 #define CKOUNI_H
 I2    X  41535 #ifdef OS2
 I2    X  41536 #ifndef CKOUNI
 I2    X  41537 #define CKOUNI                          /* Use UNICODE for OS/2 functions */
 I2    X  41538 #endif /* CKOUNI */
 I2    X  41539 #ifdef KUI
 I2    X  41540 #define X_CKOUNI_IN                     /* Use Unicode Input */
 I2    X  41541 #define CKOUNI_OUT
 I2    X  41542 #endif /* KUI */
 I2    X  41543 #endif /* OS2 */
 I2	  41544 
 I2	  41545 /* Terminal Character Sets */
 I2	  41546 
 I2	  41547 #define TX_ASCII        0               /* US ASCII */
 I2	  41548 #define TX_BRITISH      1               /* British ISO 646 */
 I2	  41549 #define TX_CN_FRENCH    2               /* Canadian French NRC */
 I2	  41550 #define TX_CUBAN        3               /* Cuba */
 I2	  41551 #define TX_CZECH        4               /* Czech Republic */
 I2	  41552 #define TX_DANISH       5               /* Denmark / Norway ISO 646 */
 I2	  41553 #define TX_DUTCH        6               /* Dutch NRC */
 I2	  41554 #define TX_FINNISH      7               /* Finnish NRC */
 I2	  41555 #define TX_FRENCH       8               /* French ISO 646 */
 I2	  41556 #define TX_GERMAN       9               /* German ISO 646 */
 I2	  41557 #define TX_HE7         10               /* Hebrew 7 (DEC) */
 I2	  41558 #define TX_HUNGARIAN   11               /* Hungarian ISO 646 */
 I2	  41559 #define TX_ICELANDIC   12               /* Icelandic NRC */
 I2	  41560 #define TX_ITALIAN     13               /* Italian ISO 646 */
 I2	  41561 #define TX_J201R       14               /* JIS 0201 Japanese Roman */
 I2	  41562 #define TX_J201K       15               /* JIS 0201 Katakana */
 I2	  41563 #define TX_KOI7        16               /* Short KOI */
 I2	  41564 #define TX_NORWEGIAN   17               /* Denmark / Norway ISO 646 */
 I2	  41565 #define TX_PORTUGUESE  18               /* Portuguese ISO 646 */
 I2	  41566 #define TX_SPANISH     19               /* Spanish ISO 646 */
 I2	  41567 #define TX_SWEDISH     20               /* Swedish ISO 646 */
 I2	  41568 #define TX_SWE_2       21               /* Swedish for names ISO 646 */
 I2	  41569 #define TX_SWISS       22               /* Swiss NRC */
 I2	  41570 #define TX_8859_1      23               /* Latin-1 */
 I2	  41571 #define TX_8859_2      24               /* Latin-2 */
 I2	  41572 #define TX_8859_3      25               /* Latin-3 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 750
V1.0                                                             5-MAY-2023 15:25:49  [UTILITY.SOURCE.KERMIT.x-20230622]ckcuni.h;1

 I2	  41573 #define TX_8859_4      26               /* Latin-4 */
 I2	  41574 #define TX_8859_5      27               /* Latin/Cyrillic */
 I2	  41575 #define TX_8859_6      28               /* Latin/Arabic */
 I2	  41576 #define TX_8859_7      29               /* Latin/Greek */
 I2	  41577 #define TX_8859_8      30               /* Latin/Hebrew */
 I2	  41578 #define TX_8859_9      31               /* Latin-5 */
 I2	  41579 #define TX_8859_10     32               /* Latin-6 */
 I2	  41580 
 I2	  41581 #define TX_KOI8        33               /* GOST 19768-74 KOI-8 */
 I2	  41582 
 I2	  41583 #define TX_JIS7        34               /* JIS-7 */
 I2	  41584 #define TX_SHJIS       35               /* Shift JIS */
 I2	  41585 #define TX_JEUC        36               /* Japanese EUC */
 I2	  41586 #define TX_JDEC        37               /* Japanese DEC Kanji */
 I2	  41587 
 I2	  41588 #define TX_DECMCS      38               /* DEC MCS */
 I2	  41589 #define TX_NEXT        39               /* NeXT */
 I2	  41590 #define TX_DGI         40               /* Data General International */
 I2	  41591 #define TX_MACL1       41               /* Macintosh Latin-1 */
 I2	  41592 #define TX_HPR8        42               /* HP Roman 8 */
 I2	  41593 
 I2	  41594 /* Code pages */
 I2	  41595 
 I2	  41596 #define TX_CP437       43               /* Original */
 I2	  41597 #define TX_CP850       44               /* Multinational (Western Europe) */
 I2	  41598 #define TX_CP852       45               /* Eastern Europe */
 I2	  41599 #define TX_CP857       46               /* Turkey */
 I2	  41600 #define TX_CP862       47               /* Hebrew */
 I2	  41601 #define TX_CP864       48               /* Arabic */
 I2	  41602 #define TX_CP866       49               /* Cyrillic */
 I2	  41603 #define TX_CP869       50               /* Greek */
 I2	  41604 
 I2	  41605 #define TX_DECSPEC     51               /* DEC Special Graphics */
 I2	  41606 #define TX_DECTECH     52               /* DEC Technical */
 I2	  41607 #define TX_C0PICT      53               /* C0 Display Controls */
 I2	  41608 #define TX_C1PICT      54               /* C1 Display Controls */
 I2	  41609 #define TX_IBMC0GRPH   55               /* IBM C0 Graphics (smileys) */
 I2	  41610 #define TX_H19GRAPH    56               /* Heath/Zenith 19 Graphics */
 I2	  41611 #define TX_TVIGRAPH    57               /* Televideo Graphics */
 I2	  41612 #define TX_WYSE60G_N   58               /* Wyse 60 Native Mode Graphics */
 I2	  41613 #define TX_WYSE60G_1   59               /* Wyse 60 Graphics 1 */
 I2	  41614 #define TX_WYSE60G_2   60               /* Wyse 60 Graphics 2 */
 I2	  41615 #define TX_WYSE60G_3   61               /* Wyse 60 Graphics 3 */
 I2	  41616 
 I2	  41617 /* New ones that came too late for the nice grouping... */
 I2	  41618 
 I2	  41619 #define TX_ELOT927     62               /* Greek ELOT 927 */
 I2	  41620 #define TX_DGPCGRPH    63               /* DG PC Graphics */
 I2	  41621 #define TX_DGLDGRPH    64               /* DG Line Drawing Graphics */
 I2	  41622 #define TX_DGWPGRPH    65               /* DG Word Processing (etc) Graphics */
 I2	  41623 #define TX_HPLINE      66               /* HP Line Drawing */
 I2	  41624 #define TX_HPMATH      67               /* HP Math/Technical */
 I2	  41625 #define TX_QNXGRPH     68               /* QNX Graphics */
 I2	  41626 
 I2	  41627 /* Siemens Nixdorf character sets */
 I2	  41628 
 I2	  41629 #define TX_SNIBRACK    69               /* SNI 97801 Brackets */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 751
V1.0                                                             5-MAY-2023 15:25:49  [UTILITY.SOURCE.KERMIT.x-20230622]ckcuni.h;1

 I2	  41630 #define TX_SNIEURO     70               /* SNI 97801 Euro  */
 I2	  41631 #define TX_SNIFACET    71               /* SNI 97801 Facet */
 I2	  41632 #define TX_SNIIBM      72               /* SNI 97801 "IBM" */
 I2	  41633 #define TX_SNIBLANK    73               /* SNI 97801 Blanks */
 I2	  41634 
 I2	  41635 /* Windows Code pages */
 I2	  41636 
 I2	  41637 #define TX_CP1252      74               /* Latin-1 Windows */
 I2	  41638 #define TX_CP1250      75               /* Latin-2 Windows */
 I2	  41639 #define TX_CP1251      76               /* Cyrillic Windows */
 I2	  41640 #define TX_CP1253      77               /* Greece Windows */
 I2	  41641 #define TX_CP1254      78               /* Turkey Windows */
 I2	  41642 #define TX_CP1257      79               /* Latin-4 Windows */
 I2	  41643 
 I2	  41644 #define TX_CP856       80               /* Bulgaria CP856 (DATECS Ltd) */
 I2	  41645 #define TX_CP855       81
 I2	  41646 #define TX_CP819       82               /* Same as ISO 8859-1 */
 I2	  41647 #define TX_CP912       83               /* Same as ISO 8859-2 */
 I2	  41648 #define TX_CP913       84               /* Same as ISO 8859-3 */
 I2	  41649 #define TX_CP914       85               /* Same as ISO 8859-4 */
 I2	  41650 #define TX_CP915       86               /* Same as ISO 8859-5 */
 I2	  41651 #define TX_CP1089      87               /* Same as ISO 8859-6 */
 I2	  41652 #define TX_CP813       88               /* Same as ISO 8859-7 */
 I2	  41653 #define TX_CP916       89               /* Same as ISO 8859-8 */
 I2	  41654 #define TX_CP920       90               /* Same as ISO 8859-9 */
 I2	  41655 #define TX_CP1051      91               /* Same as HP Roman 8 */
 I2	  41656 #define TX_CP858       92               /* Multinational (W. Europe) w/Euro */
 I2	  41657 #define TX_8859_15     93               /* Latin-9 */
 I2	  41658 #define TX_CP923       94               /* Same as ISO 8859-15 */
 I2	  41659 
 I2	  41660 #define TX_ELOT928     95               /* Same as ISO 8859-7 */
 I2	  41661 #define TX_CP10000     96               /* Same as original Apple Quickdraw */
 I2	  41662 #define TX_CP37        97               /* EBCDIC */
 I2	  41663 #define TX_CP1255      98               /* Israel Windows */
 I2	  41664 #define TX_CP1256      99               /* Arabic Windows */
 I2	  41665 #define TX_CP1258     100               /* Viet Nam Windows */
 I2	  41666 #define TX_MAZOVIA    101
 I2	  41667 #define TX_TRANSP     102               /* Transparent - no translation */
 I2	  41668 #define TX_HZ1500     103               /* Hazeltine 1500 graphics set */
 I2	  41669 #define TX_KOI8R      104               /* KOI8R - Russian */
 I2	  41670 #define TX_KOI8U      105               /* KOI8U - Ukrainian */
 I2	  41671 #define TX_APL1       106               /* APL ISO IR 68 */
 I2	  41672 #define TX_APL2       107               /* Dyadic Systems Inc APL */
 I2	  41673 #define TX_APL3       108               /* APL-Plus (APL-2000) */
 I2	  41674 #define TX_APL4       109               /* IBM APL/2 */
 I2	  41675 #define TX_APL5       110               /* APL-2741 */
 I2	  41676 
 I2	  41677 #define MAXTXSETS     111               /* Number of terminal character sets */
 I2	  41678 
 I2	  41679 /* The following are not implemented yet */
 I2	  41680 /* UTF-8 is supported as a special mode in Kermit 95 (see utf8 flag) */
 I2	  41681 
 I2	  41682 #define TX_UTF7       128
 I2	  41683 #define TX_UTF8       129
 I2	  41684 
 I2	  41685 #define TX_HEXBYTES   242               /* Hex bytes */
 I2	  41686 #define TX_DEBUG      243               /* Debugging but not hex bytes */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 752
V1.0                                                             5-MAY-2023 15:25:49  [UTILITY.SOURCE.KERMIT.x-20230622]ckcuni.h;1

 I2	  41687 
 I2	  41688 /* These are actually used */
 I2	  41689 
 I2	  41690 #define TX_UNDEF      255               /* Unknown character-set */
 I2	  41691 
 I2	  41692 /* Flag bit values */
 I2	  41693 
 I2	  41694 #define X2U_STD   1                     /* Has standard ISO 4873 layout */
 I2	  41695 #define X2U_ISO   2                     /* ISO standard character set */
 I2	  41696 #define X2U_JIS   4                     /* Japan Industrial Standard */
 I2	  41697 #define X2U_CP    8                     /* PC Code Page */
 I2	  41698 #define X2U_DEC  16                     /* DEC Private character set */
 I2	  41699 #define X2U_CXG  32                     /* Control codes used for graphics */
 I2	  41700 
 I2	  41701 struct x_to_unicode {
 I2	  41702     int size;                           /* 94, 96, 128, or other */
 I2	  41703     int offset;                         /* 0, 32, 33, 128, 160, ... */
 I2	  41704     int flags;
 I2	  41705     int family;                         /* Language family, writing system */
 I2	  41706     char * keywd;                       /* Keyword name */
 I2	  41707     char * name;                        /* Descriptive name */
 I2	  41708     int code;                           /* ISO reg number if Standard */
 I2	  41709                                         /* CP number if Code-page, etc. */
 I2	  41710     char * final;                       /* Esc seq final char(s) (ISO, DEC) */
 I2	  41711     unsigned short map[256];            /* Mapping table */
 I2	  41712 };
 I2	  41713 
 I2	  41714 extern struct keytab txrtab[];
 I2	  41715 extern int ntxrtab;
 I2	  41716 
 I2    X  41717 #ifndef NULL
 I2    X  41718 #define NULL (char *)0
 I2    X  41719 #endif /* NULL */
 I2	  41720 
 I2    X  41721 #ifndef USHORT
 I2    X  41722 #define USHORT unsigned short
 I2    X  41723 #endif /* USHORT */
 I2	  41724 
 I2    X  41725 #ifndef ULONG
 I2    X  41726 #define ULONG unsigned long
 I2    X  41727 #endif /* ULONG */
 I2	  41728 
 I2	  41729 #ifndef CHAR
 I2	  41730 #define CHAR unsigned char
 I2	  41731 #endif /* CHAR */
 I2	  41732 
 I2	  41733 #ifdef CK_ANSIC
 I2	  41734 extern USHORT (*xl_u[MAXTXSETS+1])(CHAR); /* Blah-to-Unicode functions */
       E	        unsigned short
       E	                      111
       E	                                    unsigned char
 I2	  41735 extern int (*xl_tx[MAXTXSETS+1])(USHORT); /* Unicode-to-Blah functions */
       E	                    111
       E	                                  unsigned short
 I2    X  41736 #else
 I2    X  41737 extern USHORT (*xl_u[MAXTXSETS+1])();
 I2    X  41738 extern int (*xl_tx[MAXTXSETS+1])();

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 753
V1.0                                                             5-MAY-2023 15:25:49  [UTILITY.SOURCE.KERMIT.x-20230622]ckcuni.h;1

 I2    X  41739 #endif /* CK_ANSIC */
 I2	  41740 extern struct x_to_unicode * txrinfo[MAXTXSETS+1];
       E	                                      111
 I2	  41741 
 I2	  41742 #ifndef NT
 I2	  41743 _PROTOTYP(int ck_isunicode, (void));
       E	 int ck_isunicode ( void )
 I2	  41744 #endif /* NT */
 I2	  41745 
 I2	  41746 _PROTOTYP(int utf8_to_ucs2, (CHAR, USHORT **));
       E	 int utf8_to_ucs2 ( unsigned char , unsigned short * * )
 I2	  41747 _PROTOTYP(int ucs2_to_utf8, (USHORT, CHAR **));
       E	 int ucs2_to_utf8 ( unsigned short , unsigned char * * )
 I2	  41748 _PROTOTYP(int tx_cpsub, (USHORT));
       E	 int tx_cpsub ( unsigned short )
 I2	  41749 _PROTOTYP(int u_to_b, (CHAR) );
       E	 int u_to_b ( unsigned char )
 I2	  41750 _PROTOTYP(int u_to_b2, (void) );
       E	 int u_to_b2 ( void )
 I2	  41751 _PROTOTYP(int b_to_u, (CHAR, CHAR *, int, int) );
       E	 int b_to_u ( unsigned char , unsigned char * , int , int )
 I2	  41752 
 I2	  41753 #ifdef KANJI
 I2	  41754 _PROTOTYP(USHORT sj_to_un, (USHORT) );  /* Shift-JIS to Unicode */
       E	 unsigned short sj_to_un ( unsigned short )
 I2	  41755 _PROTOTYP(USHORT un_to_sj, (USHORT) );  /* Unicode to Shift-JIS */
       E	 unsigned short un_to_sj ( unsigned short )
 I2	  41756 #endif /* KANJI */
 I2	  41757 
 I2    X  41758 #ifdef OS2
 I2    X  41759 #ifdef NT
 I2    X  41760 #ifdef COMMENT
 I2    X  41761 _inline
 I2    X  41762 #else
 I2    X  41763 /* [jt] 2013/11/21 - duplicate definition issue */
 I2    X  41764 static _inline
 I2    X  41765 #endif /* COMMENT */
 I2    X  41766 #else
 I2    X  41767 #ifdef __WATCOMC__
 I2    X  41768 inline
 I2    X  41769 #else
 I2    X  41770 _Inline
 I2    X  41771 #endif /* __WATCOMC__ */
 I2    X  41772 #endif /* NT */
 I2    X  41773 int
 I2    X  41774 ck_isunicode(
 I2    X  41775 #ifdef CK_ANSIC
 I2    X  41776           void
 I2    X  41777 #endif /* CK_ANSIC */
 I2    X  41778           ) {
 I2    X  41779     extern int tt_unicode;
 I2    X  41780 #ifdef NT
 I2    X  41781 #ifdef KUI
 I2    X  41782     return(tt_unicode);
 I2    X  41783 #else /* KUI */
 I2    X  41784     if (tt_unicode && !isWin95())
 I2    X  41785       return(1);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 754
V1.0                                                             5-MAY-2023 15:25:49  [UTILITY.SOURCE.KERMIT.x-20230622]ckcuni.h;1

 I2    X  41786     else
 I2    X  41787       return(0);
 I2    X  41788 #endif /* KUI */
 I2    X  41789 #else /* NT */
 I2    X  41790     return(0);
 I2    X  41791 #endif /* NT */
 I2    X  41792 }
 I2    X  41793 #endif /* OS2 */
 I2	  41794 #endif /* CKOUNI_H */
 I1	  41795 #endif /* UNICODE */
 I1	  41796 
 I1	  41797 #ifdef KANJI
 I1	  41798 #define UNKSJIS 0x817f
 I1	  41799 _PROTOTYP(USHORT eu_to_sj, (USHORT) );  /* EUC-JP to Shift-JIS  */
       E	 unsigned short eu_to_sj ( unsigned short )
 I1	  41800 _PROTOTYP(USHORT sj_to_eu, (USHORT) );  /* Shift-JIS to EUC-JP  */
       E	 unsigned short sj_to_eu ( unsigned short )
 I1	  41801 _PROTOTYP( int xkanjf, (void) );
       E	 int xkanjf ( void )
 I1	  41802 _PROTOTYP( int xkanji, (int, int (*)(char)) );
       E	 int xkanji ( int , int ( * ) ( char ) )
 I1	  41803 _PROTOTYP( int xkanjz, (int (*)(char) ) );
       E	 int xkanjz ( int ( * ) ( char ) )
 I1	  41804 _PROTOTYP( int zkanjf, (void) );
       E	 int zkanjf ( void )
 I1	  41805 _PROTOTYP( int zkanji, (int (*)(void)) ); /* Kanji function prototypes */
       E	 int zkanji ( int ( * ) ( void ) )
 I1	  41806 _PROTOTYP( int zkanjz, (void) );
       E	 int zkanjz ( void )
 I1	  41807 _PROTOTYP(VOID j7init, ( void ) );      /* Initialize JIS-7 parser */
       E	 void j7init ( void )
 I1	  41808 _PROTOTYP(int getj7, ( void ) );        /* Get next JIS-7 character */
       E	 int getj7 ( void )
 I1	  41809 #endif /* KANJI */
 I1	  41810 
 I1	  41811 #ifndef MAC
 I1	  41812 #ifndef NOLOCAL
 I1	  41813 _PROTOTYP( int cs_size, (int) );
       E	 int cs_size ( int )
 I1	  41814 _PROTOTYP( int cs_is_std, (int) );
       E	 int cs_is_std ( int )
 I1	  41815 _PROTOTYP( int cs_is_nrc, (int) );
       E	 int cs_is_nrc ( int )
 I1	  41816 _PROTOTYP( VOID setremcharset, (int, int) );
       E	 void setremcharset ( int , int )
 I1	  41817 _PROTOTYP( VOID setlclcharset, (int) );
       E	 void setlclcharset ( int )
 I1	  41818 #endif /* NOLOCAL */
 I1	  41819 #endif /* MAC */
 I1	  41820 
 I1	  41821 _PROTOTYP(VOID setxlatype, (int, int));
       E	 void setxlatype ( int , int )
 I1	  41822 
 I1	  41823 #endif /* NOCSETS */
 I1	  41824 #endif /* CKCXLA_H */
 I1	  41825 
 I1	  41826 /* End of ckcxla.h */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 755
V1.0                                                             5-MAY-2023 15:25:49  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  41827 
	  41828 #ifdef CK_SSL
	  41829 #include "ckuath.h"			/* SMS 2007/02/15 */
 I1	  41830 /*  C K U A T H . H --  "C-Kermit to Authentication" interface  */
 I1	  41831 
 I1	  41832 /*
 I1	  41833   Author: Jeffrey E Altman <jaltman@secure-endpoints.com>,
 I1	  41834             Secure Endpoints Inc., New York City.
 I1	  41835 
 I1	  41836   Copyright (C) 1999, 2009,
 I1	  41837     Trustees of Columbia University in the City of New York.
 I1	  41838     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  41839     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  41840 */
 I1	  41841 
 I1	  41842 /*
 I1	  41843  * Based on a concatenation of all necessary include files distributed with
 I1	  41844  * the Kerberos 5 NT Alpha 2 Telnet package from MIT.
 I1	  41845  */
 I1	  41846 
 I1	  41847 #ifndef KRB5_KERMIT_H
 I1	  41848 #define KRB5_KERMIT_H
 I1	  41849 
 I1	  41850 #ifndef BOOL
 I1	  41851 #define BOOL int
 I1	  41852 #endif
 I1	  41853 
 I1	  41854 /* Header file for encrypted-stream library.
 I1	  41855  * Written by Ken Raeburn (Raeburn@Cygnus.COM).
 I1	  41856  * Copyright (C) 1991, 1992, 1994 by Cygnus Support.
 I1	  41857  *
 I1	  41858  * Permission to use, copy, modify, and
 I1	  41859  * distribute this software and its documentation for any purpose and
 I1	  41860  * without fee is hereby granted, provided that the above copyright
 I1	  41861  * notice appear in all copies and that both that copyright notice and
 I1	  41862  * this permission notice appear in supporting documentation.
 I1	  41863  * Cygnus Support makes no representations about the suitability of
 I1	  41864  * this software for any purpose.  It is provided "as is" without express
 I1	  41865  * or implied warranty.
 I1	  41866  */
 I1	  41867 
 I1	  41868 #ifndef K5STREAM_H
 I1	  41869 #define K5STREAM_H
 I1	  41870 
 I1    X  41871 #ifdef COMMENT
 I1	  41872 /*
 I1	  41873   We can't possibly know where krb5.h is, so can't hardwire its
 I1	  41874   location into this code.  The Makefile target has to find; see
 I1	  41875   examples in linux+krb5-new and netbsd+krb5-new.
 I1	  41876   - fdc, 2 December 2022
 I1    X  41877 */
 I1    X  41878 #ifdef CK_KERBEROS
 I1    X  41879 #include <krb5.h>                               /* Type defs. */
 I1    X  41880 #endif /* def CK_KERBEROS */
 I1    X  41881 #endif /* COMMENT */
 I1	  41882 
 I1	  41883 typedef void *kstream_ptr;                      /* Data send on the kstream */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 756
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckuath.h;1

 I1	  41884 struct kstream_data_block {
 I1	  41885   kstream_ptr ptr;
 I1	  41886   size_t length;
 I1	  41887 };
 I1	  41888 
 I1	  41889 typedef struct kstream_int {                    /* Object we pass around */
 I1	  41890     int fd;                                       /* Open socket descriptor */
 I1	  41891     int (*encrypt)(struct kstream_data_block *, /* output */
 I1	  41892                    struct kstream_data_block *); /* input */
 I1	  41893     int encrypt_type;
 I1	  41894     int (*decrypt)(struct kstream_data_block *, /* output */
 I1	  41895                    struct kstream_data_block *); /* input */
 I1	  41896     int decrypt_type;
 I1	  41897 } *kstream;
 I1	  41898 
 I1	  41899 /* Prototypes */
 I1	  41900 
 I1	  41901 int  kstream_destroy();
 I1	  41902 void kstream_set_buffer_mode(int);
 I1	  41903 int  kstream_create_from_fd(int fd, kstream_ptr);
 I1	  41904 int kstream_write(void *, size_t);
 I1	  41905 int kstream_read(void *, size_t);
 I1	  41906 
 I1	  41907 #endif /* K5STREAM_H */
 I1	  41908 
 I1	  41909 /*
 I1	  41910  * Implements Telnet authentication and encryption
 I1	  41911  */
 I1	  41912 
 I1	  41913 #ifndef TELNET_AUTH_H
 I1	  41914 #define TELNET_AUTH_H
 I1	  41915 
 I1	  41916 int auth_parse(unsigned char *, int);
 I1	  41917 
 I1	  41918 int auth_init(kstream);
 I1	  41919 
 I1	  41920 void auth_destroy(void);
 I1	  41921 
 I1	  41922 int auth_encrypt(struct kstream_data_block *, struct kstream_data_block *);
 I1	  41923 
 I1	  41924 int auth_decrypt(struct kstream_data_block *, struct kstream_data_block *);
 I1	  41925 
 I1	  41926 extern BOOL forward_flag;
       E	        int
 I1	  41927 extern BOOL forwardable_flag;
       E	        int
 I1	  41928 extern BOOL forwarded_tickets;
       E	        int
 I1	  41929 #endif /* TEL_AUTH_H */
 I1	  41930 
 I1	  41931 
 I1	  41932 /* C-Kermit specific functions */
 I1	  41933 _PROTOTYP(void auth_finished,(int));
       E	 void auth_finished ( int )
 I1	  41934 _PROTOTYP(int ck_auth_init, (char *, char *, char *, int));
       E	 int ck_auth_init ( char * , char * , char * , int )
 I1	  41935 _PROTOTYP(int ck_tn_auth_valid, (VOID));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 757
V1.0                                                             2-DEC-2022 11:41:16  [UTILITY.SOURCE.KERMIT.x-20230622]ckuath.h;1

       E	 int ck_tn_auth_valid ( void )
 I1	  41936 _PROTOTYP(int ck_tn_auth_in_progress,(VOID));
       E	 int ck_tn_auth_in_progress ( void )
 I1	  41937 _PROTOTYP(int ck_tn_sb_auth, (char *, int));
       E	 int ck_tn_sb_auth ( char * , int )
 I1	  41938 _PROTOTYP(int ck_tn_sb_encrypt, (char *, int));
       E	 int ck_tn_sb_encrypt ( char * , int )
 I1	  41939 _PROTOTYP(int ck_tn_auth_request, (VOID));
       E	 int ck_tn_auth_request ( void )
 I1	  41940 _PROTOTYP(void ck_tn_encrypt, (char *, int));
       E	 void ck_tn_encrypt ( char * , int )
 I1	  41941 _PROTOTYP(void ck_tn_decrypt, (char *, int));
       E	 void ck_tn_decrypt ( char * , int )
 I1	  41942 _PROTOTYP(void ck_tn_enc_start, (VOID));
       E	 void ck_tn_enc_start ( void )
 I1	  41943 _PROTOTYP(void ck_tn_enc_stop, (VOID));
       E	 void ck_tn_enc_stop ( void )
 I1	  41944 _PROTOTYP(int ck_tn_authenticated, (VOID));
       E	 int ck_tn_authenticated ( void )
 I1    X  41945 #ifdef CK_ENCRYPTION
 I1    X  41946 _PROTOTYP(int ck_tn_encrypting, (VOID));
 I1    X  41947 _PROTOTYP(int ck_tn_decrypting, (VOID));
 I1    X  41948 #endif /* CK_ENCRYPTION */
 I1	  41949 #ifdef CK_SSL
 I1	  41950 _PROTOTYP(int ck_tn_tls_negotiate, (VOID));
       E	 int ck_tn_tls_negotiate ( void )
 I1	  41951 _PROTOTYP(int SendSSLAuthSB, (int, void *, int));
       E	 int SendSSLAuthSB ( int , void * , int )
 I1	  41952 #endif /* CK_SSL */
 I1	  41953 
 I1    X  41954 #ifdef CK_KERBEROS
 I1    X  41955     /* Define MIT_CURRENT to compile the code for use with versions of */
 I1    X  41956     /* Kerberos later than KRB5 1.0.5.  Note.  This will not compile   */
 I1    X  41957     /* successfully in Kermit 95 due to the segmentation of crypto     */
 I1    X  41958     /* into a separate DLL.                                            */
 I1    X  41959 
 I1    X  41960 #ifndef KRB5_INIT_ETS
 I1    X  41961 /* krb5_init_ets() is a no-op in Kerberos 1.4.x and later */
 I1    X  41962 /* and in some installations it can't be found so now by default */
 I1    X  41963 /* we don't use it. */
 I1    X  41964 #define NO_KRB5_INIT_ETS
 I1    X  41965 #endif	/* KRB5_INIT_ETS */
 I1    X  41966 
 I1    X  41967 #define KRB_DEFTIM 600                  /* Default lifetime (minutes) */
 I1    X  41968 
 I1    X  41969 /* Kerberos structure definitions */
 I1    X  41970 
 I1    X  41971 struct krb_op_data {                    /* Operational data for all actions */
 I1    X  41972     int version;                        /* Kerberos version    */
 I1    X  41973     char * cache;                       /* Kerberos cache file */
 I1    X  41974 };
 I1    X  41975 
 I1    X  41976 struct krb4_init_data {                 /* INITIALIZE data structure */
 I1    X  41977     int lifetime;
 I1    X  41978     char * principal;                   /* Principal string */
 I1    X  41979     char * instance;
 I1    X  41980     char * realm;                       /* Realm string */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 758
V1.0                                                             2-DEC-2022 11:41:16  [UTILITY.SOURCE.KERMIT.x-20230622]ckuath.h;1

 I1    X  41981     char * password;                    /* Kerberos password */
 I1    X  41982     int    preauth;                     /* Use preauth mode? */
 I1    X  41983     int    verbose;                     /* Verbose output? */
 I1    X  41984 };
 I1    X  41985 
 I1    X  41986 #define KRB5_NUM_OF_ADDRS 16
 I1    X  41987 struct krb5_init_data {                 /* INITIALIZE data structure */
 I1    X  41988     int forwardable;                    /* Switch values */
 I1    X  41989     int proxiable;                      /* Correspond to switch names... */
 I1    X  41990     int lifetime;
 I1    X  41991     int renew;
 I1    X  41992     int renewable;
 I1    X  41993     int validate;
 I1    X  41994     char * postdate;
 I1    X  41995     char * service;
 I1    X  41996     char * principal;                   /* Principal string */
 I1    X  41997     char * instance;
 I1    X  41998     char * realm;                       /* Realm string */
 I1    X  41999     char * password;                    /* Kerberos password */
 I1    X  42000     int    preauth;                     /* Use preauth mode? */
 I1    X  42001     int    verbose;                     /* Verbose output? */
 I1    X  42002     int    getk4;                       /* Get K4 TGT? */
 I1    X  42003     char * addrs[KRB5_NUM_OF_ADDRS+1];  /* List of IP Addresses */
 I1    X  42004     int  no_addresses;                  /* Do not include IP Addresses */
 I1    X  42005 };
 I1    X  42006 
 I1    X  42007 struct krb5_list_cred_data {            /* List Credentials data */
 I1    X  42008     int encryption;
 I1    X  42009     int flags;
 I1    X  42010     int addr;
 I1    X  42011 };
 I1    X  42012 
 I1    X  42013 _PROTOTYP(int ck_krb5_autoget_TGT, (char *));
 I1    X  42014 _PROTOTYP(int ck_krb5_initTGT, (struct krb_op_data *,struct krb5_init_data *,
 I1    X  42015                                  struct krb4_init_data *));
 I1    X  42016 _PROTOTYP(int ck_krb5_destroy, (struct krb_op_data *));
 I1    X  42017 _PROTOTYP(int ck_krb5_list_creds, (struct krb_op_data *,
 I1    X  42018                                     struct krb5_list_cred_data *));
 I1    X  42019 _PROTOTYP(char * ck_krb5_getrealm, (char *));
 I1    X  42020 _PROTOTYP(char * ck_krb5_getprincipal, (char *));
 I1    X  42021 _PROTOTYP(char * ck_krb5_get_cc_name, (VOID));
 I1    X  42022 
 I1    X  42023 _PROTOTYP(int ck_krb4_autoget_TGT, (char *));
 I1    X  42024 _PROTOTYP(int ck_krb4_initTGT, (struct krb_op_data *,struct krb4_init_data *));
 I1    X  42025 _PROTOTYP(int ck_krb4_destroy, (struct krb_op_data *));
 I1    X  42026 _PROTOTYP(int ck_krb4_list_creds, (struct krb_op_data *));
 I1    X  42027 _PROTOTYP(char * ck_krb4_getrealm, (VOID));
 I1    X  42028 _PROTOTYP(char * ck_krb4_getprincipal, (VOID));
 I1    X  42029 
 I1    X  42030 _PROTOTYP(int ck_krb4_get_tkts, (VOID));
 I1    X  42031 _PROTOTYP(char * ck_krb4_get_next_tkt, (VOID));
 I1    X  42032 _PROTOTYP(int ck_krb4_tkt_isvalid,(char *));
 I1    X  42033 _PROTOTYP(int ck_krb4_is_tgt_valid,(VOID));
 I1    X  42034 _PROTOTYP(int ck_krb4_tkt_time,(char *));
 I1    X  42035 
 I1    X  42036 _PROTOTYP(int ck_krb5_get_tkts, (char *));
 I1    X  42037 _PROTOTYP(char * ck_krb5_get_next_tkt, (VOID));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 759
V1.0                                                             2-DEC-2022 11:41:16  [UTILITY.SOURCE.KERMIT.x-20230622]ckuath.h;1

 I1    X  42038 _PROTOTYP(int ck_krb5_tkt_isvalid,(char *,char *));
 I1    X  42039 _PROTOTYP(char * ck_krb5_tkt_flags,(char *,char *));
 I1    X  42040 _PROTOTYP(int ck_krb5_is_tgt_valid,(VOID));
 I1    X  42041 _PROTOTYP(int ck_krb5_tkt_time,(char *,char *));
 I1    X  42042 
 I1    X  42043 _PROTOTYP(int krb4_des_avail,(int));
 I1    X  42044 _PROTOTYP(int krb4_des_write,(int,char *,int));
 I1    X  42045 _PROTOTYP(int krb4_des_read, (int,char *,int));
 I1    X  42046 _PROTOTYP(int krb5_des_avail,(int));
 I1    X  42047 _PROTOTYP(int krb5_des_write,(int,char *,int,int));
 I1    X  42048 _PROTOTYP(int krb5_des_read, (int,char *,int,int));
 I1    X  42049 _PROTOTYP(int krb5_u2u_avail,(int));
 I1    X  42050 _PROTOTYP(int krb5_u2u_write,(int,char *,int));
 I1    X  42051 _PROTOTYP(int krb5_u2u_read, (int,char *,int));
 I1    X  42052 _PROTOTYP(int k5_user_to_user_server_auth,(VOID));
 I1    X  42053 _PROTOTYP(int k5_user_to_user_client_auth,(VOID));
 I1    X  42054 #endif /* CK_KERBEROS */
 I1	  42055 
 I1	  42056 _PROTOTYP(int ck_krb5_is_installed,(void));
       E	 int ck_krb5_is_installed ( void )
 I1	  42057 _PROTOTYP(int ck_krb4_is_installed,(void));
       E	 int ck_krb4_is_installed ( void )
 I1	  42058 _PROTOTYP(int ck_srp_is_installed,(void));
       E	 int ck_srp_is_installed ( void )
 I1	  42059 _PROTOTYP(int ck_ntlm_is_installed,(void));
       E	 int ck_ntlm_is_installed ( void )
 I1	  42060 _PROTOTYP(int ck_crypt_is_installed,(void));
       E	 int ck_crypt_is_installed ( void )
 I1	  42061 _PROTOTYP(int ck_ssleay_is_installed,(void));
       E	 int ck_ssleay_is_installed ( void )
 I1	  42062 _PROTOTYP(int ck_gssapi_is_installed,(void));
       E	 int ck_gssapi_is_installed ( void )
 I1	  42063 _PROTOTYP(int ck_krypto_is_installed,(void));
       E	 int ck_krypto_is_installed ( void )
 I1	  42064 
 I1	  42065 _PROTOTYP(VOID ck_encrypt_send_support,(VOID));
       E	 void ck_encrypt_send_support ( void )
 I1	  42066 _PROTOTYP(int ck_get_crypt_table,(struct keytab **, int *));
       E	 int ck_get_crypt_table ( struct keytab * * , int * )
 I1	  42067 _PROTOTYP(char * ck_krb4_realmofhost,(char *));
       E	 char * ck_krb4_realmofhost ( char * )
 I1	  42068 _PROTOTYP(char * ck_krb5_realmofhost,(char *));
       E	 char * ck_krb5_realmofhost ( char * )
 I1	  42069 
 I1	  42070 #define FORWARD  /* allow forwarding of credential */
 I1	  42071 #ifdef FORWARD
 I1	  42072 _PROTOTYP(int kerberos5_forward,(VOID));
       E	 int kerberos5_forward ( void )
 I1	  42073 #endif /* FORWARD */
 I1	  42074 
 I1	  42075 #define AUTHTYPLSTSZ 8
 I1	  42076 #endif /*KRB5_KERMIT_H*/
	  42077 #endif /* def CK_SSL */
	  42078 
	  42079 /*
	  42080   How to get the struct timeval definition so we can call select().  The
	  42081   xxTIMEH symbols are defined in ckcdeb.h, overridden in various makefile

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 760
V1.0                                                             2-DEC-2022 11:41:16  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  42082   targets.  The problem is: maybe we have already included some header file
	  42083   that defined struct timeval, and maybe we didn't.  If we did, we don't want
	  42084   to include another header file that defines it again or the compilation will
	  42085   fail.  If we didn't, we have to include the header file where it's defined.
	  42086   But in some cases even that won't work because of strict POSIX constraints
	  42087   or somesuch, or because this introduces other conflicts (e.g. struct tm
	  42088   multiply defined), in which case we have to define it ourselves, but this
	  42089   can work only if we didn't already encounter a definition.
	  42090 */
	  42091 #ifndef DCLTIMEVAL
       X  42092 #ifdef SV68R3V6
       X  42093 #define DCLTIMEVAL
       X  42094 #else
       X  42095 #ifdef SCO234
       X  42096 #define DCLTIMEVAL
       X  42097 #endif /* SCO234 */
	  42098 #endif /* SV68R3V6 */
	  42099 #endif /* DCLTIMEVAL */
	  42100 
       X  42101 #ifdef DCLTIMEVAL
       X  42102 /* Also maybe in some places the elements must be unsigned... */
       X  42103 struct timeval {
       X  42104     long tv_sec;
       X  42105     long tv_usec;
       X  42106 };
       X  42107 #ifdef COMMENT
       X  42108 /* Currently we don't use this... */
       X  42109 struct timezone {
       X  42110     int tz_minuteswest;
       X  42111     int tz_dsttime;
       X  42112 };
       X  42113 #endif /* COMMENT */
       X  42114 #else  /* !DCLTIMEVAL */
	  42115 #ifndef NOSYSTIMEH
       X  42116 #ifdef SYSTIMEH
       X  42117 #include <sys/time.h>
       X  42118 #endif /* SYSTIMEH */
	  42119 #endif /* NOSYSTIMEH */
	  42120 #ifndef NOSYSTIMEBH
       X  42121 #ifdef SYSTIMEBH
       X  42122 #include <sys/timeb.h>
       X  42123 #endif /* SYSTIMEBH */
	  42124 #endif /* NOSYSTIMEBH */
	  42125 #endif /* DCLTIMEVAL */
	  42126 
	  42127 /* 2010-03-09 SMS.  VAX C needs help to find "sys".  It's easier not to try. */
	  42128 #ifdef VMS
       X  42129 #include <types.h>
       X  42130 #else /* def VMS */
       X  42131 #include <sys/types.h>
       X  42132 #endif /* def VMS [else] */
       X  42133 #include <stdio.h>
       X  42134 #include <string.h>
       X  42135 #ifdef HAVE_STDLIB_H
       X  42136 #include <stdlib.h>
       X  42137 #endif /* HAVE_STDLIB_H */
	  42138 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 761
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  42139 #ifndef NOSETTIME
       X  42140 #ifdef COMMENT
       X  42141 /* This section moved to ckcdeb.h */
       X  42142 #ifdef POSIX
       X  42143 #define UTIMEH
       X  42144 #else
       X  42145 #ifdef HPUX9
       X  42146 #define UTIMEH
       X  42147 #else
       X  42148 #ifdef OS2
       X  42149 #define SYSUTIMEH
       X  42150 #endif /* OS2 */
       X  42151 #endif /* HPUX9 */
       X  42152 #endif /* POSIX */
       X  42153 #endif /* COMMENT */
	  42154 
	  42155 #ifdef VMS				/* SMS 2007/02/15 */
	  42156 #include "ckvrtl.h"			/* for utime() */
 I1	  42157 /*
 I1	  42158   C-Kermit C RTL replacement functions for VMS systems.
 I1	  42159 */
 I1	  42160 
 I1	  42161 #ifndef __CKVVMS_H
 I1	  42162 #define __CKVVMS_H
 I1	  42163 
 I1	  42164 
 I1    X  42165 #ifdef OLDFIB
 I1    X  42166 # define FIB_L_ACCTL fib$r_acctl_overlay.fib$l_acctl
 I1    X  42167 # define FIB_W_DID fib$r_did_overlay.fib$w_did
 I1    X  42168 # define FIB_W_FID fib$r_fid_overlay.fib$w_fid
 I1    X  42169 #else /* def OLDFIB */
 I1	  42170 # define FIB_L_ACCTL fib$l_acctl
 I1	  42171 # define FIB_W_DID fib$w_did
 I1	  42172 # define FIB_W_FID fib$w_fid
 I1	  42173 #endif /* def OLDFIB [else] */
 I1	  42174 
 I1	  42175 
 I1	  42176 /* CKCFTP.C uses unlink(). */
 I1	  42177 
 I1    X  42178 #if __CRTL_VER < 70000000
 I1    X  42179 #  define unlink delete
 I1    X  42180 #endif /* __CRTL_VER < 70000000 */
 I1	  42181 
 I1	  42182 /* CKCFTP.C and others use utime(). */
 I1	  42183 
 I1	  42184 #if __CRTL_VER >= 70300000
 I1	  42185 #  include <utime.h>
 I2	  42186 #ifndef __UTIME_LOADED
 I2	  42187 #define __UTIME_LOADED 1
 I2	  42188 /*****************************************************************************
 I2	  42189 **
 I2	  42190 **  <utime.h> - utimbuf structure and utime function
 I2	  42191 **
 I2	  42192 ******************************************************************************
 I2	  42193 **  Header introduced by the ISO POSIX-1 Standard
 I2	  42194 *****************************************************************************
 I2	  42195 **                                                                       

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 762
V1.0                                                            23-JUN-2023 08:54:50  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UTIME)

 I2	  42196 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I2	  42197 **                                                                       
 I2	  42198 ** Confidential computer software.  Valid license from HP and/or         
 I2	  42199 ** its subsidiaries required for possession, use, or copying.            
 I2	  42200 **                                                                       
 I2	  42201 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I2	  42202 ** Computer Software Documentation, and Technical Data for Commercial    
 I2	  42203 ** Items are licensed to the U.S. Government under vendor's standard     
 I2	  42204 ** commercial license.                                                   
 I2	  42205 **                                                                       
 I2	  42206 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I2	  42207 ** or editorial errors or omissions contained herein.  The information   
 I2	  42208 ** in this document is provided "as is" without warranty of any kind and 
 I2	  42209 ** is subject to change without notice.  The warranties for HP products  
 I2	  42210 ** are set forth in the express limited warranty statements accompanying 
 I2	  42211 ** such products.  Nothing herein should be construed as constituting an 
 I2	  42212 ** additional warranty.                                                  
 I2	  42213 **                                                                       
 I2	  42214 *****************************************************************************
 I2	  42215 */
 I2	  42216 
 I2	  42217 #pragma __nostandard
 I2    X  42218 #include <decc$types.h>
 I2	  42219 
 I2    X  42220 #ifdef __cplusplus
 I2    X  42221     extern "C" {
 I2    X  42222 #endif
 I2	  42223 
 I2    X  42224 #ifndef __TIME_T
 I2    X  42225 #    define __TIME_T
 I2    X  42226 #ifdef __NAMESPACE_STD
 I2    X  42227 namespace std {
 I2    X  42228 #endif
 I2    X  42229      typedef __time_t time_t;
 I2    X  42230 #ifdef __NAMESPACE_STD
 I2    X  42231 } /* namespace std */
 I2    X  42232      using std::time_t;
 I2    X  42233 #endif
 I2    X  42234 #endif
 I2	  42235 
 I2	  42236 struct utimbuf {
 I2	  42237     __time_t actime;	/* access time */
 I2	  42238     __time_t modtime;	/* modification time */
 I2	  42239 };
 I2	  42240 
 I2	  42241 /*
 I2	  42242 **  If the user has used /pointer_size=short or /pointer_size=long,
 I2	  42243 **  we will allow long pointers to be used in function calls.
 I2	  42244 */
 I2    X  42245 #if __INITIAL_POINTER_SIZE
 I2    X  42246 #   pragma __pointer_size __save
 I2    X  42247 #   pragma __pointer_size 64
 I2    X  42248 #endif
 I2	  42249 
 I2	  42250 #if __CRTL_VER >= 70300000  
 I2	  42251 #   if !defined _VMS_V6_SOURCE
 I2	  42252 #      ifdef __CAN_USE_EXTERN_PREFIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 763
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(UTIME)

 I2	  42253 #          pragma __extern_prefix __save
 I2	  42254 #          pragma __extern_prefix "__utc_"
 I2    X  42255 #      else
 I2    X  42256 #          define utime(__p1,__p2)  __utc_utime(__p1,__p2)
 I2    X  42257 #      endif
 I2	  42258 #   endif
 I2	  42259 
 I2	  42260 int utime(const char *__path, const struct utimbuf *__times);
 I2	  42261 
 I2	  42262 #   if !defined _VMS_V6_SOURCE
 I2	  42263 #      ifdef __CAN_USE_EXTERN_PREFIX
 I2	  42264 #          pragma __extern_prefix __restore
 I2	  42265 #      endif
 I2	  42266 #   endif
 I2	  42267 #endif
 I2	  42268 
 I2	  42269 /*              
 I2	  42270 **  Restore the users pointer context
 I2	  42271 */
 I2    X  42272 #if __INITIAL_POINTER_SIZE
 I2    X  42273 #   pragma __pointer_size __restore
 I2    X  42274 #endif
 I2	  42275 
 I2    X  42276 #ifdef __cplusplus
 I2    X  42277     }
 I2    X  42278 #endif
 I2	  42279 
 I2	  42280 #pragma __standard
 I2	  42281 #endif /* __UTIME_LOADED */
 I1    X  42282 #else /* __CRTL_VER >= 70300000 */
 I1    X  42283 #  include <time.h>
 I1    X  42284 #  define utime vms_utime
 I1    X  42285 
 I1    X  42286 struct utimbuf {
 I1    X  42287     time_t actime;	/* access time */
 I1    X  42288     time_t modtime;	/* modification time */
 I1    X  42289 };
 I1    X  42290 
 I1    X  42291 int utime(const char *path, const struct utimbuf *times);
 I1    X  42292 
 I1    X  42293 #endif /* __CRTL_VER >= 70300000 [else] */
 I1	  42294 
 I1	  42295 #endif /* ndef __CKVVMS_H */
       X  42296 #else  /* def VMS */
       X  42297 #ifdef SYSUTIMEH
       X  42298 #include <sys/utime.h>
       X  42299 #else
       X  42300 #ifdef UTIMEH
       X  42301 #include <utime.h>
       X  42302 #define SYSUTIMEH
       X  42303 #endif /* UTIMEH */
       X  42304 #endif /* SYSUTIMEH */
       X  42305 #endif /* def VMS */
	  42306 #endif /* NOSETTIME */
	  42307 
	  42308 #ifndef SCO_OSR504
       X  42309 #ifdef SELECT_H

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 764
V1.0                                                            14-MAY-2022 12:28:33  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  42310 #include <sys/select.h>
       X  42311 #endif /* SELECT_H */
	  42312 #endif /* SCO_OSR504 */
	  42313 
       X  42314 #ifdef OS2
       X  42315 #ifndef NT
       X  42316 #ifdef __WATCOMC__
       X  42317 #include <types.h>
       X  42318 #endif /* __WATCOMC__ */
       X  42319 #endif /* NT */
       X  42320 #endif /* OS2 */
	  42321 
       X  42322 #ifdef NT
       X  42323 #include "ckoreg.h"
       X  42324 #endif  /* NT */
	  42325 
       X  42326 #ifndef INADDR_NONE			/* 2010-03-29 */
       X  42327 #define INADDR_NONE -1
       X  42328 #endif	/* INADDR_NONE */
	  42329 
	  42330 /* select() dialects... */
	  42331 
       X  42332 #ifdef UNIX
       X  42333 #define BSDSELECT                       /* BSD select() syntax/semantics */
       X  42334 #ifndef FD_SETSIZE
       X  42335 #define FD_SETSIZE 128
       X  42336 #endif	/* FD_SETSIZE */
       X  42337 #ifdef HPUX6				/* For HP-UX 6.5 circa 1989 */
       X  42338 typedef long fd_mask;
       X  42339 #define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
       X  42340 #ifndef howmany
       X  42341 #define howmany(x, y)   (((x)+((y)-1))/(y))
       X  42342 #endif	/* howmany */
       X  42343 #define FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
       X  42344 #define FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
       X  42345 #define FD_ISSET(n, p)  ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
       X  42346 #define FD_COPY(f, t)   bcopy(f, t, sizeof(*(f)))
       X  42347 #define FD_ZERO(p)      bzero(p, sizeof(*(p)))
       X  42348 #endif	/* HPUX6 */
       X  42349 
       X  42350 #else
       X  42351 #ifdef OS2                              /* OS/2 or Win32 */
       X  42352 #ifdef NT
       X  42353 #define BSDSELECT
       X  42354 #else /* NT */
       X  42355 #define IBMSELECT
       X  42356 #endif /* NT */
       X  42357 #endif /* OS2 */
	  42358 #endif /* UNIX */
	  42359 
	  42360 #ifdef VMS
	  42361 #define BSDSELECT			/* SMS 2007/02/15 */
	  42362 #endif /* def VMS */
	  42363 
	  42364 /* Other select() peculiarities */
	  42365 
       X  42366 #ifdef HPUX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 765
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  42367 #ifndef HPUX10                          /* HP-UX 9.xx and earlier */
       X  42368 #ifndef HPUX1100
       X  42369 /* The three interior args to select() are (int *) rather than (fd_set *) */
       X  42370 #ifndef INTSELECT
       X  42371 #define INTSELECT
       X  42372 #endif /* INTSELECT */
       X  42373 #endif /* HPUX1100 */
       X  42374 #endif /* HPUX10 */
       X  42375 #endif /* HPUX */
	  42376 
       X  42377 #ifdef CK_SOCKS                         /* SOCKS Internet relay package */
       X  42378 #ifdef CK_SOCKS5                        /* SOCKS 5 */
       X  42379 #define accept  SOCKSaccept
       X  42380 #define bind    SOCKSbind
       X  42381 #define connect SOCKSconnect
       X  42382 #define getsockname SOCKSgetsockname
       X  42383 #define listen SOCKSlisten
       X  42384 #else  /* Not SOCKS 5 */
       X  42385 #define accept  Raccept
       X  42386 #define bind    Rbind
       X  42387 #define connect Rconnect
       X  42388 #define getsockname Rgetsockname
       X  42389 #define listen Rlisten
       X  42390 #endif /* CK_SOCKS5 */
       X  42391 #endif /* CK_SOCKS */
	  42392 
       X  42393 #ifndef NOHTTP
       X  42394 extern char * tcp_http_proxy;           /* Name[:port] of http proxy server */
       X  42395 extern int    tcp_http_proxy_errno;
       X  42396 extern char * tcp_http_proxy_user;
       X  42397 extern char * tcp_http_proxy_pwd;
       X  42398 extern char * tcp_http_proxy_agent;
       X  42399 #define HTTPCPYL 1024
       X  42400 static char proxyhost[HTTPCPYL];
       X  42401 #endif /* NOHTTP */
	  42402 int ssl_ftp_proxy = 0;                  /* FTP over SSL/TLS Proxy Server */
	  42403 
	  42404 /* Feature selection */
	  42405 
	  42406 #ifndef USE_SHUTDOWN
	  42407 /*
	  42408   We don't use shutdown() because (a) we always call it just before close()
	  42409   so it's redundant and unnecessary, and (b) it introduces a long pause on
	  42410   some platforms like SV/68 R3.
	  42411 */
	  42412 /* #define USE_SHUTDOWN */
	  42413 #endif /* USE_SHUTDOWN */
	  42414 
	  42415 #ifndef NORESEND
	  42416 #ifndef NORESTART                       /* Restart / recover */
	  42417 #ifndef FTP_RESTART
	  42418 #define FTP_RESTART
	  42419 #endif /* FTP_RESTART */
	  42420 #endif /* NORESTART */
	  42421 #endif /* NORESEND */
	  42422 
	  42423 #ifndef NOUPDATE                        /* Update mode */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 766
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  42424 #ifndef DOUPDATE
	  42425 #define DOUPDATE
	  42426 #endif /* DOUPDATE */
	  42427 #endif /* NOUPDATE */
	  42428 
       X  42429 #ifndef UNICODE                         /* Unicode required */
       X  42430 #ifndef NOCSETS                         /* for charset translation */
       X  42431 #define NOCSETS
       X  42432 #endif /* NOCSETS */
       X  42433 #endif /* UNICODE */
	  42434 
	  42435 #ifndef OS2
	  42436 #ifndef HAVE_MSECS                      /* Millisecond timer */
       X  42437 #ifdef UNIX
       X  42438 #ifdef GFTIMER
       X  42439 #define HAVE_MSECS
       X  42440 #endif /* GFTIMER */
       X  42441 #endif /* UNIX */
	  42442 #endif /* HAVE_MSECS */
	  42443 #endif /* OS2 */
	  42444 
       X  42445 #ifdef PIPESEND                         /* PUT from pipe */
       X  42446 #ifndef PUTPIPE
       X  42447 #define PUTPIPE
       X  42448 #endif /* PUTPIPE */
       X  42449 #endif /* PIPESEND */
	  42450 
	  42451 #ifndef NOSPL                           /* PUT from array */
	  42452 #ifndef PUTARRAY
	  42453 #define PUTARRAY
	  42454 #endif /* PUTARRAY */
	  42455 #endif /* NOSPL */
	  42456 
	  42457 /* Security... */
	  42458 
       X  42459 #ifdef CK_SRP
       X  42460 #define FTP_SRP
       X  42461 #endif /* CK_SRP */
	  42462 
       X  42463 #ifdef CK_KERBEROS
       X  42464 #ifdef KRB4
       X  42465 /*
       X  42466   There is a conflict between the Key Schedule formats used internally
       X  42467   within the standalone MIT KRB4 library and that used by Eric Young
       X  42468   in OpenSSL and his standalone DES library.  Therefore, KRB4 FTP AUTH
       X  42469   cannot be supported when either of those two packages are used.
       X  42470 */
       X  42471 #ifdef KRB524
       X  42472 #define FTP_KRB4
       X  42473 #else /* KRB524 */
       X  42474 #ifndef CK_SSL
       X  42475 #ifndef LIBDES
       X  42476 #define FTP_KRB4
       X  42477 #endif /* LIBDES */
       X  42478 #endif /* CK_SSL */
       X  42479 #endif /* KRB524 */
       X  42480 #endif /* KRB4 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 767
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  42481 #ifdef KRB5
       X  42482 #ifndef HEIMDAL
       X  42483 #ifndef NOFTP_GSSAPI			/* 299 */
       X  42484 #ifdef HAVE_GSSAPI                      /* fdc 22 November 2022 */
       X  42485 #define FTP_GSSAPI
       X  42486 #endif  /* HAVE_GSSAPI */
       X  42487 #endif	/* NOFTP_GSSAPI */
       X  42488 #endif /* HEIMDAL */
       X  42489 #endif /* KRB5 */
       X  42490 #endif /* CK_KERBEROS */
	  42491 
	  42492 /* FTP_SECURITY is defined if any of the above is selected */
	  42493 #ifndef FTP_SECURITY
       X  42494 #ifdef FTP_GSSAPI
       X  42495 #define FTP_SECURITY
       X  42496 #else
       X  42497 #ifdef FTP_KRB4
       X  42498 #define FTP_SECURITY
       X  42499 #else
       X  42500 #ifdef FTP_SRP
       X  42501 #define FTP_SECURITY
       X  42502 #else
	  42503 #ifdef CK_SSL
	  42504 #define FTP_SECURITY
	  42505 #endif /* CK_SSL */
	  42506 #endif /* FTP_SRP */
	  42507 #endif /* FTP_KRB4 */
	  42508 #endif /* FTP_GSSAPI */
	  42509 #endif /* FTP_SECURITY */
	  42510 
       X  42511 #ifdef CK_DES
       X  42512 #ifdef CK_SSL
       X  42513 #ifndef LIBDES
       X  42514 #define LIBDES
       X  42515 #endif /* LIBDES */
       X  42516 #endif /* CK_SSL */
       X  42517 #endif /* CK_DES */
	  42518 
       X  42519 #ifdef CRYPT_DLL
       X  42520 #ifndef LIBDES
       X  42521 #define LIBDES
       X  42522 #endif /* LIBDES */
       X  42523 #endif /* CRYPT_DLL */
	  42524 
       X  42525 #ifdef FTP_KRB4
       X  42526 #define des_cblock Block
       X  42527 #define des_key_schedule Schedule
       X  42528 #ifdef KRB524
       X  42529 #ifdef NT
       X  42530 #define _WINDOWS
       X  42531 #endif /* NT */
       X  42532 #include "kerberosIV/krb.h"
       X  42533 #else /* KRB524 */
       X  42534 #ifdef SOLARIS
       X  42535 #ifndef sun
       X  42536 /* For some reason lost in history the Makefile Solaris targets have -Usun */
       X  42537 #define sun

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 768
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  42538 #endif /* sun */
       X  42539 #endif /* SOLARIS */
       X  42540 #include "krb.h"
       X  42541 #define krb_get_err_text_entry krb_get_err_text
       X  42542 #endif /* KRB524 */
       X  42543 #endif /* FTP_KRB4 */
	  42544 
	  42545 #ifdef CK_SSL
       X  42546 #ifdef FTP_KRB4
       X  42547 #ifndef HEADER_DES_H
       X  42548 #define HEADER_DES_H
       X  42549 #endif /* HEADER_DES_H */
       X  42550 #endif /* FTP_KRB4 */
	  42551 #include "ck_ssl.h"
 I1	  42552 /*
 I1	  42553   C K _ S S L . H --  OpenSSL Interface Header for C-Kermit
 I1	  42554 
 I1	  42555   Copyright (C) 1985, 2020,
 I1	  42556     Trustees of Columbia University in the City of New York.
 I1	  42557     All rights reserved.  See the C-Kermit COPYING.TXT file or the
 I1	  42558     copyright text in the ckcmai.c module for disclaimer and permissions.
 I1	  42559 
 I1	  42560     Authors:  Jeffrey E Altman (jaltman@secure-endpoints.com)
 I1	  42561                Secure Endpoints Inc., New York City
 I1	  42562               David Goodwin, New Zealand
 I1	  42563               SMS
 I1	  42564     Last update: Tue Nov 15 15:09:05 2022
 I1	  42565 */
 I1	  42566 
 I1	  42567 #ifdef CK_SSL
 I1    X  42568 #ifndef CK_ANSIC
 I1    X  42569 #define NOPROTO
 I1    X  42570 #endif /* CK_ANSIC */
 I1	  42571 
 I1    X  42572 #ifdef COMMENT                          /* Not for C-Kermit 7.1 */
 I1    X  42573 #ifdef KRB5
 I1    X  42574 #ifndef NOSSLK5
 I1    X  42575 #ifndef SSL_KRB5
 I1    X  42576 #define SSL_KRB5
 I1    X  42577 #endif /* SSL_KRB5 */
 I1    X  42578 #endif /* NOSSLK5 */
 I1    X  42579 #endif /* KRB5 */
 I1    X  42580 #endif /* COMMENT */
 I1	  42581 
 I1    X  42582 #ifdef OS2
 I1    X  42583 #ifndef ZLIB
 I1    X  42584 #define ZLIB
 I1    X  42585 #endif /* ZLIB */
 I1    X  42586 #endif /* OS2 */
 I1	  42587 
 I1    X  42588 #ifdef ZLIB
 I1    X  42589 #ifndef OPENSSL_NO_COMP
 I1    X  42590 #include <openssl/comp.h>
 I1    X  42591 #endif /* OPENSSL_NO_COMP */
 I1    X  42592 #endif /* ZLIB */
 I1	  42593 /* We place the following to avoid loading openssl/mdc2.h since it 
 I1	  42594  * relies on the OpenSSL des.h.  Since we do not need the MDC2 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 769
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ck_ssl.h;1

 I1	  42595  * definitions there is no reason to have it included by openssl/evp.h
 I1	  42596  */
 I1	  42597 #define OPENSSL_NO_MDC2
 I1	  42598 
 I1    X  42599 #ifdef OPENSSL_300                     /* sms 15 November 2022 */
 I1    X  42600 #ifndef OPENSSL_100
 I1    X  42601 #define OPENSSL_100
 I1    X  42602 #endif  /* OPENSSL_100 */
 I1    X  42603 #endif /* def OPENSSL_300 */
 I1	  42604 
 I1	  42605 #ifdef OPENSSL_100
 I1	  42606 #ifndef OPENSSL_098                     /* sms 15 November 2022 */
 I1	  42607 #define OPENSSL_098
 I1	  42608 #endif /* OPENSSL_098 */
 I1	  42609 /* Different major/minor version or development version of OpenSSL
 I1	  42610  * means ABI may break compatibility.
 I1	  42611  * Modified by Adam Friedlander for OpenSSL >= 1.0.0
 I1	  42612  * (See <openssl/opensslv.h> for OpenSSL version encoding details.)
 I1	  42613  */
 I1	  42614 #define COMPAT_VERSION_MASK 0xfff0000f  /* MNNffppS, major+minor+status */
 I1    X  42615 #else
 I1	  42616 /* Different major/minor/fix/development (not patch) version of OpenSSL
 I1    X  42617  * means ABI may break compatibility. */
 I1    X  42618 #define COMPAT_VERSION_MASK 0xfffff00f  /* MNNFFppS, major+minor+fix+status */
 I1    X  42619 #endif	/* OPENSSL_100 */
 I1	  42620 
 I1	  42621 #ifdef OPENSSL_098
 I1	  42622 #ifndef OPENSSL_097                     /* sms 15 November 2022 */
 I1	  42623 #define OPENSSL_097
 I1	  42624 #endif  /* OPENSSL_097 */
 I1	  42625 #endif /* OPENSSL_098 */
 I1    X  42626 #ifdef CK_DES
 I1    X  42627 #include <openssl/des.h>
 I1    X  42628 #endif	/* CK_DES */
 I1	  42629 #include <openssl/ssl.h>
 I2	  42630 /*
 I2	  42631  * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
 I2	  42632  *
 I2	  42633  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  42634  * this file except in compliance with the License.  You can obtain a copy
 I2	  42635  * in the file LICENSE in the source distribution or at
 I2	  42636  * https://www.openssl.org/source/license.html
 I2	  42637  */
 I2	  42638 
 I2	  42639 /*
 I2	  42640  * This file is only used by HP C/C++ on VMS, and is included automatically
 I2	  42641  * after each header file from this directory
 I2	  42642  */
 I2	  42643 
 I2	  42644 /*
 I2	  42645  * The C++ compiler doesn't understand these pragmas, even though it
 I2	  42646  * understands the corresponding command line qualifier.
 I2	  42647  */
 I2	  42648 #ifndef __cplusplus
 I2	  42649 /* save state */
 I2	  42650 # pragma names save
 I2	  42651 /* have the compiler shorten symbols larger than 31 chars to 23 chars

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 770
V1.0                                                            15-NOV-2022 14:09:07  [INCLUDE]__DECC_INCLUDE_PROLOGUE.H;1

 I2	  42652  * followed by a 8 hex char CRC
 I2	  42653  */
 I2	  42654 # pragma names as_is,shortened
 I2	  42655 
 I2	  42656 /*
 I2	  42657  * The HP C++ pragma "once" is not supported by HP C.  The pragma will be ignored.
 I2	  42658  */
 I2	  42659 #pragma message save
 I2	  42660 #pragma message disable (CXXPRAGMANA)
 I2	  42661 #endif
 I2	  42662 /*
 I2	  42663  * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
 I2	  42664  *
 I2	  42665  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  42666  * this file except in compliance with the License.  You can obtain a copy
 I2	  42667  * in the file LICENSE in the source distribution or at
 I2	  42668  * https://www.openssl.org/source/license.html
 I2	  42669  */
 I2	  42670 
 I2	  42671 /*
 I2	  42672  * This file is only used by HP C/C++ on VMS, and is included automatically
 I2	  42673  * after each header file from this directory
 I2	  42674  */
 I2	  42675 
 I2	  42676 /*
 I2	  42677  * The C++ compiler doesn't understand these pragmas, even though it
 I2	  42678  * understands the corresponding command line qualifier.
 I2	  42679  */
 I2	  42680 #ifndef __cplusplus
 I2	  42681 /* restore state.  Must correspond to the save in __decc_include_prologue.h */
 I2	  42682 # pragma names restore
 I2	  42683 
 I2	  42684 /*
 I2	  42685  * Restore message for warning CXXPRAGMANA
 I2	  42686  */
 I2	  42687 #pragma message restore
 I2	  42688 #endif
 I2	  42689 /*
 I2	  42690  * WARNING: do not edit!
 I2	  42691  * Generated by descrip.mms from [-.include.openssl]ssl.h.in
 I2	  42692  *
 I2	  42693  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I2	  42694  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I2	  42695  * Copyright 2005 Nokia. All rights reserved.
 I2	  42696  *
 I2	  42697  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  42698  * this file except in compliance with the License.  You can obtain a copy
 I2	  42699  * in the file LICENSE in the source distribution or at
 I2	  42700  * https://www.openssl.org/source/license.html
 I2	  42701  */
 I2	  42702 
 I2	  42703 
 I2	  42704 
 I2	  42705 #ifndef OPENSSL_SSL_H
 I2	  42706 # define OPENSSL_SSL_H
 I2	  42707 # pragma once
 I2	  42708 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 771
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  42709 # include <openssl/macros.h>
 I3	  42710 /*
 I3	  42711  * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  42712  *
 I3	  42713  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  42714  * this file except in compliance with the License.  You can obtain a copy
 I3	  42715  * in the file LICENSE in the source distribution or at
 I3	  42716  * https://www.openssl.org/source/license.html
 I3	  42717  */
 I3	  42718 
 I3	  42719 #ifndef OPENSSL_MACROS_H
 I3	  42720 # define OPENSSL_MACROS_H
 I3	  42721 # pragma once
 I3	  42722 
 I3	  42723 #include <openssl/opensslconf.h>
 I4	  42724 /*
 I4	  42725  * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  42726  *
 I4	  42727  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  42728  * this file except in compliance with the License.  You can obtain a copy
 I4	  42729  * in the file LICENSE in the source distribution or at
 I4	  42730  * https://www.openssl.org/source/license.html
 I4	  42731  */
 I4	  42732 
 I4	  42733 #ifndef OPENSSL_OPENSSLCONF_H
 I4	  42734 # define OPENSSL_OPENSSLCONF_H
 I4	  42735 # pragma once
 I4	  42736 
 I4	  42737 # include <openssl/configuration.h>
 I5	  42738 /*
 I5	  42739  * WARNING: do not edit!
 I5	  42740  * Generated by configdata.pm from [-.Configurations]common0.tmpl, [-.Configurations]descrip.mms.tmpl
 I5	  42741  * via descrip.mms.in
 I5	  42742  *
 I5	  42743  * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  42744  *
 I5	  42745  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  42746  * this file except in compliance with the License.  You can obtain a copy
 I5	  42747  * in the file LICENSE in the source distribution or at
 I5	  42748  * https://www.openssl.org/source/license.html
 I5	  42749  */
 I5	  42750 
 I5	  42751 #ifndef OPENSSL_CONFIGURATION_H
 I5	  42752 # define OPENSSL_CONFIGURATION_H
 I5	  42753 # pragma once
 I5	  42754 
 I5    X  42755 # ifdef  __cplusplus
 I5    X  42756 extern "C" {
 I5    X  42757 # endif
 I5	  42758 
 I5    X  42759 # ifdef OPENSSL_ALGORITHM_DEFINES
 I5    X  42760 #  error OPENSSL_ALGORITHM_DEFINES no longer supported
 I5    X  42761 # endif
 I5	  42762 
 I5	  42763 /*
 I5	  42764  * OpenSSL was configured with the following options:
 I5	  42765  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 772
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONFIGURATION.H;1

 I5	  42766 
 I5	  42767 # define OPENSSL_CONFIGURED_API 30000
 I5	  42768 # ifndef OPENSSL_RAND_SEED_OS
 I5	  42769 #  define OPENSSL_RAND_SEED_OS
 I5	  42770 # endif
 I5	  42771 # ifndef OPENSSL_THREADS
 I5	  42772 #  define OPENSSL_THREADS
 I5	  42773 # endif
 I5	  42774 # ifndef OPENSSL_NO_ACVP_TESTS
 I5	  42775 #  define OPENSSL_NO_ACVP_TESTS
 I5	  42776 # endif
 I5	  42777 # ifndef OPENSSL_NO_AFALGENG
 I5	  42778 #  define OPENSSL_NO_AFALGENG
 I5	  42779 # endif
 I5	  42780 # ifndef OPENSSL_NO_ASAN
 I5	  42781 #  define OPENSSL_NO_ASAN
 I5	  42782 # endif
 I5	  42783 # ifndef OPENSSL_NO_ASM
 I5	  42784 #  define OPENSSL_NO_ASM
 I5	  42785 # endif
 I5	  42786 # ifndef OPENSSL_NO_CRYPTO_MDEBUG
 I5	  42787 #  define OPENSSL_NO_CRYPTO_MDEBUG
 I5	  42788 # endif
 I5	  42789 # ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
 I5	  42790 #  define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
 I5	  42791 # endif
 I5	  42792 # ifndef OPENSSL_NO_DEVCRYPTOENG
 I5	  42793 #  define OPENSSL_NO_DEVCRYPTOENG
 I5	  42794 # endif
 I5	  42795 # ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
 I5	  42796 #  define OPENSSL_NO_EC_NISTP_64_GCC_128
 I5	  42797 # endif
 I5	  42798 # ifndef OPENSSL_NO_EGD
 I5	  42799 #  define OPENSSL_NO_EGD
 I5	  42800 # endif
 I5	  42801 # ifndef OPENSSL_NO_EXTERNAL_TESTS
 I5	  42802 #  define OPENSSL_NO_EXTERNAL_TESTS
 I5	  42803 # endif
 I5	  42804 # ifndef OPENSSL_NO_FIPS_SECURITYCHECKS
 I5	  42805 #  define OPENSSL_NO_FIPS_SECURITYCHECKS
 I5	  42806 # endif
 I5	  42807 # ifndef OPENSSL_NO_FUZZ_AFL
 I5	  42808 #  define OPENSSL_NO_FUZZ_AFL
 I5	  42809 # endif
 I5	  42810 # ifndef OPENSSL_NO_FUZZ_LIBFUZZER
 I5	  42811 #  define OPENSSL_NO_FUZZ_LIBFUZZER
 I5	  42812 # endif
 I5	  42813 # ifndef OPENSSL_NO_IDEA
 I5	  42814 #  define OPENSSL_NO_IDEA
 I5	  42815 # endif
 I5	  42816 # ifndef OPENSSL_NO_KTLS
 I5	  42817 #  define OPENSSL_NO_KTLS
 I5	  42818 # endif
 I5	  42819 # ifndef OPENSSL_NO_LOADERENG
 I5	  42820 #  define OPENSSL_NO_LOADERENG
 I5	  42821 # endif
 I5	  42822 # ifndef OPENSSL_NO_MD2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 773
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONFIGURATION.H;1

 I5	  42823 #  define OPENSSL_NO_MD2
 I5	  42824 # endif
 I5    X  42825 # ifndef OPENSSL_NO_MDC2
 I5    X  42826 #  define OPENSSL_NO_MDC2
 I5    X  42827 # endif
 I5	  42828 # ifndef OPENSSL_NO_MSAN
 I5	  42829 #  define OPENSSL_NO_MSAN
 I5	  42830 # endif
 I5	  42831 # ifndef OPENSSL_NO_PINSHARED
 I5	  42832 #  define OPENSSL_NO_PINSHARED
 I5	  42833 # endif
 I5	  42834 # ifndef OPENSSL_NO_RC5
 I5	  42835 #  define OPENSSL_NO_RC5
 I5	  42836 # endif
 I5	  42837 # ifndef OPENSSL_NO_SCTP
 I5	  42838 #  define OPENSSL_NO_SCTP
 I5	  42839 # endif
 I5	  42840 # ifndef OPENSSL_NO_SSL3
 I5	  42841 #  define OPENSSL_NO_SSL3
 I5	  42842 # endif
 I5	  42843 # ifndef OPENSSL_NO_SSL3_METHOD
 I5	  42844 #  define OPENSSL_NO_SSL3_METHOD
 I5	  42845 # endif
 I5	  42846 # ifndef OPENSSL_NO_TRACE
 I5	  42847 #  define OPENSSL_NO_TRACE
 I5	  42848 # endif
 I5	  42849 # ifndef OPENSSL_NO_UBSAN
 I5	  42850 #  define OPENSSL_NO_UBSAN
 I5	  42851 # endif
 I5	  42852 # ifndef OPENSSL_NO_UNIT_TEST
 I5	  42853 #  define OPENSSL_NO_UNIT_TEST
 I5	  42854 # endif
 I5	  42855 # ifndef OPENSSL_NO_UPLINK
 I5	  42856 #  define OPENSSL_NO_UPLINK
 I5	  42857 # endif
 I5	  42858 # ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
 I5	  42859 #  define OPENSSL_NO_WEAK_SSL_CIPHERS
 I5	  42860 # endif
 I5	  42861 # ifndef OPENSSL_NO_STATIC_ENGINE
 I5	  42862 #  define OPENSSL_NO_STATIC_ENGINE
 I5	  42863 # endif
 I5	  42864 
 I5	  42865 
 I5	  42866 /* Generate 80386 code? */
 I5	  42867 # undef I386_ONLY
 I5	  42868 
 I5	  42869 /*
 I5	  42870  * The following are cipher-specific, but are part of the public API.
 I5	  42871  */
 I5	  42872 # if !defined(OPENSSL_SYS_UEFI)
 I5	  42873 #  undef BN_LLONG
 I5	  42874 /* Only one for the following should be defined */
 I5	  42875 #  undef SIXTY_FOUR_BIT_LONG
 I5	  42876 #  define SIXTY_FOUR_BIT
 I5	  42877 #  undef THIRTY_TWO_BIT
 I5	  42878 # endif
 I5	  42879 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 774
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONFIGURATION.H;1

 I5	  42880 # define RC4_INT unsigned int
 I5	  42881 
 I5    X  42882 # ifdef  __cplusplus
 I5    X  42883 }
 I5    X  42884 # endif
 I5	  42885 
 I5	  42886 #endif                          /* OPENSSL_CONFIGURATION_H */
 I4	  42887 # include <openssl/macros.h>
 I5	  42888 /*
 I5	  42889  * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  42890  *
 I5	  42891  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  42892  * this file except in compliance with the License.  You can obtain a copy
 I5	  42893  * in the file LICENSE in the source distribution or at
 I5	  42894  * https://www.openssl.org/source/license.html
 I5	  42895  */
 I5	  42896 
 I5    X  42897 #ifndef OPENSSL_MACROS_H
 I5    X  42898 # define OPENSSL_MACROS_H
 I5    X  42899 # pragma once
 I5    X  42900 
 I5    X  42901 #include <openssl/opensslconf.h>
 I5    X  42902 #include <openssl/opensslv.h>
 I5    X  42903 
 I5    X  42904 
 I5    X  42905 /* Helper macros for CPP string composition */
 I5    X  42906 # define OPENSSL_MSTR_HELPER(x) #x
 I5    X  42907 # define OPENSSL_MSTR(x) OPENSSL_MSTR_HELPER(x)
 I5    X  42908 
 I5    X  42909 /*
 I5    X  42910  * Sometimes OPENSSL_NO_xxx ends up with an empty file and some compilers
 I5    X  42911  * don't like that.  This will hopefully silence them.
 I5    X  42912  */
 I5    X  42913 # define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
 I5    X  42914 
 I5    X  42915 /*
 I5    X  42916  * Generic deprecation macro
 I5    X  42917  *
 I5    X  42918  * If OPENSSL_SUPPRESS_DEPRECATED is defined, then OSSL_DEPRECATED and
 I5    X  42919  * OSSL_DEPRECATED_FOR become no-ops
 I5    X  42920  */
 I5    X  42921 # ifndef OSSL_DEPRECATED
 I5    X  42922 #  undef OSSL_DEPRECATED_FOR
 I5    X  42923 #  ifndef OPENSSL_SUPPRESS_DEPRECATED
 I5    X  42924 #   if defined(_MSC_VER)
 I5    X  42925      /*
 I5    X  42926       * MSVC supports __declspec(deprecated) since MSVC 2003 (13.10),
 I5    X  42927       * and __declspec(deprecated(message)) since MSVC 2005 (14.00)
 I5    X  42928       */
 I5    X  42929 #    if _MSC_VER >= 1400
 I5    X  42930 #     define OSSL_DEPRECATED(since) \
 I5    X  42931           __declspec(deprecated("Since OpenSSL " # since))
 I5    X  42932 #     define OSSL_DEPRECATED_FOR(since, message) \
 I5    X  42933           __declspec(deprecated("Since OpenSSL " # since ";" message))
 I5    X  42934 #    elif _MSC_VER >= 1310
 I5    X  42935 #     define OSSL_DEPRECATED(since) __declspec(deprecated)
 I5    X  42936 #     define OSSL_DEPRECATED_FOR(since, message) __declspec(deprecated)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 775
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I5    X  42937 #    endif
 I5    X  42938 #   elif defined(__GNUC__)
 I5    X  42939      /*
 I5    X  42940       * According to GCC documentation, deprecations with message appeared in
 I5    X  42941       * GCC 4.5.0
 I5    X  42942       */
 I5    X  42943 #    if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
 I5    X  42944 #     define OSSL_DEPRECATED(since) \
 I5    X  42945           __attribute__((deprecated("Since OpenSSL " # since)))
 I5    X  42946 #     define OSSL_DEPRECATED_FOR(since, message) \
 I5    X  42947           __attribute__((deprecated("Since OpenSSL " # since ";" message)))
 I5    X  42948 #    elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
 I5    X  42949 #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
 I5    X  42950 #     define OSSL_DEPRECATED_FOR(since, message) __attribute__((deprecated))
 I5    X  42951 #    endif
 I5    X  42952 #   elif defined(__SUNPRO_C)
 I5    X  42953 #    if (__SUNPRO_C >= 0x5130)
 I5    X  42954 #     define OSSL_DEPRECATED(since) __attribute__ ((deprecated))
 I5    X  42955 #     define OSSL_DEPRECATED_FOR(since, message) __attribute__ ((deprecated))
 I5    X  42956 #    endif
 I5    X  42957 #   endif
 I5    X  42958 #  endif
 I5    X  42959 # endif
 I5    X  42960 
 I5    X  42961 /*
 I5    X  42962  * Still not defined?  Then define no-op macros. This means these macros
 I5    X  42963  * are unsuitable for use in a typedef.
 I5    X  42964  */
 I5    X  42965 # ifndef OSSL_DEPRECATED
 I5    X  42966 #  define OSSL_DEPRECATED(since)                extern
 I5    X  42967 #  define OSSL_DEPRECATED_FOR(since, message)   extern
 I5    X  42968 # endif
 I5    X  42969 
 I5    X  42970 /*
 I5    X  42971  * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
 I5    X  42972  * declarations of functions deprecated in or before <version>.  If this is
 I5    X  42973  * undefined, the value of the macro OPENSSL_CONFIGURED_API (defined in
 I5    X  42974  * <openssl/opensslconf.h>) is the default.
 I5    X  42975  *
 I5    X  42976  * For any version number up until version 1.1.x, <version> is expected to be
 I5    X  42977  * the calculated version number 0xMNNFFPPSL.
 I5    X  42978  * For version numbers 3.0 and on, <version> is expected to be a computation
 I5    X  42979  * of the major and minor numbers in decimal using this formula:
 I5    X  42980  *
 I5    X  42981  *     MAJOR * 10000 + MINOR * 100
 I5    X  42982  *
 I5    X  42983  * So version 3.0 becomes 30000, version 3.2 becomes 30200, etc.
 I5    X  42984  */
 I5    X  42985 
 I5    X  42986 /*
 I5    X  42987  * We use the OPENSSL_API_COMPAT value to define API level macros.  These
 I5    X  42988  * macros are used to enable or disable features at that API version boundary.
 I5    X  42989  */
 I5    X  42990 
 I5    X  42991 # ifdef OPENSSL_API_LEVEL
 I5    X  42992 #  error "OPENSSL_API_LEVEL must not be defined by application"
 I5    X  42993 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 776
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I5    X  42994 
 I5    X  42995 /*
 I5    X  42996  * We figure out what API level was intended by simple numeric comparison.
 I5    X  42997  * The lowest old style number we recognise is 0x00908000L, so we take some
 I5    X  42998  * safety margin and assume that anything below 0x00900000L is a new style
 I5    X  42999  * number.  This allows new versions up to and including v943.71.83.
 I5    X  43000  */
 I5    X  43001 # ifdef OPENSSL_API_COMPAT
 I5    X  43002 #  if OPENSSL_API_COMPAT < 0x900000L
 I5    X  43003 #   define OPENSSL_API_LEVEL (OPENSSL_API_COMPAT)
 I5    X  43004 #  else
 I5    X  43005 #   define OPENSSL_API_LEVEL                            \
 I5    X  43006            (((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000  \
 I5    X  43007             + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
 I5    X  43008             + ((OPENSSL_API_COMPAT >> 12) & 0xFF))
 I5    X  43009 #  endif
 I5    X  43010 # endif
 I5    X  43011 
 I5    X  43012 /*
 I5    X  43013  * If OPENSSL_API_COMPAT wasn't given, we use default numbers to set
 I5    X  43014  * the API compatibility level.
 I5    X  43015  */
 I5    X  43016 # ifndef OPENSSL_API_LEVEL
 I5    X  43017 #  if OPENSSL_CONFIGURED_API > 0
 I5    X  43018 #   define OPENSSL_API_LEVEL (OPENSSL_CONFIGURED_API)
 I5    X  43019 #  else
 I5    X  43020 #   define OPENSSL_API_LEVEL \
 I5    X  43021            (OPENSSL_VERSION_MAJOR * 10000 + OPENSSL_VERSION_MINOR * 100)
 I5    X  43022 #  endif
 I5    X  43023 # endif
 I5    X  43024 
 I5    X  43025 # if OPENSSL_API_LEVEL > OPENSSL_CONFIGURED_API
 I5    X  43026 #  error "The requested API level higher than the configured API compatibility level"
 I5    X  43027 # endif
 I5    X  43028 
 I5    X  43029 /*
 I5    X  43030  * Check of sane values.
 I5    X  43031  */
 I5    X  43032 /* Can't go higher than the current version. */
 I5    X  43033 # if OPENSSL_API_LEVEL > (OPENSSL_VERSION_MAJOR * 10000 + OPENSSL_VERSION_MINOR * 100)
 I5    X  43034 #  error "OPENSSL_API_COMPAT expresses an impossible API compatibility level"
 I5    X  43035 # endif
 I5    X  43036 /* OpenSSL will have no version 2.y.z */
 I5    X  43037 # if OPENSSL_API_LEVEL < 30000 && OPENSSL_API_LEVEL >= 20000
 I5    X  43038 #  error "OPENSSL_API_COMPAT expresses an impossible API compatibility level"
 I5    X  43039 # endif
 I5    X  43040 /* Below 0.9.8 is unacceptably low */
 I5    X  43041 # if OPENSSL_API_LEVEL < 908
 I5    X  43042 #  error "OPENSSL_API_COMPAT expresses an impossible API compatibility level"
 I5    X  43043 # endif
 I5    X  43044 
 I5    X  43045 /*
 I5    X  43046  * Define macros for deprecation and simulated removal purposes.
 I5    X  43047  *
 I5    X  43048  * The macros OSSL_DEPRECATED_{major}_{minor} are always defined for
 I5    X  43049  * all OpenSSL versions we care for.  They can be used as attributes
 I5    X  43050  * in function declarations where appropriate.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 777
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I5    X  43051  *
 I5    X  43052  * The macros OPENSSL_NO_DEPRECATED_{major}_{minor} are defined for
 I5    X  43053  * all OpenSSL versions up to or equal to the version given with
 I5    X  43054  * OPENSSL_API_COMPAT.  They are used as guards around anything that's
 I5    X  43055  * deprecated up to that version, as an effect of the developer option
 I5    X  43056  * 'no-deprecated'.
 I5    X  43057  */
 I5    X  43058 
 I5    X  43059 # undef OPENSSL_NO_DEPRECATED_3_0
 I5    X  43060 # undef OPENSSL_NO_DEPRECATED_1_1_1
 I5    X  43061 # undef OPENSSL_NO_DEPRECATED_1_1_0
 I5    X  43062 # undef OPENSSL_NO_DEPRECATED_1_0_2
 I5    X  43063 # undef OPENSSL_NO_DEPRECATED_1_0_1
 I5    X  43064 # undef OPENSSL_NO_DEPRECATED_1_0_0
 I5    X  43065 # undef OPENSSL_NO_DEPRECATED_0_9_8
 I5    X  43066 
 I5    X  43067 # if OPENSSL_API_LEVEL >= 30000
 I5    X  43068 #  ifndef OPENSSL_NO_DEPRECATED
 I5    X  43069 #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
 I5    X  43070 #   define OSSL_DEPRECATEDIN_3_0_FOR(msg)       OSSL_DEPRECATED_FOR(3.0, msg)
 I5    X  43071 #  else
 I5    X  43072 #   define OPENSSL_NO_DEPRECATED_3_0
 I5    X  43073 #  endif
 I5    X  43074 # else
 I5    X  43075 #  define OSSL_DEPRECATEDIN_3_0
 I5    X  43076 #  define OSSL_DEPRECATEDIN_3_0_FOR(msg)
 I5    X  43077 # endif
 I5    X  43078 # if OPENSSL_API_LEVEL >= 10101
 I5    X  43079 #  ifndef OPENSSL_NO_DEPRECATED
 I5    X  43080 #   define OSSL_DEPRECATEDIN_1_1_1              OSSL_DEPRECATED(1.1.1)
 I5    X  43081 #   define OSSL_DEPRECATEDIN_1_1_1_FOR(msg)     OSSL_DEPRECATED_FOR(1.1.1, msg)
 I5    X  43082 #  else
 I5    X  43083 #   define OPENSSL_NO_DEPRECATED_1_1_1
 I5    X  43084 #  endif
 I5    X  43085 # else
 I5    X  43086 #  define OSSL_DEPRECATEDIN_1_1_1
 I5    X  43087 #  define OSSL_DEPRECATEDIN_1_1_1_FOR(msg)
 I5    X  43088 # endif
 I5    X  43089 # if OPENSSL_API_LEVEL >= 10100
 I5    X  43090 #  ifndef OPENSSL_NO_DEPRECATED
 I5    X  43091 #   define OSSL_DEPRECATEDIN_1_1_0              OSSL_DEPRECATED(1.1.0)
 I5    X  43092 #   define OSSL_DEPRECATEDIN_1_1_0_FOR(msg)     OSSL_DEPRECATED_FOR(1.1.0, msg)
 I5    X  43093 #  else
 I5    X  43094 #   define OPENSSL_NO_DEPRECATED_1_1_0
 I5    X  43095 #  endif
 I5    X  43096 # else
 I5    X  43097 #  define OSSL_DEPRECATEDIN_1_1_0
 I5    X  43098 #  define OSSL_DEPRECATEDIN_1_1_0_FOR(msg)
 I5    X  43099 # endif
 I5    X  43100 # if OPENSSL_API_LEVEL >= 10002
 I5    X  43101 #  ifndef OPENSSL_NO_DEPRECATED
 I5    X  43102 #   define OSSL_DEPRECATEDIN_1_0_2              OSSL_DEPRECATED(1.0.2)
 I5    X  43103 #   define OSSL_DEPRECATEDIN_1_0_2_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.2, msg)
 I5    X  43104 #  else
 I5    X  43105 #   define OPENSSL_NO_DEPRECATED_1_0_2
 I5    X  43106 #  endif
 I5    X  43107 # else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 778
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I5    X  43108 #  define OSSL_DEPRECATEDIN_1_0_2
 I5    X  43109 #  define OSSL_DEPRECATEDIN_1_0_2_FOR(msg)
 I5    X  43110 # endif
 I5    X  43111 # if OPENSSL_API_LEVEL >= 10001
 I5    X  43112 #  ifndef OPENSSL_NO_DEPRECATED
 I5    X  43113 #   define OSSL_DEPRECATEDIN_1_0_1              OSSL_DEPRECATED(1.0.1)
 I5    X  43114 #   define OSSL_DEPRECATEDIN_1_0_1_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.1, msg)
 I5    X  43115 #  else
 I5    X  43116 #   define OPENSSL_NO_DEPRECATED_1_0_1
 I5    X  43117 #  endif
 I5    X  43118 # else
 I5    X  43119 #  define OSSL_DEPRECATEDIN_1_0_1
 I5    X  43120 #  define OSSL_DEPRECATEDIN_1_0_1_FOR(msg)
 I5    X  43121 # endif
 I5    X  43122 # if OPENSSL_API_LEVEL >= 10000
 I5    X  43123 #  ifndef OPENSSL_NO_DEPRECATED
 I5    X  43124 #   define OSSL_DEPRECATEDIN_1_0_0              OSSL_DEPRECATED(1.0.0)
 I5    X  43125 #   define OSSL_DEPRECATEDIN_1_0_0_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.0, msg)
 I5    X  43126 #  else
 I5    X  43127 #   define OPENSSL_NO_DEPRECATED_1_0_0
 I5    X  43128 #  endif
 I5    X  43129 # else
 I5    X  43130 #  define OSSL_DEPRECATEDIN_1_0_0
 I5    X  43131 #  define OSSL_DEPRECATEDIN_1_0_0_FOR(msg)
 I5    X  43132 # endif
 I5    X  43133 # if OPENSSL_API_LEVEL >= 908
 I5    X  43134 #  ifndef OPENSSL_NO_DEPRECATED
 I5    X  43135 #   define OSSL_DEPRECATEDIN_0_9_8              OSSL_DEPRECATED(0.9.8)
 I5    X  43136 #   define OSSL_DEPRECATEDIN_0_9_8_FOR(msg)     OSSL_DEPRECATED_FOR(0.9.8, msg)
 I5    X  43137 #  else
 I5    X  43138 #   define OPENSSL_NO_DEPRECATED_0_9_8
 I5    X  43139 #  endif
 I5    X  43140 # else
 I5    X  43141 #  define OSSL_DEPRECATEDIN_0_9_8
 I5    X  43142 #  define OSSL_DEPRECATEDIN_0_9_8_FOR(msg)
 I5    X  43143 # endif
 I5    X  43144 
 I5    X  43145 /*
 I5    X  43146  * Make our own variants of __FILE__ and __LINE__, depending on configuration
 I5    X  43147  */
 I5    X  43148 
 I5    X  43149 # ifndef OPENSSL_FILE
 I5    X  43150 #  ifdef OPENSSL_NO_FILENAMES
 I5    X  43151 #   define OPENSSL_FILE ""
 I5    X  43152 #   define OPENSSL_LINE 0
 I5    X  43153 #  else
 I5    X  43154 #   define OPENSSL_FILE __FILE__
 I5    X  43155 #   define OPENSSL_LINE __LINE__
 I5    X  43156 #  endif
 I5    X  43157 # endif
 I5    X  43158 
 I5    X  43159 /*
 I5    X  43160  * __func__ was standardized in C99, so for any compiler that claims
 I5    X  43161  * to implement that language level or newer, we assume we can safely
 I5    X  43162  * use that symbol.
 I5    X  43163  *
 I5    X  43164  * GNU C also provides __FUNCTION__ since version 2, which predates

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 779
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I5    X  43165  * C99.  We can, however, only use this if __STDC_VERSION__ exists,
 I5    X  43166  * as it's otherwise not allowed according to ISO C standards (C90).
 I5    X  43167  * (compiling with GNU C's -pedantic tells us so)
 I5    X  43168  *
 I5    X  43169  * If none of the above applies, we check if the compiler is MSVC,
 I5    X  43170  * and use __FUNCTION__ if that's the case.
 I5    X  43171  */
 I5    X  43172 # ifndef OPENSSL_FUNC
 I5    X  43173 #  if defined(__STDC_VERSION__)
 I5    X  43174 #   if __STDC_VERSION__ >= 199901L
 I5    X  43175 #    define OPENSSL_FUNC __func__
 I5    X  43176 #   elif defined(__GNUC__) && __GNUC__ >= 2
 I5    X  43177 #    define OPENSSL_FUNC __FUNCTION__
 I5    X  43178 #   endif
 I5    X  43179 #  elif defined(_MSC_VER)
 I5    X  43180 #    define OPENSSL_FUNC __FUNCTION__
 I5    X  43181 #  endif
 I5    X  43182 /*
 I5    X  43183  * If all these possibilities are exhausted, we give up and use a
 I5    X  43184  * static string.
 I5    X  43185  */
 I5    X  43186 #  ifndef OPENSSL_FUNC
 I5    X  43187 #   define OPENSSL_FUNC "(unknown function)"
 I5    X  43188 #  endif
 I5    X  43189 # endif
 I5    X  43190 
 I5    X  43191 #endif  /* OPENSSL_MACROS_H */
 I4	  43192 
 I4	  43193 #endif  /* OPENSSL_OPENSSLCONF_H */
 I3	  43194 #include <openssl/opensslv.h>
 I4	  43195 /*
 I4	  43196  * WARNING: do not edit!
 I4	  43197  * Generated by descrip.mms from [-.include.openssl]opensslv.h.in
 I4	  43198  *
 I4	  43199  * Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved.
 I4	  43200  *
 I4	  43201  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  43202  * this file except in compliance with the License.  You can obtain a copy
 I4	  43203  * in the file LICENSE in the source distribution or at
 I4	  43204  * https://www.openssl.org/source/license.html
 I4	  43205  */
 I4	  43206 
 I4	  43207 #ifndef OPENSSL_OPENSSLV_H
 I4	  43208 # define OPENSSL_OPENSSLV_H
 I4	  43209 # pragma once
 I4	  43210 
 I4    X  43211 # ifdef  __cplusplus
 I4    X  43212 extern "C" {
 I4    X  43213 # endif
 I4	  43214 
 I4	  43215 /*
 I4	  43216  * SECTION 1: VERSION DATA.  These will change for each release
 I4	  43217  */
 I4	  43218 
 I4	  43219 /*
 I4	  43220  * Base version macros
 I4	  43221  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 780
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OPENSSLV.H;1

 I4	  43222  * These macros express version number MAJOR.MINOR.PATCH exactly
 I4	  43223  */
 I4	  43224 # define OPENSSL_VERSION_MAJOR  3
 I4	  43225 # define OPENSSL_VERSION_MINOR  0
 I4	  43226 # define OPENSSL_VERSION_PATCH  7
 I4	  43227 
 I4	  43228 /*
 I4	  43229  * Additional version information
 I4	  43230  *
 I4	  43231  * These are also part of the new version scheme, but aren't part
 I4	  43232  * of the version number itself.
 I4	  43233  */
 I4	  43234 
 I4	  43235 /* Could be: #define OPENSSL_VERSION_PRE_RELEASE "-alpha.1" */
 I4	  43236 # define OPENSSL_VERSION_PRE_RELEASE ""
 I4	  43237 /* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+fips" */
 I4	  43238 /* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+vendor.1" */
 I4	  43239 # define OPENSSL_VERSION_BUILD_METADATA ""
 I4	  43240 
 I4	  43241 /*
 I4	  43242  * Note: The OpenSSL Project will never define OPENSSL_VERSION_BUILD_METADATA
 I4	  43243  * to be anything but the empty string.  Its use is entirely reserved for
 I4	  43244  * others
 I4	  43245  */
 I4	  43246 
 I4	  43247 /*
 I4	  43248  * Shared library version
 I4	  43249  *
 I4	  43250  * This is strictly to express ABI version, which may or may not
 I4	  43251  * be related to the API version expressed with the macros above.
 I4	  43252  * This is defined in free form.
 I4	  43253  */
 I4	  43254 # define OPENSSL_SHLIB_VERSION 3
 I4	  43255 
 I4	  43256 /*
 I4	  43257  * SECTION 2: USEFUL MACROS
 I4	  43258  */
 I4	  43259 
 I4	  43260 /* For checking general API compatibility when preprocessing */
 I4	  43261 # define OPENSSL_VERSION_PREREQ(maj,min)                                \
 I4	  43262     ((OPENSSL_VERSION_MAJOR << 16) + OPENSSL_VERSION_MINOR >= ((maj) << 16) + (min))
 I4	  43263 
 I4	  43264 /*
 I4	  43265  * Macros to get the version in easily digested string form, both the short
 I4	  43266  * "MAJOR.MINOR.PATCH" variant (where MAJOR, MINOR and PATCH are replaced
 I4	  43267  * with the values from the corresponding OPENSSL_VERSION_ macros) and the
 I4	  43268  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
 I4	  43269  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
 I4	  43270  */
 I4	  43271 # define OPENSSL_VERSION_STR "3.0.7"
 I4	  43272 # define OPENSSL_FULL_VERSION_STR "3.0.7"
 I4	  43273 
 I4	  43274 /*
 I4	  43275  * SECTION 3: ADDITIONAL METADATA
 I4	  43276  *
 I4	  43277  * These strings are defined separately to allow them to be parsable.
 I4	  43278  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 781
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]OPENSSLV.H;1

 I4	  43279 # define OPENSSL_RELEASE_DATE "9 Nov 2022"
 I4	  43280 
 I4	  43281 /*
 I4	  43282  * SECTION 4: BACKWARD COMPATIBILITY
 I4	  43283  */
 I4	  43284 
 I4	  43285 # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.7 9 Nov 2022"
 I4	  43286 # define SSL_VMS_VERSION_TEXT "SSL3 for OpenVMS V3.0(7) " __DATE__
 I4	  43287 
 I4	  43288 /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
 I4	  43289 # ifdef OPENSSL_VERSION_PRE_RELEASE
 I4	  43290 #  define _OPENSSL_VERSION_PRE_RELEASE 0x0L
 I4    X  43291 # else
 I4    X  43292 #  define _OPENSSL_VERSION_PRE_RELEASE 0xfL
 I4    X  43293 # endif
 I4	  43294 # define OPENSSL_VERSION_NUMBER          \
 I4	  43295     ( (OPENSSL_VERSION_MAJOR<<28)        \
 I4	  43296       |(OPENSSL_VERSION_MINOR<<20)       \
 I4	  43297       |(OPENSSL_VERSION_PATCH<<4)        \
 I4	  43298       |_OPENSSL_VERSION_PRE_RELEASE )
 I4	  43299 
 I4    X  43300 # ifdef  __cplusplus
 I4    X  43301 }
 I4    X  43302 # endif
 I4	  43303 
 I4    X  43304 # include <openssl/macros.h>
 I4	  43305 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  43306 #  define HEADER_OPENSSLV_H
 I4	  43307 # endif
 I4	  43308 
 I4	  43309 #endif                          /* OPENSSL_OPENSSLV_H */
 I3	  43310 
 I3	  43311 
 I3	  43312 /* Helper macros for CPP string composition */
 I3	  43313 # define OPENSSL_MSTR_HELPER(x) #x
 I3	  43314 # define OPENSSL_MSTR(x) OPENSSL_MSTR_HELPER(x)
 I3	  43315 
 I3	  43316 /*
 I3	  43317  * Sometimes OPENSSL_NO_xxx ends up with an empty file and some compilers
 I3	  43318  * don't like that.  This will hopefully silence them.
 I3	  43319  */
 I3	  43320 # define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
 I3	  43321 
 I3	  43322 /*
 I3	  43323  * Generic deprecation macro
 I3	  43324  *
 I3	  43325  * If OPENSSL_SUPPRESS_DEPRECATED is defined, then OSSL_DEPRECATED and
 I3	  43326  * OSSL_DEPRECATED_FOR become no-ops
 I3	  43327  */
 I3	  43328 # ifndef OSSL_DEPRECATED
 I3	  43329 #  undef OSSL_DEPRECATED_FOR
 I3	  43330 #  ifndef OPENSSL_SUPPRESS_DEPRECATED
 I3    X  43331 #   if defined(_MSC_VER)
 I3	  43332      /*
 I3	  43333       * MSVC supports __declspec(deprecated) since MSVC 2003 (13.10),
 I3	  43334       * and __declspec(deprecated(message)) since MSVC 2005 (14.00)
 I3    X  43335       */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 782
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I3    X  43336 #    if _MSC_VER >= 1400
 I3    X  43337 #     define OSSL_DEPRECATED(since) \
 I3    X  43338           __declspec(deprecated("Since OpenSSL " # since))
 I3    X  43339 #     define OSSL_DEPRECATED_FOR(since, message) \
 I3    X  43340           __declspec(deprecated("Since OpenSSL " # since ";" message))
 I3    X  43341 #    elif _MSC_VER >= 1310
 I3    X  43342 #     define OSSL_DEPRECATED(since) __declspec(deprecated)
 I3    X  43343 #     define OSSL_DEPRECATED_FOR(since, message) __declspec(deprecated)
 I3    X  43344 #    endif
 I3    X  43345 #   elif defined(__GNUC__)
 I3    X  43346      /*
 I3    X  43347       * According to GCC documentation, deprecations with message appeared in
 I3    X  43348       * GCC 4.5.0
 I3    X  43349       */
 I3    X  43350 #    if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
 I3    X  43351 #     define OSSL_DEPRECATED(since) \
 I3    X  43352           __attribute__((deprecated("Since OpenSSL " # since)))
 I3    X  43353 #     define OSSL_DEPRECATED_FOR(since, message) \
 I3    X  43354           __attribute__((deprecated("Since OpenSSL " # since ";" message)))
 I3    X  43355 #    elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
 I3    X  43356 #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
 I3    X  43357 #     define OSSL_DEPRECATED_FOR(since, message) __attribute__((deprecated))
 I3    X  43358 #    endif
 I3    X  43359 #   elif defined(__SUNPRO_C)
 I3    X  43360 #    if (__SUNPRO_C >= 0x5130)
 I3    X  43361 #     define OSSL_DEPRECATED(since) __attribute__ ((deprecated))
 I3    X  43362 #     define OSSL_DEPRECATED_FOR(since, message) __attribute__ ((deprecated))
 I3    X  43363 #    endif
 I3    X  43364 #   endif
 I3	  43365 #  endif
 I3	  43366 # endif
 I3	  43367 
 I3	  43368 /*
 I3	  43369  * Still not defined?  Then define no-op macros. This means these macros
 I3	  43370  * are unsuitable for use in a typedef.
 I3	  43371  */
 I3	  43372 # ifndef OSSL_DEPRECATED
 I3	  43373 #  define OSSL_DEPRECATED(since)                extern
 I3	  43374 #  define OSSL_DEPRECATED_FOR(since, message)   extern
 I3	  43375 # endif
 I3	  43376 
 I3	  43377 /*
 I3	  43378  * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
 I3	  43379  * declarations of functions deprecated in or before <version>.  If this is
 I3	  43380  * undefined, the value of the macro OPENSSL_CONFIGURED_API (defined in
 I3	  43381  * <openssl/opensslconf.h>) is the default.
 I3	  43382  *
 I3	  43383  * For any version number up until version 1.1.x, <version> is expected to be
 I3	  43384  * the calculated version number 0xMNNFFPPSL.
 I3	  43385  * For version numbers 3.0 and on, <version> is expected to be a computation
 I3	  43386  * of the major and minor numbers in decimal using this formula:
 I3	  43387  *
 I3	  43388  *     MAJOR * 10000 + MINOR * 100
 I3	  43389  *
 I3	  43390  * So version 3.0 becomes 30000, version 3.2 becomes 30200, etc.
 I3	  43391  */
 I3	  43392 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 783
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I3	  43393 /*
 I3	  43394  * We use the OPENSSL_API_COMPAT value to define API level macros.  These
 I3	  43395  * macros are used to enable or disable features at that API version boundary.
 I3	  43396  */
 I3	  43397 
 I3    X  43398 # ifdef OPENSSL_API_LEVEL
 I3    X  43399 #  error "OPENSSL_API_LEVEL must not be defined by application"
 I3    X  43400 # endif
 I3	  43401 
 I3	  43402 /*
 I3	  43403  * We figure out what API level was intended by simple numeric comparison.
 I3	  43404  * The lowest old style number we recognise is 0x00908000L, so we take some
 I3	  43405  * safety margin and assume that anything below 0x00900000L is a new style
 I3	  43406  * number.  This allows new versions up to and including v943.71.83.
 I3	  43407  */
 I3    X  43408 # ifdef OPENSSL_API_COMPAT
 I3    X  43409 #  if OPENSSL_API_COMPAT < 0x900000L
 I3    X  43410 #   define OPENSSL_API_LEVEL (OPENSSL_API_COMPAT)
 I3    X  43411 #  else
 I3    X  43412 #   define OPENSSL_API_LEVEL                            \
 I3    X  43413            (((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000  \
 I3    X  43414             + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
 I3    X  43415             + ((OPENSSL_API_COMPAT >> 12) & 0xFF))
 I3    X  43416 #  endif
 I3    X  43417 # endif
 I3	  43418 
 I3	  43419 /*
 I3	  43420  * If OPENSSL_API_COMPAT wasn't given, we use default numbers to set
 I3	  43421  * the API compatibility level.
 I3	  43422  */
 I3	  43423 # ifndef OPENSSL_API_LEVEL
 I3	  43424 #  if OPENSSL_CONFIGURED_API > 0
 I3	  43425 #   define OPENSSL_API_LEVEL (OPENSSL_CONFIGURED_API)
 I3    X  43426 #  else
 I3	  43427 #   define OPENSSL_API_LEVEL \
 I3    X  43428            (OPENSSL_VERSION_MAJOR * 10000 + OPENSSL_VERSION_MINOR * 100)
 I3    X  43429 #  endif
 I3	  43430 # endif
 I3	  43431 
 I3    X  43432 # if OPENSSL_API_LEVEL > OPENSSL_CONFIGURED_API
 I3    X  43433 #  error "The requested API level higher than the configured API compatibility level"
 I3    X  43434 # endif
 I3	  43435 
 I3	  43436 /*
 I3	  43437  * Check of sane values.
 I3	  43438  */
 I3	  43439 /* Can't go higher than the current version. */
 I3    X  43440 # if OPENSSL_API_LEVEL > (OPENSSL_VERSION_MAJOR * 10000 + OPENSSL_VERSION_MINOR * 100)
 I3    X  43441 #  error "OPENSSL_API_COMPAT expresses an impossible API compatibility level"
 I3    X  43442 # endif
 I3	  43443 /* OpenSSL will have no version 2.y.z */
 I3    X  43444 # if OPENSSL_API_LEVEL < 30000 && OPENSSL_API_LEVEL >= 20000
 I3    X  43445 #  error "OPENSSL_API_COMPAT expresses an impossible API compatibility level"
 I3    X  43446 # endif
 I3	  43447 /* Below 0.9.8 is unacceptably low */
 I3    X  43448 # if OPENSSL_API_LEVEL < 908
 I3    X  43449 #  error "OPENSSL_API_COMPAT expresses an impossible API compatibility level"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 784
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I3    X  43450 # endif
 I3	  43451 
 I3	  43452 /*
 I3	  43453  * Define macros for deprecation and simulated removal purposes.
 I3	  43454  *
 I3	  43455  * The macros OSSL_DEPRECATED_{major}_{minor} are always defined for
 I3	  43456  * all OpenSSL versions we care for.  They can be used as attributes
 I3	  43457  * in function declarations where appropriate.
 I3	  43458  *
 I3	  43459  * The macros OPENSSL_NO_DEPRECATED_{major}_{minor} are defined for
 I3	  43460  * all OpenSSL versions up to or equal to the version given with
 I3	  43461  * OPENSSL_API_COMPAT.  They are used as guards around anything that's
 I3	  43462  * deprecated up to that version, as an effect of the developer option
 I3	  43463  * 'no-deprecated'.
 I3	  43464  */
 I3	  43465 
 I3	  43466 # undef OPENSSL_NO_DEPRECATED_3_0
 I3	  43467 # undef OPENSSL_NO_DEPRECATED_1_1_1
 I3	  43468 # undef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  43469 # undef OPENSSL_NO_DEPRECATED_1_0_2
 I3	  43470 # undef OPENSSL_NO_DEPRECATED_1_0_1
 I3	  43471 # undef OPENSSL_NO_DEPRECATED_1_0_0
 I3	  43472 # undef OPENSSL_NO_DEPRECATED_0_9_8
 I3	  43473 
 I3	  43474 # if OPENSSL_API_LEVEL >= 30000
 I3	  43475 #  ifndef OPENSSL_NO_DEPRECATED
 I3	  43476 #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
 I3	  43477 #   define OSSL_DEPRECATEDIN_3_0_FOR(msg)       OSSL_DEPRECATED_FOR(3.0, msg)
 I3    X  43478 #  else
 I3    X  43479 #   define OPENSSL_NO_DEPRECATED_3_0
 I3    X  43480 #  endif
 I3    X  43481 # else
 I3    X  43482 #  define OSSL_DEPRECATEDIN_3_0
 I3    X  43483 #  define OSSL_DEPRECATEDIN_3_0_FOR(msg)
 I3    X  43484 # endif
 I3	  43485 # if OPENSSL_API_LEVEL >= 10101
 I3	  43486 #  ifndef OPENSSL_NO_DEPRECATED
 I3	  43487 #   define OSSL_DEPRECATEDIN_1_1_1              OSSL_DEPRECATED(1.1.1)
 I3	  43488 #   define OSSL_DEPRECATEDIN_1_1_1_FOR(msg)     OSSL_DEPRECATED_FOR(1.1.1, msg)
 I3    X  43489 #  else
 I3    X  43490 #   define OPENSSL_NO_DEPRECATED_1_1_1
 I3    X  43491 #  endif
 I3    X  43492 # else
 I3    X  43493 #  define OSSL_DEPRECATEDIN_1_1_1
 I3    X  43494 #  define OSSL_DEPRECATEDIN_1_1_1_FOR(msg)
 I3    X  43495 # endif
 I3	  43496 # if OPENSSL_API_LEVEL >= 10100
 I3	  43497 #  ifndef OPENSSL_NO_DEPRECATED
 I3	  43498 #   define OSSL_DEPRECATEDIN_1_1_0              OSSL_DEPRECATED(1.1.0)
 I3	  43499 #   define OSSL_DEPRECATEDIN_1_1_0_FOR(msg)     OSSL_DEPRECATED_FOR(1.1.0, msg)
 I3    X  43500 #  else
 I3    X  43501 #   define OPENSSL_NO_DEPRECATED_1_1_0
 I3    X  43502 #  endif
 I3    X  43503 # else
 I3    X  43504 #  define OSSL_DEPRECATEDIN_1_1_0
 I3    X  43505 #  define OSSL_DEPRECATEDIN_1_1_0_FOR(msg)
 I3    X  43506 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 785
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I3	  43507 # if OPENSSL_API_LEVEL >= 10002
 I3	  43508 #  ifndef OPENSSL_NO_DEPRECATED
 I3	  43509 #   define OSSL_DEPRECATEDIN_1_0_2              OSSL_DEPRECATED(1.0.2)
 I3	  43510 #   define OSSL_DEPRECATEDIN_1_0_2_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.2, msg)
 I3    X  43511 #  else
 I3    X  43512 #   define OPENSSL_NO_DEPRECATED_1_0_2
 I3    X  43513 #  endif
 I3    X  43514 # else
 I3    X  43515 #  define OSSL_DEPRECATEDIN_1_0_2
 I3    X  43516 #  define OSSL_DEPRECATEDIN_1_0_2_FOR(msg)
 I3    X  43517 # endif
 I3	  43518 # if OPENSSL_API_LEVEL >= 10001
 I3	  43519 #  ifndef OPENSSL_NO_DEPRECATED
 I3	  43520 #   define OSSL_DEPRECATEDIN_1_0_1              OSSL_DEPRECATED(1.0.1)
 I3	  43521 #   define OSSL_DEPRECATEDIN_1_0_1_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.1, msg)
 I3    X  43522 #  else
 I3    X  43523 #   define OPENSSL_NO_DEPRECATED_1_0_1
 I3    X  43524 #  endif
 I3    X  43525 # else
 I3    X  43526 #  define OSSL_DEPRECATEDIN_1_0_1
 I3    X  43527 #  define OSSL_DEPRECATEDIN_1_0_1_FOR(msg)
 I3    X  43528 # endif
 I3	  43529 # if OPENSSL_API_LEVEL >= 10000
 I3	  43530 #  ifndef OPENSSL_NO_DEPRECATED
 I3	  43531 #   define OSSL_DEPRECATEDIN_1_0_0              OSSL_DEPRECATED(1.0.0)
 I3	  43532 #   define OSSL_DEPRECATEDIN_1_0_0_FOR(msg)     OSSL_DEPRECATED_FOR(1.0.0, msg)
 I3    X  43533 #  else
 I3    X  43534 #   define OPENSSL_NO_DEPRECATED_1_0_0
 I3    X  43535 #  endif
 I3    X  43536 # else
 I3    X  43537 #  define OSSL_DEPRECATEDIN_1_0_0
 I3    X  43538 #  define OSSL_DEPRECATEDIN_1_0_0_FOR(msg)
 I3    X  43539 # endif
 I3	  43540 # if OPENSSL_API_LEVEL >= 908
 I3	  43541 #  ifndef OPENSSL_NO_DEPRECATED
 I3	  43542 #   define OSSL_DEPRECATEDIN_0_9_8              OSSL_DEPRECATED(0.9.8)
 I3	  43543 #   define OSSL_DEPRECATEDIN_0_9_8_FOR(msg)     OSSL_DEPRECATED_FOR(0.9.8, msg)
 I3    X  43544 #  else
 I3    X  43545 #   define OPENSSL_NO_DEPRECATED_0_9_8
 I3    X  43546 #  endif
 I3    X  43547 # else
 I3    X  43548 #  define OSSL_DEPRECATEDIN_0_9_8
 I3    X  43549 #  define OSSL_DEPRECATEDIN_0_9_8_FOR(msg)
 I3    X  43550 # endif
 I3	  43551 
 I3	  43552 /*
 I3	  43553  * Make our own variants of __FILE__ and __LINE__, depending on configuration
 I3	  43554  */
 I3	  43555 
 I3	  43556 # ifndef OPENSSL_FILE
 I3    X  43557 #  ifdef OPENSSL_NO_FILENAMES
 I3    X  43558 #   define OPENSSL_FILE ""
 I3    X  43559 #   define OPENSSL_LINE 0
 I3    X  43560 #  else
 I3	  43561 #   define OPENSSL_FILE __FILE__
 I3	  43562 #   define OPENSSL_LINE __LINE__
 I3	  43563 #  endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 786
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MACROS.H;1

 I3	  43564 # endif
 I3	  43565 
 I3	  43566 /*
 I3	  43567  * __func__ was standardized in C99, so for any compiler that claims
 I3	  43568  * to implement that language level or newer, we assume we can safely
 I3	  43569  * use that symbol.
 I3	  43570  *
 I3	  43571  * GNU C also provides __FUNCTION__ since version 2, which predates
 I3	  43572  * C99.  We can, however, only use this if __STDC_VERSION__ exists,
 I3	  43573  * as it's otherwise not allowed according to ISO C standards (C90).
 I3	  43574  * (compiling with GNU C's -pedantic tells us so)
 I3	  43575  *
 I3	  43576  * If none of the above applies, we check if the compiler is MSVC,
 I3	  43577  * and use __FUNCTION__ if that's the case.
 I3	  43578  */
 I3	  43579 # ifndef OPENSSL_FUNC
 I3	  43580 #  if defined(__STDC_VERSION__)
 I3	  43581 #   if __STDC_VERSION__ >= 199901L
 I3	  43582 #    define OPENSSL_FUNC __func__
 I3    X  43583 #   elif defined(__GNUC__) && __GNUC__ >= 2
 I3    X  43584 #    define OPENSSL_FUNC __FUNCTION__
 I3    X  43585 #   endif
 I3    X  43586 #  elif defined(_MSC_VER)
 I3    X  43587 #    define OPENSSL_FUNC __FUNCTION__
 I3    X  43588 #  endif
 I3	  43589 /*
 I3	  43590  * If all these possibilities are exhausted, we give up and use a
 I3	  43591  * static string.
 I3	  43592  */
 I3    X  43593 #  ifndef OPENSSL_FUNC
 I3    X  43594 #   define OPENSSL_FUNC "(unknown function)"
 I3    X  43595 #  endif
 I3	  43596 # endif
 I3	  43597 
 I3	  43598 #endif  /* OPENSSL_MACROS_H */
 I2	  43599 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  43600 #  define HEADER_SSL_H
 I2	  43601 # endif
 I2	  43602 
 I2	  43603 # include <openssl/e_os2.h>
 I3	  43604 /*
 I3	  43605  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  43606  *
 I3	  43607  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  43608  * this file except in compliance with the License.  You can obtain a copy
 I3	  43609  * in the file LICENSE in the source distribution or at
 I3	  43610  * https://www.openssl.org/source/license.html
 I3	  43611  */
 I3	  43612 
 I3	  43613 #ifndef OPENSSL_E_OS2_H
 I3	  43614 # define OPENSSL_E_OS2_H
 I3	  43615 # pragma once
 I3	  43616 
 I3    X  43617 # include <openssl/macros.h>
 I3	  43618 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  43619 #  define HEADER_E_OS2_H
 I3	  43620 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 787
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]E_OS2.H;1

 I3	  43621 
 I3    X  43622 # include <openssl/opensslconf.h>
 I3	  43623 
 I3    X  43624 #ifdef  __cplusplus
 I3    X  43625 extern "C" {
 I3    X  43626 #endif
 I3	  43627 
 I3	  43628 /******************************************************************************
 I3	  43629  * Detect operating systems.  This probably needs completing.
 I3	  43630  * The result is that at least one OPENSSL_SYS_os macro should be defined.
 I3	  43631  * However, if none is defined, Unix is assumed.
 I3	  43632  **/
 I3	  43633 
 I3	  43634 # define OPENSSL_SYS_UNIX
 I3	  43635 
 I3	  43636 /* --------------------- Microsoft operating systems ---------------------- */
 I3	  43637 
 I3	  43638 /*
 I3	  43639  * Note that MSDOS actually denotes 32-bit environments running on top of
 I3	  43640  * MS-DOS, such as DJGPP one.
 I3	  43641  */
 I3    X  43642 # if defined(OPENSSL_SYS_MSDOS)
 I3    X  43643 #  undef OPENSSL_SYS_UNIX
 I3    X  43644 # endif
 I3	  43645 
 I3	  43646 /*
 I3	  43647  * For 32 bit environment, there seems to be the CygWin environment and then
 I3	  43648  * all the others that try to do the same thing Microsoft does...
 I3	  43649  */
 I3	  43650 /*
 I3	  43651  * UEFI lives here because it might be built with a Microsoft toolchain and
 I3	  43652  * we need to avoid the false positive match on Windows.
 I3	  43653  */
 I3    X  43654 # if defined(OPENSSL_SYS_UEFI)
 I3    X  43655 #  undef OPENSSL_SYS_UNIX
 I3    X  43656 # elif defined(OPENSSL_SYS_UWIN)
 I3    X  43657 #  undef OPENSSL_SYS_UNIX
 I3    X  43658 #  define OPENSSL_SYS_WIN32_UWIN
 I3    X  43659 # else
 I3    X  43660 #  if defined(__CYGWIN__) || defined(OPENSSL_SYS_CYGWIN)
 I3    X  43661 #   define OPENSSL_SYS_WIN32_CYGWIN
 I3    X  43662 #  else
 I3    X  43663 #   if defined(_WIN32) || defined(OPENSSL_SYS_WIN32)
 I3    X  43664 #    undef OPENSSL_SYS_UNIX
 I3    X  43665 #    if !defined(OPENSSL_SYS_WIN32)
 I3    X  43666 #     define OPENSSL_SYS_WIN32
 I3    X  43667 #    endif
 I3    X  43668 #   endif
 I3    X  43669 #   if defined(_WIN64) || defined(OPENSSL_SYS_WIN64)
 I3    X  43670 #    undef OPENSSL_SYS_UNIX
 I3    X  43671 #    if !defined(OPENSSL_SYS_WIN64)
 I3    X  43672 #     define OPENSSL_SYS_WIN64
 I3    X  43673 #    endif
 I3    X  43674 #   endif
 I3    X  43675 #   if defined(OPENSSL_SYS_WINNT)
 I3    X  43676 #    undef OPENSSL_SYS_UNIX
 I3    X  43677 #   endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 788
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]E_OS2.H;1

 I3    X  43678 #   if defined(OPENSSL_SYS_WINCE)
 I3    X  43679 #    undef OPENSSL_SYS_UNIX
 I3    X  43680 #   endif
 I3	  43681 #  endif
 I3	  43682 # endif
 I3	  43683 
 I3	  43684 /* Anything that tries to look like Microsoft is "Windows" */
 I3    X  43685 # if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_W
 I3    X  43685 INCE)
 I3    X  43686 #  undef OPENSSL_SYS_UNIX
 I3    X  43687 #  define OPENSSL_SYS_WINDOWS
 I3    X  43688 #  ifndef OPENSSL_SYS_MSDOS
 I3    X  43689 #   define OPENSSL_SYS_MSDOS
 I3    X  43690 #  endif
 I3    X  43691 # endif
 I3	  43692 
 I3	  43693 /*
 I3	  43694  * DLL settings.  This part is a bit tough, because it's up to the
 I3	  43695  * application implementor how he or she will link the application, so it
 I3	  43696  * requires some macro to be used.
 I3	  43697  */
 I3    X  43698 # ifdef OPENSSL_SYS_WINDOWS
 I3    X  43699 #  ifndef OPENSSL_OPT_WINDLL
 I3    X  43700 #   if defined(_WINDLL)         /* This is used when building OpenSSL to
 I3    X  43701                                  * indicate that DLL linkage should be used */
 I3    X  43702 #    define OPENSSL_OPT_WINDLL
 I3    X  43703 #   endif
 I3    X  43704 #  endif
 I3    X  43705 # endif
 I3	  43706 
 I3	  43707 /* ------------------------------- OpenVMS -------------------------------- */
 I3	  43708 # if defined(__VMS) || defined(VMS)
 I3	  43709 #  if !defined(OPENSSL_SYS_VMS)
 I3	  43710 #   undef OPENSSL_SYS_UNIX
 I3	  43711 #   define OPENSSL_SYS_VMS
 I3	  43712 #  endif
 I3	  43713 #  if defined(__DECC)
 I3	  43714 #   define OPENSSL_SYS_VMS_DECC
 I3    X  43715 #  elif defined(__DECCXX)
 I3    X  43716 #   define OPENSSL_SYS_VMS_DECC
 I3    X  43717 #   define OPENSSL_SYS_VMS_DECCXX
 I3    X  43718 #  else
 I3    X  43719 #   define OPENSSL_SYS_VMS_NODECC
 I3    X  43720 #  endif
 I3	  43721 # endif
 I3	  43722 
 I3	  43723 /* -------------------------------- Unix ---------------------------------- */
 I3    X  43724 # ifdef OPENSSL_SYS_UNIX
 I3    X  43725 #  if defined(linux) || defined(__linux__) && !defined(OPENSSL_SYS_LINUX)
 I3    X  43726 #   define OPENSSL_SYS_LINUX
 I3    X  43727 #  endif
 I3    X  43728 #  if defined(_AIX) && !defined(OPENSSL_SYS_AIX)
 I3    X  43729 #   define OPENSSL_SYS_AIX
 I3    X  43730 #  endif
 I3    X  43731 # endif
 I3	  43732 
 I3	  43733 /* -------------------------------- VOS ----------------------------------- */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 789
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]E_OS2.H;1

 I3    X  43734 # if defined(__VOS__) && !defined(OPENSSL_SYS_VOS)
 I3    X  43735 #  define OPENSSL_SYS_VOS
 I3    X  43736 #  ifdef __HPPA__
 I3    X  43737 #   define OPENSSL_SYS_VOS_HPPA
 I3    X  43738 #  endif
 I3    X  43739 #  ifdef __IA32__
 I3    X  43740 #   define OPENSSL_SYS_VOS_IA32
 I3    X  43741 #  endif
 I3    X  43742 # endif
 I3	  43743 
 I3	  43744 /* ---------------------------- HP NonStop -------------------------------- */
 I3    X  43745 # ifdef __TANDEM
 I3    X  43746 #  ifdef _STRING
 I3    X  43747 #   include <strings.h>
 I3    X  43748 #  endif
 I3    X  43749 # define OPENSSL_USE_BUILD_DATE
 I3    X  43750 # if defined(OPENSSL_THREADS) && defined(_SPT_MODEL_)
 I3    X  43751 #  define  SPT_THREAD_SIGNAL 1
 I3    X  43752 #  define  SPT_THREAD_AWARE 1
 I3    X  43753 #  include <spthread.h>
 I3    X  43754 # elif defined(OPENSSL_THREADS) && defined(_PUT_MODEL_)
 I3    X  43755 #  include <pthread.h>
 I3    X  43756 # endif
 I3    X  43757 # endif
 I3	  43758 
 I3	  43759 /**
 I3	  43760  * That's it for OS-specific stuff
 I3	  43761  *****************************************************************************/
 I3	  43762 
 I3	  43763 /*-
 I3	  43764  * OPENSSL_EXTERN is normally used to declare a symbol with possible extra
 I3	  43765  * attributes to handle its presence in a shared library.
 I3	  43766  * OPENSSL_EXPORT is used to define a symbol with extra possible attributes
 I3	  43767  * to make it visible in a shared library.
 I3	  43768  * Care needs to be taken when a header file is used both to declare and
 I3	  43769  * define symbols.  Basically, for any library that exports some global
 I3	  43770  * variables, the following code must be present in the header file that
 I3	  43771  * declares them, before OPENSSL_EXTERN is used:
 I3	  43772  *
 I3	  43773  * #ifdef SOME_BUILD_FLAG_MACRO
 I3	  43774  * # undef OPENSSL_EXTERN
 I3	  43775  * # define OPENSSL_EXTERN OPENSSL_EXPORT
 I3	  43776  * #endif
 I3	  43777  *
 I3	  43778  * The default is to have OPENSSL_EXPORT and OPENSSL_EXTERN
 I3	  43779  * have some generally sensible values.
 I3	  43780  */
 I3	  43781 
 I3    X  43782 # if defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL)
 I3    X  43783 #  define OPENSSL_EXPORT extern __declspec(dllexport)
 I3    X  43784 #  define OPENSSL_EXTERN extern __declspec(dllimport)
 I3    X  43785 # else
 I3	  43786 #  define OPENSSL_EXPORT extern
 I3	  43787 #  define OPENSSL_EXTERN extern
 I3	  43788 # endif
 I3	  43789 
 I3    X  43790 # ifdef _WIN32

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 790
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]E_OS2.H;1

 I3    X  43791 #  ifdef _WIN64
 I3    X  43792 #   define ossl_ssize_t __int64
 I3    X  43793 #   define OSSL_SSIZE_MAX _I64_MAX
 I3    X  43794 #  else
 I3    X  43795 #   define ossl_ssize_t int
 I3    X  43796 #   define OSSL_SSIZE_MAX INT_MAX
 I3    X  43797 #  endif
 I3    X  43798 # endif
 I3	  43799 
 I3    X  43800 # if defined(OPENSSL_SYS_UEFI) && !defined(ossl_ssize_t)
 I3    X  43801 #  define ossl_ssize_t INTN
 I3    X  43802 #  define OSSL_SSIZE_MAX MAX_INTN
 I3    X  43803 # endif
 I3	  43804 
 I3	  43805 # ifndef ossl_ssize_t
 I3	  43806 #  define ossl_ssize_t ssize_t
 I3	  43807 #  if defined(SSIZE_MAX)
 I3	  43808 #   define OSSL_SSIZE_MAX SSIZE_MAX
 I3    X  43809 #  elif defined(_POSIX_SSIZE_MAX)
 I3    X  43810 #   define OSSL_SSIZE_MAX _POSIX_SSIZE_MAX
 I3    X  43811 #  else
 I3    X  43812 #   define OSSL_SSIZE_MAX ((ssize_t)(SIZE_MAX>>1))
 I3    X  43813 #  endif
 I3	  43814 # endif
 I3	  43815 
 I3    X  43816 # if defined(UNUSEDRESULT_DEBUG)
 I3    X  43817 #  define __owur __attribute__((__warn_unused_result__))
 I3    X  43818 # else
 I3	  43819 #  define __owur
 I3	  43820 # endif
 I3	  43821 
 I3	  43822 /* Standard integer types */
 I3	  43823 # define OPENSSL_NO_INTTYPES_H
 I3	  43824 # define OPENSSL_NO_STDINT_H
 I3    X  43825 # if defined(OPENSSL_SYS_UEFI)
 I3    X  43826 typedef INT8 int8_t;
 I3    X  43827 typedef UINT8 uint8_t;
 I3    X  43828 typedef INT16 int16_t;
 I3    X  43829 typedef UINT16 uint16_t;
 I3    X  43830 typedef INT32 int32_t;
 I3    X  43831 typedef UINT32 uint32_t;
 I3    X  43832 typedef INT64 int64_t;
 I3    X  43833 typedef UINT64 uint64_t;
 I3    X  43834 # elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
 I3    X  43835      defined(__osf__) || defined(__sgi) || defined(__hpux) || \
 I3    X  43836      defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__)
 I3    X  43837 #  include <inttypes.h>
 I3	  43838 #  undef OPENSSL_NO_INTTYPES_H
 I3	  43839 /* Because the specs say that inttypes.h includes stdint.h if present */
 I3	  43840 #  undef OPENSSL_NO_STDINT_H
 I3    X  43841 # elif defined(_MSC_VER) && _MSC_VER<1600
 I3    X  43842 /*
 I3    X  43843  * minimally required typdefs for systems not supporting inttypes.h or
 I3    X  43844  * stdint.h: currently just older VC++
 I3    X  43845  */
 I3    X  43846 typedef signed char int8_t;
 I3    X  43847 typedef unsigned char uint8_t;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 791
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]E_OS2.H;1

 I3    X  43848 typedef short int16_t;
 I3    X  43849 typedef unsigned short uint16_t;
 I3    X  43850 typedef int int32_t;
 I3    X  43851 typedef unsigned int uint32_t;
 I3    X  43852 typedef __int64 int64_t;
 I3    X  43853 typedef unsigned __int64 uint64_t;
 I3    X  43854 # else
 I3    X  43855 #  include <stdint.h>
 I3    X  43856 #  undef OPENSSL_NO_STDINT_H
 I3    X  43857 # endif
 I3	  43858 # if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \
 I3	  43859     defined(INTMAX_MAX) && defined(UINTMAX_MAX)
 I3	  43860 typedef intmax_t ossl_intmax_t;
 I3	  43861 typedef uintmax_t ossl_uintmax_t;
 I3    X  43862 # else
 I3    X  43863 /* Fall back to the largest we know we require and can handle */
 I3    X  43864 typedef int64_t ossl_intmax_t;
 I3    X  43865 typedef uint64_t ossl_uintmax_t;
 I3    X  43866 # endif
 I3	  43867 
 I3	  43868 /* ossl_inline: portable inline definition usable in public headers */
 I3	  43869 # if !defined(inline) && !defined(__cplusplus)
 I3	  43870 #  if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L
 I3	  43871    /* just use inline */
 I3	  43872 #   define ossl_inline inline
 I3    X  43873 #  elif defined(__GNUC__) && __GNUC__>=2
 I3    X  43874 #   define ossl_inline __inline__
 I3    X  43875 #  elif defined(_MSC_VER)
 I3    X  43876   /*
 I3    X  43877    * Visual Studio: inline is available in C++ only, however
 I3    X  43878    * __inline is available for C, see
 I3    X  43879    * http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx
 I3    X  43880    */
 I3    X  43881 #   define ossl_inline __inline
 I3    X  43882 #  else
 I3    X  43883 #   define ossl_inline
 I3    X  43884 #  endif
 I3    X  43885 # else
 I3    X  43886 #  define ossl_inline inline
 I3    X  43887 # endif
 I3	  43888 
 I3	  43889 # if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYS_VMS)
 I3	  43890 #   undef  ossl_inline
 I3	  43891 #   define ossl_inline __inline
 I3	  43892 # endif
 I3	  43893 
 I3    X  43894 # if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && \
 I3	  43895      !defined(__cplusplus) 
 I3    X  43896 #  define ossl_noreturn _Noreturn
 I3    X  43897 # elif defined(__GNUC__) && __GNUC__ >= 2
 I3    X  43898 #  define ossl_noreturn __attribute__((noreturn))
 I3    X  43899 # else
 I3	  43900 #  define ossl_noreturn
 I3	  43901 # endif
 I3	  43902 
 I3	  43903 /* ossl_unused: portable unused attribute for use in public headers */
 I3    X  43904 # if defined(__GNUC__)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 792
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]E_OS2.H;1

 I3    X  43905 #  define ossl_unused __attribute__((unused))
 I3    X  43906 # else
 I3	  43907 #  define ossl_unused
 I3	  43908 # endif
 I3	  43909 
 I3    X  43910 #ifdef  __cplusplus
 I3    X  43911 }
 I3    X  43912 #endif
 I3	  43913 #endif
 I2    X  43914 # include <openssl/opensslconf.h>
 I2	  43915 # include <openssl/comp.h>
 I3	  43916 /*
 I3	  43917  * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
 I3	  43918  *
 I3	  43919  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  43920  * this file except in compliance with the License.  You can obtain a copy
 I3	  43921  * in the file LICENSE in the source distribution or at
 I3	  43922  * https://www.openssl.org/source/license.html
 I3	  43923  */
 I3	  43924 
 I3	  43925 #ifndef OPENSSL_COMP_H
 I3	  43926 # define OPENSSL_COMP_H
 I3	  43927 # pragma once
 I3	  43928 
 I3    X  43929 # include <openssl/macros.h>
 I3	  43930 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  43931 #  define HEADER_COMP_H
 I3	  43932 # endif
 I3	  43933 
 I3    X  43934 # include <openssl/opensslconf.h>
 I3	  43935 
 I3	  43936 # ifndef OPENSSL_NO_COMP
 I3	  43937 # include <openssl/crypto.h>
 I4	  43938 /*
 I4	  43939  * WARNING: do not edit!
 I4	  43940  * Generated by descrip.mms from [-.include.openssl]crypto.h.in
 I4	  43941  *
 I4	  43942  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I4	  43943  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I4	  43944  *
 I4	  43945  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  43946  * this file except in compliance with the License.  You can obtain a copy
 I4	  43947  * in the file LICENSE in the source distribution or at
 I4	  43948  * https://www.openssl.org/source/license.html
 I4	  43949  */
 I4	  43950 
 I4	  43951 
 I4	  43952 
 I4	  43953 #ifndef OPENSSL_CRYPTO_H
 I4	  43954 # define OPENSSL_CRYPTO_H
 I4	  43955 # pragma once
 I4	  43956 
 I4    X  43957 # include <openssl/macros.h>
 I4	  43958 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  43959 #  define HEADER_CRYPTO_H
 I4	  43960 # endif
 I4	  43961 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 793
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4    X  43962 # include <stdlib.h>
 I4    X  43963 # include <time.h>
 I4	  43964 
 I4    X  43965 # include <openssl/e_os2.h>
 I4	  43966 
 I4	  43967 # ifndef OPENSSL_NO_STDIO
 I4    X  43968 #  include <stdio.h>
 I4	  43969 # endif
 I4	  43970 
 I4	  43971 # include <openssl/safestack.h>
 I5	  43972 /*
 I5	  43973  * WARNING: do not edit!
 I5	  43974  * Generated by descrip.mms from [-.include.openssl]safestack.h.in
 I5	  43975  *
 I5	  43976  * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  43977  *
 I5	  43978  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  43979  * this file except in compliance with the License.  You can obtain a copy
 I5	  43980  * in the file LICENSE in the source distribution or at
 I5	  43981  * https://www.openssl.org/source/license.html
 I5	  43982  */
 I5	  43983 
 I5	  43984 
 I5	  43985 
 I5	  43986 #ifndef OPENSSL_SAFESTACK_H
 I5	  43987 # define OPENSSL_SAFESTACK_H
 I5	  43988 # pragma once
 I5	  43989 
 I5    X  43990 # include <openssl/macros.h>
 I5	  43991 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  43992 #  define HEADER_SAFESTACK_H
 I5	  43993 # endif
 I5	  43994 
 I5	  43995 # include <openssl/stack.h>
 I6	  43996 /*
 I6	  43997  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  43998  *
 I6	  43999  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  44000  * this file except in compliance with the License.  You can obtain a copy
 I6	  44001  * in the file LICENSE in the source distribution or at
 I6	  44002  * https://www.openssl.org/source/license.html
 I6	  44003  */
 I6	  44004 
 I6	  44005 #ifndef OPENSSL_STACK_H
 I6	  44006 # define OPENSSL_STACK_H
 I6	  44007 # pragma once
 I6	  44008 
 I6    X  44009 # include <openssl/macros.h>
 I6	  44010 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  44011 #  define HEADER_STACK_H
 I6	  44012 # endif
 I6	  44013 
 I6    X  44014 #ifdef  __cplusplus
 I6    X  44015 extern "C" {
 I6    X  44016 #endif
 I6	  44017 
 I6	  44018 typedef struct stack_st OPENSSL_STACK; /* Use STACK_OF(...) instead */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 794
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]STACK.H;1

 I6	  44019 
 I6	  44020 typedef int (*OPENSSL_sk_compfunc)(const void *, const void *);
 I6	  44021 typedef void (*OPENSSL_sk_freefunc)(void *);
 I6	  44022 typedef void *(*OPENSSL_sk_copyfunc)(const void *);
 I6	  44023 
 I6	  44024 int OPENSSL_sk_num(const OPENSSL_STACK *);
 I6	  44025 void *OPENSSL_sk_value(const OPENSSL_STACK *, int);
 I6	  44026 
 I6	  44027 void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data);
 I6	  44028 
 I6	  44029 OPENSSL_STACK *OPENSSL_sk_new(OPENSSL_sk_compfunc cmp);
 I6	  44030 OPENSSL_STACK *OPENSSL_sk_new_null(void);
 I6	  44031 OPENSSL_STACK *OPENSSL_sk_new_reserve(OPENSSL_sk_compfunc c, int n);
 I6	  44032 int OPENSSL_sk_reserve(OPENSSL_STACK *st, int n);
 I6	  44033 void OPENSSL_sk_free(OPENSSL_STACK *);
 I6	  44034 void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void (*func) (void *));
 I6	  44035 OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *,
 I6	  44036                                     OPENSSL_sk_copyfunc c,
 I6	  44037                                     OPENSSL_sk_freefunc f);
 I6	  44038 int OPENSSL_sk_insert(OPENSSL_STACK *sk, const void *data, int where);
 I6	  44039 void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc);
 I6	  44040 void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p);
 I6	  44041 int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data);
 I6	  44042 int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data);
 I6	  44043 int OPENSSL_sk_find_all(OPENSSL_STACK *st, const void *data, int *pnum);
 I6	  44044 int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data);
 I6	  44045 int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data);
 I6	  44046 void *OPENSSL_sk_shift(OPENSSL_STACK *st);
 I6	  44047 void *OPENSSL_sk_pop(OPENSSL_STACK *st);
 I6	  44048 void OPENSSL_sk_zero(OPENSSL_STACK *st);
 I6	  44049 OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk,
 I6	  44050                                             OPENSSL_sk_compfunc cmp);
 I6	  44051 OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *st);
 I6	  44052 void OPENSSL_sk_sort(OPENSSL_STACK *st);
 I6	  44053 int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st);
 I6	  44054 
 I6	  44055 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I6	  44056 #  define _STACK OPENSSL_STACK
 I6	  44057 #  define sk_num OPENSSL_sk_num
 I6	  44058 #  define sk_value OPENSSL_sk_value
 I6	  44059 #  define sk_set OPENSSL_sk_set
 I6	  44060 #  define sk_new OPENSSL_sk_new
 I6	  44061 #  define sk_new_null OPENSSL_sk_new_null
 I6	  44062 #  define sk_free OPENSSL_sk_free
 I6	  44063 #  define sk_pop_free OPENSSL_sk_pop_free
 I6	  44064 #  define sk_deep_copy OPENSSL_sk_deep_copy
 I6	  44065 #  define sk_insert OPENSSL_sk_insert
 I6	  44066 #  define sk_delete OPENSSL_sk_delete
 I6	  44067 #  define sk_delete_ptr OPENSSL_sk_delete_ptr
 I6	  44068 #  define sk_find OPENSSL_sk_find
 I6	  44069 #  define sk_find_ex OPENSSL_sk_find_ex
 I6	  44070 #  define sk_push OPENSSL_sk_push
 I6	  44071 #  define sk_unshift OPENSSL_sk_unshift
 I6	  44072 #  define sk_shift OPENSSL_sk_shift
 I6	  44073 #  define sk_pop OPENSSL_sk_pop
 I6	  44074 #  define sk_zero OPENSSL_sk_zero
 I6	  44075 #  define sk_set_cmp_func OPENSSL_sk_set_cmp_func

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 795
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]STACK.H;1

 I6	  44076 #  define sk_dup OPENSSL_sk_dup
 I6	  44077 #  define sk_sort OPENSSL_sk_sort
 I6	  44078 #  define sk_is_sorted OPENSSL_sk_is_sorted
 I6	  44079 # endif
 I6	  44080 
 I6    X  44081 #ifdef  __cplusplus
 I6    X  44082 }
 I6    X  44083 #endif
 I6	  44084 
 I6	  44085 #endif
 I5    X  44086 # include <openssl/e_os2.h>
 I5	  44087 
 I5    X  44088 #ifdef __cplusplus
 I5    X  44089 extern "C" {
 I5    X  44090 #endif
 I5	  44091 
 I5	  44092 # define STACK_OF(type) struct stack_st_##type
 I5	  44093 
 I5	  44094 /* Helper macro for internal use */
 I5	  44095 # define SKM_DEFINE_STACK_OF_INTERNAL(t1, t2, t3) \
 I5	  44096     STACK_OF(t1); \
 I5	  44097     typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
 I5	  44098     typedef void (*sk_##t1##_freefunc)(t3 *a); \
 I5	  44099     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
 I5	  44100     static ossl_unused ossl_inline t2 *ossl_check_##t1##_type(t2 *ptr) \
 I5	  44101     { \
 I5	  44102         return ptr; \
 I5	  44103     } \
 I5	  44104     static ossl_unused ossl_inline const OPENSSL_STACK *ossl_check_const_##t1##_sk_type(const STACK_OF(t1) *sk) \
 I5	  44105     { \
 I5	  44106         return (const OPENSSL_STACK *)sk; \
 I5	  44107     } \
 I5	  44108     static ossl_unused ossl_inline OPENSSL_STACK *ossl_check_##t1##_sk_type(STACK_OF(t1) *sk) \
 I5	  44109     { \
 I5	  44110         return (OPENSSL_STACK *)sk; \
 I5	  44111     } \
 I5	  44112     static ossl_unused ossl_inline OPENSSL_sk_compfunc ossl_check_##t1##_compfunc_type(sk_##t1##_compfunc cmp) \
 I5	  44113     { \
 I5	  44114         return (OPENSSL_sk_compfunc)cmp; \
 I5	  44115     } \
 I5	  44116     static ossl_unused ossl_inline OPENSSL_sk_copyfunc ossl_check_##t1##_copyfunc_type(sk_##t1##_copyfunc cpy) \
 I5	  44117     { \
 I5	  44118         return (OPENSSL_sk_copyfunc)cpy; \
 I5	  44119     } \
 I5	  44120     static ossl_unused ossl_inline OPENSSL_sk_freefunc ossl_check_##t1##_freefunc_type(sk_##t1##_freefunc fr) \
 I5	  44121     { \
 I5	  44122         return (OPENSSL_sk_freefunc)fr; \
 I5	  44123     }
 I5	  44124 
 I5	  44125 # define SKM_DEFINE_STACK_OF(t1, t2, t3) \
 I5	  44126     STACK_OF(t1); \
 I5	  44127     typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
 I5	  44128     typedef void (*sk_##t1##_freefunc)(t3 *a); \
 I5	  44129     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
 I5	  44130     static ossl_unused ossl_inline int sk_##t1##_num(const STACK_OF(t1) *sk) \
 I5	  44131     { \
 I5	  44132         return OPENSSL_sk_num((const OPENSSL_STACK *)sk); \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 796
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SAFESTACK.H;1

 I5	  44133     } \
 I5	  44134     static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \
 I5	  44135     { \
 I5	  44136         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
 I5	  44137     } \
 I5	  44138     static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new(sk_##t1##_compfunc compare) \
 I5	  44139     { \
 I5	  44140         return (STACK_OF(t1) *)OPENSSL_sk_new((OPENSSL_sk_compfunc)compare); \
 I5	  44141     } \
 I5	  44142     static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_null(void) \
 I5	  44143     { \
 I5	  44144         return (STACK_OF(t1) *)OPENSSL_sk_new_null(); \
 I5	  44145     } \
 I5	  44146     static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_reserve(sk_##t1##_compfunc compare, int n) \
 I5	  44147     { \
 I5	  44148         return (STACK_OF(t1) *)OPENSSL_sk_new_reserve((OPENSSL_sk_compfunc)compare, n); \
 I5	  44149     } \
 I5	  44150     static ossl_unused ossl_inline int sk_##t1##_reserve(STACK_OF(t1) *sk, int n) \
 I5	  44151     { \
 I5	  44152         return OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n); \
 I5	  44153     } \
 I5	  44154     static ossl_unused ossl_inline void sk_##t1##_free(STACK_OF(t1) *sk) \
 I5	  44155     { \
 I5	  44156         OPENSSL_sk_free((OPENSSL_STACK *)sk); \
 I5	  44157     } \
 I5	  44158     static ossl_unused ossl_inline void sk_##t1##_zero(STACK_OF(t1) *sk) \
 I5	  44159     { \
 I5	  44160         OPENSSL_sk_zero((OPENSSL_STACK *)sk); \
 I5	  44161     } \
 I5	  44162     static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \
 I5	  44163     { \
 I5	  44164         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
 I5	  44165     } \
 I5	  44166     static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
 I5	  44167     { \
 I5	  44168         return (t2 *)OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, \
 I5	  44169                                            (const void *)ptr); \
 I5	  44170     } \
 I5	  44171     static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \
 I5	  44172     { \
 I5	  44173         return OPENSSL_sk_push((OPENSSL_STACK *)sk, (const void *)ptr); \
 I5	  44174     } \
 I5	  44175     static ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \
 I5	  44176     { \
 I5	  44177         return OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (const void *)ptr); \
 I5	  44178     } \
 I5	  44179     static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \
 I5	  44180     { \
 I5	  44181         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
 I5	  44182     } \
 I5	  44183     static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \
 I5	  44184     { \
 I5	  44185         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
 I5	  44186     } \
 I5	  44187     static ossl_unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \
 I5	  44188     { \
 I5	  44189         OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (OPENSSL_sk_freefunc)freefunc); \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 797
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SAFESTACK.H;1

 I5	  44190     } \
 I5	  44191     static ossl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \
 I5	  44192     { \
 I5	  44193         return OPENSSL_sk_insert((OPENSSL_STACK *)sk, (const void *)ptr, idx); \
 I5	  44194     } \
 I5	  44195     static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
 I5	  44196     { \
 I5	  44197         return (t2 *)OPENSSL_sk_set((OPENSSL_STACK *)sk, idx, (const void *)ptr); \
 I5	  44198     } \
 I5	  44199     static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \
 I5	  44200     { \
 I5	  44201         return OPENSSL_sk_find((OPENSSL_STACK *)sk, (const void *)ptr); \
 I5	  44202     } \
 I5	  44203     static ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \
 I5	  44204     { \
 I5	  44205         return OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (const void *)ptr); \
 I5	  44206     } \
 I5	  44207     static ossl_unused ossl_inline int sk_##t1##_find_all(STACK_OF(t1) *sk, t2 *ptr, int *pnum) \
 I5	  44208     { \
 I5	  44209         return OPENSSL_sk_find_all((OPENSSL_STACK *)sk, (const void *)ptr, pnum); \
 I5	  44210     } \
 I5	  44211     static ossl_unused ossl_inline void sk_##t1##_sort(STACK_OF(t1) *sk) \
 I5	  44212     { \
 I5	  44213         OPENSSL_sk_sort((OPENSSL_STACK *)sk); \
 I5	  44214     } \
 I5	  44215     static ossl_unused ossl_inline int sk_##t1##_is_sorted(const STACK_OF(t1) *sk) \
 I5	  44216     { \
 I5	  44217         return OPENSSL_sk_is_sorted((const OPENSSL_STACK *)sk); \
 I5	  44218     } \
 I5	  44219     static ossl_unused ossl_inline STACK_OF(t1) * sk_##t1##_dup(const STACK_OF(t1) *sk) \
 I5	  44220     { \
 I5	  44221         return (STACK_OF(t1) *)OPENSSL_sk_dup((const OPENSSL_STACK *)sk); \
 I5	  44222     } \
 I5	  44223     static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(const STACK_OF(t1) *sk, \
 I5	  44224                                                     sk_##t1##_copyfunc copyfunc, \
 I5	  44225                                                     sk_##t1##_freefunc freefunc) \
 I5	  44226     { \
 I5	  44227         return (STACK_OF(t1) *)OPENSSL_sk_deep_copy((const OPENSSL_STACK *)sk, \
 I5	  44228                                             (OPENSSL_sk_copyfunc)copyfunc, \
 I5	  44229                                             (OPENSSL_sk_freefunc)freefunc); \
 I5	  44230     } \
 I5	  44231     static ossl_unused ossl_inline sk_##t1##_compfunc sk_##t1##_set_cmp_func(STACK_OF(t1) *sk, sk_##t1##_compfunc co
 I5	  44231 mpare) \
 I5	  44232     { \
 I5	  44233         return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \
 I5	  44234     }
 I5	  44235 
 I5	  44236 # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
 I5	  44237 # define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t)
 I5	  44238 # define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2)
 I5	  44239 # define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \
 I5	  44240             SKM_DEFINE_STACK_OF(t1, const t2, t2)
 I5	  44241 
 I5	  44242 /*-
 I5	  44243  * Strings are special: normally an lhash entry will point to a single
 I5	  44244  * (somewhat) mutable object. In the case of strings:
 I5	  44245  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 798
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SAFESTACK.H;1

 I5	  44246  * a) Instead of a single char, there is an array of chars, NUL-terminated.
 I5	  44247  * b) The string may have be immutable.
 I5	  44248  *
 I5	  44249  * So, they need their own declarations. Especially important for
 I5	  44250  * type-checking tools, such as Deputy.
 I5	  44251  *
 I5	  44252  * In practice, however, it appears to be hard to have a const
 I5	  44253  * string. For now, I'm settling for dealing with the fact it is a
 I5	  44254  * string at all.
 I5	  44255  */
 I5	  44256 typedef char *OPENSSL_STRING;
 I5	  44257 typedef const char *OPENSSL_CSTRING;
 I5	  44258 
 I5	  44259 /*-
 I5	  44260  * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but
 I5	  44261  * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned
 I5	  44262  * above, instead of a single char each entry is a NUL-terminated array of
 I5	  44263  * chars. So, we have to implement STRING specially for STACK_OF. This is
 I5	  44264  * dealt with in the autogenerated macros below.
 I5	  44265  */
 I5   1	  44266 SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_STRING, char, char)
       E	 struct stack_st_OPENSSL_STRING ; typedef int ( * sk_OPENSSL_STRING_compfunc ) ( const char * const * a , const char
       E	 * const * b ) ; typedef void ( * sk_OPENSSL_STRING_freefunc ) ( char * a ) ; typedef char * ( * sk_OPENSSL_STRING_c
       E	opyfunc ) ( const char * a ) ; static __inline char * ossl_check_OPENSSL_STRING_type ( char * ptr ) { return ptr ; }
       E	 static __inline const OPENSSL_STACK * ossl_check_const_OPENSSL_STRING_sk_type ( const struct stack_st_OPENSSL_STRIN
       E	G * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_OPENSSL_STRING_sk_type
       E	 ( struct stack_st_OPENSSL_STRING * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc oss
       E	l_check_OPENSSL_STRING_compfunc_type ( sk_OPENSSL_STRING_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } sta
       E	tic __inline OPENSSL_sk_copyfunc ossl_check_OPENSSL_STRING_copyfunc_type ( sk_OPENSSL_STRING_copyfunc cpy ) { return
       E	 ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_OPENSSL_STRING_freefunc_type ( sk_OP
       E	ENSSL_STRING_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I5	  44267 #define sk_OPENSSL_STRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_STRING_sk_type(sk))
 I5	  44268 #define sk_OPENSSL_STRING_value(sk, idx) ((char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_STRING_sk_type(sk), (idx
 I5	  44268 )))
 I5	  44269 #define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_STRING_compfunc_ty
 I5	  44269 pe(cmp)))
 I5	  44270 #define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_null())
 I5	  44271 #define sk_OPENSSL_STRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL
 I5	  44271 _STRING_compfunc_type(cmp), (n)))
 I5	  44272 #define sk_OPENSSL_STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_STRING_sk_type(sk), (n))
 I5	  44273 #define sk_OPENSSL_STRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_STRING_sk_type(sk))
 I5	  44274 #define sk_OPENSSL_STRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_STRING_sk_type(sk))
 I5	  44275 #define sk_OPENSSL_STRING_delete(sk, i) ((char *)OPENSSL_sk_delete(ossl_check_OPENSSL_STRING_sk_type(sk), (i)))
 I5	  44276 #define sk_OPENSSL_STRING_delete_ptr(sk, ptr) ((char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_STRING_sk_type(sk), 
 I5	  44276 ossl_check_OPENSSL_STRING_type(ptr)))
 I5	  44277 #define sk_OPENSSL_STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_ST
 I5	  44277 RING_type(ptr))
 I5	  44278 #define sk_OPENSSL_STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPEN
 I5	  44278 SSL_STRING_type(ptr))
 I5	  44279 #define sk_OPENSSL_STRING_pop(sk) ((char *)OPENSSL_sk_pop(ossl_check_OPENSSL_STRING_sk_type(sk)))
 I5	  44280 #define sk_OPENSSL_STRING_shift(sk) ((char *)OPENSSL_sk_shift(ossl_check_OPENSSL_STRING_sk_type(sk)))
 I5	  44281 #define sk_OPENSSL_STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_STRING_sk_type(sk),ossl_chec
 I5	  44281 k_OPENSSL_STRING_freefunc_type(freefunc))
 I5	  44282 #define sk_OPENSSL_STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_O
 I5	  44282 PENSSL_STRING_type(ptr), (idx))
 I5	  44283 #define sk_OPENSSL_STRING_set(sk, idx, ptr) ((char *)OPENSSL_sk_set(ossl_check_OPENSSL_STRING_sk_type(sk), (idx), os
 I5	  44283 sl_check_OPENSSL_STRING_type(ptr)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 799
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SAFESTACK.H;1

 I5	  44284 #define sk_OPENSSL_STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_ST
 I5	  44284 RING_type(ptr))
 I5	  44285 #define sk_OPENSSL_STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPEN
 I5	  44285 SSL_STRING_type(ptr))
 I5	  44286 #define sk_OPENSSL_STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_ch
 I5	  44286 eck_OPENSSL_STRING_type(ptr), pnum)
 I5	  44287 #define sk_OPENSSL_STRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_STRING_sk_type(sk))
 I5	  44288 #define sk_OPENSSL_STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_STRING_sk_type(sk))
 I5	  44289 #define sk_OPENSSL_STRING_dup(sk) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_STRING_sk_typ
 I5	  44289 e(sk)))
 I5	  44290 #define sk_OPENSSL_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_deep_copy(ossl_c
 I5	  44290 heck_const_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_STRING_
 I5	  44290 freefunc_type(freefunc)))
 I5	  44291 #define sk_OPENSSL_STRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPEN
 I5	  44291 SSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_compfunc_type(cmp)))
 I5   1	  44292 SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_CSTRING, const char, char)
       E	 struct stack_st_OPENSSL_CSTRING ; typedef int ( * sk_OPENSSL_CSTRING_compfunc ) ( const char * const * a , const ch
       E	ar * const * b ) ; typedef void ( * sk_OPENSSL_CSTRING_freefunc ) ( char * a ) ; typedef char * ( * sk_OPENSSL_CSTRI
       E	NG_copyfunc ) ( const char * a ) ; static __inline const char * ossl_check_OPENSSL_CSTRING_type ( const char * ptr )
       E	 { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_OPENSSL_CSTRING_sk_type ( const struct stac
       E	k_st_OPENSSL_CSTRING * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_OPE
       E	NSSL_CSTRING_sk_type ( struct stack_st_OPENSSL_CSTRING * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OP
       E	ENSSL_sk_compfunc ossl_check_OPENSSL_CSTRING_compfunc_type ( sk_OPENSSL_CSTRING_compfunc cmp ) { return ( OPENSSL_sk
       E	_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_OPENSSL_CSTRING_copyfunc_type ( sk_OPENSSL_CSTRIN
       E	G_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_OPENSSL_CST
       E	RING_freefunc_type ( sk_OPENSSL_CSTRING_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I5	  44293 #define sk_OPENSSL_CSTRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_CSTRING_sk_type(sk))
 I5	  44294 #define sk_OPENSSL_CSTRING_value(sk, idx) ((const char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_CSTRING_sk_type(s
 I5	  44294 k), (idx)))
 I5	  44295 #define sk_OPENSSL_CSTRING_new(cmp) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_CSTRING_compfunc
 I5	  44295 _type(cmp)))
 I5	  44296 #define sk_OPENSSL_CSTRING_new_null() ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_null())
 I5	  44297 #define sk_OPENSSL_CSTRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENS
 I5	  44297 SL_CSTRING_compfunc_type(cmp), (n)))
 I5	  44298 #define sk_OPENSSL_CSTRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_CSTRING_sk_type(sk), (n))
 I5	  44299 #define sk_OPENSSL_CSTRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_CSTRING_sk_type(sk))
 I5	  44300 #define sk_OPENSSL_CSTRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_CSTRING_sk_type(sk))
 I5	  44301 #define sk_OPENSSL_CSTRING_delete(sk, i) ((const char *)OPENSSL_sk_delete(ossl_check_OPENSSL_CSTRING_sk_type(sk), (i
 I5	  44301 )))
 I5	  44302 #define sk_OPENSSL_CSTRING_delete_ptr(sk, ptr) ((const char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_CSTRING_sk_ty
 I5	  44302 pe(sk), ossl_check_OPENSSL_CSTRING_type(ptr)))
 I5	  44303 #define sk_OPENSSL_CSTRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_
 I5	  44303 CSTRING_type(ptr))
 I5	  44304 #define sk_OPENSSL_CSTRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OP
 I5	  44304 ENSSL_CSTRING_type(ptr))
 I5	  44305 #define sk_OPENSSL_CSTRING_pop(sk) ((const char *)OPENSSL_sk_pop(ossl_check_OPENSSL_CSTRING_sk_type(sk)))
 I5	  44306 #define sk_OPENSSL_CSTRING_shift(sk) ((const char *)OPENSSL_sk_shift(ossl_check_OPENSSL_CSTRING_sk_type(sk)))
 I5	  44307 #define sk_OPENSSL_CSTRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_CSTRING_sk_type(sk),ossl_ch
 I5	  44307 eck_OPENSSL_CSTRING_freefunc_type(freefunc))
 I5	  44308 #define sk_OPENSSL_CSTRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check
 I5	  44308 _OPENSSL_CSTRING_type(ptr), (idx))
 I5	  44309 #define sk_OPENSSL_CSTRING_set(sk, idx, ptr) ((const char *)OPENSSL_sk_set(ossl_check_OPENSSL_CSTRING_sk_type(sk), (
 I5	  44309 idx), ossl_check_OPENSSL_CSTRING_type(ptr)))
 I5	  44310 #define sk_OPENSSL_CSTRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_
 I5	  44310 CSTRING_type(ptr))
 I5	  44311 #define sk_OPENSSL_CSTRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OP
 I5	  44311 ENSSL_CSTRING_type(ptr))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 800
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SAFESTACK.H;1

 I5	  44312 #define sk_OPENSSL_CSTRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_
 I5	  44312 check_OPENSSL_CSTRING_type(ptr), pnum)
 I5	  44313 #define sk_OPENSSL_CSTRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_CSTRING_sk_type(sk))
 I5	  44314 #define sk_OPENSSL_CSTRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_CSTRING_sk_type(sk))
 I5	  44315 #define sk_OPENSSL_CSTRING_dup(sk) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_CSTRING_sk_
 I5	  44315 type(sk)))
 I5	  44316 #define sk_OPENSSL_CSTRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_deep_copy(ossl
 I5	  44316 _check_const_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_CST
 I5	  44316 RING_freefunc_type(freefunc)))
 I5	  44317 #define sk_OPENSSL_CSTRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_CSTRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OP
 I5	  44317 ENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_compfunc_type(cmp)))
 I5	  44318 
 I5	  44319 
 I5	  44320 #if !defined(OPENSSL_NO_DEPRECATED_3_0)
 I5	  44321 /*
 I5	  44322  * This is not used by OpenSSL.  A block of bytes,  NOT nul-terminated.
 I5	  44323  * These should also be distinguished from "normal" stacks.
 I5	  44324  */
 I5	  44325 typedef void *OPENSSL_BLOCK;
 I5   1	  44326 SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_BLOCK, void, void)
       E	 struct stack_st_OPENSSL_BLOCK ; typedef int ( * sk_OPENSSL_BLOCK_compfunc ) ( const void * const * a , const void *
       E	 const * b ) ; typedef void ( * sk_OPENSSL_BLOCK_freefunc ) ( void * a ) ; typedef void * ( * sk_OPENSSL_BLOCK_copyf
       E	unc ) ( const void * a ) ; static __inline void * ossl_check_OPENSSL_BLOCK_type ( void * ptr ) { return ptr ; } stat
       E	ic __inline const OPENSSL_STACK * ossl_check_const_OPENSSL_BLOCK_sk_type ( const struct stack_st_OPENSSL_BLOCK * sk 
       E	) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_OPENSSL_BLOCK_sk_type ( struc
       E	t stack_st_OPENSSL_BLOCK * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_O
       E	PENSSL_BLOCK_compfunc_type ( sk_OPENSSL_BLOCK_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inlin
       E	e OPENSSL_sk_copyfunc ossl_check_OPENSSL_BLOCK_copyfunc_type ( sk_OPENSSL_BLOCK_copyfunc cpy ) { return ( OPENSSL_sk
       E	_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_OPENSSL_BLOCK_freefunc_type ( sk_OPENSSL_BLOCK_fr
       E	eefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I5	  44327 #define sk_OPENSSL_BLOCK_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_BLOCK_sk_type(sk))
 I5	  44328 #define sk_OPENSSL_BLOCK_value(sk, idx) ((void *)OPENSSL_sk_value(ossl_check_const_OPENSSL_BLOCK_sk_type(sk), (idx))
 I5	  44328 )
 I5	  44329 #define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new(ossl_check_OPENSSL_BLOCK_compfunc_type(
 I5	  44329 cmp)))
 I5	  44330 #define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_null())
 I5	  44331 #define sk_OPENSSL_BLOCK_new_reserve(cmp, n) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_B
 I5	  44331 LOCK_compfunc_type(cmp), (n)))
 I5	  44332 #define sk_OPENSSL_BLOCK_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_BLOCK_sk_type(sk), (n))
 I5	  44333 #define sk_OPENSSL_BLOCK_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_BLOCK_sk_type(sk))
 I5	  44334 #define sk_OPENSSL_BLOCK_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_BLOCK_sk_type(sk))
 I5	  44335 #define sk_OPENSSL_BLOCK_delete(sk, i) ((void *)OPENSSL_sk_delete(ossl_check_OPENSSL_BLOCK_sk_type(sk), (i)))
 I5	  44336 #define sk_OPENSSL_BLOCK_delete_ptr(sk, ptr) ((void *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_BLOCK_sk_type(sk), os
 I5	  44336 sl_check_OPENSSL_BLOCK_type(ptr)))
 I5	  44337 #define sk_OPENSSL_BLOCK_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOC
 I5	  44337 K_type(ptr))
 I5	  44338 #define sk_OPENSSL_BLOCK_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSS
 I5	  44338 L_BLOCK_type(ptr))
 I5	  44339 #define sk_OPENSSL_BLOCK_pop(sk) ((void *)OPENSSL_sk_pop(ossl_check_OPENSSL_BLOCK_sk_type(sk)))
 I5	  44340 #define sk_OPENSSL_BLOCK_shift(sk) ((void *)OPENSSL_sk_shift(ossl_check_OPENSSL_BLOCK_sk_type(sk)))
 I5	  44341 #define sk_OPENSSL_BLOCK_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_BLOCK_sk_type(sk),ossl_check_
 I5	  44341 OPENSSL_BLOCK_freefunc_type(freefunc))
 I5	  44342 #define sk_OPENSSL_BLOCK_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPE
 I5	  44342 NSSL_BLOCK_type(ptr), (idx))
 I5	  44343 #define sk_OPENSSL_BLOCK_set(sk, idx, ptr) ((void *)OPENSSL_sk_set(ossl_check_OPENSSL_BLOCK_sk_type(sk), (idx), ossl
 I5	  44343 _check_OPENSSL_BLOCK_type(ptr)))
 I5	  44344 #define sk_OPENSSL_BLOCK_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOC

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 801
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SAFESTACK.H;1

 I5	  44344 K_type(ptr))
 I5	  44345 #define sk_OPENSSL_BLOCK_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSS
 I5	  44345 L_BLOCK_type(ptr))
 I5	  44346 #define sk_OPENSSL_BLOCK_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_chec
 I5	  44346 k_OPENSSL_BLOCK_type(ptr), pnum)
 I5	  44347 #define sk_OPENSSL_BLOCK_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_BLOCK_sk_type(sk))
 I5	  44348 #define sk_OPENSSL_BLOCK_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_BLOCK_sk_type(sk))
 I5	  44349 #define sk_OPENSSL_BLOCK_dup(sk) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_BLOCK_sk_type(s
 I5	  44349 k)))
 I5	  44350 #define sk_OPENSSL_BLOCK_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_deep_copy(ossl_che
 I5	  44350 ck_const_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_copyfunc_type(copyfunc), ossl_check_OPENSSL_BLOCK_freef
 I5	  44350 unc_type(freefunc)))
 I5	  44351 #define sk_OPENSSL_BLOCK_set_cmp_func(sk, cmp) ((sk_OPENSSL_BLOCK_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSS
 I5	  44351 L_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_compfunc_type(cmp)))
 I5	  44352 
 I5	  44353 #endif
 I5	  44354 
 I5    X  44355 # ifdef  __cplusplus
 I5    X  44356 }
 I5    X  44357 # endif
 I5	  44358 #endif
 I4    X  44359 # include <openssl/opensslv.h>
 I4	  44360 # include <openssl/types.h>
 I5	  44361 /*
 I5	  44362  * Copyright 2001-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  44363  *
 I5	  44364  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  44365  * this file except in compliance with the License.  You can obtain a copy
 I5	  44366  * in the file LICENSE in the source distribution or at
 I5	  44367  * https://www.openssl.org/source/license.html
 I5	  44368  */
 I5	  44369 
 I5	  44370 #ifndef OPENSSL_TYPES_H
 I5	  44371 # define OPENSSL_TYPES_H
 I5	  44372 # pragma once
 I5	  44373 
 I5    X  44374 # include <limits.h>
 I5	  44375 
 I5    X  44376 # ifdef  __cplusplus
 I5    X  44377 extern "C" {
 I5    X  44378 # endif
 I5	  44379 
 I5    X  44380 # include <openssl/e_os2.h>
 I5    X  44381 # include <openssl/safestack.h>
 I5    X  44382 # include <openssl/macros.h>
 I5	  44383 
 I5	  44384 typedef struct ossl_provider_st OSSL_PROVIDER; /* Provider Object */
 I5	  44385 
 I5    X  44386 # ifdef NO_ASN1_TYPEDEFS
 I5    X  44387 #  define ASN1_INTEGER            ASN1_STRING
 I5    X  44388 #  define ASN1_ENUMERATED         ASN1_STRING
 I5    X  44389 #  define ASN1_BIT_STRING         ASN1_STRING
 I5    X  44390 #  define ASN1_OCTET_STRING       ASN1_STRING
 I5    X  44391 #  define ASN1_PRINTABLESTRING    ASN1_STRING
 I5    X  44392 #  define ASN1_T61STRING          ASN1_STRING
 I5    X  44393 #  define ASN1_IA5STRING          ASN1_STRING
 I5    X  44394 #  define ASN1_UTCTIME            ASN1_STRING

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 802
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TYPES.H;1

 I5    X  44395 #  define ASN1_GENERALIZEDTIME    ASN1_STRING
 I5    X  44396 #  define ASN1_TIME               ASN1_STRING
 I5    X  44397 #  define ASN1_GENERALSTRING      ASN1_STRING
 I5    X  44398 #  define ASN1_UNIVERSALSTRING    ASN1_STRING
 I5    X  44399 #  define ASN1_BMPSTRING          ASN1_STRING
 I5    X  44400 #  define ASN1_VISIBLESTRING      ASN1_STRING
 I5    X  44401 #  define ASN1_UTF8STRING         ASN1_STRING
 I5    X  44402 #  define ASN1_BOOLEAN            int
 I5    X  44403 #  define ASN1_NULL               int
 I5    X  44404 # else
 I5	  44405 typedef struct asn1_string_st ASN1_INTEGER;
 I5	  44406 typedef struct asn1_string_st ASN1_ENUMERATED;
 I5	  44407 typedef struct asn1_string_st ASN1_BIT_STRING;
 I5	  44408 typedef struct asn1_string_st ASN1_OCTET_STRING;
 I5	  44409 typedef struct asn1_string_st ASN1_PRINTABLESTRING;
 I5	  44410 typedef struct asn1_string_st ASN1_T61STRING;
 I5	  44411 typedef struct asn1_string_st ASN1_IA5STRING;
 I5	  44412 typedef struct asn1_string_st ASN1_GENERALSTRING;
 I5	  44413 typedef struct asn1_string_st ASN1_UNIVERSALSTRING;
 I5	  44414 typedef struct asn1_string_st ASN1_BMPSTRING;
 I5	  44415 typedef struct asn1_string_st ASN1_UTCTIME;
 I5	  44416 typedef struct asn1_string_st ASN1_TIME;
 I5	  44417 typedef struct asn1_string_st ASN1_GENERALIZEDTIME;
 I5	  44418 typedef struct asn1_string_st ASN1_VISIBLESTRING;
 I5	  44419 typedef struct asn1_string_st ASN1_UTF8STRING;
 I5	  44420 typedef struct asn1_string_st ASN1_STRING;
 I5	  44421 typedef int ASN1_BOOLEAN;
 I5	  44422 typedef int ASN1_NULL;
 I5	  44423 # endif
 I5	  44424 
 I5	  44425 typedef struct asn1_type_st ASN1_TYPE;
 I5	  44426 typedef struct asn1_object_st ASN1_OBJECT;
 I5	  44427 typedef struct asn1_string_table_st ASN1_STRING_TABLE;
 I5	  44428 
 I5	  44429 typedef struct ASN1_ITEM_st ASN1_ITEM;
 I5	  44430 typedef struct asn1_pctx_st ASN1_PCTX;
 I5	  44431 typedef struct asn1_sctx_st ASN1_SCTX;
 I5	  44432 
 I5    X  44433 # ifdef _WIN32
 I5    X  44434 #  undef X509_NAME
 I5    X  44435 #  undef X509_EXTENSIONS
 I5    X  44436 #  undef PKCS7_ISSUER_AND_SERIAL
 I5    X  44437 #  undef PKCS7_SIGNER_INFO
 I5    X  44438 #  undef OCSP_REQUEST
 I5    X  44439 #  undef OCSP_RESPONSE
 I5    X  44440 # endif
 I5	  44441 
 I5    X  44442 # ifdef BIGNUM
 I5    X  44443 #  undef BIGNUM
 I5    X  44444 # endif
 I5	  44445 
 I5	  44446 typedef struct bio_st BIO;
 I5	  44447 typedef struct bignum_st BIGNUM;
 I5	  44448 typedef struct bignum_ctx BN_CTX;
 I5	  44449 typedef struct bn_blinding_st BN_BLINDING;
 I5	  44450 typedef struct bn_mont_ctx_st BN_MONT_CTX;
 I5	  44451 typedef struct bn_recp_ctx_st BN_RECP_CTX;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 803
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TYPES.H;1

 I5	  44452 typedef struct bn_gencb_st BN_GENCB;
 I5	  44453 
 I5	  44454 typedef struct buf_mem_st BUF_MEM;
 I5	  44455 
 I5	  44456 STACK_OF(BIGNUM);
       E	 struct stack_st_BIGNUM
 I5	  44457 STACK_OF(BIGNUM_const);
       E	 struct stack_st_BIGNUM_const
 I5	  44458 
 I5	  44459 typedef struct err_state_st ERR_STATE;
 I5	  44460 
 I5	  44461 typedef struct evp_cipher_st EVP_CIPHER;
 I5	  44462 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
 I5	  44463 typedef struct evp_md_st EVP_MD;
 I5	  44464 typedef struct evp_md_ctx_st EVP_MD_CTX;
 I5	  44465 typedef struct evp_mac_st EVP_MAC;
 I5	  44466 typedef struct evp_mac_ctx_st EVP_MAC_CTX;
 I5	  44467 typedef struct evp_pkey_st EVP_PKEY;
 I5	  44468 
 I5	  44469 typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD;
 I5	  44470 
 I5	  44471 typedef struct evp_pkey_method_st EVP_PKEY_METHOD;
 I5	  44472 typedef struct evp_pkey_ctx_st EVP_PKEY_CTX;
 I5	  44473 
 I5	  44474 typedef struct evp_keymgmt_st EVP_KEYMGMT;
 I5	  44475 
 I5	  44476 typedef struct evp_kdf_st EVP_KDF;
 I5	  44477 typedef struct evp_kdf_ctx_st EVP_KDF_CTX;
 I5	  44478 
 I5	  44479 typedef struct evp_rand_st EVP_RAND;
 I5	  44480 typedef struct evp_rand_ctx_st EVP_RAND_CTX;
 I5	  44481 
 I5	  44482 typedef struct evp_keyexch_st EVP_KEYEXCH;
 I5	  44483 
 I5	  44484 typedef struct evp_signature_st EVP_SIGNATURE;
 I5	  44485 
 I5	  44486 typedef struct evp_asym_cipher_st EVP_ASYM_CIPHER;
 I5	  44487 
 I5	  44488 typedef struct evp_kem_st EVP_KEM;
 I5	  44489 
 I5	  44490 typedef struct evp_Encode_Ctx_st EVP_ENCODE_CTX;
 I5	  44491 
 I5	  44492 typedef struct hmac_ctx_st HMAC_CTX;
 I5	  44493 
 I5	  44494 typedef struct dh_st DH;
 I5	  44495 typedef struct dh_method DH_METHOD;
 I5	  44496 
 I5	  44497 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  44498 typedef struct dsa_st DSA;
 I5	  44499 typedef struct dsa_method DSA_METHOD;
 I5	  44500 # endif
 I5	  44501 
 I5	  44502 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  44503 typedef struct rsa_st RSA;
 I5	  44504 typedef struct rsa_meth_st RSA_METHOD;
 I5	  44505 # endif
 I5	  44506 typedef struct rsa_pss_params_st RSA_PSS_PARAMS;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 804
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TYPES.H;1

 I5	  44507 
 I5	  44508 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  44509 typedef struct ec_key_st EC_KEY;
 I5	  44510 typedef struct ec_key_method_st EC_KEY_METHOD;
 I5	  44511 # endif
 I5	  44512 
 I5	  44513 typedef struct rand_meth_st RAND_METHOD;
 I5	  44514 typedef struct rand_drbg_st RAND_DRBG;
 I5	  44515 
 I5	  44516 typedef struct ssl_dane_st SSL_DANE;
 I5	  44517 typedef struct x509_st X509;
 I5	  44518 typedef struct X509_algor_st X509_ALGOR;
 I5	  44519 typedef struct X509_crl_st X509_CRL;
 I5	  44520 typedef struct x509_crl_method_st X509_CRL_METHOD;
 I5	  44521 typedef struct x509_revoked_st X509_REVOKED;
 I5	  44522 typedef struct X509_name_st X509_NAME;
 I5	  44523 typedef struct X509_pubkey_st X509_PUBKEY;
 I5	  44524 typedef struct x509_store_st X509_STORE;
 I5	  44525 typedef struct x509_store_ctx_st X509_STORE_CTX;
 I5	  44526 
 I5	  44527 typedef struct x509_object_st X509_OBJECT;
 I5	  44528 typedef struct x509_lookup_st X509_LOOKUP;
 I5	  44529 typedef struct x509_lookup_method_st X509_LOOKUP_METHOD;
 I5	  44530 typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM;
 I5	  44531 
 I5	  44532 typedef struct x509_sig_info_st X509_SIG_INFO;
 I5	  44533 
 I5	  44534 typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO;
 I5	  44535 
 I5	  44536 typedef struct v3_ext_ctx X509V3_CTX;
 I5	  44537 typedef struct conf_st CONF;
 I5	  44538 typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS;
 I5	  44539 
 I5	  44540 typedef struct ui_st UI;
 I5	  44541 typedef struct ui_method_st UI_METHOD;
 I5	  44542 
 I5	  44543 typedef struct engine_st ENGINE;
 I5	  44544 typedef struct ssl_st SSL;
 I5	  44545 typedef struct ssl_ctx_st SSL_CTX;
 I5	  44546 
 I5	  44547 typedef struct comp_ctx_st COMP_CTX;
 I5	  44548 typedef struct comp_method_st COMP_METHOD;
 I5	  44549 
 I5	  44550 typedef struct X509_POLICY_NODE_st X509_POLICY_NODE;
 I5	  44551 typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL;
 I5	  44552 typedef struct X509_POLICY_TREE_st X509_POLICY_TREE;
 I5	  44553 typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE;
 I5	  44554 
 I5	  44555 typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID;
 I5	  44556 typedef struct DIST_POINT_st DIST_POINT;
 I5	  44557 typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT;
 I5	  44558 typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS;
 I5	  44559 
 I5	  44560 typedef struct crypto_ex_data_st CRYPTO_EX_DATA;
 I5	  44561 
 I5	  44562 typedef struct ossl_http_req_ctx_st OSSL_HTTP_REQ_CTX;
 I5	  44563 typedef struct ocsp_response_st OCSP_RESPONSE;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 805
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TYPES.H;1

 I5	  44564 typedef struct ocsp_responder_id_st OCSP_RESPID;
 I5	  44565 
 I5	  44566 typedef struct sct_st SCT;
 I5	  44567 typedef struct sct_ctx_st SCT_CTX;
 I5	  44568 typedef struct ctlog_st CTLOG;
 I5	  44569 typedef struct ctlog_store_st CTLOG_STORE;
 I5	  44570 typedef struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX;
 I5	  44571 
 I5	  44572 typedef struct ossl_store_info_st OSSL_STORE_INFO;
 I5	  44573 typedef struct ossl_store_search_st OSSL_STORE_SEARCH;
 I5	  44574 
 I5	  44575 typedef struct ossl_lib_ctx_st OSSL_LIB_CTX;
 I5	  44576 
 I5	  44577 typedef struct ossl_dispatch_st OSSL_DISPATCH;
 I5	  44578 typedef struct ossl_item_st OSSL_ITEM;
 I5	  44579 typedef struct ossl_algorithm_st OSSL_ALGORITHM;
 I5	  44580 typedef struct ossl_param_st OSSL_PARAM;
 I5	  44581 typedef struct ossl_param_bld_st OSSL_PARAM_BLD;
 I5	  44582 
 I5	  44583 typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata);
 I5	  44584 
 I5	  44585 typedef struct ossl_encoder_st OSSL_ENCODER;
 I5	  44586 typedef struct ossl_encoder_ctx_st OSSL_ENCODER_CTX;
 I5	  44587 typedef struct ossl_decoder_st OSSL_DECODER;
 I5	  44588 typedef struct ossl_decoder_ctx_st OSSL_DECODER_CTX;
 I5	  44589 
 I5	  44590 typedef struct ossl_self_test_st OSSL_SELF_TEST;
 I5	  44591 
 I5    X  44592 #ifdef  __cplusplus
 I5    X  44593 }
 I5    X  44594 #endif
 I5	  44595 
 I5	  44596 #endif /* OPENSSL_TYPES_H */
 I4    X  44597 # include <openssl/opensslconf.h>
 I4	  44598 # include <openssl/cryptoerr.h>
 I5	  44599 /*
 I5	  44600  * Generated by util/mkerr.pl DO NOT EDIT
 I5	  44601  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  44602  *
 I5	  44603  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  44604  * this file except in compliance with the License.  You can obtain a copy
 I5	  44605  * in the file LICENSE in the source distribution or at
 I5	  44606  * https://www.openssl.org/source/license.html
 I5	  44607  */
 I5	  44608 
 I5	  44609 #ifndef OPENSSL_CRYPTOERR_H
 I5	  44610 # define OPENSSL_CRYPTOERR_H
 I5	  44611 # pragma once
 I5	  44612 
 I5    X  44613 # include <openssl/opensslconf.h>
 I5	  44614 # include <openssl/symhacks.h>
 I6	  44615 /*
 I6	  44616  * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  44617  *
 I6	  44618  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  44619  * this file except in compliance with the License.  You can obtain a copy
 I6	  44620  * in the file LICENSE in the source distribution or at

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 806
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SYMHACKS.H;1

 I6	  44621  * https://www.openssl.org/source/license.html
 I6	  44622  */
 I6	  44623 
 I6	  44624 #ifndef OPENSSL_SYMHACKS_H
 I6	  44625 # define OPENSSL_SYMHACKS_H
 I6	  44626 # pragma once
 I6	  44627 
 I6    X  44628 # include <openssl/macros.h>
 I6	  44629 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  44630 #  define HEADER_SYMHACKS_H
 I6	  44631 # endif
 I6	  44632 
 I6    X  44633 # include <openssl/e_os2.h>
 I6	  44634 
 I6	  44635 /* Case insensitive linking causes problems.... */
 I6	  44636 # if defined(OPENSSL_SYS_VMS)
 I6	  44637 #  undef ERR_load_CRYPTO_strings
 I6	  44638 #  define ERR_load_CRYPTO_strings                 ERR_load_CRYPTOlib_strings
 I6	  44639 #  undef OCSP_crlID_new
 I6	  44640 #  define OCSP_crlID_new                          OCSP_crlID2_new
 I6	  44641 
 I6	  44642 #  undef d2i_ECPARAMETERS
 I6	  44643 #  define d2i_ECPARAMETERS                        d2i_UC_ECPARAMETERS
 I6	  44644 #  undef i2d_ECPARAMETERS
 I6	  44645 #  define i2d_ECPARAMETERS                        i2d_UC_ECPARAMETERS
 I6	  44646 #  undef d2i_ECPKPARAMETERS
 I6	  44647 #  define d2i_ECPKPARAMETERS                      d2i_UC_ECPKPARAMETERS
 I6	  44648 #  undef i2d_ECPKPARAMETERS
 I6	  44649 #  define i2d_ECPKPARAMETERS                      i2d_UC_ECPKPARAMETERS
 I6	  44650 
 I6	  44651 # endif
 I6	  44652 
 I6	  44653 #endif                          /* ! defined HEADER_VMS_IDHACKS_H */
 I5	  44654 # include <openssl/cryptoerr_legacy.h>
 I6	  44655 /*
 I6	  44656  * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  44657  *
 I6	  44658  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  44659  * this file except in compliance with the License.  You can obtain a copy
 I6	  44660  * in the file LICENSE in the source distribution or at
 I6	  44661  * https://www.openssl.org/source/license.html
 I6	  44662  */
 I6	  44663 
 I6	  44664 /*
 I6	  44665  * This header file preserves symbols from pre-3.0 OpenSSL.
 I6	  44666  * It should never be included directly, as it's already included
 I6	  44667  * by the public {lib}err.h headers, and since it will go away some
 I6	  44668  * time in the future.
 I6	  44669  */
 I6	  44670 
 I6	  44671 #ifndef OPENSSL_CRYPTOERR_LEGACY_H
 I6	  44672 # define OPENSSL_CRYPTOERR_LEGACY_H
 I6	  44673 # pragma once
 I6	  44674 
 I6    X  44675 # include <openssl/macros.h>
 I6    X  44676 # include <openssl/symhacks.h>
 I6	  44677 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 807
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6    X  44678 # ifdef  __cplusplus
 I6    X  44679 extern "C" {
 I6    X  44680 # endif
 I6	  44681 
 I6	  44682 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  44683 OSSL_DEPRECATEDIN_3_0 int ERR_load_ASN1_strings(void);
       E	 extern
 I6	  44684 OSSL_DEPRECATEDIN_3_0 int ERR_load_ASYNC_strings(void);
       E	 extern
 I6	  44685 OSSL_DEPRECATEDIN_3_0 int ERR_load_BIO_strings(void);
       E	 extern
 I6	  44686 OSSL_DEPRECATEDIN_3_0 int ERR_load_BN_strings(void);
       E	 extern
 I6	  44687 OSSL_DEPRECATEDIN_3_0 int ERR_load_BUF_strings(void);
       E	 extern
 I6	  44688 #  ifndef OPENSSL_NO_CMS
 I6	  44689 OSSL_DEPRECATEDIN_3_0 int ERR_load_CMS_strings(void);
       E	 extern
 I6	  44690 #  endif
 I6	  44691 #  ifndef OPENSSL_NO_COMP
 I6	  44692 OSSL_DEPRECATEDIN_3_0 int ERR_load_COMP_strings(void);
       E	 extern
 I6	  44693 #  endif
 I6	  44694 OSSL_DEPRECATEDIN_3_0 int ERR_load_CONF_strings(void);
       E	 extern
 I6	  44695 OSSL_DEPRECATEDIN_3_0 int ERR_load_CRYPTO_strings(void);
       E	 extern
       E	                           ERR_load_CRYPTOlib_strings
 I6	  44696 #  ifndef OPENSSL_NO_CT
 I6	  44697 OSSL_DEPRECATEDIN_3_0 int ERR_load_CT_strings(void);
       E	 extern
 I6	  44698 #  endif
 I6	  44699 #  ifndef OPENSSL_NO_DH
 I6	  44700 OSSL_DEPRECATEDIN_3_0 int ERR_load_DH_strings(void);
       E	 extern
 I6	  44701 #  endif
 I6	  44702 #  ifndef OPENSSL_NO_DSA
 I6	  44703 OSSL_DEPRECATEDIN_3_0 int ERR_load_DSA_strings(void);
       E	 extern
 I6	  44704 #  endif
 I6	  44705 #  ifndef OPENSSL_NO_EC
 I6	  44706 OSSL_DEPRECATEDIN_3_0 int ERR_load_EC_strings(void);
       E	 extern
 I6	  44707 #  endif
 I6	  44708 #  ifndef OPENSSL_NO_ENGINE
 I6	  44709 OSSL_DEPRECATEDIN_3_0 int ERR_load_ENGINE_strings(void);
       E	 extern
 I6	  44710 #  endif
 I6	  44711 OSSL_DEPRECATEDIN_3_0 int ERR_load_ERR_strings(void);
       E	 extern
 I6	  44712 OSSL_DEPRECATEDIN_3_0 int ERR_load_EVP_strings(void);
       E	 extern
 I6	  44713 OSSL_DEPRECATEDIN_3_0 int ERR_load_KDF_strings(void);
       E	 extern
 I6	  44714 OSSL_DEPRECATEDIN_3_0 int ERR_load_OBJ_strings(void);
       E	 extern
 I6	  44715 #  ifndef OPENSSL_NO_OCSP

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 808
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  44716 OSSL_DEPRECATEDIN_3_0 int ERR_load_OCSP_strings(void);
       E	 extern
 I6	  44717 #  endif
 I6	  44718 OSSL_DEPRECATEDIN_3_0 int ERR_load_PEM_strings(void);
       E	 extern
 I6	  44719 OSSL_DEPRECATEDIN_3_0 int ERR_load_PKCS12_strings(void);
       E	 extern
 I6	  44720 OSSL_DEPRECATEDIN_3_0 int ERR_load_PKCS7_strings(void);
       E	 extern
 I6	  44721 OSSL_DEPRECATEDIN_3_0 int ERR_load_RAND_strings(void);
       E	 extern
 I6	  44722 OSSL_DEPRECATEDIN_3_0 int ERR_load_RSA_strings(void);
       E	 extern
 I6	  44723 OSSL_DEPRECATEDIN_3_0 int ERR_load_OSSL_STORE_strings(void);
       E	 extern
 I6	  44724 #  ifndef OPENSSL_NO_TS
 I6	  44725 OSSL_DEPRECATEDIN_3_0 int ERR_load_TS_strings(void);
       E	 extern
 I6	  44726 #  endif
 I6	  44727 OSSL_DEPRECATEDIN_3_0 int ERR_load_UI_strings(void);
       E	 extern
 I6	  44728 OSSL_DEPRECATEDIN_3_0 int ERR_load_X509_strings(void);
       E	 extern
 I6	  44729 OSSL_DEPRECATEDIN_3_0 int ERR_load_X509V3_strings(void);
       E	 extern
 I6	  44730 
 I6	  44731 /* Collected _F_ macros from OpenSSL 1.1.1 */
 I6	  44732 
 I6	  44733 /*
 I6	  44734  * ASN1 function codes.
 I6	  44735  */
 I6	  44736 #  define ASN1_F_A2D_ASN1_OBJECT                           0
 I6	  44737 #  define ASN1_F_A2I_ASN1_INTEGER                          0
 I6	  44738 #  define ASN1_F_A2I_ASN1_STRING                           0
 I6	  44739 #  define ASN1_F_APPEND_EXP                                0
 I6	  44740 #  define ASN1_F_ASN1_BIO_INIT                             0
 I6	  44741 #  define ASN1_F_ASN1_BIT_STRING_SET_BIT                   0
 I6	  44742 #  define ASN1_F_ASN1_CB                                   0
 I6	  44743 #  define ASN1_F_ASN1_CHECK_TLEN                           0
 I6	  44744 #  define ASN1_F_ASN1_COLLECT                              0
 I6	  44745 #  define ASN1_F_ASN1_D2I_EX_PRIMITIVE                     0
 I6	  44746 #  define ASN1_F_ASN1_D2I_FP                               0
 I6	  44747 #  define ASN1_F_ASN1_D2I_READ_BIO                         0
 I6	  44748 #  define ASN1_F_ASN1_DIGEST                               0
 I6	  44749 #  define ASN1_F_ASN1_DO_ADB                               0
 I6	  44750 #  define ASN1_F_ASN1_DO_LOCK                              0
 I6	  44751 #  define ASN1_F_ASN1_DUP                                  0
 I6	  44752 #  define ASN1_F_ASN1_ENC_SAVE                             0
 I6	  44753 #  define ASN1_F_ASN1_EX_C2I                               0
 I6	  44754 #  define ASN1_F_ASN1_FIND_END                             0
 I6	  44755 #  define ASN1_F_ASN1_GENERALIZEDTIME_ADJ                  0
 I6	  44756 #  define ASN1_F_ASN1_GENERATE_V3                          0
 I6	  44757 #  define ASN1_F_ASN1_GET_INT64                            0
 I6	  44758 #  define ASN1_F_ASN1_GET_OBJECT                           0
 I6	  44759 #  define ASN1_F_ASN1_GET_UINT64                           0
 I6	  44760 #  define ASN1_F_ASN1_I2D_BIO                              0
 I6	  44761 #  define ASN1_F_ASN1_I2D_FP                               0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 809
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  44762 #  define ASN1_F_ASN1_ITEM_D2I_FP                          0
 I6	  44763 #  define ASN1_F_ASN1_ITEM_DUP                             0
 I6	  44764 #  define ASN1_F_ASN1_ITEM_EMBED_D2I                       0
 I6	  44765 #  define ASN1_F_ASN1_ITEM_EMBED_NEW                       0
 I6	  44766 #  define ASN1_F_ASN1_ITEM_FLAGS_I2D                       0
 I6	  44767 #  define ASN1_F_ASN1_ITEM_I2D_BIO                         0
 I6	  44768 #  define ASN1_F_ASN1_ITEM_I2D_FP                          0
 I6	  44769 #  define ASN1_F_ASN1_ITEM_PACK                            0
 I6	  44770 #  define ASN1_F_ASN1_ITEM_SIGN                            0
 I6	  44771 #  define ASN1_F_ASN1_ITEM_SIGN_CTX                        0
 I6	  44772 #  define ASN1_F_ASN1_ITEM_UNPACK                          0
 I6	  44773 #  define ASN1_F_ASN1_ITEM_VERIFY                          0
 I6	  44774 #  define ASN1_F_ASN1_MBSTRING_NCOPY                       0
 I6	  44775 #  define ASN1_F_ASN1_OBJECT_NEW                           0
 I6	  44776 #  define ASN1_F_ASN1_OUTPUT_DATA                          0
 I6	  44777 #  define ASN1_F_ASN1_PCTX_NEW                             0
 I6	  44778 #  define ASN1_F_ASN1_PRIMITIVE_NEW                        0
 I6	  44779 #  define ASN1_F_ASN1_SCTX_NEW                             0
 I6	  44780 #  define ASN1_F_ASN1_SIGN                                 0
 I6	  44781 #  define ASN1_F_ASN1_STR2TYPE                             0
 I6	  44782 #  define ASN1_F_ASN1_STRING_GET_INT64                     0
 I6	  44783 #  define ASN1_F_ASN1_STRING_GET_UINT64                    0
 I6	  44784 #  define ASN1_F_ASN1_STRING_SET                           0
 I6	  44785 #  define ASN1_F_ASN1_STRING_TABLE_ADD                     0
 I6	  44786 #  define ASN1_F_ASN1_STRING_TO_BN                         0
 I6	  44787 #  define ASN1_F_ASN1_STRING_TYPE_NEW                      0
 I6	  44788 #  define ASN1_F_ASN1_TEMPLATE_EX_D2I                      0
 I6	  44789 #  define ASN1_F_ASN1_TEMPLATE_NEW                         0
 I6	  44790 #  define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I                   0
 I6	  44791 #  define ASN1_F_ASN1_TIME_ADJ                             0
 I6	  44792 #  define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING             0
 I6	  44793 #  define ASN1_F_ASN1_TYPE_GET_OCTETSTRING                 0
 I6	  44794 #  define ASN1_F_ASN1_UTCTIME_ADJ                          0
 I6	  44795 #  define ASN1_F_ASN1_VERIFY                               0
 I6	  44796 #  define ASN1_F_B64_READ_ASN1                             0
 I6	  44797 #  define ASN1_F_B64_WRITE_ASN1                            0
 I6	  44798 #  define ASN1_F_BIO_NEW_NDEF                              0
 I6	  44799 #  define ASN1_F_BITSTR_CB                                 0
 I6	  44800 #  define ASN1_F_BN_TO_ASN1_STRING                         0
 I6	  44801 #  define ASN1_F_C2I_ASN1_BIT_STRING                       0
 I6	  44802 #  define ASN1_F_C2I_ASN1_INTEGER                          0
 I6	  44803 #  define ASN1_F_C2I_ASN1_OBJECT                           0
 I6	  44804 #  define ASN1_F_C2I_IBUF                                  0
 I6	  44805 #  define ASN1_F_C2I_UINT64_INT                            0
 I6	  44806 #  define ASN1_F_COLLECT_DATA                              0
 I6	  44807 #  define ASN1_F_D2I_ASN1_OBJECT                           0
 I6	  44808 #  define ASN1_F_D2I_ASN1_UINTEGER                         0
 I6	  44809 #  define ASN1_F_D2I_AUTOPRIVATEKEY                        0
 I6	  44810 #  define ASN1_F_D2I_PRIVATEKEY                            0
 I6	  44811 #  define ASN1_F_D2I_PUBLICKEY                             0
 I6	  44812 #  define ASN1_F_DO_BUF                                    0
 I6	  44813 #  define ASN1_F_DO_CREATE                                 0
 I6	  44814 #  define ASN1_F_DO_DUMP                                   0
 I6	  44815 #  define ASN1_F_DO_TCREATE                                0
 I6	  44816 #  define ASN1_F_I2A_ASN1_OBJECT                           0
 I6	  44817 #  define ASN1_F_I2D_ASN1_BIO_STREAM                       0
 I6	  44818 #  define ASN1_F_I2D_ASN1_OBJECT                           0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 810
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  44819 #  define ASN1_F_I2D_DSA_PUBKEY                            0
 I6	  44820 #  define ASN1_F_I2D_EC_PUBKEY                             0
 I6	  44821 #  define ASN1_F_I2D_PRIVATEKEY                            0
 I6	  44822 #  define ASN1_F_I2D_PUBLICKEY                             0
 I6	  44823 #  define ASN1_F_I2D_RSA_PUBKEY                            0
 I6	  44824 #  define ASN1_F_LONG_C2I                                  0
 I6	  44825 #  define ASN1_F_NDEF_PREFIX                               0
 I6	  44826 #  define ASN1_F_NDEF_SUFFIX                               0
 I6	  44827 #  define ASN1_F_OID_MODULE_INIT                           0
 I6	  44828 #  define ASN1_F_PARSE_TAGGING                             0
 I6	  44829 #  define ASN1_F_PKCS5_PBE2_SET_IV                         0
 I6	  44830 #  define ASN1_F_PKCS5_PBE2_SET_SCRYPT                     0
 I6	  44831 #  define ASN1_F_PKCS5_PBE_SET                             0
 I6	  44832 #  define ASN1_F_PKCS5_PBE_SET0_ALGOR                      0
 I6	  44833 #  define ASN1_F_PKCS5_PBKDF2_SET                          0
 I6	  44834 #  define ASN1_F_PKCS5_SCRYPT_SET                          0
 I6	  44835 #  define ASN1_F_SMIME_READ_ASN1                           0
 I6	  44836 #  define ASN1_F_SMIME_TEXT                                0
 I6	  44837 #  define ASN1_F_STABLE_GET                                0
 I6	  44838 #  define ASN1_F_STBL_MODULE_INIT                          0
 I6	  44839 #  define ASN1_F_UINT32_C2I                                0
 I6	  44840 #  define ASN1_F_UINT32_NEW                                0
 I6	  44841 #  define ASN1_F_UINT64_C2I                                0
 I6	  44842 #  define ASN1_F_UINT64_NEW                                0
 I6	  44843 #  define ASN1_F_X509_CRL_ADD0_REVOKED                     0
 I6	  44844 #  define ASN1_F_X509_INFO_NEW                             0
 I6	  44845 #  define ASN1_F_X509_NAME_ENCODE                          0
 I6	  44846 #  define ASN1_F_X509_NAME_EX_D2I                          0
 I6	  44847 #  define ASN1_F_X509_NAME_EX_NEW                          0
 I6	  44848 #  define ASN1_F_X509_PKEY_NEW                             0
 I6	  44849 
 I6	  44850 /*
 I6	  44851  * ASYNC function codes.
 I6	  44852  */
 I6	  44853 #  define ASYNC_F_ASYNC_CTX_NEW                            0
 I6	  44854 #  define ASYNC_F_ASYNC_INIT_THREAD                        0
 I6	  44855 #  define ASYNC_F_ASYNC_JOB_NEW                            0
 I6	  44856 #  define ASYNC_F_ASYNC_PAUSE_JOB                          0
 I6	  44857 #  define ASYNC_F_ASYNC_START_FUNC                         0
 I6	  44858 #  define ASYNC_F_ASYNC_START_JOB                          0
 I6	  44859 #  define ASYNC_F_ASYNC_WAIT_CTX_SET_WAIT_FD               0
 I6	  44860 
 I6	  44861 /*
 I6	  44862  * BIO function codes.
 I6	  44863  */
 I6	  44864 #  define BIO_F_ACPT_STATE                                 0
 I6	  44865 #  define BIO_F_ADDRINFO_WRAP                              0
 I6	  44866 #  define BIO_F_ADDR_STRINGS                               0
 I6	  44867 #  define BIO_F_BIO_ACCEPT                                 0
 I6	  44868 #  define BIO_F_BIO_ACCEPT_EX                              0
 I6	  44869 #  define BIO_F_BIO_ACCEPT_NEW                             0
 I6	  44870 #  define BIO_F_BIO_ADDR_NEW                               0
 I6	  44871 #  define BIO_F_BIO_BIND                                   0
 I6	  44872 #  define BIO_F_BIO_CALLBACK_CTRL                          0
 I6	  44873 #  define BIO_F_BIO_CONNECT                                0
 I6	  44874 #  define BIO_F_BIO_CONNECT_NEW                            0
 I6	  44875 #  define BIO_F_BIO_CTRL                                   0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 811
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  44876 #  define BIO_F_BIO_GETS                                   0
 I6	  44877 #  define BIO_F_BIO_GET_HOST_IP                            0
 I6	  44878 #  define BIO_F_BIO_GET_NEW_INDEX                          0
 I6	  44879 #  define BIO_F_BIO_GET_PORT                               0
 I6	  44880 #  define BIO_F_BIO_LISTEN                                 0
 I6	  44881 #  define BIO_F_BIO_LOOKUP                                 0
 I6	  44882 #  define BIO_F_BIO_LOOKUP_EX                              0
 I6	  44883 #  define BIO_F_BIO_MAKE_PAIR                              0
 I6	  44884 #  define BIO_F_BIO_METH_NEW                               0
 I6	  44885 #  define BIO_F_BIO_NEW                                    0
 I6	  44886 #  define BIO_F_BIO_NEW_DGRAM_SCTP                         0
 I6	  44887 #  define BIO_F_BIO_NEW_FILE                               0
 I6	  44888 #  define BIO_F_BIO_NEW_MEM_BUF                            0
 I6	  44889 #  define BIO_F_BIO_NREAD                                  0
 I6	  44890 #  define BIO_F_BIO_NREAD0                                 0
 I6	  44891 #  define BIO_F_BIO_NWRITE                                 0
 I6	  44892 #  define BIO_F_BIO_NWRITE0                                0
 I6	  44893 #  define BIO_F_BIO_PARSE_HOSTSERV                         0
 I6	  44894 #  define BIO_F_BIO_PUTS                                   0
 I6	  44895 #  define BIO_F_BIO_READ                                   0
 I6	  44896 #  define BIO_F_BIO_READ_EX                                0
 I6	  44897 #  define BIO_F_BIO_READ_INTERN                            0
 I6	  44898 #  define BIO_F_BIO_SOCKET                                 0
 I6	  44899 #  define BIO_F_BIO_SOCKET_NBIO                            0
 I6	  44900 #  define BIO_F_BIO_SOCK_INFO                              0
 I6	  44901 #  define BIO_F_BIO_SOCK_INIT                              0
 I6	  44902 #  define BIO_F_BIO_WRITE                                  0
 I6	  44903 #  define BIO_F_BIO_WRITE_EX                               0
 I6	  44904 #  define BIO_F_BIO_WRITE_INTERN                           0
 I6	  44905 #  define BIO_F_BUFFER_CTRL                                0
 I6	  44906 #  define BIO_F_CONN_CTRL                                  0
 I6	  44907 #  define BIO_F_CONN_STATE                                 0
 I6	  44908 #  define BIO_F_DGRAM_SCTP_NEW                             0
 I6	  44909 #  define BIO_F_DGRAM_SCTP_READ                            0
 I6	  44910 #  define BIO_F_DGRAM_SCTP_WRITE                           0
 I6	  44911 #  define BIO_F_DOAPR_OUTCH                                0
 I6	  44912 #  define BIO_F_FILE_CTRL                                  0
 I6	  44913 #  define BIO_F_FILE_READ                                  0
 I6	  44914 #  define BIO_F_LINEBUFFER_CTRL                            0
 I6	  44915 #  define BIO_F_LINEBUFFER_NEW                             0
 I6	  44916 #  define BIO_F_MEM_WRITE                                  0
 I6	  44917 #  define BIO_F_NBIOF_NEW                                  0
 I6	  44918 #  define BIO_F_SLG_WRITE                                  0
 I6	  44919 #  define BIO_F_SSL_NEW                                    0
 I6	  44920 
 I6	  44921 /*
 I6	  44922  * BN function codes.
 I6	  44923  */
 I6	  44924 #  define BN_F_BNRAND                                      0
 I6	  44925 #  define BN_F_BNRAND_RANGE                                0
 I6	  44926 #  define BN_F_BN_BLINDING_CONVERT_EX                      0
 I6	  44927 #  define BN_F_BN_BLINDING_CREATE_PARAM                    0
 I6	  44928 #  define BN_F_BN_BLINDING_INVERT_EX                       0
 I6	  44929 #  define BN_F_BN_BLINDING_NEW                             0
 I6	  44930 #  define BN_F_BN_BLINDING_UPDATE                          0
 I6	  44931 #  define BN_F_BN_BN2DEC                                   0
 I6	  44932 #  define BN_F_BN_BN2HEX                                   0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 812
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  44933 #  define BN_F_BN_COMPUTE_WNAF                             0
 I6	  44934 #  define BN_F_BN_CTX_GET                                  0
 I6	  44935 #  define BN_F_BN_CTX_NEW                                  0
 I6	  44936 #  define BN_F_BN_CTX_START                                0
 I6	  44937 #  define BN_F_BN_DIV                                      0
 I6	  44938 #  define BN_F_BN_DIV_RECP                                 0
 I6	  44939 #  define BN_F_BN_EXP                                      0
 I6	  44940 #  define BN_F_BN_EXPAND_INTERNAL                          0
 I6	  44941 #  define BN_F_BN_GENCB_NEW                                0
 I6	  44942 #  define BN_F_BN_GENERATE_DSA_NONCE                       0
 I6	  44943 #  define BN_F_BN_GENERATE_PRIME_EX                        0
 I6	  44944 #  define BN_F_BN_GF2M_MOD                                 0
 I6	  44945 #  define BN_F_BN_GF2M_MOD_EXP                             0
 I6	  44946 #  define BN_F_BN_GF2M_MOD_MUL                             0
 I6	  44947 #  define BN_F_BN_GF2M_MOD_SOLVE_QUAD                      0
 I6	  44948 #  define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR                  0
 I6	  44949 #  define BN_F_BN_GF2M_MOD_SQR                             0
 I6	  44950 #  define BN_F_BN_GF2M_MOD_SQRT                            0
 I6	  44951 #  define BN_F_BN_LSHIFT                                   0
 I6	  44952 #  define BN_F_BN_MOD_EXP2_MONT                            0
 I6	  44953 #  define BN_F_BN_MOD_EXP_MONT                             0
 I6	  44954 #  define BN_F_BN_MOD_EXP_MONT_CONSTTIME                   0
 I6	  44955 #  define BN_F_BN_MOD_EXP_MONT_WORD                        0
 I6	  44956 #  define BN_F_BN_MOD_EXP_RECP                             0
 I6	  44957 #  define BN_F_BN_MOD_EXP_SIMPLE                           0
 I6	  44958 #  define BN_F_BN_MOD_INVERSE                              0
 I6	  44959 #  define BN_F_BN_MOD_INVERSE_NO_BRANCH                    0
 I6	  44960 #  define BN_F_BN_MOD_LSHIFT_QUICK                         0
 I6	  44961 #  define BN_F_BN_MOD_SQRT                                 0
 I6	  44962 #  define BN_F_BN_MONT_CTX_NEW                             0
 I6	  44963 #  define BN_F_BN_MPI2BN                                   0
 I6	  44964 #  define BN_F_BN_NEW                                      0
 I6	  44965 #  define BN_F_BN_POOL_GET                                 0
 I6	  44966 #  define BN_F_BN_RAND                                     0
 I6	  44967 #  define BN_F_BN_RAND_RANGE                               0
 I6	  44968 #  define BN_F_BN_RECP_CTX_NEW                             0
 I6	  44969 #  define BN_F_BN_RSHIFT                                   0
 I6	  44970 #  define BN_F_BN_SET_WORDS                                0
 I6	  44971 #  define BN_F_BN_STACK_PUSH                               0
 I6	  44972 #  define BN_F_BN_USUB                                     0
 I6	  44973 
 I6	  44974 /*
 I6	  44975  * BUF function codes.
 I6	  44976  */
 I6	  44977 #  define BUF_F_BUF_MEM_GROW                               0
 I6	  44978 #  define BUF_F_BUF_MEM_GROW_CLEAN                         0
 I6	  44979 #  define BUF_F_BUF_MEM_NEW                                0
 I6	  44980 
 I6	  44981 #  ifndef OPENSSL_NO_CMS
 I6	  44982 /*
 I6	  44983  * CMS function codes.
 I6	  44984  */
 I6	  44985 #   define CMS_F_CHECK_CONTENT                              0
 I6	  44986 #   define CMS_F_CMS_ADD0_CERT                              0
 I6	  44987 #   define CMS_F_CMS_ADD0_RECIPIENT_KEY                     0
 I6	  44988 #   define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD                0
 I6	  44989 #   define CMS_F_CMS_ADD1_RECEIPTREQUEST                    0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 813
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  44990 #   define CMS_F_CMS_ADD1_RECIPIENT_CERT                    0
 I6	  44991 #   define CMS_F_CMS_ADD1_SIGNER                            0
 I6	  44992 #   define CMS_F_CMS_ADD1_SIGNINGTIME                       0
 I6	  44993 #   define CMS_F_CMS_COMPRESS                               0
 I6	  44994 #   define CMS_F_CMS_COMPRESSEDDATA_CREATE                  0
 I6	  44995 #   define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO                0
 I6	  44996 #   define CMS_F_CMS_COPY_CONTENT                           0
 I6	  44997 #   define CMS_F_CMS_COPY_MESSAGEDIGEST                     0
 I6	  44998 #   define CMS_F_CMS_DATA                                   0
 I6	  44999 #   define CMS_F_CMS_DATAFINAL                              0
 I6	  45000 #   define CMS_F_CMS_DATAINIT                               0
 I6	  45001 #   define CMS_F_CMS_DECRYPT                                0
 I6	  45002 #   define CMS_F_CMS_DECRYPT_SET1_KEY                       0
 I6	  45003 #   define CMS_F_CMS_DECRYPT_SET1_PASSWORD                  0
 I6	  45004 #   define CMS_F_CMS_DECRYPT_SET1_PKEY                      0
 I6	  45005 #   define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX               0
 I6	  45006 #   define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO               0
 I6	  45007 #   define CMS_F_CMS_DIGESTEDDATA_DO_FINAL                  0
 I6	  45008 #   define CMS_F_CMS_DIGEST_VERIFY                          0
 I6	  45009 #   define CMS_F_CMS_ENCODE_RECEIPT                         0
 I6	  45010 #   define CMS_F_CMS_ENCRYPT                                0
 I6	  45011 #   define CMS_F_CMS_ENCRYPTEDCONTENT_INIT                  0
 I6	  45012 #   define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO              0
 I6	  45013 #   define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT                  0
 I6	  45014 #   define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT                  0
 I6	  45015 #   define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY                 0
 I6	  45016 #   define CMS_F_CMS_ENVELOPEDDATA_CREATE                   0
 I6	  45017 #   define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO                 0
 I6	  45018 #   define CMS_F_CMS_ENVELOPED_DATA_INIT                    0
 I6	  45019 #   define CMS_F_CMS_ENV_ASN1_CTRL                          0
 I6	  45020 #   define CMS_F_CMS_FINAL                                  0
 I6	  45021 #   define CMS_F_CMS_GET0_CERTIFICATE_CHOICES               0
 I6	  45022 #   define CMS_F_CMS_GET0_CONTENT                           0
 I6	  45023 #   define CMS_F_CMS_GET0_ECONTENT_TYPE                     0
 I6	  45024 #   define CMS_F_CMS_GET0_ENVELOPED                         0
 I6	  45025 #   define CMS_F_CMS_GET0_REVOCATION_CHOICES                0
 I6	  45026 #   define CMS_F_CMS_GET0_SIGNED                            0
 I6	  45027 #   define CMS_F_CMS_MSGSIGDIGEST_ADD1                      0
 I6	  45028 #   define CMS_F_CMS_RECEIPTREQUEST_CREATE0                 0
 I6	  45029 #   define CMS_F_CMS_RECEIPT_VERIFY                         0
 I6	  45030 #   define CMS_F_CMS_RECIPIENTINFO_DECRYPT                  0
 I6	  45031 #   define CMS_F_CMS_RECIPIENTINFO_ENCRYPT                  0
 I6	  45032 #   define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT             0
 I6	  45033 #   define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG            0
 I6	  45034 #   define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID        0
 I6	  45035 #   define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS           0
 I6	  45036 #   define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP         0
 I6	  45037 #   define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT            0
 I6	  45038 #   define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT            0
 I6	  45039 #   define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID            0
 I6	  45040 #   define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP             0
 I6	  45041 #   define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP            0
 I6	  45042 #   define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT             0
 I6	  45043 #   define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT             0
 I6	  45044 #   define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS           0
 I6	  45045 #   define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID      0
 I6	  45046 #   define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT               0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 814
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45047 #   define CMS_F_CMS_RECIPIENTINFO_SET0_KEY                 0
 I6	  45048 #   define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD            0
 I6	  45049 #   define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY                0
 I6	  45050 #   define CMS_F_CMS_SD_ASN1_CTRL                           0
 I6	  45051 #   define CMS_F_CMS_SET1_IAS                               0
 I6	  45052 #   define CMS_F_CMS_SET1_KEYID                             0
 I6	  45053 #   define CMS_F_CMS_SET1_SIGNERIDENTIFIER                  0
 I6	  45054 #   define CMS_F_CMS_SET_DETACHED                           0
 I6	  45055 #   define CMS_F_CMS_SIGN                                   0
 I6	  45056 #   define CMS_F_CMS_SIGNED_DATA_INIT                       0
 I6	  45057 #   define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN                0
 I6	  45058 #   define CMS_F_CMS_SIGNERINFO_SIGN                        0
 I6	  45059 #   define CMS_F_CMS_SIGNERINFO_VERIFY                      0
 I6	  45060 #   define CMS_F_CMS_SIGNERINFO_VERIFY_CERT                 0
 I6	  45061 #   define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT              0
 I6	  45062 #   define CMS_F_CMS_SIGN_RECEIPT                           0
 I6	  45063 #   define CMS_F_CMS_SI_CHECK_ATTRIBUTES                    0
 I6	  45064 #   define CMS_F_CMS_STREAM                                 0
 I6	  45065 #   define CMS_F_CMS_UNCOMPRESS                             0
 I6	  45066 #   define CMS_F_CMS_VERIFY                                 0
 I6	  45067 #   define CMS_F_KEK_UNWRAP_KEY                             0
 I6	  45068 #  endif
 I6	  45069 
 I6	  45070 #  ifndef OPENSSL_NO_COMP
 I6	  45071 /*
 I6	  45072  * COMP function codes.
 I6	  45073  */
 I6	  45074 #   define COMP_F_BIO_ZLIB_FLUSH                            0
 I6	  45075 #   define COMP_F_BIO_ZLIB_NEW                              0
 I6	  45076 #   define COMP_F_BIO_ZLIB_READ                             0
 I6	  45077 #   define COMP_F_BIO_ZLIB_WRITE                            0
 I6	  45078 #   define COMP_F_COMP_CTX_NEW                              0
 I6	  45079 #  endif
 I6	  45080 
 I6	  45081 /*
 I6	  45082  * CONF function codes.
 I6	  45083  */
 I6	  45084 #  define CONF_F_CONF_DUMP_FP                              0
 I6	  45085 #  define CONF_F_CONF_LOAD                                 0
 I6	  45086 #  define CONF_F_CONF_LOAD_FP                              0
 I6	  45087 #  define CONF_F_CONF_PARSE_LIST                           0
 I6	  45088 #  define CONF_F_DEF_LOAD                                  0
 I6	  45089 #  define CONF_F_DEF_LOAD_BIO                              0
 I6	  45090 #  define CONF_F_GET_NEXT_FILE                             0
 I6	  45091 #  define CONF_F_MODULE_ADD                                0
 I6	  45092 #  define CONF_F_MODULE_INIT                               0
 I6	  45093 #  define CONF_F_MODULE_LOAD_DSO                           0
 I6	  45094 #  define CONF_F_MODULE_RUN                                0
 I6	  45095 #  define CONF_F_NCONF_DUMP_BIO                            0
 I6	  45096 #  define CONF_F_NCONF_DUMP_FP                             0
 I6	  45097 #  define CONF_F_NCONF_GET_NUMBER_E                        0
 I6	  45098 #  define CONF_F_NCONF_GET_SECTION                         0
 I6	  45099 #  define CONF_F_NCONF_GET_STRING                          0
 I6	  45100 #  define CONF_F_NCONF_LOAD                                0
 I6	  45101 #  define CONF_F_NCONF_LOAD_BIO                            0
 I6	  45102 #  define CONF_F_NCONF_LOAD_FP                             0
 I6	  45103 #  define CONF_F_NCONF_NEW                                 0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 815
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45104 #  define CONF_F_PROCESS_INCLUDE                           0
 I6	  45105 #  define CONF_F_SSL_MODULE_INIT                           0
 I6	  45106 #  define CONF_F_STR_COPY                                  0
 I6	  45107 
 I6	  45108 /*
 I6	  45109  * CRYPTO function codes.
 I6	  45110  */
 I6	  45111 #  define CRYPTO_F_CMAC_CTX_NEW                            0
 I6	  45112 #  define CRYPTO_F_CRYPTO_DUP_EX_DATA                      0
 I6	  45113 #  define CRYPTO_F_CRYPTO_FREE_EX_DATA                     0
 I6	  45114 #  define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX                 0
 I6	  45115 #  define CRYPTO_F_CRYPTO_MEMDUP                           0
 I6	  45116 #  define CRYPTO_F_CRYPTO_NEW_EX_DATA                      0
 I6	  45117 #  define CRYPTO_F_CRYPTO_OCB128_COPY_CTX                  0
 I6	  45118 #  define CRYPTO_F_CRYPTO_OCB128_INIT                      0
 I6	  45119 #  define CRYPTO_F_CRYPTO_SET_EX_DATA                      0
 I6	  45120 #  define CRYPTO_F_GET_AND_LOCK                            0
 I6	  45121 #  define CRYPTO_F_OPENSSL_ATEXIT                          0
 I6	  45122 #  define CRYPTO_F_OPENSSL_BUF2HEXSTR                      0
 I6	  45123 #  define CRYPTO_F_OPENSSL_FOPEN                           0
 I6	  45124 #  define CRYPTO_F_OPENSSL_HEXSTR2BUF                      0
 I6	  45125 #  define CRYPTO_F_OPENSSL_INIT_CRYPTO                     0
 I6	  45126 #  define CRYPTO_F_OPENSSL_LH_NEW                          0
 I6	  45127 #  define CRYPTO_F_OPENSSL_SK_DEEP_COPY                    0
 I6	  45128 #  define CRYPTO_F_OPENSSL_SK_DUP                          0
 I6	  45129 #  define CRYPTO_F_PKEY_HMAC_INIT                          0
 I6	  45130 #  define CRYPTO_F_PKEY_POLY1305_INIT                      0
 I6	  45131 #  define CRYPTO_F_PKEY_SIPHASH_INIT                       0
 I6	  45132 #  define CRYPTO_F_SK_RESERVE                              0
 I6	  45133 
 I6	  45134 #  ifndef OPENSSL_NO_CT
 I6	  45135 /*
 I6	  45136  * CT function codes.
 I6	  45137  */
 I6	  45138 #   define CT_F_CTLOG_NEW                                   0
 I6	  45139 #   define CT_F_CTLOG_NEW_FROM_BASE64                       0
 I6	  45140 #   define CT_F_CTLOG_NEW_FROM_CONF                         0
 I6	  45141 #   define CT_F_CTLOG_STORE_LOAD_CTX_NEW                    0
 I6	  45142 #   define CT_F_CTLOG_STORE_LOAD_FILE                       0
 I6	  45143 #   define CT_F_CTLOG_STORE_LOAD_LOG                        0
 I6	  45144 #   define CT_F_CTLOG_STORE_NEW                             0
 I6	  45145 #   define CT_F_CT_BASE64_DECODE                            0
 I6	  45146 #   define CT_F_CT_POLICY_EVAL_CTX_NEW                      0
 I6	  45147 #   define CT_F_CT_V1_LOG_ID_FROM_PKEY                      0
 I6	  45148 #   define CT_F_I2O_SCT                                     0
 I6	  45149 #   define CT_F_I2O_SCT_LIST                                0
 I6	  45150 #   define CT_F_I2O_SCT_SIGNATURE                           0
 I6	  45151 #   define CT_F_O2I_SCT                                     0
 I6	  45152 #   define CT_F_O2I_SCT_LIST                                0
 I6	  45153 #   define CT_F_O2I_SCT_SIGNATURE                           0
 I6	  45154 #   define CT_F_SCT_CTX_NEW                                 0
 I6	  45155 #   define CT_F_SCT_CTX_VERIFY                              0
 I6	  45156 #   define CT_F_SCT_NEW                                     0
 I6	  45157 #   define CT_F_SCT_NEW_FROM_BASE64                         0
 I6	  45158 #   define CT_F_SCT_SET0_LOG_ID                             0
 I6	  45159 #   define CT_F_SCT_SET1_EXTENSIONS                         0
 I6	  45160 #   define CT_F_SCT_SET1_LOG_ID                             0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 816
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45161 #   define CT_F_SCT_SET1_SIGNATURE                          0
 I6	  45162 #   define CT_F_SCT_SET_LOG_ENTRY_TYPE                      0
 I6	  45163 #   define CT_F_SCT_SET_SIGNATURE_NID                       0
 I6	  45164 #   define CT_F_SCT_SET_VERSION                             0
 I6	  45165 #  endif
 I6	  45166 
 I6	  45167 #  ifndef OPENSSL_NO_DH
 I6	  45168 /*
 I6	  45169  * DH function codes.
 I6	  45170  */
 I6	  45171 #   define DH_F_COMPUTE_KEY                                 0
 I6	  45172 #   define DH_F_DHPARAMS_PRINT_FP                           0
 I6	  45173 #   define DH_F_DH_BUILTIN_GENPARAMS                        0
 I6	  45174 #   define DH_F_DH_CHECK_EX                                 0
 I6	  45175 #   define DH_F_DH_CHECK_PARAMS_EX                          0
 I6	  45176 #   define DH_F_DH_CHECK_PUB_KEY_EX                         0
 I6	  45177 #   define DH_F_DH_CMS_DECRYPT                              0
 I6	  45178 #   define DH_F_DH_CMS_SET_PEERKEY                          0
 I6	  45179 #   define DH_F_DH_CMS_SET_SHARED_INFO                      0
 I6	  45180 #   define DH_F_DH_METH_DUP                                 0
 I6	  45181 #   define DH_F_DH_METH_NEW                                 0
 I6	  45182 #   define DH_F_DH_METH_SET1_NAME                           0
 I6	  45183 #   define DH_F_DH_NEW_BY_NID                               0
 I6	  45184 #   define DH_F_DH_NEW_METHOD                               0
 I6	  45185 #   define DH_F_DH_PARAM_DECODE                             0
 I6	  45186 #   define DH_F_DH_PKEY_PUBLIC_CHECK                        0
 I6	  45187 #   define DH_F_DH_PRIV_DECODE                              0
 I6	  45188 #   define DH_F_DH_PRIV_ENCODE                              0
 I6	  45189 #   define DH_F_DH_PUB_DECODE                               0
 I6	  45190 #   define DH_F_DH_PUB_ENCODE                               0
 I6	  45191 #   define DH_F_DO_DH_PRINT                                 0
 I6	  45192 #   define DH_F_GENERATE_KEY                                0
 I6	  45193 #   define DH_F_PKEY_DH_CTRL_STR                            0
 I6	  45194 #   define DH_F_PKEY_DH_DERIVE                              0
 I6	  45195 #   define DH_F_PKEY_DH_INIT                                0
 I6	  45196 #   define DH_F_PKEY_DH_KEYGEN                              0
 I6	  45197 #  endif
 I6	  45198 
 I6	  45199 #  ifndef OPENSSL_NO_DSA
 I6	  45200 /*
 I6	  45201  * DSA function codes.
 I6	  45202  */
 I6	  45203 #   define DSA_F_DSAPARAMS_PRINT                            0
 I6	  45204 #   define DSA_F_DSAPARAMS_PRINT_FP                         0
 I6	  45205 #   define DSA_F_DSA_BUILTIN_PARAMGEN                       0
 I6	  45206 #   define DSA_F_DSA_BUILTIN_PARAMGEN2                      0
 I6	  45207 #   define DSA_F_DSA_DO_SIGN                                0
 I6	  45208 #   define DSA_F_DSA_DO_VERIFY                              0
 I6	  45209 #   define DSA_F_DSA_METH_DUP                               0
 I6	  45210 #   define DSA_F_DSA_METH_NEW                               0
 I6	  45211 #   define DSA_F_DSA_METH_SET1_NAME                         0
 I6	  45212 #   define DSA_F_DSA_NEW_METHOD                             0
 I6	  45213 #   define DSA_F_DSA_PARAM_DECODE                           0
 I6	  45214 #   define DSA_F_DSA_PRINT_FP                               0
 I6	  45215 #   define DSA_F_DSA_PRIV_DECODE                            0
 I6	  45216 #   define DSA_F_DSA_PRIV_ENCODE                            0
 I6	  45217 #   define DSA_F_DSA_PUB_DECODE                             0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 817
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45218 #   define DSA_F_DSA_PUB_ENCODE                             0
 I6	  45219 #   define DSA_F_DSA_SIGN                                   0
 I6	  45220 #   define DSA_F_DSA_SIGN_SETUP                             0
 I6	  45221 #   define DSA_F_DSA_SIG_NEW                                0
 I6	  45222 #   define DSA_F_OLD_DSA_PRIV_DECODE                        0
 I6	  45223 #   define DSA_F_PKEY_DSA_CTRL                              0
 I6	  45224 #   define DSA_F_PKEY_DSA_CTRL_STR                          0
 I6	  45225 #   define DSA_F_PKEY_DSA_KEYGEN                            0
 I6	  45226 #  endif
 I6	  45227 
 I6	  45228 #  ifndef OPENSSL_NO_EC
 I6	  45229 /*
 I6	  45230  * EC function codes.
 I6	  45231  */
 I6	  45232 #   define EC_F_BN_TO_FELEM                                 0
 I6	  45233 #   define EC_F_D2I_ECPARAMETERS                            0
 I6	  45234 #   define EC_F_D2I_ECPKPARAMETERS                          0
 I6	  45235 #   define EC_F_D2I_ECPRIVATEKEY                            0
 I6	  45236 #   define EC_F_DO_EC_KEY_PRINT                             0
 I6	  45237 #   define EC_F_ECDH_CMS_DECRYPT                            0
 I6	  45238 #   define EC_F_ECDH_CMS_SET_SHARED_INFO                    0
 I6	  45239 #   define EC_F_ECDH_COMPUTE_KEY                            0
 I6	  45240 #   define EC_F_ECDH_SIMPLE_COMPUTE_KEY                     0
 I6	  45241 #   define EC_F_ECDSA_DO_SIGN_EX                            0
 I6	  45242 #   define EC_F_ECDSA_DO_VERIFY                             0
 I6	  45243 #   define EC_F_ECDSA_SIGN_EX                               0
 I6	  45244 #   define EC_F_ECDSA_SIGN_SETUP                            0
 I6	  45245 #   define EC_F_ECDSA_SIG_NEW                               0
 I6	  45246 #   define EC_F_ECDSA_VERIFY                                0
 I6	  45247 #   define EC_F_ECD_ITEM_VERIFY                             0
 I6	  45248 #   define EC_F_ECKEY_PARAM2TYPE                            0
 I6	  45249 #   define EC_F_ECKEY_PARAM_DECODE                          0
 I6	  45250 #   define EC_F_ECKEY_PRIV_DECODE                           0
 I6	  45251 #   define EC_F_ECKEY_PRIV_ENCODE                           0
 I6	  45252 #   define EC_F_ECKEY_PUB_DECODE                            0
 I6	  45253 #   define EC_F_ECKEY_PUB_ENCODE                            0
 I6	  45254 #   define EC_F_ECKEY_TYPE2PARAM                            0
 I6	  45255 #   define EC_F_ECPARAMETERS_PRINT                          0
 I6	  45256 #   define EC_F_ECPARAMETERS_PRINT_FP                       0
 I6	  45257 #   define EC_F_ECPKPARAMETERS_PRINT                        0
 I6	  45258 #   define EC_F_ECPKPARAMETERS_PRINT_FP                     0
 I6	  45259 #   define EC_F_ECP_NISTZ256_GET_AFFINE                     0
 I6	  45260 #   define EC_F_ECP_NISTZ256_INV_MOD_ORD                    0
 I6	  45261 #   define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE                0
 I6	  45262 #   define EC_F_ECP_NISTZ256_POINTS_MUL                     0
 I6	  45263 #   define EC_F_ECP_NISTZ256_PRE_COMP_NEW                   0
 I6	  45264 #   define EC_F_ECP_NISTZ256_WINDOWED_MUL                   0
 I6	  45265 #   define EC_F_ECX_KEY_OP                                  0
 I6	  45266 #   define EC_F_ECX_PRIV_ENCODE                             0
 I6	  45267 #   define EC_F_ECX_PUB_ENCODE                              0
 I6	  45268 #   define EC_F_EC_ASN1_GROUP2CURVE                         0
 I6	  45269 #   define EC_F_EC_ASN1_GROUP2FIELDID                       0
 I6	  45270 #   define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY           0
 I6	  45271 #   define EC_F_EC_GF2M_SIMPLE_FIELD_INV                    0
 I6	  45272 #   define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT     0
 I6	  45273 #   define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE              0
 I6	  45274 #   define EC_F_EC_GF2M_SIMPLE_LADDER_POST                  0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 818
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45275 #   define EC_F_EC_GF2M_SIMPLE_LADDER_PRE                   0
 I6	  45276 #   define EC_F_EC_GF2M_SIMPLE_OCT2POINT                    0
 I6	  45277 #   define EC_F_EC_GF2M_SIMPLE_POINT2OCT                    0
 I6	  45278 #   define EC_F_EC_GF2M_SIMPLE_POINTS_MUL                   0
 I6	  45279 #   define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 0
 I6	  45280 #   define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 0
 I6	  45281 #   define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES   0
 I6	  45282 #   define EC_F_EC_GFP_MONT_FIELD_DECODE                    0
 I6	  45283 #   define EC_F_EC_GFP_MONT_FIELD_ENCODE                    0
 I6	  45284 #   define EC_F_EC_GFP_MONT_FIELD_INV                       0
 I6	  45285 #   define EC_F_EC_GFP_MONT_FIELD_MUL                       0
 I6	  45286 #   define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE                0
 I6	  45287 #   define EC_F_EC_GFP_MONT_FIELD_SQR                       0
 I6	  45288 #   define EC_F_EC_GFP_MONT_GROUP_SET_CURVE                 0
 I6	  45289 #   define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE             0
 I6	  45290 #   define EC_F_EC_GFP_NISTP224_POINTS_MUL                  0
 I6	  45291 #   define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 0
 I6	  45292 #   define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE             0
 I6	  45293 #   define EC_F_EC_GFP_NISTP256_POINTS_MUL                  0
 I6	  45294 #   define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 0
 I6	  45295 #   define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE             0
 I6	  45296 #   define EC_F_EC_GFP_NISTP521_POINTS_MUL                  0
 I6	  45297 #   define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 0
 I6	  45298 #   define EC_F_EC_GFP_NIST_FIELD_MUL                       0
 I6	  45299 #   define EC_F_EC_GFP_NIST_FIELD_SQR                       0
 I6	  45300 #   define EC_F_EC_GFP_NIST_GROUP_SET_CURVE                 0
 I6	  45301 #   define EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES             0
 I6	  45302 #   define EC_F_EC_GFP_SIMPLE_FIELD_INV                     0
 I6	  45303 #   define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT      0
 I6	  45304 #   define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE               0
 I6	  45305 #   define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE                   0
 I6	  45306 #   define EC_F_EC_GFP_SIMPLE_OCT2POINT                     0
 I6	  45307 #   define EC_F_EC_GFP_SIMPLE_POINT2OCT                     0
 I6	  45308 #   define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE            0
 I6	  45309 #   define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES  0
 I6	  45310 #   define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES  0
 I6	  45311 #   define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES    0
 I6	  45312 #   define EC_F_EC_GROUP_CHECK                              0
 I6	  45313 #   define EC_F_EC_GROUP_CHECK_DISCRIMINANT                 0
 I6	  45314 #   define EC_F_EC_GROUP_COPY                               0
 I6	  45315 #   define EC_F_EC_GROUP_GET_CURVE                          0
 I6	  45316 #   define EC_F_EC_GROUP_GET_CURVE_GF2M                     0
 I6	  45317 #   define EC_F_EC_GROUP_GET_CURVE_GFP                      0
 I6	  45318 #   define EC_F_EC_GROUP_GET_DEGREE                         0
 I6	  45319 #   define EC_F_EC_GROUP_GET_ECPARAMETERS                   0
 I6	  45320 #   define EC_F_EC_GROUP_GET_ECPKPARAMETERS                 0
 I6	  45321 #   define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS              0
 I6	  45322 #   define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS                0
 I6	  45323 #   define EC_F_EC_GROUP_NEW                                0
 I6	  45324 #   define EC_F_EC_GROUP_NEW_BY_CURVE_NAME                  0
 I6	  45325 #   define EC_F_EC_GROUP_NEW_FROM_DATA                      0
 I6	  45326 #   define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS              0
 I6	  45327 #   define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS            0
 I6	  45328 #   define EC_F_EC_GROUP_SET_CURVE                          0
 I6	  45329 #   define EC_F_EC_GROUP_SET_CURVE_GF2M                     0
 I6	  45330 #   define EC_F_EC_GROUP_SET_CURVE_GFP                      0
 I6	  45331 #   define EC_F_EC_GROUP_SET_GENERATOR                      0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 819
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45332 #   define EC_F_EC_GROUP_SET_SEED                           0
 I6	  45333 #   define EC_F_EC_KEY_CHECK_KEY                            0
 I6	  45334 #   define EC_F_EC_KEY_COPY                                 0
 I6	  45335 #   define EC_F_EC_KEY_GENERATE_KEY                         0
 I6	  45336 #   define EC_F_EC_KEY_NEW                                  0
 I6	  45337 #   define EC_F_EC_KEY_NEW_METHOD                           0
 I6	  45338 #   define EC_F_EC_KEY_OCT2PRIV                             0
 I6	  45339 #   define EC_F_EC_KEY_PRINT                                0
 I6	  45340 #   define EC_F_EC_KEY_PRINT_FP                             0
 I6	  45341 #   define EC_F_EC_KEY_PRIV2BUF                             0
 I6	  45342 #   define EC_F_EC_KEY_PRIV2OCT                             0
 I6	  45343 #   define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES    0
 I6	  45344 #   define EC_F_EC_KEY_SIMPLE_CHECK_KEY                     0
 I6	  45345 #   define EC_F_EC_KEY_SIMPLE_OCT2PRIV                      0
 I6	  45346 #   define EC_F_EC_KEY_SIMPLE_PRIV2OCT                      0
 I6	  45347 #   define EC_F_EC_PKEY_CHECK                               0
 I6	  45348 #   define EC_F_EC_PKEY_PARAM_CHECK                         0
 I6	  45349 #   define EC_F_EC_POINTS_MAKE_AFFINE                       0
 I6	  45350 #   define EC_F_EC_POINTS_MUL                               0
 I6	  45351 #   define EC_F_EC_POINT_ADD                                0
 I6	  45352 #   define EC_F_EC_POINT_BN2POINT                           0
 I6	  45353 #   define EC_F_EC_POINT_CMP                                0
 I6	  45354 #   define EC_F_EC_POINT_COPY                               0
 I6	  45355 #   define EC_F_EC_POINT_DBL                                0
 I6	  45356 #   define EC_F_EC_POINT_GET_AFFINE_COORDINATES             0
 I6	  45357 #   define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M        0
 I6	  45358 #   define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP         0
 I6	  45359 #   define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP    0
 I6	  45360 #   define EC_F_EC_POINT_INVERT                             0
 I6	  45361 #   define EC_F_EC_POINT_IS_AT_INFINITY                     0
 I6	  45362 #   define EC_F_EC_POINT_IS_ON_CURVE                        0
 I6	  45363 #   define EC_F_EC_POINT_MAKE_AFFINE                        0
 I6	  45364 #   define EC_F_EC_POINT_NEW                                0
 I6	  45365 #   define EC_F_EC_POINT_OCT2POINT                          0
 I6	  45366 #   define EC_F_EC_POINT_POINT2BUF                          0
 I6	  45367 #   define EC_F_EC_POINT_POINT2OCT                          0
 I6	  45368 #   define EC_F_EC_POINT_SET_AFFINE_COORDINATES             0
 I6	  45369 #   define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M        0
 I6	  45370 #   define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP         0
 I6	  45371 #   define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES         0
 I6	  45372 #   define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M    0
 I6	  45373 #   define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP     0
 I6	  45374 #   define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP    0
 I6	  45375 #   define EC_F_EC_POINT_SET_TO_INFINITY                    0
 I6	  45376 #   define EC_F_EC_PRE_COMP_NEW                             0
 I6	  45377 #   define EC_F_EC_SCALAR_MUL_LADDER                        0
 I6	  45378 #   define EC_F_EC_WNAF_MUL                                 0
 I6	  45379 #   define EC_F_EC_WNAF_PRECOMPUTE_MULT                     0
 I6	  45380 #   define EC_F_I2D_ECPARAMETERS                            0
 I6	  45381 #   define EC_F_I2D_ECPKPARAMETERS                          0
 I6	  45382 #   define EC_F_I2D_ECPRIVATEKEY                            0
 I6	  45383 #   define EC_F_I2O_ECPUBLICKEY                             0
 I6	  45384 #   define EC_F_NISTP224_PRE_COMP_NEW                       0
 I6	  45385 #   define EC_F_NISTP256_PRE_COMP_NEW                       0
 I6	  45386 #   define EC_F_NISTP521_PRE_COMP_NEW                       0
 I6	  45387 #   define EC_F_O2I_ECPUBLICKEY                             0
 I6	  45388 #   define EC_F_OLD_EC_PRIV_DECODE                          0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 820
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45389 #   define EC_F_OSSL_ECDH_COMPUTE_KEY                       0
 I6	  45390 #   define EC_F_OSSL_ECDSA_SIGN_SIG                         0
 I6	  45391 #   define EC_F_OSSL_ECDSA_VERIFY_SIG                       0
 I6	  45392 #   define EC_F_PKEY_ECD_CTRL                               0
 I6	  45393 #   define EC_F_PKEY_ECD_DIGESTSIGN                         0
 I6	  45394 #   define EC_F_PKEY_ECD_DIGESTSIGN25519                    0
 I6	  45395 #   define EC_F_PKEY_ECD_DIGESTSIGN448                      0
 I6	  45396 #   define EC_F_PKEY_ECX_DERIVE                             0
 I6	  45397 #   define EC_F_PKEY_EC_CTRL                                0
 I6	  45398 #   define EC_F_PKEY_EC_CTRL_STR                            0
 I6	  45399 #   define EC_F_PKEY_EC_DERIVE                              0
 I6	  45400 #   define EC_F_PKEY_EC_INIT                                0
 I6	  45401 #   define EC_F_PKEY_EC_KDF_DERIVE                          0
 I6	  45402 #   define EC_F_PKEY_EC_KEYGEN                              0
 I6	  45403 #   define EC_F_PKEY_EC_PARAMGEN                            0
 I6	  45404 #   define EC_F_PKEY_EC_SIGN                                0
 I6	  45405 #   define EC_F_VALIDATE_ECX_DERIVE                         0
 I6	  45406 #  endif
 I6	  45407 
 I6	  45408 #  ifndef OPENSSL_NO_ENGINE
 I6	  45409 /*
 I6	  45410  * ENGINE function codes.
 I6	  45411  */
 I6	  45412 #   define ENGINE_F_DIGEST_UPDATE                           0
 I6	  45413 #   define ENGINE_F_DYNAMIC_CTRL                            0
 I6	  45414 #   define ENGINE_F_DYNAMIC_GET_DATA_CTX                    0
 I6	  45415 #   define ENGINE_F_DYNAMIC_LOAD                            0
 I6	  45416 #   define ENGINE_F_DYNAMIC_SET_DATA_CTX                    0
 I6	  45417 #   define ENGINE_F_ENGINE_ADD                              0
 I6	  45418 #   define ENGINE_F_ENGINE_BY_ID                            0
 I6	  45419 #   define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE                0
 I6	  45420 #   define ENGINE_F_ENGINE_CTRL                             0
 I6	  45421 #   define ENGINE_F_ENGINE_CTRL_CMD                         0
 I6	  45422 #   define ENGINE_F_ENGINE_CTRL_CMD_STRING                  0
 I6	  45423 #   define ENGINE_F_ENGINE_FINISH                           0
 I6	  45424 #   define ENGINE_F_ENGINE_GET_CIPHER                       0
 I6	  45425 #   define ENGINE_F_ENGINE_GET_DIGEST                       0
 I6	  45426 #   define ENGINE_F_ENGINE_GET_FIRST                        0
 I6	  45427 #   define ENGINE_F_ENGINE_GET_LAST                         0
 I6	  45428 #   define ENGINE_F_ENGINE_GET_NEXT                         0
 I6	  45429 #   define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH               0
 I6	  45430 #   define ENGINE_F_ENGINE_GET_PKEY_METH                    0
 I6	  45431 #   define ENGINE_F_ENGINE_GET_PREV                         0
 I6	  45432 #   define ENGINE_F_ENGINE_INIT                             0
 I6	  45433 #   define ENGINE_F_ENGINE_LIST_ADD                         0
 I6	  45434 #   define ENGINE_F_ENGINE_LIST_REMOVE                      0
 I6	  45435 #   define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY                 0
 I6	  45436 #   define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY                  0
 I6	  45437 #   define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT             0
 I6	  45438 #   define ENGINE_F_ENGINE_NEW                              0
 I6	  45439 #   define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR               0
 I6	  45440 #   define ENGINE_F_ENGINE_REMOVE                           0
 I6	  45441 #   define ENGINE_F_ENGINE_SET_DEFAULT_STRING               0
 I6	  45442 #   define ENGINE_F_ENGINE_SET_ID                           0
 I6	  45443 #   define ENGINE_F_ENGINE_SET_NAME                         0
 I6	  45444 #   define ENGINE_F_ENGINE_TABLE_REGISTER                   0
 I6	  45445 #   define ENGINE_F_ENGINE_UNLOCKED_FINISH                  0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 821
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45446 #   define ENGINE_F_ENGINE_UP_REF                           0
 I6	  45447 #   define ENGINE_F_INT_CLEANUP_ITEM                        0
 I6	  45448 #   define ENGINE_F_INT_CTRL_HELPER                         0
 I6	  45449 #   define ENGINE_F_INT_ENGINE_CONFIGURE                    0
 I6	  45450 #   define ENGINE_F_INT_ENGINE_MODULE_INIT                  0
 I6	  45451 #   define ENGINE_F_OSSL_HMAC_INIT                          0
 I6	  45452 #  endif
 I6	  45453 
 I6	  45454 /*
 I6	  45455  * EVP function codes.
 I6	  45456  */
 I6	  45457 #  define EVP_F_AESNI_INIT_KEY                             0
 I6	  45458 #  define EVP_F_AESNI_XTS_INIT_KEY                         0
 I6	  45459 #  define EVP_F_AES_GCM_CTRL                               0
 I6	  45460 #  define EVP_F_AES_INIT_KEY                               0
 I6	  45461 #  define EVP_F_AES_OCB_CIPHER                             0
 I6	  45462 #  define EVP_F_AES_T4_INIT_KEY                            0
 I6	  45463 #  define EVP_F_AES_T4_XTS_INIT_KEY                        0
 I6	  45464 #  define EVP_F_AES_WRAP_CIPHER                            0
 I6	  45465 #  define EVP_F_AES_XTS_INIT_KEY                           0
 I6	  45466 #  define EVP_F_ALG_MODULE_INIT                            0
 I6	  45467 #  define EVP_F_ARIA_CCM_INIT_KEY                          0
 I6	  45468 #  define EVP_F_ARIA_GCM_CTRL                              0
 I6	  45469 #  define EVP_F_ARIA_GCM_INIT_KEY                          0
 I6	  45470 #  define EVP_F_ARIA_INIT_KEY                              0
 I6	  45471 #  define EVP_F_B64_NEW                                    0
 I6	  45472 #  define EVP_F_CAMELLIA_INIT_KEY                          0
 I6	  45473 #  define EVP_F_CHACHA20_POLY1305_CTRL                     0
 I6	  45474 #  define EVP_F_CMLL_T4_INIT_KEY                           0
 I6	  45475 #  define EVP_F_DES_EDE3_WRAP_CIPHER                       0
 I6	  45476 #  define EVP_F_DO_SIGVER_INIT                             0
 I6	  45477 #  define EVP_F_ENC_NEW                                    0
 I6	  45478 #  define EVP_F_EVP_CIPHERINIT_EX                          0
 I6	  45479 #  define EVP_F_EVP_CIPHER_ASN1_TO_PARAM                   0
 I6	  45480 #  define EVP_F_EVP_CIPHER_CTX_COPY                        0
 I6	  45481 #  define EVP_F_EVP_CIPHER_CTX_CTRL                        0
 I6	  45482 #  define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH              0
 I6	  45483 #  define EVP_F_EVP_CIPHER_PARAM_TO_ASN1                   0
 I6	  45484 #  define EVP_F_EVP_DECRYPTFINAL_EX                        0
 I6	  45485 #  define EVP_F_EVP_DECRYPTUPDATE                          0
 I6	  45486 #  define EVP_F_EVP_DIGESTFINALXOF                         0
 I6	  45487 #  define EVP_F_EVP_DIGESTINIT_EX                          0
 I6	  45488 #  define EVP_F_EVP_ENCRYPTDECRYPTUPDATE                   0
 I6	  45489 #  define EVP_F_EVP_ENCRYPTFINAL_EX                        0
 I6	  45490 #  define EVP_F_EVP_ENCRYPTUPDATE                          0
 I6	  45491 #  define EVP_F_EVP_MD_CTX_COPY_EX                         0
 I6	  45492 #  define EVP_F_EVP_MD_SIZE                                0
 I6	  45493 #  define EVP_F_EVP_OPENINIT                               0
 I6	  45494 #  define EVP_F_EVP_PBE_ALG_ADD                            0
 I6	  45495 #  define EVP_F_EVP_PBE_ALG_ADD_TYPE                       0
 I6	  45496 #  define EVP_F_EVP_PBE_CIPHERINIT                         0
 I6	  45497 #  define EVP_F_EVP_PBE_SCRYPT                             0
 I6	  45498 #  define EVP_F_EVP_PKCS82PKEY                             0
 I6	  45499 #  define EVP_F_EVP_PKEY2PKCS8                             0
 I6	  45500 #  define EVP_F_EVP_PKEY_ASN1_ADD0                         0
 I6	  45501 #  define EVP_F_EVP_PKEY_CHECK                             0
 I6	  45502 #  define EVP_F_EVP_PKEY_COPY_PARAMETERS                   0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 822
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45503 #  define EVP_F_EVP_PKEY_CTX_CTRL                          0
 I6	  45504 #  define EVP_F_EVP_PKEY_CTX_CTRL_STR                      0
 I6	  45505 #  define EVP_F_EVP_PKEY_CTX_DUP                           0
 I6	  45506 #  define EVP_F_EVP_PKEY_CTX_MD                            0
 I6	  45507 #  define EVP_F_EVP_PKEY_DECRYPT                           0
 I6	  45508 #  define EVP_F_EVP_PKEY_DECRYPT_INIT                      0
 I6	  45509 #  define EVP_F_EVP_PKEY_DECRYPT_OLD                       0
 I6	  45510 #  define EVP_F_EVP_PKEY_DERIVE                            0
 I6	  45511 #  define EVP_F_EVP_PKEY_DERIVE_INIT                       0
 I6	  45512 #  define EVP_F_EVP_PKEY_DERIVE_SET_PEER                   0
 I6	  45513 #  define EVP_F_EVP_PKEY_ENCRYPT                           0
 I6	  45514 #  define EVP_F_EVP_PKEY_ENCRYPT_INIT                      0
 I6	  45515 #  define EVP_F_EVP_PKEY_ENCRYPT_OLD                       0
 I6	  45516 #  define EVP_F_EVP_PKEY_GET0_DH                           0
 I6	  45517 #  define EVP_F_EVP_PKEY_GET0_DSA                          0
 I6	  45518 #  define EVP_F_EVP_PKEY_GET0_EC_KEY                       0
 I6	  45519 #  define EVP_F_EVP_PKEY_GET0_HMAC                         0
 I6	  45520 #  define EVP_F_EVP_PKEY_GET0_POLY1305                     0
 I6	  45521 #  define EVP_F_EVP_PKEY_GET0_RSA                          0
 I6	  45522 #  define EVP_F_EVP_PKEY_GET0_SIPHASH                      0
 I6	  45523 #  define EVP_F_EVP_PKEY_GET_RAW_PRIVATE_KEY               0
 I6	  45524 #  define EVP_F_EVP_PKEY_GET_RAW_PUBLIC_KEY                0
 I6	  45525 #  define EVP_F_EVP_PKEY_KEYGEN                            0
 I6	  45526 #  define EVP_F_EVP_PKEY_KEYGEN_INIT                       0
 I6	  45527 #  define EVP_F_EVP_PKEY_METH_ADD0                         0
 I6	  45528 #  define EVP_F_EVP_PKEY_METH_NEW                          0
 I6	  45529 #  define EVP_F_EVP_PKEY_NEW                               0
 I6	  45530 #  define EVP_F_EVP_PKEY_NEW_CMAC_KEY                      0
 I6	  45531 #  define EVP_F_EVP_PKEY_NEW_RAW_PRIVATE_KEY               0
 I6	  45532 #  define EVP_F_EVP_PKEY_NEW_RAW_PUBLIC_KEY                0
 I6	  45533 #  define EVP_F_EVP_PKEY_PARAMGEN                          0
 I6	  45534 #  define EVP_F_EVP_PKEY_PARAMGEN_INIT                     0
 I6	  45535 #  define EVP_F_EVP_PKEY_PARAM_CHECK                       0
 I6	  45536 #  define EVP_F_EVP_PKEY_PUBLIC_CHECK                      0
 I6	  45537 #  define EVP_F_EVP_PKEY_SET1_ENGINE                       0
 I6	  45538 #  define EVP_F_EVP_PKEY_SET_ALIAS_TYPE                    0
 I6	  45539 #  define EVP_F_EVP_PKEY_SIGN                              0
 I6	  45540 #  define EVP_F_EVP_PKEY_SIGN_INIT                         0
 I6	  45541 #  define EVP_F_EVP_PKEY_VERIFY                            0
 I6	  45542 #  define EVP_F_EVP_PKEY_VERIFY_INIT                       0
 I6	  45543 #  define EVP_F_EVP_PKEY_VERIFY_RECOVER                    0
 I6	  45544 #  define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT               0
 I6	  45545 #  define EVP_F_EVP_SIGNFINAL                              0
 I6	  45546 #  define EVP_F_EVP_VERIFYFINAL                            0
 I6	  45547 #  define EVP_F_INT_CTX_NEW                                0
 I6	  45548 #  define EVP_F_OK_NEW                                     0
 I6	  45549 #  define EVP_F_PKCS5_PBE_KEYIVGEN                         0
 I6	  45550 #  define EVP_F_PKCS5_V2_PBE_KEYIVGEN                      0
 I6	  45551 #  define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN                   0
 I6	  45552 #  define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN                   0
 I6	  45553 #  define EVP_F_PKEY_SET_TYPE                              0
 I6	  45554 #  define EVP_F_RC2_MAGIC_TO_METH                          0
 I6	  45555 #  define EVP_F_RC5_CTRL                                   0
 I6	  45556 #  define EVP_F_R_32_12_16_INIT_KEY                        0
 I6	  45557 #  define EVP_F_S390X_AES_GCM_CTRL                         0
 I6	  45558 #  define EVP_F_UPDATE                                     0
 I6	  45559 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 823
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45560 /*
 I6	  45561  * KDF function codes.
 I6	  45562  */
 I6	  45563 #  define KDF_F_PKEY_HKDF_CTRL_STR                         0
 I6	  45564 #  define KDF_F_PKEY_HKDF_DERIVE                           0
 I6	  45565 #  define KDF_F_PKEY_HKDF_INIT                             0
 I6	  45566 #  define KDF_F_PKEY_SCRYPT_CTRL_STR                       0
 I6	  45567 #  define KDF_F_PKEY_SCRYPT_CTRL_UINT64                    0
 I6	  45568 #  define KDF_F_PKEY_SCRYPT_DERIVE                         0
 I6	  45569 #  define KDF_F_PKEY_SCRYPT_INIT                           0
 I6	  45570 #  define KDF_F_PKEY_SCRYPT_SET_MEMBUF                     0
 I6	  45571 #  define KDF_F_PKEY_TLS1_PRF_CTRL_STR                     0
 I6	  45572 #  define KDF_F_PKEY_TLS1_PRF_DERIVE                       0
 I6	  45573 #  define KDF_F_PKEY_TLS1_PRF_INIT                         0
 I6	  45574 #  define KDF_F_TLS1_PRF_ALG                               0
 I6	  45575 
 I6	  45576 /*
 I6	  45577  * KDF reason codes.
 I6	  45578  */
 I6	  45579 #  define KDF_R_INVALID_DIGEST                             0
 I6	  45580 #  define KDF_R_MISSING_ITERATION_COUNT                    0
 I6	  45581 #  define KDF_R_MISSING_KEY                                0
 I6	  45582 #  define KDF_R_MISSING_MESSAGE_DIGEST                     0
 I6	  45583 #  define KDF_R_MISSING_PARAMETER                          0
 I6	  45584 #  define KDF_R_MISSING_PASS                               0
 I6	  45585 #  define KDF_R_MISSING_SALT                               0
 I6	  45586 #  define KDF_R_MISSING_SECRET                             0
 I6	  45587 #  define KDF_R_MISSING_SEED                               0
 I6	  45588 #  define KDF_R_UNKNOWN_PARAMETER_TYPE                     0
 I6	  45589 #  define KDF_R_VALUE_ERROR                                0
 I6	  45590 #  define KDF_R_VALUE_MISSING                              0
 I6	  45591 
 I6	  45592 /*
 I6	  45593  * OBJ function codes.
 I6	  45594  */
 I6	  45595 #  define OBJ_F_OBJ_ADD_OBJECT                             0
 I6	  45596 #  define OBJ_F_OBJ_ADD_SIGID                              0
 I6	  45597 #  define OBJ_F_OBJ_CREATE                                 0
 I6	  45598 #  define OBJ_F_OBJ_DUP                                    0
 I6	  45599 #  define OBJ_F_OBJ_NAME_NEW_INDEX                         0
 I6	  45600 #  define OBJ_F_OBJ_NID2LN                                 0
 I6	  45601 #  define OBJ_F_OBJ_NID2OBJ                                0
 I6	  45602 #  define OBJ_F_OBJ_NID2SN                                 0
 I6	  45603 #  define OBJ_F_OBJ_TXT2OBJ                                0
 I6	  45604 
 I6	  45605 #  ifndef OPENSSL_NO_OCSP
 I6	  45606 /*
 I6	  45607  * OCSP function codes.
 I6	  45608  */
 I6	  45609 #   define OCSP_F_D2I_OCSP_NONCE                            0
 I6	  45610 #   define OCSP_F_OCSP_BASIC_ADD1_STATUS                    0
 I6	  45611 #   define OCSP_F_OCSP_BASIC_SIGN                           0
 I6	  45612 #   define OCSP_F_OCSP_BASIC_SIGN_CTX                       0
 I6	  45613 #   define OCSP_F_OCSP_BASIC_VERIFY                         0
 I6	  45614 #   define OCSP_F_OCSP_CERT_ID_NEW                          0
 I6	  45615 #   define OCSP_F_OCSP_CHECK_DELEGATED                      0
 I6	  45616 #   define OCSP_F_OCSP_CHECK_IDS                            0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 824
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45617 #   define OCSP_F_OCSP_CHECK_ISSUER                         0
 I6	  45618 #   define OCSP_F_OCSP_CHECK_VALIDITY                       0
 I6	  45619 #   define OCSP_F_OCSP_MATCH_ISSUERID                       0
 I6	  45620 #   define OCSP_F_OCSP_PARSE_URL                            0
 I6	  45621 #   define OCSP_F_OCSP_REQUEST_SIGN                         0
 I6	  45622 #   define OCSP_F_OCSP_REQUEST_VERIFY                       0
 I6	  45623 #   define OCSP_F_OCSP_RESPONSE_GET1_BASIC                  0
 I6	  45624 #   define OCSP_F_PARSE_HTTP_LINE1                          0
 I6	  45625 #  endif
 I6	  45626 
 I6	  45627 /*
 I6	  45628  * PEM function codes.
 I6	  45629  */
 I6	  45630 #  define PEM_F_B2I_DSS                                    0
 I6	  45631 #  define PEM_F_B2I_PVK_BIO                                0
 I6	  45632 #  define PEM_F_B2I_RSA                                    0
 I6	  45633 #  define PEM_F_CHECK_BITLEN_DSA                           0
 I6	  45634 #  define PEM_F_CHECK_BITLEN_RSA                           0
 I6	  45635 #  define PEM_F_D2I_PKCS8PRIVATEKEY_BIO                    0
 I6	  45636 #  define PEM_F_D2I_PKCS8PRIVATEKEY_FP                     0
 I6	  45637 #  define PEM_F_DO_B2I                                     0
 I6	  45638 #  define PEM_F_DO_B2I_BIO                                 0
 I6	  45639 #  define PEM_F_DO_BLOB_HEADER                             0
 I6	  45640 #  define PEM_F_DO_I2B                                     0
 I6	  45641 #  define PEM_F_DO_PK8PKEY                                 0
 I6	  45642 #  define PEM_F_DO_PK8PKEY_FP                              0
 I6	  45643 #  define PEM_F_DO_PVK_BODY                                0
 I6	  45644 #  define PEM_F_DO_PVK_HEADER                              0
 I6	  45645 #  define PEM_F_GET_HEADER_AND_DATA                        0
 I6	  45646 #  define PEM_F_GET_NAME                                   0
 I6	  45647 #  define PEM_F_I2B_PVK                                    0
 I6	  45648 #  define PEM_F_I2B_PVK_BIO                                0
 I6	  45649 #  define PEM_F_LOAD_IV                                    0
 I6	  45650 #  define PEM_F_PEM_ASN1_READ                              0
 I6	  45651 #  define PEM_F_PEM_ASN1_READ_BIO                          0
 I6	  45652 #  define PEM_F_PEM_ASN1_WRITE                             0
 I6	  45653 #  define PEM_F_PEM_ASN1_WRITE_BIO                         0
 I6	  45654 #  define PEM_F_PEM_DEF_CALLBACK                           0
 I6	  45655 #  define PEM_F_PEM_DO_HEADER                              0
 I6	  45656 #  define PEM_F_PEM_GET_EVP_CIPHER_INFO                    0
 I6	  45657 #  define PEM_F_PEM_READ                                   0
 I6	  45658 #  define PEM_F_PEM_READ_BIO                               0
 I6	  45659 #  define PEM_F_PEM_READ_BIO_DHPARAMS                      0
 I6	  45660 #  define PEM_F_PEM_READ_BIO_EX                            0
 I6	  45661 #  define PEM_F_PEM_READ_BIO_PARAMETERS                    0
 I6	  45662 #  define PEM_F_PEM_READ_BIO_PRIVATEKEY                    0
 I6	  45663 #  define PEM_F_PEM_READ_DHPARAMS                          0
 I6	  45664 #  define PEM_F_PEM_READ_PRIVATEKEY                        0
 I6	  45665 #  define PEM_F_PEM_SIGNFINAL                              0
 I6	  45666 #  define PEM_F_PEM_WRITE                                  0
 I6	  45667 #  define PEM_F_PEM_WRITE_BIO                              0
 I6	  45668 #  define PEM_F_PEM_WRITE_BIO_PRIVATEKEY_TRADITIONAL       0
 I6	  45669 #  define PEM_F_PEM_WRITE_PRIVATEKEY                       0
 I6	  45670 #  define PEM_F_PEM_X509_INFO_READ                         0
 I6	  45671 #  define PEM_F_PEM_X509_INFO_READ_BIO                     0
 I6	  45672 #  define PEM_F_PEM_X509_INFO_WRITE_BIO                    0
 I6	  45673 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 825
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45674 /*
 I6	  45675  * PKCS12 function codes.
 I6	  45676  */
 I6	  45677 #  define PKCS12_F_OPENSSL_ASC2UNI                         0
 I6	  45678 #  define PKCS12_F_OPENSSL_UNI2ASC                         0
 I6	  45679 #  define PKCS12_F_OPENSSL_UNI2UTF8                        0
 I6	  45680 #  define PKCS12_F_OPENSSL_UTF82UNI                        0
 I6	  45681 #  define PKCS12_F_PKCS12_CREATE                           0
 I6	  45682 #  define PKCS12_F_PKCS12_GEN_MAC                          0
 I6	  45683 #  define PKCS12_F_PKCS12_INIT                             0
 I6	  45684 #  define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I                 0
 I6	  45685 #  define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT                 0
 I6	  45686 #  define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG                0
 I6	  45687 #  define PKCS12_F_PKCS12_KEY_GEN_ASC                      0
 I6	  45688 #  define PKCS12_F_PKCS12_KEY_GEN_UNI                      0
 I6	  45689 #  define PKCS12_F_PKCS12_KEY_GEN_UTF8                     0
 I6	  45690 #  define PKCS12_F_PKCS12_NEWPASS                          0
 I6	  45691 #  define PKCS12_F_PKCS12_PACK_P7DATA                      0
 I6	  45692 #  define PKCS12_F_PKCS12_PACK_P7ENCDATA                   0
 I6	  45693 #  define PKCS12_F_PKCS12_PARSE                            0
 I6	  45694 #  define PKCS12_F_PKCS12_PBE_CRYPT                        0
 I6	  45695 #  define PKCS12_F_PKCS12_PBE_KEYIVGEN                     0
 I6	  45696 #  define PKCS12_F_PKCS12_SAFEBAG_CREATE0_P8INF            0
 I6	  45697 #  define PKCS12_F_PKCS12_SAFEBAG_CREATE0_PKCS8            0
 I6	  45698 #  define PKCS12_F_PKCS12_SAFEBAG_CREATE_PKCS8_ENCRYPT     0
 I6	  45699 #  define PKCS12_F_PKCS12_SETUP_MAC                        0
 I6	  45700 #  define PKCS12_F_PKCS12_SET_MAC                          0
 I6	  45701 #  define PKCS12_F_PKCS12_UNPACK_AUTHSAFES                 0
 I6	  45702 #  define PKCS12_F_PKCS12_UNPACK_P7DATA                    0
 I6	  45703 #  define PKCS12_F_PKCS12_VERIFY_MAC                       0
 I6	  45704 #  define PKCS12_F_PKCS8_ENCRYPT                           0
 I6	  45705 #  define PKCS12_F_PKCS8_SET0_PBE                          0
 I6	  45706 
 I6	  45707 /*
 I6	  45708  * PKCS7 function codes.
 I6	  45709  */
 I6	  45710 #  define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB                   0
 I6	  45711 #  define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME           0
 I6	  45712 #  define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP                0
 I6	  45713 #  define PKCS7_F_PKCS7_ADD_CERTIFICATE                    0
 I6	  45714 #  define PKCS7_F_PKCS7_ADD_CRL                            0
 I6	  45715 #  define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO                 0
 I6	  45716 #  define PKCS7_F_PKCS7_ADD_SIGNATURE                      0
 I6	  45717 #  define PKCS7_F_PKCS7_ADD_SIGNER                         0
 I6	  45718 #  define PKCS7_F_PKCS7_BIO_ADD_DIGEST                     0
 I6	  45719 #  define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST               0
 I6	  45720 #  define PKCS7_F_PKCS7_CTRL                               0
 I6	  45721 #  define PKCS7_F_PKCS7_DATADECODE                         0
 I6	  45722 #  define PKCS7_F_PKCS7_DATAFINAL                          0
 I6	  45723 #  define PKCS7_F_PKCS7_DATAINIT                           0
 I6	  45724 #  define PKCS7_F_PKCS7_DATAVERIFY                         0
 I6	  45725 #  define PKCS7_F_PKCS7_DECRYPT                            0
 I6	  45726 #  define PKCS7_F_PKCS7_DECRYPT_RINFO                      0
 I6	  45727 #  define PKCS7_F_PKCS7_ENCODE_RINFO                       0
 I6	  45728 #  define PKCS7_F_PKCS7_ENCRYPT                            0
 I6	  45729 #  define PKCS7_F_PKCS7_FINAL                              0
 I6	  45730 #  define PKCS7_F_PKCS7_FIND_DIGEST                        0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 826
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45731 #  define PKCS7_F_PKCS7_GET0_SIGNERS                       0
 I6	  45732 #  define PKCS7_F_PKCS7_RECIP_INFO_SET                     0
 I6	  45733 #  define PKCS7_F_PKCS7_SET_CIPHER                         0
 I6	  45734 #  define PKCS7_F_PKCS7_SET_CONTENT                        0
 I6	  45735 #  define PKCS7_F_PKCS7_SET_DIGEST                         0
 I6	  45736 #  define PKCS7_F_PKCS7_SET_TYPE                           0
 I6	  45737 #  define PKCS7_F_PKCS7_SIGN                               0
 I6	  45738 #  define PKCS7_F_PKCS7_SIGNATUREVERIFY                    0
 I6	  45739 #  define PKCS7_F_PKCS7_SIGNER_INFO_SET                    0
 I6	  45740 #  define PKCS7_F_PKCS7_SIGNER_INFO_SIGN                   0
 I6	  45741 #  define PKCS7_F_PKCS7_SIGN_ADD_SIGNER                    0
 I6	  45742 #  define PKCS7_F_PKCS7_SIMPLE_SMIMECAP                    0
 I6	  45743 #  define PKCS7_F_PKCS7_VERIFY                             0
 I6	  45744 
 I6	  45745 /*
 I6	  45746  * RAND function codes.
 I6	  45747  */
 I6	  45748 #  define RAND_F_DATA_COLLECT_METHOD                       0
 I6	  45749 #  define RAND_F_DRBG_BYTES                                0
 I6	  45750 #  define RAND_F_DRBG_GET_ENTROPY                          0
 I6	  45751 #  define RAND_F_DRBG_SETUP                                0
 I6	  45752 #  define RAND_F_GET_ENTROPY                               0
 I6	  45753 #  define RAND_F_RAND_BYTES                                0
 I6	  45754 #  define RAND_F_RAND_DRBG_ENABLE_LOCKING                  0
 I6	  45755 #  define RAND_F_RAND_DRBG_GENERATE                        0
 I6	  45756 #  define RAND_F_RAND_DRBG_GET_ENTROPY                     0
 I6	  45757 #  define RAND_F_RAND_DRBG_GET_NONCE                       0
 I6	  45758 #  define RAND_F_RAND_DRBG_INSTANTIATE                     0
 I6	  45759 #  define RAND_F_RAND_DRBG_NEW                             0
 I6	  45760 #  define RAND_F_RAND_DRBG_RESEED                          0
 I6	  45761 #  define RAND_F_RAND_DRBG_RESTART                         0
 I6	  45762 #  define RAND_F_RAND_DRBG_SET                             0
 I6	  45763 #  define RAND_F_RAND_DRBG_SET_DEFAULTS                    0
 I6	  45764 #  define RAND_F_RAND_DRBG_UNINSTANTIATE                   0
 I6	  45765 #  define RAND_F_RAND_LOAD_FILE                            0
 I6	  45766 #  define RAND_F_RAND_POOL_ACQUIRE_ENTROPY                 0
 I6	  45767 #  define RAND_F_RAND_POOL_ADD                             0
 I6	  45768 #  define RAND_F_RAND_POOL_ADD_BEGIN                       0
 I6	  45769 #  define RAND_F_RAND_POOL_ADD_END                         0
 I6	  45770 #  define RAND_F_RAND_POOL_ATTACH                          0
 I6	  45771 #  define RAND_F_RAND_POOL_BYTES_NEEDED                    0
 I6	  45772 #  define RAND_F_RAND_POOL_GROW                            0
 I6	  45773 #  define RAND_F_RAND_POOL_NEW                             0
 I6	  45774 #  define RAND_F_RAND_PSEUDO_BYTES                         0
 I6	  45775 #  define RAND_F_RAND_WRITE_FILE                           0
 I6	  45776 
 I6	  45777 /*
 I6	  45778  * RSA function codes.
 I6	  45779  */
 I6	  45780 #  define RSA_F_CHECK_PADDING_MD                           0
 I6	  45781 #  define RSA_F_ENCODE_PKCS1                               0
 I6	  45782 #  define RSA_F_INT_RSA_VERIFY                             0
 I6	  45783 #  define RSA_F_OLD_RSA_PRIV_DECODE                        0
 I6	  45784 #  define RSA_F_PKEY_PSS_INIT                              0
 I6	  45785 #  define RSA_F_PKEY_RSA_CTRL                              0
 I6	  45786 #  define RSA_F_PKEY_RSA_CTRL_STR                          0
 I6	  45787 #  define RSA_F_PKEY_RSA_SIGN                              0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 827
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45788 #  define RSA_F_PKEY_RSA_VERIFY                            0
 I6	  45789 #  define RSA_F_PKEY_RSA_VERIFYRECOVER                     0
 I6	  45790 #  define RSA_F_RSA_ALGOR_TO_MD                            0
 I6	  45791 #  define RSA_F_RSA_BUILTIN_KEYGEN                         0
 I6	  45792 #  define RSA_F_RSA_CHECK_KEY                              0
 I6	  45793 #  define RSA_F_RSA_CHECK_KEY_EX                           0
 I6	  45794 #  define RSA_F_RSA_CMS_DECRYPT                            0
 I6	  45795 #  define RSA_F_RSA_CMS_VERIFY                             0
 I6	  45796 #  define RSA_F_RSA_ITEM_VERIFY                            0
 I6	  45797 #  define RSA_F_RSA_METH_DUP                               0
 I6	  45798 #  define RSA_F_RSA_METH_NEW                               0
 I6	  45799 #  define RSA_F_RSA_METH_SET1_NAME                         0
 I6	  45800 #  define RSA_F_RSA_MGF1_TO_MD                             0
 I6	  45801 #  define RSA_F_RSA_MULTIP_INFO_NEW                        0
 I6	  45802 #  define RSA_F_RSA_NEW_METHOD                             0
 I6	  45803 #  define RSA_F_RSA_NULL                                   0
 I6	  45804 #  define RSA_F_RSA_NULL_PRIVATE_DECRYPT                   0
 I6	  45805 #  define RSA_F_RSA_NULL_PRIVATE_ENCRYPT                   0
 I6	  45806 #  define RSA_F_RSA_NULL_PUBLIC_DECRYPT                    0
 I6	  45807 #  define RSA_F_RSA_NULL_PUBLIC_ENCRYPT                    0
 I6	  45808 #  define RSA_F_RSA_OSSL_PRIVATE_DECRYPT                   0
 I6	  45809 #  define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT                   0
 I6	  45810 #  define RSA_F_RSA_OSSL_PUBLIC_DECRYPT                    0
 I6	  45811 #  define RSA_F_RSA_OSSL_PUBLIC_ENCRYPT                    0
 I6	  45812 #  define RSA_F_RSA_PADDING_ADD_NONE                       0
 I6	  45813 #  define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP                 0
 I6	  45814 #  define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1            0
 I6	  45815 #  define RSA_F_RSA_PADDING_ADD_PKCS1_PSS                  0
 I6	  45816 #  define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1             0
 I6	  45817 #  define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1               0
 I6	  45818 #  define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2               0
 I6	  45819 #  define RSA_F_RSA_PADDING_ADD_SSLV23                     0
 I6	  45820 #  define RSA_F_RSA_PADDING_ADD_X931                       0
 I6	  45821 #  define RSA_F_RSA_PADDING_CHECK_NONE                     0
 I6	  45822 #  define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP               0
 I6	  45823 #  define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1          0
 I6	  45824 #  define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1             0
 I6	  45825 #  define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2             0
 I6	  45826 #  define RSA_F_RSA_PADDING_CHECK_SSLV23                   0
 I6	  45827 #  define RSA_F_RSA_PADDING_CHECK_X931                     0
 I6	  45828 #  define RSA_F_RSA_PARAM_DECODE                           0
 I6	  45829 #  define RSA_F_RSA_PRINT                                  0
 I6	  45830 #  define RSA_F_RSA_PRINT_FP                               0
 I6	  45831 #  define RSA_F_RSA_PRIV_DECODE                            0
 I6	  45832 #  define RSA_F_RSA_PRIV_ENCODE                            0
 I6	  45833 #  define RSA_F_RSA_PSS_GET_PARAM                          0
 I6	  45834 #  define RSA_F_RSA_PSS_TO_CTX                             0
 I6	  45835 #  define RSA_F_RSA_PUB_DECODE                             0
 I6	  45836 #  define RSA_F_RSA_SETUP_BLINDING                         0
 I6	  45837 #  define RSA_F_RSA_SIGN                                   0
 I6	  45838 #  define RSA_F_RSA_SIGN_ASN1_OCTET_STRING                 0
 I6	  45839 #  define RSA_F_RSA_VERIFY                                 0
 I6	  45840 #  define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING               0
 I6	  45841 #  define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1                  0
 I6	  45842 #  define RSA_F_SETUP_TBUF                                 0
 I6	  45843 
 I6	  45844 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 828
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45845  * OSSL_STORE function codes.
 I6	  45846  */
 I6	  45847 #  define OSSL_STORE_F_FILE_CTRL                           0
 I6	  45848 #  define OSSL_STORE_F_FILE_FIND                           0
 I6	  45849 #  define OSSL_STORE_F_FILE_GET_PASS                       0
 I6	  45850 #  define OSSL_STORE_F_FILE_LOAD                           0
 I6	  45851 #  define OSSL_STORE_F_FILE_LOAD_TRY_DECODE                0
 I6	  45852 #  define OSSL_STORE_F_FILE_NAME_TO_URI                    0
 I6	  45853 #  define OSSL_STORE_F_FILE_OPEN                           0
 I6	  45854 #  define OSSL_STORE_F_OSSL_STORE_ATTACH_PEM_BIO           0
 I6	  45855 #  define OSSL_STORE_F_OSSL_STORE_EXPECT                   0
 I6	  45856 #  define OSSL_STORE_F_OSSL_STORE_FILE_ATTACH_PEM_BIO_INT  0
 I6	  45857 #  define OSSL_STORE_F_OSSL_STORE_FIND                     0
 I6	  45858 #  define OSSL_STORE_F_OSSL_STORE_GET0_LOADER_INT          0
 I6	  45859 #  define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CERT           0
 I6	  45860 #  define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CRL            0
 I6	  45861 #  define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME           0
 I6	  45862 #  define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME_DESCRIPTION 0
 I6	  45863 #  define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PARAMS         0
 I6	  45864 #  define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PKEY           0
 I6	  45865 #  define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CERT            0
 I6	  45866 #  define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CRL             0
 I6	  45867 #  define OSSL_STORE_F_OSSL_STORE_INFO_NEW_EMBEDDED        0
 I6	  45868 #  define OSSL_STORE_F_OSSL_STORE_INFO_NEW_NAME            0
 I6	  45869 #  define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PARAMS          0
 I6	  45870 #  define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PKEY            0
 I6	  45871 #  define OSSL_STORE_F_OSSL_STORE_INFO_SET0_NAME_DESCRIPTION 0
 I6	  45872 #  define OSSL_STORE_F_OSSL_STORE_INIT_ONCE                0
 I6	  45873 #  define OSSL_STORE_F_OSSL_STORE_LOADER_NEW               0
 I6	  45874 #  define OSSL_STORE_F_OSSL_STORE_OPEN                     0
 I6	  45875 #  define OSSL_STORE_F_OSSL_STORE_OPEN_INT                 0
 I6	  45876 #  define OSSL_STORE_F_OSSL_STORE_REGISTER_LOADER_INT      0
 I6	  45877 #  define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ALIAS          0
 I6	  45878 #  define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ISSUER_SERIAL  0
 I6	  45879 #  define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 0
 I6	  45880 #  define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_NAME           0
 I6	  45881 #  define OSSL_STORE_F_OSSL_STORE_UNREGISTER_LOADER_INT    0
 I6	  45882 #  define OSSL_STORE_F_TRY_DECODE_PARAMS                   0
 I6	  45883 #  define OSSL_STORE_F_TRY_DECODE_PKCS12                   0
 I6	  45884 #  define OSSL_STORE_F_TRY_DECODE_PKCS8ENCRYPTED           0
 I6	  45885 
 I6	  45886 #  ifndef OPENSSL_NO_TS
 I6	  45887 /*
 I6	  45888  * TS function codes.
 I6	  45889  */
 I6	  45890 #   define TS_F_DEF_SERIAL_CB                               0
 I6	  45891 #   define TS_F_DEF_TIME_CB                                 0
 I6	  45892 #   define TS_F_ESS_ADD_SIGNING_CERT                        0
 I6	  45893 #   define TS_F_ESS_ADD_SIGNING_CERT_V2                     0
 I6	  45894 #   define TS_F_ESS_CERT_ID_NEW_INIT                        0
 I6	  45895 #   define TS_F_ESS_CERT_ID_V2_NEW_INIT                     0
 I6	  45896 #   define TS_F_ESS_SIGNING_CERT_NEW_INIT                   0
 I6	  45897 #   define TS_F_ESS_SIGNING_CERT_V2_NEW_INIT                0
 I6	  45898 #   define TS_F_INT_TS_RESP_VERIFY_TOKEN                    0
 I6	  45899 #   define TS_F_PKCS7_TO_TS_TST_INFO                        0
 I6	  45900 #   define TS_F_TS_ACCURACY_SET_MICROS                      0
 I6	  45901 #   define TS_F_TS_ACCURACY_SET_MILLIS                      0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 829
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45902 #   define TS_F_TS_ACCURACY_SET_SECONDS                     0
 I6	  45903 #   define TS_F_TS_CHECK_IMPRINTS                           0
 I6	  45904 #   define TS_F_TS_CHECK_NONCES                             0
 I6	  45905 #   define TS_F_TS_CHECK_POLICY                             0
 I6	  45906 #   define TS_F_TS_CHECK_SIGNING_CERTS                      0
 I6	  45907 #   define TS_F_TS_CHECK_STATUS_INFO                        0
 I6	  45908 #   define TS_F_TS_COMPUTE_IMPRINT                          0
 I6	  45909 #   define TS_F_TS_CONF_INVALID                             0
 I6	  45910 #   define TS_F_TS_CONF_LOAD_CERT                           0
 I6	  45911 #   define TS_F_TS_CONF_LOAD_CERTS                          0
 I6	  45912 #   define TS_F_TS_CONF_LOAD_KEY                            0
 I6	  45913 #   define TS_F_TS_CONF_LOOKUP_FAIL                         0
 I6	  45914 #   define TS_F_TS_CONF_SET_DEFAULT_ENGINE                  0
 I6	  45915 #   define TS_F_TS_GET_STATUS_TEXT                          0
 I6	  45916 #   define TS_F_TS_MSG_IMPRINT_SET_ALGO                     0
 I6	  45917 #   define TS_F_TS_REQ_SET_MSG_IMPRINT                      0
 I6	  45918 #   define TS_F_TS_REQ_SET_NONCE                            0
 I6	  45919 #   define TS_F_TS_REQ_SET_POLICY_ID                        0
 I6	  45920 #   define TS_F_TS_RESP_CREATE_RESPONSE                     0
 I6	  45921 #   define TS_F_TS_RESP_CREATE_TST_INFO                     0
 I6	  45922 #   define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO                0
 I6	  45923 #   define TS_F_TS_RESP_CTX_ADD_MD                          0
 I6	  45924 #   define TS_F_TS_RESP_CTX_ADD_POLICY                      0
 I6	  45925 #   define TS_F_TS_RESP_CTX_NEW                             0
 I6	  45926 #   define TS_F_TS_RESP_CTX_SET_ACCURACY                    0
 I6	  45927 #   define TS_F_TS_RESP_CTX_SET_CERTS                       0
 I6	  45928 #   define TS_F_TS_RESP_CTX_SET_DEF_POLICY                  0
 I6	  45929 #   define TS_F_TS_RESP_CTX_SET_SIGNER_CERT                 0
 I6	  45930 #   define TS_F_TS_RESP_CTX_SET_STATUS_INFO                 0
 I6	  45931 #   define TS_F_TS_RESP_GET_POLICY                          0
 I6	  45932 #   define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION          0
 I6	  45933 #   define TS_F_TS_RESP_SET_STATUS_INFO                     0
 I6	  45934 #   define TS_F_TS_RESP_SET_TST_INFO                        0
 I6	  45935 #   define TS_F_TS_RESP_SIGN                                0
 I6	  45936 #   define TS_F_TS_RESP_VERIFY_SIGNATURE                    0
 I6	  45937 #   define TS_F_TS_TST_INFO_SET_ACCURACY                    0
 I6	  45938 #   define TS_F_TS_TST_INFO_SET_MSG_IMPRINT                 0
 I6	  45939 #   define TS_F_TS_TST_INFO_SET_NONCE                       0
 I6	  45940 #   define TS_F_TS_TST_INFO_SET_POLICY_ID                   0
 I6	  45941 #   define TS_F_TS_TST_INFO_SET_SERIAL                      0
 I6	  45942 #   define TS_F_TS_TST_INFO_SET_TIME                        0
 I6	  45943 #   define TS_F_TS_TST_INFO_SET_TSA                         0
 I6	  45944 #   define TS_F_TS_VERIFY                                   0
 I6	  45945 #   define TS_F_TS_VERIFY_CERT                              0
 I6	  45946 #   define TS_F_TS_VERIFY_CTX_NEW                           0
 I6	  45947 #  endif
 I6	  45948 
 I6	  45949 /*
 I6	  45950  * UI function codes.
 I6	  45951  */
 I6	  45952 #  define UI_F_CLOSE_CONSOLE                               0
 I6	  45953 #  define UI_F_ECHO_CONSOLE                                0
 I6	  45954 #  define UI_F_GENERAL_ALLOCATE_BOOLEAN                    0
 I6	  45955 #  define UI_F_GENERAL_ALLOCATE_PROMPT                     0
 I6	  45956 #  define UI_F_NOECHO_CONSOLE                              0
 I6	  45957 #  define UI_F_OPEN_CONSOLE                                0
 I6	  45958 #  define UI_F_UI_CONSTRUCT_PROMPT                         0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 830
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  45959 #  define UI_F_UI_CREATE_METHOD                            0
 I6	  45960 #  define UI_F_UI_CTRL                                     0
 I6	  45961 #  define UI_F_UI_DUP_ERROR_STRING                         0
 I6	  45962 #  define UI_F_UI_DUP_INFO_STRING                          0
 I6	  45963 #  define UI_F_UI_DUP_INPUT_BOOLEAN                        0
 I6	  45964 #  define UI_F_UI_DUP_INPUT_STRING                         0
 I6	  45965 #  define UI_F_UI_DUP_USER_DATA                            0
 I6	  45966 #  define UI_F_UI_DUP_VERIFY_STRING                        0
 I6	  45967 #  define UI_F_UI_GET0_RESULT                              0
 I6	  45968 #  define UI_F_UI_GET_RESULT_LENGTH                        0
 I6	  45969 #  define UI_F_UI_NEW_METHOD                               0
 I6	  45970 #  define UI_F_UI_PROCESS                                  0
 I6	  45971 #  define UI_F_UI_SET_RESULT                               0
 I6	  45972 #  define UI_F_UI_SET_RESULT_EX                            0
 I6	  45973 
 I6	  45974 /*
 I6	  45975  * X509 function codes.
 I6	  45976  */
 I6	  45977 #  define X509_F_ADD_CERT_DIR                              0
 I6	  45978 #  define X509_F_BUILD_CHAIN                               0
 I6	  45979 #  define X509_F_BY_FILE_CTRL                              0
 I6	  45980 #  define X509_F_CHECK_NAME_CONSTRAINTS                    0
 I6	  45981 #  define X509_F_CHECK_POLICY                              0
 I6	  45982 #  define X509_F_DANE_I2D                                  0
 I6	  45983 #  define X509_F_DIR_CTRL                                  0
 I6	  45984 #  define X509_F_GET_CERT_BY_SUBJECT                       0
 I6	  45985 #  define X509_F_I2D_X509_AUX                              0
 I6	  45986 #  define X509_F_LOOKUP_CERTS_SK                           0
 I6	  45987 #  define X509_F_NETSCAPE_SPKI_B64_DECODE                  0
 I6	  45988 #  define X509_F_NETSCAPE_SPKI_B64_ENCODE                  0
 I6	  45989 #  define X509_F_NEW_DIR                                   0
 I6	  45990 #  define X509_F_X509AT_ADD1_ATTR                          0
 I6	  45991 #  define X509_F_X509V3_ADD_EXT                            0
 I6	  45992 #  define X509_F_X509_ATTRIBUTE_CREATE_BY_NID              0
 I6	  45993 #  define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ              0
 I6	  45994 #  define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT              0
 I6	  45995 #  define X509_F_X509_ATTRIBUTE_GET0_DATA                  0
 I6	  45996 #  define X509_F_X509_ATTRIBUTE_SET1_DATA                  0
 I6	  45997 #  define X509_F_X509_CHECK_PRIVATE_KEY                    0
 I6	  45998 #  define X509_F_X509_CRL_DIFF                             0
 I6	  45999 #  define X509_F_X509_CRL_METHOD_NEW                       0
 I6	  46000 #  define X509_F_X509_CRL_PRINT_FP                         0
 I6	  46001 #  define X509_F_X509_EXTENSION_CREATE_BY_NID              0
 I6	  46002 #  define X509_F_X509_EXTENSION_CREATE_BY_OBJ              0
 I6	  46003 #  define X509_F_X509_GET_PUBKEY_PARAMETERS                0
 I6	  46004 #  define X509_F_X509_LOAD_CERT_CRL_FILE                   0
 I6	  46005 #  define X509_F_X509_LOAD_CERT_FILE                       0
 I6	  46006 #  define X509_F_X509_LOAD_CRL_FILE                        0
 I6	  46007 #  define X509_F_X509_LOOKUP_METH_NEW                      0
 I6	  46008 #  define X509_F_X509_LOOKUP_NEW                           0
 I6	  46009 #  define X509_F_X509_NAME_ADD_ENTRY                       0
 I6	  46010 #  define X509_F_X509_NAME_CANON                           0
 I6	  46011 #  define X509_F_X509_NAME_ENTRY_CREATE_BY_NID             0
 I6	  46012 #  define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT             0
 I6	  46013 #  define X509_F_X509_NAME_ENTRY_SET_OBJECT                0
 I6	  46014 #  define X509_F_X509_NAME_ONELINE                         0
 I6	  46015 #  define X509_F_X509_NAME_PRINT                           0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 831
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  46016 #  define X509_F_X509_OBJECT_NEW                           0
 I6	  46017 #  define X509_F_X509_PRINT_EX_FP                          0
 I6	  46018 #  define X509_F_X509_PUBKEY_DECODE                        0
 I6	  46019 #  define X509_F_X509_PUBKEY_GET                           0
 I6	  46020 #  define X509_F_X509_PUBKEY_GET0                          0
 I6	  46021 #  define X509_F_X509_PUBKEY_SET                           0
 I6	  46022 #  define X509_F_X509_REQ_CHECK_PRIVATE_KEY                0
 I6	  46023 #  define X509_F_X509_REQ_PRINT_EX                         0
 I6	  46024 #  define X509_F_X509_REQ_PRINT_FP                         0
 I6	  46025 #  define X509_F_X509_REQ_TO_X509                          0
 I6	  46026 #  define X509_F_X509_STORE_ADD_CERT                       0
 I6	  46027 #  define X509_F_X509_STORE_ADD_CRL                        0
 I6	  46028 #  define X509_F_X509_STORE_ADD_LOOKUP                     0
 I6	  46029 #  define X509_F_X509_STORE_CTX_GET1_ISSUER                0
 I6	  46030 #  define X509_F_X509_STORE_CTX_INIT                       0
 I6	  46031 #  define X509_F_X509_STORE_CTX_NEW                        0
 I6	  46032 #  define X509_F_X509_STORE_CTX_PURPOSE_INHERIT            0
 I6	  46033 #  define X509_F_X509_STORE_NEW                            0
 I6	  46034 #  define X509_F_X509_TO_X509_REQ                          0
 I6	  46035 #  define X509_F_X509_TRUST_ADD                            0
 I6	  46036 #  define X509_F_X509_TRUST_SET                            0
 I6	  46037 #  define X509_F_X509_VERIFY_CERT                          0
 I6	  46038 #  define X509_F_X509_VERIFY_PARAM_NEW                     0
 I6	  46039 
 I6	  46040 /*
 I6	  46041  * X509V3 function codes.
 I6	  46042  */
 I6	  46043 #  define X509V3_F_A2I_GENERAL_NAME                        0
 I6	  46044 #  define X509V3_F_ADDR_VALIDATE_PATH_INTERNAL             0
 I6	  46045 #  define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE             0
 I6	  46046 #  define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL         0
 I6	  46047 #  define X509V3_F_BIGNUM_TO_STRING                        0
 I6	  46048 #  define X509V3_F_COPY_EMAIL                              0
 I6	  46049 #  define X509V3_F_COPY_ISSUER                             0
 I6	  46050 #  define X509V3_F_DO_DIRNAME                              0
 I6	  46051 #  define X509V3_F_DO_EXT_I2D                              0
 I6	  46052 #  define X509V3_F_DO_EXT_NCONF                            0
 I6	  46053 #  define X509V3_F_GNAMES_FROM_SECTNAME                    0
 I6	  46054 #  define X509V3_F_I2S_ASN1_ENUMERATED                     0
 I6	  46055 #  define X509V3_F_I2S_ASN1_IA5STRING                      0
 I6	  46056 #  define X509V3_F_I2S_ASN1_INTEGER                        0
 I6	  46057 #  define X509V3_F_I2V_AUTHORITY_INFO_ACCESS               0
 I6	  46058 #  define X509V3_F_LEVEL_ADD_NODE                          0
 I6	  46059 #  define X509V3_F_NOTICE_SECTION                          0
 I6	  46060 #  define X509V3_F_NREF_NOS                                0
 I6	  46061 #  define X509V3_F_POLICY_CACHE_CREATE                     0
 I6	  46062 #  define X509V3_F_POLICY_CACHE_NEW                        0
 I6	  46063 #  define X509V3_F_POLICY_DATA_NEW                         0
 I6	  46064 #  define X509V3_F_POLICY_SECTION                          0
 I6	  46065 #  define X509V3_F_PROCESS_PCI_VALUE                       0
 I6	  46066 #  define X509V3_F_R2I_CERTPOL                             0
 I6	  46067 #  define X509V3_F_R2I_PCI                                 0
 I6	  46068 #  define X509V3_F_S2I_ASN1_IA5STRING                      0
 I6	  46069 #  define X509V3_F_S2I_ASN1_INTEGER                        0
 I6	  46070 #  define X509V3_F_S2I_ASN1_OCTET_STRING                   0
 I6	  46071 #  define X509V3_F_S2I_SKEY_ID                             0
 I6	  46072 #  define X509V3_F_SET_DIST_POINT_NAME                     0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 832
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR_LEGACY.H;1

 I6	  46073 #  define X509V3_F_SXNET_ADD_ID_ASC                        0
 I6	  46074 #  define X509V3_F_SXNET_ADD_ID_INTEGER                    0
 I6	  46075 #  define X509V3_F_SXNET_ADD_ID_ULONG                      0
 I6	  46076 #  define X509V3_F_SXNET_GET_ID_ASC                        0
 I6	  46077 #  define X509V3_F_SXNET_GET_ID_ULONG                      0
 I6	  46078 #  define X509V3_F_TREE_INIT                               0
 I6	  46079 #  define X509V3_F_V2I_ASIDENTIFIERS                       0
 I6	  46080 #  define X509V3_F_V2I_ASN1_BIT_STRING                     0
 I6	  46081 #  define X509V3_F_V2I_AUTHORITY_INFO_ACCESS               0
 I6	  46082 #  define X509V3_F_V2I_AUTHORITY_KEYID                     0
 I6	  46083 #  define X509V3_F_V2I_BASIC_CONSTRAINTS                   0
 I6	  46084 #  define X509V3_F_V2I_CRLD                                0
 I6	  46085 #  define X509V3_F_V2I_EXTENDED_KEY_USAGE                  0
 I6	  46086 #  define X509V3_F_V2I_GENERAL_NAMES                       0
 I6	  46087 #  define X509V3_F_V2I_GENERAL_NAME_EX                     0
 I6	  46088 #  define X509V3_F_V2I_IDP                                 0
 I6	  46089 #  define X509V3_F_V2I_IPADDRBLOCKS                        0
 I6	  46090 #  define X509V3_F_V2I_ISSUER_ALT                          0
 I6	  46091 #  define X509V3_F_V2I_NAME_CONSTRAINTS                    0
 I6	  46092 #  define X509V3_F_V2I_POLICY_CONSTRAINTS                  0
 I6	  46093 #  define X509V3_F_V2I_POLICY_MAPPINGS                     0
 I6	  46094 #  define X509V3_F_V2I_SUBJECT_ALT                         0
 I6	  46095 #  define X509V3_F_V2I_TLS_FEATURE                         0
 I6	  46096 #  define X509V3_F_V3_GENERIC_EXTENSION                    0
 I6	  46097 #  define X509V3_F_X509V3_ADD1_I2D                         0
 I6	  46098 #  define X509V3_F_X509V3_ADD_VALUE                        0
 I6	  46099 #  define X509V3_F_X509V3_EXT_ADD                          0
 I6	  46100 #  define X509V3_F_X509V3_EXT_ADD_ALIAS                    0
 I6	  46101 #  define X509V3_F_X509V3_EXT_I2D                          0
 I6	  46102 #  define X509V3_F_X509V3_EXT_NCONF                        0
 I6	  46103 #  define X509V3_F_X509V3_GET_SECTION                      0
 I6	  46104 #  define X509V3_F_X509V3_GET_STRING                       0
 I6	  46105 #  define X509V3_F_X509V3_GET_VALUE_BOOL                   0
 I6	  46106 #  define X509V3_F_X509V3_PARSE_LIST                       0
 I6	  46107 #  define X509V3_F_X509_PURPOSE_ADD                        0
 I6	  46108 #  define X509V3_F_X509_PURPOSE_SET                        0
 I6	  46109 
 I6	  46110 /*
 I6	  46111  * Compatibility defines.
 I6	  46112  */
 I6	  46113 # define EVP_R_OPERATON_NOT_INITIALIZED    EVP_R_OPERATION_NOT_INITIALIZED
 I6	  46114 
 I6	  46115 # endif
 I6	  46116 
 I6    X  46117 # ifdef  __cplusplus
 I6    X  46118 }
 I6    X  46119 # endif
 I6	  46120 #endif
 I5	  46121 
 I5	  46122 
 I5	  46123 
 I5	  46124 /*
 I5	  46125  * CRYPTO reason codes.
 I5	  46126  */
 I5	  46127 # define CRYPTO_R_BAD_ALGORITHM_NAME                      117
 I5	  46128 # define CRYPTO_R_CONFLICTING_NAMES                       118
 I5	  46129 # define CRYPTO_R_HEX_STRING_TOO_SHORT                    121

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 833
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTOERR.H;1

 I5	  46130 # define CRYPTO_R_ILLEGAL_HEX_DIGIT                       102
 I5	  46131 # define CRYPTO_R_INSUFFICIENT_DATA_SPACE                 106
 I5	  46132 # define CRYPTO_R_INSUFFICIENT_PARAM_SIZE                 107
 I5	  46133 # define CRYPTO_R_INSUFFICIENT_SECURE_DATA_SPACE          108
 I5	  46134 # define CRYPTO_R_INVALID_NEGATIVE_VALUE                  122
 I5	  46135 # define CRYPTO_R_INVALID_NULL_ARGUMENT                   109
 I5	  46136 # define CRYPTO_R_INVALID_OSSL_PARAM_TYPE                 110
 I5	  46137 # define CRYPTO_R_ODD_NUMBER_OF_DIGITS                    103
 I5	  46138 # define CRYPTO_R_PROVIDER_ALREADY_EXISTS                 104
 I5	  46139 # define CRYPTO_R_PROVIDER_SECTION_ERROR                  105
 I5	  46140 # define CRYPTO_R_RANDOM_SECTION_ERROR                    119
 I5	  46141 # define CRYPTO_R_SECURE_MALLOC_FAILURE                   111
 I5	  46142 # define CRYPTO_R_STRING_TOO_LONG                         112
 I5	  46143 # define CRYPTO_R_TOO_MANY_BYTES                          113
 I5	  46144 # define CRYPTO_R_TOO_MANY_RECORDS                        114
 I5	  46145 # define CRYPTO_R_TOO_SMALL_BUFFER                        116
 I5	  46146 # define CRYPTO_R_UNKNOWN_NAME_IN_RANDOM_SECTION          120
 I5	  46147 # define CRYPTO_R_ZERO_LENGTH_NUMBER                      115
 I5	  46148 
 I5	  46149 #endif
 I4	  46150 # include <openssl/core.h>
 I5	  46151 /*
 I5	  46152  * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  46153  *
 I5	  46154  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  46155  * this file except in compliance with the License.  You can obtain a copy
 I5	  46156  * in the file LICENSE in the source distribution or at
 I5	  46157  * https://www.openssl.org/source/license.html
 I5	  46158  */
 I5	  46159 
 I5	  46160 #ifndef OPENSSL_CORE_H
 I5	  46161 # define OPENSSL_CORE_H
 I5	  46162 # pragma once
 I5	  46163 
 I5	  46164 # include <stddef.h>
 I6	  46165 #ifndef __STDDEF_LOADED
 I6	  46166 #define __STDDEF_LOADED
 I6	  46167 
 I6	  46168 #ifndef __STDDEF_PROCESSED
 I6	  46169 #define __STDDEF_PROCESSED
 I6	  46170 
 I6	  46171 /****************************************************************************
 I6	  46172 **
 I6	  46173 **  <stddef.h> - Common Definitions 
 I6	  46174 **
 I6	  46175 *****************************************************************************
 I6	  46176 **  Header introduced by the ANSI C Standard
 I6	  46177 *****************************************************************************
 I6	  46178 */
 I6	  46179 /* ************************************************************************* */
 I6	  46180 /* *                                                                       * */
 I6	  46181 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I6	  46182 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I6	  46183 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I6	  46184 /* * prior written permission of HPE.                                      * */
 I6	  46185 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I6	  46186 /* *                                                                       * */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 834
V1.0                                                            14-DEC-2022 18:32:32  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(STDDEF)

 I6	  46187 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I6	  46188 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I6	  46189 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I6	  46190 /* * the prior written permission of VMS Software, Inc.                    * */
 I6	  46191 /* * Copyright 2017 VMS Software, Inc.                                     * */
 I6	  46192 /* *                                                                       * */
 I6	  46193 /* ************************************************************************* */
 I6	  46194 
 I6	  46195 #pragma __nostandard
 I6    X  46196 #include <decc$types.h>
 I6	  46197 
 I6	  46198 
 I6    X  46199 #ifdef __NAMESPACE_STD
 I6    X  46200 namespace std {
 I6    X  46201 #endif
 I6	  46202 
 I6	  46203 typedef int ptrdiff_t;
 I6	  46204 
 I6    X  46205 #ifndef __SIZE_T
 I6    X  46206 #   define __SIZE_T 1
 I6    X  46207     typedef __size_t size_t;
 I6    X  46208 #endif
 I6	  46209 
 I6    X  46210 #ifdef __NAMESPACE_STD
 I6    X  46211 } /* namespace std */
 I6    X  46212 #endif
 I6	  46213 
 I6    X  46214 #ifndef __WCHAR_T
 I6    X  46215 #   define __WCHAR_T
 I6    X  46216     typedef __wchar_t wchar_t;
 I6    X  46217 #endif
 I6	  46218 
 I6    X  46219 #ifndef NULL
 I6    X  46220 #   define NULL __NULL
 I6    X  46221 #endif
 I6	  46222 
 I6    X  46223 #if __DECCXX_VER > 60500000
 I6    X  46224 #  define offsetof(__t, __memb) ((__size_t)__INTADDR__(&(((__t *)0)->__memb)))
 I6    X  46225 #else
 I6	  46226 #  define offsetof(type, identifier) ((__size_t)((__char_ptr32)&((type*)0L)->identifier - (__char_ptr32)0L))
 I6	  46227 #endif
 I6	  46228 
 I6	  46229 #pragma __standard
 I6	  46230 #endif /* __STDDEF_PROCESSED */
 I6	  46231 
 I6    X  46232 #if defined(__NAMESPACE_STD) && !defined(__NAMESPACE_STD_ONLY)
 I6    X  46233 #  ifndef __USING_STDDEF_NAMES
 I6    X  46234 #    define __USING_STDDEF_NAMES
 I6    X  46235      using std::ptrdiff_t;
 I6    X  46236      using std::size_t;
 I6    X  46237 #  endif
 I6    X  46238 #endif
 I6	  46239 
 I6	  46240 #endif /* __STDDEF_LOADED */
 I5    X  46241 # include <openssl/types.h>
 I5	  46242 
 I5    X  46243 # ifdef __cplusplus

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 835
V1.0                                                            14-MAY-2022 12:28:33  SSL3$ROOT:[INCLUDE]CORE.H;1

 I5    X  46244 extern "C" {
 I5    X  46245 # endif
 I5	  46246 
 I5	  46247 /*-
 I5	  46248  * Base types
 I5	  46249  * ----------
 I5	  46250  *
 I5	  46251  * These are the types that the OpenSSL core and providers have in common
 I5	  46252  * to communicate data between them.
 I5	  46253  */
 I5	  46254 
 I5	  46255 /* Opaque handles to be used with core upcall functions from providers */
 I5	  46256 typedef struct ossl_core_handle_st OSSL_CORE_HANDLE;
 I5	  46257 typedef struct openssl_core_ctx_st OPENSSL_CORE_CTX;
 I5	  46258 typedef struct ossl_core_bio_st OSSL_CORE_BIO;
 I5	  46259 
 I5	  46260 /*
 I5	  46261  * Dispatch table element.  function_id numbers and the functions are defined
 I5	  46262  * in core_dispatch.h, see macros with 'OSSL_CORE_MAKE_FUNC' in their names.
 I5	  46263  *
 I5	  46264  * An array of these is always terminated by function_id == 0
 I5	  46265  */
 I5	  46266 struct ossl_dispatch_st {
 I5	  46267     int function_id;
 I5	  46268     void (*function)(void);
 I5	  46269 };
 I5	  46270 
 I5	  46271 /*
 I5	  46272  * Other items, essentially an int<->pointer map element.
 I5	  46273  *
 I5	  46274  * We make this type distinct from OSSL_DISPATCH to ensure that dispatch
 I5	  46275  * tables remain tables with function pointers only.
 I5	  46276  *
 I5	  46277  * This is used whenever we need to pass things like a table of error reason
 I5	  46278  * codes <-> reason string maps, ...
 I5	  46279  *
 I5	  46280  * Usage determines which field works as key if any, rather than field order.
 I5	  46281  *
 I5	  46282  * An array of these is always terminated by id == 0 && ptr == NULL
 I5	  46283  */
 I5	  46284 struct ossl_item_st {
 I5	  46285     unsigned int id;
 I5	  46286     void *ptr;
 I5	  46287 };
 I5	  46288 
 I5	  46289 /*
 I5	  46290  * Type to tie together algorithm names, property definition string and
 I5	  46291  * the algorithm implementation in the form of a dispatch table.
 I5	  46292  *
 I5	  46293  * An array of these is always terminated by algorithm_names == NULL
 I5	  46294  */
 I5	  46295 struct ossl_algorithm_st {
 I5	  46296     const char *algorithm_names;     /* key */
 I5	  46297     const char *property_definition; /* key */
 I5	  46298     const OSSL_DISPATCH *implementation;
 I5	  46299     const char *algorithm_description;
 I5	  46300 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 836
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE.H;1

 I5	  46301 
 I5	  46302 /*
 I5	  46303  * Type to pass object data in a uniform way, without exposing the object
 I5	  46304  * structure.
 I5	  46305  *
 I5	  46306  * An array of these is always terminated by key == NULL
 I5	  46307  */
 I5	  46308 struct ossl_param_st {
 I5	  46309     const char *key;             /* the name of the parameter */
 I5	  46310     unsigned int data_type;      /* declare what kind of content is in buffer */
 I5	  46311     void *data;                  /* value being passed in or out */
 I5	  46312     size_t data_size;            /* data size */
 I5	  46313     size_t return_size;          /* returned content size */
 I5	  46314 };
 I5	  46315 
 I5	  46316 /* Currently supported OSSL_PARAM data types */
 I5	  46317 /*
 I5	  46318  * OSSL_PARAM_INTEGER and OSSL_PARAM_UNSIGNED_INTEGER
 I5	  46319  * are arbitrary length and therefore require an arbitrarily sized buffer,
 I5	  46320  * since they may be used to pass numbers larger than what is natively
 I5	  46321  * available.
 I5	  46322  *
 I5	  46323  * The number must be buffered in native form, i.e. MSB first on B_ENDIAN
 I5	  46324  * systems and LSB first on L_ENDIAN systems.  This means that arbitrary
 I5	  46325  * native integers can be stored in the buffer, just make sure that the
 I5	  46326  * buffer size is correct and the buffer itself is properly aligned (for
 I5	  46327  * example by having the buffer field point at a C integer).
 I5	  46328  */
 I5	  46329 # define OSSL_PARAM_INTEGER              1
 I5	  46330 # define OSSL_PARAM_UNSIGNED_INTEGER     2
 I5	  46331 /*-
 I5	  46332  * OSSL_PARAM_REAL
 I5	  46333  * is a C binary floating point values in native form and alignment.
 I5	  46334  */
 I5	  46335 # define OSSL_PARAM_REAL                 3
 I5	  46336 /*-
 I5	  46337  * OSSL_PARAM_UTF8_STRING
 I5	  46338  * is a printable string.  It is expected to be printed as it is.
 I5	  46339  */
 I5	  46340 # define OSSL_PARAM_UTF8_STRING          4
 I5	  46341 /*-
 I5	  46342  * OSSL_PARAM_OCTET_STRING
 I5	  46343  * is a string of bytes with no further specification.  It is expected to be
 I5	  46344  * printed as a hexdump.
 I5	  46345  */
 I5	  46346 # define OSSL_PARAM_OCTET_STRING         5
 I5	  46347 /*-
 I5	  46348  * OSSL_PARAM_UTF8_PTR
 I5	  46349  * is a pointer to a printable string.  It is expected to be printed as it is.
 I5	  46350  *
 I5	  46351  * The difference between this and OSSL_PARAM_UTF8_STRING is that only pointers
 I5	  46352  * are manipulated for this type.
 I5	  46353  *
 I5	  46354  * This is more relevant for parameter requests, where the responding
 I5	  46355  * function doesn't need to copy the data to the provided buffer, but
 I5	  46356  * sets the provided buffer to point at the actual data instead.
 I5	  46357  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 837
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE.H;1

 I5	  46358  * WARNING!  Using these is FRAGILE, as it assumes that the actual
 I5	  46359  * data and its location are constant.
 I5	  46360  *
 I5	  46361  * EXTRA WARNING!  If you are not completely sure you most likely want
 I5	  46362  * to use the OSSL_PARAM_UTF8_STRING type.
 I5	  46363  */
 I5	  46364 # define OSSL_PARAM_UTF8_PTR             6
 I5	  46365 /*-
 I5	  46366  * OSSL_PARAM_OCTET_PTR
 I5	  46367  * is a pointer to a string of bytes with no further specification.  It is
 I5	  46368  * expected to be printed as a hexdump.
 I5	  46369  *
 I5	  46370  * The difference between this and OSSL_PARAM_OCTET_STRING is that only pointers
 I5	  46371  * are manipulated for this type.
 I5	  46372  *
 I5	  46373  * This is more relevant for parameter requests, where the responding
 I5	  46374  * function doesn't need to copy the data to the provided buffer, but
 I5	  46375  * sets the provided buffer to point at the actual data instead.
 I5	  46376  *
 I5	  46377  * WARNING!  Using these is FRAGILE, as it assumes that the actual
 I5	  46378  * data and its location are constant.
 I5	  46379  *
 I5	  46380  * EXTRA WARNING!  If you are not completely sure you most likely want
 I5	  46381  * to use the OSSL_PARAM_OCTET_STRING type.
 I5	  46382  */
 I5	  46383 # define OSSL_PARAM_OCTET_PTR            7
 I5	  46384 
 I5	  46385 /*
 I5	  46386  * Typedef for the thread stop handling callback. Used both internally and by
 I5	  46387  * providers.
 I5	  46388  *
 I5	  46389  * Providers may register for notifications about threads stopping by
 I5	  46390  * registering a callback to hear about such events. Providers register the
 I5	  46391  * callback using the OSSL_FUNC_CORE_THREAD_START function in the |in| dispatch
 I5	  46392  * table passed to OSSL_provider_init(). The arg passed back to a provider will
 I5	  46393  * be the provider side context object.
 I5	  46394  */
 I5	  46395 typedef void (*OSSL_thread_stop_handler_fn)(void *arg);
 I5	  46396 
 I5	  46397 
 I5	  46398 /*-
 I5	  46399  * Provider entry point
 I5	  46400  * --------------------
 I5	  46401  *
 I5	  46402  * This function is expected to be present in any dynamically loadable
 I5	  46403  * provider module.  By definition, if this function doesn't exist in a
 I5	  46404  * module, that module is not an OpenSSL provider module.
 I5	  46405  */
 I5	  46406 /*-
 I5	  46407  * |handle|     pointer to opaque type OSSL_CORE_HANDLE.  This can be used
 I5	  46408  *              together with some functions passed via |in| to query data.
 I5	  46409  * |in|         is the array of functions that the Core passes to the provider.
 I5	  46410  * |out|        will be the array of base functions that the provider passes
 I5	  46411  *              back to the Core.
 I5	  46412  * |provctx|    a provider side context object, optionally created if the
 I5	  46413  *              provider needs it.  This value is passed to other provider
 I5	  46414  *              functions, notably other context constructors.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 838
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE.H;1

 I5	  46415  */
 I5	  46416 typedef int (OSSL_provider_init_fn)(const OSSL_CORE_HANDLE *handle,
 I5	  46417                                     const OSSL_DISPATCH *in,
 I5	  46418                                     const OSSL_DISPATCH **out,
 I5	  46419                                     void **provctx);
 I5	  46420 #ifndef __cplusplus
 I5	  46421 # ifdef __VMS
 I5	  46422 #  pragma names save
 I5	  46423 #  pragma names uppercase,truncated
 I5	  46424 # endif
 I5	  46425 #endif
 I5	  46426 OPENSSL_EXPORT OSSL_provider_init_fn OSSL_provider_init;
       E	 extern
 I5	  46427 #ifndef __cplusplus
 I5	  46428 # ifdef __VMS
 I5	  46429 #  pragma names restore
 I5	  46430 # endif
 I5	  46431 #endif
 I5	  46432 
 I5	  46433 /*
 I5	  46434  * Generic callback function signature.
 I5	  46435  *
 I5	  46436  * The expectation is that any provider function that wants to offer
 I5	  46437  * a callback / hook can do so by taking an argument with this type,
 I5	  46438  * as well as a pointer to caller-specific data.  When calling the
 I5	  46439  * callback, the provider function can populate an OSSL_PARAM array
 I5	  46440  * with data of its choice and pass that in the callback call, along
 I5	  46441  * with the caller data argument.
 I5	  46442  *
 I5	  46443  * libcrypto may use the OSSL_PARAM array to create arguments for an
 I5	  46444  * application callback it knows about.
 I5	  46445  */
 I5	  46446 typedef int (OSSL_CALLBACK)(const OSSL_PARAM params[], void *arg);
 I5	  46447 typedef int (OSSL_INOUT_CALLBACK)(const OSSL_PARAM in_params[],
 I5	  46448                                   OSSL_PARAM out_params[], void *arg);
 I5	  46449 /*
 I5	  46450  * Passphrase callback function signature
 I5	  46451  *
 I5	  46452  * This is similar to the generic callback function above, but adds a
 I5	  46453  * result parameter.
 I5	  46454  */
 I5	  46455 typedef int (OSSL_PASSPHRASE_CALLBACK)(char *pass, size_t pass_size,
 I5	  46456                                        size_t *pass_len,
 I5	  46457                                        const OSSL_PARAM params[], void *arg);
 I5	  46458 
 I5    X  46459 # ifdef __cplusplus
 I5    X  46460 }
 I5    X  46461 # endif
 I5	  46462 
 I5	  46463 #endif
 I4	  46464 
 I4    X  46465 # ifdef CHARSET_EBCDIC
 I4    X  46466 #  include <openssl/ebcdic.h>
 I4    X  46467 # endif
 I4	  46468 
 I4	  46469 /*
 I4	  46470  * Resolve problems on some operating systems with symbol names that clash

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 839
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46471  * one way or another
 I4	  46472  */
 I4    X  46473 # include <openssl/symhacks.h>
 I4	  46474 
 I4	  46475 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  46476 #  include <openssl/opensslv.h>
 I4	  46477 # endif
 I4	  46478 
 I4    X  46479 #ifdef  __cplusplus
 I4    X  46480 extern "C" {
 I4    X  46481 #endif
 I4	  46482 
 I4	  46483 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  46484 #  define SSLeay                  OpenSSL_version_num
 I4	  46485 #  define SSLeay_version          OpenSSL_version
 I4	  46486 #  define SSLEAY_VERSION_NUMBER   OPENSSL_VERSION_NUMBER
 I4	  46487 #  define SSLEAY_VERSION          OPENSSL_VERSION
 I4	  46488 #  define SSLEAY_CFLAGS           OPENSSL_CFLAGS
 I4	  46489 #  define SSLEAY_BUILT_ON         OPENSSL_BUILT_ON
 I4	  46490 #  define SSLEAY_PLATFORM         OPENSSL_PLATFORM
 I4	  46491 #  define SSLEAY_DIR              OPENSSL_DIR
 I4	  46492 
 I4	  46493 /*
 I4	  46494  * Old type for allocating dynamic locks. No longer used. Use the new thread
 I4	  46495  * API instead.
 I4	  46496  */
 I4	  46497 typedef struct {
 I4	  46498     int dummy;
 I4	  46499 } CRYPTO_dynlock;
 I4	  46500 
 I4	  46501 # endif /* OPENSSL_NO_DEPRECATED_1_1_0 */
 I4	  46502 
 I4	  46503 typedef void CRYPTO_RWLOCK;
 I4	  46504 
 I4	  46505 CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void);
 I4	  46506 __owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock);
       E	 
 I4	  46507 __owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock);
       E	 
 I4	  46508 int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock);
 I4	  46509 void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock);
 I4	  46510 
 I4	  46511 int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock);
 I4	  46512 int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,
 I4	  46513                      CRYPTO_RWLOCK *lock);
 I4	  46514 int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock);
 I4	  46515 
 I4	  46516 /* No longer needed, so this is a no-op */
 I4	  46517 #define OPENSSL_malloc_init() while(0) continue
 I4	  46518 
 I4	  46519 # define OPENSSL_malloc(num) \
 I4	  46520         CRYPTO_malloc(num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46521 # define OPENSSL_zalloc(num) \
 I4	  46522         CRYPTO_zalloc(num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46523 # define OPENSSL_realloc(addr, num) \
 I4	  46524         CRYPTO_realloc(addr, num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46525 # define OPENSSL_clear_realloc(addr, old_num, num) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 840
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46526         CRYPTO_clear_realloc(addr, old_num, num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46527 # define OPENSSL_clear_free(addr, num) \
 I4	  46528         CRYPTO_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46529 # define OPENSSL_free(addr) \
 I4	  46530         CRYPTO_free(addr, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46531 # define OPENSSL_memdup(str, s) \
 I4	  46532         CRYPTO_memdup((str), s, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46533 # define OPENSSL_strdup(str) \
 I4	  46534         CRYPTO_strdup(str, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46535 # define OPENSSL_strndup(str, n) \
 I4	  46536         CRYPTO_strndup(str, n, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46537 # define OPENSSL_secure_malloc(num) \
 I4	  46538         CRYPTO_secure_malloc(num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46539 # define OPENSSL_secure_zalloc(num) \
 I4	  46540         CRYPTO_secure_zalloc(num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46541 # define OPENSSL_secure_free(addr) \
 I4	  46542         CRYPTO_secure_free(addr, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46543 # define OPENSSL_secure_clear_free(addr, num) \
 I4	  46544         CRYPTO_secure_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE)
 I4	  46545 # define OPENSSL_secure_actual_size(ptr) \
 I4	  46546         CRYPTO_secure_actual_size(ptr)
 I4	  46547 
 I4	  46548 size_t OPENSSL_strlcpy(char *dst, const char *src, size_t siz);
 I4	  46549 size_t OPENSSL_strlcat(char *dst, const char *src, size_t siz);
 I4	  46550 size_t OPENSSL_strnlen(const char *str, size_t maxlen);
 I4	  46551 int OPENSSL_buf2hexstr_ex(char *str, size_t str_n, size_t *strlength,
 I4	  46552                           const unsigned char *buf, size_t buflen,
 I4	  46553                           const char sep);
 I4	  46554 char *OPENSSL_buf2hexstr(const unsigned char *buf, long buflen);
 I4	  46555 int OPENSSL_hexstr2buf_ex(unsigned char *buf, size_t buf_n, size_t *buflen,
 I4	  46556                           const char *str, const char sep);
 I4	  46557 unsigned char *OPENSSL_hexstr2buf(const char *str, long *buflen);
 I4	  46558 int OPENSSL_hexchar2int(unsigned char c);
 I4	  46559 int OPENSSL_strcasecmp(const char *s1, const char *s2);
 I4	  46560 int OPENSSL_strncasecmp(const char *s1, const char *s2, size_t n);
 I4	  46561 
 I4	  46562 # define OPENSSL_MALLOC_MAX_NELEMS(type)  (((1U<<(sizeof(int)*8-1))-1)/sizeof(type))
 I4	  46563 
 I4	  46564 /*
 I4	  46565  * These functions return the values of OPENSSL_VERSION_MAJOR,
 I4	  46566  * OPENSSL_VERSION_MINOR, OPENSSL_VERSION_PATCH, OPENSSL_VERSION_PRE_RELEASE
 I4	  46567  * and OPENSSL_VERSION_BUILD_METADATA, respectively.
 I4	  46568  */
 I4	  46569 unsigned int OPENSSL_version_major(void);
 I4	  46570 unsigned int OPENSSL_version_minor(void);
 I4	  46571 unsigned int OPENSSL_version_patch(void);
 I4	  46572 const char *OPENSSL_version_pre_release(void);
 I4	  46573 const char *OPENSSL_version_build_metadata(void);
 I4	  46574 
 I4	  46575 unsigned long OpenSSL_version_num(void);
 I4	  46576 const char *OpenSSL_version(int type);
 I4	  46577 # define OPENSSL_VERSION                0
 I4	  46578 # define OPENSSL_CFLAGS                 1
 I4	  46579 # define OPENSSL_BUILT_ON               2
 I4	  46580 # define OPENSSL_PLATFORM               3
 I4	  46581 # define OPENSSL_DIR                    4
 I4	  46582 # define OPENSSL_ENGINES_DIR            5

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 841
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46583 # define OPENSSL_VERSION_STRING         6
 I4	  46584 # define OPENSSL_FULL_VERSION_STRING    7
 I4	  46585 # define OPENSSL_MODULES_DIR            8
 I4	  46586 # define OPENSSL_CPU_INFO               9
 I4	  46587 # define OPENSSL_VMS_VERSION          100
 I4	  46588 
 I4	  46589 const char *OPENSSL_info(int type);
 I4	  46590 /*
 I4	  46591  * The series starts at 1001 to avoid confusion with the OpenSSL_version
 I4	  46592  * types.
 I4	  46593  */
 I4	  46594 # define OPENSSL_INFO_CONFIG_DIR                1001
 I4	  46595 # define OPENSSL_INFO_ENGINES_DIR               1002
 I4	  46596 # define OPENSSL_INFO_MODULES_DIR               1003
 I4	  46597 # define OPENSSL_INFO_DSO_EXTENSION             1004
 I4	  46598 # define OPENSSL_INFO_DIR_FILENAME_SEPARATOR    1005
 I4	  46599 # define OPENSSL_INFO_LIST_SEPARATOR            1006
 I4	  46600 # define OPENSSL_INFO_SEED_SOURCE               1007
 I4	  46601 # define OPENSSL_INFO_CPU_SETTINGS              1008
 I4	  46602 
 I4	  46603 int OPENSSL_issetugid(void);
 I4	  46604 
 I4	  46605 struct crypto_ex_data_st {
 I4	  46606     OSSL_LIB_CTX *ctx;
 I4	  46607     STACK_OF(void) *sk;
       E	     struct stack_st_void
 I4	  46608 };
 I4	  46609 
 I4   1	  46610 SKM_DEFINE_STACK_OF_INTERNAL(void, void, void)
       E	 struct stack_st_void ; typedef int ( * sk_void_compfunc ) ( const void * const * a , const void * const * b ) ; typ
       E	edef void ( * sk_void_freefunc ) ( void * a ) ; typedef void * ( * sk_void_copyfunc ) ( const void * a ) ; static __
       E	inline void * ossl_check_void_type ( void * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_
       E	const_void_sk_type ( const struct stack_st_void * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPE
       E	NSSL_STACK * ossl_check_void_sk_type ( struct stack_st_void * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inli
       E	ne OPENSSL_sk_compfunc ossl_check_void_compfunc_type ( sk_void_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ;
       E	 } static __inline OPENSSL_sk_copyfunc ossl_check_void_copyfunc_type ( sk_void_copyfunc cpy ) { return ( OPENSSL_sk_
       E	copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_void_freefunc_type ( sk_void_freefunc fr ) { retur
       E	n ( OPENSSL_sk_freefunc ) fr ; }
 I4	  46611 #define sk_void_num(sk) OPENSSL_sk_num(ossl_check_const_void_sk_type(sk))
 I4	  46612 #define sk_void_value(sk, idx) ((void *)OPENSSL_sk_value(ossl_check_const_void_sk_type(sk), (idx)))
 I4	  46613 #define sk_void_new(cmp) ((STACK_OF(void) *)OPENSSL_sk_new(ossl_check_void_compfunc_type(cmp)))
 I4	  46614 #define sk_void_new_null() ((STACK_OF(void) *)OPENSSL_sk_new_null())
 I4	  46615 #define sk_void_new_reserve(cmp, n) ((STACK_OF(void) *)OPENSSL_sk_new_reserve(ossl_check_void_compfunc_type(cmp), (n
 I4	  46615 )))
 I4	  46616 #define sk_void_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_void_sk_type(sk), (n))
 I4	  46617 #define sk_void_free(sk) OPENSSL_sk_free(ossl_check_void_sk_type(sk))
 I4	  46618 #define sk_void_zero(sk) OPENSSL_sk_zero(ossl_check_void_sk_type(sk))
 I4	  46619 #define sk_void_delete(sk, i) ((void *)OPENSSL_sk_delete(ossl_check_void_sk_type(sk), (i)))
 I4	  46620 #define sk_void_delete_ptr(sk, ptr) ((void *)OPENSSL_sk_delete_ptr(ossl_check_void_sk_type(sk), ossl_check_void_type
 I4	  46620 (ptr)))
 I4	  46621 #define sk_void_push(sk, ptr) OPENSSL_sk_push(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr))
 I4	  46622 #define sk_void_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr))
 I4	  46623 #define sk_void_pop(sk) ((void *)OPENSSL_sk_pop(ossl_check_void_sk_type(sk)))
 I4	  46624 #define sk_void_shift(sk) ((void *)OPENSSL_sk_shift(ossl_check_void_sk_type(sk)))
 I4	  46625 #define sk_void_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_void_sk_type(sk),ossl_check_void_freefunc_type
 I4	  46625 (freefunc))
 I4	  46626 #define sk_void_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr), (idx)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 842
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46626 )
 I4	  46627 #define sk_void_set(sk, idx, ptr) ((void *)OPENSSL_sk_set(ossl_check_void_sk_type(sk), (idx), ossl_check_void_type(p
 I4	  46627 tr)))
 I4	  46628 #define sk_void_find(sk, ptr) OPENSSL_sk_find(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr))
 I4	  46629 #define sk_void_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr))
 I4	  46630 #define sk_void_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr), 
 I4	  46630 pnum)
 I4	  46631 #define sk_void_sort(sk) OPENSSL_sk_sort(ossl_check_void_sk_type(sk))
 I4	  46632 #define sk_void_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_void_sk_type(sk))
 I4	  46633 #define sk_void_dup(sk) ((STACK_OF(void) *)OPENSSL_sk_dup(ossl_check_const_void_sk_type(sk)))
 I4	  46634 #define sk_void_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(void) *)OPENSSL_sk_deep_copy(ossl_check_const_void_sk_t
 I4	  46634 ype(sk), ossl_check_void_copyfunc_type(copyfunc), ossl_check_void_freefunc_type(freefunc)))
 I4	  46635 #define sk_void_set_cmp_func(sk, cmp) ((sk_void_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_void_sk_type(sk), ossl_c
 I4	  46635 heck_void_compfunc_type(cmp)))
 I4	  46636 
 I4	  46637 
 I4	  46638 
 I4	  46639 /*
 I4	  46640  * Per class, we have a STACK of function pointers.
 I4	  46641  */
 I4	  46642 # define CRYPTO_EX_INDEX_SSL              0
 I4	  46643 # define CRYPTO_EX_INDEX_SSL_CTX          1
 I4	  46644 # define CRYPTO_EX_INDEX_SSL_SESSION      2
 I4	  46645 # define CRYPTO_EX_INDEX_X509             3
 I4	  46646 # define CRYPTO_EX_INDEX_X509_STORE       4
 I4	  46647 # define CRYPTO_EX_INDEX_X509_STORE_CTX   5
 I4	  46648 # define CRYPTO_EX_INDEX_DH               6
 I4	  46649 # define CRYPTO_EX_INDEX_DSA              7
 I4	  46650 # define CRYPTO_EX_INDEX_EC_KEY           8
 I4	  46651 # define CRYPTO_EX_INDEX_RSA              9
 I4	  46652 # define CRYPTO_EX_INDEX_ENGINE          10
 I4	  46653 # define CRYPTO_EX_INDEX_UI              11
 I4	  46654 # define CRYPTO_EX_INDEX_BIO             12
 I4	  46655 # define CRYPTO_EX_INDEX_APP             13
 I4	  46656 # define CRYPTO_EX_INDEX_UI_METHOD       14
 I4	  46657 # define CRYPTO_EX_INDEX_RAND_DRBG       15
 I4	  46658 # define CRYPTO_EX_INDEX_DRBG            CRYPTO_EX_INDEX_RAND_DRBG
 I4	  46659 # define CRYPTO_EX_INDEX_OSSL_LIB_CTX    16
 I4	  46660 # define CRYPTO_EX_INDEX_EVP_PKEY        17
 I4	  46661 # define CRYPTO_EX_INDEX__COUNT          18
 I4	  46662 
 I4	  46663 typedef void CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad,
 I4	  46664                            int idx, long argl, void *argp);
 I4	  46665 typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad,
 I4	  46666                              int idx, long argl, void *argp);
 I4	  46667 typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from,
 I4	  46668                            void **from_d, int idx, long argl, void *argp);
 I4	  46669 __owur int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp,
       E	 
 I4	  46670                                    CRYPTO_EX_new *new_func,
 I4	  46671                                    CRYPTO_EX_dup *dup_func,
 I4	  46672                                    CRYPTO_EX_free *free_func);
 I4	  46673 /* No longer use an index. */
 I4	  46674 int CRYPTO_free_ex_index(int class_index, int idx);
 I4	  46675 
 I4	  46676 /*
 I4	  46677  * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 843
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46678  * given class (invokes whatever per-class callbacks are applicable)
 I4	  46679  */
 I4	  46680 int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad);
 I4	  46681 int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to,
 I4	  46682                        const CRYPTO_EX_DATA *from);
 I4	  46683 
 I4	  46684 void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad);
 I4	  46685 
 I4	  46686 /* Allocate a single item in the CRYPTO_EX_DATA variable */
 I4	  46687 int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad,
 I4	  46688                          int idx);
 I4	  46689 
 I4	  46690 /*
 I4	  46691  * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular
 I4	  46692  * index (relative to the class type involved)
 I4	  46693  */
 I4	  46694 int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val);
 I4	  46695 void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx);
 I4	  46696 
 I4	  46697 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  46698 /*
 I4	  46699  * This function cleans up all "ex_data" state. It mustn't be called under
 I4	  46700  * potential race-conditions.
 I4	  46701  */
 I4	  46702 # define CRYPTO_cleanup_all_ex_data() while(0) continue
 I4	  46703 
 I4	  46704 /*
 I4	  46705  * The old locking functions have been removed completely without compatibility
 I4	  46706  * macros. This is because the old functions either could not properly report
 I4	  46707  * errors, or the returned error values were not clearly documented.
 I4	  46708  * Replacing the locking functions with no-ops would cause race condition
 I4	  46709  * issues in the affected applications. It is far better for them to fail at
 I4	  46710  * compile time.
 I4	  46711  * On the other hand, the locking callbacks are no longer used.  Consequently,
 I4	  46712  * the callback management functions can be safely replaced with no-op macros.
 I4	  46713  */
 I4	  46714 #  define CRYPTO_num_locks()            (1)
 I4	  46715 #  define CRYPTO_set_locking_callback(func)
 I4	  46716 #  define CRYPTO_get_locking_callback()         (NULL)
 I4	  46717 #  define CRYPTO_set_add_lock_callback(func)
 I4	  46718 #  define CRYPTO_get_add_lock_callback()        (NULL)
 I4	  46719 
 I4	  46720 /*
 I4	  46721  * These defines where used in combination with the old locking callbacks,
 I4	  46722  * they are not called anymore, but old code that's not called might still
 I4	  46723  * use them.
 I4	  46724  */
 I4	  46725 #  define CRYPTO_LOCK             1
 I4	  46726 #  define CRYPTO_UNLOCK           2
 I4	  46727 #  define CRYPTO_READ             4
 I4	  46728 #  define CRYPTO_WRITE            8
 I4	  46729 
 I4	  46730 /* This structure is no longer used */
 I4	  46731 typedef struct crypto_threadid_st {
 I4	  46732     int dummy;
 I4	  46733 } CRYPTO_THREADID;
 I4	  46734 /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 844
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46735 #  define CRYPTO_THREADID_set_numeric(id, val)
 I4	  46736 #  define CRYPTO_THREADID_set_pointer(id, ptr)
 I4	  46737 #  define CRYPTO_THREADID_set_callback(threadid_func)   (0)
 I4	  46738 #  define CRYPTO_THREADID_get_callback()                (NULL)
 I4	  46739 #  define CRYPTO_THREADID_current(id)
 I4	  46740 #  define CRYPTO_THREADID_cmp(a, b)                     (-1)
 I4	  46741 #  define CRYPTO_THREADID_cpy(dest, src)
 I4	  46742 #  define CRYPTO_THREADID_hash(id)                      (0UL)
 I4	  46743 
 I4	  46744 #  ifndef OPENSSL_NO_DEPRECATED_1_0_0
 I4	  46745 #   define CRYPTO_set_id_callback(func)
 I4	  46746 #   define CRYPTO_get_id_callback()                     (NULL)
 I4	  46747 #   define CRYPTO_thread_id()                           (0UL)
 I4	  46748 #  endif /* OPENSSL_NO_DEPRECATED_1_0_0 */
 I4	  46749 
 I4	  46750 #  define CRYPTO_set_dynlock_create_callback(dyn_create_function)
 I4	  46751 #  define CRYPTO_set_dynlock_lock_callback(dyn_lock_function)
 I4	  46752 #  define CRYPTO_set_dynlock_destroy_callback(dyn_destroy_function)
 I4	  46753 #  define CRYPTO_get_dynlock_create_callback()          (NULL)
 I4	  46754 #  define CRYPTO_get_dynlock_lock_callback()            (NULL)
 I4	  46755 #  define CRYPTO_get_dynlock_destroy_callback()         (NULL)
 I4	  46756 # endif /* OPENSSL_NO_DEPRECATED_1_1_0 */
 I4	  46757 
 I4	  46758 typedef void *(*CRYPTO_malloc_fn)(size_t num, const char *file, int line);
 I4	  46759 typedef void *(*CRYPTO_realloc_fn)(void *addr, size_t num, const char *file,
 I4	  46760                                    int line);
 I4	  46761 typedef void (*CRYPTO_free_fn)(void *addr, const char *file, int line);
 I4	  46762 int CRYPTO_set_mem_functions(CRYPTO_malloc_fn malloc_fn,
 I4	  46763                              CRYPTO_realloc_fn realloc_fn,
 I4	  46764                              CRYPTO_free_fn free_fn);
 I4	  46765 void CRYPTO_get_mem_functions(CRYPTO_malloc_fn *malloc_fn,
 I4	  46766                               CRYPTO_realloc_fn *realloc_fn,
 I4	  46767                               CRYPTO_free_fn *free_fn);
 I4	  46768 
 I4	  46769 void *CRYPTO_malloc(size_t num, const char *file, int line);
 I4	  46770 void *CRYPTO_zalloc(size_t num, const char *file, int line);
 I4	  46771 void *CRYPTO_memdup(const void *str, size_t siz, const char *file, int line);
 I4	  46772 char *CRYPTO_strdup(const char *str, const char *file, int line);
 I4	  46773 char *CRYPTO_strndup(const char *str, size_t s, const char *file, int line);
 I4	  46774 void CRYPTO_free(void *ptr, const char *file, int line);
 I4	  46775 void CRYPTO_clear_free(void *ptr, size_t num, const char *file, int line);
 I4	  46776 void *CRYPTO_realloc(void *addr, size_t num, const char *file, int line);
 I4	  46777 void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num,
 I4	  46778                            const char *file, int line);
 I4	  46779 
 I4	  46780 int CRYPTO_secure_malloc_init(size_t sz, size_t minsize);
 I4	  46781 int CRYPTO_secure_malloc_done(void);
 I4	  46782 void *CRYPTO_secure_malloc(size_t num, const char *file, int line);
 I4	  46783 void *CRYPTO_secure_zalloc(size_t num, const char *file, int line);
 I4	  46784 void CRYPTO_secure_free(void *ptr, const char *file, int line);
 I4	  46785 void CRYPTO_secure_clear_free(void *ptr, size_t num,
 I4	  46786                               const char *file, int line);
 I4	  46787 int CRYPTO_secure_allocated(const void *ptr);
 I4	  46788 int CRYPTO_secure_malloc_initialized(void);
 I4	  46789 size_t CRYPTO_secure_actual_size(void *ptr);
 I4	  46790 size_t CRYPTO_secure_used(void);
 I4	  46791 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 845
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46792 void OPENSSL_cleanse(void *ptr, size_t len);
 I4	  46793 
 I4    X  46794 # ifndef OPENSSL_NO_CRYPTO_MDEBUG
 I4	  46795 /*
 I4	  46796  * The following can be used to detect memory leaks in the library. If
 I4	  46797  * used, it turns on malloc checking
 I4    X  46798  */
 I4    X  46799 # define CRYPTO_MEM_CHECK_OFF     0x0   /* Control only */
 I4    X  46800 # define CRYPTO_MEM_CHECK_ON      0x1   /* Control and mode bit */
 I4    X  46801 # define CRYPTO_MEM_CHECK_ENABLE  0x2   /* Control and mode bit */
 I4    X  46802 # define CRYPTO_MEM_CHECK_DISABLE 0x3   /* Control only */
 I4    X  46803 
 I4    X  46804 void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount);
 I4    X  46805 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  46806 #    define OPENSSL_mem_debug_push(info) \
 I4    X  46807          CRYPTO_mem_debug_push(info, OPENSSL_FILE, OPENSSL_LINE)
 I4    X  46808 #    define OPENSSL_mem_debug_pop() \
 I4    X  46809          CRYPTO_mem_debug_pop()
 I4    X  46810 #  endif
 I4    X  46811 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  46812 OSSL_DEPRECATEDIN_3_0 int CRYPTO_set_mem_debug(int flag);
 I4    X  46813 OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_ctrl(int mode);
 I4    X  46814 OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_debug_push(const char *info,
 I4    X  46815                                                 const char *file, int line);
 I4    X  46816 OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_debug_pop(void);
 I4    X  46817 OSSL_DEPRECATEDIN_3_0 void CRYPTO_mem_debug_malloc(void *addr, size_t num,
 I4    X  46818                                                    int flag,
 I4    X  46819                                                    const char *file, int line);
 I4    X  46820 OSSL_DEPRECATEDIN_3_0 void CRYPTO_mem_debug_realloc(void *addr1, void *addr2,
 I4    X  46821                                                     size_t num, int flag,
 I4    X  46822                                                     const char *file, int line);
 I4    X  46823 OSSL_DEPRECATEDIN_3_0 void CRYPTO_mem_debug_free(void *addr, int flag,
 I4    X  46824                                                  const char *file, int line);
 I4    X  46825 OSSL_DEPRECATEDIN_3_0
 I4    X  46826 int CRYPTO_mem_leaks_cb(int (*cb)(const char *str, size_t len, void *u),
 I4    X  46827                         void *u);
 I4    X  46828 #  endif
 I4    X  46829 #  ifndef OPENSSL_NO_STDIO
 I4    X  46830 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  46831 OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_leaks_fp(FILE *);
 I4    X  46832 #  endif
 I4    X  46833 #  endif
 I4    X  46834 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  46835 OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_leaks(BIO *bio);
 I4    X  46836 # endif
 I4    X  46837 # endif /* OPENSSL_NO_CRYPTO_MDEBUG */
 I4	  46838 
 I4	  46839 /* die if we have to */
 I4	  46840 ossl_noreturn void OPENSSL_die(const char *assertion, const char *file, int line);
       E	 
 I4	  46841 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  46842 #  define OpenSSLDie(f,l,a) OPENSSL_die((a),(f),(l))
 I4	  46843 # endif
 I4	  46844 # define OPENSSL_assert(e) \
 I4	  46845     (void)((e) ? 0 : (OPENSSL_die("assertion failed: " #e, OPENSSL_FILE, OPENSSL_LINE), 1))
 I4	  46846 
 I4	  46847 int OPENSSL_isservice(void);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 846
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46848 
 I4	  46849 void OPENSSL_init(void);
 I4    X  46850 # ifdef OPENSSL_SYS_UNIX
 I4    X  46851 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  46852 OSSL_DEPRECATEDIN_3_0 void OPENSSL_fork_prepare(void);
 I4    X  46853 OSSL_DEPRECATEDIN_3_0 void OPENSSL_fork_parent(void);
 I4    X  46854 OSSL_DEPRECATEDIN_3_0 void OPENSSL_fork_child(void);
 I4    X  46855 #  endif
 I4    X  46856 # endif
 I4	  46857 
 I4	  46858 struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result);
 I4	  46859 int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec);
 I4	  46860 int OPENSSL_gmtime_diff(int *pday, int *psec,
 I4	  46861                         const struct tm *from, const struct tm *to);
 I4	  46862 
 I4	  46863 /*
 I4	  46864  * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal.
 I4	  46865  * It takes an amount of time dependent on |len|, but independent of the
 I4	  46866  * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements
 I4	  46867  * into a defined order as the return value when a != b is undefined, other
 I4	  46868  * than to be non-zero.
 I4	  46869  */
 I4	  46870 int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len);
 I4	  46871 
 I4	  46872 /* Standard initialisation options */
 I4	  46873 # define OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS 0x00000001L
 I4	  46874 # define OPENSSL_INIT_LOAD_CRYPTO_STRINGS    0x00000002L
 I4	  46875 # define OPENSSL_INIT_ADD_ALL_CIPHERS        0x00000004L
 I4	  46876 # define OPENSSL_INIT_ADD_ALL_DIGESTS        0x00000008L
 I4	  46877 # define OPENSSL_INIT_NO_ADD_ALL_CIPHERS     0x00000010L
 I4	  46878 # define OPENSSL_INIT_NO_ADD_ALL_DIGESTS     0x00000020L
 I4	  46879 # define OPENSSL_INIT_LOAD_CONFIG            0x00000040L
 I4	  46880 # define OPENSSL_INIT_NO_LOAD_CONFIG         0x00000080L
 I4	  46881 # define OPENSSL_INIT_ASYNC                  0x00000100L
 I4	  46882 # define OPENSSL_INIT_ENGINE_RDRAND          0x00000200L
 I4	  46883 # define OPENSSL_INIT_ENGINE_DYNAMIC         0x00000400L
 I4	  46884 # define OPENSSL_INIT_ENGINE_OPENSSL         0x00000800L
 I4	  46885 # define OPENSSL_INIT_ENGINE_CRYPTODEV       0x00001000L
 I4	  46886 # define OPENSSL_INIT_ENGINE_CAPI            0x00002000L
 I4	  46887 # define OPENSSL_INIT_ENGINE_PADLOCK         0x00004000L
 I4	  46888 # define OPENSSL_INIT_ENGINE_AFALG           0x00008000L
 I4	  46889 /* FREE:                                     0x00010000L */
 I4	  46890 # define OPENSSL_INIT_ATFORK                 0x00020000L
 I4	  46891 /* OPENSSL_INIT_BASE_ONLY                    0x00040000L */
 I4	  46892 # define OPENSSL_INIT_NO_ATEXIT              0x00080000L
 I4	  46893 /* OPENSSL_INIT flag range 0x03f00000 reserved for OPENSSL_init_ssl() */
 I4	  46894 /* FREE: 0x04000000L */
 I4	  46895 /* FREE: 0x08000000L */
 I4	  46896 /* FREE: 0x10000000L */
 I4	  46897 /* FREE: 0x20000000L */
 I4	  46898 /* FREE: 0x40000000L */
 I4	  46899 /* FREE: 0x80000000L */
 I4	  46900 /* Max OPENSSL_INIT flag value is 0x80000000 */
 I4	  46901 
 I4	  46902 /* openssl and dasync not counted as builtin */
 I4	  46903 # define OPENSSL_INIT_ENGINE_ALL_BUILTIN \
 I4	  46904     (OPENSSL_INIT_ENGINE_RDRAND | OPENSSL_INIT_ENGINE_DYNAMIC \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 847
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4	  46905     | OPENSSL_INIT_ENGINE_CRYPTODEV | OPENSSL_INIT_ENGINE_CAPI | \
 I4	  46906     OPENSSL_INIT_ENGINE_PADLOCK)
 I4	  46907 
 I4	  46908 /* Library initialisation functions */
 I4	  46909 void OPENSSL_cleanup(void);
 I4	  46910 int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
 I4	  46911 int OPENSSL_atexit(void (*handler)(void));
 I4	  46912 void OPENSSL_thread_stop(void);
 I4	  46913 void OPENSSL_thread_stop_ex(OSSL_LIB_CTX *ctx);
 I4	  46914 
 I4	  46915 /* Low-level control of initialization */
 I4	  46916 OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void);
 I4	  46917 # ifndef OPENSSL_NO_STDIO
 I4	  46918 int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings,
 I4	  46919                                      const char *config_filename);
 I4	  46920 void OPENSSL_INIT_set_config_file_flags(OPENSSL_INIT_SETTINGS *settings,
 I4	  46921                                         unsigned long flags);
 I4	  46922 int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings,
 I4	  46923                                     const char *config_appname);
 I4	  46924 # endif
 I4	  46925 void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings);
 I4	  46926 
 I4	  46927 # if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG)
 I4    X  46928 #  if defined(_WIN32)
 I4    X  46929 #   if defined(BASETYPES) || defined(_WINDEF_H)
 I4    X  46930 /* application has to include <windows.h> in order to use this */
 I4    X  46931 typedef DWORD CRYPTO_THREAD_LOCAL;
 I4    X  46932 typedef DWORD CRYPTO_THREAD_ID;
 I4    X  46933 
 I4    X  46934 typedef LONG CRYPTO_ONCE;
 I4    X  46935 #    define CRYPTO_ONCE_STATIC_INIT 0
 I4    X  46936 #   endif
 I4    X  46937 #  else
 I4    X  46938 #   if defined(__TANDEM) && defined(_SPT_MODEL_)
 I4    X  46939 #    define  SPT_THREAD_SIGNAL 1
 I4    X  46940 #    define  SPT_THREAD_AWARE 1
 I4    X  46941 #    include <spthread.h>
 I4    X  46942 #   else
 I4	  46943 #    include <pthread.h>
 I5	  46944 /*
 I5	  46945  *************************************************************************
 I5	  46946  *                                                                       *
 I5	  46947  * Copyright 1995, 2008 Hewlett-Packard Development Company, L.P.        *
 I5	  46948  *                                                                       *
 I5	  46949  * Confidential computer software.  Valid license from HP and/or         *
 I5	  46950  * its subsidiaries required for possession, use, or copying.            *
 I5	  46951  *                                                                       *
 I5	  46952  * Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  *
 I5	  46953  * Computer Software Documentation, and Technical Data for Commercial    *
 I5	  46954  * Items are licensed to the U.S. Government under vendor's standard     *
 I5	  46955  * commercial license.                                                   *
 I5	  46956  *                                                                       *
 I5	  46957  * Neither HP nor any of its subsidiaries shall be liable for technical  *
 I5	  46958  * or editorial errors or omissions contained herein.  The information   *
 I5	  46959  * in this document is provided "as is" without warranty of any kind and *
 I5	  46960  * is subject to change without notice.  The warranties for HP products  *
 I5	  46961  * are set forth in the express limited warranty statements accompanying *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 848
V1.0                                                            14-DEC-2022 18:32:33  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  46962  * such products.  Nothing herein should be construed as constituting an *
 I5	  46963  * additional warranty.                                                  *
 I5	  46964  *                                                                       *
 I5	  46965  *************************************************************************
 I5	  46966  */
 I5	  46967 /*
 I5	  46968  * @(#)$RCSfile: pthread.template.h,v $ $Revision: 1.1.10.27 $ (DEC) $Date: 2006/11/14 00:00:00 $
 I5	  46969  */
 I5	  46970 /*
 I5	  46971  *  FACILITY:
 I5	  46972  *
 I5	  46973  *	DECthreads POSIX 1003.1c
 I5	  46974  *
 I5	  46975  *  ABSTRACT:
 I5	  46976  *
 I5	  46977  *	External definitions for POSIX 1003.1c interfaces
 I5	  46978  *
 I5	  46979  *	General notice: some of the types defined and used in this header are
 I5	  46980  *	not standard POSIX 1003.1c types. The DECthreads specific types are
 I5	  46981  *	generally used instead of "void *" and "long" where pointer size
 I5	  46982  *	#pragma declarations are necessary to support the OpenVMS Alpha and
 I5	  46983  *	IA64 64-bit programming environments. (And in a few other cases where
 I5	  46984  *	it's convenient.) These types should not present any obstacle to
 I5	  46985  *	programs coded using the standard types. The "addon" types are
 I5	  46986  *	distinguished by naming convention -- they begin with "__pthread" and
 I5	  46987  *	the remainder appears in mixed-case without punctuation. For example,
 I5	  46988  *	"__pthreadLongAddr_t" for "void *" and "__pthreadLongUint_t" for
 I5	  46989  *	"unsigned long".
 I5	  46990  *
 I5	  46991  *	This header file contains extensive comments regarding the structures
 I5	  46992  *	and options. Please read them carefully before relying upon any
 I5	  46993  *	undocumented features -- they're undocumented for a reason! We want
 I5	  46994  *	you to be able to take advantage of them where appropriate, but you
 I5	  46995  *	must also understand the restrictions and risks.
 I5	  46996  *
 I5	  46997  *  AUTHORS:
 I5	  46998  *
 I5	  46999  *	Dave Butenhof
 I5	  47000  *
 I5	  47001  *  CREATION DATE:
 I5	  47002  *
 I5	  47003  *	January 1995
 I5	  47004  *
 I5	  47005  *  MODIFIED BY:
 I5	  47006  *
 I5	  47007  *	Dave Butenhof
 I5	  47008  *	Paul Clark
 I5	  47009  *	Steve Johnson
 I5	  47010  *	Richard Love
 I5	  47011  *	Peter Portante
 I5	  47012  *	Webb Scales
 I5	  47013  *	Brian Silver
 I5	  47014  *	Mark Simons
 I5	  47015  *	Tom Dahl
 I5	  47016  *	Greg Jordan
 I5	  47017  *
 I5	  47018  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 849
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  47020 #ifndef _PTHREAD_HEADER
 I5	  47021 # define _PTHREAD_HEADER
 I5	  47022 #pragma __nostandard
 I5	  47023 
 I5	  47024 /******************************************************************************
 I5	  47025  *
 I5	  47026  * NOTICE: Temporary support for POSIX 1003.4a/D4 migration
 I5	  47027  * --------------------------------------------------------
 I5	  47028  *
 I5	  47029  * Support 1003.4a/D4 ("DCE threads") source migration mode by allowing
 I5	  47030  * programmer to cause #include <pthread.h> to define the old interfaces (with
 I5	  47031  * modified names) if the _PTHREAD_USE_D4 macro is defined. This is equivalent
 I5	  47032  * to #include <pthread_d4.h> -- the remainder of this header file is not
 I5	  47033  * processed.
 I5	  47034  *
 I5	  47035  * In practice, the easiest way to do this is to continue to build threaded
 I5	  47036  * code using the "-threads" switch, which will define _PTHREAD_USE_D4:
 I5	  47037  *
 I5	  47038  *	cc -threads foo.c
 I5	  47039  *
 I5	  47040  * Or, you can invoke the source migration mode by the following sequence
 I5	  47041  * within your .c or .h files:
 I5	  47042  *
 I5	  47043  *	#define _PTHREAD_USE_D4
 I5	  47044  *	#include <pthread.h>
 I5	  47045  *
 I5	  47046  * Or, finally, by modifying your Makefile (or manual build sequence) to use
 I5	  47047  * the -D compiler option. (Note: you must ALWAYS define _REENTRANT when
 I5	  47048  * compiling threaded or thread-safe code on Tru64 UNIX. Using "cc -threads"
 I5	  47049  * or "cc -pthread" does this automatically.)
 I5	  47050  *
 I5	  47051  *	cc -D_PTHREAD_USE_D4 -D_REENTRANT foo.c
 I5	  47052  *
 I5	  47053  * On OpenVMS, use the #define solution, or the following DECC command (it is
 I5	  47054  * not necessary to define _REENTRANT on OpenVMS):
 I5	  47055  *
 I5	  47056  *	cc /define=_PTHREAD_USE_D4 foo.c
 I5	  47057  *
 I5	  47058  * The POSIX 1003.4a/D4 migration support may be retired (this clause will be
 I5	  47059  * removed from pthread.h!) in the next major release of each operating system
 I5	  47060  * (OpenVMS and Tru64 UNIX) that occurs at least one year after the initial
 I5	  47061  * release of the POSIX 1003.1c interfaces in Tru64 UNIX 4.0 and OpenVMS 7.0.
 I5	  47062  *
 I5	  47063  *****************************************************************************/
 I5	  47064 
 I5    X  47065 #if defined (_PTHREAD_USE_D4) || defined (PTHREAD_USE_D4)
 I5    X  47066 # if defined (__unix__) || defined (__unix) || defined (unix)
 I5    X  47067 #  include <dce/pthread_d4.h>
 I5    X  47068 # else
 I5    X  47069 #  include <pthread_d4.h>
 I5    X  47070 # endif
 I5    X  47071 #else
 I5	  47072 
 I5	  47073 /*
 I5	  47074  * Define a symbol which client code can test to determine whether the
 I5	  47075  * underlying threads package is DECthreads or not. This is especially
 I5	  47076  * important to clients of the POSIX 1003.1c interface who may want to use

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 850
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  47077  * DECthreads extensions, such as the TEB, global lock and non-real-time
 I5	  47078  * scheduling policies while maintaining portability to a "vanilla"
 I5	  47079  * 1003.1c-1995 implementation.
 I5	  47080  *
 I5	  47081  * The DECthreads version is encoded in this number. The version is normally
 I5	  47082  * in the form "Vvv.bb-lll" where "vv" represents the major version, "bb"
 I5	  47083  * represents the baselevel (which increases continuously regardless of
 I5	  47084  * version), and "lll" is a build level that increases in each DECthreads
 I5	  47085  * project build within a baselevel.
 I5	  47086  *
 I5	  47087  * Higher numeric values are always more recent versions. So to check for
 I5	  47088  * support of a feature that appeared in DECthreads V3.13-100, you could check
 I5	  47089  * whether the symbol is > 212100L.
 I5	  47090  */
 I5	  47091 
 I5    X  47092 #ifdef _DECTHREADS_VERSION
 I5    X  47093 # undef _DECTHREADS_VERSION
 I5    X  47094 #endif
 I5	  47095 
 I5	  47096 #define _DECTHREADS_VERSION 322095
 I5	  47097 
 I5	  47098 #ifndef _DECTHREADS_
 I5	  47099 # define _DECTHREADS_ _DECTHREADS_VERSION
 I5	  47100 #endif
 I5	  47101 
 I5	  47102 /******************************************************************************
 I5	  47103  *
 I5	  47104  * NOTICE: inline function performance vs. binary compatibility
 I5	  47105  * ------------------------------------------------------------
 I5	  47106  *
 I5	  47107  * This version of pthread.h supports the capability of generating inlined
 I5	  47108  * code on OpenVMS (Alpha and IA64) and Tru64 UNIX for improved performance on
 I5	  47109  * some critical operations -- especially mutex synchronization and reading
 I5	  47110  * thread specific data.
 I5	  47111  *
 I5	  47112  * There is a balance between performance and maintainability, however. Inline
 I5	  47113  * code sequences cannot be transparently fixed by future versions of
 I5	  47114  * DECthreads. Thus, if a bug is found in the inlined code and later fixed,
 I5	  47115  * programs using the inlined sequences must be recompiled to acquire the fix.
 I5	  47116  * Additionally changes may be made to inlined sequences to improve
 I5	  47117  * reliability or performance in the future. Digital cannot guarantee that the
 I5	  47118  * new sequences will be binary compatible with the old sequences, and
 I5	  47119  * therefore any such changes may also require recompilation.
 I5	  47120  *
 I5	  47121  * By default, this version of pthread.h will generate calls to carefully
 I5	  47122  * tuned assembly code functions within DECthreads that implement the same
 I5	  47123  * algorithm as the inline asm() code sequences. This provides safety at the
 I5	  47124  * expense of performance by adding the overhead of a call and some
 I5	  47125  * unavoidable procedure prolog and epilog code. If you need the performance
 I5	  47126  * advantage of avoiding those calls, AND ARE WILLING TO ACCEPT THE RISK THAT
 I5	  47127  * YOU WILL NEED TO RECOMPILE LATER, define the preprocessor symbol
 I5	  47128  * _PTHREAD_USE_INLINE before including this header file; either by compiling
 I5	  47129  * with
 I5	  47130  *
 I5	  47131  *	cc -D_PTHREAD_USE_INLINE
 I5	  47132  *
 I5	  47133  * or by using "#define" before including this header file:

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 851
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  47134  *
 I5	  47135  *	#define _PTHREAD_USE_INLINE
 I5	  47136  *	#include <pthread.h>
 I5	  47137  *
 I5	  47138  * Although _PTHREAD_USE_INLINE is made available for experimentation and
 I5	  47139  * where the need for performance is extreme, Digital STRONGLY RECOMMENDS that
 I5	  47140  * use of this option be avoided.
 I5	  47141  *
 I5	  47142  *****************************************************************************/
 I5	  47143 
 I5	  47144 /******************************************************************************
 I5	  47145  *
 I5	  47146  * NOTICE: DECthreads tracing and static mutex initialization
 I5	  47147  * -------------------------------------------------------------------------
 I5	  47148  *
 I5	  47149  * When a mutex is statically initialized using PTHREAD_MUTEX_INITIALIZER that
 I5	  47150  * mutex is normally set up so that the first attempt to lock the mutex can be
 I5	  47151  * recorded for Visual Threads or another trace client.
 I5	  47152  *
 I5	  47153  * If the preprocessor symbol _PTHREAD_NOMETER_STATIC is defined when this
 I5	  47154  * header file is included, statically initialized mutexes will be set up so
 I5	  47155  * that this extra overhead will occur only if the calling thread needs to
 I5	  47156  * wait for the mutex. That is, statically initialized mutex operations	 
 I5	  47157  * will not be recorded for Visual Threads until a thread blocks on that
 I5	  47158  * mutex.
 I5	  47159  *
 I5	  47160  * Normally the minor overhead of this single "extra" call on the first mutex
 I5	  47161  * access is acceptable in exchange for tracing support. For rare cases where
 I5	  47162  * that overhead is not acceptable, compile with -D_PTHREAD_NOMETER_STATIC.
 I5	  47163  *
 I5	  47164  *****************************************************************************/
 I5	  47165 
 I5	  47166 /******************************************************************************
 I5	  47167  *
 I5	  47168  * NOTICE: POSIX 1003.1c support
 I5	  47169  * -----------------------------
 I5	  47170  *
 I5	  47171  * The POSIX 1003.1c-1995 standard was formally approved at the June 1995
 I5	  47172  * meeting of the IEEE Standards Board. The correct configuration test macro
 I5	  47173  * for strictly conforming POSIX 1003.1c-1995 applications is
 I5	  47174  *
 I5	  47175  *	#define _POSIX_C_SOURCE 199506L
 I5	  47176  *
 I5	  47177  * The POSIX standard requires that, for portability, the application must
 I5	  47178  * define _POSIX_C_SOURCE within each compilation unit, for example, by
 I5	  47179  * compiling with -D_POSIX_C_SOURCE=199506L.
 I5	  47180  *
 I5	  47181  * As of Tru64 UNIX V5.1A, this header also supports full compatiblity with
 I5	  47182  * The Single UNIX Specification, Version 2, also known as UNIX 98, as
 I5	  47183  * specified by CAE Specification Version 5 (XSH5). Application conformance
 I5	  47184  * with this specification is designated by defining the preprocessor symbol
 I5	  47185  * _XOPEN_SOURCE to a value of 500, preferably via -D_XOPEN_SOURCE=500. In
 I5	  47186  * this case, defining _POSIX_C_SOURCE to 199506L is optional.
 I5	  47187  *
 I5	  47188  * The Tru64 UNIX <standards.h> will default _POSIX_C_SOURCE to the latest
 I5	  47189  * POSIX 1003.1 revision supported by the operating system (currently
 I5	  47190  * 1003.1c-1995) if no other confining standard definitions are already

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 852
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  47191  * defined, and will allow all XSH5 extensions. Unless the programmer
 I5	  47192  * specifies a specific restriction, the programmer will have access to all
 I5	  47193  * standards that aren't inherently incompatible.
 I5	  47194  *
 I5	  47195  * Compiling with some other standards modes will disable POSIX 1003.1c-1995
 I5	  47196  * and XSH5 support, as the thread interfaces violate name space rules
 I5	  47197  * required by those standards. For example, defining any of the symbols
 I5	  47198  * _POSIX_SOURCE (1003.1-1990), _POSIX_C_SOURCE=199309L (1003.1b-1993),
 I5	  47199  * _XOPEN_SOURCE (with no value or with a value less than 500), or
 I5	  47200  * _XOPEN_SOURCE_EXTENDED (UNIX95, which requires 1003.1-1990), or
 I5	  47201  * _ANSI_C_SOURCE (ANSI C) will disable thread support. A program built with
 I5	  47202  * any of these options that includes <pthread.h> will not compile properly,
 I5	  47203  * as <sys/types.h> will fail to define types and symbols required by
 I5	  47204  * pthread.h.
 I5	  47205  *
 I5	  47206  * Note that The Single UNIX Specification, Version 2 provides that defining
 I5	  47207  * _XOPEN_SOURCE=500 (XSH5) overrides any "inappropriate" settings of
 I5	  47208  * _POSIX_C_SOURCE, _POSIX_SOURCE, or _ANSI_C_SOURCE.
 I5	  47209  *
 I5	  47210  * The <unistd.h> header always defines _POSIX_VERSION to the latest POSIX.1
 I5	  47211  * revision supported by the system -- 199506L (1003.1c-1995) for Tru64 UNIX
 I5	  47212  * 4.0. A portable program can use this symbol (or specific POSIX feature test
 I5	  47213  * macros such as _POSIX_THREADS, also defined in <unistd.h>) to determine
 I5	  47214  * whether the system supports POSIX 1003.1c-1995. (However, beware that
 I5	  47215  * implementations of early drafts of 1003.1c, such as "DCE threads", which
 I5	  47216  * supported 1003.4a/D4, may also define _POSIX_THREADS, but will not define
 I5	  47217  * _POSIX_VERSION to 199506L.)
 I5	  47218  *
 I5	  47219  *****************************************************************************/
 I5	  47220 
 I5    X  47221 #if defined (__DECCXX)
 I5    X  47222 # define _PTHREAD_ENV_CXX
 I5    X  47223 # define _PTHREAD_ENV_DECCXX
 I5    X  47224 #elif defined (__cplusplus)
 I5    X  47225 # define _PTHREAD_ENV_CXX
 I5    X  47226 #elif defined (__DECC) || defined (__decc)
 I5	  47227 # define _PTHREAD_ENV_DECC
 I5    X  47228 #elif defined (__INTEL_COMPILER)
 I5    X  47229 # define _PTHREAD_ENV_INTELC
 I5    X  47230 #endif
 I5	  47231 
 I5	  47232 #if defined (VMS) || defined (__VMS) || defined (__vms) || defined (vms)
 I5	  47233 # define _PTHREAD_ENV_VMS
 I5	  47234 # define _POSIX_THREAD_PROCESS_SHARED  /* Typically in unistd.h */
 I5    X  47235 #elif defined (__unix__) || defined (__unix) || defined (unix)
 I5    X  47236 # define _PTHREAD_ENV_UNIX
 I5    X  47237 #endif
 I5	  47238 
 I5    X  47239 #if defined (__alpha) || defined (__ALPHA)
 I5    X  47240 # define _PTHREAD_ENV_ALPHA
 I5    X  47241 #elif defined (__ia64) || defined (__ia64__)
 I5	  47242 # define _PTHREAD_ENV_IA64
 I5    X  47243 #else
 I5    X  47244 # error <pthread.h>: unsupported hardware architecture.
 I5    X  47245 #endif
 I5	  47246 
 I5	  47247 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 853
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  47248  * Protect libpthread.so against preemption of libc entry points.
 I5	  47249  */
 I5    X  47250 #if defined (_PTHREAD_ENV_UNIX) && defined (_PTHREAD_CORE_BUILD_)
 I5    X  47251 # include <thd_libc_protect.h>
 I5    X  47252 #endif
 I5	  47253 
 I5    X  47254 #ifdef _PTHREAD_ENV_CXX
 I5    X  47255     extern "C" {
 I5    X  47256 #endif
 I5	  47257 
 I5	  47258 /*
 I5	  47259  * Make sure we are included with _REENTRANT defined. This helps to catch
 I5	  47260  * cases where the wrong per-thread errno value will be used.
 I5	  47261  *
 I5	  47262  * You should always define _REENTRANT on the command line, usually by using
 I5	  47263  * "cc -pthread" or "cxx -pthread", to be sure that it will be available for
 I5	  47264  * all header files.
 I5	  47265  */
 I5    X  47266 #ifdef _PTHREAD_ENV_UNIX
 I5    X  47267 # ifndef _REENTRANT
 I5    X  47268 #  error "Please compile the module including pthread.h with -pthread"
 I5    X  47269 # endif
 I5    X  47270 #endif
 I5	  47271 
 I5    X  47272 #ifdef _PTHREAD_ENV_UNIX
 I5    X  47273 # include <standards.h>
 I5    X  47274 # include <unistd.h>
 I5    X  47275 #endif
 I5	  47276 
 I5    X  47277 #include <stddef.h>
 I5	  47278 
 I5    X  47279 #if defined (_PTHREAD_ENV_UNIX) && !defined (_PTHREAD_CORE_BUILD_)
 I5    X  47280 # define _PTHREAD_EXC_INCL_CLEAN
 I5    X  47281 #endif
 I5	  47282 #include <pthread_exception.h>
 I6	  47283 /*
 I6	  47284  *************************************************************************
 I6	  47285  *                                                                       *
 I6	  47286  * Copyright 1989, 2008 Hewlett-Packard Development Company, L.P.        *
 I6	  47287  *                                                                       *
 I6	  47288  * Confidential computer software.  Valid license from HP and/or         *
 I6	  47289  * its subsidiaries required for possession, use, or copying.            *
 I6	  47290  *                                                                       *
 I6	  47291  * Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  *
 I6	  47292  * Computer Software Documentation, and Technical Data for Commercial    *
 I6	  47293  * Items are licensed to the U.S. Government under vendor's standard     *
 I6	  47294  * commercial license.                                                   *
 I6	  47295  *                                                                       *
 I6	  47296  * Neither HP nor any of its subsidiaries shall be liable for technical  *
 I6	  47297  * or editorial errors or omissions contained herein.  The information   *
 I6	  47298  * in this document is provided "as is" without warranty of any kind and *
 I6	  47299  * is subject to change without notice.  The warranties for HP products  *
 I6	  47300  * are set forth in the express limited warranty statements accompanying *
 I6	  47301  * such products.  Nothing herein should be construed as constituting an *
 I6	  47302  * additional warranty.                                                  *
 I6	  47303  *                                                                       *
 I6	  47304  *************************************************************************

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 854
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  47305  */
 I6	  47306 /*
 I6	  47307  * @(#)$RCSfile: pthread_exception.h,v $ $Revision: 1.1.37.17 $ (DEC) $Date: 2004/08/25 15:43:07 $
 I6	  47308  */
 I6	  47309 /*
 I6	  47310  *  FACILITY:
 I6	  47311  *
 I6	  47312  *	DECthreads core
 I6	  47313  *
 I6	  47314  *  FILENAME:
 I6	  47315  *
 I6	  47316  *	pthread_exception.h
 I6	  47317  *
 I6	  47318  *  ABSTRACT:
 I6	  47319  *
 I6	  47320  *	Header file for exception handling in C
 I6	  47321  *
 I6	  47322  *  AUTHORS:
 I6	  47323  *
 I6	  47324  *	Eric Roberts
 I6	  47325  *	Bob Conti
 I6	  47326  *	Dave Butenhof
 I6	  47327  *
 I6	  47328  *  CREATION DATE:
 I6	  47329  *
 I6	  47330  *	15 March 1989
 I6	  47331  *
 I6	  47332  *  MODIFIED BY:
 I6	  47333  *
 I6	  47334  *	Dave Butenhof
 I6	  47335  *	Bob Conti
 I6	  47336  *	Paul Curtin
 I6	  47337  *	Webb Scales
 I6	  47338  *	Peter Portante
 I6	  47339  *	Brian Silver
 I6	  47340  *	Mark Simons
 I6	  47341  *	Richard Love
 I6	  47342  *	Tom Dahl
 I6	  47343  *
 I6	  47344  *  LAST MODIFICATION DATE:
 I6	  47345  *
 I6	  47346  *	21 October 1999
 I6	  47347  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 855
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  47349 
 I6	  47350 /*
 I6	  47351  * This header file consists of two sections. The first is ANSI/POSIX
 I6	  47352  * "clean", with no names disallowed by the standards (all names either begin
 I6	  47353  * with "_" and a capital letter, or "__" and a lower case letter, or use the
 I6	  47354  * POSIX 1003.1c-1995 "extension" namespace "PTHREAD" prefix with "_NP"
 I6	  47355  * suffix or "pthread" prefix with "_np" suffix). The second contains the
 I6	  47356  * "namespace-polluting" (non-standard) definitions that we've traditionally
 I6	  47357  * documented for client use -- TRY, ENDTRY, and so forth. The two sections
 I6	  47358  * each have separate "ifndef" tests, which allows this header file to be
 I6	  47359  * included twice by the same module (once for the clean definitions and once
 I6	  47360  * for the polluting definitions) and have everything work out nicely. Note
 I6	  47361  * that <pthread.h> always includes this header, so a separate include of
 I6	  47362  * <pthread_exception.h> after <pthread.h> will automatically activate the
 I6	  47363  * "unclean" definitions. (A strictly conforming standard application must not
 I6	  47364  * do this, since <pthread_exception.h> is not defined by any standard.)
 I6	  47365  *
 I6	  47366  * Note that on Tru64 UNIX you cannot, currently, use this header AND
 I6	  47367  * <c_excpt.h> (for native compiler try/except/finally handling) unless you
 I6	  47368  * compile with _OSF_SOURCE defined. This is because <c_excpt.h> is not
 I6	  47369  * "namespace clean" for POSIX or XOPEN, and (because this header requires
 I6	  47370  * definitions from <c_excpt.h>) in strict standards mode we need to "fake" a
 I6	  47371  * definition that will conflict with the actual definition in
 I6	  47372  * <c_excpt.h>. This is OK, since, by default, all programs will be built with
 I6	  47373  * _OSF_SOURCE defined (by <standards.h>), and a POSIX/XOPEN conforming
 I6	  47374  * program (defining _XOPEN_SOURCE=500 or _POSIX_C_SOURCE=199506L) should not
 I6	  47375  * be including non-standard headers like <c_excpt.h>. If you must compile
 I6	  47376  * with c89, which automatically defines _XOPEN_SOURCE, but really don't wish
 I6	  47377  * to require a strict XOPEN namespace, you can add "-D_OSF_SOURCE" to the c89
 I6	  47378  * command to avoid this problem.
 I6	  47379  */
 I6	  47380 #ifndef _PTHREAD_EXCEPTION_CLEAN
 I6	  47381 # define _PTHREAD_EXCEPTION_CLEAN
 I6	  47382 
 I6    X  47383 # ifdef __cplusplus
 I6    X  47384     extern "C" {
 I6    X  47385 # endif
 I6	  47386 
 I6	  47387 /*
 I6	  47388  *  INCLUDE FILES
 I6	  47389  */
 I6	  47390 
 I6    X  47391 # if defined (__DECCXX)
 I6    X  47392 #  define _PTHREAD_EXC_CXX
 I6    X  47393 #  define _PTHREAD_EXC_DECCXX
 I6    X  47394 # elif defined (__cplusplus)
 I6    X  47395 #  define _PTHREAD_EXC_CXX
 I6    X  47396 # elif defined (__DECC) || defined (__decc)
 I6	  47397 #  define _PTHREAD_EXC_DECC
 I6    X  47398 # elif defined (__INTEL_COMPILER)
 I6    X  47399 #  define _PTHREAD_EXC_INTELC
 I6    X  47400 # endif
 I6	  47401 
 I6	  47402 # if defined (VMS) || defined (__VMS) || defined (__vms) || defined (vms)
 I6	  47403 #  define _PTHREAD_EXC_VMS
 I6    X  47404 # elif defined (__unix__) || defined (__unix) || defined (unix)
 I6    X  47405 #  define _PTHREAD_EXC_UNIX

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 856
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6    X  47406 # endif
 I6	  47407 
 I6    X  47408 # if defined (__alpha) || defined (__ALPHA)
 I6    X  47409 #  define _PTHREAD_EXC_ALPHA
 I6    X  47410 # elif defined (__ia64__)
 I6	  47411 #  define _PTHREAD_EXC_IA64
 I6	  47412 # endif
 I6	  47413 
 I6	  47414 # if defined (_PTHREAD_EXC_DECC) && defined (_PTHREAD_EXC_VMS)
 I6	  47415 #  pragma __extern_model __save
 I6	  47416 #  pragma __extern_model __strict_refdef
 I6	  47417 #  define _PTHREAD_EXC_IMPORT_	extern
 I6	  47418 #  include <builtins.h>
 I7	  47419 #ifndef __BUILTINS_LOADED
 I7	  47420 #define __BUILTINS_LOADED 1
 I7	  47421 /****************************************************************************
 I7	  47422 **
 I7	  47423 **  <builtins.h> - Prototypes for platform specific builtins
 I7	  47424 **
 I7	  47425 *****************************************************************************
 I7	  47426 **  Header is nonstandard
 I7	  47427 *****************************************************************************
 I7	  47428 */
 I7	  47429 /* ************************************************************************* */
 I7	  47430 /* *                                                                       * */
 I7	  47431 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I7	  47432 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I7	  47433 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I7	  47434 /* * prior written permission of HPE.                                      * */
 I7	  47435 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I7	  47436 /* *                                                                       * */
 I7	  47437 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I7	  47438 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I7	  47439 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I7	  47440 /* * the prior written permission of VMS Software, Inc.                    * */
 I7	  47441 /* * Copyright 2020 VMS Software, Inc.                                     * */
 I7	  47442 /* *                                                                       * */
 I7	  47443 /* ************************************************************************* */
 I7	  47444 
 I7	  47445 #pragma   __nostandard  
 I7    X  47446 #include <decc$types.h>
 I7    X  47447 #ifdef __cplusplus
 I7    X  47448     extern "C" {
 I7    X  47449 #endif
 I7	  47450 
 I7    X  47451 #if __INITIAL_POINTER_SIZE
 I7    X  47452 #   pragma __pointer_size __save
 I7    X  47453 #   pragma __pointer_size 32
 I7    X  47454 #endif
 I7	  47455 
 I7	  47456 
 I7	  47457 /*
 I7	  47458 **  This header file is divided into the following six sections:
 I7	  47459 **
 I7	  47460 **     OpenVMS ia64 - Just those builtins unique to ia64
 I7	  47461 **     OpenVMS x86-64 - Just those builtins unique to x86-64
 I7	  47462 **     OpenVMS ia64 or x86-64 - Items shared between ia64 and x86-64

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 857
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47463 **     OpenVMS Alpha, ia64, x86-64 (some produce diagnostics on ia64 and x86-64 as marked)
 I7	  47464 **     OpenVMS Alpha, ia64, x86-64 with __X_FLOAT (some produce diagnostics as marked)
 I7	  47465 **     OpenVMS VAX DEC C Only (No DEC C++)
 I7	  47466 */
 I7	  47467 
 I7	  47468 /*
 I7	  47469 **  Parameters that must be specified as compile-time integer constants.
 I7	  47470 **  Although this typedef does not actually behave differently from
 I7	  47471 **  "plain int" for a parameter, it suggests the intent - the builtin
 I7	  47472 **  functions themselves will enforce the use of a compile-time
 I7	  47473 **  constant for parameters that require it.
 I7	  47474 */
 I7	  47475     typedef const int __Integer_Constant;
 I7	  47476 
 I7	  47477 /************************************************************************/
 I7	  47478 /**     OpenVMS ia64 - Just those builtins unique to ia64              **/
 I7	  47479 /************************************************************************/
 I7	  47480 
 I7	  47481 #if defined(__ia64) /* Verified for x86, John Reagan */
 I7	  47482 
 I7	  47483 /*
 I7	  47484 **  Selected OS Related Itanium Built-ins defined by Intel's <ia64intrin.h>
 I7	  47485 */
 I7	  47486 /*
 I7	  47487 ** The __whichReg and __whichIndReg parameters are values defined
 I7	  47488 ** below.
 I7	  47489 */
 I7	  47490 /**
 I7	  47491 *** Copyright (C) 1985-2001 Intel Corporation.  All rights reserved.
 I7	  47492 ***
 I7	  47493 *** The information and source code contained herein is the exclusive
 I7	  47494 *** property of Intel Corporation and may not be disclosed, examined
 I7	  47495 *** or reproduced in whole or in part without explicit written authorization
 I7	  47496 *** from the company.
 I7	  47497 ***
 I7	  47498 **/
 I7	  47499 
 I7	  47500 #ifndef _IA64REGS_H_INCLUDED
 I7	  47501 #define _IA64REGS_H_INCLUDED
 I7	  47502 
 I7	  47503     /* */
 I7	  47504     /* Register Names for getReg() and setReg() */
 I7	  47505     /* */
 I7	  47506 
 I7	  47507     /* Special Registers */
 I7	  47508 
 I7	  47509 #define _IA64_REG_IP		1016	/* getReg only */
 I7	  47510 #define _IA64_REG_PSR_UM        1017
 I7	  47511 #define _IA64_REG_PSR		1019
 I7	  47512 #define _IA64_REG_PSR_L		1019
 I7	  47513 
 I7	  47514     /* General Integer Registers */
 I7	  47515 
 I7	  47516 #define _IA64_REG_GP	1025	/* R1 */
 I7	  47517 #define _IA64_REG_SP	1036	/* R12 */
 I7	  47518 #define _IA64_REG_TP	1037	/* R13 */
 I7	  47519 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 858
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47520     /* Application Registers */
 I7	  47521 
 I7	  47522 #define _IA64_REG_AR_KR0	3072
 I7	  47523 #define _IA64_REG_AR_KR1	3073
 I7	  47524 #define _IA64_REG_AR_KR2	3074
 I7	  47525 #define _IA64_REG_AR_KR3	3075
 I7	  47526 #define _IA64_REG_AR_KR4	3076
 I7	  47527 #define _IA64_REG_AR_KR5	3077
 I7	  47528 #define _IA64_REG_AR_KR6	3078
 I7	  47529 #define _IA64_REG_AR_KR7	3079
 I7	  47530 #define _IA64_REG_AR_RSC	3088
 I7	  47531 #define _IA64_REG_AR_BSP	3089
 I7	  47532 #define _IA64_REG_AR_BSPSTORE	3090
 I7	  47533 #define _IA64_REG_AR_RNAT	3091
 I7	  47534 #define _IA64_REG_AR_FCR	3093
 I7	  47535 #define _IA64_REG_AR_EFLAG	3096
 I7	  47536 #define _IA64_REG_AR_CSD	3097
 I7	  47537 #define _IA64_REG_AR_SSD	3098
 I7	  47538 #define _IA64_REG_AR_CFLAG	3099
 I7	  47539 #define _IA64_REG_AR_FSR	3100
 I7	  47540 #define _IA64_REG_AR_FIR	3101
 I7	  47541 #define _IA64_REG_AR_FDR	3102
 I7	  47542 #define _IA64_REG_AR_CCV	3104
 I7	  47543 #define _IA64_REG_AR_UNAT	3108
 I7	  47544 #define _IA64_REG_AR_FPSR	3112
 I7	  47545 #define _IA64_REG_AR_ITC	3116
 I7	  47546 #define _IA64_REG_AR_RUC	3117
 I7	  47547 #define _IA64_REG_AR_PFS	3136
 I7	  47548 #define _IA64_REG_AR_LC	3137
 I7	  47549 #define _IA64_REG_AR_EC	3138
 I7	  47550 
 I7	  47551     /* Control Registers */
 I7	  47552 
 I7	  47553 #define _IA64_REG_CR_DCR	4096
 I7	  47554 #define _IA64_REG_CR_ITM	4097
 I7	  47555 #define _IA64_REG_CR_IVA	4098
 I7	  47556 #define _IA64_REG_CR_PTA	4104
 I7	  47557 #define _IA64_REG_CR_IPSR	4112
 I7	  47558 #define _IA64_REG_CR_ISR	4113
 I7	  47559 #define _IA64_REG_CR_IIP	4115
 I7	  47560 #define _IA64_REG_CR_IFA	4116
 I7	  47561 #define _IA64_REG_CR_ITIR	4117
 I7	  47562 #define _IA64_REG_CR_IIPA	4118
 I7	  47563 #define _IA64_REG_CR_IFS	4119
 I7	  47564 #define _IA64_REG_CR_IIM	4120
 I7	  47565 #define _IA64_REG_CR_IHA	4121
 I7	  47566 #define _IA64_REG_CR_IIB0	4122
 I7	  47567 #define _IA64_REG_CR_IIB1	4123
 I7	  47568 #define _IA64_REG_CR_LID	4160
 I7	  47569 #define _IA64_REG_CR_IVR	4161	/* getReg only */
 I7	  47570 #define _IA64_REG_CR_TPR	4162
 I7	  47571 #define _IA64_REG_CR_EOI	4163
 I7	  47572 #define _IA64_REG_CR_IRR0	4164	/* getReg only */
 I7	  47573 #define _IA64_REG_CR_IRR1	4165	/* getReg only */
 I7	  47574 #define _IA64_REG_CR_IRR2	4166	/* getReg only */
 I7	  47575 #define _IA64_REG_CR_IRR3	4167	/* getReg only */
 I7	  47576 #define _IA64_REG_CR_ITV	4168

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 859
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47577 #define _IA64_REG_CR_PMV	4169
 I7	  47578 #define _IA64_REG_CR_CMCV	4170
 I7	  47579 #define _IA64_REG_CR_LRR0	4176
 I7	  47580 #define _IA64_REG_CR_LRR1	4177
 I7	  47581 
 I7	  47582     /* Indirect Registers for getIndReg() and setIndReg() */
 I7	  47583 
 I7	  47584 #define _IA64_REG_INDR_CPUID	9000	/* getIndReg only */
 I7	  47585 #define _IA64_REG_INDR_DBR	9001
 I7	  47586 #define _IA64_REG_INDR_IBR	9002
 I7	  47587 #define _IA64_REG_INDR_PKR	9003
 I7	  47588 #define _IA64_REG_INDR_PMC	9004
 I7	  47589 #define _IA64_REG_INDR_PMD	9005
 I7	  47590 #define _IA64_REG_INDR_RR	9006
 I7	  47591 
 I7	  47592 
 I7	  47593 #endif /* _IA64REGS_H_INCLUDED */
 I7	  47594 
 I7	  47595     void __dsrlz(void);
 I7	  47596     void __fc(__int64 __address);
 I7	  47597     void __fci(__int64 __address);
 I7	  47598     void __fwb(void);
 I7	  47599     void __invalat(void);
 I7	  47600     void __invala(void);	/* alternate spelling of __invalat */
 I7	  47601     void __isrlz(void);
 I7	  47602     void __itcd(__int64 __address);
 I7	  47603     void __itci(__int64 __address);
 I7	  47604     int __prober(__int64 __address, unsigned int __mode);
 I7	  47605     int __probew(__int64 __address, unsigned int __mode);
 I7	  47606 
 I7	  47607 
 I7	  47608 /*
 I7	  47609 ** The __whichTransReg param selects an Address Translation Register,
 I7	  47610 ** GEM_TS_REG_K_AR[0..127] and is an integer from 0-127 like
 I7	  47611 ** whichFloatReg (GEM_TS_REG_K_F[0..127]) and whichGeneralReg
 I7	  47612 ** (GEM_TS_REG_K_R[0..127]).
 I7	  47613 ** 
 I7	  47614 ** GEM engineering says that the number of Address Translation Registers is
 I7	  47615 ** processor dependent - a small integer <= 31 would probably work
 I7	  47616 ** on most any processor.
 I7	  47617 */
 I7	  47618 
 I7	  47619     void __itrd(__int64 __whichTransReg, __int64 __address);
 I7	  47620     void __itri(__int64 __whichTransReg, __int64 __address);
 I7	  47621     void __ptce(__int64 __address);
 I7	  47622     void __ptcl(__int64 __address, __int64 __pagesz);
 I7	  47623     void __ptcg(__int64 __address, __int64 __pagesz);
 I7	  47624     void __ptcga(__int64 __address, __int64 __pagesz);
 I7	  47625     void __ptri(__int64 __address, __int64 __pagesz);
 I7	  47626     void __ptrd(__int64 __address, __int64 __pagesz);
 I7	  47627 
 I7	  47628     void __rsm(__Integer_Constant __mask);
 I7	  47629     void __rum(__Integer_Constant __mask);
 I7	  47630     void __ssm(__Integer_Constant __mask);
 I7	  47631     void __sum(__Integer_Constant __mask);
 I7	  47632     void __synci(void);
 I7	  47633     __int64 /*address*/ __thash(__int64 __address);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 860
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47634     __int64 /*address*/ __ttag(__int64 __address);
 I7	  47635 
 I7	  47636 /*
 I7	  47637     GEM IA64 built-ins
 I7	  47638 */
 I7	  47639     void __flushrs(void);
 I7	  47640     void __loadrs(void);
 I7	  47641     unsigned int __tak(__int64 __address);
 I7	  47642     __int64 /*address*/ __tpa(__int64 __address);
 I7	  47643 
 I7	  47644 
 I7	  47645 
 I7	  47646 /************************************************************************/
 I7	  47647 #endif /* __ia64 */
 I7	  47648 /************************************************************************/
 I7	  47649 
 I7	  47650 /************************************************************************/
 I7	  47651 /**     OpenVMS x86-64 - Just those builtins unique to x86-64          **/
 I7	  47652 /************************************************************************/
 I7	  47653 
 I7    X  47654 #if defined(__x86_64) /* Verified for x86, John Reagan */
 I7    X  47655 
 I7    X  47656 #define _X86_REG_GSBASE  1200     /* GS segment base register using xxGSBASE instructions */
 I7    X  47657 #define _X86_REG_TR  1201         /* Task register using ltr/str instructions */
 I7    X  47658 #define _X86_REG_TSC 1202         /* Time-Stamp Counter (getreg only) using rdtsc instruction */
 I7    X  47659 #define _X86_REG_FSBASE  1203     /* FS segment base register using xxFSBASE instructions */
 I7    X  47660 #define _X86_REG_SP 1204          /* Current contents of %RSP (getreg only) */
 I7    X  47661 #define _X86_REG_MXCSR 1205       /* MXCSR floating control & status register using xxMXCSR instructions */
 I7    X  47662 
 I7    X  47663       /* Program status and control (RFLAGS) register */
 I7    X  47664 #define _X86_REG_EFLAGS  3200
 I7    X  47665 #define _X86_REG_RFLAGS  3200
 I7    X  47666 
 I7    X  47667       /* Control registers */
 I7    X  47668 #define _X86_REG_CR0 4200
 I7    X  47669 #define _X86_REG_CR2 4202
 I7    X  47670 #define _X86_REG_CR3 4203
 I7    X  47671 #define _X86_REG_CR4 4204
 I7    X  47672 #define _X86_REG_CR8 4208
 I7    X  47673 
 I7    X  47674       /* Indirect registers for getIndReg() and setIndReg() */
 I7    X  47675 #define _X86_REG_INDR_MSR 9200
 I7    X  47676 #define _X86_REG_INDR_XCR 9201
 I7    X  47677 
 I7    X  47678       /* Clear and set interrupt flag */
 I7    X  47679       void __clearInterruptFlag();
 I7    X  47680       void __setInterruptFlag();
 I7    X  47681 
 I7    X  47682       /* Load and store global descriptor table register */
 I7    X  47683       void __lgdt(__int64 __address);
 I7    X  47684       void __sgdt(__int64 __address);
 I7    X  47685 
 I7    X  47686       /* Load and store interrupt descriptor table register*/
 I7    X  47687       void __lidt(__int64 __address);
 I7    X  47688       void __sidt(__int64 __address);
 I7    X  47689 
 I7    X  47690       /* Load and store through the FS and GS descriptors */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 861
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7    X  47691       unsigned char  __readFsByte (unsigned __int64 offset);
 I7    X  47692       unsigned short int __readFsWord (unsigned __int64 offset);
 I7    X  47693       unsigned int  __readFsLong (unsigned __int64 offset);
 I7    X  47694       unsigned __int64  __readFsQuad (unsigned __int64 offset);
 I7    X  47695 
 I7    X  47696       void __writeFsByte (unsigned __int64 offset, unsigned char data);
 I7    X  47697       void __writeFsWord (unsigned __int64 offset, unsigned short int data);
 I7    X  47698       void __writeFsLong (unsigned __int64 offset, unsigned int data);
 I7    X  47699       void __writeFsQuad (unsigned __int64 offset, unsigned __int64 data);
 I7    X  47700 
 I7    X  47701       unsigned char  __readGsByte (unsigned __int64 offset);
 I7    X  47702       unsigned short int __readGsWord (unsigned __int64 offset);
 I7    X  47703       unsigned int  __readGsLong (unsigned __int64 offset);
 I7    X  47704       unsigned __int64  __readGsQuad (unsigned __int64 offset);
 I7    X  47705 
 I7    X  47706       void __writeGsByte (unsigned __int64 offset, unsigned char data);
 I7    X  47707       void __writeGsWord (unsigned __int64 offset, unsigned short int data);
 I7    X  47708       void __writeGsLong (unsigned __int64 offset, unsigned int data);
 I7    X  47709       void __writeGsQuad (unsigned __int64 offset, unsigned __int64 data);
 I7    X  47710 
 I7    X  47711       void __invlpg (__int64 __address);
 I7    X  47712 
 I7    X  47713       void __atomicAndGsLong (unsigned __int64 offset, unsigned int expression);
 I7    X  47714       void __atomicAndGsQuad (unsigned __int64 offset, unsigned __int64 expression);
 I7    X  47715       void __atomicOrGsLong  (unsigned __int64 offset, unsigned int expression);
 I7    X  47716       void __atomicOrGsQuad  (unsigned __int64 offset, unsigned __int64 expression);
 I7    X  47717       void __atomicIncrGsLong (unsigned __int64 offset);
 I7    X  47718       void __atomicIncrGsQuad (unsigned __int64 offset);
 I7    X  47719       void __atomicDecrGsLong (unsigned __int64 offset);
 I7    X  47720       void __atomicDecrGsQuad (unsigned __int64 offset);
 I7    X  47721       int  __atomicCmpSwapGsLong (unsigned __int64 offset, unsigned int compexpr, unsigned int newexpr);
 I7    X  47722       int  __atomicCmpSwapGsQuad (unsigned __int64 offset, unsigned __int64 compexpr, unsigned __int64 newexpr);
 I7    X  47723 
 I7    X  47724 /************************************************************************/
 I7    X  47725 #endif /* __x86_64 */
 I7	  47726 /************************************************************************/
 I7	  47727 
 I7	  47728 /************************************************************************/
 I7	  47729 /**     OpenVMS ia64 or x86-64 - Items shared between ia64 and x86-64  **/
 I7	  47730 /************************************************************************/
 I7	  47731 
 I7	  47732 #if defined(__ia64) || defined(__x86_64) /* Verified for x86, John Reagan */
 I7	  47733 
 I7	  47734     unsigned __int64	__getReg(__Integer_Constant __whichReg);
 I7	  47735     void		__setReg(__Integer_Constant __whichReg,
 I7	  47736 				 unsigned __int64   __value);
 I7	  47737 
 I7	  47738     unsigned __int64	__getIndReg(__Integer_Constant __whichIndReg,
 I7	  47739                                     __int64            __index);
 I7	  47740     void		__setIndReg(__Integer_Constant __whichIndReg,
 I7	  47741                                     __int64            __index,
 I7	  47742 				    unsigned __int64   __value);
 I7	  47743 
 I7	  47744     void __break(__Integer_Constant __break_arg);  /* moved here from ia64 - Clair Grant */
 I7	  47745     void __break2(__Integer_Constant __break_code, /* moved here from ia64 - Clair Grant */
 I7	  47746 		  unsigned __int64 __r17_value);
 I7	  47747 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 862
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47748 
 I7	  47749 /************************************************************************/
 I7	  47750 #endif /* __ia64 || __x86_64 */
 I7	  47751 /************************************************************************/
 I7	  47752 
 I7	  47753 /************************************************************************/
 I7	  47754 /**     OpenVMS Alpha, ia64, x86-64                                    **/
 I7	  47755 /**     (some produce diagnostics on ia64 and x86-64 as marked)        **/
 I7	  47756 /************************************************************************/
 I7	  47757 
 I7	  47758 /*
 I7	  47759 **  Certain OpenVMS header files expect the __PAL builtins to accept 
 I7	  47760 **  64-bit pointers regardless of whether the /POINTER_SIZE is used 
 I7	  47761 **  or not.  To allow this, we will define a typedef to be used with 
 I7	  47762 **  those prototypes.
 I7	  47763 */
 I7	  47764 #ifndef ___VOID__PTR64
 I7	  47765 #   define ___VOID__PTR64 1
 I7	  47766 #   ifdef __INITIAL_POINTER_SIZE
 I7	  47767 
 I7    X  47768 #      if __INITIAL_POINTER_SIZE
 I7    X  47769 #         pragma __pointer_size __save
 I7    X  47770 #         pragma __pointer_size 64
 I7    X  47771 #      else
 I7	  47772 #         pragma __required_pointer_size __save
 I7	  47773 #         pragma __required_pointer_size 64
 I7	  47774 #      endif
 I7	  47775 
 I7	  47776        typedef void * ___void__ptr64;
 I7	  47777        typedef const void * __const_void__ptr64;
 I7	  47778 
 I7    X  47779 #      if __INITIAL_POINTER_SIZE
 I7    X  47780 #         pragma __pointer_size __restore
 I7    X  47781 #      else
 I7	  47782 #         pragma __required_pointer_size __restore
 I7	  47783 #      endif
 I7	  47784 
 I7    X  47785 #   else
 I7    X  47786 
 I7    X  47787        typedef unsigned __int64 ___void__ptr64;
 I7    X  47788 
 I7    X  47789 #   endif
 I7	  47790 #endif
 I7	  47791 
 I7	  47792 /***********************************************************************
 I7	  47793 **          typedefs for return values of common built-ins            **
 I7	  47794 ***********************************************************************/
 I7	  47795 
 I7	  47796 typedef enum {_bbcci_oldval_1, _bbcci_oldval_0} _BBCCI_STATUS;
 I7	  47797 typedef enum {_bbssi_oldval_0, _bbssi_oldval_1} _BBSSI_STATUS;
 I7	  47798 typedef enum {_insqi_inserted_many, _insqi_not_inserted, _insqi_inserted_only} 
 I7	  47799         _INSQI_STATUS;
 I7	  47800 typedef enum {_insque_inserted_only, _insque_inserted_many} _INSQUE_STATUS;
 I7	  47801 typedef enum {_probe_not_accessible, _probe_accessible} _PROBE_STATUS;
 I7	  47802 typedef enum {_remqi_removed_more, _remqi_not_removed, _remqi_removed_empty, _remqi_empty} _REMQI_STATUS;
 I7	  47803 typedef enum {_remque_removed_more, _remque_removed_empty, _remque_empty} _REMQUE_STATUS;
 I7	  47804 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 863
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47805 
 I7	  47806 /*
 I7	  47807 ** The following builtins were added in DEC C V5.2
 I7	  47808 */
 I7	  47809 #if (__DECC_VER >= 50200000) || (__DECCXX_VER >= 50200000)
 I7	  47810 
 I7	  47811     /************************************************************
 I7	  47812     **  DEC C builtins for atomic/interlocked operations
 I7	  47813     *************************************************************
 I7	  47814     **
 I7	  47815     **  These functions are not easily/efficiently implemented using inline
 I7	  47816     **  assembly code, and so the compiler has builtin knowledge of their names
 I7	  47817     **  and signatures in order to generate fast and reliable code (e.g. it may
 I7	  47818     **  generate loops with tests arranged for branch prediction using
 I7	  47819     **  out-of-line branch targets for failure paths).
 I7	  47820     **
 I7	  47821     **  The _RETRY variants store a non-zero status if the operation completes
 I7	  47822     **  successfully within the specified number of retries.  The variants
 I7	  47823     **  without _RETRY do not return until they succeed.
 I7	  47824     **  Note: On ia64, all of the _RETRY variants other than __LOCK_LONG_RETRY
 I7	  47825     **  and __ACQUIRE_SEM_LONG_RETRY evaluate the retry count expression but
 I7	  47826     **  do not otherwise use it as the ia64 instructions underlying them
 I7	  47827     **  cannot complete until they have succeeded.
 I7	  47828     **
 I7	  47829     **  The following operations do not in themselves generate Memory Barriers.
 I7	  47830     **  The user is expected to code explicitly any Memory Barriers where
 I7	  47831     **  needed using inline assembly code, e.g. asm("mb"), or asm("wmb").
 I7	  47832     **
 I7	  47833     **  Many of these builtins perform essentially the same operations as other
 I7	  47834     **  builtins having similar names but with the ATOMIC or INTERLOCKED
 I7	  47835     **  appearing in a different position.  The following group with the ATOMIC
 I7	  47836     **  or INTERLOCKED first offer several usability improvements over the
 I7	  47837     **  older versions with the ATOMIC or INTERLOCKED appearing later in the
 I7	  47838     **  name.  The older versions are retained for compatibility only.
 I7	  47839     **
 I7	  47840     **  Usability problems with the older builtins that are addressed by this
 I7	  47841     **  newer set introduced in DEC C V5.2:
 I7	  47842     **
 I7	  47843     **     Old versions did not provide the pre-updated value, and 
 I7	  47844     **     provided status even with infinite retry, in which case the builtin
 I7	  47845     **     does not return until it succeeds.  New versions  provide the
 I7	  47846     **     old value, and only provide status when the limited-retry variant is
 I7	  47847     **     used.
 I7	  47848     **
 I7	  47849     **     Older versions generated memory barriers both before and after the
 I7	  47850     **     update.  Newer versions allow the user to control memory barrier
 I7	  47851     **     placement for the low-level primitives.
 I7	  47852     **
 I7	  47853     **     Older versions did not provide for efficient spinlock or counted
 I7	  47854     **     semaphore implementation.  There are new higher-level spinlock and
 I7	  47855     **     counted semaphore operations that include a test of the stored value
 I7	  47856     **     to control success, and generate memory barriers just after a lock
 I7	  47857     **     or resource is acquired, and just before it is release.
 I7	  47858     */
 I7	  47859 
 I7	  47860     /*
 I7	  47861     **  The following set of functions may pass long pointers.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 864
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47862     */
 I7    X  47863 #   if __INITIAL_POINTER_SIZE
 I7    X  47864 #   pragma __pointer_size 64
 I7    X  47865 #   endif
 I7	  47866 
 I7	  47867     /*
 I7	  47868     **  Atomic update of location with integer operation, returning previous
 I7	  47869     **  contents.
 I7	  47870     **  Note: _RETRY variants produce a warning on ia64, and always succeed.
 I7	  47871     */
 I7	  47872     int     __ATOMIC_ADD_LONG
 I7	  47873                (volatile void *__addr, int __expr);
 I7	  47874     int     __ATOMIC_ADD_LONG_RETRY
 I7	  47875                (volatile void *__addr, int __expr, int __retry, int *__sts);
 I7	  47876 
 I7	  47877     __int64 __ATOMIC_ADD_QUAD
 I7	  47878                (volatile void *__addr, __int64 __expr);
 I7	  47879     __int64 __ATOMIC_ADD_QUAD_RETRY
 I7	  47880                (volatile void *__addr, __int64 __expr, int __retry, int *__sts);
 I7	  47881 
 I7	  47882     int     __ATOMIC_AND_LONG
 I7	  47883                (volatile void *__addr, int __expr);
 I7	  47884     int     __ATOMIC_AND_LONG_RETRY
 I7	  47885                (volatile void *__addr, int __expr, int __retry, int *__sts);
 I7	  47886 
 I7	  47887     __int64 __ATOMIC_AND_QUAD
 I7	  47888                (volatile void *__addr, __int64 __expr);
 I7	  47889     __int64 __ATOMIC_AND_QUAD_RETRY
 I7	  47890                (volatile void *__addr, __int64 __expr, int __retry, int *__sts);
 I7	  47891 
 I7	  47892     int     __ATOMIC_OR_LONG
 I7	  47893                (volatile void *__addr, int __expr);
 I7	  47894     int     __ATOMIC_OR_LONG_RETRY
 I7	  47895                (volatile void *__addr, int __expr, int __retry, int *__sts);
 I7	  47896 
 I7	  47897     __int64 __ATOMIC_OR_QUAD
 I7	  47898                (volatile void *__addr, __int64 __expr);
 I7	  47899     __int64 __ATOMIC_OR_QUAD_RETRY
 I7	  47900                (volatile void *__addr, __int64 __expr, int __retry, int *__sts);
 I7	  47901 
 I7	  47902     /*
 I7	  47903     **  Just like __ATOMIC_ADD, but using +1 or -1 implicitly.
 I7	  47904     */
 I7	  47905     int     __ATOMIC_INCREMENT_LONG
 I7	  47906                (volatile void *__addr);
 I7	  47907     int     __ATOMIC_INCREMENT_LONG_RETRY
 I7	  47908                (volatile void *__addr, int __retry, int *__sts);
 I7	  47909 
 I7	  47910     __int64 __ATOMIC_INCREMENT_QUAD
 I7	  47911                (volatile void *__addr);
 I7	  47912     __int64 __ATOMIC_INCREMENT_QUAD_RETRY
 I7	  47913                (volatile void *__addr, int __retry, int *__sts);
 I7	  47914 
 I7	  47915     int     __ATOMIC_DECREMENT_LONG
 I7	  47916                (volatile void *__addr);
 I7	  47917     int     __ATOMIC_DECREMENT_LONG_RETRY
 I7	  47918                (volatile void *__addr, int __retry, int *__sts);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 865
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47919 
 I7	  47920     __int64 __ATOMIC_DECREMENT_QUAD
 I7	  47921                (volatile void *__addr);
 I7	  47922     __int64 __ATOMIC_DECREMENT_QUAD_RETRY
 I7	  47923                (volatile void *__addr, int __retry, int *__sts);
 I7	  47924 
 I7	  47925     /*
 I7	  47926     **  Atomic replacement of location's contents, returning previous contents.
 I7	  47927     */
 I7	  47928     int     __ATOMIC_EXCH_LONG
 I7	  47929                (volatile void *__addr, int __expr);
 I7	  47930     int     __ATOMIC_EXCH_LONG_RETRY
 I7	  47931                (volatile void *__addr, int __expr, int __retry, int *__sts);
 I7	  47932 
 I7	  47933     __int64 __ATOMIC_EXCH_QUAD
 I7	  47934                (volatile void *__addr, __int64 __expr);
 I7	  47935     __int64 __ATOMIC_EXCH_QUAD_RETRY
 I7	  47936                (volatile void *__addr, __int64 __expr, int __retry, int *__sts);
 I7	  47937 
 I7	  47938     /*
 I7	  47939     **  Interlocked "test for bit clear and then clear".  Returns non-zero if
 I7	  47940     **  bit was already clear.
 I7	  47941     */
 I7	  47942     int     __INTERLOCKED_TESTBITCC_QUAD
 I7	  47943                (volatile void *__addr, int __bitpos);
 I7	  47944     int     __INTERLOCKED_TESTBITCC_QUAD_RETRY
 I7	  47945                (volatile void *__addr, int __bitpos, int __retry, int *__sts);
 I7	  47946 
 I7	  47947     /*
 I7	  47948     **  Interlocked "test for bit set and then set".  Returns non-zero if bit
 I7	  47949     **  was already set.
 I7	  47950     */
 I7	  47951     int     __INTERLOCKED_TESTBITSS_QUAD
 I7	  47952                (volatile void *__addr, int __bitpos);
 I7	  47953     int     __INTERLOCKED_TESTBITSS_QUAD_RETRY
 I7	  47954                (volatile void *__addr, int __bitpos, int __retry, int *__sts);
 I7	  47955 
 I7	  47956     /*
 I7	  47957     **  Acquire/release binary spinlock based on low-order bit of a longword.
 I7	  47958     **  NOTE: Memory barrier generated after lock, before unlock.  _RETRY
 I7	  47959     **  variant returns non-zero on success within retry attempts.
 I7	  47960     **  Note: On ia64, the _RETRY forms of__LOCK_LONG and __ACQUIRE_SEM_LONG
 I7	  47961     **        are fully supported.
 I7	  47962     */
 I7	  47963     void    __LOCK_LONG
 I7	  47964                (volatile void *__addr);
 I7	  47965     int     __LOCK_LONG_RETRY
 I7	  47966                (volatile void *__addr, int __retry);
 I7	  47967     void    __UNLOCK_LONG
 I7	  47968                (volatile void *__addr);
 I7	  47969 
 I7	  47970     /*
 I7	  47971     **  Acquire/release counted semaphore based on positive value of longword
 I7	  47972     **  indicating number of resources available.
 I7	  47973     **
 I7	  47974     **  NOTE: Memory barrier generated after acquisition, before release.
 I7	  47975     **  _RETRY variant returns non-zero on success within retry attempts.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 866
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  47976     */
 I7	  47977     void    __ACQUIRE_SEM_LONG
 I7	  47978                (volatile void *__addr);
 I7	  47979     int     __ACQUIRE_SEM_LONG_RETRY
 I7	  47980                (volatile void *__addr, int __retry);
 I7	  47981     void    __RELEASE_SEM_LONG
 I7	  47982                (volatile void *__addr);
 I7	  47983 
 I7	  47984     /*
 I7	  47985     **  Done with the set of functions which may pass long pointers.
 I7	  47986     */
 I7    X  47987 #   if __INITIAL_POINTER_SIZE
 I7    X  47988 #   pragma __pointer_size 32
 I7    X  47989 #   endif
 I7	  47990 
 I7	  47991 #endif  /* (__DECC_VER >= 50200000) || (__DECCXX_VER >= 50200000) */
 I7	  47992 
 I7	  47993 
 I7	  47994 /*
 I7	  47995 **  xxxQUE Mapping Tables
 I7	  47996 **  These tables map the _PAL returned values into VAX C expected values.
 I7	  47997 */
 I7	  47998 #define __xxxQUE_MAP_ALPHA_TO_VAX(z) ((0x12 >> (z)) & 3)
 I7	  47999 #define __REMQxI_MAP_ALPHA_TO_VAX(z) (((0x0c >> (z)) + 1) & 3)
 I7	  48000 
 I7	  48001 
 I7	  48002 /*
 I7	  48003 **  All longword queue operations take 32-bit pointers.
 I7	  48004 */
 I7	  48005 #ifdef __INITIAL_POINTER_SIZE
 I7	  48006 #   pragma __required_pointer_size __save
 I7	  48007 #   pragma __required_pointer_size 32
 I7	  48008 #endif
 I7	  48009 
 I7	  48010 
 I7	  48011 /*
 I7	  48012 **  All 24 queue manipulation "PAL calls" are supported on Alpha
 I7	  48013 **  ia64, and x86-64 platforms, using the same names and interfaces shown here.
 I7	  48014 **  It just happens that the code generated is a PAL call on Alpha and
 I7	  48015 **  a call to a VMS system service on ia64 and x86-64.
 I7	  48016 */
 I7	  48017 /* 
 I7	  48018 **  Insertion into longword queues
 I7	  48019 */
 I7	  48020 int __PAL_INSQHIL   (void  *__head, void  *__new);  /* At head, interlocked */
 I7	  48021 int __PAL_INSQTIL   (void  *__head, void  *__new);  /* At tail, interlocked */
 I7	  48022 int __PAL_INSQUEL   (void  *__pred, void  *__new);  /* At pred, interlocked */ 
 I7	  48023 int __PAL_INSQUEL_D (void **__pred, void  *__new);  /* At pred, indirectly  */
 I7	  48024 int __PAL_INSQHILR  (void  *__head, void  *__new);  /* At head, interlocked */
 I7	  48025 int __PAL_INSQTILR  (void  *__head, void  *__new);  /* At tail, interlocked */
 I7	  48026 
 I7	  48027 
 I7	  48028 /* 
 I7	  48029 **  Removal from from longword queues
 I7	  48030 */
 I7	  48031 int __PAL_REMQHIL   (void  *__head, void **__rem);  /* At head, interlocked */
 I7	  48032 int __PAL_REMQTIL   (void  *__head, void **__rem);  /* At tail, interlocked */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 867
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48033 int __PAL_REMQUEL   (void  *__entr, void **__rem);  /* At entr, interlocked */
 I7	  48034 int __PAL_REMQUEL_D (void **__entr, void **__rem);  /* At entr, indirectly  */
 I7	  48035 int __PAL_REMQHILR  (void  *__head, void **__rem);  /* At head, interlocked */
 I7	  48036 int __PAL_REMQTILR  (void  *__head, void **__rem);  /* At tail, interlocked */
 I7	  48037 
 I7	  48038 
 I7	  48039 /*
 I7	  48040 **  All quadword queue operations take 64-bit pointers.
 I7	  48041 */
 I7	  48042 #ifdef __INITIAL_POINTER_SIZE
 I7	  48043 #   pragma __required_pointer_size 64
 I7	  48044 #endif
 I7	  48045 
 I7	  48046 
 I7	  48047 /* 
 I7	  48048 **  Insertion into quadword queues
 I7	  48049 */
 I7	  48050 int __PAL_INSQHIQ   (void  *__head, void  *__new);  /* At head, interlocked */
 I7	  48051 int __PAL_INSQTIQ   (void  *__head, void  *__new);  /* At tail, interlocked */
 I7	  48052 int __PAL_INSQUEQ   (void  *__pred, void  *__new);  /* At pred, interlocked */
 I7	  48053 int __PAL_INSQUEQ_D (void **__pred, void  *__new);  /* At pred, indirectly  */
 I7	  48054 int __PAL_INSQHIQR  (void  *__head, void  *__new);  /* At head, interlocked */
 I7	  48055 int __PAL_INSQTIQR  (void  *__head, void  *__new);  /* At tail, interlocked */
 I7	  48056 
 I7	  48057 
 I7	  48058 /* 
 I7	  48059 **  Removal from quadword queues
 I7	  48060 */
 I7	  48061 int __PAL_REMQHIQ   (void  *__head, void **__rem);  /* At head, interlocked */
 I7	  48062 int __PAL_REMQTIQ   (void  *__head, void **__rem);  /* At tail, interlocked */
 I7	  48063 int __PAL_REMQUEQ   (void  *__entr, void **__rem);  /* At entr, interlocked */
 I7	  48064 int __PAL_REMQUEQ_D (void **__entr, void **__rem);  /* At entr, indirectly  */
 I7	  48065 int __PAL_REMQHIQR  (void  *__head, void **__rem);  /* At head, interlocked */
 I7	  48066 int __PAL_REMQTIQR  (void  *__head, void **__rem);  /* At tail, interlocked */
 I7	  48067  
 I7	  48068 
 I7	  48069 /*
 I7	  48070 **  Restore the original required_pointer_size
 I7	  48071 */
 I7	  48072 #ifdef __INITIAL_POINTER_SIZE
 I7	  48073 #   pragma __required_pointer_size __restore
 I7	  48074 #endif
 I7	  48075 
 I7	  48076 
 I7	  48077 /*
 I7	  48078 **  The following set of functions may pass long pointers.
 I7	  48079 */
 I7    X  48080 #if __INITIAL_POINTER_SIZE
 I7    X  48081 #pragma __pointer_size 64
 I7    X  48082 #endif
 I7	  48083 
 I7	  48084 /*
 I7	  48085 **  Move from Processor Register
 I7	  48086 **  Note: None of these MFPR PAL calls are implemented in the ia64 or x86-64 compiler.
 I7	  48087 **        Some may be overridden in <pal_builtins.h>
 I7	  48088 */
 I7	  48089 unsigned int __PAL_MFPR_ASTEN (void);          /* AST Enable                  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 868
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48090 unsigned int __PAL_MFPR_ASTSR (void);          /* AST Summary Register        */
 I7	  48091 void *       __PAL_MFPR_ESP   (void);          /* Executive Stack Pointer     */
 I7	  48092 int          __PAL_MFPR_FEN   (void);          /* Floating Point Enable       */
 I7	  48093 int          __PAL_MFPR_IPL   (void);          /* Interrupt Priority Level    */
 I7	  48094 __int64      __PAL_MFPR_MCES  (void);          /* Machine Check Error Summary */
 I7	  48095 void *       __PAL_MFPR_PCBB  (void);          /* Priv Context Block Base     */
 I7	  48096 __int64      __PAL_MFPR_PRBR  (void);          /* Processor Base Register     */
 I7	  48097 int          __PAL_MFPR_PTBR  (void);          /* Page Table Base Register    */
 I7	  48098 void *       __PAL_MFPR_SCBB  (void);          /* System Control Block Base   */
 I7	  48099 unsigned int __PAL_MFPR_SISR  (void);          /* Software Int Summ Register  */
 I7	  48100 void *       __PAL_MFPR_SSP   (void);          /* Supervisor Stack Pointer    */
 I7	  48101 __int64      __PAL_MFPR_TBCHK (void *__addr);  /* Translation Buffer Check    */
 I7	  48102 void *       __PAL_MFPR_USP   (void);          /* User Stack Pointer          */
 I7	  48103 void *       __PAL_MFPR_VPTB  (void);          /* Virtual Page Table          */
 I7	  48104 __int64      __PAL_MFPR_WHAMI (void);          /* Who Am I                    */
 I7	  48105 
 I7	  48106 /*
 I7	  48107 **  Move to Processor Register
 I7	  48108 **  Note: None of these MTPR PAL calls are implemented in the ia64 compiler.
 I7	  48109 **        Some may be overridden in <pal_builtins.h>
 I7	  48110 */
 I7	  48111 void __PAL_MTPR_ASTEN (unsigned int __mask);   /* AST Enable                  */
 I7	  48112 void __PAL_MTPR_ASTSR (unsigned int __mask);   /* AST Summary Register        */
 I7	  48113 void __PAL_MTPR_DATFX (int __value);           /* Data Alignment Trap Fixup   */
 I7	  48114 void __PAL_MTPR_ESP   (void *__addr);          /* Executive Stack Pointer     */
 I7	  48115 void __PAL_MTPR_FEN   (int __value);           /* Floating Point Enable       */
 I7	  48116 void __PAL_MTPR_IPIR  (__int64 __number);      /* Interprocessor Inter Req    */
 I7	  48117 int  __PAL_MTPR_IPL   (int __value);           /* Interrupt Priority Level    */
 I7	  48118 void __PAL_MTPR_MCES  (__int64 __value);       /* Machine Check Error Summary */
 I7	  48119 void __PAL_MTPR_PRBR  (__int64 __value);       /* Processor Base Register     */
 I7	  48120 void __PAL_MTPR_SCBB  (void *__addr);          /* System Control Block Base   */
 I7	  48121 void __PAL_MTPR_SIRR  (int __level);           /* Software Inter Req Register */
 I7	  48122 void __PAL_MTPR_SSP   (int *__addr);           /* Supervisor Stack Pointer    */
 I7	  48123 void __PAL_MTPR_TBIA  (void);                  /* User Stack Pointer          */
 I7	  48124 void __PAL_MTPR_TBIAP (void);                  /* T Buffer Inval All Process  */
 I7	  48125 void __PAL_MTPR_TBIS  (___void__ptr64 __addr); /* T Buffer Inval Single       */
 I7	  48126 void __PAL_MTPR_TBISD (___void__ptr64 __addr); /* T Buffer Inval Single Data  */
 I7	  48127 void __PAL_MTPR_TBISI (___void__ptr64 __addr); /* T Buffer Inval Single Instr */
 I7	  48128 void __PAL_MTPR_USP   (void *__addr);          /* User Stack Pointer */
 I7	  48129 void __PAL_MTPR_VPTB  (void *__addr);          /* Virtual Page Table */
 I7	  48130 
 I7	  48131 /*
 I7	  48132 **  Probe Read/Write Accessibility
 I7	  48133 **  Note: Not a builtin in ia64 or x86 compiler, to be overridden in <pal_builtins.h>
 I7	  48134 **        See also ia64-specific __prober and __probew builtins for access to
 I7	  48135 **        the actual Itanium instructions.
 I7	  48136 */
 I7	  48137 int __PAL_PROBER(const void *__base_address, int __offset, char __mode);
 I7	  48138 int __PAL_PROBEW(const void *__base_address, int __offset, char __mode);
 I7	  48139 
 I7	  48140 /*
 I7	  48141 **  Change Mode 
 I7	  48142 **  Note: Not a builtin in ia64 compiler, may be overridden in <pal_builtins.h>
 I7	  48143 */
 I7	  48144 void __PAL_CHME(void);                         /* Executive  */
 I7	  48145 void __PAL_CHMK(void);                         /* Kernel     */
 I7	  48146 void __PAL_CHMS(void);                         /* Supervisor */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 869
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48147 void __PAL_CHMU(void);                         /* User       */
 I7	  48148 
 I7	  48149 /*
 I7	  48150 **  Load/Store Quadword Physical
 I7	  48151 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48152 */
 I7	  48153 unsigned __int64 __PAL_LDQP(void *__addr);               /* Load       */
 I7	  48154 void __PAL_STQP(void *__addr, unsigned __int64 __value); /* Store      */
 I7	  48155 
 I7	  48156 /*
 I7	  48157 **  Done with the set of functions which may pass long pointers.
 I7	  48158 */
 I7    X  48159 #if __INITIAL_POINTER_SIZE
 I7    X  48160 #pragma __pointer_size 32
 I7    X  48161 #endif
 I7	  48162 
 I7	  48163 /*
 I7	  48164 **  Cache Flush
 I7	  48165 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48166 */
 I7	  48167 void __PAL_CFLUSH(int __value);
 I7	  48168 
 I7	  48169 /*
 I7	  48170 **  Drain Aborts
 I7	  48171 **  Note: Not on ia64
 I7	  48172 */
 I7	  48173 void __PAL_DRAINA(void);
 I7	  48174 
 I7	  48175 /*
 I7	  48176 **  Read Processor Status
 I7	  48177 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48178 */
 I7	  48179 unsigned __int64 __PAL_RD_PS(void);
 I7	  48180 
 I7	  48181 /*
 I7	  48182 **  Swap AST Enable
 I7	  48183 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48184 */
 I7	  48185 unsigned int __PAL_SWASTEN(int __new_state_mask);
 I7	  48186 
 I7	  48187 /*
 I7	  48188 **  Write Processor Status Software Field
 I7	  48189 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48190 */
 I7	  48191 void __PAL_WR_PS_SW(int __mask);
 I7	  48192 
 I7	  48193 /*
 I7	  48194 **  Convert from G-Floating to Quadword
 I7	  48195 **  Note: Not on ia64
 I7	  48196 */
 I7	  48197 __int64 __CVTGQ(double __operand1);
 I7	  48198 
 I7	  48199 /*
 I7	  48200 **  Convert from G-Floating to F-Floating Chopped
 I7	  48201 **  Note: Not on ia64
 I7	  48202 */
 I7	  48203 float __CVTGF_C(double __operand1);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 870
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48204 
 I7	  48205 /*
 I7	  48206 **  Add Floating Point Chopped
 I7	  48207 **  Note: Not on ia64
 I7	  48208 */
 I7	  48209 float  __ADDF_C(float  __operand1, float  __operand2);
 I7	  48210 double __ADDG_C(double __operand1, double __operand2);
 I7	  48211 
 I7	  48212 /*
 I7	  48213 **  Subtract Floating Point Chopped
 I7	  48214 **  Note: Not on ia64
 I7	  48215 */
 I7	  48216 float  __SUBF_C(float  __operand1, float  __operand2);
 I7	  48217 double __SUBG_C(double __operand1, double __operand2);
 I7	  48218 
 I7	  48219 /*
 I7	  48220 **  Multiply Floating Point Chopped
 I7	  48221 **  Note: Not on ia64
 I7	  48222 */
 I7	  48223 float  __MULF_C(float  __operand1, float  __operand2);
 I7	  48224 double __MULG_C(double __operand1, double __operand2);
 I7	  48225 
 I7	  48226 /*
 I7	  48227 **  Divide Floating Point Chopped
 I7	  48228 **  Note: Not on ia64
 I7	  48229 */
 I7	  48230 float  __DIVF_C(float  __operand1, float  __operand2);
 I7	  48231 double __DIVG_C(double __operand1, double __operand2);
 I7	  48232 
 I7	  48233 /*
 I7	  48234 **  Macros for translation from VAX C to DEC C ALPHA builtins
 I7	  48235 */
 I7	  48236 #define _BBCCI(position, address) __TESTBITCCI((address), (position))
 I7	  48237 #define _BBSSI(position, address) __TESTBITSSI((address), (position))
 I7	  48238 
 I7	  48239 #define _INSQHI(new_entry, head)                         \
 I7	  48240         ((0x12 >> (__PAL_INSQHIL((head), (new_entry))+2)) & 3)
 I7	  48241 
 I7	  48242 #define _INSQTI(new_entry, head)                         \
 I7	  48243         ((0x12 >> (__PAL_INSQTIL((head), (new_entry))+2)) & 3)
 I7	  48244 
 I7	  48245 #define _INSQUE(new_entry, predecessor)                         \
 I7	  48246         ((0x12 >> (__PAL_INSQUEL((predecessor), (new_entry))+1)) & 3)
 I7	  48247 
 I7	  48248 #define _REMQHI(head, removed_entry)                         \
 I7	  48249         (((0x0c >> (__PAL_REMQHIL((head), (void **)(removed_entry))+1))+1) & 3)
 I7	  48250 
 I7	  48251 #define _REMQTI(head, removed_entry)                         \
 I7	  48252         (((0x0c >> (__PAL_REMQTIL((head), (void **)(removed_entry))+1))+1) & 3)
 I7	  48253 
 I7	  48254 #define _REMQUE(entry, removed_entry)                         \
 I7	  48255         ((0x12 >> (__PAL_REMQUEL((entry), (void **)(removed_entry))+1)) & 3)
 I7	  48256 
 I7	  48257 #define _PROBER(mode, offset, address) __PAL_PROBER((address), (offset), (mode))
 I7	  48258 #define _PROBEW(mode, offset, address) __PAL_PROBEW((address), (offset), (mode))
 I7	  48259 /*
 I7	  48260 **  __ALLOCA builtin - allocate n-bytes from the stack

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 871
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48261 */
 I7	  48262 void * __ALLOCA(unsigned int __x);
 I7	  48263 
 I7	  48264 /*
 I7	  48265 **  The remaining functions can handle accepting long pointers.
 I7	  48266 */
 I7    X  48267 #if __INITIAL_POINTER_SIZE
 I7    X  48268 #   pragma __pointer_size 64
 I7    X  48269 #endif
 I7	  48270 
 I7	  48271 /*
 I7	  48272 **  UMULH Builtin - Unsigned Quadword Multiply High
 I7	  48273 */
 I7	  48274 unsigned __int64 __UMULH(unsigned __int64 __oper1, unsigned __int64 __oper2);
 I7	  48275 
 I7	  48276 /*
 I7	  48277 **  op_ATOMIC_size Builtins
 I7	  48278 **
 I7	  48279 **  Note: There is one optional retry count parameter
 I7	  48280 **  Note: Retry form not on ia64
 I7	  48281 */    
 I7	  48282 int __ADD_ATOMIC_LONG(void *__addr, int __expr, ...);
 I7	  48283 int __ADD_ATOMIC_QUAD(void *__addr, int __expr, ...);
 I7	  48284 
 I7	  48285 int __AND_ATOMIC_LONG(void *__addr, int __expr, ...);
 I7	  48286 int __AND_ATOMIC_QUAD(void *__addr, int __expr, ...);
 I7	  48287 
 I7	  48288 int __OR_ATOMIC_LONG(void *__addr, int __expr, ...);
 I7	  48289 int __OR_ATOMIC_QUAD(void *__addr, int __expr, ...);
 I7	  48290 
 I7	  48291 /*
 I7	  48292 **  TESTBITxxI
 I7	  48293 **
 I7	  48294 **  Note: There is one optional retry count parameter
 I7	  48295 **  Note: Retry form not on ia64
 I7	  48296 */
 I7	  48297 int __TESTBITCCI(void *__addr, int __position, ...);
 I7	  48298 int __TESTBITSSI(void *__addr, int __position, ...);
 I7	  48299 
 I7	  48300 /*
 I7	  48301 **  Add Aligned Word Interlocked
 I7	  48302 */
 I7	  48303 int __ADAWI(short __src, volatile short *__dest);
 I7	  48304 
 I7	  48305 /*
 I7	  48306 **  Trap Barrier Instruction
 I7	  48307 **  Note: Not on ia64
 I7	  48308 */
 I7	  48309 void __TRAPB(void);
 I7	  48310 
 I7	  48311 /*
 I7	  48312 **  Read Cycle Counter
 I7	  48313 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48314 */
 I7	  48315 unsigned __int64 __RPCC(void);
 I7	  48316 
 I7	  48317 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 872
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48318 **  Halt the Processor. (Privileged)
 I7	  48319 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48320 */
 I7	  48321 void _HALT(void);
 I7	  48322 void __PAL_HALT(void);
 I7	  48323 
 I7	  48324 /*
 I7	  48325 **  Generate Trap
 I7	  48326 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48327 **  Note: argument must be compile-time constant.
 I7	  48328 */
 I7	  48329 void __PAL_GENTRAP(unsigned __int64 __encoded_software_trap);
 I7	  48330 
 I7	  48331 /*
 I7	  48332 **  Breakpoint
 I7	  48333 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48334 */
 I7	  48335 void __PAL_BPT(void);
 I7	  48336 
 I7	  48337 /*
 I7	  48338 **  Bugcheck
 I7	  48339 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48340 */
 I7	  48341 #if defined __ia64 || defined(__x86_64) || (__DECC_VER >= 70130074) || (__DECCXX_VER >= 70130074) /* Verified for x8
 I7	  48341 6, John Reagan */
 I7	  48342 void __PAL_BUGCHK(unsigned __int64 code);
 I7    X  48343 #else
 I7    X  48344 void __PAL_BUGCHK(void);
 I7    X  48345 #endif
 I7	  48346 /*
 I7	  48347 **  Swap Privileged Context
 I7	  48348 **  Note: Not on ia64
 I7	  48349 */
 I7	  48350 void __PAL_SWPCTX(void *__addr);
 I7	  48351 
 I7	  48352 /*
 I7	  48353 **  Copy Sign
 I7	  48354 **  Note: Not on ia64
 I7	  48355 */
 I7	  48356 float  __CPYSF (float  __operand1, float  __operand2);
 I7	  48357 double __CPYS  (double __operand1, double __operand2);
 I7	  48358 
 I7	  48359 /*
 I7	  48360 **  Copy Sign Negate
 I7	  48361 **  Note: Not on ia64
 I7	  48362 */
 I7	  48363 float  __CPYSNF(float  __operand1, float  __operand2);
 I7	  48364 double __CPYSN (double __operand1, double __operand2);
 I7	  48365 
 I7	  48366 /*
 I7	  48367 **  Copy Sign Exponent
 I7	  48368 **  Note: Not on ia64
 I7	  48369 */
 I7	  48370 float  __CPYSEF(float  __operand1, float  __operand2);
 I7	  48371 double __CPYSE (double __operand1, double __operand2);
 I7	  48372 
 I7	  48373 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 873
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48374 **  Convert from T-Floating to Quadword
 I7	  48375 **  Note: Not on ia64
 I7	  48376 */
 I7	  48377 __int64 __CVTTQ(double __operand1);
 I7	  48378 
 I7	  48379 /*
 I7	  48380 **  Convert from T-Floating to S-Floating Chopped
 I7	  48381 **  Note: Not on ia64
 I7	  48382 */
 I7	  48383 float __CVTTS_C(double __operand1);
 I7	  48384 
 I7	  48385 /*
 I7	  48386 **  Add Floating Point Chopped
 I7	  48387 **  Note: Not on ia64
 I7	  48388 */
 I7	  48389 float  __ADDS_C(float  __operand1, float  __operand2);
 I7	  48390 double __ADDT_C(double __operand1, double __operand2);
 I7	  48391 
 I7	  48392 /*
 I7	  48393 **  Subtract Floating Point Chopped
 I7	  48394 **  Note: Not on ia64
 I7	  48395 */
 I7	  48396 float  __SUBS_C(float  __operand1, float  __operand2);
 I7	  48397 double __SUBT_C(double __operand1, double __operand2);
 I7	  48398 
 I7	  48399 /*
 I7	  48400 **  Multiply Floating Point Chopped
 I7	  48401 **  Note: Not on ia64
 I7	  48402 */
 I7	  48403 float  __MULS_C(float  __operand1, float  __operand2);
 I7	  48404 double __MULT_C(double __operand1, double __operand2);
 I7	  48405 
 I7	  48406 /*
 I7	  48407 **  Divide Floating Point Chopped
 I7	  48408 **  Note: Not on ia64
 I7	  48409 */
 I7	  48410 float  __DIVS_C(float  __operand1, float  __operand2);
 I7	  48411 double __DIVT_C(double __operand1, double __operand2);
 I7	  48412 
 I7	  48413 /*
 I7	  48414 **  Memory Barrier
 I7	  48415 */
 I7	  48416 void   __MB(void);
 I7	  48417 
 I7	  48418 /*
 I7	  48419 **  Instruction Memory Barrier
 I7	  48420 **  Note: Not a builtin in ia64 compiler, to be overridden in <pal_builtins.h>
 I7	  48421 */
 I7	  48422 #ifndef __ALPHA    /* Verified for x86, John Reagan */
 I7	  48423     void __PAL_IMB(void * instr, unsigned __int64 length);
 I7    X  48424 #else
 I7    X  48425     void __PAL_IMB(void);
 I7    X  48426 #endif /* ifndef __ALPHA */
 I7	  48427 
 I7	  48428 
 I7	  48429 /*
 I7	  48430 **  Compare, Store Long/Quad

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 874
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48431 **  Note: On ia64, these produce a warning if the compiler can verify
 I7	  48432 **        that the source and destination addresses are the same, else
 I7	  48433 **        they produce an error.  These builtins should be considered
 I7	  48434 **        deprecated, to be replaced by __CMP_SWAP_LONG and __CMP_SWAP_QUAD
 I7	  48435 **        when they become available on Alpha.
 I7	  48436 */
 I7	  48437 int    __CMP_STORE_LONG
 I7	  48438           (volatile void *__src, int __oldval, int __newval, 
 I7	  48439            volatile void *__dst);
 I7	  48440 int    __CMP_STORE_QUAD
 I7	  48441           (volatile void *__src, __int64 __oldval, __int64 __newval, 
 I7	  48442            volatile void *__dst);
 I7	  48443 
 I7	  48444 /*
 I7	  48445 ** Compare and swap (__CMP_SWAP* and _Interlocked*), and
 I7	  48446 ** __RETURN_ADDRESS - compilers after V6.5.
 I7	  48447 */
 I7	  48448 
 I7	  48449 #if (__DECC_VER >= 60600000) ||  (__DECCXX_VER >= 60600000)
 I7	  48450 
 I7	  48451     /*
 I7	  48452     ** Compare and swap returning status (1 or 0).
 I7	  48453     */
 I7	  48454     int    __CMP_SWAP_LONG
 I7	  48455 	      (volatile void *__addr, int __comparand, int __newval);
 I7	  48456     int    __CMP_SWAP_QUAD
 I7	  48457 	      (volatile void *__addr, __int64 __comparand, __int64 __newval);
 I7	  48458 
 I7	  48459 /*
 I7	  48460 ** OS Related Itanium Built-ins defined by Intel's <ia64intrin.h>
 I7	  48461 ** for compare and swap returning old value with acquire or
 I7	  48462 ** release semantics. 
 I7	  48463 ** 
 I7	  48464 ** Unordered data accesses may become visible in any order.  Acquire data
 I7	  48465 ** accesses quarantee that they are made visible prior to all subsequent
 I7	  48466 ** data accesses.  Release data accesses guarantee that all previous data
 I7	  48467 ** accesses are made visible prior to being made visible themselves.
 I7	  48468 **
 I7	  48469 ** See also __CMP_SWAP_[LONG|QUAD]_[ACQ|REL] below.
 I7	  48470 */
 I7	  48471 unsigned __int64 _InterlockedCompareExchange_acq
 I7	  48472 			 (unsigned int	   *__Destination,
 I7	  48473 			  unsigned __int64  __Newval,
 I7	  48474 			  unsigned __int64  __Comparand);
 I7	  48475 unsigned __int64 _InterlockedCompareExchange64_acq
 I7	  48476 			 (unsigned __int64 *__Destination,
 I7	  48477 			  unsigned __int64  __Newval,
 I7	  48478 			  unsigned __int64  __Comparand);
 I7	  48479 
 I7	  48480 unsigned __int64 _InterlockedCompareExchange_rel
 I7	  48481 			 (unsigned int 	   *__Destination,
 I7	  48482 			  unsigned __int64  __Newval,
 I7	  48483 			  unsigned __int64  __Comparand);
 I7	  48484 unsigned __int64 _InterlockedCompareExchange64_rel
 I7	  48485 			 (unsigned __int64 *__Destination,
 I7	  48486 			  unsigned __int64  __Newval,
 I7	  48487 			  unsigned __int64  __Comparand);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 875
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48488 
 I7	  48489 /*
 I7	  48490 ** Compare and swap returning status (1 or 0) with acquire or
 I7	  48491 ** release semantics. 
 I7	  48492 ** 
 I7	  48493 ** Nota Bene:
 I7	  48494 **   _Interlocked* built-ins return the old value and have the
 I7	  48495 **   newval and comparand arguments in a different order than
 I7	  48496 **   __CMP_SWAP* built-ins that return the status (1 or 0). 
 I7	  48497 */
 I7	  48498 int    __CMP_SWAP_LONG_ACQ
 I7	  48499 	  (volatile void *__addr, int __comparand, int __newval);
 I7	  48500 int    __CMP_SWAP_QUAD_ACQ
 I7	  48501 	  (volatile void *__addr, __int64 __comparand, __int64 __newval);
 I7	  48502 
 I7	  48503 int    __CMP_SWAP_LONG_REL
 I7	  48504 	  (volatile void *__addr, int __comparand, int __newval);
 I7	  48505 int     __CMP_SWAP_QUAD_REL
 I7	  48506 	  (volatile void *__addr, __int64 __comparand, __int64 __newval);
 I7	  48507 
 I7	  48508 /*
 I7	  48509 **  Produce the value of R26 (Alpha) or B0 (IA64) on entry to the
 I7	  48510 **  function containing a call to this builtin.  Cannot be invoked
 I7	  48511 **  from a function with non-standard linkage.
 I7	  48512 */
 I7	  48513 __int64 __RETURN_ADDRESS(void);
 I7	  48514 
 I7	  48515 #endif
 I7	  48516 
 I7	  48517 /*
 I7	  48518 **  The following intrinsics were added in DEC C V5.7 and DIGITAL C++ V6.0
 I7	  48519 */
 I7	  48520 #if (__DECC_VER >= 50700000) || (__DECCXX_VER >= 60000000)
 I7	  48521 
 I7	  48522     __int64 _popcnt (unsigned __int64);
 I7	  48523     __int64 _poppar (unsigned __int64);
 I7	  48524     __int64 _leadz  (unsigned __int64);
 I7	  48525     __int64 _trailz (unsigned __int64);
 I7	  48526 
 I7	  48527 #   pragma intrinsic (_popcnt, _poppar, _leadz, _trailz)
 I7	  48528 
 I7	  48529 #endif  /* (__DECC_VER >= 50700000) || (__DECCXX_VER >= 60000000) */
 I7	  48530 
 I7	  48531 /*
 I7	  48532 **  Reset the pointer size prior to leaving this section
 I7	  48533 */
 I7    X  48534 #if __INITIAL_POINTER_SIZE
 I7    X  48535 #   pragma __pointer_size 32
 I7    X  48536 #endif
 I7	  48537 
 I7	  48538 
 I7	  48539 /************************************************************************/
 I7	  48540 #if defined(__X_FLOAT)
 I7	  48541 /************************************************************************/
 I7	  48542 
 I7	  48543 /*
 I7	  48544 **  Convert from X-Floating to Quadword

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 876
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(BUILTINS)

 I7	  48545 **  Note: Not on ia64
 I7	  48546 */
 I7	  48547 __int64 __CVTXQ(long double __operand1);
 I7	  48548 
 I7	  48549 /*
 I7	  48550 **  Convert from X-Floating to T-Floating Chopped
 I7	  48551 **  Note: Not on ia64
 I7	  48552 */
 I7	  48553 double __CVTXT_C(long double __operand1);
 I7	  48554 
 I7	  48555 /*
 I7	  48556 **  Add Floating Point Chopped
 I7	  48557 **  Note: Not on ia64
 I7	  48558 */
 I7	  48559 long double __ADDX_C(long double __operand1, long double __operand2);
 I7	  48560 
 I7	  48561 /*
 I7	  48562 **  Subtract Floating Point Chopped
 I7	  48563 **  Note: Not on ia64
 I7	  48564 */
 I7	  48565 long double __SUBX_C(long double __operand1, long double __operand2);
 I7	  48566 
 I7	  48567 /*
 I7	  48568 **  Multiply Floating Point Chopped
 I7	  48569 **  Note: Not on ia64
 I7	  48570 */
 I7	  48571 long double __MULX_C(long double __operand1, long double __operand2);
 I7	  48572 
 I7	  48573 /*
 I7	  48574 **  Divide Floating Point Chopped
 I7	  48575 **  Note: Not on ia64
 I7	  48576 */
 I7	  48577 long double __DIVX_C(long double __operand1, long double __operand2);
 I7	  48578 /************************************************************************/
 I7	  48579 #endif  /* __X_FLOAT */
 I7	  48580 /************************************************************************/
 I7	  48581 
 I7	  48582 
 I7	  48583 
 I7	  48584 
 I7	  48585 /*
 I7	  48586 **  Restore the users pointer context
 I7	  48587 */
 I7    X  48588 #if __INITIAL_POINTER_SIZE
 I7    X  48589 #   pragma __pointer_size __restore
 I7    X  48590 #endif
 I7	  48591 
 I7	  48592 /*
 I7	  48593 ** Alpha does not use pal_builtins.h
 I7	  48594 ** but Itanium and x86 do use it
 I7	  48595 */
 I7	  48596 #ifndef __ALPHA /* Verified for x86, John Reagan */
 I7	  48597 #   include <pal_builtins.h>
 I8	  48598 #ifndef __PAL_BUILTINS_LOADED
 I8	  48599 #define __PAL_BUILTINS_LOADED 1
 I8	  48600 
 I8	  48601 /*      module pal_builtins.h     "X-21"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 877
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_BUILTINS)

 I8	  48602 *
 I8	  48603 *************************************************************************
 I8	  48604 *                                                                       *
 I8	  48605 * Copyright 2002 Compaq Computer Corporation                            *
 I8	  48606 *                                                                       *
 I8	  48607 * COMPAQ Registered in U.S. Patent and Trademark Office.                *
 I8	  48608 *                                                                       *
 I8	  48609 * Confidential computer software. Valid license from Compaq or          *
 I8	  48610 * authorized sublicensor required for possession, use or copying.       *
 I8	  48611 * Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  *
 I8	  48612 * Computer Software Documentation, and Technical Data for Commercial    *
 I8	  48613 * Items are licensed to the U.S. Government under vendor's standard     *
 I8	  48614 * commercial license.                                                   *
 I8	  48615 *                                                                       *
 I8	  48616 * Compaq shall not be liable for technical or editorial errors or       *
 I8	  48617 * omissions contained herein. The information in this document is       *
 I8	  48618 * subject to change without notice.                                     *
 I8	  48619 *                                                                       *
 I8	  48620 *************************************************************************
 I8	  48621 *++
 I8	  48622 *   FACILITY:
 I8	  48623 *
 I8	  48624 *	STARLET_H for now
 I8	  48625 *       
 I8	  48626 *   ABSTRACT:
 I8	  48627 *
 I8	  48628 *       This module contains the C builtins for the Alpha CALL_PAL
 I8	  48629 *	compatibility system services on non-Alpha systems.
 I8	  48630 *
 I8	  48631 *   AUTHOR:
 I8	  48632 *
 I8	  48633 *	Clair Grant
 I8	  48634 *
 I8	  48635 *   CREATION DATE:
 I8	  48636 *
 I8	  48637 *	04-Mar-2002
 I8	  48638 *
 I8	  48639 *   MODIFICATION HISTORY:
 I8	  48640 *
 I8	  48641 *	X-21	CMOS		Christian Moser		25-JAN-2005
 I8	  48642 *		Add definition of __PAL_MFPR_KSP which fell between the
 I8	  48643 *		cracks.
 I8	  48644 *
 I8	  48645 *	X-20	CMOS		Christian Moser		15-NOV-2004
 I8	  48646 *		Fix a typo in __PAL_MFPR_PRBR for the /STANDARD=VAXC case
 I8	  48647 *		as it should translate to a call to SYS$PAL_MFPR_PRBR and
 I8	  48648 *		not a call to the non-existing SYS$PAL_MFPR_CPUDB routine.
 I8	  48649 *		Fix generation number.
 I8	  48650 *
 I8	  48651 *	X-18	CMOS		Christian Moser		14-OCT-2004
 I8	  48652 *		C programs compiled with /STANDARD=VAXC will not generate
 I8	  48653 *		correct code for 64-bit pointers and will only fetch a
 I8	  48654 *		sign-extended longword off SYS$GPQ_IPR_xxx. Use the old
 I8	  48655 *		method and call the SYS$PAL_MFPR_xxx routines instead.
 I8	  48656 *
 I8	  48657 *	X-17	CMOS		Christian Moser		27-SEP-2004
 I8	  48658 *		Only define the fancy MFPR macros if __INITIAL_POINTER_SIZE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 878
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_BUILTINS)

 I8	  48659 *		is defined, which means we are using a newer compiler.
 I8	  48660 *		C++ also does not like the MTPR_TBIS flavour macros.
 I8	  48661 *
 I8	  48662 *	X-16	CMOS		Christian Moser		14-SEP-2004
 I8	  48663 *		Declare the SYS$GPQ_IPR_xxx cells to match the declaration
 I8	  48664 *		of SYS$PAL_MFPR_xxx routines.
 I8	  48665 *
 I8	  48666 *	X-15	CMOS		Christian Moser		13-SEP-2004
 I8	  48667 *		Fetch MFPR data directly from cells pointed to by the
 I8	  48668 *		global SYS$GPQ_IPR_xxx data cells.
 I8	  48669 *
 I8	  48670 *	X-14	WBF		Burns Fisher		19-Sep-2003
 I8	  48671 *		CHMU is a system service-like call
 I8	  48672 *
 I8	  48673 *	X-13	KLN3307		Karen L. Noel		17-Jun-2003
 I8	  48674 *		Oops. Put back mfpr_prbr.
 I8	  48675 *
 I8	  48676 * 	X-12	KLN3306		Karen L. Noel		17-Jun-2003
 I8	  48677 *		Remove mtpr_fen, mfpr_fen, mtpr_mces, mfpr_mces, mfpr_pcbb.
 I8	  48678 *
 I8	  48679 *	X-11	WBF		Burns Fisher		06-May-2003
 I8	  48680 *		CHMS should be system service rather than break to
 I8	  48681 *		match the .MAR version.
 I8	  48682 *
 I8	  48683 *	X-10	WBF		Burns Fisher		03-Dec-2002
 I8	  48684 *		Wrong name for break codes for CHMU and CHMS
 I8	  48685 *
 I8	  48686 *	X-9	DJM		Dennis Mattoon		12-NOV-2002
 I8	  48687 *		Add inclusion of sys_pal_qinst.h
 I8	  48688 *
 I8	  48689 *	X-8	JRK396		Jim Kauffman		31-Oct-2002
 I8	  48690 *		Add __PAL_MFPR_WHAMI_SLOT
 I8	  48691 *
 I8	  48692 *	X-7	WBF		Burns Fisher		24-Oct-2002
 I8	  48693 *		Add __CHMU and __CHMS. Remove MFPR_PCBB since the
 I8	  48694 *		IPF version gets virtual address
 I8	  48695 *
 I8	  48696 *	X-6	CEG		Clair Grant		25-Jul-2002
 I8	  48697 *		Add __RPCC
 I8	  48698 * 
 I8	  48699 *	X-5	CEG		Clair Grant		18-Jul-2002
 I8	  48700 *		Redefine __PAL_BPT to use __break, __PAL_BUGCHK to use
 I8	  48701 *		__break2, and add __PAL_GENTRAP.
 I8	  48702 *
 I8	  48703 *	X-4	CEG		Clair Grant		30-Apr-2002
 I8	  48704 *		Move the system service prototypes to a new file
 I8	  48705 *		pal_services.h. Add definition for __MF.
 I8	  48706 *
 I8	  48707 *	X-3	CEG		Clair Grant		12-Apr-2002
 I8	  48708 *		Remove sys$pal_mfpr_asn and sys$pal_draina
 I8	  48709 *
 I8	  48710 *	X-2	DJM		Dennis Mattoon		02-APR-2002
 I8	  48711 *		Added instr argument to the prototype for sys$pal_imb.
 I8	  48712 *
 I8	  48713 *	X-1	CEG		Clair Grant		04-Mar-2002
 I8	  48714 *		Original version.
 I8	  48715 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 879
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_BUILTINS)

 I8	  48716 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 880
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_BUILTINS)

 I8	  48718 #ifndef __alpha
 I8	  48719 
 I8	  48720 #include <breakdef.h>
 I9	  48721 /*
 I9	  48722 //  Note: This header is use by both the CC compiler and the IA64 
 I9	  48723 //        assembler (via the CC preprocessor which creates the    
 I9	  48724 //        IA64 assembler source file).
 I9	  48725 //
 I9	  48726 //        The CC portion of this header starts at the comment line
 I9	  48727 //        'CC header begins here'.
 I9	  48728 //
 I9	  48729 // -----------------------------------------------------------------------------
 I9	  48730 */
 I9	  48731 
 I9    X  48732 #ifdef IAS_ASSEMBLER
 I9    X  48733 
 I9    X  48734 /*  IA64 assembler header begins here */
 I9    X  48735 
 I9    X  48736 /*  ************************************************************************* */
 I9    X  48737 /*  *                                                                       * */
 I9    X  48738 /*  * HP CONFIDENTIAL. This software is confidential proprietary software   * */
 I9    X  48739 /*  * licensed by Hewlett-Packard Development Company, L.P., and is not     * */
 I9    X  48740 /*  * authorized to be used, duplicated OR disclosed to anyone without the  * */
 I9    X  48741 /*  * prior written permission of HP.                                       * */
 I9    X  48742 /*  * © 2021 Copyright Hewlett-Packard Development Company, L.P.            * */
 I9    X  48743 /*  *                                                                       * */
 I9    X  48744 /*  * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I9    X  48745 /*  * proprietary software licensed by VMS Software, Inc., and is not       * */
 I9    X  48746 /*  * authorized to be used, duplicated or disclosed to anyone without      * */
 I9    X  48747 /*  * the prior written permission of VMS Software, Inc.                    * */
 I9    X  48748 /*  * © 2021 Copyright VMS Software, Inc.                                   * */
 I9    X  48749 /*  *                                                                       * */
 I9    X  48750 /*  ************************************************************************* */
 I9    X  48751 /*  ****************************************************************************************************************
 I9    X  48751 **************** */
 I9    X  48752 /*   Created:  9-Mar-2021 22:28:09 by OpenVMS SDL EV3-3       */
 I9    X  48753 /*   Source:  24-AUG-2012 21:08:31 $1$DGA8085:[STARLET_H.SRC]BREAKDEF.SDL;1  */
 I9    X  48754 /*  ****************************************************************************************************************
 I9    X  48754 **************** */
 I9    X  48755  
 I9    X  48756 	/* .MACRO	$BREAKDEF,$GBL */
 I9    X  48757 	/* $DEFINI	BREAK,$GBL */
 I9    X  48758 /*  + */
 I9    X  48759 /*   BREAK Immediate value definitions */
 I9    X  48760 /*   */
 I9    X  48761 /*  - */
 I9    X  48762 /*  BASE AND OFFSET OF 1  */
 I9    X  48763 #define	BREAK$C_ARCH_BASE	0
 I9    X  48764 #define	BREAK$C_ARCH_UNKNOWN	0
 I9    X  48765 #define	BREAK$C_ARCH_INTDIV	1
 I9    X  48766 #define	BREAK$C_ARCH_INTOVR	2
 I9    X  48767 #define	BREAK$C_ARCH_SUBRNG	3
 I9    X  48768 #define	BREAK$C_ARCH_NULPTRERR	4
 I9    X  48769 #define	BREAK$C_ARCH_BADALIGN	5
 I9    X  48770 #define	BREAK$C_ARCH_DECOVF	6
 I9    X  48771 #define	BREAK$C_ARCH_DECDIV	7
 I9    X  48772 #define	BREAK$C_ARCH_PKDEC	8

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 881
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(BREAKDEF)

 I9    X  48773 #define	BREAK$C_ARCH_DECINV	9
 I9    X  48774 #define	BREAK$C_ARCH_PKDECINV	10
 I9    X  48775 #define	BREAK$C_ARCH_PPSTKOVF	11
 I9    X  48776 #define	BREAK$C_ARCH_MAX	262143
 I9    X  48777 #define	BREAK$C_APPL_BASE	262144
 I9    X  48778 /*   Values in this range produce a signal of SS$_BREAKAPPL */
 I9    X  48779 #define	BREAK$C_APPL_MAX	524287
 I9    X  48780 #define	BREAK$C_DBG_BASE	524288
 I9    X  48781 #define	BREAK$C_DBG_PAL_BPT	524288
 I9    X  48782 #define	BREAK$C_DBG_INSTRUCTION	524289
 I9    X  48783 #define	BREAK$C_DBG_LINE	524290
 I9    X  48784 #define	BREAK$C_DBG_INIBRK	524291
 I9    X  48785 /*   Meanings in this range are defined by the debugger in use */
 I9    X  48786 #define	BREAK$C_DBG_MAX	1048575
 I9    X  48787 #define	BREAK$C_SYS_BASE	1048576
 I9    X  48788 #define	BREAK$C_SYS_UNUSED	1048576
 I9    X  48789 #define	BREAK$C_SYS_GENTRAP	1048577
 I9    X  48790 #define	BREAK$C_SYS_BUGCHECK	1048578
 I9    X  48791 #define	BREAK$C_SYS_HALT	1048579
 I9    X  48792 #define	BREAK$C_SYS_CHKASTS	1048580
 I9    X  48793 #define	BREAK$C_SYS_RFI	1048581
 I9    X  48794 #define	BREAK$C_SYS_SWIS_LOG	1048582
 I9    X  48795 #define	BREAK$C_SYS_DISABLE_UAST	1048583
 I9    X  48796 /*   The remainder of codes in this range are OS-defined */
 I9    X  48797 #define	BREAK$C_SYS_MAX	2097151
 I9    X  48798 	/* $DEFEND	BREAK,$GBL,DEF */
 I9    X  48799 	/* .ENDM */
 I9    X  48800 
 I9    X  48801 /*  IA64 assembler header ends here */
 I9    X  48802 
 I9    X  48803 #else /* IAS_ASSEMBLER */
 I9	  48804 
 I9	  48805 /*  CC header begins here */
 I9	  48806 
 I9	  48807 /*******************************************************************************************************************
 I9	  48807 *************/
 I9	  48808 /* Created:  9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3      */
 I9	  48809 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFAE.SDI;1 */
 I9	  48810 /*******************************************************************************************************************
 I9	  48810 *************/
 I9	  48811 /*** MODULE $BREAKDEF ***/
 I9	  48812 #ifndef __BREAKDEF_LOADED
 I9	  48813 #define __BREAKDEF_LOADED 1
 I9	  48814  
 I9	  48815 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I9	  48816 #pragma __member_alignment __save
 I9	  48817 #pragma __nomember_alignment
 I9	  48818 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I9	  48819 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I9	  48820 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I9	  48821 #endif
 I9	  48822  
 I9    X  48823 #ifdef __cplusplus
 I9    X  48824     extern "C" {
 I9    X  48825 #define __unknown_params ...
 I9    X  48826 #define __optional_params ...
 I9    X  48827 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 882
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(BREAKDEF)

 I9	  48828 #define __unknown_params
 I9	  48829 #define __optional_params ...
 I9	  48830 #endif
 I9	  48831  
 I9    X  48832 #ifndef __struct
 I9    X  48833 #if !defined(__VAXC)
 I9    X  48834 #define __struct struct
 I9    X  48835 #else
 I9    X  48836 #define __struct variant_struct
 I9    X  48837 #endif
 I9    X  48838 #endif
 I9	  48839  
 I9    X  48840 #ifndef __union
 I9    X  48841 #if !defined(__VAXC)
 I9    X  48842 #define __union union
 I9    X  48843 #else
 I9    X  48844 #define __union variant_union
 I9    X  48845 #endif
 I9    X  48846 #endif
 I9	  48847  
 I9	  48848 /*+                                                                         */
 I9	  48849 /* BREAK Immediate value definitions                                        */
 I9	  48850 /*                                                                          */
 I9	  48851 /*-                                                                         */
 I9	  48852 /*BASE AND OFFSET OF 1                                                      */
 I9	  48853 #define BREAK$C_ARCH_BASE 0
 I9	  48854 #define BREAK$C_ARCH_UNKNOWN 0
 I9	  48855 #define BREAK$C_ARCH_INTDIV 1
 I9	  48856 #define BREAK$C_ARCH_INTOVR 2
 I9	  48857 #define BREAK$C_ARCH_SUBRNG 3
 I9	  48858 #define BREAK$C_ARCH_NULPTRERR 4
 I9	  48859 #define BREAK$C_ARCH_BADALIGN 5
 I9	  48860 #define BREAK$C_ARCH_DECOVF 6
 I9	  48861 #define BREAK$C_ARCH_DECDIV 7
 I9	  48862 #define BREAK$C_ARCH_PKDEC 8
 I9	  48863 #define BREAK$C_ARCH_DECINV 9
 I9	  48864 #define BREAK$C_ARCH_PKDECINV 10
 I9	  48865 #define BREAK$C_ARCH_PPSTKOVF 11
 I9	  48866 #define BREAK$C_ARCH_MAX 262143
 I9	  48867 #define BREAK$C_APPL_BASE 262144
 I9	  48868 /* Values in this range produce a signal of SS$_BREAKAPPL                   */
 I9	  48869 #define BREAK$C_APPL_MAX 524287
 I9	  48870 #define BREAK$C_DBG_BASE 524288
 I9	  48871 #define BREAK$C_DBG_PAL_BPT 524288
 I9	  48872 #define BREAK$C_DBG_INSTRUCTION 524289
 I9	  48873 #define BREAK$C_DBG_LINE 524290
 I9	  48874 #define BREAK$C_DBG_INIBRK 524291
 I9	  48875 /* Meanings in this range are defined by the debugger in use                */
 I9	  48876 #define BREAK$C_DBG_MAX 1048575
 I9	  48877 #define BREAK$C_SYS_BASE 1048576
 I9	  48878 #define BREAK$C_SYS_UNUSED 1048576
 I9	  48879 #define BREAK$C_SYS_GENTRAP 1048577
 I9	  48880 #define BREAK$C_SYS_BUGCHECK 1048578
 I9	  48881 #define BREAK$C_SYS_HALT 1048579
 I9	  48882 #define BREAK$C_SYS_CHKASTS 1048580
 I9	  48883 #define BREAK$C_SYS_RFI 1048581
 I9	  48884 #define BREAK$C_SYS_SWIS_LOG 1048582

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 883
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(BREAKDEF)

 I9	  48885 #define BREAK$C_SYS_DISABLE_UAST 1048583
 I9	  48886 /* The remainder of codes in this range are OS-defined                      */
 I9	  48887 #define BREAK$C_SYS_MAX 2097151
 I9	  48888  
 I9	  48889 #pragma __member_alignment __restore
 I9	  48890 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I9	  48891 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I9	  48892 #endif
 I9    X  48893 #ifdef __cplusplus
 I9    X  48894     }
 I9    X  48895 #endif
 I9	  48896 #pragma __standard
 I9	  48897  
 I9	  48898 #endif /* __BREAKDEF_LOADED */
 I9	  48899  
 I9	  48900 
 I9	  48901 /*  CC header ends here */
 I9	  48902 
 I9	  48903 #endif /* IAS_ASSEMBLER */
 I8	  48904 #include <sys_pal_qinst.h>
 I9	  48905 /*
 I9	  48906  *  Copyright 2002 Compaq Computer Corporation
 I9	  48907  *
 I9	  48908  *  COMPAQ Registered in U.S. Patent and Trademark Office.
 I9	  48909  *
 I9	  48910  *  Confidential computer software. Valid license from Compaq or
 I9	  48911  *  authorized sublicensor required for possession, use or copying.
 I9	  48912  *  Consistent with FAR 12.211 and 12.212, Commercial Computer Software,
 I9	  48913  *  Computer Software Documentation, and Technical Data for Commercial
 I9	  48914  *  Items are licensed to the U.S. Government under vendor's standard
 I9	  48915  *  commercial license.
 I9	  48916  *
 I9	  48917  *  Compaq shall not be liable for technical or editorial errors or
 I9	  48918  *  omissions contained herein. The information in this document is
 I9	  48919  *  subject to change without notice.
 I9	  48920  *
 I9	  48921  ************************************************************************
 I9	  48922  *++
 I9	  48923  *  FACILITY:
 I9	  48924  *
 I9	  48925  *      VMS Executive (SYS)
 I9	  48926  *
 I9	  48927  *  ABSTRACT:
 I9	  48928  *
 I9	  48929  *      This module contains definitions for the IPF compatibility 
 I9	  48930  *      routines for the Alpha unprivileged queue PALcode instructions.
 I9	  48931  *
 I9	  48932  *  AUTHOR:
 I9	  48933  *
 I9	  48934  *      Dennis Mattoon
 I9	  48935  *
 I9	  48936  *  CREATION DATE:
 I9	  48937  *
 I9	  48938  *      06-JUN-2002
 I9	  48939  *
 I9	  48940  *  MODIFICATION HISTORY:
 I9	  48941  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 884
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(SYS_PAL_QINST)

 I9	  48942  *	X-5	DJM		Dennis Mattoon		20-NOV-2002
 I9	  48943  *		Moved more symbol definitions and typedefs over to
 I9	  48944  *		sys_pal_qinst.c.  The symbols and struct defs do not
 I9	  48945  *		need to be availble globaly.  They are only used by
 I9	  48946  *		the queue instruction system service routines.
 I9	  48947  *
 I9	  48948  *	X-4	DJM		Dennis Mattoon		15-NOV-2002
 I9	  48949  *		Moved QINST$L_GLOBAL and QINST$Q_GLOBAL declarations
 I9	  48950  *		out of this module and into SYS_PAL_QINST.C to avoid
 I9	  48951  *		"multiply defined" linker warnings...
 I9	  48952  *
 I9	  48953  *
 I9	  48954  *	X-3	DJM		Dennis Mattoon		12-NOV-2002
 I9	  48955  *		Redefined memory-resident self-relative queue
 I9	  48956  *		instruction builtins to point at corresponding
 I9	  48957  *		non-resident versions.  See comment below for
 I9	  48958  *		more details.
 I9	  48959  *
 I9	  48960  *      X-2     DJM             Dennis Mattoon          05-NOV-2002
 I9	  48961  *		Removed Alpha specific code (queue system services
 I9	  48962  *		are now IA64 only) and fixed some status values
 I9	  48963  *		that did not match the original PALcode definition.
 I9	  48964  *
 I9	  48965  *      X-1     DJM             Dennis Mattoon          06-JUN-2002
 I9	  48966  *              Original version.
 I9	  48967  *
 I9	  48968  *--
 I9	  48969  */
 I9	  48970 #ifndef __SYS_PAL_QINST_LOADED
 I9	  48971 #define __SYS_PAL_QINST_LOADED 1
 I9	  48972 
 I9	  48973 /* The following memory-resident PALcode routines are redefined as  */
 I9	  48974 /* the resident versions of the self-relative queue instructions.   */
 I9	  48975 /* They get redefined because we are unable to safely implement     */
 I9	  48976 /* system service routines that emulate their behaviour exactly.    */
 I9	  48977 /* This is because we have to make sure that isertions and removals */
 I9	  48978 /* to and from queues are non-interruptable. To ensure this we have */
 I9	  48979 /* to execute in kernel mode at elevated IPL. If we're callable     */
 I9	  48980 /* from user mode and executing at high ipl we MUST make sure that  */
 I9	  48981 /* we do not incur any memory management exceptons.  In order to    */
 I9	  48982 /* do this we have to make certain alignment and memory management  */
 I9	  48983 /* checks, thus negating the whole purpose of executing the memory  */
 I9	  48984 /* resident version of any queue instruction in the first place.    */
 I9	  48985 #ifdef __ia64
 I9	  48986 #define __PAL_INSQHILR __PAL_INSQHIL
 I9	  48987 #define __PAL_INSQTILR __PAL_INSQTIL
 I9	  48988 #define __PAL_REMQHILR __PAL_REMQHIL
 I9	  48989 #define __PAL_REMQTILR __PAL_REMQTIL
 I9	  48990 #define __PAL_INSQHIQR __PAL_INSQHIQ
 I9	  48991 #define __PAL_INSQTIQR __PAL_INSQTIQ
 I9	  48992 #define __PAL_REMQHIQR __PAL_REMQHIQ
 I9	  48993 #define __PAL_REMQTIQR __PAL_REMQTIQ
 I9	  48994 #endif
 I9	  48995 
 I9	  48996 #endif /* __SYS_PAL_QINST_H */
 I8	  48997 
 I8	  48998 #ifdef  __INITIAL_POINTER_SIZE			// Not defined for older compilers

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 885
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_BUILTINS)

 I8	  48999 #pragma __required_pointer_size __save		// Save current pointer size
 I8	  49000 #pragma __required_pointer_size __long		// Pointers are 64-bit
 I8	  49001 extern int		*sys$gpq_ipr_ipl;
 I8	  49002 extern unsigned int	*sys$gpq_ipr_sisr;
 I8	  49003 extern __int64		*sys$gpq_ipr_cpuid;
 I8	  49004 extern __int64		*sys$gpq_ipr_cpudb;
 I8	  49005 extern void *		*sys$gpq_ipr_ksp;
 I8	  49006 extern void *		*sys$gpq_ipr_esp;
 I8	  49007 extern void *		*sys$gpq_ipr_ssp;
 I8	  49008 extern void *		*sys$gpq_ipr_usp;
 I8	  49009 #pragma __required_pointer_size __restore	// Return to previous pointer size
 I8	  49010 #endif
 I8	  49011 
 I8	  49012 #define __PAL_MFPR_ASTEN	sys$pal_mfpr_asten
 I8	  49013 #define __PAL_MTPR_ASTEN	sys$pal_mtpr_asten
 I8	  49014 #define __PAL_MFPR_ASTSR	sys$pal_mfpr_astsr
 I8	  49015 #define __PAL_MTPR_ASTSR	sys$pal_mtpr_astsr
 I8	  49016 #define __PAL_MTPR_DATFX	sys$pal_mtpr_datfx
 I8	  49017 #define __PAL_MTPR_ESP		sys$pal_mtpr_esp
 I8	  49018 #define __PAL_MTPR_IPIR		sys$pal_mtpr_ipir
 I8	  49019 #define __PAL_MTPR_IPL		sys$pal_mtpr_ipl
 I8	  49020 #define __PAL_MTPR_PRBR		sys$pal_mtpr_prbr
 I8	  49021 #define __PAL_MTPR_SIRR		sys$pal_mtpr_sirr
 I8	  49022 #define __PAL_MTPR_SSP		sys$pal_mtpr_ssp
 I8	  49023 #define __PAL_MTPR_TBIA		sys$pal_mtpr_tbia
 I8	  49024 #define __PAL_MTPR_TBIAP	sys$pal_mtpr_tbiap
 I8	  49025 #define __PAL_MTPR_USP		sys$pal_mtpr_usp
 I8	  49026 #define __PAL_MFPR_WHAMI_SLOT	sys$pal_mfpr_whami_slot
 I8	  49027 
 I8	  49028 #ifdef  __INITIAL_POINTER_SIZE			// Not defined for older compilers
 I8    X  49029 #ifdef	__vaxc
 I8    X  49030 #define __PAL_MFPR_ESP		sys$pal_mfpr_esp
 I8    X  49031 #define __PAL_MFPR_IPL		sys$pal_mfpr_ipl
 I8    X  49032 #define __PAL_MFPR_PRBR		sys$pal_mfpr_prbr
 I8    X  49033 #define __PAL_MFPR_SISR		sys$pal_mfpr_sisr
 I8    X  49034 #define __PAL_MFPR_SSP		sys$pal_mfpr_ssp
 I8    X  49035 #define __PAL_MFPR_USP		sys$pal_mfpr_usp
 I8    X  49036 #define __PAL_MFPR_WHAMI	sys$pal_mfpr_cpuid
 I8    X  49037 #else
 I8	  49038 #define __PAL_MFPR_KSP()	*sys$gpq_ipr_ksp
 I8	  49039 #define __PAL_MFPR_ESP()	*sys$gpq_ipr_esp
 I8	  49040 #define __PAL_MFPR_IPL()	*sys$gpq_ipr_ipl
 I8	  49041 #define __PAL_MFPR_PRBR()	*sys$gpq_ipr_cpudb
 I8	  49042 #define __PAL_MFPR_SISR()	*sys$gpq_ipr_sisr
 I8	  49043 #define __PAL_MFPR_SSP()	*sys$gpq_ipr_ssp
 I8	  49044 #define __PAL_MFPR_USP()	*sys$gpq_ipr_usp
 I8	  49045 #define __PAL_MFPR_WHAMI()	*sys$gpq_ipr_cpuid
 I8	  49046 #endif
 I8	  49047 #define __PAL_MTPR_TBIS		sys$pal_mtpr_tbis
 I8	  49048 #define __PAL_MTPR_TBISD	sys$pal_mtpr_tbisd
 I8	  49049 #define __PAL_MTPR_TBISI	sys$pal_mtpr_tbisi
 I8	  49050 #endif
 I8	  49051 
 I8	  49052 #define __PAL_BPT()		__break(BREAK$C_DBG_PAL_BPT)
 I8	  49053 #define __PAL_GENTRAP(code)	__break2(BREAK$C_SYS_GENTRAP,code)
 I8	  49054 #define __PAL_BUGCHK(code)	__break2(BREAK$C_SYS_BUGCHECK,code)
 I8	  49055 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 886
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_BUILTINS)

 I8	  49056 #define __PAL_IMB    		sys$pal_imb
 I8	  49057 #define __PAL_PROBER  		sys$pal_prober
 I8	  49058 #define __PAL_PROBEW  		sys$pal_probew
 I8	  49059 #define __PAL_RD_PS   		sys$pal_rd_ps
 I8	  49060 #define __PAL_SWASTEN 		sys$pal_swasten
 I8	  49061 #define __PAL_WR_PS_SW		sys$pal_wr_ps_sw
 I8	  49062 #define __PAL_HALT    		sys$pal_halt
 I8	  49063 #define __PAL_CFLUSH 		sys$pal_cflush
 I8	  49064 #define __PAL_LDQP   		sys$pal_ldqp
 I8	  49065 #define __PAL_STQP    		sys$pal_stqp
 I8	  49066 
 I8	  49067 #define __MF	__MB
 I8	  49068 #define __RPCC()   ((unsigned __int64)0x0ffffffff & sys$rpcc_64())
 I8	  49069 #define __PAL_CHMU()		sys$pal_chmu
 I8	  49070 #define __PAL_CHMS()		sys$pal_chms
 I8	  49071 
 I8	  49072 #include <pal_services.h>	/* get the system service prototypes */
 I9	  49073 #ifndef __PAL_SERVICES_LOADED
 I9	  49074 #define __PAL_SERVICES_LOADED 1
 I9	  49075 
 I9	  49076 /*      module pal_services.h     "X-15"
 I9	  49077 *
 I9	  49078 *************************************************************************
 I9	  49079 *                                                                       *
 I9	  49080 * Copyright 2002 Compaq Computer Corporation                            *
 I9	  49081 *                                                                       *
 I9	  49082 * COMPAQ Registered in U.S. Patent and Trademark Office.                *
 I9	  49083 *                                                                       *
 I9	  49084 * Confidential computer software. Valid license from Compaq or          *
 I9	  49085 * authorized sublicensor required for possession, use or copying.       *
 I9	  49086 * Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  *
 I9	  49087 * Computer Software Documentation, and Technical Data for Commercial    *
 I9	  49088 * Items are licensed to the U.S. Government under vendor's standard     *
 I9	  49089 * commercial license.                                                   *
 I9	  49090 *                                                                       *
 I9	  49091 * Compaq shall not be liable for technical or editorial errors or       *
 I9	  49092 * omissions contained herein. The information in this document is       *
 I9	  49093 * subject to change without notice.                                     *
 I9	  49094 *                                                                       *
 I9	  49095 *************************************************************************
 I9	  49096 *++
 I9	  49097 *   FACILITY:
 I9	  49098 *
 I9	  49099 *	STARLET_H
 I9	  49100 *       
 I9	  49101 *   ABSTRACT:
 I9	  49102 *
 I9	  49103 *       This module contains the C function prototypes for the Alpha CALL_PAL
 I9	  49104 *	compatibility system services on non-Alpha systems.
 I9	  49105 *
 I9	  49106 *   AUTHOR:
 I9	  49107 *
 I9	  49108 *	Clair Grant
 I9	  49109 *
 I9	  49110 *   CREATION DATE:
 I9	  49111 *
 I9	  49112 *	30-April-2002

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 887
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_SERVICES)

 I9	  49113 *
 I9	  49114 *   MODIFICATION HISTORY:
 I9	  49115 *
 I9	  49116 *	X-15		Clair Grant          St. Patrick's Day-2004
 I9	  49117 *		Update sys$cflush for 64b PFNs
 I9	  49118 *
 I9	  49119 *	X-14	WBM		Brad McCusker		10-Dec-2003
 I9	  49120 *		Correct pointer size conditional to be consistent 
 I9	  49121 *		builtins.h.  PTR 75-101-547
 I9	  49122 *
 I9	  49123 *	X-13	WBF		Burns Fisher		22-Oct-2003
 I9	  49124 *		Remove context argument for SYS$RPCC_64-not needed
 I9	  49125 *		now on either architecture.
 I9	  49126 *
 I9	  49127 *	X-12	WBF		Burns Fisher		20-Oct-2003
 I9	  49128 *		Allow optional argument for SYS$RPCC_64 for compat
 I9	  49129 *		with Alpha.
 I9	  49130 *
 I9	  49131 *	X-11	CEG		Clair Grant		13-Oct-2003
 I9	  49132 *		Put the "#define lowercase UPPERCASE" before the
 I9	  49133 *		prototype.
 I9	  49134 *
 I9	  49135 *	X-10	CEG		Clair Grant		09-Oct-2003
 I9	  49136 *		Mistakenly uppercased and __INT64. Fix it.
 I9	  49137 *
 I9	  49138 *	X-9	CEG		Clair Grant		07-Oct-2003
 I9	  49139 *		#define an uppercase version for each service call
 I9	  49140 *
 I9	  49141 *	X-8	WBF		Burns Fisher		19-Sep-2003
 I9	  49142 *		Add CHMU and CHMS
 I9	  49143 *
 I9	  49144 *	X-7	KLN3306		Karen L. Noel		17-Jun-2003
 I9	  49145 *		o Remove mfpr_fen, mtpr_fen, mfpr_mces, mtpr_mces, mfpr_pcbb.
 I9	  49146 *		o Fix pointer_size conditions for C++ usage.
 I9	  49147 *
 I9	  49148 *	X-6	JRK396		Jim Kauffman		31-Oct-2002
 I9	  49149 *		Add MFPR_WHAMI_SLOT
 I9	  49150 *
 I9	  49151 *	X-5	WBF		Burns Fisher		29-Jul-2002
 I9	  49152 *		MFPR_ASTSR and MFPR_ASTEN should have return values
 I9	  49153 *
 I9	  49154 *	X-4	CEG		Clair Grant		25-Jul-2002
 I9	  49155 *		Add sys$rpcc_64. Remove sys$pal_rei.
 I9	  49156 *		
 I9	  49157 *	X-3	CEG		Clair Grant		18-Jul-2002
 I9	  49158 *		Remove sys$pal_bpt and sys$pal_bugchk
 I9	  49159 *
 I9	  49160 *	X-2	KLN3076		Karen L. Noel		19-Jun-2002
 I9	  49161 *		Add length argument to sys$pal_imb for IA64 only.
 I9	  49162 *
 I9	  49163 *	X-1	CEG		Clair Grant		30-Apr-2002
 I9	  49164 *		Original version.
 I9	  49165 */
 I9	  49166 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 888
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_SERVICES)

 I9	  49168 /*
 I9	  49169 **  Certain OpenVMS header files expect the __PAL builtins to accept
 I9	  49170 **  64-bit pointers regardless of whether the /POINTER_SIZE is used
 I9	  49171 **  or not.  To allow this, we will define a typedef to be used with
 I9	  49172 **  those prototypes.
 I9	  49173 */
 I9	  49174 
 I9    X  49175 #   if __INITIAL_POINTER_SIZE
 I9    X  49176 #       pragma __required_pointer_size __save
 I9    X  49177 #       pragma __required_pointer_size 64
 I9    X  49178 
 I9    X  49179 #      ifndef ___VOID__PTR64
 I9    X  49180 #          define ___VOID__PTR64 1
 I9    X  49181            typedef void * ___void__ptr64;
 I9    X  49182 #      endif
 I9    X  49183 #   else
 I9    X  49184 #      ifndef ___VOID__PTR64
 I9    X  49185 #          define ___VOID__PTR64 1
 I9    X  49186            typedef unsigned __int64 ___void__ptr64;
 I9    X  49187 #      endif
 I9	  49188 #   endif
 I9	  49189  
 I9	  49190 
 I9	  49191 #define sys$pal_mfpr_asten SYS$PAL_MFPR_ASTEN
 I9	  49192 unsigned int sys$pal_mfpr_asten(void);          /* AST Enable */
       E	              SYS$PAL_MFPR_ASTEN
 I9	  49193 
 I9	  49194 #define sys$pal_mtpr_asten SYS$PAL_MTPR_ASTEN
 I9	  49195 unsigned int sys$pal_mtpr_asten(unsigned int __mask);   /* AST Enable */
       E	              SYS$PAL_MTPR_ASTEN
 I9	  49196 
 I9	  49197 #define sys$pal_mfpr_astsr SYS$PAL_MFPR_ASTSR
 I9	  49198 unsigned int sys$pal_mfpr_astsr(void);          /* AST Summary Register */
       E	              SYS$PAL_MFPR_ASTSR
 I9	  49199 
 I9	  49200 #define sys$pal_mtpr_astsr SYS$PAL_MTPR_ASTSR
 I9	  49201 unsigned int sys$pal_mtpr_astsr(unsigned int __mask);   /* AST Summary Register */
       E	              SYS$PAL_MTPR_ASTSR
 I9	  49202 
 I9	  49203 #define sys$pal_mtpr_datfx SYS$PAL_MTPR_DATFX
 I9	  49204 void sys$pal_mtpr_datfx(int __value);           /* Data Alignment Trap Fixup */
       E	      SYS$PAL_MTPR_DATFX
 I9	  49205 
 I9	  49206 #define sys$pal_mfpr_esp SYS$PAL_MFPR_ESP
 I9	  49207 void * sys$pal_mfpr_esp(void);			/* Executive Stack Pointer */
       E	        SYS$PAL_MFPR_ESP
 I9	  49208 
 I9	  49209 #define sys$pal_mtpr_esp SYS$PAL_MTPR_ESP
 I9	  49210 void sys$pal_mtpr_esp(void *__addr);		/* Executive Stack Pointer */
       E	      SYS$PAL_MTPR_ESP
 I9	  49211 
 I9	  49212 #define sys$pal_mtpr_ipir SYS$PAL_MTPR_IPIR
 I9	  49213 void sys$pal_mtpr_ipir(__int64 __number);	/* Interprocessor Inter Req */
       E	      SYS$PAL_MTPR_IPIR
 I9	  49214 
 I9	  49215 #define sys$pal_mfpr_ipl SYS$PAL_MFPR_IPL
 I9	  49216 int sys$pal_mfpr_ipl(void);			/* Interrupt Priority Level */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 889
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_SERVICES)

       E	     SYS$PAL_MFPR_IPL
 I9	  49217 
 I9	  49218 #define sys$pal_mtpr_ipl SYS$PAL_MTPR_IPL
 I9	  49219 int  sys$pal_mtpr_ipl(int __value);		/* Interrupt Priority Level */
       E	      SYS$PAL_MTPR_IPL
 I9	  49220 
 I9	  49221 #define sys$pal_mfpr_prbr SYS$PAL_MFPR_PRBR
 I9	  49222 __int64 sys$pal_mfpr_prbr(void);		/* Processor Base Register */
       E	         SYS$PAL_MFPR_PRBR
 I9	  49223 
 I9	  49224 #define sys$pal_mtpr_prbr SYS$PAL_MTPR_PRBR
 I9	  49225 void sys$pal_mtpr_prbr(__int64 __value);	/* Processor Base Register */
       E	      SYS$PAL_MTPR_PRBR
 I9	  49226 
 I9	  49227 #define sys$pal_mtpr_sirr SYS$PAL_MTPR_SIRR
 I9	  49228 void sys$pal_mtpr_sirr(int __level);		/* Software Inter Req Register */
       E	      SYS$PAL_MTPR_SIRR
 I9	  49229 
 I9	  49230 #define sys$pal_mfpr_sisr SYS$PAL_MFPR_SISR
 I9	  49231 unsigned int sys$pal_mfpr_sisr(void);		/* Software Int Summ Register */
       E	              SYS$PAL_MFPR_SISR
 I9	  49232 
 I9	  49233 #define sys$pal_mfpr_ssp SYS$PAL_MFPR_SSP             
 I9	  49234 void * sys$pal_mfpr_ssp(void);			/* Supervisor Stack Pointer */
       E	        SYS$PAL_MFPR_SSP
 I9	  49235 
 I9	  49236 #define sys$pal_mtpr_ssp SYS$PAL_MTPR_SSP
 I9	  49237 void sys$pal_mtpr_ssp(int *__addr);		/* Supervisor Stack Pointer */
       E	      SYS$PAL_MTPR_SSP
 I9	  49238 
 I9	  49239 #define sys$pal_mtpr_tbia SYS$PAL_MTPR_TBIA
 I9	  49240 void sys$pal_mtpr_tbia(void);			/* User Stack Pointer */
       E	      SYS$PAL_MTPR_TBIA
 I9	  49241 
 I9	  49242 #define sys$pal_mtpr_tbiap SYS$PAL_MTPR_TBIAP
 I9	  49243 void sys$pal_mtpr_tbiap(void);			/* T Buffer Inval All Process */
       E	      SYS$PAL_MTPR_TBIAP
 I9	  49244 
 I9	  49245 #define sys$pal_mtpr_tbis SYS$PAL_MTPR_TBIS
 I9	  49246 void sys$pal_mtpr_tbis(___void__ptr64 __addr);	/* T Buffer Inval Single */
       E	      SYS$PAL_MTPR_TBIS
 I9	  49247 
 I9	  49248 #define sys$pal_mtpr_tbisd SYS$PAL_MTPR_TBISD
 I9	  49249 void sys$pal_mtpr_tbisd(___void__ptr64 __addr);	/* T Buffer Inval Single Data */
       E	      SYS$PAL_MTPR_TBISD
 I9	  49250 
 I9	  49251 #define sys$pal_mtpr_tbisi SYS$PAL_MTPR_TBISI
 I9	  49252 void sys$pal_mtpr_tbisi(___void__ptr64 __addr);	/* T Buffer Inval Single Instr */
       E	      SYS$PAL_MTPR_TBISI
 I9	  49253 
 I9	  49254 #define sys$pal_mfpr_usp SYS$PAL_MFPR_USP
 I9	  49255 void * sys$pal_mfpr_usp(void);			/* User Stack Pointer */
       E	        SYS$PAL_MFPR_USP
 I9	  49256 
 I9	  49257 #define sys$pal_mtpr_usp SYS$PAL_MTPR_USP
 I9	  49258 void sys$pal_mtpr_usp(void *__addr);		/* User Stack Pointer */
       E	      SYS$PAL_MTPR_USP

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 890
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_SERVICES)

 I9	  49259 
 I9	  49260 #define sys$pal_mfpr_whami SYS$PAL_MFPR_WHAMI
 I9	  49261 __int64 sys$pal_mfpr_whami(void);		/* Who Am I - from CPUDB */
       E	         SYS$PAL_MFPR_WHAMI
 I9	  49262 
 I9	  49263 #define sys$pal_mfpr_whami_slot SYS$PAL_MFPR_WHAMI_SLOT
 I9	  49264 __int64 sys$pal_mfpr_whami_slot(void);		/* Who Am I - from slots */
       E	         SYS$PAL_MFPR_WHAMI_SLOT
 I9	  49265 
 I9	  49266 #define sys$pal_chmu SYS$PAL_CHMU
 I9	  49267 void sys$pal_chmu(void);			/* Change mode to user */
       E	      SYS$PAL_CHMU
 I9	  49268 
 I9	  49269 #define sys$pal_chms SYS$PAL_CHMS
 I9	  49270 void sys$pal_chms(void);			/* Change mode to super */
       E	      SYS$PAL_CHMS
 I9	  49271 
 I9	  49272 #ifdef __ia64
 I9	  49273 
 I9	  49274   #define sys$pal_imb SYS$PAL_IMB
 I9	  49275   void sys$pal_imb(void * instr, unsigned __int64 length);	/* instruction memory barrier */
       E	        SYS$PAL_IMB
 I9	  49276   
 I9    X  49277 #else
 I9    X  49278 
 I9    X  49279   #define sys$pal_imb SYS$PAL_IMB
 I9    X  49280   void sys$pal_imb(void * instr);			/* instruction memory barrier */
 I9    X  49281   
 I9    X  49282 #endif
 I9	  49283 
 I9	  49284   
 I9	  49285 #define sys$pal_prober SYS$PAL_PROBER
 I9	  49286 int sys$pal_prober(const void *__base_address, int __offset, char __mode);
       E	     SYS$PAL_PROBER
 I9	  49287 
 I9	  49288 #define sys$pal_probew SYS$PAL_PROBEW
 I9	  49289 int sys$pal_probew(const void *__base_address, int __offset, char __mode);
       E	     SYS$PAL_PROBEW
 I9	  49290 
 I9	  49291 #define sys$pal_rd_ps SYS$PAL_RD_PS
 I9	  49292 unsigned __int64 sys$pal_rd_ps(void);		/* read processor status */
       E	                  SYS$PAL_RD_PS
 I9	  49293 
 I9	  49294 #define sys$pal_swasten SYS$PAL_SWASTEN
 I9	  49295 unsigned int sys$pal_swasten(int __new_state_mask);
       E	              SYS$PAL_SWASTEN
 I9	  49296 
 I9	  49297 #define sys$pal_wr_ps_sw SYS$PAL_WR_PS_SW
 I9	  49298 void sys$pal_wr_ps_sw(int __mask);		/* write processor status */
       E	      SYS$PAL_WR_PS_SW
 I9	  49299 
 I9	  49300 #define sys$pal_halt SYS$PAL_HALT
 I9	  49301 void sys$pal_halt(void);			/* halt processor */
       E	      SYS$PAL_HALT
 I9	  49302 
 I9	  49303 #define sys$pal_cflush SYS$PAL_CFLUSH
 I9	  49304 void sys$pal_cflush(unsigned __int64 __value);		/* cache flush */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 891
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PAL_SERVICES)

       E	      SYS$PAL_CFLUSH
 I9	  49305 
 I9	  49306 #define sys$pal_ldqp SYS$PAL_LDQP
 I9	  49307 unsigned __int64 sys$pal_ldqp(void *__addr);	/* Load */
       E	                  SYS$PAL_LDQP
 I9	  49308 
 I9	  49309 #define sys$pal_stqp SYS$PAL_STQP
 I9	  49310 void sys$pal_stqp(void *__addr, unsigned __int64 __value); /* Store */
       E	      SYS$PAL_STQP
 I9	  49311 
 I9	  49312 
 I9	  49313 /* NOTE: There are no Alpha C builtins for the following CALL_PALs. System
 I9	  49314 ** services are defined for them so that new code can be rewritten in C
 I9	  49315 ** and use the services.
 I9	  49316 */
 I9	  49317 
 I9	  49318 #define sys$pal_rscc SYS$PAL_RSCC
 I9	  49319 unsigned __int64 sys$pal_rscc(void);			/* read system cycle count */
       E	                  SYS$PAL_RSCC
 I9	  49320 
 I9	  49321 #define sys$pal_read_unq SYS$PAL_READ_UNQ
 I9	  49322 unsigned __int64 sys$pal_read_unq(void);		/* read unique context */
       E	                  SYS$PAL_READ_UNQ
 I9	  49323 
 I9	  49324 #define sys$pal_write_unq SYS$PAL_WRITE_UNQ
 I9	  49325 void sys$pal_write_unq(unsigned __int64 __value);	/* store unique context */
       E	      SYS$PAL_WRITE_UNQ
 I9	  49326 
 I9	  49327 /* There is no direct equivalent of the rpcc Alpha instruction on IPF so we
 I9	  49328  * redefine the C builtin so VMS can provide the function.
 I9	  49329  *  on Alpha.  
 I9	  49330  */
 I9	  49331 
 I9	  49332 #define sys$rpcc_64 SYS$RPCC_64
 I9	  49333 unsigned __int64 sys$rpcc_64(void);
       E	                  SYS$RPCC_64
 I9	  49334 
 I9    X  49335 #   if __INITIAL_POINTER_SIZE
 I9    X  49336 #       pragma __required_pointer_size __restore
 I9    X  49337 #   endif
 I9	  49338 
 I9	  49339 #endif	/* __PAL_SERVICES_LOADED */
 I8	  49340 
 I8	  49341 #endif	/* __alpha */
 I8	  49342 
 I8	  49343 #endif  /* __PAL_BUILTINS_LOADED */
 I7	  49344 #endif
 I7	  49345 
 I7    X  49346 #ifdef __cplusplus
 I7    X  49347     }
 I7    X  49348 #endif
 I7	  49349 
 I7	  49350 #pragma __standard
 I7	  49351 #endif   /* __BUILTINS_LOADED */
 I6    X  49352 # else
 I6    X  49353 #  define _PTHREAD_EXC_IMPORT_	extern
 I6    X  49354 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 892
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  49355 
 I6	  49356 /*
 I6	  49357  * Include the appropriate header files for the different operating systems.
 I6	  49358  */
 I6	  49359 # if defined (_PTHREAD_EXC_VMS)
 I6	  49360 #  include <chfdef.h>
 I7	  49361 /*
 I7	  49362 //  Note: This header is use by both the CC compiler and the IA64 
 I7	  49363 //        assembler (via the CC preprocessor which creates the    
 I7	  49364 //        IA64 assembler source file).
 I7	  49365 //
 I7	  49366 //        The CC portion of this header starts at the comment line
 I7	  49367 //        'CC header begins here'.
 I7	  49368 //
 I7	  49369 // -----------------------------------------------------------------------------
 I7	  49370 */
 I7	  49371 
 I7    X  49372 #ifdef IAS_ASSEMBLER
 I7    X  49373 
 I7    X  49374 /*  IA64 assembler header begins here */
 I7    X  49375 
 I7    X  49376 /*  ************************************************************************* */
 I7    X  49377 /*  *                                                                       * */
 I7    X  49378 /*  * HP CONFIDENTIAL. This software is confidential proprietary software   * */
 I7    X  49379 /*  * licensed by Hewlett-Packard Development Company, L.P., and is not     * */
 I7    X  49380 /*  * authorized to be used, duplicated OR disclosed to anyone without the  * */
 I7    X  49381 /*  * prior written permission of HP.                                       * */
 I7    X  49382 /*  * © 2021 Copyright Hewlett-Packard Development Company, L.P.            * */
 I7    X  49383 /*  *                                                                       * */
 I7    X  49384 /*  * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I7    X  49385 /*  * proprietary software licensed by VMS Software, Inc., and is not       * */
 I7    X  49386 /*  * authorized to be used, duplicated or disclosed to anyone without      * */
 I7    X  49387 /*  * the prior written permission of VMS Software, Inc.                    * */
 I7    X  49388 /*  * © 2021 Copyright VMS Software, Inc.                                   * */
 I7    X  49389 /*  *                                                                       * */
 I7    X  49390 /*  ************************************************************************* */
 I7    X  49391 /*  ****************************************************************************************************************
 I7    X  49391 **************** */
 I7    X  49392 /*   Created:  9-Mar-2021 22:28:09 by OpenVMS SDL EV3-3       */
 I7    X  49393 /*   Source:  02-APR-2004 16:15:25 $1$DGA8085:[STARLET_H.SRC]CHFDEF.SDL;1  */
 I7    X  49394 /*  ****************************************************************************************************************
 I7    X  49394 **************** */
 I7    X  49395  
 I7    X  49396 	/* .MACRO	$CHFDEF,$GBL */
 I7    X  49397 	/* $DEFINI	CHF,$GBL */
 I7    X  49398 /*   */
 I7    X  49399 /*   CONDITION HANDLING ARGUMENT LIST OFFSETS */
 I7    X  49400 /*   THERE ARE FOUR CONDITIONAL HANDLING STRUCTURES: THE PRIMARY ARGUMENT */
 I7    X  49401 /*   LIST, THE SIGNAL AND MECHANISM ARRAYS AND THE ALPHA EXCEPTION RECORD */
 I7    X  49402 /*   ALL ARE IDENTIFIED BY THE SAME BLOCK PREFIX. */
 I7    X  49403 /*   */
 I7    X  49404 #define	CHF$S_CHFDEF	12
 I7    X  49405 #define	CHF$L_SIGARGLST	4               /*  ADDRESS OF SIGNAL ARGUMENTS  */
 I7    X  49406 #define	CHF$L_MCHARGLST	8               /*  ADDRESS OF MECHANISM ARGUMENTS */
 I7    X  49407 #define	CHF$S_CHFDEF1	12
 I7    X  49408 #define	CHF$IS_SIG_ARGS	0               /*  NUMBER OF SIGNAL ARGUMENTS */
 I7    X  49409 #define	CHF$L_SIG_ARGS	0               /*  obsolete def */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 893
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  49410 #define	CHF$IS_SIG_NAME	4               /*  SIGNAL NAME */
 I7    X  49411 #define	CHF$L_SIG_NAME	4               /*  obsolete def */
 I7    X  49412 #define	CHF$IS_SIG_ARG1	8               /*  FIRST SIGNAL SPECIFIC ARGUMENT */
 I7    X  49413 #define	CHF$L_SIG_ARG1	8               /*  obsolete def */
 I7    X  49414 #define	CHF$M_FPREGS_VALID	0x1
 I7    X  49415 #define	CHF$M_FPREGS2_VALID	0x2
 I7    X  49416 #define	CHF$S_CHFDEF2	592
 I7    X  49417 #define	CHF$IS_MCH_ARGS	0               /*  NUMBER OF MECHANISM ARGUMENTS  */
 I7    X  49418 #define	CHF$IS_MCH_FLAGS	4       /*  Flags */
 I7    X  49419 #define	CHF$R_MCH_FLAGS_BITS	4       /*  Flags bits. */
 I7    X  49420 #define	CHF$V_FPREGS_VALID	0       /*  FP registers stored in MCH. */
 I7    X  49421 #define	CHF$V_FPREGS2_VALID	1
 I7    X  49422 #define	CHF$S_MCH_FRAME	8
 I7    X  49423 #define	CHF$PH_MCH_FRAME	8       /*  ESTABLISHER FRAME ADDRESS  */
 I7    X  49424 #define	CHF$IS_MCH_DEPTH	16      /*  FRAME DEPTH OF ESTABLISHER  */
 I7    X  49425 #define	CHF$IH_MCH_DEPTH	16      /*  temp */
 I7    X  49426 #define	CHF$IS_MCH_RESVD1	20      /*  reserved, paired with DEPTH */
 I7    X  49427 #define	CHF$S_MCH_DADDR	8
 I7    X  49428 #define	CHF$PH_MCH_DADDR	24      /*  ESTABLISHER HANDLER DATA CELL */
 I7    X  49429 #define	CHF$S_MCH_ESF_ADDR	8
 I7    X  49430 #define	CHF$PH_MCH_ESF_ADDR	32      /*  ESTABLISHER EXCEPTION STACK FRAME */
 I7    X  49431 #define	CHF$S_MCH_SIG_ADDR	8
 I7    X  49432 #define	CHF$PH_MCH_SIG_ADDR	40      /*  ESTABLISHER EXCEPTION STACK FRAME */
 I7    X  49433 #define	CHF$S_MCH_RETVAL	8
 I7    X  49434 #define	CHF$IH_MCH_RETVAL	48
 I7    X  49435 #define	CHF$S_MCH_SAVR0	8
 I7    X  49436 #define	CHF$IH_MCH_SAVR0	48      /*  SAVED REGISTER R0  */
 I7    X  49437 #define	CHF$IL_MCH_SAVR0_LOW	48      /*  LOW ORDER 32 BITS */
 I7    X  49438 #define	CHF$IL_MCH_SAVR0_HIGH	52      /*  HIGH ORDER 32 BITS */
 I7    X  49439 #define	CHF$S_MCH_RETVAL2	8
 I7    X  49440 #define	CHF$IH_MCH_RETVAL2	56
 I7    X  49441 #define	CHF$S_MCH_SAVR1	8
 I7    X  49442 #define	CHF$IH_MCH_SAVR1	56      /*  SAVED REGISTER R1  */
 I7    X  49443 #define	CHF$IL_MCH_SAVR1_LOW	56      /*  LOW ORDER 32 BITS */
 I7    X  49444 #define	CHF$IL_MCH_SAVR1_HIGH	60      /*  HIGH ORDER 32 BITS */
 I7    X  49445 #define	CHF$S_MCH_SIG64_ADDR	8
 I7    X  49446 #define	CHF$PH_MCH_SIG64_ADDR	64      /*  64-bit sig array ptr */
 I7    X  49447 #define	CHF$S_MCH_SAVF32_SAVF127	8
 I7    X  49448 #define	CHF$PH_MCH_SAVF32_SAVF127	72
 I7    X  49449 #define	CHF$S_MCH_RETVAL_FLOAT	16
 I7    X  49450 #define	CHF$FH_MCH_RETVAL_FLOAT	80
 I7    X  49451 #define	CHF$S_MCH_RETVAL2_FLOAT	16
 I7    X  49452 #define	CHF$FH_MCH_RETVAL2_FLOAT	96
 I7    X  49453 #define	CHF$S_MCH_SAVF2	16
 I7    X  49454 #define	CHF$FH_MCH_SAVF2	112
 I7    X  49455 #define	CHF$S_MCH_SAVF3	16
 I7    X  49456 #define	CHF$FH_MCH_SAVF3	128
 I7    X  49457 #define	CHF$S_MCH_SAVF4	16
 I7    X  49458 #define	CHF$FH_MCH_SAVF4	144
 I7    X  49459 #define	CHF$S_MCH_SAVF5	16
 I7    X  49460 #define	CHF$FH_MCH_SAVF5	160
 I7    X  49461 #define	CHF$S_MCH_SAVF12	16
 I7    X  49462 #define	CHF$FH_MCH_SAVF12	176
 I7    X  49463 #define	CHF$S_MCH_SAVF13	16
 I7    X  49464 #define	CHF$FH_MCH_SAVF13	192
 I7    X  49465 #define	CHF$S_MCH_SAVF14	16
 I7    X  49466 #define	CHF$FH_MCH_SAVF14	208

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 894
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  49467 #define	CHF$S_MCH_SAVF15	16
 I7    X  49468 #define	CHF$FH_MCH_SAVF15	224
 I7    X  49469 #define	CHF$S_MCH_SAVF16	16
 I7    X  49470 #define	CHF$FH_MCH_SAVF16	240
 I7    X  49471 #define	CHF$S_MCH_SAVF17	16
 I7    X  49472 #define	CHF$FH_MCH_SAVF17	256
 I7    X  49473 #define	CHF$S_MCH_SAVF18	16
 I7    X  49474 #define	CHF$FH_MCH_SAVF18	272
 I7    X  49475 #define	CHF$S_MCH_SAVF19	16
 I7    X  49476 #define	CHF$FH_MCH_SAVF19	288
 I7    X  49477 #define	CHF$S_MCH_SAVF20	16
 I7    X  49478 #define	CHF$FH_MCH_SAVF20	304
 I7    X  49479 #define	CHF$S_MCH_SAVF21	16
 I7    X  49480 #define	CHF$FH_MCH_SAVF21	320
 I7    X  49481 #define	CHF$S_MCH_SAVF22	16
 I7    X  49482 #define	CHF$FH_MCH_SAVF22	336
 I7    X  49483 #define	CHF$S_MCH_SAVF23	16
 I7    X  49484 #define	CHF$FH_MCH_SAVF23	352
 I7    X  49485 #define	CHF$S_MCH_SAVF24	16
 I7    X  49486 #define	CHF$FH_MCH_SAVF24	368
 I7    X  49487 #define	CHF$S_MCH_SAVF25	16
 I7    X  49488 #define	CHF$FH_MCH_SAVF25	384
 I7    X  49489 #define	CHF$S_MCH_SAVF26	16
 I7    X  49490 #define	CHF$FH_MCH_SAVF26	400
 I7    X  49491 #define	CHF$S_MCH_SAVF27	16
 I7    X  49492 #define	CHF$FH_MCH_SAVF27	416
 I7    X  49493 #define	CHF$S_MCH_SAVF28	16
 I7    X  49494 #define	CHF$FH_MCH_SAVF28	432
 I7    X  49495 #define	CHF$S_MCH_SAVF29	16
 I7    X  49496 #define	CHF$FH_MCH_SAVF29	448
 I7    X  49497 #define	CHF$S_MCH_SAVF30	16
 I7    X  49498 #define	CHF$FH_MCH_SAVF30	464
 I7    X  49499 #define	CHF$S_MCH_SAVF31	16
 I7    X  49500 #define	CHF$FH_MCH_SAVF31	480
 I7    X  49501 #define	CHF$S_MCH_SAVB1	8
 I7    X  49502 #define	CHF$IH_MCH_SAVB1	496
 I7    X  49503 #define	CHF$S_MCH_SAVB2	8
 I7    X  49504 #define	CHF$IH_MCH_SAVB2	504
 I7    X  49505 #define	CHF$S_MCH_SAVB3	8
 I7    X  49506 #define	CHF$IH_MCH_SAVB3	512
 I7    X  49507 #define	CHF$S_MCH_SAVB4	8
 I7    X  49508 #define	CHF$IH_MCH_SAVB4	520
 I7    X  49509 #define	CHF$S_MCH_SAVB5	8
 I7    X  49510 #define	CHF$IH_MCH_SAVB5	528
 I7    X  49511 #define	CHF$S_MCH_AR_LC	8
 I7    X  49512 #define	CHF$IH_MCH_AR_LC	536
 I7    X  49513 #define	CHF$S_MCH_AR_EC	8
 I7    X  49514 #define	CHF$IH_MCH_AR_EC	544
 I7    X  49515 #define	CHF$S_MCH_OSSD	8
 I7    X  49516 #define	CHF$PH_MCH_OSSD	552
 I7    X  49517 #define	CHF$S_MCH_INVO_HANDLE	8
 I7    X  49518 #define	CHF$Q_MCH_INVO_HANDLE	560
 I7    X  49519 #define	CHF$S_MCH_UWR_START	8
 I7    X  49520 #define	CHF$PH_MCH_UWR_START	568
 I7    X  49521 #define	CHF$S_MCH_FPSR	8
 I7    X  49522 #define	CHF$IH_MCH_FPSR	576
 I7    X  49523 #define	CHF$S_MCH_FPSS	8

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 895
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  49524 #define	CHF$IH_MCH_FPSS	584
 I7    X  49525 #define	CHF$M_CALEXT_CANCEL	0x1
 I7    X  49526 #define	CHF$M_CALEXT_LAST	0x2
 I7    X  49527 #define	CHF$K_CALEXT_LENGTH	16      /*  LENGTH OF CATCH-ALL DESC BLOCK */
 I7    X  49528 #define	CHF$C_CALEXT_LENGTH	16      /*  LENGTH OF CATCH-ALL DESC BLOCK */
 I7    X  49529 #define	CHF$S_CHFDEF3	16
 I7    X  49530 #define	CHF$L_CALEXT_LINK	0       /*  CATCH-ALL EXTENSION LINK */
 I7    X  49531 #define	CHF$L_CALEXT_ADDRESS	4       /*  ADDRESS OF CATCH-ALL EXTENSION */
 I7    X  49532 #define	CHF$L_CALEXT_FLAGS	8       /*  FLAGS */
 I7    X  49533 #define	CHF$V_CALEXT_CANCEL	0       /*  REMOVE CATCH-ALL EXTENSION */
 I7    X  49534 #define	CHF$V_CALEXT_LAST	1       /*  LAST CATCH-ALL EXTENSION */
 I7    X  49535 #define	CHF$L_CALEXT_RESERVED	12      /*  RESERVED */
 I7    X  49536 #define	CHF64$S_CHFDEF6	24
 I7    X  49537 #define	CHF64$L_SIG_ARGS	0       /*   Longword including count & options */
 I7    X  49538 #define	CHF64$W_SIG_ARG_COUNT	0       /*   Word holding count itself */
 I7    X  49539 #define	CHF64$W_SIG_MSG_OPTIONS	2       /*   Word containing message options */
 I7    X  49540 #define	CHF64$L_SIGNAL64	4       /*   64-bit array tag: overlays sig_name of 32b version */
 I7    X  49541 #define	CHF64$S_SIG_NAME	8
 I7    X  49542 #define	CHF64$Q_SIG_NAME	8       /*   Signal value */
 I7    X  49543 #define	CHF64$S_SIG_ARG1	8
 I7    X  49544 #define	CHF64$Q_SIG_ARG1	16      /*   First signal argument */
 I7    X  49545 	/* $DEFEND	CHF,$GBL,DEF */
 I7    X  49546 	/* .ENDM */
 I7    X  49547 
 I7    X  49548 /*  IA64 assembler header ends here */
 I7    X  49549 
 I7    X  49550 #else /* IAS_ASSEMBLER */
 I7	  49551 
 I7	  49552 /*  CC header begins here */
 I7	  49553 
 I7	  49554 /*******************************************************************************************************************
 I7	  49554 *************/
 I7	  49555 /* Created:  9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3      */
 I7	  49556 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFAE.SDI;1 */
 I7	  49557 /*******************************************************************************************************************
 I7	  49557 *************/
 I7	  49558 /*** MODULE $CHFDEF ***/
 I7	  49559 #ifndef __CHFDEF_LOADED
 I7	  49560 #define __CHFDEF_LOADED 1
 I7	  49561  
 I7	  49562 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I7	  49563 #pragma __member_alignment __save
 I7	  49564 #pragma __nomember_alignment
 I7	  49565 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7	  49566 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I7	  49567 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I7	  49568 #endif
 I7	  49569  
 I7    X  49570 #ifdef __cplusplus
 I7    X  49571     extern "C" {
 I7    X  49572 #define __unknown_params ...
 I7    X  49573 #define __optional_params ...
 I7    X  49574 #else
 I7	  49575 #define __unknown_params
 I7	  49576 #define __optional_params ...
 I7	  49577 #endif
 I7	  49578  

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 896
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  49579 #ifndef __struct
 I7    X  49580 #if !defined(__VAXC)
 I7    X  49581 #define __struct struct
 I7    X  49582 #else
 I7    X  49583 #define __struct variant_struct
 I7    X  49584 #endif
 I7    X  49585 #endif
 I7	  49586  
 I7    X  49587 #ifndef __union
 I7    X  49588 #if !defined(__VAXC)
 I7    X  49589 #define __union union
 I7    X  49590 #else
 I7    X  49591 #define __union variant_union
 I7    X  49592 #endif
 I7    X  49593 #endif
 I7	  49594  
 I7	  49595 /*                                                                          */
 I7	  49596 /* CONDITION HANDLING ARGUMENT LIST OFFSETS                                 */
 I7	  49597 /* THERE ARE FOUR CONDITIONAL HANDLING STRUCTURES: THE PRIMARY ARGUMENT     */
 I7	  49598 /* LIST, THE SIGNAL AND MECHANISM ARRAYS AND THE ALPHA EXCEPTION RECORD     */
 I7	  49599 /* ALL ARE IDENTIFIED BY THE SAME BLOCK PREFIX.                             */
 I7	  49600 /*                                                                          */
 I7	  49601 	
 I7    X  49602 #ifdef __NEW_STARLET
 I7    X  49603 struct _chfdef1;
 I7    X  49604 struct _chfdef2;
 I7    X  49605 struct _chfdef6;
 I7    X  49606 #else
 I7	  49607 struct chfdef1;
 I7	  49608 struct chfdef2;
 I7	  49609 struct chfdef6;
 I7	  49610 #endif
 I7	  49611 	
 I7	  49612  
 I7    X  49613 #ifdef __cplusplus		    /* Define structure prototypes */
 I7    X  49614 struct _chfdef1;
 I7    X  49615 struct _chfdef2;
 I7    X  49616 #endif		/* #ifdef __cplusplus */
 I7	  49617  
 I7    X  49618 #ifdef __NEW_STARLET
 I7    X  49619 typedef struct _chfdef {
 I7    X  49620     struct _chfdef1 *chf$l_sigarglst;   /*ADDRESS OF SIGNAL ARGUMENTS ~~~ struct chfdef1 ~~~ */
 I7    X  49621     int chfdef$$_fill_1;                /* Upper 32 bits of PACKed structure */
 I7    X  49622     struct _chfdef2 *chf$l_mcharglst;   /*ADDRESS OF MECHANISM ARGUMENTS ~~~ struct chfdef2 ~~~ */
 I7    X  49623     } CHFDEF;
 I7    X  49624 #else	    /* __OLD_STARLET */
 I7	  49625 struct chfdef {
 I7	  49626      struct chfdef1  *chf$l_sigarglst;              /*ADDRESS OF SIGNAL ARGUMENTS  */
 I7	  49627     int chfdef$$_fill_1;                /* Upper 32 bits of PACKed structure */
 I7	  49628      struct chfdef2  *chf$l_mcharglst;              /*ADDRESS OF MECHANISM ARGUMENTS  */
 I7	  49629     } ;
 I7	  49630 #endif	    /* #ifdef __NEW_STARLET */
 I7	  49631 	
 I7    X  49632 #ifdef __NEW_STARLET
 I7    X  49633 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7    X  49634 #pragma __nomember_alignment __longword
 I7    X  49635 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 897
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  49636 #pragma __nomember_alignment
 I7    X  49637 #endif
 I7    X  49638 typedef struct _chfdef1 {
 I7    X  49639 #pragma __nomember_alignment
 I7    X  49640     __union  {
 I7    X  49641         int chf$is_sig_args;            /*NUMBER OF SIGNAL ARGUMENTS        */
 I7    X  49642         int chf$l_sig_args;             /*obsolete def                      */
 I7    X  49643         } chf$r_sig_args_desc;
 I7    X  49644     __union  {
 I7    X  49645         int chf$is_sig_name;            /*SIGNAL NAME                       */
 I7    X  49646         int chf$l_sig_name;             /*obsolete def                      */
 I7    X  49647         } chf$r_sig_name_desc;
 I7    X  49648     __union  {
 I7    X  49649         int chf$is_sig_arg1;            /*FIRST SIGNAL SPECIFIC ARGUMENT    */
 I7    X  49650         int chf$l_sig_arg1;             /*obsolete def                      */
 I7    X  49651         } chf$r_sig_arg1_desc;
 I7    X  49652     } CHFDEF1;
 I7    X  49653  
 I7    X  49654 #if !defined(__VAXC)
 I7    X  49655 #define chf$is_sig_args chf$r_sig_args_desc.chf$is_sig_args
 I7    X  49656 #define chf$l_sig_args chf$r_sig_args_desc.chf$l_sig_args
 I7    X  49657 #define chf$is_sig_name chf$r_sig_name_desc.chf$is_sig_name
 I7    X  49658 #define chf$l_sig_name chf$r_sig_name_desc.chf$l_sig_name
 I7    X  49659 #define chf$is_sig_arg1 chf$r_sig_arg1_desc.chf$is_sig_arg1
 I7    X  49660 #define chf$l_sig_arg1 chf$r_sig_arg1_desc.chf$l_sig_arg1
 I7    X  49661 #endif		/* #if !defined(__VAXC) */
 I7    X  49662  
 I7    X  49663 #else	    /* __OLD_STARLET */
 I7	  49664 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7	  49665 #pragma __nomember_alignment __longword
 I7    X  49666 #else
 I7    X  49667 #pragma __nomember_alignment
 I7    X  49668 #endif
 I7	  49669 struct chfdef1 {
 I7	  49670 #pragma __nomember_alignment
 I7	  49671     __union  {
       E	     union
 I7	  49672         int chf$is_sig_args;            /*NUMBER OF SIGNAL ARGUMENTS        */
 I7	  49673         int chf$l_sig_args;             /*obsolete def                      */
 I7	  49674         } chf$r_sig_args_desc;
 I7	  49675     __union  {
       E	     union
 I7	  49676         int chf$is_sig_name;            /*SIGNAL NAME                       */
 I7	  49677         int chf$l_sig_name;             /*obsolete def                      */
 I7	  49678         } chf$r_sig_name_desc;
 I7	  49679     __union  {
       E	     union
 I7	  49680         int chf$is_sig_arg1;            /*FIRST SIGNAL SPECIFIC ARGUMENT    */
 I7	  49681         int chf$l_sig_arg1;             /*obsolete def                      */
 I7	  49682         } chf$r_sig_arg1_desc;
 I7	  49683     } ;
 I7	  49684  
 I7	  49685 #if !defined(__VAXC)
 I7	  49686 #define chf$is_sig_args chf$r_sig_args_desc.chf$is_sig_args
 I7	  49687 #define chf$l_sig_args chf$r_sig_args_desc.chf$l_sig_args
 I7	  49688 #define chf$is_sig_name chf$r_sig_name_desc.chf$is_sig_name
 I7	  49689 #define chf$l_sig_name chf$r_sig_name_desc.chf$l_sig_name

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 898
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7	  49690 #define chf$is_sig_arg1 chf$r_sig_arg1_desc.chf$is_sig_arg1
 I7	  49691 #define chf$l_sig_arg1 chf$r_sig_arg1_desc.chf$l_sig_arg1
 I7	  49692 #endif		/* #if !defined(__VAXC) */
 I7	  49693  
 I7	  49694 #endif	    /* #ifdef __NEW_STARLET */
 I7	  49695 #define CHF$M_FPREGS_VALID 0x1
 I7	  49696 #define CHF$M_FPREGS2_VALID 0x2
 I7	  49697 	
 I7    X  49698 #ifdef __NEW_STARLET
 I7    X  49699 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7    X  49700 #pragma __nomember_alignment __quadword
 I7    X  49701 #else
 I7    X  49702 #pragma __nomember_alignment
 I7    X  49703 #endif
 I7    X  49704 typedef struct _chfdef2 {
 I7    X  49705 #pragma __nomember_alignment
 I7    X  49706     __union  {
 I7    X  49707         __int64 chf$q_mch_args;
 I7    X  49708         __struct  {
 I7    X  49709             int chf$is_mch_args;
 I7    X  49710             __union  {
 I7    X  49711                 int chf$is_mch_flags;   /*Flags                             */
 I7    X  49712                 __struct  {             /*Flags bits.                       */
 I7    X  49713                     unsigned chf$v_fpregs_valid : 1; /*FP registers stored in MCH. */
 I7    X  49714                     unsigned chf$v_fpregs2_valid : 1;
 I7    X  49715                     unsigned chf$v_fill_71_ : 6;
 I7    X  49716                     } chf$r_mch_flags_bits;
 I7    X  49717                 } chf$r_mch_flags_desc;
 I7    X  49718             } chf$r_mch_args_desc2;
 I7    X  49719         } chf$r_mch_args_desc1;
 I7    X  49720     __int64 chf$q_mch_frame;
 I7    X  49721     __union  {
 I7    X  49722         __int64 chf$q_mch_depth;
 I7    X  49723         __struct  {                     /*2 longwords which are part of MCH_DEPTH */
 I7    X  49724             int chf$is_mch_depth;       /*FRAME DEPTH OF ESTABLISHER        */
 I7    X  49725             int chf$is_mch_resvd1;      /*reserved, paired with DEPTH       */
 I7    X  49726             } chf$r_mch_depth_field;
 I7    X  49727         } chf$r_mch_depth_desc;
 I7    X  49728     __int64 chf$q_mch_daddr;
 I7    X  49729     __int64 chf$q_mch_esf_addr;
 I7    X  49730     __int64 chf$q_mch_sig_addr;
 I7    X  49731     __union  {
 I7    X  49732         __int64 chf$q_mch_savr0;
 I7    X  49733         __int64 chf$q_mch_retval;
 I7    X  49734         __int64 chf$ih_mch_retval;
 I7    X  49735         } chf$r_retval;
 I7    X  49736     __union  {
 I7    X  49737         __int64 chf$q_mch_savr1;
 I7    X  49738         __int64 chf$q_mch_retval2;
 I7    X  49739         __int64 chf$ih_mch_retval2;
 I7    X  49740         } chf$r_retval2;
 I7    X  49741 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7    X  49742 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I7    X  49743     void *chf$ph_mch_sig64_addr;        /*64-bit sig array ptr              */
 I7    X  49744 #else
 I7    X  49745 	unsigned __int64 chf$ph_mch_sig64_addr;
 I7    X  49746 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 899
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  49747 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7    X  49748 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I7    X  49749     void *chf$ph_mch_savf32_savf127;
 I7    X  49750 #else
 I7    X  49751 	unsigned __int64 chf$ph_mch_savf32_savf127;
 I7    X  49752 #endif
 I7    X  49753     unsigned char chf$fh_mch_retval_float [16];
 I7    X  49754     unsigned char chf$fh_mch_retval2_float [16];
 I7    X  49755     unsigned char chf$fh_mch_savf2 [16];
 I7    X  49756     unsigned char chf$fh_mch_savf3 [16];
 I7    X  49757     unsigned char chf$fh_mch_savf4 [16];
 I7    X  49758     unsigned char chf$fh_mch_savf5 [16];
 I7    X  49759     unsigned char chf$fh_mch_savf12 [16];
 I7    X  49760     unsigned char chf$fh_mch_savf13 [16];
 I7    X  49761     unsigned char chf$fh_mch_savf14 [16];
 I7    X  49762     unsigned char chf$fh_mch_savf15 [16];
 I7    X  49763     unsigned char chf$fh_mch_savf16 [16];
 I7    X  49764     unsigned char chf$fh_mch_savf17 [16];
 I7    X  49765     unsigned char chf$fh_mch_savf18 [16];
 I7    X  49766     unsigned char chf$fh_mch_savf19 [16];
 I7    X  49767     unsigned char chf$fh_mch_savf20 [16];
 I7    X  49768     unsigned char chf$fh_mch_savf21 [16];
 I7    X  49769     unsigned char chf$fh_mch_savf22 [16];
 I7    X  49770     unsigned char chf$fh_mch_savf23 [16];
 I7    X  49771     unsigned char chf$fh_mch_savf24 [16];
 I7    X  49772     unsigned char chf$fh_mch_savf25 [16];
 I7    X  49773     unsigned char chf$fh_mch_savf26 [16];
 I7    X  49774     unsigned char chf$fh_mch_savf27 [16];
 I7    X  49775     unsigned char chf$fh_mch_savf28 [16];
 I7    X  49776     unsigned char chf$fh_mch_savf29 [16];
 I7    X  49777     unsigned char chf$fh_mch_savf30 [16];
 I7    X  49778     unsigned char chf$fh_mch_savf31 [16];
 I7    X  49779     __union  {
 I7    X  49780         __int64 chf$ih_mch_savb1;
 I7    X  49781         __int64 chf$q_mch_savb1;        /* Obsolete definition              */
 I7    X  49782         } chf$r_savb1;
 I7    X  49783     __union  {
 I7    X  49784         __int64 chf$ih_mch_savb2;
 I7    X  49785         __int64 chf$q_mch_savb2;        /* Obsolete definition              */
 I7    X  49786         } chf$r_savb2;
 I7    X  49787     __union  {
 I7    X  49788         __int64 chf$ih_mch_savb3;
 I7    X  49789         __int64 chf$q_mch_savb3;        /* Obsolete definition              */
 I7    X  49790         } chf$r_savb3;
 I7    X  49791     __union  {
 I7    X  49792         __int64 chf$ih_mch_savb4;
 I7    X  49793         __int64 chf$q_mch_savb4;        /* Obsolete definition              */
 I7    X  49794         } chf$r_savb4;
 I7    X  49795     __union  {
 I7    X  49796         __int64 chf$ih_mch_savb5;
 I7    X  49797         __int64 chf$q_mch_savb5;        /* Obsolete definition              */
 I7    X  49798         } chf$r_savb5;
 I7    X  49799     __union  {
 I7    X  49800         __int64 chf$ih_mch_ar_lc;
 I7    X  49801         __int64 chf$q_mch_ar_lc;        /* Obsolete definition              */
 I7    X  49802         } chf$r_ar_ec;
 I7    X  49803     __int64 chf$ih_mch_ar_ec;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 900
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  49804 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7    X  49805 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I7    X  49806     void *chf$ph_mch_ossd;
 I7    X  49807 #else
 I7    X  49808 	unsigned __int64 chf$ph_mch_ossd;
 I7    X  49809 #endif
 I7    X  49810     unsigned __int64 chf$q_mch_invo_handle;
 I7    X  49811 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7    X  49812 #pragma __required_pointer_size __long		 /* And set ptr size default to 64-bit pointers */
 I7    X  49813     void *chf$ph_mch_uwr_start;
 I7    X  49814 #else
 I7    X  49815 	unsigned __int64 chf$ph_mch_uwr_start;
 I7    X  49816 #endif
 I7    X  49817     unsigned __int64 chf$ih_mch_fpsr;
 I7    X  49818     unsigned __int64 chf$ih_mch_fpss;
 I7    X  49819     } CHFDEF2;
 I7    X  49820  
 I7    X  49821 #if !defined(__VAXC)
 I7    X  49822 #define chf$q_mch_args chf$r_mch_args_desc1.chf$q_mch_args
 I7    X  49823 #define chf$r_mch_args_desc2	chf$r_mch_args_desc1.chf$r_mch_args_desc2
 I7    X  49824 #define chf$is_mch_args chf$r_mch_args_desc2.chf$is_mch_args
 I7    X  49825 #define chf$is_mch_flags chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$is_mch_flags
 I7    X  49826 #define chf$r_mch_flags_bits	chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$r_mch_flags_bits
 I7    X  49827 #define chf$v_fpregs_valid chf$r_mch_flags_bits.chf$v_fpregs_valid
 I7    X  49828 #define chf$v_fpregs2_valid chf$r_mch_flags_bits.chf$v_fpregs2_valid
 I7    X  49829 #define chf$q_mch_depth chf$r_mch_depth_desc.chf$q_mch_depth
 I7    X  49830 #define chf$is_mch_depth chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_depth
 I7    X  49831 #define chf$is_mch_resvd1 chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_resvd1
 I7    X  49832 #define chf$q_mch_savr0 chf$r_retval.chf$q_mch_savr0
 I7    X  49833 #define chf$q_mch_retval chf$r_retval.chf$q_mch_retval
 I7    X  49834 #define chf$ih_mch_retval chf$r_retval.chf$ih_mch_retval
 I7    X  49835 #define chf$q_mch_savr1 chf$r_retval2.chf$q_mch_savr1
 I7    X  49836 #define chf$q_mch_retval2 chf$r_retval2.chf$q_mch_retval2
 I7    X  49837 #define chf$ih_mch_retval2 chf$r_retval2.chf$ih_mch_retval2
 I7    X  49838 #define chf$ih_mch_savb1 chf$r_savb1.chf$ih_mch_savb1
 I7    X  49839 #define chf$q_mch_savb1 chf$r_savb1.chf$q_mch_savb1
 I7    X  49840 #define chf$ih_mch_savb2 chf$r_savb2.chf$ih_mch_savb2
 I7    X  49841 #define chf$q_mch_savb2 chf$r_savb2.chf$q_mch_savb2
 I7    X  49842 #define chf$ih_mch_savb3 chf$r_savb3.chf$ih_mch_savb3
 I7    X  49843 #define chf$q_mch_savb3 chf$r_savb3.chf$q_mch_savb3
 I7    X  49844 #define chf$ih_mch_savb4 chf$r_savb4.chf$ih_mch_savb4
 I7    X  49845 #define chf$q_mch_savb4 chf$r_savb4.chf$q_mch_savb4
 I7    X  49846 #define chf$ih_mch_savb5 chf$r_savb5.chf$ih_mch_savb5
 I7    X  49847 #define chf$q_mch_savb5 chf$r_savb5.chf$q_mch_savb5
 I7    X  49848 #define chf$ih_mch_ar_lc chf$r_ar_ec.chf$ih_mch_ar_lc
 I7    X  49849 #define chf$q_mch_ar_lc chf$r_ar_ec.chf$q_mch_ar_lc
 I7    X  49850 #endif		/* #if !defined(__VAXC) */
 I7    X  49851  
 I7    X  49852 #else	    /* __OLD_STARLET */
 I7	  49853 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7	  49854 #pragma __nomember_alignment __quadword
 I7    X  49855 #else
 I7    X  49856 #pragma __nomember_alignment
 I7    X  49857 #endif
 I7	  49858 struct chfdef2 {
 I7	  49859 #pragma __nomember_alignment
 I7	  49860     __union  {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 901
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

       E	     union
 I7	  49861         __int64 chf$q_mch_args;
 I7	  49862         __struct  {
       E	         struct
 I7	  49863             int chf$is_mch_args;
 I7	  49864             __union  {
       E	             union
 I7	  49865                 int chf$is_mch_flags;   /*Flags                             */
 I7	  49866                 __struct  {             /*Flags bits.                       */
       E	                 struct
 I7	  49867                     unsigned chf$v_fpregs_valid : 1; /*FP registers stored in MCH. */
 I7	  49868                     unsigned chf$v_fpregs2_valid : 1;
 I7	  49869                     unsigned chf$v_fill_71_ : 6;
 I7	  49870                     } chf$r_mch_flags_bits;
 I7	  49871                 } chf$r_mch_flags_desc;
 I7	  49872             } chf$r_mch_args_desc2;
 I7	  49873         } chf$r_mch_args_desc1;
 I7	  49874     __int64 chf$q_mch_frame;
 I7	  49875     __union  {
       E	     union
 I7	  49876         __int64 chf$q_mch_depth;
 I7	  49877         __struct  {                     /*2 longwords which are part of MCH_DEPTH */
       E	         struct
 I7	  49878             int chf$is_mch_depth;       /*FRAME DEPTH OF ESTABLISHER        */
 I7	  49879             int chf$is_mch_resvd1;      /*reserved, paired with DEPTH       */
 I7	  49880             } chf$r_mch_depth_field;
 I7	  49881         } chf$r_mch_depth_desc;
 I7	  49882     __int64 chf$q_mch_daddr;
 I7	  49883     __int64 chf$q_mch_esf_addr;
 I7	  49884     __int64 chf$q_mch_sig_addr;
 I7	  49885     __union  {
       E	     union
 I7	  49886         __int64 chf$q_mch_savr0;
 I7	  49887         __int64 chf$q_mch_retval;
 I7	  49888         __int64 chf$ih_mch_retval;
 I7	  49889         } chf$r_retval;
 I7	  49890     __union  {
       E	     union
 I7	  49891         __int64 chf$q_mch_savr1;
 I7	  49892         __int64 chf$q_mch_retval2;
 I7	  49893         __int64 chf$ih_mch_retval2;
 I7	  49894         } chf$r_retval2;
 I7	  49895     unsigned __int64 chf$ph_mch_sig64_addr; /*64-bit sig array ptr          */
 I7	  49896     unsigned __int64 chf$ph_mch_savf32_savf127;
 I7	  49897     unsigned char chf$fh_mch_retval_float [16];
 I7	  49898     unsigned char chf$fh_mch_retval2_float [16];
 I7	  49899     unsigned char chf$fh_mch_savf2 [16];
 I7	  49900     unsigned char chf$fh_mch_savf3 [16];
 I7	  49901     unsigned char chf$fh_mch_savf4 [16];
 I7	  49902     unsigned char chf$fh_mch_savf5 [16];
 I7	  49903     unsigned char chf$fh_mch_savf12 [16];
 I7	  49904     unsigned char chf$fh_mch_savf13 [16];
 I7	  49905     unsigned char chf$fh_mch_savf14 [16];
 I7	  49906     unsigned char chf$fh_mch_savf15 [16];
 I7	  49907     unsigned char chf$fh_mch_savf16 [16];
 I7	  49908     unsigned char chf$fh_mch_savf17 [16];
 I7	  49909     unsigned char chf$fh_mch_savf18 [16];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 902
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7	  49910     unsigned char chf$fh_mch_savf19 [16];
 I7	  49911     unsigned char chf$fh_mch_savf20 [16];
 I7	  49912     unsigned char chf$fh_mch_savf21 [16];
 I7	  49913     unsigned char chf$fh_mch_savf22 [16];
 I7	  49914     unsigned char chf$fh_mch_savf23 [16];
 I7	  49915     unsigned char chf$fh_mch_savf24 [16];
 I7	  49916     unsigned char chf$fh_mch_savf25 [16];
 I7	  49917     unsigned char chf$fh_mch_savf26 [16];
 I7	  49918     unsigned char chf$fh_mch_savf27 [16];
 I7	  49919     unsigned char chf$fh_mch_savf28 [16];
 I7	  49920     unsigned char chf$fh_mch_savf29 [16];
 I7	  49921     unsigned char chf$fh_mch_savf30 [16];
 I7	  49922     unsigned char chf$fh_mch_savf31 [16];
 I7	  49923     __union  {
       E	     union
 I7	  49924         __int64 chf$ih_mch_savb1;
 I7	  49925         __int64 chf$q_mch_savb1;        /* Obsolete definition              */
 I7	  49926         } chf$r_savb1;
 I7	  49927     __union  {
       E	     union
 I7	  49928         __int64 chf$ih_mch_savb2;
 I7	  49929         __int64 chf$q_mch_savb2;        /* Obsolete definition              */
 I7	  49930         } chf$r_savb2;
 I7	  49931     __union  {
       E	     union
 I7	  49932         __int64 chf$ih_mch_savb3;
 I7	  49933         __int64 chf$q_mch_savb3;        /* Obsolete definition              */
 I7	  49934         } chf$r_savb3;
 I7	  49935     __union  {
       E	     union
 I7	  49936         __int64 chf$ih_mch_savb4;
 I7	  49937         __int64 chf$q_mch_savb4;        /* Obsolete definition              */
 I7	  49938         } chf$r_savb4;
 I7	  49939     __union  {
       E	     union
 I7	  49940         __int64 chf$ih_mch_savb5;
 I7	  49941         __int64 chf$q_mch_savb5;        /* Obsolete definition              */
 I7	  49942         } chf$r_savb5;
 I7	  49943     __union  {
       E	     union
 I7	  49944         __int64 chf$ih_mch_ar_lc;
 I7	  49945         __int64 chf$q_mch_ar_lc;        /* Obsolete definition              */
 I7	  49946         } chf$r_ar_ec;
 I7	  49947     __int64 chf$ih_mch_ar_ec;
 I7	  49948     unsigned __int64 chf$ph_mch_ossd;
 I7	  49949     unsigned int chf$q_mch_invo_handle [2];
 I7	  49950     unsigned __int64 chf$ph_mch_uwr_start;
 I7	  49951     unsigned __int64 chf$ih_mch_fpsr;
 I7	  49952     unsigned __int64 chf$ih_mch_fpss;
 I7	  49953     } ;
 I7	  49954  
 I7	  49955 #if !defined(__VAXC)
 I7	  49956 #define chf$q_mch_args chf$r_mch_args_desc1.chf$q_mch_args
 I7	  49957 #define chf$is_mch_args chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$is_mch_args
 I7	  49958 #define chf$is_mch_flags chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$is_mch_flags
 I7	  49959 #define chf$v_fpregs_valid chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$r_mch_flags_bits.chf$v
 I7	  49959 _fpregs_valid

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 903
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7	  49960 #define chf$v_fpregs2_valid chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$r_mch_flags_bits.chf$
 I7	  49960 v_fpregs2_valid
 I7	  49961 #define chf$q_mch_depth chf$r_mch_depth_desc.chf$q_mch_depth
 I7	  49962 #define chf$is_mch_depth chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_depth
 I7	  49963 #define chf$is_mch_resvd1 chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_resvd1
 I7	  49964 #define chf$q_mch_savr0 chf$r_retval.chf$q_mch_savr0
 I7	  49965 #define chf$q_mch_retval chf$r_retval.chf$q_mch_retval
 I7	  49966 #define chf$ih_mch_retval chf$r_retval.chf$ih_mch_retval
 I7	  49967 #define chf$q_mch_savr1 chf$r_retval2.chf$q_mch_savr1
 I7	  49968 #define chf$q_mch_retval2 chf$r_retval2.chf$q_mch_retval2
 I7	  49969 #define chf$ih_mch_retval2 chf$r_retval2.chf$ih_mch_retval2
 I7	  49970 #define chf$ih_mch_savb1 chf$r_savb1.chf$ih_mch_savb1
 I7	  49971 #define chf$q_mch_savb1 chf$r_savb1.chf$q_mch_savb1
 I7	  49972 #define chf$ih_mch_savb2 chf$r_savb2.chf$ih_mch_savb2
 I7	  49973 #define chf$q_mch_savb2 chf$r_savb2.chf$q_mch_savb2
 I7	  49974 #define chf$ih_mch_savb3 chf$r_savb3.chf$ih_mch_savb3
 I7	  49975 #define chf$q_mch_savb3 chf$r_savb3.chf$q_mch_savb3
 I7	  49976 #define chf$ih_mch_savb4 chf$r_savb4.chf$ih_mch_savb4
 I7	  49977 #define chf$q_mch_savb4 chf$r_savb4.chf$q_mch_savb4
 I7	  49978 #define chf$ih_mch_savb5 chf$r_savb5.chf$ih_mch_savb5
 I7	  49979 #define chf$q_mch_savb5 chf$r_savb5.chf$q_mch_savb5
 I7	  49980 #define chf$ih_mch_ar_lc chf$r_ar_ec.chf$ih_mch_ar_lc
 I7	  49981 #define chf$q_mch_ar_lc chf$r_ar_ec.chf$q_mch_ar_lc
 I7	  49982 #endif		/* #if !defined(__VAXC) */
 I7	  49983  
 I7	  49984 #endif	    /* #ifdef __NEW_STARLET */
 I7	  49985 #define CHF$M_CALEXT_CANCEL 0x1
 I7	  49986 #define CHF$M_CALEXT_LAST 0x2
 I7	  49987 #define CHF$K_CALEXT_LENGTH 16          /*LENGTH OF CATCH-ALL DESC BLOCK    */
 I7	  49988 #define CHF$C_CALEXT_LENGTH 16          /*LENGTH OF CATCH-ALL DESC BLOCK    */
 I7	  49989 	
 I7    X  49990 #ifdef __NEW_STARLET
 I7    X  49991 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7    X  49992 #pragma __nomember_alignment __longword
 I7    X  49993 #else
 I7    X  49994 #pragma __nomember_alignment
 I7    X  49995 #endif
 I7    X  49996 typedef struct _chfdef3 {
 I7    X  49997 #pragma __nomember_alignment
 I7    X  49998     int chf$l_calext_link;              /*CATCH-ALL EXTENSION LINK          */
 I7    X  49999     int chf$l_calext_address;           /*ADDRESS OF CATCH-ALL EXTENSION    */
 I7    X  50000     __union  {
 I7    X  50001         unsigned int chf$l_calext_flags; /*FLAGS                            */
 I7    X  50002         __struct  {                     /*FLAGS BITS                        */
 I7    X  50003             unsigned chf$v_calext_cancel : 1; /*REMOVE CATCH-ALL EXTENSION  */
 I7    X  50004             unsigned chf$v_calext_last : 1; /*LAST CATCH-ALL EXTENSION      */
 I7    X  50005             unsigned chf$v_fill_72_ : 6;
 I7    X  50006             } chf$r_calext_flags_bits;
 I7    X  50007         } chf$r_calext_flags_desc;
 I7    X  50008     unsigned int chf$l_calext_reserved; /*RESERVED                          */
 I7    X  50009     } CHFDEF3;
 I7    X  50010  
 I7    X  50011 #if !defined(__VAXC)
 I7    X  50012 #define chf$l_calext_flags chf$r_calext_flags_desc.chf$l_calext_flags
 I7    X  50013 #define chf$v_calext_cancel chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_cancel
 I7    X  50014 #define chf$v_calext_last chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_last
 I7    X  50015 #endif		/* #if !defined(__VAXC) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 904
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  50016  
 I7    X  50017 #else	    /* __OLD_STARLET */
 I7	  50018 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7	  50019 #pragma __nomember_alignment __longword
 I7    X  50020 #else
 I7    X  50021 #pragma __nomember_alignment
 I7    X  50022 #endif
 I7	  50023 struct chfdef3 {
 I7	  50024 #pragma __nomember_alignment
 I7	  50025     int chf$l_calext_link;              /*CATCH-ALL EXTENSION LINK          */
 I7	  50026     int chf$l_calext_address;           /*ADDRESS OF CATCH-ALL EXTENSION    */
 I7	  50027     __union  {
       E	     union
 I7	  50028         unsigned int chf$l_calext_flags; /*FLAGS                            */
 I7	  50029         __struct  {                     /*FLAGS BITS                        */
       E	         struct
 I7	  50030             unsigned chf$v_calext_cancel : 1; /*REMOVE CATCH-ALL EXTENSION  */
 I7	  50031             unsigned chf$v_calext_last : 1; /*LAST CATCH-ALL EXTENSION      */
 I7	  50032             unsigned chf$v_fill_72_ : 6;
 I7	  50033             } chf$r_calext_flags_bits;
 I7	  50034         } chf$r_calext_flags_desc;
 I7	  50035     unsigned int chf$l_calext_reserved; /*RESERVED                          */
 I7	  50036     } ;
 I7	  50037  
 I7	  50038 #if !defined(__VAXC)
 I7	  50039 #define chf$l_calext_flags chf$r_calext_flags_desc.chf$l_calext_flags
 I7	  50040 #define chf$v_calext_cancel chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_cancel
 I7	  50041 #define chf$v_calext_last chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_last
 I7	  50042 #endif		/* #if !defined(__VAXC) */
 I7	  50043  
 I7	  50044 #endif	    /* #ifdef __NEW_STARLET */
 I7	  50045 	
 I7    X  50046 #ifdef __NEW_STARLET
 I7    X  50047 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7    X  50048 #pragma __nomember_alignment __quadword
 I7    X  50049 #else
 I7    X  50050 #pragma __nomember_alignment
 I7    X  50051 #endif
 I7    X  50052 typedef struct _chfdef6 {
 I7    X  50053 #pragma __nomember_alignment
 I7    X  50054     __union  {
 I7    X  50055         int chf64$l_sig_args;           /* Longword including count & options */
 I7    X  50056         __struct  {
 I7    X  50057             short int chf64$w_sig_arg_count; /* Word holding count itself   */
 I7    X  50058             short int chf64$w_sig_msg_options; /* Word containing message options */
 I7    X  50059             } chf64$r_sig_words;
 I7    X  50060         } chf64$r_sig_args_union;
 I7    X  50061     int chf64$l_signal64;               /* 64-bit array tag: overlays sig_name of 32b version */
 I7    X  50062     __int64 chf64$q_sig_name;           /* Signal value                     */
 I7    X  50063     __int64 chf64$q_sig_arg1;           /* First signal argument            */
 I7    X  50064     } CHFDEF6;
 I7    X  50065  
 I7    X  50066 #if !defined(__VAXC)
 I7    X  50067 #define chf64$l_sig_args chf64$r_sig_args_union.chf64$l_sig_args
 I7    X  50068 #define chf64$w_sig_arg_count chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_arg_count
 I7    X  50069 #define chf64$w_sig_msg_options chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_msg_options
 I7    X  50070 #endif		/* #if !defined(__VAXC) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 905
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7    X  50071  
 I7    X  50072 #else	    /* __OLD_STARLET */
 I7	  50073 #if !defined(__NOBASEALIGN_SUPPORT)  && !defined(__cplusplus)   /* If using pre DECC V4.0 or C++ */
 I7	  50074 #pragma __nomember_alignment __quadword
 I7    X  50075 #else
 I7    X  50076 #pragma __nomember_alignment
 I7    X  50077 #endif
 I7	  50078 struct chfdef6 {
 I7	  50079 #pragma __nomember_alignment
 I7	  50080     __union  {
       E	     union
 I7	  50081         int chf64$l_sig_args;           /* Longword including count & options */
 I7	  50082         __struct  {
       E	         struct
 I7	  50083             short int chf64$w_sig_arg_count; /* Word holding count itself   */
 I7	  50084             short int chf64$w_sig_msg_options; /* Word containing message options */
 I7	  50085             } chf64$r_sig_words;
 I7	  50086         } chf64$r_sig_args_union;
 I7	  50087     int chf64$l_signal64;               /* 64-bit array tag: overlays sig_name of 32b version */
 I7	  50088     int chf64$q_sig_name [2];           /* Signal value                     */
 I7	  50089     int chf64$q_sig_arg1 [2];           /* First signal argument            */
 I7	  50090     } ;
 I7	  50091  
 I7	  50092 #if !defined(__VAXC)
 I7	  50093 #define chf64$l_sig_args chf64$r_sig_args_union.chf64$l_sig_args
 I7	  50094 #define chf64$w_sig_arg_count chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_arg_count
 I7	  50095 #define chf64$w_sig_msg_options chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_msg_options
 I7	  50096 #endif		/* #if !defined(__VAXC) */
 I7	  50097  
 I7	  50098 #endif	    /* #ifdef __NEW_STARLET */
 I7	  50099 	
 I7    X  50100 #ifdef __NEW_STARLET
 I7    X  50101 #define chf$arglist _chfdef
 I7    X  50102 #define chf$signal_array _chfdef1
 I7    X  50103 #define chf$mech_array _chfdef2
 I7    X  50104 #define chf64$signal_array _chfdef6
 I7    X  50105 #define CHF$ARGLIST CHFDEF
 I7    X  50106 #define CHF$SIGNAL_ARRAY CHFDEF1
 I7    X  50107 #define CHF$MECH_ARRAY CHFDEF2
 I7    X  50108 #define CHF64$SIGNAL_ARRAY CHFDEF6
 I7    X  50109 #else
 I7	  50110 #define chf$arglist chfdef
 I7	  50111 #define chf$signal_array chfdef1
 I7	  50112 #define chf$mech_array chfdef2
 I7	  50113 #define chf64$signal_array chfdef6
 I7	  50114 #endif
 I7	  50115  
 I7	  50116 #pragma __member_alignment __restore
 I7	  50117 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7	  50118 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I7	  50119 #endif
 I7    X  50120 #ifdef __cplusplus
 I7    X  50121     }
 I7    X  50122 #endif
 I7	  50123 #pragma __standard
 I7	  50124  
 I7	  50125 #endif /* __CHFDEF_LOADED */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 906
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(CHFDEF)

 I7	  50126  
 I7	  50127 
 I7	  50128 /*  CC header ends here */
 I7	  50129 
 I7	  50130 #endif /* IAS_ASSEMBLER */
 I6	  50131 #  include <ssdef.h>
 I7	  50132 /*
 I7	  50133 //  Note: This header is use by both the CC compiler and the IA64 
 I7	  50134 //        assembler (via the CC preprocessor which creates the    
 I7	  50135 //        IA64 assembler source file).
 I7	  50136 //
 I7	  50137 //        The CC portion of this header starts at the comment line
 I7	  50138 //        'CC header begins here'.
 I7	  50139 //
 I7	  50140 // -----------------------------------------------------------------------------
 I7	  50141 */
 I7	  50142 
 I7    X  50143 #ifdef IAS_ASSEMBLER
 I7    X  50144 
 I7    X  50145 /*  IA64 assembler header begins here */
 I7    X  50146 
 I7    X  50147 /*  ************************************************************************* */
 I7    X  50148 /*  *                                                                       * */
 I7    X  50149 /*  * HP CONFIDENTIAL. This software is confidential proprietary software   * */
 I7    X  50150 /*  * licensed by Hewlett-Packard Development Company, L.P., and is not     * */
 I7    X  50151 /*  * authorized to be used, duplicated OR disclosed to anyone without the  * */
 I7    X  50152 /*  * prior written permission of HP.                                       * */
 I7    X  50153 /*  * © 2021 Copyright Hewlett-Packard Development Company, L.P.            * */
 I7    X  50154 /*  *                                                                       * */
 I7    X  50155 /*  * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I7    X  50156 /*  * proprietary software licensed by VMS Software, Inc., and is not       * */
 I7    X  50157 /*  * authorized to be used, duplicated or disclosed to anyone without      * */
 I7    X  50158 /*  * the prior written permission of VMS Software, Inc.                    * */
 I7    X  50159 /*  * © 2021 Copyright VMS Software, Inc.                                   * */
 I7    X  50160 /*  *                                                                       * */
 I7    X  50161 /*  ************************************************************************* */
 I7    X  50162 /*  ****************************************************************************************************************
 I7    X  50162 **************** */
 I7    X  50163 /*   Created:  9-Mar-2021 22:28:11 by OpenVMS SDL EV3-3       */
 I7    X  50164 /*   Source:  09-MAR-2021 22:28:11 $1$DGA8085:[STARLET_H.SRC]SSMSG.SDL;1  */
 I7    X  50165 /*  ****************************************************************************************************************
 I7    X  50165 **************** */
 I7    X  50166  
 I7    X  50167 	/* .MACRO	$SSDEF,$GBL */
 I7    X  50168 	/* $DEFINI	SS,$GBL */
 I7    X  50169 /*   */
 I7    X  50170 /*   This SDL File Generated by VAX-11 Message V04-00 on  9-MAR-2021 22:28:11.55 */
 I7    X  50171 /*   */
 I7    X  50172 /*   */
 I7    X  50173 /*   SSMSG.MSG - SYSTEM DEFINITION FILE FOR SYSTEM SERVICE MESSAGES */
 I7    X  50174 /*   */
 I7    X  50175 /*   VERSION:	'X-139' */
 I7    X  50176 /*   */
 I7    X  50177 /*   ************************************************************************* */
 I7    X  50178 /*   *                                                                       * */
 I7    X  50179 /*   * HP CONFIDENTIAL. THIS SOFTWARE IS CONFIDENTIAL PROPRIETARY SOFTWARE   * */
 I7    X  50180 /*   * LICENSED BY HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., AND IS NOT     * */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 907
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50181 /*   * AUTHORIZED TO BE USED, DUPLICATED OR DISCLOSED TO ANYONE WITHOUT THE  * */
 I7    X  50182 /*   * PRIOR WRITTEN PERMISSION OF HP.                                       * */
 I7    X  50183 /*   * (C) 2015 COPYRIGHT HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.          * */
 I7    X  50184 /*   *                                                                       * */
 I7    X  50185 /*   * VMS SOFTWARE, INC. CONFIDENTIAL. THIS SOFTWARE IS CONFIDENTIAL        * */
 I7    X  50186 /*   * PROPRIETARY SOFTWARE LICENSED BY VMS SOFTWARE, INC., AND IS NOT       * */
 I7    X  50187 /*   * AUTHORIZED TO BE USED, DUPLICATED OR DISCLOSED TO ANYONE WITHOUT      * */
 I7    X  50188 /*   * THE PRIOR WRITTEN PERMISSION OF VMS SOFTWARE, INC.                    * */
 I7    X  50189 /*   * (C) 2015-2018 COPYRIGHT VMS SOFTWARE, INC.                            * */
 I7    X  50190 /*   *                                                                       * */
 I7    X  50191 /*   ************************************************************************* */
 I7    X  50192 /*  ++ */
 I7    X  50193 /*   */
 I7    X  50194 /*   FACILITY:  VMS SYSTEM;.MACRO LIBRARIES */
 I7    X  50195 /*   */
 I7    X  50196 /*   ABSTRACT: */
 I7    X  50197 /*   */
 I7    X  50198 /*  	THIS FILE CONTAINS THE SDL SOURCE FOR SYSTEM SERVICE MESSAGES. */
 I7    X  50199 /*   */
 I7    X  50200 /*   GUIDELINES: */
 I7    X  50201 /*   */
 I7    X  50202 /*  	WITH THE RELEASE OF HELP MESSAGE, MESSAGE DOCUMENTATION MUST EXACTLY */
 I7    X  50203 /*  	MATCH THE MESSAGE TEXT IN THIS FILE IN ORDER FOR THE ONLINE SEARCH TO */
 I7    X  50204 /*  	SUCCEED.  TO AVOID DOCUMENTING EMBARRASSING TYPOS OR GRAMMATICAL */
 I7    X  50205 /*  	ERRORS, PLEASE FORWARD YOUR NEW OR CHANGED MESSAGES TO THE MESSAGES */
 I7    X  50206 /*  	WRITER FOR A QUICK EDIT.  VMS SENIOR MANAGEMENT SUPPORTS ENFORCING */
 I7    X  50207 /*  	STANDARD MESSAGE FORMATTING CONVENTIONS, WHICH ARE INCLUDED IN THE */
 I7    X  50208 /*  	FOLLOWING GUIDELINES. */
 I7    X  50209 /*   */
 I7    X  50210 /*       O SS$ CODE NAMES SHOULD BE 15 OR FEWER CHARACTERS TO PREVENT TRUNCATION */
 I7    X  50211 /*  	IN MESSAGE TEXT, WHICH CAUSES GENERAL CONFUSION. */
 I7    X  50212 /*   */
 I7    X  50213 /*       O	WORDS IN MESSAGES SHOULD NOT BEGIN WITH CAPS UNLESS THEY WOULD START */
 I7    X  50214 /*         WITH CAPS IN RUNNING TEXT.  FOR EXAMPLE, */
 I7    X  50215 /*   */
 I7    X  50216 /*  	    WRONG: <Exceeded Buffered I/O Quota */
 I7    X  50217 /*  	    RIGHT: <exceeded buffered I/O quota */
 I7    X  50218 /*   */
 I7    X  50219 /*  	THIS IS NOT WELL KNOWN, BUT THE $GETMSG SYSTEM SERVICE AUTOMATICALLY */
 I7    X  50220 /*  	CONVERTS TO UPPERCASE THE INITIAL LETTER OF A MESSAGE WHEN RETRIEVING */
 I7    X  50221 /*  	A MESSAGE IN AN ENVIRONMENT WHERE THE FACILITY, SEVERITY, AND */
 I7    X  50222 /*  	IDENTIFICATION FIELDS HAVE BEEN SUPPRESSED. */
 I7    X  50223 /*   */
 I7    X  50224 /*       O	ACRONYMS SHOULD BE UPPERCASE ONLY: */
 I7    X  50225 /*   */
 I7    X  50226 /*  	    <requested CPU not active */
 I7    X  50227 /*   */
 I7    X  50228 /*       O	DO NOT USE PUNCTUATION AT THE END OF A MESSAGE. */
 I7    X  50229 /*   */
 I7    X  50230 /*       O AVOID USING CONTRACTIONS IN MESSAGES. FOR EXAMPLE, USE "cannot" */
 I7    X  50231 /*         INSTEAD OF "can't" AND "does not" INSTEAD OF "doesn't". */
 I7    X  50232 /*   */
 I7    X  50233 /*       O	"It's" IS A CONTRACTION FOR "it is".  THE POSSESSIVE IS "its". */
 I7    X  50234 /*   */
 I7    X  50235 /*       O	USE THE WORDS "and" OR "or" INSTEAD OF A "/" WHENEVER POSSIBLE. */
 I7    X  50236 /*   */
 I7    X  50237 /*  	    WRONG:  <file/section/reference doesn't exist */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 908
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50238 /*  	    RIGHT:  <file, section, or reference does not exist */
 I7    X  50239 /*   */
 I7    X  50240 /*       O	AVOID USING HYPHENS TO SEPARATE CLAUSES.  USE A SEMICOLON INSTEAD. */
 I7    X  50241 /*   */
 I7    X  50242 /*  	    WRONG: <journaling enabled - cannot extend file header */
 I7    X  50243 /*  	    RIGHT: <journaling enabled; cannot extend file header */
 I7    X  50244 /*   */
 I7    X  50245 /*       O	SEMICOLONS SHOULD BE USED TO SEPARATE MAIN CLAUSES THAT ARE NOT */
 I7    X  50246 /*  	JOINED BY "and" OR "but".  IN THE ABOVE EXAMPLE, IT IS GRAMMATICALLY */
 I7    X  50247 /*  	INCORRECT TO USE A COMMA IN PLACE OF THE SEMICOLON.  A COMMA IS CORRECT */
 I7    X  50248 /*  	WHEN EITHER CLAUSE DOES NOT FORM A COMPLETE SENTENCE OR WHEN THE COMMA */
 I7    X  50249 /*  	IS USED TO SEPARATE ITEMS IN A LIST.  FOR EXAMPLE, */
 I7    X  50250 /*   */
 I7    X  50251 /*  	    <CPU 'cpu-id' is already started, or startup in progress */
 I7    X  50252 /*   */
 I7    X  50253 /*       O	ABOVE ALL, KEEP THE JARGON TO A MINIMUM AND CONCENTRATE ON */
 I7    X  50254 /*  	COMMUNICATING A MESSAGE THAT IS AS INFORMATIVE AND HELPFUL AS YOU */
 I7    X  50255 /*  	CAN MAKE IT. */
 I7    X  50256 /*   */
 I7    X  50257 /*   */
 I7    X  50258 /*   NOTE BENE: WHEN OBSOLETING OR ADDING MESSAGES: */
 I7    X  50259 /*   */
 I7    X  50260 /*       O REUSE OBSOLETE MESSAGE ENTRIES WHEN POSSIBLE.  THESE ARE MARKED BY */
 I7    X  50261 /*  	A MESSAGE NAME OF OBSOLETE_<number. */
 I7    X  50262 /*   */
 I7    X  50263 /*       O IF YOU MUST REMOVE A MESSAGE, DON'T SIMPLY DELETE IT.  IF MESSAGES */
 I7    X  50264 /*  	COME AFTER IT, OBSOLETE IT BY CHANGING THE NAME TO OBSOLETE_<number. */
 I7    X  50265 /*  	LOOK FOR THE OTHER OBSOLETE MESSAGES TO FIND OUT WHAT THE NEXT FREE */
 I7    X  50266 /*  	NUMBER IS. THIS WILL LET OTHERS KNOW THAT WHEN THEY WANT A SLOT, THEY */
 I7    X  50267 /*  	CAN REUSE SOME OBSOLETE MESSAGE INSTEAD OF ADDING A NEW ONE. */
 I7    X  50268 /*   */
 I7    X  50269 /*       O THE 64-BIT PROJECT HAS ENABLED THE ENTIRE ALPHA VIRTUAL ADDRESS RANGE */
 I7    X  50270 /*  	(WITH THE EXCEPTION OF THE GAP) TO BE AVAILABLE.  THEREFORE, MESSAGES */
 I7    X  50271 /*  	THAT DISPLAY ADDRESSES, INCLUDING PCS, MUST DISPLAY THE FULL 64-BITS */
 I7    X  50272 /*  	OF THOSE ADDRESSES.  USE THE !XH FAO DIRECTIVE FOR THIS PURPOSE.  FAO */
 I7    X  50273 /*  	(SYS$FAO & SYS$FAOL_64 ONLY) FOR ALPHA HANDLES QUADWORD ARGUMENTS */
 I7    X  50274 /*  	BY VALUE SO YOU DO NOT HAVE TO SPECIFY THE INDIRECTION OPERATOR (@). */
 I7    X  50275 /*  -- */
 I7    X  50276 /*   */
 I7    X  50277 /*   AUTHOR:  THE VMS GROUP	 CREATION DATE:  1-AUG-1976 */
 I7    X  50278 /*   */
 I7    X  50279 /*   MODIFIED BY: */
 I7    X  50280 /*   */
 I7    X  50281 /*  	X-139	DAG		DOUG GORDON		25-JUL-2018 */
 I7    X  50282 /*  		ADD PWDPOLICY. */
 I7    X  50283 /*   */
 I7    X  50284 /*  	X-138   MAS		MARK A. STILES		10-FEB-2015 */
 I7    X  50285 /*  		WE'RE BAAAAACK! */
 I7    X  50286 /*  		ADD COWBOYUP AND UPDATE COPYRIGHT. */
 I7    X  50287 /*   */
 I7    X  50288 /*  	X-137	ACG0722		ANDY GOLDSTEIN,	15-OCT-2008  12:00 */
 I7    X  50289 /*  		REMOVE UNUSED SS$_SYMLINKENTRY STATUS */
 I7    X  50290 /*  		ALSO GENERALIZE TEXT OF TOOMANYVER MESSAGE */
 I7    X  50291 /*   */
 I7    X  50292 /*  	X-136	AJ		ANDERS JOHANSSON	10-OCT-2008 */
 I7    X  50293 /*  		ADD INVKTLIM MESSAGE, AND ADJUST THE "room left" ACCORDINGLY */
 I7    X  50294 /*  		FOR THAT SECTION. I ACTUALLY COUNTED THE MESSAGES, AND APPLIED */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 909
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50295 /*  		A GREATER ADJUSTMENT TO MATCH THE DEFINED NUMBER OF MSGS IN */
 I7    X  50296 /*  		THE COMMENT. */
 I7    X  50297 /*   */
 I7    X  50298 /*  	X-135	SAN		SANDEEP RAMAVANA	12-JUN-2008 */
 I7    X  50299 /*  		ADD A NEW SUCCESS STATUS RETURN, LOWPREC */
 I7    X  50300 /*   */
 I7    X  50301 /*         X-134   LSH             LON HILDE               31-OCT-2004 */
 I7    X  50302 /*                 TWEAK ASTFLT MESSAGE CHANGING "target PC" TO "target PC or FV". */
 I7    X  50303 /*   */
 I7    X  50304 /*  	X-133	MAS0823		MARK A. STILES		20-OCT-2006 */
 I7    X  50305 /*  		IT'S BEEN A LONG AND FUN RIDE, VMS.  THIS IS MY LAST */
 I7    X  50306 /*  		CHECKIN ON MY LAST DAY.  AN APPROPRIATE REMINDER STATUS */
 I7    X  50307 /*  		FOR FUTURE NOTIFICATION.  FIXUP REVISION NUMBERS TO MATCH VDE. */
 I7    X  50308 /*   */
 I7    X  50309 /*         X-132                   DOUGLAS FYFE            29-NOV-2005 */
 I7    X  50310 /*  		ADD SS$_TOOMANYPERSONA PERSONA ARRAY FULL STATUS. */
 I7    X  50311 /*   */
 I7    X  50312 /*         X-131   KGB             KENNETH G. BLAYLOCK     23-SEP-2005 */
 I7    X  50313 /*                 ADD IN THE SUCCESS STATUS OF SS$_SYMLINKENTRY TO */
 I7    X  50314 /*                 INDICATE THAT THE DIRECTORY ENTRY HAS A SYMLINK */
 I7    X  50315 /*                 HINT VALUE. */
 I7    X  50316 /*   */
 I7    X  50317 /*  	X-129/130	WBF		BURNS FISHER		12-MAY-2005 */
 I7    X  50318 /*  		ADD "reason mask" FIELD TO SS$_DEBUG_FAULT.  IT SHOULD BE */
 I7    X  50319 /*  		JUST LIKE ACCVIO */
 I7    X  50320 /*   */
 I7    X  50321 /*         X-128   KGB             KENNETH G. BLAYLOCK     29-NOV-2004 */
 I7    X  50322 /*                 ADD IN A NEW FILE WARNING. FILEFULL WHICH INDICATES */
 I7    X  50323 /*                 THAT THE SUPPORTED ALLOCATION FOR THE FILE IS FULL. */
 I7    X  50324 /*   */
 I7    X  50325 /*  	X-127	RAB0122		ROBERT A. BROOKS	-SEP-2004 */
 I7    X  50326 /*  		CHANGE TEXT FOR NOMODNONEPOL TO CORRELATE WITH */
 I7    X  50327 /*  		NAME CHANGE OF HBMM NONE POLICY TO NODEFAULT (NO DEFAULT). */
 I7    X  50328 /*  		ERROR NAME STAYS THE SAME, OF COURSE. */
 I7    X  50329 /*   */
 I7    X  50330 /*  		REMOVE THE WORD QIOSERVER FROM NOMOREPATHS.  QIOSERVER IS */
 I7    X  50331 /*  		DEAD, BUT THE ERROR MESSAGE IS STILL BEING USED BY MULTIPATH */
 I7    X  50332 /*  		AND MULTIPATH-AWARE COMPONENTS ($GETDVI, FOR EXAMPLE). */
 I7    X  50333 /*   */
 I7    X  50334 /*  	X-126			RUTH GOLDENBERG		10-AUG-2004 */
 I7    X  50335 /*  		ADD INFORMATIONALS FOR GEM: ARGTYPN, FPMODECTL, FPMODEPC, FPMODERC */
 I7    X  50336 /*   */
 I7    X  50337 /*  	X-125			RUTH GOLDENBERG		 4-AUG-2004 */
 I7    X  50338 /*  		TWEAK TEXT FOR SS$_TOOMANYLNAM. */
 I7    X  50339 /*   */
 I7    X  50340 /*  	X-124	MAS0800		MARK A. STILES		 7-JUL-2004 */
 I7    X  50341 /*  		ADD GAMEOVER MESSAGE FOR INTERSTELLAR CONQUEST. */
 I7    X  50342 /*   */
 I7    X  50343 /*  	X-123	RAB0106		ROBERT A. BROOKS	26-MAY-2004 */
 I7    X  50344 /*  		MORE SHADOWING MESSAGES. */
 I7    X  50345 /*   */
 I7    X  50346 /*  	X-122	RAB0103		ROBERT A. BROOKS	17-MAY-2004 */
 I7    X  50347 /*  		MORE SHADOWING MESSAGES FOR HBMM. */
 I7    X  50348 /*   */
 I7    X  50349 /*  	X-121	RAB0102		ROBERT A. BROOKS	11-MAY-2004 */
 I7    X  50350 /*  		MORE SHADOWING MESSAGES FOR HBMM. */
 I7    X  50351 /*   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 910
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50352 /*  	X-120	SAD		STUART A. DAVIDSON	 7-MAY-2004 */
 I7    X  50353 /*  		ADD SS$_QIO_FAULT FOR SPECIAL TREATMENT THAT $QIO */
 I7    X  50354 /*  		NEEDS IN ORDER TO FAULT IN A PAGE IN CALLER'S MODE. */
 I7    X  50355 /*  		SS$_QIO_FAULT IS HANDLED BY A CALLER'S MODE JACT, */
 I7    X  50356 /*  		WHERAS QIO_CROCK IS HANDLED IN THE SYSTEM SERVICE */
 I7    X  50357 /*  		DISPATCHER (WHICH IS PROBLEMATIC WITH THE IA64 CALLING */
 I7    X  50358 /*  		STANDARD). */
 I7    X  50359 /*   */
 I7    X  50360 /*  	X-119	RAB098		ROBERT A. BROOKS	05-MAY-2004 */
 I7    X  50361 /*  		ADD SEVERAL SHADOWING-RELATED MESSAGES TO REPLACE THE */
 I7    X  50362 /*  		TOO-GENERIC INCSHAMEM. */
 I7    X  50363 /*   */
 I7    X  50364 /*  	X-118			CLAIR GRANT		21-APR-2004 */
 I7    X  50365 /*  		ELIMINATE "Digital" AND "DEC" FROM ERROR TEXT STRINGS */
 I7    X  50366 /*   */
 I7    X  50367 /*  	X-117	WBF		BURNS FISHER		31-MAR-2004 */
 I7    X  50368 /*  		ADD SS$_CALLUNDEFSYM */
 I7    X  50369 /*   */
 I7    X  50370 /*  	X-116	JRC		JOHN R. COVERT		12-MAR-2004 */
 I7    X  50371 /*  		ADD XVALNOTVALID FOR EXTENDED LOCK VALUE BLOCK */
 I7    X  50372 /*   */
 I7    X  50373 /*  	X-115	RAB086		ROBERT A. BROOKS	03-FEB-2004 */
 I7    X  50374 /*  		ADD HBMMCREPOSTMRG FOR HBMM. */
 I7    X  50375 /*   */
 I7    X  50376 /*  	X-114	DJM		DENNIS MATTOON		27-JAN-2004 */
 I7    X  50377 /*  		ADD SYMBOLS/MESSAGES FOR TIE */
 I7    X  50378 /*   */
 I7    X  50379 /*  	X-113	RAB085		ROBERT A. BROOKS	16-JAN-2004 */
 I7    X  50380 /*  		ADD WLGCANTHBMM FOR HBMM, TO INDICATE THAT OLDER */
 I7    X  50381 /*  		DEVICES CAPABLE OF MSCP-BASED MINIMERGE (HSC/HSD/HSJ) */
 I7    X  50382 /*  		CANNOT USE HBMM. */
 I7    X  50383 /*   */
 I7    X  50384 /*  	X-112	RAB084		ROBERT A. BROOKS	14-JAN-2004 */
 I7    X  50385 /*  		ADD SEVERAL MESSAGES FOR HOST-BASED MINIMERGE (HBMM). */
 I7    X  50386 /*   */
 I7    X  50387 /*  	X-111	KLN3346		KAREN L. NOEL		7-SEP-2003 */
 I7    X  50388 /*  		O CHANGE TAKEN_BRANCH TO USE DISPLAY PC/PS. */
 I7    X  50389 /*  		O CHANGE NEW REASON MASKS TO BYTES OR WORDS INSTEAD OF QUADS. */
 I7    X  50390 /*   */
 I7    X  50391 /*  	X-110	KLN3340		KAREN L. NOEL		28-AUG-2003 */
 I7    X  50392 /*  		O ADD SS CODES FOR TAKEN BRANCH FAULT, IA32 TRAP, DEBUG */
 I7    X  50393 /*  		  FAULT AND SYSTEM BREAK. */
 I7    X  50394 /*  		O FIX SEVERITY OF APPLICATION BREAK. */
 I7    X  50395 /*  		O FIX NATFAULT TO DISPLAY REASON MASK INSTEAD OF ISR. */
 I7    X  50396 /*   */
 I7    X  50397 /*  	X-109	KLN3299		KAREN L. NOEL		4-JUN-2003 */
 I7    X  50398 /*  		ADD SS$_INSF_SHM_REG. */
 I7    X  50399 /*   */
 I7    X  50400 /*  	X-108	LC0001		LARRY CAMILLI		12-MAR-2003 */
 I7    X  50401 /*  		ADD SS$_FILENOTCACHED. */
 I7    X  50402 /*   */
 I7    X  50403 /*  	X-107	PJB0044		PAUL BENOIT		02-DEC-2002 */
 I7    X  50404 /*  		ADD SS$_BREAK_ARCH. */
 I7    X  50405 /*   */
 I7    X  50406 /*  	X-106	PJB0029		PAUL BENOIT		08-NOV-2002 */
 I7    X  50407 /*  		ADD SS$_BREAK_APPL. */
 I7    X  50408 /*   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 911
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50409 /*  	X-105	PJB0021		PAUL BENOIT		18-OCT-2002 */
 I7    X  50410 /*  		ADD SS$_FLTDENORMAL. */
 I7    X  50411 /*   */
 I7    X  50412 /*  	X-104	PJB0013		PAUL BENOIT		12-SEP-2002 */
 I7    X  50413 /*  		ADD SS$_NATFAULT. */
 I7    X  50414 /*   */
 I7    X  50415 /*  	X-103	SAD		STUART A. DAVIDSON	18-JUL-2002 */
 I7    X  50416 /*  		ADD TURSTCONF FOR USE WHEN AN OPERATION WOULD VIOLATE */
 I7    X  50417 /*  		THE TRUSTED ENVIRONMENT FOR PRIVILEGED IMAGE EXECUTION. */
 I7    X  50418 /*   */
 I7    X  50419 /*  	X-102			RUTH GOLDENBERG		10-MAY-2002 */
 I7    X  50420 /*  		MODIFY SS$_INCOMPAT TEXT FOR USE BY $GETJPI IN A FAILURE */
 I7    X  50421 /*  		TO GET AN UNDEFINED ITEM CODE FROM A TARGET SYSTEM. */
 I7    X  50422 /*   */
 I7    X  50423 /*  	X-101	DJS011203	 DAVE SWEENEY		07-DEC-2001 */
 I7    X  50424 /*  		ADD SS$_FORCEX FOR USE BY DCL COMMAND STOP/IMAGE. */
 I7    X  50425 /*   */
 I7    X  50426 /*  	X-100	EMW0253		ELINOR M. WOODS		15-OCT-2001 */
 I7    X  50427 /*  		ADD SS$_EXITFORCED FOR USE BY SYS$DELPRC IN */
 I7    X  50428 /*  		SUPPORT OF NEW EXIT FUNCTIONALITY. */
 I7    X  50429 /*   */
 I7    X  50430 /*  	X-99	MAS0677		MARK A. STILES		24-AUG-2001 */
 I7    X  50431 /*  		ADD SS$_PRESTO FOR USE BY INTERRUPT OR FORK SERVICE */
 I7    X  50432 /*  		ROUTINES WHICH HAVE KNOWLEDGE THAT THE SAVED INTERRUPT */
 I7    X  50433 /*  		OR EXCEPTION FRAME NEED NOT BE MULTIPLY PRESERVED. */
 I7    X  50434 /*   */
 I7    X  50435 /*  	X-98	MAS0671		MARK A. STILES		16-MAR-2001 */
 I7    X  50436 /*  		ADD SS$_FISH FOR MESSAGE TRANSLATION, OR LACK THEREOF. */
 I7    X  50437 /*   */
 I7    X  50438 /*  	X-97	ABP		ANU PANT		18-SEP-2000 */
 I7    X  50439 /*  		ADD SS$_PATHAMBIG, SS$_INVMVIP, SS$_NOPATHAVAIL, */
 I7    X  50440 /*  		AND SS$_NOENACURINV FOR USE BY MULTIPATH SYSTEM */
 I7    X  50441 /*  		SERVICE. */
 I7    X  50442 /*   */
 I7    X  50443 /*  	X-96	JMB224		JAMES M. BLUE		 7-MAR-2000 */
 I7    X  50444 /*  		ADD SS$_NOSUCHQPOOLID FOR USE BY QIOSERVER'S HANDLING OF */
 I7    X  50445 /*  		POOL DEALLOCATION.  CORRECT PREVIOUS QIOSERVER MESSAGE */
 I7    X  50446 /*  		ADDS TO CONFORM WITH GUIDELINES ABOVE. */
 I7    X  50447 /*   */
 I7    X  50448 /*  	X-95	KLN2158		KAREN L. NOEL		03-MAR-2000 */
 I7    X  50449 /*  		ADD BADRAD. */
 I7    X  50450 /*   */
 I7    X  50451 /*  	X-94	JMB197		JAMES M. BLUE		 6-JAN-2000 */
 I7    X  50452 /*  		ADD SS$_QPOOL_DEL_INIT, SS$_QPOOL_DEL_INPRG, AND */
 I7    X  50453 /*  		SS$_QPOOL_DEL_BUSY FOR USE BY QIOSERVER'S HANDLING OF */
 I7    X  50454 /*  		POOL DEALLOCATION. */
 I7    X  50455 /*   */
 I7    X  50456 /*  	X-93	EMB		ELLEN M. BATBOUTA	05-NOV-1999 */
 I7    X  50457 /*         	ADD SS$_NOADD AND SS$_SYSTEMUIC MESSAGES FOR THE CLASS */
 I7    X  50458 /*  		SCHEDULER. */
 I7    X  50459 /*   */
 I7    X  50460 /*  	X-92	JMB183		JAMES M. BLUE		23-SEP-1999 */
 I7    X  50461 /*  		ADD MESSAGES FOR QIOSERVER'S QIO$CONFIGURE AND QCP. */
 I7    X  50462 /*   */
 I7    X  50463 /*  	X-91	EMB		ELLEN M. BATBOUTA	12-AUG-1999 */
 I7    X  50464 /*  		ADD SS$_INCLASS ERROR MESSAGE.  THIS ERROR MESSAGE WILL */
 I7    X  50465 /*  		BE RETURNED BY THE $SCHED SYSTEM SERVICE WHEN AN ATTEMPT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 912
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50466 /*  		IS MADE TO CLASS SCHEDULE A PROCESS/KERNEL THREAD WHEN */
 I7    X  50467 /*  		IT ALREADY BELONGS TO A SCHEDULING CLASS FROM THE */
 I7    X  50468 /*  		CLASS SCHEDULER DATABASE FILE. */
 I7    X  50469 /*   */
 I7    X  50470 /*  	X-90	JMB076		JAMES M. BLUE		22-MAR-1999 */
 I7    X  50471 /*  		ADD SS$_NOQIOSERVER - QIOSERVER'S QIO$CONFIGURE */
 I7    X  50472 /*  		PROCESS IS NOT AVAILABLE TO HANDLE SYS$QIOSERVER */
 I7    X  50473 /*  		REQUESTS.  ADD SS$_INVQSRFNC - THE FUNCTION CODE */
 I7    X  50474 /*  		IN THE SYS$QIOSERVER REQUEST IS INVALID. */
 I7    X  50475 /*   */
 I7    X  50476 /*         X-89    GP              GENADY PERCHENKO        18-FEB-1999 */
 I7    X  50477 /*                 ADD WRONGDRV */
 I7    X  50478 /*   */
 I7    X  50479 /*  	X-88	JAH0323		JOHN A HARNEY		10-DEC-1998 */
 I7    X  50480 /*  		ADD PERSONARESERVED FOR OPERATIONS ATTEMPTED ON */
 I7    X  50481 /*  		A RESERVED PERSONA INDEX. */
 I7    X  50482 /*   */
 I7    X  50483 /*  	X-87	JRK390		JIM KAUFFMAN		11-SEP-1998 */
 I7    X  50484 /*  		ADD NOCPUMATCH AND TRIM CPUSELECTED TO FIT PAGE */
 I7    X  50485 /*   */
 I7    X  50486 /*  	X-86	JRK390		JIM KAUFFMAN		 9-JUL-1998 */
 I7    X  50487 /*  		ADD CPUSELECTED */
 I7    X  50488 /*   */
 I7    X  50489 /*  	X-85	KJP-SDOS	KEVIN PLAYFORD		29-JUN-1998 */
 I7    X  50490 /*  		UPDATE SNAPSHOT SERVICES MESSAGES BASED ON DEVICE NAME */
 I7    X  50491 /*  		CHANGE. */
 I7    X  50492 /*   */
 I7    X  50493 /*  	X-84	EMB		ELLEN M. BATBOUTA	04-JUN-1998 */
 I7    X  50494 /*         	ADD 2 NEW ERROR MESSAGES, NOFASTPATH AND CPUNOTAVAIL. */
 I7    X  50495 /*   */
 I7    X  50496 /*         X-83    GP              GENADY PERCHENKO        26-MAY-1998 */
 I7    X  50497 /*                 FIX A TYPO IN ERROR SYMBOL. IT SGOULD BE DEVNOTCON */
 I7    X  50498 /*                 INSTEAD OF MPDEVNOTCON. */
 I7    X  50499 /*   */
 I7    X  50500 /*         X-82    GP              GENADY PERCHENKO        20-MAY-1998 */
 I7    X  50501 /*                 ADD SOME MORE MULTIPATH STATUS CODES. AND RENAME SOME */
 I7    X  50502 /*                 EXISTING ONES. */
 I7    X  50503 /*   */
 I7    X  50504 /*         X-81    GP              GENADY PERCHENKO        02-APR-1998 */
 I7    X  50505 /*                 ADD NEW STATUS CODES FOR MULTIPATH. */
 I7    X  50506 /*   */
 I7    X  50507 /*  	X-80	DAVE BERNARDO				24-FEB-1998 */
 I7    X  50508 /*  		ADD BADLCKTBL AND MAKE BROKEN A SUCCESS STATUS CODE. */
 I7    X  50509 /*  		MAKE THE ERROR TEXT MORE MEANINGFUL. */
 I7    X  50510 /*   */
 I7    X  50511 /*  	X-79	AHM039		DREW MASON		17-FEB-1998 */
 I7    X  50512 /*  		ADD MORE STATUS CODES FOR GALAXY MEMBERSHIP SERVICES. */
 I7    X  50513 /*   */
 I7    X  50514 /*  	X-78	PKH-G006	PAUL K. HARTER, JR.	27-JAN-1998 */
 I7    X  50515 /*  		ADDED TWO STATUS CODES FOR GALAXY MEMBERSHIP SERVICES. */
 I7    X  50516 /*   */
 I7    X  50517 /*  	X-77	AHM034		DREW MASON		26-JAN-1998 */
 I7    X  50518 /*  		ADD STATUS CODES FOR GALAXY MEMBERSHIP CALLBACKS. */
 I7    X  50519 /*   */
 I7    X  50520 /*  	X-76	NELSON		PAT NELSON		14-JAN-1998 */
 I7    X  50521 /*  		CLEANED UP INSTRUCTIONS AT TOP OF FILE. */
 I7    X  50522 /*   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 913
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50523 /*  	X-75	DMB		DAVE BERNARDO		07-JAN-1998 */
 I7    X  50524 /*  		ADD MORE STATUS CODES FOR GALAXY LOCKING. */
 I7    X  50525 /*   */
 I7    X  50526 /*  	X-74	HAR		HAROLD READ		10-DEC-1997 */
 I7    X  50527 /*  		ADD NEW STATUS CODE FOR MSCP ERRORS. */
 I7    X  50528 /*   */
 I7    X  50529 /*         X-73    JAH0250         JOHN A HARNEY           11-NOV-1997 */
 I7    X  50530 /*                 ADD SS$_NOSUCHEXT FOR IMPERSONATION SERVICES TO TELL */
 I7    X  50531 /*                 THE USER THERE'S NO SUCH EXTENSION. */
 I7    X  50532 /*   */
 I7    X  50533 /*  	X-72	DMB		DAVE BERNARDO		27-OCT-1997 */
 I7    X  50534 /*  		ADD STATUS CODES FOR GALAXY LOCKING. */
 I7    X  50535 /*   */
 I7    X  50536 /*  	X-71	KLN2008		KAREN L. NOEL		21-OCT-1997 */
 I7    X  50537 /*  		ADD NEW STATUS CODES FOR GALAXY SHARED MEMORY. */
 I7    X  50538 /*   */
 I7    X  50539 /*  	X-70	HAR		HAROLD READ			18-SEP-1997 */
 I7    X  50540 /*                 ADD TEN NEW ERROR MESSAGES FOR DU/TUDRIVER. */
 I7    X  50541 /*   */
 I7    X  50542 /*  	X-69	ANDY KUEHNEL				10-SEP-1997 */
 I7    X  50543 /*  		ADD SS$_SECREFOVF ERROR TO BE RETURNED IF ADDING MORE REFERENCES */
 I7    X  50544 /*  		TO A GLOBAL SECTION WOULD CAUSE THE REFERENCE COUNT TO OVERFLOW. */
 I7    X  50545 /*   */
 I7    X  50546 /*  	X-68	WDB:MTD20	WALTER BLASCHUK 	13 AUG 1997 */
 I7    X  50547 /*  		MULTIPLE TAPE DENSITY PROJECT:  INSERT TWO INFORMATIONALS */
 I7    X  50548 /*                 SS$_NOTATBOT AND SS$_PREVSDENS.  ALPHA AND VAX. */
 I7    X  50549 /*   */
 I7    X  50550 /*  	X-67	KJP-SDOS	KEVIN PLAYFORD		18-JUL-1997 */
 I7    X  50551 /*  		UPDATE SNAP CAPABLE DISK ERROR MESSAGES AND RESERVE SOME EXTRA */
 I7    X  50552 /*  		MESSAGES. */
 I7    X  50553 /*   */
 I7    X  50554 /*  	X-66	KJP-SDOS	KEVIN PLAYFORD		11-JUN-1997 */
 I7    X  50555 /*  		ADD SS$_TOOMANYFRAGS AND SS$_TOOMANYFAMILIES FOR SNAP CAPABLE */
 I7    X  50556 /*  		DISK. */
 I7    X  50557 /*   */
 I7    X  50558 /*  	X-65	IBB038		IAN BROCKBANK		 4-JUN-1997 */
 I7    X  50559 /*  		F11BXQP HFS LATENT SUPPORT - ADD SS$_NOTF11ODS5, */
 I7    X  50560 /*  		SS$_NOCONVJNL AND SS$_NORAD50. */
 I7    X  50561 /*   */
 I7    X  50562 /*         X-64	BMAN		BRIAN MAN		21-MAR-1997 */
 I7    X  50563 /*                 NO CHANGES: CLEAN UP SOME SO DIFFS WORK BETTER BETWEEN */
 I7    X  50564 /*  		THE VAX VERSION */
 I7    X  50565 /*   */
 I7    X  50566 /*         X-63                    DOUGLAS FYFE            14-FEB-1997 */
 I7    X  50567 /*                 MAINLINE MERGE OF PER-THREAD SECURITY SUPPORT: (GEN 58A1) */
 I7    X  50568 /*                 ADD SS$_PERSONADELPEND TO BE RETURNED WHEN A REQUEST */
 I7    X  50569 /*                 TO DELETE A PERSONA IS PREVENTED ONLY BY OUTSTANDING */
 I7    X  50570 /*                 REFERENCES IN REFCOUNT. */
 I7    X  50571 /*   */
 I7    X  50572 /*  	X-62	JMP-VDC		JULIAN PALMER     	29-JAN-1997 */
 I7    X  50573 /*  		ADD SS$_FLUSHFAIL FOR VDC LATENT SUPPORT. */
 I7    X  50574 /*   */
 I7    X  50575 /*  		CW-SD		CHRIS WHITAKER		29-JAN-1997 */
 I7    X  50576 /*  		ADD ADDITIONAL ERROR MESSAGES FOR SNAPSHOT-CAPABLE */
 I7    X  50577 /*  		DISK. */
 I7    X  50578 /*   */
 I7    X  50579 /*  	X-61	NYK656		NITIN Y. KARKHANSI	21-AUG-1996 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 914
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50580 /*  		ADDED SS$_NOSHPTS AS PART SHARED PAGE TABLE SUPPORT. */
 I7    X  50581 /*   */
 I7    X  50582 /*  	X-60	KLN1572		KAREN L. NOEL		6-AUG-1996 */
 I7    X  50583 /*  		O ADDED SS$_RES_MEM_INCON FOR RESERVED MEMORY REGISTRY. */
 I7    X  50584 /*  		O ADDED SS$_PTE_NOT_EMPTY FOR SYSTEM PTE DEALLOCATION. */
 I7    X  50585 /*   */
 I7    X  50586 /*  	X-59	NYK640		NITIN Y. KARKHANIS	17-JUL-1996 */
 I7    X  50587 /*  		O ADDED SYSTEM SERVICE MESSAGE FOR SHARED PAGE TABLE SECTION */
 I7    X  50588 /*  		  CREATION, SS$_CREATED_SHPT. */
 I7    X  50589 /*  		O REMOVED SS$_MRES_NOTREG, SS$_MRES_REGSMALL AND */
 I7    X  50590 /*  		  SS$_MRES_REGBIG FOR KAREN NOEL. */
 I7    X  50591 /*   */
 I7    X  50592 /*  	X-58	KLN1546		KAREN L. NOEL		2-MAY-1996 */
 I7    X  50593 /*  		ADDED SYSTEM SERVICE MESSAGES FOR MEMORY RESIDENT SECTIONS. */
 I7    X  50594 /*  		MRES_REGSMALL, MRES_REGBIG, MRES_NOTREG, MRES_PFNSMALL, */
 I7    X  50595 /*  		MRES_INCON, NORESERVEDMEM, RESERVEDMEMUSED, NOMEMRESID */
 I7    X  50596 /*   */
 I7    X  50597 /*  	X-57	JACH0010	JEREMY A. C. HITT	2-MAR-1996 */
 I7    X  50598 /*  		ADDED THE FOLLOWING MESSAGES FOR ACME: NOEXTAUTH, */
 I7    X  50599 /*  		ERRMAPAUTH, AUTHFAIL AND INVUSER. */
 I7    X  50600 /*   */
 I7    X  50601 /*  	X-56	WXD		BILL DAVENPORT		13-DEC-1995 */
 I7    X  50602 /*  		PER-THREAD SECURITY STAGE 1 CHECKIN: */
 I7    X  50603 /*   */
 I7    X  50604 /*  		ADD NODELPERMANENT ERROR CODE TO BE RETURNED WHEN DELETION */
 I7    X  50605 /*  		OF A PERMANENT PERSONA IS ATTEMPTED.  ALSO, RENAME DETACH */
 I7    X  50606 /*  		PRIVILEGE TO IMPERSONATE.  ADD LITERAL SO THAT OLD SYMBOL */
 I7    X  50607 /*  		STILL GETS CREATED. */
 I7    X  50608 /*   */
 I7    X  50609 /*  	X-55	PKW338		PAUL K. M. WEISS	 8-NOV-1995 */
 I7    X  50610 /*  		ADD SS$_THREAD_UPCALL, WHICH IS USED TO COMMUNICATE FROM KERNEL */
 I7    X  50611 /*  		INTERNAL SERVICES TO THE CALLER'S MODE JACKET THAT IT SHOULD */
 I7    X  50612 /*  		MAKE AN UPCALL */
 I7    X  50613 /*   */
 I7    X  50614 /*  	X-54	JCH703B	JOHN C. HALLYBURTON, JR.	10-OCT-1995 */
 I7    X  50615 /*  		ADD SS$_NOBUFOBJID (ATTEMPTED USER MODE CREATE BUFFER OBJECT */
 I7    X  50616 /*  		WITHOUT A RIGHTS IDENTIFIER). */
 I7    X  50617 /*   */
 I7    X  50618 /*  	X-53	KLN1520		KAREN L. NOEL		28-SEP-1995 */
 I7    X  50619 /*  		1. FIX SEVERAL NEW SS$ CODES TO BE ERRORS INSTEAD OF */
 I7    X  50620 /*  		   WARNINGS. */
 I7    X  50621 /*  		2. SHORTEN SEVERAL NEW SS$ CODE NAMES SO THEY ARE LESS */
 I7    X  50622 /*  		   THEN 15 CHARACTERS.  OTHERWISE, THEY GET TRUNCATED IN THE */
 I7    X  50623 /*  		   MESSAGE TEXT. */
 I7    X  50624 /*  		3. FIX TEXT OF SS$_CHANVIO. */
 I7    X  50625 /*   */
 I7    X  50626 /*  	X-52	KLN1514		KAREN L. NOEL		12-SEP-1995 */
 I7    X  50627 /*  		1. CHANGE MESSAGE TEXT FOR SS$_IVPROTECT TO INCLUDE */
 I7    X  50628 /*  		INVALID GLOBAL SECTION PROTECTION */
 I7    X  50629 /*  		2. FIX TYPO IN SS$_OFFSET_NOTBLOCK MESSAGE */
 I7    X  50630 /*   */
 I7    X  50631 /*  	X-51	WBF	BURNS FISHER			 7-SEP-1995 */
 I7    X  50632 /*  		ADD SS$_EMULATE INFO MESSAGE */
 I7    X  50633 /*   */
 I7    X  50634 /*  	X-50	JCH703A	JOHN C. HALLYBURTON, JR.	 8-MAR-1995 */
 I7    X  50635 /*  		ADD EXBUFOBJLM ERROR CODE. */
 I7    X  50636 /*   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 915
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50637 /*  	X-49	NYK292		NITIN Y. KARKHANIS	28-FEB-1995 */
 I7    X  50638 /*  		O DISPLAY THE FULL 64-BITS OF PCS WITH !XH. */
 I7    X  50639 /*  		O REPLACED INSTANCES OF !XQ WITH !XH (!XQ WAS INTRODUCED */
 I7    X  50640 /*  		  IN EDIT X-47). */
 I7    X  50641 /*   */
 I7    X  50642 /*  	X-48	RLP050		RAY PFAU		23-FEB-1995 */
 I7    X  50643 /*  		ADD SS$_NOMORETHREAD FOR KERNEL THREADS. */
 I7    X  50644 /*   */
 I7    X  50645 /*  	X-47	NYK280		NITIN Y. KARKHANIS	23-FEB-1995 */
 I7    X  50646 /*  		64-BIT PROJECT: PROMOTE ADDRESS ARGUMENTS IN SYSTEM MESSAGES */
 I7    X  50647 /*  		FROM !XL TO !XQ.  $FAO NOW HANDLES QUADWORD BY VALUE! */
 I7    X  50648 /*   */
 I7    X  50649 /*  	X-46	KLN1389		KAREN L. NOEL		16-FEB-1995 */
 I7    X  50650 /*  		ADD EVEN MORE SS$ CODES FOR 64-BIT GLOBAL SECTION */
 I7    X  50651 /*  		SYSTEM SERVICES. */
 I7    X  50652 /*   */
 I7    X  50653 /*  	X-45	KLN1377		KAREN L. NOEL		3-FEB-1995 */
 I7    X  50654 /*  		ADD ANOTHER SS$ CODE FOR 64-BIT MMG SYSTEM SERVICES. */
 I7    X  50655 /*   */
 I7    X  50656 /*  	X-43	KLN1342		KAREN L. NOEL		1-DEC-1994 */
 I7    X  50657 /*  		ADD SOME FORGOTTEN CODES FOR 64-BIT MMG SYSTEM SERVICES. */
 I7    X  50658 /*   */
 I7    X  50659 /*  	X-42	KLN1333		KAREN L. NOEL		16-NOV-1994 */
 I7    X  50660 /*  		ADD NEW CODES NEEDED FOR 64-BIT MMG SYSTEM SERVICES. */
 I7    X  50661 /*   */
 I7    X  50662 /*  	X-41	TRB		TOM BENSON		02-NOV-1994 */
 I7    X  50663 /*  		ADDED SS$_RESIGNAL_64 AND SS$_CONTINUE_64. THESE ARE VARIANTS */
 I7    X  50664 /*  		OF THEIR 32-BIT COUNTERPARTS THAT TELL EXCEPTION THAT THE */
 I7    X  50665 /*  		64-BIT SIGNAL ARRAY SHOULD BE USED. */
 I7    X  50666 /*   */
 I7    X  50667 /*  	X-40	LSS0312		LEONARD S. SZUBOWICZ	20-OCT-1994 */
 I7    X  50668 /*  		ADD SS$_NOT64DEVFUNC.  THIS IS RETURNED BY THE $QIO SYSTEM */
 I7    X  50669 /*  		SERVICE IF THE P1 PARAMETER HAS MORE THAN 32 SIGNIFICANT */
 I7    X  50670 /*  		BITS AND THE DRIVER DOES NOT SUPPORT 64-BITS. */
 I7    X  50671 /*   */
 I7    X  50672 /*  	X-39	KLN1326		KAREN L. NOEL			18-OCT-1994 */
 I7    X  50673 /*  		64-BIT PROJECT: */
 I7    X  50674 /*  		ADD SS$_ARG_GTR_32_BITS */
 I7    X  50675 /*   */
 I7    X  50676 /*  	X-38	JCH703	JOHN C. HALLYBURTON, JR.		 5-OCT-1994 */
 I7    X  50677 /*  		ERROR CODES FOR FAST-IO: BADFANDLE THRU UNSUPVOLSET */
 I7    X  50678 /*   */
 I7    X  50679 /*  	X-37	JFD0633		JAMES F. DUNHAM			15-SEP-1994 */
 I7    X  50680 /*  		FOLD FROM X-33U3 - ADD MESSAGES TO SUPPORT SCSI-2 TCQ */
 I7    X  50681 /*   */
 I7    X  50682 /*  	X-36			NANCY JEAN BURKHOLDER		19 SEP 1994 */
 I7    X  50683 /*  		ADD SS$_ZEROALLOCLS MESSAGE */
 I7    X  50684 /*   */
 I7    X  50685 /*  	X-35	DBK001		DAN KYLER			7-SEP-1994 */
 I7    X  50686 /*  		ADD MESSAGES FOR SMFS LAYERED PRODUCT IN MME RESERVED REGION. */
 I7    X  50687 /*  		FOLDED FROM X-33U1. */
 I7    X  50688 /*   */
 I7    X  50689 /*  	X-34	DMB002		DAVID M. BERNARDO		28-AUG-1994 */
 I7    X  50690 /*  		ADD SS$_NOMULTITHREAD, SS$_MTHREADACTIVE, SS$_MAXKTHREADS, */
 I7    X  50691 /*  		SS$_NOSUCHTHREAD, SS$_NOTHREADMAN, SS$_NOSUCHUPCALL, */
 I7    X  50692 /*  		SS$_TMACTIVE. */
 I7    X  50693 /*   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 916
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50694 /*  	X-33	JHH-BL5		JIM HOGG			 6-JUL-1994 */
 I7    X  50695 /*  		ADD SS$_INSFTHREADS & SS$_NOTSUPFS FOR F64 FILE SYSTEM. */
 I7    X  50696 /*   */
 I7    X  50697 /*  	X-32	RAB0191		RICHARD A. BISHOP		3-JUN-1994 */
 I7    X  50698 /*  		ADD SS$_SIGNAL64 FOR MIKE HARVEY */
 I7    X  50699 /*   */
 I7    X  50700 /*  	X-31	SAD0308		STUART A. DAVIDSON		22-MAR-1994 */
 I7    X  50701 /*  		ADD INSFP1POOL TO CLEARLY IDENTIFY INSUFFICIENT CTLPAGES. */
 I7    X  50702 /*   */
 I7    X  50703 /*  	X-30	RAB		RICHARD A. BISHOP		15-MAR-1994 */
 I7    X  50704 /*  		PICK UP THE FOLLOWING CORAL CHANGE: */
 I7    X  50705 /*   */
 I7    X  50706 /*  		X-35	FAK004	FORREST A. KENNEY		11-JAN-1994 */
 I7    X  50707 /*  		ADD NEW MESSAGE <SS$_DEVLISTFULL, IOC$CLONE_UCB RETURNS THIS */
 I7    X  50708 /*  		WHEN WE HAVE USED UP ALL THE AVAILABLE UNITS FOR A DEVICE. */
 I7    X  50709 /*   */
 I7    X  50710 /*  	X-29	RWC136		RICHARD W. CRITZ, JR.		23-DEC-1993 */
 I7    X  50711 /*  		ADD SS$_CONFIG_SYNTAX FOR 3PB SUPPORT.  IT REPLACES */
 I7    X  50712 /*  		SS$_OBSOLETE_6. */
 I7    X  50713 /*   */
 I7    X  50714 /*  	X-28	RAB		RICHARD A. BISHOP		9-DEC-1993 */
 I7    X  50715 /*  		ADD IMPERSONATION MESSAGE CODES FOR STU DAVIDSON */
 I7    X  50716 /*   */
 I7    X  50717 /*  	X-27	HH1241		HAI HUANG			06-OCT-1993 */
 I7    X  50718 /*  		CORRECT PARAMETERS FOR SS$_ILLEGAL_SHADOW. */
 I7    X  50719 /*   */
 I7    X  50720 /*  	X-26	DEE RYAN					30-SEP-1993 */
 I7    X  50721 /*  		CORRECTED SPELLING, PUNCTUATION, AND LEGAL ERRORS IN */
 I7    X  50722 /*  		MESSAGE TEXT. */
 I7    X  50723 /*   */
 I7    X  50724 /*  	X-25	RAB		RICHARD A. BISHOP		17-AUG-1993 */
 I7    X  50725 /*  		PICK UP NEW VAX SYMBOL: */
 I7    X  50726 /*   */
 I7    X  50727 /*  		X-32	WXD	BILL DAVENPORT			11-AUG-1993 */
 I7    X  50728 /*  		ADD SS$_IVNODNAM, INVALID NODE NAME FOR DECNET. */
 I7    X  50729 /*   */
 I7    X  50730 /*  	X-24	HH1202		HAI HUANG			12-AUG-1993 */
 I7    X  50731 /*  		ADD NEW IEEE ARITHMETIC EXCEPTIONS. */
 I7    X  50732 /*   */
 I7    X  50733 /*  	X-23	HH1110		GENE LEACHE			15-JUL-1993 */
 I7    X  50734 /*  		ADD SS$_NOCALLTRANS_SUP */
 I7    X  50735 /*   */
 I7    X  50736 /*  	X-22	HH1110		HAI HUANG			14-JUN-1993 */
 I7    X  50737 /*  		ADD SS$_TARGET_UNWIND, SS$_TARGET_GOTO_UNWIND. */
 I7    X  50738 /*   */
 I7    X  50739 /*  	X-21	HH1101		HAI HUANG			26-MAY-1993 */
 I7    X  50740 /*  		REPLACE REASON MASK WITH I/O STATUS IN PAGE READ ERRORS. */
 I7    X  50741 /*   */
 I7    X  50742 /*         X-20    MW              MARK WATTS                      25-MAY-1993 */
 I7    X  50743 /*                 ADD A NEW FILESYSTEM ERROR MESSAGE CALLED SHELFERROR, THIS */
 I7    X  50744 /*                 WILL BE RETURNED THROUGH THE FILESYSTEM BY THE SHELF HANDLER. */
 I7    X  50745 /*   */
 I7    X  50746 /*  	X-19	RAB		RICHARD A. BISHOP		14-MAY-1993 */
 I7    X  50747 /*  		FOLD INITIAL CORAL CHANGES: */
 I7    X  50748 /*   */
 I7    X  50749 /*  		X-21A1A1 MME001	MICHAEL BEELER			12-OCT-1992 */
 I7    X  50750 /*  		ADD MME (MEDIA MANAGEMENT EXTENSION) MESSAGES */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 917
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50751 /*   */
 I7    X  50752 /*  	X-18	RAB		RICHARD A. BISHOP		14-APR-1993 */
 I7    X  50753 /*  		FOLD OF BLADE/DELTA CLEANUP (REQUIRED SS$_FDT_COMPL TO */
 I7    X  50754 /*  		CHANGE VALUE): */
 I7    X  50755 /*   */
 I7    X  50756 /*  		X-14U3	RAB	RICHARD A. BISHOP	14-APR-1993 */
 I7    X  50757 /*  		MERGE BLADE CHANGES AND RESOLVE CONTENTION: */
 I7    X  50758 /*   */
 I7    X  50759 /*  		X-25A1 AJM93032	ANDREW J. MOSKAL	11-MAR-1993 */
 I7    X  50760 /*  		ADD NOTRANQUIL AND SMALLHEADER - MAC RELATED MESSAGES. */
 I7    X  50761 /*   */
 I7    X  50762 /*  	X-17	EHL003		GENE LEACHE		  1-APR-1993 */
 I7    X  50763 /*  		ADD SIG_ARGMISMATCH */
 I7    X  50764 /*   */
 I7    X  50765 /*  	X-16	EHL003		GENE LEACHE		 22-MAR-1993 */
 I7    X  50766 /*  		ADD SIG_INVARGTYPE, SIG_INVFLTARG, SIG_INVARGLIST */
 I7    X  50767 /*   */
 I7    X  50768 /*         X-15    WDB:HLL004      WALTER D. BLASCHUK, JR. 06-JAN-1993 */
 I7    X  50769 /*                 HLLDD PROJECT: FDT PROCESSING CHANGES. */
 I7    X  50770 /*  		ADD  THE SS$_FDT_COMPL CONSTANT.  THIS WILL INDICATE */
 I7    X  50771 /*  		THAT  FDT PROCESSING  IS COMPLETE.  IT SAYS  NOTHING */
 I7    X  50772 /*  		ABOUT THE PRESENCE OF AN ERROR. */
 I7    X  50773 /*   */
 I7    X  50774 /*  	X-14	RLP017		RAY PFAU		18-DEC-1992 */
 I7    X  50775 /*  		CLARIFY CPUSTOPPING TEXT. FIX TYPO IN NOTALLCANCELED */
 I7    X  50776 /*  		TEXT. */
 I7    X  50777 /*   */
 I7    X  50778 /*  	X-13	RAB		RICHARD A. BISHOP	20-NOV-1992 */
 I7    X  50779 /*  		NEW SYMBOLS FOR PAUL HOULIHAN (SCS), PLUS MORE BLADE CHANGES: */
 I7    X  50780 /*   */
 I7    X  50781 /*  		PJH		PAUL J. HOULIHAN	20-NOV-1992 */
 I7    X  50782 /*  		ADD SCS INTERNAL STATUS. THESE ARE NEVER SEEN BY USERS. */
 I7    X  50783 /*   */
 I7    X  50784 /*         	X-24	MWD0038	MICHAEL DANIELE		20-OCT-1992  14:13 */
 I7    X  50785 /*  		ADD NAMESERVCOMMERR - "Name service communications error" */
 I7    X  50786 /*  		ON BEHALF OF DECNET/OSI. */
 I7    X  50787 /*   */
 I7    X  50788 /*         	X-23	DDP1354	DERRELL D. PIPER       30-SEP-1992  16:36 */
 I7    X  50789 /*  		ADD MESSAGE FOR ATTEMPT TO ADD A PROTECTED SUBSYSTEM ID WITH */
 I7    X  50790 /*  		ATTRIBUTES THAT EXCEED THOSE OF ITS HOLDER (SS$_SSANOTAUTH). */
 I7    X  50791 /*  		ALSO ADD A MESSAGE FOR INVALID FILE OWNER (SS$_BADOWNER). */
 I7    X  50792 /*   */
 I7    X  50793 /*         	X-22	DDP1337	DERRELL D. PIPER       16-SEP-1992  17:55 */
 I7    X  50794 /*  		UPDATE NOPRIV, EXQUOTA, AND OBJNOTLOCKED MESSAGE TEXTS. */
 I7    X  50795 /*   */
 I7    X  50796 /*  	X-12	RS00375		RICHARD SAYDE		 1-SEP-1992 */
 I7    X  50797 /*  		CORRECT MESSAGE TEXT FOR ALIGNMENT FAULT TRAP. REGISTER */
 I7    X  50798 /*  		INFORMATION IS NO LONGER PROVIDED, IT IS NOW A FUNCTION */
 I7    X  50799 /*  		CODE - 0 MEANS LOAD, 1 MEANS STORE. */
 I7    X  50800 /*   */
 I7    X  50801 /*  	X-11	HH0974		HAI HUANG		16-AUG-1992 */
 I7    X  50802 /*  		CORRECT MESSAGE TEXT FOR SS$_FLTINV. */
 I7    X  50803 /*   */
 I7    X  50804 /*  	X-10	RAB		RICHARD A. BISHOP	14-AUG-1992 */
 I7    X  50805 /*  		PICK UP ANOTHER BLADE CHANGE: */
 I7    X  50806 /*   */
 I7    X  50807 /*  		X-21	JAD045	JOSEPH A. DZIEDZIC	29-JUN-1992 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 918
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50808 /*  		ADD "page read error across access modes" STATUS, */
 I7    X  50809 /*  		SS$_PAGRDERRXM. */
 I7    X  50810 /*   */
 I7    X  50811 /*  	X-9	RAB		RICHARD A. BISHOP	16-JUL-1992 */
 I7    X  50812 /*  		PICK UP CHANGE FROM VAX, RESET IDENT & AUDIT TRAIL */
 I7    X  50813 /*   */
 I7    X  50814 /*  		X-19	RLA095B		ROBERT L. ADAMS		12-JUN-1992 */
 I7    X  50815 /*  		OBSOLETE CHARGE CODE ACCOUNTING AND REPLACE WITH */
 I7    X  50816 /*  		MORE DESCRIPTIVE PROTECTED SUBSYSTEMS ERRORS. */
 I7    X  50817 /*  		ADD COMMENT ON OBSOLETING MESSAGES. */
 I7    X  50818 /*   */
 I7    X  50819 /*  	X-22	EHL002		GENE LEACHE		 8-JUL-1992 */
 I7    X  50820 /*  		ADD SS$_ILLPOLICY */
 I7    X  50821 /*   */
 I7    X  50822 /*  	X-21	EHL001		GENE LEACHE		18-JUN-1992 */
 I7    X  50823 /*  		ADD SS$_ILLPRIPOL */
 I7    X  50824 /*   */
 I7    X  50825 /*  	X-20	EMB0170		ELLEN M. BATBOUTA	12-JUN-1992 */
 I7    X  50826 /*  		ADD 2 NEW FATAL ERROR MESSAGES, TRANSCALLER AND */
 I7    X  50827 /*  		NOCALLTRANS.  THESE MESSAGES INDICATE THAT A NATIVE */
 I7    X  50828 /*  		IMAGE WAS NOT BUILT CORRECTLY TO INTEROPERATE WITH */
 I7    X  50829 /*  		TRANSLATED CODE. */
 I7    X  50830 /*   */
 I7    X  50831 /*  	X-19	HH0931		HAI HUANG		27-MAY-1992 */
 I7    X  50832 /*  		CHANGE PSL IN ERROR MESSAGES TO PS. */
 I7    X  50833 /*   */
 I7    X  50834 /*  	X-18	RAB		RICHARD A. BISHOP	19-MAY-1992 */
 I7    X  50835 /*  		PICK UP RECENT BLADE CHANGES: */
 I7    X  50836 /*   */
 I7    X  50837 /*  		X-17	ATP014.17	ALAN POTTER		 2-APR-1992 */
 I7    X  50838 /*  		CHANGE ERROR MESSAGE TEXT FOR SS$_TPDISABLED AND */
 I7    X  50839 /*  		SS$_NOLOG. */
 I7    X  50840 /*   */
 I7    X  50841 /*         	X-15/16	DDP1198		DERRELL D. PIPER       24-MAR-1992  18:15 */
 I7    X  50842 /*  		FIX PUNCTUATION OF MESSAGES FOR HELP/MESSAGE AND ADD SOME */
 I7    X  50843 /*  		POMPOUS GUIDELINES FOR FUTURE GENERATIONS. */
 I7    X  50844 /*   */
 I7    X  50845 /*  	X-17	HH0855		HAI HUANG		10-MAR-1992 */
 I7    X  50846 /*  	 -16	ADD STATUS FOR GENTRAP CODES. */
 I7    X  50847 /*   */
 I7    X  50848 /*  	X-15	HH0853		HAI HUANG		26-FEB-1992 */
 I7    X  50849 /*  		ADD SS$_GENTRAP, SS$_GOTO_UNWIND, SS$_EXIT_UNWIND. */
 I7    X  50850 /*   */
 I7    X  50851 /*  	X-14	RAB0100		RICHARD A. BISHOP	30-JAN-1992 */
 I7    X  50852 /*  		MERGE BLADE AND ALPHA VERSIONS OF THIS FILE. THIS */
 I7    X  50853 /*  		IS BEING DONE SO AS TO LEAVE BLADE VALUES INTACT. */
 I7    X  50854 /*  		WHERE CHANGES IN VALUES ARE NECESSARY, THEY ARE */
 I7    X  50855 /*  		HAPPENING TO ALPHA. */
 I7    X  50856 /*   */
 I7    X  50857 /*  		ALSO MOVE SS$_IMGDMP (PREVIOUS BLADE CHECKIN). THIS */
 I7    X  50858 /*  		WAS WRONGLY PLACED, AND CAUSED SOME SYMBOLS TO MOVE. */
 I7    X  50859 /*  		THEY NOW GO BACK TO THEIR ORIGINAL VALUES. */
 I7    X  50860 /*   */
 I7    X  50861 /*  		AS LUCK WOULD HAVE IT, THIS CHECKIN IS GENERATION */
 I7    X  50862 /*  		14 ON BOTH MASTERPACKS..... */
 I7    X  50863 /*   */
 I7    X  50864 /*  	======================================== */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 919
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50865 /*   */
 I7    X  50866 /*  	30-JAN-1992:	WHAT FOLLOWS IS THE BLADE AUDIT TRAIL */
 I7    X  50867 /*  			FROM 30-NOV-1990 TO 20-DEC-1991 */
 I7    X  50868 /*   */
 I7    X  50869 /*  	======================================== */
 I7    X  50870 /*   */
 I7    X  50871 /*  	X-13	SJVMAJ		STEPHEN J. VIVIAN	20-DEC-1991 */
 I7    X  50872 /*  		ADD SS$_IMGDMP SIGNAL FOR MAJIQ SUPPORT. */
 I7    X  50873 /*   */
 I7    X  50874 /*  	X-12	CRB0711		COLIN R. BLAKE		18-DEC-1991 13:18:23.93 */
 I7    X  50875 /*  		THIS IS THE C2 VERSION BEING INSERTED INTO MAINLINE. */
 I7    X  50876 /*   */
 I7    X  50877 /*         X-8A3A1A2       THE GREAT MERGER NASSER ABBASI   11-DEC-1991 */
 I7    X  50878 /*  		MERGE T4 WITH BLADE_BLD6 */
 I7    X  50879 /*  		COPY OF HISTORY FROM BLD6 MODULE */
 I7    X  50880 /*  		-------------------------------- */
 I7    X  50881 /*  		X-11    JFD0031   		JAMES F. DUNHAM	 	8-JAN-1991 */
 I7    X  50882 /*  			ADD MESSAGES TO SUPPORT ISO 9660 VOLUME MOUNTS */
 I7    X  50883 /*   */
 I7    X  50884 /*  	X-8A3A1A1 DOR		DENNIS O. ROGERS	26-NOV-1991 12:19 */
 I7    X  50885 /*  		C2 BLADE MERGE (T4): */
 I7    X  50886 /*   */
 I7    X  50887 /*  		X-10	CBD0238	CHARLES B. DUNN		14-OCT-1991 */
 I7    X  50888 /*  		ADD SS$_TIMENOTSET FOR DTSS SUPPORT */
 I7    X  50889 /*   */
 I7    X  50890 /*         X-8A3A1	CRB0044		COLIN R. BLAKE		 6-NOV-1991  08:58 */
 I7    X  50891 /*  		T3 MERGE: */
 I7    X  50892 /*   */
 I7    X  50893 /*  		X-9	EJL0610		EDWARD J. LOS		02-OCT-1991 */
 I7    X  50894 /*  			RESET VERSION TO MATCH GENERATION. ADD SYSTEM SNAPSHOT */
 I7    X  50895 /*  			VALIDATION ERRORS */
 I7    X  50896 /*   */
 I7    X  50897 /*  	X-8A3	CRB0030		COLIN R. BLAKE		23-OCT-1991 */
 I7    X  50898 /*  		MORE C2 MERGING: */
 I7    X  50899 /*   */
 I7    X  50900 /*  		T-6T9	SAD0144		STUART A. DAVIDSON	18-OCT-1991 */
 I7    X  50901 /*  			ADD NOOJBSRV ERROR -- OBJECT SERVER NOT RUNNING. */
 I7    X  50902 /*   */
 I7    X  50903 /*  	X-8A2	FAK0003		FORREST A. KENNEY	16-OCT-1991 */
 I7    X  50904 /*  		MERGE LATEST C2 CHANGES. */
 I7    X  50905 /*   */
 I7    X  50906 /*  	       T-9	DDP0887		DERRELL D. PIPER	4-OCT-1991  18:43 */
 I7    X  50907 /*  			ADD ITEM CODE ERROR MESSAGES. */
 I7    X  50908 /*   */
 I7    X  50909 /*  	X-8A1	FAK0002		FORREST A. KENNEY	20-SEP-1991 */
 I7    X  50910 /*  		MERGE C2 MESSAGES INTO MAINLINE, FIX IDENT TO AGREE WITH */
 I7    X  50911 /*  		CMS DUE TO MASTERPACK CLEANUP. */
 I7    X  50912 /*   */
 I7    X  50913 /*  		X-80T8	LMP0542		L. MARK PILANT,		29-JUL-1991  16:42 */
 I7    X  50914 /*  			ADD A MESSAGE TO INDICATE THAT DELETION OF FILES WITH */
 I7    X  50915 /*  			ACTIVE RMS JOURNALING IS NOT ALLOWED. */
 I7    X  50916 /*   */
 I7    X  50917 /*  			LMP0544		L. MARK PILANT,		30-JUL-1991  14:45 */
 I7    X  50918 /*  			ADD A MESSAGE TO INDICATE THE SUPPLIED FILE */
 I7    X  50919 /*  			SPECIFICATION IS INVALID FOR THE ATTEMPTED OPERATION. */
 I7    X  50920 /*   */
 I7    X  50921 /*  		T-7	RLA		ROBERT L. ADAMS		26-JUN-1991 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 920
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50922 /*  			FOLD MAGIC CHANGES INTO TRANQUILITY. */
 I7    X  50923 /*   */
 I7    X  50924 /*  		T-6	DDP0977		DERRELL D. PIPER	7-JUN-1991  10:01 */
 I7    X  50925 /*  			ADD OVRMAXAUD. */
 I7    X  50926 /*   */
 I7    X  50927 /*  		T-5	AJM		ANDREW J. MOSKAL	13-MAY-1991 */
 I7    X  50928 /*  			ADD INVSECOPER, NOCLASSSUPPORT - MAC PROTECTION RELATED */
 I7    X  50929 /*  			MESSAGES. */
 I7    X  50930 /*   */
 I7    X  50931 /*  		T-4	SAD0116		STUART A. DAVIDSON	 3-MAY-1991 */
 I7    X  50932 /*  			ADD ILLRSDM (ILLEGAL RESOURCE DOMAIN OPERATION) */
 I7    X  50933 /*   */
 I7    X  50934 /*  		X-80T3	SAD0109		STUART A. DAVIDSON	19-APR-1991 */
 I7    X  50935 /*  			ADD OBJECT CONTEXT NOT LOCKED MESSAGE. */
 I7    X  50936 /*   */
 I7    X  50937 /*  		X-80T2	SAD0109		STUART A. DAVIDSON	11-MAR-1991 */
 I7    X  50938 /*  			ADD MISSED MESSAGES FOR SECURITY OBJECT MANAGEMENT */
 I7    X  50939 /*   */
 I7    X  50940 /*  		X-81    RLA0147		ROBERT L. ADAMS		15-FEB-1991 */
 I7    X  50941 /*  			ADD SECURITY MESSAGES ADDED FOR PHOENIX WORK. */
 I7    X  50942 /*   */
 I7    X  50943 /*  	X-87	PMV0169		PETER M. VATNE		20-JUN-1991 */
 I7    X  50944 /*  		ADD SS$_DEVNOTWS. */
 I7    X  50945 /*   */
 I7    X  50946 /*  	X-86	CW		CHRIS WHITAKER		10-MAR-1991 */
 I7    X  50947 /*  		ADD SS$_REMEMBER ALIAS. */
 I7    X  50948 /*   */
 I7    X  50949 /*  	X-85	FAK001		FORREST A. KENNEY	08-MAR-1991 */
 I7    X  50950 /*  		ADD SS$_QUEUED. */
 I7    X  50951 /*   */
 I7    X  50952 /*  	X-84	JLBBP01		J.L. BERG		28-FEB-1991 */
 I7    X  50953 /*  		ADD SS$_NOREADER AND SS$_NOWRITER. */
 I7    X  50954 /*   */
 I7    X  50955 /*  	X-83	CW		CHRIS WHITAKER		26-FEB-1991 */
 I7    X  50956 /*  		ADD ERROR CODES FOR DECDTM V1.2 SUPPORT. */
 I7    X  50957 /*   */
 I7    X  50958 /*      	X-82	RG40077		RAY GUZMAN		21-FEB-1991 */
 I7    X  50959 /*  		ADD 4    NEW    CODES.    SS$_BADCHECKSUM,   SS$_INVSECDOMAIN, */
 I7    X  50960 /*  		SS$_ARBTOOBIG, AND SS$_ORBTOOBIG. */
 I7    X  50961 /*   */
 I7    X  50962 /*  	X-81	RKK0058		ROBERT K. KOSAKOWSKI	19-FEB-1991 */
 I7    X  50963 /*  		RESERVE 20 MESSAGE CODES FOR MEDIA MANAGEMENT EXTENSIONS. */
 I7    X  50964 /*  		(FOR DAN KYLER) */
 I7    X  50965 /*   */
 I7    X  50966 /*  	X-46U12	LPL0001		LEE LEAHY		30 NOV 1990 */
 I7    X  50967 /*  		MERGED EDIT X-74 */
 I7    X  50968 /*   */
 I7    X  50969 /*  		X-74	LPL0001		LEE LEAHY		12 OCT 1990 */
 I7    X  50970 /*  			ADDED SS$_INVBUSNAM, SS$_INVCOMPTYPE, SS$_INVCOMPID, */
 I7    X  50971 /*  			SS$_INVCOMPLIST, SS$_RMTPATH, AND NOCOMPLSTS. */
 I7    X  50972 /*   */
 I7    X  50973 /*  	======================================== */
 I7    X  50974 /*   */
 I7    X  50975 /*  	30-JAN-1992:	WHAT FOLLOWS IS THE ALPHA AUDIT TRAIL */
 I7    X  50976 /*  			FROM 16-JUL-1990 TO 18-DEC-1991 */
 I7    X  50977 /*   */
 I7    X  50978 /*  	======================================== */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 921
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  50979 /*   */
 I7    X  50980 /*  	X-13	RS00233		RICHARD SAYDE		18-DEC-1991 */
 I7    X  50981 /*  		ADD ERROR CODES FOR ALIGNMENT FAULT REPORTING. */
 I7    X  50982 /*   */
 I7    X  50983 /*  	X-12	TNS001		TOM SCARPELLI		24-OCT-1991 */
 I7    X  50984 /*  		ADD MESSAGES FROM VAX SIDE FOR NEW QUEUE MANAGER. */
 I7    X  50985 /*   */
 I7    X  50986 /*  	X-11	DMB001		DAVID M. BERNARDO	23-OCT-1991 */
 I7    X  50987 /*  		ADD SLICING_DISABLED. */
 I7    X  50988 /*   */
 I7    X  50989 /*  	X-10	WMC010		WAYNE CARDOZA		24-SEP-1991 */
 I7    X  50990 /*  		ADD UNALIGNED SP LOAD. */
 I7    X  50991 /*   */
 I7    X  50992 /*  	X-9	TNS001		TOM SCARPELLI		17-JUN-1991 */
 I7    X  50993 /*  		ADD MESSAGES FROM VAX SIDE FOR $FORGE_WORD SYSTEM SERVICE. */
 I7    X  50994 /*   */
 I7    X  50995 /*  	X-8	RWC038		RICHARD W. CRITZ, JR.		12-JUN-1991 */
 I7    X  50996 /*  		CHANGE SS$_DRVEXISTS AND SS$_DEVEXISTS FROM INFORMATIONALS */
 I7    X  50997 /*  		TO WARNINGS. */
 I7    X  50998 /*   */
 I7    X  50999 /*  	X-7	HH0624		HAI HUANG		09-APR-1991 */
 I7    X  51000 /*  		ADD SS$_ALTER, ALTER STACK FRAMES, FOR TIE SUPPORT. */
 I7    X  51001 /*   */
 I7    X  51002 /*  	X-K10	LPL001		LEE LEAHY		 4 APR 1991 */
 I7    X  51003 /*  		INCLUDED THE DEFINITIONS FROM IOWA/SIGMA. */
 I7    X  51004 /*   */
 I7    X  51005 /*  		X-46U12	LPL0001		LEE LEAHY		30 NOV 1990 */
 I7    X  51006 /*  			MERGED EDIT X-74 */
 I7    X  51007 /*   */
 I7    X  51008 /*  			X-74	LPL0001		LEE LEAHY		12 OCT 1990 */
 I7    X  51009 /*  				ADDED SS$_INVBUSNAM, SS$_INVCOMPTYPE, SS$_INVCOMPID, */
 I7    X  51010 /*  				SS$_INVCOMPLIST, SS$_RMTPATH, AND NOCOMPLSTS. */
 I7    X  51011 /*   */
 I7    X  51012 /*  	X-K9	HH0610		HAI HUANG		25-FEB-1991 */
 I7    X  51013 /*  		ADD ALPHA HARDWARE EXCEPTIONS SS$_HPARITH, SS$_ALIGN. */
 I7    X  51014 /*   */
 I7    X  51015 /*  	X-K8	RFH002		ROBERT F. HOFFMAN	23-JAN-1991 */
 I7    X  51016 /*  		ADD SS$_QIO_CROCK FOR SPECIAL TREATMENT THAT $QIO */
 I7    X  51017 /*  		NEEDS IN ORDER TO FAULT IN A PAGE IN CALLER'S MODE. */
 I7    X  51018 /*   */
 I7    X  51019 /*  	X-K7	MSH1062		MICHAEL S. HARVEY	13-DEC-1990 */
 I7    X  51020 /*  		ADD SS$_INVARG FOR $CRMPSC AND $MPGBLSC SERVICES. */
 I7    X  51021 /*   */
 I7    X  51022 /*  	X-K6	RFH001		ROBERT F. HOFFMAN	11-DEC-1990 */
 I7    X  51023 /*  		ADD SS$_QUEUED FOR TTDRIVER PORT (REPLACES AN UNUSED */
 I7    X  51024 /*  		MESSAGE) */
 I7    X  51025 /*   */
 I7    X  51026 /*  	X-K5	RWC003		RICHARD W. CRITZ, JR.	 1-NOV-1990 */
 I7    X  51027 /*  		ADD SS$_DRVNOTVALID. */
 I7    X  51028 /*   */
 I7    X  51029 /*  	X-K4	RWC003		RICHARD W. CRITZ, JR.	11-OCT-1990 */
 I7    X  51030 /*  		ADD $LOAD_DRIVER STATUSES. */
 I7    X  51031 /*   */
 I7    X  51032 /*  	X-K3	KLN1027		KAREN L. NOEL		25-JUL-1990 */
 I7    X  51033 /*  		ADD SS$_NOT_LOADED */
 I7    X  51034 /*   */
 I7    X  51035 /*  	X-K2	WMC0K2		WAYNE CARDOZA		16-JUL-1990 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 922
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51036 /*  		ADD WAIT IN CALLERS MODE. */
 I7    X  51037 /*   */
 I7    X  51038 /*  	======================================== */
 I7    X  51039 /*   */
 I7    X  51040 /*  	30-JAN-1992:	WHAT FOLLOWS IS THE COMMON AUDIT TRAIL */
 I7    X  51041 /*  			UP TO 21-MAY-1990 */
 I7    X  51042 /*   */
 I7    X  51043 /*  	======================================== */
 I7    X  51044 /*   */
 I7    X  51045 /*  	X-46U11	CW1024		CHRIS WHITAKER		21-MAY-1990 */
 I7    X  51046 /*  		ADD SS$_VOLATILE. */
 I7    X  51047 /*   */
 I7    X  51048 /*         X-46U10	DDP0643		DERRELL D. PIPER	28-MAR-1990  15:55 */
 I7    X  51049 /*  		ADD SS$_USEGENPWD. */
 I7    X  51050 /*   */
 I7    X  51051 /*  	X-46U9	MAS0254		MARK A. STILES		20-FEB-1990 */
 I7    X  51052 /*  		FIXUP OUT-OF-ORDER CODES.  MOVE SOME NEW CODES INTO */
 I7    X  51053 /*  		UNUSED SLOTS.  FIX TEXT OF INSFSPT TO BE MORE GENERIC. */
 I7    X  51054 /*   */
 I7    X  51055 /*  	X-46U8	CAM0109		CHRISTOPHER A. MEGA	12-FEB-1990 */
 I7    X  51056 /*  		ADD BOOTREJECT WARNING STATUS - USED BY START/CPU CODE IF A CPU */
 I7    X  51057 /*  		FAILS TO BOOT BECAUSE IT IS IN THE BOOT_REJECTED STATE. */
 I7    X  51058 /*   */
 I7    X  51059 /*  	X-46U7	LBB0010		LEE BARTON		30-NOV-1989 */
 I7    X  51060 /*  		ADD SS$_ARCHIVING, SS$_ARCHIVED (XQP SUPPORT OF ALM) */
 I7    X  51061 /*   */
 I7    X  51062 /*  	X-46U6	LMP0517		L. MARK PILANT,		17-OCT-1989  16:42 */
 I7    X  51063 /*  		ADD PROTECTED SUBSYSTEM SUPPORT. */
 I7    X  51064 /*   */
 I7    X  51065 /*  	X-46U5	RLF		RICHARD L. FRANK	16-OCT-1989 */
 I7    X  51066 /*  		MODIFY INSFSPTS TO BE MORE GENERIC. ADD INSFRPGS AND */
 I7    X  51067 /*  		INSFLPGS. */
 I7    X  51068 /*   */
 I7    X  51069 /*  	X-46U4	CAM0072		CHRISTOPHER A. MEGA	06-OCT-1989 */
 I7    X  51070 /*  		CHANGED CPUSTOPPD TO CPUSTOPPING */
 I7    X  51071 /*   */
 I7    X  51072 /*         X-46U3	DDP0546		DERRELL D. PIPER	4-OCT-1989  14:24 */
 I7    X  51073 /*  		ADD SS$_NOCALLPRIV FOR $CHECK_ACCESS. */
 I7    X  51074 /*   */
 I7    X  51075 /*  	X-46U2	PRD0503		PAUL R. DESTEFANO	25-SEP-1989 */
 I7    X  51076 /*  		ADD SS$_NOSUCHFAC FOR EVENT FACILITY OBJECT SECURITY. */
 I7    X  51077 /*   */
 I7    X  51078 /*  	X-46U1	PRD0495		PAUL R. DESTEFANO	18-SEP-1989 */
 I7    X  51079 /*  		ADD SS$_INVEVENT FATAL MESSAGE FOR $SETEVTAST AND */
 I7    X  51080 /*  		$CANEVTAST. */
 I7    X  51081 /*   */
 I7    X  51082 /*  	X-46	SAS0203		SCOTT A. SHURTS		15-SEP-1989 */
 I7    X  51083 /*  		ADD SS$_INCONOLCK FATAL MESSAGE FOR $CHANGE_ACL. */
 I7    X  51084 /*   */
 I7    X  51085 /*  	X-45	CAM0063		CHRISTOPHER A. MEGA	13-SEP-1989 */
 I7    X  51086 /*  		ADD WARNING AND INFORMATIONAL STATUS FOR ENHANCED PRIMARY */
 I7    X  51087 /*  		CPU SWITCHING: CPUSTARTIP, CPUSTARTD, CPUSTOPPD, PRIMNOSTP. */
 I7    X  51088 /*  		ALSO ADDED /FAO=1 TO NSTPPD. */
 I7    X  51089 /*   */
 I7    X  51090 /*         X-44	DDP0429		DERRELL D. PIPER       11-SEP-1989  16:57 */
 I7    X  51091 /*  		CHANGE THE SEVERITY OF THE NEW PASSWORD STATUS CODES */
 I7    X  51092 /*  		FROM FATAL TO ERROR. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 923
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51093 /*   */
 I7    X  51094 /*  	X-43	CBD0198		CHARLES B. DUNN		14-AUG-1989 */
 I7    X  51095 /*  		ADD SS$_EFNOTSET FOR IOC$PRE_SIMREQCOM SUPPORT */
 I7    X  51096 /*   */
 I7    X  51097 /*  	X-42	RAP0491		ROD A. PAYNE		15-AUG-89 */
 I7    X  51098 /*  		ADD SS$_HSTBUFACC, TO REPORT HOST BUFFER ACCESS ERRORS. */
 I7    X  51099 /*   */
 I7    X  51100 /*  	X-41	CJB0041		CHERYL J. BULMER	 9-AUG-1989 */
 I7    X  51101 /*  		ADD SS$_LOADER, TO REPORT LOADER CYCLE ERRORS. */
 I7    X  51102 /*   */
 I7    X  51103 /*  	X-40	MAS0238		MARK A. STILES		 9-AUG-1989 */
 I7    X  51104 /*  		ADD SS$_CPUCAP FOR USE WHEN A REQUESTED CPU DOES NOT */
 I7    X  51105 /*  		HAVE THE CAPABILITIES REQUIRED TO RUN THE PROCESS. */
 I7    X  51106 /*  		[FOLD FROM X-29U11 IN V5.3 STREAM] */
 I7    X  51107 /*   */
 I7    X  51108 /*  	X-39	MVI0033		MICHAEL V. ILES,	28-JUL-1989 10:08:05.45 */
 I7    X  51109 /*  		ADD MESSAGE CODE NOSUCHCPB AND CHANGE TEXT FOR ACLFULL */
 I7    X  51110 /*   */
 I7    X  51111 /*         X-38	DDP0387		DERRELL D. PIPER       25-JUL-1989  12:47 */
 I7    X  51112 /*  		ADD MESSAGE CODES FOR SITE-SPECIFIC PASSWORD POLICIES. */
 I7    X  51113 /*   */
 I7    X  51114 /*         X-37	DDP0375		DERRELL D. PIPER       31-MAY-1989  15:12 */
 I7    X  51115 /*  		REPLACE SOME OBSOLETE MESSAGE CODES. */
 I7    X  51116 /*   */
 I7    X  51117 /*  	X-36	HH0340		HAI HUANG		03-OCT-1988 */
 I7    X  51118 /*  		ADD VECALIGN ERROR. */
 I7    X  51119 /*   */
 I7    X  51120 /*  	X-35	SSA0002		STAN AMWAY		30-SEP-1988 */
 I7    X  51121 /*  		CORRECT TEXT FOR SS$_VECFULL. */
 I7    X  51122 /*   */
 I7    X  51123 /*  	X-34	JEJ0550		JAMES E JOHNSON		19-SEP-1988 */
 I7    X  51124 /*  		ADD ALRCURTID, RMALRDCL, NOSUCHPART, INVLOG, BADLOGVER, */
 I7    X  51125 /*  		LOGSTALL, LOGFULL, LOGNAME. */
 I7    X  51126 /*   */
 I7    X  51127 /*  	X-33	SSA0001		STAN AMWAY		14-SEP-1988 */
 I7    X  51128 /*  		ADD NOSUSPEND ("process cannot be suspended"). */
 I7    X  51129 /*   */
 I7    X  51130 /*  	X-32	RJB0165		RICHARD J. BOUCHARD JR.	14-SEP-1988 */
 I7    X  51131 /*  		ADD NOMOREDEV MESSAGE FOR $DEVICE_SCAN SERVICE. */
 I7    X  51132 /*   */
 I7    X  51133 /*  	X-31	ACG0559		ANDREW C. GOLDSTEIN,	31-AUG-1988  16:28 */
 I7    X  51134 /*  		ADD HWM_STALL FOR ABORT OF STALLED INTERNAL IRP'S */
 I7    X  51135 /*   */
 I7    X  51136 /*  	X-30	HH0334		HAI HUANG		31-AUG-1988 */
 I7    X  51137 /*  		REPLACE SYSVERDIF WITH A NEW VALUE (I.E. SEVERITY) AND */
 I7    X  51138 /*  		A NEW MESSAGE. */
 I7    X  51139 /*   */
 I7    X  51140 /*         X-29	DDP0308		DERRELL D. PIPER       21-JUL-1988  14:02 */
 I7    X  51141 /*  		ADD PWDSYNTAX, INVPWDLEN, AND PWDNOTDIF. */
 I7    X  51142 /*   */
 I7    X  51143 /*  	X-28	JEJ0527		JAMES E JOHNSON		27-JUN-1988 */
 I7    X  51144 /*  		ADD NOSUCHTID, NOCURTID, WRONGSTATE, VETO, UNKRESULT, */
 I7    X  51145 /*  		FORGET, PREPARED, NOSUCHRM, ITEMNOTFOUND, NOMOREITEMS */
 I7    X  51146 /*   */
 I7    X  51147 /*  	X-26	HH0315		HAI HUANG		18-APR-1988 */
 I7    X  51148 /*  	 -27	ADD NEW STATUS CODES FOR VECTOR SUPPORT. */
 I7    X  51149 /*   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 924
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51150 /*         X-25    PT00010		PANKAJ TANDON		30-DEC-1987 */
 I7    X  51151 /*  		ADD ALLSTARTED,ALRDYSTRT,ALRDYSTPPD AND NSTPPD FOR */
 I7    X  51152 /*  		$START/STOP CPU ERRONEOUS CASES. */
 I7    X  51153 /*   */
 I7    X  51154 /*  	X-24	LMP0465		L. MARK PILANT,		28-OCT-1987  15:58 */
 I7    X  51155 /*  		ADD A NEW MESSAGE, SS$_NORIGHTSDB, TO INDICATE THAT THERE */
 I7    X  51156 /*  		IS NOT A RIGHTS DATABASE IS NOT PRESENT ON THE SYSTEM. */
 I7    X  51157 /*   */
 I7    X  51158 /*  	X-23	SJF		STU FARNHAM		5-OCT-1987 */
 I7    X  51159 /*  		ADD NOSUCHCPU */
 I7    X  51160 /*   */
 I7    X  51161 /*  	X-22	DLM006		DAN MURPHY		13-SEP-1987 */
 I7    X  51162 /*  		INFORMATIONAL CODES FOR $GETSECI. */
 I7    X  51163 /*   */
 I7    X  51164 /*  	X-21	WMC0021		WAYNE CARDOZA		4-SEP-1987 */
 I7    X  51165 /*  		FIX A MISSPELLING IN VA_IN_USE. */
 I7    X  51166 /*   */
 I7    X  51167 /*  	X-20	WMC0020		WAYNE CARDOZA		27-JUL-1987 */
 I7    X  51168 /*  		ADD NODELETE. */
 I7    X  51169 /*   */
 I7    X  51170 /*  	X-19	WMC0019		WAYNE CARDOZA		10-MAR-1987 */
 I7    X  51171 /*  		EXPRCLM  SHOULD NOT MENTION SUBPROCESSES. */
 I7    X  51172 /*   */
 I7    X  51173 /*  	X-18	WMC0018		WAYNE CARDOZA		19-FEB-1987 */
 I7    X  51174 /*  		ADD VA_IN_USE. */
 I7    X  51175 /*   */
 I7    X  51176 /*  	X-17	DDP0029		DERRELL D. PIPER	21-JAN-1987 */
 I7    X  51177 /*  		CONVERT SS$_BADXXXCTX TO SINGLE BADCONTEXT MSG. */
 I7    X  51178 /*   */
 I7    X  51179 /*  	X-16	DDP0027		DERRELL D. PIPER	12-JAN-1987 */
 I7    X  51180 /*  		ADD SS$_TOOMUCHCTX AND SS$_BADUAICTX. */
 I7    X  51181 /*   */
 I7    X  51182 /*  	X-15	HH0237		HAI HUANG		06-JAN-1987 */
 I7    X  51183 /*  		ADD SS$_UNSUPPORTED. */
 I7    X  51184 /*   */
 I7    X  51185 /*  	X-14	DDP0008		DERRELL D. PIPER	08-DEC-1986 */
 I7    X  51186 /*  		ADD SS$_LASTID, SS$_NOMOREID, SS$_RLSEMPTY, AND */
 I7    X  51187 /*  		SS$_BADJPICTX FOR JPI$_RIGHTSLIST ITEM CODE. */
 I7    X  51188 /*  		(NB: S VARIANT IS NOW OBSOLETE.) */
 I7    X  51189 /*   */
 I7    X  51190 /*  	X-9	NCD0001		NANCY C. DENARDO	21-OCT-1986 */
 I7    X  51191 /*  		ADDED SS$_EXLICENSE, SS$_INVLICENSE, SS$_LICENSE_LEVEL, */
 I7    X  51192 /*  		AND SS$_INV_HW_ID FOR LMF SERVICE. */
 I7    X  51193 /*   */
 I7    X  51194 /*  	X-8     SAS001		SCOTT A. SHURTS		02-OCT-1986 */
 I7    X  51195 /*  		ADDED SS$_SRVMMAT TO INDICATE CRYPTOGRAPHIC SERVICE */
 I7    X  51196 /*  		MISMATCH. */
 I7    X  51197 /*   */
 I7    X  51198 /*  	X-7	KL 0001		KEITH LOEPERE		12-JUN-1986 */
 I7    X  51199 /*  		ADDED SS$_REMOVED TO INDICATE DIR ENTRY ONLY REMOVED. */
 I7    X  51200 /*   */
 I7    X  51201 /*  	X-6	CWH5006		CW HOBBS		30-MAY-1986 */
 I7    X  51202 /*  		ADD SS$_REMOTE_PROC ERROR MESSAGE FOR CWPS. */
 I7    X  51203 /*   */
 I7    X  51204 /*  	X-5H2	SJF		STU FARNHAM		29-MAY-1986 */
 I7    X  51205 /*  		ADD	SS$_CPUNOTACT TO INDICATE THAT THE REQUESTED */
 I7    X  51206 /*  		CPU IN AN SMP SYSTEM IS NOT ACTIVE. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 925
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51207 /*   */
 I7    X  51208 /*  	X-5	PRD0184		PAUL R. DESTEFANO	07-NOV-1985 */
 I7    X  51209 /*  		ADD SS$_DATALOST "data lost" TO INDICATE DLS END */
 I7    X  51210 /*  		FLAG SET IN CACHING TAPE DRIVE OR DRIVER HAS OTHERWISE */
 I7    X  51211 /*  		DETECTED THE LOSS OF CACHED DATA. */
 I7    X  51212 /*   */
 I7    X  51213 /*  	X-4	LMP0382		L. MARK PILANT,		 6-NOV-1985  10:10 */
 I7    X  51214 /*  		ADD SS$_OBJLOCKHELD TO INDICATE THAT A PROCESS ALREADY HOLDS */
 I7    X  51215 /*  		THE OBJECT'S ACL LOCK. */
 I7    X  51216 /*   */
 I7    X  51217 /*  	X-3	JMK0002		JOSEPH M. KRAETSCH	17-SEP-1985 */
 I7    X  51218 /*  		ADD SS$_RUCONFLICT "file has active RUs by another facility". */
 I7    X  51219 /*  		REMOVE NOTMPJNL, NOPRMJNL (OBSOLETE). */
 I7    X  51220 /*   */
 I7    X  51221 /*  	V04-001	ROW0466		RALPH O. WEBER		11-JUN-1985 */
 I7    X  51222 /*  		REPLACE SS$_SHACPYINP (A NO LONGER USED SHADOWING ERROR */
 I7    X  51223 /*  		STATUS) WITH SS$_DEVNOTSHR, "device not currently shareable". */
 I7    X  51224 /*  		SS$_DEVNOTSHR IS AN ERROR STATUE FOR USE WITH DEVICES MARKED */
 I7    X  51225 /*  		FOR EXCLUSIVE ACCESS BY SOMEONE ELSE BY AN MSCP CONTROLLER. */
 I7    X  51226 /*   */
 I7    X  51227 /*  --- */
 I7    X  51228 /*  + */
 I7    X  51229 /*   SYSTEM STATUS CODES */
 I7    X  51230 /*   */
 I7    X  51231 /*  	LAYOUT OF MESSAGE SPACE: */
 I7    X  51232 /*   */
 I7    X  51233 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  51234 /*   */
 I7    X  51235 /*  	0-127       0-3FF	128	FATAL ERRORS */
 I7    X  51236 /*       128-191	  400-5FF	 64	HARDWARE DEFINED FATAL ERRORS */
 I7    X  51237 /*       192-255	  600-7FF	 64	SUCCESS CODES */
 I7    X  51238 /*       256-383	  800-BFF	128	WARNING CODES */
 I7    X  51239 /*       384-447	  C00-DFF	 64	INFORMATIONAL CODES */
 I7    X  51240 /*       448-511	  E00-FFF	 64	NONFATAL ERROR CODES */
 I7    X  51241 /*      512-1023	1000-1FFF	512	SHARED MESSAGES (NOT HERE, SEE SHRMSG) */
 I7    X  51242 /*     1024-1279	2000-27FF	256	FATAL ERRORS (CONTINUED FROM 3FF) */
 I7    X  51243 /*     1280-1343	2800-29FF	 64	NO PRIVILEGE ERRORS */
 I7    X  51244 /*     1344-1375	2A00-2AFF	 32	EXCEEDED QUOTA ERRORS */
 I7    X  51245 /*     1376-1407	2B00-2BFF	 32	RESERVED FOR MEDIA MGMT EXTENSIONS */
 I7    X  51246 /*     1408-1663	2C00-33FF	256	NONFATAL ERROR CODES (CONTINUED FROM FFF) */
 I7    X  51247 /*     1664-1695   3400-341F        32     FATAL ERRORS (CONTINUED FROM 27FF) */
 I7    X  51248 /*     1696-4031   3420-7DFF      2334     (UNUSED) */
 I7    X  51249 /*     4032-4095	7E00-7FFF	 64	RESERVED FOR SCS SYSAPS */
 I7    X  51250 /*   */
 I7    X  51251 /*  - */
 I7    X  51252 /*   */
 I7    X  51253 /*   EXPLICITLY DEFINED SUCESS CODES */
 I7    X  51254 /*   */
 I7    X  51255 /*   DO NOT MIX THESE CODES WITH INCREMENTAL ASSIGNMENTS BELOW */
 I7    X  51256 /*   */
 I7    X  51257 #define	SYSTEM$_FACILITY	0
 I7    X  51258 #define	SS$_NORMAL	1
 I7    X  51259 /*   */
 I7    X  51260 /*   NOTE THAT CONTINUE,WASCLR,WASSET,REMEMBER DO NOT HAVE ANY MESSAGE TEXT */
 I7    X  51261 /*   SINCE THESE CODES USE THE SAME MESSAGE NUMBER AS NORMAL AND ACCVIO, */
 I7    X  51262 /*   THEY CAN NEVER BE MADE TO HAVE MESSAGES ASSOCIATED WITH THEM. */
 I7    X  51263 /*   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 926
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51264 #define	SS$_CONTINUE	1
 I7    X  51265 #define	SS$_WASCLR	1
 I7    X  51266 #define	SS$_WASSET	9
 I7    X  51267 #define	SS$_REMEMBER	1
 I7    X  51268 /*   */
 I7    X  51269 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  51270 /*   */
 I7    X  51271 /*  	0-127       0-3FF	128	FATAL ERRORS */
 I7    X  51272 /*     1024-1279	2000-27FF	256	FATAL ERRORS (CONTINUED FROM 3FF) */
 I7    X  51273 /*   */
 I7    X  51274 #define	SS$_ACCVIO	12
 I7    X  51275 #define	SS$_BADPARAM	20
 I7    X  51276 #define	SS$_EXQUOTA	28
 I7    X  51277 #define	SS$_NOPRIV	36
 I7    X  51278 /*   MAKE THE ABOVE ERRORS FALL INTO SHORT LITERALS */
 I7    X  51279 #define	SS$_ABORT	44
 I7    X  51280 #define	SS$_BADATTRIB	52
 I7    X  51281 #define	SS$_BADESCAPE	60
 I7    X  51282 #define	SS$_BADIMGHDR	68
 I7    X  51283 #define	SS$_CHANINTLK	76
 I7    X  51284 #define	SS$_CTRLERR	84
 I7    X  51285 #define	SS$_DATACHECK	92
 I7    X  51286 #define	SS$_DEVFOREIGN	100
 I7    X  51287 #define	SS$_DEVMOUNT	108
 I7    X  51288 #define	SS$_DEVNOTMBX	116
 I7    X  51289 #define	SS$_DEVNOTMOUNT	124
 I7    X  51290 #define	SS$_DEVOFFLINE	132
 I7    X  51291 #define	SS$_DRVERR	140
 I7    X  51292 #define	SS$_DUPLNAM	148
 I7    X  51293 #define	SS$_FILACCERR	156
 I7    X  51294 #define	SS$_FILALRACC	164
 I7    X  51295 #define	SS$_FILNOTACC	172
 I7    X  51296 #define	SS$_FILNOTEXP	180
 I7    X  51297 #define	SS$_FORMAT	188
 I7    X  51298 #define	SS$_GPTFULL	196
 I7    X  51299 #define	SS$_GSDFULL	204
 I7    X  51300 #define	SS$_LCKPAGFUL	212
 I7    X  51301 #define	SS$_ILLBLKNUM	220
 I7    X  51302 #define	SS$_ILLCNTRFUNC	228
 I7    X  51303 #define	SS$_ILLEFC	236
 I7    X  51304 #define	SS$_ILLIOFUNC	244
 I7    X  51305 #define	SS$_ILLPAGCNT	252
 I7    X  51306 #define	SS$_ILLSER	260
 I7    X  51307 #define	SS$_INCVOLLABEL	268
 I7    X  51308 #define	SS$_INSFARG	276
 I7    X  51309 #define	SS$_INSFWSL	284
 I7    X  51310 #define	SS$_INSFMEM	292
 I7    X  51311 #define	SS$_INSFRAME	300
 I7    X  51312 #define	SS$_IVADDR	308
 I7    X  51313 #define	SS$_IVCHAN	316
 I7    X  51314 #define	SS$_IVDEVNAM	324
 I7    X  51315 #define	SS$_IVGSDNAM	332
 I7    X  51316 #define	SS$_IVLOGNAM	340
 I7    X  51317 #define	SS$_IVLOGTAB	348
 I7    X  51318 #define	SS$_IVQUOTAL	356
 I7    X  51319 #define	SS$_IVSECFLG	364
 I7    X  51320 #define	SS$_IVSSRQ	372

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 927
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51321 #define	SS$_IVSTSFLG	380
 I7    X  51322 #define	SS$_IVTIME	388
 I7    X  51323 #define	SS$_LENVIO	396
 I7    X  51324 #define	SS$_LKWSETFUL	404
 I7    X  51325 #define	SS$_MBTOOSML	412
 I7    X  51326 #define	SS$_MEDOFL	420
 I7    X  51327 #define	SS$_NODATA	428
 I7    X  51328 #define	SS$_NOIOCHAN	436
 I7    X  51329 #define	SS$_NOLOGNAM	444
 I7    X  51330 #define	SS$_NONEXDRV	452
 I7    X  51331 #define	SS$_NOTFILEDEV	460
 I7    X  51332 #define	SS$_NOTINTBLSZ	468
 I7    X  51333 #define	SS$_NOTLABELMT	476
 I7    X  51334 #define	SS$_NOTSQDEV	484
 I7    X  51335 #define	SS$_PAGOWNVIO	492
 I7    X  51336 #define	SS$_PARITY	500
 I7    X  51337 #define	SS$_PARTESCAPE	508
 I7    X  51338 #define	SS$_PFMBSY	516
 I7    X  51339 #define	SS$_PSTFULL	524
 I7    X  51340 #define	SS$_RESULTOVF	532
 I7    X  51341 #define	SS$_SECTBLFUL	540
 I7    X  51342 #define	SS$_TAPEPOSLOST	548
 I7    X  51343 #define	SS$_TIMEOUT	556
 I7    X  51344 #define	SS$_UNASEFC	564
 I7    X  51345 #define	SS$_UNSAFE	572
 I7    X  51346 #define	SS$_VASFULL	580
 I7    X  51347 #define	SS$_VECINUSE	588
 I7    X  51348 #define	SS$_VOLINV	596
 I7    X  51349 #define	SS$_WRITLCK	604
 I7    X  51350 #define	SS$_NOTAPEOP	612
 I7    X  51351 #define	SS$_IVCHNLSEC	620
 I7    X  51352 #define	SS$_NOMBX	628
 I7    X  51353 #define	SS$_NOLINKS	636
 I7    X  51354 #define	SS$_NOSOLICIT	644
 I7    X  51355 #define	SS$_NOSUCHNODE	652
 I7    X  51356 #define	SS$_REJECT	660
 I7    X  51357 #define	SS$_TOOMUCHDATA	668
 I7    X  51358 #define	SS$_BUGCHECK	676
 I7    X  51359 #define	SS$_FILNOTCNTG	684
 I7    X  51360 #define	SS$_BADSTACK	692
 I7    X  51361 #define	SS$_MCHECK	700
 I7    X  51362 #define	SS$_DEVACTIVE	708
 I7    X  51363 #define	SS$_HANGUP	716
 I7    X  51364 #define	SS$_OPINCOMPL	724
 I7    X  51365 #define	SS$_ILLSEQOP	732
 I7    X  51366 #define	SS$_IVSECIDCTL	740
 I7    X  51367 #define	SS$_NOTNETDEV	748
 I7    X  51368 #define	SS$_IVPROTECT	756
 I7    X  51369 #define	SS$_ACPVAFUL	764
 I7    X  51370 #define	SS$_MTLBLLONG	772
 I7    X  51371 #define	SS$_BUFBYTALI	780
 I7    X  51372 #define	SS$_NOAQB	788
 I7    X  51373 #define	SS$_WRONGACP	796
 I7    X  51374 #define	SS$_BUFNOTALIGN	804
 I7    X  51375 #define	SS$_DEVCMDERR	812
 I7    X  51376 #define	SS$_DEVREQERR	820
 I7    X  51377 #define	SS$_INSFBUFDP	828

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 928
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51378 #define	SS$_INSFMAPREG	836
 I7    X  51379 #define	SS$_IVBUFLEN	844
 I7    X  51380 #define	SS$_IVMODE	852
 I7    X  51381 #define	SS$_MCNOTVALID	860
 I7    X  51382 #define	SS$_POWERFAIL	868
 I7    X  51383 #define	SS$_SHMGSNOTMAP	876
 I7    X  51384 #define	SS$_TOOMANYLNAM	884
 I7    X  51385 #define	SS$_SHMNOTCNCT	892
 I7    X  51386 #define	SS$_NOTCREATOR	900
 I7    X  51387 #define	SS$_INTERLOCK	908
 I7    X  51388 #define	SS$_BADQUEUEHDR	916
 I7    X  51389 #define	SS$_NOSLOT	924
 I7    X  51390 #define	SS$_SUSPENDED	932
 I7    X  51391 #define	SS$_EXPORTQUOTA	940
 I7    X  51392 #define	SS$_NOSHMBLOCK	948
 I7    X  51393 #define	SS$_BADQFILE	956
 I7    X  51394 #define	SS$_NOQFILE	964
 I7    X  51395 #define	SS$_QFACTIVE	972
 I7    X  51396 #define	SS$_QFNOTACT	980
 I7    X  51397 #define	SS$_DUPDSKQUOTA	988
 I7    X  51398 #define	SS$_NODISKQUOTA	996
 I7    X  51399 #define	SS$_EXDISKQUOTA	1004
 I7    X  51400 #define	SS$_IDMISMATCH	1012
 I7    X  51401 #define	SS$_NOWRT	1020
 I7    X  51402 /*   ************** */
 I7    X  51403 /*   NOTE:  THE ABOVE SET OF SEVERE ERROR MESSAGES IS FULL!!!! */
 I7    X  51404 /*  	 ANY ADDITIONAL SEVERE ERROR MESSAGES MUST BE ADDED */
 I7    X  51405 /*  	 BELOW, IN THE RANGE HEX 2000-2800. */
 I7    X  51406 /*   ************** */
 I7    X  51407 #define	SS$_BADISD	8196
 I7    X  51408 #define	SS$_RELINK	8204
 I7    X  51409 #define	SS$_NOTINSTALL	8212
 I7    X  51410 #define	SS$_SHARTOOBIG	8220
 I7    X  51411 #define	SS$_NOP1VA	8228
 I7    X  51412 #define	SS$_MULTRMS	8236
 I7    X  51413 #define	SS$_VECFULL	8244
 I7    X  51414 #define	SS$_IVLVEC	8252
 I7    X  51415 #define	SS$_INSFSPTS	8260
 I7    X  51416 #define	SS$_DISCONNECT	8268
 I7    X  51417 #define	SS$_PRIVINSTALL	8276
 I7    X  51418 #define	SS$_PROTINSTALL	8284
 I7    X  51419 #define	SS$_BADVEC	8292
 I7    X  51420 #define	SS$_REMRSRC	8300
 I7    X  51421 #define	SS$_PROTOCOL	8308
 I7    X  51422 #define	SS$_THIRDPARTY	8316
 I7    X  51423 #define	SS$_NOSUCHUSER	8324
 I7    X  51424 #define	SS$_SHUT	8332
 I7    X  51425 #define	SS$_UNREACHABLE	8340
 I7    X  51426 #define	SS$_INVLOGIN	8348
 I7    X  51427 #define	SS$_NOSUCHOBJ	8356
 I7    X  51428 #define	SS$_EXCPUTIM	8364
 I7    X  51429 #define	SS$_OPRABORT	8372
 I7    X  51430 #define	SS$_SHRIDMISMAT	8380
 I7    X  51431 #define	SS$_COMMHARD	8388
 I7    X  51432 #define	SS$_IVCHAR	8396
 I7    X  51433 #define	SS$_DEVINACT	8404
 I7    X  51434 #define	SS$_CONNECFAIL	8412

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 929
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51435 #define	SS$_LINKABORT	8420
 I7    X  51436 #define	SS$_LINKDISCON	8428
 I7    X  51437 #define	SS$_LINKEXIT	8436
 I7    X  51438 #define	SS$_PATHLOST	8444
 I7    X  51439 #define	SS$_CLEARED	8452
 I7    X  51440 #define	SS$_RESET	8460
 I7    X  51441 #define	SS$_UNSOLICIT	8468
 I7    X  51442 #define	SS$_TOOMANYREDS	8476
 I7    X  51443 #define	SS$_IVLOCKID	8484
 I7    X  51444 #define	SS$_SUBLOCKS	8492
 I7    X  51445 #define	SS$_PARNOTGRANT	8500
 I7    X  51446 #define	SS$_CVTUNGRANT	8508
 I7    X  51447 #define	SS$_FORCEDERROR	8516
 I7    X  51448 #define	SS$_ILLSELF	8524
 I7    X  51449 #define	SS$_ILLCDTST	8532
 I7    X  51450 #define	SS$_NOLISTENER	8540
 I7    X  51451 #define	SS$_EXGBLPAGFIL	8548
 I7    X  51452 #define	SS$_BADRCT	8556
 I7    X  51453 #define	SS$_DIRNOTEMPTY	8564
 I7    X  51454 #define	SS$_FORCEDEXIT	8572
 I7    X  51455 #define	SS$_NOTPRINTED	8580
 I7    X  51456 #define	SS$_JBCERROR	8588
 I7    X  51457 #define	SS$_NOLICENSE	8596
 I7    X  51458 #define	SS$_VCBROKEN	8604
 I7    X  51459 #define	SS$_VCCLOSED	8612
 I7    X  51460 #define	SS$_INSFCDT	8620
 I7    X  51461 #define	SS$_DEVNOTDISM	8628
 I7    X  51462 #define	SS$_NOSHRIMG	8636
 I7    X  51463 #define	SS$_DUPUNIT	8644
 I7    X  51464 #define	SS$_BADACLCTX	8652
 I7    X  51465 #define	SS$_SERIOUSEXCP	8660
 I7    X  51466 #define	SS$_TEMPLATEDEV	8668
 I7    X  51467 #define	SS$_IVACL	8676
 I7    X  51468 #define	SS$_NOSUCHID	8684
 I7    X  51469 #define	SS$_NOLCLMEDA	8692
 I7    X  51470 #define	SS$_NOREGAVIL	8700
 I7    X  51471 #define	SS$_NOREGSUIT	8708
 I7    X  51472 #define	SS$_NOSUCHPGM	8716
 I7    X  51473 #define	SS$_PGMLDFAIL	8724
 I7    X  51474 #define	SS$_PGMSTDALN	8732
 I7    X  51475 #define	SS$_IVIDENT	8740
 I7    X  51476 #define	SS$_DUPIDENT	8748
 I7    X  51477 #define	SS$_INCSEGTRA	8756
 I7    X  51478 #define	SS$_NODELEAVE	8764
 I7    X  51479 #define	SS$_KERNELINV	8772
 I7    X  51480 #define	SS$_EXLNMQUOTA	8780
 I7    X  51481 #define	SS$_PARENT_DEL	8788
 I7    X  51482 #define	SS$_PARNOTSYS	8796
 I7    X  51483 #define	SS$_INSSWAPSPACE	8804
 I7    X  51484 #define	SS$_VOLOERR	8812
 I7    X  51485 #define	SS$_DATALATE	8820
 I7    X  51486 #define	SS$_OVRMAXARG	8828
 I7    X  51487 #define	SS$_SHACHASTA	8836
 I7    X  51488 #define	SS$_TERMNETDEV	8844
 I7    X  51489 #define	SS$_NOLOGTAB	8852
 I7    X  51490 #define	SS$_WRONGNAME	8860
 I7    X  51491 #define	SS$_NOVOLACC	8868

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 930
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51492 #define	SS$_NOFILACC	8876
 I7    X  51493 #define	SS$_INVEXHLIST	8884
 I7    X  51494 #define	SS$_NOACLSUPPORT	8892
 I7    X  51495 #define	SS$_INVSECLASS	8900
 I7    X  51496 #define	SS$_INCSHAMEM	8908
 I7    X  51497 #define	SS$_DEVNOTSHR	8916
 I7    X  51498 #define	SS$_RUCONFLICT	8924
 I7    X  51499 #define	SS$_DATALOST	8932
 I7    X  51500 #define	SS$_REMOTE_PROC	8940
 I7    X  51501 #define	SS$_CPUNOTACT	8948
 I7    X  51502 #define	SS$_SRVMMAT	8956
 I7    X  51503 #define	SS$_EXLICENSE	8964
 I7    X  51504 #define	SS$_INVLICENSE	8972
 I7    X  51505 #define	SS$_LICENSE_LEVEL	8980
 I7    X  51506 #define	SS$_INV_HW_ID	8988
 I7    X  51507 #define	SS$_BADCONTEXT	8996
 I7    X  51508 #define	SS$_TOOMUCHCTX	9004
 I7    X  51509 #define	SS$_VA_IN_USE	9012
 I7    X  51510 #define	SS$_NODELETE	9020
 I7    X  51511 #define	SS$_NOSUCHCPU	9028
 I7    X  51512 #define	SS$_IMGVEXC	9036
 I7    X  51513 #define	SS$_NOSAVPEXC	9044
 I7    X  51514 #define	SS$_NOSUCHTID	9052
 I7    X  51515 #define	SS$_NOSUCHRM	9060
 I7    X  51516 #define	SS$_NOCURTID	9068
 I7    X  51517 #define	SS$_WRONGSTATE	9076
 I7    X  51518 #define	SS$_VETO	9084
 I7    X  51519 #define	SS$_PWDSYNTAX	9092
 I7    X  51520 #define	SS$_PWDNOTDIF	9100
 I7    X  51521 #define	SS$_INVPWDLEN	9108
 I7    X  51522 #define	SS$_SYSVERDIF	9116
 I7    X  51523 #define	SS$_HWM_STALL	9124
 I7    X  51524 #define	SS$_NOSUSPEND	9132
 I7    X  51525 #define	SS$_NOSUCHPART	9140
 I7    X  51526 #define	SS$_RMALRDCL	9148
 I7    X  51527 #define	SS$_ALRCURTID	9156
 I7    X  51528 #define	SS$_INVLOG	9164
 I7    X  51529 #define	SS$_BADLOGVER	9172
 I7    X  51530 #define	SS$_OPINPROG	9180
 I7    X  51531 #define	SS$_WRONGACMODE	9188
 I7    X  51532 #define	SS$_SUBTRACED	9196
 I7    X  51533 #define	SS$_ARCHIVING	9204
 I7    X  51534 #define	SS$_ARCHIVED	9212
 I7    X  51535 #define	SS$_SITEPWDFAIL	9220
 I7    X  51536 #define	SS$_NOSUCHCPB	9228
 I7    X  51537 #define	SS$_CPUCAP	9236
 I7    X  51538 #define	SS$_LOADER	9244
 I7    X  51539 #define	SS$_HSTBUFACC	9252
 I7    X  51540 #define	SS$_INCONOLCK	9260
 I7    X  51541 #define	SS$_INVEVENT	9268
 I7    X  51542 #define	SS$_NOSUCHFAC	9276
 I7    X  51543 #define	SS$_NOCALLPRIV	9284
 I7    X  51544 #define	SS$_INSFLPGS	9292
 I7    X  51545 #define	SS$_INSFRPGS	9300
 I7    X  51546 #define	SS$_BADREASON	9308
 I7    X  51547 #define	SS$_NOSUCHBID	9316
 I7    X  51548 #define	SS$_NOTORIGIN	9324

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 931
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51549 #define	SS$_NOLOG	9332
 I7    X  51550 #define	SS$_TPDISABLED	9340
 I7    X  51551 #define	SS$_BRANCHENDED	9348
 I7    X  51552 #define	SS$_BRANCHSTARTED	9356
 I7    X  51553 #define	SS$_NOSUCHREPORT	9364
 I7    X  51554 #define	SS$_BADTIME	9372
 I7    X  51555 #define	SS$_PARTJOINED	9380
 I7    X  51556 #define	SS$_NOPRESUME	9388
 I7    X  51557 #define	SS$_RECOVERCANCEL	9396
 I7    X  51558 #define	SS$_CURTIDCHANGE	9404
 I7    X  51559 #define	SS$_NOREADER	9412
 I7    X  51560 #define	SS$_NOWRITER	9420
 I7    X  51561 #define	SS$_DEVNOTWS	9428
 I7    X  51562 #define	SS$_NOCLASS	9436
 I7    X  51563 #define	SS$_CONTEXTSKEW	9444
 I7    X  51564 #define	SS$_BADFORGEDB	9452
 I7    X  51565 #define	SS$_NODOMAIN	9460
 I7    X  51566 #define	SS$_OVRMAXAUD	9468
 I7    X  51567 #define	SS$_BADCHAIN	9476
 I7    X  51568 #define	SS$_BADBUFLEN	9484
 I7    X  51569 #define	SS$_BADITMCOD	9492
 I7    X  51570 #define	SS$_BADBUFADR	9500
 I7    X  51571 #define	SS$_BADRETLEN	9508
 I7    X  51572 #define	SS$_SSINOTHELD	9516
 I7    X  51573 #define	SS$_SSAMISSING	9524
 I7    X  51574 #define	SS$_SSANOTAUTH	9532
 I7    X  51575 #define	SS$_BADOWNER	9540
 I7    X  51576 #define	SS$_NAMESERVCOMMERR	9548
 I7    X  51577 #define	SS$_IVNODNAM	9556
 I7    X  51578 #define	SS$_CONFIG_SYNTAX	9564
 I7    X  51579 #define	SS$_SHELVED	9572
 I7    X  51580 #define	SS$_DRVNOTVALID	9580
 I7    X  51581 #define	SS$_SLICING_DISABLED	9588
 I7    X  51582 #define	SS$_NOCALLTRANS	9596
 I7    X  51583 #define	SS$_TRANSCALLER	9604
 I7    X  51584 #define	SS$_ILLPRIPOL	9612
 I7    X  51585 #define	SS$_ILLPOLICY	9620
 I7    X  51586 #define	SS$_INSFRSPID	9628
 I7    X  51587 #define	SS$_INSFCREDITL	9636
 I7    X  51588 #define	SS$_INSFCREDITH	9644
 I7    X  51589 #define	SS$_INSFMAP	9652
 I7    X  51590 #define	SS$_SIG_INVARGTYPE	9660
 I7    X  51591 #define	SS$_SIG_INVFLTARG	9668
 I7    X  51592 #define	SS$_SIG_INVARGLIST	9676
 I7    X  51593 #define	SS$_SIG_INVFUNCTYPE	9684
 I7    X  51594 #define	SS$_SIG_ARGMISMATCH	9692
 I7    X  51595 #define	SS$_NOTRANQUIL	9700
 I7    X  51596 #define	SS$_NOCALLTRANS_SUP	9708
 I7    X  51597 #define	SS$_DEVLISTFULL	9716
 I7    X  51598 #define	SS$_INSFP1POOL	9724
 I7    X  51599 #define	SS$_SIGNAL64	9732
 I7    X  51600 #define	SS$_ZEROALLOCLS	9740
 I7    X  51601 #define	SS$_QUEUE_FULL	9748
 I7    X  51602 #define	SS$_DEVICE_RESET	9756
 I7    X  51603 #define	SS$_ACA_ACTIVE	9764
 I7    X  51604 #define	SS$_BUS_PHASE_ERROR	9772
 I7    X  51605 #define	SS$_NOMULTITHREAD	9780

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 932
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51606 #define	SS$_MTHREADACTIVE	9788
 I7    X  51607 #define	SS$_MAXKTHREADS	9796
 I7    X  51608 #define	SS$_NOSUCHTHREAD	9804
 I7    X  51609 #define	SS$_NOTHREADMAN	9812
 I7    X  51610 #define	SS$_NOSUCHUPCALL	9820
 I7    X  51611 #define	SS$_BADFANDLE	9828
 I7    X  51612 #define	SS$_FANDLEBUSY	9836
 I7    X  51613 #define	SS$_UNALIGNED	9844
 I7    X  51614 #define	SS$_BADIOSADR	9852
 I7    X  51615 #define	SS$_ILLBUFOBJ	9860
 I7    X  51616 #define	SS$_ILLMODIFIER	9868
 I7    X  51617 #define	SS$_NOCCBBUFFOBJ	9876
 I7    X  51618 #define	SS$_NORDACC	9884
 I7    X  51619 #define	SS$_NOWRTACC	9892
 I7    X  51620 #define	SS$_NOTNOCNVRT	9900
 I7    X  51621 #define	SS$_UNSUPVOLSET	9908
 I7    X  51622 #define	SS$_ARG_GTR_32_BITS	9916
 I7    X  51623 #define	SS$_NOT64DEVFUNC	9924
 I7    X  51624 #define	SS$_CHANVIO	9932
 I7    X  51625 #define	SS$_GBLSEC_MISMATCH	9940
 I7    X  51626 #define	SS$_ILLRELPAG	9948
 I7    X  51627 #define	SS$_IVACMODE	9956
 I7    X  51628 #define	SS$_IVREGFLG	9964
 I7    X  51629 #define	SS$_IVREGID	9972
 I7    X  51630 #define	SS$_IVREGPROT	9980
 I7    X  51631 #define	SS$_IVVAFLG	9988
 I7    X  51632 #define	SS$_LEN_NOTBLKMULT	9996
 I7    X  51633 #define	SS$_LEN_NOTPAGMULT	10004
 I7    X  51634 #define	SS$_NOT_PROCESS_VA	10012
 I7    X  51635 #define	SS$_OFF_NOTBLKALGN	10020
 I7    X  51636 #define	SS$_OFF_NOTPAGALGN	10028
 I7    X  51637 #define	SS$_OFFSET_TOO_BIG	10036
 I7    X  51638 #define	SS$_REGOWNVIO	10044
 I7    X  51639 #define	SS$_PROTVIO	10052
 I7    X  51640 #define	SS$_TOO_MANY_ARGS	10060
 I7    X  51641 #define	SS$_VA_NOTPAGALGN	10068
 I7    X  51642 #define	SS$_NOEXTAUTH	10076
 I7    X  51643 #define	SS$_AUTHFAIL	10084
 I7    X  51644 #define	SS$_INVUSER	10092
 I7    X  51645 #define	SS$_ERRMAPAUTH	10100
 I7    X  51646 #define	SS$_NORAD50	10108
 I7    X  51647 #define	SS$_BADMEDIA	10116
 I7    X  51648 #define	SS$_UNRECOVRDER	10124
 I7    X  51649 #define	SS$_IVFORMAT	10132
 I7    X  51650 #define	SS$_IVUNITFLAG	10140
 I7    X  51651 #define	SS$_IVPARAM	10148
 I7    X  51652 #define	SS$_NOSUCHENTRY	10156
 I7    X  51653 #define	SS$_ALLOCFAILED	10164
 I7    X  51654 #define	SS$_SHMEM_INCON	10172
 I7    X  51655 #define	SS$_IVLOCKOP	10180
 I7    X  51656 #define	SS$_IVLOCKTBL	10188
 I7    X  51657 #define	SS$_LOCKINUSE	10196
 I7    X  51658 #define	SS$_LOCK_TIMEOUT	10204
 I7    X  51659 #define	SS$_BADLCKTBL	10212
 I7    X  51660 #define	SS$_NOBREAK	10220
 I7    X  51661 #define	SS$_IVPROTOCOL	10228
 I7    X  51662 #define	SS$_NOWAIT	10236

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 933
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51663 /*   */
 I7    X  51664 /*   ***** NOTE: NO ROOM FOR MORE MESSAGES IN THIS SECTION ***** */
 I7    X  51665 /*   */
 I7    X  51666 /*   */
 I7    X  51667 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  51668 /*   */
 I7    X  51669 /*       128-191	  400-5FF	 64	HARDWARE DEFINED FATAL ERRORS */
 I7    X  51670 /*   */
 I7    X  51671 #define	SS$_PLHLDR	1028
 I7    X  51672 #define	SS$_ASTFLT	1036
 I7    X  51673 #define	SS$_BREAK	1044
 I7    X  51674 #define	SS$_CMODSUPR	1052
 I7    X  51675 #define	SS$_CMODUSER	1060
 I7    X  51676 #define	SS$_COMPAT	1068
 I7    X  51677 #define	SS$_OPCCUS	1076
 I7    X  51678 #define	SS$_OPCDEC	1084
 I7    X  51679 #define	SS$_PAGRDERR	1092
 I7    X  51680 #define	SS$_RADRMOD	1100
 I7    X  51681 #define	SS$_ROPRAND	1108
 I7    X  51682 #define	SS$_SSFAIL	1116
 I7    X  51683 #define	SS$_TBIT	1124
 I7    X  51684 #define	SS$_DEBUG	1132
 I7    X  51685 /*   THE FOLLOWING CODES MUST BE IN ORDER SINCE THEY ARE CALCULATED */
 I7    X  51686 #define	SS$_ARTRES	1140
 I7    X  51687 #define	SS$_INTOVF	1148
 I7    X  51688 #define	SS$_INTDIV	1156
 I7    X  51689 #define	SS$_FLTOVF	1164
 I7    X  51690 #define	SS$_FLTDIV	1172
 I7    X  51691 #define	SS$_FLTUND	1180
 I7    X  51692 #define	SS$_DECOVF	1188
 I7    X  51693 #define	SS$_SUBRNG	1196
 I7    X  51694 #define	SS$_FLTOVF_F	1204
 I7    X  51695 #define	SS$_FLTDIV_F	1212
 I7    X  51696 #define	SS$_FLTUND_F	1220
 I7    X  51697 /*   THE ABOVE CODES MUST BE IN ORDER SINCE THEY ARE CALCULATED */
 I7    X  51698 #define	SS$_INHCHMK	1228
 I7    X  51699 #define	SS$_INHCHME	1236
 I7    X  51700 #define	SS$_VECDIS	1244
 I7    X  51701 #define	SS$_VARITH	1252
 I7    X  51702 #define	SS$_ILLVECOP	1260
 I7    X  51703 #define	SS$_VECALIGN	1268
 I7    X  51704 #define	SS$_IMGDMP	1276
 I7    X  51705 #define	SS$_HPARITH	1284
 I7    X  51706 #define	SS$_ALIGN	1292
 I7    X  51707 #define	SS$_UNALIGN_SP_LOAD	1300
 I7    X  51708 #define	SS$_GENTRAP	1308
 I7    X  51709 #define	SS$_FLTINV	1316
 I7    X  51710 #define	SS$_FLTINE	1324
 I7    X  51711 #define	SS$_DECDIV	1332
 I7    X  51712 #define	SS$_DECINV	1340
 I7    X  51713 #define	SS$_ASSERTERR	1348
 I7    X  51714 #define	SS$_NULPTRERR	1356
 I7    X  51715 #define	SS$_STKOVF	1364
 I7    X  51716 #define	SS$_STRLENERR	1372
 I7    X  51717 #define	SS$_SUBSTRERR	1380
 I7    X  51718 #define	SS$_RANGEERR	1388
 I7    X  51719 #define	SS$_SUBRNG1	1396

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 934
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51720 #define	SS$_SUBRNG2	1404
 I7    X  51721 #define	SS$_SUBRNG3	1412
 I7    X  51722 #define	SS$_SUBRNG4	1420
 I7    X  51723 #define	SS$_SUBRNG5	1428
 I7    X  51724 #define	SS$_SUBRNG6	1436
 I7    X  51725 #define	SS$_SUBRNG7	1444
 I7    X  51726 #define	SS$_PAGRDERRXM	1452
 I7    X  51727 #define	SS$_ILLEGAL_SHADOW	1460
 I7    X  51728 #define	SS$_FLTINV_F	1468
 I7    X  51729 #define	SS$_FLTINE_F	1476
 I7    X  51730 #define	SS$_INTOVF_F	1484
 I7    X  51731 #define	SS$_NATFAULT	1492
 I7    X  51732 #define	SS$_FLTDENORMAL	1500
 I7    X  51733 #define	SS$_BREAK_SYS	1508
 I7    X  51734 #define	SS$_BREAK_ARCH	1516
 I7    X  51735 /*   */
 I7    X  51736 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  51737 /*   ***** NOTE: ROOM FOR 2 MORE MESSAGES IN THIS SECTION ***** */
 I7    X  51738 /*   */
 I7    X  51739 /*   */
 I7    X  51740 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  51741 /*   */
 I7    X  51742 /*       192-255	  600-7FF	 64	SUCCESS CODES */
 I7    X  51743 /*   */
 I7    X  51744 #define	SS$_BUFFEROVF	1537
 I7    X  51745 #define	SS$_CONTROLO	1545
 I7    X  51746 #define	SS$_CONTROLY	1553
 I7    X  51747 #define	SS$_CREATED	1561
 I7    X  51748 #define	SS$_MSGNOTFND	1569
 I7    X  51749 #define	SS$_NOTRAN	1577
 I7    X  51750 #define	SS$_SUPERSEDE	1585
 I7    X  51751 #define	SS$_WASECC	1593
 I7    X  51752 #define	SS$_DEVALRALLOC	1601
 I7    X  51753 #define	SS$_REMOTE	1609
 I7    X  51754 #define	SS$_CONTROLC	1617
 I7    X  51755 #define	SS$_NOTMODIFIED	1625
 I7    X  51756 #define	SS$_RDDELDATA	1633
 I7    X  51757 #define	SS$_OVRDSKQUOTA	1641
 I7    X  51758 #define	SS$_OBSOLETE_1	1649
 I7    X  51759 #define	SS$_FILEPURGED	1657
 I7    X  51760 #define	SS$_NOTALLPRIV	1665
 I7    X  51761 #define	SS$_SYNCH	1673
 I7    X  51762 #define	SS$_CONCEALED	1681
 I7    X  51763 #define	SS$_INCOMPAT	1689
 I7    X  51764 #define	SS$_DBGOPCREQ	1697
 I7    X  51765 #define	SS$_ALRDYCLOSED	1705
 I7    X  51766 #define	SS$_LNMCREATED	1713
 I7    X  51767 #define	SS$_ACEIDMATCH	1721
 I7    X  51768 #define	SS$_DBGEVENT	1729
 I7    X  51769 #define	SS$_REMOVED	1737
 I7    X  51770 #define	SS$_QUEUED	1745
 I7    X  51771 #define	SS$_SUBDISABLED	1753
 I7    X  51772 #define	SS$_FORGET	1761
 I7    X  51773 #define	SS$_PREPARED	1769
 I7    X  51774 #define	SS$_NOMOREITEMS	1777
 I7    X  51775 #define	SS$_VOLATILE	1785
 I7    X  51776 #define	SS$_CLASSUPER	1793

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 935
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51777 #define	SS$_CONTINUE_64	1801
 I7    X  51778 #define	SS$_THREAD_UPCALL	1809
 I7    X  51779 #define	SS$_CREATED_SHPT	1817
 I7    X  51780 #define	SS$_PERSONADELPEND	1825
 I7    X  51781 #define	SS$_DEVAVAIL	1833
 I7    X  51782 #define	SS$_LONGGAP	1841
 I7    X  51783 #define	SS$_BROKEN	1849
 I7    X  51784 #define	SS$_QPOOL_DEL_INIT	1857
 I7    X  51785 #define	SS$_UNUSED_1	1865
 I7    X  51786 #define	SS$_LOWPREC	1873
 I7    X  51787 /*   */
 I7    X  51788 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  51789 /*   ***** NOTE: ROOM FOR 18 MORE MESSAGES IN THIS SECTION ***** */
 I7    X  51790 /*   */
 I7    X  51791 /*   */
 I7    X  51792 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  51793 /*   */
 I7    X  51794 /*       256-383	  800-BFF	128	WARNING CODES */
 I7    X  51795 /*   */
 I7    X  51796 #define	SS$_ACCONFLICT	2048
 I7    X  51797 #define	SS$_BADCHKSUM	2056
 I7    X  51798 #define	SS$_BADFILEHDR	2064
 I7    X  51799 #define	SS$_BADFILENAME	2072
 I7    X  51800 #define	SS$_BADFILEVER	2080
 I7    X  51801 #define	SS$_BADIRECTORY	2088
 I7    X  51802 #define	SS$_CANCEL	2096
 I7    X  51803 #define	SS$_DATAOVERUN	2104
 I7    X  51804 #define	SS$_DEVALLOC	2112
 I7    X  51805 #define	SS$_DEVASSIGN	2120
 I7    X  51806 #define	SS$_DEVICEFULL	2128
 I7    X  51807 #define	SS$_DEVNOTALLOC	2136
 I7    X  51808 #define	SS$_DIRFULL	2144
 I7    X  51809 #define	SS$_DUPFILENAME	2152
 I7    X  51810 #define	SS$_ENDOFFILE	2160
 I7    X  51811 #define	SS$_ENDOFTAPE	2168
 I7    X  51812 #define	SS$_TMACTIVE	2176
 I7    X  51813 #define	SS$_FCPREADERR	2184
 I7    X  51814 #define	SS$_FCPREWNDERR	2192
 I7    X  51815 #define	SS$_FCPSPACERR	2200
 I7    X  51816 #define	SS$_FCPWRITERR	2208
 I7    X  51817 #define	SS$_FILELOCKED	2216
 I7    X  51818 #define	SS$_FILENUMCHK	2224
 I7    X  51819 #define	SS$_FILESEQCHK	2232
 I7    X  51820 #define	SS$_FILESTRUCT	2240
 I7    X  51821 #define	SS$_HEADERFULL	2248
 I7    X  51822 #define	SS$_IDXFILEFULL	2256
 I7    X  51823 #define	SS$_MBFULL	2264
 I7    X  51824 #define	SS$_NOHOMEBLK	2272
 I7    X  51825 #define	SS$_NONEXPR	2280
 I7    X  51826 #define	SS$_NONLOCAL	2288
 I7    X  51827 #define	SS$_NOHANDLER	2296
 I7    X  51828 #define	SS$_NOSIGNAL	2304
 I7    X  51829 #define	SS$_NOSUCHDEV	2312
 I7    X  51830 #define	SS$_NOSUCHFILE	2320
 I7    X  51831 #define	SS$_RESIGNAL	2328
 I7    X  51832 #define	SS$_UNWIND	2336
 I7    X  51833 #define	SS$_UNWINDING	2344

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 936
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51834 #define	SS$_NOMOREFILES	2352
 I7    X  51835 #define	SS$_BEGOFFILE	2360
 I7    X  51836 #define	SS$_BLOCKCNTERR	2368
 I7    X  51837 #define	SS$_MUSTCLOSEFL	2376
 I7    X  51838 #define	SS$_WAITUSRLBL	2384
 I7    X  51839 #define	SS$_ILLUSRLBLRD	2392
 I7    X  51840 #define	SS$_ILLUSRLBLWT	2400
 I7    X  51841 #define	SS$_ILLLBLAST	2408
 I7    X  51842 #define	SS$_ENDOFUSRLBL	2416
 I7    X  51843 #define	SS$_NOSUCHSEC	2424
 I7    X  51844 #define	SS$_CLIFRCEXT	2432
 I7    X  51845 #define	SS$_FCPREPSTN	2440
 I7    X  51846 #define	SS$_TOOMANYVER	2448
 I7    X  51847 #define	SS$_NOTVOLSET	2456
 I7    X  51848 #define	SS$_ENDOFVOLUME	2464
 I7    X  51849 #define	SS$_NOMOREPROC	2472
 I7    X  51850 #define	SS$_NODEVAVL	2480
 I7    X  51851 #define	SS$_NOTQUEUED	2488
 I7    X  51852 #define	SS$_DGQINCOMP	2496
 I7    X  51853 #define	SS$_DIRALLOC	2504
 I7    X  51854 #define	SS$_ACLEMPTY	2512
 I7    X  51855 #define	SS$_NOENTRY	2520
 I7    X  51856 #define	SS$_NOMOREACE	2528
 I7    X  51857 #define	SS$_RIGHTSFULL	2536
 I7    X  51858 #define	SS$_VALNOTVALID	2544
 I7    X  51859 #define	SS$_ACLFULL	2552
 I7    X  51860 #define	SS$_NOMORENODE	2560
 I7    X  51861 #define	SS$_NOMORELOCK	2568
 I7    X  51862 #define	SS$_BEGOFTAPE	2576
 I7    X  51863 #define	SS$_OBJLOCKHELD	2584
 I7    X  51864 #define	SS$_CPUSTARTIP	2592
 I7    X  51865 #define	SS$_ALLSTARTED	2600
 I7    X  51866 #define	SS$_ALRDYSTRT	2608
 I7    X  51867 #define	SS$_ALRDYSTPPD	2616
 I7    X  51868 #define	SS$_NSTPPD	2624
 I7    X  51869 #define	SS$_UNKRESULT	2632
 I7    X  51870 #define	SS$_ITEMNOTFOUND	2640
 I7    X  51871 #define	SS$_NOMOREDEV	2648
 I7    X  51872 #define	SS$_EFNOTSET	2656
 I7    X  51873 #define	SS$_PRIMNOSTP	2664
 I7    X  51874 #define	SS$_BOOTREJECT	2672
 I7    X  51875 #define	SS$_RMTPATH	2680
 I7    X  51876 #define	SS$_OBJECT_EXISTS	2688
 I7    X  51877 #define	SS$_NOSUCHOBJECT	2696
 I7    X  51878 #define	SS$_NOVOLDESC	2704
 I7    X  51879 #define	SS$_NOPTBLDIR	2712
 I7    X  51880 #define	SS$_DRVEXISTS	2720
 I7    X  51881 #define	SS$_DEVEXISTS	2728
 I7    X  51882 #define	SS$_GOTO_UNWIND	2736
 I7    X  51883 #define	SS$_EXIT_UNWIND	2744
 I7    X  51884 #define	SS$_SMALLHEADER	2752
 I7    X  51885 #define	SS$_FDT_COMPL	2760
 I7    X  51886 #define	SS$_TARGET_UNWIND	2768
 I7    X  51887 #define	SS$_TARGET_GOTO_UNWIND	2776
 I7    X  51888 #define	SS$_RESIGNAL_64	2784
 I7    X  51889 #define	SS$_NOMOREREG	2792
 I7    X  51890 #define	SS$_PAGNOTINREG	2800

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 937
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51891 #define	SS$_REGISFULL	2808
 I7    X  51892 #define	SS$_PAGTYPVIO	2816
 I7    X  51893 #define	SS$_NOSUCHPAG	2824
 I7    X  51894 #define	SS$_PAGNOTWRITE	2832
 I7    X  51895 #define	SS$_NOMORETHREAD	2840
 I7    X  51896 #define	SS$_NOTF11ODS5	2848
 I7    X  51897 #define	SS$_NOCONVJNL	2856
 I7    X  51898 #define	SS$_MPDEVBUSY	2864
 I7    X  51899 #define	SS$_MPDEVUSERDISABLE	2872
 I7    X  51900 #define	SS$_NOCPUMATCH	2880
 I7    X  51901 #define	SS$_NOMORECLIENTS	2888
 I7    X  51902 #define	SS$_NOMOREDEVICES	2896
 I7    X  51903 #define	SS$_NOMOREFILTERS	2904
 I7    X  51904 #define	SS$_NOMOREPATHS	2912
 I7    X  51905 #define	SS$_NOMORESERVERS	2920
 I7    X  51906 #define	SS$_FISH	2928
 I7    X  51907 #define	SS$_FILENOTCACHED	2936
 I7    X  51908 #define	SS$_INSF_SHM_REG	2944
 I7    X  51909 #define	SS$_HBMMNOTENABLED	2952
 I7    X  51910 #define	SS$_HBMMALREADYON	2960
 I7    X  51911 #define	SS$_NODEVPOL	2968
 I7    X  51912 #define	SS$_NONAMPOL	2976
 I7    X  51913 #define	SS$_XVALNOTVALID	2984
 I7    X  51914 #define	SS$_FILEFULL	2992
 I7    X  51915 #define	SS$_REMINDER	3000
 I7    X  51916 /*   */
 I7    X  51917 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  51918 /*   ***** NOTE: ROOM FOR 8 MORE WARNING MESSAGES IN ABOVE SECTION ***** */
 I7    X  51919 /*   */
 I7    X  51920 /*   */
 I7    X  51921 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  51922 /*   */
 I7    X  51923 /*       384-447	  C00-DFF	 64	INFORMATIONAL CODES */
 I7    X  51924 /*   */
 I7    X  51925 #define	SS$_EOTIN	3075
 I7    X  51926 #define	SS$_CHAINW	3083
 I7    X  51927 #define	SS$_NOTINSEC	3091
 I7    X  51928 #define	SS$_NONXPAG	3099
 I7    X  51929 #define	SS$_LOGNAME	3107
 I7    X  51930 #define	SS$_CPUSTARTD	3115
 I7    X  51931 #define	SS$_CPUSTOPPING	3123
 I7    X  51932 #define	SS$_NOTALLCANCELED	3131
 I7    X  51933 #define	SS$_NOTHINGDONE	3139
 I7    X  51934 #define	SS$_EVTNOTENAB	3147
 I7    X  51935 #define	SS$_NOPATHTBL	3155
 I7    X  51936 #define	SS$_RESELECTION	3163
 I7    X  51937 #define	SS$_EMULATED	3171
 I7    X  51938 #define	SS$_REMDONE	3179
 I7    X  51939 #define	SS$_REMINPROG	3187
 I7    X  51940 #define	SS$_DEVCON	3195
 I7    X  51941 #define	SS$_DEVNOTCON	3203
 I7    X  51942 #define	SS$_CPUSELECTED	3211
 I7    X  51943 #define	SS$_QPOOL_DEL_INPRG	3219
 I7    X  51944 #define	SS$_PRESTO	3227
 I7    X  51945 #define	SS$_TAKEN_BRANCH	3235
 I7    X  51946 #define	SS$_IA32_TRAP	3243
 I7    X  51947 #define	SS$_DEBUG_FAULT	3251

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 938
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  51948 #define	SS$_BREAK_APPL	3259
 I7    X  51949 #define	SS$_TIE_GET_FRAMES	3267
 I7    X  51950 #define	SS$_TIE_PRE_UNWIND	3275
 I7    X  51951 #define	SS$_TIE_UNWIND	3283
 I7    X  51952 #define	SS$_TIE_GOTO_UNWIND	3291
 I7    X  51953 #define	SS$_HBMMCREPOSTMRG	3299
 I7    X  51954 #define	SS$_FPMODECTL	3307
 I7    X  51955 #define	SS$_FPMODEPC	3315
 I7    X  51956 #define	SS$_FPMODERC	3323
 I7    X  51957 #define	SS$_ARGTYP1	3331
 I7    X  51958 #define	SS$_ARGTYP2	3339
 I7    X  51959 #define	SS$_ARGTYP3	3347
 I7    X  51960 #define	SS$_ARGTYP4	3355
 I7    X  51961 #define	SS$_ARGTYP5	3363
 I7    X  51962 #define	SS$_ARGTYP6	3371
 I7    X  51963 #define	SS$_ARGTYP7	3379
 I7    X  51964 #define	SS$_ARGTYP8	3387
 I7    X  51965 #define	SS$_DEFER_ASTS	3395
 I7    X  51966 #define	SS$_COWBOYUP	3403
 I7    X  51967 /*   */
 I7    X  51968 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  51969 /*   ***** NOTE: ROOM FOR 22 MORE MESSAGES IN THIS SECTION ***** */
 I7    X  51970 /*   */
 I7    X  51971 /*   */
 I7    X  51972 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  51973 /*   */
 I7    X  51974 /*       448-511	  E00-FFF	 64	NONFATAL ERROR CODES */
 I7    X  51975 /*   */
 I7    X  51976 #define	SS$_LINEABRT	3586
 I7    X  51977 #define	SS$_DEADLOCK	3594
 I7    X  51978 #define	SS$_NOLOCKID	3602
 I7    X  51979 #define	SS$_EXDEPTH	3610
 I7    X  51980 #define	SS$_PARTMAPPED	3618
 I7    X  51981 #define	SS$_CANCELGRANT	3626
 I7    X  51982 #define	SS$_RETRY	3634
 I7    X  51983 #define	SS$_BADACL	3642
 I7    X  51984 #define	SS$_ACEEXISTS	3650
 I7    X  51985 #define	SS$_UNSUPPORTED	3658
 I7    X  51986 #define	SS$_NORIGHTSDB	3666
 I7    X  51987 #define	SS$_LOGSTALL	3674
 I7    X  51988 #define	SS$_LOGFULL	3682
 I7    X  51989 #define	SS$_PWDINDIC	3690
 I7    X  51990 #define	SS$_PWDINHIS	3698
 I7    X  51991 #define	SS$_PWDWEAK	3706
 I7    X  51992 #define	SS$_USEGENPWD	3714
 I7    X  51993 #define	SS$_INVBUSNAM	3722
 I7    X  51994 #define	SS$_INVCOMPTYPE	3730
 I7    X  51995 #define	SS$_INVCOMPID	3738
 I7    X  51996 #define	SS$_INVCOMPLIST	3746
 I7    X  51997 #define	SS$_NOCOMPLSTS	3754
 I7    X  51998 #define	SS$_INVSECDOMAIN	3762
 I7    X  51999 #define	SS$_BADCHECKSUM	3770
 I7    X  52000 #define	SS$_ARBTOOBIG	3778
 I7    X  52001 #define	SS$_ORBTOOBIG	3786
 I7    X  52002 #define	SS$_INVAJLNAM	3794
 I7    X  52003 #define	SS$_TOOMANYAJL	3802
 I7    X  52004 #define	SS$_RSDMINUSE	3810

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 939
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  52005 #define	SS$_RSDMNOTFOU	3818
 I7    X  52006 #define	SS$_INVUICGRP	3826
 I7    X  52007 #define	SS$_RSDM_ACTIVE	3834
 I7    X  52008 #define	SS$_OBJLOCKED	3842
 I7    X  52009 #define	SS$_NOTMPNAM	3850
 I7    X  52010 #define	SS$_INVCLSITM	3858
 I7    X  52011 #define	SS$_NOTSHRTBL	3866
 I7    X  52012 #define	SS$_MMATORB	3874
 I7    X  52013 #define	SS$_NOSUCHVOL	3882
 I7    X  52014 #define	SS$_OBJNOTLOCKED	3890
 I7    X  52015 #define	SS$_ILLRSDM	3898
 I7    X  52016 #define	SS$_NOCLASSSUPPORT	3906
 I7    X  52017 #define	SS$_INVSECOPER	3914
 I7    X  52018 #define	SS$_NODELJNLACT	3922
 I7    X  52019 #define	SS$_INVFILFOROP	3930
 I7    X  52020 #define	SS$_NOOBJSRV	3938
 I7    X  52021 #define	SS$_NOFILEACCESS	3946
 I7    X  52022 #define	SS$_BADFILESIZE	3954
 I7    X  52023 #define	SS$_NOTFULLYMAPPED	3962
 I7    X  52024 #define	SS$_BADWINCNT	3970
 I7    X  52025 #define	SS$_BADWINLBN	3978
 I7    X  52026 #define	SS$_BADWINRVN	3986
 I7    X  52027 #define	SS$_EXTRAWINDOW	3994
 I7    X  52028 #define	SS$_REVISED	4002
 I7    X  52029 #define	SS$_TIMENOTSET	4010
 I7    X  52030 #define	SS$_WAIT_CALLERS_MODE	4018
 I7    X  52031 #define	SS$_NOT_LOADED	4026
 I7    X  52032 #define	SS$_DRV_NOUNLOAD	4034
 I7    X  52033 #define	SS$_INVARG	4042
 I7    X  52034 #define	SS$_QIO_CROCK	4050
 I7    X  52035 #define	SS$_ALTER	4058
 I7    X  52036 #define	SS$_AFR_ENABLED	4066
 I7    X  52037 #define	SS$_AFR_NOT_ENABLED	4074
 I7    X  52038 #define	SS$_SHELFERROR	4082
 I7    X  52039 #define	SS$_PERSONANONGRATA	4090
 I7    X  52040 /*   ************** */
 I7    X  52041 /*   NOTE:  THE ABOVE SET OF NONFATAL ERROR MESSAGES IS FULL!!!! */
 I7    X  52042 /*  	 ANY ADDITIONAL NONFATAL ERROR MESSAGES MUST BE ADDED */
 I7    X  52043 /*  	 BELOW, IN THE RANGE HEX 2C00-33FF. */
 I7    X  52044 /*   ************** */
 I7    X  52045 /*   */
 I7    X  52046 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  52047 /*   */
 I7    X  52048 /*     1280-1343	2800-29FF	 64	NO PRIVILEGE ERRORS */
 I7    X  52049 /*   */
 I7    X  52050 /*   */
 I7    X  52051 /*   NB: THESE MESSAGES MUST BE KEPT IN THE SAME ORDER AS THE PRIVILEGE BIT */
 I7    X  52052 /*   DEFINITIONS ($PRVDEF) AS THE PRIVILEGE BIT POSITION IS USED AS AN INDEX INTO */
 I7    X  52053 /*   THESE MESSAGE CODES BY THE $CHECK_PRIVILEGE SYSTEM SERVICE. */
 I7    X  52054 /*   */
 I7    X  52055 #define	SS$_NOPRIVSTRT	10240
 I7    X  52056 #define	SS$_NODETACH	10284
 I7    X  52057 #define	SS$_NOCMKRNL	10244
 I7    X  52058 #define	SS$_NOCMEXEC	10252
 I7    X  52059 #define	SS$_NOSYSNAM	10260
 I7    X  52060 #define	SS$_NOGRPNAM	10268
 I7    X  52061 #define	SS$_NOALLSPOOL	10276

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 940
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  52062 #define	SS$_NOIMPERSONATE	10284
 I7    X  52063 #define	SS$_NODIAGNOSE	10292
 I7    X  52064 #define	SS$_NOLOG_IO	10300
 I7    X  52065 #define	SS$_NOGROUP	10308
 I7    X  52066 #define	SS$_NOACNT	10316
 I7    X  52067 #define	SS$_NOPRMCEB	10324
 I7    X  52068 #define	SS$_NOPRMMBX	10332
 I7    X  52069 #define	SS$_NOPSWAPM	10340
 I7    X  52070 #define	SS$_NOALTPRI	10348
 I7    X  52071 #define	SS$_NOSETPRV	10356
 I7    X  52072 #define	SS$_NOTMPMBX	10364
 I7    X  52073 #define	SS$_NOWORLD	10372
 I7    X  52074 #define	SS$_NOMOUNT	10380
 I7    X  52075 #define	SS$_NOOPER	10388
 I7    X  52076 #define	SS$_NOEXQUOTA	10396
 I7    X  52077 #define	SS$_NONETMBX	10404
 I7    X  52078 #define	SS$_NOVOLPRO	10412
 I7    X  52079 #define	SS$_NOPHY_IO	10420
 I7    X  52080 #define	SS$_NOBUGCHK	10428
 I7    X  52081 #define	SS$_NOPRMGBL	10436
 I7    X  52082 #define	SS$_NOSYSGBL	10444
 I7    X  52083 #define	SS$_NOPFNMAP	10452
 I7    X  52084 #define	SS$_NOSHMEM	10460
 I7    X  52085 #define	SS$_NOSYSPRV	10468
 I7    X  52086 #define	SS$_NOBYPASS	10476
 I7    X  52087 #define	SS$_NOSYSLCK	10484
 I7    X  52088 #define	SS$_NOSHARE	10492
 I7    X  52089 #define	SS$_NOUPGRADE	10500
 I7    X  52090 #define	SS$_NODOWNGRADE	10508
 I7    X  52091 #define	SS$_NOGRPPRV	10516
 I7    X  52092 #define	SS$_NOREADALL	10524
 I7    X  52093 #define	SS$_NOIMPORT	10532
 I7    X  52094 #define	SS$_NOAUDIT	10540
 I7    X  52095 #define	SS$_NOSECURITY	10548
 I7    X  52096 #define	SS$_NOPRIVEND	10751
 I7    X  52097 /*   */
 I7    X  52098 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  52099 /*   */
 I7    X  52100 /*     1344-1375	2A00-2AFF	 32	EXCEEDED QUOTA ERRORS */
 I7    X  52101 /*   */
 I7    X  52102 #define	SS$_EXQUOTASTRT	10752
 I7    X  52103 #define	SS$_EXASTLM	10756
 I7    X  52104 #define	SS$_EXBIOLM	10764
 I7    X  52105 #define	SS$_EXBYTLM	10772
 I7    X  52106 #define	SS$_EXDIOLM	10780
 I7    X  52107 #define	SS$_EXFILLM	10788
 I7    X  52108 #define	SS$_EXPGFLQUOTA	10796
 I7    X  52109 #define	SS$_EXPRCLM	10804
 I7    X  52110 #define	SS$_EXTQELM	10812
 I7    X  52111 #define	SS$_EXENQLM	10820
 I7    X  52112 /*   SYSTEMWIDE QUOTA -- WORK FROM END OF REGION */
 I7    X  52113 #define	SS$_EXBUFOBJLM	11004
 I7    X  52114 #define	SS$_EXQUOTAEND	11007
 I7    X  52115 /*   */
 I7    X  52116 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  52117 /*   */
 I7    X  52118 /*     1376-1407	2B00-2BFF	 32	RESERVED FOR MEDIA MGMT EXTENSIONS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 941
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  52119 /*   */
 I7    X  52120 #define	SS$_MMSFAILED	11012
 I7    X  52121 #define	SS$_QPOOL_DEL_BUSY	11020
 I7    X  52122 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  52123 /*   ***** NOTE: ROOM FOR 1 MORE MESSAGE IN THIS SECTION ***** */
 I7    X  52124 #define	SS$_TOOFEWDEV	11032
 I7    X  52125 #define	SS$_AVRWAIT	11040
 I7    X  52126 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  52127 /*   ***** NOTE: ROOM FOR 3 MORE MESSAGES IN THIS SECTION ***** */
 I7    X  52128 #define	SS$_NO_MMS	11075
 I7    X  52129 #define	SS$_MMSREADY	11083
 I7    X  52130 #define	SS$_MMSNOTREADY	11091
 I7    X  52131 #define	SS$_SKIP_CHECKS	11099
 I7    X  52132 #define	SS$_NO_NOTIFY	11107
 I7    X  52133 #define	SS$_SKIP_EXPIRATION	11115
 I7    X  52134 #define	SS$_NOTATBOT	11123
 I7    X  52135 #define	SS$_PREVDENS	11131
 I7    X  52136 /*   A NEW BASE SHOULD BE CREATED FOR INFORMATIONALS */
 I7    X  52137 /*   ***** NOTE: ROOM FOR 0 MORE MESSAGES IN ABOVE SECTION ***** */
 I7    X  52138 #define	SS$_RDBERR	11140
 I7    X  52139 #define	SS$_MDMSERR	11148
 I7    X  52140 #define	SS$_IVMEDTYP	11156
 I7    X  52141 #define	SS$_IVDENS	11164
 I7    X  52142 #define	SS$_IVPOOL	11172
 I7    X  52143 #define	SS$_IVEXPDAT	11180
 I7    X  52144 #define	SS$_NOCONFMEDIA	11188
 I7    X  52145 #define	SS$_PTE_NOT_EMPTY	11196
 I7    X  52146 #define	SS$_CPUNOTAVAIL	11204
 I7    X  52147 #define	SS$_NOFASTPATH	11212
 I7    X  52148 #define	SS$_EXITFORCED	11220
 I7    X  52149 #define	SS$_FORCEX	11228
 I7    X  52150 /*   */
 I7    X  52151 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  52152 /*   */
 I7    X  52153 /*     1408-1663	2C00-33FF	256	NONFATAL ERROR CODES (CONTINUED FROM FFF) */
 I7    X  52154 /*   */
 I7    X  52155 #define	SS$_NOTASSUMING	11266
 I7    X  52156 #define	SS$_ALREADYASSUMING	11274
 I7    X  52157 #define	SS$_INUSE	11282
 I7    X  52158 #define	SS$_USERDISABLED	11290
 I7    X  52159 #define	SS$_NOCHJIB	11298
 I7    X  52160 #define	SS$_NOTSUPFS	11306
 I7    X  52161 #define	SS$_INSFTHREADS	11314
 I7    X  52162 #define	SS$_NOBUFOBJID	11322
 I7    X  52163 #define	SS$_NODELPERMANENT	11330
 I7    X  52164 #define	SS$_NOMEMRESID	11338
 I7    X  52165 #define	SS$_MRES_PFNSMALL	11346
 I7    X  52166 #define	SS$_MRES_INCON	11354
 I7    X  52167 #define	SS$_NORESERVEDMEM	11362
 I7    X  52168 #define	SS$_RESERVEDMEMUSED	11370
 I7    X  52169 #define	SS$_RES_MEM_INCON	11378
 I7    X  52170 #define	SS$_NOSHPTS	11386
 I7    X  52171 #define	SS$_FLUSHFAIL	11394
 I7    X  52172 #define	SS$_NOTINSTALLED	11402
 I7    X  52173 #define	SS$_POOLDEVEXISTS	11410
 I7    X  52174 #define	SS$_NOUNITS	11418
 I7    X  52175 #define	SS$_NOTAPOOL	11426

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 942
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  52176 #define	SS$_MISSINGUNITS	11434
 I7    X  52177 #define	SS$_DISKDEVEXISTS	11442
 I7    X  52178 #define	SS$_TOOMANYUNITS	11450
 I7    X  52179 #define	SS$_NOTINPOOL	11458
 I7    X  52180 #define	SS$_WRONGPOOL	11466
 I7    X  52181 #define	SS$_ALRBOUND	11474
 I7    X  52182 #define	SS$_NOTPOOLMOUNTED	11482
 I7    X  52183 #define	SS$_POOLINUSE	11490
 I7    X  52184 #define	SS$_DISKINUSE	11498
 I7    X  52185 #define	SS$_SDDISABLED	11506
 I7    X  52186 #define	SS$_UNITINPOOL	11514
 I7    X  52187 #define	SS$_FAMILYTOOBIG	11522
 I7    X  52188 #define	SS$_NODISKNAME	11530
 I7    X  52189 #define	SS$_DISKNAMEEXISTS	11538
 I7    X  52190 #define	SS$_INSUFFREESEGS	11546
 I7    X  52191 #define	SS$_NOTBOUND	11554
 I7    X  52192 #define	SS$_TOOMANYFRAGS	11562
 I7    X  52193 #define	SS$_TOOMANYFAMILIES	11570
 I7    X  52194 #define	SS$_DISKISBOUND	11578
 I7    X  52195 #define	SS$_SNAPINFAM	11586
 I7    X  52196 #define	SS$_CHKSNAPVER	11594
 I7    X  52197 #define	SS$_BADSNAPVER	11602
 I7    X  52198 #define	SS$_SD_RESERVED4	11610
 I7    X  52199 #define	SS$_SD_RESERVED5	11618
 I7    X  52200 #define	SS$_SECREFOVF	11626
 I7    X  52201 #define	SS$_DATAERR	11634
 I7    X  52202 #define	SS$_INVPFN	11642
 I7    X  52203 #define	SS$_INV_SHMEM	11650
 I7    X  52204 #define	SS$_INV_SHM_CPP	11658
 I7    X  52205 #define	SS$_INV_SHM_REG	11666
 I7    X  52206 #define	SS$_ONEMAPPER	11674
 I7    X  52207 #define	SS$_NOSUCHEXT	11682
 I7    X  52208 #define	SS$_CBKEXISTS	11690
 I7    X  52209 #define	SS$_NOSUCHCBK	11698
 I7    X  52210 #define	SS$_NOTAMEMBER	11706
 I7    X  52211 #define	SS$_GLXSPIUNAVAIL	11714
 I7    X  52212 #define	SS$_MPDEVILLCURPATH	11722
 I7    X  52213 #define	SS$_MPDEVINCOMPAT	11730
 I7    X  52214 #define	SS$_MPDEVNOT	11738
 I7    X  52215 #define	SS$_MPDEVNOTCONF	11746
 I7    X  52216 #define	SS$_PERSONARESERVED	11754
 I7    X  52217 #define	SS$_WRONGDRV	11762
 I7    X  52218 #define	SS$_BADRAD	11770
 I7    X  52219 #define	SS$_INVQSRFNC	11778
 I7    X  52220 #define	SS$_NOQIOSERVER	11786
 I7    X  52221 #define	SS$_INCLASS	11794
 I7    X  52222 #define	SS$_INVBOOTDEV	11802
 I7    X  52223 #define	SS$_CLIENT_UNAVAILABLE	11810
 I7    X  52224 #define	SS$_CONFIGFILE_ERROR	11818
 I7    X  52225 #define	SS$_INVDEVALLOC	11826
 I7    X  52226 #define	SS$_DEVICE_UNAVAILABLE	11834
 I7    X  52227 #define	SS$_INVDEVMOUNT	11842
 I7    X  52228 #define	SS$_LOGGING_DISABLED	11850
 I7    X  52229 #define	SS$_NOSUCHCLIENT	11858
 I7    X  52230 #define	SS$_NOSUCHDEVICE	11866
 I7    X  52231 #define	SS$_NOSUCHFILTER	11874
 I7    X  52232 #define	SS$_NOSUCHPATH	11882

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 943
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  52233 #define	SS$_NOSUCHSERVER	11890
 I7    X  52234 #define	SS$_RQSTIMOUT	11898
 I7    X  52235 #define	SS$_SERVER_UNAVAILABLE	11906
 I7    X  52236 #define	SS$_QSRVINTERR	11914
 I7    X  52237 #define	SS$_NOADD	11922
 I7    X  52238 #define	SS$_SYSTEMUIC	11930
 I7    X  52239 #define	SS$_NOSUCHQPOOLID	11938
 I7    X  52240 #define	SS$_PATHAMBIG	11946
 I7    X  52241 #define	SS$_INVMVIP	11954
 I7    X  52242 #define	SS$_NOPATHAVAIL	11962
 I7    X  52243 #define	SS$_NOENACURINV	11970
 I7    X  52244 #define	SS$_TRUSTCONF	11978
 I7    X  52245 #define	SS$_QIO_FAULT	11986
 I7    X  52246 #define	SS$_HBVS_REDO_IO	11994
 I7    X  52247 #define	SS$_TOOMANYPERSONA	12002
 I7    X  52248 #define	SS$_INVKTLIM	12010
 I7    X  52249 #define	SS$_PWDPOLICY	12018
 I7    X  52250 /*   */
 I7    X  52251 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  52252 /*   ***** NOTE: ROOM FOR 161 MORE NONFATAL MESSAGES IN ABOVE SECTION ***** */
 I7    X  52253 /*   */
 I7    X  52254 /*         MSG #S     RANGE      # MSGS        DESCRIPTION */
 I7    X  52255 /*   */
 I7    X  52256 /*     1664-1695   3400-341F        32     FATAL ERROR CODES (CONTINUED FROM 27FF) */
 I7    X  52257 #define	SS$_MAXNAMPOL	13316
 I7    X  52258 #define	SS$_HBMMENABLED	13324
 I7    X  52259 #define	SS$_NOMODNONEPOL	13332
 I7    X  52260 #define	SS$_SHADFEATNOMNT	13340
 I7    X  52261 #define	SS$_NOTSUPALLNODES	13348
 I7    X  52262 #define	SS$_WLGCANTHBMM	13356
 I7    X  52263 #define	SS$_CALLUNDEFSYM	13364
 I7    X  52264 #define	SS$_NOADDMCPYMBR	13372
 I7    X  52265 #define	SS$_CANTDODDS	13380
 I7    X  52266 #define	SS$_TOOMANYMBRS	13388
 I7    X  52267 #define	SS$_SCBREADFAIL	13396
 I7    X  52268 #define	SS$_SCBWRITEFAIL	13404
 I7    X  52269 #define	SS$_NOMEMFORWBM	13412
 I7    X  52270 #define	SS$_MUSTDMTVU	13420
 I7    X  52271 #define	SS$_ONLYSRCMUSTSTAY	13428
 I7    X  52272 #define	SS$_NOWBMDURINGCOPY	13436
 I7    X  52273 #define	SS$_WBMERR	13444
 I7    X  52274 #define	SS$_BADPOLCHAR	13452
 I7    X  52275 #define	SS$_HBMMVERSIONBAD	13460
 I7    X  52276 #define	SS$_ANADSKSHDBBLK	13468
 I7    X  52277 #define	SS$_HBMMBADPOLSPEC	13476
 I7    X  52278 #define	SS$_NOSHADOWSERVER	13484
 I7    X  52279 #define	SS$_GAMEOVER	13492
 I7    X  52280 /*   N.B.  DO NOT CORRECT THE GRAMMAR IN GAMEOVER, THE MESSAGE IS AS INTENDED */
 I7    X  52281 /*   NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT */
 I7    X  52282 /*   ***** NOTE: ROOM FOR 9 MORE FATAL MESSAGES IN ABOVE SECTION ***** */
 I7    X  52283 /*   */
 I7    X  52284 /*  	MSG #S	   RANGE      # MSGS	    DESCRIPTION */
 I7    X  52285 /*   */
 I7    X  52286 /*     4032-4095	7E00-7FFF	 64	RESERVED FOR SCS SYSAPS */
 I7    X  52287 /*   */
 I7    X  52288 /*  	MESSAGE CODES IN THIS BLOCK ARE GUARANTEED NOT TO */
 I7    X  52289 /*  	BE TRANSLATED BY VMS WHEN THEY ARE SEND OUT BY VMSSCS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 944
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  52290 /*  	OR WHEN THEY ARE RECEIVED BY VMSSCS.  SCA SYSAPS ARE */
 I7    X  52291 /*  	FREE TO USE THESE CODES IN ANY SYSAP-DEPENDENT MANNER */
 I7    X  52292 /*  	IN WHICH THEY CHOOSE. */
 I7    X  52293 /*   */
 I7    X  52294 /*  	THIS ADDRESS OF THIS BLOCK OF CODES MUST BE IN CONFORMANCE */
 I7    X  52295 /*  	WITH THE SCA ARCHITECTURE, I.E., MUST NOT BE MOVED. */
 I7    X  52296 /*   */
 I7    X  52297 #define	SS$_SYSAPMIN	32256
 I7    X  52298 #define	SS$_SYSAPMAX	32767
 I7    X  52299 	/* $DEFEND	SS,$GBL,DEF */
 I7    X  52300 	/* .ENDM */
 I7    X  52301 
 I7    X  52302 /*  IA64 assembler header ends here */
 I7    X  52303 
 I7    X  52304 #else /* IAS_ASSEMBLER */
 I7	  52305 
 I7	  52306 /*  CC header begins here */
 I7	  52307 
 I7	  52308 /*******************************************************************************************************************
 I7	  52308 *************/
 I7	  52309 /* Created:  9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3      */
 I7	  52310 /* Source:  09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]SSMSG.SDI;1 */
 I7	  52311 /*******************************************************************************************************************
 I7	  52311 *************/
 I7	  52312 /*** MODULE $SSDEF ***/
 I7	  52313 #ifndef __SSDEF_LOADED
 I7	  52314 #define __SSDEF_LOADED 1
 I7	  52315  
 I7	  52316 #pragma __nostandard			 /* This file uses non-ANSI-Standard features */
 I7	  52317 #pragma __member_alignment __save
 I7	  52318 #pragma __nomember_alignment
 I7	  52319 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7	  52320 #pragma __required_pointer_size __save		 /* Save the previously-defined required ptr size */
 I7	  52321 #pragma __required_pointer_size __short		 /* And set ptr size default to 32-bit pointers */
 I7	  52322 #endif
 I7	  52323  
 I7    X  52324 #ifdef __cplusplus
 I7    X  52325     extern "C" {
 I7    X  52326 #define __unknown_params ...
 I7    X  52327 #define __optional_params ...
 I7    X  52328 #else
 I7	  52329 #define __unknown_params
 I7	  52330 #define __optional_params ...
 I7	  52331 #endif
 I7	  52332  
 I7    X  52333 #ifndef __struct
 I7    X  52334 #if !defined(__VAXC)
 I7    X  52335 #define __struct struct
 I7    X  52336 #else
 I7    X  52337 #define __struct variant_struct
 I7    X  52338 #endif
 I7    X  52339 #endif
 I7	  52340  
 I7    X  52341 #ifndef __union
 I7    X  52342 #if !defined(__VAXC)
 I7    X  52343 #define __union union
 I7    X  52344 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 945
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7    X  52345 #define __union variant_union
 I7    X  52346 #endif
 I7    X  52347 #endif
 I7	  52348  
 I7	  52349 /*                                                                          */
 I7	  52350 /* This SDL File Generated by VAX-11 Message V04-00 on  9-MAR-2021 22:26:30.67 */
 I7	  52351 /*                                                                          */
 I7	  52352 /*                                                                          */
 I7	  52353 /* SSMSG.MSG - SYSTEM DEFINITION FILE FOR SYSTEM SERVICE MESSAGES           */
 I7	  52354 /*                                                                          */
 I7	  52355 /* VERSION:	'X-139'                                                     */
 I7	  52356 /*                                                                          */
 I7	  52357 /* ************************************************************************* */
 I7	  52358 /* *                                                                       * */
 I7	  52359 /* * HP CONFIDENTIAL. THIS SOFTWARE IS CONFIDENTIAL PROPRIETARY SOFTWARE   * */
 I7	  52360 /* * LICENSED BY HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., AND IS NOT     * */
 I7	  52361 /* * AUTHORIZED TO BE USED, DUPLICATED OR DISCLOSED TO ANYONE WITHOUT THE  * */
 I7	  52362 /* * PRIOR WRITTEN PERMISSION OF HP.                                       * */
 I7	  52363 /* * (C) 2015 COPYRIGHT HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.          * */
 I7	  52364 /* *                                                                       * */
 I7	  52365 /* * VMS SOFTWARE, INC. CONFIDENTIAL. THIS SOFTWARE IS CONFIDENTIAL        * */
 I7	  52366 /* * PROPRIETARY SOFTWARE LICENSED BY VMS SOFTWARE, INC., AND IS NOT       * */
 I7	  52367 /* * AUTHORIZED TO BE USED, DUPLICATED OR DISCLOSED TO ANYONE WITHOUT      * */
 I7	  52368 /* * THE PRIOR WRITTEN PERMISSION OF VMS SOFTWARE, INC.                    * */
 I7	  52369 /* * (C) 2015-2018 COPYRIGHT VMS SOFTWARE, INC.                            * */
 I7	  52370 /* *                                                                       * */
 I7	  52371 /* ************************************************************************* */
 I7	  52372 /*++                                                                        */
 I7	  52373 /*                                                                          */
 I7	  52374 /* FACILITY:  VMS SYSTEM MACRO LIBRARIES                                    */
 I7	  52375 /*                                                                          */
 I7	  52376 /* ABSTRACT:                                                                */
 I7	  52377 /*                                                                          */
 I7	  52378 /*	THIS FILE CONTAINS THE SDL SOURCE FOR SYSTEM SERVICE MESSAGES.      */
 I7	  52379 /*                                                                          */
 I7	  52380 /* GUIDELINES:                                                              */
 I7	  52381 /*                                                                          */
 I7	  52382 /*	WITH THE RELEASE OF HELP MESSAGE, MESSAGE DOCUMENTATION MUST EXACTLY */
 I7	  52383 /*	MATCH THE MESSAGE TEXT IN THIS FILE IN ORDER FOR THE ONLINE SEARCH TO */
 I7	  52384 /*	SUCCEED.  TO AVOID DOCUMENTING EMBARRASSING TYPOS OR GRAMMATICAL    */
 I7	  52385 /*	ERRORS, PLEASE FORWARD YOUR NEW OR CHANGED MESSAGES TO THE MESSAGES */
 I7	  52386 /*	WRITER FOR A QUICK EDIT.  VMS SENIOR MANAGEMENT SUPPORTS ENFORCING  */
 I7	  52387 /*	STANDARD MESSAGE FORMATTING CONVENTIONS, WHICH ARE INCLUDED IN THE  */
 I7	  52388 /*	FOLLOWING GUIDELINES.                                               */
 I7	  52389 /*                                                                          */
 I7	  52390 /*     O SS$ CODE NAMES SHOULD BE 15 OR FEWER CHARACTERS TO PREVENT TRUNCATION */
 I7	  52391 /*	IN MESSAGE TEXT, WHICH CAUSES GENERAL CONFUSION.                    */
 I7	  52392 /*                                                                          */
 I7	  52393 /*     O	WORDS IN MESSAGES SHOULD NOT BEGIN WITH CAPS UNLESS THEY WOULD START */
 I7	  52394 /*       WITH CAPS IN RUNNING TEXT.  FOR EXAMPLE,                           */
 I7	  52395 /*                                                                          */
 I7	  52396 /*	    WRONG: <Exceeded Buffered I/O Quota>                            */
 I7	  52397 /*	    RIGHT: <exceeded buffered I/O quota>                            */
 I7	  52398 /*                                                                          */
 I7	  52399 /*	THIS IS NOT WELL KNOWN, BUT THE $GETMSG SYSTEM SERVICE AUTOMATICALLY */
 I7	  52400 /*	CONVERTS TO UPPERCASE THE INITIAL LETTER OF A MESSAGE WHEN RETRIEVING */
 I7	  52401 /*	A MESSAGE IN AN ENVIRONMENT WHERE THE FACILITY, SEVERITY, AND       */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 946
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52402 /*	IDENTIFICATION FIELDS HAVE BEEN SUPPRESSED.                         */
 I7	  52403 /*                                                                          */
 I7	  52404 /*     O	ACRONYMS SHOULD BE UPPERCASE ONLY:                          */
 I7	  52405 /*                                                                          */
 I7	  52406 /*	    <requested CPU not active>                                      */
 I7	  52407 /*                                                                          */
 I7	  52408 /*     O	DO NOT USE PUNCTUATION AT THE END OF A MESSAGE.             */
 I7	  52409 /*                                                                          */
 I7	  52410 /*     O AVOID USING CONTRACTIONS IN MESSAGES. FOR EXAMPLE, USE "cannot"    */
 I7	  52411 /*       INSTEAD OF "can't" AND "does not" INSTEAD OF "doesn't".            */
 I7	  52412 /*                                                                          */
 I7	  52413 /*     O	"It's" IS A CONTRACTION FOR "it is".  THE POSSESSIVE IS "its". */
 I7	  52414 /*                                                                          */
 I7	  52415 /*     O	USE THE WORDS "and" OR "or" INSTEAD OF A "/" WHENEVER POSSIBLE. */
 I7	  52416 /*                                                                          */
 I7	  52417 /*	    WRONG:  <file/section/reference doesn't exist>                  */
 I7	  52418 /*	    RIGHT:  <file, section, or reference does not exist>            */
 I7	  52419 /*                                                                          */
 I7	  52420 /*     O	AVOID USING HYPHENS TO SEPARATE CLAUSES.  USE A SEMICOLON INSTEAD. */
 I7	  52421 /*                                                                          */
 I7	  52422 /*	    WRONG: <journaling enabled - cannot extend file header>         */
 I7	  52423 /*	    RIGHT: <journaling enabled; cannot extend file header>          */
 I7	  52424 /*                                                                          */
 I7	  52425 /*     O	SEMICOLONS SHOULD BE USED TO SEPARATE MAIN CLAUSES THAT ARE NOT */
 I7	  52426 /*	JOINED BY "and" OR "but".  IN THE ABOVE EXAMPLE, IT IS GRAMMATICALLY */
 I7	  52427 /*	INCORRECT TO USE A COMMA IN PLACE OF THE SEMICOLON.  A COMMA IS CORRECT */
 I7	  52428 /*	WHEN EITHER CLAUSE DOES NOT FORM A COMPLETE SENTENCE OR WHEN THE COMMA */
 I7	  52429 /*	IS USED TO SEPARATE ITEMS IN A LIST.  FOR EXAMPLE,                  */
 I7	  52430 /*                                                                          */
 I7	  52431 /*	    <CPU 'cpu-id' is already started, or startup in progress>       */
 I7	  52432 /*                                                                          */
 I7	  52433 /*     O	ABOVE ALL, KEEP THE JARGON TO A MINIMUM AND CONCENTRATE ON  */
 I7	  52434 /*	COMMUNICATING A MESSAGE THAT IS AS INFORMATIVE AND HELPFUL AS YOU   */
 I7	  52435 /*	CAN MAKE IT.                                                        */
 I7	  52436 /*                                                                          */
 I7	  52437 /*                                                                          */
 I7	  52438 /* NOTE BENE: WHEN OBSOLETING OR ADDING MESSAGES:                           */
 I7	  52439 /*                                                                          */
 I7	  52440 /*     O REUSE OBSOLETE MESSAGE ENTRIES WHEN POSSIBLE.  THESE ARE MARKED BY */
 I7	  52441 /*	A MESSAGE NAME OF OBSOLETE_<number>.                                */
 I7	  52442 /*                                                                          */
 I7	  52443 /*     O IF YOU MUST REMOVE A MESSAGE, DON'T SIMPLY DELETE IT.  IF MESSAGES */
 I7	  52444 /*	COME AFTER IT, OBSOLETE IT BY CHANGING THE NAME TO OBSOLETE_<number>. */
 I7	  52445 /*	LOOK FOR THE OTHER OBSOLETE MESSAGES TO FIND OUT WHAT THE NEXT FREE */
 I7	  52446 /*	NUMBER IS. THIS WILL LET OTHERS KNOW THAT WHEN THEY WANT A SLOT, THEY */
 I7	  52447 /*	CAN REUSE SOME OBSOLETE MESSAGE INSTEAD OF ADDING A NEW ONE.        */
 I7	  52448 /*                                                                          */
 I7	  52449 /*     O THE 64-BIT PROJECT HAS ENABLED THE ENTIRE ALPHA VIRTUAL ADDRESS RANGE */
 I7	  52450 /*	(WITH THE EXCEPTION OF THE GAP) TO BE AVAILABLE.  THEREFORE, MESSAGES */
 I7	  52451 /*	THAT DISPLAY ADDRESSES, INCLUDING PCS, MUST DISPLAY THE FULL 64-BITS */
 I7	  52452 /*	OF THOSE ADDRESSES.  USE THE !XH FAO DIRECTIVE FOR THIS PURPOSE.  FAO */
 I7	  52453 /*	(SYS$FAO & SYS$FAOL_64 ONLY) FOR ALPHA HANDLES QUADWORD ARGUMENTS   */
 I7	  52454 /*	BY VALUE SO YOU DO NOT HAVE TO SPECIFY THE INDIRECTION OPERATOR (@). */
 I7	  52455 /*--                                                                        */
 I7	  52456 /*                                                                          */
 I7	  52457 /* AUTHOR:  THE VMS GROUP	 CREATION DATE:  1-AUG-1976                 */
 I7	  52458 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 947
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52459 /* MODIFIED BY:                                                             */
 I7	  52460 /*                                                                          */
 I7	  52461 /*	X-139	DAG		DOUG GORDON		25-JUL-2018         */
 I7	  52462 /*		ADD PWDPOLICY.                                              */
 I7	  52463 /*                                                                          */
 I7	  52464 /*	X-138   MAS		MARK A. STILES		10-FEB-2015         */
 I7	  52465 /*		WE'RE BAAAAACK!                                             */
 I7	  52466 /*		ADD COWBOYUP AND UPDATE COPYRIGHT.                          */
 I7	  52467 /*                                                                          */
 I7	  52468 /*	X-137	ACG0722		ANDY GOLDSTEIN,	15-OCT-2008  12:00          */
 I7	  52469 /*		REMOVE UNUSED SS$_SYMLINKENTRY STATUS                       */
 I7	  52470 /*		ALSO GENERALIZE TEXT OF TOOMANYVER MESSAGE                  */
 I7	  52471 /*                                                                          */
 I7	  52472 /*	X-136	AJ		ANDERS JOHANSSON	10-OCT-2008         */
 I7	  52473 /*		ADD INVKTLIM MESSAGE, AND ADJUST THE "room left" ACCORDINGLY */
 I7	  52474 /*		FOR THAT SECTION. I ACTUALLY COUNTED THE MESSAGES, AND APPLIED */
 I7	  52475 /*		A GREATER ADJUSTMENT TO MATCH THE DEFINED NUMBER OF MSGS IN */
 I7	  52476 /*		THE COMMENT.                                                */
 I7	  52477 /*                                                                          */
 I7	  52478 /*	X-135	SAN		SANDEEP RAMAVANA	12-JUN-2008         */
 I7	  52479 /*		ADD A NEW SUCCESS STATUS RETURN, LOWPREC                    */
 I7	  52480 /*                                                                          */
 I7	  52481 /*       X-134   LSH             LON HILDE               31-OCT-2004        */
 I7	  52482 /*               TWEAK ASTFLT MESSAGE CHANGING "target PC" TO "target PC or FV". */
 I7	  52483 /*                                                                          */
 I7	  52484 /*	X-133	MAS0823		MARK A. STILES		20-OCT-2006         */
 I7	  52485 /*		IT'S BEEN A LONG AND FUN RIDE, VMS.  THIS IS MY LAST        */
 I7	  52486 /*		CHECKIN ON MY LAST DAY.  AN APPROPRIATE REMINDER STATUS     */
 I7	  52487 /*		FOR FUTURE NOTIFICATION.  FIXUP REVISION NUMBERS TO MATCH VDE. */
 I7	  52488 /*                                                                          */
 I7	  52489 /*       X-132                   DOUGLAS FYFE            29-NOV-2005        */
 I7	  52490 /*		ADD SS$_TOOMANYPERSONA PERSONA ARRAY FULL STATUS.           */
 I7	  52491 /*                                                                          */
 I7	  52492 /*       X-131   KGB             KENNETH G. BLAYLOCK     23-SEP-2005        */
 I7	  52493 /*               ADD IN THE SUCCESS STATUS OF SS$_SYMLINKENTRY TO           */
 I7	  52494 /*               INDICATE THAT THE DIRECTORY ENTRY HAS A SYMLINK            */
 I7	  52495 /*               HINT VALUE.                                                */
 I7	  52496 /*                                                                          */
 I7	  52497 /*	X-129/130	WBF		BURNS FISHER		12-MAY-2005 */
 I7	  52498 /*		ADD "reason mask" FIELD TO SS$_DEBUG_FAULT.  IT SHOULD BE   */
 I7	  52499 /*		JUST LIKE ACCVIO                                            */
 I7	  52500 /*                                                                          */
 I7	  52501 /*       X-128   KGB             KENNETH G. BLAYLOCK     29-NOV-2004        */
 I7	  52502 /*               ADD IN A NEW FILE WARNING. FILEFULL WHICH INDICATES        */
 I7	  52503 /*               THAT THE SUPPORTED ALLOCATION FOR THE FILE IS FULL.        */
 I7	  52504 /*                                                                          */
 I7	  52505 /*	X-127	RAB0122		ROBERT A. BROOKS	-SEP-2004           */
 I7	  52506 /*		CHANGE TEXT FOR NOMODNONEPOL TO CORRELATE WITH              */
 I7	  52507 /*		NAME CHANGE OF HBMM NONE POLICY TO NODEFAULT (NO DEFAULT).  */
 I7	  52508 /*		ERROR NAME STAYS THE SAME, OF COURSE.                       */
 I7	  52509 /*                                                                          */
 I7	  52510 /*		REMOVE THE WORD QIOSERVER FROM NOMOREPATHS.  QIOSERVER IS   */
 I7	  52511 /*		DEAD, BUT THE ERROR MESSAGE IS STILL BEING USED BY MULTIPATH */
 I7	  52512 /*		AND MULTIPATH-AWARE COMPONENTS ($GETDVI, FOR EXAMPLE).      */
 I7	  52513 /*                                                                          */
 I7	  52514 /*	X-126			RUTH GOLDENBERG		10-AUG-2004         */
 I7	  52515 /*		ADD INFORMATIONALS FOR GEM: ARGTYPN, FPMODECTL, FPMODEPC, FPMODERC */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 948
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52516 /*                                                                          */
 I7	  52517 /*	X-125			RUTH GOLDENBERG		 4-AUG-2004         */
 I7	  52518 /*		TWEAK TEXT FOR SS$_TOOMANYLNAM.                             */
 I7	  52519 /*                                                                          */
 I7	  52520 /*	X-124	MAS0800		MARK A. STILES		 7-JUL-2004         */
 I7	  52521 /*		ADD GAMEOVER MESSAGE FOR INTERSTELLAR CONQUEST.             */
 I7	  52522 /*                                                                          */
 I7	  52523 /*	X-123	RAB0106		ROBERT A. BROOKS	26-MAY-2004         */
 I7	  52524 /*		MORE SHADOWING MESSAGES.                                    */
 I7	  52525 /*                                                                          */
 I7	  52526 /*	X-122	RAB0103		ROBERT A. BROOKS	17-MAY-2004         */
 I7	  52527 /*		MORE SHADOWING MESSAGES FOR HBMM.                           */
 I7	  52528 /*                                                                          */
 I7	  52529 /*	X-121	RAB0102		ROBERT A. BROOKS	11-MAY-2004         */
 I7	  52530 /*		MORE SHADOWING MESSAGES FOR HBMM.                           */
 I7	  52531 /*                                                                          */
 I7	  52532 /*	X-120	SAD		STUART A. DAVIDSON	 7-MAY-2004         */
 I7	  52533 /*		ADD SS$_QIO_FAULT FOR SPECIAL TREATMENT THAT $QIO           */
 I7	  52534 /*		NEEDS IN ORDER TO FAULT IN A PAGE IN CALLER'S MODE.         */
 I7	  52535 /*		SS$_QIO_FAULT IS HANDLED BY A CALLER'S MODE JACT,           */
 I7	  52536 /*		WHERAS QIO_CROCK IS HANDLED IN THE SYSTEM SERVICE           */
 I7	  52537 /*		DISPATCHER (WHICH IS PROBLEMATIC WITH THE IA64 CALLING      */
 I7	  52538 /*		STANDARD).                                                  */
 I7	  52539 /*                                                                          */
 I7	  52540 /*	X-119	RAB098		ROBERT A. BROOKS	05-MAY-2004         */
 I7	  52541 /*		ADD SEVERAL SHADOWING-RELATED MESSAGES TO REPLACE THE       */
 I7	  52542 /*		TOO-GENERIC INCSHAMEM.                                      */
 I7	  52543 /*                                                                          */
 I7	  52544 /*	X-118			CLAIR GRANT		21-APR-2004         */
 I7	  52545 /*		ELIMINATE "Digital" AND "DEC" FROM ERROR TEXT STRINGS       */
 I7	  52546 /*                                                                          */
 I7	  52547 /*	X-117	WBF		BURNS FISHER		31-MAR-2004         */
 I7	  52548 /*		ADD SS$_CALLUNDEFSYM                                        */
 I7	  52549 /*                                                                          */
 I7	  52550 /*	X-116	JRC		JOHN R. COVERT		12-MAR-2004         */
 I7	  52551 /*		ADD XVALNOTVALID FOR EXTENDED LOCK VALUE BLOCK              */
 I7	  52552 /*                                                                          */
 I7	  52553 /*	X-115	RAB086		ROBERT A. BROOKS	03-FEB-2004         */
 I7	  52554 /*		ADD HBMMCREPOSTMRG FOR HBMM.                                */
 I7	  52555 /*                                                                          */
 I7	  52556 /*	X-114	DJM		DENNIS MATTOON		27-JAN-2004         */
 I7	  52557 /*		ADD SYMBOLS/MESSAGES FOR TIE                                */
 I7	  52558 /*                                                                          */
 I7	  52559 /*	X-113	RAB085		ROBERT A. BROOKS	16-JAN-2004         */
 I7	  52560 /*		ADD WLGCANTHBMM FOR HBMM, TO INDICATE THAT OLDER            */
 I7	  52561 /*		DEVICES CAPABLE OF MSCP-BASED MINIMERGE (HSC/HSD/HSJ)       */
 I7	  52562 /*		CANNOT USE HBMM.                                            */
 I7	  52563 /*                                                                          */
 I7	  52564 /*	X-112	RAB084		ROBERT A. BROOKS	14-JAN-2004         */
 I7	  52565 /*		ADD SEVERAL MESSAGES FOR HOST-BASED MINIMERGE (HBMM).       */
 I7	  52566 /*                                                                          */
 I7	  52567 /*	X-111	KLN3346		KAREN L. NOEL		7-SEP-2003          */
 I7	  52568 /*		O CHANGE TAKEN_BRANCH TO USE DISPLAY PC/PS.                 */
 I7	  52569 /*		O CHANGE NEW REASON MASKS TO BYTES OR WORDS INSTEAD OF QUADS. */
 I7	  52570 /*                                                                          */
 I7	  52571 /*	X-110	KLN3340		KAREN L. NOEL		28-AUG-2003         */
 I7	  52572 /*		O ADD SS CODES FOR TAKEN BRANCH FAULT, IA32 TRAP, DEBUG     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 949
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52573 /*		  FAULT AND SYSTEM BREAK.                                   */
 I7	  52574 /*		O FIX SEVERITY OF APPLICATION BREAK.                        */
 I7	  52575 /*		O FIX NATFAULT TO DISPLAY REASON MASK INSTEAD OF ISR.       */
 I7	  52576 /*                                                                          */
 I7	  52577 /*	X-109	KLN3299		KAREN L. NOEL		4-JUN-2003          */
 I7	  52578 /*		ADD SS$_INSF_SHM_REG.                                       */
 I7	  52579 /*                                                                          */
 I7	  52580 /*	X-108	LC0001		LARRY CAMILLI		12-MAR-2003         */
 I7	  52581 /*		ADD SS$_FILENOTCACHED.                                      */
 I7	  52582 /*                                                                          */
 I7	  52583 /*	X-107	PJB0044		PAUL BENOIT		02-DEC-2002         */
 I7	  52584 /*		ADD SS$_BREAK_ARCH.                                         */
 I7	  52585 /*                                                                          */
 I7	  52586 /*	X-106	PJB0029		PAUL BENOIT		08-NOV-2002         */
 I7	  52587 /*		ADD SS$_BREAK_APPL.                                         */
 I7	  52588 /*                                                                          */
 I7	  52589 /*	X-105	PJB0021		PAUL BENOIT		18-OCT-2002         */
 I7	  52590 /*		ADD SS$_FLTDENORMAL.                                        */
 I7	  52591 /*                                                                          */
 I7	  52592 /*	X-104	PJB0013		PAUL BENOIT		12-SEP-2002         */
 I7	  52593 /*		ADD SS$_NATFAULT.                                           */
 I7	  52594 /*                                                                          */
 I7	  52595 /*	X-103	SAD		STUART A. DAVIDSON	18-JUL-2002         */
 I7	  52596 /*		ADD TURSTCONF FOR USE WHEN AN OPERATION WOULD VIOLATE       */
 I7	  52597 /*		THE TRUSTED ENVIRONMENT FOR PRIVILEGED IMAGE EXECUTION.     */
 I7	  52598 /*                                                                          */
 I7	  52599 /*	X-102			RUTH GOLDENBERG		10-MAY-2002         */
 I7	  52600 /*		MODIFY SS$_INCOMPAT TEXT FOR USE BY $GETJPI IN A FAILURE    */
 I7	  52601 /*		TO GET AN UNDEFINED ITEM CODE FROM A TARGET SYSTEM.         */
 I7	  52602 /*                                                                          */
 I7	  52603 /*	X-101	DJS011203	 DAVE SWEENEY		07-DEC-2001         */
 I7	  52604 /*		ADD SS$_FORCEX FOR USE BY DCL COMMAND STOP/IMAGE.           */
 I7	  52605 /*                                                                          */
 I7	  52606 /*	X-100	EMW0253		ELINOR M. WOODS		15-OCT-2001         */
 I7	  52607 /*		ADD SS$_EXITFORCED FOR USE BY SYS$DELPRC IN                 */
 I7	  52608 /*		SUPPORT OF NEW EXIT FUNCTIONALITY.                          */
 I7	  52609 /*                                                                          */
 I7	  52610 /*	X-99	MAS0677		MARK A. STILES		24-AUG-2001         */
 I7	  52611 /*		ADD SS$_PRESTO FOR USE BY INTERRUPT OR FORK SERVICE         */
 I7	  52612 /*		ROUTINES WHICH HAVE KNOWLEDGE THAT THE SAVED INTERRUPT      */
 I7	  52613 /*		OR EXCEPTION FRAME NEED NOT BE MULTIPLY PRESERVED.          */
 I7	  52614 /*                                                                          */
 I7	  52615 /*	X-98	MAS0671		MARK A. STILES		16-MAR-2001         */
 I7	  52616 /*		ADD SS$_FISH FOR MESSAGE TRANSLATION, OR LACK THEREOF.      */
 I7	  52617 /*                                                                          */
 I7	  52618 /*	X-97	ABP		ANU PANT		18-SEP-2000         */
 I7	  52619 /*		ADD SS$_PATHAMBIG, SS$_INVMVIP, SS$_NOPATHAVAIL,            */
 I7	  52620 /*		AND SS$_NOENACURINV FOR USE BY MULTIPATH SYSTEM             */
 I7	  52621 /*		SERVICE.                                                    */
 I7	  52622 /*                                                                          */
 I7	  52623 /*	X-96	JMB224		JAMES M. BLUE		 7-MAR-2000         */
 I7	  52624 /*		ADD SS$_NOSUCHQPOOLID FOR USE BY QIOSERVER'S HANDLING OF    */
 I7	  52625 /*		POOL DEALLOCATION.  CORRECT PREVIOUS QIOSERVER MESSAGE      */
 I7	  52626 /*		ADDS TO CONFORM WITH GUIDELINES ABOVE.                      */
 I7	  52627 /*                                                                          */
 I7	  52628 /*	X-95	KLN2158		KAREN L. NOEL		03-MAR-2000         */
 I7	  52629 /*		ADD BADRAD.                                                 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 950
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52630 /*                                                                          */
 I7	  52631 /*	X-94	JMB197		JAMES M. BLUE		 6-JAN-2000         */
 I7	  52632 /*		ADD SS$_QPOOL_DEL_INIT, SS$_QPOOL_DEL_INPRG, AND            */
 I7	  52633 /*		SS$_QPOOL_DEL_BUSY FOR USE BY QIOSERVER'S HANDLING OF       */
 I7	  52634 /*		POOL DEALLOCATION.                                          */
 I7	  52635 /*                                                                          */
 I7	  52636 /*	X-93	EMB		ELLEN M. BATBOUTA	05-NOV-1999         */
 I7	  52637 /*       	ADD SS$_NOADD AND SS$_SYSTEMUIC MESSAGES FOR THE CLASS      */
 I7	  52638 /*		SCHEDULER.                                                  */
 I7	  52639 /*                                                                          */
 I7	  52640 /*	X-92	JMB183		JAMES M. BLUE		23-SEP-1999         */
 I7	  52641 /*		ADD MESSAGES FOR QIOSERVER'S QIO$CONFIGURE AND QCP.         */
 I7	  52642 /*                                                                          */
 I7	  52643 /*	X-91	EMB		ELLEN M. BATBOUTA	12-AUG-1999         */
 I7	  52644 /*		ADD SS$_INCLASS ERROR MESSAGE.  THIS ERROR MESSAGE WILL     */
 I7	  52645 /*		BE RETURNED BY THE $SCHED SYSTEM SERVICE WHEN AN ATTEMPT    */
 I7	  52646 /*		IS MADE TO CLASS SCHEDULE A PROCESS/KERNEL THREAD WHEN      */
 I7	  52647 /*		IT ALREADY BELONGS TO A SCHEDULING CLASS FROM THE           */
 I7	  52648 /*		CLASS SCHEDULER DATABASE FILE.                              */
 I7	  52649 /*                                                                          */
 I7	  52650 /*	X-90	JMB076		JAMES M. BLUE		22-MAR-1999         */
 I7	  52651 /*		ADD SS$_NOQIOSERVER - QIOSERVER'S QIO$CONFIGURE             */
 I7	  52652 /*		PROCESS IS NOT AVAILABLE TO HANDLE SYS$QIOSERVER            */
 I7	  52653 /*		REQUESTS.  ADD SS$_INVQSRFNC - THE FUNCTION CODE            */
 I7	  52654 /*		IN THE SYS$QIOSERVER REQUEST IS INVALID.                    */
 I7	  52655 /*                                                                          */
 I7	  52656 /*       X-89    GP              GENADY PERCHENKO        18-FEB-1999        */
 I7	  52657 /*               ADD WRONGDRV                                               */
 I7	  52658 /*                                                                          */
 I7	  52659 /*	X-88	JAH0323		JOHN A HARNEY		10-DEC-1998         */
 I7	  52660 /*		ADD PERSONARESERVED FOR OPERATIONS ATTEMPTED ON             */
 I7	  52661 /*		A RESERVED PERSONA INDEX.                                   */
 I7	  52662 /*                                                                          */
 I7	  52663 /*	X-87	JRK390		JIM KAUFFMAN		11-SEP-1998         */
 I7	  52664 /*		ADD NOCPUMATCH AND TRIM CPUSELECTED TO FIT PAGE             */
 I7	  52665 /*                                                                          */
 I7	  52666 /*	X-86	JRK390		JIM KAUFFMAN		 9-JUL-1998         */
 I7	  52667 /*		ADD CPUSELECTED                                             */
 I7	  52668 /*                                                                          */
 I7	  52669 /*	X-85	KJP-SDOS	KEVIN PLAYFORD		29-JUN-1998         */
 I7	  52670 /*		UPDATE SNAPSHOT SERVICES MESSAGES BASED ON DEVICE NAME      */
 I7	  52671 /*		CHANGE.                                                     */
 I7	  52672 /*                                                                          */
 I7	  52673 /*	X-84	EMB		ELLEN M. BATBOUTA	04-JUN-1998         */
 I7	  52674 /*       	ADD 2 NEW ERROR MESSAGES, NOFASTPATH AND CPUNOTAVAIL.       */
 I7	  52675 /*                                                                          */
 I7	  52676 /*       X-83    GP              GENADY PERCHENKO        26-MAY-1998        */
 I7	  52677 /*               FIX A TYPO IN ERROR SYMBOL. IT SGOULD BE DEVNOTCON         */
 I7	  52678 /*               INSTEAD OF MPDEVNOTCON.                                    */
 I7	  52679 /*                                                                          */
 I7	  52680 /*       X-82    GP              GENADY PERCHENKO        20-MAY-1998        */
 I7	  52681 /*               ADD SOME MORE MULTIPATH STATUS CODES. AND RENAME SOME      */
 I7	  52682 /*               EXISTING ONES.                                             */
 I7	  52683 /*                                                                          */
 I7	  52684 /*       X-81    GP              GENADY PERCHENKO        02-APR-1998        */
 I7	  52685 /*               ADD NEW STATUS CODES FOR MULTIPATH.                        */
 I7	  52686 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 951
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52687 /*	X-80	DAVE BERNARDO				24-FEB-1998         */
 I7	  52688 /*		ADD BADLCKTBL AND MAKE BROKEN A SUCCESS STATUS CODE.        */
 I7	  52689 /*		MAKE THE ERROR TEXT MORE MEANINGFUL.                        */
 I7	  52690 /*                                                                          */
 I7	  52691 /*	X-79	AHM039		DREW MASON		17-FEB-1998         */
 I7	  52692 /*		ADD MORE STATUS CODES FOR GALAXY MEMBERSHIP SERVICES.       */
 I7	  52693 /*                                                                          */
 I7	  52694 /*	X-78	PKH-G006	PAUL K. HARTER, JR.	27-JAN-1998         */
 I7	  52695 /*		ADDED TWO STATUS CODES FOR GALAXY MEMBERSHIP SERVICES.      */
 I7	  52696 /*                                                                          */
 I7	  52697 /*	X-77	AHM034		DREW MASON		26-JAN-1998         */
 I7	  52698 /*		ADD STATUS CODES FOR GALAXY MEMBERSHIP CALLBACKS.           */
 I7	  52699 /*                                                                          */
 I7	  52700 /*	X-76	NELSON		PAT NELSON		14-JAN-1998         */
 I7	  52701 /*		CLEANED UP INSTRUCTIONS AT TOP OF FILE.                     */
 I7	  52702 /*                                                                          */
 I7	  52703 /*	X-75	DMB		DAVE BERNARDO		07-JAN-1998         */
 I7	  52704 /*		ADD MORE STATUS CODES FOR GALAXY LOCKING.                   */
 I7	  52705 /*                                                                          */
 I7	  52706 /*	X-74	HAR		HAROLD READ		10-DEC-1997         */
 I7	  52707 /*		ADD NEW STATUS CODE FOR MSCP ERRORS.                        */
 I7	  52708 /*                                                                          */
 I7	  52709 /*       X-73    JAH0250         JOHN A HARNEY           11-NOV-1997        */
 I7	  52710 /*               ADD SS$_NOSUCHEXT FOR IMPERSONATION SERVICES TO TELL       */
 I7	  52711 /*               THE USER THERE'S NO SUCH EXTENSION.                        */
 I7	  52712 /*                                                                          */
 I7	  52713 /*	X-72	DMB		DAVE BERNARDO		27-OCT-1997         */
 I7	  52714 /*		ADD STATUS CODES FOR GALAXY LOCKING.                        */
 I7	  52715 /*                                                                          */
 I7	  52716 /*	X-71	KLN2008		KAREN L. NOEL		21-OCT-1997         */
 I7	  52717 /*		ADD NEW STATUS CODES FOR GALAXY SHARED MEMORY.              */
 I7	  52718 /*                                                                          */
 I7	  52719 /*	X-70	HAR		HAROLD READ			18-SEP-1997 */
 I7	  52720 /*               ADD TEN NEW ERROR MESSAGES FOR DU/TUDRIVER.                */
 I7	  52721 /*                                                                          */
 I7	  52722 /*	X-69	ANDY KUEHNEL				10-SEP-1997         */
 I7	  52723 /*		ADD SS$_SECREFOVF ERROR TO BE RETURNED IF ADDING MORE REFERENCES */
 I7	  52724 /*		TO A GLOBAL SECTION WOULD CAUSE THE REFERENCE COUNT TO OVERFLOW. */
 I7	  52725 /*                                                                          */
 I7	  52726 /*	X-68	WDB:MTD20	WALTER BLASCHUK 	13 AUG 1997         */
 I7	  52727 /*		MULTIPLE TAPE DENSITY PROJECT:  INSERT TWO INFORMATIONALS   */
 I7	  52728 /*               SS$_NOTATBOT AND SS$_PREVSDENS.  ALPHA AND VAX.            */
 I7	  52729 /*                                                                          */
 I7	  52730 /*	X-67	KJP-SDOS	KEVIN PLAYFORD		18-JUL-1997         */
 I7	  52731 /*		UPDATE SNAP CAPABLE DISK ERROR MESSAGES AND RESERVE SOME EXTRA */
 I7	  52732 /*		MESSAGES.                                                   */
 I7	  52733 /*                                                                          */
 I7	  52734 /*	X-66	KJP-SDOS	KEVIN PLAYFORD		11-JUN-1997         */
 I7	  52735 /*		ADD SS$_TOOMANYFRAGS AND SS$_TOOMANYFAMILIES FOR SNAP CAPABLE */
 I7	  52736 /*		DISK.                                                       */
 I7	  52737 /*                                                                          */
 I7	  52738 /*	X-65	IBB038		IAN BROCKBANK		 4-JUN-1997         */
 I7	  52739 /*		F11BXQP HFS LATENT SUPPORT - ADD SS$_NOTF11ODS5,            */
 I7	  52740 /*		SS$_NOCONVJNL AND SS$_NORAD50.                              */
 I7	  52741 /*                                                                          */
 I7	  52742 /*       X-64	BMAN		BRIAN MAN		21-MAR-1997         */
 I7	  52743 /*               NO CHANGES: CLEAN UP SOME SO DIFFS WORK BETTER BETWEEN     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 952
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52744 /*		THE VAX VERSION                                             */
 I7	  52745 /*                                                                          */
 I7	  52746 /*       X-63                    DOUGLAS FYFE            14-FEB-1997        */
 I7	  52747 /*               MAINLINE MERGE OF PER-THREAD SECURITY SUPPORT: (GEN 58A1)  */
 I7	  52748 /*               ADD SS$_PERSONADELPEND TO BE RETURNED WHEN A REQUEST       */
 I7	  52749 /*               TO DELETE A PERSONA IS PREVENTED ONLY BY OUTSTANDING       */
 I7	  52750 /*               REFERENCES IN REFCOUNT.                                    */
 I7	  52751 /*                                                                          */
 I7	  52752 /*	X-62	JMP-VDC		JULIAN PALMER     	29-JAN-1997         */
 I7	  52753 /*		ADD SS$_FLUSHFAIL FOR VDC LATENT SUPPORT.                   */
 I7	  52754 /*                                                                          */
 I7	  52755 /*		CW-SD		CHRIS WHITAKER		29-JAN-1997         */
 I7	  52756 /*		ADD ADDITIONAL ERROR MESSAGES FOR SNAPSHOT-CAPABLE          */
 I7	  52757 /*		DISK.                                                       */
 I7	  52758 /*                                                                          */
 I7	  52759 /*	X-61	NYK656		NITIN Y. KARKHANSI	21-AUG-1996         */
 I7	  52760 /*		ADDED SS$_NOSHPTS AS PART SHARED PAGE TABLE SUPPORT.        */
 I7	  52761 /*                                                                          */
 I7	  52762 /*	X-60	KLN1572		KAREN L. NOEL		6-AUG-1996          */
 I7	  52763 /*		O ADDED SS$_RES_MEM_INCON FOR RESERVED MEMORY REGISTRY.     */
 I7	  52764 /*		O ADDED SS$_PTE_NOT_EMPTY FOR SYSTEM PTE DEALLOCATION.      */
 I7	  52765 /*                                                                          */
 I7	  52766 /*	X-59	NYK640		NITIN Y. KARKHANIS	17-JUL-1996         */
 I7	  52767 /*		O ADDED SYSTEM SERVICE MESSAGE FOR SHARED PAGE TABLE SECTION */
 I7	  52768 /*		  CREATION, SS$_CREATED_SHPT.                               */
 I7	  52769 /*		O REMOVED SS$_MRES_NOTREG, SS$_MRES_REGSMALL AND            */
 I7	  52770 /*		  SS$_MRES_REGBIG FOR KAREN NOEL.                           */
 I7	  52771 /*                                                                          */
 I7	  52772 /*	X-58	KLN1546		KAREN L. NOEL		2-MAY-1996          */
 I7	  52773 /*		ADDED SYSTEM SERVICE MESSAGES FOR MEMORY RESIDENT SECTIONS. */
 I7	  52774 /*		MRES_REGSMALL, MRES_REGBIG, MRES_NOTREG, MRES_PFNSMALL,     */
 I7	  52775 /*		MRES_INCON, NORESERVEDMEM, RESERVEDMEMUSED, NOMEMRESID      */
 I7	  52776 /*                                                                          */
 I7	  52777 /*	X-57	JACH0010	JEREMY A. C. HITT	2-MAR-1996          */
 I7	  52778 /*		ADDED THE FOLLOWING MESSAGES FOR ACME: NOEXTAUTH,           */
 I7	  52779 /*		ERRMAPAUTH, AUTHFAIL AND INVUSER.                           */
 I7	  52780 /*                                                                          */
 I7	  52781 /*	X-56	WXD		BILL DAVENPORT		13-DEC-1995         */
 I7	  52782 /*		PER-THREAD SECURITY STAGE 1 CHECKIN:                        */
 I7	  52783 /*                                                                          */
 I7	  52784 /*		ADD NODELPERMANENT ERROR CODE TO BE RETURNED WHEN DELETION  */
 I7	  52785 /*		OF A PERMANENT PERSONA IS ATTEMPTED.  ALSO, RENAME DETACH   */
 I7	  52786 /*		PRIVILEGE TO IMPERSONATE.  ADD LITERAL SO THAT OLD SYMBOL   */
 I7	  52787 /*		STILL GETS CREATED.                                         */
 I7	  52788 /*                                                                          */
 I7	  52789 /*	X-55	PKW338		PAUL K. M. WEISS	 8-NOV-1995         */
 I7	  52790 /*		ADD SS$_THREAD_UPCALL, WHICH IS USED TO COMMUNICATE FROM KERNEL */
 I7	  52791 /*		INTERNAL SERVICES TO THE CALLER'S MODE JACKET THAT IT SHOULD */
 I7	  52792 /*		MAKE AN UPCALL                                              */
 I7	  52793 /*                                                                          */
 I7	  52794 /*	X-54	JCH703B	JOHN C. HALLYBURTON, JR.	10-OCT-1995         */
 I7	  52795 /*		ADD SS$_NOBUFOBJID (ATTEMPTED USER MODE CREATE BUFFER OBJECT */
 I7	  52796 /*		WITHOUT A RIGHTS IDENTIFIER).                               */
 I7	  52797 /*                                                                          */
 I7	  52798 /*	X-53	KLN1520		KAREN L. NOEL		28-SEP-1995         */
 I7	  52799 /*		1. FIX SEVERAL NEW SS$ CODES TO BE ERRORS INSTEAD OF        */
 I7	  52800 /*		   WARNINGS.                                                */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 953
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52801 /*		2. SHORTEN SEVERAL NEW SS$ CODE NAMES SO THEY ARE LESS      */
 I7	  52802 /*		   THEN 15 CHARACTERS.  OTHERWISE, THEY GET TRUNCATED IN THE */
 I7	  52803 /*		   MESSAGE TEXT.                                            */
 I7	  52804 /*		3. FIX TEXT OF SS$_CHANVIO.                                 */
 I7	  52805 /*                                                                          */
 I7	  52806 /*	X-52	KLN1514		KAREN L. NOEL		12-SEP-1995         */
 I7	  52807 /*		1. CHANGE MESSAGE TEXT FOR SS$_IVPROTECT TO INCLUDE         */
 I7	  52808 /*		INVALID GLOBAL SECTION PROTECTION                           */
 I7	  52809 /*		2. FIX TYPO IN SS$_OFFSET_NOTBLOCK MESSAGE                  */
 I7	  52810 /*                                                                          */
 I7	  52811 /*	X-51	WBF	BURNS FISHER			 7-SEP-1995         */
 I7	  52812 /*		ADD SS$_EMULATE INFO MESSAGE                                */
 I7	  52813 /*                                                                          */
 I7	  52814 /*	X-50	JCH703A	JOHN C. HALLYBURTON, JR.	 8-MAR-1995         */
 I7	  52815 /*		ADD EXBUFOBJLM ERROR CODE.                                  */
 I7	  52816 /*                                                                          */
 I7	  52817 /*	X-49	NYK292		NITIN Y. KARKHANIS	28-FEB-1995         */
 I7	  52818 /*		O DISPLAY THE FULL 64-BITS OF PCS WITH !XH.                 */
 I7	  52819 /*		O REPLACED INSTANCES OF !XQ WITH !XH (!XQ WAS INTRODUCED    */
 I7	  52820 /*		  IN EDIT X-47).                                            */
 I7	  52821 /*                                                                          */
 I7	  52822 /*	X-48	RLP050		RAY PFAU		23-FEB-1995         */
 I7	  52823 /*		ADD SS$_NOMORETHREAD FOR KERNEL THREADS.                    */
 I7	  52824 /*                                                                          */
 I7	  52825 /*	X-47	NYK280		NITIN Y. KARKHANIS	23-FEB-1995         */
 I7	  52826 /*		64-BIT PROJECT: PROMOTE ADDRESS ARGUMENTS IN SYSTEM MESSAGES */
 I7	  52827 /*		FROM !XL TO !XQ.  $FAO NOW HANDLES QUADWORD BY VALUE!       */
 I7	  52828 /*                                                                          */
 I7	  52829 /*	X-46	KLN1389		KAREN L. NOEL		16-FEB-1995         */
 I7	  52830 /*		ADD EVEN MORE SS$ CODES FOR 64-BIT GLOBAL SECTION           */
 I7	  52831 /*		SYSTEM SERVICES.                                            */
 I7	  52832 /*                                                                          */
 I7	  52833 /*	X-45	KLN1377		KAREN L. NOEL		3-FEB-1995          */
 I7	  52834 /*		ADD ANOTHER SS$ CODE FOR 64-BIT MMG SYSTEM SERVICES.        */
 I7	  52835 /*                                                                          */
 I7	  52836 /*	X-43	KLN1342		KAREN L. NOEL		1-DEC-1994          */
 I7	  52837 /*		ADD SOME FORGOTTEN CODES FOR 64-BIT MMG SYSTEM SERVICES.    */
 I7	  52838 /*                                                                          */
 I7	  52839 /*	X-42	KLN1333		KAREN L. NOEL		16-NOV-1994         */
 I7	  52840 /*		ADD NEW CODES NEEDED FOR 64-BIT MMG SYSTEM SERVICES.        */
 I7	  52841 /*                                                                          */
 I7	  52842 /*	X-41	TRB		TOM BENSON		02-NOV-1994         */
 I7	  52843 /*		ADDED SS$_RESIGNAL_64 AND SS$_CONTINUE_64. THESE ARE VARIANTS */
 I7	  52844 /*		OF THEIR 32-BIT COUNTERPARTS THAT TELL EXCEPTION THAT THE   */
 I7	  52845 /*		64-BIT SIGNAL ARRAY SHOULD BE USED.                         */
 I7	  52846 /*                                                                          */
 I7	  52847 /*	X-40	LSS0312		LEONARD S. SZUBOWICZ	20-OCT-1994         */
 I7	  52848 /*		ADD SS$_NOT64DEVFUNC.  THIS IS RETURNED BY THE $QIO SYSTEM  */
 I7	  52849 /*		SERVICE IF THE P1 PARAMETER HAS MORE THAN 32 SIGNIFICANT    */
 I7	  52850 /*		BITS AND THE DRIVER DOES NOT SUPPORT 64-BITS.               */
 I7	  52851 /*                                                                          */
 I7	  52852 /*	X-39	KLN1326		KAREN L. NOEL			18-OCT-1994 */
 I7	  52853 /*		64-BIT PROJECT:                                             */
 I7	  52854 /*		ADD SS$_ARG_GTR_32_BITS                                     */
 I7	  52855 /*                                                                          */
 I7	  52856 /*	X-38	JCH703	JOHN C. HALLYBURTON, JR.		 5-OCT-1994 */
 I7	  52857 /*		ERROR CODES FOR FAST-IO: BADFANDLE THRU UNSUPVOLSET         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 954
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52858 /*                                                                          */
 I7	  52859 /*	X-37	JFD0633		JAMES F. DUNHAM			15-SEP-1994 */
 I7	  52860 /*		FOLD FROM X-33U3 - ADD MESSAGES TO SUPPORT SCSI-2 TCQ       */
 I7	  52861 /*                                                                          */
 I7	  52862 /*	X-36			NANCY JEAN BURKHOLDER		19 SEP 1994 */
 I7	  52863 /*		ADD SS$_ZEROALLOCLS MESSAGE                                 */
 I7	  52864 /*                                                                          */
 I7	  52865 /*	X-35	DBK001		DAN KYLER			7-SEP-1994  */
 I7	  52866 /*		ADD MESSAGES FOR SMFS LAYERED PRODUCT IN MME RESERVED REGION. */
 I7	  52867 /*		FOLDED FROM X-33U1.                                         */
 I7	  52868 /*                                                                          */
 I7	  52869 /*	X-34	DMB002		DAVID M. BERNARDO		28-AUG-1994 */
 I7	  52870 /*		ADD SS$_NOMULTITHREAD, SS$_MTHREADACTIVE, SS$_MAXKTHREADS,  */
 I7	  52871 /*		SS$_NOSUCHTHREAD, SS$_NOTHREADMAN, SS$_NOSUCHUPCALL,        */
 I7	  52872 /*		SS$_TMACTIVE.                                               */
 I7	  52873 /*                                                                          */
 I7	  52874 /*	X-33	JHH-BL5		JIM HOGG			 6-JUL-1994 */
 I7	  52875 /*		ADD SS$_INSFTHREADS & SS$_NOTSUPFS FOR F64 FILE SYSTEM.     */
 I7	  52876 /*                                                                          */
 I7	  52877 /*	X-32	RAB0191		RICHARD A. BISHOP		3-JUN-1994  */
 I7	  52878 /*		ADD SS$_SIGNAL64 FOR MIKE HARVEY                            */
 I7	  52879 /*                                                                          */
 I7	  52880 /*	X-31	SAD0308		STUART A. DAVIDSON		22-MAR-1994 */
 I7	  52881 /*		ADD INSFP1POOL TO CLEARLY IDENTIFY INSUFFICIENT CTLPAGES.   */
 I7	  52882 /*                                                                          */
 I7	  52883 /*	X-30	RAB		RICHARD A. BISHOP		15-MAR-1994 */
 I7	  52884 /*		PICK UP THE FOLLOWING CORAL CHANGE:                         */
 I7	  52885 /*                                                                          */
 I7	  52886 /*		X-35	FAK004	FORREST A. KENNEY		11-JAN-1994 */
 I7	  52887 /*		ADD NEW MESSAGE <SS$_DEVLISTFULL>, IOC$CLONE_UCB RETURNS THIS */
 I7	  52888 /*		WHEN WE HAVE USED UP ALL THE AVAILABLE UNITS FOR A DEVICE.  */
 I7	  52889 /*                                                                          */
 I7	  52890 /*	X-29	RWC136		RICHARD W. CRITZ, JR.		23-DEC-1993 */
 I7	  52891 /*		ADD SS$_CONFIG_SYNTAX FOR 3PB SUPPORT.  IT REPLACES         */
 I7	  52892 /*		SS$_OBSOLETE_6.                                             */
 I7	  52893 /*                                                                          */
 I7	  52894 /*	X-28	RAB		RICHARD A. BISHOP		9-DEC-1993  */
 I7	  52895 /*		ADD IMPERSONATION MESSAGE CODES FOR STU DAVIDSON            */
 I7	  52896 /*                                                                          */
 I7	  52897 /*	X-27	HH1241		HAI HUANG			06-OCT-1993 */
 I7	  52898 /*		CORRECT PARAMETERS FOR SS$_ILLEGAL_SHADOW.                  */
 I7	  52899 /*                                                                          */
 I7	  52900 /*	X-26	DEE RYAN					30-SEP-1993 */
 I7	  52901 /*		CORRECTED SPELLING, PUNCTUATION, AND LEGAL ERRORS IN        */
 I7	  52902 /*		MESSAGE TEXT.                                               */
 I7	  52903 /*                                                                          */
 I7	  52904 /*	X-25	RAB		RICHARD A. BISHOP		17-AUG-1993 */
 I7	  52905 /*		PICK UP NEW VAX SYMBOL:                                     */
 I7	  52906 /*                                                                          */
 I7	  52907 /*		X-32	WXD	BILL DAVENPORT			11-AUG-1993 */
 I7	  52908 /*		ADD SS$_IVNODNAM, INVALID NODE NAME FOR DECNET.             */
 I7	  52909 /*                                                                          */
 I7	  52910 /*	X-24	HH1202		HAI HUANG			12-AUG-1993 */
 I7	  52911 /*		ADD NEW IEEE ARITHMETIC EXCEPTIONS.                         */
 I7	  52912 /*                                                                          */
 I7	  52913 /*	X-23	HH1110		GENE LEACHE			15-JUL-1993 */
 I7	  52914 /*		ADD SS$_NOCALLTRANS_SUP                                     */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 955
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52915 /*                                                                          */
 I7	  52916 /*	X-22	HH1110		HAI HUANG			14-JUN-1993 */
 I7	  52917 /*		ADD SS$_TARGET_UNWIND, SS$_TARGET_GOTO_UNWIND.              */
 I7	  52918 /*                                                                          */
 I7	  52919 /*	X-21	HH1101		HAI HUANG			26-MAY-1993 */
 I7	  52920 /*		REPLACE REASON MASK WITH I/O STATUS IN PAGE READ ERRORS.    */
 I7	  52921 /*                                                                          */
 I7	  52922 /*       X-20    MW              MARK WATTS                      25-MAY-1993 */
 I7	  52923 /*               ADD A NEW FILESYSTEM ERROR MESSAGE CALLED SHELFERROR, THIS */
 I7	  52924 /*               WILL BE RETURNED THROUGH THE FILESYSTEM BY THE SHELF HANDLER. */
 I7	  52925 /*                                                                          */
 I7	  52926 /*	X-19	RAB		RICHARD A. BISHOP		14-MAY-1993 */
 I7	  52927 /*		FOLD INITIAL CORAL CHANGES:                                 */
 I7	  52928 /*                                                                          */
 I7	  52929 /*		X-21A1A1 MME001	MICHAEL BEELER			12-OCT-1992 */
 I7	  52930 /*		ADD MME (MEDIA MANAGEMENT EXTENSION) MESSAGES               */
 I7	  52931 /*                                                                          */
 I7	  52932 /*	X-18	RAB		RICHARD A. BISHOP		14-APR-1993 */
 I7	  52933 /*		FOLD OF BLADE/DELTA CLEANUP (REQUIRED SS$_FDT_COMPL TO      */
 I7	  52934 /*		CHANGE VALUE):                                              */
 I7	  52935 /*                                                                          */
 I7	  52936 /*		X-14U3	RAB	RICHARD A. BISHOP	14-APR-1993         */
 I7	  52937 /*		MERGE BLADE CHANGES AND RESOLVE CONTENTION:                 */
 I7	  52938 /*                                                                          */
 I7	  52939 /*		X-25A1 AJM93032	ANDREW J. MOSKAL	11-MAR-1993         */
 I7	  52940 /*		ADD NOTRANQUIL AND SMALLHEADER - MAC RELATED MESSAGES.      */
 I7	  52941 /*                                                                          */
 I7	  52942 /*	X-17	EHL003		GENE LEACHE		  1-APR-1993        */
 I7	  52943 /*		ADD SIG_ARGMISMATCH                                         */
 I7	  52944 /*                                                                          */
 I7	  52945 /*	X-16	EHL003		GENE LEACHE		 22-MAR-1993        */
 I7	  52946 /*		ADD SIG_INVARGTYPE, SIG_INVFLTARG, SIG_INVARGLIST           */
 I7	  52947 /*                                                                          */
 I7	  52948 /*       X-15    WDB:HLL004      WALTER D. BLASCHUK, JR. 06-JAN-1993        */
 I7	  52949 /*               HLLDD PROJECT: FDT PROCESSING CHANGES.                     */
 I7	  52950 /*		ADD  THE SS$_FDT_COMPL CONSTANT.  THIS WILL INDICATE        */
 I7	  52951 /*		THAT  FDT PROCESSING  IS COMPLETE.  IT SAYS  NOTHING        */
 I7	  52952 /*		ABOUT THE PRESENCE OF AN ERROR.                             */
 I7	  52953 /*                                                                          */
 I7	  52954 /*	X-14	RLP017		RAY PFAU		18-DEC-1992         */
 I7	  52955 /*		CLARIFY CPUSTOPPING TEXT. FIX TYPO IN NOTALLCANCELED        */
 I7	  52956 /*		TEXT.                                                       */
 I7	  52957 /*                                                                          */
 I7	  52958 /*	X-13	RAB		RICHARD A. BISHOP	20-NOV-1992         */
 I7	  52959 /*		NEW SYMBOLS FOR PAUL HOULIHAN (SCS), PLUS MORE BLADE CHANGES: */
 I7	  52960 /*                                                                          */
 I7	  52961 /*		PJH		PAUL J. HOULIHAN	20-NOV-1992         */
 I7	  52962 /*		ADD SCS INTERNAL STATUS. THESE ARE NEVER SEEN BY USERS.     */
 I7	  52963 /*                                                                          */
 I7	  52964 /*       	X-24	MWD0038	MICHAEL DANIELE		20-OCT-1992  14:13  */
 I7	  52965 /*		ADD NAMESERVCOMMERR - "Name service communications error"   */
 I7	  52966 /*		ON BEHALF OF DECNET/OSI.                                    */
 I7	  52967 /*                                                                          */
 I7	  52968 /*       	X-23	DDP1354	DERRELL D. PIPER       30-SEP-1992  16:36   */
 I7	  52969 /*		ADD MESSAGE FOR ATTEMPT TO ADD A PROTECTED SUBSYSTEM ID WITH */
 I7	  52970 /*		ATTRIBUTES THAT EXCEED THOSE OF ITS HOLDER (SS$_SSANOTAUTH). */
 I7	  52971 /*		ALSO ADD A MESSAGE FOR INVALID FILE OWNER (SS$_BADOWNER).   */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 956
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  52972 /*                                                                          */
 I7	  52973 /*       	X-22	DDP1337	DERRELL D. PIPER       16-SEP-1992  17:55   */
 I7	  52974 /*		UPDATE NOPRIV, EXQUOTA, AND OBJNOTLOCKED MESSAGE TEXTS.     */
 I7	  52975 /*                                                                          */
 I7	  52976 /*	X-12	RS00375		RICHARD SAYDE		 1-SEP-1992         */
 I7	  52977 /*		CORRECT MESSAGE TEXT FOR ALIGNMENT FAULT TRAP. REGISTER     */
 I7	  52978 /*		INFORMATION IS NO LONGER PROVIDED, IT IS NOW A FUNCTION     */
 I7	  52979 /*		CODE - 0 MEANS LOAD, 1 MEANS STORE.                         */
 I7	  52980 /*                                                                          */
 I7	  52981 /*	X-11	HH0974		HAI HUANG		16-AUG-1992         */
 I7	  52982 /*		CORRECT MESSAGE TEXT FOR SS$_FLTINV.                        */
 I7	  52983 /*                                                                          */
 I7	  52984 /*	X-10	RAB		RICHARD A. BISHOP	14-AUG-1992         */
 I7	  52985 /*		PICK UP ANOTHER BLADE CHANGE:                               */
 I7	  52986 /*                                                                          */
 I7	  52987 /*		X-21	JAD045	JOSEPH A. DZIEDZIC	29-JUN-1992         */
 I7	  52988 /*		ADD "page read error across access modes" STATUS,           */
 I7	  52989 /*		SS$_PAGRDERRXM.                                             */
 I7	  52990 /*                                                                          */
 I7	  52991 /*	X-9	RAB		RICHARD A. BISHOP	16-JUL-1992         */
 I7	  52992 /*		PICK UP CHANGE FROM VAX, RESET IDENT & AUDIT TRAIL          */
 I7	  52993 /*                                                                          */
 I7	  52994 /*		X-19	RLA095B		ROBERT L. ADAMS		12-JUN-1992 */
 I7	  52995 /*		OBSOLETE CHARGE CODE ACCOUNTING AND REPLACE WITH            */
 I7	  52996 /*		MORE DESCRIPTIVE PROTECTED SUBSYSTEMS ERRORS.               */
 I7	  52997 /*		ADD COMMENT ON OBSOLETING MESSAGES.                         */
 I7	  52998 /*                                                                          */
 I7	  52999 /*	X-22	EHL002		GENE LEACHE		 8-JUL-1992         */
 I7	  53000 /*		ADD SS$_ILLPOLICY                                           */
 I7	  53001 /*                                                                          */
 I7	  53002 /*	X-21	EHL001		GENE LEACHE		18-JUN-1992         */
 I7	  53003 /*		ADD SS$_ILLPRIPOL                                           */
 I7	  53004 /*                                                                          */
 I7	  53005 /*	X-20	EMB0170		ELLEN M. BATBOUTA	12-JUN-1992         */
 I7	  53006 /*		ADD 2 NEW FATAL ERROR MESSAGES, TRANSCALLER AND             */
 I7	  53007 /*		NOCALLTRANS.  THESE MESSAGES INDICATE THAT A NATIVE         */
 I7	  53008 /*		IMAGE WAS NOT BUILT CORRECTLY TO INTEROPERATE WITH          */
 I7	  53009 /*		TRANSLATED CODE.                                            */
 I7	  53010 /*                                                                          */
 I7	  53011 /*	X-19	HH0931		HAI HUANG		27-MAY-1992         */
 I7	  53012 /*		CHANGE PSL IN ERROR MESSAGES TO PS.                         */
 I7	  53013 /*                                                                          */
 I7	  53014 /*	X-18	RAB		RICHARD A. BISHOP	19-MAY-1992         */
 I7	  53015 /*		PICK UP RECENT BLADE CHANGES:                               */
 I7	  53016 /*                                                                          */
 I7	  53017 /*		X-17	ATP014.17	ALAN POTTER		 2-APR-1992 */
 I7	  53018 /*		CHANGE ERROR MESSAGE TEXT FOR SS$_TPDISABLED AND            */
 I7	  53019 /*		SS$_NOLOG.                                                  */
 I7	  53020 /*                                                                          */
 I7	  53021 /*       	X-15/16	DDP1198		DERRELL D. PIPER       24-MAR-1992  18:15 */
 I7	  53022 /*		FIX PUNCTUATION OF MESSAGES FOR HELP/MESSAGE AND ADD SOME   */
 I7	  53023 /*		POMPOUS GUIDELINES FOR FUTURE GENERATIONS.                  */
 I7	  53024 /*                                                                          */
 I7	  53025 /*	X-17	HH0855		HAI HUANG		10-MAR-1992         */
 I7	  53026 /*	 -16	ADD STATUS FOR GENTRAP CODES.                               */
 I7	  53027 /*                                                                          */
 I7	  53028 /*	X-15	HH0853		HAI HUANG		26-FEB-1992         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 957
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53029 /*		ADD SS$_GENTRAP, SS$_GOTO_UNWIND, SS$_EXIT_UNWIND.          */
 I7	  53030 /*                                                                          */
 I7	  53031 /*	X-14	RAB0100		RICHARD A. BISHOP	30-JAN-1992         */
 I7	  53032 /*		MERGE BLADE AND ALPHA VERSIONS OF THIS FILE. THIS           */
 I7	  53033 /*		IS BEING DONE SO AS TO LEAVE BLADE VALUES INTACT.           */
 I7	  53034 /*		WHERE CHANGES IN VALUES ARE NECESSARY, THEY ARE             */
 I7	  53035 /*		HAPPENING TO ALPHA.                                         */
 I7	  53036 /*                                                                          */
 I7	  53037 /*		ALSO MOVE SS$_IMGDMP (PREVIOUS BLADE CHECKIN). THIS         */
 I7	  53038 /*		WAS WRONGLY PLACED, AND CAUSED SOME SYMBOLS TO MOVE.        */
 I7	  53039 /*		THEY NOW GO BACK TO THEIR ORIGINAL VALUES.                  */
 I7	  53040 /*                                                                          */
 I7	  53041 /*		AS LUCK WOULD HAVE IT, THIS CHECKIN IS GENERATION           */
 I7	  53042 /*		14 ON BOTH MASTERPACKS.....                                 */
 I7	  53043 /*                                                                          */
 I7	  53044 /*	========================================                            */
 I7	  53045 /*                                                                          */
 I7	  53046 /*	30-JAN-1992:	WHAT FOLLOWS IS THE BLADE AUDIT TRAIL               */
 I7	  53047 /*			FROM 30-NOV-1990 TO 20-DEC-1991                     */
 I7	  53048 /*                                                                          */
 I7	  53049 /*	========================================                            */
 I7	  53050 /*                                                                          */
 I7	  53051 /*	X-13	SJVMAJ		STEPHEN J. VIVIAN	20-DEC-1991         */
 I7	  53052 /*		ADD SS$_IMGDMP SIGNAL FOR MAJIQ SUPPORT.                    */
 I7	  53053 /*                                                                          */
 I7	  53054 /*	X-12	CRB0711		COLIN R. BLAKE		18-DEC-1991 13:18:23.93 */
 I7	  53055 /*		THIS IS THE C2 VERSION BEING INSERTED INTO MAINLINE.        */
 I7	  53056 /*                                                                          */
 I7	  53057 /*       X-8A3A1A2       THE GREAT MERGER NASSER ABBASI   11-DEC-1991       */
 I7	  53058 /*		MERGE T4 WITH BLADE_BLD6                                    */
 I7	  53059 /*		COPY OF HISTORY FROM BLD6 MODULE                            */
 I7	  53060 /*		--------------------------------                            */
 I7	  53061 /*		X-11    JFD0031   		JAMES F. DUNHAM	 	8-JAN-1991 */
 I7	  53062 /*			ADD MESSAGES TO SUPPORT ISO 9660 VOLUME MOUNTS      */
 I7	  53063 /*                                                                          */
 I7	  53064 /*	X-8A3A1A1 DOR		DENNIS O. ROGERS	26-NOV-1991 12:19   */
 I7	  53065 /*		C2 BLADE MERGE (T4):                                        */
 I7	  53066 /*                                                                          */
 I7	  53067 /*		X-10	CBD0238	CHARLES B. DUNN		14-OCT-1991         */
 I7	  53068 /*		ADD SS$_TIMENOTSET FOR DTSS SUPPORT                         */
 I7	  53069 /*                                                                          */
 I7	  53070 /*       X-8A3A1	CRB0044		COLIN R. BLAKE		 6-NOV-1991  08:58 */
 I7	  53071 /*		T3 MERGE:                                                   */
 I7	  53072 /*                                                                          */
 I7	  53073 /*		X-9	EJL0610		EDWARD J. LOS		02-OCT-1991 */
 I7	  53074 /*			RESET VERSION TO MATCH GENERATION. ADD SYSTEM SNAPSHOT */
 I7	  53075 /*			VALIDATION ERRORS                                   */
 I7	  53076 /*                                                                          */
 I7	  53077 /*	X-8A3	CRB0030		COLIN R. BLAKE		23-OCT-1991         */
 I7	  53078 /*		MORE C2 MERGING:                                            */
 I7	  53079 /*                                                                          */
 I7	  53080 /*		T-6T9	SAD0144		STUART A. DAVIDSON	18-OCT-1991 */
 I7	  53081 /*			ADD NOOJBSRV ERROR -- OBJECT SERVER NOT RUNNING.    */
 I7	  53082 /*                                                                          */
 I7	  53083 /*	X-8A2	FAK0003		FORREST A. KENNEY	16-OCT-1991         */
 I7	  53084 /*		MERGE LATEST C2 CHANGES.                                    */
 I7	  53085 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 958
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53086 /*	       T-9	DDP0887		DERRELL D. PIPER	4-OCT-1991  18:43 */
 I7	  53087 /*			ADD ITEM CODE ERROR MESSAGES.                       */
 I7	  53088 /*                                                                          */
 I7	  53089 /*	X-8A1	FAK0002		FORREST A. KENNEY	20-SEP-1991         */
 I7	  53090 /*		MERGE C2 MESSAGES INTO MAINLINE, FIX IDENT TO AGREE WITH    */
 I7	  53091 /*		CMS DUE TO MASTERPACK CLEANUP.                              */
 I7	  53092 /*                                                                          */
 I7	  53093 /*		X-80T8	LMP0542		L. MARK PILANT,		29-JUL-1991  16:42 */
 I7	  53094 /*			ADD A MESSAGE TO INDICATE THAT DELETION OF FILES WITH */
 I7	  53095 /*			ACTIVE RMS JOURNALING IS NOT ALLOWED.               */
 I7	  53096 /*                                                                          */
 I7	  53097 /*			LMP0544		L. MARK PILANT,		30-JUL-1991  14:45 */
 I7	  53098 /*			ADD A MESSAGE TO INDICATE THE SUPPLIED FILE         */
 I7	  53099 /*			SPECIFICATION IS INVALID FOR THE ATTEMPTED OPERATION. */
 I7	  53100 /*                                                                          */
 I7	  53101 /*		T-7	RLA		ROBERT L. ADAMS		26-JUN-1991 */
 I7	  53102 /*			FOLD MAGIC CHANGES INTO TRANQUILITY.                */
 I7	  53103 /*                                                                          */
 I7	  53104 /*		T-6	DDP0977		DERRELL D. PIPER	7-JUN-1991  10:01 */
 I7	  53105 /*			ADD OVRMAXAUD.                                      */
 I7	  53106 /*                                                                          */
 I7	  53107 /*		T-5	AJM		ANDREW J. MOSKAL	13-MAY-1991 */
 I7	  53108 /*			ADD INVSECOPER, NOCLASSSUPPORT - MAC PROTECTION RELATED */
 I7	  53109 /*			MESSAGES.                                           */
 I7	  53110 /*                                                                          */
 I7	  53111 /*		T-4	SAD0116		STUART A. DAVIDSON	 3-MAY-1991 */
 I7	  53112 /*			ADD ILLRSDM (ILLEGAL RESOURCE DOMAIN OPERATION)     */
 I7	  53113 /*                                                                          */
 I7	  53114 /*		X-80T3	SAD0109		STUART A. DAVIDSON	19-APR-1991 */
 I7	  53115 /*			ADD OBJECT CONTEXT NOT LOCKED MESSAGE.              */
 I7	  53116 /*                                                                          */
 I7	  53117 /*		X-80T2	SAD0109		STUART A. DAVIDSON	11-MAR-1991 */
 I7	  53118 /*			ADD MISSED MESSAGES FOR SECURITY OBJECT MANAGEMENT  */
 I7	  53119 /*                                                                          */
 I7	  53120 /*		X-81    RLA0147		ROBERT L. ADAMS		15-FEB-1991 */
 I7	  53121 /*			ADD SECURITY MESSAGES ADDED FOR PHOENIX WORK.       */
 I7	  53122 /*                                                                          */
 I7	  53123 /*	X-87	PMV0169		PETER M. VATNE		20-JUN-1991         */
 I7	  53124 /*		ADD SS$_DEVNOTWS.                                           */
 I7	  53125 /*                                                                          */
 I7	  53126 /*	X-86	CW		CHRIS WHITAKER		10-MAR-1991         */
 I7	  53127 /*		ADD SS$_REMEMBER ALIAS.                                     */
 I7	  53128 /*                                                                          */
 I7	  53129 /*	X-85	FAK001		FORREST A. KENNEY	08-MAR-1991         */
 I7	  53130 /*		ADD SS$_QUEUED.                                             */
 I7	  53131 /*                                                                          */
 I7	  53132 /*	X-84	JLBBP01		J.L. BERG		28-FEB-1991         */
 I7	  53133 /*		ADD SS$_NOREADER AND SS$_NOWRITER.                          */
 I7	  53134 /*                                                                          */
 I7	  53135 /*	X-83	CW		CHRIS WHITAKER		26-FEB-1991         */
 I7	  53136 /*		ADD ERROR CODES FOR DECDTM V1.2 SUPPORT.                    */
 I7	  53137 /*                                                                          */
 I7	  53138 /*    	X-82	RG40077		RAY GUZMAN		21-FEB-1991         */
 I7	  53139 /*		ADD 4    NEW    CODES.    SS$_BADCHECKSUM,   SS$_INVSECDOMAIN, */
 I7	  53140 /*		SS$_ARBTOOBIG, AND SS$_ORBTOOBIG.                           */
 I7	  53141 /*                                                                          */
 I7	  53142 /*	X-81	RKK0058		ROBERT K. KOSAKOWSKI	19-FEB-1991         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 959
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53143 /*		RESERVE 20 MESSAGE CODES FOR MEDIA MANAGEMENT EXTENSIONS.   */
 I7	  53144 /*		(FOR DAN KYLER)                                             */
 I7	  53145 /*                                                                          */
 I7	  53146 /*	X-46U12	LPL0001		LEE LEAHY		30 NOV 1990         */
 I7	  53147 /*		MERGED EDIT X-74                                            */
 I7	  53148 /*                                                                          */
 I7	  53149 /*		X-74	LPL0001		LEE LEAHY		12 OCT 1990 */
 I7	  53150 /*			ADDED SS$_INVBUSNAM, SS$_INVCOMPTYPE, SS$_INVCOMPID, */
 I7	  53151 /*			SS$_INVCOMPLIST, SS$_RMTPATH, AND NOCOMPLSTS.       */
 I7	  53152 /*                                                                          */
 I7	  53153 /*	========================================                            */
 I7	  53154 /*                                                                          */
 I7	  53155 /*	30-JAN-1992:	WHAT FOLLOWS IS THE ALPHA AUDIT TRAIL               */
 I7	  53156 /*			FROM 16-JUL-1990 TO 18-DEC-1991                     */
 I7	  53157 /*                                                                          */
 I7	  53158 /*	========================================                            */
 I7	  53159 /*                                                                          */
 I7	  53160 /*	X-13	RS00233		RICHARD SAYDE		18-DEC-1991         */
 I7	  53161 /*		ADD ERROR CODES FOR ALIGNMENT FAULT REPORTING.              */
 I7	  53162 /*                                                                          */
 I7	  53163 /*	X-12	TNS001		TOM SCARPELLI		24-OCT-1991         */
 I7	  53164 /*		ADD MESSAGES FROM VAX SIDE FOR NEW QUEUE MANAGER.           */
 I7	  53165 /*                                                                          */
 I7	  53166 /*	X-11	DMB001		DAVID M. BERNARDO	23-OCT-1991         */
 I7	  53167 /*		ADD SLICING_DISABLED.                                       */
 I7	  53168 /*                                                                          */
 I7	  53169 /*	X-10	WMC010		WAYNE CARDOZA		24-SEP-1991         */
 I7	  53170 /*		ADD UNALIGNED SP LOAD.                                      */
 I7	  53171 /*                                                                          */
 I7	  53172 /*	X-9	TNS001		TOM SCARPELLI		17-JUN-1991         */
 I7	  53173 /*		ADD MESSAGES FROM VAX SIDE FOR $FORGE_WORD SYSTEM SERVICE.  */
 I7	  53174 /*                                                                          */
 I7	  53175 /*	X-8	RWC038		RICHARD W. CRITZ, JR.		12-JUN-1991 */
 I7	  53176 /*		CHANGE SS$_DRVEXISTS AND SS$_DEVEXISTS FROM INFORMATIONALS  */
 I7	  53177 /*		TO WARNINGS.                                                */
 I7	  53178 /*                                                                          */
 I7	  53179 /*	X-7	HH0624		HAI HUANG		09-APR-1991         */
 I7	  53180 /*		ADD SS$_ALTER, ALTER STACK FRAMES, FOR TIE SUPPORT.         */
 I7	  53181 /*                                                                          */
 I7	  53182 /*	X-K10	LPL001		LEE LEAHY		 4 APR 1991         */
 I7	  53183 /*		INCLUDED THE DEFINITIONS FROM IOWA/SIGMA.                   */
 I7	  53184 /*                                                                          */
 I7	  53185 /*		X-46U12	LPL0001		LEE LEAHY		30 NOV 1990 */
 I7	  53186 /*			MERGED EDIT X-74                                    */
 I7	  53187 /*                                                                          */
 I7	  53188 /*			X-74	LPL0001		LEE LEAHY		12 OCT 1990 */
 I7	  53189 /*				ADDED SS$_INVBUSNAM, SS$_INVCOMPTYPE, SS$_INVCOMPID, */
 I7	  53190 /*				SS$_INVCOMPLIST, SS$_RMTPATH, AND NOCOMPLSTS. */
 I7	  53191 /*                                                                          */
 I7	  53192 /*	X-K9	HH0610		HAI HUANG		25-FEB-1991         */
 I7	  53193 /*		ADD ALPHA HARDWARE EXCEPTIONS SS$_HPARITH, SS$_ALIGN.       */
 I7	  53194 /*                                                                          */
 I7	  53195 /*	X-K8	RFH002		ROBERT F. HOFFMAN	23-JAN-1991         */
 I7	  53196 /*		ADD SS$_QIO_CROCK FOR SPECIAL TREATMENT THAT $QIO           */
 I7	  53197 /*		NEEDS IN ORDER TO FAULT IN A PAGE IN CALLER'S MODE.         */
 I7	  53198 /*                                                                          */
 I7	  53199 /*	X-K7	MSH1062		MICHAEL S. HARVEY	13-DEC-1990         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 960
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53200 /*		ADD SS$_INVARG FOR $CRMPSC AND $MPGBLSC SERVICES.           */
 I7	  53201 /*                                                                          */
 I7	  53202 /*	X-K6	RFH001		ROBERT F. HOFFMAN	11-DEC-1990         */
 I7	  53203 /*		ADD SS$_QUEUED FOR TTDRIVER PORT (REPLACES AN UNUSED        */
 I7	  53204 /*		MESSAGE)                                                    */
 I7	  53205 /*                                                                          */
 I7	  53206 /*	X-K5	RWC003		RICHARD W. CRITZ, JR.	 1-NOV-1990         */
 I7	  53207 /*		ADD SS$_DRVNOTVALID.                                        */
 I7	  53208 /*                                                                          */
 I7	  53209 /*	X-K4	RWC003		RICHARD W. CRITZ, JR.	11-OCT-1990         */
 I7	  53210 /*		ADD $LOAD_DRIVER STATUSES.                                  */
 I7	  53211 /*                                                                          */
 I7	  53212 /*	X-K3	KLN1027		KAREN L. NOEL		25-JUL-1990         */
 I7	  53213 /*		ADD SS$_NOT_LOADED                                          */
 I7	  53214 /*                                                                          */
 I7	  53215 /*	X-K2	WMC0K2		WAYNE CARDOZA		16-JUL-1990         */
 I7	  53216 /*		ADD WAIT IN CALLERS MODE.                                   */
 I7	  53217 /*                                                                          */
 I7	  53218 /*	========================================                            */
 I7	  53219 /*                                                                          */
 I7	  53220 /*	30-JAN-1992:	WHAT FOLLOWS IS THE COMMON AUDIT TRAIL              */
 I7	  53221 /*			UP TO 21-MAY-1990                                   */
 I7	  53222 /*                                                                          */
 I7	  53223 /*	========================================                            */
 I7	  53224 /*                                                                          */
 I7	  53225 /*	X-46U11	CW1024		CHRIS WHITAKER		21-MAY-1990         */
 I7	  53226 /*		ADD SS$_VOLATILE.                                           */
 I7	  53227 /*                                                                          */
 I7	  53228 /*       X-46U10	DDP0643		DERRELL D. PIPER	28-MAR-1990  15:55 */
 I7	  53229 /*		ADD SS$_USEGENPWD.                                          */
 I7	  53230 /*                                                                          */
 I7	  53231 /*	X-46U9	MAS0254		MARK A. STILES		20-FEB-1990         */
 I7	  53232 /*		FIXUP OUT-OF-ORDER CODES.  MOVE SOME NEW CODES INTO         */
 I7	  53233 /*		UNUSED SLOTS.  FIX TEXT OF INSFSPT TO BE MORE GENERIC.      */
 I7	  53234 /*                                                                          */
 I7	  53235 /*	X-46U8	CAM0109		CHRISTOPHER A. MEGA	12-FEB-1990         */
 I7	  53236 /*		ADD BOOTREJECT WARNING STATUS - USED BY START/CPU CODE IF A CPU */
 I7	  53237 /*		FAILS TO BOOT BECAUSE IT IS IN THE BOOT_REJECTED STATE.     */
 I7	  53238 /*                                                                          */
 I7	  53239 /*	X-46U7	LBB0010		LEE BARTON		30-NOV-1989         */
 I7	  53240 /*		ADD SS$_ARCHIVING, SS$_ARCHIVED (XQP SUPPORT OF ALM)        */
 I7	  53241 /*                                                                          */
 I7	  53242 /*	X-46U6	LMP0517		L. MARK PILANT,		17-OCT-1989  16:42  */
 I7	  53243 /*		ADD PROTECTED SUBSYSTEM SUPPORT.                            */
 I7	  53244 /*                                                                          */
 I7	  53245 /*	X-46U5	RLF		RICHARD L. FRANK	16-OCT-1989         */
 I7	  53246 /*		MODIFY INSFSPTS TO BE MORE GENERIC. ADD INSFRPGS AND        */
 I7	  53247 /*		INSFLPGS.                                                   */
 I7	  53248 /*                                                                          */
 I7	  53249 /*	X-46U4	CAM0072		CHRISTOPHER A. MEGA	06-OCT-1989         */
 I7	  53250 /*		CHANGED CPUSTOPPD TO CPUSTOPPING                            */
 I7	  53251 /*                                                                          */
 I7	  53252 /*       X-46U3	DDP0546		DERRELL D. PIPER	4-OCT-1989  14:24   */
 I7	  53253 /*		ADD SS$_NOCALLPRIV FOR $CHECK_ACCESS.                       */
 I7	  53254 /*                                                                          */
 I7	  53255 /*	X-46U2	PRD0503		PAUL R. DESTEFANO	25-SEP-1989         */
 I7	  53256 /*		ADD SS$_NOSUCHFAC FOR EVENT FACILITY OBJECT SECURITY.       */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 961
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53257 /*                                                                          */
 I7	  53258 /*	X-46U1	PRD0495		PAUL R. DESTEFANO	18-SEP-1989         */
 I7	  53259 /*		ADD SS$_INVEVENT FATAL MESSAGE FOR $SETEVTAST AND           */
 I7	  53260 /*		$CANEVTAST.                                                 */
 I7	  53261 /*                                                                          */
 I7	  53262 /*	X-46	SAS0203		SCOTT A. SHURTS		15-SEP-1989         */
 I7	  53263 /*		ADD SS$_INCONOLCK FATAL MESSAGE FOR $CHANGE_ACL.            */
 I7	  53264 /*                                                                          */
 I7	  53265 /*	X-45	CAM0063		CHRISTOPHER A. MEGA	13-SEP-1989         */
 I7	  53266 /*		ADD WARNING AND INFORMATIONAL STATUS FOR ENHANCED PRIMARY   */
 I7	  53267 /*		CPU SWITCHING: CPUSTARTIP, CPUSTARTD, CPUSTOPPD, PRIMNOSTP. */
 I7	  53268 /*		ALSO ADDED /FAO=1 TO NSTPPD.                                */
 I7	  53269 /*                                                                          */
 I7	  53270 /*       X-44	DDP0429		DERRELL D. PIPER       11-SEP-1989  16:57   */
 I7	  53271 /*		CHANGE THE SEVERITY OF THE NEW PASSWORD STATUS CODES        */
 I7	  53272 /*		FROM FATAL TO ERROR.                                        */
 I7	  53273 /*                                                                          */
 I7	  53274 /*	X-43	CBD0198		CHARLES B. DUNN		14-AUG-1989         */
 I7	  53275 /*		ADD SS$_EFNOTSET FOR IOC$PRE_SIMREQCOM SUPPORT              */
 I7	  53276 /*                                                                          */
 I7	  53277 /*	X-42	RAP0491		ROD A. PAYNE		15-AUG-89           */
 I7	  53278 /*		ADD SS$_HSTBUFACC, TO REPORT HOST BUFFER ACCESS ERRORS.     */
 I7	  53279 /*                                                                          */
 I7	  53280 /*	X-41	CJB0041		CHERYL J. BULMER	 9-AUG-1989         */
 I7	  53281 /*		ADD SS$_LOADER, TO REPORT LOADER CYCLE ERRORS.              */
 I7	  53282 /*                                                                          */
 I7	  53283 /*	X-40	MAS0238		MARK A. STILES		 9-AUG-1989         */
 I7	  53284 /*		ADD SS$_CPUCAP FOR USE WHEN A REQUESTED CPU DOES NOT        */
 I7	  53285 /*		HAVE THE CAPABILITIES REQUIRED TO RUN THE PROCESS.          */
 I7	  53286 /*		[FOLD FROM X-29U11 IN V5.3 STREAM]                          */
 I7	  53287 /*                                                                          */
 I7	  53288 /*	X-39	MVI0033		MICHAEL V. ILES,	28-JUL-1989 10:08:05.45 */
 I7	  53289 /*		ADD MESSAGE CODE NOSUCHCPB AND CHANGE TEXT FOR ACLFULL      */
 I7	  53290 /*                                                                          */
 I7	  53291 /*       X-38	DDP0387		DERRELL D. PIPER       25-JUL-1989  12:47   */
 I7	  53292 /*		ADD MESSAGE CODES FOR SITE-SPECIFIC PASSWORD POLICIES.      */
 I7	  53293 /*                                                                          */
 I7	  53294 /*       X-37	DDP0375		DERRELL D. PIPER       31-MAY-1989  15:12   */
 I7	  53295 /*		REPLACE SOME OBSOLETE MESSAGE CODES.                        */
 I7	  53296 /*                                                                          */
 I7	  53297 /*	X-36	HH0340		HAI HUANG		03-OCT-1988         */
 I7	  53298 /*		ADD VECALIGN ERROR.                                         */
 I7	  53299 /*                                                                          */
 I7	  53300 /*	X-35	SSA0002		STAN AMWAY		30-SEP-1988         */
 I7	  53301 /*		CORRECT TEXT FOR SS$_VECFULL.                               */
 I7	  53302 /*                                                                          */
 I7	  53303 /*	X-34	JEJ0550		JAMES E JOHNSON		19-SEP-1988         */
 I7	  53304 /*		ADD ALRCURTID, RMALRDCL, NOSUCHPART, INVLOG, BADLOGVER,     */
 I7	  53305 /*		LOGSTALL, LOGFULL, LOGNAME.                                 */
 I7	  53306 /*                                                                          */
 I7	  53307 /*	X-33	SSA0001		STAN AMWAY		14-SEP-1988         */
 I7	  53308 /*		ADD NOSUSPEND ("process cannot be suspended").              */
 I7	  53309 /*                                                                          */
 I7	  53310 /*	X-32	RJB0165		RICHARD J. BOUCHARD JR.	14-SEP-1988         */
 I7	  53311 /*		ADD NOMOREDEV MESSAGE FOR $DEVICE_SCAN SERVICE.             */
 I7	  53312 /*                                                                          */
 I7	  53313 /*	X-31	ACG0559		ANDREW C. GOLDSTEIN,	31-AUG-1988  16:28  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 962
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53314 /*		ADD HWM_STALL FOR ABORT OF STALLED INTERNAL IRP'S           */
 I7	  53315 /*                                                                          */
 I7	  53316 /*	X-30	HH0334		HAI HUANG		31-AUG-1988         */
 I7	  53317 /*		REPLACE SYSVERDIF WITH A NEW VALUE (I.E. SEVERITY) AND      */
 I7	  53318 /*		A NEW MESSAGE.                                              */
 I7	  53319 /*                                                                          */
 I7	  53320 /*       X-29	DDP0308		DERRELL D. PIPER       21-JUL-1988  14:02   */
 I7	  53321 /*		ADD PWDSYNTAX, INVPWDLEN, AND PWDNOTDIF.                    */
 I7	  53322 /*                                                                          */
 I7	  53323 /*	X-28	JEJ0527		JAMES E JOHNSON		27-JUN-1988         */
 I7	  53324 /*		ADD NOSUCHTID, NOCURTID, WRONGSTATE, VETO, UNKRESULT,       */
 I7	  53325 /*		FORGET, PREPARED, NOSUCHRM, ITEMNOTFOUND, NOMOREITEMS       */
 I7	  53326 /*                                                                          */
 I7	  53327 /*	X-26	HH0315		HAI HUANG		18-APR-1988         */
 I7	  53328 /*	 -27	ADD NEW STATUS CODES FOR VECTOR SUPPORT.                    */
 I7	  53329 /*                                                                          */
 I7	  53330 /*       X-25    PT00010		PANKAJ TANDON		30-DEC-1987 */
 I7	  53331 /*		ADD ALLSTARTED,ALRDYSTRT,ALRDYSTPPD AND NSTPPD FOR          */
 I7	  53332 /*		$START/STOP CPU ERRONEOUS CASES.                            */
 I7	  53333 /*                                                                          */
 I7	  53334 /*	X-24	LMP0465		L. MARK PILANT,		28-OCT-1987  15:58  */
 I7	  53335 /*		ADD A NEW MESSAGE, SS$_NORIGHTSDB, TO INDICATE THAT THERE   */
 I7	  53336 /*		IS NOT A RIGHTS DATABASE IS NOT PRESENT ON THE SYSTEM.      */
 I7	  53337 /*                                                                          */
 I7	  53338 /*	X-23	SJF		STU FARNHAM		5-OCT-1987          */
 I7	  53339 /*		ADD NOSUCHCPU                                               */
 I7	  53340 /*                                                                          */
 I7	  53341 /*	X-22	DLM006		DAN MURPHY		13-SEP-1987         */
 I7	  53342 /*		INFORMATIONAL CODES FOR $GETSECI.                           */
 I7	  53343 /*                                                                          */
 I7	  53344 /*	X-21	WMC0021		WAYNE CARDOZA		4-SEP-1987          */
 I7	  53345 /*		FIX A MISSPELLING IN VA_IN_USE.                             */
 I7	  53346 /*                                                                          */
 I7	  53347 /*	X-20	WMC0020		WAYNE CARDOZA		27-JUL-1987         */
 I7	  53348 /*		ADD NODELETE.                                               */
 I7	  53349 /*                                                                          */
 I7	  53350 /*	X-19	WMC0019		WAYNE CARDOZA		10-MAR-1987         */
 I7	  53351 /*		EXPRCLM  SHOULD NOT MENTION SUBPROCESSES.                   */
 I7	  53352 /*                                                                          */
 I7	  53353 /*	X-18	WMC0018		WAYNE CARDOZA		19-FEB-1987         */
 I7	  53354 /*		ADD VA_IN_USE.                                              */
 I7	  53355 /*                                                                          */
 I7	  53356 /*	X-17	DDP0029		DERRELL D. PIPER	21-JAN-1987         */
 I7	  53357 /*		CONVERT SS$_BADXXXCTX TO SINGLE BADCONTEXT MSG.             */
 I7	  53358 /*                                                                          */
 I7	  53359 /*	X-16	DDP0027		DERRELL D. PIPER	12-JAN-1987         */
 I7	  53360 /*		ADD SS$_TOOMUCHCTX AND SS$_BADUAICTX.                       */
 I7	  53361 /*                                                                          */
 I7	  53362 /*	X-15	HH0237		HAI HUANG		06-JAN-1987         */
 I7	  53363 /*		ADD SS$_UNSUPPORTED.                                        */
 I7	  53364 /*                                                                          */
 I7	  53365 /*	X-14	DDP0008		DERRELL D. PIPER	08-DEC-1986         */
 I7	  53366 /*		ADD SS$_LASTID, SS$_NOMOREID, SS$_RLSEMPTY, AND             */
 I7	  53367 /*		SS$_BADJPICTX FOR JPI$_RIGHTSLIST ITEM CODE.                */
 I7	  53368 /*		(NB: S VARIANT IS NOW OBSOLETE.)                            */
 I7	  53369 /*                                                                          */
 I7	  53370 /*	X-9	NCD0001		NANCY C. DENARDO	21-OCT-1986         */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 963
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53371 /*		ADDED SS$_EXLICENSE, SS$_INVLICENSE, SS$_LICENSE_LEVEL,     */
 I7	  53372 /*		AND SS$_INV_HW_ID FOR LMF SERVICE.                          */
 I7	  53373 /*                                                                          */
 I7	  53374 /*	X-8     SAS001		SCOTT A. SHURTS		02-OCT-1986         */
 I7	  53375 /*		ADDED SS$_SRVMMAT TO INDICATE CRYPTOGRAPHIC SERVICE         */
 I7	  53376 /*		MISMATCH.                                                   */
 I7	  53377 /*                                                                          */
 I7	  53378 /*	X-7	KL 0001		KEITH LOEPERE		12-JUN-1986         */
 I7	  53379 /*		ADDED SS$_REMOVED TO INDICATE DIR ENTRY ONLY REMOVED.       */
 I7	  53380 /*                                                                          */
 I7	  53381 /*	X-6	CWH5006		CW HOBBS		30-MAY-1986         */
 I7	  53382 /*		ADD SS$_REMOTE_PROC ERROR MESSAGE FOR CWPS.                 */
 I7	  53383 /*                                                                          */
 I7	  53384 /*	X-5H2	SJF		STU FARNHAM		29-MAY-1986         */
 I7	  53385 /*		ADD	SS$_CPUNOTACT TO INDICATE THAT THE REQUESTED        */
 I7	  53386 /*		CPU IN AN SMP SYSTEM IS NOT ACTIVE.                         */
 I7	  53387 /*                                                                          */
 I7	  53388 /*	X-5	PRD0184		PAUL R. DESTEFANO	07-NOV-1985         */
 I7	  53389 /*		ADD SS$_DATALOST "data lost" TO INDICATE DLS END            */
 I7	  53390 /*		FLAG SET IN CACHING TAPE DRIVE OR DRIVER HAS OTHERWISE      */
 I7	  53391 /*		DETECTED THE LOSS OF CACHED DATA.                           */
 I7	  53392 /*                                                                          */
 I7	  53393 /*	X-4	LMP0382		L. MARK PILANT,		 6-NOV-1985  10:10  */
 I7	  53394 /*		ADD SS$_OBJLOCKHELD TO INDICATE THAT A PROCESS ALREADY HOLDS */
 I7	  53395 /*		THE OBJECT'S ACL LOCK.                                      */
 I7	  53396 /*                                                                          */
 I7	  53397 /*	X-3	JMK0002		JOSEPH M. KRAETSCH	17-SEP-1985         */
 I7	  53398 /*		ADD SS$_RUCONFLICT "file has active RUs by another facility". */
 I7	  53399 /*		REMOVE NOTMPJNL, NOPRMJNL (OBSOLETE).                       */
 I7	  53400 /*                                                                          */
 I7	  53401 /*	V04-001	ROW0466		RALPH O. WEBER		11-JUN-1985         */
 I7	  53402 /*		REPLACE SS$_SHACPYINP (A NO LONGER USED SHADOWING ERROR     */
 I7	  53403 /*		STATUS) WITH SS$_DEVNOTSHR, "device not currently shareable". */
 I7	  53404 /*		SS$_DEVNOTSHR IS AN ERROR STATUE FOR USE WITH DEVICES MARKED */
 I7	  53405 /*		FOR EXCLUSIVE ACCESS BY SOMEONE ELSE BY AN MSCP CONTROLLER. */
 I7	  53406 /*                                                                          */
 I7	  53407 /*---                                                                       */
 I7	  53408 /*+                                                                         */
 I7	  53409 /* SYSTEM STATUS CODES                                                      */
 I7	  53410 /*                                                                          */
 I7	  53411 /*	LAYOUT OF MESSAGE SPACE:                                            */
 I7	  53412 /*                                                                          */
 I7	  53413 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  53414 /*                                                                          */
 I7	  53415 /*	0-127       0-3FF	128	FATAL ERRORS                        */
 I7	  53416 /*     128-191	  400-5FF	 64	HARDWARE DEFINED FATAL ERRORS       */
 I7	  53417 /*     192-255	  600-7FF	 64	SUCCESS CODES                       */
 I7	  53418 /*     256-383	  800-BFF	128	WARNING CODES                       */
 I7	  53419 /*     384-447	  C00-DFF	 64	INFORMATIONAL CODES                 */
 I7	  53420 /*     448-511	  E00-FFF	 64	NONFATAL ERROR CODES                */
 I7	  53421 /*    512-1023	1000-1FFF	512	SHARED MESSAGES (NOT HERE, SEE SHRMSG) */
 I7	  53422 /*   1024-1279	2000-27FF	256	FATAL ERRORS (CONTINUED FROM 3FF)   */
 I7	  53423 /*   1280-1343	2800-29FF	 64	NO PRIVILEGE ERRORS                 */
 I7	  53424 /*   1344-1375	2A00-2AFF	 32	EXCEEDED QUOTA ERRORS               */
 I7	  53425 /*   1376-1407	2B00-2BFF	 32	RESERVED FOR MEDIA MGMT EXTENSIONS  */
 I7	  53426 /*   1408-1663	2C00-33FF	256	NONFATAL ERROR CODES (CONTINUED FROM FFF) */
 I7	  53427 /*   1664-1695   3400-341F        32     FATAL ERRORS (CONTINUED FROM 27FF) */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 964
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53428 /*   1696-4031   3420-7DFF      2334     (UNUSED)                           */
 I7	  53429 /*   4032-4095	7E00-7FFF	 64	RESERVED FOR SCS SYSAPS             */
 I7	  53430 /*                                                                          */
 I7	  53431 /*-                                                                         */
 I7	  53432 /*                                                                          */
 I7	  53433 /* EXPLICITLY DEFINED SUCESS CODES                                          */
 I7	  53434 /*                                                                          */
 I7	  53435 /* DO NOT MIX THESE CODES WITH INCREMENTAL ASSIGNMENTS BELOW                */
 I7	  53436 /*                                                                          */
 I7	  53437 #define SYSTEM$_FACILITY 0
 I7	  53438 #define SS$_NORMAL 1
 I7	  53439 /*                                                                          */
 I7	  53440 /* NOTE THAT CONTINUE,WASCLR,WASSET,REMEMBER DO NOT HAVE ANY MESSAGE TEXT   */
 I7	  53441 /* SINCE THESE CODES USE THE SAME MESSAGE NUMBER AS NORMAL AND ACCVIO,      */
 I7	  53442 /* THEY CAN NEVER BE MADE TO HAVE MESSAGES ASSOCIATED WITH THEM.            */
 I7	  53443 /*                                                                          */
 I7	  53444 #define SS$_CONTINUE 1
 I7	  53445 #define SS$_WASCLR 1
 I7	  53446 #define SS$_WASSET 9
 I7	  53447 #define SS$_REMEMBER 1
 I7	  53448 /*                                                                          */
 I7	  53449 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  53450 /*                                                                          */
 I7	  53451 /*	0-127       0-3FF	128	FATAL ERRORS                        */
 I7	  53452 /*   1024-1279	2000-27FF	256	FATAL ERRORS (CONTINUED FROM 3FF)   */
 I7	  53453 /*                                                                          */
 I7	  53454 #define SS$_ACCVIO 12
 I7	  53455 #define SS$_BADPARAM 20
 I7	  53456 #define SS$_EXQUOTA 28
 I7	  53457 #define SS$_NOPRIV 36
 I7	  53458 /* MAKE THE ABOVE ERRORS FALL INTO SHORT LITERALS                           */
 I7	  53459 #define SS$_ABORT 44
 I7	  53460 #define SS$_BADATTRIB 52
 I7	  53461 #define SS$_BADESCAPE 60
 I7	  53462 #define SS$_BADIMGHDR 68
 I7	  53463 #define SS$_CHANINTLK 76
 I7	  53464 #define SS$_CTRLERR 84
 I7	  53465 #define SS$_DATACHECK 92
 I7	  53466 #define SS$_DEVFOREIGN 100
 I7	  53467 #define SS$_DEVMOUNT 108
 I7	  53468 #define SS$_DEVNOTMBX 116
 I7	  53469 #define SS$_DEVNOTMOUNT 124
 I7	  53470 #define SS$_DEVOFFLINE 132
 I7	  53471 #define SS$_DRVERR 140
 I7	  53472 #define SS$_DUPLNAM 148
 I7	  53473 #define SS$_FILACCERR 156
 I7	  53474 #define SS$_FILALRACC 164
 I7	  53475 #define SS$_FILNOTACC 172
 I7	  53476 #define SS$_FILNOTEXP 180
 I7	  53477 #define SS$_FORMAT 188
 I7	  53478 #define SS$_GPTFULL 196
 I7	  53479 #define SS$_GSDFULL 204
 I7	  53480 #define SS$_LCKPAGFUL 212
 I7	  53481 #define SS$_ILLBLKNUM 220
 I7	  53482 #define SS$_ILLCNTRFUNC 228
 I7	  53483 #define SS$_ILLEFC 236
 I7	  53484 #define SS$_ILLIOFUNC 244

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 965
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53485 #define SS$_ILLPAGCNT 252
 I7	  53486 #define SS$_ILLSER 260
 I7	  53487 #define SS$_INCVOLLABEL 268
 I7	  53488 #define SS$_INSFARG 276
 I7	  53489 #define SS$_INSFWSL 284
 I7	  53490 #define SS$_INSFMEM 292
 I7	  53491 #define SS$_INSFRAME 300
 I7	  53492 #define SS$_IVADDR 308
 I7	  53493 #define SS$_IVCHAN 316
 I7	  53494 #define SS$_IVDEVNAM 324
 I7	  53495 #define SS$_IVGSDNAM 332
 I7	  53496 #define SS$_IVLOGNAM 340
 I7	  53497 #define SS$_IVLOGTAB 348
 I7	  53498 #define SS$_IVQUOTAL 356
 I7	  53499 #define SS$_IVSECFLG 364
 I7	  53500 #define SS$_IVSSRQ 372
 I7	  53501 #define SS$_IVSTSFLG 380
 I7	  53502 #define SS$_IVTIME 388
 I7	  53503 #define SS$_LENVIO 396
 I7	  53504 #define SS$_LKWSETFUL 404
 I7	  53505 #define SS$_MBTOOSML 412
 I7	  53506 #define SS$_MEDOFL 420
 I7	  53507 #define SS$_NODATA 428
 I7	  53508 #define SS$_NOIOCHAN 436
 I7	  53509 #define SS$_NOLOGNAM 444
 I7	  53510 #define SS$_NONEXDRV 452
 I7	  53511 #define SS$_NOTFILEDEV 460
 I7	  53512 #define SS$_NOTINTBLSZ 468
 I7	  53513 #define SS$_NOTLABELMT 476
 I7	  53514 #define SS$_NOTSQDEV 484
 I7	  53515 #define SS$_PAGOWNVIO 492
 I7	  53516 #define SS$_PARITY 500
 I7	  53517 #define SS$_PARTESCAPE 508
 I7	  53518 #define SS$_PFMBSY 516
 I7	  53519 #define SS$_PSTFULL 524
 I7	  53520 #define SS$_RESULTOVF 532
 I7	  53521 #define SS$_SECTBLFUL 540
 I7	  53522 #define SS$_TAPEPOSLOST 548
 I7	  53523 #define SS$_TIMEOUT 556
 I7	  53524 #define SS$_UNASEFC 564
 I7	  53525 #define SS$_UNSAFE 572
 I7	  53526 #define SS$_VASFULL 580
 I7	  53527 #define SS$_VECINUSE 588
 I7	  53528 #define SS$_VOLINV 596
 I7	  53529 #define SS$_WRITLCK 604
 I7	  53530 #define SS$_NOTAPEOP 612
 I7	  53531 #define SS$_IVCHNLSEC 620
 I7	  53532 #define SS$_NOMBX 628
 I7	  53533 #define SS$_NOLINKS 636
 I7	  53534 #define SS$_NOSOLICIT 644
 I7	  53535 #define SS$_NOSUCHNODE 652
 I7	  53536 #define SS$_REJECT 660
 I7	  53537 #define SS$_TOOMUCHDATA 668
 I7	  53538 #define SS$_BUGCHECK 676
 I7	  53539 #define SS$_FILNOTCNTG 684
 I7	  53540 #define SS$_BADSTACK 692
 I7	  53541 #define SS$_MCHECK 700

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 966
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53542 #define SS$_DEVACTIVE 708
 I7	  53543 #define SS$_HANGUP 716
 I7	  53544 #define SS$_OPINCOMPL 724
 I7	  53545 #define SS$_ILLSEQOP 732
 I7	  53546 #define SS$_IVSECIDCTL 740
 I7	  53547 #define SS$_NOTNETDEV 748
 I7	  53548 #define SS$_IVPROTECT 756
 I7	  53549 #define SS$_ACPVAFUL 764
 I7	  53550 #define SS$_MTLBLLONG 772
 I7	  53551 #define SS$_BUFBYTALI 780
 I7	  53552 #define SS$_NOAQB 788
 I7	  53553 #define SS$_WRONGACP 796
 I7	  53554 #define SS$_BUFNOTALIGN 804
 I7	  53555 #define SS$_DEVCMDERR 812
 I7	  53556 #define SS$_DEVREQERR 820
 I7	  53557 #define SS$_INSFBUFDP 828
 I7	  53558 #define SS$_INSFMAPREG 836
 I7	  53559 #define SS$_IVBUFLEN 844
 I7	  53560 #define SS$_IVMODE 852
 I7	  53561 #define SS$_MCNOTVALID 860
 I7	  53562 #define SS$_POWERFAIL 868
 I7	  53563 #define SS$_SHMGSNOTMAP 876
 I7	  53564 #define SS$_TOOMANYLNAM 884
 I7	  53565 #define SS$_SHMNOTCNCT 892
 I7	  53566 #define SS$_NOTCREATOR 900
 I7	  53567 #define SS$_INTERLOCK 908
 I7	  53568 #define SS$_BADQUEUEHDR 916
 I7	  53569 #define SS$_NOSLOT 924
 I7	  53570 #define SS$_SUSPENDED 932
 I7	  53571 #define SS$_EXPORTQUOTA 940
 I7	  53572 #define SS$_NOSHMBLOCK 948
 I7	  53573 #define SS$_BADQFILE 956
 I7	  53574 #define SS$_NOQFILE 964
 I7	  53575 #define SS$_QFACTIVE 972
 I7	  53576 #define SS$_QFNOTACT 980
 I7	  53577 #define SS$_DUPDSKQUOTA 988
 I7	  53578 #define SS$_NODISKQUOTA 996
 I7	  53579 #define SS$_EXDISKQUOTA 1004
 I7	  53580 #define SS$_IDMISMATCH 1012
 I7	  53581 #define SS$_NOWRT 1020
 I7	  53582 /* **************                                                           */
 I7	  53583 /* NOTE:  THE ABOVE SET OF SEVERE ERROR MESSAGES IS FULL!!!!                */
 I7	  53584 /*	 ANY ADDITIONAL SEVERE ERROR MESSAGES MUST BE ADDED                 */
 I7	  53585 /*	 BELOW, IN THE RANGE HEX 2000-2800.                                 */
 I7	  53586 /* **************                                                           */
 I7	  53587 #define SS$_BADISD 8196
 I7	  53588 #define SS$_RELINK 8204
 I7	  53589 #define SS$_NOTINSTALL 8212
 I7	  53590 #define SS$_SHARTOOBIG 8220
 I7	  53591 #define SS$_NOP1VA 8228
 I7	  53592 #define SS$_MULTRMS 8236
 I7	  53593 #define SS$_VECFULL 8244
 I7	  53594 #define SS$_IVLVEC 8252
 I7	  53595 #define SS$_INSFSPTS 8260
 I7	  53596 #define SS$_DISCONNECT 8268
 I7	  53597 #define SS$_PRIVINSTALL 8276
 I7	  53598 #define SS$_PROTINSTALL 8284

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 967
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53599 #define SS$_BADVEC 8292
 I7	  53600 #define SS$_REMRSRC 8300
 I7	  53601 #define SS$_PROTOCOL 8308
 I7	  53602 #define SS$_THIRDPARTY 8316
 I7	  53603 #define SS$_NOSUCHUSER 8324
 I7	  53604 #define SS$_SHUT 8332
 I7	  53605 #define SS$_UNREACHABLE 8340
 I7	  53606 #define SS$_INVLOGIN 8348
 I7	  53607 #define SS$_NOSUCHOBJ 8356
 I7	  53608 #define SS$_EXCPUTIM 8364
 I7	  53609 #define SS$_OPRABORT 8372
 I7	  53610 #define SS$_SHRIDMISMAT 8380
 I7	  53611 #define SS$_COMMHARD 8388
 I7	  53612 #define SS$_IVCHAR 8396
 I7	  53613 #define SS$_DEVINACT 8404
 I7	  53614 #define SS$_CONNECFAIL 8412
 I7	  53615 #define SS$_LINKABORT 8420
 I7	  53616 #define SS$_LINKDISCON 8428
 I7	  53617 #define SS$_LINKEXIT 8436
 I7	  53618 #define SS$_PATHLOST 8444
 I7	  53619 #define SS$_CLEARED 8452
 I7	  53620 #define SS$_RESET 8460
 I7	  53621 #define SS$_UNSOLICIT 8468
 I7	  53622 #define SS$_TOOMANYREDS 8476
 I7	  53623 #define SS$_IVLOCKID 8484
 I7	  53624 #define SS$_SUBLOCKS 8492
 I7	  53625 #define SS$_PARNOTGRANT 8500
 I7	  53626 #define SS$_CVTUNGRANT 8508
 I7	  53627 #define SS$_FORCEDERROR 8516
 I7	  53628 #define SS$_ILLSELF 8524
 I7	  53629 #define SS$_ILLCDTST 8532
 I7	  53630 #define SS$_NOLISTENER 8540
 I7	  53631 #define SS$_EXGBLPAGFIL 8548
 I7	  53632 #define SS$_BADRCT 8556
 I7	  53633 #define SS$_DIRNOTEMPTY 8564
 I7	  53634 #define SS$_FORCEDEXIT 8572
 I7	  53635 #define SS$_NOTPRINTED 8580
 I7	  53636 #define SS$_JBCERROR 8588
 I7	  53637 #define SS$_NOLICENSE 8596
 I7	  53638 #define SS$_VCBROKEN 8604
 I7	  53639 #define SS$_VCCLOSED 8612
 I7	  53640 #define SS$_INSFCDT 8620
 I7	  53641 #define SS$_DEVNOTDISM 8628
 I7	  53642 #define SS$_NOSHRIMG 8636
 I7	  53643 #define SS$_DUPUNIT 8644
 I7	  53644 #define SS$_BADACLCTX 8652
 I7	  53645 #define SS$_SERIOUSEXCP 8660
 I7	  53646 #define SS$_TEMPLATEDEV 8668
 I7	  53647 #define SS$_IVACL 8676
 I7	  53648 #define SS$_NOSUCHID 8684
 I7	  53649 #define SS$_NOLCLMEDA 8692
 I7	  53650 #define SS$_NOREGAVIL 8700
 I7	  53651 #define SS$_NOREGSUIT 8708
 I7	  53652 #define SS$_NOSUCHPGM 8716
 I7	  53653 #define SS$_PGMLDFAIL 8724
 I7	  53654 #define SS$_PGMSTDALN 8732
 I7	  53655 #define SS$_IVIDENT 8740

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 968
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53656 #define SS$_DUPIDENT 8748
 I7	  53657 #define SS$_INCSEGTRA 8756
 I7	  53658 #define SS$_NODELEAVE 8764
 I7	  53659 #define SS$_KERNELINV 8772
 I7	  53660 #define SS$_EXLNMQUOTA 8780
 I7	  53661 #define SS$_PARENT_DEL 8788
 I7	  53662 #define SS$_PARNOTSYS 8796
 I7	  53663 #define SS$_INSSWAPSPACE 8804
 I7	  53664 #define SS$_VOLOERR 8812
 I7	  53665 #define SS$_DATALATE 8820
 I7	  53666 #define SS$_OVRMAXARG 8828
 I7	  53667 #define SS$_SHACHASTA 8836
 I7	  53668 #define SS$_TERMNETDEV 8844
 I7	  53669 #define SS$_NOLOGTAB 8852
 I7	  53670 #define SS$_WRONGNAME 8860
 I7	  53671 #define SS$_NOVOLACC 8868
 I7	  53672 #define SS$_NOFILACC 8876
 I7	  53673 #define SS$_INVEXHLIST 8884
 I7	  53674 #define SS$_NOACLSUPPORT 8892
 I7	  53675 #define SS$_INVSECLASS 8900
 I7	  53676 #define SS$_INCSHAMEM 8908
 I7	  53677 #define SS$_DEVNOTSHR 8916
 I7	  53678 #define SS$_RUCONFLICT 8924
 I7	  53679 #define SS$_DATALOST 8932
 I7	  53680 #define SS$_REMOTE_PROC 8940
 I7	  53681 #define SS$_CPUNOTACT 8948
 I7	  53682 #define SS$_SRVMMAT 8956
 I7	  53683 #define SS$_EXLICENSE 8964
 I7	  53684 #define SS$_INVLICENSE 8972
 I7	  53685 #define SS$_LICENSE_LEVEL 8980
 I7	  53686 #define SS$_INV_HW_ID 8988
 I7	  53687 #define SS$_BADCONTEXT 8996
 I7	  53688 #define SS$_TOOMUCHCTX 9004
 I7	  53689 #define SS$_VA_IN_USE 9012
 I7	  53690 #define SS$_NODELETE 9020
 I7	  53691 #define SS$_NOSUCHCPU 9028
 I7	  53692 #define SS$_IMGVEXC 9036
 I7	  53693 #define SS$_NOSAVPEXC 9044
 I7	  53694 #define SS$_NOSUCHTID 9052
 I7	  53695 #define SS$_NOSUCHRM 9060
 I7	  53696 #define SS$_NOCURTID 9068
 I7	  53697 #define SS$_WRONGSTATE 9076
 I7	  53698 #define SS$_VETO 9084
 I7	  53699 #define SS$_PWDSYNTAX 9092
 I7	  53700 #define SS$_PWDNOTDIF 9100
 I7	  53701 #define SS$_INVPWDLEN 9108
 I7	  53702 #define SS$_SYSVERDIF 9116
 I7	  53703 #define SS$_HWM_STALL 9124
 I7	  53704 #define SS$_NOSUSPEND 9132
 I7	  53705 #define SS$_NOSUCHPART 9140
 I7	  53706 #define SS$_RMALRDCL 9148
 I7	  53707 #define SS$_ALRCURTID 9156
 I7	  53708 #define SS$_INVLOG 9164
 I7	  53709 #define SS$_BADLOGVER 9172
 I7	  53710 #define SS$_OPINPROG 9180
 I7	  53711 #define SS$_WRONGACMODE 9188
 I7	  53712 #define SS$_SUBTRACED 9196

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 969
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53713 #define SS$_ARCHIVING 9204
 I7	  53714 #define SS$_ARCHIVED 9212
 I7	  53715 #define SS$_SITEPWDFAIL 9220
 I7	  53716 #define SS$_NOSUCHCPB 9228
 I7	  53717 #define SS$_CPUCAP 9236
 I7	  53718 #define SS$_LOADER 9244
 I7	  53719 #define SS$_HSTBUFACC 9252
 I7	  53720 #define SS$_INCONOLCK 9260
 I7	  53721 #define SS$_INVEVENT 9268
 I7	  53722 #define SS$_NOSUCHFAC 9276
 I7	  53723 #define SS$_NOCALLPRIV 9284
 I7	  53724 #define SS$_INSFLPGS 9292
 I7	  53725 #define SS$_INSFRPGS 9300
 I7	  53726 #define SS$_BADREASON 9308
 I7	  53727 #define SS$_NOSUCHBID 9316
 I7	  53728 #define SS$_NOTORIGIN 9324
 I7	  53729 #define SS$_NOLOG 9332
 I7	  53730 #define SS$_TPDISABLED 9340
 I7	  53731 #define SS$_BRANCHENDED 9348
 I7	  53732 #define SS$_BRANCHSTARTED 9356
 I7	  53733 #define SS$_NOSUCHREPORT 9364
 I7	  53734 #define SS$_BADTIME 9372
 I7	  53735 #define SS$_PARTJOINED 9380
 I7	  53736 #define SS$_NOPRESUME 9388
 I7	  53737 #define SS$_RECOVERCANCEL 9396
 I7	  53738 #define SS$_CURTIDCHANGE 9404
 I7	  53739 #define SS$_NOREADER 9412
 I7	  53740 #define SS$_NOWRITER 9420
 I7	  53741 #define SS$_DEVNOTWS 9428
 I7	  53742 #define SS$_NOCLASS 9436
 I7	  53743 #define SS$_CONTEXTSKEW 9444
 I7	  53744 #define SS$_BADFORGEDB 9452
 I7	  53745 #define SS$_NODOMAIN 9460
 I7	  53746 #define SS$_OVRMAXAUD 9468
 I7	  53747 #define SS$_BADCHAIN 9476
 I7	  53748 #define SS$_BADBUFLEN 9484
 I7	  53749 #define SS$_BADITMCOD 9492
 I7	  53750 #define SS$_BADBUFADR 9500
 I7	  53751 #define SS$_BADRETLEN 9508
 I7	  53752 #define SS$_SSINOTHELD 9516
 I7	  53753 #define SS$_SSAMISSING 9524
 I7	  53754 #define SS$_SSANOTAUTH 9532
 I7	  53755 #define SS$_BADOWNER 9540
 I7	  53756 #define SS$_NAMESERVCOMMERR 9548
 I7	  53757 #define SS$_IVNODNAM 9556
 I7	  53758 #define SS$_CONFIG_SYNTAX 9564
 I7	  53759 #define SS$_SHELVED 9572
 I7	  53760 #define SS$_DRVNOTVALID 9580
 I7	  53761 #define SS$_SLICING_DISABLED 9588
 I7	  53762 #define SS$_NOCALLTRANS 9596
 I7	  53763 #define SS$_TRANSCALLER 9604
 I7	  53764 #define SS$_ILLPRIPOL 9612
 I7	  53765 #define SS$_ILLPOLICY 9620
 I7	  53766 #define SS$_INSFRSPID 9628
 I7	  53767 #define SS$_INSFCREDITL 9636
 I7	  53768 #define SS$_INSFCREDITH 9644
 I7	  53769 #define SS$_INSFMAP 9652

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 970
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53770 #define SS$_SIG_INVARGTYPE 9660
 I7	  53771 #define SS$_SIG_INVFLTARG 9668
 I7	  53772 #define SS$_SIG_INVARGLIST 9676
 I7	  53773 #define SS$_SIG_INVFUNCTYPE 9684
 I7	  53774 #define SS$_SIG_ARGMISMATCH 9692
 I7	  53775 #define SS$_NOTRANQUIL 9700
 I7	  53776 #define SS$_NOCALLTRANS_SUP 9708
 I7	  53777 #define SS$_DEVLISTFULL 9716
 I7	  53778 #define SS$_INSFP1POOL 9724
 I7	  53779 #define SS$_SIGNAL64 9732
 I7	  53780 #define SS$_ZEROALLOCLS 9740
 I7	  53781 #define SS$_QUEUE_FULL 9748
 I7	  53782 #define SS$_DEVICE_RESET 9756
 I7	  53783 #define SS$_ACA_ACTIVE 9764
 I7	  53784 #define SS$_BUS_PHASE_ERROR 9772
 I7	  53785 #define SS$_NOMULTITHREAD 9780
 I7	  53786 #define SS$_MTHREADACTIVE 9788
 I7	  53787 #define SS$_MAXKTHREADS 9796
 I7	  53788 #define SS$_NOSUCHTHREAD 9804
 I7	  53789 #define SS$_NOTHREADMAN 9812
 I7	  53790 #define SS$_NOSUCHUPCALL 9820
 I7	  53791 #define SS$_BADFANDLE 9828
 I7	  53792 #define SS$_FANDLEBUSY 9836
 I7	  53793 #define SS$_UNALIGNED 9844
 I7	  53794 #define SS$_BADIOSADR 9852
 I7	  53795 #define SS$_ILLBUFOBJ 9860
 I7	  53796 #define SS$_ILLMODIFIER 9868
 I7	  53797 #define SS$_NOCCBBUFFOBJ 9876
 I7	  53798 #define SS$_NORDACC 9884
 I7	  53799 #define SS$_NOWRTACC 9892
 I7	  53800 #define SS$_NOTNOCNVRT 9900
 I7	  53801 #define SS$_UNSUPVOLSET 9908
 I7	  53802 #define SS$_ARG_GTR_32_BITS 9916
 I7	  53803 #define SS$_NOT64DEVFUNC 9924
 I7	  53804 #define SS$_CHANVIO 9932
 I7	  53805 #define SS$_GBLSEC_MISMATCH 9940
 I7	  53806 #define SS$_ILLRELPAG 9948
 I7	  53807 #define SS$_IVACMODE 9956
 I7	  53808 #define SS$_IVREGFLG 9964
 I7	  53809 #define SS$_IVREGID 9972
 I7	  53810 #define SS$_IVREGPROT 9980
 I7	  53811 #define SS$_IVVAFLG 9988
 I7	  53812 #define SS$_LEN_NOTBLKMULT 9996
 I7	  53813 #define SS$_LEN_NOTPAGMULT 10004
 I7	  53814 #define SS$_NOT_PROCESS_VA 10012
 I7	  53815 #define SS$_OFF_NOTBLKALGN 10020
 I7	  53816 #define SS$_OFF_NOTPAGALGN 10028
 I7	  53817 #define SS$_OFFSET_TOO_BIG 10036
 I7	  53818 #define SS$_REGOWNVIO 10044
 I7	  53819 #define SS$_PROTVIO 10052
 I7	  53820 #define SS$_TOO_MANY_ARGS 10060
 I7	  53821 #define SS$_VA_NOTPAGALGN 10068
 I7	  53822 #define SS$_NOEXTAUTH 10076
 I7	  53823 #define SS$_AUTHFAIL 10084
 I7	  53824 #define SS$_INVUSER 10092
 I7	  53825 #define SS$_ERRMAPAUTH 10100
 I7	  53826 #define SS$_NORAD50 10108

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 971
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53827 #define SS$_BADMEDIA 10116
 I7	  53828 #define SS$_UNRECOVRDER 10124
 I7	  53829 #define SS$_IVFORMAT 10132
 I7	  53830 #define SS$_IVUNITFLAG 10140
 I7	  53831 #define SS$_IVPARAM 10148
 I7	  53832 #define SS$_NOSUCHENTRY 10156
 I7	  53833 #define SS$_ALLOCFAILED 10164
 I7	  53834 #define SS$_SHMEM_INCON 10172
 I7	  53835 #define SS$_IVLOCKOP 10180
 I7	  53836 #define SS$_IVLOCKTBL 10188
 I7	  53837 #define SS$_LOCKINUSE 10196
 I7	  53838 #define SS$_LOCK_TIMEOUT 10204
 I7	  53839 #define SS$_BADLCKTBL 10212
 I7	  53840 #define SS$_NOBREAK 10220
 I7	  53841 #define SS$_IVPROTOCOL 10228
 I7	  53842 #define SS$_NOWAIT 10236
 I7	  53843 /*                                                                          */
 I7	  53844 /* ***** NOTE: NO ROOM FOR MORE MESSAGES IN THIS SECTION *****              */
 I7	  53845 /*                                                                          */
 I7	  53846 /*                                                                          */
 I7	  53847 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  53848 /*                                                                          */
 I7	  53849 /*     128-191	  400-5FF	 64	HARDWARE DEFINED FATAL ERRORS       */
 I7	  53850 /*                                                                          */
 I7	  53851 #define SS$_PLHLDR 1028
 I7	  53852 #define SS$_ASTFLT 1036
 I7	  53853 #define SS$_BREAK 1044
 I7	  53854 #define SS$_CMODSUPR 1052
 I7	  53855 #define SS$_CMODUSER 1060
 I7	  53856 #define SS$_COMPAT 1068
 I7	  53857 #define SS$_OPCCUS 1076
 I7	  53858 #define SS$_OPCDEC 1084
 I7	  53859 #define SS$_PAGRDERR 1092
 I7	  53860 #define SS$_RADRMOD 1100
 I7	  53861 #define SS$_ROPRAND 1108
 I7	  53862 #define SS$_SSFAIL 1116
 I7	  53863 #define SS$_TBIT 1124
 I7	  53864 #define SS$_DEBUG 1132
 I7	  53865 /* THE FOLLOWING CODES MUST BE IN ORDER SINCE THEY ARE CALCULATED           */
 I7	  53866 #define SS$_ARTRES 1140
 I7	  53867 #define SS$_INTOVF 1148
 I7	  53868 #define SS$_INTDIV 1156
 I7	  53869 #define SS$_FLTOVF 1164
 I7	  53870 #define SS$_FLTDIV 1172
 I7	  53871 #define SS$_FLTUND 1180
 I7	  53872 #define SS$_DECOVF 1188
 I7	  53873 #define SS$_SUBRNG 1196
 I7	  53874 #define SS$_FLTOVF_F 1204
 I7	  53875 #define SS$_FLTDIV_F 1212
 I7	  53876 #define SS$_FLTUND_F 1220
 I7	  53877 /* THE ABOVE CODES MUST BE IN ORDER SINCE THEY ARE CALCULATED               */
 I7	  53878 #define SS$_INHCHMK 1228
 I7	  53879 #define SS$_INHCHME 1236
 I7	  53880 #define SS$_VECDIS 1244
 I7	  53881 #define SS$_VARITH 1252
 I7	  53882 #define SS$_ILLVECOP 1260
 I7	  53883 #define SS$_VECALIGN 1268

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 972
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53884 #define SS$_IMGDMP 1276
 I7	  53885 #define SS$_HPARITH 1284
 I7	  53886 #define SS$_ALIGN 1292
 I7	  53887 #define SS$_UNALIGN_SP_LOAD 1300
 I7	  53888 #define SS$_GENTRAP 1308
 I7	  53889 #define SS$_FLTINV 1316
 I7	  53890 #define SS$_FLTINE 1324
 I7	  53891 #define SS$_DECDIV 1332
 I7	  53892 #define SS$_DECINV 1340
 I7	  53893 #define SS$_ASSERTERR 1348
 I7	  53894 #define SS$_NULPTRERR 1356
 I7	  53895 #define SS$_STKOVF 1364
 I7	  53896 #define SS$_STRLENERR 1372
 I7	  53897 #define SS$_SUBSTRERR 1380
 I7	  53898 #define SS$_RANGEERR 1388
 I7	  53899 #define SS$_SUBRNG1 1396
 I7	  53900 #define SS$_SUBRNG2 1404
 I7	  53901 #define SS$_SUBRNG3 1412
 I7	  53902 #define SS$_SUBRNG4 1420
 I7	  53903 #define SS$_SUBRNG5 1428
 I7	  53904 #define SS$_SUBRNG6 1436
 I7	  53905 #define SS$_SUBRNG7 1444
 I7	  53906 #define SS$_PAGRDERRXM 1452
 I7	  53907 #define SS$_ILLEGAL_SHADOW 1460
 I7	  53908 #define SS$_FLTINV_F 1468
 I7	  53909 #define SS$_FLTINE_F 1476
 I7	  53910 #define SS$_INTOVF_F 1484
 I7	  53911 #define SS$_NATFAULT 1492
 I7	  53912 #define SS$_FLTDENORMAL 1500
 I7	  53913 #define SS$_BREAK_SYS 1508
 I7	  53914 #define SS$_BREAK_ARCH 1516
 I7	  53915 /*                                                                          */
 I7	  53916 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  53917 /* ***** NOTE: ROOM FOR 2 MORE MESSAGES IN THIS SECTION *****               */
 I7	  53918 /*                                                                          */
 I7	  53919 /*                                                                          */
 I7	  53920 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  53921 /*                                                                          */
 I7	  53922 /*     192-255	  600-7FF	 64	SUCCESS CODES                       */
 I7	  53923 /*                                                                          */
 I7	  53924 #define SS$_BUFFEROVF 1537
 I7	  53925 #define SS$_CONTROLO 1545
 I7	  53926 #define SS$_CONTROLY 1553
 I7	  53927 #define SS$_CREATED 1561
 I7	  53928 #define SS$_MSGNOTFND 1569
 I7	  53929 #define SS$_NOTRAN 1577
 I7	  53930 #define SS$_SUPERSEDE 1585
 I7	  53931 #define SS$_WASECC 1593
 I7	  53932 #define SS$_DEVALRALLOC 1601
 I7	  53933 #define SS$_REMOTE 1609
 I7	  53934 #define SS$_CONTROLC 1617
 I7	  53935 #define SS$_NOTMODIFIED 1625
 I7	  53936 #define SS$_RDDELDATA 1633
 I7	  53937 #define SS$_OVRDSKQUOTA 1641
 I7	  53938 #define SS$_OBSOLETE_1 1649
 I7	  53939 #define SS$_FILEPURGED 1657
 I7	  53940 #define SS$_NOTALLPRIV 1665

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 973
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53941 #define SS$_SYNCH 1673
 I7	  53942 #define SS$_CONCEALED 1681
 I7	  53943 #define SS$_INCOMPAT 1689
 I7	  53944 #define SS$_DBGOPCREQ 1697
 I7	  53945 #define SS$_ALRDYCLOSED 1705
 I7	  53946 #define SS$_LNMCREATED 1713
 I7	  53947 #define SS$_ACEIDMATCH 1721
 I7	  53948 #define SS$_DBGEVENT 1729
 I7	  53949 #define SS$_REMOVED 1737
 I7	  53950 #define SS$_QUEUED 1745
 I7	  53951 #define SS$_SUBDISABLED 1753
 I7	  53952 #define SS$_FORGET 1761
 I7	  53953 #define SS$_PREPARED 1769
 I7	  53954 #define SS$_NOMOREITEMS 1777
 I7	  53955 #define SS$_VOLATILE 1785
 I7	  53956 #define SS$_CLASSUPER 1793
 I7	  53957 #define SS$_CONTINUE_64 1801
 I7	  53958 #define SS$_THREAD_UPCALL 1809
 I7	  53959 #define SS$_CREATED_SHPT 1817
 I7	  53960 #define SS$_PERSONADELPEND 1825
 I7	  53961 #define SS$_DEVAVAIL 1833
 I7	  53962 #define SS$_LONGGAP 1841
 I7	  53963 #define SS$_BROKEN 1849
 I7	  53964 #define SS$_QPOOL_DEL_INIT 1857
 I7	  53965 #define SS$_UNUSED_1 1865
 I7	  53966 #define SS$_LOWPREC 1873
 I7	  53967 /*                                                                          */
 I7	  53968 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  53969 /* ***** NOTE: ROOM FOR 18 MORE MESSAGES IN THIS SECTION *****              */
 I7	  53970 /*                                                                          */
 I7	  53971 /*                                                                          */
 I7	  53972 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  53973 /*                                                                          */
 I7	  53974 /*     256-383	  800-BFF	128	WARNING CODES                       */
 I7	  53975 /*                                                                          */
 I7	  53976 #define SS$_ACCONFLICT 2048
 I7	  53977 #define SS$_BADCHKSUM 2056
 I7	  53978 #define SS$_BADFILEHDR 2064
 I7	  53979 #define SS$_BADFILENAME 2072
 I7	  53980 #define SS$_BADFILEVER 2080
 I7	  53981 #define SS$_BADIRECTORY 2088
 I7	  53982 #define SS$_CANCEL 2096
 I7	  53983 #define SS$_DATAOVERUN 2104
 I7	  53984 #define SS$_DEVALLOC 2112
 I7	  53985 #define SS$_DEVASSIGN 2120
 I7	  53986 #define SS$_DEVICEFULL 2128
 I7	  53987 #define SS$_DEVNOTALLOC 2136
 I7	  53988 #define SS$_DIRFULL 2144
 I7	  53989 #define SS$_DUPFILENAME 2152
 I7	  53990 #define SS$_ENDOFFILE 2160
 I7	  53991 #define SS$_ENDOFTAPE 2168
 I7	  53992 #define SS$_TMACTIVE 2176
 I7	  53993 #define SS$_FCPREADERR 2184
 I7	  53994 #define SS$_FCPREWNDERR 2192
 I7	  53995 #define SS$_FCPSPACERR 2200
 I7	  53996 #define SS$_FCPWRITERR 2208
 I7	  53997 #define SS$_FILELOCKED 2216

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 974
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  53998 #define SS$_FILENUMCHK 2224
 I7	  53999 #define SS$_FILESEQCHK 2232
 I7	  54000 #define SS$_FILESTRUCT 2240
 I7	  54001 #define SS$_HEADERFULL 2248
 I7	  54002 #define SS$_IDXFILEFULL 2256
 I7	  54003 #define SS$_MBFULL 2264
 I7	  54004 #define SS$_NOHOMEBLK 2272
 I7	  54005 #define SS$_NONEXPR 2280
 I7	  54006 #define SS$_NONLOCAL 2288
 I7	  54007 #define SS$_NOHANDLER 2296
 I7	  54008 #define SS$_NOSIGNAL 2304
 I7	  54009 #define SS$_NOSUCHDEV 2312
 I7	  54010 #define SS$_NOSUCHFILE 2320
 I7	  54011 #define SS$_RESIGNAL 2328
 I7	  54012 #define SS$_UNWIND 2336
 I7	  54013 #define SS$_UNWINDING 2344
 I7	  54014 #define SS$_NOMOREFILES 2352
 I7	  54015 #define SS$_BEGOFFILE 2360
 I7	  54016 #define SS$_BLOCKCNTERR 2368
 I7	  54017 #define SS$_MUSTCLOSEFL 2376
 I7	  54018 #define SS$_WAITUSRLBL 2384
 I7	  54019 #define SS$_ILLUSRLBLRD 2392
 I7	  54020 #define SS$_ILLUSRLBLWT 2400
 I7	  54021 #define SS$_ILLLBLAST 2408
 I7	  54022 #define SS$_ENDOFUSRLBL 2416
 I7	  54023 #define SS$_NOSUCHSEC 2424
 I7	  54024 #define SS$_CLIFRCEXT 2432
 I7	  54025 #define SS$_FCPREPSTN 2440
 I7	  54026 #define SS$_TOOMANYVER 2448
 I7	  54027 #define SS$_NOTVOLSET 2456
 I7	  54028 #define SS$_ENDOFVOLUME 2464
 I7	  54029 #define SS$_NOMOREPROC 2472
 I7	  54030 #define SS$_NODEVAVL 2480
 I7	  54031 #define SS$_NOTQUEUED 2488
 I7	  54032 #define SS$_DGQINCOMP 2496
 I7	  54033 #define SS$_DIRALLOC 2504
 I7	  54034 #define SS$_ACLEMPTY 2512
 I7	  54035 #define SS$_NOENTRY 2520
 I7	  54036 #define SS$_NOMOREACE 2528
 I7	  54037 #define SS$_RIGHTSFULL 2536
 I7	  54038 #define SS$_VALNOTVALID 2544
 I7	  54039 #define SS$_ACLFULL 2552
 I7	  54040 #define SS$_NOMORENODE 2560
 I7	  54041 #define SS$_NOMORELOCK 2568
 I7	  54042 #define SS$_BEGOFTAPE 2576
 I7	  54043 #define SS$_OBJLOCKHELD 2584
 I7	  54044 #define SS$_CPUSTARTIP 2592
 I7	  54045 #define SS$_ALLSTARTED 2600
 I7	  54046 #define SS$_ALRDYSTRT 2608
 I7	  54047 #define SS$_ALRDYSTPPD 2616
 I7	  54048 #define SS$_NSTPPD 2624
 I7	  54049 #define SS$_UNKRESULT 2632
 I7	  54050 #define SS$_ITEMNOTFOUND 2640
 I7	  54051 #define SS$_NOMOREDEV 2648
 I7	  54052 #define SS$_EFNOTSET 2656
 I7	  54053 #define SS$_PRIMNOSTP 2664
 I7	  54054 #define SS$_BOOTREJECT 2672

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 975
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54055 #define SS$_RMTPATH 2680
 I7	  54056 #define SS$_OBJECT_EXISTS 2688
 I7	  54057 #define SS$_NOSUCHOBJECT 2696
 I7	  54058 #define SS$_NOVOLDESC 2704
 I7	  54059 #define SS$_NOPTBLDIR 2712
 I7	  54060 #define SS$_DRVEXISTS 2720
 I7	  54061 #define SS$_DEVEXISTS 2728
 I7	  54062 #define SS$_GOTO_UNWIND 2736
 I7	  54063 #define SS$_EXIT_UNWIND 2744
 I7	  54064 #define SS$_SMALLHEADER 2752
 I7	  54065 #define SS$_FDT_COMPL 2760
 I7	  54066 #define SS$_TARGET_UNWIND 2768
 I7	  54067 #define SS$_TARGET_GOTO_UNWIND 2776
 I7	  54068 #define SS$_RESIGNAL_64 2784
 I7	  54069 #define SS$_NOMOREREG 2792
 I7	  54070 #define SS$_PAGNOTINREG 2800
 I7	  54071 #define SS$_REGISFULL 2808
 I7	  54072 #define SS$_PAGTYPVIO 2816
 I7	  54073 #define SS$_NOSUCHPAG 2824
 I7	  54074 #define SS$_PAGNOTWRITE 2832
 I7	  54075 #define SS$_NOMORETHREAD 2840
 I7	  54076 #define SS$_NOTF11ODS5 2848
 I7	  54077 #define SS$_NOCONVJNL 2856
 I7	  54078 #define SS$_MPDEVBUSY 2864
 I7	  54079 #define SS$_MPDEVUSERDISABLE 2872
 I7	  54080 #define SS$_NOCPUMATCH 2880
 I7	  54081 #define SS$_NOMORECLIENTS 2888
 I7	  54082 #define SS$_NOMOREDEVICES 2896
 I7	  54083 #define SS$_NOMOREFILTERS 2904
 I7	  54084 #define SS$_NOMOREPATHS 2912
 I7	  54085 #define SS$_NOMORESERVERS 2920
 I7	  54086 #define SS$_FISH 2928
 I7	  54087 #define SS$_FILENOTCACHED 2936
 I7	  54088 #define SS$_INSF_SHM_REG 2944
 I7	  54089 #define SS$_HBMMNOTENABLED 2952
 I7	  54090 #define SS$_HBMMALREADYON 2960
 I7	  54091 #define SS$_NODEVPOL 2968
 I7	  54092 #define SS$_NONAMPOL 2976
 I7	  54093 #define SS$_XVALNOTVALID 2984
 I7	  54094 #define SS$_FILEFULL 2992
 I7	  54095 #define SS$_REMINDER 3000
 I7	  54096 /*                                                                          */
 I7	  54097 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  54098 /* ***** NOTE: ROOM FOR 8 MORE WARNING MESSAGES IN ABOVE SECTION *****      */
 I7	  54099 /*                                                                          */
 I7	  54100 /*                                                                          */
 I7	  54101 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  54102 /*                                                                          */
 I7	  54103 /*     384-447	  C00-DFF	 64	INFORMATIONAL CODES                 */
 I7	  54104 /*                                                                          */
 I7	  54105 #define SS$_EOTIN 3075
 I7	  54106 #define SS$_CHAINW 3083
 I7	  54107 #define SS$_NOTINSEC 3091
 I7	  54108 #define SS$_NONXPAG 3099
 I7	  54109 #define SS$_LOGNAME 3107
 I7	  54110 #define SS$_CPUSTARTD 3115
 I7	  54111 #define SS$_CPUSTOPPING 3123

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 976
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54112 #define SS$_NOTALLCANCELED 3131
 I7	  54113 #define SS$_NOTHINGDONE 3139
 I7	  54114 #define SS$_EVTNOTENAB 3147
 I7	  54115 #define SS$_NOPATHTBL 3155
 I7	  54116 #define SS$_RESELECTION 3163
 I7	  54117 #define SS$_EMULATED 3171
 I7	  54118 #define SS$_REMDONE 3179
 I7	  54119 #define SS$_REMINPROG 3187
 I7	  54120 #define SS$_DEVCON 3195
 I7	  54121 #define SS$_DEVNOTCON 3203
 I7	  54122 #define SS$_CPUSELECTED 3211
 I7	  54123 #define SS$_QPOOL_DEL_INPRG 3219
 I7	  54124 #define SS$_PRESTO 3227
 I7	  54125 #define SS$_TAKEN_BRANCH 3235
 I7	  54126 #define SS$_IA32_TRAP 3243
 I7	  54127 #define SS$_DEBUG_FAULT 3251
 I7	  54128 #define SS$_BREAK_APPL 3259
 I7	  54129 #define SS$_TIE_GET_FRAMES 3267
 I7	  54130 #define SS$_TIE_PRE_UNWIND 3275
 I7	  54131 #define SS$_TIE_UNWIND 3283
 I7	  54132 #define SS$_TIE_GOTO_UNWIND 3291
 I7	  54133 #define SS$_HBMMCREPOSTMRG 3299
 I7	  54134 #define SS$_FPMODECTL 3307
 I7	  54135 #define SS$_FPMODEPC 3315
 I7	  54136 #define SS$_FPMODERC 3323
 I7	  54137 #define SS$_ARGTYP1 3331
 I7	  54138 #define SS$_ARGTYP2 3339
 I7	  54139 #define SS$_ARGTYP3 3347
 I7	  54140 #define SS$_ARGTYP4 3355
 I7	  54141 #define SS$_ARGTYP5 3363
 I7	  54142 #define SS$_ARGTYP6 3371
 I7	  54143 #define SS$_ARGTYP7 3379
 I7	  54144 #define SS$_ARGTYP8 3387
 I7	  54145 #define SS$_DEFER_ASTS 3395
 I7	  54146 #define SS$_COWBOYUP 3403
 I7	  54147 /*                                                                          */
 I7	  54148 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  54149 /* ***** NOTE: ROOM FOR 22 MORE MESSAGES IN THIS SECTION *****              */
 I7	  54150 /*                                                                          */
 I7	  54151 /*                                                                          */
 I7	  54152 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  54153 /*                                                                          */
 I7	  54154 /*     448-511	  E00-FFF	 64	NONFATAL ERROR CODES                */
 I7	  54155 /*                                                                          */
 I7	  54156 #define SS$_LINEABRT 3586
 I7	  54157 #define SS$_DEADLOCK 3594
 I7	  54158 #define SS$_NOLOCKID 3602
 I7	  54159 #define SS$_EXDEPTH 3610
 I7	  54160 #define SS$_PARTMAPPED 3618
 I7	  54161 #define SS$_CANCELGRANT 3626
 I7	  54162 #define SS$_RETRY 3634
 I7	  54163 #define SS$_BADACL 3642
 I7	  54164 #define SS$_ACEEXISTS 3650
 I7	  54165 #define SS$_UNSUPPORTED 3658
 I7	  54166 #define SS$_NORIGHTSDB 3666
 I7	  54167 #define SS$_LOGSTALL 3674
 I7	  54168 #define SS$_LOGFULL 3682

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 977
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54169 #define SS$_PWDINDIC 3690
 I7	  54170 #define SS$_PWDINHIS 3698
 I7	  54171 #define SS$_PWDWEAK 3706
 I7	  54172 #define SS$_USEGENPWD 3714
 I7	  54173 #define SS$_INVBUSNAM 3722
 I7	  54174 #define SS$_INVCOMPTYPE 3730
 I7	  54175 #define SS$_INVCOMPID 3738
 I7	  54176 #define SS$_INVCOMPLIST 3746
 I7	  54177 #define SS$_NOCOMPLSTS 3754
 I7	  54178 #define SS$_INVSECDOMAIN 3762
 I7	  54179 #define SS$_BADCHECKSUM 3770
 I7	  54180 #define SS$_ARBTOOBIG 3778
 I7	  54181 #define SS$_ORBTOOBIG 3786
 I7	  54182 #define SS$_INVAJLNAM 3794
 I7	  54183 #define SS$_TOOMANYAJL 3802
 I7	  54184 #define SS$_RSDMINUSE 3810
 I7	  54185 #define SS$_RSDMNOTFOU 3818
 I7	  54186 #define SS$_INVUICGRP 3826
 I7	  54187 #define SS$_RSDM_ACTIVE 3834
 I7	  54188 #define SS$_OBJLOCKED 3842
 I7	  54189 #define SS$_NOTMPNAM 3850
 I7	  54190 #define SS$_INVCLSITM 3858
 I7	  54191 #define SS$_NOTSHRTBL 3866
 I7	  54192 #define SS$_MMATORB 3874
 I7	  54193 #define SS$_NOSUCHVOL 3882
 I7	  54194 #define SS$_OBJNOTLOCKED 3890
 I7	  54195 #define SS$_ILLRSDM 3898
 I7	  54196 #define SS$_NOCLASSSUPPORT 3906
 I7	  54197 #define SS$_INVSECOPER 3914
 I7	  54198 #define SS$_NODELJNLACT 3922
 I7	  54199 #define SS$_INVFILFOROP 3930
 I7	  54200 #define SS$_NOOBJSRV 3938
 I7	  54201 #define SS$_NOFILEACCESS 3946
 I7	  54202 #define SS$_BADFILESIZE 3954
 I7	  54203 #define SS$_NOTFULLYMAPPED 3962
 I7	  54204 #define SS$_BADWINCNT 3970
 I7	  54205 #define SS$_BADWINLBN 3978
 I7	  54206 #define SS$_BADWINRVN 3986
 I7	  54207 #define SS$_EXTRAWINDOW 3994
 I7	  54208 #define SS$_REVISED 4002
 I7	  54209 #define SS$_TIMENOTSET 4010
 I7	  54210 #define SS$_WAIT_CALLERS_MODE 4018
 I7	  54211 #define SS$_NOT_LOADED 4026
 I7	  54212 #define SS$_DRV_NOUNLOAD 4034
 I7	  54213 #define SS$_INVARG 4042
 I7	  54214 #define SS$_QIO_CROCK 4050
 I7	  54215 #define SS$_ALTER 4058
 I7	  54216 #define SS$_AFR_ENABLED 4066
 I7	  54217 #define SS$_AFR_NOT_ENABLED 4074
 I7	  54218 #define SS$_SHELFERROR 4082
 I7	  54219 #define SS$_PERSONANONGRATA 4090
 I7	  54220 /* **************                                                           */
 I7	  54221 /* NOTE:  THE ABOVE SET OF NONFATAL ERROR MESSAGES IS FULL!!!!              */
 I7	  54222 /*	 ANY ADDITIONAL NONFATAL ERROR MESSAGES MUST BE ADDED               */
 I7	  54223 /*	 BELOW, IN THE RANGE HEX 2C00-33FF.                                 */
 I7	  54224 /* **************                                                           */
 I7	  54225 /*                                                                          */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 978
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54226 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  54227 /*                                                                          */
 I7	  54228 /*   1280-1343	2800-29FF	 64	NO PRIVILEGE ERRORS                 */
 I7	  54229 /*                                                                          */
 I7	  54230 /*                                                                          */
 I7	  54231 /* NB: THESE MESSAGES MUST BE KEPT IN THE SAME ORDER AS THE PRIVILEGE BIT   */
 I7	  54232 /* DEFINITIONS ($PRVDEF) AS THE PRIVILEGE BIT POSITION IS USED AS AN INDEX INTO */
 I7	  54233 /* THESE MESSAGE CODES BY THE $CHECK_PRIVILEGE SYSTEM SERVICE.              */
 I7	  54234 /*                                                                          */
 I7	  54235 #define SS$_NOPRIVSTRT 10240
 I7	  54236 #define SS$_NODETACH 10284
 I7	  54237 #define SS$_NOCMKRNL 10244
 I7	  54238 #define SS$_NOCMEXEC 10252
 I7	  54239 #define SS$_NOSYSNAM 10260
 I7	  54240 #define SS$_NOGRPNAM 10268
 I7	  54241 #define SS$_NOALLSPOOL 10276
 I7	  54242 #define SS$_NOIMPERSONATE 10284
 I7	  54243 #define SS$_NODIAGNOSE 10292
 I7	  54244 #define SS$_NOLOG_IO 10300
 I7	  54245 #define SS$_NOGROUP 10308
 I7	  54246 #define SS$_NOACNT 10316
 I7	  54247 #define SS$_NOPRMCEB 10324
 I7	  54248 #define SS$_NOPRMMBX 10332
 I7	  54249 #define SS$_NOPSWAPM 10340
 I7	  54250 #define SS$_NOALTPRI 10348
 I7	  54251 #define SS$_NOSETPRV 10356
 I7	  54252 #define SS$_NOTMPMBX 10364
 I7	  54253 #define SS$_NOWORLD 10372
 I7	  54254 #define SS$_NOMOUNT 10380
 I7	  54255 #define SS$_NOOPER 10388
 I7	  54256 #define SS$_NOEXQUOTA 10396
 I7	  54257 #define SS$_NONETMBX 10404
 I7	  54258 #define SS$_NOVOLPRO 10412
 I7	  54259 #define SS$_NOPHY_IO 10420
 I7	  54260 #define SS$_NOBUGCHK 10428
 I7	  54261 #define SS$_NOPRMGBL 10436
 I7	  54262 #define SS$_NOSYSGBL 10444
 I7	  54263 #define SS$_NOPFNMAP 10452
 I7	  54264 #define SS$_NOSHMEM 10460
 I7	  54265 #define SS$_NOSYSPRV 10468
 I7	  54266 #define SS$_NOBYPASS 10476
 I7	  54267 #define SS$_NOSYSLCK 10484
 I7	  54268 #define SS$_NOSHARE 10492
 I7	  54269 #define SS$_NOUPGRADE 10500
 I7	  54270 #define SS$_NODOWNGRADE 10508
 I7	  54271 #define SS$_NOGRPPRV 10516
 I7	  54272 #define SS$_NOREADALL 10524
 I7	  54273 #define SS$_NOIMPORT 10532
 I7	  54274 #define SS$_NOAUDIT 10540
 I7	  54275 #define SS$_NOSECURITY 10548
 I7	  54276 #define SS$_NOPRIVEND 10751
 I7	  54277 /*                                                                          */
 I7	  54278 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  54279 /*                                                                          */
 I7	  54280 /*   1344-1375	2A00-2AFF	 32	EXCEEDED QUOTA ERRORS               */
 I7	  54281 /*                                                                          */
 I7	  54282 #define SS$_EXQUOTASTRT 10752

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 979
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54283 #define SS$_EXASTLM 10756
 I7	  54284 #define SS$_EXBIOLM 10764
 I7	  54285 #define SS$_EXBYTLM 10772
 I7	  54286 #define SS$_EXDIOLM 10780
 I7	  54287 #define SS$_EXFILLM 10788
 I7	  54288 #define SS$_EXPGFLQUOTA 10796
 I7	  54289 #define SS$_EXPRCLM 10804
 I7	  54290 #define SS$_EXTQELM 10812
 I7	  54291 #define SS$_EXENQLM 10820
 I7	  54292 /* SYSTEMWIDE QUOTA -- WORK FROM END OF REGION                              */
 I7	  54293 #define SS$_EXBUFOBJLM 11004
 I7	  54294 #define SS$_EXQUOTAEND 11007
 I7	  54295 /*                                                                          */
 I7	  54296 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  54297 /*                                                                          */
 I7	  54298 /*   1376-1407	2B00-2BFF	 32	RESERVED FOR MEDIA MGMT EXTENSIONS  */
 I7	  54299 /*                                                                          */
 I7	  54300 #define SS$_MMSFAILED 11012
 I7	  54301 #define SS$_QPOOL_DEL_BUSY 11020
 I7	  54302 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  54303 /* ***** NOTE: ROOM FOR 1 MORE MESSAGE IN THIS SECTION *****                */
 I7	  54304 #define SS$_TOOFEWDEV 11032
 I7	  54305 #define SS$_AVRWAIT 11040
 I7	  54306 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  54307 /* ***** NOTE: ROOM FOR 3 MORE MESSAGES IN THIS SECTION *****               */
 I7	  54308 #define SS$_NO_MMS 11075
 I7	  54309 #define SS$_MMSREADY 11083
 I7	  54310 #define SS$_MMSNOTREADY 11091
 I7	  54311 #define SS$_SKIP_CHECKS 11099
 I7	  54312 #define SS$_NO_NOTIFY 11107
 I7	  54313 #define SS$_SKIP_EXPIRATION 11115
 I7	  54314 #define SS$_NOTATBOT 11123
 I7	  54315 #define SS$_PREVDENS 11131
 I7	  54316 /* A NEW BASE SHOULD BE CREATED FOR INFORMATIONALS                          */
 I7	  54317 /* ***** NOTE: ROOM FOR 0 MORE MESSAGES IN ABOVE SECTION *****              */
 I7	  54318 #define SS$_RDBERR 11140
 I7	  54319 #define SS$_MDMSERR 11148
 I7	  54320 #define SS$_IVMEDTYP 11156
 I7	  54321 #define SS$_IVDENS 11164
 I7	  54322 #define SS$_IVPOOL 11172
 I7	  54323 #define SS$_IVEXPDAT 11180
 I7	  54324 #define SS$_NOCONFMEDIA 11188
 I7	  54325 #define SS$_PTE_NOT_EMPTY 11196
 I7	  54326 #define SS$_CPUNOTAVAIL 11204
 I7	  54327 #define SS$_NOFASTPATH 11212
 I7	  54328 #define SS$_EXITFORCED 11220
 I7	  54329 #define SS$_FORCEX 11228
 I7	  54330 /*                                                                          */
 I7	  54331 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  54332 /*                                                                          */
 I7	  54333 /*   1408-1663	2C00-33FF	256	NONFATAL ERROR CODES (CONTINUED FROM FFF) */
 I7	  54334 /*                                                                          */
 I7	  54335 #define SS$_NOTASSUMING 11266
 I7	  54336 #define SS$_ALREADYASSUMING 11274
 I7	  54337 #define SS$_INUSE 11282
 I7	  54338 #define SS$_USERDISABLED 11290
 I7	  54339 #define SS$_NOCHJIB 11298

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 980
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54340 #define SS$_NOTSUPFS 11306
 I7	  54341 #define SS$_INSFTHREADS 11314
 I7	  54342 #define SS$_NOBUFOBJID 11322
 I7	  54343 #define SS$_NODELPERMANENT 11330
 I7	  54344 #define SS$_NOMEMRESID 11338
 I7	  54345 #define SS$_MRES_PFNSMALL 11346
 I7	  54346 #define SS$_MRES_INCON 11354
 I7	  54347 #define SS$_NORESERVEDMEM 11362
 I7	  54348 #define SS$_RESERVEDMEMUSED 11370
 I7	  54349 #define SS$_RES_MEM_INCON 11378
 I7	  54350 #define SS$_NOSHPTS 11386
 I7	  54351 #define SS$_FLUSHFAIL 11394
 I7	  54352 #define SS$_NOTINSTALLED 11402
 I7	  54353 #define SS$_POOLDEVEXISTS 11410
 I7	  54354 #define SS$_NOUNITS 11418
 I7	  54355 #define SS$_NOTAPOOL 11426
 I7	  54356 #define SS$_MISSINGUNITS 11434
 I7	  54357 #define SS$_DISKDEVEXISTS 11442
 I7	  54358 #define SS$_TOOMANYUNITS 11450
 I7	  54359 #define SS$_NOTINPOOL 11458
 I7	  54360 #define SS$_WRONGPOOL 11466
 I7	  54361 #define SS$_ALRBOUND 11474
 I7	  54362 #define SS$_NOTPOOLMOUNTED 11482
 I7	  54363 #define SS$_POOLINUSE 11490
 I7	  54364 #define SS$_DISKINUSE 11498
 I7	  54365 #define SS$_SDDISABLED 11506
 I7	  54366 #define SS$_UNITINPOOL 11514
 I7	  54367 #define SS$_FAMILYTOOBIG 11522
 I7	  54368 #define SS$_NODISKNAME 11530
 I7	  54369 #define SS$_DISKNAMEEXISTS 11538
 I7	  54370 #define SS$_INSUFFREESEGS 11546
 I7	  54371 #define SS$_NOTBOUND 11554
 I7	  54372 #define SS$_TOOMANYFRAGS 11562
 I7	  54373 #define SS$_TOOMANYFAMILIES 11570
 I7	  54374 #define SS$_DISKISBOUND 11578
 I7	  54375 #define SS$_SNAPINFAM 11586
 I7	  54376 #define SS$_CHKSNAPVER 11594
 I7	  54377 #define SS$_BADSNAPVER 11602
 I7	  54378 #define SS$_SD_RESERVED4 11610
 I7	  54379 #define SS$_SD_RESERVED5 11618
 I7	  54380 #define SS$_SECREFOVF 11626
 I7	  54381 #define SS$_DATAERR 11634
 I7	  54382 #define SS$_INVPFN 11642
 I7	  54383 #define SS$_INV_SHMEM 11650
 I7	  54384 #define SS$_INV_SHM_CPP 11658
 I7	  54385 #define SS$_INV_SHM_REG 11666
 I7	  54386 #define SS$_ONEMAPPER 11674
 I7	  54387 #define SS$_NOSUCHEXT 11682
 I7	  54388 #define SS$_CBKEXISTS 11690
 I7	  54389 #define SS$_NOSUCHCBK 11698
 I7	  54390 #define SS$_NOTAMEMBER 11706
 I7	  54391 #define SS$_GLXSPIUNAVAIL 11714
 I7	  54392 #define SS$_MPDEVILLCURPATH 11722
 I7	  54393 #define SS$_MPDEVINCOMPAT 11730
 I7	  54394 #define SS$_MPDEVNOT 11738
 I7	  54395 #define SS$_MPDEVNOTCONF 11746
 I7	  54396 #define SS$_PERSONARESERVED 11754

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 981
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54397 #define SS$_WRONGDRV 11762
 I7	  54398 #define SS$_BADRAD 11770
 I7	  54399 #define SS$_INVQSRFNC 11778
 I7	  54400 #define SS$_NOQIOSERVER 11786
 I7	  54401 #define SS$_INCLASS 11794
 I7	  54402 #define SS$_INVBOOTDEV 11802
 I7	  54403 #define SS$_CLIENT_UNAVAILABLE 11810
 I7	  54404 #define SS$_CONFIGFILE_ERROR 11818
 I7	  54405 #define SS$_INVDEVALLOC 11826
 I7	  54406 #define SS$_DEVICE_UNAVAILABLE 11834
 I7	  54407 #define SS$_INVDEVMOUNT 11842
 I7	  54408 #define SS$_LOGGING_DISABLED 11850
 I7	  54409 #define SS$_NOSUCHCLIENT 11858
 I7	  54410 #define SS$_NOSUCHDEVICE 11866
 I7	  54411 #define SS$_NOSUCHFILTER 11874
 I7	  54412 #define SS$_NOSUCHPATH 11882
 I7	  54413 #define SS$_NOSUCHSERVER 11890
 I7	  54414 #define SS$_RQSTIMOUT 11898
 I7	  54415 #define SS$_SERVER_UNAVAILABLE 11906
 I7	  54416 #define SS$_QSRVINTERR 11914
 I7	  54417 #define SS$_NOADD 11922
 I7	  54418 #define SS$_SYSTEMUIC 11930
 I7	  54419 #define SS$_NOSUCHQPOOLID 11938
 I7	  54420 #define SS$_PATHAMBIG 11946
 I7	  54421 #define SS$_INVMVIP 11954
 I7	  54422 #define SS$_NOPATHAVAIL 11962
 I7	  54423 #define SS$_NOENACURINV 11970
 I7	  54424 #define SS$_TRUSTCONF 11978
 I7	  54425 #define SS$_QIO_FAULT 11986
 I7	  54426 #define SS$_HBVS_REDO_IO 11994
 I7	  54427 #define SS$_TOOMANYPERSONA 12002
 I7	  54428 #define SS$_INVKTLIM 12010
 I7	  54429 #define SS$_PWDPOLICY 12018
 I7	  54430 /*                                                                          */
 I7	  54431 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  54432 /* ***** NOTE: ROOM FOR 161 MORE NONFATAL MESSAGES IN ABOVE SECTION *****   */
 I7	  54433 /*                                                                          */
 I7	  54434 /*       MSG #S     RANGE      # MSGS        DESCRIPTION                    */
 I7	  54435 /*                                                                          */
 I7	  54436 /*   1664-1695   3400-341F        32     FATAL ERROR CODES (CONTINUED FROM 27FF) */
 I7	  54437 #define SS$_MAXNAMPOL 13316
 I7	  54438 #define SS$_HBMMENABLED 13324
 I7	  54439 #define SS$_NOMODNONEPOL 13332
 I7	  54440 #define SS$_SHADFEATNOMNT 13340
 I7	  54441 #define SS$_NOTSUPALLNODES 13348
 I7	  54442 #define SS$_WLGCANTHBMM 13356
 I7	  54443 #define SS$_CALLUNDEFSYM 13364
 I7	  54444 #define SS$_NOADDMCPYMBR 13372
 I7	  54445 #define SS$_CANTDODDS 13380
 I7	  54446 #define SS$_TOOMANYMBRS 13388
 I7	  54447 #define SS$_SCBREADFAIL 13396
 I7	  54448 #define SS$_SCBWRITEFAIL 13404
 I7	  54449 #define SS$_NOMEMFORWBM 13412
 I7	  54450 #define SS$_MUSTDMTVU 13420
 I7	  54451 #define SS$_ONLYSRCMUSTSTAY 13428
 I7	  54452 #define SS$_NOWBMDURINGCOPY 13436
 I7	  54453 #define SS$_WBMERR 13444

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 982
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]SYS$STARLET_C.TLB;1(SSDEF)

 I7	  54454 #define SS$_BADPOLCHAR 13452
 I7	  54455 #define SS$_HBMMVERSIONBAD 13460
 I7	  54456 #define SS$_ANADSKSHDBBLK 13468
 I7	  54457 #define SS$_HBMMBADPOLSPEC 13476
 I7	  54458 #define SS$_NOSHADOWSERVER 13484
 I7	  54459 #define SS$_GAMEOVER 13492
 I7	  54460 /* N.B.  DO NOT CORRECT THE GRAMMAR IN GAMEOVER, THE MESSAGE IS AS INTENDED */
 I7	  54461 /* NEW SYMBOLS SHOULD BE ADDED IMMEDIATELY BEFORE THIS COMMENT              */
 I7	  54462 /* ***** NOTE: ROOM FOR 9 MORE FATAL MESSAGES IN ABOVE SECTION *****        */
 I7	  54463 /*                                                                          */
 I7	  54464 /*	MSG #S	   RANGE      # MSGS	    DESCRIPTION                     */
 I7	  54465 /*                                                                          */
 I7	  54466 /*   4032-4095	7E00-7FFF	 64	RESERVED FOR SCS SYSAPS             */
 I7	  54467 /*                                                                          */
 I7	  54468 /*	MESSAGE CODES IN THIS BLOCK ARE GUARANTEED NOT TO                   */
 I7	  54469 /*	BE TRANSLATED BY VMS WHEN THEY ARE SEND OUT BY VMSSCS               */
 I7	  54470 /*	OR WHEN THEY ARE RECEIVED BY VMSSCS.  SCA SYSAPS ARE                */
 I7	  54471 /*	FREE TO USE THESE CODES IN ANY SYSAP-DEPENDENT MANNER               */
 I7	  54472 /*	IN WHICH THEY CHOOSE.                                               */
 I7	  54473 /*                                                                          */
 I7	  54474 /*	THIS ADDRESS OF THIS BLOCK OF CODES MUST BE IN CONFORMANCE          */
 I7	  54475 /*	WITH THE SCA ARCHITECTURE, I.E., MUST NOT BE MOVED.                 */
 I7	  54476 /*                                                                          */
 I7	  54477 #define SS$_SYSAPMIN 32256
 I7	  54478 #define SS$_SYSAPMAX 32767
 I7	  54479  
 I7	  54480 #pragma __member_alignment __restore
 I7	  54481 #ifdef __INITIAL_POINTER_SIZE			 /* Defined whenever ptr size pragmas supported */
 I7	  54482 #pragma __required_pointer_size __restore		 /* Restore the previously-defined required ptr size */
 I7	  54483 #endif
 I7    X  54484 #ifdef __cplusplus
 I7    X  54485     }
 I7    X  54486 #endif
 I7	  54487 #pragma __standard
 I7	  54488  
 I7	  54489 #endif /* __SSDEF_LOADED */
 I7	  54490  
 I7	  54491 
 I7	  54492 /*  CC header ends here */
 I7	  54493 
 I7	  54494 #endif /* IAS_ASSEMBLER */
 I6	  54495 # endif
 I6	  54496 
 I6    X  54497 # include <setjmp.h>
 I6    X  54498 # include <errno.h>
 I6	  54499 
 I6    X  54500 # if defined (_PTHREAD_EXC_UNIX) && defined (_PTHREAD_EXC_DECC)
 I6    X  54501 #  ifdef _OSF_SOURCE
 I6    X  54502 #   include <c_excpt.h>         /* Must be after setjmp.h */
 I6    X  54503 #  else
 I6    X  54504 extern void *__exception_info (void);
 I6    X  54505 #  endif
 I6    X  54506 #  define _PTHREAD_EXC_USE_NATIVE
 I6    X  54507 #  define _PTHREAD_NATIVE_TRY		__builtin_try
 I6    X  54508 #  define _PTHREAD_NATIVE_EXCEPT	__builtin_except
 I6    X  54509 #  define _PTHREAD_NATIVE_FINALLY	__builtin_finally
 I6    X  54510 #  define _PTHREAD_NATIVE_INFO		__exception_info ()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 983
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6    X  54511 #  define _PTHREAD_NATIVE_HANDLE	EXCEPTION_EXECUTE_HANDLER
 I6    X  54512 # endif
 I6	  54513 
 I6	  54514 /*
 I6	  54515  * This constant helps to identify a context block or exception created with
 I6	  54516  * DECthreads BL9 or later; the new structures include a version field to
 I6	  54517  * better manage future changes.
 I6	  54518  */
 I6	  54519 # define _PTHREAD_EXC_NEWMAGIC	0x45586732 /* Identify ctx block with version */
 I6	  54520 # define _PTHREAD_EXC_THDBASE	(_PTHREAD_EXC_NEWMAGIC | 0x01)
 I6	  54521 
 I6	  54522 /*
 I6	  54523  * Define version constants to be put into exception structures.
 I6	  54524  *
 I6	  54525  * o  V2 is for OpenVMS and non-native Tru64 UNIX exception handling.
 I6	  54526  * o  V3 is for native Tru64 UNIX exception handling (as defined before the
 I6	  54527  *    __flags field was added to _pthreadExcExt_t).
 I6	  54528  * o  V4 is for native Tru64 UNIX exception handling with the __flags field.
 I6	  54529  *
 I6	  54530  * This code checks the version to see how it should behave.
 I6	  54531  */
 I6	  54532 # define _PTHREAD_EXC_VER_V2	2
 I6	  54533 # define _PTHREAD_EXC_VER_V3	3
 I6	  54534 # define _PTHREAD_EXC_VER_V4	4
 I6    X  54535 # if defined (_PTHREAD_EXC_UNIX) && defined (_PTHREAD_EXC_DECC)
 I6    X  54536 #  define _PTHREAD_EXC_VER_CUR	_PTHREAD_EXC_VER_V4
 I6    X  54537 # else
 I6	  54538 #  define _PTHREAD_EXC_VER_CUR	_PTHREAD_EXC_VER_V2
 I6	  54539 # endif
 I6	  54540 
 I6	  54541 /*
 I6	  54542  * NOTE: on UNIX systems, these status codes must be kept unique. We do this
 I6	  54543  * arbitrarily by setting some high order bits which happen to be the same as
 I6	  54544  * we use on VMS.
 I6	  54545  */
 I6	  54546 # if defined (_PTHREAD_EXC_VMS)
 I6	  54547 #  define _PTHREAD_EXC_FACILITY	00020100000
 I6	  54548 #  define _PTHREAD_STATUS_(_val_, _sev_) \
 I6	  54549     ((__pthreadStatus_t)(_PTHREAD_EXC_FACILITY | ((_val_) << 3) | (_sev_)))
 I6    X  54550 # else
 I6    X  54551 #  define _PTHREAD_EXC_FACILITY	0x177db000
 I6    X  54552 #  define _PTHREAD_STATUS_(_val_, _sev_) \
 I6    X  54553     ((__pthreadStatus_t)(_PTHREAD_EXC_FACILITY | (_val_)))
 I6    X  54554 # endif
 I6	  54555 
 I6	  54556 /*
 I6	  54557  * Define all of the status codes used by DECthreads.
 I6	  54558  *
 I6	  54559  * For VMS, these must remain in synch with the CMA_MESSAGE.MSG message file.
 I6	  54560  *
 I6	  54561  * These values cannot be altered, as they have already been shipped!
 I6	  54562  */
 I6	  54563 
 I6	  54564 /*
 I6	  54565  * Messages directly related to exceptions
 I6	  54566  */
 I6	  54567 # define __pthread_exception_s		_PTHREAD_STATUS_ (1, 4)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 984
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  54568 # define __pthread_exccop_s		_PTHREAD_STATUS_ (2, 4)
 I6	  54569 # define __pthread_uninitexc_s		_PTHREAD_STATUS_ (3, 4)
 I6	  54570 # define __pthread_unkstatus_s		_PTHREAD_STATUS_ (128, 4)
 I6	  54571 # define __pthread_exccoplos_s		_PTHREAD_STATUS_ (129, 4)
 I6	  54572 # define __pthread_noexcmem_s		_PTHREAD_STATUS_ (131, 4)
 I6	  54573 
 I6	  54574 /*
 I6	  54575  * These should be set to match with underlying system exception codes on
 I6	  54576  * platforms where that is appropriate (e.g., ss$_ codes on VMS).
 I6	  54577  */
 I6	  54578 # if defined (_PTHREAD_EXC_VMS)
 I6	  54579 #  pragma nostandard
 I6	  54580 /*
 I6	  54581  * A few of these codes are somewhat imaginary, since VMS doesn't support
 I6	  54582  * condition codes that very closely approximate the sense of some UNIX
 I6	  54583  * signals. SIGTRAP, SIGABRT, and SIGEMT have no clear parallels, and the
 I6	  54584  * values chosen are fairly arbitrary. For two others, we chose what seemed
 I6	  54585  * close equivalents: SIGPIPE becomes "no mailbox", and SIGXFSZ becomes "disk
 I6	  54586  * quota exceeded".
 I6	  54587  */
 I6	  54588 #  define __pthread_illaddr_s		SS$_ACCVIO
 I6	  54589 #  define __pthread_exquota_s		SS$_EXQUOTA
 I6	  54590 #  define __pthread_insfmem_s		SS$_INSFMEM
 I6	  54591 #  define __pthread_nopriv_s		SS$_NOPRIV
 I6	  54592 #  define __pthread_normal_s		SS$_NORMAL
 I6	  54593 #  define __pthread_illinstr_s		SS$_OPCDEC
 I6	  54594 #  define __pthread_resaddr_s		SS$_RADRMOD
 I6	  54595 #  define __pthread_privinst_s		SS$_OPCDEC
 I6	  54596 #  define __pthread_resoper_s		SS$_ROPRAND
 I6	  54597 #  define __pthread_SIGTRAP_s		SS$_BREAK
 I6	  54598 #  define __pthread_SIGABRT_s		SS$_ABORT
 I6	  54599 #  define __pthread_SIGEMT_s		SS$_COMPAT
 I6	  54600 #  define __pthread_aritherr_s		SS$_FLTOVF
 I6	  54601 #  define __pthread_SIGSYS_s		SS$_BADPARAM
 I6	  54602 #  define __pthread_SIGPIPE_s		SS$_NOMBX
 I6	  54603 #  define __pthread_excpu_s		SS$_EXCPUTIM
 I6	  54604 #  define __pthread_exfilsiz_s		SS$_EXDISKQUOTA
 I6	  54605 #  define __pthread_intovf_s		SS$_INTOVF
 I6	  54606 #  define __pthread_intdiv_s		SS$_INTDIV
 I6	  54607 #  define __pthread_fltovf_s		SS$_FLTOVF
 I6	  54608 #  define __pthread_fltdiv_s		SS$_FLTDIV
 I6	  54609 #  define __pthread_fltund_s		SS$_FLTUND
 I6	  54610 #  define __pthread_decovf_s		SS$_DECOVF
 I6	  54611 #  define __pthread_subrng_s		SS$_SUBRNG
 I6	  54612 #  define __pthread_stackovf_s		SS$_STKOVF
 I6	  54613 #  pragma standard
 I6    X  54614 # else
 I6    X  54615 #  define __pthread_illaddr_s		_PTHREAD_STATUS_ (5, 4)
 I6    X  54616 #  define __pthread_exquota_s		_PTHREAD_STATUS_ (6, 4)
 I6    X  54617 #  define __pthread_insfmem_s		_PTHREAD_STATUS_ (7, 4)
 I6    X  54618 #  define __pthread_nopriv_s		_PTHREAD_STATUS_ (8, 4)
 I6    X  54619 #  define __pthread_normal_s		_PTHREAD_STATUS_ (9, 1)
 I6    X  54620 #  define __pthread_illinstr_s		_PTHREAD_STATUS_ (10, 4)
 I6    X  54621 #  define __pthread_resaddr_s		_PTHREAD_STATUS_ (11, 4)
 I6    X  54622 #  define __pthread_privinst_s		_PTHREAD_STATUS_ (12, 4)
 I6    X  54623 #  define __pthread_resoper_s		_PTHREAD_STATUS_ (13, 4)
 I6    X  54624 #  define __pthread_SIGTRAP_s		_PTHREAD_STATUS_ (14, 4)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 985
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6    X  54625 #  define __pthread_SIGABRT_s		_PTHREAD_STATUS_ (15, 4)
 I6    X  54626 #  define __pthread_SIGEMT_s		_PTHREAD_STATUS_ (16, 4)
 I6    X  54627 #  define __pthread_aritherr_s		_PTHREAD_STATUS_ (17, 4)
 I6    X  54628 #  define __pthread_SIGSYS_s		_PTHREAD_STATUS_ (18, 4)
 I6    X  54629 #  define __pthread_SIGPIPE_s		_PTHREAD_STATUS_ (19, 4)
 I6    X  54630 #  define __pthread_excpu_s		_PTHREAD_STATUS_ (20, 4)
 I6    X  54631 #  define __pthread_exfilsiz_s		_PTHREAD_STATUS_ (21, 4)
 I6    X  54632 #  define __pthread_intovf_s		_PTHREAD_STATUS_ (22, 4)
 I6    X  54633 #  define __pthread_intdiv_s		_PTHREAD_STATUS_ (23, 4)
 I6    X  54634 #  define __pthread_fltovf_s		_PTHREAD_STATUS_ (24, 4)
 I6    X  54635 #  define __pthread_fltdiv_s		_PTHREAD_STATUS_ (25, 4)
 I6    X  54636 #  define __pthread_fltund_s		_PTHREAD_STATUS_ (26, 4)
 I6    X  54637 #  define __pthread_decovf_s		_PTHREAD_STATUS_ (27, 4)
 I6    X  54638 #  define __pthread_subrng_s		_PTHREAD_STATUS_ (28, 4)
 I6    X  54639 #  define __pthread_stackovf_s		_PTHREAD_STATUS_ (57, 4)
 I6    X  54640 # endif
 I6	  54641 
 I6	  54642 /*
 I6	  54643  * Synonyms for signal-based exception statuses.
 I6	  54644  */
 I6	  54645 # define __pthread_SIGIOT_s		__pthread_SIGABRT_s
 I6	  54646 # define __pthread_SIGSEGV_s		__pthread_illaddr_s
 I6	  54647 # define __pthread_SIGBUS_s		__pthread_resaddr_s
 I6	  54648 # define __pthread_SIGFPE_s		__pthread_aritherr_s
 I6	  54649 
 I6	  54650 /*
 I6	  54651  * Internal DECthreads exception statuses.
 I6	  54652  */
 I6	  54653 # define __pthread_cancel_s		_PTHREAD_STATUS_ (48, 4)
 I6	  54654 # define __pthread_exit_s		_PTHREAD_STATUS_ (52, 4)
 I6	  54655 
 I6	  54656 /* 
 I6	  54657  * The DECthreads "uniplemented" status.
 I6	  54658  */
 I6	  54659 # define _PTHREAD_UNIMP_S		_PTHREAD_STATUS_ (61, 4)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 986
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  54661 /*
 I6	  54662  * TYPEDEFS
 I6	  54663  */
 I6	  54664 
 I6	  54665 # if defined (_PTHREAD_EXC_VMS)
 I6	  54666 #  ifdef __INITIAL_POINTER_SIZE
 I6	  54667 #   pragma __required_pointer_size __save
 I6	  54668 #   pragma __required_pointer_size __short
 I6	  54669 #  endif
 I6	  54670 # endif
 I6	  54671 
 I6	  54672 typedef void		*__pthreadExcAddr_t, **__pthreadExcAddr_p;
 I6	  54673 typedef long		__pthreadExcLong_t, *__pthreadExcLong_p;
 I6	  54674 typedef short		__pthreadExcShort_t, *__pthreadExcShort_p;
 I6	  54675 typedef unsigned long	__pthreadExcUns_t, *__pthreadExcUns_p;
 I6	  54676 typedef unsigned long	__pthreadStatus_t;
 I6	  54677 
 I6	  54678 /*
 I6	  54679  * Constants for the kind of an exception object.
 I6	  54680  *
 I6	  54681  * There are *currently* only two kinds.  In the address-kind, the identity
 I6	  54682  * of an exception object is its address; in the value-kind, the
 I6	  54683  * identity of an exception object is an integer, typically,
 I6	  54684  * a system-defined-status-value. These coded kinds also
 I6	  54685  * serve as sentinels to help detect uninitialized exceptions.
 I6	  54686  */
 I6	  54687 typedef enum __pthreadExcKind_t {
 I6	  54688     _PTHREAD_EXC_KIND_NONE	= 0,
 I6	  54689     _PTHREAD_EXC_KIND_ADDR	= 0x02130455,
 I6	  54690     _PTHREAD_EXC_KIND_STATUS	= 0x02130456
 I6	  54691     } __pthreadExcKind_t;
 I6	  54692 
 I6	  54693 # if defined (_PTHREAD_EXC_VMS)
 I6	  54694 typedef unsigned __int64	__pthreadExcJumpBuf_t[(14+8+3)];
 I6	  54695 #  if defined (_PTHREAD_EXC_IA64)
 I6	  54696 typedef long double		__pthreadExcJumpBufExt_t[(20)];
 I6	  54697 #  endif
 I6    X  54698 # else
 I6    X  54699 typedef sigjmp_buf		__pthreadExcJumpBuf_t;
 I6    X  54700 # endif
 I6	  54701 
 I6	  54702 # if defined (_PTHREAD_EXC_VMS)
 I6	  54703 typedef __int64	__pthreadExcArg_t, *__pthreadExcArg_p;
 I6    X  54704 # else
 I6    X  54705 typedef long	__pthreadExcArg_t, *__pthreadExcArg_p;
 I6    X  54706 # endif
 I6	  54707 
 I6	  54708 /*
 I6	  54709  * Flags which are stored in the __flags field below.
 I6	  54710  */
 I6	  54711 # define _PTHREAD_EXC_FLG_NATEXC  0x1 /* __args pts to native exc */
 I6	  54712 # define _PTHREAD_EXC_FLG_HEAPARG 0x2 /* __args points to heap mem */
 I6	  54713 
 I6	  54714 typedef struct __pthreadExcExt {
 I6	  54715     __pthreadExcLong_t	__sentinel;
 I6	  54716     __pthreadExcShort_t	__version;
 I6	  54717     __pthreadExcShort_t	__flags;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 987
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6    X  54718 # if defined (_PTHREAD_EXC_UNIX)
 I6    X  54719     unsigned int	__reserved0;	/* Alignment padding */
 I6    X  54720 # endif
 I6	  54721     __pthreadExcAddr_t	__extend;
 I6	  54722     __pthreadExcArg_p	__args;
 I6	  54723     } __pthreadExcExt_t;
 I6	  54724 
 I6	  54725 typedef struct __pthreadExcKindV1Addr {
 I6	  54726     __pthreadExcKind_t	__kind;
 I6    X  54727 # if defined (_PTHREAD_EXC_UNIX)
 I6    X  54728     unsigned int	__reserved0;	/* Alignment padding */
 I6    X  54729 # endif
 I6	  54730     __pthreadExcAddr_t	__address;
 I6	  54731     __pthreadExcUns_t	__filler[6];
 I6	  54732     } __pthreadExcKindV1Addr_t;
 I6	  54733 
 I6	  54734 typedef struct __pthreadExcKindV1Status {
 I6	  54735     __pthreadExcKind_t	__kind;
 I6    X  54736 # if defined (_PTHREAD_EXC_UNIX)
 I6    X  54737     unsigned int	__reserved0;	/* Alignment padding */
 I6    X  54738 # endif
 I6	  54739     __pthreadExcUns_t	__status;
 I6	  54740     __pthreadExcUns_t	__filler[6];
 I6	  54741     } __pthreadExcKindV1Status_t;
 I6	  54742 
 I6	  54743 typedef struct __pthreadExcKindAddr {
 I6	  54744     __pthreadExcKind_t	__kind;
 I6    X  54745 # if defined (_PTHREAD_EXC_UNIX)
 I6    X  54746     unsigned int	__reserved0;	/* Alignment padding */
 I6    X  54747 # endif
 I6	  54748     __pthreadExcAddr_t	__address;
 I6	  54749     __pthreadExcExt_t	__ext;
 I6	  54750     } __pthreadExcKindAddr_t;
 I6	  54751 
 I6	  54752 typedef struct __pthreadExcKindStatus {
 I6	  54753     __pthreadExcKind_t	__kind;
 I6    X  54754 # if defined (_PTHREAD_EXC_UNIX)
 I6    X  54755     unsigned int	__reserved0;	/* Alignment padding */
 I6    X  54756 # endif
 I6	  54757     __pthreadStatus_t	__status;
 I6	  54758     __pthreadExcExt_t	__ext;
 I6	  54759     } __pthreadExcKindStatus_t;
 I6	  54760 
 I6	  54761 typedef union __pthreadExceptionObj {
 I6	  54762     __pthreadExcKind_t		__kind;
 I6	  54763     __pthreadExcKindV1Status_t	__v1status;
 I6	  54764     __pthreadExcKindV1Addr_t	__v1address;
 I6	  54765     __pthreadExcKindStatus_t	__status;
 I6	  54766     __pthreadExcKindAddr_t	__address;
 I6	  54767     } __pthreadExceptionObj_t, *__pthreadExceptionObj_p;
 I6	  54768 
 I6	  54769 /*
 I6	  54770  * Constants for the state of handling in the current TRY clause.
 I6	  54771  *
 I6	  54772  * The implementations of TRY/ENDTRY use the "NONE", "ACTIVE" and "HANDLED"
 I6	  54773  * states.  The state variable defined by the TRY macro is set to "NONE" when
 I6	  54774  * no exception has been raised, "ACTIVE" when one has been raised but has not

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 988
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  54775  * been caught by a CATCH clause, and "HANDLED" after the exception has been
 I6	  54776  * caught and handled by some CATCH clause.
 I6	  54777  */
 I6	  54778 typedef enum __pthreadExcState_t {
 I6	  54779     _PTHREAD_EXC_STATE_ACTIVE	= 0, /* This must be the 0 state, see pop_ctx */
 I6	  54780     _PTHREAD_EXC_STATE_NONE	= 1,
 I6	  54781     _PTHREAD_EXC_STATE_HANDLED	= 2,
 I6	  54782     _PTHREAD_EXC_STATE_POPPED	= 3
 I6	  54783     } __pthreadExcState_t;
 I6	  54784 
 I6	  54785 /*
 I6	  54786  * Structure of a context block.
 I6	  54787  *
 I6	  54788  * A context block is allocated in the current stack frame for each
 I6	  54789  * TRY clause.  These context blocks are linked to form a stack of
 I6	  54790  * all current TRY blocks in the current thread.  Each context block
 I6	  54791  * contains a jump buffer for use by setjmp and longjmp.  Note that
 I6	  54792  * for binary compatibility reasonse the jump buffer must be at the
 I6	  54793  * beginning.
 I6	  54794  */
 I6	  54795 # if defined (_PTHREAD_EXC_VMS)
 I6	  54796 #  define _PTHREAD_EXC_ARGS	160 / sizeof (__pthreadExcArg_t)
 I6	  54797 # endif
 I6	  54798 
 I6    X  54799 # if defined (_PTHREAD_EXC_UNIX)
 I6	  54800 /*
 I6	  54801  * Define the maximum number of parameters we will save in the DECthreads
 I6	  54802  * exception block. Also used to define the cut-off between the fast path
 I6	  54803  * storing of a native exception and the slow path (exceptions larger than
 I6	  54804  * this number of arguments take the slow path).
 I6    X  54805  */
 I6    X  54806 #  define _PTHREAD_EXC_ARGS	5
 I6    X  54807 
 I6    X  54808 /*
 I6    X  54809  * Definition of a native Tru64 UNIX exception; a copy of system_exrec_type
 I6    X  54810  * from excpt.h (but that master definition is not included here for
 I6    X  54811  * namespace reasons).
 I6    X  54812  */
 I6    X  54813 typedef struct __pthreadExcNative {
 I6    X  54814     long		__exceptionCode;	/* reason for exception */
 I6    X  54815     __pthreadExcUns_t	__exceptionFlags;	/* in progress, e.g. unwind */
 I6    X  54816     void		*__exceptionRecord;	/* rec chain, e.g.nested info */
 I6    X  54817     void		*__exceptionAddress;	/* where error occurred */
 I6    X  54818     __pthreadExcUns_t	__numberParameters;	/* # of ExceptionInformation's*/
 I6    X  54819     __pthreadExcUns_t	__exceptionInformation[_PTHREAD_EXC_ARGS];
 I6    X  54820     } __pthreadExcNative_t;
 I6    X  54821 # endif
 I6	  54822 
 I6	  54823 typedef struct __pthreadExcCtx {
 I6	  54824     __pthreadExcJumpBuf_t	__jmp;		/* Jump buffer */
 I6	  54825     volatile struct __pthreadExcCtx *__link;	/* Link to ctx block stack */
 I6	  54826     volatile __pthreadExceptionObj_t __cur_exception; /* Copy of exception */
 I6	  54827     volatile __pthreadExcState_t __exc_state;	/* State of handling for TRY */
 I6	  54828 # if defined (_PTHREAD_EXC_VMS)
 I6	  54829     __pthreadExcAddr_t		__current_frame; /* Addr of curr stack frame */
 I6	  54830 # endif
 I6    X  54831 # if defined (_PTHREAD_EXC_UNIX)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 989
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6    X  54832     unsigned int		__reserved0;	/* Alignment padding */
 I6    X  54833 # endif
 I6	  54834     __pthreadExcLong_t		__sentinel;	/* Identify ctx block */
 I6	  54835     __pthreadExcLong_t		__version;	/* Client context version */
 I6    X  54836 # if defined (_PTHREAD_EXC_UNIX)
 I6    X  54837     __pthreadExcNative_t	__exrec_copy; /* Copy of small foreign exc */
 I6    X  54838 # endif
 I6	  54839 # if defined (_PTHREAD_EXC_VMS)
 I6	  54840     unsigned int		__reserved1;	/* Alignment padding */
 I6	  54841     __pthreadExcArg_t		__exc_args[_PTHREAD_EXC_ARGS];
       E	                                   160 / sizeof ( __pthreadExcArg_t )
 I6	  54842 #  if defined (_PTHREAD_EXC_IA64)
 I6	  54843     __pthreadExcJumpBufExt_t	__jmpExt;	/* IA-64 overflow jump buffer */
 I6	  54844     unsigned __int64		__current_invo;	/* Estab's invo ctx handle */
 I6	  54845     unsigned __int64		__spare0;	/* Spare */
 I6	  54846     unsigned __int64		__spare1;	/* Spare */
 I6	  54847     unsigned __int64		__spare2;	/* Spare */
 I6	  54848     unsigned __int64		__spare3;	/* Spare */
 I6	  54849 #  endif
 I6	  54850 # endif
 I6	  54851     } __pthreadExcCtx_t, *__pthreadExcCtx_p;
 I6	  54852 
 I6	  54853 /*
 I6	  54854  * On VMS IA-64, the exception context object allocated within a TRY block
 I6	  54855  * must be octaword (16 byte) aligned. This ensures that the extended jump
 I6	  54856  * buffer within the context object is octaword aligned (so that the floating
 I6	  54857  * point register spill locations are octaword aligned).
 I6	  54858  */
 I6	  54859 # if defined (_PTHREAD_EXC_IA64) && defined (_PTHREAD_EXC_DECC)
 I6	  54860 #  define __pthreadExcCtxAlign __align (octaword)
 I6    X  54861 # else
 I6    X  54862 #  define __pthreadExcCtxAlign
 I6    X  54863 # endif
 I6	  54864 
 I6	  54865 # if defined (_PTHREAD_EXC_VMS)
 I6	  54866 #  ifdef __INITIAL_POINTER_SIZE
 I6	  54867 #   pragma __required_pointer_size __restore
 I6	  54868 #  endif
 I6	  54869 # endif
 I6	  54870 
 I6	  54871 /*
 I6	  54872  * EXTERNAL ROUTINES
 I6	  54873  */
 I6	  54874 
 I6    X  54875 # if defined (_PTHREAD_EXC_VMS) && defined (_PTHREAD_CORE_BUILD_)
 I6    X  54876 #  define __pthread_exc_handler_np excCoreHandler
 I6    X  54877 # else
 I6	  54878 #  define __pthread_exc_handler_np pthread_exc_handler_np
 I6	  54879 # endif
 I6	  54880 
 I6	  54881 
 I6	  54882 # if defined (_PTHREAD_EXC_VMS)
 I6	  54883 #  if defined (_PTHREAD_EXC_IA64) && defined (_PTHREAD_EXC_DECC)
 I6	  54884 #   define pthread_exc_savecontext_np __pthread_exc_savecontext_np
 I6	  54885 #  endif
 I6	  54886 extern int pthread_exc_savecontext_np (volatile unsigned __int64 *);
       E	            __pthread_exc_savecontext_np

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 990
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6    X  54887 # else
 I6    X  54888 #  if defined (_PTHREAD_EXC_UNIX)
 I6    X  54889 /*
 I6    X  54890  * Tru64 UNIX already provides prototypes for setjmp and longjmp in
 I6    X  54891  * /usr/include/setjmp.h; the prototypes here must be compatible, so we'll
 I6    X  54892  * just cast the volatile jump buffer inside the macro instead of defining an
 I6    X  54893  * appropriate prototype as we do elsewhere.
 I6    X  54894  */
 I6    X  54895 #   define pthread_exc_savecontext_np(__env) sigsetjmp ((__env), 1)
 I6    X  54896 #  else
 I6    X  54897 #   define pthread_exc_savecontext_np(__env) setjmp ((__env))
 I6    X  54898 #  endif
 I6    X  54899 # endif
 I6	  54900 
 I6	  54901 /*
 I6	  54902  * On VMS, use an extern function to get the FP
 I6	  54903  */
 I6	  54904 # if defined (_PTHREAD_EXC_VMS)
 I6	  54905 #  if defined (_PTHREAD_EXC_IA64)
 I6	  54906 extern unsigned __int64 pthread_exc_fetch_fp_np (void);
 I6    X  54907 #  else
 I6    X  54908 extern __pthreadExcAddr_t pthread_exc_fetch_fp_np (void);
 I6    X  54909 #  endif
 I6	  54910 # endif
 I6    X  54911 # if defined (_PTHREAD_EXC_USE_NATIVE)
 I6    X  54912 extern int pthread_exc_filter_np (
 I6    X  54913 	__pthreadExcState_t, void *, __pthreadExceptionObj_p);
 I6    X  54914 # endif
 I6	  54915 extern void pthread_exc_get_message_np (__pthreadExceptionObj_p, int, char *);
 I6	  54916 extern int pthread_exc_matches_np (
 I6	  54917 	__pthreadExceptionObj_p, __pthreadExceptionObj_p);
 I6	  54918 extern void pthread_exc_pop_ctx_np (__pthreadExcCtx_p);
 I6	  54919 extern void pthread_exc_push_ctx_np (__pthreadExcCtx_p);
 I6	  54920 extern void pthread_exc_raise_np (__pthreadExceptionObj_p);
 I6	  54921 extern void pthread_exc_raise_status_np (__pthreadStatus_t);
 I6	  54922 extern void pthread_exc_report_np (__pthreadExceptionObj_p);
 I6	  54923 
 I6	  54924 # if defined (_PTHREAD_EXC_VMS) && !defined (_PTHREAD_SUPPRESS_EXTERNALS_)
 I6	  54925 /*
 I6	  54926  * System condition handler
 I6	  54927  *
 I6	  54928  * The declaration below is conditionalized to allow for compilation on
 I6	  54929  * V7.1 systems.  On OpenVMS V7.1, for the __NEW_STARLET case only,
 I6	  54930  * chf$mech_array equates to a type (CHFDEF2), whereas for the default
 I6	  54931  * (__OLD_STARLET) case, it equates to a structure tag.  As of V7.2,
 I6	  54932  * chfdef.h was modified to equate chf$mech_array to the structure tag
 I6	  54933  * regardless of the __NEW_STARLET value.
 I6	  54934  */
 I6	  54935 #  pragma nostandard
 I6	  54936 extern int
 I6    X  54937 #  if (__VMS_VER < 70200000) && defined (__NEW_STARLET)
 I6    X  54938 __pthread_exc_handler_np (unsigned int[], chf$mech_array*);
 I6    X  54939 #  else
 I6	  54940 __pthread_exc_handler_np (unsigned int[], struct chf$mech_array*);
       E	 pthread_exc_handler_np
       E	                                                  chfdef2
 I6	  54941 #  endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 991
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  54942 #  pragma standard
 I6	  54943 # endif
 I6	  54944 
 I6	  54945 /*
 I6	  54946  * CONSTANTS AND MACROS
 I6	  54947  */
 I6	  54948 
 I6	  54949 /*
 I6	  54950  * Define exception initializer macro. All exceptions *must* be initialized
 I6	  54951  * using this macro.
 I6	  54952  */
 I6    X  54953 # if defined (_PTHREAD_EXC_UNIX)
 I6	  54954 #  define PTHREAD_EXCEPTION_INIT_NP(_e_)   ( \
 I6	  54955     (_e_).__address.__address = (__pthreadExcAddr_t)&(_e_), \
 I6	  54956     (_e_).__address.__kind = _PTHREAD_EXC_KIND_ADDR, \
 I6	  54957     (_e_).__address.__ext.__sentinel = _PTHREAD_EXC_NEWMAGIC, \
 I6	  54958     (_e_).__address.__ext.__version = _PTHREAD_EXC_VER_CUR, \
 I6	  54959     (_e_).__address.__ext.__flags = 0, \
 I6	  54960     (_e_).__address.__ext.__reserved0 = 0, \
 I6	  54961     (_e_).__address.__ext.__extend = (__pthreadExcAddr_t)0L, \
 I6    X  54962     (_e_).__address.__ext.__args = (__pthreadExcArg_p)0L)
 I6    X  54963 # else
 I6	  54964 #  define PTHREAD_EXCEPTION_INIT_NP(_e_)   ( \
 I6	  54965     (_e_).__address.__address = (__pthreadExcAddr_t)&(_e_), \
 I6	  54966     (_e_).__address.__kind = _PTHREAD_EXC_KIND_ADDR, \
 I6	  54967     (_e_).__address.__ext.__sentinel = _PTHREAD_EXC_NEWMAGIC, \
 I6	  54968     (_e_).__address.__ext.__version = _PTHREAD_EXC_VER_CUR, \
 I6	  54969     (_e_).__address.__ext.__flags = 0, \
 I6	  54970     (_e_).__address.__ext.__extend = (__pthreadExcAddr_t)0L, \
 I6	  54971     (_e_).__address.__ext.__args = (__pthreadExcArg_p)0L)
 I6	  54972 # endif
 I6	  54973 
 I6	  54974 /*
 I6	  54975  * Define a function to convert a portable address exception to a platform
 I6	  54976  * specific status exception.
 I6	  54977  */
 I6	  54978 # if defined (_PTHREAD_EXC_VMS)
 I6	  54979 #  define pthread_exc_set_status_np(_e_,_s_) ( \
 I6	  54980     (_e_)->__status.__kind = _PTHREAD_EXC_KIND_STATUS, \
 I6	  54981     (_e_)->__status.__status = ((_s_) & ~7) | 4)
 I6    X  54982 # else
 I6	  54983 #  define pthread_exc_set_status_np(_e_,_s_) ( \
 I6	  54984     (_e_)->__status.__kind = _PTHREAD_EXC_KIND_STATUS, \
 I6    X  54985     (_e_)->__status.__status = (_s_))
 I6    X  54986 # endif
 I6	  54987 
 I6	  54988 /*
 I6	  54989  * Define "routine" to return the status of an exception. Returns 0 if status
 I6	  54990  * kind (and value of status in *s), or EINVAL if not status kind.
 I6	  54991  */
 I6	  54992 # define pthread_exc_get_status_np(_e_,_s_) ( \
 I6	  54993     (_e_)->__status.__kind == _PTHREAD_EXC_KIND_STATUS ? \
 I6	  54994 	(*(_s_) = (_e_)->__status.__status, 0) : \
 I6	  54995 	EINVAL)
 I6	  54996 
 I6	  54997 /*
 I6	  54998  * Define "statement" for clients to use to raise an exception.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 992
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  54999  */
 I6	  55000 # define PTHREAD_RAISE_NP(_e_) pthread_exc_raise_np (&(_e_))
 I6	  55001 
 I6	  55002 # if defined (_PTHREAD_EXC_VMS)
 I6	  55003 #   pragma nostandard
 I6	  55004 #   if defined (_PTHREAD_EXC_IA64)
 I6	  55005 #    define pthread_exc_estab_field __current_invo
 I6    X  55006 #   else
 I6    X  55007 #    define pthread_exc_estab_field __current_frame
 I6    X  55008 #   endif
 I6	  55009 #   define pthread_exc_establish_np(_exc_ctx_) \
 I6	  55010 	(_exc_ctx_)->pthread_exc_estab_field = pthread_exc_fetch_fp_np (); \
 I6	  55011 	lib$establish (__pthread_exc_handler_np);
 I6	  55012 #   pragma standard
 I6	  55013 #   define pthread_exc_unestablish_np(_exc_ctx_)
 I6    X  55014 # else
 I6    X  55015 #  define pthread_exc_establish_np(_exc_ctx_)
 I6    X  55016 #  define pthread_exc_unestablish_np(_exc_ctx_)
 I6    X  55017 # endif
 I6	  55018 
 I6	  55019 /*
 I6	  55020  * Define version constants to be put into exception context structures.
 I6	  55021  *
 I6	  55022  * o  V2 is for OpenVMS Alpha and non-native Tru64 UNIX exception handling.
 I6	  55023  * o  V3 is for native Tru64 UNIX exception handling.
 I6	  55024  * o  V4 was added in Tru64 UNIX V4.0D (with the __reserved0 field).
 I6	  55025  * o  V5 is for support of UNIX foreign exceptions (space added to hold a copy
 I6	  55026  *    of a small native exception with arguments).
 I6	  55027  * o  V6 is for support of IA-64 under OpenVMS V8.0 and V8.1, which requires a
 I6	  55028  *    larger jump buffer.
 I6	  55029  * o  V7 is for support of IA-64 under OpenVMS V8.2, which adds the current
 I6	  55030  *    invo field.
 I6	  55031  *
 I6	  55032  * This code checks the version to see how it should behave.
 I6	  55033  */
 I6	  55034 # define _PTHREAD_EXC_CTX_V2	2
 I6	  55035 # define _PTHREAD_EXC_CTX_V3	3
 I6	  55036 # define _PTHREAD_EXC_CTX_V4	4
 I6	  55037 # define _PTHREAD_EXC_CTX_V5	5
 I6	  55038 # define _PTHREAD_EXC_CTX_V6	6
 I6	  55039 # define _PTHREAD_EXC_CTX_V7	7
 I6	  55040 
 I6    X  55041 # if defined (_PTHREAD_EXC_USE_NATIVE)
 I6    X  55042 #  define _PTHREAD_EXC_CTX_CUR	_PTHREAD_EXC_CTX_V5
 I6    X  55043 # else
 I6	  55044 #  if defined (_PTHREAD_EXC_IA64)
 I6	  55045 #   define _PTHREAD_EXC_CTX_CUR	_PTHREAD_EXC_CTX_V7
 I6    X  55046 #  else
 I6    X  55047 #   define _PTHREAD_EXC_CTX_CUR	_PTHREAD_EXC_CTX_V2
 I6    X  55048 #  endif
 I6	  55049 # endif
 I6	  55050 
 I6	  55051 /*
 I6	  55052  * Start a new TRY block, which may contain exception handlers.
 I6	  55053  *
 I6	  55054  * For Tru64 UNIX:
 I6	  55055  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 993
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55056  *   Set up a native C "try {} except() {}" block. Note that previous
 I6	  55057  *   implementations of TRY/ENDTRY on Tru64 UNIX used setjmp/longjmp as
 I6	  55058  *   described below. We still have to use a context block to make sure
 I6	  55059  *   pthread_exc_raise_np() will know how to raise the exception. So we
 I6	  55060  *   allocate a context block on the stack to remember the current exception.
 I6	  55061  *   Push it on the context block stack. Initialize this context block to
 I6	  55062  *   indicate that no exception is active. Then we enter the while loop
 I6	  55063  *   surrounding the native try block. The try block guards a block of
 I6	  55064  *   statements ended by one of the following macros: CATCH, CATCH_ALL,
 I6	  55065  *   FINALLY or ENDTRY.
 I6	  55066  *
 I6	  55067  * For all other platforms:
 I6	  55068  *
 I6	  55069  *   Allocate a context block on the stack to remember the current exception.
 I6	  55070  *   Push it on the context block stack. Initialize this context block to
 I6	  55071  *   indicate that no exception is active. Do a SETJMP to snapshot this
 I6	  55072  *   environment (or return to it). Then, start a block of statements to be
 I6	  55073  *   guarded by the TRY clause. This block will be ended by one of the
 I6	  55074  *   following macros: CATCH, CATCH_ALL, FINALLY or ENDTRY.
 I6	  55075  */
 I6	  55076 # if defined (_PTHREAD_EXC_VMS)
 I6	  55077 #  define _PTHREAD_INIT_CTX(_ctx_) \
 I6	  55078 	PTHREAD_EXCEPTION_INIT_NP (_ctx_.__cur_exception); \
 I6	  55079 	_ctx_.__cur_exception.__kind = _PTHREAD_EXC_KIND_STATUS; \
 I6	  55080 	_ctx_.__exc_state = _PTHREAD_EXC_STATE_NONE; \
 I6	  55081 	_ctx_.__sentinel = _PTHREAD_EXC_NEWMAGIC; \
 I6	  55082 	_ctx_.__version = _PTHREAD_EXC_CTX_CUR; \
 I6	  55083 	_ctx_.__exc_args[0] = (__pthreadExcArg_t)0
 I6    X  55084 # else
 I6	  55085 #  define _PTHREAD_INIT_CTX(_ctx_) \
 I6	  55086 	PTHREAD_EXCEPTION_INIT_NP (_ctx_.__cur_exception); \
 I6	  55087 	_ctx_.__cur_exception.__kind = _PTHREAD_EXC_KIND_STATUS; \
 I6	  55088 	_ctx_.__exc_state = _PTHREAD_EXC_STATE_NONE; \
 I6	  55089 	_ctx_.__sentinel = _PTHREAD_EXC_NEWMAGIC; \
 I6    X  55090 	_ctx_.__version = _PTHREAD_EXC_CTX_CUR
 I6    X  55091 # endif
 I6    X  55092 # if defined (_PTHREAD_EXC_USE_NATIVE)
 I6	  55093 #  define PTHREAD_TRY_NP \
 I6	  55094     { \
 I6	  55095     __pthreadExcCtx_t __exc_ctx__; \
 I6	  55096     _PTHREAD_INIT_CTX (__exc_ctx__); \
 I6	  55097     pthread_exc_push_ctx_np (&__exc_ctx__); \
 I6	  55098     while (__exc_ctx__.__exc_state != _PTHREAD_EXC_STATE_HANDLED) { \
 I6	  55099 	_PTHREAD_NATIVE_TRY { \
 I6    X  55100 	    if (__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_NONE) {
 I6    X  55101 	    /* user's block of code goes here */
 I6    X  55102 # else
 I6	  55103 #  define PTHREAD_TRY_NP \
 I6	  55104     { \
 I6	  55105     __pthreadExcCtx_t __pthreadExcCtxAlign __exc_ctx__; \
 I6	  55106     _PTHREAD_INIT_CTX (__exc_ctx__); \
 I6	  55107     pthread_exc_push_ctx_np (&__exc_ctx__); \
 I6	  55108     pthread_exc_establish_np (&__exc_ctx__); \
 I6	  55109     if (!pthread_exc_savecontext_np (__exc_ctx__.__jmp)) {
 I6	  55110 	/* user's block of code goes here */
 I6	  55111 # endif
 I6	  55112 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 994
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55113 /*
 I6	  55114  * Define an PTHREAD_CATCH_NP(_e_) clause (or exception handler).
 I6	  55115  *
 I6	  55116  * For all platforms:
 I6	  55117  *
 I6	  55118  *   First, end the prior block. Then, check if the current exception matches
 I6	  55119  *   what the user is trying to catch with the CATCH clause. If there is a
 I6	  55120  *   match, a variable is declared to support lexical nesting of
 I6	  55121  *   PTHREAD_RERAISE_NP statements, and the state of the current exception is
 I6	  55122  *   changed to "handled".
 I6	  55123  *
 I6	  55124  * For Tru64 UNIX:
 I6	  55125  *   Note we have to make sure we are in the correct state to deal with with
 I6	  55126  *   the exception at all.
 I6	  55127  */
 I6    X  55128 # if defined (_PTHREAD_EXC_USE_NATIVE)
 I6	  55129 #  define PTHREAD_CATCH_NP(_e_) \
 I6	  55130     } \
 I6	  55131     if ((__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_ACTIVE) \
 I6	  55132 	    && (pthread_exc_matches_np ( \
 I6	  55133 		    (__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception, \
 I6	  55134 		    &(_e_)))) { \
 I6	  55135 	__pthreadExceptionObj_p PTHREAD_THIS_CATCH_NP = \
 I6	  55136 	    (__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception; \
 I6    X  55137 	__exc_ctx__.__exc_state = _PTHREAD_EXC_STATE_HANDLED;
 I6    X  55138 	/* user's block of code goes here */
 I6    X  55139 # else
 I6	  55140 #  define PTHREAD_CATCH_NP(_e_) \
 I6	  55141 	} \
 I6	  55142     else if (pthread_exc_matches_np ( \
 I6	  55143 	    (__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception, &(_e_))) { \
 I6	  55144 	__pthreadExceptionObj_p PTHREAD_THIS_CATCH_NP = \
 I6	  55145 		(__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception; \
 I6	  55146 	__exc_ctx__.__exc_state = _PTHREAD_EXC_STATE_HANDLED;
 I6	  55147 	/* user's block of code goes here */
 I6	  55148 # endif
 I6	  55149 
 I6	  55150 /*
 I6	  55151  * Define an PTHREAD_CATCH_ALL_NP clause (or "catchall" handler).
 I6	  55152  *
 I6	  55153  * For all other platforms:
 I6	  55154  *
 I6	  55155  *   First, end the prior block. Then, unconditionally, let execution enter
 I6	  55156  *   into the catchall code. As with a normal catch, a variable is declared
 I6	  55157  *   to support lexical nesting of PTHREAD_RERAISE_NP statements, and the
 I6	  55158  *   state of the current exception is changed to "handled".
 I6	  55159  *
 I6	  55160  * For Tru64 UNIX:
 I6	  55161  *   Note we have to make sure we are in the correct state to deal with with
 I6	  55162  *   the exception at all.
 I6	  55163  */
 I6    X  55164 # if defined (_PTHREAD_EXC_USE_NATIVE)
 I6	  55165 #  define PTHREAD_CATCH_ALL_NP \
 I6	  55166 		} \
 I6	  55167 	    if (__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_ACTIVE) { \
 I6	  55168 		__pthreadExceptionObj_p PTHREAD_THIS_CATCH_NP = \
 I6	  55169 			(__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception; \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 995
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6    X  55170 		__exc_ctx__.__exc_state = _PTHREAD_EXC_STATE_HANDLED;
 I6    X  55171 		/* user's block of code goes here */
 I6    X  55172 # else
 I6	  55173 #  define PTHREAD_CATCH_ALL_NP \
 I6	  55174 	} \
 I6	  55175     else { \
 I6	  55176 	__pthreadExceptionObj_p PTHREAD_THIS_CATCH_NP = \
 I6	  55177 		(__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception; \
 I6	  55178 	__exc_ctx__.__exc_state = _PTHREAD_EXC_STATE_HANDLED;
 I6	  55179 	/* user's block of code goes here */
 I6	  55180 # endif
 I6	  55181 
 I6	  55182 /*
 I6	  55183  * Define a PTHREAD_RERAISE_NP statement.
 I6	  55184  *
 I6	  55185  * This "statement" is valid only if lexically nested in a CATCH or
 I6	  55186  * CATCH_ALL clause.  Reraise the current lexically visible exception.
 I6	  55187  */
 I6	  55188 # define PTHREAD_RERAISE_NP pthread_exc_raise_np (PTHREAD_THIS_CATCH_NP)
 I6	  55189 
 I6	  55190 /*
 I6	  55191  * Define a PTHREAD_FINALLY_NP clause
 I6	  55192  *
 I6	  55193  * For all platforms:
 I6	  55194  *
 I6	  55195  *   This "keyword" starts a PTHREAD_FINALLY_NP clause.  It must appear before
 I6	  55196  *   an ENDTRY.  A PTHREAD_FINALLY_NP clause will be entered after normal exit
 I6	  55197  *   of the TRY block, or if an unhandled exception tries to propagate
 I6	  55198  *   out of the TRY block.
 I6	  55199  *
 I6	  55200  *   Unlike Modula 3's TRY clause, we do not expend overhead trying to
 I6	  55201  *   enforce that FINALLY be mutually exclusive with CATCH clauses.  Currently,
 I6	  55202  *   if they are used together, then control will drop into a FINALLY clause
 I6	  55203  *   under the following conditions:
 I6	  55204  *	o normal exit from TRY,
 I6	  55205  *	o an exception is raised and no CATCH is present (recommended usage)
 I6	  55206  *	o CATCH's are present but none matches the exception.
 I6	  55207  *	o CATCH's are present and one matches the exception, but it
 I6	  55208  *	  does not raise or reraise any exceptions.
 I6	  55209  *   That is, FINALLY is always entered after TRY unless a CATCH clause raises
 I6	  55210  *   (or re-raises) an exception.
 I6	  55211  *
 I6	  55212  *			** WARNING **
 I6	  55213  *   You should *avoid* using FINALLY with CATCH clauses, that is, use it
 I6	  55214  *   only as TRY {} FINALLY {} ENDTRY.  Source code that combines CATCHes
 I6	  55215  *   with FINALLY in the same TRY clause is considered "unsupported"
 I6	  55216  *   -- that is, such code may be broken by a future version of this
 I6	  55217  *   package.
 I6	  55218  *
 I6	  55219  *   There are several reasons this restriction is necessary:
 I6	  55220  *	o FINALLY may be added to C++ and its combination with CATCH
 I6	  55221  *	  clauses may have different semantics than implemented by these macros.
 I6	  55222  *	o The restriction is consistant with the same restriction in Modula 3
 I6	  55223  *	o It allows the use of the 2-phase or "debugging" implementation
 I6	  55224  *	  technique of the SRC exception package for these same macros.
 I6	  55225  */
 I6    X  55226 # if defined (_PTHREAD_EXC_USE_NATIVE)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 996
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55227 #  define PTHREAD_FINALLY_NP \
 I6	  55228 		} \
 I6	  55229 	    if (__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_NONE) { \
 I6	  55230 		pthread_exc_pop_ctx_np (&__exc_ctx__); \
 I6	  55231 		__exc_ctx__.__exc_state = _PTHREAD_EXC_STATE_HANDLED; \
 I6	  55232 		} \
 I6	  55233 	    { \
 I6	  55234 	    __pthreadExceptionObj_p PTHREAD_THIS_CATCH_NP = \
 I6    X  55235 		    (__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception;
 I6    X  55236 	    /* user's block of code goes here */
 I6    X  55237 # else
 I6	  55238 #  define PTHREAD_FINALLY_NP \
 I6	  55239 	} \
 I6	  55240     if (__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_NONE) \
 I6	  55241 	pthread_exc_pop_ctx_np (&__exc_ctx__); \
 I6	  55242 	{ \
 I6	  55243 	__pthreadExceptionObj_p PTHREAD_THIS_CATCH_NP = \
 I6	  55244 		(__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception;
 I6	  55245 	/* user's block of code goes here */
 I6	  55246 # endif
 I6	  55247 
 I6	  55248 /*
 I6	  55249  * End the whole TRY clause
 I6	  55250  *
 I6	  55251  * For Tru64 UNIX:
 I6	  55252  *   There are two main parts to the operation to this macro. The first thing
 I6	  55253  *   we do is close of the previous block. Then we define the except clause
 I6	  55254  *   for the native try/except block and then we close out the while loop.
 I6	  55255  *   The while loop is used to drive the state machine which the TRY macro
 I6	  55256  *   began to setup. If we have reached this point in the loop and the state
 I6	  55257  *   of the exception is "ACTIVE" we will raise the exception to allow
 I6	  55258  *   another frame to handle it. Note that we don't have to remove the
 I6	  55259  *   context block from the stack since the process of raising an exception
 I6	  55260  *   already does. If the state is "NONE" when we reach this point, we remove
 I6	  55261  *   the context block and change our state to "HANDLED" so that we can exit
 I6	  55262  *   TRY block normally.
 I6	  55263  *
 I6	  55264  *   The except clause is what causes the state to be changed from "NONE" to
 I6	  55265  *   "ACTIVE". When a native exception is raised, the except clause calls the
 I6	  55266  *   filter routine to decide if the exception should be handled. The filter
 I6	  55267  *   is called with the current state of our TRY block, the exception which
 I6	  55268  *   is being raised and the __pthreadExceptionObj_t structure to be filled
 I6	  55269  *   in should we want to handle the exception. The filter asks if the
 I6	  55270  *   exception is a native DECthreads exception being raised. If so, the
 I6	  55271  *   exception structure is filled in and then exception facility called the
 I6	  55272  *   exception block defined after the except statement. The exception block
 I6	  55273  *   simply changes the state of our TRY block from "NONE" to "ACTIVE". We
 I6	  55274  *   have now "caught" the exception and we loop back up to beginning of the
 I6	  55275  *   TRY block and look for any CATCH blocks or a FINALLY block to execute.
 I6	  55276  *
 I6	  55277  * For all other platforms:
 I6	  55278  *   We close off the block for the previous block and then tear down the
 I6	  55279  *   context we established in the opening TRY. If an exception never
 I6	  55280  *   occurred or we did not handle the exception, we pop the context block
 I6	  55281  *   off the context stack. Note that popping the context block off the stack
 I6	  55282  *   will cause an exception to be raised if the context block describes an
 I6	  55283  *   unhandled exception.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 997
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55284  */
 I6    X  55285 # if defined (_PTHREAD_EXC_USE_NATIVE)
 I6	  55286 #  define PTHREAD_ENDTRY_NP \
 I6	  55287 	    } \
 I6	  55288 	    if ((__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_NONE) \
 I6	  55289 		    || (__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_ACTIVE)) \
 I6	  55290 		pthread_exc_pop_ctx_np (&__exc_ctx__); \
 I6	  55291 		__exc_ctx__.__exc_state = _PTHREAD_EXC_STATE_HANDLED; \
 I6	  55292 	    } \
 I6	  55293 	_PTHREAD_NATIVE_EXCEPT (pthread_exc_filter_np ( \
 I6	  55294 		    __exc_ctx__.__exc_state, \
 I6	  55295 		    (void *)_PTHREAD_NATIVE_INFO, \
 I6	  55296 		    (__pthreadExceptionObj_p)&__exc_ctx__.__cur_exception)) { \
 I6	  55297 	    __exc_ctx__.__exc_state = _PTHREAD_EXC_STATE_ACTIVE; \
 I6	  55298 	    } \
 I6	  55299 	} \
 I6    X  55300     }
 I6    X  55301 # else
 I6	  55302 #  define PTHREAD_ENDTRY_NP \
 I6	  55303 	} \
 I6	  55304     pthread_exc_unestablish_np (&__exc_ctx__); \
 I6	  55305     if ((__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_NONE) \
 I6	  55306 	    || (__exc_ctx__.__exc_state == _PTHREAD_EXC_STATE_ACTIVE)) \
 I6	  55307 	pthread_exc_pop_ctx_np (&__exc_ctx__); \
 I6	  55308     }
 I6	  55309 # endif
 I6	  55310 
 I6	  55311 /*
 I6	  55312  * Define the exception variables
 I6	  55313  */
 I6	  55314 # if defined (__STDC__) || defined (_PTHREAD_EXC_DECC) || defined (_PTHREAD_EXC_CXX)
 I6	  55315 #  define _PTHREAD_EXCNAME(name)	pthread_exc_##name##_e
 I6	  55316 #  define _PTHREAD_PTDNAME(name)	pthread_##name##_e
 I6    X  55317 # else
 I6    X  55318 #  define _PTHREAD_EXCNAME(name)	pthread_exc_/**/name/**/_e
 I6    X  55319 #  define _PTHREAD_PTDNAME(name)	pthread_/**/name/**/_e
 I6    X  55320 # endif
 I6	  55321 
 I6	  55322 # if !defined (_EXC_NO_EXCEPTIONS_) && !defined (_PTHREAD_CORE_BUILD_)
 I6	  55323 _PTHREAD_EXC_IMPORT_ __pthreadExceptionObj_t
       E	 extern
 I6	  55324     _PTHREAD_EXCNAME (uninitexc),
       E	     pthread_exc_uninitexc_e
 I6	  55325     _PTHREAD_EXCNAME (illaddr),
       E	     pthread_exc_illaddr_e
 I6	  55326     _PTHREAD_EXCNAME (exquota),
       E	     pthread_exc_exquota_e
 I6	  55327     _PTHREAD_EXCNAME (insfmem),
       E	     pthread_exc_insfmem_e
 I6	  55328     _PTHREAD_EXCNAME (nopriv),
       E	     pthread_exc_nopriv_e
 I6	  55329     _PTHREAD_EXCNAME (illinstr),
       E	     pthread_exc_illinstr_e
 I6	  55330     _PTHREAD_EXCNAME (resaddr),
       E	     pthread_exc_resaddr_e
 I6	  55331     _PTHREAD_EXCNAME (privinst),
       E	     pthread_exc_privinst_e

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 998
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55332     _PTHREAD_EXCNAME (resoper),
       E	     pthread_exc_resoper_e
 I6	  55333     _PTHREAD_EXCNAME (SIGTRAP),
       E	     pthread_exc_SIGTRAP_e
 I6	  55334     _PTHREAD_EXCNAME (SIGABRT),
       E	     pthread_exc_SIGABRT_e
 I6	  55335     _PTHREAD_EXCNAME (SIGEMT),
       E	     pthread_exc_SIGEMT_e
 I6	  55336     _PTHREAD_EXCNAME (aritherr),
       E	     pthread_exc_aritherr_e
 I6	  55337     _PTHREAD_EXCNAME (SIGSYS),
       E	     pthread_exc_SIGSYS_e
 I6	  55338     _PTHREAD_EXCNAME (SIGPIPE),
       E	     pthread_exc_SIGPIPE_e
 I6	  55339     _PTHREAD_EXCNAME (excpu),
       E	     pthread_exc_excpu_e
 I6	  55340     _PTHREAD_EXCNAME (exfilsiz),
       E	     pthread_exc_exfilsiz_e
 I6	  55341     _PTHREAD_EXCNAME (intovf),
       E	     pthread_exc_intovf_e
 I6	  55342     _PTHREAD_EXCNAME (intdiv),
       E	     pthread_exc_intdiv_e
 I6	  55343     _PTHREAD_EXCNAME (fltovf),
       E	     pthread_exc_fltovf_e
 I6	  55344     _PTHREAD_EXCNAME (fltdiv),
       E	     pthread_exc_fltdiv_e
 I6	  55345     _PTHREAD_EXCNAME (fltund),
       E	     pthread_exc_fltund_e
 I6	  55346     _PTHREAD_EXCNAME (decovf),
       E	     pthread_exc_decovf_e
 I6	  55347     _PTHREAD_EXCNAME (subrng),
       E	     pthread_exc_subrng_e
 I6	  55348     _PTHREAD_PTDNAME (cancel),
       E	     pthread_cancel_e
 I6	  55349     _PTHREAD_PTDNAME (exit),
       E	     pthread_exit_e
 I6	  55350     _PTHREAD_PTDNAME (stackovf),
       E	     pthread_stackovf_e
 I6	  55351     _PTHREAD_EXCNAME (noexcmem);
       E	     pthread_exc_noexcmem_e
 I6	  55352 
 I6	  55353 #  define pthread_exc_SIGIOT_e	pthread_exc_SIGABRT_e
 I6	  55354 #  define pthread_exc_SIGSEGV_e	pthread_exc_illaddr_e
 I6	  55355 #  define pthread_exc_SIGBUS_e	pthread_exc_resaddr_e
 I6	  55356 #  define pthread_exc_SIGFPE_e	pthread_exc_aritherr_e
 I6	  55357 #  define pthread_exc_SIGILL_e	pthread_exc_illinstr_e
 I6	  55358 # endif
 I6	  55359 
 I6	  55360 # if defined (_PTHREAD_EXC_DECC) && defined (_PTHREAD_EXC_VMS)
 I6	  55361 #  pragma __extern_model __restore
 I6	  55362 # endif
 I6	  55363 
 I6    X  55364 # ifdef __cplusplus
 I6    X  55365     }
 I6    X  55366 # endif
 I6	  55367 
 I6	  55368 #endif					/* _PTHREAD_EXCEPTION_CLEAN */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 999
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55369 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1000
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55371 /*
 I6	  55372  * The following section of this file contains definitions which are not in
 I6	  55373  * the protected part of the namespace.
 I6	  55374  */
 I6	  55375 #if !defined (_PTHREAD_EXCEPTION_POLLUTING) && !defined (_PTHREAD_EXC_INCL_CLEAN)
 I6	  55376 # define _PTHREAD_EXCEPTION_POLLUTING
 I6	  55377 
 I6    X  55378 # ifdef __cplusplus
 I6    X  55379     extern "C" {
 I6    X  55380 # endif
 I6	  55381 
 I6	  55382 /*
 I6	  55383  * Define external version of status codes
 I6	  55384  */
 I6	  55385 # define pthread_exception_s		__pthread_exception_s
 I6	  55386 # define pthread_exccop_s		__pthread_exccop_s
 I6	  55387 # define pthread_uninitexc_s		__pthread_uninitexc_s
 I6	  55388 # define pthread_unkstatus_s		__pthread_unkstatus_s
 I6	  55389 # define pthread_exccoplos_s		__pthread_exccoplos_s
 I6	  55390 # define pthread_noexcmem_s		__pthread_noexcmem_s
 I6	  55391 
 I6	  55392 # define pthread_illaddr_s		__pthread_illaddr_s
 I6	  55393 # define pthread_exquota_s		__pthread_exquota_s
 I6	  55394 # define pthread_nopriv_s		__pthread_nopriv_s
 I6	  55395 # define pthread_insfmem_s		__pthread_insfmem_s
 I6	  55396 # define pthread_normal_s		__pthread_normal_s
 I6	  55397 # define pthread_illinstr_s		__pthread_illinstr_s
 I6	  55398 # define pthread_resaddr_s		__pthread_resaddr_s
 I6	  55399 # define pthread_privinst_s		__pthread_privinst_s
 I6	  55400 # define pthread_resoper_s		__pthread_resoper_s
 I6	  55401 # define pthread_SIGTRAP_s		__pthread_SIGTRAP_s
 I6	  55402 # define pthread_SIGABRT_s		__pthread_SIGABRT_s
 I6	  55403 # define pthread_SIGEMT_s		__pthread_SIGEMT_s
 I6	  55404 # define pthread_aritherr_s		__pthread_aritherr_s
 I6	  55405 # define pthread_SIGSYS_s		__pthread_SIGSYS_s
 I6	  55406 # define pthread_SIGPIPE_s		__pthread_SIGPIPE_s
 I6	  55407 # define pthread_excpu_s		__pthread_excpu_s
 I6	  55408 # define pthread_exfilsiz_s		__pthread_exfilsiz_s
 I6	  55409 # define pthread_intovf_s		__pthread_intovf_s
 I6	  55410 # define pthread_intdiv_s		__pthread_intdiv_s
 I6	  55411 # define pthread_fltovf_s		__pthread_fltovf_s
 I6	  55412 # define pthread_fltdiv_s		__pthread_fltdiv_s
 I6	  55413 # define pthread_fltund_s		__pthread_fltund_s
 I6	  55414 # define pthread_decovf_s		__pthread_decovf_s
 I6	  55415 # define pthread_subrng_s		__pthread_subrng_s
 I6	  55416 # define pthread_stackovf_s		__pthread_stackovf_s
 I6	  55417 
 I6	  55418 # define pthread_SIGIOT_s		__pthread_SIGABRT_s
 I6	  55419 # define pthread_SIGSEGV_s		__pthread_illaddr_s
 I6	  55420 # define pthread_SIGBUS_s		__pthread_resaddr_s
 I6	  55421 # define pthread_SIGFPE_s		__pthread_aritherr_s
 I6	  55422 
 I6	  55423 # define pthread_cancel_s		__pthread_cancel_s
 I6	  55424 # define pthread_exit_s			__pthread_exit_s
 I6	  55425 
 I6	  55426 typedef __pthreadExceptionObj_t	EXCEPTION;
 I6	  55427 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1001
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD_EXCEPTION)

 I6	  55428 /*
 I6	  55429  * Define the documented ("polluted") external names for the exception
 I6	  55430  * macros.
 I6	  55431  */
 I6	  55432 
 I6	  55433 # define EXCEPTION_INIT(__e)	PTHREAD_EXCEPTION_INIT_NP (__e)
 I6	  55434 # define RAISE(__e)		PTHREAD_RAISE_NP (__e)
 I6	  55435 # define TRY			PTHREAD_TRY_NP
 I6	  55436 # define ENDTRY			PTHREAD_ENDTRY_NP
 I6	  55437 # define FINALLY		PTHREAD_FINALLY_NP
 I6	  55438 # define CATCH_ALL		PTHREAD_CATCH_ALL_NP
 I6	  55439 # define RERAISE		PTHREAD_RERAISE_NP
 I6	  55440 # define THIS_CATCH		PTHREAD_THIS_CATCH_NP
 I6	  55441 # define CATCH(__e)		PTHREAD_CATCH_NP (__e)
 I6	  55442 
 I6    X  55443 # ifdef __cplusplus
 I6    X  55444     }
 I6    X  55445 # endif
 I6	  55446 
 I6	  55447 #endif
 I5    X  55448 #ifdef _PTHREAD_EXC_INCL_CLEAN
 I5    X  55449 # undef _PTHREAD_EXC_INCL_CLEAN
 I5    X  55450 #endif
 I5	  55451 
 I5    X  55452 #if defined (_PTHREAD_ENV_UNIX)
 I5    X  55453 # if defined (_OSF_SOURCE) && defined (_PTHREAD_ENV_ALPHA)
 I5    X  55454 #  if defined (_PTHREAD_ENV_DECC) || defined (_PTHREAD_ENV_DECCXX)
 I5    X  55455 #   include <c_asm.h>
 I5    X  55456 #   define _PTHREAD_USE_ASM_		1
 I5    X  55457 #  endif
 I5    X  55458 # endif
 I5    X  55459 # define _PTHREAD_USE_MANGLED_NAMES_	1
 I5    X  55460 # ifndef _PTHREAD_LEGACY_NP			/* libpthreads wrappers */
 I5    X  55461 #  ifdef _PTHREAD_ENV_DECC
 I5    X  55462 #   define _PTHREAD_USE_PTDNAM_
 I5    X  55463 #  endif
 I5    X  55464 # endif
 I5    X  55465 # define _PTDNAM(name) __##name
 I5    X  55466 # include <sched.h>
 I5    X  55467 # include <timers.h>
 I5    X  55468 # include <sys/types.h>
 I5    X  55469 # include <time.h>
 I5    X  55470 #else
 I5    X  55471 # include <types.h>
 I5	  55472 # if defined (_PTHREAD_ENV_DECC) && (__CRTL_VER > 70311000)
 I5    X  55473 #  include <time.h>
 I5    X  55474 # else
 I5    X  55475 #  include <timers.h>
 I5    X  55476 # endif
 I5	  55477 # ifndef _SCHEDPARAM_T_
 I5	  55478 #  define _SCHEDPARAM_T_
 I5	  55479 typedef struct sched_param {
 I5	  55480     int sched_priority;
 I5	  55481     } sched_param_t;
 I5	  55482 # endif
 I5	  55483 # ifndef sched_yield
 I5	  55484 #  define sched_yield	pthread_yield_np

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1002
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  55485 # endif
 I5	  55486 #endif
 I5	  55487 
 I5	  55488 #if defined (_PTHREAD_ENV_DECC)
 I5	  55489 # define _PTHREAD_INLINE_	__inline
 I5    X  55490 #elif defined (_PTHREAD_ENV_DECCXX)
 I5    X  55491 # define _PTHREAD_INLINE_	inline
 I5    X  55492 #else
 I5    X  55493 # define _PTHREAD_INLINE_
 I5    X  55494 #endif
 I5	  55495 
 I5	  55496 #ifndef _PTDNAM
 I5	  55497 # define _PTDNAM(name) name
 I5	  55498 #endif
 I5	  55499 
 I5	  55500 #if defined (_PTHREAD_ENV_VMS)
 I5	  55501 # if defined (__DECC) && (__DECC_VER >= 50000000)
 I5	  55502 #  define _PTHREAD_USE_ASM_		1
 I5    X  55503 #  if __DECC_VER < 50230004
 I5    X  55504 #   define _PTHREAD_SKIP_LOOPY_ASM_	1
 I5    X  55505 #  endif
 I5	  55506 #  include <c_asm.h>
 I6	  55507 #ifndef __C_ASM_LOADED
 I6	  55508 #define __C_ASM_LOADED 1
 I6	  55509 #pragma   __nostandard
 I6	  55510 #if ((!defined(__DECCXX)) || (__DECCXX_VER >= 50300000))
 I6	  55511 /****************************************************************************
 I6	  55512 **
 I6	  55513 **  <c_asm.h> - Prototypes for asm intrinsic functions
 I6	  55514 **
 I6	  55515 *****************************************************************************
 I6	  55516 **  Header is nonstandard
 I6	  55517 *****************************************************************************
 I6	  55518 **/
 I6	  55519 /* ************************************************************************* */
 I6	  55520 /* *                                                                       * */
 I6	  55521 /* * HPE CONFIDENTIAL. This software is confidential proprietary software  * */
 I6	  55522 /* * licensed by Hewlett Packard Enterprise Development, LP, and is not    * */
 I6	  55523 /* * authorized to be used, duplicated or disclosed to anyone without the  * */
 I6	  55524 /* * prior written permission of HPE.                                      * */
 I6	  55525 /* * Copyright 2017 Hewlett Packard Enterprise Development, LP             * */
 I6	  55526 /* *                                                                       * */
 I6	  55527 /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential        * */
 I6	  55528 /* * proprietary software licensed by VMS Software, Inc., and is not       * */
 I6	  55529 /* * authorized to be used, duplicated or disclosed to anyone without      * */
 I6	  55530 /* * the prior written permission of VMS Software, Inc.                    * */
 I6	  55531 /* * Copyright 2017 VMS Software, Inc.                                     * */
 I6	  55532 /* *                                                                       * */
 I6	  55533 /* ************************************************************************* */
 I6	  55534 
 I6    X  55535 #include <decc$types.h>
 I6    X  55536 #ifdef __cplusplus
 I6    X  55537     extern "C" {
 I6    X  55538 #endif
 I6	  55539 
 I6	  55540 #if defined(__INITIAL_POINTER_SIZE)
 I6	  55541 #   pragma __required_pointer_size __save

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1003
V1.0                                                             9-MAR-2021 22:28:13  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(C_ASM)

 I6	  55542 #   pragma __required_pointer_size 32
 I6	  55543 #endif
 I6	  55544 
 I6	  55545 
 I6	  55546 /*
 I6	  55547 **   DEC C supports in-line assembly code, commonly called
 I6	  55548 **   ASMs on UNIX platforms.
 I6	  55549 **
 I6	  55550 **   Like builtin-functions, ASMs are implemented with a function-call
 I6	  55551 **   syntax.  But unlike built-in functions, to use ASMs you must include
 I6	  55552 **   this <c_asm.h> header file containing prototypes for the three types
 I6	  55553 **   of ASMs, and the #pragma intrinsic preprocessor directive:
 I6	  55554 **
 I6	  55555 **   __int64 asm(const char*, ...);  // integer return, e.g. MULQ
 I6	  55556 **   float   fasm(const char*, ...); // single precision return, e.g. MULS
 I6	  55557 **   double  dasm(const char*, ...); // double precision return, e.g. MULT
 I6	  55558 **   #pragma intrinsic (asm, fasm, dasm)
 I6	  55559 **
 I6	  55560 **   Parameters:
 I6	  55561 **
 I6	  55562 **       The first argument to the asm, fasm, or dasm function contains
 I6	  55563 **       the instruction(s) to be generated inline, using the metalanguage
 I6	  55564 **       (see below) that describes the interpretation of the arguments
 I6	  55565 **       and the instructions themselves.
 I6	  55566 **
 I6	  55567 **       Subsequent arguments provide the source and destination values
 I6	  55568 **       (if any) for the instruction being generated, and any other values
 I6	  55569 **       used in the generated instructions.  These values are made available
 I6	  55570 **       to the instructions via the normal argument passing conventions of
 I6	  55571 **       the calling standard (e.g. the first integer argument is available
 I6	  55572 **       in register R16).
 I6	  55573 **
 I6	  55574 **   Return value:
 I6	  55575 **
 I6	  55576 **       The choice of which function you call determines the type of
 I6	  55577 **       the function value if the function is used in an expression.
 I6	  55578 **       But it is up to the user-written instructions to ensure that
 I6	  55579 **       the intended value of that type is placed in the register
 I6	  55580 **       mandated by the calling standard for that type in order for
 I6	  55581 **       the value to be made available to the calling code.
 I6	  55582 **
 I6	  55583 **   Note that the #pragma intrinsic directive is required.  It notifies
 I6	  55584 **   the compiler that these functions are not user-defined functions,
 I6	  55585 **   and that special processing should be applied to analyze at
 I6	  55586 **   compile-time the first argument and generate machine-code
 I6	  55587 **   instructions as specified by the contents of the string.
 I6	  55588 **
 I6	  55589 **   The metalanguage for the argument references has the following form:
 I6	  55590 **
 I6	  55591 **   <metalanguage_sequence> : <register_alias>
 I6	  55592 **                           | <register_number>
 I6	  55593 **                           | <register_macro>
 I6	  55594 **
 I6	  55595 **   <register_number>       : "$" number
 I6	  55596 **
 I6	  55597 **   <register_macro>        : "%" <macro_sequence>
 I6	  55598 **

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1004
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(C_ASM)

 I6	  55599 **   <macro_sequence>        : number
 I6	  55600 **                           | <register_name>
 I6	  55601 **                           | "f" number | "F" number
 I6	  55602 **                           | "r" number | "R" number
 I6	  55603 **
 I6	  55604 **   <register_name>         : // argument registers: R16-R21
 I6	  55605 **                             "a0" | "a1" | "a2" | "a3" | "a4" | "a5"
 I6	  55606 **
 I6	  55607 **                             // return value: R0 or F0, depending on type
 I6	  55608 **                           | "v0"
 I6	  55609 **
 I6	  55610 **                             // scratch registers: R1, R22-R24, R28
 I6	  55611 **                           | "t0" | "t1" | "t2" | "t3" | "t4"
 I6	  55612 **
 I6	  55613 **                             // save registers: R2-R15
 I6	  55614 **                           | "s0" | "s1" | "s2" | "s3" | "s4" | "s5" | "s6"
 I6	  55615 **                           | "s7" | "s8" | "s7" | "s8" | "s9" | "s10"
 I6	  55616 **                           | "s11" | "s12" | "s13"
 I6	  55617 **
 I6	  55618 **                             // stack pointer: R30
 I6	  55619 **                           | "sp" | "SP" | "$sp" | "$SP"
 I6	  55620 **
 I6	  55621 **                           | "RA" | "ra"          // return addr:     R26
 I6	  55622 **                           | "PV" | "pv"          // procedure value: R27
 I6	  55623 **                           | "AI" | "ai"          // arg info:        R25
 I6	  55624 **                           | "FP" | "fp"          // frame pointer:   R29
 I6	  55625 **                           | "RZ" | "rz" | "zero" // sink/source: R31 == 0
 I6	  55626 **
 I6	  55627 **   Syntactically, the metalanguage can appear anywhere within
 I6	  55628 **   an instruction sequence.
 I6	  55629 **
 I6	  55630 **   The literal string that contains instructions, operands, and
 I6	  55631 **   metalanguage must follow the general form:
 I6	  55632 **
 I6	  55633 **   <string_contents>       :   <instruction_seq>
 I6	  55634 **                           |   <string_contents> ";" <instruction_seq>
 I6	  55635 **                           |   error
 I6	  55636 **                           |   <string_contents> error
 I6	  55637 **
 I6	  55638 **   <instruction_seq>       :   instruction_operand
 I6	  55639 **                           |   directive
 I6	  55640 **
 I6	  55641 **
 I6	  55642 **   An instruction_operand is generally recognized as an assembly
 I6	  55643 **   language instruction separated by whitespace from a sequence of
 I6	  55644 **   comma-separated operands.
 I6	  55645 **
 I6	  55646 **   You can code multiple instruction sequences into one literal
 I6	  55647 **   string, separating them by semicolons.  Since the C language
 I6	  55648 **   concatentates adjacent string literals into a single string,
 I6	  55649 **   successive instructions can be written as separate strings
 I6	  55650 **   one-per-line as is normally done in assembly language, as long
 I6	  55651 **   as each instruction is terminated by a semicolon as shown in the
 I6	  55652 **   examples.
 I6	  55653 **
 I6	  55654 **   There are semantic and syntax rules associated with ASMs:
 I6	  55655 **

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1005
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(C_ASM)

 I6	  55656 **     o  The first argument to an ASM call is interpreted as the
 I6	  55657 **        instructions to be assembled in the metalanguage, and must
 I6	  55658 **        be fully understood by the compiler at compile time.
 I6	  55659 **        Therefore, it must be a literal string (or a macro expanding
 I6	  55660 **        to a literal string) and not a runtime value containing a string.
 I6	  55661 **        Thus the following are not allowed: indirections, table lookups,
 I6	  55662 **        structure de-references, and so on.
 I6	  55663 **
 I6	  55664 **     o  The remaining arguments are loaded into the argument
 I6	  55665 **        registers like normal function arguments, except that
 I6	  55666 **        the SECOND argument to the ASM call is treated as the FIRST
 I6	  55667 **        argument for purposes of the calling standard.
 I6	  55668 **
 I6	  55669 **        For example, in the following test, the six arguments are
 I6	  55670 **        loaded into arg registers a0 through a5, and the result of
 I6	  55671 **        each subexpression is stored in the value return register
 I6	  55672 **        v0.  Since v0 is the calling-standard's return value register
 I6	  55673 **        (R0 for an integer function) the result of the final mulq
 I6	  55674 **        is the value returned by the "call":
 I6	  55675 **
 I6	  55676 **             if (asm("mulq %a0, %a1, %v0;"
 I6	  55677 **                     "mulq %a2, %v0, %v0;"
 I6	  55678 **                     "mulq %a3, %v0, %v0;"
 I6	  55679 **                     "mulq %a4, %v0, %v0;"
 I6	  55680 **                     "mulq %a5, %v0, %v0;", 1, 2, 3, 4, 5, 6) != 720){
 I6	  55681 **                error_cnt++;
 I6	  55682 **                printf ("Test failed\n");
 I6	  55683 **             }
 I6	  55684 **
 I6	  55685 **    o   A return register must be specified in the metalanguage
 I6	  55686 **        for the result to appear in the expected place.
 I6	  55687 **
 I6	  55688 **        The following example does not work.  There is no value
 I6	  55689 **        loaded into the floating-point return register. Furthermore,
 I6	  55690 **        it results in a compile-time warning stating that r2 is used
 I6	  55691 **        before it is set, because the arguments are loaded into the
 I6	  55692 **        arg registers and not into r2:
 I6	  55693 **
 I6	  55694 **        z =   fasm("mulq %r2, %a1 %r5", x=10, y=5);
 I6	  55695 **
 I6	  55696 **        A correct version of the above would be:
 I6	  55697 **
 I6	  55698 **        z = fasm("mulq   %a0, %a1, %a1;"
 I6	  55699 **                 "stq    %a1, 0(%a2);"
 I6	  55700 **                 "ldt    %f0, 0(%a2);"
 I6	  55701 **                 "cvtqf  %f0, %f0;",  x=10, y=5, &temp);
 I6	  55702 **
 I6	  55703 **        Note that the memory location used for the transfer
 I6	  55704 **        from integer to floating register is made available
 I6	  55705 **        to the asm code by passing as an argument the address
 I6	  55706 **        of a variable allocated in the C code for that purpose.
 I6	  55707 **
 I6	  55708 **    o   For intructions that do not take any argument and do
 I6	  55709 **        not have a return type, leave out the arguments. For
 I6	  55710 **        example:
 I6	  55711 **
 I6	  55712 **        asm("mb");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1006
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(C_ASM)

 I6	  55713 */
 I6	  55714 
 I6	  55715 
 I6	  55716 /*
 I6	  55717 **  Function prototypes
 I6	  55718 **
 I6	  55719 **  Note that there is no support for 64 bit character pointers
 I6	  55720 */
 I6	  55721 __int64 asm  (const char *,...);
 I6	  55722 double  dasm (const char *, ...);
 I6	  55723 float   fasm (const char*, ...);
 I6	  55724 
 I6	  55725 #pragma intrinsic(asm)
 I6	  55726 #pragma intrinsic(dasm)
 I6	  55727 #pragma intrinsic(fasm)
 I6	  55728 
 I6	  55729 
 I6	  55730 /*
 I6	  55731 **  Restore the users pointer context
 I6	  55732 */
 I6	  55733 #if defined(__INITIAL_POINTER_SIZE)
 I6	  55734 #   pragma __required_pointer_size __restore
 I6	  55735 #endif
 I6	  55736 
 I6    X  55737 #ifdef __cplusplus
 I6    X  55738     }
 I6    X  55739 #endif
 I6	  55740 
 I6	  55741 #endif   /* !_DECCXX || (__DECCXX_VER >= 50300000) */
 I6	  55742 #pragma __standard
 I6	  55743 #endif   /* __C_ASM_LOADED */
 I5	  55744 # endif
 I5	  55745 # define _PTHREAD_ALLOW_MIXED_PROTOS_	1
 I5	  55746 /*
 I5	  55747  *  Make sure builtins.h is included for VMS/IA64 for definition of
 I5	  55748  * _IA64_REG_TP and __getReg().
 I5	  55749  */
 I5	  55750 # if defined (_PTHREAD_ENV_IA64)
 I5    X  55751 #  include <builtins.h>
 I5	  55752 # endif
 I5	  55753 #endif
 I5	  55754 
 I5	  55755 #if !defined (_PTHREAD_ENV_UNIX)
 I5	  55756 /*
 I5	  55757  * If we are not a UNIX system, then the field names for the POSIX standard
 I5	  55758  * types don't have to be name space protected.
 I5	  55759  */
 I5	  55760 # define _Pfield(_arg_)	_arg_
 I5	  55761 #endif
 I5	  55762 
 I5	  55763 /******************************************************************************
 I5	  55764  *
 I5	  55765  * NOTICE: Tru64 UNIX and "name mangling"
 I5	  55766  * --------------------------------------
 I5	  55767  *
 I5	  55768  * On Tru64 UNIX, maintaining binary compatibility for call_shared code using
 I5	  55769  * the old 1003.4a/D4 interfaces (many of which have the same names as the

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1007
V1.0                                                            14-MAY-2022 12:28:33  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  55770  * 1003.1c functions) requires that the compatibility interfaces retain their
 I5	  55771  * names. Since the 1003.4a/D4 and 1003.1c functions must be able to coexist
 I5	  55772  * within a process, this inevitably leads to the conclusion that we must give
 I5	  55773  * the 1003.1c functions "mangled" names during the 1003.4a/D4 retirement
 I5	  55774  * period.
 I5	  55775  *
 I5	  55776  * To that end, we map the 1003.1c standard names into "mangled" internal
 I5	  55777  * names. When 1003.4a/D4 is retired these macros will be removed; the 1003.1c
 I5	  55778  * functions will then be given their proper names. Binary compatibility for
 I5	  55779  * images compiled during the retirement period will be retained by aliases
 I5	  55780  * for the transition names. Note that we "mangle" only the names that are
 I5	  55781  * identical to 1003.4a/D4 names. New functions (such as pthread_key_delete)
 I5	  55782  * and functions with changed names (such as pthread_key_create, contrasted to
 I5	  55783  * 1003.4a/D4's pthread_keycreate) are not mangled.
 I5	  55784  *
 I5	  55785  * The following names are "mangled":
 I5	  55786  *
 I5	  55787  *	pthread_attr_getguardsize_np
 I5	  55788  *	pthread_attr_getinheritsched
 I5	  55789  *	pthread_attr_getstacksize
 I5	  55790  *	pthread_attr_setguardsize_np
 I5	  55791  *	pthread_attr_setinheritsched
 I5	  55792  *	pthread_attr_setstacksize
 I5	  55793  *	pthread_cancel
 I5	  55794  *	pthread_cond_broadcast
 I5	  55795  *	pthread_cond_destroy
 I5	  55796  *	pthread_cond_init
 I5	  55797  *	pthread_cond_sig_preempt_int_np
 I5	  55798  *	pthread_cond_signal
 I5	  55799  *	pthread_cond_signal_int_np
 I5	  55800  *	pthread_cond_timedwait
 I5	  55801  *	pthread_cond_wait
 I5	  55802  *	pthread_create
 I5	  55803  *	pthread_delay_np
 I5	  55804  *	pthread_detach
 I5	  55805  *	pthread_equal
 I5	  55806  *	pthread_exit
 I5	  55807  *	pthread_get_expiration_np
 I5	  55808  *	pthread_getspecific
 I5	  55809  *	pthread_join
 I5	  55810  *	pthread_lock_global_np
 I5	  55811  *	pthread_mutex_destroy
 I5	  55812  *	pthread_mutex_init
 I5	  55813  *	pthread_mutex_lock
 I5	  55814  *	pthread_mutex_trylock
 I5	  55815  *	pthread_mutex_unlock
 I5	  55816  *	pthread_once
 I5	  55817  *	pthread_self
 I5	  55818  *	pthread_setspecific
 I5	  55819  *	pthread_testcancel
 I5	  55820  *	pthread_unlock_global_np
 I5	  55821  *
 I5	  55822  * On OpenVMS this is irrelevant since name binding occurs at link time: when
 I5	  55823  * images are activated they bind to a known offset within the image symbol
 I5	  55824  * vector. The binary compatibility interface names have been changed, but the
 I5	  55825  * arrangement of the transfer vector and symbol vector remain the same. Thus
 I5	  55826  * old code linked against the old shareable images will call the correct new

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1008
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  55827  * routine.
 I5	  55828  *
 I5	  55829  *****************************************************************************/
 I5	  55830 
 I5	  55831 /*
 I5	  55832  * NOTICE: OpenVMS Alpha & IA64 64-bit pointer support
 I5	  55833  * ---------------------------------------------------
 I5	  55834  *
 I5	  55835  * On OpenVMS Alpha and IA64, DECthreads generally supports both the 64 bit
 I5	  55836  * and 32 bit programming environments. Some external data structures (such as
 I5	  55837  * the TEB and attributes objects) cannot vary between interfaces, and are
 I5	  55838  * defined to contain 64 bit values regardless of programming environment.
 I5	  55839  * Only one 1003.1c routine varies between the interfaces: pthread_join, which
 I5	  55840  * writes a "void *" to a caller-provided address. For pthread_join32 only the
 I5	  55841  * low 32 bits of the thread return value is written. For pthread_join64 all
 I5	  55842  * 64 bits are written (this will corrupt caller data if the allocated "void
 I5	  55843  * *" is 32 bits wide). The default definition of "pthread_join" depends upon
 I5	  55844  * the programming environment specified by compiler switches -- in other
 I5	  55845  * words, the value of the _INITIAL_POINTER_SIZE macro.
 I5	  55846  *
 I5	  55847  * The following typedefs allow fields with required sizes to be declared
 I5	  55848  * without needing a lot of #pragma __required_pointer_size statements
 I5	  55849  * scattered through the header. On Tru64 UNIX these types always correspond
 I5	  55850  * unambiguously to a single type. On OpenVMS (Alpha or IA64) the types select
 I5	  55851  * the appropriate size to maintain datastructure layout regardless of the
 I5	  55852  * default pointer size.
 I5	  55853  *
 I5	  55854  * Per the convention the 64-bit task force has established, a compilation on
 I5	  55855  * OpenVMS (Alpha or IA64) that occurs without any /pointer_size switch should
 I5	  55856  * yield only a 32-bit interface. But, if compilation on OpenVMS (Alpha or
 I5	  55857  * IA64) occurs with an explicit /pointer_size switch, then (a) all prototypes
 I5	  55858  * should accept long [64] bit pointers as arguments and (b) all functions
 I5	  55859  * which return pointer values should return [32] bit pointers unless the
 I5	  55860  * function is a variant with _64 in the name.
 I5	  55861  *
 I5	  55862  * The DECthreads team has no intention of supporting short pointer
 I5	  55863  * compilation environments (cc -xtaso) on Tru64 UNIX.
 I5	  55864  *
 I5	  55865  *	NOTE: _PTHREAD_ALLOW_MIXED_PROTOS_ should be defined only for the
 I5	  55866  *	OpenVMS Alpha and IA64 platforms.
 I5	  55867  */
 I5	  55868 #ifdef _PTHREAD_ALLOW_MIXED_PROTOS_
 I5	  55869 # ifdef __INITIAL_POINTER_SIZE
 I5	  55870    /*
 I5	  55871     * This is a DECC compiler with 64-bit pointer support.
 I5	  55872     */
 I5    X  55873 #  ifdef _PTHREAD_CORE_BUILD_
 I5    X  55874 #   define _PTHREAD_MIXED_PROTOS_
 I5    X  55875 #  else
 I5    X  55876 #   if __INITIAL_POINTER_SIZE > 0
 I5	  55877      /*
 I5	  55878       * The compilation has an explicit /pointer_size.
 I5    X  55879       */
 I5    X  55880 #    define _PTHREAD_MIXED_PROTOS_
 I5    X  55881 #   endif
 I5	  55882 #  endif
 I5    X  55883 # else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1009
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  55884    /*
 I5	  55885     * This is some compiler on OpenVMS that does not have 64-bit pointer
 I5	  55886     * support.
 I5    X  55887     */
 I5    X  55888 #  ifdef _PTHREAD_CORE_BUILD_
 I5    X  55889 #   error <pthread.h>: OpenVMS compiler without 64-bit pointer support
 I5    X  55890 #  endif
 I5    X  55891 # endif
 I5	  55892 #endif
 I5	  55893 
 I5	  55894 /*
 I5	  55895  * On OpenVMS Alpha or IA64, some of the fields in DECthreads structures (TEB,
 I5	  55896  * pthread_mutex_t, pthread_cond_t) need to be 64-bit pointers regardless of
 I5	  55897  * the default pointer size in use by the compiler. They need to be 64 bit
 I5	  55898  * fields even on older versions of DEC C (prior to V5.0) which don't support
 I5	  55899  * 64 bit pointers at all.
 I5	  55900  *
 I5	  55901  * If the compiler supports long pointers, we use the __required_pointer_size
 I5	  55902  * pragma to force the proper interpretation of these pointers. On older
 I5	  55903  * compilers, we use unsigned __int64 instead.
 I5	  55904  */
 I5    X  55905 #if defined (_PTHREAD_ALLOW_MIXED_PROTOS_) && !defined (__INITIAL_POINTER_SIZE)
 I5    X  55906 typedef unsigned __int64	__pthreadLongAddr_p;
 I5    X  55907 typedef unsigned __int64	__pthreadLongAddr_t;
 I5    X  55908 typedef unsigned __int64	__pthreadLongConstAddr_t;
 I5    X  55909 typedef unsigned __int64	__pthreadLongConstString_t;
 I5    X  55910 typedef unsigned __int64	__pthreadLongString_t;
 I5    X  55911 #else
 I5	  55912 # if defined (_PTHREAD_ALLOW_MIXED_PROTOS_) && defined (__INITIAL_POINTER_SIZE)
 I5	  55913 #  pragma __required_pointer_size __save
 I5	  55914 #  pragma __required_pointer_size __long
 I5	  55915 # endif
 I5	  55916 typedef void			*__pthreadLongAddr_t;
 I5	  55917 typedef __pthreadLongAddr_t	*__pthreadLongAddr_p;
 I5	  55918 typedef const void		*__pthreadLongConstAddr_t;
 I5	  55919 typedef const char		*__pthreadLongConstString_t;
 I5	  55920 typedef char			*__pthreadLongString_t;
 I5	  55921 # if defined (_PTHREAD_ALLOW_MIXED_PROTOS_) && defined (__INITIAL_POINTER_SIZE)
 I5	  55922 #  pragma __required_pointer_size __restore
 I5	  55923 # endif
 I5	  55924 #endif
 I5	  55925 
 I5	  55926 /*
 I5	  55927  * On OpenVMS Alpha or IA64, we force these pointers to be short pointers when
 I5	  55928  * any initial pointer size is defined.
 I5	  55929  */
 I5	  55930 #if defined (_PTHREAD_ALLOW_MIXED_PROTOS_) && defined (__INITIAL_POINTER_SIZE)
 I5	  55931 # pragma __required_pointer_size __save
 I5	  55932 # pragma __required_pointer_size __short
 I5	  55933 #endif
 I5	  55934 typedef void			*__pthreadShortAddr_t;
 I5	  55935 typedef __pthreadShortAddr_t	*__pthreadShortAddr_p;
 I5	  55936 typedef const void		*__pthreadShortConstAddr_t;
 I5	  55937 typedef const char		*__pthreadShortConstString_t;
 I5	  55938 typedef char			*__pthreadShortString_t;
 I5	  55939 #if defined (_PTHREAD_ALLOW_MIXED_PROTOS_) && defined (__INITIAL_POINTER_SIZE)
 I5	  55940 # pragma __required_pointer_size __restore

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1010
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  55941 #endif
 I5	  55942 
 I5	  55943 /*
 I5	  55944  * For any OpenVMS platform, these types need to be 64 bits in size.
 I5	  55945  */
 I5	  55946 #if defined (_PTHREAD_ENV_VMS)
 I5	  55947 typedef __int64			__pthreadLongInt_t;
 I5	  55948 typedef unsigned __int64	__pthreadLongUint_t;
 I5    X  55949 #else
 I5    X  55950 typedef long			__pthreadLongInt_t;
 I5    X  55951 typedef unsigned long		__pthreadLongUint_t;
 I5    X  55952 #endif
 I5	  55953 
 I5	  55954 /*
 I5	  55955  * Define a type to help cope with C++ compilers who don't support 64-bit
 I5	  55956  * pointers, and who issue warnings when a single typecast changes both size
 I5	  55957  * and type. This type can be used to perform conversions in stages.
 I5	  55958  */
 I5    X  55959 #if defined (_PTHREAD_ENV_VMS) && !defined (__INITIAL_POINTER_SIZE)
 I5    X  55960 typedef int			__pthreadPointerSize;
 I5    X  55961 #else
 I5	  55962 typedef __pthreadLongInt_t	__pthreadPointerSize;
 I5	  55963 #endif
 I5	  55964 
 I5	  55965 typedef __pthreadLongAddr_p	__pthreadTsd_t;
 I5	  55966 
 I5    X  55967 #ifndef PTHREAD_KEYS_MAX
 I5    X  55968 # define PTHREAD_KEYS_MAX		255
 I5    X  55969 #endif
 I5	  55970 #ifndef _PTHREAD_ENV_UNIX
 I5    X  55971 # ifndef PTHREAD_DESTRUCTOR_ITERATIONS
 I5    X  55972 #  define PTHREAD_DESTRUCTOR_ITERATIONS	4
 I5    X  55973 # endif
 I5	  55974 #endif
 I5    X  55975 #ifndef PTHREAD_STACK_MIN
 I5    X  55976 # ifdef _PTHREAD_ENV_IA64
 I5    X  55977 #  define PTHREAD_STACK_MIN		16384
 I5    X  55978 # else
 I5    X  55979 #  define PTHREAD_STACK_MIN		8192
 I5    X  55980 # endif
 I5    X  55981 #endif
 I5	  55982 
 I5	  55983 #define PTHREAD_CANCEL_DISABLE		0
 I5	  55984 #define PTHREAD_CANCEL_ENABLE		1
 I5	  55985 
 I5	  55986 #define PTHREAD_CANCEL_DEFERRED		0
 I5	  55987 #define PTHREAD_CANCEL_ASYNCHRONOUS	1
 I5	  55988 
 I5	  55989 #define PTHREAD_CANCELED		(void *)-1
 I5	  55990 
 I5	  55991 #define PTHREAD_SCOPE_PROCESS		0
 I5	  55992 #define PTHREAD_SCOPE_SYSTEM		1
 I5	  55993 
 I5	  55994 #define PTHREAD_MUTEX_NORMAL		0
 I5	  55995 #define PTHREAD_MUTEX_RECURSIVE		1
 I5	  55996 #define PTHREAD_MUTEX_ERRORCHECK	2
 I5	  55997 #define PTHREAD_MUTEX_DEFAULT		PTHREAD_MUTEX_NORMAL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1011
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  55998 
 I5	  55999 #define PTHREAD_PROCESS_PRIVATE		0
 I5	  56000 #define PTHREAD_PROCESS_SHARED		1
 I5	  56001 
 I5	  56002 #define PTHREAD_PRIO_NONE		0
 I5	  56003 #define PTHREAD_PRIO_PROTECT		1
 I5	  56004 #define PTHREAD_PRIO_INHERIT		2
 I5	  56005 
 I5	  56006 /*
 I5	  56007  * The following are internal, private flags used by the thread library
 I5	  56008  * implementation. Any application or library code depending on the value or
 I5	  56009  * meaning of these flags (except in the initialization of static objects
 I5	  56010  * using the precise bit patterns constructed by the PTHREAD_*_INITIALIZER
 I5	  56011  * family of macros) is unsupported and may break on future releases
 I5	  56012  * (including patches).
 I5	  56013  *
 I5	  56014  * I.e., your code may not dynamically write these bits, nor can your code
 I5	  56015  * read or interpret these bits from a thread synchronization object that may
 I5	  56016  * have been used. (For example, the thread library may choose to replace the
 I5	  56017  * initial bit patterns completely on the first use of a mutex.)
 I5	  56018  */
 I5	  56019 #define _PTHREAD_MSTATE_CONFIG	0x00200000	/* Configure mutex */
 I5	  56020 #define _PTHREAD_MSTATE_TYPE	0x0f000000	/* Mutex type */
 I5	  56021 #define _PTHREAD_MTYPE_NORMAL	0x00000000	/*  Normal (fast or metered) */
 I5	  56022 #define _PTHREAD_MTYPE_RECURS	0x01000000	/*  Recursive */
 I5	  56023 #define _PTHREAD_MTYPE_ERRCHK	0x02000000	/*  Detect usage errors */
 I5	  56024 #define _PTHREAD_CSTATE_SLOW	0x00200000	/* Slow signal/broadcast */
 I5	  56025 
 I5	  56026 /*
 I5	  56027  * Validation of caller-allocated structures is minimal, but to allow basic
 I5	  56028  * consistency checking each structure comes with a "validation" field that
 I5	  56029  * helps to determine whether it's likely to be the correct type. Following
 I5	  56030  * are the constants. Note that with the exception of the mutex and condition
 I5	  56031  * variable, these constants are stored into memory passed into DECthreads, so
 I5	  56032  * we're trusting what the caller says. Mutexes and condition variables, if
 I5	  56033  * statically initialized using PTHREAD_COND_INITIALIZER,
 I5	  56034  * PTHREAD_MUTEX_INITIALIZER, or their relatives, are loaded with the
 I5	  56035  * validation constants at compile time.
 I5	  56036  */
 I5	  56037 #define _PTHREAD_CVALID		(0x06facbd1L)	/* Condition variable */
 I5	  56038 #define _PTHREAD_MVALID		(0x05bcafe1L)	/* Mutex */
 I5	  56039 #define _PTHREAD_PVALID		(0xdeadbeefL)	/* Paddock */
 I5	  56040 #define _PTHREAD_RWVALID	(0x02bacab1L)	/* Read/Write lock */
 I5	  56041 #define _PTHREAD_CAVALID	(0xaceface1L)	/* Condition attributes */
 I5	  56042 #define _PTHREAD_MAVALID	(0xecafeca1L)	/* Mutex attributes */
 I5	  56043 #define _PTHREAD_TAVALID	(0xbeefeed1L)	/* Thread attributes */
 I5	  56044 #define _PTHREAD_RWVF_STA	0x08000000L
 I5	  56045 #define _PTHREAD_RWVF_INT	0x10000000L
 I5	  56046 #define _PTHREAD_RWVF_PRE	0x20000000L
 I5	  56047 #define _PTHREAD_RWVF_INL	0x40000000L
 I5	  56048 #define _PTHREAD_RWVF_NAM	0x80000000L
 I5	  56049 #define _PTHREAD_MVF_STA	0x08000000L
 I5	  56050 #define _PTHREAD_MVF_INT	0x10000000L
 I5	  56051 #define _PTHREAD_MVF_PRE	0x20000000L
 I5	  56052 #define _PTHREAD_MVF_INL	0x40000000L
 I5	  56053 #define _PTHREAD_MVF_NAM	0x80000000L
 I5	  56054 #define _PTHREAD_CVF_STA	0x08000000L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1012
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56055 
 I5	  56056 #ifndef _PTHREAD_NOMETER_STATIC
 I5	  56057 # define PTHREAD_MUTEX_INITIALIZER \
 I5	  56058     {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA}
 I5	  56059 # define PTHREAD_COND_INITIALIZER \
 I5	  56060     {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA}
 I5	  56061 # define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \
 I5	  56062     {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
 I5	  56063 # define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \
 I5	  56064     {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}
 I5    X  56065 #else
 I5    X  56066 # define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA}
 I5    X  56067 # define PTHREAD_COND_INITIALIZER  {0, _PTHREAD_CVALID | _PTHREAD_CVF_STA}
 I5    X  56068 # define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \
 I5    X  56069     {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
 I5    X  56070 # define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \
 I5    X  56071     {0, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}
 I5    X  56072 #endif
 I5	  56073 
 I5	  56074 #define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA}
 I5	  56075 #define PTHREAD_RWLOCK_INITWITHNAME_NP(_n_,_a_) \
 I5	  56076 	{_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, 0, _n_, _a_}
 I5	  56077 
 I5	  56078 #define PTHREAD_MUTEX_INITFAST_NP {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA}
 I5	  56079 #define PTHREAD_MUTEX_INITFASTWITHNAME_NP(_n_,_a_) \
 I5	  56080     {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
 I5	  56081 #define PTHREAD_MUTEX_INITRECURSIVE_NP \
 I5	  56082     {_PTHREAD_MTYPE_RECURS | _PTHREAD_MSTATE_CONFIG, \
 I5	  56083     _PTHREAD_MVALID | _PTHREAD_MVF_STA}
 I5	  56084 #define PTHREAD_MUTEX_INITRECURSIVEWITHNAME_NP(_n_,_a_) \
 I5	  56085     {_PTHREAD_MTYPE_RECURS | _PTHREAD_MSTATE_CONFIG, \
 I5	  56086     _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
 I5	  56087 #define PTHREAD_MUTEX_INITERRCHK_NP \
 I5	  56088     {_PTHREAD_MTYPE_ERRCHK | _PTHREAD_MSTATE_CONFIG, \
 I5	  56089     _PTHREAD_MVALID | _PTHREAD_MVF_STA}
 I5	  56090 #define PTHREAD_MUTEX_INITERRCHKWITHNAME_NP(_n_,_a_) \
 I5	  56091     {_PTHREAD_MTYPE_ERRCHK | _PTHREAD_MSTATE_CONFIG, \
 I5	  56092     _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
 I5	  56093 
 I5	  56094 /*
 I5	  56095  * OBSOLETE:
 I5	  56096  *
 I5	  56097  * These macros are special variants of the PTHREAD_MUTEX_INITIALIZER macros.
 I5	  56098  *
 I5	  56099  * They represent an early attempt to support applications that needed to
 I5	  56100  * preempt the C runtime malloc/free package of functions, and avoid problems
 I5	  56101  * when the thread library needed to allocate or free memory.
 I5	  56102  *
 I5	  56103  * The extended documentation of the use of these macros has been removed, and 
 I5	  56104  * these functions will be retired in a future release.
 I5	  56105  *
 I5	  56106  * On Tru64 UNIX, use the tis_allocator_mutex_init() function, instead.
 I5	  56107  *
 I5	  56108  * On OpenVMS, use LIB$VM_MALLOC/LIB$VM_FREE for raw allocation and free.
 I5	  56109  * These don't use mutexes for thread-safety, and they're fully reentrant. No
 I5	  56110  * special support is required.
 I5	  56111  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1013
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56112 #define _PTHREAD_MUTEX_INITPRE \
 I5	  56113     {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID|_PTHREAD_MVF_STA|_PTHREAD_MVF_PRE}
 I5	  56114 #define _PTHREAD_MUTEX_INITPREWITHNAME(_n_,_a_) \
 I5	  56115     {_PTHREAD_MSTATE_CONFIG, \
 I5	  56116     _PTHREAD_MVALID|_PTHREAD_MVF_STA|_PTHREAD_MVF_PRE, \
 I5	  56117     _n_, _a_}
 I5	  56118 #define _PTHREAD_MUTEX_INITPRERECUR \
 I5	  56119     {_PTHREAD_MTYPE_RECURS | _PTHREAD_MSTATE_CONFIG, \
 I5	  56120     _PTHREAD_MVALID | _PTHREAD_MVF_STA | _PTHREAD_MVF_PRE}
 I5	  56121 #define _PTHREAD_MUTEX_INITPRERECURWITHNAME(_n_,_a_) \
 I5	  56122     {_PTHREAD_MTYPE_RECURS | _PTHREAD_MSTATE_CONFIG, \
 I5	  56123     _PTHREAD_MVALID | _PTHREAD_MVF_STA | _PTHREAD_MVF_PRE, _n_, _a_}
 I5	  56124 #define _PTHREAD_MUTEX_INITPREERRCHK \
 I5	  56125     {_PTHREAD_MTYPE_ERRCHK | _PTHREAD_MSTATE_CONFIG, \
 I5	  56126     _PTHREAD_MVALID | _PTHREAD_MVF_STA | _PTHREAD_MVF_PRE}
 I5	  56127 #define _PTHREAD_MUTEX_INITPREERRCHKWITHNAME(_n_,_a_) \
 I5	  56128     {_PTHREAD_MTYPE_ERRCHK | _PTHREAD_MSTATE_CONFIG, \
 I5	  56129     _PTHREAD_MVALID | _PTHREAD_MVF_STA | _PTHREAD_MVF_PRE, _n_, _a_}
 I5	  56130 
 I5	  56131 /*
 I5	  56132  * NOTE: "Constructor keys" are currently supported only for limited use by
 I5	  56133  * the dynamic loader to implement the C language "__declspec(__thread)"
 I5	  56134  * allocation class. Use for any other purpose at all is completely
 I5	  56135  * unsupported. (This may be changed in a future release.)
 I5	  56136  */
 I5	  56137 
 I5	  56138 /*
 I5	  56139  * "Constructor keys" (keys created using pthread_key_create_new_np) must
 I5	  56140  * be statically initialized using this macro prior to creation, e.g.,
 I5	  56141  *
 I5	  56142  *	pthread_key_t	key = PTHREAD_KEY_INITIALIZER_NP;
 I5	  56143  */
 I5	  56144 #define PTHREAD_KEY_INITIALIZER_NP	0
 I5	  56145 
 I5	  56146 /*
 I5	  56147  * Flags for pthread_key_construct_np
 I5	  56148  */
 I5	  56149 #define PTHREAD_KEY_ALLTHREAD_NP	0x1  /* Constr/Destr in all threads */
 I5	  56150 
 I5	  56151 #ifndef _PTHREAD_ENV_UNIX
 I5	  56152 /*
 I5	  56153  * All references to "individual attributes" fields within these attributes
 I5	  56154  * object structures MUST be made through the defined function calls in this
 I5	  56155  * header file. Not all fields in these structures mean what you might infer
 I5	  56156  * from the field type. Not all of the fields are implemented at this time.
 I5	  56157  * The name and order of fields may change without notice, although the size
 I5	  56158  * of the structure will never change.
 I5	  56159  */
 I5	  56160 typedef struct __pthread_attr_t {
 I5	  56161     __pthreadLongUint_t		_Pfield(valid);
       E	                          valid
 I5	  56162     __pthreadLongString_t	_Pfield(name);
       E	                           name
 I5	  56163     __pthreadLongUint_t		_Pfield(arg);
       E	                          arg
 I5	  56164     __pthreadLongUint_t		_Pfield(reserved)[19];
       E	                          reserved

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1014
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56165     } pthread_attr_t;
 I5	  56166 #endif
 I5	  56167 
 I5	  56168 #ifndef _PTHREAD_ENV_UNIX
 I5	  56169 /*
 I5	  56170  * All references to "individual attributes" fields within these attributes
 I5	  56171  * object structures MUST be made through the defined function calls in this
 I5	  56172  * header file. Not all fields in these structures mean what you might infer
 I5	  56173  * from the field type. Not all of the fields are implemented at this time.
 I5	  56174  * The name and order of fields may change without notice, although the size
 I5	  56175  * of the structure will never change.
 I5	  56176  */
 I5	  56177 typedef struct __pthread_mutexattr_t {
 I5	  56178     __pthreadLongUint_t	_Pfield(valid);
       E	                         valid
 I5	  56179     __pthreadLongUint_t	_Pfield(reserved)[15];
       E	                         reserved
 I5	  56180     } pthread_mutexattr_t;
 I5	  56181 #endif
 I5	  56182 
 I5	  56183 #ifndef _PTHREAD_ENV_UNIX
 I5	  56184 /*
 I5	  56185  * All references to "individual attributes" fields within these attributes
 I5	  56186  * object structures MUST be made through the defined function calls in this
 I5	  56187  * header file. Not all fields in these structures mean what you might infer
 I5	  56188  * from the field type. Not all of the fields are implemented at this time.
 I5	  56189  * The name and order of fields may change without notice, although the size
 I5	  56190  * of the structure will never change.
 I5	  56191  */
 I5	  56192 typedef struct __pthread_condattr_t {
 I5	  56193     __pthreadLongUint_t	_Pfield(valid);
       E	                         valid
 I5	  56194     __pthreadLongUint_t	_Pfield(reserved)[13];
       E	                         reserved
 I5	  56195     } pthread_condattr_t;
 I5	  56196 #endif
 I5	  56197 
 I5	  56198 #ifndef _PTHREAD_ENV_UNIX
 I5	  56199 /*
 I5	  56200  * All references to "individual attributes" fields within these attributes
 I5	  56201  * object structures MUST be made through the defined function calls in this
 I5	  56202  * header file. Not all fields in these structures mean what you might infer
 I5	  56203  * from the field type. Not all of the fields are implemented at this time.
 I5	  56204  * The name and order of fields may change without notice, although the size
 I5	  56205  * of the structure will never change.
 I5	  56206  */
 I5	  56207 typedef struct __pthread_rwlockattr_t {
 I5	  56208     __pthreadLongUint_t	_Pfield(valid);		/* Validation flag */
       E	                         valid
 I5	  56209     __pthreadLongUint_t	_Pfield(reserved)[15];
       E	                         reserved
 I5	  56210     } pthread_rwlockattr_t;
 I5	  56211 #endif
 I5	  56212 
 I5	  56213 /*
 I5	  56214  * All references to "individual attributes" fields within these attributes
 I5	  56215  * object structures MUST be made through the defined function calls in this

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1015
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56216  * header file. Not all fields in these structures mean what you might infer
 I5	  56217  * from the field type. Not all of the fields are implemented at this time.
 I5	  56218  * The name and order of fields may change without notice, although the size
 I5	  56219  * of the structure will never change.
 I5	  56220  */
 I5	  56221 
 I5	  56222 #ifndef _PTHREAD_ENV_UNIX
 I5	  56223 /*
 I5	  56224  * DECthreads maintains a substantial amount of internal information about
 I5	  56225  * each thread in a "Thread Control Block" that is not directly accessible to
 I5	  56226  * the programmer. However, some of this information is required by
 I5	  56227  * application, library, or debug/profile code in performance critical code
 I5	  56228  * paths. Thus, DECthreads provides an architected "Thread Environment Block"
 I5	  56229  * that makes a subset of the TCB information available directly. On Alpha
 I5	  56230  * hardware systems the address of the TEB is available by using the CALL_PAL
 I5	  56231  * RDUNIQ instruction. DECthreads also provides both a macro and a callable
 I5	  56232  * function to return the TEB address, for convenience and portability.
 I5	  56233  */
 I5	  56234 # if defined (_PTHREAD_ALLOW_MIXED_PROTOS_) && defined (__INITIAL_POINTER_SIZE)
 I5	  56235 #  pragma __required_pointer_size __save
 I5	  56236 #  pragma __required_pointer_size __long
 I5	  56237 # endif
 I5	  56238 
 I5	  56239 /*
 I5	  56240  * Define the TEB's version.
 I5	  56241  *
 I5	  56242  * Version 0: Tru64 UNIX 4.0 and OpenVMS 7.0
 I5	  56243  * Version 1: Tru64 UNIX 4.0D and OpenVMS 7.2
 I5	  56244  * Version 2: Tru64 UNIX V5.1A
 I5	  56245  * Version 3: OpenVMS V8.0 IA-64
 I5	  56246  */
 I5	  56247 # if defined (_PTHREAD_ENV_IA64)
 I5	  56248 #  define PTHREAD_TEB_VERSION		3	/* Current version */
 I5	  56249 #  define PTHREAD_TEB_SIZE \
 I5	  56250       (((size_t)((char *)&((__pthreadTeb_p)0L)->_Pfield(reg_stack_hiwater) \
 I5	  56251       - (char *)0L)) \
 I5	  56252       + sizeof (((__pthreadTeb_p)0L)->_Pfield(reg_stack_hiwater)))
 I5    X  56253 # else
 I5    X  56254 #  define PTHREAD_TEB_VERSION		2	/* Current version */
 I5    X  56255 #  define PTHREAD_TEB_SIZE \
 I5    X  56256       (((size_t)((char *)&((__pthreadTeb_p)0L)->_Pfield(home_rad) \
 I5    X  56257       - (char *)0L)) + sizeof (((__pthreadTeb_p)0L)->_Pfield(home_rad)))
 I5    X  56258 # endif
 I5	  56259 # define PTHREAD_TEB_EFLG_USER		0x01	/* User thread */
 I5	  56260 # define PTHREAD_TEB_EFLG_INITIAL	0x02	/* Process initial thread */
 I5	  56261 
 I5	  56262 # define PTHREAD_TEB_CREATOR_PTHREAD	1   /* Created by 1003.1c API */
 I5	  56263 # define PTHREAD_TEB_CREATOR_CMA	2   /* Created by CMA API */
 I5	  56264 # define PTHREAD_TEB_CREATOR_D4		3   /* Created by Draft 4 API */
 I5	  56265 # define PTHREAD_TEB_CREATOR_D4EXC	4   /* Created by D4-Exception API */
 I5	  56266 
 I5	  56267 /*
 I5	  56268  * Thread Environment Block (TEB). (On UNIX, this definition is duplicated in
 I5	  56269  * the <sys/types.h> header file.)
 I5	  56270  *
 I5	  56271  * NOTE: Modification of any field in a thread's TEB structure will result in
 I5	  56272  * undefined behavior. Fields that are commented as "RESERVED" are

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1016
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56273  * undocumented and unsupported, and the contents or meaning may change at any
 I5	  56274  * time. The "per_kt_area" field is reserved entirely for use by DECthreads
 I5	  56275  * and the operating system kernel: it contains undefined, undocumented,
 I5	  56276  * unsupported, and volatile data of unspecified type.
 I5	  56277  *
 I5	  56278  * Each public field is documented with a comment that begins with the TEB
 I5	  56279  * version in which the field was created or documented. If the TEB "version"
 I5	  56280  * has a value lower than version in which the field became accessible, do not
 I5	  56281  * depend upon the value of that field.
 I5	  56282  *
 I5	  56283  * NOTE: The fact that pthread_t is currently the same as __pthreadTeb_p is an
 I5	  56284  * artifact of the current IMPLEMENTATION, and is not intended to be a
 I5	  56285  * documented or supported relationship. In the future, they may be separate.
 I5	  56286  * In general, direct TEB access should be avoided. It is NOT supported (and
 I5	  56287  * never will be supported) except on Alpha or IA64 hardware. On Alpha
 I5	  56288  * hardware, TEB access should be done only using the RDUNIQ PAL call, while
 I5	  56289  * on IA64 TEB access should be done using the thread register, either of
 I5	  56290  * which can be implemented directly or through C using the pthread_teb_np()
 I5	  56291  * call.
 I5	  56292  */
 I5	  56293 
 I5	  56294 typedef struct __pthreadTeb_tag {
 I5	  56295     __pthreadLongAddr_p	_Pfield(reserved1);	/* Reserved to DECthreads */
       E	                         reserved1
 I5	  56296     __pthreadLongAddr_p	_Pfield(reserved2);	/* Reserved to DECthreads */
       E	                         reserved2
 I5	  56297     unsigned short	_Pfield(size);		/* V1: Size of TEB */
       E	                    size
 I5	  56298     unsigned char	_Pfield(version);	/* TEB version */
       E	                   version
 I5	  56299     unsigned char	_Pfield(reserved3);	/* Reserved to DECthreads */
       E	                   reserved3
 I5	  56300     unsigned char	_Pfield(external);	/* V1: PTHREAD_TEB_EFLG_ flgs */
       E	                   external
 I5	  56301     unsigned char	_Pfield(reserved4)[2];	/* RESERVED */
       E	                   reserved4
 I5	  56302     unsigned char	_Pfield(creator);	/* V1: PTHREAD_TEB_CREATOR_* */
       E	                   creator
 I5	  56303     __pthreadLongUint_t	_Pfield(sequence);	/* V0: Thread sequence */
       E	                         sequence
 I5	  56304     __pthreadLongUint_t	_Pfield(reserved5)[2];	/* Reserved to DECthreads */
       E	                         reserved5
 I5	  56305     __pthreadLongAddr_t	_Pfield(per_kt_area);	/* V0: Reserved */
       E	                         per_kt_area
 I5	  56306     __pthreadLongAddr_t	_Pfield(stack_base);	/* V0: Initial SP */
       E	                         stack_base
 I5	  56307     __pthreadLongAddr_t	_Pfield(stack_reserve); /* V0: reserved stack */
       E	                         stack_reserve
 I5	  56308     __pthreadLongAddr_t	_Pfield(stack_yellow);	/* V0: yellow zone */
       E	                         stack_yellow
 I5	  56309     __pthreadLongAddr_t	_Pfield(stack_guard);	/* V0: guard (red) zone */
       E	                         stack_guard
 I5	  56310     __pthreadLongUint_t	_Pfield(stack_size);	/* V0: total stack size */
       E	                         stack_size
 I5	  56311     __pthreadTsd_t	_Pfield(tsd_values);	/* V0: TSD array (void *) */
       E	                    tsd_values
 I5	  56312     unsigned long	_Pfield(tsd_count);	/* V0: TSD array size */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1017
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

       E	                   tsd_count
 I5	  56313     unsigned int	_Pfield(reserved6);	/* Reserved to DECthreads */
       E	                  reserved6
 I5	  56314     unsigned int	_Pfield(reserved7);	/* Reserved to DECthreads */
       E	                  reserved7
 I5	  56315     unsigned int	_Pfield(thread_flags);	/* Reserved to DECthreads */
       E	                  thread_flags
 I5	  56316     int			_Pfield(thd_errno);	/* V1: thread's errno */
       E	           thd_errno
 I5	  56317     __pthreadLongAddr_t	_Pfield(stack_hiwater);	/* V1: lowest known SP */
       E	                         stack_hiwater
 I5	  56318     __pthreadLongUint_t	_Pfield(home_rad);	/* V2: thread's home RAD */
       E	                         home_rad
 I5	  56319 # if defined (_PTHREAD_ENV_IA64)
 I5	  56320     __pthreadLongAddr_t	_Pfield(reg_stack_base);    /* V3: Initial bsp */
       E	                         reg_stack_base
 I5	  56321     __pthreadLongAddr_t	_Pfield(reg_stack_yellow);  /* V3: regstk y zone */
       E	                         reg_stack_yellow
 I5	  56322     __pthreadLongAddr_t	_Pfield(reg_stack_guard);   /* V3: regstk r zone */
       E	                         reg_stack_guard
 I5	  56323     __pthreadLongUint_t	_Pfield(reg_stack_size);    /* V3: total regstk siz */
       E	                         reg_stack_size
 I5	  56324     __pthreadLongAddr_t	_Pfield(reg_stack_hiwater); /* V3: highest known bsp */
       E	                         reg_stack_hiwater
 I5	  56325 # endif
 I5	  56326     } __pthreadTeb_t, *__pthreadTeb_p;
 I5	  56327 
 I5	  56328 typedef __pthreadTeb_t pthreadTeb_t;
 I5	  56329 typedef __pthreadTeb_p pthreadTeb_p;
 I5	  56330 
 I5	  56331 /*
 I5	  56332  * The only official or supported mechanism to find the TEB of a thread is for
 I5	  56333  * code within that thread to execute the "rduniq" call_pal instruction. The
 I5	  56334  * following typedef of pthread_t, as a pointer to a TEB, is an unsupported
 I5	  56335  * artifact of the current implementation, and will be changed in the future.
 I5	  56336  * No correct code may reference a TEB through a pthread_t value.
 I5	  56337  */
 I5	  56338 # if defined (_PTHREAD_ALLOW_MIXED_PROTOS_) && defined (__INITIAL_POINTER_SIZE)
 I5	  56339 typedef __pthreadTeb_p	pthread_t;	/* Long pointer if possible */
 I5	  56340 #  pragma __required_pointer_size __restore
 I5    X  56341 # elif defined (_PTHREAD_ENV_VMS)
 I5    X  56342 typedef unsigned __int64	pthread_t;	/* Force 64 bits anyway */
 I5    X  56343 # else
 I5    X  56344 typedef __pthreadTeb_p		pthread_t;	/* Pointers is pointers */
 I5    X  56345 # endif
 I5    X  56346 #elif !defined(_PTHREAD_NEW_TEB)
 I5    X  56347 /*
 I5    X  56348  * For compilation on versions of Tru64 UNIX prior to 5.1A, where
 I5    X  56349  * <sys/types.h> doesn't yet define the namespace-safe variants of the TEB
 I5    X  56350  * types, declare them here for the benefit of the rest of this header.
 I5    X  56351  */
 I5    X  56352 typedef pthreadTeb_t	__pthreadTeb_t;
 I5    X  56353 typedef pthreadTeb_t	*__pthreadTeb_p;
 I5    X  56354 #endif
 I5	  56355 
 I5	  56356 #ifndef _PTHREAD_ENV_UNIX
 I5	  56357 typedef unsigned int	pthread_key_t;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1018
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56358 #endif
 I5	  56359 
 I5	  56360 typedef void*	__pthreadStartFunc_t (void *);
 I5	  56361 typedef void	__pthreadDestructorFunc_t (void*);
 I5	  56362 typedef void*	__pthreadConstructorFunc_t (pthread_key_t, pthread_t);
 I5	  56363 typedef void	__pthreadExtDestructorFunc_t (void*, pthread_t, pthread_key_t);
 I5	  56364 typedef void	__pthreadOnceFunc_t (void);
 I5	  56365 
 I5	  56366 typedef __pthreadStartFunc_t*		__pthreadStart_t;
 I5	  56367 typedef __pthreadDestructorFunc_t*	__pthreadDestructor_t;
 I5	  56368 typedef __pthreadConstructorFunc_t*	__pthreadConstructor_t;
 I5	  56369 typedef __pthreadExtDestructorFunc_t*	__pthreadExtDestructor_t;
 I5	  56370 typedef __pthreadOnceFunc_t*		__pthreadOnce_t;
 I5	  56371 
 I5	  56372 /*
 I5	  56373  * Macros to utilize the TEB directly for maximum efficiency. With hardware
 I5	  56374  * and a compiler that supports it, this header uses inline instructions to
 I5	  56375  * get access to the thread's TEB... otherwise this will result in a simple
 I5	  56376  * call into DECthreads.
 I5	  56377  *
 I5	  56378  * It is perfectly reasonable for code to freely access any defined TEB field
 I5	  56379  * on any DECthreads platform, as long as you meet all of the following rules
 I5	  56380  * (read this section carefully!)
 I5	  56381  *
 I5	  56382  * You must not depend in any way upon the content or meaning of any
 I5	  56383  * "reserved" fields (reserved1, reserved2, reserved3, etc.). These are for
 I5	  56384  * DECthreads internal use only and are subject to change without notice.
 I5	  56385  *
 I5	  56386  * You may not write directly to any field of the TEB. Any modification may
 I5	  56387  * result in undefined and possibly severe errors that may show up only much
 I5	  56388  * later in the program.
 I5	  56389  *
 I5	  56390  * Don't make any assumptions about the nature of the sequence number returned
 I5	  56391  * by pthread_getsequence_np or pthread_getselfseq_np, except that it is a
 I5	  56392  * unique integer among all threads created within the current image.
 I5	  56393  * Consecutively created threads may not necessarily have consecutive sequence
 I5	  56394  * numbers, nor are all possible sequence numbers necessarily assigned by
 I5	  56395  * DECthreads. A thread created "later" does not necessarily have a sequence
 I5	  56396  * number higher than that of a thread created "earlier".
 I5	  56397  *
 I5	  56398  * A thread may read or write thread-specific data values directly to its own
 I5	  56399  * tsd_values array. Writing a value to any array element of tsd_values that
 I5	  56400  * does not correspond to the value of a thread-specific data key "owned" by
 I5	  56401  * the calling subsystem (returned by a call to pthread_key_create or
 I5	  56402  * pthread_key_create_new) is erroneous. If you choose to code inline access
 I5	  56403  * to the TSD array, do so very cautiously! Write to another thread's
 I5	  56404  * tsd_values array only if your code provides sufficient synchronization to
 I5	  56405  * ensure that this is "safe" -- in general, this is not a good idea.
 I5	  56406  *
 I5	  56407  * Only DECthreads and the O/S may use the value of the "per_kt_area" pointer;
 I5	  56408  * for other code this is unpredictable and undefined.
 I5	  56409  */
 I5    X  56410 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56411 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56412 #  pragma extern_prefix "__"
 I5    X  56413 # else
 I5    X  56414 #  define pthread_self __pthread_self

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1019
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  56415 # endif
 I5    X  56416 #endif
 I5	  56417 extern pthread_t pthread_self (void);
 I5    X  56418 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56419 # pragma extern_prefix ""
 I5    X  56420 #endif
 I5	  56421 
 I5	  56422 /*
 I5	  56423  * Return the address of the calling thread's Thread Environment BLock. If
 I5	  56424  * inlining is allowed and the platform supports asm(), hide the function
 I5	  56425  * behind a macro that inlines the operation.
 I5	  56426  */
 I5	  56427 extern __pthreadTeb_p pthread_teb_np (void);
 I5    X  56428 #if defined (_PTHREAD_USE_ASM_) && defined (_PTHREAD_USE_INLINE)
 I5    X  56429 # if defined (_PTHREAD_ENV_IA64)
 I5    X  56430 #  define pthread_teb_np()	((__pthreadTeb_p)__getReg (_IA64_REG_TP))
 I5    X  56431 # else
 I5    X  56432 #  define pthread_teb_np()	((__pthreadTeb_p)asm ("call_pal 0x9e"))
 I5    X  56433 # endif
 I5    X  56434 #endif
 I5	  56435 
 I5	  56436 #define pthread_unchecked_getspecific_np(_key_) \
 I5	  56437     (pthread_teb_np ()->_Pfield(tsd_values)[_key_])
 I5	  56438 #define pthread_unchecked_setspecific_np(_key_,_value_) \
 I5	  56439     (pthread_teb_np ()->_Pfield(tsd_values)[_key_] = (_value_))
 I5	  56440 
 I5	  56441 #ifndef _PTHREAD_ENV_UNIX
 I5	  56442 /*
 I5	  56443  * This is the primary structure controlling the identity and state of a
 I5	  56444  * mutex. The "lock" field contains the primary mutex lock bit, a flag
 I5	  56445  * indicating whether lock/unlock protocols are "fast" or "slow", the full
 I5	  56446  * type of the mutex, and an internal reference count. The reference count
 I5	  56447  * assures atomicity of unlock/wake sequences with respect to deletion.
 I5	  56448  *
 I5	  56449  * The "sequence" field gives each mutex a unique identifier, which is
 I5	  56450  * primarily used for debugging. A new static mutex has a sequence number of
 I5	  56451  * zero; DECthreads assigns a real sequence number when a thread first blocks
 I5	  56452  * on the mutex. (A mutex created by calling pthread_mutex_init has a sequence
 I5	  56453  * number assigned at creation.)
 I5	  56454  *
 I5	  56455  * Beware that the name and order of these fields are undocumented and
 I5	  56456  * unsupported. Directly accessing any in your program may result in serious
 I5	  56457  * difficulties in future releases of the operating system.
 I5	  56458  */
 I5	  56459 typedef struct __pthread_mutex_t {
 I5	  56460     unsigned int	_Pfield(lock);		/* LOCK, CONFIG, TYPE, REFCNT */
       E	                  lock
 I5	  56461     unsigned int	_Pfield(valid);		/* Validation info */
       E	                  valid
 I5	  56462     __pthreadLongString_t	_Pfield(name);	/* Name of mutex */
       E	                           name
 I5	  56463     unsigned int	_Pfield(arg);		/* printf argument for name */
       E	                  arg
 I5	  56464     unsigned int	_Pfield(depth);		/* Recursive lock depth */
       E	                  depth
 I5	  56465     unsigned long	_Pfield(sequence);	/* Mutex sequence number */
       E	                   sequence

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1020
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56466     unsigned long	_Pfield(owner);		/* Current owner (if known) */
       E	                   owner
 I5	  56467     __pthreadLongAddr_p	_Pfield(block);		/* Pointer to blocking struct */
       E	                         block
 I5	  56468     } pthread_mutex_t;
 I5	  56469 #endif
 I5	  56470 
 I5	  56471 #ifndef _PTHREAD_ENV_UNIX
 I5	  56472 /*
 I5	  56473  * Similar to pthread_mutex_t, but for a condition variable.
 I5	  56474  */
 I5	  56475 typedef struct __pthread_cond_t {
 I5	  56476     unsigned int	_Pfield(state);		/* EVENT, SLOW, REFCNT, etc. */
       E	                  state
 I5	  56477     unsigned int	_Pfield(valid);		/* Validation info */
       E	                  valid
 I5	  56478     __pthreadLongString_t	_Pfield(name);	/* Name of condition variable */
       E	                           name
 I5	  56479     unsigned int	_Pfield(arg);		/* printf argument for name */
       E	                  arg
 I5	  56480     unsigned long	_Pfield(sequence);	/* Condition variable seq # */
       E	                   sequence
 I5	  56481     __pthreadLongAddr_p	_Pfield(block);		/* Pointer to blocking struct */
       E	                         block
 I5	  56482     } pthread_cond_t;
 I5	  56483 #endif
 I5	  56484 
 I5	  56485 /*
 I5	  56486  * Ensure that an initialization routine is called exactly once.
 I5	  56487  */
 I5	  56488 #define PTHREAD_ONCE_UNINIT	0
 I5	  56489 #define PTHREAD_ONCE_INITING	1
 I5	  56490 #define PTHREAD_ONCE_INITED	2
 I5	  56491 #define PTHREAD_ONCE_INIT	{PTHREAD_ONCE_UNINIT}
 I5	  56492 #ifndef _PTHREAD_ENV_UNIX
 I5	  56493 typedef volatile struct __pthread_once_t {
 I5	  56494     long	_Pfield(state);
       E	          state
 I5	  56495     long	_Pfield(reserved)[10];
       E	          reserved
 I5	  56496     } pthread_once_t;
 I5	  56497 #endif
 I5	  56498 
 I5	  56499 #ifndef _PTHREAD_ENV_UNIX
 I5	  56500 /*
 I5	  56501  * Readers-Writers Locks
 I5	  56502  */
 I5	  56503 typedef struct __pthread_rwlock_t {
 I5	  56504     unsigned int	_Pfield(valid);		/* Validation flag */
       E	                  valid
 I5	  56505     unsigned int	_Pfield(flags);		/* Internal flags */
       E	                  flags
 I5	  56506     __pthreadLongString_t	_Pfield(name);	/* Name of rwlock */
       E	                           name
 I5	  56507     unsigned int	_Pfield(arg);		/* printf argument for name */
       E	                  arg
 I5	  56508     unsigned int	_Pfield(readers);	/* Number of readers */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1021
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

       E	                  readers
 I5	  56509     unsigned int	_Pfield(rwaits);	/* Waiting readers */
       E	                  rwaits
 I5	  56510     unsigned int	_Pfield(wwaits);	/* Waiting writers */
       E	                  wwaits
 I5	  56511     __pthreadLongUint_t	_Pfield(sequence);	/* rwlock variable seq # */
       E	                         sequence
 I5	  56512     unsigned long	_Pfield(wrid);		/* Current write owner */
       E	                   wrid
 I5	  56513     __pthreadLongAddr_p	_Pfield(block);		/* Pointer to blocking struct */
       E	                         block
 I5	  56514     __pthreadLongUint_t	_Pfield(reserved1);	/* Reserved to DECthreads */
       E	                         reserved1
 I5	  56515     } pthread_rwlock_t;
 I5	  56516 #endif
 I5	  56517 
 I5	  56518 #define PTHREAD_INHERIT_SCHED		0
 I5	  56519 #define PTHREAD_EXPLICIT_SCHED		1
 I5	  56520 
 I5	  56521 #define PTHREAD_CREATE_JOINABLE		0
 I5	  56522 #define PTHREAD_CREATE_DETACHED		1
 I5	  56523 
 I5	  56524 #ifndef _PTHREAD_ENV_UNIX
 I5	  56525 # define SCHED_FIFO	1		/* Tru64 UNIX sched.h defines */
 I5	  56526 # define SCHED_RR	2		/* these constants already */
 I5	  56527 # define SCHED_OTHER	3
 I5	  56528 # define SCHED_FG_NP	SCHED_OTHER	/* "Foreground" (Timeshare) */
 I5	  56529 # define SCHED_BG_NP	(SCHED_OTHER+1)	/* "Background" */
 I5	  56530 # define SCHED_LFI_NP	(SCHED_OTHER+2)	/* "Low FIFO" (background FIFO) */
 I5	  56531 # define SCHED_LRR_NP	(SCHED_OTHER+3)	/* "Low RR" (background RR) */
 I5	  56532 #endif
 I5	  56533 
 I5    X  56534 #if (defined _PTHREAD_ENV_UNIX) && (defined _OSF_SOURCE)
 I5    X  56535 # define PRI_FIFO_MIN	14
 I5    X  56536 # define PRI_FIFO_MAX	SCHED_PRIO_RT_MAX
 I5    X  56537 # define PRI_RR_MIN	14
 I5    X  56538 # define PRI_RR_MAX	SCHED_PRIO_RT_MAX
 I5    X  56539 # define PRI_OTHER_MIN	14
 I5    X  56540 # define PRI_OTHER_MAX	SCHED_PRIO_RT_MAX
 I5    X  56541 # define PRI_FG_MIN_NP	14
 I5    X  56542 # define PRI_FG_MAX_NP	63
 I5    X  56543 # define PRI_BG_MIN_NP	0
 I5    X  56544 # define PRI_BG_MAX_NP	13
 I5    X  56545 # define PRI_LFI_MIN_NP	0
 I5    X  56546 # define PRI_LFI_MAX_NP	13
 I5    X  56547 # define PRI_LRR_MIN_NP	0
 I5    X  56548 # define PRI_LRR_MAX_NP	13
 I5    X  56549 #elif defined (_PTHREAD_ENV_VMS)
 I5	  56550 # define PRI_FIFO_MIN	16
 I5	  56551 # define PRI_FIFO_MAX	31
 I5	  56552 # define PRI_RR_MIN	16
 I5	  56553 # define PRI_RR_MAX	31
 I5	  56554 # define PRI_OTHER_MIN	PRI_FG_MIN_NP
 I5	  56555 # define PRI_OTHER_MAX	PRI_FG_MAX_NP
 I5	  56556 # define PRI_FG_MIN_NP	8
 I5	  56557 # define PRI_FG_MAX_NP	15
 I5	  56558 # define PRI_BG_MIN_NP	0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1022
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56559 # define PRI_BG_MAX_NP	7
 I5	  56560 # define PRI_LFI_MIN_NP	0
 I5	  56561 # define PRI_LFI_MAX_NP	7
 I5	  56562 # define PRI_LRR_MIN_NP	0
 I5	  56563 # define PRI_LRR_MAX_NP	7
 I5	  56564 
 I5	  56565 # define sched_get_priority_max(_pol_) \
 I5	  56566    (_pol_ == SCHED_OTHER ? PRI_FG_MAX_NP : PRI_FIFO_MAX)
 I5	  56567 # define sched_get_priority_min(_pol_) \
 I5	  56568    (_pol_ == SCHED_OTHER ? PRI_FG_MIN_NP : PRI_FIFO_MIN)
 I5	  56569 #endif
 I5	  56570 
 I5    X  56571 #ifdef _PTHREAD_ENV_UNIX
 I5    X  56572 # if !defined (_XOPEN_SOURCE) || (_XOPEN_SOURCE+0 < 400)
 I5    X  56573 extern int pthread_sigmask (int, const sigset_t*, sigset_t*);
 I5    X  56574 
 I5    X  56575 extern int pthread_kill (pthread_t, int);
 I5    X  56576 # endif
 I5    X  56577 #endif
 I5	  56578 
 I5	  56579 /*
 I5	  56580  * DECthreads provides three distinct types of mutex. The default (normal or
 I5	  56581  * "fast" mutex), which can lock and unlock with completely inline code on
 I5	  56582  * Alpha processors, but does no consistency checking; the "recursive" mutex
 I5	  56583  * which allows a given thread to lock a mutex it already owns without
 I5	  56584  * deadlock (it remains locked until all nested locks are released); and the
 I5	  56585  * "errorcheck" mutex, which behaves much like a normal mutex but checks for
 I5	  56586  * self deadlock and for releasing a mutex that is either unowned or is owned
 I5	  56587  * by another thread. The recursive and errorcheck mutexes require a call
 I5	  56588  * into the DECthreads library for every lock and unlock.
 I5	  56589  *
 I5	  56590  * When synchronization metering is enabled, all mutex types monitor every
 I5	  56591  * lock and unlock. A mutex statically initialized using
 I5	  56592  * PTHREAD_MUTEX_INITIALIZER is "normal", but is set up so that the first use
 I5	  56593  * of the mutex will result in a call into DECthreads (as if the mutex was
 I5	  56594  * already locked). If synchronization metering is not enabled, DECthreads
 I5	  56595  * will disable this extra state so that future references (in the absence of
 I5	  56596  * normal mutex contention) will not cause unnecessary calls. Should you wish
 I5	  56597  * to avoid this initial call, you can compile with _PTHREAD_NOMETER_STATIC;
 I5	  56598  * normal mutexes statically initialized using this option are not metered.
 I5	  56599  */
 I5	  56600 extern int pthread_mutexattr_init (pthread_mutexattr_t*);
 I5	  56601 
 I5    X  56602 #ifdef _PTHREAD_ENV_UNIX
 I5    X  56603 extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t*, int*);
 I5    X  56604 
 I5    X  56605 extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t*, int);
 I5    X  56606 
 I5    X  56607 extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t*, int*);
 I5    X  56608 
 I5    X  56609 extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t*, int);
 I5    X  56610 #endif
 I5	  56611 
 I5	  56612 extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t*, int*);
 I5	  56613 
 I5	  56614 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t*, int);
 I5	  56615 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1023
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56616 extern int pthread_mutexattr_gettype (const pthread_mutexattr_t*, int*);
 I5	  56617 
 I5	  56618 extern int pthread_mutexattr_settype (pthread_mutexattr_t*, int);
 I5	  56619 
 I5	  56620 extern int pthread_mutexattr_destroy (pthread_mutexattr_t*);
 I5	  56621 
 I5    X  56622 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56623 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56624 #  pragma extern_prefix "__"
 I5    X  56625 # else
 I5    X  56626 #  define pthread_mutex_init __pthread_mutex_init
 I5    X  56627 # endif
 I5    X  56628 #endif
 I5	  56629 extern int pthread_mutex_init (pthread_mutex_t*, const pthread_mutexattr_t*);
 I5    X  56630 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56631 # pragma extern_prefix ""
 I5    X  56632 #endif
 I5	  56633 
 I5    X  56634 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56635 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56636 #  pragma extern_prefix "__"
 I5    X  56637 # else
 I5    X  56638 #  define pthread_mutex_destroy __pthread_mutex_destroy
 I5    X  56639 # endif
 I5    X  56640 #endif
 I5	  56641 extern int pthread_mutex_destroy (pthread_mutex_t*);
 I5    X  56642 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56643 # pragma extern_prefix ""
 I5    X  56644 #endif
 I5	  56645 
 I5    X  56646 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56647 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56648 #  pragma extern_prefix "__"
 I5    X  56649 # else
 I5    X  56650 #  define pthread_mutex_lock __pthread_mutex_lock
 I5    X  56651 # endif
 I5    X  56652 #endif
 I5	  56653 extern int pthread_mutex_lock (pthread_mutex_t*);
 I5    X  56654 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56655 # pragma extern_prefix ""
 I5    X  56656 #endif
 I5	  56657 
 I5    X  56658 #ifdef _PTHREAD_ENV_UNIX
 I5    X  56659 extern int pthread_mutex_getprioceiling (const pthread_mutex_t*, int*);
 I5    X  56660 
 I5    X  56661 extern int pthread_mutex_setprioceiling (pthread_mutex_t*, int, int*);
 I5    X  56662 #endif
 I5	  56663 
 I5	  56664 #if defined (_PTHREAD_ENV_VMS)
 I5	  56665 extern int pthread_mutex_tryforcedlock_np (pthread_mutex_t*);
 I5	  56666 #endif
 I5	  56667 
 I5    X  56668 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56669 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56670 #  pragma extern_prefix "__"
 I5    X  56671 # else
 I5    X  56672 #  define pthread_mutex_trylock __pthread_mutex_trylock

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1024
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  56673 # endif
 I5    X  56674 #endif
 I5	  56675 extern int pthread_mutex_trylock (pthread_mutex_t*);
 I5    X  56676 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56677 # pragma extern_prefix ""
 I5    X  56678 #endif
 I5	  56679 
 I5    X  56680 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56681 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56682 #  pragma extern_prefix "__"
 I5    X  56683 # else
 I5    X  56684 #  define pthread_mutex_unlock __pthread_mutex_unlock
 I5    X  56685 # endif
 I5    X  56686 #endif
 I5	  56687 extern int pthread_mutex_unlock (pthread_mutex_t*);
 I5    X  56688 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56689 # pragma extern_prefix ""
 I5    X  56690 #endif
 I5	  56691 
 I5	  56692 extern int pthread_condattr_init (pthread_condattr_t*);
 I5	  56693 
 I5	  56694 extern int pthread_condattr_destroy (pthread_condattr_t*);
 I5	  56695 
 I5	  56696 extern int pthread_condattr_setpshared (pthread_condattr_t*, int);
 I5	  56697 
 I5	  56698 extern int pthread_condattr_getpshared (const pthread_condattr_t*, int*);
 I5	  56699 
 I5    X  56700 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56701 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56702 #  pragma extern_prefix "__"
 I5    X  56703 # else
 I5    X  56704 #  define pthread_cond_init __pthread_cond_init
 I5    X  56705 # endif
 I5    X  56706 #endif
 I5	  56707 extern int pthread_cond_init (
 I5	  56708 	pthread_cond_t*,
 I5	  56709 	const pthread_condattr_t*);
 I5    X  56710 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56711 # pragma extern_prefix ""
 I5    X  56712 #endif
 I5	  56713 
 I5    X  56714 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56715 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56716 #  pragma extern_prefix "__"
 I5    X  56717 # else
 I5    X  56718 #  define pthread_cond_destroy __pthread_cond_destroy
 I5    X  56719 # endif
 I5    X  56720 #endif
 I5	  56721 extern int pthread_cond_destroy (pthread_cond_t*);
 I5    X  56722 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56723 # pragma extern_prefix ""
 I5    X  56724 #endif
 I5	  56725 
 I5    X  56726 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56727 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56728 #  pragma extern_prefix "__"
 I5    X  56729 # else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1025
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  56730 #  define pthread_cond_signal __pthread_cond_signal
 I5    X  56731 # endif
 I5    X  56732 #endif
 I5	  56733 extern int pthread_cond_signal (pthread_cond_t*);
 I5    X  56734 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56735 # pragma extern_prefix ""
 I5    X  56736 #endif
 I5	  56737 
 I5    X  56738 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56739 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56740 #  pragma extern_prefix "__"
 I5    X  56741 # else
 I5    X  56742 #  define pthread_cond_broadcast __pthread_cond_broadcast
 I5    X  56743 # endif
 I5    X  56744 #endif
 I5	  56745 extern int pthread_cond_broadcast (pthread_cond_t*);
 I5    X  56746 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56747 # pragma extern_prefix ""
 I5    X  56748 #endif
 I5	  56749 
 I5    X  56750 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56751 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56752 #  pragma extern_prefix "__"
 I5    X  56753 # else
 I5    X  56754 #  define pthread_cond_wait __pthread_cond_wait
 I5    X  56755 # endif
 I5    X  56756 #endif
 I5	  56757 extern int pthread_cond_wait (pthread_cond_t*, pthread_mutex_t*);
 I5    X  56758 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56759 # pragma extern_prefix ""
 I5    X  56760 #endif
 I5	  56761 
 I5    X  56762 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56763 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56764 #  pragma extern_prefix "__"
 I5    X  56765 # else
 I5    X  56766 #  define pthread_cond_timedwait __pthread_cond_timedwait
 I5    X  56767 # endif
 I5    X  56768 #endif
 I5	  56769 extern int pthread_cond_timedwait (
 I5	  56770 	pthread_cond_t*,
 I5	  56771 	pthread_mutex_t*,
 I5	  56772 	const struct timespec*);
 I5    X  56773 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56774 # pragma extern_prefix ""
 I5    X  56775 #endif
 I5	  56776 
 I5	  56777 extern int pthread_rwlockattr_init (pthread_rwlockattr_t*);
 I5	  56778 
 I5	  56779 extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t*);
 I5	  56780 
 I5	  56781 extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t*, int*);
 I5	  56782 
 I5	  56783 extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t*, int);
 I5	  56784 
 I5	  56785 extern int pthread_rwlock_init (pthread_rwlock_t*, const pthread_rwlockattr_t*);
 I5	  56786 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1026
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56787 extern int pthread_rwlock_destroy (pthread_rwlock_t*);
 I5	  56788 
 I5	  56789 extern int pthread_rwlock_rdlock (pthread_rwlock_t*);
 I5	  56790 
 I5	  56791 extern int pthread_rwlock_tryrdlock (pthread_rwlock_t*);
 I5	  56792 
 I5	  56793 extern int pthread_rwlock_wrlock (pthread_rwlock_t*);
 I5	  56794 
 I5	  56795 extern int pthread_rwlock_trywrlock (pthread_rwlock_t*);
 I5	  56796 
 I5	  56797 extern int pthread_rwlock_unlock (pthread_rwlock_t*);
 I5	  56798 
 I5	  56799 /*
 I5	  56800  * Routines to get/set the contention scope for a thread that will be created
 I5	  56801  * using the attributes object.
 I5	  56802  */
 I5	  56803 extern int pthread_attr_getscope (const pthread_attr_t*, int*);
 I5	  56804 
 I5	  56805 extern int pthread_attr_setscope (pthread_attr_t*, int);
 I5	  56806 
 I5	  56807 /*
 I5	  56808  * Extended versions of set/get stackaddr routines that allow the caller to
 I5	  56809  * specify the stack using a low address and size. The implementation will
 I5	  56810  * compute the proper "stack base" using this information. E.g. you might mmap
 I5	  56811  * space, add the size to the returned pointer, and then pass the result to
 I5	  56812  * pthread_attr_setstackaddr on a machine with a pre-decremented stack
 I5	  56813  * pointer; but on a machine with a post-incremented stack you would pass the
 I5	  56814  * pointer returned by mmap. Using pthread_attr_setstack instead, you always
 I5	  56815  * pass the pointer returned by mmap and the requested size.
 I5	  56816  */
 I5	  56817 extern int pthread_attr_setstack (pthread_attr_t*, void*, size_t);
 I5	  56818 #define pthread_attr_setstackaddr_np pthread_attr_setstack
 I5	  56819 
 I5	  56820 extern int pthread_attr_getstack (const pthread_attr_t*, void**, size_t*);
 I5	  56821 #define pthread_attr_getstackaddr_np pthread_attr_getstack
 I5	  56822 
 I5	  56823 /*
 I5	  56824  * Routines to get/set the stack address for a thread that will be created
 I5	  56825  * using the attributes object. Note that "stackaddr" must be the correct
 I5	  56826  * initial stack BASE for the thread, which is highly machine-dependent.
 I5	  56827  * (E.g., does the machine increment or decrement the stack, and does it do so
 I5	  56828  * before or after storing a new value?) Use of these functions is inherently
 I5	  56829  * NON-PORTABLE, and they should be used only with great caution.
 I5	  56830  * Additionally, they do not provide any way for the implementation to know
 I5	  56831  * the size of the stack, so it can neither prevent nor detect stack overflows
 I5	  56832  * or the corruption that may be caused by this application error. (See the
 I5	  56833  * XOPEN and POSIX 1003.1-2001 pthread_attr_setstack and pthread_attr_getstack
 I5	  56834  * routine descriptions.)
 I5	  56835  */
 I5	  56836 extern int pthread_attr_setstackaddr (pthread_attr_t*, void*);
 I5	  56837 
 I5	  56838 extern int pthread_attr_getstackaddr (const pthread_attr_t*, void**);
 I5	  56839 
 I5    X  56840 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56841 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56842 #  pragma extern_prefix "__"
 I5    X  56843 # else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1027
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  56844 #  define pthread_attr_setinheritsched __pthread_attr_setinheritsched
 I5    X  56845 # endif
 I5    X  56846 #endif
 I5	  56847 extern int pthread_attr_setinheritsched (pthread_attr_t*, int);
 I5    X  56848 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56849 # pragma extern_prefix ""
 I5    X  56850 #endif
 I5	  56851 
 I5    X  56852 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56853 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56854 #  pragma extern_prefix "__"
 I5    X  56855 # else
 I5    X  56856 #  define pthread_attr_getinheritsched __pthread_attr_getinheritsched
 I5    X  56857 # endif
 I5    X  56858 #endif
 I5	  56859 extern int pthread_attr_getinheritsched (const pthread_attr_t*, int*);
 I5    X  56860 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56861 # pragma extern_prefix ""
 I5    X  56862 #endif
 I5	  56863 
 I5	  56864 extern int pthread_attr_setschedpolicy (pthread_attr_t*, int);
 I5	  56865 
 I5	  56866 extern int pthread_attr_getschedpolicy (const pthread_attr_t*, int*);
 I5	  56867 
 I5	  56868 extern int pthread_attr_setschedparam (
 I5	  56869 	pthread_attr_t*, const struct sched_param*);
 I5	  56870 
 I5	  56871 extern int pthread_attr_getschedparam (
 I5	  56872 	const pthread_attr_t*, struct sched_param*);
 I5	  56873 
 I5	  56874 extern int pthread_getcputime_np (pthread_t, struct timespec*);
 I5	  56875 
 I5	  56876 extern int pthread_getschedparam (pthread_t, int*, struct sched_param*);
 I5	  56877 
 I5	  56878 extern int pthread_setschedparam (pthread_t, int, const struct sched_param*);
 I5	  56879 
 I5	  56880 extern int pthread_getconcurrency (void);
 I5	  56881 
 I5	  56882 extern int pthread_setconcurrency (int);
 I5	  56883 
 I5	  56884 extern int pthread_attr_init (pthread_attr_t*);
 I5	  56885 
 I5	  56886 extern int pthread_attr_destroy (pthread_attr_t*);
 I5	  56887 
 I5    X  56888 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56889 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56890 #  pragma extern_prefix "__"
 I5    X  56891 # else
 I5    X  56892 #  define pthread_attr_setstacksize __pthread_attr_setstacksize
 I5    X  56893 # endif
 I5    X  56894 #endif
 I5	  56895 extern int pthread_attr_setstacksize (pthread_attr_t*, size_t);
 I5    X  56896 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56897 # pragma extern_prefix ""
 I5    X  56898 #endif
 I5	  56899 
 I5    X  56900 #ifdef _PTHREAD_USE_MANGLED_NAMES_

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1028
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  56901 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56902 #  pragma extern_prefix "__"
 I5    X  56903 # else
 I5    X  56904 #  define pthread_attr_getstacksize __pthread_attr_getstacksize
 I5    X  56905 # endif
 I5    X  56906 #endif
 I5	  56907 extern int pthread_attr_getstacksize (
 I5	  56908 	const pthread_attr_t*,
 I5	  56909 	size_t*);
 I5    X  56910 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56911 # pragma extern_prefix ""
 I5    X  56912 #endif
 I5	  56913 
 I5	  56914 extern int pthread_attr_setdetachstate (pthread_attr_t*, int);
 I5	  56915 
 I5	  56916 extern int pthread_attr_getdetachstate (const pthread_attr_t*, int*);
 I5	  56917 
 I5    X  56918 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56919 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56920 #  pragma extern_prefix "__"
 I5    X  56921 # else
 I5    X  56922 #  define pthread_create __pthread_create
 I5    X  56923 # endif
 I5    X  56924 #endif
 I5	  56925 extern int pthread_create (
 I5	  56926 	pthread_t*,
 I5	  56927 	const pthread_attr_t*,
 I5	  56928 	void* (*)(void *),
 I5	  56929 	void*);
 I5    X  56930 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56931 # pragma extern_prefix ""
 I5    X  56932 #endif
 I5	  56933 
 I5	  56934 #ifdef _PTHREAD_ALLOW_MIXED_PROTOS_
 I5	  56935 extern int pthread_join64 (pthread_t, __pthreadLongAddr_t*);
 I5	  56936 extern int pthread_join32 (pthread_t, __pthreadShortAddr_t*);
 I5    X  56937 # ifdef pthread_join
 I5    X  56938 #  undef pthread_join
 I5    X  56939 # endif
 I5    X  56940 # if defined (_PTHREAD_MIXED_PROTOS_) && (__INITIAL_POINTER_SIZE == 64)
 I5    X  56941 #  define pthread_join pthread_join64
 I5    X  56942 # else
 I5	  56943 #  define pthread_join pthread_join32
 I5	  56944 # endif
 I5    X  56945 #else
 I5    X  56946 # ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56947 #  ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56948 #   pragma extern_prefix "__"
 I5    X  56949 #  else
 I5    X  56950 #   define pthread_join __pthread_join
 I5    X  56951 #  endif
 I5    X  56952 # endif
 I5    X  56953 extern int pthread_join (pthread_t, void**);
 I5    X  56954 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56955 #  pragma extern_prefix ""
 I5    X  56956 # endif
 I5    X  56957 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1029
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  56958 
 I5    X  56959 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56960 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56961 #  pragma extern_prefix "__"
 I5    X  56962 # else
 I5    X  56963 #  define pthread_detach __pthread_detach
 I5    X  56964 # endif
 I5    X  56965 #endif
 I5	  56966 extern int pthread_detach (pthread_t);
 I5    X  56967 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56968 # pragma extern_prefix ""
 I5    X  56969 #endif
 I5	  56970 
 I5    X  56971 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56972 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56973 #  pragma extern_prefix "__"
 I5    X  56974 # else
 I5    X  56975 #  define pthread_exit __pthread_exit
 I5    X  56976 # endif
 I5    X  56977 #endif
 I5	  56978 extern void pthread_exit (void*);
 I5    X  56979 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56980 # pragma extern_prefix ""
 I5    X  56981 #endif
 I5	  56982 
 I5    X  56983 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  56984 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56985 #  pragma extern_prefix "__"
 I5    X  56986 # else
 I5    X  56987 #  define pthread_equal __pthread_equal
 I5    X  56988 # endif
 I5    X  56989 #endif
 I5	  56990 extern int pthread_equal (pthread_t, pthread_t);
 I5    X  56991 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  56992 # pragma extern_prefix ""
 I5    X  56993 #endif
 I5	  56994 
 I5	  56995 /*
 I5	  56996  * See the note near the top of this header for the risks and benefits of
 I5	  56997  * using inlined operations! They are NOT compiled into your program by
 I5	  56998  * default, and if you choose to enable them you will be required to
 I5	  56999  * recompile should DECthreads ever need to change the inline instruction
 I5	  57000  * sequences! (While we will not do this arbitrarily, we will not hesitate
 I5	  57001  * should it become necessary to substantially improve code performance or
 I5	  57002  * reliability, or to fix a bug!)
 I5	  57003  */
 I5	  57004 
 I5    X  57005 #ifdef _PTHREAD_USE_INLINE
 I5    X  57006 # ifdef pthread_equal
 I5    X  57007 #  undef pthread_equal
 I5    X  57008 # endif
 I5    X  57009 # define pthread_equal(t1,t2) (t1==t2)
 I5    X  57010 #endif
 I5	  57011 
 I5    X  57012 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57013 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57014 #  pragma extern_prefix "__"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1030
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  57015 # else
 I5    X  57016 #  define pthread_once __pthread_once
 I5    X  57017 # endif
 I5    X  57018 #endif
 I5	  57019 extern int pthread_once (pthread_once_t*, __pthreadOnce_t);
 I5    X  57020 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57021 # pragma extern_prefix ""
 I5    X  57022 #endif
 I5	  57023 
 I5	  57024 extern int pthread_key_create (pthread_key_t*, __pthreadDestructor_t);
 I5	  57025 
 I5	  57026 extern int pthread_key_delete (pthread_key_t);
 I5	  57027 
 I5	  57028 extern int pthread_key_create_new_np (
 I5	  57029 	pthread_key_t*,
 I5	  57030 	__pthreadConstructor_t,
 I5	  57031 	__pthreadExtDestructor_t,
 I5	  57032 	int);
 I5	  57033 
 I5	  57034 /*
 I5	  57035  * See the note near the top of this header for the risks and benefits of
 I5	  57036  * using inlined operations! They are NOT compiled into your program by
 I5	  57037  * default, and if you choose to enable them you will be required to
 I5	  57038  * recompile should DECthreads ever need to change the inline instruction
 I5	  57039  * sequences! (While we will not do this arbitrarily, we will not hesitate
 I5	  57040  * should it become necessary to substantially improve code performance or
 I5	  57041  * reliability, or to fix a bug!)
 I5	  57042  *
 I5	  57043  * Additional note:
 I5	  57044  *
 I5	  57045  * pthread_getspecific can't be efficiently implemented as a macro in ANSI C,
 I5	  57046  * since it involves two invocations of pthread_teb_np(), which the compiler
 I5	  57047  * can't be depended upon to combine. The next best alternative is a static
 I5	  57048  * inlined routine; even if the #pragma inline isn't recognized by your
 I5	  57049  * compiler it's no worse than the real call (and may be better because the
 I5	  57050  * compiler can use optimized local call sequences); and the routine is small.
 I5	  57051  * Consider this an experiment -- it can be used for a lot more if it works
 I5	  57052  * well.
 I5	  57053  */
 I5	  57054 
 I5    X  57055 #if defined (_PTHREAD_USE_ASM_) && defined (_PTHREAD_USE_INLINE)
 I5    X  57056 _PTHREAD_INLINE_ static void *
 I5    X  57057 pthread_getspecific (pthread_key_t __key)
 I5    X  57058     {
 I5    X  57059     __pthreadTeb_p	__teb = pthread_teb_np ();
 I5    X  57060     return (void *)(__key >= __teb->_Pfield(tsd_count)
 I5    X  57061 		? NULL : __teb->_Pfield(tsd_values)[__key]);
 I5    X  57062     }
 I5    X  57063 #else
 I5    X  57064 # ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57065 #  ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57066 #   pragma extern_prefix "__"
 I5    X  57067 #  else
 I5    X  57068 #   define pthread_getspecific __pthread_getspecific
 I5    X  57069 #  endif
 I5    X  57070 # endif
 I5	  57071 extern void* pthread_getspecific (pthread_key_t);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1031
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  57072 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57073 #  pragma extern_prefix ""
 I5    X  57074 # endif
 I5	  57075 #endif
 I5	  57076 
 I5    X  57077 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57078 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57079 #  pragma extern_prefix "__"
 I5    X  57080 # else
 I5    X  57081 #  define pthread_setspecific __pthread_setspecific
 I5    X  57082 # endif
 I5    X  57083 #endif
 I5	  57084 extern int pthread_setspecific (pthread_key_t, const void*);
 I5    X  57085 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57086 # pragma extern_prefix ""
 I5    X  57087 #endif
 I5	  57088 
 I5    X  57089 #if defined (_PTHREAD_EXC_USE_NATIVE)
 I5	  57090 # define pthread_cleanup_push(_routine_,_arg_) \
 I5	  57091     { \
 I5	  57092     void (*_XXX_proc) (void *) = (void (*)(void *))(_routine_); \
 I5	  57093     void *_XXX_arg = (void *)(_arg_); \
 I5	  57094     volatile int _XXX_completed = 0; \
 I5    X  57095     _PTHREAD_NATIVE_TRY {
 I5    X  57096 # define pthread_cleanup_pop(_execute_) \
 I5    X  57097     _XXX_completed = 1;} \
 I5    X  57098     _PTHREAD_NATIVE_FINALLY { \
 I5    X  57099 	if ((! _XXX_completed) || (_execute_)) _XXX_proc (_XXX_arg);} \
 I5    X  57100     }
 I5    X  57101 #else
 I5	  57102 # define pthread_cleanup_push(_routine_,_arg_)	\
 I5	  57103     { \
 I5	  57104     void (*_XXX_proc) (void *) = (void (*)(void *))(_routine_); \
 I5	  57105     void *_XXX_arg = (void *)(_arg_); \
 I5	  57106     volatile int _XXX_completed = 0; \
 I5	  57107     PTHREAD_TRY_NP {
 I5	  57108 
 I5	  57109 # define pthread_cleanup_pop(_execute_)	\
 I5	  57110     _XXX_completed = 1;} \
 I5	  57111     PTHREAD_FINALLY_NP { \
 I5	  57112 	if ((! _XXX_completed) || (_execute_)) _XXX_proc (_XXX_arg);} \
 I5	  57113     PTHREAD_ENDTRY_NP}
 I5	  57114 #endif
 I5	  57115 
 I5    X  57116 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57117 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57118 #  pragma extern_prefix "__"
 I5    X  57119 # else
 I5    X  57120 #  define pthread_cancel __pthread_cancel
 I5    X  57121 # endif
 I5    X  57122 #endif
 I5	  57123 extern int pthread_cancel (pthread_t);
 I5    X  57124 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57125 # pragma extern_prefix ""
 I5    X  57126 #endif
 I5	  57127 
 I5	  57128 extern int pthread_setcancelstate (int, int*);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1032
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  57129 
 I5	  57130 extern int pthread_setcanceltype (int, int*);
 I5	  57131 
 I5    X  57132 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57133 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57134 #  pragma extern_prefix "__"
 I5    X  57135 # else
 I5    X  57136 #  define pthread_testcancel __pthread_testcancel
 I5    X  57137 # endif
 I5    X  57138 #endif
 I5	  57139 extern void pthread_testcancel (void);
 I5    X  57140 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57141 # pragma extern_prefix ""
 I5    X  57142 #endif
 I5	  57143 
 I5	  57144 /*
 I5	  57145  * DECthreads non-portable extensions to POSIX 1003.1c-1995.
 I5	  57146  */
 I5	  57147 
 I5	  57148 /*
 I5	  57149  * Get or set a name to be associated with threads created using the
 I5	  57150  * attributes object. Note that only the thread attributes object includes a
 I5	  57151  * name -- for other objects, it is sufficient to set the name immediately
 I5	  57152  * after initializing the object (whereas a thread may run between the call to
 I5	  57153  * pthread_create and the call to pthread_setname_np, without a name).
 I5	  57154  *
 I5	  57155  * Note that the "void*" value to which "mbz" points MAY be written by the
 I5	  57156  * thread library. On Alpha hardware (Tru64 UNIX and OpenVMS) and on IA-64,
 I5	  57157  * the value to which "mbz" points must be a 64-bit pointer. If you are
 I5	  57158  * compiling with short pointers, you must take extra steps to ensure that you
 I5	  57159  * have allocated a 64-bit value to receive the result.
 I5	  57160  */
 I5	  57161 extern int pthread_attr_getname_np (
 I5	  57162 	const pthread_attr_t*,
 I5	  57163 	char*,
 I5	  57164 	size_t,
 I5	  57165 	void**);
 I5	  57166 
 I5	  57167 extern int pthread_attr_setname_np (pthread_attr_t*, const char*, void*);
 I5	  57168 
 I5	  57169 /*
 I5	  57170  * Get or set a name on a condition variable.
 I5	  57171  */
 I5	  57172 extern int pthread_cond_getname_np (pthread_cond_t*, char*, size_t);
 I5	  57173 
 I5	  57174 extern int pthread_cond_setname_np (pthread_cond_t*, const char*, void*);
 I5	  57175 
 I5	  57176 /*
 I5	  57177  * Get or set a name on a thread-specific data key
 I5	  57178  */
 I5	  57179 extern int pthread_key_getname_np (pthread_key_t, char*, size_t);
 I5	  57180 
 I5	  57181 extern int pthread_key_setname_np (pthread_key_t, const char*, void*);
 I5	  57182 
 I5	  57183 /*
 I5	  57184  * Get or set a name on a mutex
 I5	  57185  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1033
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  57186 extern int pthread_mutex_getname_np (pthread_mutex_t*, char*, size_t);
 I5	  57187 
 I5	  57188 extern int pthread_mutex_setname_np (pthread_mutex_t*, const char*, void*);
 I5	  57189 
 I5	  57190 /*
 I5	  57191  * Get or set a name on a rwlock
 I5	  57192  */
 I5	  57193 extern int pthread_rwlock_getname_np (pthread_rwlock_t*, char*, size_t);
 I5	  57194 
 I5	  57195 extern int pthread_rwlock_setname_np (pthread_rwlock_t*, const char*, void*);
 I5	  57196 
 I5	  57197 /*
 I5	  57198  * Get or set a name on a thread
 I5	  57199  */
 I5	  57200 extern int pthread_getname_np (pthread_t, char*, size_t);
 I5	  57201 
 I5	  57202 extern int pthread_setname_np (pthread_t, const char*, void*);
 I5	  57203 
 I5    X  57204 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57205 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57206 #  pragma extern_prefix "__"
 I5    X  57207 # else
 I5    X  57208 #  define pthread_cond_sig_preempt_int_np __pthread_cond_sig_preempt_int_np
 I5    X  57209 # endif
 I5    X  57210 #endif
 I5	  57211 extern int pthread_cond_sig_preempt_int_np (pthread_cond_t*);
 I5    X  57212 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57213 # pragma extern_prefix ""
 I5    X  57214 #endif
 I5	  57215 
 I5    X  57216 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57217 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57218 #  pragma extern_prefix "__"
 I5    X  57219 # else
 I5    X  57220 #  define pthread_cond_signal_int_np __pthread_cond_signal_int_np
 I5    X  57221 # endif
 I5    X  57222 #endif
 I5	  57223 extern int pthread_cond_signal_int_np (pthread_cond_t*);
 I5    X  57224 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57225 # pragma extern_prefix ""
 I5    X  57226 #endif
 I5	  57227 
 I5    X  57228 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57229 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57230 #  pragma extern_prefix "__"
 I5    X  57231 # else
 I5    X  57232 #  define pthread_get_expiration_np __pthread_get_expiration_np
 I5    X  57233 # endif
 I5    X  57234 #endif
 I5	  57235 extern int pthread_get_expiration_np (const struct timespec*, struct timespec*);
 I5    X  57236 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57237 # pragma extern_prefix ""
 I5    X  57238 #endif
 I5	  57239 
 I5    X  57240 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57241 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57242 #  pragma extern_prefix "__"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1034
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5    X  57243 # else
 I5    X  57244 #  define pthread_delay_np __pthread_delay_np
 I5    X  57245 # endif
 I5    X  57246 #endif
 I5	  57247 extern int pthread_delay_np (const struct timespec*);
 I5    X  57248 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57249 # pragma extern_prefix ""
 I5    X  57250 #endif
 I5	  57251 
 I5    X  57252 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57253 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57254 #  pragma extern_prefix "__"
 I5    X  57255 # else
 I5    X  57256 #  define pthread_lock_global_np __pthread_lock_global_np
 I5    X  57257 # endif
 I5    X  57258 #endif
 I5	  57259 extern int pthread_lock_global_np (void);
 I5    X  57260 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57261 # pragma extern_prefix ""
 I5    X  57262 #endif
 I5	  57263 
 I5    X  57264 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57265 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57266 #  pragma extern_prefix "__"
 I5    X  57267 # else
 I5    X  57268 #  define pthread_unlock_global_np __pthread_unlock_global_np
 I5    X  57269 # endif
 I5    X  57270 #endif
 I5	  57271 extern int pthread_unlock_global_np (void);
 I5    X  57272 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57273 # pragma extern_prefix ""
 I5    X  57274 #endif
 I5	  57275 
 I5	  57276 extern int pthread_attr_setguardsize (pthread_attr_t*, size_t);
 I5	  57277 
 I5	  57278 extern int pthread_attr_getguardsize (const pthread_attr_t*, size_t*);
 I5	  57279 
 I5	  57280 extern unsigned long pthread_getsequence_np (pthread_t);
 I5	  57281 
 I5	  57282 extern unsigned long pthread_getselfseq_np (void);
 I5	  57283 
 I5	  57284 /*
 I5	  57285  * By default (unless #undef-ed) use an inlined macro version of
 I5	  57286  * pthread_getsequence_np, since it's trivial.
 I5	  57287  */
 I5	  57288 #define pthread_getsequence_np(_t_) \
 I5	  57289 	(((__pthreadTeb_p)(__pthreadPointerSize)(_t_))->_Pfield(sequence))
 I5	  57290 #define pthread_getselfseq_np() (pthread_teb_np ()->_Pfield(sequence))
 I5	  57291 
 I5	  57292 /*
 I5	  57293  * The POSIX 1003.1c pthread_getspecific() function doesn't report any
 I5	  57294  * errors. If the key value is illegal, or if the thread has no value for the
 I5	  57295  * key, it returns NULL without any error indication. Normally that's not a
 I5	  57296  * problem. However if you really want to know whether a key is valid, you
 I5	  57297  * can use this function. It will return EINVAL if the key is invalid, ENOENT
 I5	  57298  * if the key exists but the thread has no value for the key (or value is
 I5	  57299  * NULL), and 0 if the key is valid and the thread has a value.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1035
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  57300  */
 I5	  57301 extern int pthread_key_validate_np (pthread_key_t);
 I5	  57302 
 I5	  57303 extern int pthread_yield_np (void);
 I5	  57304 
 I5	  57305 /*
 I5	  57306  * OBSOLETE functions will be moved here before destruction.
 I5	  57307  */
 I5	  57308 
 I5	  57309 /*
 I5	  57310  * The "DCE thread" heritage _np mutex type attribute operations have been
 I5	  57311  * superceded by the Single UNIX Specification, Version 2 operations. (Same
 I5	  57312  * name but without the _np suffix.) The _np variations will be removed in a
 I5	  57313  * future release.
 I5	  57314  */
 I5	  57315 
 I5	  57316 #define PTHREAD_MUTEX_NORMAL_NP		PTHREAD_MUTEX_NORMAL
 I5	  57317 #define PTHREAD_MUTEX_RECURSIVE_NP	PTHREAD_MUTEX_RECURSIVE
 I5	  57318 #define PTHREAD_MUTEX_ERRORCHECK_NP	PTHREAD_MUTEX_ERRORCHECK
 I5	  57319 
 I5	  57320 extern int pthread_mutexattr_gettype_np (const pthread_mutexattr_t*, int*);
 I5	  57321 
 I5	  57322 extern int pthread_mutexattr_settype_np (pthread_mutexattr_t*, int);
 I5	  57323 
 I5	  57324 /*
 I5	  57325  * The "DCE thread" heritage _np guardsize attribute operations have been
 I5	  57326  * superceded by the Single UNIX Specification, Version 2 operations. (Same
 I5	  57327  * name but without the _np suffix.) The _np variations will be removed in a
 I5	  57328  * future release.
 I5	  57329  */
 I5    X  57330 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57331 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57332 #  pragma extern_prefix "__"
 I5    X  57333 # else
 I5    X  57334 #  define pthread_attr_getguardsize_np __pthread_attr_getguardsize_np
 I5    X  57335 # endif
 I5    X  57336 #endif
 I5	  57337 extern int pthread_attr_getguardsize_np (const pthread_attr_t*, size_t*);
 I5	  57338 
 I5    X  57339 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57340 # pragma extern_prefix ""
 I5    X  57341 #endif
 I5	  57342 
 I5    X  57343 #ifdef _PTHREAD_USE_MANGLED_NAMES_
 I5    X  57344 # ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57345 #  pragma extern_prefix "__"
 I5    X  57346 # else
 I5    X  57347 #  define pthread_attr_setguardsize_np __pthread_attr_setguardsize_np
 I5    X  57348 # endif
 I5    X  57349 #endif
 I5	  57350 extern int pthread_attr_setguardsize_np (
 I5	  57351 	pthread_attr_t*,
 I5	  57352 	size_t);
 I5	  57353 
 I5    X  57354 #ifdef _PTHREAD_USE_PTDNAM_
 I5    X  57355 # pragma extern_prefix ""
 I5    X  57356 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1036
V1.0                                                             9-MAR-2021 22:28:13  [SYSLIB]SYS$STARLET_C.TLB;1(PTHREAD)

 I5	  57357 
 I5	  57358 /*
 I5	  57359  * OBSOLETE: The function pthread_debug() is no longer implemented. The entry
 I5	  57360  * point remains for source/binary compatibility for now, but will be removed
 I5	  57361  * in a future release.
 I5	  57362  */
 I5	  57363 extern void pthread_debug (void);
 I5	  57364 
 I5	  57365 /*
 I5	  57366  * OBSOLETE: This type is no longer used. The definition remains for
 I5	  57367  * source/binary compatibility for now, but will be removed in a future
 I5	  57368  * release.
 I5	  57369  */
 I5	  57370 typedef enum pthreadDbgStatus_t {
 I5	  57371     PTHREAD_DBG_SUCCESS = 0,
 I5	  57372     PTHREAD_DBG_QUIT = 1,
 I5	  57373     PTHREAD_DBG_NONESEL = 2,
 I5	  57374     PTHREAD_DBG_SUCCESSPEND = 3,
 I5	  57375     PTHREAD_DBG_NOPRIV = -1,
 I5	  57376     PTHREAD_DBG_INVPARAM = -2,
 I5	  57377     PTHREAD_DBG_INVSEQ = -3,
 I5	  57378     PTHREAD_DBG_INCONSTATE = -4,
 I5	  57379     PTHREAD_DBG_CORRUPT = -5,
 I5	  57380     PTHREAD_DBG_INVOPTION = -6,
 I5	  57381     PTHREAD_DBG_NOARG = -7,
 I5	  57382     PTHREAD_DBG_INVADDR = -8,
 I5	  57383     PTHREAD_DBG_INVCMD = -9,
 I5	  57384     PTHREAD_DBG_NULLCMD = -10,
 I5	  57385     PTHREAD_DBG_CONFLICT = -11,
 I5	  57386     PTHREAD_DBG_UNIMPL = -12
 I5	  57387     } pthreadDbgStatus_t;
 I5	  57388 
 I5	  57389 /*
 I5	  57390  * OBSOLETE: The function pthread_debug_cmd() is no longer implemented. The
 I5	  57391  * entry point remains for source/binary compatibility for now, but will be
 I5	  57392  * removed in a future major release.
 I5	  57393  */
 I5	  57394 extern pthreadDbgStatus_t pthread_debug_cmd (char *);
 I5	  57395 
 I5    X  57396 #ifdef _PTHREAD_ENV_CXX
 I5    X  57397     } /* End of extern "C" { */
 I5    X  57398 #endif
 I5	  57399 
 I5	  57400 #endif					/* _PTHREAD_USE_D4 */
 I5	  57401 
 I5	  57402 #pragma __standard
 I5	  57403 #endif
 I4	  57404 #   endif
 I4	  57405 typedef pthread_once_t CRYPTO_ONCE;
 I4	  57406 typedef pthread_key_t CRYPTO_THREAD_LOCAL;
 I4	  57407 typedef pthread_t CRYPTO_THREAD_ID;
 I4	  57408 
 I4	  57409 #   define CRYPTO_ONCE_STATIC_INIT PTHREAD_ONCE_INIT
 I4	  57410 #  endif
 I4	  57411 # endif
 I4	  57412 
 I4    X  57413 # if !defined(CRYPTO_ONCE_STATIC_INIT)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1037
V1.0                                                             9-MAR-2021 22:28:13  SSL3$ROOT:[INCLUDE]CRYPTO.H;1

 I4    X  57414 typedef unsigned int CRYPTO_ONCE;
 I4    X  57415 typedef unsigned int CRYPTO_THREAD_LOCAL;
 I4    X  57416 typedef unsigned int CRYPTO_THREAD_ID;
 I4    X  57417 #  define CRYPTO_ONCE_STATIC_INIT 0
 I4    X  57418 # endif
 I4	  57419 
 I4	  57420 int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void));
 I4	  57421 
 I4	  57422 int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *));
 I4	  57423 void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key);
 I4	  57424 int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val);
 I4	  57425 int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key);
 I4	  57426 
 I4	  57427 CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void);
 I4	  57428 int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b);
 I4	  57429 
 I4	  57430 OSSL_LIB_CTX *OSSL_LIB_CTX_new(void);
 I4	  57431 OSSL_LIB_CTX *OSSL_LIB_CTX_new_from_dispatch(const OSSL_CORE_HANDLE *handle,
 I4	  57432                                              const OSSL_DISPATCH *in);
 I4	  57433 OSSL_LIB_CTX *OSSL_LIB_CTX_new_child(const OSSL_CORE_HANDLE *handle,
 I4	  57434                                      const OSSL_DISPATCH *in);
 I4	  57435 int OSSL_LIB_CTX_load_config(OSSL_LIB_CTX *ctx, const char *config_file);
 I4	  57436 void OSSL_LIB_CTX_free(OSSL_LIB_CTX *);
 I4	  57437 OSSL_LIB_CTX *OSSL_LIB_CTX_get0_global_default(void);
 I4	  57438 OSSL_LIB_CTX *OSSL_LIB_CTX_set0_default(OSSL_LIB_CTX *libctx);
 I4	  57439 
 I4    X  57440 # ifdef  __cplusplus
 I4    X  57441 }
 I4    X  57442 # endif
 I4	  57443 #endif
 I3	  57444 # include <openssl/comperr.h>
 I4	  57445 /*
 I4	  57446  * Generated by util/mkerr.pl DO NOT EDIT
 I4	  57447  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  57448  *
 I4	  57449  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  57450  * this file except in compliance with the License.  You can obtain a copy
 I4	  57451  * in the file LICENSE in the source distribution or at
 I4	  57452  * https://www.openssl.org/source/license.html
 I4	  57453  */
 I4	  57454 
 I4	  57455 #ifndef OPENSSL_COMPERR_H
 I4	  57456 # define OPENSSL_COMPERR_H
 I4	  57457 # pragma once
 I4	  57458 
 I4    X  57459 # include <openssl/opensslconf.h>
 I4    X  57460 # include <openssl/symhacks.h>
 I4    X  57461 # include <openssl/cryptoerr_legacy.h>
 I4	  57462 
 I4	  57463 
 I4	  57464 # ifndef OPENSSL_NO_COMP
 I4	  57465 
 I4	  57466 
 I4	  57467 /*
 I4	  57468  * COMP reason codes.
 I4	  57469  */
 I4	  57470 #  define COMP_R_ZLIB_DEFLATE_ERROR                        99

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1038
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]COMPERR.H;1

 I4	  57471 #  define COMP_R_ZLIB_INFLATE_ERROR                        100
 I4	  57472 #  define COMP_R_ZLIB_NOT_SUPPORTED                        101
 I4	  57473 
 I4	  57474 # endif
 I4	  57475 #endif
 I3    X  57476 # ifdef  __cplusplus
 I3    X  57477 extern "C" {
 I3    X  57478 # endif
 I3	  57479 
 I3	  57480 
 I3	  57481 
 I3	  57482 COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);
 I3	  57483 const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx);
 I3	  57484 int COMP_CTX_get_type(const COMP_CTX* comp);
 I3	  57485 int COMP_get_type(const COMP_METHOD *meth);
 I3	  57486 const char *COMP_get_name(const COMP_METHOD *meth);
 I3	  57487 void COMP_CTX_free(COMP_CTX *ctx);
 I3	  57488 
 I3	  57489 int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
 I3	  57490                         unsigned char *in, int ilen);
 I3	  57491 int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
 I3	  57492                       unsigned char *in, int ilen);
 I3	  57493 
 I3	  57494 COMP_METHOD *COMP_zlib(void);
 I3	  57495 
 I3	  57496 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  57497 # define COMP_zlib_cleanup() while(0) continue
 I3	  57498 #endif
 I3	  57499 
 I3    X  57500 # ifdef OPENSSL_BIO_H
 I3    X  57501 #  ifdef ZLIB
 I3    X  57502 const BIO_METHOD *BIO_f_zlib(void);
 I3    X  57503 #  endif
 I3    X  57504 # endif
 I3	  57505 
 I3	  57506 
 I3    X  57507 #  ifdef  __cplusplus
 I3    X  57508 }
 I3    X  57509 #  endif
 I3	  57510 # endif
 I3	  57511 #endif
 I2	  57512 # include <openssl/bio.h>
 I3	  57513 /*
 I3	  57514  * WARNING: do not edit!
 I3	  57515  * Generated by descrip.mms from [-.include.openssl]bio.h.in
 I3	  57516  *
 I3	  57517  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I3	  57518  *
 I3	  57519  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  57520  * this file except in compliance with the License.  You can obtain a copy
 I3	  57521  * in the file LICENSE in the source distribution or at
 I3	  57522  * https://www.openssl.org/source/license.html
 I3	  57523  */
 I3	  57524 
 I3	  57525 
 I3	  57526 #ifndef OPENSSL_BIO_H
 I3	  57527 # define OPENSSL_BIO_H

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1039
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  57528 # pragma once
 I3	  57529 
 I3    X  57530 # include <openssl/macros.h>
 I3	  57531 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  57532 #  define HEADER_BIO_H
 I3	  57533 # endif
 I3	  57534 
 I3    X  57535 # include <openssl/e_os2.h>
 I3	  57536 
 I3	  57537 # ifndef OPENSSL_NO_STDIO
 I3    X  57538 #  include <stdio.h>
 I3	  57539 # endif
 I3    X  57540 # include <stdarg.h>
 I3	  57541 
 I3    X  57542 # include <openssl/crypto.h>
 I3	  57543 # include <openssl/bioerr.h>
 I4	  57544 /*
 I4	  57545  * Generated by util/mkerr.pl DO NOT EDIT
 I4	  57546  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  57547  *
 I4	  57548  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  57549  * this file except in compliance with the License.  You can obtain a copy
 I4	  57550  * in the file LICENSE in the source distribution or at
 I4	  57551  * https://www.openssl.org/source/license.html
 I4	  57552  */
 I4	  57553 
 I4	  57554 #ifndef OPENSSL_BIOERR_H
 I4	  57555 # define OPENSSL_BIOERR_H
 I4	  57556 # pragma once
 I4	  57557 
 I4    X  57558 # include <openssl/opensslconf.h>
 I4    X  57559 # include <openssl/symhacks.h>
 I4    X  57560 # include <openssl/cryptoerr_legacy.h>
 I4	  57561 
 I4	  57562 
 I4	  57563 
 I4	  57564 /*
 I4	  57565  * BIO reason codes.
 I4	  57566  */
 I4	  57567 # define BIO_R_ACCEPT_ERROR                               100
 I4	  57568 # define BIO_R_ADDRINFO_ADDR_IS_NOT_AF_INET               141
 I4	  57569 # define BIO_R_AMBIGUOUS_HOST_OR_SERVICE                  129
 I4	  57570 # define BIO_R_BAD_FOPEN_MODE                             101
 I4	  57571 # define BIO_R_BROKEN_PIPE                                124
 I4	  57572 # define BIO_R_CONNECT_ERROR                              103
 I4	  57573 # define BIO_R_CONNECT_TIMEOUT                            147
 I4	  57574 # define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET          107
 I4	  57575 # define BIO_R_GETSOCKNAME_ERROR                          132
 I4	  57576 # define BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS              133
 I4	  57577 # define BIO_R_GETTING_SOCKTYPE                           134
 I4	  57578 # define BIO_R_INVALID_ARGUMENT                           125
 I4	  57579 # define BIO_R_INVALID_SOCKET                             135
 I4	  57580 # define BIO_R_IN_USE                                     123
 I4	  57581 # define BIO_R_LENGTH_TOO_LONG                            102
 I4	  57582 # define BIO_R_LISTEN_V6_ONLY                             136
 I4	  57583 # define BIO_R_LOOKUP_RETURNED_NOTHING                    142
 I4	  57584 # define BIO_R_MALFORMED_HOST_OR_SERVICE                  130

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1040
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIOERR.H;1

 I4	  57585 # define BIO_R_NBIO_CONNECT_ERROR                         110
 I4	  57586 # define BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED        143
 I4	  57587 # define BIO_R_NO_HOSTNAME_OR_SERVICE_SPECIFIED           144
 I4	  57588 # define BIO_R_NO_PORT_DEFINED                            113
 I4	  57589 # define BIO_R_NO_SUCH_FILE                               128
 I4	  57590 # define BIO_R_NULL_PARAMETER                             115 /* unused */
 I4	  57591 # define BIO_R_TRANSFER_ERROR                             104
 I4	  57592 # define BIO_R_TRANSFER_TIMEOUT                           105
 I4	  57593 # define BIO_R_UNABLE_TO_BIND_SOCKET                      117
 I4	  57594 # define BIO_R_UNABLE_TO_CREATE_SOCKET                    118
 I4	  57595 # define BIO_R_UNABLE_TO_KEEPALIVE                        137
 I4	  57596 # define BIO_R_UNABLE_TO_LISTEN_SOCKET                    119
 I4	  57597 # define BIO_R_UNABLE_TO_NODELAY                          138
 I4	  57598 # define BIO_R_UNABLE_TO_REUSEADDR                        139
 I4	  57599 # define BIO_R_UNAVAILABLE_IP_FAMILY                      145
 I4	  57600 # define BIO_R_UNINITIALIZED                              120
 I4	  57601 # define BIO_R_UNKNOWN_INFO_TYPE                          140
 I4	  57602 # define BIO_R_UNSUPPORTED_IP_FAMILY                      146
 I4	  57603 # define BIO_R_UNSUPPORTED_METHOD                         121
 I4	  57604 # define BIO_R_UNSUPPORTED_PROTOCOL_FAMILY                131
 I4	  57605 # define BIO_R_WRITE_TO_READ_ONLY_BIO                     126
 I4	  57606 # define BIO_R_WSASTARTUP                                 122
 I4	  57607 
 I4	  57608 #endif
 I3    X  57609 # include <openssl/core.h>
 I3	  57610 
 I3    X  57611 #ifdef  __cplusplus
 I3    X  57612 extern "C" {
 I3    X  57613 #endif
 I3	  57614 
 I3	  57615 /* There are the classes of BIOs */
 I3	  57616 # define BIO_TYPE_DESCRIPTOR     0x0100 /* socket, fd, connect or accept */
 I3	  57617 # define BIO_TYPE_FILTER         0x0200
 I3	  57618 # define BIO_TYPE_SOURCE_SINK    0x0400
 I3	  57619 
 I3	  57620 /* These are the 'types' of BIOs */
 I3	  57621 # define BIO_TYPE_NONE             0
 I3	  57622 # define BIO_TYPE_MEM            ( 1|BIO_TYPE_SOURCE_SINK)
 I3	  57623 # define BIO_TYPE_FILE           ( 2|BIO_TYPE_SOURCE_SINK)
 I3	  57624 
 I3	  57625 # define BIO_TYPE_FD             ( 4|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 I3	  57626 # define BIO_TYPE_SOCKET         ( 5|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 I3	  57627 # define BIO_TYPE_NULL           ( 6|BIO_TYPE_SOURCE_SINK)
 I3	  57628 # define BIO_TYPE_SSL            ( 7|BIO_TYPE_FILTER)
 I3	  57629 # define BIO_TYPE_MD             ( 8|BIO_TYPE_FILTER)
 I3	  57630 # define BIO_TYPE_BUFFER         ( 9|BIO_TYPE_FILTER)
 I3	  57631 # define BIO_TYPE_CIPHER         (10|BIO_TYPE_FILTER)
 I3	  57632 # define BIO_TYPE_BASE64         (11|BIO_TYPE_FILTER)
 I3	  57633 # define BIO_TYPE_CONNECT        (12|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 I3	  57634 # define BIO_TYPE_ACCEPT         (13|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 I3	  57635 
 I3	  57636 # define BIO_TYPE_NBIO_TEST      (16|BIO_TYPE_FILTER)/* server proxy BIO */
 I3	  57637 # define BIO_TYPE_NULL_FILTER    (17|BIO_TYPE_FILTER)
 I3	  57638 # define BIO_TYPE_BIO            (19|BIO_TYPE_SOURCE_SINK)/* half a BIO pair */
 I3	  57639 # define BIO_TYPE_LINEBUFFER     (20|BIO_TYPE_FILTER)
 I3	  57640 # define BIO_TYPE_DGRAM          (21|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 I3	  57641 # define BIO_TYPE_ASN1           (22|BIO_TYPE_FILTER)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1041
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  57642 # define BIO_TYPE_COMP           (23|BIO_TYPE_FILTER)
 I3    X  57643 # ifndef OPENSSL_NO_SCTP
 I3    X  57644 #  define BIO_TYPE_DGRAM_SCTP    (24|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR)
 I3    X  57645 # endif
 I3	  57646 # define BIO_TYPE_CORE_TO_PROV   (25|BIO_TYPE_SOURCE_SINK)
 I3	  57647 
 I3	  57648 #define BIO_TYPE_START           128
 I3	  57649 
 I3	  57650 /*
 I3	  57651  * BIO_FILENAME_READ|BIO_CLOSE to open or close on free.
 I3	  57652  * BIO_set_fp(in,stdin,BIO_NOCLOSE);
 I3	  57653  */
 I3	  57654 # define BIO_NOCLOSE             0x00
 I3	  57655 # define BIO_CLOSE               0x01
 I3	  57656 
 I3	  57657 /*
 I3	  57658  * These are used in the following macros and are passed to BIO_ctrl()
 I3	  57659  */
 I3	  57660 # define BIO_CTRL_RESET          1/* opt - rewind/zero etc */
 I3	  57661 # define BIO_CTRL_EOF            2/* opt - are we at the eof */
 I3	  57662 # define BIO_CTRL_INFO           3/* opt - extra tit-bits */
 I3	  57663 # define BIO_CTRL_SET            4/* man - set the 'IO' type */
 I3	  57664 # define BIO_CTRL_GET            5/* man - get the 'IO' type */
 I3	  57665 # define BIO_CTRL_PUSH           6/* opt - internal, used to signify change */
 I3	  57666 # define BIO_CTRL_POP            7/* opt - internal, used to signify change */
 I3	  57667 # define BIO_CTRL_GET_CLOSE      8/* man - set the 'close' on free */
 I3	  57668 # define BIO_CTRL_SET_CLOSE      9/* man - set the 'close' on free */
 I3	  57669 # define BIO_CTRL_PENDING        10/* opt - is their more data buffered */
 I3	  57670 # define BIO_CTRL_FLUSH          11/* opt - 'flush' buffered output */
 I3	  57671 # define BIO_CTRL_DUP            12/* man - extra stuff for 'duped' BIO */
 I3	  57672 # define BIO_CTRL_WPENDING       13/* opt - number of bytes still to write */
 I3	  57673 # define BIO_CTRL_SET_CALLBACK   14/* opt - set callback function */
 I3	  57674 # define BIO_CTRL_GET_CALLBACK   15/* opt - set callback function */
 I3	  57675 
 I3	  57676 # define BIO_CTRL_PEEK           29/* BIO_f_buffer special */
 I3	  57677 # define BIO_CTRL_SET_FILENAME   30/* BIO_s_file special */
 I3	  57678 
 I3	  57679 /* dgram BIO stuff */
 I3	  57680 # define BIO_CTRL_DGRAM_CONNECT       31/* BIO dgram special */
 I3	  57681 # define BIO_CTRL_DGRAM_SET_CONNECTED 32/* allow for an externally connected
 I3	  57682                                          * socket to be passed in */
 I3	  57683 # define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33/* setsockopt, essentially */
 I3	  57684 # define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34/* getsockopt, essentially */
 I3	  57685 # define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35/* setsockopt, essentially */
 I3	  57686 # define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36/* getsockopt, essentially */
 I3	  57687 
 I3	  57688 # define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37/* flag whether the last */
 I3	  57689 # define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38/* I/O operation timed out */
 I3	  57690 
 I3	  57691 /* #ifdef IP_MTU_DISCOVER */
 I3	  57692 # define BIO_CTRL_DGRAM_MTU_DISCOVER       39/* set DF bit on egress packets */
 I3	  57693 /* #endif */
 I3	  57694 
 I3	  57695 # define BIO_CTRL_DGRAM_QUERY_MTU          40/* as kernel for current MTU */
 I3	  57696 # define BIO_CTRL_DGRAM_GET_FALLBACK_MTU   47
 I3	  57697 # define BIO_CTRL_DGRAM_GET_MTU            41/* get cached value for MTU */
 I3	  57698 # define BIO_CTRL_DGRAM_SET_MTU            42/* set cached value for MTU.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1042
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  57699                                               * want to use this if asking
 I3	  57700                                               * the kernel fails */
 I3	  57701 
 I3	  57702 # define BIO_CTRL_DGRAM_MTU_EXCEEDED       43/* check whether the MTU was
 I3	  57703                                               * exceed in the previous write
 I3	  57704                                               * operation */
 I3	  57705 
 I3	  57706 # define BIO_CTRL_DGRAM_GET_PEER           46
 I3	  57707 # define BIO_CTRL_DGRAM_SET_PEER           44/* Destination for the data */
 I3	  57708 
 I3	  57709 # define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT   45/* Next DTLS handshake timeout
 I3	  57710                                               * to adjust socket timeouts */
 I3	  57711 # define BIO_CTRL_DGRAM_SET_DONT_FRAG      48
 I3	  57712 
 I3	  57713 # define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD   49
 I3	  57714 
 I3	  57715 /* Deliberately outside of OPENSSL_NO_SCTP - used in bss_dgram.c */
 I3	  57716 #  define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE    50
 I3    X  57717 # ifndef OPENSSL_NO_SCTP
 I3    X  57718 /* SCTP stuff */
 I3    X  57719 #  define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY                51
 I3    X  57720 #  define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY               52
 I3    X  57721 #  define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD               53
 I3    X  57722 #  define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO         60
 I3    X  57723 #  define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO         61
 I3    X  57724 #  define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO         62
 I3    X  57725 #  define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO         63
 I3    X  57726 #  define BIO_CTRL_DGRAM_SCTP_GET_PRINFO                  64
 I3    X  57727 #  define BIO_CTRL_DGRAM_SCTP_SET_PRINFO                  65
 I3    X  57728 #  define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN               70
 I3    X  57729 # endif
 I3	  57730 
 I3	  57731 # define BIO_CTRL_DGRAM_SET_PEEK_MODE      71
 I3	  57732 
 I3	  57733 /*
 I3	  57734  * internal BIO:
 I3	  57735  * # define BIO_CTRL_SET_KTLS_SEND                 72
 I3	  57736  * # define BIO_CTRL_SET_KTLS_SEND_CTRL_MSG        74
 I3	  57737  * # define BIO_CTRL_CLEAR_KTLS_CTRL_MSG           75
 I3	  57738  */
 I3	  57739 
 I3	  57740 # define BIO_CTRL_GET_KTLS_SEND                 73
 I3	  57741 # define BIO_CTRL_GET_KTLS_RECV                 76
 I3	  57742 
 I3	  57743 # define BIO_CTRL_DGRAM_SCTP_WAIT_FOR_DRY       77
 I3	  57744 # define BIO_CTRL_DGRAM_SCTP_MSG_WAITING        78
 I3	  57745 
 I3	  57746 /* BIO_f_prefix controls */
 I3	  57747 # define BIO_CTRL_SET_PREFIX                    79
 I3	  57748 # define BIO_CTRL_SET_INDENT                    80
 I3	  57749 # define BIO_CTRL_GET_INDENT                    81
 I3	  57750 
 I3    X  57751 # ifndef OPENSSL_NO_KTLS
 I3	  57752 #  define BIO_get_ktls_send(b)         \
 I3    X  57753      (BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL) > 0)
 I3    X  57754 #  define BIO_get_ktls_recv(b)         \
 I3    X  57755      (BIO_ctrl(b, BIO_CTRL_GET_KTLS_RECV, 0, NULL) > 0)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1043
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3    X  57756 # else
 I3	  57757 #  define BIO_get_ktls_send(b)  (0)
 I3	  57758 #  define BIO_get_ktls_recv(b)  (0)
 I3	  57759 # endif
 I3	  57760 
 I3	  57761 /* modifiers */
 I3	  57762 # define BIO_FP_READ             0x02
 I3	  57763 # define BIO_FP_WRITE            0x04
 I3	  57764 # define BIO_FP_APPEND           0x08
 I3	  57765 # define BIO_FP_TEXT             0x10
 I3	  57766 
 I3	  57767 # define BIO_FLAGS_READ          0x01
 I3	  57768 # define BIO_FLAGS_WRITE         0x02
 I3	  57769 # define BIO_FLAGS_IO_SPECIAL    0x04
 I3	  57770 # define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL)
 I3	  57771 # define BIO_FLAGS_SHOULD_RETRY  0x08
 I3	  57772 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  57773 /* This #define was replaced by an internal constant and should not be used. */
 I3	  57774 #  define BIO_FLAGS_UPLINK       0
 I3	  57775 # endif
 I3	  57776 
 I3	  57777 # define BIO_FLAGS_BASE64_NO_NL  0x100
 I3	  57778 
 I3	  57779 /*
 I3	  57780  * This is used with memory BIOs:
 I3	  57781  * BIO_FLAGS_MEM_RDONLY means we shouldn't free up or change the data in any way;
 I3	  57782  * BIO_FLAGS_NONCLEAR_RST means we shouldn't clear data on reset.
 I3	  57783  */
 I3	  57784 # define BIO_FLAGS_MEM_RDONLY    0x200
 I3	  57785 # define BIO_FLAGS_NONCLEAR_RST  0x400
 I3	  57786 # define BIO_FLAGS_IN_EOF        0x800
 I3	  57787 
 I3	  57788 /* the BIO FLAGS values 0x1000 to 0x4000 are reserved for internal KTLS flags */
 I3	  57789 
 I3	  57790 typedef union bio_addr_st BIO_ADDR;
 I3	  57791 typedef struct bio_addrinfo_st BIO_ADDRINFO;
 I3	  57792 
 I3	  57793 int BIO_get_new_index(void);
 I3	  57794 void BIO_set_flags(BIO *b, int flags);
 I3	  57795 int BIO_test_flags(const BIO *b, int flags);
 I3	  57796 void BIO_clear_flags(BIO *b, int flags);
 I3	  57797 
 I3	  57798 # define BIO_get_flags(b) BIO_test_flags(b, ~(0x0))
 I3	  57799 # define BIO_set_retry_special(b) \
 I3	  57800                 BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY))
 I3	  57801 # define BIO_set_retry_read(b) \
 I3	  57802                 BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY))
 I3	  57803 # define BIO_set_retry_write(b) \
 I3	  57804                 BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY))
 I3	  57805 
 I3	  57806 /* These are normally used internally in BIOs */
 I3	  57807 # define BIO_clear_retry_flags(b) \
 I3	  57808                 BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY))
 I3	  57809 # define BIO_get_retry_flags(b) \
 I3	  57810                 BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY))
 I3	  57811 
 I3	  57812 /* These should be used by the application to tell why we should retry */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1044
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  57813 # define BIO_should_read(a)              BIO_test_flags(a, BIO_FLAGS_READ)
 I3	  57814 # define BIO_should_write(a)             BIO_test_flags(a, BIO_FLAGS_WRITE)
 I3	  57815 # define BIO_should_io_special(a)        BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL)
 I3	  57816 # define BIO_retry_type(a)               BIO_test_flags(a, BIO_FLAGS_RWS)
 I3	  57817 # define BIO_should_retry(a)             BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY)
 I3	  57818 
 I3	  57819 /*
 I3	  57820  * The next three are used in conjunction with the BIO_should_io_special()
 I3	  57821  * condition.  After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int
 I3	  57822  * *reason); will walk the BIO stack and return the 'reason' for the special
 I3	  57823  * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return
 I3	  57824  * the code.
 I3	  57825  */
 I3	  57826 /*
 I3	  57827  * Returned from the SSL bio when the certificate retrieval code had an error
 I3	  57828  */
 I3	  57829 # define BIO_RR_SSL_X509_LOOKUP          0x01
 I3	  57830 /* Returned from the connect BIO when a connect would have blocked */
 I3	  57831 # define BIO_RR_CONNECT                  0x02
 I3	  57832 /* Returned from the accept BIO when an accept would have blocked */
 I3	  57833 # define BIO_RR_ACCEPT                   0x03
 I3	  57834 
 I3	  57835 /* These are passed by the BIO callback */
 I3	  57836 # define BIO_CB_FREE     0x01
 I3	  57837 # define BIO_CB_READ     0x02
 I3	  57838 # define BIO_CB_WRITE    0x03
 I3	  57839 # define BIO_CB_PUTS     0x04
 I3	  57840 # define BIO_CB_GETS     0x05
 I3	  57841 # define BIO_CB_CTRL     0x06
 I3	  57842 
 I3	  57843 /*
 I3	  57844  * The callback is called before and after the underling operation, The
 I3	  57845  * BIO_CB_RETURN flag indicates if it is after the call
 I3	  57846  */
 I3	  57847 # define BIO_CB_RETURN   0x80
 I3	  57848 # define BIO_CB_return(a) ((a)|BIO_CB_RETURN)
 I3	  57849 # define BIO_cb_pre(a)   (!((a)&BIO_CB_RETURN))
 I3	  57850 # define BIO_cb_post(a)  ((a)&BIO_CB_RETURN)
 I3	  57851 
 I3	  57852 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  57853 typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi,
 I3	  57854                                 long argl, long ret);
 I3	  57855 OSSL_DEPRECATEDIN_3_0 BIO_callback_fn BIO_get_callback(const BIO *b);
       E	 extern
 I3	  57856 OSSL_DEPRECATEDIN_3_0 void BIO_set_callback(BIO *b, BIO_callback_fn callback);
       E	 extern
 I3	  57857 OSSL_DEPRECATEDIN_3_0 long BIO_debug_callback(BIO *bio, int cmd,
       E	 extern
 I3	  57858                                                const char *argp, int argi,
 I3	  57859                                                long argl, long ret);
 I3	  57860 # endif
 I3	  57861 
 I3	  57862 typedef long (*BIO_callback_fn_ex)(BIO *b, int oper, const char *argp,
 I3	  57863                                    size_t len, int argi,
 I3	  57864                                    long argl, int ret, size_t *processed);
 I3	  57865 BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b);
 I3	  57866 void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex callback);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1045
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  57867 long BIO_debug_callback_ex(BIO *bio, int oper, const char *argp, size_t len,
 I3	  57868                            int argi, long argl, int ret, size_t *processed);
 I3	  57869 
 I3	  57870 char *BIO_get_callback_arg(const BIO *b);
 I3	  57871 void BIO_set_callback_arg(BIO *b, char *arg);
 I3	  57872 
 I3	  57873 typedef struct bio_method_st BIO_METHOD;
 I3	  57874 
 I3	  57875 const char *BIO_method_name(const BIO *b);
 I3	  57876 int BIO_method_type(const BIO *b);
 I3	  57877 
 I3	  57878 typedef int BIO_info_cb(BIO *, int, int);
 I3	  57879 typedef BIO_info_cb bio_info_cb;  /* backward compatibility */
 I3	  57880 
 I3   1	  57881 SKM_DEFINE_STACK_OF_INTERNAL(BIO, BIO, BIO)
       E	 struct stack_st_BIO ; typedef int ( * sk_BIO_compfunc ) ( const BIO * const * a , const BIO * const * b ) ; typedef
       E	 void ( * sk_BIO_freefunc ) ( BIO * a ) ; typedef BIO * ( * sk_BIO_copyfunc ) ( const BIO * a ) ; static __inline BI
       E	O * ossl_check_BIO_type ( BIO * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_BIO_sk
       E	_type ( const struct stack_st_BIO * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * o
       E	ssl_check_BIO_sk_type ( struct stack_st_BIO * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_co
       E	mpfunc ossl_check_BIO_compfunc_type ( sk_BIO_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline
       E	 OPENSSL_sk_copyfunc ossl_check_BIO_copyfunc_type ( sk_BIO_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } s
       E	tatic __inline OPENSSL_sk_freefunc ossl_check_BIO_freefunc_type ( sk_BIO_freefunc fr ) { return ( OPENSSL_sk_freefun
       E	c ) fr ; }
 I3	  57882 #define sk_BIO_num(sk) OPENSSL_sk_num(ossl_check_const_BIO_sk_type(sk))
 I3	  57883 #define sk_BIO_value(sk, idx) ((BIO *)OPENSSL_sk_value(ossl_check_const_BIO_sk_type(sk), (idx)))
 I3	  57884 #define sk_BIO_new(cmp) ((STACK_OF(BIO) *)OPENSSL_sk_new(ossl_check_BIO_compfunc_type(cmp)))
 I3	  57885 #define sk_BIO_new_null() ((STACK_OF(BIO) *)OPENSSL_sk_new_null())
 I3	  57886 #define sk_BIO_new_reserve(cmp, n) ((STACK_OF(BIO) *)OPENSSL_sk_new_reserve(ossl_check_BIO_compfunc_type(cmp), (n)))
 I3	  57887 #define sk_BIO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_BIO_sk_type(sk), (n))
 I3	  57888 #define sk_BIO_free(sk) OPENSSL_sk_free(ossl_check_BIO_sk_type(sk))
 I3	  57889 #define sk_BIO_zero(sk) OPENSSL_sk_zero(ossl_check_BIO_sk_type(sk))
 I3	  57890 #define sk_BIO_delete(sk, i) ((BIO *)OPENSSL_sk_delete(ossl_check_BIO_sk_type(sk), (i)))
 I3	  57891 #define sk_BIO_delete_ptr(sk, ptr) ((BIO *)OPENSSL_sk_delete_ptr(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr
 I3	  57891 )))
 I3	  57892 #define sk_BIO_push(sk, ptr) OPENSSL_sk_push(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr))
 I3	  57893 #define sk_BIO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr))
 I3	  57894 #define sk_BIO_pop(sk) ((BIO *)OPENSSL_sk_pop(ossl_check_BIO_sk_type(sk)))
 I3	  57895 #define sk_BIO_shift(sk) ((BIO *)OPENSSL_sk_shift(ossl_check_BIO_sk_type(sk)))
 I3	  57896 #define sk_BIO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_BIO_sk_type(sk),ossl_check_BIO_freefunc_type(fr
 I3	  57896 eefunc))
 I3	  57897 #define sk_BIO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr), (idx))
 I3	  57898 #define sk_BIO_set(sk, idx, ptr) ((BIO *)OPENSSL_sk_set(ossl_check_BIO_sk_type(sk), (idx), ossl_check_BIO_type(ptr))
 I3	  57898 )
 I3	  57899 #define sk_BIO_find(sk, ptr) OPENSSL_sk_find(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr))
 I3	  57900 #define sk_BIO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr))
 I3	  57901 #define sk_BIO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr), pnu
 I3	  57901 m)
 I3	  57902 #define sk_BIO_sort(sk) OPENSSL_sk_sort(ossl_check_BIO_sk_type(sk))
 I3	  57903 #define sk_BIO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_BIO_sk_type(sk))
 I3	  57904 #define sk_BIO_dup(sk) ((STACK_OF(BIO) *)OPENSSL_sk_dup(ossl_check_const_BIO_sk_type(sk)))
 I3	  57905 #define sk_BIO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(BIO) *)OPENSSL_sk_deep_copy(ossl_check_const_BIO_sk_type
 I3	  57905 (sk), ossl_check_BIO_copyfunc_type(copyfunc), ossl_check_BIO_freefunc_type(freefunc)))
 I3	  57906 #define sk_BIO_set_cmp_func(sk, cmp) ((sk_BIO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_BIO_sk_type(sk), ossl_chec
 I3	  57906 k_BIO_compfunc_type(cmp)))
 I3	  57907 
 I3	  57908 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1046
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  57909 
 I3	  57910 /* Prefix and suffix callback in ASN1 BIO */
 I3	  57911 typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen,
 I3	  57912                           void *parg);
 I3	  57913 
 I3	  57914 typedef void (*BIO_dgram_sctp_notification_handler_fn) (BIO *b,
 I3	  57915                                                         void *context,
 I3	  57916                                                         void *buf);
 I3    X  57917 # ifndef OPENSSL_NO_SCTP
 I3    X  57918 /* SCTP parameter structs */
 I3    X  57919 struct bio_dgram_sctp_sndinfo {
 I3    X  57920     uint16_t snd_sid;
 I3    X  57921     uint16_t snd_flags;
 I3    X  57922     uint32_t snd_ppid;
 I3    X  57923     uint32_t snd_context;
 I3    X  57924 };
 I3    X  57925 
 I3    X  57926 struct bio_dgram_sctp_rcvinfo {
 I3    X  57927     uint16_t rcv_sid;
 I3    X  57928     uint16_t rcv_ssn;
 I3    X  57929     uint16_t rcv_flags;
 I3    X  57930     uint32_t rcv_ppid;
 I3    X  57931     uint32_t rcv_tsn;
 I3    X  57932     uint32_t rcv_cumtsn;
 I3    X  57933     uint32_t rcv_context;
 I3    X  57934 };
 I3    X  57935 
 I3    X  57936 struct bio_dgram_sctp_prinfo {
 I3    X  57937     uint16_t pr_policy;
 I3    X  57938     uint32_t pr_value;
 I3    X  57939 };
 I3    X  57940 # endif
 I3	  57941 
 I3	  57942 /*
 I3	  57943  * #define BIO_CONN_get_param_hostname BIO_ctrl
 I3	  57944  */
 I3	  57945 
 I3	  57946 # define BIO_C_SET_CONNECT                       100
 I3	  57947 # define BIO_C_DO_STATE_MACHINE                  101
 I3	  57948 # define BIO_C_SET_NBIO                          102
 I3	  57949 /* # define BIO_C_SET_PROXY_PARAM                   103 */
 I3	  57950 # define BIO_C_SET_FD                            104
 I3	  57951 # define BIO_C_GET_FD                            105
 I3	  57952 # define BIO_C_SET_FILE_PTR                      106
 I3	  57953 # define BIO_C_GET_FILE_PTR                      107
 I3	  57954 # define BIO_C_SET_FILENAME                      108
 I3	  57955 # define BIO_C_SET_SSL                           109
 I3	  57956 # define BIO_C_GET_SSL                           110
 I3	  57957 # define BIO_C_SET_MD                            111
 I3	  57958 # define BIO_C_GET_MD                            112
 I3	  57959 # define BIO_C_GET_CIPHER_STATUS                 113
 I3	  57960 # define BIO_C_SET_BUF_MEM                       114
 I3	  57961 # define BIO_C_GET_BUF_MEM_PTR                   115
 I3	  57962 # define BIO_C_GET_BUFF_NUM_LINES                116
 I3	  57963 # define BIO_C_SET_BUFF_SIZE                     117
 I3	  57964 # define BIO_C_SET_ACCEPT                        118
 I3	  57965 # define BIO_C_SSL_MODE                          119

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1047
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  57966 # define BIO_C_GET_MD_CTX                        120
 I3	  57967 /* # define BIO_C_GET_PROXY_PARAM                   121 */
 I3	  57968 # define BIO_C_SET_BUFF_READ_DATA                122/* data to read first */
 I3	  57969 # define BIO_C_GET_CONNECT                       123
 I3	  57970 # define BIO_C_GET_ACCEPT                        124
 I3	  57971 # define BIO_C_SET_SSL_RENEGOTIATE_BYTES         125
 I3	  57972 # define BIO_C_GET_SSL_NUM_RENEGOTIATES          126
 I3	  57973 # define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT       127
 I3	  57974 # define BIO_C_FILE_SEEK                         128
 I3	  57975 # define BIO_C_GET_CIPHER_CTX                    129
 I3	  57976 # define BIO_C_SET_BUF_MEM_EOF_RETURN            130/* return end of input
 I3	  57977                                                      * value */
 I3	  57978 # define BIO_C_SET_BIND_MODE                     131
 I3	  57979 # define BIO_C_GET_BIND_MODE                     132
 I3	  57980 # define BIO_C_FILE_TELL                         133
 I3	  57981 # define BIO_C_GET_SOCKS                         134
 I3	  57982 # define BIO_C_SET_SOCKS                         135
 I3	  57983 
 I3	  57984 # define BIO_C_SET_WRITE_BUF_SIZE                136/* for BIO_s_bio */
 I3	  57985 # define BIO_C_GET_WRITE_BUF_SIZE                137
 I3	  57986 # define BIO_C_MAKE_BIO_PAIR                     138
 I3	  57987 # define BIO_C_DESTROY_BIO_PAIR                  139
 I3	  57988 # define BIO_C_GET_WRITE_GUARANTEE               140
 I3	  57989 # define BIO_C_GET_READ_REQUEST                  141
 I3	  57990 # define BIO_C_SHUTDOWN_WR                       142
 I3	  57991 # define BIO_C_NREAD0                            143
 I3	  57992 # define BIO_C_NREAD                             144
 I3	  57993 # define BIO_C_NWRITE0                           145
 I3	  57994 # define BIO_C_NWRITE                            146
 I3	  57995 # define BIO_C_RESET_READ_REQUEST                147
 I3	  57996 # define BIO_C_SET_MD_CTX                        148
 I3	  57997 
 I3	  57998 # define BIO_C_SET_PREFIX                        149
 I3	  57999 # define BIO_C_GET_PREFIX                        150
 I3	  58000 # define BIO_C_SET_SUFFIX                        151
 I3	  58001 # define BIO_C_GET_SUFFIX                        152
 I3	  58002 
 I3	  58003 # define BIO_C_SET_EX_ARG                        153
 I3	  58004 # define BIO_C_GET_EX_ARG                        154
 I3	  58005 
 I3	  58006 # define BIO_C_SET_CONNECT_MODE                  155
 I3	  58007 
 I3	  58008 # define BIO_set_app_data(s,arg)         BIO_set_ex_data(s,0,arg)
 I3	  58009 # define BIO_get_app_data(s)             BIO_get_ex_data(s,0)
 I3	  58010 
 I3	  58011 # define BIO_set_nbio(b,n)             BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)
 I3	  58012 
 I3	  58013 # ifndef OPENSSL_NO_SOCK
 I3	  58014 /* IP families we support, for BIO_s_connect() and BIO_s_accept() */
 I3	  58015 /* Note: the underlying operating system may not support some of them */
 I3	  58016 #  define BIO_FAMILY_IPV4                         4
 I3	  58017 #  define BIO_FAMILY_IPV6                         6
 I3	  58018 #  define BIO_FAMILY_IPANY                        256
 I3	  58019 
 I3	  58020 /* BIO_s_connect() */
 I3	  58021 #  define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0, \
 I3	  58022                                                  (char *)(name))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1048
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  58023 #  define BIO_set_conn_port(b,port)     BIO_ctrl(b,BIO_C_SET_CONNECT,1, \
 I3	  58024                                                  (char *)(port))
 I3	  58025 #  define BIO_set_conn_address(b,addr)  BIO_ctrl(b,BIO_C_SET_CONNECT,2, \
 I3	  58026                                                  (char *)(addr))
 I3	  58027 #  define BIO_set_conn_ip_family(b,f)   BIO_int_ctrl(b,BIO_C_SET_CONNECT,3,f)
 I3	  58028 #  define BIO_get_conn_hostname(b)      ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0))
 I3	  58029 #  define BIO_get_conn_port(b)          ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1))
 I3	  58030 #  define BIO_get_conn_address(b)       ((const BIO_ADDR *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2))
 I3	  58031 #  define BIO_get_conn_ip_family(b)     BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL)
 I3	  58032 #  define BIO_set_conn_mode(b,n)        BIO_ctrl(b,BIO_C_SET_CONNECT_MODE,(n),NULL)
 I3	  58033 
 I3	  58034 /* BIO_s_accept() */
 I3	  58035 #  define BIO_set_accept_name(b,name)   BIO_ctrl(b,BIO_C_SET_ACCEPT,0, \
 I3	  58036                                                  (char *)(name))
 I3	  58037 #  define BIO_set_accept_port(b,port)   BIO_ctrl(b,BIO_C_SET_ACCEPT,1, \
 I3	  58038                                                  (char *)(port))
 I3	  58039 #  define BIO_get_accept_name(b)        ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0))
 I3	  58040 #  define BIO_get_accept_port(b)        ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,1))
 I3	  58041 #  define BIO_get_peer_name(b)          ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,2))
 I3	  58042 #  define BIO_get_peer_port(b)          ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,3))
 I3	  58043 /* #define BIO_set_nbio(b,n)    BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */
 I3	  58044 #  define BIO_set_nbio_accept(b,n)      BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(n)?(void *)"a":NULL)
 I3	  58045 #  define BIO_set_accept_bios(b,bio)    BIO_ctrl(b,BIO_C_SET_ACCEPT,3, \
 I3	  58046                                                  (char *)(bio))
 I3	  58047 #  define BIO_set_accept_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_ACCEPT,4,f)
 I3	  58048 #  define BIO_get_accept_ip_family(b)   BIO_ctrl(b,BIO_C_GET_ACCEPT,4,NULL)
 I3	  58049 
 I3	  58050 /* Aliases kept for backward compatibility */
 I3	  58051 #  define BIO_BIND_NORMAL                 0
 I3	  58052 #  define BIO_BIND_REUSEADDR              BIO_SOCK_REUSEADDR
 I3	  58053 #  define BIO_BIND_REUSEADDR_IF_UNUSED    BIO_SOCK_REUSEADDR
 I3	  58054 #  define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL)
 I3	  58055 #  define BIO_get_bind_mode(b)    BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL)
 I3	  58056 # endif /* OPENSSL_NO_SOCK */
 I3	  58057 
 I3	  58058 # define BIO_do_connect(b)       BIO_do_handshake(b)
 I3	  58059 # define BIO_do_accept(b)        BIO_do_handshake(b)
 I3	  58060 
 I3	  58061 # define BIO_do_handshake(b)     BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL)
 I3	  58062 
 I3	  58063 /* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */
 I3	  58064 # define BIO_set_fd(b,fd,c)      BIO_int_ctrl(b,BIO_C_SET_FD,c,fd)
 I3	  58065 # define BIO_get_fd(b,c)         BIO_ctrl(b,BIO_C_GET_FD,0,(char *)(c))
 I3	  58066 
 I3	  58067 /* BIO_s_file() */
 I3	  58068 # define BIO_set_fp(b,fp,c)      BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)(fp))
 I3	  58069 # define BIO_get_fp(b,fpp)       BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)(fpp))
 I3	  58070 
 I3	  58071 /* BIO_s_fd() and BIO_s_file() */
 I3	  58072 # define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL)
 I3	  58073 # define BIO_tell(b)     (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL)
 I3	  58074 
 I3	  58075 /*
 I3	  58076  * name is cast to lose const, but might be better to route through a
 I3	  58077  * function so we can do it safely
 I3	  58078  */
 I3    X  58079 # ifdef CONST_STRICT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1049
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  58080 /*
 I3	  58081  * If you are wondering why this isn't defined, its because CONST_STRICT is
 I3	  58082  * purely a compile-time kludge to allow const to be checked.
 I3    X  58083  */
 I3    X  58084 int BIO_read_filename(BIO *b, const char *name);
 I3    X  58085 # else
 I3	  58086 #  define BIO_read_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \
 I3	  58087                 BIO_CLOSE|BIO_FP_READ,(char *)(name))
 I3	  58088 # endif
 I3	  58089 # define BIO_write_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \
 I3	  58090                 BIO_CLOSE|BIO_FP_WRITE,name)
 I3	  58091 # define BIO_append_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \
 I3	  58092                 BIO_CLOSE|BIO_FP_APPEND,name)
 I3	  58093 # define BIO_rw_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \
 I3	  58094                 BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name)
 I3	  58095 
 I3	  58096 /*
 I3	  58097  * WARNING WARNING, this ups the reference count on the read bio of the SSL
 I3	  58098  * structure.  This is because the ssl read BIO is now pointed to by the
 I3	  58099  * next_bio field in the bio.  So when you free the BIO, make sure you are
 I3	  58100  * doing a BIO_free_all() to catch the underlying BIO.
 I3	  58101  */
 I3	  58102 # define BIO_set_ssl(b,ssl,c)    BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)(ssl))
 I3	  58103 # define BIO_get_ssl(b,sslp)     BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)(sslp))
 I3	  58104 # define BIO_set_ssl_mode(b,client)      BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL)
 I3	  58105 # define BIO_set_ssl_renegotiate_bytes(b,num) \
 I3	  58106         BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL)
 I3	  58107 # define BIO_get_num_renegotiates(b) \
 I3	  58108         BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL)
 I3	  58109 # define BIO_set_ssl_renegotiate_timeout(b,seconds) \
 I3	  58110         BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL)
 I3	  58111 
 I3	  58112 /* defined in evp.h */
 I3	  58113 /* #define BIO_set_md(b,md)     BIO_ctrl(b,BIO_C_SET_MD,1,(char *)(md)) */
 I3	  58114 
 I3	  58115 # define BIO_get_mem_data(b,pp)  BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)(pp))
 I3	  58116 # define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)(bm))
 I3	  58117 # define BIO_get_mem_ptr(b,pp)   BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0, \
 I3	  58118                                           (char *)(pp))
 I3	  58119 # define BIO_set_mem_eof_return(b,v) \
 I3	  58120                                 BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL)
 I3	  58121 
 I3	  58122 /* For the BIO_f_buffer() type */
 I3	  58123 # define BIO_get_buffer_num_lines(b)     BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL)
 I3	  58124 # define BIO_set_buffer_size(b,size)     BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL)
 I3	  58125 # define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0)
 I3	  58126 # define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1)
 I3	  58127 # define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf)
 I3	  58128 
 I3	  58129 /* Don't use the next one unless you know what you are doing :-) */
 I3	  58130 # define BIO_dup_state(b,ret)    BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret))
 I3	  58131 
 I3	  58132 # define BIO_reset(b)            (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL)
 I3	  58133 # define BIO_eof(b)              (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL)
 I3	  58134 # define BIO_set_close(b,c)      (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL)
 I3	  58135 # define BIO_get_close(b)        (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL)
 I3	  58136 # define BIO_pending(b)          (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1050
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  58137 # define BIO_wpending(b)         (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL)
 I3	  58138 /* ...pending macros have inappropriate return type */
 I3	  58139 size_t BIO_ctrl_pending(BIO *b);
 I3	  58140 size_t BIO_ctrl_wpending(BIO *b);
 I3	  58141 # define BIO_flush(b)            (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL)
 I3	  58142 # define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \
 I3	  58143                                                    cbp)
 I3	  58144 # define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb)
 I3	  58145 
 I3	  58146 /* For the BIO_f_buffer() type */
 I3	  58147 # define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL)
 I3	  58148 # define BIO_buffer_peek(b,s,l) BIO_ctrl(b,BIO_CTRL_PEEK,(l),(s))
 I3	  58149 
 I3	  58150 /* For BIO_s_bio() */
 I3	  58151 # define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL)
 I3	  58152 # define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL)
 I3	  58153 # define BIO_make_bio_pair(b1,b2)   (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2)
 I3	  58154 # define BIO_destroy_bio_pair(b)    (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL)
 I3	  58155 # define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL)
 I3	  58156 /* macros with inappropriate type -- but ...pending macros use int too: */
 I3	  58157 # define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL)
 I3	  58158 # define BIO_get_read_request(b)    (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL)
 I3	  58159 size_t BIO_ctrl_get_write_guarantee(BIO *b);
 I3	  58160 size_t BIO_ctrl_get_read_request(BIO *b);
 I3	  58161 int BIO_ctrl_reset_read_request(BIO *b);
 I3	  58162 
 I3	  58163 /* ctrl macros for dgram */
 I3	  58164 # define BIO_ctrl_dgram_connect(b,peer)  \
 I3	  58165                      (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)(peer))
 I3	  58166 # define BIO_ctrl_set_connected(b,peer) \
 I3	  58167          (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, 0, (char *)(peer))
 I3	  58168 # define BIO_dgram_recv_timedout(b) \
 I3	  58169          (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL)
 I3	  58170 # define BIO_dgram_send_timedout(b) \
 I3	  58171          (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL)
 I3	  58172 # define BIO_dgram_get_peer(b,peer) \
 I3	  58173          (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)(peer))
 I3	  58174 # define BIO_dgram_set_peer(b,peer) \
 I3	  58175          (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)(peer))
 I3	  58176 # define BIO_dgram_get_mtu_overhead(b) \
 I3	  58177          (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL)
 I3	  58178 
 I3	  58179 /* ctrl macros for BIO_f_prefix */
 I3	  58180 # define BIO_set_prefix(b,p) BIO_ctrl((b), BIO_CTRL_SET_PREFIX, 0, (void *)(p))
 I3	  58181 # define BIO_set_indent(b,i) BIO_ctrl((b), BIO_CTRL_SET_INDENT, (i), NULL)
 I3	  58182 # define BIO_get_indent(b) BIO_ctrl((b), BIO_CTRL_GET_INDENT, 0, NULL)
 I3	  58183 
 I3	  58184 #define BIO_get_ex_new_index(l, p, newf, dupf, freef) \
 I3	  58185     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, l, p, newf, dupf, freef)
 I3	  58186 int BIO_set_ex_data(BIO *bio, int idx, void *data);
 I3	  58187 void *BIO_get_ex_data(const BIO *bio, int idx);
 I3	  58188 uint64_t BIO_number_read(BIO *bio);
 I3	  58189 uint64_t BIO_number_written(BIO *bio);
 I3	  58190 
 I3	  58191 /* For BIO_f_asn1() */
 I3	  58192 int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix,
 I3	  58193                         asn1_ps_func *prefix_free);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1051
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  58194 int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix,
 I3	  58195                         asn1_ps_func **pprefix_free);
 I3	  58196 int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix,
 I3	  58197                         asn1_ps_func *suffix_free);
 I3	  58198 int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix,
 I3	  58199                         asn1_ps_func **psuffix_free);
 I3	  58200 
 I3	  58201 const BIO_METHOD *BIO_s_file(void);
 I3	  58202 BIO *BIO_new_file(const char *filename, const char *mode);
 I3	  58203 BIO *BIO_new_from_core_bio(OSSL_LIB_CTX *libctx, OSSL_CORE_BIO *corebio);
 I3	  58204 # ifndef OPENSSL_NO_STDIO
 I3	  58205 BIO *BIO_new_fp(FILE *stream, int close_flag);
 I3	  58206 # endif
 I3	  58207 BIO *BIO_new_ex(OSSL_LIB_CTX *libctx, const BIO_METHOD *method);
 I3	  58208 BIO *BIO_new(const BIO_METHOD *type);
 I3	  58209 int BIO_free(BIO *a);
 I3	  58210 void BIO_set_data(BIO *a, void *ptr);
 I3	  58211 void *BIO_get_data(BIO *a);
 I3	  58212 void BIO_set_init(BIO *a, int init);
 I3	  58213 int BIO_get_init(BIO *a);
 I3	  58214 void BIO_set_shutdown(BIO *a, int shut);
 I3	  58215 int BIO_get_shutdown(BIO *a);
 I3	  58216 void BIO_vfree(BIO *a);
 I3	  58217 int BIO_up_ref(BIO *a);
 I3	  58218 int BIO_read(BIO *b, void *data, int dlen);
 I3	  58219 int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes);
 I3	  58220 int BIO_gets(BIO *bp, char *buf, int size);
 I3	  58221 int BIO_get_line(BIO *bio, char *buf, int size);
 I3	  58222 int BIO_write(BIO *b, const void *data, int dlen);
 I3	  58223 int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written);
 I3	  58224 int BIO_puts(BIO *bp, const char *buf);
 I3	  58225 int BIO_indent(BIO *b, int indent, int max);
 I3	  58226 long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg);
 I3	  58227 long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp);
 I3	  58228 void *BIO_ptr_ctrl(BIO *bp, int cmd, long larg);
 I3	  58229 long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg);
 I3	  58230 BIO *BIO_push(BIO *b, BIO *append);
 I3	  58231 BIO *BIO_pop(BIO *b);
 I3	  58232 void BIO_free_all(BIO *a);
 I3	  58233 BIO *BIO_find_type(BIO *b, int bio_type);
 I3	  58234 BIO *BIO_next(BIO *b);
 I3	  58235 void BIO_set_next(BIO *b, BIO *next);
 I3	  58236 BIO *BIO_get_retry_BIO(BIO *bio, int *reason);
 I3	  58237 int BIO_get_retry_reason(BIO *bio);
 I3	  58238 void BIO_set_retry_reason(BIO *bio, int reason);
 I3	  58239 BIO *BIO_dup_chain(BIO *in);
 I3	  58240 
 I3	  58241 int BIO_nread0(BIO *bio, char **buf);
 I3	  58242 int BIO_nread(BIO *bio, char **buf, int num);
 I3	  58243 int BIO_nwrite0(BIO *bio, char **buf);
 I3	  58244 int BIO_nwrite(BIO *bio, char **buf, int num);
 I3	  58245 
 I3	  58246 const BIO_METHOD *BIO_s_mem(void);
 I3	  58247 const BIO_METHOD *BIO_s_secmem(void);
 I3	  58248 BIO *BIO_new_mem_buf(const void *buf, int len);
 I3	  58249 # ifndef OPENSSL_NO_SOCK
 I3	  58250 const BIO_METHOD *BIO_s_socket(void);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1052
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  58251 const BIO_METHOD *BIO_s_connect(void);
 I3	  58252 const BIO_METHOD *BIO_s_accept(void);
 I3	  58253 # endif
 I3	  58254 const BIO_METHOD *BIO_s_fd(void);
 I3	  58255 const BIO_METHOD *BIO_s_log(void);
 I3	  58256 const BIO_METHOD *BIO_s_bio(void);
 I3	  58257 const BIO_METHOD *BIO_s_null(void);
 I3	  58258 const BIO_METHOD *BIO_f_null(void);
 I3	  58259 const BIO_METHOD *BIO_f_buffer(void);
 I3	  58260 const BIO_METHOD *BIO_f_readbuffer(void);
 I3	  58261 const BIO_METHOD *BIO_f_linebuffer(void);
 I3	  58262 const BIO_METHOD *BIO_f_nbio_test(void);
 I3	  58263 const BIO_METHOD *BIO_f_prefix(void);
 I3	  58264 const BIO_METHOD *BIO_s_core(void);
 I3	  58265 # ifndef OPENSSL_NO_DGRAM
 I3	  58266 const BIO_METHOD *BIO_s_datagram(void);
 I3	  58267 int BIO_dgram_non_fatal_error(int error);
 I3	  58268 BIO *BIO_new_dgram(int fd, int close_flag);
 I3    X  58269 #  ifndef OPENSSL_NO_SCTP
 I3    X  58270 const BIO_METHOD *BIO_s_datagram_sctp(void);
 I3    X  58271 BIO *BIO_new_dgram_sctp(int fd, int close_flag);
 I3    X  58272 int BIO_dgram_is_sctp(BIO *bio);
 I3    X  58273 int BIO_dgram_sctp_notification_cb(BIO *b,
 I3    X  58274                 BIO_dgram_sctp_notification_handler_fn handle_notifications,
 I3    X  58275                 void *context);
 I3    X  58276 int BIO_dgram_sctp_wait_for_dry(BIO *b);
 I3    X  58277 int BIO_dgram_sctp_msg_waiting(BIO *b);
 I3    X  58278 #  endif
 I3	  58279 # endif
 I3	  58280 
 I3	  58281 # ifndef OPENSSL_NO_SOCK
 I3	  58282 int BIO_sock_should_retry(int i);
 I3	  58283 int BIO_sock_non_fatal_error(int error);
 I3	  58284 int BIO_socket_wait(int fd, int for_read, time_t max_time);
 I3	  58285 # endif
 I3	  58286 int BIO_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds);
 I3	  58287 int BIO_do_connect_retry(BIO *bio, int timeout, int nap_milliseconds);
 I3	  58288 
 I3	  58289 int BIO_fd_should_retry(int i);
 I3	  58290 int BIO_fd_non_fatal_error(int error);
 I3	  58291 int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u),
 I3	  58292                 void *u, const void *s, int len);
 I3	  58293 int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u),
 I3	  58294                        void *u, const void *s, int len, int indent);
 I3	  58295 int BIO_dump(BIO *b, const void *bytes, int len);
 I3	  58296 int BIO_dump_indent(BIO *b, const void *bytes, int len, int indent);
 I3	  58297 # ifndef OPENSSL_NO_STDIO
 I3	  58298 int BIO_dump_fp(FILE *fp, const void *s, int len);
 I3	  58299 int BIO_dump_indent_fp(FILE *fp, const void *s, int len, int indent);
 I3	  58300 # endif
 I3	  58301 int BIO_hex_string(BIO *out, int indent, int width, const void *data,
 I3	  58302                    int datalen);
 I3	  58303 
 I3	  58304 # ifndef OPENSSL_NO_SOCK
 I3	  58305 BIO_ADDR *BIO_ADDR_new(void);
 I3	  58306 int BIO_ADDR_rawmake(BIO_ADDR *ap, int family,
 I3	  58307                      const void *where, size_t wherelen, unsigned short port);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1053
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  58308 void BIO_ADDR_free(BIO_ADDR *);
 I3	  58309 void BIO_ADDR_clear(BIO_ADDR *ap);
 I3	  58310 int BIO_ADDR_family(const BIO_ADDR *ap);
 I3	  58311 int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l);
 I3	  58312 unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap);
 I3	  58313 char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric);
 I3	  58314 char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric);
 I3	  58315 char *BIO_ADDR_path_string(const BIO_ADDR *ap);
 I3	  58316 
 I3	  58317 const BIO_ADDRINFO *BIO_ADDRINFO_next(const BIO_ADDRINFO *bai);
 I3	  58318 int BIO_ADDRINFO_family(const BIO_ADDRINFO *bai);
 I3	  58319 int BIO_ADDRINFO_socktype(const BIO_ADDRINFO *bai);
 I3	  58320 int BIO_ADDRINFO_protocol(const BIO_ADDRINFO *bai);
 I3	  58321 const BIO_ADDR *BIO_ADDRINFO_address(const BIO_ADDRINFO *bai);
 I3	  58322 void BIO_ADDRINFO_free(BIO_ADDRINFO *bai);
 I3	  58323 
 I3	  58324 enum BIO_hostserv_priorities {
 I3	  58325     BIO_PARSE_PRIO_HOST, BIO_PARSE_PRIO_SERV
 I3	  58326 };
 I3	  58327 int BIO_parse_hostserv(const char *hostserv, char **host, char **service,
 I3	  58328                        enum BIO_hostserv_priorities hostserv_prio);
 I3	  58329 enum BIO_lookup_type {
 I3	  58330     BIO_LOOKUP_CLIENT, BIO_LOOKUP_SERVER
 I3	  58331 };
 I3	  58332 int BIO_lookup(const char *host, const char *service,
 I3	  58333                enum BIO_lookup_type lookup_type,
 I3	  58334                int family, int socktype, BIO_ADDRINFO **res);
 I3	  58335 int BIO_lookup_ex(const char *host, const char *service,
 I3	  58336                   int lookup_type, int family, int socktype, int protocol,
 I3	  58337                   BIO_ADDRINFO **res);
 I3	  58338 int BIO_sock_error(int sock);
 I3	  58339 int BIO_socket_ioctl(int fd, long type, void *arg);
 I3	  58340 int BIO_socket_nbio(int fd, int mode);
 I3	  58341 int BIO_sock_init(void);
 I3	  58342 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  58343 #  define BIO_sock_cleanup() while(0) continue
 I3	  58344 # endif
 I3	  58345 int BIO_set_tcp_ndelay(int sock, int turn_on);
 I3	  58346 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  58347 OSSL_DEPRECATEDIN_1_1_0 struct hostent *BIO_gethostbyname(const char *name);
       E	 extern
 I3	  58348 OSSL_DEPRECATEDIN_1_1_0 int BIO_get_port(const char *str, unsigned short *port_ptr);
       E	 extern
 I3	  58349 OSSL_DEPRECATEDIN_1_1_0 int BIO_get_host_ip(const char *str, unsigned char *ip);
       E	 extern
 I3	  58350 OSSL_DEPRECATEDIN_1_1_0 int BIO_get_accept_socket(char *host_port, int mode);
       E	 extern
 I3	  58351 OSSL_DEPRECATEDIN_1_1_0 int BIO_accept(int sock, char **ip_port);
       E	 extern
 I3	  58352 # endif
 I3	  58353 
 I3	  58354 union BIO_sock_info_u {
 I3	  58355     BIO_ADDR *addr;
 I3	  58356 };
 I3	  58357 enum BIO_sock_info_type {
 I3	  58358     BIO_SOCK_INFO_ADDRESS
 I3	  58359 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1054
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

 I3	  58360 int BIO_sock_info(int sock,
 I3	  58361                   enum BIO_sock_info_type type, union BIO_sock_info_u *info);
 I3	  58362 
 I3	  58363 #  define BIO_SOCK_REUSEADDR    0x01
 I3	  58364 #  define BIO_SOCK_V6_ONLY      0x02
 I3	  58365 #  define BIO_SOCK_KEEPALIVE    0x04
 I3	  58366 #  define BIO_SOCK_NONBLOCK     0x08
 I3	  58367 #  define BIO_SOCK_NODELAY      0x10
 I3	  58368 
 I3	  58369 int BIO_socket(int domain, int socktype, int protocol, int options);
 I3	  58370 int BIO_connect(int sock, const BIO_ADDR *addr, int options);
 I3	  58371 int BIO_bind(int sock, const BIO_ADDR *addr, int options);
 I3	  58372 int BIO_listen(int sock, const BIO_ADDR *addr, int options);
 I3	  58373 int BIO_accept_ex(int accept_sock, BIO_ADDR *addr, int options);
 I3	  58374 int BIO_closesocket(int sock);
 I3	  58375 
 I3	  58376 BIO *BIO_new_socket(int sock, int close_flag);
 I3	  58377 BIO *BIO_new_connect(const char *host_port);
 I3	  58378 BIO *BIO_new_accept(const char *host_port);
 I3	  58379 # endif /* OPENSSL_NO_SOCK*/
 I3	  58380 
 I3	  58381 BIO *BIO_new_fd(int fd, int close_flag);
 I3	  58382 
 I3	  58383 int BIO_new_bio_pair(BIO **bio1, size_t writebuf1,
 I3	  58384                      BIO **bio2, size_t writebuf2);
 I3	  58385 /*
 I3	  58386  * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints.
 I3	  58387  * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default
 I3	  58388  * value.
 I3	  58389  */
 I3	  58390 
 I3	  58391 void BIO_copy_next_retry(BIO *b);
 I3	  58392 
 I3	  58393 /*
 I3	  58394  * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);
 I3	  58395  */
 I3	  58396 
 I3	  58397 # define ossl_bio__attr__(x)
 I3    X  58398 # if defined(__GNUC__) && defined(__STDC_VERSION__) \
 I3	  58399     && !defined(__MINGW32__) && !defined(__MINGW64__) \
 I3	  58400     && !defined(__APPLE__)
 I3	  58401     /*
 I3	  58402      * Because we support the 'z' modifier, which made its appearance in C99,
 I3	  58403      * we can't use __attribute__ with pre C99 dialects.
 I3    X  58404      */
 I3    X  58405 #  if __STDC_VERSION__ >= 199901L
 I3    X  58406 #   undef ossl_bio__attr__
 I3    X  58407 #   define ossl_bio__attr__ __attribute__
 I3    X  58408 #   if __GNUC__*10 + __GNUC_MINOR__ >= 44
 I3    X  58409 #    define ossl_bio__printf__ __gnu_printf__
 I3    X  58410 #   else
 I3    X  58411 #    define ossl_bio__printf__ __printf__
 I3    X  58412 #   endif
 I3    X  58413 #  endif
 I3    X  58414 # endif
 I3	  58415 int BIO_printf(BIO *bio, const char *format, ...)
 I3	  58416 ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 3)));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1055
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BIO.H;1

       E	
 I3	  58417 int BIO_vprintf(BIO *bio, const char *format, va_list args)
 I3	  58418 ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 0)));
       E	
 I3	  58419 int BIO_snprintf(char *buf, size_t n, const char *format, ...)
 I3	  58420 ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 4)));
       E	
 I3	  58421 int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args)
 I3	  58422 ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 0)));
       E	
 I3	  58423 # undef ossl_bio__attr__
 I3	  58424 # undef ossl_bio__printf__
 I3	  58425 
 I3	  58426 
 I3	  58427 BIO_METHOD *BIO_meth_new(int type, const char *name);
 I3	  58428 void BIO_meth_free(BIO_METHOD *biom);
 I3	  58429 int (*BIO_meth_get_write(const BIO_METHOD *biom)) (BIO *, const char *, int);
 I3	  58430 int (*BIO_meth_get_write_ex(const BIO_METHOD *biom)) (BIO *, const char *, size_t,
 I3	  58431                                                 size_t *);
 I3	  58432 int BIO_meth_set_write(BIO_METHOD *biom,
 I3	  58433                        int (*write) (BIO *, const char *, int));
 I3	  58434 int BIO_meth_set_write_ex(BIO_METHOD *biom,
 I3	  58435                        int (*bwrite) (BIO *, const char *, size_t, size_t *));
 I3	  58436 int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int);
 I3	  58437 int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *, size_t, size_t *);
 I3	  58438 int BIO_meth_set_read(BIO_METHOD *biom,
 I3	  58439                       int (*read) (BIO *, char *, int));
 I3	  58440 int BIO_meth_set_read_ex(BIO_METHOD *biom,
 I3	  58441                          int (*bread) (BIO *, char *, size_t, size_t *));
 I3	  58442 int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char *);
 I3	  58443 int BIO_meth_set_puts(BIO_METHOD *biom,
 I3	  58444                       int (*puts) (BIO *, const char *));
 I3	  58445 int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int);
 I3	  58446 int BIO_meth_set_gets(BIO_METHOD *biom,
 I3	  58447                       int (*gets) (BIO *, char *, int));
 I3	  58448 long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *);
 I3	  58449 int BIO_meth_set_ctrl(BIO_METHOD *biom,
 I3	  58450                       long (*ctrl) (BIO *, int, long, void *));
 I3	  58451 int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *);
 I3	  58452 int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *));
 I3	  58453 int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *);
 I3	  58454 int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *));
 I3	  58455 long (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom))
 I3	  58456                                  (BIO *, int, BIO_info_cb *);
 I3	  58457 int BIO_meth_set_callback_ctrl(BIO_METHOD *biom,
 I3	  58458                                long (*callback_ctrl) (BIO *, int,
 I3	  58459                                                       BIO_info_cb *));
 I3	  58460 
 I3    X  58461 # ifdef  __cplusplus
 I3    X  58462 }
 I3    X  58463 # endif
 I3	  58464 #endif
 I2	  58465 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  58466 #  include <openssl/x509.h>
 I3	  58467 /*
 I3	  58468  * WARNING: do not edit!
 I3	  58469  * Generated by descrip.mms from [-.include.openssl]x509.h.in

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1056
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  58470  *
 I3	  58471  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I3	  58472  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I3	  58473  *
 I3	  58474  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  58475  * this file except in compliance with the License.  You can obtain a copy
 I3	  58476  * in the file LICENSE in the source distribution or at
 I3	  58477  * https://www.openssl.org/source/license.html
 I3	  58478  */
 I3	  58479 
 I3	  58480 
 I3	  58481 
 I3	  58482 #ifndef OPENSSL_X509_H
 I3	  58483 # define OPENSSL_X509_H
 I3	  58484 # pragma once
 I3	  58485 
 I3    X  58486 # include <openssl/macros.h>
 I3	  58487 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  58488 #  define HEADER_X509_H
 I3	  58489 # endif
 I3	  58490 
 I3    X  58491 # include <openssl/e_os2.h>
 I3    X  58492 # include <openssl/types.h>
 I3    X  58493 # include <openssl/symhacks.h>
 I3	  58494 # include <openssl/buffer.h>
 I4	  58495 /*
 I4	  58496  * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
 I4	  58497  *
 I4	  58498  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  58499  * this file except in compliance with the License.  You can obtain a copy
 I4	  58500  * in the file LICENSE in the source distribution or at
 I4	  58501  * https://www.openssl.org/source/license.html
 I4	  58502  */
 I4	  58503 
 I4	  58504 #ifndef OPENSSL_BUFFER_H
 I4	  58505 # define OPENSSL_BUFFER_H
 I4	  58506 # pragma once
 I4	  58507 
 I4    X  58508 # include <openssl/macros.h>
 I4	  58509 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  58510 #  define HEADER_BUFFER_H
 I4	  58511 # endif
 I4	  58512 
 I4    X  58513 # include <openssl/types.h>
 I4    X  58514 # ifndef OPENSSL_CRYPTO_H
 I4    X  58515 #  include <openssl/crypto.h>
 I4    X  58516 # endif
 I4	  58517 # include <openssl/buffererr.h>
 I5	  58518 /*
 I5	  58519  * Generated by util/mkerr.pl DO NOT EDIT
 I5	  58520  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  58521  *
 I5	  58522  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  58523  * this file except in compliance with the License.  You can obtain a copy
 I5	  58524  * in the file LICENSE in the source distribution or at
 I5	  58525  * https://www.openssl.org/source/license.html
 I5	  58526  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1057
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BUFFERERR.H;1

 I5	  58527 
 I5	  58528 #ifndef OPENSSL_BUFFERERR_H
 I5	  58529 # define OPENSSL_BUFFERERR_H
 I5	  58530 # pragma once
 I5	  58531 
 I5    X  58532 # include <openssl/opensslconf.h>
 I5    X  58533 # include <openssl/symhacks.h>
 I5    X  58534 # include <openssl/cryptoerr_legacy.h>
 I5	  58535 
 I5	  58536 
 I5	  58537 
 I5	  58538 /*
 I5	  58539  * BUF reason codes.
 I5	  58540  */
 I5	  58541 
 I5	  58542 #endif
 I4	  58543 
 I4	  58544 
 I4    X  58545 #ifdef  __cplusplus
 I4    X  58546 extern "C" {
 I4    X  58547 #endif
 I4	  58548 
 I4    X  58549 # include <stddef.h>
 I4	  58550 # include <sys/types.h>
 I5    X  58551 #ifndef __TYPES_LOADED
 I5    X  58552 #define __TYPES_LOADED 1
 I5    X  58553 /****************************************************************************
 I5    X  58554 **
 I5    X  58555 **  <types.h> - Standard Type Definitions
 I5    X  58556 **
 I5    X  58557 *****************************************************************************
 I5    X  58558 **  Header introduced by the ISO POSIX-1 Standard
 I5    X  58559 *****************************************************************************
 I5    X  58560 **                                                                       
 I5    X  58561 **   Copyright 2003 Hewlett-Packard Development Company, L.P.            
 I5    X  58562 **                                                                       
 I5    X  58563 ** Confidential computer software.  Valid license from HP and/or         
 I5    X  58564 ** its subsidiaries required for possession, use, or copying.            
 I5    X  58565 **                                                                       
 I5    X  58566 ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software,  
 I5    X  58567 ** Computer Software Documentation, and Technical Data for Commercial    
 I5    X  58568 ** Items are licensed to the U.S. Government under vendor's standard     
 I5    X  58569 ** commercial license.                                                   
 I5    X  58570 **                                                                       
 I5    X  58571 ** Neither HP nor any of its subsidiaries shall be liable for technical  
 I5    X  58572 ** or editorial errors or omissions contained herein.  The information   
 I5    X  58573 ** in this document is provided "as is" without warranty of any kind and 
 I5    X  58574 ** is subject to change without notice.  The warranties for HP products  
 I5    X  58575 ** are set forth in the express limited warranty statements accompanying 
 I5    X  58576 ** such products.  Nothing herein should be construed as constituting an 
 I5    X  58577 ** additional warranty.                                                  
 I5    X  58578 **                                                                       
 I5    X  58579 *****************************************************************************
 I5    X  58580 */
 I5    X  58581 
 I5    X  58582 #pragma __nostandard
 I5    X  58583 #include <decc$types.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1058
V1.0                                                            14-DEC-2022 18:32:32  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I5    X  58584 
 I5    X  58585 #ifdef __cplusplus
 I5    X  58586     extern "C" {
 I5    X  58587 #endif
 I5    X  58588 
 I5    X  58589 #if __INITIAL_POINTER_SIZE
 I5    X  58590 #   pragma __pointer_size __save
 I5    X  58591 #   pragma __pointer_size 32
 I5    X  58592 #endif
 I5    X  58593 
 I5    X  58594 
 I5    X  58595 /*
 I5    X  58596 **  Public typedefs 
 I5    X  58597 */
 I5    X  58598 
 I5    X  58599 /*
 I5    X  58600 **  ISO POSIX-1 typedefs
 I5    X  58601 */
 I5    X  58602 
 I5    X  58603 /* 
 I5    X  58604 **  Used for device IDs.
 I5    X  58605 */
 I5    X  58606 #if !defined __DEV_T  && !defined _DECC_V4_SOURCE
 I5    X  58607 #   define __DEV_T 1
 I5    X  58608     typedef __dev_t dev_t;    
 I5    X  58609 #endif
 I5    X  58610 
 I5    X  58611 /*  
 I5    X  58612 **  Used for group IDs.
 I5    X  58613 */
 I5    X  58614 #if !defined __GID_T  && !defined _DECC_V4_SOURCE
 I5    X  58615 #   define __GID_T 1
 I5    X  58616     typedef __gid_t gid_t;    
 I5    X  58617 #endif
 I5    X  58618 
 I5    X  58619 /* 
 I5    X  58620 **  Used for file serial numbers.
 I5    X  58621 */
 I5    X  58622 #if !defined __INO_T  && !defined _DECC_V4_SOURCE
 I5    X  58623 #   define __INO_T 1
 I5    X  58624     typedef __ino_t ino_t;    
 I5    X  58625 #endif
 I5    X  58626 
 I5    X  58627 /*  
 I5    X  58628 **  Used for some file attributes.
 I5    X  58629 */
 I5    X  58630 #if !defined __MODE_T  && !defined _DECC_V4_SOURCE
 I5    X  58631 #   define __MODE_T 1
 I5    X  58632     typedef __mode_t mode_t;  
 I5    X  58633 #endif
 I5    X  58634 
 I5    X  58635 /* 
 I5    X  58636 **  Used for link counts.
 I5    X  58637 */
 I5    X  58638 #if !defined __NLINK_T  && !defined _DECC_V4_SOURCE
 I5    X  58639 #   define __NLINK_T 1
 I5    X  58640     typedef __nlink_t nlink_t;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1059
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I5    X  58641 #endif
 I5    X  58642 
 I5    X  58643 /* 
 I5    X  58644 **  Used for file sizes.
 I5    X  58645 */
 I5    X  58646 #if !defined __OFF_T  && !defined _DECC_V4_SOURCE
 I5    X  58647 #   define __OFF_T 1
 I5    X  58648     typedef __off_t off_t;    
 I5    X  58649 #endif
 I5    X  58650 
 I5    X  58651 /* 
 I5    X  58652 ** Used for process IDs and process group IDs.
 I5    X  58653 */
 I5    X  58654 #if !defined __PID_T  && !defined _DECC_V4_SOURCE
 I5    X  58655 #   define __PID_T 1
 I5    X  58656     typedef __pid_t pid_t; 
 I5    X  58657 #endif
 I5    X  58658 
 I5    X  58659 /*
 I5    X  58660 ** Used for sizes of objects.
 I5    X  58661 */
 I5    X  58662 #if !defined __SIZE_T  && !defined _DECC_V4_SOURCE
 I5    X  58663 #   define __SIZE_T 1
 I5    X  58664 #ifdef __NAMESPACE_STD
 I5    X  58665 namespace std {
 I5    X  58666 #endif
 I5    X  58667     typedef __size_t size_t;
 I5    X  58668 #ifdef __NAMESPACE_STD
 I5    X  58669 } /* namespace std */
 I5    X  58670     using std::size_t;
 I5    X  58671 #endif
 I5    X  58672 #endif
 I5    X  58673 
 I5    X  58674 /*
 I5    X  58675 ** Used for a count of bytes or an error indication.
 I5    X  58676 */
 I5    X  58677 #if !defined __SSIZE_T  && !defined _DECC_V4_SOURCE
 I5    X  58678 #   define __SSIZE_T 1
 I5    X  58679     typedef __ssize_t ssize_t;
 I5    X  58680 #endif
 I5    X  58681 
 I5    X  58682 /*
 I5    X  58683 ** Used for user IDs.
 I5    X  58684 */
 I5    X  58685 #if !defined __UID_T  && !defined _DECC_V4_SOURCE
 I5    X  58686 #   define __UID_T 1
 I5    X  58687     typedef __uid_t uid_t;
 I5    X  58688 #endif
 I5    X  58689 
 I5    X  58690 
 I5    X  58691 /*	 
 I5    X  58692 **  X/Open XPG4 typedefs, also defined in DECC V4
 I5    X  58693 */	 
 I5    X  58694 #if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE
 I5    X  58695 
 I5    X  58696 /* 
 I5    X  58697 **  Used for time in seconds.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1060
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I5    X  58698 */
 I5    X  58699 #   ifndef __TIME_T
 I5    X  58700 #	define __TIME_T 1
 I5    X  58701 #ifdef __NAMESPACE_STD
 I5    X  58702 namespace std {
 I5    X  58703 #endif
 I5    X  58704      typedef __time_t time_t;
 I5    X  58705 #ifdef __NAMESPACE_STD
 I5    X  58706 } /* namespace std */
 I5    X  58707      using std::time_t;
 I5    X  58708 #endif
 I5    X  58709 #   endif
 I5    X  58710 
 I5    X  58711 #endif
 I5    X  58712 
 I5    X  58713 
 I5    X  58714 /*	 
 I5    X  58715 **  X/Open XPG4 typedefs, new in DEC C V5.n
 I5    X  58716 */	 
 I5    X  58717 #if defined _XOPEN_SOURCE || (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE)
 I5    X  58718 
 I5    X  58719 /* 
 I5    X  58720 **  Used for system times in clock ticks or CLOCKS_PER_SEC.
 I5    X  58721 */
 I5    X  58722 #   ifndef __CLOCK_T 
 I5    X  58723 #	define __CLOCK_T 1
 I5    X  58724 #ifdef __NAMESPACE_STD
 I5    X  58725 namespace std {
 I5    X  58726 #endif
 I5    X  58727 	typedef long int  clock_t;    
 I5    X  58728 #ifdef __NAMESPACE_STD
 I5    X  58729 } /* namespace std */
 I5    X  58730         using std::clock_t;
 I5    X  58731 #endif
 I5    X  58732 #   endif
 I5    X  58733 
 I5    X  58734 /* 
 I5    X  58735 **  Used for interprocess communication.  
 I5    X  58736 */
 I5    X  58737 #   ifndef __KEY_T 
 I5    X  58738 #	define __KEY_T 1
 I5    X  58739 	typedef __key_t  key_t;
 I5    X  58740 #   endif
 I5    X  58741 
 I5    X  58742 #endif
 I5    X  58743 
 I5    X  58744 
 I5    X  58745 /*	 
 I5    X  58746 **  X/Open extended (XPG4) typedefs
 I5    X  58747 */	 
 I5    X  58748 #if defined _XOPEN_SOURCE_EXTENDED || (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE)
 I5    X  58749 
 I5    X  58750 /*
 I5    X  58751 **  Used as a general identifier; can be used to contain at least a pid_t, uid_t or gid_t.
 I5    X  58752 */
 I5    X  58753 #   ifndef __ID_T
 I5    X  58754 #	define __ID_T

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1061
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I5    X  58755 	typedef __id_t id_t;
 I5    X  58756 #   endif
 I5    X  58757 
 I5    X  58758 /*
 I5    X  58759 ** Used for time in microseconds.
 I5    X  58760 */
 I5    X  58761 #   ifndef __USECONDS_T
 I5    X  58762 #	define __USECONDS_T
 I5    X  58763 	typedef __useconds_t useconds_t;
 I5    X  58764 #   endif
 I5    X  58765 
 I5    X  58766 #endif
 I5    X  58767 
 I5    X  58768 
 I5    X  58769 /*
 I5    X  58770 **  Define non-standard socket compatible typedefs for BSD portability
 I5    X  58771 */
 I5    X  58772 #ifndef _POSIX_C_SOURCE
 I5    X  58773 
 I5    X  58774 #   if !defined(__CADDR_T) && !defined(CADDR_T) && !defined(_DECC_V4_SOURCE)
 I5    X  58775 #       define __CADDR_T 1
 I5    X  58776 #       if !defined __HIDE_FORBIDDEN_NAMES
 I5    X  58777 #           define CADDR_T 1
 I5    X  58778 #       endif
 I5    X  58779         typedef __caddr_t caddr_t;
 I5    X  58780 #   endif
 I5    X  58781 
 I5    X  58782 #   ifndef __SOCKET_TYPEDEFS
 I5    X  58783 #       define __SOCKET_TYPEDEFS   1
 I5    X  58784         typedef unsigned char   u_char;
 I5    X  58785         typedef unsigned short  u_short;
 I5    X  58786         typedef unsigned long   u_long;
 I5    X  58787 #   endif
 I5    X  58788 
 I5    X  58789 #   if !defined __U_INT && !defined _DECC_V4_SOURCE
 I5    X  58790 #       define __U_INT
 I5    X  58791         typedef __u_int u_int;
 I5    X  58792 #   endif
 I5    X  58793 
 I5    X  58794 
 I5    X  58795 #   ifndef _DECC_V4_SOURCE
 I5    X  58796 	typedef volatile char     v_char;
 I5    X  58797 	typedef volatile short    v_short;
 I5    X  58798 	typedef volatile long     v_long;
 I5    X  58799 	typedef volatile u_char   vu_char;
 I5    X  58800 	typedef volatile u_short  vu_short;
 I5    X  58801 	typedef volatile u_long   vu_long;
 I5    X  58802 
 I5    X  58803 	typedef u_char   uchar;   /*  For System III & V portability  */
 I5    X  58804 	typedef u_short  ushort;
 I5    X  58805 	typedef __u_int    uint;
 I5    X  58806 	typedef u_long   ulong;
 I5    X  58807 #   endif
 I5    X  58808 #endif
 I5    X  58809 
 I5    X  58810 
 I5    X  58811 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1062
V1.0                                                            14-MAY-2022 12:28:33  SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1(TYPES)

 I5    X  58812 **  Restore the users pointer context
 I5    X  58813 */
 I5    X  58814 #if __INITIAL_POINTER_SIZE
 I5    X  58815 #   pragma __pointer_size __restore
 I5    X  58816 #endif
 I5    X  58817 
 I5    X  58818 #ifdef __cplusplus
 I5    X  58819     }
 I5    X  58820 #endif
 I5    X  58821 
 I5    X  58822 #pragma __standard
 I5    X  58823 
 I5    X  58824 #endif  /* __TYPES_LOADED */
 I4	  58825 
 I4	  58826 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  58827 #  define BUF_strdup(s) OPENSSL_strdup(s)
 I4	  58828 #  define BUF_strndup(s, size) OPENSSL_strndup(s, size)
 I4	  58829 #  define BUF_memdup(data, size) OPENSSL_memdup(data, size)
 I4	  58830 #  define BUF_strlcpy(dst, src, size)  OPENSSL_strlcpy(dst, src, size)
 I4	  58831 #  define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size)
 I4	  58832 #  define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen)
 I4	  58833 # endif
 I4	  58834 
 I4	  58835 struct buf_mem_st {
 I4	  58836     size_t length;              /* current number of bytes */
 I4	  58837     char *data;
 I4	  58838     size_t max;                 /* size of buffer */
 I4	  58839     unsigned long flags;
 I4	  58840 };
 I4	  58841 
 I4	  58842 # define BUF_MEM_FLAG_SECURE  0x01
 I4	  58843 
 I4	  58844 BUF_MEM *BUF_MEM_new(void);
 I4	  58845 BUF_MEM *BUF_MEM_new_ex(unsigned long flags);
 I4	  58846 void BUF_MEM_free(BUF_MEM *a);
 I4	  58847 size_t BUF_MEM_grow(BUF_MEM *str, size_t len);
 I4	  58848 size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len);
 I4	  58849 void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz);
 I4	  58850 
 I4	  58851 
 I4    X  58852 # ifdef  __cplusplus
 I4    X  58853 }
 I4    X  58854 # endif
 I4	  58855 #endif
 I3	  58856 # include <openssl/evp.h>
 I4	  58857 /*
 I4	  58858  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I4	  58859  *
 I4	  58860  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  58861  * this file except in compliance with the License.  You can obtain a copy
 I4	  58862  * in the file LICENSE in the source distribution or at
 I4	  58863  * https://www.openssl.org/source/license.html
 I4	  58864  */
 I4	  58865 
 I4	  58866 #ifndef OPENSSL_EVP_H
 I4	  58867 # define OPENSSL_EVP_H
 I4	  58868 # pragma once

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1063
V1.0                                                            14-MAY-2022 12:28:33  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  58869 
 I4    X  58870 # include <openssl/macros.h>
 I4	  58871 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  58872 #  define HEADER_ENVELOPE_H
 I4	  58873 # endif
 I4	  58874 
 I4    X  58875 # include <stdarg.h>
 I4	  58876 
 I4	  58877 # ifndef OPENSSL_NO_STDIO
 I4    X  58878 #  include <stdio.h>
 I4	  58879 # endif
 I4	  58880 
 I4    X  58881 # include <openssl/opensslconf.h>
 I4    X  58882 # include <openssl/types.h>
 I4    X  58883 # include <openssl/core.h>
 I4	  58884 # include <openssl/core_dispatch.h>
 I5	  58885 /*
 I5	  58886  * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  58887  *
 I5	  58888  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  58889  * this file except in compliance with the License.  You can obtain a copy
 I5	  58890  * in the file LICENSE in the source distribution or at
 I5	  58891  * https://www.openssl.org/source/license.html
 I5	  58892  */
 I5	  58893 
 I5	  58894 #ifndef OPENSSL_CORE_NUMBERS_H
 I5	  58895 # define OPENSSL_CORE_NUMBERS_H
 I5	  58896 # pragma once
 I5	  58897 
 I5    X  58898 # include <stdarg.h>
 I5    X  58899 # include <openssl/core.h>
 I5	  58900 
 I5    X  58901 # ifdef __cplusplus
 I5    X  58902 extern "C" {
 I5    X  58903 # endif
 I5	  58904 
 I5	  58905 /*-
 I5	  58906  * Identities
 I5	  58907  * ----------
 I5	  58908  *
 I5	  58909  * All series start with 1, to allow 0 to be an array terminator.
 I5	  58910  * For any FUNC identity, we also provide a function signature typedef
 I5	  58911  * and a static inline function to extract a function pointer from a
 I5	  58912  * OSSL_DISPATCH element in a type safe manner.
 I5	  58913  *
 I5	  58914  * Names:
 I5	  58915  * for any function base name 'foo' (uppercase form 'FOO'), we will have
 I5	  58916  * the following:
 I5	  58917  * - a macro for the identity with the name OSSL_FUNC_'FOO' or derivatives
 I5	  58918  *   thereof (to be specified further down)
 I5	  58919  * - a function signature typedef with the name OSSL_FUNC_'foo'_fn
 I5	  58920  * - a function pointer extractor function with the name OSSL_FUNC_'foo'
 I5	  58921  */
 I5	  58922 
 I5	  58923 /*
 I5	  58924  * Helper macro to create the function signature typedef and the extractor
 I5	  58925  * |type| is the return-type of the function, |name| is the name of the

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1064
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  58926  * function to fetch, and |args| is a parenthesized list of parameters
 I5	  58927  * for the function (that is, it is |name|'s function signature).
 I5	  58928  * Note: This is considered a "reserved" internal macro. Applications should
 I5	  58929  * not use this or assume its existence.
 I5	  58930  */
 I5	  58931 #define OSSL_CORE_MAKE_FUNC(type,name,args)                             \
 I5	  58932     typedef type (OSSL_FUNC_##name##_fn)args;                           \
 I5	  58933     static ossl_unused ossl_inline \
 I5	  58934     OSSL_FUNC_##name##_fn *OSSL_FUNC_##name(const OSSL_DISPATCH *opf)   \
 I5	  58935     {                                                                   \
 I5	  58936         return (OSSL_FUNC_##name##_fn *)opf->function;                  \
 I5	  58937     }
 I5	  58938 
 I5	  58939 /*
 I5	  58940  * Core function identities, for the two OSSL_DISPATCH tables being passed
 I5	  58941  * in the OSSL_provider_init call.
 I5	  58942  *
 I5	  58943  * 0 serves as a marker for the end of the OSSL_DISPATCH array, and must
 I5	  58944  * therefore NEVER be used as a function identity.
 I5	  58945  */
 I5	  58946 /* Functions provided by the Core to the provider, reserved numbers 1-1023 */
 I5	  58947 # define OSSL_FUNC_CORE_GETTABLE_PARAMS        1
 I5   1	  58948 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_core_gettable_params_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inlin
       E	e OSSL_FUNC_core_gettable_params_fn * OSSL_FUNC_core_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_F
       E	UNC_core_gettable_params_fn * ) opf -> function ; }
 I5	  58949                     core_gettable_params,(const OSSL_CORE_HANDLE *prov))
 I5	  58950 # define OSSL_FUNC_CORE_GET_PARAMS             2
 I5   1	  58951 OSSL_CORE_MAKE_FUNC(int,core_get_params,(const OSSL_CORE_HANDLE *prov,
       E	 typedef int ( OSSL_FUNC_core_get_params_fn ) ( const OSSL_CORE_HANDLE * prov , OSSL_PARAM params [ ] ) ; static __i
       E	nline OSSL_FUNC_core_get_params_fn * OSSL_FUNC_core_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_co
       E	re_get_params_fn * ) opf -> function ; }
 I5	  58952                                          OSSL_PARAM params[]))
 I5	  58953 # define OSSL_FUNC_CORE_THREAD_START           3
 I5   1	  58954 OSSL_CORE_MAKE_FUNC(int,core_thread_start,(const OSSL_CORE_HANDLE *prov,
       E	 typedef int ( OSSL_FUNC_core_thread_start_fn ) ( const OSSL_CORE_HANDLE * prov , OSSL_thread_stop_handler_fn handfn
       E	 , void * arg ) ; static __inline OSSL_FUNC_core_thread_start_fn * OSSL_FUNC_core_thread_start ( const OSSL_DISPATCH
       E	 * opf ) { return ( OSSL_FUNC_core_thread_start_fn * ) opf -> function ; }
 I5	  58955                                            OSSL_thread_stop_handler_fn handfn,
 I5	  58956                                            void *arg))
 I5	  58957 # define OSSL_FUNC_CORE_GET_LIBCTX             4
 I5   1	  58958 OSSL_CORE_MAKE_FUNC(OPENSSL_CORE_CTX *,core_get_libctx,
       E	 typedef OPENSSL_CORE_CTX * ( OSSL_FUNC_core_get_libctx_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inline OSS
       E	L_FUNC_core_get_libctx_fn * OSSL_FUNC_core_get_libctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_core_get_li
       E	bctx_fn * ) opf -> function ; }
 I5	  58959                     (const OSSL_CORE_HANDLE *prov))
 I5	  58960 # define OSSL_FUNC_CORE_NEW_ERROR              5
 I5   1	  58961 OSSL_CORE_MAKE_FUNC(void,core_new_error,(const OSSL_CORE_HANDLE *prov))
       E	 typedef void ( OSSL_FUNC_core_new_error_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inline OSSL_FUNC_core_new
       E	_error_fn * OSSL_FUNC_core_new_error ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_core_new_error_fn * ) opf ->
       E	 function ; }
 I5	  58962 # define OSSL_FUNC_CORE_SET_ERROR_DEBUG        6
 I5   1	  58963 OSSL_CORE_MAKE_FUNC(void,core_set_error_debug,
       E	 typedef void ( OSSL_FUNC_core_set_error_debug_fn ) ( const OSSL_CORE_HANDLE * prov , const char * file , int line ,
       E	 const char * func ) ; static __inline OSSL_FUNC_core_set_error_debug_fn * OSSL_FUNC_core_set_error_debug ( const OS
       E	SL_DISPATCH * opf ) { return ( OSSL_FUNC_core_set_error_debug_fn * ) opf -> function ; }
 I5	  58964                     (const OSSL_CORE_HANDLE *prov,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1065
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  58965                      const char *file, int line, const char *func))
 I5	  58966 # define OSSL_FUNC_CORE_VSET_ERROR             7
 I5   1	  58967 OSSL_CORE_MAKE_FUNC(void,core_vset_error,
       E	 typedef void ( OSSL_FUNC_core_vset_error_fn ) ( const OSSL_CORE_HANDLE * prov , uint32_t reason , const char * fmt 
       E	, va_list args ) ; static __inline OSSL_FUNC_core_vset_error_fn * OSSL_FUNC_core_vset_error ( const OSSL_DISPATCH * 
       E	opf ) { return ( OSSL_FUNC_core_vset_error_fn * ) opf -> function ; }
 I5	  58968                     (const OSSL_CORE_HANDLE *prov,
 I5	  58969                      uint32_t reason, const char *fmt, va_list args))
 I5	  58970 # define OSSL_FUNC_CORE_SET_ERROR_MARK         8
 I5   1	  58971 OSSL_CORE_MAKE_FUNC(int, core_set_error_mark, (const OSSL_CORE_HANDLE *prov))
       E	 typedef int ( OSSL_FUNC_core_set_error_mark_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inline OSSL_FUNC_core
       E	_set_error_mark_fn * OSSL_FUNC_core_set_error_mark ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_core_set_error
       E	_mark_fn * ) opf -> function ; }
 I5	  58972 # define OSSL_FUNC_CORE_CLEAR_LAST_ERROR_MARK  9
 I5   1	  58973 OSSL_CORE_MAKE_FUNC(int, core_clear_last_error_mark,
       E	 typedef int ( OSSL_FUNC_core_clear_last_error_mark_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inline OSSL_FU
       E	NC_core_clear_last_error_mark_fn * OSSL_FUNC_core_clear_last_error_mark ( const OSSL_DISPATCH * opf ) { return ( OSS
       E	L_FUNC_core_clear_last_error_mark_fn * ) opf -> function ; }
 I5	  58974                     (const OSSL_CORE_HANDLE *prov))
 I5	  58975 # define OSSL_FUNC_CORE_POP_ERROR_TO_MARK     10
 I5   1	  58976 OSSL_CORE_MAKE_FUNC(int, core_pop_error_to_mark, (const OSSL_CORE_HANDLE *prov))
       E	 typedef int ( OSSL_FUNC_core_pop_error_to_mark_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inline OSSL_FUNC_c
       E	ore_pop_error_to_mark_fn * OSSL_FUNC_core_pop_error_to_mark ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_core_
       E	pop_error_to_mark_fn * ) opf -> function ; }
 I5	  58977 
 I5	  58978 
 I5	  58979 /* Functions to access the OBJ database */
 I5	  58980 
 I5	  58981 #define OSSL_FUNC_CORE_OBJ_ADD_SIGID          11
 I5	  58982 #define OSSL_FUNC_CORE_OBJ_CREATE             12
 I5	  58983 
 I5   1	  58984 OSSL_CORE_MAKE_FUNC(int, core_obj_add_sigid,
       E	 typedef int ( OSSL_FUNC_core_obj_add_sigid_fn ) ( const OSSL_CORE_HANDLE * prov , const char * sign_name , const ch
       E	ar * digest_name , const char * pkey_name ) ; static __inline OSSL_FUNC_core_obj_add_sigid_fn * OSSL_FUNC_core_obj_a
       E	dd_sigid ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_core_obj_add_sigid_fn * ) opf -> function ; }
 I5	  58985                     (const OSSL_CORE_HANDLE *prov, const char  *sign_name,
 I5	  58986                      const char *digest_name, const char *pkey_name))
 I5   1	  58987 OSSL_CORE_MAKE_FUNC(int, core_obj_create,
       E	 typedef int ( OSSL_FUNC_core_obj_create_fn ) ( const OSSL_CORE_HANDLE * prov , const char * oid , const char * sn ,
       E	 const char * ln ) ; static __inline OSSL_FUNC_core_obj_create_fn * OSSL_FUNC_core_obj_create ( const OSSL_DISPATCH 
       E	* opf ) { return ( OSSL_FUNC_core_obj_create_fn * ) opf -> function ; }
 I5	  58988                     (const OSSL_CORE_HANDLE *prov, const char *oid,
 I5	  58989                      const char *sn, const char *ln))
 I5	  58990 
 I5	  58991 /* Memory allocation, freeing, clearing. */
 I5	  58992 #define OSSL_FUNC_CRYPTO_MALLOC               20
 I5   1	  58993 OSSL_CORE_MAKE_FUNC(void *,
       E	 typedef void * ( OSSL_FUNC_CRYPTO_malloc_fn ) ( size_t num , const char * file , int line ) ; static __inline OSSL_
       E	FUNC_CRYPTO_malloc_fn * OSSL_FUNC_CRYPTO_malloc ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_CRYPTO_malloc_fn 
       E	* ) opf -> function ; }
 I5	  58994         CRYPTO_malloc, (size_t num, const char *file, int line))
 I5	  58995 #define OSSL_FUNC_CRYPTO_ZALLOC               21
 I5   1	  58996 OSSL_CORE_MAKE_FUNC(void *,
       E	 typedef void * ( OSSL_FUNC_CRYPTO_zalloc_fn ) ( size_t num , const char * file , int line ) ; static __inline OSSL_
       E	FUNC_CRYPTO_zalloc_fn * OSSL_FUNC_CRYPTO_zalloc ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_CRYPTO_zalloc_fn 
       E	* ) opf -> function ; }
 I5	  58997         CRYPTO_zalloc, (size_t num, const char *file, int line))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1066
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  58998 #define OSSL_FUNC_CRYPTO_FREE                 22
 I5   1	  58999 OSSL_CORE_MAKE_FUNC(void,
       E	 typedef void ( OSSL_FUNC_CRYPTO_free_fn ) ( void * ptr , const char * file , int line ) ; static __inline OSSL_FUNC
       E	_CRYPTO_free_fn * OSSL_FUNC_CRYPTO_free ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_CRYPTO_free_fn * ) opf ->
       E	 function ; }
 I5	  59000         CRYPTO_free, (void *ptr, const char *file, int line))
 I5	  59001 #define OSSL_FUNC_CRYPTO_CLEAR_FREE           23
 I5   1	  59002 OSSL_CORE_MAKE_FUNC(void,
       E	 typedef void ( OSSL_FUNC_CRYPTO_clear_free_fn ) ( void * ptr , size_t num , const char * file , int line ) ; static
       E	 __inline OSSL_FUNC_CRYPTO_clear_free_fn * OSSL_FUNC_CRYPTO_clear_free ( const OSSL_DISPATCH * opf ) { return ( OSSL
       E	_FUNC_CRYPTO_clear_free_fn * ) opf -> function ; }
 I5	  59003         CRYPTO_clear_free, (void *ptr, size_t num, const char *file, int line))
 I5	  59004 #define OSSL_FUNC_CRYPTO_REALLOC              24
 I5   1	  59005 OSSL_CORE_MAKE_FUNC(void *,
       E	 typedef void * ( OSSL_FUNC_CRYPTO_realloc_fn ) ( void * addr , size_t num , const char * file , int line ) ; static
       E	 __inline OSSL_FUNC_CRYPTO_realloc_fn * OSSL_FUNC_CRYPTO_realloc ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_
       E	CRYPTO_realloc_fn * ) opf -> function ; }
 I5	  59006         CRYPTO_realloc, (void *addr, size_t num, const char *file, int line))
 I5	  59007 #define OSSL_FUNC_CRYPTO_CLEAR_REALLOC        25
 I5   1	  59008 OSSL_CORE_MAKE_FUNC(void *,
       E	 typedef void * ( OSSL_FUNC_CRYPTO_clear_realloc_fn ) ( void * addr , size_t old_num , size_t num , const char * fil
       E	e , int line ) ; static __inline OSSL_FUNC_CRYPTO_clear_realloc_fn * OSSL_FUNC_CRYPTO_clear_realloc ( const OSSL_DIS
       E	PATCH * opf ) { return ( OSSL_FUNC_CRYPTO_clear_realloc_fn * ) opf -> function ; }
 I5	  59009         CRYPTO_clear_realloc, (void *addr, size_t old_num, size_t num,
 I5	  59010                                const char *file, int line))
 I5	  59011 #define OSSL_FUNC_CRYPTO_SECURE_MALLOC        26
 I5   1	  59012 OSSL_CORE_MAKE_FUNC(void *,
       E	 typedef void * ( OSSL_FUNC_CRYPTO_secure_malloc_fn ) ( size_t num , const char * file , int line ) ; static __inlin
       E	e OSSL_FUNC_CRYPTO_secure_malloc_fn * OSSL_FUNC_CRYPTO_secure_malloc ( const OSSL_DISPATCH * opf ) { return ( OSSL_F
       E	UNC_CRYPTO_secure_malloc_fn * ) opf -> function ; }
 I5	  59013         CRYPTO_secure_malloc, (size_t num, const char *file, int line))
 I5	  59014 #define OSSL_FUNC_CRYPTO_SECURE_ZALLOC        27
 I5   1	  59015 OSSL_CORE_MAKE_FUNC(void *,
       E	 typedef void * ( OSSL_FUNC_CRYPTO_secure_zalloc_fn ) ( size_t num , const char * file , int line ) ; static __inlin
       E	e OSSL_FUNC_CRYPTO_secure_zalloc_fn * OSSL_FUNC_CRYPTO_secure_zalloc ( const OSSL_DISPATCH * opf ) { return ( OSSL_F
       E	UNC_CRYPTO_secure_zalloc_fn * ) opf -> function ; }
 I5	  59016         CRYPTO_secure_zalloc, (size_t num, const char *file, int line))
 I5	  59017 #define OSSL_FUNC_CRYPTO_SECURE_FREE          28
 I5   1	  59018 OSSL_CORE_MAKE_FUNC(void,
       E	 typedef void ( OSSL_FUNC_CRYPTO_secure_free_fn ) ( void * ptr , const char * file , int line ) ; static __inline OS
       E	SL_FUNC_CRYPTO_secure_free_fn * OSSL_FUNC_CRYPTO_secure_free ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_CRYP
       E	TO_secure_free_fn * ) opf -> function ; }
 I5	  59019         CRYPTO_secure_free, (void *ptr, const char *file, int line))
 I5	  59020 #define OSSL_FUNC_CRYPTO_SECURE_CLEAR_FREE    29
 I5   1	  59021 OSSL_CORE_MAKE_FUNC(void,
       E	 typedef void ( OSSL_FUNC_CRYPTO_secure_clear_free_fn ) ( void * ptr , size_t num , const char * file , int line ) ;
       E	 static __inline OSSL_FUNC_CRYPTO_secure_clear_free_fn * OSSL_FUNC_CRYPTO_secure_clear_free ( const OSSL_DISPATCH * 
       E	opf ) { return ( OSSL_FUNC_CRYPTO_secure_clear_free_fn * ) opf -> function ; }
 I5	  59022         CRYPTO_secure_clear_free, (void *ptr, size_t num, const char *file,
 I5	  59023                                    int line))
 I5	  59024 #define OSSL_FUNC_CRYPTO_SECURE_ALLOCATED     30
 I5   1	  59025 OSSL_CORE_MAKE_FUNC(int,
       E	 typedef int ( OSSL_FUNC_CRYPTO_secure_allocated_fn ) ( const void * ptr ) ; static __inline OSSL_FUNC_CRYPTO_secure
       E	_allocated_fn * OSSL_FUNC_CRYPTO_secure_allocated ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_CRYPTO_secure_a
       E	llocated_fn * ) opf -> function ; }
 I5	  59026         CRYPTO_secure_allocated, (const void *ptr))
 I5	  59027 #define OSSL_FUNC_OPENSSL_CLEANSE             31

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1067
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5   1	  59028 OSSL_CORE_MAKE_FUNC(void,
       E	 typedef void ( OSSL_FUNC_OPENSSL_cleanse_fn ) ( void * ptr , size_t len ) ; static __inline OSSL_FUNC_OPENSSL_clean
       E	se_fn * OSSL_FUNC_OPENSSL_cleanse ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_OPENSSL_cleanse_fn * ) opf -> f
       E	unction ; }
 I5	  59029         OPENSSL_cleanse, (void *ptr, size_t len))
 I5	  59030 
 I5	  59031 /* Bio functions provided by the core */
 I5	  59032 #define OSSL_FUNC_BIO_NEW_FILE                40
 I5	  59033 #define OSSL_FUNC_BIO_NEW_MEMBUF              41
 I5	  59034 #define OSSL_FUNC_BIO_READ_EX                 42
 I5	  59035 #define OSSL_FUNC_BIO_WRITE_EX                43
 I5	  59036 #define OSSL_FUNC_BIO_UP_REF                  44
 I5	  59037 #define OSSL_FUNC_BIO_FREE                    45
 I5	  59038 #define OSSL_FUNC_BIO_VPRINTF                 46
 I5	  59039 #define OSSL_FUNC_BIO_VSNPRINTF               47
 I5	  59040 #define OSSL_FUNC_BIO_PUTS                    48
 I5	  59041 #define OSSL_FUNC_BIO_GETS                    49
 I5	  59042 #define OSSL_FUNC_BIO_CTRL                    50
 I5	  59043 
 I5	  59044 
 I5   1	  59045 OSSL_CORE_MAKE_FUNC(OSSL_CORE_BIO *, BIO_new_file, (const char *filename,
       E	 typedef OSSL_CORE_BIO * ( OSSL_FUNC_BIO_new_file_fn ) ( const char * filename , const char * mode ) ; static __inli
       E	ne OSSL_FUNC_BIO_new_file_fn * OSSL_FUNC_BIO_new_file ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_new_fil
       E	e_fn * ) opf -> function ; }
 I5	  59046                                                     const char *mode))
 I5   1	  59047 OSSL_CORE_MAKE_FUNC(OSSL_CORE_BIO *, BIO_new_membuf, (const void *buf, int len))
       E	 typedef OSSL_CORE_BIO * ( OSSL_FUNC_BIO_new_membuf_fn ) ( const void * buf , int len ) ; static __inline OSSL_FUNC_
       E	BIO_new_membuf_fn * OSSL_FUNC_BIO_new_membuf ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_new_membuf_fn * 
       E	) opf -> function ; }
 I5   1	  59048 OSSL_CORE_MAKE_FUNC(int, BIO_read_ex, (OSSL_CORE_BIO *bio, void *data,
       E	 typedef int ( OSSL_FUNC_BIO_read_ex_fn ) ( OSSL_CORE_BIO * bio , void * data , size_t data_len , size_t * bytes_rea
       E	d ) ; static __inline OSSL_FUNC_BIO_read_ex_fn * OSSL_FUNC_BIO_read_ex ( const OSSL_DISPATCH * opf ) { return ( OSSL
       E	_FUNC_BIO_read_ex_fn * ) opf -> function ; }
 I5	  59049                                        size_t data_len, size_t *bytes_read))
 I5   1	  59050 OSSL_CORE_MAKE_FUNC(int, BIO_write_ex, (OSSL_CORE_BIO *bio, const void *data,
       E	 typedef int ( OSSL_FUNC_BIO_write_ex_fn ) ( OSSL_CORE_BIO * bio , const void * data , size_t data_len , size_t * wr
       E	itten ) ; static __inline OSSL_FUNC_BIO_write_ex_fn * OSSL_FUNC_BIO_write_ex ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_BIO_write_ex_fn * ) opf -> function ; }
 I5	  59051                                         size_t data_len, size_t *written))
 I5   1	  59052 OSSL_CORE_MAKE_FUNC(int, BIO_gets, (OSSL_CORE_BIO *bio, char *buf, int size))
       E	 typedef int ( OSSL_FUNC_BIO_gets_fn ) ( OSSL_CORE_BIO * bio , char * buf , int size ) ; static __inline OSSL_FUNC_B
       E	IO_gets_fn * OSSL_FUNC_BIO_gets ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_gets_fn * ) opf -> function ;
       E	 }
 I5   1	  59053 OSSL_CORE_MAKE_FUNC(int, BIO_puts, (OSSL_CORE_BIO *bio, const char *str))
       E	 typedef int ( OSSL_FUNC_BIO_puts_fn ) ( OSSL_CORE_BIO * bio , const char * str ) ; static __inline OSSL_FUNC_BIO_pu
       E	ts_fn * OSSL_FUNC_BIO_puts ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_puts_fn * ) opf -> function ; }
 I5   1	  59054 OSSL_CORE_MAKE_FUNC(int, BIO_up_ref, (OSSL_CORE_BIO *bio))
       E	 typedef int ( OSSL_FUNC_BIO_up_ref_fn ) ( OSSL_CORE_BIO * bio ) ; static __inline OSSL_FUNC_BIO_up_ref_fn * OSSL_FU
       E	NC_BIO_up_ref ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_up_ref_fn * ) opf -> function ; }
 I5   1	  59055 OSSL_CORE_MAKE_FUNC(int, BIO_free, (OSSL_CORE_BIO *bio))
       E	 typedef int ( OSSL_FUNC_BIO_free_fn ) ( OSSL_CORE_BIO * bio ) ; static __inline OSSL_FUNC_BIO_free_fn * OSSL_FUNC_B
       E	IO_free ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_free_fn * ) opf -> function ; }
 I5   1	  59056 OSSL_CORE_MAKE_FUNC(int, BIO_vprintf, (OSSL_CORE_BIO *bio, const char *format,
       E	 typedef int ( OSSL_FUNC_BIO_vprintf_fn ) ( OSSL_CORE_BIO * bio , const char * format , va_list args ) ; static __in
       E	line OSSL_FUNC_BIO_vprintf_fn * OSSL_FUNC_BIO_vprintf ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_vprintf
       E	_fn * ) opf -> function ; }
 I5	  59057                                        va_list args))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1068
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5   1	  59058 OSSL_CORE_MAKE_FUNC(int, BIO_vsnprintf,
       E	 typedef int ( OSSL_FUNC_BIO_vsnprintf_fn ) ( char * buf , size_t n , const char * fmt , va_list args ) ; static __i
       E	nline OSSL_FUNC_BIO_vsnprintf_fn * OSSL_FUNC_BIO_vsnprintf ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_vs
       E	nprintf_fn * ) opf -> function ; }
 I5	  59059                    (char *buf, size_t n, const char *fmt, va_list args))
 I5   1	  59060 OSSL_CORE_MAKE_FUNC(int, BIO_ctrl, (OSSL_CORE_BIO *bio,
       E	 typedef int ( OSSL_FUNC_BIO_ctrl_fn ) ( OSSL_CORE_BIO * bio , int cmd , long num , void * ptr ) ; static __inline O
       E	SSL_FUNC_BIO_ctrl_fn * OSSL_FUNC_BIO_ctrl ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_BIO_ctrl_fn * ) opf -> 
       E	function ; }
 I5	  59061                                     int cmd, long num, void *ptr))
 I5	  59062 
 I5	  59063 #define OSSL_FUNC_SELF_TEST_CB               100
 I5   1	  59064 OSSL_CORE_MAKE_FUNC(void, self_test_cb, (OPENSSL_CORE_CTX *ctx, OSSL_CALLBACK **cb,
       E	 typedef void ( OSSL_FUNC_self_test_cb_fn ) ( OPENSSL_CORE_CTX * ctx , OSSL_CALLBACK * * cb , void * * cbarg ) ; sta
       E	tic __inline OSSL_FUNC_self_test_cb_fn * OSSL_FUNC_self_test_cb ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_s
       E	elf_test_cb_fn * ) opf -> function ; }
 I5	  59065                                          void **cbarg))
 I5	  59066 
 I5	  59067 /* Functions to get seed material from the operating system */
 I5	  59068 #define OSSL_FUNC_GET_ENTROPY                101
 I5	  59069 #define OSSL_FUNC_CLEANUP_ENTROPY            102
 I5	  59070 #define OSSL_FUNC_GET_NONCE                  103
 I5	  59071 #define OSSL_FUNC_CLEANUP_NONCE              104
 I5   1	  59072 OSSL_CORE_MAKE_FUNC(size_t, get_entropy, (const OSSL_CORE_HANDLE *handle,
       E	 typedef size_t ( OSSL_FUNC_get_entropy_fn ) ( const OSSL_CORE_HANDLE * handle , unsigned char * * pout , int entrop
       E	y , size_t min_len , size_t max_len ) ; static __inline OSSL_FUNC_get_entropy_fn * OSSL_FUNC_get_entropy ( const OSS
       E	L_DISPATCH * opf ) { return ( OSSL_FUNC_get_entropy_fn * ) opf -> function ; }
 I5	  59073                                           unsigned char **pout, int entropy,
 I5	  59074                                           size_t min_len, size_t max_len))
 I5   1	  59075 OSSL_CORE_MAKE_FUNC(void, cleanup_entropy, (const OSSL_CORE_HANDLE *handle,
       E	 typedef void ( OSSL_FUNC_cleanup_entropy_fn ) ( const OSSL_CORE_HANDLE * handle , unsigned char * buf , size_t len 
       E	) ; static __inline OSSL_FUNC_cleanup_entropy_fn * OSSL_FUNC_cleanup_entropy ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_cleanup_entropy_fn * ) opf -> function ; }
 I5	  59076                                             unsigned char *buf, size_t len))
 I5   1	  59077 OSSL_CORE_MAKE_FUNC(size_t, get_nonce, (const OSSL_CORE_HANDLE *handle,
       E	 typedef size_t ( OSSL_FUNC_get_nonce_fn ) ( const OSSL_CORE_HANDLE * handle , unsigned char * * pout , size_t min_l
       E	en , size_t max_len , const void * salt , size_t salt_len ) ; static __inline OSSL_FUNC_get_nonce_fn * OSSL_FUNC_get
       E	_nonce ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_get_nonce_fn * ) opf -> function ; }
 I5	  59078                                         unsigned char **pout, size_t min_len,
 I5	  59079                                         size_t max_len, const void *salt,
 I5	  59080                                         size_t salt_len))
 I5   1	  59081 OSSL_CORE_MAKE_FUNC(void, cleanup_nonce, (const OSSL_CORE_HANDLE *handle,
       E	 typedef void ( OSSL_FUNC_cleanup_nonce_fn ) ( const OSSL_CORE_HANDLE * handle , unsigned char * buf , size_t len ) 
       E	; static __inline OSSL_FUNC_cleanup_nonce_fn * OSSL_FUNC_cleanup_nonce ( const OSSL_DISPATCH * opf ) { return ( OSSL
       E	_FUNC_cleanup_nonce_fn * ) opf -> function ; }
 I5	  59082                                           unsigned char *buf, size_t len))
 I5	  59083 
 I5	  59084 /* Functions to access the core's providers */
 I5	  59085 #define OSSL_FUNC_PROVIDER_REGISTER_CHILD_CB   105
 I5	  59086 #define OSSL_FUNC_PROVIDER_DEREGISTER_CHILD_CB 106
 I5	  59087 #define OSSL_FUNC_PROVIDER_NAME                107
 I5	  59088 #define OSSL_FUNC_PROVIDER_GET0_PROVIDER_CTX   108
 I5	  59089 #define OSSL_FUNC_PROVIDER_GET0_DISPATCH       109
 I5	  59090 #define OSSL_FUNC_PROVIDER_UP_REF              110
 I5	  59091 #define OSSL_FUNC_PROVIDER_FREE                111
 I5	  59092 
 I5   1	  59093 OSSL_CORE_MAKE_FUNC(int, provider_register_child_cb,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1069
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	 typedef int ( OSSL_FUNC_provider_register_child_cb_fn ) ( const OSSL_CORE_HANDLE * handle , int ( * create_cb ) ( c
       E	onst OSSL_CORE_HANDLE * provider , void * cbdata ) , int ( * remove_cb ) ( const OSSL_CORE_HANDLE * provider , void 
       E	* cbdata ) , int ( * global_props_cb ) ( const char * props , void * cbdata ) , void * cbdata ) ; static __inline OS
       E	SL_FUNC_provider_register_child_cb_fn * OSSL_FUNC_provider_register_child_cb ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_provider_register_child_cb_fn * ) opf -> function ; }
 I5	  59094                     (const OSSL_CORE_HANDLE *handle,
 I5	  59095                      int (*create_cb)(const OSSL_CORE_HANDLE *provider, void *cbdata),
 I5	  59096                      int (*remove_cb)(const OSSL_CORE_HANDLE *provider, void *cbdata),
 I5	  59097                      int (*global_props_cb)(const char *props, void *cbdata),
 I5	  59098                      void *cbdata))
 I5   1	  59099 OSSL_CORE_MAKE_FUNC(void, provider_deregister_child_cb,
       E	 typedef void ( OSSL_FUNC_provider_deregister_child_cb_fn ) ( const OSSL_CORE_HANDLE * handle ) ; static __inline OS
       E	SL_FUNC_provider_deregister_child_cb_fn * OSSL_FUNC_provider_deregister_child_cb ( const OSSL_DISPATCH * opf ) { ret
       E	urn ( OSSL_FUNC_provider_deregister_child_cb_fn * ) opf -> function ; }
 I5	  59100                     (const OSSL_CORE_HANDLE *handle))
 I5   1	  59101 OSSL_CORE_MAKE_FUNC(const char *, provider_name,
       E	 typedef const char * ( OSSL_FUNC_provider_name_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inline OSSL_FUNC_p
       E	rovider_name_fn * OSSL_FUNC_provider_name ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_provider_name_fn * ) op
       E	f -> function ; }
 I5	  59102                     (const OSSL_CORE_HANDLE *prov))
 I5   1	  59103 OSSL_CORE_MAKE_FUNC(void *, provider_get0_provider_ctx,
       E	 typedef void * ( OSSL_FUNC_provider_get0_provider_ctx_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __inline OSSL
       E	_FUNC_provider_get0_provider_ctx_fn * OSSL_FUNC_provider_get0_provider_ctx ( const OSSL_DISPATCH * opf ) { return ( 
       E	OSSL_FUNC_provider_get0_provider_ctx_fn * ) opf -> function ; }
 I5	  59104                     (const OSSL_CORE_HANDLE *prov))
 I5   1	  59105 OSSL_CORE_MAKE_FUNC(const OSSL_DISPATCH *, provider_get0_dispatch,
       E	 typedef const OSSL_DISPATCH * ( OSSL_FUNC_provider_get0_dispatch_fn ) ( const OSSL_CORE_HANDLE * prov ) ; static __
       E	inline OSSL_FUNC_provider_get0_dispatch_fn * OSSL_FUNC_provider_get0_dispatch ( const OSSL_DISPATCH * opf ) { return
       E	 ( OSSL_FUNC_provider_get0_dispatch_fn * ) opf -> function ; }
 I5	  59106                     (const OSSL_CORE_HANDLE *prov))
 I5   1	  59107 OSSL_CORE_MAKE_FUNC(int, provider_up_ref,
       E	 typedef int ( OSSL_FUNC_provider_up_ref_fn ) ( const OSSL_CORE_HANDLE * prov , int activate ) ; static __inline OSS
       E	L_FUNC_provider_up_ref_fn * OSSL_FUNC_provider_up_ref ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_provider_up
       E	_ref_fn * ) opf -> function ; }
 I5	  59108                     (const OSSL_CORE_HANDLE *prov, int activate))
 I5   1	  59109 OSSL_CORE_MAKE_FUNC(int, provider_free,
       E	 typedef int ( OSSL_FUNC_provider_free_fn ) ( const OSSL_CORE_HANDLE * prov , int deactivate ) ; static __inline OSS
       E	L_FUNC_provider_free_fn * OSSL_FUNC_provider_free ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_provider_free_f
       E	n * ) opf -> function ; }
 I5	  59110                     (const OSSL_CORE_HANDLE *prov, int deactivate))
 I5	  59111 
 I5	  59112 /* Functions provided by the provider to the Core, reserved numbers 1024-1535 */
 I5	  59113 # define OSSL_FUNC_PROVIDER_TEARDOWN           1024
 I5   1	  59114 OSSL_CORE_MAKE_FUNC(void,provider_teardown,(void *provctx))
       E	 typedef void ( OSSL_FUNC_provider_teardown_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_provider_teardown_fn
       E	 * OSSL_FUNC_provider_teardown ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_provider_teardown_fn * ) opf -> fu
       E	nction ; }
 I5	  59115 # define OSSL_FUNC_PROVIDER_GETTABLE_PARAMS    1025
 I5   1	  59116 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_provider_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC
       E	_provider_gettable_params_fn * OSSL_FUNC_provider_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC
       E	_provider_gettable_params_fn * ) opf -> function ; }
 I5	  59117                     provider_gettable_params,(void *provctx))
 I5	  59118 # define OSSL_FUNC_PROVIDER_GET_PARAMS         1026
 I5   1	  59119 OSSL_CORE_MAKE_FUNC(int,provider_get_params,(void *provctx,
       E	 typedef int ( OSSL_FUNC_provider_get_params_fn ) ( void * provctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_
       E	FUNC_provider_get_params_fn * OSSL_FUNC_provider_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_provi

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1070
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	der_get_params_fn * ) opf -> function ; }
 I5	  59120                                              OSSL_PARAM params[]))
 I5	  59121 # define OSSL_FUNC_PROVIDER_QUERY_OPERATION    1027
 I5   1	  59122 OSSL_CORE_MAKE_FUNC(const OSSL_ALGORITHM *,provider_query_operation,
       E	 typedef const OSSL_ALGORITHM * ( OSSL_FUNC_provider_query_operation_fn ) ( void * provctx , int operation_id , int 
       E	* no_store ) ; static __inline OSSL_FUNC_provider_query_operation_fn * OSSL_FUNC_provider_query_operation ( const OS
       E	SL_DISPATCH * opf ) { return ( OSSL_FUNC_provider_query_operation_fn * ) opf -> function ; }
 I5	  59123                     (void *provctx, int operation_id, int *no_store))
 I5	  59124 # define OSSL_FUNC_PROVIDER_UNQUERY_OPERATION  1028
 I5   1	  59125 OSSL_CORE_MAKE_FUNC(void, provider_unquery_operation,
       E	 typedef void ( OSSL_FUNC_provider_unquery_operation_fn ) ( void * provctx , int operation_id , const OSSL_ALGORITHM
       E	 * ) ; static __inline OSSL_FUNC_provider_unquery_operation_fn * OSSL_FUNC_provider_unquery_operation ( const OSSL_D
       E	ISPATCH * opf ) { return ( OSSL_FUNC_provider_unquery_operation_fn * ) opf -> function ; }
 I5	  59126                     (void *provctx, int operation_id, const OSSL_ALGORITHM *))
 I5	  59127 # define OSSL_FUNC_PROVIDER_GET_REASON_STRINGS 1029
 I5   1	  59128 OSSL_CORE_MAKE_FUNC(const OSSL_ITEM *,provider_get_reason_strings,
       E	 typedef const OSSL_ITEM * ( OSSL_FUNC_provider_get_reason_strings_fn ) ( void * provctx ) ; static __inline OSSL_FU
       E	NC_provider_get_reason_strings_fn * OSSL_FUNC_provider_get_reason_strings ( const OSSL_DISPATCH * opf ) { return ( O
       E	SSL_FUNC_provider_get_reason_strings_fn * ) opf -> function ; }
 I5	  59129                     (void *provctx))
 I5	  59130 # define OSSL_FUNC_PROVIDER_GET_CAPABILITIES   1030
 I5   1	  59131 OSSL_CORE_MAKE_FUNC(int, provider_get_capabilities, (void *provctx,
       E	 typedef int ( OSSL_FUNC_provider_get_capabilities_fn ) ( void * provctx , const char * capability , OSSL_CALLBACK *
       E	 cb , void * arg ) ; static __inline OSSL_FUNC_provider_get_capabilities_fn * OSSL_FUNC_provider_get_capabilities ( 
       E	const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_provider_get_capabilities_fn * ) opf -> function ; }
 I5	  59132                     const char *capability, OSSL_CALLBACK *cb, void *arg))
 I5	  59133 # define OSSL_FUNC_PROVIDER_SELF_TEST          1031
 I5   1	  59134 OSSL_CORE_MAKE_FUNC(int, provider_self_test, (void *provctx))
       E	 typedef int ( OSSL_FUNC_provider_self_test_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_provider_self_test_f
       E	n * OSSL_FUNC_provider_self_test ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_provider_self_test_fn * ) opf ->
       E	 function ; }
 I5	  59135 
 I5	  59136 /* Operations */
 I5	  59137 
 I5	  59138 # define OSSL_OP_DIGEST                              1
 I5	  59139 # define OSSL_OP_CIPHER                              2   /* Symmetric Ciphers */
 I5	  59140 # define OSSL_OP_MAC                                 3
 I5	  59141 # define OSSL_OP_KDF                                 4
 I5	  59142 # define OSSL_OP_RAND                                5
 I5	  59143 # define OSSL_OP_KEYMGMT                            10
 I5	  59144 # define OSSL_OP_KEYEXCH                            11
 I5	  59145 # define OSSL_OP_SIGNATURE                          12
 I5	  59146 # define OSSL_OP_ASYM_CIPHER                        13
 I5	  59147 # define OSSL_OP_KEM                                14
 I5	  59148 /* New section for non-EVP operations */
 I5	  59149 # define OSSL_OP_ENCODER                            20
 I5	  59150 # define OSSL_OP_DECODER                            21
 I5	  59151 # define OSSL_OP_STORE                              22
 I5	  59152 /* Highest known operation number */
 I5	  59153 # define OSSL_OP__HIGHEST                           22
 I5	  59154 
 I5	  59155 /* Digests */
 I5	  59156 
 I5	  59157 # define OSSL_FUNC_DIGEST_NEWCTX                     1
 I5	  59158 # define OSSL_FUNC_DIGEST_INIT                       2
 I5	  59159 # define OSSL_FUNC_DIGEST_UPDATE                     3
 I5	  59160 # define OSSL_FUNC_DIGEST_FINAL                      4

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1071
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  59161 # define OSSL_FUNC_DIGEST_DIGEST                     5
 I5	  59162 # define OSSL_FUNC_DIGEST_FREECTX                    6
 I5	  59163 # define OSSL_FUNC_DIGEST_DUPCTX                     7
 I5	  59164 # define OSSL_FUNC_DIGEST_GET_PARAMS                 8
 I5	  59165 # define OSSL_FUNC_DIGEST_SET_CTX_PARAMS             9
 I5	  59166 # define OSSL_FUNC_DIGEST_GET_CTX_PARAMS            10
 I5	  59167 # define OSSL_FUNC_DIGEST_GETTABLE_PARAMS           11
 I5	  59168 # define OSSL_FUNC_DIGEST_SETTABLE_CTX_PARAMS       12
 I5	  59169 # define OSSL_FUNC_DIGEST_GETTABLE_CTX_PARAMS       13
 I5	  59170 
 I5   1	  59171 OSSL_CORE_MAKE_FUNC(void *, digest_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_digest_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_digest_newctx_fn * OSS
       E	L_FUNC_digest_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_digest_newctx_fn * ) opf -> function ; }
 I5   1	  59172 OSSL_CORE_MAKE_FUNC(int, digest_init, (void *dctx, const OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_digest_init_fn ) ( void * dctx , const OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_
       E	digest_init_fn * OSSL_FUNC_digest_init ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_digest_init_fn * ) opf -> 
       E	function ; }
 I5   1	  59173 OSSL_CORE_MAKE_FUNC(int, digest_update,
       E	 typedef int ( OSSL_FUNC_digest_update_fn ) ( void * dctx , const unsigned char * in , size_t inl ) ; static __inlin
       E	e OSSL_FUNC_digest_update_fn * OSSL_FUNC_digest_update ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_digest_upd
       E	ate_fn * ) opf -> function ; }
 I5	  59174                     (void *dctx, const unsigned char *in, size_t inl))
 I5   1	  59175 OSSL_CORE_MAKE_FUNC(int, digest_final,
       E	 typedef int ( OSSL_FUNC_digest_final_fn ) ( void * dctx , unsigned char * out , size_t * outl , size_t outsz ) ; st
       E	atic __inline OSSL_FUNC_digest_final_fn * OSSL_FUNC_digest_final ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_
       E	digest_final_fn * ) opf -> function ; }
 I5	  59176                     (void *dctx,
 I5	  59177                      unsigned char *out, size_t *outl, size_t outsz))
 I5   1	  59178 OSSL_CORE_MAKE_FUNC(int, digest_digest,
       E	 typedef int ( OSSL_FUNC_digest_digest_fn ) ( void * provctx , const unsigned char * in , size_t inl , unsigned char
       E	 * out , size_t * outl , size_t outsz ) ; static __inline OSSL_FUNC_digest_digest_fn * OSSL_FUNC_digest_digest ( con
       E	st OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_digest_digest_fn * ) opf -> function ; }
 I5	  59179                     (void *provctx, const unsigned char *in, size_t inl,
 I5	  59180                      unsigned char *out, size_t *outl, size_t outsz))
 I5	  59181 
 I5   1	  59182 OSSL_CORE_MAKE_FUNC(void, digest_freectx, (void *dctx))
       E	 typedef void ( OSSL_FUNC_digest_freectx_fn ) ( void * dctx ) ; static __inline OSSL_FUNC_digest_freectx_fn * OSSL_F
       E	UNC_digest_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_digest_freectx_fn * ) opf -> function ; }
 I5   1	  59183 OSSL_CORE_MAKE_FUNC(void *, digest_dupctx, (void *dctx))
       E	 typedef void * ( OSSL_FUNC_digest_dupctx_fn ) ( void * dctx ) ; static __inline OSSL_FUNC_digest_dupctx_fn * OSSL_F
       E	UNC_digest_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_digest_dupctx_fn * ) opf -> function ; }
 I5	  59184 
 I5   1	  59185 OSSL_CORE_MAKE_FUNC(int, digest_get_params, (OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_digest_get_params_fn ) ( OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_digest_get_par
       E	ams_fn * OSSL_FUNC_digest_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_digest_get_params_fn * ) opf
       E	 -> function ; }
 I5   1	  59186 OSSL_CORE_MAKE_FUNC(int, digest_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_digest_set_ctx_params_fn ) ( void * vctx , const OSSL_PARAM params [ ] ) ; static __inline 
       E	OSSL_FUNC_digest_set_ctx_params_fn * OSSL_FUNC_digest_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_F
       E	UNC_digest_set_ctx_params_fn * ) opf -> function ; }
 I5	  59187                     (void *vctx, const OSSL_PARAM params[]))
 I5   1	  59188 OSSL_CORE_MAKE_FUNC(int, digest_get_ctx_params,
       E	 typedef int ( OSSL_FUNC_digest_get_ctx_params_fn ) ( void * vctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_F
       E	UNC_digest_get_ctx_params_fn * OSSL_FUNC_digest_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_di
       E	gest_get_ctx_params_fn * ) opf -> function ; }
 I5	  59189                     (void *vctx, OSSL_PARAM params[]))
 I5   1	  59190 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, digest_gettable_params,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1072
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_digest_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_d
       E	igest_gettable_params_fn * OSSL_FUNC_digest_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_diges
       E	t_gettable_params_fn * ) opf -> function ; }
 I5	  59191                     (void *provctx))
 I5   1	  59192 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, digest_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_digest_settable_ctx_params_fn ) ( void * dctx , void * provctx ) ; static __
       E	inline OSSL_FUNC_digest_settable_ctx_params_fn * OSSL_FUNC_digest_settable_ctx_params ( const OSSL_DISPATCH * opf ) 
       E	{ return ( OSSL_FUNC_digest_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59193                     (void *dctx, void *provctx))
 I5   1	  59194 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, digest_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_digest_gettable_ctx_params_fn ) ( void * dctx , void * provctx ) ; static __
       E	inline OSSL_FUNC_digest_gettable_ctx_params_fn * OSSL_FUNC_digest_gettable_ctx_params ( const OSSL_DISPATCH * opf ) 
       E	{ return ( OSSL_FUNC_digest_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59195                     (void *dctx, void *provctx))
 I5	  59196 
 I5	  59197 /* Symmetric Ciphers */
 I5	  59198 
 I5	  59199 # define OSSL_FUNC_CIPHER_NEWCTX                     1
 I5	  59200 # define OSSL_FUNC_CIPHER_ENCRYPT_INIT               2
 I5	  59201 # define OSSL_FUNC_CIPHER_DECRYPT_INIT               3
 I5	  59202 # define OSSL_FUNC_CIPHER_UPDATE                     4
 I5	  59203 # define OSSL_FUNC_CIPHER_FINAL                      5
 I5	  59204 # define OSSL_FUNC_CIPHER_CIPHER                     6
 I5	  59205 # define OSSL_FUNC_CIPHER_FREECTX                    7
 I5	  59206 # define OSSL_FUNC_CIPHER_DUPCTX                     8
 I5	  59207 # define OSSL_FUNC_CIPHER_GET_PARAMS                 9
 I5	  59208 # define OSSL_FUNC_CIPHER_GET_CTX_PARAMS            10
 I5	  59209 # define OSSL_FUNC_CIPHER_SET_CTX_PARAMS            11
 I5	  59210 # define OSSL_FUNC_CIPHER_GETTABLE_PARAMS           12
 I5	  59211 # define OSSL_FUNC_CIPHER_GETTABLE_CTX_PARAMS       13
 I5	  59212 # define OSSL_FUNC_CIPHER_SETTABLE_CTX_PARAMS       14
 I5	  59213 
 I5   1	  59214 OSSL_CORE_MAKE_FUNC(void *, cipher_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_cipher_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_cipher_newctx_fn * OSS
       E	L_FUNC_cipher_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_newctx_fn * ) opf -> function ; }
 I5   1	  59215 OSSL_CORE_MAKE_FUNC(int, cipher_encrypt_init, (void *cctx,
       E	 typedef int ( OSSL_FUNC_cipher_encrypt_init_fn ) ( void * cctx , const unsigned char * key , size_t keylen , const 
       E	unsigned char * iv , size_t ivlen , const OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_cipher_encrypt_init_fn
       E	 * OSSL_FUNC_cipher_encrypt_init ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_encrypt_init_fn * ) opf -
       E	> function ; }
 I5	  59216                                                   const unsigned char *key,
 I5	  59217                                                   size_t keylen,
 I5	  59218                                                   const unsigned char *iv,
 I5	  59219                                                   size_t ivlen,
 I5	  59220                                                   const OSSL_PARAM params[]))
 I5   1	  59221 OSSL_CORE_MAKE_FUNC(int, cipher_decrypt_init, (void *cctx,
       E	 typedef int ( OSSL_FUNC_cipher_decrypt_init_fn ) ( void * cctx , const unsigned char * key , size_t keylen , const 
       E	unsigned char * iv , size_t ivlen , const OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_cipher_decrypt_init_fn
       E	 * OSSL_FUNC_cipher_decrypt_init ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_decrypt_init_fn * ) opf -
       E	> function ; }
 I5	  59222                                                   const unsigned char *key,
 I5	  59223                                                   size_t keylen,
 I5	  59224                                                   const unsigned char *iv,
 I5	  59225                                                   size_t ivlen,
 I5	  59226                                                   const OSSL_PARAM params[]))
 I5   1	  59227 OSSL_CORE_MAKE_FUNC(int, cipher_update,
       E	 typedef int ( OSSL_FUNC_cipher_update_fn ) ( void * cctx , unsigned char * out , size_t * outl , size_t outsize , c

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1073
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	onst unsigned char * in , size_t inl ) ; static __inline OSSL_FUNC_cipher_update_fn * OSSL_FUNC_cipher_update ( cons
       E	t OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_update_fn * ) opf -> function ; }
 I5	  59228                     (void *cctx,
 I5	  59229                      unsigned char *out, size_t *outl, size_t outsize,
 I5	  59230                      const unsigned char *in, size_t inl))
 I5   1	  59231 OSSL_CORE_MAKE_FUNC(int, cipher_final,
       E	 typedef int ( OSSL_FUNC_cipher_final_fn ) ( void * cctx , unsigned char * out , size_t * outl , size_t outsize ) ; 
       E	static __inline OSSL_FUNC_cipher_final_fn * OSSL_FUNC_cipher_final ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUN
       E	C_cipher_final_fn * ) opf -> function ; }
 I5	  59232                     (void *cctx,
 I5	  59233                      unsigned char *out, size_t *outl, size_t outsize))
 I5   1	  59234 OSSL_CORE_MAKE_FUNC(int, cipher_cipher,
       E	 typedef int ( OSSL_FUNC_cipher_cipher_fn ) ( void * cctx , unsigned char * out , size_t * outl , size_t outsize , c
       E	onst unsigned char * in , size_t inl ) ; static __inline OSSL_FUNC_cipher_cipher_fn * OSSL_FUNC_cipher_cipher ( cons
       E	t OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_cipher_fn * ) opf -> function ; }
 I5	  59235                     (void *cctx,
 I5	  59236                      unsigned char *out, size_t *outl, size_t outsize,
 I5	  59237                      const unsigned char *in, size_t inl))
 I5   1	  59238 OSSL_CORE_MAKE_FUNC(void, cipher_freectx, (void *cctx))
       E	 typedef void ( OSSL_FUNC_cipher_freectx_fn ) ( void * cctx ) ; static __inline OSSL_FUNC_cipher_freectx_fn * OSSL_F
       E	UNC_cipher_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_freectx_fn * ) opf -> function ; }
 I5   1	  59239 OSSL_CORE_MAKE_FUNC(void *, cipher_dupctx, (void *cctx))
       E	 typedef void * ( OSSL_FUNC_cipher_dupctx_fn ) ( void * cctx ) ; static __inline OSSL_FUNC_cipher_dupctx_fn * OSSL_F
       E	UNC_cipher_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_dupctx_fn * ) opf -> function ; }
 I5   1	  59240 OSSL_CORE_MAKE_FUNC(int, cipher_get_params, (OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_cipher_get_params_fn ) ( OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_cipher_get_par
       E	ams_fn * OSSL_FUNC_cipher_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_cipher_get_params_fn * ) opf
       E	 -> function ; }
 I5   1	  59241 OSSL_CORE_MAKE_FUNC(int, cipher_get_ctx_params, (void *cctx,
       E	 typedef int ( OSSL_FUNC_cipher_get_ctx_params_fn ) ( void * cctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_F
       E	UNC_cipher_get_ctx_params_fn * OSSL_FUNC_cipher_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_ci
       E	pher_get_ctx_params_fn * ) opf -> function ; }
 I5	  59242                                                     OSSL_PARAM params[]))
 I5   1	  59243 OSSL_CORE_MAKE_FUNC(int, cipher_set_ctx_params, (void *cctx,
       E	 typedef int ( OSSL_FUNC_cipher_set_ctx_params_fn ) ( void * cctx , const OSSL_PARAM params [ ] ) ; static __inline 
       E	OSSL_FUNC_cipher_set_ctx_params_fn * OSSL_FUNC_cipher_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_F
       E	UNC_cipher_set_ctx_params_fn * ) opf -> function ; }
 I5	  59244                                                     const OSSL_PARAM params[]))
 I5   1	  59245 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, cipher_gettable_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_cipher_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_c
       E	ipher_gettable_params_fn * OSSL_FUNC_cipher_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_ciphe
       E	r_gettable_params_fn * ) opf -> function ; }
 I5	  59246                     (void *provctx))
 I5   1	  59247 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, cipher_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_cipher_settable_ctx_params_fn ) ( void * cctx , void * provctx ) ; static __
       E	inline OSSL_FUNC_cipher_settable_ctx_params_fn * OSSL_FUNC_cipher_settable_ctx_params ( const OSSL_DISPATCH * opf ) 
       E	{ return ( OSSL_FUNC_cipher_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59248                     (void *cctx, void *provctx))
 I5   1	  59249 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, cipher_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_cipher_gettable_ctx_params_fn ) ( void * cctx , void * provctx ) ; static __
       E	inline OSSL_FUNC_cipher_gettable_ctx_params_fn * OSSL_FUNC_cipher_gettable_ctx_params ( const OSSL_DISPATCH * opf ) 
       E	{ return ( OSSL_FUNC_cipher_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59250                     (void *cctx, void *provctx))
 I5	  59251 
 I5	  59252 /* MACs */
 I5	  59253 
 I5	  59254 # define OSSL_FUNC_MAC_NEWCTX                        1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1074
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  59255 # define OSSL_FUNC_MAC_DUPCTX                        2
 I5	  59256 # define OSSL_FUNC_MAC_FREECTX                       3
 I5	  59257 # define OSSL_FUNC_MAC_INIT                          4
 I5	  59258 # define OSSL_FUNC_MAC_UPDATE                        5
 I5	  59259 # define OSSL_FUNC_MAC_FINAL                         6
 I5	  59260 # define OSSL_FUNC_MAC_GET_PARAMS                    7
 I5	  59261 # define OSSL_FUNC_MAC_GET_CTX_PARAMS                8
 I5	  59262 # define OSSL_FUNC_MAC_SET_CTX_PARAMS                9
 I5	  59263 # define OSSL_FUNC_MAC_GETTABLE_PARAMS              10
 I5	  59264 # define OSSL_FUNC_MAC_GETTABLE_CTX_PARAMS          11
 I5	  59265 # define OSSL_FUNC_MAC_SETTABLE_CTX_PARAMS          12
 I5	  59266 
 I5   1	  59267 OSSL_CORE_MAKE_FUNC(void *, mac_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_mac_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_mac_newctx_fn * OSSL_FUNC
       E	_mac_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_newctx_fn * ) opf -> function ; }
 I5   1	  59268 OSSL_CORE_MAKE_FUNC(void *, mac_dupctx, (void *src))
       E	 typedef void * ( OSSL_FUNC_mac_dupctx_fn ) ( void * src ) ; static __inline OSSL_FUNC_mac_dupctx_fn * OSSL_FUNC_mac
       E	_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_dupctx_fn * ) opf -> function ; }
 I5   1	  59269 OSSL_CORE_MAKE_FUNC(void, mac_freectx, (void *mctx))
       E	 typedef void ( OSSL_FUNC_mac_freectx_fn ) ( void * mctx ) ; static __inline OSSL_FUNC_mac_freectx_fn * OSSL_FUNC_ma
       E	c_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_freectx_fn * ) opf -> function ; }
 I5   1	  59270 OSSL_CORE_MAKE_FUNC(int, mac_init, (void *mctx, const unsigned char *key,
       E	 typedef int ( OSSL_FUNC_mac_init_fn ) ( void * mctx , const unsigned char * key , size_t keylen , const OSSL_PARAM 
       E	params [ ] ) ; static __inline OSSL_FUNC_mac_init_fn * OSSL_FUNC_mac_init ( const OSSL_DISPATCH * opf ) { return ( O
       E	SSL_FUNC_mac_init_fn * ) opf -> function ; }
 I5	  59271                                     size_t keylen, const OSSL_PARAM params[]))
 I5   1	  59272 OSSL_CORE_MAKE_FUNC(int, mac_update,
       E	 typedef int ( OSSL_FUNC_mac_update_fn ) ( void * mctx , const unsigned char * in , size_t inl ) ; static __inline O
       E	SSL_FUNC_mac_update_fn * OSSL_FUNC_mac_update ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_update_fn * ) o
       E	pf -> function ; }
 I5	  59273                     (void *mctx, const unsigned char *in, size_t inl))
 I5   1	  59274 OSSL_CORE_MAKE_FUNC(int, mac_final,
       E	 typedef int ( OSSL_FUNC_mac_final_fn ) ( void * mctx , unsigned char * out , size_t * outl , size_t outsize ) ; sta
       E	tic __inline OSSL_FUNC_mac_final_fn * OSSL_FUNC_mac_final ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_fin
       E	al_fn * ) opf -> function ; }
 I5	  59275                     (void *mctx,
 I5	  59276                      unsigned char *out, size_t *outl, size_t outsize))
 I5   1	  59277 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, mac_gettable_params, (void *provctx))
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_mac_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_mac_
       E	gettable_params_fn * OSSL_FUNC_mac_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_gettable_p
       E	arams_fn * ) opf -> function ; }
 I5   1	  59278 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, mac_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_mac_gettable_ctx_params_fn ) ( void * mctx , void * provctx ) ; static __inl
       E	ine OSSL_FUNC_mac_gettable_ctx_params_fn * OSSL_FUNC_mac_gettable_ctx_params ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_mac_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59279                     (void *mctx, void *provctx))
 I5   1	  59280 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, mac_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_mac_settable_ctx_params_fn ) ( void * mctx , void * provctx ) ; static __inl
       E	ine OSSL_FUNC_mac_settable_ctx_params_fn * OSSL_FUNC_mac_settable_ctx_params ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_mac_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59281                     (void *mctx, void *provctx))
 I5   1	  59282 OSSL_CORE_MAKE_FUNC(int, mac_get_params, (OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_mac_get_params_fn ) ( OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_mac_get_params_fn
       E	 * OSSL_FUNC_mac_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_get_params_fn * ) opf -> function
       E	 ; }
 I5   1	  59283 OSSL_CORE_MAKE_FUNC(int, mac_get_ctx_params,
       E	 typedef int ( OSSL_FUNC_mac_get_ctx_params_fn ) ( void * mctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1075
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	_mac_get_ctx_params_fn * OSSL_FUNC_mac_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_get_ctx
       E	_params_fn * ) opf -> function ; }
 I5	  59284                     (void *mctx, OSSL_PARAM params[]))
 I5   1	  59285 OSSL_CORE_MAKE_FUNC(int, mac_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_mac_set_ctx_params_fn ) ( void * mctx , const OSSL_PARAM params [ ] ) ; static __inline OSS
       E	L_FUNC_mac_set_ctx_params_fn * OSSL_FUNC_mac_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_mac_s
       E	et_ctx_params_fn * ) opf -> function ; }
 I5	  59286                     (void *mctx, const OSSL_PARAM params[]))
 I5	  59287 
 I5	  59288 /* KDFs and PRFs */
 I5	  59289 
 I5	  59290 # define OSSL_FUNC_KDF_NEWCTX                        1
 I5	  59291 # define OSSL_FUNC_KDF_DUPCTX                        2
 I5	  59292 # define OSSL_FUNC_KDF_FREECTX                       3
 I5	  59293 # define OSSL_FUNC_KDF_RESET                         4
 I5	  59294 # define OSSL_FUNC_KDF_DERIVE                        5
 I5	  59295 # define OSSL_FUNC_KDF_GETTABLE_PARAMS               6
 I5	  59296 # define OSSL_FUNC_KDF_GETTABLE_CTX_PARAMS           7
 I5	  59297 # define OSSL_FUNC_KDF_SETTABLE_CTX_PARAMS           8
 I5	  59298 # define OSSL_FUNC_KDF_GET_PARAMS                    9
 I5	  59299 # define OSSL_FUNC_KDF_GET_CTX_PARAMS               10
 I5	  59300 # define OSSL_FUNC_KDF_SET_CTX_PARAMS               11
 I5	  59301 
 I5   1	  59302 OSSL_CORE_MAKE_FUNC(void *, kdf_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_kdf_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_kdf_newctx_fn * OSSL_FUNC
       E	_kdf_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_newctx_fn * ) opf -> function ; }
 I5   1	  59303 OSSL_CORE_MAKE_FUNC(void *, kdf_dupctx, (void *src))
       E	 typedef void * ( OSSL_FUNC_kdf_dupctx_fn ) ( void * src ) ; static __inline OSSL_FUNC_kdf_dupctx_fn * OSSL_FUNC_kdf
       E	_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_dupctx_fn * ) opf -> function ; }
 I5   1	  59304 OSSL_CORE_MAKE_FUNC(void, kdf_freectx, (void *kctx))
       E	 typedef void ( OSSL_FUNC_kdf_freectx_fn ) ( void * kctx ) ; static __inline OSSL_FUNC_kdf_freectx_fn * OSSL_FUNC_kd
       E	f_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_freectx_fn * ) opf -> function ; }
 I5   1	  59305 OSSL_CORE_MAKE_FUNC(void, kdf_reset, (void *kctx))
       E	 typedef void ( OSSL_FUNC_kdf_reset_fn ) ( void * kctx ) ; static __inline OSSL_FUNC_kdf_reset_fn * OSSL_FUNC_kdf_re
       E	set ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_reset_fn * ) opf -> function ; }
 I5   1	  59306 OSSL_CORE_MAKE_FUNC(int, kdf_derive, (void *kctx, unsigned char *key,
       E	 typedef int ( OSSL_FUNC_kdf_derive_fn ) ( void * kctx , unsigned char * key , size_t keylen , const OSSL_PARAM para
       E	ms [ ] ) ; static __inline OSSL_FUNC_kdf_derive_fn * OSSL_FUNC_kdf_derive ( const OSSL_DISPATCH * opf ) { return ( O
       E	SSL_FUNC_kdf_derive_fn * ) opf -> function ; }
 I5	  59307                                       size_t keylen, const OSSL_PARAM params[]))
 I5   1	  59308 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, kdf_gettable_params, (void *provctx))
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_kdf_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_kdf_
       E	gettable_params_fn * OSSL_FUNC_kdf_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_gettable_p
       E	arams_fn * ) opf -> function ; }
 I5   1	  59309 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, kdf_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_kdf_gettable_ctx_params_fn ) ( void * kctx , void * provctx ) ; static __inl
       E	ine OSSL_FUNC_kdf_gettable_ctx_params_fn * OSSL_FUNC_kdf_gettable_ctx_params ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_kdf_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59310                     (void *kctx, void *provctx))
 I5   1	  59311 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, kdf_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_kdf_settable_ctx_params_fn ) ( void * kctx , void * provctx ) ; static __inl
       E	ine OSSL_FUNC_kdf_settable_ctx_params_fn * OSSL_FUNC_kdf_settable_ctx_params ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_kdf_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59312                     (void *kctx, void *provctx))
 I5   1	  59313 OSSL_CORE_MAKE_FUNC(int, kdf_get_params, (OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_kdf_get_params_fn ) ( OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_kdf_get_params_fn
       E	 * OSSL_FUNC_kdf_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_get_params_fn * ) opf -> function

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1076
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	 ; }
 I5   1	  59314 OSSL_CORE_MAKE_FUNC(int, kdf_get_ctx_params,
       E	 typedef int ( OSSL_FUNC_kdf_get_ctx_params_fn ) ( void * kctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC
       E	_kdf_get_ctx_params_fn * OSSL_FUNC_kdf_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_get_ctx
       E	_params_fn * ) opf -> function ; }
 I5	  59315                     (void *kctx, OSSL_PARAM params[]))
 I5   1	  59316 OSSL_CORE_MAKE_FUNC(int, kdf_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_kdf_set_ctx_params_fn ) ( void * kctx , const OSSL_PARAM params [ ] ) ; static __inline OSS
       E	L_FUNC_kdf_set_ctx_params_fn * OSSL_FUNC_kdf_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kdf_s
       E	et_ctx_params_fn * ) opf -> function ; }
 I5	  59317                     (void *kctx, const OSSL_PARAM params[]))
 I5	  59318 
 I5	  59319 /* RAND */
 I5	  59320 
 I5	  59321 # define OSSL_FUNC_RAND_NEWCTX                        1
 I5	  59322 # define OSSL_FUNC_RAND_FREECTX                       2
 I5	  59323 # define OSSL_FUNC_RAND_INSTANTIATE                   3
 I5	  59324 # define OSSL_FUNC_RAND_UNINSTANTIATE                 4
 I5	  59325 # define OSSL_FUNC_RAND_GENERATE                      5
 I5	  59326 # define OSSL_FUNC_RAND_RESEED                        6
 I5	  59327 # define OSSL_FUNC_RAND_NONCE                         7
 I5	  59328 # define OSSL_FUNC_RAND_ENABLE_LOCKING                8
 I5	  59329 # define OSSL_FUNC_RAND_LOCK                          9
 I5	  59330 # define OSSL_FUNC_RAND_UNLOCK                       10
 I5	  59331 # define OSSL_FUNC_RAND_GETTABLE_PARAMS              11
 I5	  59332 # define OSSL_FUNC_RAND_GETTABLE_CTX_PARAMS          12
 I5	  59333 # define OSSL_FUNC_RAND_SETTABLE_CTX_PARAMS          13
 I5	  59334 # define OSSL_FUNC_RAND_GET_PARAMS                   14
 I5	  59335 # define OSSL_FUNC_RAND_GET_CTX_PARAMS               15
 I5	  59336 # define OSSL_FUNC_RAND_SET_CTX_PARAMS               16
 I5	  59337 # define OSSL_FUNC_RAND_VERIFY_ZEROIZATION           17
 I5	  59338 # define OSSL_FUNC_RAND_GET_SEED                     18
 I5	  59339 # define OSSL_FUNC_RAND_CLEAR_SEED                   19
 I5	  59340 
 I5   1	  59341 OSSL_CORE_MAKE_FUNC(void *,rand_newctx,
       E	 typedef void * ( OSSL_FUNC_rand_newctx_fn ) ( void * provctx , void * parent , const OSSL_DISPATCH * parent_calls )
       E	 ; static __inline OSSL_FUNC_rand_newctx_fn * OSSL_FUNC_rand_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FU
       E	NC_rand_newctx_fn * ) opf -> function ; }
 I5	  59342                     (void *provctx, void *parent,
 I5	  59343                     const OSSL_DISPATCH *parent_calls))
 I5   1	  59344 OSSL_CORE_MAKE_FUNC(void,rand_freectx, (void *vctx))
       E	 typedef void ( OSSL_FUNC_rand_freectx_fn ) ( void * vctx ) ; static __inline OSSL_FUNC_rand_freectx_fn * OSSL_FUNC_
       E	rand_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_freectx_fn * ) opf -> function ; }
 I5   1	  59345 OSSL_CORE_MAKE_FUNC(int,rand_instantiate,
       E	 typedef int ( OSSL_FUNC_rand_instantiate_fn ) ( void * vdrbg , unsigned int strength , int prediction_resistance , 
       E	const unsigned char * pstr , size_t pstr_len , const OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_rand_instan
       E	tiate_fn * OSSL_FUNC_rand_instantiate ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_instantiate_fn * ) opf
       E	 -> function ; }
 I5	  59346                     (void *vdrbg, unsigned int strength,
 I5	  59347                      int prediction_resistance,
 I5	  59348                      const unsigned char *pstr, size_t pstr_len,
 I5	  59349                      const OSSL_PARAM params[]))
 I5   1	  59350 OSSL_CORE_MAKE_FUNC(int,rand_uninstantiate, (void *vdrbg))
       E	 typedef int ( OSSL_FUNC_rand_uninstantiate_fn ) ( void * vdrbg ) ; static __inline OSSL_FUNC_rand_uninstantiate_fn 
       E	* OSSL_FUNC_rand_uninstantiate ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_uninstantiate_fn * ) opf -> f
       E	unction ; }
 I5   1	  59351 OSSL_CORE_MAKE_FUNC(int,rand_generate,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1077
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	 typedef int ( OSSL_FUNC_rand_generate_fn ) ( void * vctx , unsigned char * out , size_t outlen , unsigned int stren
       E	gth , int prediction_resistance , const unsigned char * addin , size_t addin_len ) ; static __inline OSSL_FUNC_rand_
       E	generate_fn * OSSL_FUNC_rand_generate ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_generate_fn * ) opf ->
       E	 function ; }
 I5	  59352                     (void *vctx, unsigned char *out, size_t outlen,
 I5	  59353                      unsigned int strength, int prediction_resistance,
 I5	  59354                      const unsigned char *addin, size_t addin_len))
 I5   1	  59355 OSSL_CORE_MAKE_FUNC(int,rand_reseed,
       E	 typedef int ( OSSL_FUNC_rand_reseed_fn ) ( void * vctx , int prediction_resistance , const unsigned char * ent , si
       E	ze_t ent_len , const unsigned char * addin , size_t addin_len ) ; static __inline OSSL_FUNC_rand_reseed_fn * OSSL_FU
       E	NC_rand_reseed ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_reseed_fn * ) opf -> function ; }
 I5	  59356                     (void *vctx, int prediction_resistance,
 I5	  59357                      const unsigned char *ent, size_t ent_len,
 I5	  59358                      const unsigned char *addin, size_t addin_len))
 I5   1	  59359 OSSL_CORE_MAKE_FUNC(size_t,rand_nonce,
       E	 typedef size_t ( OSSL_FUNC_rand_nonce_fn ) ( void * vctx , unsigned char * out , unsigned int strength , size_t min
       E	_noncelen , size_t max_noncelen ) ; static __inline OSSL_FUNC_rand_nonce_fn * OSSL_FUNC_rand_nonce ( const OSSL_DISP
       E	ATCH * opf ) { return ( OSSL_FUNC_rand_nonce_fn * ) opf -> function ; }
 I5	  59360                     (void *vctx, unsigned char *out, unsigned int strength,
 I5	  59361                      size_t min_noncelen, size_t max_noncelen))
 I5   1	  59362 OSSL_CORE_MAKE_FUNC(int,rand_enable_locking, (void *vctx))
       E	 typedef int ( OSSL_FUNC_rand_enable_locking_fn ) ( void * vctx ) ; static __inline OSSL_FUNC_rand_enable_locking_fn
       E	 * OSSL_FUNC_rand_enable_locking ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_enable_locking_fn * ) opf -
       E	> function ; }
 I5   1	  59363 OSSL_CORE_MAKE_FUNC(int,rand_lock, (void *vctx))
       E	 typedef int ( OSSL_FUNC_rand_lock_fn ) ( void * vctx ) ; static __inline OSSL_FUNC_rand_lock_fn * OSSL_FUNC_rand_lo
       E	ck ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_lock_fn * ) opf -> function ; }
 I5   1	  59364 OSSL_CORE_MAKE_FUNC(void,rand_unlock, (void *vctx))
       E	 typedef void ( OSSL_FUNC_rand_unlock_fn ) ( void * vctx ) ; static __inline OSSL_FUNC_rand_unlock_fn * OSSL_FUNC_ra
       E	nd_unlock ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_unlock_fn * ) opf -> function ; }
 I5   1	  59365 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *,rand_gettable_params, (void *provctx))
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_rand_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_ran
       E	d_gettable_params_fn * OSSL_FUNC_rand_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_gettab
       E	le_params_fn * ) opf -> function ; }
 I5   1	  59366 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *,rand_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_rand_gettable_ctx_params_fn ) ( void * vctx , void * provctx ) ; static __in
       E	line OSSL_FUNC_rand_gettable_ctx_params_fn * OSSL_FUNC_rand_gettable_ctx_params ( const OSSL_DISPATCH * opf ) { retu
       E	rn ( OSSL_FUNC_rand_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59367                     (void *vctx, void *provctx))
 I5   1	  59368 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *,rand_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_rand_settable_ctx_params_fn ) ( void * vctx , void * provctx ) ; static __in
       E	line OSSL_FUNC_rand_settable_ctx_params_fn * OSSL_FUNC_rand_settable_ctx_params ( const OSSL_DISPATCH * opf ) { retu
       E	rn ( OSSL_FUNC_rand_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59369                     (void *vctx, void *provctx))
 I5   1	  59370 OSSL_CORE_MAKE_FUNC(int,rand_get_params, (OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_rand_get_params_fn ) ( OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_rand_get_params_
       E	fn * OSSL_FUNC_rand_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_get_params_fn * ) opf -> func
       E	tion ; }
 I5   1	  59371 OSSL_CORE_MAKE_FUNC(int,rand_get_ctx_params,
       E	 typedef int ( OSSL_FUNC_rand_get_ctx_params_fn ) ( void * vctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_FUN
       E	C_rand_get_ctx_params_fn * OSSL_FUNC_rand_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_get
       E	_ctx_params_fn * ) opf -> function ; }
 I5	  59372                     (void *vctx, OSSL_PARAM params[]))
 I5   1	  59373 OSSL_CORE_MAKE_FUNC(int,rand_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_rand_set_ctx_params_fn ) ( void * vctx , const OSSL_PARAM params [ ] ) ; static __inline OS
       E	SL_FUNC_rand_set_ctx_params_fn * OSSL_FUNC_rand_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_ra
       E	nd_set_ctx_params_fn * ) opf -> function ; }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1078
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  59374                     (void *vctx, const OSSL_PARAM params[]))
 I5   1	  59375 OSSL_CORE_MAKE_FUNC(void,rand_set_callbacks,
       E	 typedef void ( OSSL_FUNC_rand_set_callbacks_fn ) ( void * vctx , OSSL_INOUT_CALLBACK * get_entropy , OSSL_CALLBACK 
       E	* cleanup_entropy , OSSL_INOUT_CALLBACK * get_nonce , OSSL_CALLBACK * cleanup_nonce , void * arg ) ; static __inline
       E	 OSSL_FUNC_rand_set_callbacks_fn * OSSL_FUNC_rand_set_callbacks ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_r
       E	and_set_callbacks_fn * ) opf -> function ; }
 I5	  59376                     (void *vctx, OSSL_INOUT_CALLBACK *get_entropy,
 I5	  59377                      OSSL_CALLBACK *cleanup_entropy,
 I5	  59378                      OSSL_INOUT_CALLBACK *get_nonce,
 I5	  59379                      OSSL_CALLBACK *cleanup_nonce, void *arg))
 I5   1	  59380 OSSL_CORE_MAKE_FUNC(int,rand_verify_zeroization,
       E	 typedef int ( OSSL_FUNC_rand_verify_zeroization_fn ) ( void * vctx ) ; static __inline OSSL_FUNC_rand_verify_zeroiz
       E	ation_fn * OSSL_FUNC_rand_verify_zeroization ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_verify_zeroizat
       E	ion_fn * ) opf -> function ; }
 I5	  59381                     (void *vctx))
 I5   1	  59382 OSSL_CORE_MAKE_FUNC(size_t,rand_get_seed,
       E	 typedef size_t ( OSSL_FUNC_rand_get_seed_fn ) ( void * vctx , unsigned char * * buffer , int entropy , size_t min_l
       E	en , size_t max_len , int prediction_resistance , const unsigned char * adin , size_t adin_len ) ; static __inline O
       E	SSL_FUNC_rand_get_seed_fn * OSSL_FUNC_rand_get_seed ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_rand_get_seed
       E	_fn * ) opf -> function ; }
 I5	  59383                     (void *vctx, unsigned char **buffer,
 I5	  59384                      int entropy, size_t min_len, size_t max_len,
 I5	  59385                      int prediction_resistance,
 I5	  59386                      const unsigned char *adin, size_t adin_len))
 I5   1	  59387 OSSL_CORE_MAKE_FUNC(void,rand_clear_seed,
       E	 typedef void ( OSSL_FUNC_rand_clear_seed_fn ) ( void * vctx , unsigned char * buffer , size_t b_len ) ; static __in
       E	line OSSL_FUNC_rand_clear_seed_fn * OSSL_FUNC_rand_clear_seed ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_ran
       E	d_clear_seed_fn * ) opf -> function ; }
 I5	  59388                     (void *vctx, unsigned char *buffer, size_t b_len))
 I5	  59389 
 I5	  59390 /*-
 I5	  59391  * Key management
 I5	  59392  *
 I5	  59393  * The Key Management takes care of provider side key objects, and includes
 I5	  59394  * all current functionality to create them, destroy them, set parameters
 I5	  59395  * and key material, etc, essentially everything that manipulates the keys
 I5	  59396  * themselves and their parameters.
 I5	  59397  *
 I5	  59398  * The key objects are commonly refered to as |keydata|, and it MUST be able
 I5	  59399  * to contain parameters if the key has any, the public key and the private
 I5	  59400  * key.  All parts are optional, but their presence determines what can be
 I5	  59401  * done with the key object in terms of encryption, signature, and so on.
 I5	  59402  * The assumption from libcrypto is that the key object contains any of the
 I5	  59403  * following data combinations:
 I5	  59404  *
 I5	  59405  * - parameters only
 I5	  59406  * - public key only
 I5	  59407  * - public key + private key
 I5	  59408  * - parameters + public key
 I5	  59409  * - parameters + public key + private key
 I5	  59410  *
 I5	  59411  * What "parameters", "public key" and "private key" means in detail is left
 I5	  59412  * to the implementation.  In the case of DH and DSA, they would typically
 I5	  59413  * include domain parameters, while for certain variants of RSA, they would
 I5	  59414  * typically include PSS or OAEP parameters.
 I5	  59415  *
 I5	  59416  * Key objects are created with OSSL_FUNC_keymgmt_new() and destroyed with

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1079
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  59417  * OSSL_FUNC_keymgmt_free().  Key objects can have data filled in with
 I5	  59418  * OSSL_FUNC_keymgmt_import().
 I5	  59419  *
 I5	  59420  * Three functions are made available to check what selection of data is
 I5	  59421  * present in a key object: OSSL_FUNC_keymgmt_has_parameters(),
 I5	  59422  * OSSL_FUNC_keymgmt_has_public_key(), and OSSL_FUNC_keymgmt_has_private_key(),
 I5	  59423  */
 I5	  59424 
 I5	  59425 /* Key data subset selection - individual bits */
 I5	  59426 # define OSSL_KEYMGMT_SELECT_PRIVATE_KEY            0x01
 I5	  59427 # define OSSL_KEYMGMT_SELECT_PUBLIC_KEY             0x02
 I5	  59428 # define OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS      0x04
 I5	  59429 # define OSSL_KEYMGMT_SELECT_OTHER_PARAMETERS       0x80
 I5	  59430 
 I5	  59431 /* Key data subset selection - combinations */
 I5	  59432 # define OSSL_KEYMGMT_SELECT_ALL_PARAMETERS     \
 I5	  59433     ( OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS     \
 I5	  59434       | OSSL_KEYMGMT_SELECT_OTHER_PARAMETERS)
 I5	  59435 # define OSSL_KEYMGMT_SELECT_KEYPAIR            \
 I5	  59436     ( OSSL_KEYMGMT_SELECT_PRIVATE_KEY | OSSL_KEYMGMT_SELECT_PUBLIC_KEY )
 I5	  59437 # define OSSL_KEYMGMT_SELECT_ALL                \
 I5	  59438     ( OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_ALL_PARAMETERS )
 I5	  59439 
 I5	  59440 # define OSSL_KEYMGMT_VALIDATE_FULL_CHECK              0
 I5	  59441 # define OSSL_KEYMGMT_VALIDATE_QUICK_CHECK             1
 I5	  59442 
 I5	  59443 /* Basic key object creation */
 I5	  59444 # define OSSL_FUNC_KEYMGMT_NEW                         1
 I5   1	  59445 OSSL_CORE_MAKE_FUNC(void *, keymgmt_new, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_keymgmt_new_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_keymgmt_new_fn * OSSL_FU
       E	NC_keymgmt_new ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_new_fn * ) opf -> function ; }
 I5	  59446 
 I5	  59447 /* Generation, a more complex constructor */
 I5	  59448 # define OSSL_FUNC_KEYMGMT_GEN_INIT                    2
 I5	  59449 # define OSSL_FUNC_KEYMGMT_GEN_SET_TEMPLATE            3
 I5	  59450 # define OSSL_FUNC_KEYMGMT_GEN_SET_PARAMS              4
 I5	  59451 # define OSSL_FUNC_KEYMGMT_GEN_SETTABLE_PARAMS         5
 I5	  59452 # define OSSL_FUNC_KEYMGMT_GEN                         6
 I5	  59453 # define OSSL_FUNC_KEYMGMT_GEN_CLEANUP                 7
 I5   1	  59454 OSSL_CORE_MAKE_FUNC(void *, keymgmt_gen_init,
       E	 typedef void * ( OSSL_FUNC_keymgmt_gen_init_fn ) ( void * provctx , int selection , const OSSL_PARAM params [ ] ) ;
       E	 static __inline OSSL_FUNC_keymgmt_gen_init_fn * OSSL_FUNC_keymgmt_gen_init ( const OSSL_DISPATCH * opf ) { return (
       E	 OSSL_FUNC_keymgmt_gen_init_fn * ) opf -> function ; }
 I5	  59455                     (void *provctx, int selection, const OSSL_PARAM params[]))
 I5   1	  59456 OSSL_CORE_MAKE_FUNC(int, keymgmt_gen_set_template,
       E	 typedef int ( OSSL_FUNC_keymgmt_gen_set_template_fn ) ( void * genctx , void * templ ) ; static __inline OSSL_FUNC_
       E	keymgmt_gen_set_template_fn * OSSL_FUNC_keymgmt_gen_set_template ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_
       E	keymgmt_gen_set_template_fn * ) opf -> function ; }
 I5	  59457                     (void *genctx, void *templ))
 I5   1	  59458 OSSL_CORE_MAKE_FUNC(int, keymgmt_gen_set_params,
       E	 typedef int ( OSSL_FUNC_keymgmt_gen_set_params_fn ) ( void * genctx , const OSSL_PARAM params [ ] ) ; static __inli
       E	ne OSSL_FUNC_keymgmt_gen_set_params_fn * OSSL_FUNC_keymgmt_gen_set_params ( const OSSL_DISPATCH * opf ) { return ( O
       E	SSL_FUNC_keymgmt_gen_set_params_fn * ) opf -> function ; }
 I5	  59459                     (void *genctx, const OSSL_PARAM params[]))
 I5   1	  59460 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_keymgmt_gen_settable_params_fn ) ( void * genctx , void * provctx ) ; static
       E	 __inline OSSL_FUNC_keymgmt_gen_settable_params_fn * OSSL_FUNC_keymgmt_gen_settable_params ( const OSSL_DISPATCH * o

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1080
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	pf ) { return ( OSSL_FUNC_keymgmt_gen_settable_params_fn * ) opf -> function ; }
 I5	  59461                     keymgmt_gen_settable_params,
 I5	  59462                     (void *genctx, void *provctx))
 I5   1	  59463 OSSL_CORE_MAKE_FUNC(void *, keymgmt_gen,
       E	 typedef void * ( OSSL_FUNC_keymgmt_gen_fn ) ( void * genctx , OSSL_CALLBACK * cb , void * cbarg ) ; static __inline
       E	 OSSL_FUNC_keymgmt_gen_fn * OSSL_FUNC_keymgmt_gen ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_gen_fn 
       E	* ) opf -> function ; }
 I5	  59464                     (void *genctx, OSSL_CALLBACK *cb, void *cbarg))
 I5   1	  59465 OSSL_CORE_MAKE_FUNC(void, keymgmt_gen_cleanup, (void *genctx))
       E	 typedef void ( OSSL_FUNC_keymgmt_gen_cleanup_fn ) ( void * genctx ) ; static __inline OSSL_FUNC_keymgmt_gen_cleanup
       E	_fn * OSSL_FUNC_keymgmt_gen_cleanup ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_gen_cleanup_fn * ) op
       E	f -> function ; }
 I5	  59466 
 I5	  59467 /* Key loading by object reference */
 I5	  59468 # define OSSL_FUNC_KEYMGMT_LOAD                        8
 I5   1	  59469 OSSL_CORE_MAKE_FUNC(void *, keymgmt_load,
       E	 typedef void * ( OSSL_FUNC_keymgmt_load_fn ) ( const void * reference , size_t reference_sz ) ; static __inline OSS
       E	L_FUNC_keymgmt_load_fn * OSSL_FUNC_keymgmt_load ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_load_fn *
       E	 ) opf -> function ; }
 I5	  59470                     (const void *reference, size_t reference_sz))
 I5	  59471 
 I5	  59472 /* Basic key object destruction */
 I5	  59473 # define OSSL_FUNC_KEYMGMT_FREE                       10
 I5   1	  59474 OSSL_CORE_MAKE_FUNC(void, keymgmt_free, (void *keydata))
       E	 typedef void ( OSSL_FUNC_keymgmt_free_fn ) ( void * keydata ) ; static __inline OSSL_FUNC_keymgmt_free_fn * OSSL_FU
       E	NC_keymgmt_free ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_free_fn * ) opf -> function ; }
 I5	  59475 
 I5	  59476 /* Key object information, with discovery */
 I5	  59477 #define OSSL_FUNC_KEYMGMT_GET_PARAMS                  11
 I5	  59478 #define OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS             12
 I5   1	  59479 OSSL_CORE_MAKE_FUNC(int, keymgmt_get_params,
       E	 typedef int ( OSSL_FUNC_keymgmt_get_params_fn ) ( void * keydata , OSSL_PARAM params [ ] ) ; static __inline OSSL_F
       E	UNC_keymgmt_get_params_fn * OSSL_FUNC_keymgmt_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_
       E	get_params_fn * ) opf -> function ; }
 I5	  59480                     (void *keydata, OSSL_PARAM params[]))
 I5   1	  59481 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keymgmt_gettable_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_keymgmt_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_
       E	keymgmt_gettable_params_fn * OSSL_FUNC_keymgmt_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_ke
       E	ymgmt_gettable_params_fn * ) opf -> function ; }
 I5	  59482                     (void *provctx))
 I5	  59483 
 I5	  59484 #define OSSL_FUNC_KEYMGMT_SET_PARAMS                  13
 I5	  59485 #define OSSL_FUNC_KEYMGMT_SETTABLE_PARAMS             14
 I5   1	  59486 OSSL_CORE_MAKE_FUNC(int, keymgmt_set_params,
       E	 typedef int ( OSSL_FUNC_keymgmt_set_params_fn ) ( void * keydata , const OSSL_PARAM params [ ] ) ; static __inline 
       E	OSSL_FUNC_keymgmt_set_params_fn * OSSL_FUNC_keymgmt_set_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_ke
       E	ymgmt_set_params_fn * ) opf -> function ; }
 I5	  59487                     (void *keydata, const OSSL_PARAM params[]))
 I5   1	  59488 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keymgmt_settable_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_keymgmt_settable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_
       E	keymgmt_settable_params_fn * OSSL_FUNC_keymgmt_settable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_ke
       E	ymgmt_settable_params_fn * ) opf -> function ; }
 I5	  59489                     (void *provctx))
 I5	  59490 
 I5	  59491 /* Key checks - discovery of supported operations */
 I5	  59492 # define OSSL_FUNC_KEYMGMT_QUERY_OPERATION_NAME       20
 I5   1	  59493 OSSL_CORE_MAKE_FUNC(const char *, keymgmt_query_operation_name,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1081
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	 typedef const char * ( OSSL_FUNC_keymgmt_query_operation_name_fn ) ( int operation_id ) ; static __inline OSSL_FUNC
       E	_keymgmt_query_operation_name_fn * OSSL_FUNC_keymgmt_query_operation_name ( const OSSL_DISPATCH * opf ) { return ( O
       E	SSL_FUNC_keymgmt_query_operation_name_fn * ) opf -> function ; }
 I5	  59494                     (int operation_id))
 I5	  59495 
 I5	  59496 /* Key checks - key data content checks */
 I5	  59497 # define OSSL_FUNC_KEYMGMT_HAS                        21
 I5   1	  59498 OSSL_CORE_MAKE_FUNC(int, keymgmt_has, (const void *keydata, int selection))
       E	 typedef int ( OSSL_FUNC_keymgmt_has_fn ) ( const void * keydata , int selection ) ; static __inline OSSL_FUNC_keymg
       E	mt_has_fn * OSSL_FUNC_keymgmt_has ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_has_fn * ) opf -> funct
       E	ion ; }
 I5	  59499 
 I5	  59500 /* Key checks - validation */
 I5	  59501 # define OSSL_FUNC_KEYMGMT_VALIDATE                   22
 I5   1	  59502 OSSL_CORE_MAKE_FUNC(int, keymgmt_validate, (const void *keydata, int selection,
       E	 typedef int ( OSSL_FUNC_keymgmt_validate_fn ) ( const void * keydata , int selection , int checktype ) ; static __i
       E	nline OSSL_FUNC_keymgmt_validate_fn * OSSL_FUNC_keymgmt_validate ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_
       E	keymgmt_validate_fn * ) opf -> function ; }
 I5	  59503                                             int checktype))
 I5	  59504 
 I5	  59505 /* Key checks - matching */
 I5	  59506 # define OSSL_FUNC_KEYMGMT_MATCH                      23
 I5   1	  59507 OSSL_CORE_MAKE_FUNC(int, keymgmt_match,
       E	 typedef int ( OSSL_FUNC_keymgmt_match_fn ) ( const void * keydata1 , const void * keydata2 , int selection ) ; stat
       E	ic __inline OSSL_FUNC_keymgmt_match_fn * OSSL_FUNC_keymgmt_match ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_
       E	keymgmt_match_fn * ) opf -> function ; }
 I5	  59508                     (const void *keydata1, const void *keydata2,
 I5	  59509                      int selection))
 I5	  59510 
 I5	  59511 /* Import and export functions, with discovery */
 I5	  59512 # define OSSL_FUNC_KEYMGMT_IMPORT                     40
 I5	  59513 # define OSSL_FUNC_KEYMGMT_IMPORT_TYPES               41
 I5	  59514 # define OSSL_FUNC_KEYMGMT_EXPORT                     42
 I5	  59515 # define OSSL_FUNC_KEYMGMT_EXPORT_TYPES               43
 I5   1	  59516 OSSL_CORE_MAKE_FUNC(int, keymgmt_import,
       E	 typedef int ( OSSL_FUNC_keymgmt_import_fn ) ( void * keydata , int selection , const OSSL_PARAM params [ ] ) ; stat
       E	ic __inline OSSL_FUNC_keymgmt_import_fn * OSSL_FUNC_keymgmt_import ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUN
       E	C_keymgmt_import_fn * ) opf -> function ; }
 I5	  59517                     (void *keydata, int selection, const OSSL_PARAM params[]))
 I5   1	  59518 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keymgmt_import_types,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_keymgmt_import_types_fn ) ( int selection ) ; static __inline OSSL_FUNC_keym
       E	gmt_import_types_fn * OSSL_FUNC_keymgmt_import_types ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_impo
       E	rt_types_fn * ) opf -> function ; }
 I5	  59519                     (int selection))
 I5   1	  59520 OSSL_CORE_MAKE_FUNC(int, keymgmt_export,
       E	 typedef int ( OSSL_FUNC_keymgmt_export_fn ) ( void * keydata , int selection , OSSL_CALLBACK * param_cb , void * cb
       E	arg ) ; static __inline OSSL_FUNC_keymgmt_export_fn * OSSL_FUNC_keymgmt_export ( const OSSL_DISPATCH * opf ) { retur
       E	n ( OSSL_FUNC_keymgmt_export_fn * ) opf -> function ; }
 I5	  59521                     (void *keydata, int selection,
 I5	  59522                      OSSL_CALLBACK *param_cb, void *cbarg))
 I5   1	  59523 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keymgmt_export_types,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_keymgmt_export_types_fn ) ( int selection ) ; static __inline OSSL_FUNC_keym
       E	gmt_export_types_fn * OSSL_FUNC_keymgmt_export_types ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_expo
       E	rt_types_fn * ) opf -> function ; }
 I5	  59524                     (int selection))
 I5	  59525 
 I5	  59526 /* Dup function, constructor */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1082
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  59527 # define OSSL_FUNC_KEYMGMT_DUP                        44
 I5   1	  59528 OSSL_CORE_MAKE_FUNC(void *, keymgmt_dup,
       E	 typedef void * ( OSSL_FUNC_keymgmt_dup_fn ) ( const void * keydata_from , int selection ) ; static __inline OSSL_FU
       E	NC_keymgmt_dup_fn * OSSL_FUNC_keymgmt_dup ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keymgmt_dup_fn * ) opf 
       E	-> function ; }
 I5	  59529                     (const void *keydata_from, int selection))
 I5	  59530 
 I5	  59531 /* Key Exchange */
 I5	  59532 
 I5	  59533 # define OSSL_FUNC_KEYEXCH_NEWCTX                      1
 I5	  59534 # define OSSL_FUNC_KEYEXCH_INIT                        2
 I5	  59535 # define OSSL_FUNC_KEYEXCH_DERIVE                      3
 I5	  59536 # define OSSL_FUNC_KEYEXCH_SET_PEER                    4
 I5	  59537 # define OSSL_FUNC_KEYEXCH_FREECTX                     5
 I5	  59538 # define OSSL_FUNC_KEYEXCH_DUPCTX                      6
 I5	  59539 # define OSSL_FUNC_KEYEXCH_SET_CTX_PARAMS              7
 I5	  59540 # define OSSL_FUNC_KEYEXCH_SETTABLE_CTX_PARAMS         8
 I5	  59541 # define OSSL_FUNC_KEYEXCH_GET_CTX_PARAMS              9
 I5	  59542 # define OSSL_FUNC_KEYEXCH_GETTABLE_CTX_PARAMS        10
 I5	  59543 
 I5   1	  59544 OSSL_CORE_MAKE_FUNC(void *, keyexch_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_keyexch_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_keyexch_newctx_fn * O
       E	SSL_FUNC_keyexch_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keyexch_newctx_fn * ) opf -> function ; }
 I5   1	  59545 OSSL_CORE_MAKE_FUNC(int, keyexch_init, (void *ctx, void *provkey,
       E	 typedef int ( OSSL_FUNC_keyexch_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params [ ] ) ; static __
       E	inline OSSL_FUNC_keyexch_init_fn * OSSL_FUNC_keyexch_init ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keyexch
       E	_init_fn * ) opf -> function ; }
 I5	  59546                                         const OSSL_PARAM params[]))
 I5   1	  59547 OSSL_CORE_MAKE_FUNC(int, keyexch_derive, (void *ctx,  unsigned char *secret,
       E	 typedef int ( OSSL_FUNC_keyexch_derive_fn ) ( void * ctx , unsigned char * secret , size_t * secretlen , size_t out
       E	len ) ; static __inline OSSL_FUNC_keyexch_derive_fn * OSSL_FUNC_keyexch_derive ( const OSSL_DISPATCH * opf ) { retur
       E	n ( OSSL_FUNC_keyexch_derive_fn * ) opf -> function ; }
 I5	  59548                                              size_t *secretlen, size_t outlen))
 I5   1	  59549 OSSL_CORE_MAKE_FUNC(int, keyexch_set_peer, (void *ctx, void *provkey))
       E	 typedef int ( OSSL_FUNC_keyexch_set_peer_fn ) ( void * ctx , void * provkey ) ; static __inline OSSL_FUNC_keyexch_s
       E	et_peer_fn * OSSL_FUNC_keyexch_set_peer ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keyexch_set_peer_fn * ) o
       E	pf -> function ; }
 I5   1	  59550 OSSL_CORE_MAKE_FUNC(void, keyexch_freectx, (void *ctx))
       E	 typedef void ( OSSL_FUNC_keyexch_freectx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_keyexch_freectx_fn * OSSL_
       E	FUNC_keyexch_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keyexch_freectx_fn * ) opf -> function ; }
 I5   1	  59551 OSSL_CORE_MAKE_FUNC(void *, keyexch_dupctx, (void *ctx))
       E	 typedef void * ( OSSL_FUNC_keyexch_dupctx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_keyexch_dupctx_fn * OSSL_
       E	FUNC_keyexch_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_keyexch_dupctx_fn * ) opf -> function ; }
 I5   1	  59552 OSSL_CORE_MAKE_FUNC(int, keyexch_set_ctx_params, (void *ctx,
       E	 typedef int ( OSSL_FUNC_keyexch_set_ctx_params_fn ) ( void * ctx , const OSSL_PARAM params [ ] ) ; static __inline 
       E	OSSL_FUNC_keyexch_set_ctx_params_fn * OSSL_FUNC_keyexch_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL
       E	_FUNC_keyexch_set_ctx_params_fn * ) opf -> function ; }
 I5	  59553                                                      const OSSL_PARAM params[]))
 I5   1	  59554 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keyexch_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_keyexch_settable_ctx_params_fn ) ( void * ctx , void * provctx ) ; static __
       E	inline OSSL_FUNC_keyexch_settable_ctx_params_fn * OSSL_FUNC_keyexch_settable_ctx_params ( const OSSL_DISPATCH * opf 
       E	) { return ( OSSL_FUNC_keyexch_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59555                     (void *ctx, void *provctx))
 I5   1	  59556 OSSL_CORE_MAKE_FUNC(int, keyexch_get_ctx_params, (void *ctx,
       E	 typedef int ( OSSL_FUNC_keyexch_get_ctx_params_fn ) ( void * ctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_F
       E	UNC_keyexch_get_ctx_params_fn * OSSL_FUNC_keyexch_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_
       E	keyexch_get_ctx_params_fn * ) opf -> function ; }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1083
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  59557                                                      OSSL_PARAM params[]))
 I5   1	  59558 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, keyexch_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_keyexch_gettable_ctx_params_fn ) ( void * ctx , void * provctx ) ; static __
       E	inline OSSL_FUNC_keyexch_gettable_ctx_params_fn * OSSL_FUNC_keyexch_gettable_ctx_params ( const OSSL_DISPATCH * opf 
       E	) { return ( OSSL_FUNC_keyexch_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59559                     (void *ctx, void *provctx))
 I5	  59560 
 I5	  59561 /* Signature */
 I5	  59562 
 I5	  59563 # define OSSL_FUNC_SIGNATURE_NEWCTX                  1
 I5	  59564 # define OSSL_FUNC_SIGNATURE_SIGN_INIT               2
 I5	  59565 # define OSSL_FUNC_SIGNATURE_SIGN                    3
 I5	  59566 # define OSSL_FUNC_SIGNATURE_VERIFY_INIT             4
 I5	  59567 # define OSSL_FUNC_SIGNATURE_VERIFY                  5
 I5	  59568 # define OSSL_FUNC_SIGNATURE_VERIFY_RECOVER_INIT     6
 I5	  59569 # define OSSL_FUNC_SIGNATURE_VERIFY_RECOVER          7
 I5	  59570 # define OSSL_FUNC_SIGNATURE_DIGEST_SIGN_INIT        8
 I5	  59571 # define OSSL_FUNC_SIGNATURE_DIGEST_SIGN_UPDATE      9
 I5	  59572 # define OSSL_FUNC_SIGNATURE_DIGEST_SIGN_FINAL      10
 I5	  59573 # define OSSL_FUNC_SIGNATURE_DIGEST_SIGN            11
 I5	  59574 # define OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_INIT     12
 I5	  59575 # define OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_UPDATE   13
 I5	  59576 # define OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_FINAL    14
 I5	  59577 # define OSSL_FUNC_SIGNATURE_DIGEST_VERIFY          15
 I5	  59578 # define OSSL_FUNC_SIGNATURE_FREECTX                16
 I5	  59579 # define OSSL_FUNC_SIGNATURE_DUPCTX                 17
 I5	  59580 # define OSSL_FUNC_SIGNATURE_GET_CTX_PARAMS         18
 I5	  59581 # define OSSL_FUNC_SIGNATURE_GETTABLE_CTX_PARAMS    19
 I5	  59582 # define OSSL_FUNC_SIGNATURE_SET_CTX_PARAMS         20
 I5	  59583 # define OSSL_FUNC_SIGNATURE_SETTABLE_CTX_PARAMS    21
 I5	  59584 # define OSSL_FUNC_SIGNATURE_GET_CTX_MD_PARAMS      22
 I5	  59585 # define OSSL_FUNC_SIGNATURE_GETTABLE_CTX_MD_PARAMS 23
 I5	  59586 # define OSSL_FUNC_SIGNATURE_SET_CTX_MD_PARAMS      24
 I5	  59587 # define OSSL_FUNC_SIGNATURE_SETTABLE_CTX_MD_PARAMS 25
 I5	  59588 
 I5   1	  59589 OSSL_CORE_MAKE_FUNC(void *, signature_newctx, (void *provctx,
       E	 typedef void * ( OSSL_FUNC_signature_newctx_fn ) ( void * provctx , const char * propq ) ; static __inline OSSL_FUN
       E	C_signature_newctx_fn * OSSL_FUNC_signature_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_newc
       E	tx_fn * ) opf -> function ; }
 I5	  59590                                                   const char *propq))
 I5   1	  59591 OSSL_CORE_MAKE_FUNC(int, signature_sign_init, (void *ctx, void *provkey,
       E	 typedef int ( OSSL_FUNC_signature_sign_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params [ ] ) ; st
       E	atic __inline OSSL_FUNC_signature_sign_init_fn * OSSL_FUNC_signature_sign_init ( const OSSL_DISPATCH * opf ) { retur
       E	n ( OSSL_FUNC_signature_sign_init_fn * ) opf -> function ; }
 I5	  59592                                                const OSSL_PARAM params[]))
 I5   1	  59593 OSSL_CORE_MAKE_FUNC(int, signature_sign, (void *ctx,  unsigned char *sig,
       E	 typedef int ( OSSL_FUNC_signature_sign_fn ) ( void * ctx , unsigned char * sig , size_t * siglen , size_t sigsize ,
       E	 const unsigned char * tbs , size_t tbslen ) ; static __inline OSSL_FUNC_signature_sign_fn * OSSL_FUNC_signature_sig
       E	n ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_sign_fn * ) opf -> function ; }
 I5	  59594                                              size_t *siglen, size_t sigsize,
 I5	  59595                                              const unsigned char *tbs,
 I5	  59596                                              size_t tbslen))
 I5   1	  59597 OSSL_CORE_MAKE_FUNC(int, signature_verify_init, (void *ctx, void *provkey,
       E	 typedef int ( OSSL_FUNC_signature_verify_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params [ ] ) ; 
       E	static __inline OSSL_FUNC_signature_verify_init_fn * OSSL_FUNC_signature_verify_init ( const OSSL_DISPATCH * opf ) {
       E	 return ( OSSL_FUNC_signature_verify_init_fn * ) opf -> function ; }
 I5	  59598                                                  const OSSL_PARAM params[]))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1084
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5   1	  59599 OSSL_CORE_MAKE_FUNC(int, signature_verify, (void *ctx,
       E	 typedef int ( OSSL_FUNC_signature_verify_fn ) ( void * ctx , const unsigned char * sig , size_t siglen , const unsi
       E	gned char * tbs , size_t tbslen ) ; static __inline OSSL_FUNC_signature_verify_fn * OSSL_FUNC_signature_verify ( con
       E	st OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_verify_fn * ) opf -> function ; }
 I5	  59600                                                const unsigned char *sig,
 I5	  59601                                                size_t siglen,
 I5	  59602                                                const unsigned char *tbs,
 I5	  59603                                                size_t tbslen))
 I5   1	  59604 OSSL_CORE_MAKE_FUNC(int, signature_verify_recover_init,
       E	 typedef int ( OSSL_FUNC_signature_verify_recover_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params 
       E	[ ] ) ; static __inline OSSL_FUNC_signature_verify_recover_init_fn * OSSL_FUNC_signature_verify_recover_init ( const
       E	 OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_verify_recover_init_fn * ) opf -> function ; }
 I5	  59605                     (void *ctx, void *provkey, const OSSL_PARAM params[]))
 I5   1	  59606 OSSL_CORE_MAKE_FUNC(int, signature_verify_recover,
       E	 typedef int ( OSSL_FUNC_signature_verify_recover_fn ) ( void * ctx , unsigned char * rout , size_t * routlen , size
       E	_t routsize , const unsigned char * sig , size_t siglen ) ; static __inline OSSL_FUNC_signature_verify_recover_fn * 
       E	OSSL_FUNC_signature_verify_recover ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_verify_recover_fn * 
       E	) opf -> function ; }
 I5	  59607                     (void *ctx, unsigned char *rout, size_t *routlen,
 I5	  59608                      size_t routsize, const unsigned char *sig, size_t siglen))
 I5   1	  59609 OSSL_CORE_MAKE_FUNC(int, signature_digest_sign_init,
       E	 typedef int ( OSSL_FUNC_signature_digest_sign_init_fn ) ( void * ctx , const char * mdname , void * provkey , const
       E	 OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_signature_digest_sign_init_fn * OSSL_FUNC_signature_digest_sign
       E	_init ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_sign_init_fn * ) opf -> function ; }
 I5	  59610                     (void *ctx, const char *mdname, void *provkey,
 I5	  59611                      const OSSL_PARAM params[]))
 I5   1	  59612 OSSL_CORE_MAKE_FUNC(int, signature_digest_sign_update,
       E	 typedef int ( OSSL_FUNC_signature_digest_sign_update_fn ) ( void * ctx , const unsigned char * data , size_t datale
       E	n ) ; static __inline OSSL_FUNC_signature_digest_sign_update_fn * OSSL_FUNC_signature_digest_sign_update ( const OSS
       E	L_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_sign_update_fn * ) opf -> function ; }
 I5	  59613                     (void *ctx, const unsigned char *data, size_t datalen))
 I5   1	  59614 OSSL_CORE_MAKE_FUNC(int, signature_digest_sign_final,
       E	 typedef int ( OSSL_FUNC_signature_digest_sign_final_fn ) ( void * ctx , unsigned char * sig , size_t * siglen , siz
       E	e_t sigsize ) ; static __inline OSSL_FUNC_signature_digest_sign_final_fn * OSSL_FUNC_signature_digest_sign_final ( c
       E	onst OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_sign_final_fn * ) opf -> function ; }
 I5	  59615                     (void *ctx, unsigned char *sig, size_t *siglen,
 I5	  59616                      size_t sigsize))
 I5   1	  59617 OSSL_CORE_MAKE_FUNC(int, signature_digest_sign,
       E	 typedef int ( OSSL_FUNC_signature_digest_sign_fn ) ( void * ctx , unsigned char * sigret , size_t * siglen , size_t
       E	 sigsize , const unsigned char * tbs , size_t tbslen ) ; static __inline OSSL_FUNC_signature_digest_sign_fn * OSSL_F
       E	UNC_signature_digest_sign ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_sign_fn * ) opf -> fun
       E	ction ; }
 I5	  59618                     (void *ctx, unsigned char *sigret, size_t *siglen,
 I5	  59619                      size_t sigsize, const unsigned char *tbs, size_t tbslen))
 I5   1	  59620 OSSL_CORE_MAKE_FUNC(int, signature_digest_verify_init,
       E	 typedef int ( OSSL_FUNC_signature_digest_verify_init_fn ) ( void * ctx , const char * mdname , void * provkey , con
       E	st OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_signature_digest_verify_init_fn * OSSL_FUNC_signature_digest_
       E	verify_init ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_verify_init_fn * ) opf -> function ;
       E	 }
 I5	  59621                     (void *ctx, const char *mdname, void *provkey,
 I5	  59622                      const OSSL_PARAM params[]))
 I5   1	  59623 OSSL_CORE_MAKE_FUNC(int, signature_digest_verify_update,
       E	 typedef int ( OSSL_FUNC_signature_digest_verify_update_fn ) ( void * ctx , const unsigned char * data , size_t data
       E	len ) ; static __inline OSSL_FUNC_signature_digest_verify_update_fn * OSSL_FUNC_signature_digest_verify_update ( con
       E	st OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_verify_update_fn * ) opf -> function ; }
 I5	  59624                     (void *ctx, const unsigned char *data, size_t datalen))
 I5   1	  59625 OSSL_CORE_MAKE_FUNC(int, signature_digest_verify_final,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1085
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	 typedef int ( OSSL_FUNC_signature_digest_verify_final_fn ) ( void * ctx , const unsigned char * sig , size_t siglen
       E	 ) ; static __inline OSSL_FUNC_signature_digest_verify_final_fn * OSSL_FUNC_signature_digest_verify_final ( const OS
       E	SL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_verify_final_fn * ) opf -> function ; }
 I5	  59626                     (void *ctx, const unsigned char *sig, size_t siglen))
 I5   1	  59627 OSSL_CORE_MAKE_FUNC(int, signature_digest_verify,
       E	 typedef int ( OSSL_FUNC_signature_digest_verify_fn ) ( void * ctx , const unsigned char * sig , size_t siglen , con
       E	st unsigned char * tbs , size_t tbslen ) ; static __inline OSSL_FUNC_signature_digest_verify_fn * OSSL_FUNC_signatur
       E	e_digest_verify ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_digest_verify_fn * ) opf -> function ; 
       E	}
 I5	  59628                     (void *ctx, const unsigned char *sig, size_t siglen,
 I5	  59629                      const unsigned char *tbs, size_t tbslen))
 I5   1	  59630 OSSL_CORE_MAKE_FUNC(void, signature_freectx, (void *ctx))
       E	 typedef void ( OSSL_FUNC_signature_freectx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_signature_freectx_fn * O
       E	SSL_FUNC_signature_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_freectx_fn * ) opf -> functi
       E	on ; }
 I5   1	  59631 OSSL_CORE_MAKE_FUNC(void *, signature_dupctx, (void *ctx))
       E	 typedef void * ( OSSL_FUNC_signature_dupctx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_signature_dupctx_fn * O
       E	SSL_FUNC_signature_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_signature_dupctx_fn * ) opf -> function
       E	 ; }
 I5   1	  59632 OSSL_CORE_MAKE_FUNC(int, signature_get_ctx_params,
       E	 typedef int ( OSSL_FUNC_signature_get_ctx_params_fn ) ( void * ctx , OSSL_PARAM params [ ] ) ; static __inline OSSL
       E	_FUNC_signature_get_ctx_params_fn * OSSL_FUNC_signature_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL
       E	_FUNC_signature_get_ctx_params_fn * ) opf -> function ; }
 I5	  59633                     (void *ctx, OSSL_PARAM params[]))
 I5   1	  59634 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, signature_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_signature_gettable_ctx_params_fn ) ( void * ctx , void * provctx ) ; static 
       E	__inline OSSL_FUNC_signature_gettable_ctx_params_fn * OSSL_FUNC_signature_gettable_ctx_params ( const OSSL_DISPATCH 
       E	* opf ) { return ( OSSL_FUNC_signature_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59635                     (void *ctx, void *provctx))
 I5   1	  59636 OSSL_CORE_MAKE_FUNC(int, signature_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_signature_set_ctx_params_fn ) ( void * ctx , const OSSL_PARAM params [ ] ) ; static __inlin
       E	e OSSL_FUNC_signature_set_ctx_params_fn * OSSL_FUNC_signature_set_ctx_params ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_signature_set_ctx_params_fn * ) opf -> function ; }
 I5	  59637                     (void *ctx, const OSSL_PARAM params[]))
 I5   1	  59638 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, signature_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_signature_settable_ctx_params_fn ) ( void * ctx , void * provctx ) ; static 
       E	__inline OSSL_FUNC_signature_settable_ctx_params_fn * OSSL_FUNC_signature_settable_ctx_params ( const OSSL_DISPATCH 
       E	* opf ) { return ( OSSL_FUNC_signature_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59639                     (void *ctx, void *provctx))
 I5   1	  59640 OSSL_CORE_MAKE_FUNC(int, signature_get_ctx_md_params,
       E	 typedef int ( OSSL_FUNC_signature_get_ctx_md_params_fn ) ( void * ctx , OSSL_PARAM params [ ] ) ; static __inline O
       E	SSL_FUNC_signature_get_ctx_md_params_fn * OSSL_FUNC_signature_get_ctx_md_params ( const OSSL_DISPATCH * opf ) { retu
       E	rn ( OSSL_FUNC_signature_get_ctx_md_params_fn * ) opf -> function ; }
 I5	  59641                     (void *ctx, OSSL_PARAM params[]))
 I5   1	  59642 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, signature_gettable_ctx_md_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_signature_gettable_ctx_md_params_fn ) ( void * ctx ) ; static __inline OSSL_
       E	FUNC_signature_gettable_ctx_md_params_fn * OSSL_FUNC_signature_gettable_ctx_md_params ( const OSSL_DISPATCH * opf ) 
       E	{ return ( OSSL_FUNC_signature_gettable_ctx_md_params_fn * ) opf -> function ; }
 I5	  59643                     (void *ctx))
 I5   1	  59644 OSSL_CORE_MAKE_FUNC(int, signature_set_ctx_md_params,
       E	 typedef int ( OSSL_FUNC_signature_set_ctx_md_params_fn ) ( void * ctx , const OSSL_PARAM params [ ] ) ; static __in
       E	line OSSL_FUNC_signature_set_ctx_md_params_fn * OSSL_FUNC_signature_set_ctx_md_params ( const OSSL_DISPATCH * opf ) 
       E	{ return ( OSSL_FUNC_signature_set_ctx_md_params_fn * ) opf -> function ; }
 I5	  59645                     (void *ctx, const OSSL_PARAM params[]))
 I5   1	  59646 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, signature_settable_ctx_md_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_signature_settable_ctx_md_params_fn ) ( void * ctx ) ; static __inline OSSL_
       E	FUNC_signature_settable_ctx_md_params_fn * OSSL_FUNC_signature_settable_ctx_md_params ( const OSSL_DISPATCH * opf ) 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1086
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	{ return ( OSSL_FUNC_signature_settable_ctx_md_params_fn * ) opf -> function ; }
 I5	  59647                     (void *ctx))
 I5	  59648 
 I5	  59649 
 I5	  59650 /* Asymmetric Ciphers */
 I5	  59651 
 I5	  59652 # define OSSL_FUNC_ASYM_CIPHER_NEWCTX                  1
 I5	  59653 # define OSSL_FUNC_ASYM_CIPHER_ENCRYPT_INIT            2
 I5	  59654 # define OSSL_FUNC_ASYM_CIPHER_ENCRYPT                 3
 I5	  59655 # define OSSL_FUNC_ASYM_CIPHER_DECRYPT_INIT            4
 I5	  59656 # define OSSL_FUNC_ASYM_CIPHER_DECRYPT                 5
 I5	  59657 # define OSSL_FUNC_ASYM_CIPHER_FREECTX                 6
 I5	  59658 # define OSSL_FUNC_ASYM_CIPHER_DUPCTX                  7
 I5	  59659 # define OSSL_FUNC_ASYM_CIPHER_GET_CTX_PARAMS          8
 I5	  59660 # define OSSL_FUNC_ASYM_CIPHER_GETTABLE_CTX_PARAMS     9
 I5	  59661 # define OSSL_FUNC_ASYM_CIPHER_SET_CTX_PARAMS         10
 I5	  59662 # define OSSL_FUNC_ASYM_CIPHER_SETTABLE_CTX_PARAMS    11
 I5	  59663 
 I5   1	  59664 OSSL_CORE_MAKE_FUNC(void *, asym_cipher_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_asym_cipher_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_asym_cipher_newct
       E	x_fn * OSSL_FUNC_asym_cipher_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_asym_cipher_newctx_fn * ) opf
       E	 -> function ; }
 I5   1	  59665 OSSL_CORE_MAKE_FUNC(int, asym_cipher_encrypt_init, (void *ctx, void *provkey,
       E	 typedef int ( OSSL_FUNC_asym_cipher_encrypt_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params [ ] )
       E	 ; static __inline OSSL_FUNC_asym_cipher_encrypt_init_fn * OSSL_FUNC_asym_cipher_encrypt_init ( const OSSL_DISPATCH 
       E	* opf ) { return ( OSSL_FUNC_asym_cipher_encrypt_init_fn * ) opf -> function ; }
 I5	  59666                                                     const OSSL_PARAM params[]))
 I5   1	  59667 OSSL_CORE_MAKE_FUNC(int, asym_cipher_encrypt, (void *ctx, unsigned char *out,
       E	 typedef int ( OSSL_FUNC_asym_cipher_encrypt_fn ) ( void * ctx , unsigned char * out , size_t * outlen , size_t outs
       E	ize , const unsigned char * in , size_t inlen ) ; static __inline OSSL_FUNC_asym_cipher_encrypt_fn * OSSL_FUNC_asym_
       E	cipher_encrypt ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_asym_cipher_encrypt_fn * ) opf -> function ; }
 I5	  59668                                                   size_t *outlen,
 I5	  59669                                                   size_t outsize,
 I5	  59670                                                   const unsigned char *in,
 I5	  59671                                                   size_t inlen))
 I5   1	  59672 OSSL_CORE_MAKE_FUNC(int, asym_cipher_decrypt_init, (void *ctx, void *provkey,
       E	 typedef int ( OSSL_FUNC_asym_cipher_decrypt_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params [ ] )
       E	 ; static __inline OSSL_FUNC_asym_cipher_decrypt_init_fn * OSSL_FUNC_asym_cipher_decrypt_init ( const OSSL_DISPATCH 
       E	* opf ) { return ( OSSL_FUNC_asym_cipher_decrypt_init_fn * ) opf -> function ; }
 I5	  59673                                                     const OSSL_PARAM params[]))
 I5   1	  59674 OSSL_CORE_MAKE_FUNC(int, asym_cipher_decrypt, (void *ctx, unsigned char *out,
       E	 typedef int ( OSSL_FUNC_asym_cipher_decrypt_fn ) ( void * ctx , unsigned char * out , size_t * outlen , size_t outs
       E	ize , const unsigned char * in , size_t inlen ) ; static __inline OSSL_FUNC_asym_cipher_decrypt_fn * OSSL_FUNC_asym_
       E	cipher_decrypt ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_asym_cipher_decrypt_fn * ) opf -> function ; }
 I5	  59675                                                   size_t *outlen,
 I5	  59676                                                   size_t outsize,
 I5	  59677                                                   const unsigned char *in,
 I5	  59678                                                   size_t inlen))
 I5   1	  59679 OSSL_CORE_MAKE_FUNC(void, asym_cipher_freectx, (void *ctx))
       E	 typedef void ( OSSL_FUNC_asym_cipher_freectx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_asym_cipher_freectx_fn
       E	 * OSSL_FUNC_asym_cipher_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_asym_cipher_freectx_fn * ) opf -
       E	> function ; }
 I5   1	  59680 OSSL_CORE_MAKE_FUNC(void *, asym_cipher_dupctx, (void *ctx))
       E	 typedef void * ( OSSL_FUNC_asym_cipher_dupctx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_asym_cipher_dupctx_fn
       E	 * OSSL_FUNC_asym_cipher_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_asym_cipher_dupctx_fn * ) opf -> 
       E	function ; }
 I5   1	  59681 OSSL_CORE_MAKE_FUNC(int, asym_cipher_get_ctx_params,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1087
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	 typedef int ( OSSL_FUNC_asym_cipher_get_ctx_params_fn ) ( void * ctx , OSSL_PARAM params [ ] ) ; static __inline OS
       E	SL_FUNC_asym_cipher_get_ctx_params_fn * OSSL_FUNC_asym_cipher_get_ctx_params ( const OSSL_DISPATCH * opf ) { return 
       E	( OSSL_FUNC_asym_cipher_get_ctx_params_fn * ) opf -> function ; }
 I5	  59682                     (void *ctx, OSSL_PARAM params[]))
 I5   1	  59683 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, asym_cipher_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_asym_cipher_gettable_ctx_params_fn ) ( void * ctx , void * provctx ) ; stati
       E	c __inline OSSL_FUNC_asym_cipher_gettable_ctx_params_fn * OSSL_FUNC_asym_cipher_gettable_ctx_params ( const OSSL_DIS
       E	PATCH * opf ) { return ( OSSL_FUNC_asym_cipher_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59684                     (void *ctx, void *provctx))
 I5   1	  59685 OSSL_CORE_MAKE_FUNC(int, asym_cipher_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_asym_cipher_set_ctx_params_fn ) ( void * ctx , const OSSL_PARAM params [ ] ) ; static __inl
       E	ine OSSL_FUNC_asym_cipher_set_ctx_params_fn * OSSL_FUNC_asym_cipher_set_ctx_params ( const OSSL_DISPATCH * opf ) { r
       E	eturn ( OSSL_FUNC_asym_cipher_set_ctx_params_fn * ) opf -> function ; }
 I5	  59686                     (void *ctx, const OSSL_PARAM params[]))
 I5   1	  59687 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, asym_cipher_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_asym_cipher_settable_ctx_params_fn ) ( void * ctx , void * provctx ) ; stati
       E	c __inline OSSL_FUNC_asym_cipher_settable_ctx_params_fn * OSSL_FUNC_asym_cipher_settable_ctx_params ( const OSSL_DIS
       E	PATCH * opf ) { return ( OSSL_FUNC_asym_cipher_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59688                     (void *ctx, void *provctx))
 I5	  59689 
 I5	  59690 /* Asymmetric Key encapsulation */
 I5	  59691 # define OSSL_FUNC_KEM_NEWCTX                  1
 I5	  59692 # define OSSL_FUNC_KEM_ENCAPSULATE_INIT        2
 I5	  59693 # define OSSL_FUNC_KEM_ENCAPSULATE             3
 I5	  59694 # define OSSL_FUNC_KEM_DECAPSULATE_INIT        4
 I5	  59695 # define OSSL_FUNC_KEM_DECAPSULATE             5
 I5	  59696 # define OSSL_FUNC_KEM_FREECTX                 6
 I5	  59697 # define OSSL_FUNC_KEM_DUPCTX                  7
 I5	  59698 # define OSSL_FUNC_KEM_GET_CTX_PARAMS          8
 I5	  59699 # define OSSL_FUNC_KEM_GETTABLE_CTX_PARAMS     9
 I5	  59700 # define OSSL_FUNC_KEM_SET_CTX_PARAMS         10
 I5	  59701 # define OSSL_FUNC_KEM_SETTABLE_CTX_PARAMS    11
 I5	  59702 
 I5   1	  59703 OSSL_CORE_MAKE_FUNC(void *, kem_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_kem_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_kem_newctx_fn * OSSL_FUNC
       E	_kem_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kem_newctx_fn * ) opf -> function ; }
 I5   1	  59704 OSSL_CORE_MAKE_FUNC(int, kem_encapsulate_init, (void *ctx, void *provkey,
       E	 typedef int ( OSSL_FUNC_kem_encapsulate_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params [ ] ) ; s
       E	tatic __inline OSSL_FUNC_kem_encapsulate_init_fn * OSSL_FUNC_kem_encapsulate_init ( const OSSL_DISPATCH * opf ) { re
       E	turn ( OSSL_FUNC_kem_encapsulate_init_fn * ) opf -> function ; }
 I5	  59705                                                 const OSSL_PARAM params[]))
 I5   1	  59706 OSSL_CORE_MAKE_FUNC(int, kem_encapsulate, (void *ctx,
       E	 typedef int ( OSSL_FUNC_kem_encapsulate_fn ) ( void * ctx , unsigned char * out , size_t * outlen , unsigned char *
       E	 secret , size_t * secretlen ) ; static __inline OSSL_FUNC_kem_encapsulate_fn * OSSL_FUNC_kem_encapsulate ( const OS
       E	SL_DISPATCH * opf ) { return ( OSSL_FUNC_kem_encapsulate_fn * ) opf -> function ; }
 I5	  59707                                            unsigned char *out, size_t *outlen,
 I5	  59708                                            unsigned char *secret,
 I5	  59709                                            size_t *secretlen))
 I5   1	  59710 OSSL_CORE_MAKE_FUNC(int, kem_decapsulate_init, (void *ctx, void *provkey,
       E	 typedef int ( OSSL_FUNC_kem_decapsulate_init_fn ) ( void * ctx , void * provkey , const OSSL_PARAM params [ ] ) ; s
       E	tatic __inline OSSL_FUNC_kem_decapsulate_init_fn * OSSL_FUNC_kem_decapsulate_init ( const OSSL_DISPATCH * opf ) { re
       E	turn ( OSSL_FUNC_kem_decapsulate_init_fn * ) opf -> function ; }
 I5	  59711                                                 const OSSL_PARAM params[]))
 I5   1	  59712 OSSL_CORE_MAKE_FUNC(int, kem_decapsulate, (void *ctx,
       E	 typedef int ( OSSL_FUNC_kem_decapsulate_fn ) ( void * ctx , unsigned char * out , size_t * outlen , const unsigned 
       E	char * in , size_t inlen ) ; static __inline OSSL_FUNC_kem_decapsulate_fn * OSSL_FUNC_kem_decapsulate ( const OSSL_D
       E	ISPATCH * opf ) { return ( OSSL_FUNC_kem_decapsulate_fn * ) opf -> function ; }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1088
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5	  59713                                            unsigned char *out, size_t *outlen,
 I5	  59714                                            const unsigned char *in, size_t inlen))
 I5   1	  59715 OSSL_CORE_MAKE_FUNC(void, kem_freectx, (void *ctx))
       E	 typedef void ( OSSL_FUNC_kem_freectx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_kem_freectx_fn * OSSL_FUNC_kem
       E	_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kem_freectx_fn * ) opf -> function ; }
 I5   1	  59716 OSSL_CORE_MAKE_FUNC(void *, kem_dupctx, (void *ctx))
       E	 typedef void * ( OSSL_FUNC_kem_dupctx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_kem_dupctx_fn * OSSL_FUNC_kem
       E	_dupctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kem_dupctx_fn * ) opf -> function ; }
 I5   1	  59717 OSSL_CORE_MAKE_FUNC(int, kem_get_ctx_params, (void *ctx, OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_kem_get_ctx_params_fn ) ( void * ctx , OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_
       E	kem_get_ctx_params_fn * OSSL_FUNC_kem_get_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kem_get_ctx_
       E	params_fn * ) opf -> function ; }
 I5   1	  59718 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, kem_gettable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_kem_gettable_ctx_params_fn ) ( void * ctx , void * provctx ) ; static __inli
       E	ne OSSL_FUNC_kem_gettable_ctx_params_fn * OSSL_FUNC_kem_gettable_ctx_params ( const OSSL_DISPATCH * opf ) { return (
       E	 OSSL_FUNC_kem_gettable_ctx_params_fn * ) opf -> function ; }
 I5	  59719                     (void *ctx, void *provctx))
 I5   1	  59720 OSSL_CORE_MAKE_FUNC(int, kem_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_kem_set_ctx_params_fn ) ( void * ctx , const OSSL_PARAM params [ ] ) ; static __inline OSSL
       E	_FUNC_kem_set_ctx_params_fn * OSSL_FUNC_kem_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_kem_se
       E	t_ctx_params_fn * ) opf -> function ; }
 I5	  59721                     (void *ctx, const OSSL_PARAM params[]))
 I5   1	  59722 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, kem_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_kem_settable_ctx_params_fn ) ( void * ctx , void * provctx ) ; static __inli
       E	ne OSSL_FUNC_kem_settable_ctx_params_fn * OSSL_FUNC_kem_settable_ctx_params ( const OSSL_DISPATCH * opf ) { return (
       E	 OSSL_FUNC_kem_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59723                     (void *ctx, void *provctx))
 I5	  59724 
 I5	  59725 /* Encoders and decoders */
 I5	  59726 # define OSSL_FUNC_ENCODER_NEWCTX                      1
 I5	  59727 # define OSSL_FUNC_ENCODER_FREECTX                     2
 I5	  59728 # define OSSL_FUNC_ENCODER_GET_PARAMS                  3
 I5	  59729 # define OSSL_FUNC_ENCODER_GETTABLE_PARAMS             4
 I5	  59730 # define OSSL_FUNC_ENCODER_SET_CTX_PARAMS              5
 I5	  59731 # define OSSL_FUNC_ENCODER_SETTABLE_CTX_PARAMS         6
 I5	  59732 # define OSSL_FUNC_ENCODER_DOES_SELECTION             10
 I5	  59733 # define OSSL_FUNC_ENCODER_ENCODE                     11
 I5	  59734 # define OSSL_FUNC_ENCODER_IMPORT_OBJECT              20
 I5	  59735 # define OSSL_FUNC_ENCODER_FREE_OBJECT                21
 I5   1	  59736 OSSL_CORE_MAKE_FUNC(void *, encoder_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_encoder_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_encoder_newctx_fn * O
       E	SSL_FUNC_encoder_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_encoder_newctx_fn * ) opf -> function ; }
 I5   1	  59737 OSSL_CORE_MAKE_FUNC(void, encoder_freectx, (void *ctx))
       E	 typedef void ( OSSL_FUNC_encoder_freectx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_encoder_freectx_fn * OSSL_
       E	FUNC_encoder_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_encoder_freectx_fn * ) opf -> function ; }
 I5   1	  59738 OSSL_CORE_MAKE_FUNC(int, encoder_get_params, (OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_encoder_get_params_fn ) ( OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_encoder_get_p
       E	arams_fn * OSSL_FUNC_encoder_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_encoder_get_params_fn * )
       E	 opf -> function ; }
 I5   1	  59739 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, encoder_gettable_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_encoder_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_
       E	encoder_gettable_params_fn * OSSL_FUNC_encoder_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_en
       E	coder_gettable_params_fn * ) opf -> function ; }
 I5	  59740                     (void *provctx))
 I5   1	  59741 OSSL_CORE_MAKE_FUNC(int, encoder_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_encoder_set_ctx_params_fn ) ( void * ctx , const OSSL_PARAM params [ ] ) ; static __inline 
       E	OSSL_FUNC_encoder_set_ctx_params_fn * OSSL_FUNC_encoder_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1089
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	_FUNC_encoder_set_ctx_params_fn * ) opf -> function ; }
 I5	  59742                     (void *ctx, const OSSL_PARAM params[]))
 I5   1	  59743 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, encoder_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_encoder_settable_ctx_params_fn ) ( void * provctx ) ; static __inline OSSL_F
       E	UNC_encoder_settable_ctx_params_fn * OSSL_FUNC_encoder_settable_ctx_params ( const OSSL_DISPATCH * opf ) { return ( 
       E	OSSL_FUNC_encoder_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59744                     (void *provctx))
 I5	  59745 
 I5   1	  59746 OSSL_CORE_MAKE_FUNC(int, encoder_does_selection,
       E	 typedef int ( OSSL_FUNC_encoder_does_selection_fn ) ( void * provctx , int selection ) ; static __inline OSSL_FUNC_
       E	encoder_does_selection_fn * OSSL_FUNC_encoder_does_selection ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_enco
       E	der_does_selection_fn * ) opf -> function ; }
 I5	  59747                     (void *provctx, int selection))
 I5   1	  59748 OSSL_CORE_MAKE_FUNC(int, encoder_encode,
       E	 typedef int ( OSSL_FUNC_encoder_encode_fn ) ( void * ctx , OSSL_CORE_BIO * out , const void * obj_raw , const OSSL_
       E	PARAM obj_abstract [ ] , int selection , OSSL_PASSPHRASE_CALLBACK * cb , void * cbarg ) ; static __inline OSSL_FUNC_
       E	encoder_encode_fn * OSSL_FUNC_encoder_encode ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_encoder_encode_fn * 
       E	) opf -> function ; }
 I5	  59749                     (void *ctx, OSSL_CORE_BIO *out,
 I5	  59750                      const void *obj_raw, const OSSL_PARAM obj_abstract[],
 I5	  59751                      int selection,
 I5	  59752                      OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg))
 I5	  59753 
 I5   1	  59754 OSSL_CORE_MAKE_FUNC(void *, encoder_import_object,
       E	 typedef void * ( OSSL_FUNC_encoder_import_object_fn ) ( void * ctx , int selection , const OSSL_PARAM params [ ] ) 
       E	; static __inline OSSL_FUNC_encoder_import_object_fn * OSSL_FUNC_encoder_import_object ( const OSSL_DISPATCH * opf )
       E	 { return ( OSSL_FUNC_encoder_import_object_fn * ) opf -> function ; }
 I5	  59755                     (void *ctx, int selection, const OSSL_PARAM params[]))
 I5   1	  59756 OSSL_CORE_MAKE_FUNC(void, encoder_free_object, (void *obj))
       E	 typedef void ( OSSL_FUNC_encoder_free_object_fn ) ( void * obj ) ; static __inline OSSL_FUNC_encoder_free_object_fn
       E	 * OSSL_FUNC_encoder_free_object ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_encoder_free_object_fn * ) opf -
       E	> function ; }
 I5	  59757 
 I5	  59758 # define OSSL_FUNC_DECODER_NEWCTX                      1
 I5	  59759 # define OSSL_FUNC_DECODER_FREECTX                     2
 I5	  59760 # define OSSL_FUNC_DECODER_GET_PARAMS                  3
 I5	  59761 # define OSSL_FUNC_DECODER_GETTABLE_PARAMS             4
 I5	  59762 # define OSSL_FUNC_DECODER_SET_CTX_PARAMS              5
 I5	  59763 # define OSSL_FUNC_DECODER_SETTABLE_CTX_PARAMS         6
 I5	  59764 # define OSSL_FUNC_DECODER_DOES_SELECTION             10
 I5	  59765 # define OSSL_FUNC_DECODER_DECODE                     11
 I5	  59766 # define OSSL_FUNC_DECODER_EXPORT_OBJECT              20
 I5   1	  59767 OSSL_CORE_MAKE_FUNC(void *, decoder_newctx, (void *provctx))
       E	 typedef void * ( OSSL_FUNC_decoder_newctx_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_decoder_newctx_fn * O
       E	SSL_FUNC_decoder_newctx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_decoder_newctx_fn * ) opf -> function ; }
 I5   1	  59768 OSSL_CORE_MAKE_FUNC(void, decoder_freectx, (void *ctx))
       E	 typedef void ( OSSL_FUNC_decoder_freectx_fn ) ( void * ctx ) ; static __inline OSSL_FUNC_decoder_freectx_fn * OSSL_
       E	FUNC_decoder_freectx ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_decoder_freectx_fn * ) opf -> function ; }
 I5   1	  59769 OSSL_CORE_MAKE_FUNC(int, decoder_get_params, (OSSL_PARAM params[]))
       E	 typedef int ( OSSL_FUNC_decoder_get_params_fn ) ( OSSL_PARAM params [ ] ) ; static __inline OSSL_FUNC_decoder_get_p
       E	arams_fn * OSSL_FUNC_decoder_get_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_decoder_get_params_fn * )
       E	 opf -> function ; }
 I5   1	  59770 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, decoder_gettable_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_decoder_gettable_params_fn ) ( void * provctx ) ; static __inline OSSL_FUNC_
       E	decoder_gettable_params_fn * OSSL_FUNC_decoder_gettable_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_de
       E	coder_gettable_params_fn * ) opf -> function ; }
 I5	  59771                     (void *provctx))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1090
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

 I5   1	  59772 OSSL_CORE_MAKE_FUNC(int, decoder_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_decoder_set_ctx_params_fn ) ( void * ctx , const OSSL_PARAM params [ ] ) ; static __inline 
       E	OSSL_FUNC_decoder_set_ctx_params_fn * OSSL_FUNC_decoder_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL
       E	_FUNC_decoder_set_ctx_params_fn * ) opf -> function ; }
 I5	  59773                     (void *ctx, const OSSL_PARAM params[]))
 I5   1	  59774 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, decoder_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_decoder_settable_ctx_params_fn ) ( void * provctx ) ; static __inline OSSL_F
       E	UNC_decoder_settable_ctx_params_fn * OSSL_FUNC_decoder_settable_ctx_params ( const OSSL_DISPATCH * opf ) { return ( 
       E	OSSL_FUNC_decoder_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59775                     (void *provctx))
 I5	  59776 
 I5   1	  59777 OSSL_CORE_MAKE_FUNC(int, decoder_does_selection,
       E	 typedef int ( OSSL_FUNC_decoder_does_selection_fn ) ( void * provctx , int selection ) ; static __inline OSSL_FUNC_
       E	decoder_does_selection_fn * OSSL_FUNC_decoder_does_selection ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_deco
       E	der_does_selection_fn * ) opf -> function ; }
 I5	  59778                     (void *provctx, int selection))
 I5   1	  59779 OSSL_CORE_MAKE_FUNC(int, decoder_decode,
       E	 typedef int ( OSSL_FUNC_decoder_decode_fn ) ( void * ctx , OSSL_CORE_BIO * in , int selection , OSSL_CALLBACK * dat
       E	a_cb , void * data_cbarg , OSSL_PASSPHRASE_CALLBACK * pw_cb , void * pw_cbarg ) ; static __inline OSSL_FUNC_decoder_
       E	decode_fn * OSSL_FUNC_decoder_decode ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_decoder_decode_fn * ) opf ->
       E	 function ; }
 I5	  59780                     (void *ctx, OSSL_CORE_BIO *in, int selection,
 I5	  59781                      OSSL_CALLBACK *data_cb, void *data_cbarg,
 I5	  59782                      OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg))
 I5   1	  59783 OSSL_CORE_MAKE_FUNC(int, decoder_export_object,
       E	 typedef int ( OSSL_FUNC_decoder_export_object_fn ) ( void * ctx , const void * objref , size_t objref_sz , OSSL_CAL
       E	LBACK * export_cb , void * export_cbarg ) ; static __inline OSSL_FUNC_decoder_export_object_fn * OSSL_FUNC_decoder_e
       E	xport_object ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_decoder_export_object_fn * ) opf -> function ; }
 I5	  59784                     (void *ctx, const void *objref, size_t objref_sz,
 I5	  59785                      OSSL_CALLBACK *export_cb, void *export_cbarg))
 I5	  59786 
 I5	  59787 /*-
 I5	  59788  * Store
 I5	  59789  *
 I5	  59790  * Objects are scanned by using the 'open', 'load', 'eof' and 'close'
 I5	  59791  * functions, which implement an OSSL_STORE loader.
 I5	  59792  *
 I5	  59793  * store_load() works in a way that's very similar to the decoders, in
 I5	  59794  * that they pass an abstract object through a callback, either as a DER
 I5	  59795  * octet string or as an object reference, which libcrypto will have to
 I5	  59796  * deal with.
 I5	  59797  */
 I5	  59798 
 I5	  59799 #define OSSL_FUNC_STORE_OPEN                        1
 I5	  59800 #define OSSL_FUNC_STORE_ATTACH                      2
 I5	  59801 #define OSSL_FUNC_STORE_SETTABLE_CTX_PARAMS         3
 I5	  59802 #define OSSL_FUNC_STORE_SET_CTX_PARAMS              4
 I5	  59803 #define OSSL_FUNC_STORE_LOAD                        5
 I5	  59804 #define OSSL_FUNC_STORE_EOF                         6
 I5	  59805 #define OSSL_FUNC_STORE_CLOSE                       7
 I5	  59806 #define OSSL_FUNC_STORE_EXPORT_OBJECT               8
 I5   1	  59807 OSSL_CORE_MAKE_FUNC(void *, store_open, (void *provctx, const char *uri))
       E	 typedef void * ( OSSL_FUNC_store_open_fn ) ( void * provctx , const char * uri ) ; static __inline OSSL_FUNC_store_
       E	open_fn * OSSL_FUNC_store_open ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_store_open_fn * ) opf -> function 
       E	; }
 I5   1	  59808 OSSL_CORE_MAKE_FUNC(void *, store_attach, (void *provctx, OSSL_CORE_BIO *in))
       E	 typedef void * ( OSSL_FUNC_store_attach_fn ) ( void * provctx , OSSL_CORE_BIO * in ) ; static __inline OSSL_FUNC_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1091
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CORE_DISPATCH.H;1

       E	ore_attach_fn * OSSL_FUNC_store_attach ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_store_attach_fn * ) opf ->
       E	 function ; }
 I5   1	  59809 OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, store_settable_ctx_params,
       E	 typedef const OSSL_PARAM * ( OSSL_FUNC_store_settable_ctx_params_fn ) ( void * provctx ) ; static __inline OSSL_FUN
       E	C_store_settable_ctx_params_fn * OSSL_FUNC_store_settable_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL_F
       E	UNC_store_settable_ctx_params_fn * ) opf -> function ; }
 I5	  59810                     (void *provctx))
 I5   1	  59811 OSSL_CORE_MAKE_FUNC(int, store_set_ctx_params,
       E	 typedef int ( OSSL_FUNC_store_set_ctx_params_fn ) ( void * loaderctx , const OSSL_PARAM params [ ] ) ; static __inl
       E	ine OSSL_FUNC_store_set_ctx_params_fn * OSSL_FUNC_store_set_ctx_params ( const OSSL_DISPATCH * opf ) { return ( OSSL
       E	_FUNC_store_set_ctx_params_fn * ) opf -> function ; }
 I5	  59812                     (void *loaderctx, const OSSL_PARAM params[]))
 I5   1	  59813 OSSL_CORE_MAKE_FUNC(int, store_load,
       E	 typedef int ( OSSL_FUNC_store_load_fn ) ( void * loaderctx , OSSL_CALLBACK * object_cb , void * object_cbarg , OSSL
       E	_PASSPHRASE_CALLBACK * pw_cb , void * pw_cbarg ) ; static __inline OSSL_FUNC_store_load_fn * OSSL_FUNC_store_load ( 
       E	const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_store_load_fn * ) opf -> function ; }
 I5	  59814                     (void *loaderctx,
 I5	  59815                      OSSL_CALLBACK *object_cb, void *object_cbarg,
 I5	  59816                      OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg))
 I5   1	  59817 OSSL_CORE_MAKE_FUNC(int, store_eof, (void *loaderctx))
       E	 typedef int ( OSSL_FUNC_store_eof_fn ) ( void * loaderctx ) ; static __inline OSSL_FUNC_store_eof_fn * OSSL_FUNC_st
       E	ore_eof ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_store_eof_fn * ) opf -> function ; }
 I5   1	  59818 OSSL_CORE_MAKE_FUNC(int, store_close, (void *loaderctx))
       E	 typedef int ( OSSL_FUNC_store_close_fn ) ( void * loaderctx ) ; static __inline OSSL_FUNC_store_close_fn * OSSL_FUN
       E	C_store_close ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_store_close_fn * ) opf -> function ; }
 I5   1	  59819 OSSL_CORE_MAKE_FUNC(int, store_export_object,
       E	 typedef int ( OSSL_FUNC_store_export_object_fn ) ( void * loaderctx , const void * objref , size_t objref_sz , OSSL
       E	_CALLBACK * export_cb , void * export_cbarg ) ; static __inline OSSL_FUNC_store_export_object_fn * OSSL_FUNC_store_e
       E	xport_object ( const OSSL_DISPATCH * opf ) { return ( OSSL_FUNC_store_export_object_fn * ) opf -> function ; }
 I5	  59820                     (void *loaderctx, const void *objref, size_t objref_sz,
 I5	  59821                      OSSL_CALLBACK *export_cb, void *export_cbarg))
 I5	  59822 
 I5    X  59823 # ifdef __cplusplus
 I5    X  59824 }
 I5    X  59825 # endif
 I5	  59826 
 I5	  59827 #endif
 I4    X  59828 # include <openssl/symhacks.h>
 I4    X  59829 # include <openssl/bio.h>
 I4	  59830 # include <openssl/evperr.h>
 I5	  59831 /*
 I5	  59832  * Generated by util/mkerr.pl DO NOT EDIT
 I5	  59833  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  59834  *
 I5	  59835  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  59836  * this file except in compliance with the License.  You can obtain a copy
 I5	  59837  * in the file LICENSE in the source distribution or at
 I5	  59838  * https://www.openssl.org/source/license.html
 I5	  59839  */
 I5	  59840 
 I5	  59841 #ifndef OPENSSL_EVPERR_H
 I5	  59842 # define OPENSSL_EVPERR_H
 I5	  59843 # pragma once
 I5	  59844 
 I5    X  59845 # include <openssl/opensslconf.h>
 I5    X  59846 # include <openssl/symhacks.h>
 I5    X  59847 # include <openssl/cryptoerr_legacy.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1092
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVPERR.H;1

 I5	  59848 
 I5	  59849 
 I5	  59850 
 I5	  59851 /*
 I5	  59852  * EVP reason codes.
 I5	  59853  */
 I5	  59854 # define EVP_R_AES_KEY_SETUP_FAILED                       143
 I5	  59855 # define EVP_R_ARIA_KEY_SETUP_FAILED                      176
 I5	  59856 # define EVP_R_BAD_ALGORITHM_NAME                         200
 I5	  59857 # define EVP_R_BAD_DECRYPT                                100
 I5	  59858 # define EVP_R_BAD_KEY_LENGTH                             195
 I5	  59859 # define EVP_R_BUFFER_TOO_SMALL                           155
 I5	  59860 # define EVP_R_CACHE_CONSTANTS_FAILED                     225
 I5	  59861 # define EVP_R_CAMELLIA_KEY_SETUP_FAILED                  157
 I5	  59862 # define EVP_R_CANNOT_GET_PARAMETERS                      197
 I5	  59863 # define EVP_R_CANNOT_SET_PARAMETERS                      198
 I5	  59864 # define EVP_R_CIPHER_NOT_GCM_MODE                        184
 I5	  59865 # define EVP_R_CIPHER_PARAMETER_ERROR                     122
 I5	  59866 # define EVP_R_COMMAND_NOT_SUPPORTED                      147
 I5	  59867 # define EVP_R_CONFLICTING_ALGORITHM_NAME                 201
 I5	  59868 # define EVP_R_COPY_ERROR                                 173
 I5	  59869 # define EVP_R_CTRL_NOT_IMPLEMENTED                       132
 I5	  59870 # define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED             133
 I5	  59871 # define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH          138
 I5	  59872 # define EVP_R_DECODE_ERROR                               114
 I5	  59873 # define EVP_R_DEFAULT_QUERY_PARSE_ERROR                  210
 I5	  59874 # define EVP_R_DIFFERENT_KEY_TYPES                        101
 I5	  59875 # define EVP_R_DIFFERENT_PARAMETERS                       153
 I5	  59876 # define EVP_R_ERROR_LOADING_SECTION                      165
 I5	  59877 # define EVP_R_EXPECTING_AN_HMAC_KEY                      174
 I5	  59878 # define EVP_R_EXPECTING_AN_RSA_KEY                       127
 I5	  59879 # define EVP_R_EXPECTING_A_DH_KEY                         128
 I5	  59880 # define EVP_R_EXPECTING_A_DSA_KEY                        129
 I5	  59881 # define EVP_R_EXPECTING_A_ECX_KEY                        219
 I5	  59882 # define EVP_R_EXPECTING_A_EC_KEY                         142
 I5	  59883 # define EVP_R_EXPECTING_A_POLY1305_KEY                   164
 I5	  59884 # define EVP_R_EXPECTING_A_SIPHASH_KEY                    175
 I5	  59885 # define EVP_R_FINAL_ERROR                                188
 I5	  59886 # define EVP_R_GENERATE_ERROR                             214
 I5	  59887 # define EVP_R_GET_RAW_KEY_FAILED                         182
 I5	  59888 # define EVP_R_ILLEGAL_SCRYPT_PARAMETERS                  171
 I5	  59889 # define EVP_R_INACCESSIBLE_DOMAIN_PARAMETERS             204
 I5	  59890 # define EVP_R_INACCESSIBLE_KEY                           203
 I5	  59891 # define EVP_R_INITIALIZATION_ERROR                       134
 I5	  59892 # define EVP_R_INPUT_NOT_INITIALIZED                      111
 I5	  59893 # define EVP_R_INVALID_CUSTOM_LENGTH                      185
 I5	  59894 # define EVP_R_INVALID_DIGEST                             152
 I5	  59895 # define EVP_R_INVALID_IV_LENGTH                          194
 I5	  59896 # define EVP_R_INVALID_KEY                                163
 I5	  59897 # define EVP_R_INVALID_KEY_LENGTH                         130
 I5	  59898 # define EVP_R_INVALID_LENGTH                             221
 I5	  59899 # define EVP_R_INVALID_NULL_ALGORITHM                     218
 I5	  59900 # define EVP_R_INVALID_OPERATION                          148
 I5	  59901 # define EVP_R_INVALID_PROVIDER_FUNCTIONS                 193
 I5	  59902 # define EVP_R_INVALID_SALT_LENGTH                        186
 I5	  59903 # define EVP_R_INVALID_SECRET_LENGTH                      223
 I5	  59904 # define EVP_R_INVALID_SEED_LENGTH                        220

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1093
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVPERR.H;1

 I5	  59905 # define EVP_R_INVALID_VALUE                              222
 I5	  59906 # define EVP_R_KEYMGMT_EXPORT_FAILURE                     205
 I5	  59907 # define EVP_R_KEY_SETUP_FAILED                           180
 I5	  59908 # define EVP_R_LOCKING_NOT_SUPPORTED                      213
 I5	  59909 # define EVP_R_MEMORY_LIMIT_EXCEEDED                      172
 I5	  59910 # define EVP_R_MESSAGE_DIGEST_IS_NULL                     159
 I5	  59911 # define EVP_R_METHOD_NOT_SUPPORTED                       144
 I5	  59912 # define EVP_R_MISSING_PARAMETERS                         103
 I5	  59913 # define EVP_R_NOT_ABLE_TO_COPY_CTX                       190
 I5	  59914 # define EVP_R_NOT_XOF_OR_INVALID_LENGTH                  178
 I5	  59915 # define EVP_R_NO_CIPHER_SET                              131
 I5	  59916 # define EVP_R_NO_DEFAULT_DIGEST                          158
 I5	  59917 # define EVP_R_NO_DIGEST_SET                              139
 I5	  59918 # define EVP_R_NO_IMPORT_FUNCTION                         206
 I5	  59919 # define EVP_R_NO_KEYMGMT_AVAILABLE                       199
 I5	  59920 # define EVP_R_NO_KEYMGMT_PRESENT                         196
 I5	  59921 # define EVP_R_NO_KEY_SET                                 154
 I5	  59922 # define EVP_R_NO_OPERATION_SET                           149
 I5	  59923 # define EVP_R_NULL_MAC_PKEY_CTX                          208
 I5	  59924 # define EVP_R_ONLY_ONESHOT_SUPPORTED                     177
 I5	  59925 # define EVP_R_OPERATION_NOT_INITIALIZED                  151
 I5	  59926 # define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE   150
 I5	  59927 # define EVP_R_OUTPUT_WOULD_OVERFLOW                      202
 I5	  59928 # define EVP_R_PARAMETER_TOO_LARGE                        187
 I5	  59929 # define EVP_R_PARTIALLY_OVERLAPPING                      162
 I5	  59930 # define EVP_R_PBKDF2_ERROR                               181
 I5	  59931 # define EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED 179
 I5	  59932 # define EVP_R_PRIVATE_KEY_DECODE_ERROR                   145
 I5	  59933 # define EVP_R_PRIVATE_KEY_ENCODE_ERROR                   146
 I5	  59934 # define EVP_R_PUBLIC_KEY_NOT_RSA                         106
 I5	  59935 # define EVP_R_SETTING_XOF_FAILED                         227
 I5	  59936 # define EVP_R_SET_DEFAULT_PROPERTY_FAILURE               209
 I5	  59937 # define EVP_R_TOO_MANY_RECORDS                           183
 I5	  59938 # define EVP_R_UNABLE_TO_ENABLE_LOCKING                   212
 I5	  59939 # define EVP_R_UNABLE_TO_GET_MAXIMUM_REQUEST_SIZE         215
 I5	  59940 # define EVP_R_UNABLE_TO_GET_RANDOM_STRENGTH              216
 I5	  59941 # define EVP_R_UNABLE_TO_LOCK_CONTEXT                     211
 I5	  59942 # define EVP_R_UNABLE_TO_SET_CALLBACKS                    217
 I5	  59943 # define EVP_R_UNKNOWN_CIPHER                             160
 I5	  59944 # define EVP_R_UNKNOWN_DIGEST                             161
 I5	  59945 # define EVP_R_UNKNOWN_KEY_TYPE                           207
 I5	  59946 # define EVP_R_UNKNOWN_OPTION                             169
 I5	  59947 # define EVP_R_UNKNOWN_PBE_ALGORITHM                      121
 I5	  59948 # define EVP_R_UNSUPPORTED_ALGORITHM                      156
 I5	  59949 # define EVP_R_UNSUPPORTED_CIPHER                         107
 I5	  59950 # define EVP_R_UNSUPPORTED_KEYLENGTH                      123
 I5	  59951 # define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION        124
 I5	  59952 # define EVP_R_UNSUPPORTED_KEY_SIZE                       108
 I5	  59953 # define EVP_R_UNSUPPORTED_KEY_TYPE                       224
 I5	  59954 # define EVP_R_UNSUPPORTED_NUMBER_OF_ROUNDS               135
 I5	  59955 # define EVP_R_UNSUPPORTED_PRF                            125
 I5	  59956 # define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM          118
 I5	  59957 # define EVP_R_UNSUPPORTED_SALT_TYPE                      126
 I5	  59958 # define EVP_R_UPDATE_ERROR                               189
 I5	  59959 # define EVP_R_WRAP_MODE_NOT_ALLOWED                      170
 I5	  59960 # define EVP_R_WRONG_FINAL_BLOCK_LENGTH                   109
 I5	  59961 # define EVP_R_XTS_DATA_UNIT_IS_TOO_LARGE                 191

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1094
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVPERR.H;1

 I5	  59962 # define EVP_R_XTS_DUPLICATED_KEYS                        192
 I5	  59963 
 I5	  59964 #endif
 I4	  59965 # include <openssl/params.h>
 I5	  59966 /*
 I5	  59967  * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  59968  * Copyright (c) 2019, Oracle and/or its affiliates.  All rights reserved.
 I5	  59969  *
 I5	  59970  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  59971  * this file except in compliance with the License.  You can obtain a copy
 I5	  59972  * in the file LICENSE in the source distribution or at
 I5	  59973  * https://www.openssl.org/source/license.html
 I5	  59974  */
 I5	  59975 
 I5	  59976 #ifndef OPENSSL_PARAMS_H
 I5	  59977 # define OPENSSL_PARAMS_H
 I5	  59978 # pragma once
 I5	  59979 
 I5    X  59980 # include <openssl/core.h>
 I5	  59981 # include <openssl/bn.h>
 I6	  59982 /*
 I6	  59983  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  59984  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I6	  59985  *
 I6	  59986  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  59987  * this file except in compliance with the License.  You can obtain a copy
 I6	  59988  * in the file LICENSE in the source distribution or at
 I6	  59989  * https://www.openssl.org/source/license.html
 I6	  59990  */
 I6	  59991 
 I6	  59992 #ifndef OPENSSL_BN_H
 I6	  59993 # define OPENSSL_BN_H
 I6	  59994 # pragma once
 I6	  59995 
 I6    X  59996 # include <openssl/macros.h>
 I6	  59997 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  59998 #  define HEADER_BN_H
 I6	  59999 # endif
 I6	  60000 
 I6    X  60001 # include <openssl/e_os2.h>
 I6	  60002 # ifndef OPENSSL_NO_STDIO
 I6    X  60003 #  include <stdio.h>
 I6	  60004 # endif
 I6    X  60005 # include <openssl/opensslconf.h>
 I6    X  60006 # include <openssl/types.h>
 I6    X  60007 # include <openssl/crypto.h>
 I6	  60008 # include <openssl/bnerr.h>
 I7	  60009 /*
 I7	  60010  * Generated by util/mkerr.pl DO NOT EDIT
 I7	  60011  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I7	  60012  *
 I7	  60013  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I7	  60014  * this file except in compliance with the License.  You can obtain a copy
 I7	  60015  * in the file LICENSE in the source distribution or at
 I7	  60016  * https://www.openssl.org/source/license.html
 I7	  60017  */
 I7	  60018 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1095
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BNERR.H;1

 I7	  60019 #ifndef OPENSSL_BNERR_H
 I7	  60020 # define OPENSSL_BNERR_H
 I7	  60021 # pragma once
 I7	  60022 
 I7    X  60023 # include <openssl/opensslconf.h>
 I7    X  60024 # include <openssl/symhacks.h>
 I7    X  60025 # include <openssl/cryptoerr_legacy.h>
 I7	  60026 
 I7	  60027 
 I7	  60028 
 I7	  60029 /*
 I7	  60030  * BN reason codes.
 I7	  60031  */
 I7	  60032 # define BN_R_ARG2_LT_ARG3                                100
 I7	  60033 # define BN_R_BAD_RECIPROCAL                              101
 I7	  60034 # define BN_R_BIGNUM_TOO_LONG                             114
 I7	  60035 # define BN_R_BITS_TOO_SMALL                              118
 I7	  60036 # define BN_R_CALLED_WITH_EVEN_MODULUS                    102
 I7	  60037 # define BN_R_DIV_BY_ZERO                                 103
 I7	  60038 # define BN_R_ENCODING_ERROR                              104
 I7	  60039 # define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA                105
 I7	  60040 # define BN_R_INPUT_NOT_REDUCED                           110
 I7	  60041 # define BN_R_INVALID_LENGTH                              106
 I7	  60042 # define BN_R_INVALID_RANGE                               115
 I7	  60043 # define BN_R_INVALID_SHIFT                               119
 I7	  60044 # define BN_R_NOT_A_SQUARE                                111
 I7	  60045 # define BN_R_NOT_INITIALIZED                             107
 I7	  60046 # define BN_R_NO_INVERSE                                  108
 I7	  60047 # define BN_R_NO_PRIME_CANDIDATE                          121
 I7	  60048 # define BN_R_NO_SOLUTION                                 116
 I7	  60049 # define BN_R_NO_SUITABLE_DIGEST                          120
 I7	  60050 # define BN_R_PRIVATE_KEY_TOO_LARGE                       117
 I7	  60051 # define BN_R_P_IS_NOT_PRIME                              112
 I7	  60052 # define BN_R_TOO_MANY_ITERATIONS                         113
 I7	  60053 # define BN_R_TOO_MANY_TEMPORARY_VARIABLES                109
 I7	  60054 
 I7	  60055 #endif
 I6	  60056 
 I6    X  60057 #ifdef  __cplusplus
 I6    X  60058 extern "C" {
 I6    X  60059 #endif
 I6	  60060 
 I6	  60061 /*
 I6	  60062  * 64-bit processor with LP64 ABI
 I6	  60063  */
 I6    X  60064 # ifdef SIXTY_FOUR_BIT_LONG
 I6    X  60065 #  define BN_ULONG        unsigned long
 I6    X  60066 #  define BN_BYTES        8
 I6    X  60067 # endif
 I6	  60068 
 I6	  60069 /*
 I6	  60070  * 64-bit processor other than LP64 ABI
 I6	  60071  */
 I6	  60072 # ifdef SIXTY_FOUR_BIT
 I6	  60073 #  define BN_ULONG        unsigned long long
 I6	  60074 #  define BN_BYTES        8
 I6	  60075 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1096
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60076 
 I6    X  60077 # ifdef THIRTY_TWO_BIT
 I6    X  60078 #  define BN_ULONG        unsigned int
 I6    X  60079 #  define BN_BYTES        4
 I6    X  60080 # endif
 I6	  60081 
 I6	  60082 # define BN_BITS2       (BN_BYTES * 8)
 I6	  60083 # define BN_BITS        (BN_BITS2 * 2)
 I6	  60084 # define BN_TBIT        ((BN_ULONG)1 << (BN_BITS2 - 1))
 I6	  60085 
 I6	  60086 # define BN_FLG_MALLOCED         0x01
 I6	  60087 # define BN_FLG_STATIC_DATA      0x02
 I6	  60088 
 I6	  60089 /*
 I6	  60090  * avoid leaking exponent information through timing,
 I6	  60091  * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime,
 I6	  60092  * BN_div() will call BN_div_no_branch,
 I6	  60093  * BN_mod_inverse() will call bn_mod_inverse_no_branch.
 I6	  60094  */
 I6	  60095 # define BN_FLG_CONSTTIME        0x04
 I6	  60096 # define BN_FLG_SECURE           0x08
 I6	  60097 
 I6	  60098 # ifndef OPENSSL_NO_DEPRECATED_0_9_8
 I6	  60099 /* deprecated name for the flag */
 I6	  60100 #  define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME
 I6	  60101 #  define BN_FLG_FREE            0x8000 /* used for debugging */
 I6	  60102 # endif
 I6	  60103 
 I6	  60104 void BN_set_flags(BIGNUM *b, int n);
 I6	  60105 int BN_get_flags(const BIGNUM *b, int n);
 I6	  60106 
 I6	  60107 /* Values for |top| in BN_rand() */
 I6	  60108 #define BN_RAND_TOP_ANY    -1
 I6	  60109 #define BN_RAND_TOP_ONE     0
 I6	  60110 #define BN_RAND_TOP_TWO     1
 I6	  60111 
 I6	  60112 /* Values for |bottom| in BN_rand() */
 I6	  60113 #define BN_RAND_BOTTOM_ANY  0
 I6	  60114 #define BN_RAND_BOTTOM_ODD  1
 I6	  60115 
 I6	  60116 /*
 I6	  60117  * get a clone of a BIGNUM with changed flags, for *temporary* use only (the
 I6	  60118  * two BIGNUMs cannot be used in parallel!). Also only for *read only* use. The
 I6	  60119  * value |dest| should be a newly allocated BIGNUM obtained via BN_new() that
 I6	  60120  * has not been otherwise initialised or used.
 I6	  60121  */
 I6	  60122 void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags);
 I6	  60123 
 I6	  60124 /* Wrapper function to make using BN_GENCB easier */
 I6	  60125 int BN_GENCB_call(BN_GENCB *cb, int a, int b);
 I6	  60126 
 I6	  60127 BN_GENCB *BN_GENCB_new(void);
 I6	  60128 void BN_GENCB_free(BN_GENCB *cb);
 I6	  60129 
 I6	  60130 /* Populate a BN_GENCB structure with an "old"-style callback */
 I6	  60131 void BN_GENCB_set_old(BN_GENCB *gencb, void (*callback) (int, int, void *),
 I6	  60132                       void *cb_arg);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1097
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60133 
 I6	  60134 /* Populate a BN_GENCB structure with a "new"-style callback */
 I6	  60135 void BN_GENCB_set(BN_GENCB *gencb, int (*callback) (int, int, BN_GENCB *),
 I6	  60136                   void *cb_arg);
 I6	  60137 
 I6	  60138 void *BN_GENCB_get_arg(BN_GENCB *cb);
 I6	  60139 
 I6	  60140 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  60141 #  define BN_prime_checks 0      /* default: select number of iterations based
 I6	  60142                                   * on the size of the number */
 I6	  60143 
 I6	  60144 /*
 I6	  60145  * BN_prime_checks_for_size() returns the number of Miller-Rabin iterations
 I6	  60146  * that will be done for checking that a random number is probably prime. The
 I6	  60147  * error rate for accepting a composite number as prime depends on the size of
 I6	  60148  * the prime |b|. The error rates used are for calculating an RSA key with 2 primes,
 I6	  60149  * and so the level is what you would expect for a key of double the size of the
 I6	  60150  * prime.
 I6	  60151  *
 I6	  60152  * This table is generated using the algorithm of FIPS PUB 186-4
 I6	  60153  * Digital Signature Standard (DSS), section F.1, page 117.
 I6	  60154  * (https://dx.doi.org/10.6028/NIST.FIPS.186-4)
 I6	  60155  *
 I6	  60156  * The following magma script was used to generate the output:
 I6	  60157  * securitybits:=125;
 I6	  60158  * k:=1024;
 I6	  60159  * for t:=1 to 65 do
 I6	  60160  *   for M:=3 to Floor(2*Sqrt(k-1)-1) do
 I6	  60161  *     S:=0;
 I6	  60162  *     // Sum over m
 I6	  60163  *     for m:=3 to M do
 I6	  60164  *       s:=0;
 I6	  60165  *       // Sum over j
 I6	  60166  *       for j:=2 to m do
 I6	  60167  *         s+:=(RealField(32)!2)^-(j+(k-1)/j);
 I6	  60168  *       end for;
 I6	  60169  *       S+:=2^(m-(m-1)*t)*s;
 I6	  60170  *     end for;
 I6	  60171  *     A:=2^(k-2-M*t);
 I6	  60172  *     B:=8*(Pi(RealField(32))^2-6)/3*2^(k-2)*S;
 I6	  60173  *     pkt:=2.00743*Log(2)*k*2^-k*(A+B);
 I6	  60174  *     seclevel:=Floor(-Log(2,pkt));
 I6	  60175  *     if seclevel ge securitybits then
 I6	  60176  *       printf "k: %5o, security: %o bits  (t: %o, M: %o)\n",k,seclevel,t,M;
 I6	  60177  *       break;
 I6	  60178  *     end if;
 I6	  60179  *   end for;
 I6	  60180  *   if seclevel ge securitybits then break; end if;
 I6	  60181  * end for;
 I6	  60182  *
 I6	  60183  * It can be run online at:
 I6	  60184  * http://magma.maths.usyd.edu.au/calc
 I6	  60185  *
 I6	  60186  * And will output:
 I6	  60187  * k:  1024, security: 129 bits  (t: 6, M: 23)
 I6	  60188  *
 I6	  60189  * k is the number of bits of the prime, securitybits is the level we want to

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1098
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60190  * reach.
 I6	  60191  *
 I6	  60192  * prime length | RSA key size | # MR tests | security level
 I6	  60193  * -------------+--------------|------------+---------------
 I6	  60194  *  (b) >= 6394 |     >= 12788 |          3 |        256 bit
 I6	  60195  *  (b) >= 3747 |     >=  7494 |          3 |        192 bit
 I6	  60196  *  (b) >= 1345 |     >=  2690 |          4 |        128 bit
 I6	  60197  *  (b) >= 1080 |     >=  2160 |          5 |        128 bit
 I6	  60198  *  (b) >=  852 |     >=  1704 |          5 |        112 bit
 I6	  60199  *  (b) >=  476 |     >=   952 |          5 |         80 bit
 I6	  60200  *  (b) >=  400 |     >=   800 |          6 |         80 bit
 I6	  60201  *  (b) >=  347 |     >=   694 |          7 |         80 bit
 I6	  60202  *  (b) >=  308 |     >=   616 |          8 |         80 bit
 I6	  60203  *  (b) >=   55 |     >=   110 |         27 |         64 bit
 I6	  60204  *  (b) >=    6 |     >=    12 |         34 |         64 bit
 I6	  60205  */
 I6	  60206 
 I6	  60207 #  define BN_prime_checks_for_size(b) ((b) >= 3747 ?  3 : \
 I6	  60208                                       (b) >=  1345 ?  4 : \
 I6	  60209                                       (b) >=  476 ?  5 : \
 I6	  60210                                       (b) >=  400 ?  6 : \
 I6	  60211                                       (b) >=  347 ?  7 : \
 I6	  60212                                       (b) >=  308 ?  8 : \
 I6	  60213                                       (b) >=  55  ? 27 : \
 I6	  60214                                       /* b >= 6 */ 34)
 I6	  60215 # endif
 I6	  60216 
 I6	  60217 # define BN_num_bytes(a) ((BN_num_bits(a)+7)/8)
 I6	  60218 
 I6	  60219 int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w);
       E	                                           unsigned long long
 I6	  60220 int BN_is_zero(const BIGNUM *a);
 I6	  60221 int BN_is_one(const BIGNUM *a);
 I6	  60222 int BN_is_word(const BIGNUM *a, const BN_ULONG w);
       E	                                       unsigned long long
 I6	  60223 int BN_is_odd(const BIGNUM *a);
 I6	  60224 
 I6	  60225 # define BN_one(a)       (BN_set_word((a),1))
 I6	  60226 
 I6	  60227 void BN_zero_ex(BIGNUM *a);
 I6	  60228 
 I6	  60229 # if OPENSSL_API_LEVEL > 908
 I6	  60230 #  define BN_zero(a)      BN_zero_ex(a)
 I6    X  60231 # else
 I6    X  60232 #  define BN_zero(a)      (BN_set_word((a),0))
 I6    X  60233 # endif
 I6	  60234 
 I6	  60235 const BIGNUM *BN_value_one(void);
 I6	  60236 char *BN_options(void);
 I6	  60237 BN_CTX *BN_CTX_new_ex(OSSL_LIB_CTX *ctx);
 I6	  60238 BN_CTX *BN_CTX_new(void);
 I6	  60239 BN_CTX *BN_CTX_secure_new_ex(OSSL_LIB_CTX *ctx);
 I6	  60240 BN_CTX *BN_CTX_secure_new(void);
 I6	  60241 void BN_CTX_free(BN_CTX *c);
 I6	  60242 void BN_CTX_start(BN_CTX *ctx);
 I6	  60243 BIGNUM *BN_CTX_get(BN_CTX *ctx);
 I6	  60244 void BN_CTX_end(BN_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1099
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60245 int BN_rand_ex(BIGNUM *rnd, int bits, int top, int bottom,
 I6	  60246                unsigned int strength, BN_CTX *ctx);
 I6	  60247 int BN_rand(BIGNUM *rnd, int bits, int top, int bottom);
 I6	  60248 int BN_priv_rand_ex(BIGNUM *rnd, int bits, int top, int bottom,
 I6	  60249                     unsigned int strength, BN_CTX *ctx);
 I6	  60250 int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom);
 I6	  60251 int BN_rand_range_ex(BIGNUM *r, const BIGNUM *range, unsigned int strength,
 I6	  60252                      BN_CTX *ctx);
 I6	  60253 int BN_rand_range(BIGNUM *rnd, const BIGNUM *range);
 I6	  60254 int BN_priv_rand_range_ex(BIGNUM *r, const BIGNUM *range,
 I6	  60255                           unsigned int strength, BN_CTX *ctx);
 I6	  60256 int BN_priv_rand_range(BIGNUM *rnd, const BIGNUM *range);
 I6	  60257 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  60258 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I6	  60259 int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom);
 I6	  60260 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I6	  60261 int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range);
 I6	  60262 # endif
 I6	  60263 int BN_num_bits(const BIGNUM *a);
 I6	  60264 int BN_num_bits_word(BN_ULONG l);
       E	                      unsigned long long
 I6	  60265 int BN_security_bits(int L, int N);
 I6	  60266 BIGNUM *BN_new(void);
 I6	  60267 BIGNUM *BN_secure_new(void);
 I6	  60268 void BN_clear_free(BIGNUM *a);
 I6	  60269 BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);
 I6	  60270 void BN_swap(BIGNUM *a, BIGNUM *b);
 I6	  60271 BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret);
 I6	  60272 int BN_bn2bin(const BIGNUM *a, unsigned char *to);
 I6	  60273 int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen);
 I6	  60274 BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret);
 I6	  60275 int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen);
 I6	  60276 BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret);
 I6	  60277 int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen);
 I6	  60278 BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret);
 I6	  60279 int BN_bn2mpi(const BIGNUM *a, unsigned char *to);
 I6	  60280 int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 I6	  60281 int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 I6	  60282 int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 I6	  60283 int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 I6	  60284 int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
 I6	  60285 int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx);
 I6	  60286 /** BN_set_negative sets sign of a BIGNUM
 I6	  60287  * \param  b  pointer to the BIGNUM object
 I6	  60288  * \param  n  0 if the BIGNUM b should be positive and a value != 0 otherwise
 I6	  60289  */
 I6	  60290 void BN_set_negative(BIGNUM *b, int n);
 I6	  60291 /** BN_is_negative returns 1 if the BIGNUM is negative
 I6	  60292  * \param  b  pointer to the BIGNUM object
 I6	  60293  * \return 1 if a < 0 and 0 otherwise
 I6	  60294  */
 I6	  60295 int BN_is_negative(const BIGNUM *b);
 I6	  60296 
 I6	  60297 int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
 I6	  60298            BN_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1100
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60299 # define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx))
 I6	  60300 int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx);
 I6	  60301 int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
 I6	  60302                BN_CTX *ctx);
 I6	  60303 int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60304                      const BIGNUM *m);
 I6	  60305 int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
 I6	  60306                BN_CTX *ctx);
 I6	  60307 int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60308                      const BIGNUM *m);
 I6	  60309 int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
 I6	  60310                BN_CTX *ctx);
 I6	  60311 int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);
 I6	  60312 int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);
 I6	  60313 int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m);
 I6	  60314 int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m,
 I6	  60315                   BN_CTX *ctx);
 I6	  60316 int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m);
 I6	  60317 
 I6	  60318 BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w);
       E	 unsigned long long
       E	                                       unsigned long long
 I6	  60319 BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w);
       E	 unsigned long long
       E	                                 unsigned long long
 I6	  60320 int BN_mul_word(BIGNUM *a, BN_ULONG w);
       E	                            unsigned long long
 I6	  60321 int BN_add_word(BIGNUM *a, BN_ULONG w);
       E	                            unsigned long long
 I6	  60322 int BN_sub_word(BIGNUM *a, BN_ULONG w);
       E	                            unsigned long long
 I6	  60323 int BN_set_word(BIGNUM *a, BN_ULONG w);
       E	                            unsigned long long
 I6	  60324 BN_ULONG BN_get_word(const BIGNUM *a);
       E	 unsigned long long
 I6	  60325 
 I6	  60326 int BN_cmp(const BIGNUM *a, const BIGNUM *b);
 I6	  60327 void BN_free(BIGNUM *a);
 I6	  60328 int BN_is_bit_set(const BIGNUM *a, int n);
 I6	  60329 int BN_lshift(BIGNUM *r, const BIGNUM *a, int n);
 I6	  60330 int BN_lshift1(BIGNUM *r, const BIGNUM *a);
 I6	  60331 int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
 I6	  60332 
 I6	  60333 int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
 I6	  60334                const BIGNUM *m, BN_CTX *ctx);
 I6	  60335 int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
 I6	  60336                     const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx);
 I6	  60337 int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
 I6	  60338                               const BIGNUM *m, BN_CTX *ctx,
 I6	  60339                               BN_MONT_CTX *in_mont);
 I6	  60340 int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p,
       E	                                     unsigned long long
 I6	  60341                          const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx);
 I6	  60342 int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1,
 I6	  60343                      const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m,
 I6	  60344                      BN_CTX *ctx, BN_MONT_CTX *m_ctx);
 I6	  60345 int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1101
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60346                       const BIGNUM *m, BN_CTX *ctx);
 I6	  60347 int BN_mod_exp_mont_consttime_x2(BIGNUM *rr1, const BIGNUM *a1, const BIGNUM *p1,
 I6	  60348                                  const BIGNUM *m1, BN_MONT_CTX *in_mont1,
 I6	  60349                                  BIGNUM *rr2, const BIGNUM *a2, const BIGNUM *p2,
 I6	  60350                                  const BIGNUM *m2, BN_MONT_CTX *in_mont2,
 I6	  60351                                  BN_CTX *ctx);
 I6	  60352 
 I6	  60353 int BN_mask_bits(BIGNUM *a, int n);
 I6	  60354 # ifndef OPENSSL_NO_STDIO
 I6	  60355 int BN_print_fp(FILE *fp, const BIGNUM *a);
 I6	  60356 # endif
 I6	  60357 int BN_print(BIO *bio, const BIGNUM *a);
 I6	  60358 int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx);
 I6	  60359 int BN_rshift(BIGNUM *r, const BIGNUM *a, int n);
 I6	  60360 int BN_rshift1(BIGNUM *r, const BIGNUM *a);
 I6	  60361 void BN_clear(BIGNUM *a);
 I6	  60362 BIGNUM *BN_dup(const BIGNUM *a);
 I6	  60363 int BN_ucmp(const BIGNUM *a, const BIGNUM *b);
 I6	  60364 int BN_set_bit(BIGNUM *a, int n);
 I6	  60365 int BN_clear_bit(BIGNUM *a, int n);
 I6	  60366 char *BN_bn2hex(const BIGNUM *a);
 I6	  60367 char *BN_bn2dec(const BIGNUM *a);
 I6	  60368 int BN_hex2bn(BIGNUM **a, const char *str);
 I6	  60369 int BN_dec2bn(BIGNUM **a, const char *str);
 I6	  60370 int BN_asc2bn(BIGNUM **a, const char *str);
 I6	  60371 int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
 I6	  60372 int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns
 I6	  60373                                                                   * -2 for
 I6	  60374                                                                   * error */
 I6	  60375 BIGNUM *BN_mod_inverse(BIGNUM *ret,
 I6	  60376                        const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx);
 I6	  60377 BIGNUM *BN_mod_sqrt(BIGNUM *ret,
 I6	  60378                     const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx);
 I6	  60379 
 I6	  60380 void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords);
       E	                        unsigned long long
 I6	  60381 
 I6	  60382 /* Deprecated versions */
 I6	  60383 # ifndef OPENSSL_NO_DEPRECATED_0_9_8
 I6	  60384 OSSL_DEPRECATEDIN_0_9_8
       E	 extern
 I6	  60385 BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe,
 I6	  60386                           const BIGNUM *add, const BIGNUM *rem,
 I6	  60387                           void (*callback) (int, int, void *),
 I6	  60388                           void *cb_arg);
 I6	  60389 OSSL_DEPRECATEDIN_0_9_8
       E	 extern
 I6	  60390 int BN_is_prime(const BIGNUM *p, int nchecks,
 I6	  60391                 void (*callback) (int, int, void *),
 I6	  60392                 BN_CTX *ctx, void *cb_arg);
 I6	  60393 OSSL_DEPRECATEDIN_0_9_8
       E	 extern
 I6	  60394 int BN_is_prime_fasttest(const BIGNUM *p, int nchecks,
 I6	  60395                          void (*callback) (int, int, void *),
 I6	  60396                          BN_CTX *ctx, void *cb_arg,
 I6	  60397                          int do_trial_division);
 I6	  60398 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1102
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60399 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  60400 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I6	  60401 int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb);
 I6	  60402 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I6	  60403 int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx,
 I6	  60404                             int do_trial_division, BN_GENCB *cb);
 I6	  60405 # endif
 I6	  60406 /* Newer versions */
 I6	  60407 int BN_generate_prime_ex2(BIGNUM *ret, int bits, int safe,
 I6	  60408                           const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb,
 I6	  60409                           BN_CTX *ctx);
 I6	  60410 int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add,
 I6	  60411                          const BIGNUM *rem, BN_GENCB *cb);
 I6	  60412 int BN_check_prime(const BIGNUM *p, BN_CTX *ctx, BN_GENCB *cb);
 I6	  60413 
 I6	  60414 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  60415 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I6	  60416 int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx);
 I6	  60417 
 I6	  60418 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I6	  60419 int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2,
 I6	  60420                             const BIGNUM *Xp, const BIGNUM *Xp1,
 I6	  60421                             const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx,
 I6	  60422                             BN_GENCB *cb);
 I6	  60423 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I6	  60424 int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1,
 I6	  60425                               BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e,
 I6	  60426                               BN_CTX *ctx, BN_GENCB *cb);
 I6	  60427 # endif
 I6	  60428 
 I6	  60429 BN_MONT_CTX *BN_MONT_CTX_new(void);
 I6	  60430 int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60431                           BN_MONT_CTX *mont, BN_CTX *ctx);
 I6	  60432 int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
 I6	  60433                      BN_CTX *ctx);
 I6	  60434 int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
 I6	  60435                        BN_CTX *ctx);
 I6	  60436 void BN_MONT_CTX_free(BN_MONT_CTX *mont);
 I6	  60437 int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx);
 I6	  60438 BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from);
 I6	  60439 BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, CRYPTO_RWLOCK *lock,
 I6	  60440                                     const BIGNUM *mod, BN_CTX *ctx);
 I6	  60441 
 I6	  60442 /* BN_BLINDING flags */
 I6	  60443 # define BN_BLINDING_NO_UPDATE   0x00000001
 I6	  60444 # define BN_BLINDING_NO_RECREATE 0x00000002
 I6	  60445 
 I6	  60446 BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod);
 I6	  60447 void BN_BLINDING_free(BN_BLINDING *b);
 I6	  60448 int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx);
 I6	  60449 int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx);
 I6	  60450 int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1103
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60451 int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *);
 I6	  60452 int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b,
 I6	  60453                           BN_CTX *);
 I6	  60454 
 I6	  60455 int BN_BLINDING_is_current_thread(BN_BLINDING *b);
 I6	  60456 void BN_BLINDING_set_current_thread(BN_BLINDING *b);
 I6	  60457 int BN_BLINDING_lock(BN_BLINDING *b);
 I6	  60458 int BN_BLINDING_unlock(BN_BLINDING *b);
 I6	  60459 
 I6	  60460 unsigned long BN_BLINDING_get_flags(const BN_BLINDING *);
 I6	  60461 void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long);
 I6	  60462 BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b,
 I6	  60463                                       const BIGNUM *e, BIGNUM *m, BN_CTX *ctx,
 I6	  60464                                       int (*bn_mod_exp) (BIGNUM *r,
 I6	  60465                                                          const BIGNUM *a,
 I6	  60466                                                          const BIGNUM *p,
 I6	  60467                                                          const BIGNUM *m,
 I6	  60468                                                          BN_CTX *ctx,
 I6	  60469                                                          BN_MONT_CTX *m_ctx),
 I6	  60470                                       BN_MONT_CTX *m_ctx);
 I6	  60471 # ifndef OPENSSL_NO_DEPRECATED_0_9_8
 I6	  60472 OSSL_DEPRECATEDIN_0_9_8
       E	 extern
 I6	  60473 void BN_set_params(int mul, int high, int low, int mont);
 I6	  60474 OSSL_DEPRECATEDIN_0_9_8
       E	 extern
 I6	  60475 int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */
 I6	  60476 # endif
 I6	  60477 
 I6	  60478 BN_RECP_CTX *BN_RECP_CTX_new(void);
 I6	  60479 void BN_RECP_CTX_free(BN_RECP_CTX *recp);
 I6	  60480 int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx);
 I6	  60481 int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y,
 I6	  60482                           BN_RECP_CTX *recp, BN_CTX *ctx);
 I6	  60483 int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
 I6	  60484                     const BIGNUM *m, BN_CTX *ctx);
 I6	  60485 int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
 I6	  60486                 BN_RECP_CTX *recp, BN_CTX *ctx);
 I6	  60487 
 I6	  60488 # ifndef OPENSSL_NO_EC2M
 I6	  60489 
 I6	  60490 /*
 I6	  60491  * Functions for arithmetic over binary polynomials represented by BIGNUMs.
 I6	  60492  * The BIGNUM::neg property of BIGNUMs representing binary polynomials is
 I6	  60493  * ignored. Note that input arguments are not const so that their bit arrays
 I6	  60494  * can be expanded to the appropriate size if needed.
 I6	  60495  */
 I6	  60496 
 I6	  60497 /*
 I6	  60498  * r = a + b
 I6	  60499  */
 I6	  60500 int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 I6	  60501 #  define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b)
 I6	  60502 /*
 I6	  60503  * r=a mod p
 I6	  60504  */
 I6	  60505 int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1104
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60506 /* r = (a * b) mod p */
 I6	  60507 int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60508                     const BIGNUM *p, BN_CTX *ctx);
 I6	  60509 /* r = (a * a) mod p */
 I6	  60510 int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
 I6	  60511 /* r = (1 / b) mod p */
 I6	  60512 int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx);
 I6	  60513 /* r = (a / b) mod p */
 I6	  60514 int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60515                     const BIGNUM *p, BN_CTX *ctx);
 I6	  60516 /* r = (a ^ b) mod p */
 I6	  60517 int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60518                     const BIGNUM *p, BN_CTX *ctx);
 I6	  60519 /* r = sqrt(a) mod p */
 I6	  60520 int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
 I6	  60521                      BN_CTX *ctx);
 I6	  60522 /* r^2 + r = a mod p */
 I6	  60523 int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
 I6	  60524                            BN_CTX *ctx);
 I6	  60525 #  define BN_GF2m_cmp(a, b) BN_ucmp((a), (b))
 I6	  60526 /*-
 I6	  60527  * Some functions allow for representation of the irreducible polynomials
 I6	  60528  * as an unsigned int[], say p.  The irreducible f(t) is then of the form:
 I6	  60529  *     t^p[0] + t^p[1] + ... + t^p[k]
 I6	  60530  * where m = p[0] > p[1] > ... > p[k] = 0.
 I6	  60531  */
 I6	  60532 /* r = a mod p */
 I6	  60533 int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]);
 I6	  60534 /* r = (a * b) mod p */
 I6	  60535 int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60536                         const int p[], BN_CTX *ctx);
 I6	  60537 /* r = (a * a) mod p */
 I6	  60538 int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[],
 I6	  60539                         BN_CTX *ctx);
 I6	  60540 /* r = (1 / b) mod p */
 I6	  60541 int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[],
 I6	  60542                         BN_CTX *ctx);
 I6	  60543 /* r = (a / b) mod p */
 I6	  60544 int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60545                         const int p[], BN_CTX *ctx);
 I6	  60546 /* r = (a ^ b) mod p */
 I6	  60547 int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
 I6	  60548                         const int p[], BN_CTX *ctx);
 I6	  60549 /* r = sqrt(a) mod p */
 I6	  60550 int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a,
 I6	  60551                          const int p[], BN_CTX *ctx);
 I6	  60552 /* r^2 + r = a mod p */
 I6	  60553 int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a,
 I6	  60554                                const int p[], BN_CTX *ctx);
 I6	  60555 int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max);
 I6	  60556 int BN_GF2m_arr2poly(const int p[], BIGNUM *a);
 I6	  60557 
 I6	  60558 # endif
 I6	  60559 
 I6	  60560 /*
 I6	  60561  * faster mod functions for the 'NIST primes' 0 <= a < p^2
 I6	  60562  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1105
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]BN.H;1

 I6	  60563 int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
 I6	  60564 int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
 I6	  60565 int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
 I6	  60566 int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
 I6	  60567 int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx);
 I6	  60568 
 I6	  60569 const BIGNUM *BN_get0_nist_prime_192(void);
 I6	  60570 const BIGNUM *BN_get0_nist_prime_224(void);
 I6	  60571 const BIGNUM *BN_get0_nist_prime_256(void);
 I6	  60572 const BIGNUM *BN_get0_nist_prime_384(void);
 I6	  60573 const BIGNUM *BN_get0_nist_prime_521(void);
 I6	  60574 
 I6	  60575 int (*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM *a,
 I6	  60576                                           const BIGNUM *field, BN_CTX *ctx);
 I6	  60577 
 I6	  60578 int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range,
 I6	  60579                           const BIGNUM *priv, const unsigned char *message,
 I6	  60580                           size_t message_len, BN_CTX *ctx);
 I6	  60581 
 I6	  60582 /* Primes from RFC 2409 */
 I6	  60583 BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn);
 I6	  60584 BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn);
 I6	  60585 
 I6	  60586 /* Primes from RFC 3526 */
 I6	  60587 BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn);
 I6	  60588 BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn);
 I6	  60589 BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn);
 I6	  60590 BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn);
 I6	  60591 BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn);
 I6	  60592 BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn);
 I6	  60593 
 I6	  60594 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I6	  60595 #   define get_rfc2409_prime_768 BN_get_rfc2409_prime_768
 I6	  60596 #   define get_rfc2409_prime_1024 BN_get_rfc2409_prime_1024
 I6	  60597 #   define get_rfc3526_prime_1536 BN_get_rfc3526_prime_1536
 I6	  60598 #   define get_rfc3526_prime_2048 BN_get_rfc3526_prime_2048
 I6	  60599 #   define get_rfc3526_prime_3072 BN_get_rfc3526_prime_3072
 I6	  60600 #   define get_rfc3526_prime_4096 BN_get_rfc3526_prime_4096
 I6	  60601 #   define get_rfc3526_prime_6144 BN_get_rfc3526_prime_6144
 I6	  60602 #   define get_rfc3526_prime_8192 BN_get_rfc3526_prime_8192
 I6	  60603 #  endif
 I6	  60604 
 I6	  60605 int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom);
 I6	  60606 
 I6	  60607 
 I6    X  60608 # ifdef  __cplusplus
 I6    X  60609 }
 I6    X  60610 # endif
 I6	  60611 #endif
 I5	  60612 
 I5    X  60613 # ifdef  __cplusplus
 I5    X  60614 extern "C" {
 I5    X  60615 # endif
 I5	  60616 
 I5	  60617 # define OSSL_PARAM_UNMODIFIED ((size_t)-1)
 I5	  60618 
 I5	  60619 # define OSSL_PARAM_END \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1106
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PARAMS.H;1

 I5	  60620     { NULL, 0, NULL, 0, 0 }
 I5	  60621 
 I5	  60622 # define OSSL_PARAM_DEFN(key, type, addr, sz)    \
 I5	  60623     { (key), (type), (addr), (sz), OSSL_PARAM_UNMODIFIED }
 I5	  60624 
 I5	  60625 /* Basic parameter types without return sizes */
 I5	  60626 # define OSSL_PARAM_int(key, addr) \
 I5	  60627     OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int))
 I5	  60628 # define OSSL_PARAM_uint(key, addr) \
 I5	  60629     OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \
 I5	  60630                     sizeof(unsigned int))
 I5	  60631 # define OSSL_PARAM_long(key, addr) \
 I5	  60632     OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(long int))
 I5	  60633 # define OSSL_PARAM_ulong(key, addr) \
 I5	  60634     OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \
 I5	  60635                     sizeof(unsigned long int))
 I5	  60636 # define OSSL_PARAM_int32(key, addr) \
 I5	  60637     OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int32_t))
 I5	  60638 # define OSSL_PARAM_uint32(key, addr) \
 I5	  60639     OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \
 I5	  60640                     sizeof(uint32_t))
 I5	  60641 # define OSSL_PARAM_int64(key, addr) \
 I5	  60642     OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(int64_t))
 I5	  60643 # define OSSL_PARAM_uint64(key, addr) \
 I5	  60644     OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), \
 I5	  60645                     sizeof(uint64_t))
 I5	  60646 # define OSSL_PARAM_size_t(key, addr) \
 I5	  60647     OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (addr), sizeof(size_t))
 I5	  60648 # define OSSL_PARAM_time_t(key, addr) \
 I5	  60649     OSSL_PARAM_DEFN((key), OSSL_PARAM_INTEGER, (addr), sizeof(time_t))
 I5	  60650 # define OSSL_PARAM_double(key, addr) \
 I5	  60651     OSSL_PARAM_DEFN((key), OSSL_PARAM_REAL, (addr), sizeof(double))
 I5	  60652 
 I5	  60653 # define OSSL_PARAM_BN(key, bn, sz) \
 I5	  60654     OSSL_PARAM_DEFN((key), OSSL_PARAM_UNSIGNED_INTEGER, (bn), (sz))
 I5	  60655 # define OSSL_PARAM_utf8_string(key, addr, sz) \
 I5	  60656     OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_STRING, (addr), sz)
 I5	  60657 # define OSSL_PARAM_octet_string(key, addr, sz) \
 I5	  60658     OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_STRING, (addr), sz)
 I5	  60659 
 I5	  60660 # define OSSL_PARAM_utf8_ptr(key, addr, sz) \
 I5	  60661     OSSL_PARAM_DEFN((key), OSSL_PARAM_UTF8_PTR, (addr), sz)
 I5	  60662 # define OSSL_PARAM_octet_ptr(key, addr, sz) \
 I5	  60663     OSSL_PARAM_DEFN((key), OSSL_PARAM_OCTET_PTR, (addr), sz)
 I5	  60664 
 I5	  60665 /* Search an OSSL_PARAM array for a matching name */
 I5	  60666 OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *p, const char *key);
 I5	  60667 const OSSL_PARAM *OSSL_PARAM_locate_const(const OSSL_PARAM *p, const char *key);
 I5	  60668 
 I5	  60669 /* Basic parameter type run-time construction */
 I5	  60670 OSSL_PARAM OSSL_PARAM_construct_int(const char *key, int *buf);
 I5	  60671 OSSL_PARAM OSSL_PARAM_construct_uint(const char *key, unsigned int *buf);
 I5	  60672 OSSL_PARAM OSSL_PARAM_construct_long(const char *key, long int *buf);
 I5	  60673 OSSL_PARAM OSSL_PARAM_construct_ulong(const char *key, unsigned long int *buf);
 I5	  60674 OSSL_PARAM OSSL_PARAM_construct_int32(const char *key, int32_t *buf);
 I5	  60675 OSSL_PARAM OSSL_PARAM_construct_uint32(const char *key, uint32_t *buf);
 I5	  60676 OSSL_PARAM OSSL_PARAM_construct_int64(const char *key, int64_t *buf);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1107
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PARAMS.H;1

 I5	  60677 OSSL_PARAM OSSL_PARAM_construct_uint64(const char *key, uint64_t *buf);
 I5	  60678 OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf);
 I5	  60679 OSSL_PARAM OSSL_PARAM_construct_time_t(const char *key, time_t *buf);
 I5	  60680 OSSL_PARAM OSSL_PARAM_construct_BN(const char *key, unsigned char *buf,
 I5	  60681                                    size_t bsize);
 I5	  60682 OSSL_PARAM OSSL_PARAM_construct_double(const char *key, double *buf);
 I5	  60683 OSSL_PARAM OSSL_PARAM_construct_utf8_string(const char *key, char *buf,
 I5	  60684                                             size_t bsize);
 I5	  60685 OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf,
 I5	  60686                                          size_t bsize);
 I5	  60687 OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void *buf,
 I5	  60688                                              size_t bsize);
 I5	  60689 OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf,
 I5	  60690                                           size_t bsize);
 I5	  60691 OSSL_PARAM OSSL_PARAM_construct_end(void);
 I5	  60692 
 I5	  60693 int OSSL_PARAM_allocate_from_text(OSSL_PARAM *to,
 I5	  60694                                   const OSSL_PARAM *paramdefs,
 I5	  60695                                   const char *key, const char *value,
 I5	  60696                                   size_t value_n, int *found);
 I5	  60697 
 I5	  60698 int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val);
 I5	  60699 int OSSL_PARAM_get_uint(const OSSL_PARAM *p, unsigned int *val);
 I5	  60700 int OSSL_PARAM_get_long(const OSSL_PARAM *p, long int *val);
 I5	  60701 int OSSL_PARAM_get_ulong(const OSSL_PARAM *p, unsigned long int *val);
 I5	  60702 int OSSL_PARAM_get_int32(const OSSL_PARAM *p, int32_t *val);
 I5	  60703 int OSSL_PARAM_get_uint32(const OSSL_PARAM *p, uint32_t *val);
 I5	  60704 int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val);
 I5	  60705 int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val);
 I5	  60706 int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val);
 I5	  60707 int OSSL_PARAM_get_time_t(const OSSL_PARAM *p, time_t *val);
 I5	  60708 
 I5	  60709 int OSSL_PARAM_set_int(OSSL_PARAM *p, int val);
 I5	  60710 int OSSL_PARAM_set_uint(OSSL_PARAM *p, unsigned int val);
 I5	  60711 int OSSL_PARAM_set_long(OSSL_PARAM *p, long int val);
 I5	  60712 int OSSL_PARAM_set_ulong(OSSL_PARAM *p, unsigned long int val);
 I5	  60713 int OSSL_PARAM_set_int32(OSSL_PARAM *p, int32_t val);
 I5	  60714 int OSSL_PARAM_set_uint32(OSSL_PARAM *p, uint32_t val);
 I5	  60715 int OSSL_PARAM_set_int64(OSSL_PARAM *p, int64_t val);
 I5	  60716 int OSSL_PARAM_set_uint64(OSSL_PARAM *p, uint64_t val);
 I5	  60717 int OSSL_PARAM_set_size_t(OSSL_PARAM *p, size_t val);
 I5	  60718 int OSSL_PARAM_set_time_t(OSSL_PARAM *p, time_t val);
 I5	  60719 
 I5	  60720 int OSSL_PARAM_get_double(const OSSL_PARAM *p, double *val);
 I5	  60721 int OSSL_PARAM_set_double(OSSL_PARAM *p, double val);
 I5	  60722 
 I5	  60723 int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val);
 I5	  60724 int OSSL_PARAM_set_BN(OSSL_PARAM *p, const BIGNUM *val);
 I5	  60725 
 I5	  60726 int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t max_len);
 I5	  60727 int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val);
 I5	  60728 
 I5	  60729 int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t max_len,
 I5	  60730                                 size_t *used_len);
 I5	  60731 int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val, size_t len);
 I5	  60732 
 I5	  60733 int OSSL_PARAM_get_utf8_ptr(const OSSL_PARAM *p, const char **val);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1108
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PARAMS.H;1

 I5	  60734 int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, const char *val);
 I5	  60735 
 I5	  60736 int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val,
 I5	  60737                              size_t *used_len);
 I5	  60738 int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val,
 I5	  60739                              size_t used_len);
 I5	  60740 
 I5	  60741 int OSSL_PARAM_get_utf8_string_ptr(const OSSL_PARAM *p, const char **val);
 I5	  60742 int OSSL_PARAM_get_octet_string_ptr(const OSSL_PARAM *p, const void **val,
 I5	  60743                                     size_t *used_len);
 I5	  60744 
 I5	  60745 int OSSL_PARAM_modified(const OSSL_PARAM *p);
 I5	  60746 void OSSL_PARAM_set_all_unmodified(OSSL_PARAM *p);
 I5	  60747 
 I5	  60748 OSSL_PARAM *OSSL_PARAM_dup(const OSSL_PARAM *p);
 I5	  60749 OSSL_PARAM *OSSL_PARAM_merge(const OSSL_PARAM *p1, const OSSL_PARAM *p2);
 I5	  60750 void OSSL_PARAM_free(OSSL_PARAM *p);
 I5	  60751 
 I5    X  60752 # ifdef  __cplusplus
 I5    X  60753 }
 I5    X  60754 # endif
 I5	  60755 #endif
 I4	  60756 
 I4	  60757 # define EVP_MAX_MD_SIZE                 64/* longest known is SHA512 */
 I4	  60758 # define EVP_MAX_KEY_LENGTH              64
 I4	  60759 # define EVP_MAX_IV_LENGTH               16
 I4	  60760 # define EVP_MAX_BLOCK_LENGTH            32
 I4	  60761 
 I4	  60762 # define PKCS5_SALT_LEN                  8
 I4	  60763 /* Default PKCS#5 iteration count */
 I4	  60764 # define PKCS5_DEFAULT_ITER              2048
 I4	  60765 
 I4	  60766 # include <openssl/objects.h>
 I5	  60767 /*
 I5	  60768  * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
 I5	  60769  *
 I5	  60770  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  60771  * this file except in compliance with the License.  You can obtain a copy
 I5	  60772  * in the file LICENSE in the source distribution or at
 I5	  60773  * https://www.openssl.org/source/license.html
 I5	  60774  */
 I5	  60775 
 I5	  60776 #ifndef OPENSSL_OBJECTS_H
 I5	  60777 # define OPENSSL_OBJECTS_H
 I5	  60778 # pragma once
 I5	  60779 
 I5    X  60780 # include <openssl/macros.h>
 I5	  60781 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  60782 #  define HEADER_OBJECTS_H
 I5	  60783 # endif
 I5	  60784 
 I5	  60785 # include <openssl/obj_mac.h>
 I6	  60786 /*
 I6	  60787  * WARNING: do not edit!
 I6	  60788  * Generated by crypto/objects/objects.pl
 I6	  60789  *
 I6	  60790  * Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1109
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  60791  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  60792  * this file except in compliance with the License.  You can obtain a copy
 I6	  60793  * in the file LICENSE in the source distribution or at
 I6	  60794  * https://www.openssl.org/source/license.html
 I6	  60795  */
 I6	  60796 
 I6	  60797 #ifndef OPENSSL_OBJ_MAC_H
 I6	  60798 # define OPENSSL_OBJ_MAC_H
 I6	  60799 # pragma once
 I6	  60800 
 I6	  60801 #define SN_undef                        "UNDEF"
 I6	  60802 #define LN_undef                        "undefined"
 I6	  60803 #define NID_undef                       0
 I6	  60804 #define OBJ_undef                       0L
 I6	  60805 
 I6	  60806 #define SN_itu_t                "ITU-T"
 I6	  60807 #define LN_itu_t                "itu-t"
 I6	  60808 #define NID_itu_t               645
 I6	  60809 #define OBJ_itu_t               0L
 I6	  60810 
 I6	  60811 #define NID_ccitt               404
 I6	  60812 #define OBJ_ccitt               OBJ_itu_t
 I6	  60813 
 I6	  60814 #define SN_iso          "ISO"
 I6	  60815 #define LN_iso          "iso"
 I6	  60816 #define NID_iso         181
 I6	  60817 #define OBJ_iso         1L
 I6	  60818 
 I6	  60819 #define SN_joint_iso_itu_t              "JOINT-ISO-ITU-T"
 I6	  60820 #define LN_joint_iso_itu_t              "joint-iso-itu-t"
 I6	  60821 #define NID_joint_iso_itu_t             646
 I6	  60822 #define OBJ_joint_iso_itu_t             2L
 I6	  60823 
 I6	  60824 #define NID_joint_iso_ccitt             393
 I6	  60825 #define OBJ_joint_iso_ccitt             OBJ_joint_iso_itu_t
 I6	  60826 
 I6	  60827 #define SN_member_body          "member-body"
 I6	  60828 #define LN_member_body          "ISO Member Body"
 I6	  60829 #define NID_member_body         182
 I6	  60830 #define OBJ_member_body         OBJ_iso,2L
 I6	  60831 
 I6	  60832 #define SN_identified_organization              "identified-organization"
 I6	  60833 #define NID_identified_organization             676
 I6	  60834 #define OBJ_identified_organization             OBJ_iso,3L
 I6	  60835 
 I6	  60836 #define SN_gmac         "GMAC"
 I6	  60837 #define LN_gmac         "gmac"
 I6	  60838 #define NID_gmac                1195
 I6	  60839 #define OBJ_gmac                OBJ_iso,0L,9797L,3L,4L
 I6	  60840 
 I6	  60841 #define SN_hmac_md5             "HMAC-MD5"
 I6	  60842 #define LN_hmac_md5             "hmac-md5"
 I6	  60843 #define NID_hmac_md5            780
 I6	  60844 #define OBJ_hmac_md5            OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L
 I6	  60845 
 I6	  60846 #define SN_hmac_sha1            "HMAC-SHA1"
 I6	  60847 #define LN_hmac_sha1            "hmac-sha1"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1110
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  60848 #define NID_hmac_sha1           781
 I6	  60849 #define OBJ_hmac_sha1           OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L
 I6	  60850 
 I6	  60851 #define SN_x509ExtAdmission             "x509ExtAdmission"
 I6	  60852 #define LN_x509ExtAdmission             "Professional Information or basis for Admission"
 I6	  60853 #define NID_x509ExtAdmission            1093
 I6	  60854 #define OBJ_x509ExtAdmission            OBJ_identified_organization,36L,8L,3L,3L
 I6	  60855 
 I6	  60856 #define SN_certicom_arc         "certicom-arc"
 I6	  60857 #define NID_certicom_arc                677
 I6	  60858 #define OBJ_certicom_arc                OBJ_identified_organization,132L
 I6	  60859 
 I6	  60860 #define SN_ieee         "ieee"
 I6	  60861 #define NID_ieee                1170
 I6	  60862 #define OBJ_ieee                OBJ_identified_organization,111L
 I6	  60863 
 I6	  60864 #define SN_ieee_siswg           "ieee-siswg"
 I6	  60865 #define LN_ieee_siswg           "IEEE Security in Storage Working Group"
 I6	  60866 #define NID_ieee_siswg          1171
 I6	  60867 #define OBJ_ieee_siswg          OBJ_ieee,2L,1619L
 I6	  60868 
 I6	  60869 #define SN_international_organizations          "international-organizations"
 I6	  60870 #define LN_international_organizations          "International Organizations"
 I6	  60871 #define NID_international_organizations         647
 I6	  60872 #define OBJ_international_organizations         OBJ_joint_iso_itu_t,23L
 I6	  60873 
 I6	  60874 #define SN_wap          "wap"
 I6	  60875 #define NID_wap         678
 I6	  60876 #define OBJ_wap         OBJ_international_organizations,43L
 I6	  60877 
 I6	  60878 #define SN_wap_wsg              "wap-wsg"
 I6	  60879 #define NID_wap_wsg             679
 I6	  60880 #define OBJ_wap_wsg             OBJ_wap,1L
 I6	  60881 
 I6	  60882 #define SN_selected_attribute_types             "selected-attribute-types"
 I6	  60883 #define LN_selected_attribute_types             "Selected Attribute Types"
 I6	  60884 #define NID_selected_attribute_types            394
 I6	  60885 #define OBJ_selected_attribute_types            OBJ_joint_iso_itu_t,5L,1L,5L
 I6	  60886 
 I6	  60887 #define SN_clearance            "clearance"
 I6	  60888 #define NID_clearance           395
 I6	  60889 #define OBJ_clearance           OBJ_selected_attribute_types,55L
 I6	  60890 
 I6	  60891 #define SN_ISO_US               "ISO-US"
 I6	  60892 #define LN_ISO_US               "ISO US Member Body"
 I6	  60893 #define NID_ISO_US              183
 I6	  60894 #define OBJ_ISO_US              OBJ_member_body,840L
 I6	  60895 
 I6	  60896 #define SN_X9_57                "X9-57"
 I6	  60897 #define LN_X9_57                "X9.57"
 I6	  60898 #define NID_X9_57               184
 I6	  60899 #define OBJ_X9_57               OBJ_ISO_US,10040L
 I6	  60900 
 I6	  60901 #define SN_X9cm         "X9cm"
 I6	  60902 #define LN_X9cm         "X9.57 CM ?"
 I6	  60903 #define NID_X9cm                185
 I6	  60904 #define OBJ_X9cm                OBJ_X9_57,4L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1111
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  60905 
 I6	  60906 #define SN_ISO_CN               "ISO-CN"
 I6	  60907 #define LN_ISO_CN               "ISO CN Member Body"
 I6	  60908 #define NID_ISO_CN              1140
 I6	  60909 #define OBJ_ISO_CN              OBJ_member_body,156L
 I6	  60910 
 I6	  60911 #define SN_oscca                "oscca"
 I6	  60912 #define NID_oscca               1141
 I6	  60913 #define OBJ_oscca               OBJ_ISO_CN,10197L
 I6	  60914 
 I6	  60915 #define SN_sm_scheme            "sm-scheme"
 I6	  60916 #define NID_sm_scheme           1142
 I6	  60917 #define OBJ_sm_scheme           OBJ_oscca,1L
 I6	  60918 
 I6	  60919 #define SN_dsa          "DSA"
 I6	  60920 #define LN_dsa          "dsaEncryption"
 I6	  60921 #define NID_dsa         116
 I6	  60922 #define OBJ_dsa         OBJ_X9cm,1L
 I6	  60923 
 I6	  60924 #define SN_dsaWithSHA1          "DSA-SHA1"
 I6	  60925 #define LN_dsaWithSHA1          "dsaWithSHA1"
 I6	  60926 #define NID_dsaWithSHA1         113
 I6	  60927 #define OBJ_dsaWithSHA1         OBJ_X9cm,3L
 I6	  60928 
 I6	  60929 #define SN_ansi_X9_62           "ansi-X9-62"
 I6	  60930 #define LN_ansi_X9_62           "ANSI X9.62"
 I6	  60931 #define NID_ansi_X9_62          405
 I6	  60932 #define OBJ_ansi_X9_62          OBJ_ISO_US,10045L
 I6	  60933 
 I6	  60934 #define OBJ_X9_62_id_fieldType          OBJ_ansi_X9_62,1L
 I6	  60935 
 I6	  60936 #define SN_X9_62_prime_field            "prime-field"
 I6	  60937 #define NID_X9_62_prime_field           406
 I6	  60938 #define OBJ_X9_62_prime_field           OBJ_X9_62_id_fieldType,1L
 I6	  60939 
 I6	  60940 #define SN_X9_62_characteristic_two_field               "characteristic-two-field"
 I6	  60941 #define NID_X9_62_characteristic_two_field              407
 I6	  60942 #define OBJ_X9_62_characteristic_two_field              OBJ_X9_62_id_fieldType,2L
 I6	  60943 
 I6	  60944 #define SN_X9_62_id_characteristic_two_basis            "id-characteristic-two-basis"
 I6	  60945 #define NID_X9_62_id_characteristic_two_basis           680
 I6	  60946 #define OBJ_X9_62_id_characteristic_two_basis           OBJ_X9_62_characteristic_two_field,3L
 I6	  60947 
 I6	  60948 #define SN_X9_62_onBasis                "onBasis"
 I6	  60949 #define NID_X9_62_onBasis               681
 I6	  60950 #define OBJ_X9_62_onBasis               OBJ_X9_62_id_characteristic_two_basis,1L
 I6	  60951 
 I6	  60952 #define SN_X9_62_tpBasis                "tpBasis"
 I6	  60953 #define NID_X9_62_tpBasis               682
 I6	  60954 #define OBJ_X9_62_tpBasis               OBJ_X9_62_id_characteristic_two_basis,2L
 I6	  60955 
 I6	  60956 #define SN_X9_62_ppBasis                "ppBasis"
 I6	  60957 #define NID_X9_62_ppBasis               683
 I6	  60958 #define OBJ_X9_62_ppBasis               OBJ_X9_62_id_characteristic_two_basis,3L
 I6	  60959 
 I6	  60960 #define OBJ_X9_62_id_publicKeyType              OBJ_ansi_X9_62,2L
 I6	  60961 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1112
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  60962 #define SN_X9_62_id_ecPublicKey         "id-ecPublicKey"
 I6	  60963 #define NID_X9_62_id_ecPublicKey                408
 I6	  60964 #define OBJ_X9_62_id_ecPublicKey                OBJ_X9_62_id_publicKeyType,1L
 I6	  60965 
 I6	  60966 #define OBJ_X9_62_ellipticCurve         OBJ_ansi_X9_62,3L
 I6	  60967 
 I6	  60968 #define OBJ_X9_62_c_TwoCurve            OBJ_X9_62_ellipticCurve,0L
 I6	  60969 
 I6	  60970 #define SN_X9_62_c2pnb163v1             "c2pnb163v1"
 I6	  60971 #define NID_X9_62_c2pnb163v1            684
 I6	  60972 #define OBJ_X9_62_c2pnb163v1            OBJ_X9_62_c_TwoCurve,1L
 I6	  60973 
 I6	  60974 #define SN_X9_62_c2pnb163v2             "c2pnb163v2"
 I6	  60975 #define NID_X9_62_c2pnb163v2            685
 I6	  60976 #define OBJ_X9_62_c2pnb163v2            OBJ_X9_62_c_TwoCurve,2L
 I6	  60977 
 I6	  60978 #define SN_X9_62_c2pnb163v3             "c2pnb163v3"
 I6	  60979 #define NID_X9_62_c2pnb163v3            686
 I6	  60980 #define OBJ_X9_62_c2pnb163v3            OBJ_X9_62_c_TwoCurve,3L
 I6	  60981 
 I6	  60982 #define SN_X9_62_c2pnb176v1             "c2pnb176v1"
 I6	  60983 #define NID_X9_62_c2pnb176v1            687
 I6	  60984 #define OBJ_X9_62_c2pnb176v1            OBJ_X9_62_c_TwoCurve,4L
 I6	  60985 
 I6	  60986 #define SN_X9_62_c2tnb191v1             "c2tnb191v1"
 I6	  60987 #define NID_X9_62_c2tnb191v1            688
 I6	  60988 #define OBJ_X9_62_c2tnb191v1            OBJ_X9_62_c_TwoCurve,5L
 I6	  60989 
 I6	  60990 #define SN_X9_62_c2tnb191v2             "c2tnb191v2"
 I6	  60991 #define NID_X9_62_c2tnb191v2            689
 I6	  60992 #define OBJ_X9_62_c2tnb191v2            OBJ_X9_62_c_TwoCurve,6L
 I6	  60993 
 I6	  60994 #define SN_X9_62_c2tnb191v3             "c2tnb191v3"
 I6	  60995 #define NID_X9_62_c2tnb191v3            690
 I6	  60996 #define OBJ_X9_62_c2tnb191v3            OBJ_X9_62_c_TwoCurve,7L
 I6	  60997 
 I6	  60998 #define SN_X9_62_c2onb191v4             "c2onb191v4"
 I6	  60999 #define NID_X9_62_c2onb191v4            691
 I6	  61000 #define OBJ_X9_62_c2onb191v4            OBJ_X9_62_c_TwoCurve,8L
 I6	  61001 
 I6	  61002 #define SN_X9_62_c2onb191v5             "c2onb191v5"
 I6	  61003 #define NID_X9_62_c2onb191v5            692
 I6	  61004 #define OBJ_X9_62_c2onb191v5            OBJ_X9_62_c_TwoCurve,9L
 I6	  61005 
 I6	  61006 #define SN_X9_62_c2pnb208w1             "c2pnb208w1"
 I6	  61007 #define NID_X9_62_c2pnb208w1            693
 I6	  61008 #define OBJ_X9_62_c2pnb208w1            OBJ_X9_62_c_TwoCurve,10L
 I6	  61009 
 I6	  61010 #define SN_X9_62_c2tnb239v1             "c2tnb239v1"
 I6	  61011 #define NID_X9_62_c2tnb239v1            694
 I6	  61012 #define OBJ_X9_62_c2tnb239v1            OBJ_X9_62_c_TwoCurve,11L
 I6	  61013 
 I6	  61014 #define SN_X9_62_c2tnb239v2             "c2tnb239v2"
 I6	  61015 #define NID_X9_62_c2tnb239v2            695
 I6	  61016 #define OBJ_X9_62_c2tnb239v2            OBJ_X9_62_c_TwoCurve,12L
 I6	  61017 
 I6	  61018 #define SN_X9_62_c2tnb239v3             "c2tnb239v3"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1113
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61019 #define NID_X9_62_c2tnb239v3            696
 I6	  61020 #define OBJ_X9_62_c2tnb239v3            OBJ_X9_62_c_TwoCurve,13L
 I6	  61021 
 I6	  61022 #define SN_X9_62_c2onb239v4             "c2onb239v4"
 I6	  61023 #define NID_X9_62_c2onb239v4            697
 I6	  61024 #define OBJ_X9_62_c2onb239v4            OBJ_X9_62_c_TwoCurve,14L
 I6	  61025 
 I6	  61026 #define SN_X9_62_c2onb239v5             "c2onb239v5"
 I6	  61027 #define NID_X9_62_c2onb239v5            698
 I6	  61028 #define OBJ_X9_62_c2onb239v5            OBJ_X9_62_c_TwoCurve,15L
 I6	  61029 
 I6	  61030 #define SN_X9_62_c2pnb272w1             "c2pnb272w1"
 I6	  61031 #define NID_X9_62_c2pnb272w1            699
 I6	  61032 #define OBJ_X9_62_c2pnb272w1            OBJ_X9_62_c_TwoCurve,16L
 I6	  61033 
 I6	  61034 #define SN_X9_62_c2pnb304w1             "c2pnb304w1"
 I6	  61035 #define NID_X9_62_c2pnb304w1            700
 I6	  61036 #define OBJ_X9_62_c2pnb304w1            OBJ_X9_62_c_TwoCurve,17L
 I6	  61037 
 I6	  61038 #define SN_X9_62_c2tnb359v1             "c2tnb359v1"
 I6	  61039 #define NID_X9_62_c2tnb359v1            701
 I6	  61040 #define OBJ_X9_62_c2tnb359v1            OBJ_X9_62_c_TwoCurve,18L
 I6	  61041 
 I6	  61042 #define SN_X9_62_c2pnb368w1             "c2pnb368w1"
 I6	  61043 #define NID_X9_62_c2pnb368w1            702
 I6	  61044 #define OBJ_X9_62_c2pnb368w1            OBJ_X9_62_c_TwoCurve,19L
 I6	  61045 
 I6	  61046 #define SN_X9_62_c2tnb431r1             "c2tnb431r1"
 I6	  61047 #define NID_X9_62_c2tnb431r1            703
 I6	  61048 #define OBJ_X9_62_c2tnb431r1            OBJ_X9_62_c_TwoCurve,20L
 I6	  61049 
 I6	  61050 #define OBJ_X9_62_primeCurve            OBJ_X9_62_ellipticCurve,1L
 I6	  61051 
 I6	  61052 #define SN_X9_62_prime192v1             "prime192v1"
 I6	  61053 #define NID_X9_62_prime192v1            409
 I6	  61054 #define OBJ_X9_62_prime192v1            OBJ_X9_62_primeCurve,1L
 I6	  61055 
 I6	  61056 #define SN_X9_62_prime192v2             "prime192v2"
 I6	  61057 #define NID_X9_62_prime192v2            410
 I6	  61058 #define OBJ_X9_62_prime192v2            OBJ_X9_62_primeCurve,2L
 I6	  61059 
 I6	  61060 #define SN_X9_62_prime192v3             "prime192v3"
 I6	  61061 #define NID_X9_62_prime192v3            411
 I6	  61062 #define OBJ_X9_62_prime192v3            OBJ_X9_62_primeCurve,3L
 I6	  61063 
 I6	  61064 #define SN_X9_62_prime239v1             "prime239v1"
 I6	  61065 #define NID_X9_62_prime239v1            412
 I6	  61066 #define OBJ_X9_62_prime239v1            OBJ_X9_62_primeCurve,4L
 I6	  61067 
 I6	  61068 #define SN_X9_62_prime239v2             "prime239v2"
 I6	  61069 #define NID_X9_62_prime239v2            413
 I6	  61070 #define OBJ_X9_62_prime239v2            OBJ_X9_62_primeCurve,5L
 I6	  61071 
 I6	  61072 #define SN_X9_62_prime239v3             "prime239v3"
 I6	  61073 #define NID_X9_62_prime239v3            414
 I6	  61074 #define OBJ_X9_62_prime239v3            OBJ_X9_62_primeCurve,6L
 I6	  61075 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1114
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61076 #define SN_X9_62_prime256v1             "prime256v1"
 I6	  61077 #define NID_X9_62_prime256v1            415
 I6	  61078 #define OBJ_X9_62_prime256v1            OBJ_X9_62_primeCurve,7L
 I6	  61079 
 I6	  61080 #define OBJ_X9_62_id_ecSigType          OBJ_ansi_X9_62,4L
 I6	  61081 
 I6	  61082 #define SN_ecdsa_with_SHA1              "ecdsa-with-SHA1"
 I6	  61083 #define NID_ecdsa_with_SHA1             416
 I6	  61084 #define OBJ_ecdsa_with_SHA1             OBJ_X9_62_id_ecSigType,1L
 I6	  61085 
 I6	  61086 #define SN_ecdsa_with_Recommended               "ecdsa-with-Recommended"
 I6	  61087 #define NID_ecdsa_with_Recommended              791
 I6	  61088 #define OBJ_ecdsa_with_Recommended              OBJ_X9_62_id_ecSigType,2L
 I6	  61089 
 I6	  61090 #define SN_ecdsa_with_Specified         "ecdsa-with-Specified"
 I6	  61091 #define NID_ecdsa_with_Specified                792
 I6	  61092 #define OBJ_ecdsa_with_Specified                OBJ_X9_62_id_ecSigType,3L
 I6	  61093 
 I6	  61094 #define SN_ecdsa_with_SHA224            "ecdsa-with-SHA224"
 I6	  61095 #define NID_ecdsa_with_SHA224           793
 I6	  61096 #define OBJ_ecdsa_with_SHA224           OBJ_ecdsa_with_Specified,1L
 I6	  61097 
 I6	  61098 #define SN_ecdsa_with_SHA256            "ecdsa-with-SHA256"
 I6	  61099 #define NID_ecdsa_with_SHA256           794
 I6	  61100 #define OBJ_ecdsa_with_SHA256           OBJ_ecdsa_with_Specified,2L
 I6	  61101 
 I6	  61102 #define SN_ecdsa_with_SHA384            "ecdsa-with-SHA384"
 I6	  61103 #define NID_ecdsa_with_SHA384           795
 I6	  61104 #define OBJ_ecdsa_with_SHA384           OBJ_ecdsa_with_Specified,3L
 I6	  61105 
 I6	  61106 #define SN_ecdsa_with_SHA512            "ecdsa-with-SHA512"
 I6	  61107 #define NID_ecdsa_with_SHA512           796
 I6	  61108 #define OBJ_ecdsa_with_SHA512           OBJ_ecdsa_with_Specified,4L
 I6	  61109 
 I6	  61110 #define OBJ_secg_ellipticCurve          OBJ_certicom_arc,0L
 I6	  61111 
 I6	  61112 #define SN_secp112r1            "secp112r1"
 I6	  61113 #define NID_secp112r1           704
 I6	  61114 #define OBJ_secp112r1           OBJ_secg_ellipticCurve,6L
 I6	  61115 
 I6	  61116 #define SN_secp112r2            "secp112r2"
 I6	  61117 #define NID_secp112r2           705
 I6	  61118 #define OBJ_secp112r2           OBJ_secg_ellipticCurve,7L
 I6	  61119 
 I6	  61120 #define SN_secp128r1            "secp128r1"
 I6	  61121 #define NID_secp128r1           706
 I6	  61122 #define OBJ_secp128r1           OBJ_secg_ellipticCurve,28L
 I6	  61123 
 I6	  61124 #define SN_secp128r2            "secp128r2"
 I6	  61125 #define NID_secp128r2           707
 I6	  61126 #define OBJ_secp128r2           OBJ_secg_ellipticCurve,29L
 I6	  61127 
 I6	  61128 #define SN_secp160k1            "secp160k1"
 I6	  61129 #define NID_secp160k1           708
 I6	  61130 #define OBJ_secp160k1           OBJ_secg_ellipticCurve,9L
 I6	  61131 
 I6	  61132 #define SN_secp160r1            "secp160r1"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1115
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61133 #define NID_secp160r1           709
 I6	  61134 #define OBJ_secp160r1           OBJ_secg_ellipticCurve,8L
 I6	  61135 
 I6	  61136 #define SN_secp160r2            "secp160r2"
 I6	  61137 #define NID_secp160r2           710
 I6	  61138 #define OBJ_secp160r2           OBJ_secg_ellipticCurve,30L
 I6	  61139 
 I6	  61140 #define SN_secp192k1            "secp192k1"
 I6	  61141 #define NID_secp192k1           711
 I6	  61142 #define OBJ_secp192k1           OBJ_secg_ellipticCurve,31L
 I6	  61143 
 I6	  61144 #define SN_secp224k1            "secp224k1"
 I6	  61145 #define NID_secp224k1           712
 I6	  61146 #define OBJ_secp224k1           OBJ_secg_ellipticCurve,32L
 I6	  61147 
 I6	  61148 #define SN_secp224r1            "secp224r1"
 I6	  61149 #define NID_secp224r1           713
 I6	  61150 #define OBJ_secp224r1           OBJ_secg_ellipticCurve,33L
 I6	  61151 
 I6	  61152 #define SN_secp256k1            "secp256k1"
 I6	  61153 #define NID_secp256k1           714
 I6	  61154 #define OBJ_secp256k1           OBJ_secg_ellipticCurve,10L
 I6	  61155 
 I6	  61156 #define SN_secp384r1            "secp384r1"
 I6	  61157 #define NID_secp384r1           715
 I6	  61158 #define OBJ_secp384r1           OBJ_secg_ellipticCurve,34L
 I6	  61159 
 I6	  61160 #define SN_secp521r1            "secp521r1"
 I6	  61161 #define NID_secp521r1           716
 I6	  61162 #define OBJ_secp521r1           OBJ_secg_ellipticCurve,35L
 I6	  61163 
 I6	  61164 #define SN_sect113r1            "sect113r1"
 I6	  61165 #define NID_sect113r1           717
 I6	  61166 #define OBJ_sect113r1           OBJ_secg_ellipticCurve,4L
 I6	  61167 
 I6	  61168 #define SN_sect113r2            "sect113r2"
 I6	  61169 #define NID_sect113r2           718
 I6	  61170 #define OBJ_sect113r2           OBJ_secg_ellipticCurve,5L
 I6	  61171 
 I6	  61172 #define SN_sect131r1            "sect131r1"
 I6	  61173 #define NID_sect131r1           719
 I6	  61174 #define OBJ_sect131r1           OBJ_secg_ellipticCurve,22L
 I6	  61175 
 I6	  61176 #define SN_sect131r2            "sect131r2"
 I6	  61177 #define NID_sect131r2           720
 I6	  61178 #define OBJ_sect131r2           OBJ_secg_ellipticCurve,23L
 I6	  61179 
 I6	  61180 #define SN_sect163k1            "sect163k1"
 I6	  61181 #define NID_sect163k1           721
 I6	  61182 #define OBJ_sect163k1           OBJ_secg_ellipticCurve,1L
 I6	  61183 
 I6	  61184 #define SN_sect163r1            "sect163r1"
 I6	  61185 #define NID_sect163r1           722
 I6	  61186 #define OBJ_sect163r1           OBJ_secg_ellipticCurve,2L
 I6	  61187 
 I6	  61188 #define SN_sect163r2            "sect163r2"
 I6	  61189 #define NID_sect163r2           723

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1116
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61190 #define OBJ_sect163r2           OBJ_secg_ellipticCurve,15L
 I6	  61191 
 I6	  61192 #define SN_sect193r1            "sect193r1"
 I6	  61193 #define NID_sect193r1           724
 I6	  61194 #define OBJ_sect193r1           OBJ_secg_ellipticCurve,24L
 I6	  61195 
 I6	  61196 #define SN_sect193r2            "sect193r2"
 I6	  61197 #define NID_sect193r2           725
 I6	  61198 #define OBJ_sect193r2           OBJ_secg_ellipticCurve,25L
 I6	  61199 
 I6	  61200 #define SN_sect233k1            "sect233k1"
 I6	  61201 #define NID_sect233k1           726
 I6	  61202 #define OBJ_sect233k1           OBJ_secg_ellipticCurve,26L
 I6	  61203 
 I6	  61204 #define SN_sect233r1            "sect233r1"
 I6	  61205 #define NID_sect233r1           727
 I6	  61206 #define OBJ_sect233r1           OBJ_secg_ellipticCurve,27L
 I6	  61207 
 I6	  61208 #define SN_sect239k1            "sect239k1"
 I6	  61209 #define NID_sect239k1           728
 I6	  61210 #define OBJ_sect239k1           OBJ_secg_ellipticCurve,3L
 I6	  61211 
 I6	  61212 #define SN_sect283k1            "sect283k1"
 I6	  61213 #define NID_sect283k1           729
 I6	  61214 #define OBJ_sect283k1           OBJ_secg_ellipticCurve,16L
 I6	  61215 
 I6	  61216 #define SN_sect283r1            "sect283r1"
 I6	  61217 #define NID_sect283r1           730
 I6	  61218 #define OBJ_sect283r1           OBJ_secg_ellipticCurve,17L
 I6	  61219 
 I6	  61220 #define SN_sect409k1            "sect409k1"
 I6	  61221 #define NID_sect409k1           731
 I6	  61222 #define OBJ_sect409k1           OBJ_secg_ellipticCurve,36L
 I6	  61223 
 I6	  61224 #define SN_sect409r1            "sect409r1"
 I6	  61225 #define NID_sect409r1           732
 I6	  61226 #define OBJ_sect409r1           OBJ_secg_ellipticCurve,37L
 I6	  61227 
 I6	  61228 #define SN_sect571k1            "sect571k1"
 I6	  61229 #define NID_sect571k1           733
 I6	  61230 #define OBJ_sect571k1           OBJ_secg_ellipticCurve,38L
 I6	  61231 
 I6	  61232 #define SN_sect571r1            "sect571r1"
 I6	  61233 #define NID_sect571r1           734
 I6	  61234 #define OBJ_sect571r1           OBJ_secg_ellipticCurve,39L
 I6	  61235 
 I6	  61236 #define OBJ_wap_wsg_idm_ecid            OBJ_wap_wsg,4L
 I6	  61237 
 I6	  61238 #define SN_wap_wsg_idm_ecid_wtls1               "wap-wsg-idm-ecid-wtls1"
 I6	  61239 #define NID_wap_wsg_idm_ecid_wtls1              735
 I6	  61240 #define OBJ_wap_wsg_idm_ecid_wtls1              OBJ_wap_wsg_idm_ecid,1L
 I6	  61241 
 I6	  61242 #define SN_wap_wsg_idm_ecid_wtls3               "wap-wsg-idm-ecid-wtls3"
 I6	  61243 #define NID_wap_wsg_idm_ecid_wtls3              736
 I6	  61244 #define OBJ_wap_wsg_idm_ecid_wtls3              OBJ_wap_wsg_idm_ecid,3L
 I6	  61245 
 I6	  61246 #define SN_wap_wsg_idm_ecid_wtls4               "wap-wsg-idm-ecid-wtls4"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1117
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61247 #define NID_wap_wsg_idm_ecid_wtls4              737
 I6	  61248 #define OBJ_wap_wsg_idm_ecid_wtls4              OBJ_wap_wsg_idm_ecid,4L
 I6	  61249 
 I6	  61250 #define SN_wap_wsg_idm_ecid_wtls5               "wap-wsg-idm-ecid-wtls5"
 I6	  61251 #define NID_wap_wsg_idm_ecid_wtls5              738
 I6	  61252 #define OBJ_wap_wsg_idm_ecid_wtls5              OBJ_wap_wsg_idm_ecid,5L
 I6	  61253 
 I6	  61254 #define SN_wap_wsg_idm_ecid_wtls6               "wap-wsg-idm-ecid-wtls6"
 I6	  61255 #define NID_wap_wsg_idm_ecid_wtls6              739
 I6	  61256 #define OBJ_wap_wsg_idm_ecid_wtls6              OBJ_wap_wsg_idm_ecid,6L
 I6	  61257 
 I6	  61258 #define SN_wap_wsg_idm_ecid_wtls7               "wap-wsg-idm-ecid-wtls7"
 I6	  61259 #define NID_wap_wsg_idm_ecid_wtls7              740
 I6	  61260 #define OBJ_wap_wsg_idm_ecid_wtls7              OBJ_wap_wsg_idm_ecid,7L
 I6	  61261 
 I6	  61262 #define SN_wap_wsg_idm_ecid_wtls8               "wap-wsg-idm-ecid-wtls8"
 I6	  61263 #define NID_wap_wsg_idm_ecid_wtls8              741
 I6	  61264 #define OBJ_wap_wsg_idm_ecid_wtls8              OBJ_wap_wsg_idm_ecid,8L
 I6	  61265 
 I6	  61266 #define SN_wap_wsg_idm_ecid_wtls9               "wap-wsg-idm-ecid-wtls9"
 I6	  61267 #define NID_wap_wsg_idm_ecid_wtls9              742
 I6	  61268 #define OBJ_wap_wsg_idm_ecid_wtls9              OBJ_wap_wsg_idm_ecid,9L
 I6	  61269 
 I6	  61270 #define SN_wap_wsg_idm_ecid_wtls10              "wap-wsg-idm-ecid-wtls10"
 I6	  61271 #define NID_wap_wsg_idm_ecid_wtls10             743
 I6	  61272 #define OBJ_wap_wsg_idm_ecid_wtls10             OBJ_wap_wsg_idm_ecid,10L
 I6	  61273 
 I6	  61274 #define SN_wap_wsg_idm_ecid_wtls11              "wap-wsg-idm-ecid-wtls11"
 I6	  61275 #define NID_wap_wsg_idm_ecid_wtls11             744
 I6	  61276 #define OBJ_wap_wsg_idm_ecid_wtls11             OBJ_wap_wsg_idm_ecid,11L
 I6	  61277 
 I6	  61278 #define SN_wap_wsg_idm_ecid_wtls12              "wap-wsg-idm-ecid-wtls12"
 I6	  61279 #define NID_wap_wsg_idm_ecid_wtls12             745
 I6	  61280 #define OBJ_wap_wsg_idm_ecid_wtls12             OBJ_wap_wsg_idm_ecid,12L
 I6	  61281 
 I6	  61282 #define SN_cast5_cbc            "CAST5-CBC"
 I6	  61283 #define LN_cast5_cbc            "cast5-cbc"
 I6	  61284 #define NID_cast5_cbc           108
 I6	  61285 #define OBJ_cast5_cbc           OBJ_ISO_US,113533L,7L,66L,10L
 I6	  61286 
 I6	  61287 #define SN_cast5_ecb            "CAST5-ECB"
 I6	  61288 #define LN_cast5_ecb            "cast5-ecb"
 I6	  61289 #define NID_cast5_ecb           109
 I6	  61290 
 I6	  61291 #define SN_cast5_cfb64          "CAST5-CFB"
 I6	  61292 #define LN_cast5_cfb64          "cast5-cfb"
 I6	  61293 #define NID_cast5_cfb64         110
 I6	  61294 
 I6	  61295 #define SN_cast5_ofb64          "CAST5-OFB"
 I6	  61296 #define LN_cast5_ofb64          "cast5-ofb"
 I6	  61297 #define NID_cast5_ofb64         111
 I6	  61298 
 I6	  61299 #define LN_pbeWithMD5AndCast5_CBC               "pbeWithMD5AndCast5CBC"
 I6	  61300 #define NID_pbeWithMD5AndCast5_CBC              112
 I6	  61301 #define OBJ_pbeWithMD5AndCast5_CBC              OBJ_ISO_US,113533L,7L,66L,12L
 I6	  61302 
 I6	  61303 #define SN_id_PasswordBasedMAC          "id-PasswordBasedMAC"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1118
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61304 #define LN_id_PasswordBasedMAC          "password based MAC"
 I6	  61305 #define NID_id_PasswordBasedMAC         782
 I6	  61306 #define OBJ_id_PasswordBasedMAC         OBJ_ISO_US,113533L,7L,66L,13L
 I6	  61307 
 I6	  61308 #define SN_id_DHBasedMac                "id-DHBasedMac"
 I6	  61309 #define LN_id_DHBasedMac                "Diffie-Hellman based MAC"
 I6	  61310 #define NID_id_DHBasedMac               783
 I6	  61311 #define OBJ_id_DHBasedMac               OBJ_ISO_US,113533L,7L,66L,30L
 I6	  61312 
 I6	  61313 #define SN_rsadsi               "rsadsi"
 I6	  61314 #define LN_rsadsi               "RSA Data Security, Inc."
 I6	  61315 #define NID_rsadsi              1
 I6	  61316 #define OBJ_rsadsi              OBJ_ISO_US,113549L
 I6	  61317 
 I6	  61318 #define SN_pkcs         "pkcs"
 I6	  61319 #define LN_pkcs         "RSA Data Security, Inc. PKCS"
 I6	  61320 #define NID_pkcs                2
 I6	  61321 #define OBJ_pkcs                OBJ_rsadsi,1L
 I6	  61322 
 I6	  61323 #define SN_pkcs1                "pkcs1"
 I6	  61324 #define NID_pkcs1               186
 I6	  61325 #define OBJ_pkcs1               OBJ_pkcs,1L
 I6	  61326 
 I6	  61327 #define LN_rsaEncryption                "rsaEncryption"
 I6	  61328 #define NID_rsaEncryption               6
 I6	  61329 #define OBJ_rsaEncryption               OBJ_pkcs1,1L
 I6	  61330 
 I6	  61331 #define SN_md2WithRSAEncryption         "RSA-MD2"
 I6	  61332 #define LN_md2WithRSAEncryption         "md2WithRSAEncryption"
 I6	  61333 #define NID_md2WithRSAEncryption                7
 I6	  61334 #define OBJ_md2WithRSAEncryption                OBJ_pkcs1,2L
 I6	  61335 
 I6	  61336 #define SN_md4WithRSAEncryption         "RSA-MD4"
 I6	  61337 #define LN_md4WithRSAEncryption         "md4WithRSAEncryption"
 I6	  61338 #define NID_md4WithRSAEncryption                396
 I6	  61339 #define OBJ_md4WithRSAEncryption                OBJ_pkcs1,3L
 I6	  61340 
 I6	  61341 #define SN_md5WithRSAEncryption         "RSA-MD5"
 I6	  61342 #define LN_md5WithRSAEncryption         "md5WithRSAEncryption"
 I6	  61343 #define NID_md5WithRSAEncryption                8
 I6	  61344 #define OBJ_md5WithRSAEncryption                OBJ_pkcs1,4L
 I6	  61345 
 I6	  61346 #define SN_sha1WithRSAEncryption                "RSA-SHA1"
 I6	  61347 #define LN_sha1WithRSAEncryption                "sha1WithRSAEncryption"
 I6	  61348 #define NID_sha1WithRSAEncryption               65
 I6	  61349 #define OBJ_sha1WithRSAEncryption               OBJ_pkcs1,5L
 I6	  61350 
 I6	  61351 #define SN_rsaesOaep            "RSAES-OAEP"
 I6	  61352 #define LN_rsaesOaep            "rsaesOaep"
 I6	  61353 #define NID_rsaesOaep           919
 I6	  61354 #define OBJ_rsaesOaep           OBJ_pkcs1,7L
 I6	  61355 
 I6	  61356 #define SN_mgf1         "MGF1"
 I6	  61357 #define LN_mgf1         "mgf1"
 I6	  61358 #define NID_mgf1                911
 I6	  61359 #define OBJ_mgf1                OBJ_pkcs1,8L
 I6	  61360 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1119
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61361 #define SN_pSpecified           "PSPECIFIED"
 I6	  61362 #define LN_pSpecified           "pSpecified"
 I6	  61363 #define NID_pSpecified          935
 I6	  61364 #define OBJ_pSpecified          OBJ_pkcs1,9L
 I6	  61365 
 I6	  61366 #define SN_rsassaPss            "RSASSA-PSS"
 I6	  61367 #define LN_rsassaPss            "rsassaPss"
 I6	  61368 #define NID_rsassaPss           912
 I6	  61369 #define OBJ_rsassaPss           OBJ_pkcs1,10L
 I6	  61370 
 I6	  61371 #define SN_sha256WithRSAEncryption              "RSA-SHA256"
 I6	  61372 #define LN_sha256WithRSAEncryption              "sha256WithRSAEncryption"
 I6	  61373 #define NID_sha256WithRSAEncryption             668
 I6	  61374 #define OBJ_sha256WithRSAEncryption             OBJ_pkcs1,11L
 I6	  61375 
 I6	  61376 #define SN_sha384WithRSAEncryption              "RSA-SHA384"
 I6	  61377 #define LN_sha384WithRSAEncryption              "sha384WithRSAEncryption"
 I6	  61378 #define NID_sha384WithRSAEncryption             669
 I6	  61379 #define OBJ_sha384WithRSAEncryption             OBJ_pkcs1,12L
 I6	  61380 
 I6	  61381 #define SN_sha512WithRSAEncryption              "RSA-SHA512"
 I6	  61382 #define LN_sha512WithRSAEncryption              "sha512WithRSAEncryption"
 I6	  61383 #define NID_sha512WithRSAEncryption             670
 I6	  61384 #define OBJ_sha512WithRSAEncryption             OBJ_pkcs1,13L
 I6	  61385 
 I6	  61386 #define SN_sha224WithRSAEncryption              "RSA-SHA224"
 I6	  61387 #define LN_sha224WithRSAEncryption              "sha224WithRSAEncryption"
 I6	  61388 #define NID_sha224WithRSAEncryption             671
 I6	  61389 #define OBJ_sha224WithRSAEncryption             OBJ_pkcs1,14L
 I6	  61390 
 I6	  61391 #define SN_sha512_224WithRSAEncryption          "RSA-SHA512/224"
 I6	  61392 #define LN_sha512_224WithRSAEncryption          "sha512-224WithRSAEncryption"
 I6	  61393 #define NID_sha512_224WithRSAEncryption         1145
 I6	  61394 #define OBJ_sha512_224WithRSAEncryption         OBJ_pkcs1,15L
 I6	  61395 
 I6	  61396 #define SN_sha512_256WithRSAEncryption          "RSA-SHA512/256"
 I6	  61397 #define LN_sha512_256WithRSAEncryption          "sha512-256WithRSAEncryption"
 I6	  61398 #define NID_sha512_256WithRSAEncryption         1146
 I6	  61399 #define OBJ_sha512_256WithRSAEncryption         OBJ_pkcs1,16L
 I6	  61400 
 I6	  61401 #define SN_pkcs3                "pkcs3"
 I6	  61402 #define NID_pkcs3               27
 I6	  61403 #define OBJ_pkcs3               OBJ_pkcs,3L
 I6	  61404 
 I6	  61405 #define LN_dhKeyAgreement               "dhKeyAgreement"
 I6	  61406 #define NID_dhKeyAgreement              28
 I6	  61407 #define OBJ_dhKeyAgreement              OBJ_pkcs3,1L
 I6	  61408 
 I6	  61409 #define SN_pkcs5                "pkcs5"
 I6	  61410 #define NID_pkcs5               187
 I6	  61411 #define OBJ_pkcs5               OBJ_pkcs,5L
 I6	  61412 
 I6	  61413 #define SN_pbeWithMD2AndDES_CBC         "PBE-MD2-DES"
 I6	  61414 #define LN_pbeWithMD2AndDES_CBC         "pbeWithMD2AndDES-CBC"
 I6	  61415 #define NID_pbeWithMD2AndDES_CBC                9
 I6	  61416 #define OBJ_pbeWithMD2AndDES_CBC                OBJ_pkcs5,1L
 I6	  61417 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1120
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61418 #define SN_pbeWithMD5AndDES_CBC         "PBE-MD5-DES"
 I6	  61419 #define LN_pbeWithMD5AndDES_CBC         "pbeWithMD5AndDES-CBC"
 I6	  61420 #define NID_pbeWithMD5AndDES_CBC                10
 I6	  61421 #define OBJ_pbeWithMD5AndDES_CBC                OBJ_pkcs5,3L
 I6	  61422 
 I6	  61423 #define SN_pbeWithMD2AndRC2_CBC         "PBE-MD2-RC2-64"
 I6	  61424 #define LN_pbeWithMD2AndRC2_CBC         "pbeWithMD2AndRC2-CBC"
 I6	  61425 #define NID_pbeWithMD2AndRC2_CBC                168
 I6	  61426 #define OBJ_pbeWithMD2AndRC2_CBC                OBJ_pkcs5,4L
 I6	  61427 
 I6	  61428 #define SN_pbeWithMD5AndRC2_CBC         "PBE-MD5-RC2-64"
 I6	  61429 #define LN_pbeWithMD5AndRC2_CBC         "pbeWithMD5AndRC2-CBC"
 I6	  61430 #define NID_pbeWithMD5AndRC2_CBC                169
 I6	  61431 #define OBJ_pbeWithMD5AndRC2_CBC                OBJ_pkcs5,6L
 I6	  61432 
 I6	  61433 #define SN_pbeWithSHA1AndDES_CBC                "PBE-SHA1-DES"
 I6	  61434 #define LN_pbeWithSHA1AndDES_CBC                "pbeWithSHA1AndDES-CBC"
 I6	  61435 #define NID_pbeWithSHA1AndDES_CBC               170
 I6	  61436 #define OBJ_pbeWithSHA1AndDES_CBC               OBJ_pkcs5,10L
 I6	  61437 
 I6	  61438 #define SN_pbeWithSHA1AndRC2_CBC                "PBE-SHA1-RC2-64"
 I6	  61439 #define LN_pbeWithSHA1AndRC2_CBC                "pbeWithSHA1AndRC2-CBC"
 I6	  61440 #define NID_pbeWithSHA1AndRC2_CBC               68
 I6	  61441 #define OBJ_pbeWithSHA1AndRC2_CBC               OBJ_pkcs5,11L
 I6	  61442 
 I6	  61443 #define LN_id_pbkdf2            "PBKDF2"
 I6	  61444 #define NID_id_pbkdf2           69
 I6	  61445 #define OBJ_id_pbkdf2           OBJ_pkcs5,12L
 I6	  61446 
 I6	  61447 #define LN_pbes2                "PBES2"
 I6	  61448 #define NID_pbes2               161
 I6	  61449 #define OBJ_pbes2               OBJ_pkcs5,13L
 I6	  61450 
 I6	  61451 #define LN_pbmac1               "PBMAC1"
 I6	  61452 #define NID_pbmac1              162
 I6	  61453 #define OBJ_pbmac1              OBJ_pkcs5,14L
 I6	  61454 
 I6	  61455 #define SN_pkcs7                "pkcs7"
 I6	  61456 #define NID_pkcs7               20
 I6	  61457 #define OBJ_pkcs7               OBJ_pkcs,7L
 I6	  61458 
 I6	  61459 #define LN_pkcs7_data           "pkcs7-data"
 I6	  61460 #define NID_pkcs7_data          21
 I6	  61461 #define OBJ_pkcs7_data          OBJ_pkcs7,1L
 I6	  61462 
 I6	  61463 #define LN_pkcs7_signed         "pkcs7-signedData"
 I6	  61464 #define NID_pkcs7_signed                22
 I6	  61465 #define OBJ_pkcs7_signed                OBJ_pkcs7,2L
 I6	  61466 
 I6	  61467 #define LN_pkcs7_enveloped              "pkcs7-envelopedData"
 I6	  61468 #define NID_pkcs7_enveloped             23
 I6	  61469 #define OBJ_pkcs7_enveloped             OBJ_pkcs7,3L
 I6	  61470 
 I6	  61471 #define LN_pkcs7_signedAndEnveloped             "pkcs7-signedAndEnvelopedData"
 I6	  61472 #define NID_pkcs7_signedAndEnveloped            24
 I6	  61473 #define OBJ_pkcs7_signedAndEnveloped            OBJ_pkcs7,4L
 I6	  61474 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1121
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61475 #define LN_pkcs7_digest         "pkcs7-digestData"
 I6	  61476 #define NID_pkcs7_digest                25
 I6	  61477 #define OBJ_pkcs7_digest                OBJ_pkcs7,5L
 I6	  61478 
 I6	  61479 #define LN_pkcs7_encrypted              "pkcs7-encryptedData"
 I6	  61480 #define NID_pkcs7_encrypted             26
 I6	  61481 #define OBJ_pkcs7_encrypted             OBJ_pkcs7,6L
 I6	  61482 
 I6	  61483 #define SN_pkcs9                "pkcs9"
 I6	  61484 #define NID_pkcs9               47
 I6	  61485 #define OBJ_pkcs9               OBJ_pkcs,9L
 I6	  61486 
 I6	  61487 #define LN_pkcs9_emailAddress           "emailAddress"
 I6	  61488 #define NID_pkcs9_emailAddress          48
 I6	  61489 #define OBJ_pkcs9_emailAddress          OBJ_pkcs9,1L
 I6	  61490 
 I6	  61491 #define LN_pkcs9_unstructuredName               "unstructuredName"
 I6	  61492 #define NID_pkcs9_unstructuredName              49
 I6	  61493 #define OBJ_pkcs9_unstructuredName              OBJ_pkcs9,2L
 I6	  61494 
 I6	  61495 #define LN_pkcs9_contentType            "contentType"
 I6	  61496 #define NID_pkcs9_contentType           50
 I6	  61497 #define OBJ_pkcs9_contentType           OBJ_pkcs9,3L
 I6	  61498 
 I6	  61499 #define LN_pkcs9_messageDigest          "messageDigest"
 I6	  61500 #define NID_pkcs9_messageDigest         51
 I6	  61501 #define OBJ_pkcs9_messageDigest         OBJ_pkcs9,4L
 I6	  61502 
 I6	  61503 #define LN_pkcs9_signingTime            "signingTime"
 I6	  61504 #define NID_pkcs9_signingTime           52
 I6	  61505 #define OBJ_pkcs9_signingTime           OBJ_pkcs9,5L
 I6	  61506 
 I6	  61507 #define LN_pkcs9_countersignature               "countersignature"
 I6	  61508 #define NID_pkcs9_countersignature              53
 I6	  61509 #define OBJ_pkcs9_countersignature              OBJ_pkcs9,6L
 I6	  61510 
 I6	  61511 #define LN_pkcs9_challengePassword              "challengePassword"
 I6	  61512 #define NID_pkcs9_challengePassword             54
 I6	  61513 #define OBJ_pkcs9_challengePassword             OBJ_pkcs9,7L
 I6	  61514 
 I6	  61515 #define LN_pkcs9_unstructuredAddress            "unstructuredAddress"
 I6	  61516 #define NID_pkcs9_unstructuredAddress           55
 I6	  61517 #define OBJ_pkcs9_unstructuredAddress           OBJ_pkcs9,8L
 I6	  61518 
 I6	  61519 #define LN_pkcs9_extCertAttributes              "extendedCertificateAttributes"
 I6	  61520 #define NID_pkcs9_extCertAttributes             56
 I6	  61521 #define OBJ_pkcs9_extCertAttributes             OBJ_pkcs9,9L
 I6	  61522 
 I6	  61523 #define SN_ext_req              "extReq"
 I6	  61524 #define LN_ext_req              "Extension Request"
 I6	  61525 #define NID_ext_req             172
 I6	  61526 #define OBJ_ext_req             OBJ_pkcs9,14L
 I6	  61527 
 I6	  61528 #define SN_SMIMECapabilities            "SMIME-CAPS"
 I6	  61529 #define LN_SMIMECapabilities            "S/MIME Capabilities"
 I6	  61530 #define NID_SMIMECapabilities           167
 I6	  61531 #define OBJ_SMIMECapabilities           OBJ_pkcs9,15L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1122
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61532 
 I6	  61533 #define SN_SMIME                "SMIME"
 I6	  61534 #define LN_SMIME                "S/MIME"
 I6	  61535 #define NID_SMIME               188
 I6	  61536 #define OBJ_SMIME               OBJ_pkcs9,16L
 I6	  61537 
 I6	  61538 #define SN_id_smime_mod         "id-smime-mod"
 I6	  61539 #define NID_id_smime_mod                189
 I6	  61540 #define OBJ_id_smime_mod                OBJ_SMIME,0L
 I6	  61541 
 I6	  61542 #define SN_id_smime_ct          "id-smime-ct"
 I6	  61543 #define NID_id_smime_ct         190
 I6	  61544 #define OBJ_id_smime_ct         OBJ_SMIME,1L
 I6	  61545 
 I6	  61546 #define SN_id_smime_aa          "id-smime-aa"
 I6	  61547 #define NID_id_smime_aa         191
 I6	  61548 #define OBJ_id_smime_aa         OBJ_SMIME,2L
 I6	  61549 
 I6	  61550 #define SN_id_smime_alg         "id-smime-alg"
 I6	  61551 #define NID_id_smime_alg                192
 I6	  61552 #define OBJ_id_smime_alg                OBJ_SMIME,3L
 I6	  61553 
 I6	  61554 #define SN_id_smime_cd          "id-smime-cd"
 I6	  61555 #define NID_id_smime_cd         193
 I6	  61556 #define OBJ_id_smime_cd         OBJ_SMIME,4L
 I6	  61557 
 I6	  61558 #define SN_id_smime_spq         "id-smime-spq"
 I6	  61559 #define NID_id_smime_spq                194
 I6	  61560 #define OBJ_id_smime_spq                OBJ_SMIME,5L
 I6	  61561 
 I6	  61562 #define SN_id_smime_cti         "id-smime-cti"
 I6	  61563 #define NID_id_smime_cti                195
 I6	  61564 #define OBJ_id_smime_cti                OBJ_SMIME,6L
 I6	  61565 
 I6	  61566 #define SN_id_smime_mod_cms             "id-smime-mod-cms"
 I6	  61567 #define NID_id_smime_mod_cms            196
 I6	  61568 #define OBJ_id_smime_mod_cms            OBJ_id_smime_mod,1L
 I6	  61569 
 I6	  61570 #define SN_id_smime_mod_ess             "id-smime-mod-ess"
 I6	  61571 #define NID_id_smime_mod_ess            197
 I6	  61572 #define OBJ_id_smime_mod_ess            OBJ_id_smime_mod,2L
 I6	  61573 
 I6	  61574 #define SN_id_smime_mod_oid             "id-smime-mod-oid"
 I6	  61575 #define NID_id_smime_mod_oid            198
 I6	  61576 #define OBJ_id_smime_mod_oid            OBJ_id_smime_mod,3L
 I6	  61577 
 I6	  61578 #define SN_id_smime_mod_msg_v3          "id-smime-mod-msg-v3"
 I6	  61579 #define NID_id_smime_mod_msg_v3         199
 I6	  61580 #define OBJ_id_smime_mod_msg_v3         OBJ_id_smime_mod,4L
 I6	  61581 
 I6	  61582 #define SN_id_smime_mod_ets_eSignature_88               "id-smime-mod-ets-eSignature-88"
 I6	  61583 #define NID_id_smime_mod_ets_eSignature_88              200
 I6	  61584 #define OBJ_id_smime_mod_ets_eSignature_88              OBJ_id_smime_mod,5L
 I6	  61585 
 I6	  61586 #define SN_id_smime_mod_ets_eSignature_97               "id-smime-mod-ets-eSignature-97"
 I6	  61587 #define NID_id_smime_mod_ets_eSignature_97              201
 I6	  61588 #define OBJ_id_smime_mod_ets_eSignature_97              OBJ_id_smime_mod,6L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1123
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61589 
 I6	  61590 #define SN_id_smime_mod_ets_eSigPolicy_88               "id-smime-mod-ets-eSigPolicy-88"
 I6	  61591 #define NID_id_smime_mod_ets_eSigPolicy_88              202
 I6	  61592 #define OBJ_id_smime_mod_ets_eSigPolicy_88              OBJ_id_smime_mod,7L
 I6	  61593 
 I6	  61594 #define SN_id_smime_mod_ets_eSigPolicy_97               "id-smime-mod-ets-eSigPolicy-97"
 I6	  61595 #define NID_id_smime_mod_ets_eSigPolicy_97              203
 I6	  61596 #define OBJ_id_smime_mod_ets_eSigPolicy_97              OBJ_id_smime_mod,8L
 I6	  61597 
 I6	  61598 #define SN_id_smime_ct_receipt          "id-smime-ct-receipt"
 I6	  61599 #define NID_id_smime_ct_receipt         204
 I6	  61600 #define OBJ_id_smime_ct_receipt         OBJ_id_smime_ct,1L
 I6	  61601 
 I6	  61602 #define SN_id_smime_ct_authData         "id-smime-ct-authData"
 I6	  61603 #define NID_id_smime_ct_authData                205
 I6	  61604 #define OBJ_id_smime_ct_authData                OBJ_id_smime_ct,2L
 I6	  61605 
 I6	  61606 #define SN_id_smime_ct_publishCert              "id-smime-ct-publishCert"
 I6	  61607 #define NID_id_smime_ct_publishCert             206
 I6	  61608 #define OBJ_id_smime_ct_publishCert             OBJ_id_smime_ct,3L
 I6	  61609 
 I6	  61610 #define SN_id_smime_ct_TSTInfo          "id-smime-ct-TSTInfo"
 I6	  61611 #define NID_id_smime_ct_TSTInfo         207
 I6	  61612 #define OBJ_id_smime_ct_TSTInfo         OBJ_id_smime_ct,4L
 I6	  61613 
 I6	  61614 #define SN_id_smime_ct_TDTInfo          "id-smime-ct-TDTInfo"
 I6	  61615 #define NID_id_smime_ct_TDTInfo         208
 I6	  61616 #define OBJ_id_smime_ct_TDTInfo         OBJ_id_smime_ct,5L
 I6	  61617 
 I6	  61618 #define SN_id_smime_ct_contentInfo              "id-smime-ct-contentInfo"
 I6	  61619 #define NID_id_smime_ct_contentInfo             209
 I6	  61620 #define OBJ_id_smime_ct_contentInfo             OBJ_id_smime_ct,6L
 I6	  61621 
 I6	  61622 #define SN_id_smime_ct_DVCSRequestData          "id-smime-ct-DVCSRequestData"
 I6	  61623 #define NID_id_smime_ct_DVCSRequestData         210
 I6	  61624 #define OBJ_id_smime_ct_DVCSRequestData         OBJ_id_smime_ct,7L
 I6	  61625 
 I6	  61626 #define SN_id_smime_ct_DVCSResponseData         "id-smime-ct-DVCSResponseData"
 I6	  61627 #define NID_id_smime_ct_DVCSResponseData                211
 I6	  61628 #define OBJ_id_smime_ct_DVCSResponseData                OBJ_id_smime_ct,8L
 I6	  61629 
 I6	  61630 #define SN_id_smime_ct_compressedData           "id-smime-ct-compressedData"
 I6	  61631 #define NID_id_smime_ct_compressedData          786
 I6	  61632 #define OBJ_id_smime_ct_compressedData          OBJ_id_smime_ct,9L
 I6	  61633 
 I6	  61634 #define SN_id_smime_ct_contentCollection                "id-smime-ct-contentCollection"
 I6	  61635 #define NID_id_smime_ct_contentCollection               1058
 I6	  61636 #define OBJ_id_smime_ct_contentCollection               OBJ_id_smime_ct,19L
 I6	  61637 
 I6	  61638 #define SN_id_smime_ct_authEnvelopedData                "id-smime-ct-authEnvelopedData"
 I6	  61639 #define NID_id_smime_ct_authEnvelopedData               1059
 I6	  61640 #define OBJ_id_smime_ct_authEnvelopedData               OBJ_id_smime_ct,23L
 I6	  61641 
 I6	  61642 #define SN_id_ct_routeOriginAuthz               "id-ct-routeOriginAuthz"
 I6	  61643 #define NID_id_ct_routeOriginAuthz              1234
 I6	  61644 #define OBJ_id_ct_routeOriginAuthz              OBJ_id_smime_ct,24L
 I6	  61645 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1124
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61646 #define SN_id_ct_rpkiManifest           "id-ct-rpkiManifest"
 I6	  61647 #define NID_id_ct_rpkiManifest          1235
 I6	  61648 #define OBJ_id_ct_rpkiManifest          OBJ_id_smime_ct,26L
 I6	  61649 
 I6	  61650 #define SN_id_ct_asciiTextWithCRLF              "id-ct-asciiTextWithCRLF"
 I6	  61651 #define NID_id_ct_asciiTextWithCRLF             787
 I6	  61652 #define OBJ_id_ct_asciiTextWithCRLF             OBJ_id_smime_ct,27L
 I6	  61653 
 I6	  61654 #define SN_id_ct_xml            "id-ct-xml"
 I6	  61655 #define NID_id_ct_xml           1060
 I6	  61656 #define OBJ_id_ct_xml           OBJ_id_smime_ct,28L
 I6	  61657 
 I6	  61658 #define SN_id_ct_rpkiGhostbusters               "id-ct-rpkiGhostbusters"
 I6	  61659 #define NID_id_ct_rpkiGhostbusters              1236
 I6	  61660 #define OBJ_id_ct_rpkiGhostbusters              OBJ_id_smime_ct,35L
 I6	  61661 
 I6	  61662 #define SN_id_ct_resourceTaggedAttest           "id-ct-resourceTaggedAttest"
 I6	  61663 #define NID_id_ct_resourceTaggedAttest          1237
 I6	  61664 #define OBJ_id_ct_resourceTaggedAttest          OBJ_id_smime_ct,36L
 I6	  61665 
 I6	  61666 #define SN_id_ct_geofeedCSVwithCRLF             "id-ct-geofeedCSVwithCRLF"
 I6	  61667 #define NID_id_ct_geofeedCSVwithCRLF            1246
 I6	  61668 #define OBJ_id_ct_geofeedCSVwithCRLF            OBJ_id_smime_ct,47L
 I6	  61669 
 I6	  61670 #define SN_id_ct_signedChecklist                "id-ct-signedChecklist"
 I6	  61671 #define NID_id_ct_signedChecklist               1247
 I6	  61672 #define OBJ_id_ct_signedChecklist               OBJ_id_smime_ct,48L
 I6	  61673 
 I6	  61674 #define SN_id_smime_aa_receiptRequest           "id-smime-aa-receiptRequest"
 I6	  61675 #define NID_id_smime_aa_receiptRequest          212
 I6	  61676 #define OBJ_id_smime_aa_receiptRequest          OBJ_id_smime_aa,1L
 I6	  61677 
 I6	  61678 #define SN_id_smime_aa_securityLabel            "id-smime-aa-securityLabel"
 I6	  61679 #define NID_id_smime_aa_securityLabel           213
 I6	  61680 #define OBJ_id_smime_aa_securityLabel           OBJ_id_smime_aa,2L
 I6	  61681 
 I6	  61682 #define SN_id_smime_aa_mlExpandHistory          "id-smime-aa-mlExpandHistory"
 I6	  61683 #define NID_id_smime_aa_mlExpandHistory         214
 I6	  61684 #define OBJ_id_smime_aa_mlExpandHistory         OBJ_id_smime_aa,3L
 I6	  61685 
 I6	  61686 #define SN_id_smime_aa_contentHint              "id-smime-aa-contentHint"
 I6	  61687 #define NID_id_smime_aa_contentHint             215
 I6	  61688 #define OBJ_id_smime_aa_contentHint             OBJ_id_smime_aa,4L
 I6	  61689 
 I6	  61690 #define SN_id_smime_aa_msgSigDigest             "id-smime-aa-msgSigDigest"
 I6	  61691 #define NID_id_smime_aa_msgSigDigest            216
 I6	  61692 #define OBJ_id_smime_aa_msgSigDigest            OBJ_id_smime_aa,5L
 I6	  61693 
 I6	  61694 #define SN_id_smime_aa_encapContentType         "id-smime-aa-encapContentType"
 I6	  61695 #define NID_id_smime_aa_encapContentType                217
 I6	  61696 #define OBJ_id_smime_aa_encapContentType                OBJ_id_smime_aa,6L
 I6	  61697 
 I6	  61698 #define SN_id_smime_aa_contentIdentifier                "id-smime-aa-contentIdentifier"
 I6	  61699 #define NID_id_smime_aa_contentIdentifier               218
 I6	  61700 #define OBJ_id_smime_aa_contentIdentifier               OBJ_id_smime_aa,7L
 I6	  61701 
 I6	  61702 #define SN_id_smime_aa_macValue         "id-smime-aa-macValue"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1125
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61703 #define NID_id_smime_aa_macValue                219
 I6	  61704 #define OBJ_id_smime_aa_macValue                OBJ_id_smime_aa,8L
 I6	  61705 
 I6	  61706 #define SN_id_smime_aa_equivalentLabels         "id-smime-aa-equivalentLabels"
 I6	  61707 #define NID_id_smime_aa_equivalentLabels                220
 I6	  61708 #define OBJ_id_smime_aa_equivalentLabels                OBJ_id_smime_aa,9L
 I6	  61709 
 I6	  61710 #define SN_id_smime_aa_contentReference         "id-smime-aa-contentReference"
 I6	  61711 #define NID_id_smime_aa_contentReference                221
 I6	  61712 #define OBJ_id_smime_aa_contentReference                OBJ_id_smime_aa,10L
 I6	  61713 
 I6	  61714 #define SN_id_smime_aa_encrypKeyPref            "id-smime-aa-encrypKeyPref"
 I6	  61715 #define NID_id_smime_aa_encrypKeyPref           222
 I6	  61716 #define OBJ_id_smime_aa_encrypKeyPref           OBJ_id_smime_aa,11L
 I6	  61717 
 I6	  61718 #define SN_id_smime_aa_signingCertificate               "id-smime-aa-signingCertificate"
 I6	  61719 #define NID_id_smime_aa_signingCertificate              223
 I6	  61720 #define OBJ_id_smime_aa_signingCertificate              OBJ_id_smime_aa,12L
 I6	  61721 
 I6	  61722 #define SN_id_smime_aa_smimeEncryptCerts                "id-smime-aa-smimeEncryptCerts"
 I6	  61723 #define NID_id_smime_aa_smimeEncryptCerts               224
 I6	  61724 #define OBJ_id_smime_aa_smimeEncryptCerts               OBJ_id_smime_aa,13L
 I6	  61725 
 I6	  61726 #define SN_id_smime_aa_timeStampToken           "id-smime-aa-timeStampToken"
 I6	  61727 #define NID_id_smime_aa_timeStampToken          225
 I6	  61728 #define OBJ_id_smime_aa_timeStampToken          OBJ_id_smime_aa,14L
 I6	  61729 
 I6	  61730 #define SN_id_smime_aa_ets_sigPolicyId          "id-smime-aa-ets-sigPolicyId"
 I6	  61731 #define NID_id_smime_aa_ets_sigPolicyId         226
 I6	  61732 #define OBJ_id_smime_aa_ets_sigPolicyId         OBJ_id_smime_aa,15L
 I6	  61733 
 I6	  61734 #define SN_id_smime_aa_ets_commitmentType               "id-smime-aa-ets-commitmentType"
 I6	  61735 #define NID_id_smime_aa_ets_commitmentType              227
 I6	  61736 #define OBJ_id_smime_aa_ets_commitmentType              OBJ_id_smime_aa,16L
 I6	  61737 
 I6	  61738 #define SN_id_smime_aa_ets_signerLocation               "id-smime-aa-ets-signerLocation"
 I6	  61739 #define NID_id_smime_aa_ets_signerLocation              228
 I6	  61740 #define OBJ_id_smime_aa_ets_signerLocation              OBJ_id_smime_aa,17L
 I6	  61741 
 I6	  61742 #define SN_id_smime_aa_ets_signerAttr           "id-smime-aa-ets-signerAttr"
 I6	  61743 #define NID_id_smime_aa_ets_signerAttr          229
 I6	  61744 #define OBJ_id_smime_aa_ets_signerAttr          OBJ_id_smime_aa,18L
 I6	  61745 
 I6	  61746 #define SN_id_smime_aa_ets_otherSigCert         "id-smime-aa-ets-otherSigCert"
 I6	  61747 #define NID_id_smime_aa_ets_otherSigCert                230
 I6	  61748 #define OBJ_id_smime_aa_ets_otherSigCert                OBJ_id_smime_aa,19L
 I6	  61749 
 I6	  61750 #define SN_id_smime_aa_ets_contentTimestamp             "id-smime-aa-ets-contentTimestamp"
 I6	  61751 #define NID_id_smime_aa_ets_contentTimestamp            231
 I6	  61752 #define OBJ_id_smime_aa_ets_contentTimestamp            OBJ_id_smime_aa,20L
 I6	  61753 
 I6	  61754 #define SN_id_smime_aa_ets_CertificateRefs              "id-smime-aa-ets-CertificateRefs"
 I6	  61755 #define NID_id_smime_aa_ets_CertificateRefs             232
 I6	  61756 #define OBJ_id_smime_aa_ets_CertificateRefs             OBJ_id_smime_aa,21L
 I6	  61757 
 I6	  61758 #define SN_id_smime_aa_ets_RevocationRefs               "id-smime-aa-ets-RevocationRefs"
 I6	  61759 #define NID_id_smime_aa_ets_RevocationRefs              233

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1126
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61760 #define OBJ_id_smime_aa_ets_RevocationRefs              OBJ_id_smime_aa,22L
 I6	  61761 
 I6	  61762 #define SN_id_smime_aa_ets_certValues           "id-smime-aa-ets-certValues"
 I6	  61763 #define NID_id_smime_aa_ets_certValues          234
 I6	  61764 #define OBJ_id_smime_aa_ets_certValues          OBJ_id_smime_aa,23L
 I6	  61765 
 I6	  61766 #define SN_id_smime_aa_ets_revocationValues             "id-smime-aa-ets-revocationValues"
 I6	  61767 #define NID_id_smime_aa_ets_revocationValues            235
 I6	  61768 #define OBJ_id_smime_aa_ets_revocationValues            OBJ_id_smime_aa,24L
 I6	  61769 
 I6	  61770 #define SN_id_smime_aa_ets_escTimeStamp         "id-smime-aa-ets-escTimeStamp"
 I6	  61771 #define NID_id_smime_aa_ets_escTimeStamp                236
 I6	  61772 #define OBJ_id_smime_aa_ets_escTimeStamp                OBJ_id_smime_aa,25L
 I6	  61773 
 I6	  61774 #define SN_id_smime_aa_ets_certCRLTimestamp             "id-smime-aa-ets-certCRLTimestamp"
 I6	  61775 #define NID_id_smime_aa_ets_certCRLTimestamp            237
 I6	  61776 #define OBJ_id_smime_aa_ets_certCRLTimestamp            OBJ_id_smime_aa,26L
 I6	  61777 
 I6	  61778 #define SN_id_smime_aa_ets_archiveTimeStamp             "id-smime-aa-ets-archiveTimeStamp"
 I6	  61779 #define NID_id_smime_aa_ets_archiveTimeStamp            238
 I6	  61780 #define OBJ_id_smime_aa_ets_archiveTimeStamp            OBJ_id_smime_aa,27L
 I6	  61781 
 I6	  61782 #define SN_id_smime_aa_signatureType            "id-smime-aa-signatureType"
 I6	  61783 #define NID_id_smime_aa_signatureType           239
 I6	  61784 #define OBJ_id_smime_aa_signatureType           OBJ_id_smime_aa,28L
 I6	  61785 
 I6	  61786 #define SN_id_smime_aa_dvcs_dvc         "id-smime-aa-dvcs-dvc"
 I6	  61787 #define NID_id_smime_aa_dvcs_dvc                240
 I6	  61788 #define OBJ_id_smime_aa_dvcs_dvc                OBJ_id_smime_aa,29L
 I6	  61789 
 I6	  61790 #define SN_id_smime_aa_signingCertificateV2             "id-smime-aa-signingCertificateV2"
 I6	  61791 #define NID_id_smime_aa_signingCertificateV2            1086
 I6	  61792 #define OBJ_id_smime_aa_signingCertificateV2            OBJ_id_smime_aa,47L
 I6	  61793 
 I6	  61794 #define SN_id_smime_alg_ESDHwith3DES            "id-smime-alg-ESDHwith3DES"
 I6	  61795 #define NID_id_smime_alg_ESDHwith3DES           241
 I6	  61796 #define OBJ_id_smime_alg_ESDHwith3DES           OBJ_id_smime_alg,1L
 I6	  61797 
 I6	  61798 #define SN_id_smime_alg_ESDHwithRC2             "id-smime-alg-ESDHwithRC2"
 I6	  61799 #define NID_id_smime_alg_ESDHwithRC2            242
 I6	  61800 #define OBJ_id_smime_alg_ESDHwithRC2            OBJ_id_smime_alg,2L
 I6	  61801 
 I6	  61802 #define SN_id_smime_alg_3DESwrap                "id-smime-alg-3DESwrap"
 I6	  61803 #define NID_id_smime_alg_3DESwrap               243
 I6	  61804 #define OBJ_id_smime_alg_3DESwrap               OBJ_id_smime_alg,3L
 I6	  61805 
 I6	  61806 #define SN_id_smime_alg_RC2wrap         "id-smime-alg-RC2wrap"
 I6	  61807 #define NID_id_smime_alg_RC2wrap                244
 I6	  61808 #define OBJ_id_smime_alg_RC2wrap                OBJ_id_smime_alg,4L
 I6	  61809 
 I6	  61810 #define SN_id_smime_alg_ESDH            "id-smime-alg-ESDH"
 I6	  61811 #define NID_id_smime_alg_ESDH           245
 I6	  61812 #define OBJ_id_smime_alg_ESDH           OBJ_id_smime_alg,5L
 I6	  61813 
 I6	  61814 #define SN_id_smime_alg_CMS3DESwrap             "id-smime-alg-CMS3DESwrap"
 I6	  61815 #define NID_id_smime_alg_CMS3DESwrap            246
 I6	  61816 #define OBJ_id_smime_alg_CMS3DESwrap            OBJ_id_smime_alg,6L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1127
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61817 
 I6	  61818 #define SN_id_smime_alg_CMSRC2wrap              "id-smime-alg-CMSRC2wrap"
 I6	  61819 #define NID_id_smime_alg_CMSRC2wrap             247
 I6	  61820 #define OBJ_id_smime_alg_CMSRC2wrap             OBJ_id_smime_alg,7L
 I6	  61821 
 I6	  61822 #define SN_id_alg_PWRI_KEK              "id-alg-PWRI-KEK"
 I6	  61823 #define NID_id_alg_PWRI_KEK             893
 I6	  61824 #define OBJ_id_alg_PWRI_KEK             OBJ_id_smime_alg,9L
 I6	  61825 
 I6	  61826 #define SN_id_smime_cd_ldap             "id-smime-cd-ldap"
 I6	  61827 #define NID_id_smime_cd_ldap            248
 I6	  61828 #define OBJ_id_smime_cd_ldap            OBJ_id_smime_cd,1L
 I6	  61829 
 I6	  61830 #define SN_id_smime_spq_ets_sqt_uri             "id-smime-spq-ets-sqt-uri"
 I6	  61831 #define NID_id_smime_spq_ets_sqt_uri            249
 I6	  61832 #define OBJ_id_smime_spq_ets_sqt_uri            OBJ_id_smime_spq,1L
 I6	  61833 
 I6	  61834 #define SN_id_smime_spq_ets_sqt_unotice         "id-smime-spq-ets-sqt-unotice"
 I6	  61835 #define NID_id_smime_spq_ets_sqt_unotice                250
 I6	  61836 #define OBJ_id_smime_spq_ets_sqt_unotice                OBJ_id_smime_spq,2L
 I6	  61837 
 I6	  61838 #define SN_id_smime_cti_ets_proofOfOrigin               "id-smime-cti-ets-proofOfOrigin"
 I6	  61839 #define NID_id_smime_cti_ets_proofOfOrigin              251
 I6	  61840 #define OBJ_id_smime_cti_ets_proofOfOrigin              OBJ_id_smime_cti,1L
 I6	  61841 
 I6	  61842 #define SN_id_smime_cti_ets_proofOfReceipt              "id-smime-cti-ets-proofOfReceipt"
 I6	  61843 #define NID_id_smime_cti_ets_proofOfReceipt             252
 I6	  61844 #define OBJ_id_smime_cti_ets_proofOfReceipt             OBJ_id_smime_cti,2L
 I6	  61845 
 I6	  61846 #define SN_id_smime_cti_ets_proofOfDelivery             "id-smime-cti-ets-proofOfDelivery"
 I6	  61847 #define NID_id_smime_cti_ets_proofOfDelivery            253
 I6	  61848 #define OBJ_id_smime_cti_ets_proofOfDelivery            OBJ_id_smime_cti,3L
 I6	  61849 
 I6	  61850 #define SN_id_smime_cti_ets_proofOfSender               "id-smime-cti-ets-proofOfSender"
 I6	  61851 #define NID_id_smime_cti_ets_proofOfSender              254
 I6	  61852 #define OBJ_id_smime_cti_ets_proofOfSender              OBJ_id_smime_cti,4L
 I6	  61853 
 I6	  61854 #define SN_id_smime_cti_ets_proofOfApproval             "id-smime-cti-ets-proofOfApproval"
 I6	  61855 #define NID_id_smime_cti_ets_proofOfApproval            255
 I6	  61856 #define OBJ_id_smime_cti_ets_proofOfApproval            OBJ_id_smime_cti,5L
 I6	  61857 
 I6	  61858 #define SN_id_smime_cti_ets_proofOfCreation             "id-smime-cti-ets-proofOfCreation"
 I6	  61859 #define NID_id_smime_cti_ets_proofOfCreation            256
 I6	  61860 #define OBJ_id_smime_cti_ets_proofOfCreation            OBJ_id_smime_cti,6L
 I6	  61861 
 I6	  61862 #define LN_friendlyName         "friendlyName"
 I6	  61863 #define NID_friendlyName                156
 I6	  61864 #define OBJ_friendlyName                OBJ_pkcs9,20L
 I6	  61865 
 I6	  61866 #define LN_localKeyID           "localKeyID"
 I6	  61867 #define NID_localKeyID          157
 I6	  61868 #define OBJ_localKeyID          OBJ_pkcs9,21L
 I6	  61869 
 I6	  61870 #define SN_ms_csp_name          "CSPName"
 I6	  61871 #define LN_ms_csp_name          "Microsoft CSP Name"
 I6	  61872 #define NID_ms_csp_name         417
 I6	  61873 #define OBJ_ms_csp_name         1L,3L,6L,1L,4L,1L,311L,17L,1L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1128
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61874 
 I6	  61875 #define SN_LocalKeySet          "LocalKeySet"
 I6	  61876 #define LN_LocalKeySet          "Microsoft Local Key set"
 I6	  61877 #define NID_LocalKeySet         856
 I6	  61878 #define OBJ_LocalKeySet         1L,3L,6L,1L,4L,1L,311L,17L,2L
 I6	  61879 
 I6	  61880 #define OBJ_certTypes           OBJ_pkcs9,22L
 I6	  61881 
 I6	  61882 #define LN_x509Certificate              "x509Certificate"
 I6	  61883 #define NID_x509Certificate             158
 I6	  61884 #define OBJ_x509Certificate             OBJ_certTypes,1L
 I6	  61885 
 I6	  61886 #define LN_sdsiCertificate              "sdsiCertificate"
 I6	  61887 #define NID_sdsiCertificate             159
 I6	  61888 #define OBJ_sdsiCertificate             OBJ_certTypes,2L
 I6	  61889 
 I6	  61890 #define OBJ_crlTypes            OBJ_pkcs9,23L
 I6	  61891 
 I6	  61892 #define LN_x509Crl              "x509Crl"
 I6	  61893 #define NID_x509Crl             160
 I6	  61894 #define OBJ_x509Crl             OBJ_crlTypes,1L
 I6	  61895 
 I6	  61896 #define OBJ_pkcs12              OBJ_pkcs,12L
 I6	  61897 
 I6	  61898 #define OBJ_pkcs12_pbeids               OBJ_pkcs12,1L
 I6	  61899 
 I6	  61900 #define SN_pbe_WithSHA1And128BitRC4             "PBE-SHA1-RC4-128"
 I6	  61901 #define LN_pbe_WithSHA1And128BitRC4             "pbeWithSHA1And128BitRC4"
 I6	  61902 #define NID_pbe_WithSHA1And128BitRC4            144
 I6	  61903 #define OBJ_pbe_WithSHA1And128BitRC4            OBJ_pkcs12_pbeids,1L
 I6	  61904 
 I6	  61905 #define SN_pbe_WithSHA1And40BitRC4              "PBE-SHA1-RC4-40"
 I6	  61906 #define LN_pbe_WithSHA1And40BitRC4              "pbeWithSHA1And40BitRC4"
 I6	  61907 #define NID_pbe_WithSHA1And40BitRC4             145
 I6	  61908 #define OBJ_pbe_WithSHA1And40BitRC4             OBJ_pkcs12_pbeids,2L
 I6	  61909 
 I6	  61910 #define SN_pbe_WithSHA1And3_Key_TripleDES_CBC           "PBE-SHA1-3DES"
 I6	  61911 #define LN_pbe_WithSHA1And3_Key_TripleDES_CBC           "pbeWithSHA1And3-KeyTripleDES-CBC"
 I6	  61912 #define NID_pbe_WithSHA1And3_Key_TripleDES_CBC          146
 I6	  61913 #define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC          OBJ_pkcs12_pbeids,3L
 I6	  61914 
 I6	  61915 #define SN_pbe_WithSHA1And2_Key_TripleDES_CBC           "PBE-SHA1-2DES"
 I6	  61916 #define LN_pbe_WithSHA1And2_Key_TripleDES_CBC           "pbeWithSHA1And2-KeyTripleDES-CBC"
 I6	  61917 #define NID_pbe_WithSHA1And2_Key_TripleDES_CBC          147
 I6	  61918 #define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC          OBJ_pkcs12_pbeids,4L
 I6	  61919 
 I6	  61920 #define SN_pbe_WithSHA1And128BitRC2_CBC         "PBE-SHA1-RC2-128"
 I6	  61921 #define LN_pbe_WithSHA1And128BitRC2_CBC         "pbeWithSHA1And128BitRC2-CBC"
 I6	  61922 #define NID_pbe_WithSHA1And128BitRC2_CBC                148
 I6	  61923 #define OBJ_pbe_WithSHA1And128BitRC2_CBC                OBJ_pkcs12_pbeids,5L
 I6	  61924 
 I6	  61925 #define SN_pbe_WithSHA1And40BitRC2_CBC          "PBE-SHA1-RC2-40"
 I6	  61926 #define LN_pbe_WithSHA1And40BitRC2_CBC          "pbeWithSHA1And40BitRC2-CBC"
 I6	  61927 #define NID_pbe_WithSHA1And40BitRC2_CBC         149
 I6	  61928 #define OBJ_pbe_WithSHA1And40BitRC2_CBC         OBJ_pkcs12_pbeids,6L
 I6	  61929 
 I6	  61930 #define OBJ_pkcs12_Version1             OBJ_pkcs12,10L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1129
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61931 
 I6	  61932 #define OBJ_pkcs12_BagIds               OBJ_pkcs12_Version1,1L
 I6	  61933 
 I6	  61934 #define LN_keyBag               "keyBag"
 I6	  61935 #define NID_keyBag              150
 I6	  61936 #define OBJ_keyBag              OBJ_pkcs12_BagIds,1L
 I6	  61937 
 I6	  61938 #define LN_pkcs8ShroudedKeyBag          "pkcs8ShroudedKeyBag"
 I6	  61939 #define NID_pkcs8ShroudedKeyBag         151
 I6	  61940 #define OBJ_pkcs8ShroudedKeyBag         OBJ_pkcs12_BagIds,2L
 I6	  61941 
 I6	  61942 #define LN_certBag              "certBag"
 I6	  61943 #define NID_certBag             152
 I6	  61944 #define OBJ_certBag             OBJ_pkcs12_BagIds,3L
 I6	  61945 
 I6	  61946 #define LN_crlBag               "crlBag"
 I6	  61947 #define NID_crlBag              153
 I6	  61948 #define OBJ_crlBag              OBJ_pkcs12_BagIds,4L
 I6	  61949 
 I6	  61950 #define LN_secretBag            "secretBag"
 I6	  61951 #define NID_secretBag           154
 I6	  61952 #define OBJ_secretBag           OBJ_pkcs12_BagIds,5L
 I6	  61953 
 I6	  61954 #define LN_safeContentsBag              "safeContentsBag"
 I6	  61955 #define NID_safeContentsBag             155
 I6	  61956 #define OBJ_safeContentsBag             OBJ_pkcs12_BagIds,6L
 I6	  61957 
 I6	  61958 #define SN_md2          "MD2"
 I6	  61959 #define LN_md2          "md2"
 I6	  61960 #define NID_md2         3
 I6	  61961 #define OBJ_md2         OBJ_rsadsi,2L,2L
 I6	  61962 
 I6	  61963 #define SN_md4          "MD4"
 I6	  61964 #define LN_md4          "md4"
 I6	  61965 #define NID_md4         257
 I6	  61966 #define OBJ_md4         OBJ_rsadsi,2L,4L
 I6	  61967 
 I6	  61968 #define SN_md5          "MD5"
 I6	  61969 #define LN_md5          "md5"
 I6	  61970 #define NID_md5         4
 I6	  61971 #define OBJ_md5         OBJ_rsadsi,2L,5L
 I6	  61972 
 I6	  61973 #define SN_md5_sha1             "MD5-SHA1"
 I6	  61974 #define LN_md5_sha1             "md5-sha1"
 I6	  61975 #define NID_md5_sha1            114
 I6	  61976 
 I6	  61977 #define LN_hmacWithMD5          "hmacWithMD5"
 I6	  61978 #define NID_hmacWithMD5         797
 I6	  61979 #define OBJ_hmacWithMD5         OBJ_rsadsi,2L,6L
 I6	  61980 
 I6	  61981 #define LN_hmacWithSHA1         "hmacWithSHA1"
 I6	  61982 #define NID_hmacWithSHA1                163
 I6	  61983 #define OBJ_hmacWithSHA1                OBJ_rsadsi,2L,7L
 I6	  61984 
 I6	  61985 #define SN_sm2          "SM2"
 I6	  61986 #define LN_sm2          "sm2"
 I6	  61987 #define NID_sm2         1172

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1130
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  61988 #define OBJ_sm2         OBJ_sm_scheme,301L
 I6	  61989 
 I6	  61990 #define SN_sm3          "SM3"
 I6	  61991 #define LN_sm3          "sm3"
 I6	  61992 #define NID_sm3         1143
 I6	  61993 #define OBJ_sm3         OBJ_sm_scheme,401L
 I6	  61994 
 I6	  61995 #define SN_sm3WithRSAEncryption         "RSA-SM3"
 I6	  61996 #define LN_sm3WithRSAEncryption         "sm3WithRSAEncryption"
 I6	  61997 #define NID_sm3WithRSAEncryption                1144
 I6	  61998 #define OBJ_sm3WithRSAEncryption                OBJ_sm_scheme,504L
 I6	  61999 
 I6	  62000 #define SN_SM2_with_SM3         "SM2-SM3"
 I6	  62001 #define LN_SM2_with_SM3         "SM2-with-SM3"
 I6	  62002 #define NID_SM2_with_SM3                1204
 I6	  62003 #define OBJ_SM2_with_SM3                OBJ_sm_scheme,501L
 I6	  62004 
 I6	  62005 #define LN_hmacWithSHA224               "hmacWithSHA224"
 I6	  62006 #define NID_hmacWithSHA224              798
 I6	  62007 #define OBJ_hmacWithSHA224              OBJ_rsadsi,2L,8L
 I6	  62008 
 I6	  62009 #define LN_hmacWithSHA256               "hmacWithSHA256"
 I6	  62010 #define NID_hmacWithSHA256              799
 I6	  62011 #define OBJ_hmacWithSHA256              OBJ_rsadsi,2L,9L
 I6	  62012 
 I6	  62013 #define LN_hmacWithSHA384               "hmacWithSHA384"
 I6	  62014 #define NID_hmacWithSHA384              800
 I6	  62015 #define OBJ_hmacWithSHA384              OBJ_rsadsi,2L,10L
 I6	  62016 
 I6	  62017 #define LN_hmacWithSHA512               "hmacWithSHA512"
 I6	  62018 #define NID_hmacWithSHA512              801
 I6	  62019 #define OBJ_hmacWithSHA512              OBJ_rsadsi,2L,11L
 I6	  62020 
 I6	  62021 #define LN_hmacWithSHA512_224           "hmacWithSHA512-224"
 I6	  62022 #define NID_hmacWithSHA512_224          1193
 I6	  62023 #define OBJ_hmacWithSHA512_224          OBJ_rsadsi,2L,12L
 I6	  62024 
 I6	  62025 #define LN_hmacWithSHA512_256           "hmacWithSHA512-256"
 I6	  62026 #define NID_hmacWithSHA512_256          1194
 I6	  62027 #define OBJ_hmacWithSHA512_256          OBJ_rsadsi,2L,13L
 I6	  62028 
 I6	  62029 #define SN_rc2_cbc              "RC2-CBC"
 I6	  62030 #define LN_rc2_cbc              "rc2-cbc"
 I6	  62031 #define NID_rc2_cbc             37
 I6	  62032 #define OBJ_rc2_cbc             OBJ_rsadsi,3L,2L
 I6	  62033 
 I6	  62034 #define SN_rc2_ecb              "RC2-ECB"
 I6	  62035 #define LN_rc2_ecb              "rc2-ecb"
 I6	  62036 #define NID_rc2_ecb             38
 I6	  62037 
 I6	  62038 #define SN_rc2_cfb64            "RC2-CFB"
 I6	  62039 #define LN_rc2_cfb64            "rc2-cfb"
 I6	  62040 #define NID_rc2_cfb64           39
 I6	  62041 
 I6	  62042 #define SN_rc2_ofb64            "RC2-OFB"
 I6	  62043 #define LN_rc2_ofb64            "rc2-ofb"
 I6	  62044 #define NID_rc2_ofb64           40

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1131
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62045 
 I6	  62046 #define SN_rc2_40_cbc           "RC2-40-CBC"
 I6	  62047 #define LN_rc2_40_cbc           "rc2-40-cbc"
 I6	  62048 #define NID_rc2_40_cbc          98
 I6	  62049 
 I6	  62050 #define SN_rc2_64_cbc           "RC2-64-CBC"
 I6	  62051 #define LN_rc2_64_cbc           "rc2-64-cbc"
 I6	  62052 #define NID_rc2_64_cbc          166
 I6	  62053 
 I6	  62054 #define SN_rc4          "RC4"
 I6	  62055 #define LN_rc4          "rc4"
 I6	  62056 #define NID_rc4         5
 I6	  62057 #define OBJ_rc4         OBJ_rsadsi,3L,4L
 I6	  62058 
 I6	  62059 #define SN_rc4_40               "RC4-40"
 I6	  62060 #define LN_rc4_40               "rc4-40"
 I6	  62061 #define NID_rc4_40              97
 I6	  62062 
 I6	  62063 #define SN_des_ede3_cbc         "DES-EDE3-CBC"
 I6	  62064 #define LN_des_ede3_cbc         "des-ede3-cbc"
 I6	  62065 #define NID_des_ede3_cbc                44
 I6	  62066 #define OBJ_des_ede3_cbc                OBJ_rsadsi,3L,7L
 I6	  62067 
 I6	  62068 #define SN_rc5_cbc              "RC5-CBC"
 I6	  62069 #define LN_rc5_cbc              "rc5-cbc"
 I6	  62070 #define NID_rc5_cbc             120
 I6	  62071 #define OBJ_rc5_cbc             OBJ_rsadsi,3L,8L
 I6	  62072 
 I6	  62073 #define SN_rc5_ecb              "RC5-ECB"
 I6	  62074 #define LN_rc5_ecb              "rc5-ecb"
 I6	  62075 #define NID_rc5_ecb             121
 I6	  62076 
 I6	  62077 #define SN_rc5_cfb64            "RC5-CFB"
 I6	  62078 #define LN_rc5_cfb64            "rc5-cfb"
 I6	  62079 #define NID_rc5_cfb64           122
 I6	  62080 
 I6	  62081 #define SN_rc5_ofb64            "RC5-OFB"
 I6	  62082 #define LN_rc5_ofb64            "rc5-ofb"
 I6	  62083 #define NID_rc5_ofb64           123
 I6	  62084 
 I6	  62085 #define SN_ms_ext_req           "msExtReq"
 I6	  62086 #define LN_ms_ext_req           "Microsoft Extension Request"
 I6	  62087 #define NID_ms_ext_req          171
 I6	  62088 #define OBJ_ms_ext_req          1L,3L,6L,1L,4L,1L,311L,2L,1L,14L
 I6	  62089 
 I6	  62090 #define SN_ms_code_ind          "msCodeInd"
 I6	  62091 #define LN_ms_code_ind          "Microsoft Individual Code Signing"
 I6	  62092 #define NID_ms_code_ind         134
 I6	  62093 #define OBJ_ms_code_ind         1L,3L,6L,1L,4L,1L,311L,2L,1L,21L
 I6	  62094 
 I6	  62095 #define SN_ms_code_com          "msCodeCom"
 I6	  62096 #define LN_ms_code_com          "Microsoft Commercial Code Signing"
 I6	  62097 #define NID_ms_code_com         135
 I6	  62098 #define OBJ_ms_code_com         1L,3L,6L,1L,4L,1L,311L,2L,1L,22L
 I6	  62099 
 I6	  62100 #define SN_ms_ctl_sign          "msCTLSign"
 I6	  62101 #define LN_ms_ctl_sign          "Microsoft Trust List Signing"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1132
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62102 #define NID_ms_ctl_sign         136
 I6	  62103 #define OBJ_ms_ctl_sign         1L,3L,6L,1L,4L,1L,311L,10L,3L,1L
 I6	  62104 
 I6	  62105 #define SN_ms_sgc               "msSGC"
 I6	  62106 #define LN_ms_sgc               "Microsoft Server Gated Crypto"
 I6	  62107 #define NID_ms_sgc              137
 I6	  62108 #define OBJ_ms_sgc              1L,3L,6L,1L,4L,1L,311L,10L,3L,3L
 I6	  62109 
 I6	  62110 #define SN_ms_efs               "msEFS"
 I6	  62111 #define LN_ms_efs               "Microsoft Encrypted File System"
 I6	  62112 #define NID_ms_efs              138
 I6	  62113 #define OBJ_ms_efs              1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
 I6	  62114 
 I6	  62115 #define SN_ms_smartcard_login           "msSmartcardLogin"
 I6	  62116 #define LN_ms_smartcard_login           "Microsoft Smartcard Login"
 I6	  62117 #define NID_ms_smartcard_login          648
 I6	  62118 #define OBJ_ms_smartcard_login          1L,3L,6L,1L,4L,1L,311L,20L,2L,2L
 I6	  62119 
 I6	  62120 #define SN_ms_upn               "msUPN"
 I6	  62121 #define LN_ms_upn               "Microsoft User Principal Name"
 I6	  62122 #define NID_ms_upn              649
 I6	  62123 #define OBJ_ms_upn              1L,3L,6L,1L,4L,1L,311L,20L,2L,3L
 I6	  62124 
 I6	  62125 #define SN_idea_cbc             "IDEA-CBC"
 I6	  62126 #define LN_idea_cbc             "idea-cbc"
 I6	  62127 #define NID_idea_cbc            34
 I6	  62128 #define OBJ_idea_cbc            1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L
 I6	  62129 
 I6	  62130 #define SN_idea_ecb             "IDEA-ECB"
 I6	  62131 #define LN_idea_ecb             "idea-ecb"
 I6	  62132 #define NID_idea_ecb            36
 I6	  62133 
 I6	  62134 #define SN_idea_cfb64           "IDEA-CFB"
 I6	  62135 #define LN_idea_cfb64           "idea-cfb"
 I6	  62136 #define NID_idea_cfb64          35
 I6	  62137 
 I6	  62138 #define SN_idea_ofb64           "IDEA-OFB"
 I6	  62139 #define LN_idea_ofb64           "idea-ofb"
 I6	  62140 #define NID_idea_ofb64          46
 I6	  62141 
 I6	  62142 #define SN_bf_cbc               "BF-CBC"
 I6	  62143 #define LN_bf_cbc               "bf-cbc"
 I6	  62144 #define NID_bf_cbc              91
 I6	  62145 #define OBJ_bf_cbc              1L,3L,6L,1L,4L,1L,3029L,1L,2L
 I6	  62146 
 I6	  62147 #define SN_bf_ecb               "BF-ECB"
 I6	  62148 #define LN_bf_ecb               "bf-ecb"
 I6	  62149 #define NID_bf_ecb              92
 I6	  62150 
 I6	  62151 #define SN_bf_cfb64             "BF-CFB"
 I6	  62152 #define LN_bf_cfb64             "bf-cfb"
 I6	  62153 #define NID_bf_cfb64            93
 I6	  62154 
 I6	  62155 #define SN_bf_ofb64             "BF-OFB"
 I6	  62156 #define LN_bf_ofb64             "bf-ofb"
 I6	  62157 #define NID_bf_ofb64            94
 I6	  62158 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1133
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62159 #define SN_id_pkix              "PKIX"
 I6	  62160 #define NID_id_pkix             127
 I6	  62161 #define OBJ_id_pkix             1L,3L,6L,1L,5L,5L,7L
 I6	  62162 
 I6	  62163 #define SN_id_pkix_mod          "id-pkix-mod"
 I6	  62164 #define NID_id_pkix_mod         258
 I6	  62165 #define OBJ_id_pkix_mod         OBJ_id_pkix,0L
 I6	  62166 
 I6	  62167 #define SN_id_pe                "id-pe"
 I6	  62168 #define NID_id_pe               175
 I6	  62169 #define OBJ_id_pe               OBJ_id_pkix,1L
 I6	  62170 
 I6	  62171 #define SN_id_qt                "id-qt"
 I6	  62172 #define NID_id_qt               259
 I6	  62173 #define OBJ_id_qt               OBJ_id_pkix,2L
 I6	  62174 
 I6	  62175 #define SN_id_kp                "id-kp"
 I6	  62176 #define NID_id_kp               128
 I6	  62177 #define OBJ_id_kp               OBJ_id_pkix,3L
 I6	  62178 
 I6	  62179 #define SN_id_it                "id-it"
 I6	  62180 #define NID_id_it               260
 I6	  62181 #define OBJ_id_it               OBJ_id_pkix,4L
 I6	  62182 
 I6	  62183 #define SN_id_pkip              "id-pkip"
 I6	  62184 #define NID_id_pkip             261
 I6	  62185 #define OBJ_id_pkip             OBJ_id_pkix,5L
 I6	  62186 
 I6	  62187 #define SN_id_alg               "id-alg"
 I6	  62188 #define NID_id_alg              262
 I6	  62189 #define OBJ_id_alg              OBJ_id_pkix,6L
 I6	  62190 
 I6	  62191 #define SN_id_cmc               "id-cmc"
 I6	  62192 #define NID_id_cmc              263
 I6	  62193 #define OBJ_id_cmc              OBJ_id_pkix,7L
 I6	  62194 
 I6	  62195 #define SN_id_on                "id-on"
 I6	  62196 #define NID_id_on               264
 I6	  62197 #define OBJ_id_on               OBJ_id_pkix,8L
 I6	  62198 
 I6	  62199 #define SN_id_pda               "id-pda"
 I6	  62200 #define NID_id_pda              265
 I6	  62201 #define OBJ_id_pda              OBJ_id_pkix,9L
 I6	  62202 
 I6	  62203 #define SN_id_aca               "id-aca"
 I6	  62204 #define NID_id_aca              266
 I6	  62205 #define OBJ_id_aca              OBJ_id_pkix,10L
 I6	  62206 
 I6	  62207 #define SN_id_qcs               "id-qcs"
 I6	  62208 #define NID_id_qcs              267
 I6	  62209 #define OBJ_id_qcs              OBJ_id_pkix,11L
 I6	  62210 
 I6	  62211 #define SN_id_cp                "id-cp"
 I6	  62212 #define NID_id_cp               1238
 I6	  62213 #define OBJ_id_cp               OBJ_id_pkix,14L
 I6	  62214 
 I6	  62215 #define SN_id_cct               "id-cct"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1134
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62216 #define NID_id_cct              268
 I6	  62217 #define OBJ_id_cct              OBJ_id_pkix,12L
 I6	  62218 
 I6	  62219 #define SN_id_ppl               "id-ppl"
 I6	  62220 #define NID_id_ppl              662
 I6	  62221 #define OBJ_id_ppl              OBJ_id_pkix,21L
 I6	  62222 
 I6	  62223 #define SN_id_ad                "id-ad"
 I6	  62224 #define NID_id_ad               176
 I6	  62225 #define OBJ_id_ad               OBJ_id_pkix,48L
 I6	  62226 
 I6	  62227 #define SN_id_pkix1_explicit_88         "id-pkix1-explicit-88"
 I6	  62228 #define NID_id_pkix1_explicit_88                269
 I6	  62229 #define OBJ_id_pkix1_explicit_88                OBJ_id_pkix_mod,1L
 I6	  62230 
 I6	  62231 #define SN_id_pkix1_implicit_88         "id-pkix1-implicit-88"
 I6	  62232 #define NID_id_pkix1_implicit_88                270
 I6	  62233 #define OBJ_id_pkix1_implicit_88                OBJ_id_pkix_mod,2L
 I6	  62234 
 I6	  62235 #define SN_id_pkix1_explicit_93         "id-pkix1-explicit-93"
 I6	  62236 #define NID_id_pkix1_explicit_93                271
 I6	  62237 #define OBJ_id_pkix1_explicit_93                OBJ_id_pkix_mod,3L
 I6	  62238 
 I6	  62239 #define SN_id_pkix1_implicit_93         "id-pkix1-implicit-93"
 I6	  62240 #define NID_id_pkix1_implicit_93                272
 I6	  62241 #define OBJ_id_pkix1_implicit_93                OBJ_id_pkix_mod,4L
 I6	  62242 
 I6	  62243 #define SN_id_mod_crmf          "id-mod-crmf"
 I6	  62244 #define NID_id_mod_crmf         273
 I6	  62245 #define OBJ_id_mod_crmf         OBJ_id_pkix_mod,5L
 I6	  62246 
 I6	  62247 #define SN_id_mod_cmc           "id-mod-cmc"
 I6	  62248 #define NID_id_mod_cmc          274
 I6	  62249 #define OBJ_id_mod_cmc          OBJ_id_pkix_mod,6L
 I6	  62250 
 I6	  62251 #define SN_id_mod_kea_profile_88                "id-mod-kea-profile-88"
 I6	  62252 #define NID_id_mod_kea_profile_88               275
 I6	  62253 #define OBJ_id_mod_kea_profile_88               OBJ_id_pkix_mod,7L
 I6	  62254 
 I6	  62255 #define SN_id_mod_kea_profile_93                "id-mod-kea-profile-93"
 I6	  62256 #define NID_id_mod_kea_profile_93               276
 I6	  62257 #define OBJ_id_mod_kea_profile_93               OBJ_id_pkix_mod,8L
 I6	  62258 
 I6	  62259 #define SN_id_mod_cmp           "id-mod-cmp"
 I6	  62260 #define NID_id_mod_cmp          277
 I6	  62261 #define OBJ_id_mod_cmp          OBJ_id_pkix_mod,9L
 I6	  62262 
 I6	  62263 #define SN_id_mod_qualified_cert_88             "id-mod-qualified-cert-88"
 I6	  62264 #define NID_id_mod_qualified_cert_88            278
 I6	  62265 #define OBJ_id_mod_qualified_cert_88            OBJ_id_pkix_mod,10L
 I6	  62266 
 I6	  62267 #define SN_id_mod_qualified_cert_93             "id-mod-qualified-cert-93"
 I6	  62268 #define NID_id_mod_qualified_cert_93            279
 I6	  62269 #define OBJ_id_mod_qualified_cert_93            OBJ_id_pkix_mod,11L
 I6	  62270 
 I6	  62271 #define SN_id_mod_attribute_cert                "id-mod-attribute-cert"
 I6	  62272 #define NID_id_mod_attribute_cert               280

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1135
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62273 #define OBJ_id_mod_attribute_cert               OBJ_id_pkix_mod,12L
 I6	  62274 
 I6	  62275 #define SN_id_mod_timestamp_protocol            "id-mod-timestamp-protocol"
 I6	  62276 #define NID_id_mod_timestamp_protocol           281
 I6	  62277 #define OBJ_id_mod_timestamp_protocol           OBJ_id_pkix_mod,13L
 I6	  62278 
 I6	  62279 #define SN_id_mod_ocsp          "id-mod-ocsp"
 I6	  62280 #define NID_id_mod_ocsp         282
 I6	  62281 #define OBJ_id_mod_ocsp         OBJ_id_pkix_mod,14L
 I6	  62282 
 I6	  62283 #define SN_id_mod_dvcs          "id-mod-dvcs"
 I6	  62284 #define NID_id_mod_dvcs         283
 I6	  62285 #define OBJ_id_mod_dvcs         OBJ_id_pkix_mod,15L
 I6	  62286 
 I6	  62287 #define SN_id_mod_cmp2000               "id-mod-cmp2000"
 I6	  62288 #define NID_id_mod_cmp2000              284
 I6	  62289 #define OBJ_id_mod_cmp2000              OBJ_id_pkix_mod,16L
 I6	  62290 
 I6	  62291 #define SN_info_access          "authorityInfoAccess"
 I6	  62292 #define LN_info_access          "Authority Information Access"
 I6	  62293 #define NID_info_access         177
 I6	  62294 #define OBJ_info_access         OBJ_id_pe,1L
 I6	  62295 
 I6	  62296 #define SN_biometricInfo                "biometricInfo"
 I6	  62297 #define LN_biometricInfo                "Biometric Info"
 I6	  62298 #define NID_biometricInfo               285
 I6	  62299 #define OBJ_biometricInfo               OBJ_id_pe,2L
 I6	  62300 
 I6	  62301 #define SN_qcStatements         "qcStatements"
 I6	  62302 #define NID_qcStatements                286
 I6	  62303 #define OBJ_qcStatements                OBJ_id_pe,3L
 I6	  62304 
 I6	  62305 #define SN_ac_auditEntity               "ac-auditEntity"
 I6	  62306 #define NID_ac_auditEntity              287
 I6	  62307 #define OBJ_ac_auditEntity              OBJ_id_pe,4L
 I6	  62308 
 I6	  62309 #define SN_ac_targeting         "ac-targeting"
 I6	  62310 #define NID_ac_targeting                288
 I6	  62311 #define OBJ_ac_targeting                OBJ_id_pe,5L
 I6	  62312 
 I6	  62313 #define SN_aaControls           "aaControls"
 I6	  62314 #define NID_aaControls          289
 I6	  62315 #define OBJ_aaControls          OBJ_id_pe,6L
 I6	  62316 
 I6	  62317 #define SN_sbgp_ipAddrBlock             "sbgp-ipAddrBlock"
 I6	  62318 #define NID_sbgp_ipAddrBlock            290
 I6	  62319 #define OBJ_sbgp_ipAddrBlock            OBJ_id_pe,7L
 I6	  62320 
 I6	  62321 #define SN_sbgp_autonomousSysNum                "sbgp-autonomousSysNum"
 I6	  62322 #define NID_sbgp_autonomousSysNum               291
 I6	  62323 #define OBJ_sbgp_autonomousSysNum               OBJ_id_pe,8L
 I6	  62324 
 I6	  62325 #define SN_sbgp_routerIdentifier                "sbgp-routerIdentifier"
 I6	  62326 #define NID_sbgp_routerIdentifier               292
 I6	  62327 #define OBJ_sbgp_routerIdentifier               OBJ_id_pe,9L
 I6	  62328 
 I6	  62329 #define SN_ac_proxying          "ac-proxying"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1136
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62330 #define NID_ac_proxying         397
 I6	  62331 #define OBJ_ac_proxying         OBJ_id_pe,10L
 I6	  62332 
 I6	  62333 #define SN_sinfo_access         "subjectInfoAccess"
 I6	  62334 #define LN_sinfo_access         "Subject Information Access"
 I6	  62335 #define NID_sinfo_access                398
 I6	  62336 #define OBJ_sinfo_access                OBJ_id_pe,11L
 I6	  62337 
 I6	  62338 #define SN_proxyCertInfo                "proxyCertInfo"
 I6	  62339 #define LN_proxyCertInfo                "Proxy Certificate Information"
 I6	  62340 #define NID_proxyCertInfo               663
 I6	  62341 #define OBJ_proxyCertInfo               OBJ_id_pe,14L
 I6	  62342 
 I6	  62343 #define SN_tlsfeature           "tlsfeature"
 I6	  62344 #define LN_tlsfeature           "TLS Feature"
 I6	  62345 #define NID_tlsfeature          1020
 I6	  62346 #define OBJ_tlsfeature          OBJ_id_pe,24L
 I6	  62347 
 I6	  62348 #define SN_sbgp_ipAddrBlockv2           "sbgp-ipAddrBlockv2"
 I6	  62349 #define NID_sbgp_ipAddrBlockv2          1239
 I6	  62350 #define OBJ_sbgp_ipAddrBlockv2          OBJ_id_pe,28L
 I6	  62351 
 I6	  62352 #define SN_sbgp_autonomousSysNumv2              "sbgp-autonomousSysNumv2"
 I6	  62353 #define NID_sbgp_autonomousSysNumv2             1240
 I6	  62354 #define OBJ_sbgp_autonomousSysNumv2             OBJ_id_pe,29L
 I6	  62355 
 I6	  62356 #define SN_id_qt_cps            "id-qt-cps"
 I6	  62357 #define LN_id_qt_cps            "Policy Qualifier CPS"
 I6	  62358 #define NID_id_qt_cps           164
 I6	  62359 #define OBJ_id_qt_cps           OBJ_id_qt,1L
 I6	  62360 
 I6	  62361 #define SN_id_qt_unotice                "id-qt-unotice"
 I6	  62362 #define LN_id_qt_unotice                "Policy Qualifier User Notice"
 I6	  62363 #define NID_id_qt_unotice               165
 I6	  62364 #define OBJ_id_qt_unotice               OBJ_id_qt,2L
 I6	  62365 
 I6	  62366 #define SN_textNotice           "textNotice"
 I6	  62367 #define NID_textNotice          293
 I6	  62368 #define OBJ_textNotice          OBJ_id_qt,3L
 I6	  62369 
 I6	  62370 #define SN_server_auth          "serverAuth"
 I6	  62371 #define LN_server_auth          "TLS Web Server Authentication"
 I6	  62372 #define NID_server_auth         129
 I6	  62373 #define OBJ_server_auth         OBJ_id_kp,1L
 I6	  62374 
 I6	  62375 #define SN_client_auth          "clientAuth"
 I6	  62376 #define LN_client_auth          "TLS Web Client Authentication"
 I6	  62377 #define NID_client_auth         130
 I6	  62378 #define OBJ_client_auth         OBJ_id_kp,2L
 I6	  62379 
 I6	  62380 #define SN_code_sign            "codeSigning"
 I6	  62381 #define LN_code_sign            "Code Signing"
 I6	  62382 #define NID_code_sign           131
 I6	  62383 #define OBJ_code_sign           OBJ_id_kp,3L
 I6	  62384 
 I6	  62385 #define SN_email_protect                "emailProtection"
 I6	  62386 #define LN_email_protect                "E-mail Protection"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1137
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62387 #define NID_email_protect               132
 I6	  62388 #define OBJ_email_protect               OBJ_id_kp,4L
 I6	  62389 
 I6	  62390 #define SN_ipsecEndSystem               "ipsecEndSystem"
 I6	  62391 #define LN_ipsecEndSystem               "IPSec End System"
 I6	  62392 #define NID_ipsecEndSystem              294
 I6	  62393 #define OBJ_ipsecEndSystem              OBJ_id_kp,5L
 I6	  62394 
 I6	  62395 #define SN_ipsecTunnel          "ipsecTunnel"
 I6	  62396 #define LN_ipsecTunnel          "IPSec Tunnel"
 I6	  62397 #define NID_ipsecTunnel         295
 I6	  62398 #define OBJ_ipsecTunnel         OBJ_id_kp,6L
 I6	  62399 
 I6	  62400 #define SN_ipsecUser            "ipsecUser"
 I6	  62401 #define LN_ipsecUser            "IPSec User"
 I6	  62402 #define NID_ipsecUser           296
 I6	  62403 #define OBJ_ipsecUser           OBJ_id_kp,7L
 I6	  62404 
 I6	  62405 #define SN_time_stamp           "timeStamping"
 I6	  62406 #define LN_time_stamp           "Time Stamping"
 I6	  62407 #define NID_time_stamp          133
 I6	  62408 #define OBJ_time_stamp          OBJ_id_kp,8L
 I6	  62409 
 I6	  62410 #define SN_OCSP_sign            "OCSPSigning"
 I6	  62411 #define LN_OCSP_sign            "OCSP Signing"
 I6	  62412 #define NID_OCSP_sign           180
 I6	  62413 #define OBJ_OCSP_sign           OBJ_id_kp,9L
 I6	  62414 
 I6	  62415 #define SN_dvcs         "DVCS"
 I6	  62416 #define LN_dvcs         "dvcs"
 I6	  62417 #define NID_dvcs                297
 I6	  62418 #define OBJ_dvcs                OBJ_id_kp,10L
 I6	  62419 
 I6	  62420 #define SN_ipsec_IKE            "ipsecIKE"
 I6	  62421 #define LN_ipsec_IKE            "ipsec Internet Key Exchange"
 I6	  62422 #define NID_ipsec_IKE           1022
 I6	  62423 #define OBJ_ipsec_IKE           OBJ_id_kp,17L
 I6	  62424 
 I6	  62425 #define SN_capwapAC             "capwapAC"
 I6	  62426 #define LN_capwapAC             "Ctrl/provision WAP Access"
 I6	  62427 #define NID_capwapAC            1023
 I6	  62428 #define OBJ_capwapAC            OBJ_id_kp,18L
 I6	  62429 
 I6	  62430 #define SN_capwapWTP            "capwapWTP"
 I6	  62431 #define LN_capwapWTP            "Ctrl/Provision WAP Termination"
 I6	  62432 #define NID_capwapWTP           1024
 I6	  62433 #define OBJ_capwapWTP           OBJ_id_kp,19L
 I6	  62434 
 I6	  62435 #define SN_sshClient            "secureShellClient"
 I6	  62436 #define LN_sshClient            "SSH Client"
 I6	  62437 #define NID_sshClient           1025
 I6	  62438 #define OBJ_sshClient           OBJ_id_kp,21L
 I6	  62439 
 I6	  62440 #define SN_sshServer            "secureShellServer"
 I6	  62441 #define LN_sshServer            "SSH Server"
 I6	  62442 #define NID_sshServer           1026
 I6	  62443 #define OBJ_sshServer           OBJ_id_kp,22L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1138
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62444 
 I6	  62445 #define SN_sendRouter           "sendRouter"
 I6	  62446 #define LN_sendRouter           "Send Router"
 I6	  62447 #define NID_sendRouter          1027
 I6	  62448 #define OBJ_sendRouter          OBJ_id_kp,23L
 I6	  62449 
 I6	  62450 #define SN_sendProxiedRouter            "sendProxiedRouter"
 I6	  62451 #define LN_sendProxiedRouter            "Send Proxied Router"
 I6	  62452 #define NID_sendProxiedRouter           1028
 I6	  62453 #define OBJ_sendProxiedRouter           OBJ_id_kp,24L
 I6	  62454 
 I6	  62455 #define SN_sendOwner            "sendOwner"
 I6	  62456 #define LN_sendOwner            "Send Owner"
 I6	  62457 #define NID_sendOwner           1029
 I6	  62458 #define OBJ_sendOwner           OBJ_id_kp,25L
 I6	  62459 
 I6	  62460 #define SN_sendProxiedOwner             "sendProxiedOwner"
 I6	  62461 #define LN_sendProxiedOwner             "Send Proxied Owner"
 I6	  62462 #define NID_sendProxiedOwner            1030
 I6	  62463 #define OBJ_sendProxiedOwner            OBJ_id_kp,26L
 I6	  62464 
 I6	  62465 #define SN_cmcCA                "cmcCA"
 I6	  62466 #define LN_cmcCA                "CMC Certificate Authority"
 I6	  62467 #define NID_cmcCA               1131
 I6	  62468 #define OBJ_cmcCA               OBJ_id_kp,27L
 I6	  62469 
 I6	  62470 #define SN_cmcRA                "cmcRA"
 I6	  62471 #define LN_cmcRA                "CMC Registration Authority"
 I6	  62472 #define NID_cmcRA               1132
 I6	  62473 #define OBJ_cmcRA               OBJ_id_kp,28L
 I6	  62474 
 I6	  62475 #define SN_cmcArchive           "cmcArchive"
 I6	  62476 #define LN_cmcArchive           "CMC Archive Server"
 I6	  62477 #define NID_cmcArchive          1219
 I6	  62478 #define OBJ_cmcArchive          OBJ_id_kp,29L
 I6	  62479 
 I6	  62480 #define SN_id_kp_bgpsec_router          "id-kp-bgpsec-router"
 I6	  62481 #define LN_id_kp_bgpsec_router          "BGPsec Router"
 I6	  62482 #define NID_id_kp_bgpsec_router         1220
 I6	  62483 #define OBJ_id_kp_bgpsec_router         OBJ_id_kp,30L
 I6	  62484 
 I6	  62485 #define SN_id_kp_BrandIndicatorforMessageIdentification         "id-kp-BrandIndicatorforMessageIdentification"
 I6	  62486 #define LN_id_kp_BrandIndicatorforMessageIdentification         "Brand Indicator for Message Identification"
 I6	  62487 #define NID_id_kp_BrandIndicatorforMessageIdentification                1221
 I6	  62488 #define OBJ_id_kp_BrandIndicatorforMessageIdentification                OBJ_id_kp,31L
 I6	  62489 
 I6	  62490 #define SN_cmKGA                "cmKGA"
 I6	  62491 #define LN_cmKGA                "Certificate Management Key Generation Authority"
 I6	  62492 #define NID_cmKGA               1222
 I6	  62493 #define OBJ_cmKGA               OBJ_id_kp,32L
 I6	  62494 
 I6	  62495 #define SN_id_it_caProtEncCert          "id-it-caProtEncCert"
 I6	  62496 #define NID_id_it_caProtEncCert         298
 I6	  62497 #define OBJ_id_it_caProtEncCert         OBJ_id_it,1L
 I6	  62498 
 I6	  62499 #define SN_id_it_signKeyPairTypes               "id-it-signKeyPairTypes"
 I6	  62500 #define NID_id_it_signKeyPairTypes              299

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1139
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62501 #define OBJ_id_it_signKeyPairTypes              OBJ_id_it,2L
 I6	  62502 
 I6	  62503 #define SN_id_it_encKeyPairTypes                "id-it-encKeyPairTypes"
 I6	  62504 #define NID_id_it_encKeyPairTypes               300
 I6	  62505 #define OBJ_id_it_encKeyPairTypes               OBJ_id_it,3L
 I6	  62506 
 I6	  62507 #define SN_id_it_preferredSymmAlg               "id-it-preferredSymmAlg"
 I6	  62508 #define NID_id_it_preferredSymmAlg              301
 I6	  62509 #define OBJ_id_it_preferredSymmAlg              OBJ_id_it,4L
 I6	  62510 
 I6	  62511 #define SN_id_it_caKeyUpdateInfo                "id-it-caKeyUpdateInfo"
 I6	  62512 #define NID_id_it_caKeyUpdateInfo               302
 I6	  62513 #define OBJ_id_it_caKeyUpdateInfo               OBJ_id_it,5L
 I6	  62514 
 I6	  62515 #define SN_id_it_currentCRL             "id-it-currentCRL"
 I6	  62516 #define NID_id_it_currentCRL            303
 I6	  62517 #define OBJ_id_it_currentCRL            OBJ_id_it,6L
 I6	  62518 
 I6	  62519 #define SN_id_it_unsupportedOIDs                "id-it-unsupportedOIDs"
 I6	  62520 #define NID_id_it_unsupportedOIDs               304
 I6	  62521 #define OBJ_id_it_unsupportedOIDs               OBJ_id_it,7L
 I6	  62522 
 I6	  62523 #define SN_id_it_subscriptionRequest            "id-it-subscriptionRequest"
 I6	  62524 #define NID_id_it_subscriptionRequest           305
 I6	  62525 #define OBJ_id_it_subscriptionRequest           OBJ_id_it,8L
 I6	  62526 
 I6	  62527 #define SN_id_it_subscriptionResponse           "id-it-subscriptionResponse"
 I6	  62528 #define NID_id_it_subscriptionResponse          306
 I6	  62529 #define OBJ_id_it_subscriptionResponse          OBJ_id_it,9L
 I6	  62530 
 I6	  62531 #define SN_id_it_keyPairParamReq                "id-it-keyPairParamReq"
 I6	  62532 #define NID_id_it_keyPairParamReq               307
 I6	  62533 #define OBJ_id_it_keyPairParamReq               OBJ_id_it,10L
 I6	  62534 
 I6	  62535 #define SN_id_it_keyPairParamRep                "id-it-keyPairParamRep"
 I6	  62536 #define NID_id_it_keyPairParamRep               308
 I6	  62537 #define OBJ_id_it_keyPairParamRep               OBJ_id_it,11L
 I6	  62538 
 I6	  62539 #define SN_id_it_revPassphrase          "id-it-revPassphrase"
 I6	  62540 #define NID_id_it_revPassphrase         309
 I6	  62541 #define OBJ_id_it_revPassphrase         OBJ_id_it,12L
 I6	  62542 
 I6	  62543 #define SN_id_it_implicitConfirm                "id-it-implicitConfirm"
 I6	  62544 #define NID_id_it_implicitConfirm               310
 I6	  62545 #define OBJ_id_it_implicitConfirm               OBJ_id_it,13L
 I6	  62546 
 I6	  62547 #define SN_id_it_confirmWaitTime                "id-it-confirmWaitTime"
 I6	  62548 #define NID_id_it_confirmWaitTime               311
 I6	  62549 #define OBJ_id_it_confirmWaitTime               OBJ_id_it,14L
 I6	  62550 
 I6	  62551 #define SN_id_it_origPKIMessage         "id-it-origPKIMessage"
 I6	  62552 #define NID_id_it_origPKIMessage                312
 I6	  62553 #define OBJ_id_it_origPKIMessage                OBJ_id_it,15L
 I6	  62554 
 I6	  62555 #define SN_id_it_suppLangTags           "id-it-suppLangTags"
 I6	  62556 #define NID_id_it_suppLangTags          784
 I6	  62557 #define OBJ_id_it_suppLangTags          OBJ_id_it,16L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1140
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62558 
 I6	  62559 #define SN_id_it_caCerts                "id-it-caCerts"
 I6	  62560 #define NID_id_it_caCerts               1223
 I6	  62561 #define OBJ_id_it_caCerts               OBJ_id_it,17L
 I6	  62562 
 I6	  62563 #define SN_id_it_rootCaKeyUpdate                "id-it-rootCaKeyUpdate"
 I6	  62564 #define NID_id_it_rootCaKeyUpdate               1224
 I6	  62565 #define OBJ_id_it_rootCaKeyUpdate               OBJ_id_it,18L
 I6	  62566 
 I6	  62567 #define SN_id_it_certReqTemplate                "id-it-certReqTemplate"
 I6	  62568 #define NID_id_it_certReqTemplate               1225
 I6	  62569 #define OBJ_id_it_certReqTemplate               OBJ_id_it,19L
 I6	  62570 
 I6	  62571 #define SN_id_regCtrl           "id-regCtrl"
 I6	  62572 #define NID_id_regCtrl          313
 I6	  62573 #define OBJ_id_regCtrl          OBJ_id_pkip,1L
 I6	  62574 
 I6	  62575 #define SN_id_regInfo           "id-regInfo"
 I6	  62576 #define NID_id_regInfo          314
 I6	  62577 #define OBJ_id_regInfo          OBJ_id_pkip,2L
 I6	  62578 
 I6	  62579 #define SN_id_regCtrl_regToken          "id-regCtrl-regToken"
 I6	  62580 #define NID_id_regCtrl_regToken         315
 I6	  62581 #define OBJ_id_regCtrl_regToken         OBJ_id_regCtrl,1L
 I6	  62582 
 I6	  62583 #define SN_id_regCtrl_authenticator             "id-regCtrl-authenticator"
 I6	  62584 #define NID_id_regCtrl_authenticator            316
 I6	  62585 #define OBJ_id_regCtrl_authenticator            OBJ_id_regCtrl,2L
 I6	  62586 
 I6	  62587 #define SN_id_regCtrl_pkiPublicationInfo                "id-regCtrl-pkiPublicationInfo"
 I6	  62588 #define NID_id_regCtrl_pkiPublicationInfo               317
 I6	  62589 #define OBJ_id_regCtrl_pkiPublicationInfo               OBJ_id_regCtrl,3L
 I6	  62590 
 I6	  62591 #define SN_id_regCtrl_pkiArchiveOptions         "id-regCtrl-pkiArchiveOptions"
 I6	  62592 #define NID_id_regCtrl_pkiArchiveOptions                318
 I6	  62593 #define OBJ_id_regCtrl_pkiArchiveOptions                OBJ_id_regCtrl,4L
 I6	  62594 
 I6	  62595 #define SN_id_regCtrl_oldCertID         "id-regCtrl-oldCertID"
 I6	  62596 #define NID_id_regCtrl_oldCertID                319
 I6	  62597 #define OBJ_id_regCtrl_oldCertID                OBJ_id_regCtrl,5L
 I6	  62598 
 I6	  62599 #define SN_id_regCtrl_protocolEncrKey           "id-regCtrl-protocolEncrKey"
 I6	  62600 #define NID_id_regCtrl_protocolEncrKey          320
 I6	  62601 #define OBJ_id_regCtrl_protocolEncrKey          OBJ_id_regCtrl,6L
 I6	  62602 
 I6	  62603 #define SN_id_regInfo_utf8Pairs         "id-regInfo-utf8Pairs"
 I6	  62604 #define NID_id_regInfo_utf8Pairs                321
 I6	  62605 #define OBJ_id_regInfo_utf8Pairs                OBJ_id_regInfo,1L
 I6	  62606 
 I6	  62607 #define SN_id_regInfo_certReq           "id-regInfo-certReq"
 I6	  62608 #define NID_id_regInfo_certReq          322
 I6	  62609 #define OBJ_id_regInfo_certReq          OBJ_id_regInfo,2L
 I6	  62610 
 I6	  62611 #define SN_id_alg_des40         "id-alg-des40"
 I6	  62612 #define NID_id_alg_des40                323
 I6	  62613 #define OBJ_id_alg_des40                OBJ_id_alg,1L
 I6	  62614 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1141
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62615 #define SN_id_alg_noSignature           "id-alg-noSignature"
 I6	  62616 #define NID_id_alg_noSignature          324
 I6	  62617 #define OBJ_id_alg_noSignature          OBJ_id_alg,2L
 I6	  62618 
 I6	  62619 #define SN_id_alg_dh_sig_hmac_sha1              "id-alg-dh-sig-hmac-sha1"
 I6	  62620 #define NID_id_alg_dh_sig_hmac_sha1             325
 I6	  62621 #define OBJ_id_alg_dh_sig_hmac_sha1             OBJ_id_alg,3L
 I6	  62622 
 I6	  62623 #define SN_id_alg_dh_pop                "id-alg-dh-pop"
 I6	  62624 #define NID_id_alg_dh_pop               326
 I6	  62625 #define OBJ_id_alg_dh_pop               OBJ_id_alg,4L
 I6	  62626 
 I6	  62627 #define SN_id_cmc_statusInfo            "id-cmc-statusInfo"
 I6	  62628 #define NID_id_cmc_statusInfo           327
 I6	  62629 #define OBJ_id_cmc_statusInfo           OBJ_id_cmc,1L
 I6	  62630 
 I6	  62631 #define SN_id_cmc_identification                "id-cmc-identification"
 I6	  62632 #define NID_id_cmc_identification               328
 I6	  62633 #define OBJ_id_cmc_identification               OBJ_id_cmc,2L
 I6	  62634 
 I6	  62635 #define SN_id_cmc_identityProof         "id-cmc-identityProof"
 I6	  62636 #define NID_id_cmc_identityProof                329
 I6	  62637 #define OBJ_id_cmc_identityProof                OBJ_id_cmc,3L
 I6	  62638 
 I6	  62639 #define SN_id_cmc_dataReturn            "id-cmc-dataReturn"
 I6	  62640 #define NID_id_cmc_dataReturn           330
 I6	  62641 #define OBJ_id_cmc_dataReturn           OBJ_id_cmc,4L
 I6	  62642 
 I6	  62643 #define SN_id_cmc_transactionId         "id-cmc-transactionId"
 I6	  62644 #define NID_id_cmc_transactionId                331
 I6	  62645 #define OBJ_id_cmc_transactionId                OBJ_id_cmc,5L
 I6	  62646 
 I6	  62647 #define SN_id_cmc_senderNonce           "id-cmc-senderNonce"
 I6	  62648 #define NID_id_cmc_senderNonce          332
 I6	  62649 #define OBJ_id_cmc_senderNonce          OBJ_id_cmc,6L
 I6	  62650 
 I6	  62651 #define SN_id_cmc_recipientNonce                "id-cmc-recipientNonce"
 I6	  62652 #define NID_id_cmc_recipientNonce               333
 I6	  62653 #define OBJ_id_cmc_recipientNonce               OBJ_id_cmc,7L
 I6	  62654 
 I6	  62655 #define SN_id_cmc_addExtensions         "id-cmc-addExtensions"
 I6	  62656 #define NID_id_cmc_addExtensions                334
 I6	  62657 #define OBJ_id_cmc_addExtensions                OBJ_id_cmc,8L
 I6	  62658 
 I6	  62659 #define SN_id_cmc_encryptedPOP          "id-cmc-encryptedPOP"
 I6	  62660 #define NID_id_cmc_encryptedPOP         335
 I6	  62661 #define OBJ_id_cmc_encryptedPOP         OBJ_id_cmc,9L
 I6	  62662 
 I6	  62663 #define SN_id_cmc_decryptedPOP          "id-cmc-decryptedPOP"
 I6	  62664 #define NID_id_cmc_decryptedPOP         336
 I6	  62665 #define OBJ_id_cmc_decryptedPOP         OBJ_id_cmc,10L
 I6	  62666 
 I6	  62667 #define SN_id_cmc_lraPOPWitness         "id-cmc-lraPOPWitness"
 I6	  62668 #define NID_id_cmc_lraPOPWitness                337
 I6	  62669 #define OBJ_id_cmc_lraPOPWitness                OBJ_id_cmc,11L
 I6	  62670 
 I6	  62671 #define SN_id_cmc_getCert               "id-cmc-getCert"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1142
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62672 #define NID_id_cmc_getCert              338
 I6	  62673 #define OBJ_id_cmc_getCert              OBJ_id_cmc,15L
 I6	  62674 
 I6	  62675 #define SN_id_cmc_getCRL                "id-cmc-getCRL"
 I6	  62676 #define NID_id_cmc_getCRL               339
 I6	  62677 #define OBJ_id_cmc_getCRL               OBJ_id_cmc,16L
 I6	  62678 
 I6	  62679 #define SN_id_cmc_revokeRequest         "id-cmc-revokeRequest"
 I6	  62680 #define NID_id_cmc_revokeRequest                340
 I6	  62681 #define OBJ_id_cmc_revokeRequest                OBJ_id_cmc,17L
 I6	  62682 
 I6	  62683 #define SN_id_cmc_regInfo               "id-cmc-regInfo"
 I6	  62684 #define NID_id_cmc_regInfo              341
 I6	  62685 #define OBJ_id_cmc_regInfo              OBJ_id_cmc,18L
 I6	  62686 
 I6	  62687 #define SN_id_cmc_responseInfo          "id-cmc-responseInfo"
 I6	  62688 #define NID_id_cmc_responseInfo         342
 I6	  62689 #define OBJ_id_cmc_responseInfo         OBJ_id_cmc,19L
 I6	  62690 
 I6	  62691 #define SN_id_cmc_queryPending          "id-cmc-queryPending"
 I6	  62692 #define NID_id_cmc_queryPending         343
 I6	  62693 #define OBJ_id_cmc_queryPending         OBJ_id_cmc,21L
 I6	  62694 
 I6	  62695 #define SN_id_cmc_popLinkRandom         "id-cmc-popLinkRandom"
 I6	  62696 #define NID_id_cmc_popLinkRandom                344
 I6	  62697 #define OBJ_id_cmc_popLinkRandom                OBJ_id_cmc,22L
 I6	  62698 
 I6	  62699 #define SN_id_cmc_popLinkWitness                "id-cmc-popLinkWitness"
 I6	  62700 #define NID_id_cmc_popLinkWitness               345
 I6	  62701 #define OBJ_id_cmc_popLinkWitness               OBJ_id_cmc,23L
 I6	  62702 
 I6	  62703 #define SN_id_cmc_confirmCertAcceptance         "id-cmc-confirmCertAcceptance"
 I6	  62704 #define NID_id_cmc_confirmCertAcceptance                346
 I6	  62705 #define OBJ_id_cmc_confirmCertAcceptance                OBJ_id_cmc,24L
 I6	  62706 
 I6	  62707 #define SN_id_on_personalData           "id-on-personalData"
 I6	  62708 #define NID_id_on_personalData          347
 I6	  62709 #define OBJ_id_on_personalData          OBJ_id_on,1L
 I6	  62710 
 I6	  62711 #define SN_id_on_permanentIdentifier            "id-on-permanentIdentifier"
 I6	  62712 #define LN_id_on_permanentIdentifier            "Permanent Identifier"
 I6	  62713 #define NID_id_on_permanentIdentifier           858
 I6	  62714 #define OBJ_id_on_permanentIdentifier           OBJ_id_on,3L
 I6	  62715 
 I6	  62716 #define SN_XmppAddr             "id-on-xmppAddr"
 I6	  62717 #define LN_XmppAddr             "XmppAddr"
 I6	  62718 #define NID_XmppAddr            1209
 I6	  62719 #define OBJ_XmppAddr            OBJ_id_on,5L
 I6	  62720 
 I6	  62721 #define SN_SRVName              "id-on-dnsSRV"
 I6	  62722 #define LN_SRVName              "SRVName"
 I6	  62723 #define NID_SRVName             1210
 I6	  62724 #define OBJ_SRVName             OBJ_id_on,7L
 I6	  62725 
 I6	  62726 #define SN_NAIRealm             "id-on-NAIRealm"
 I6	  62727 #define LN_NAIRealm             "NAIRealm"
 I6	  62728 #define NID_NAIRealm            1211

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1143
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62729 #define OBJ_NAIRealm            OBJ_id_on,8L
 I6	  62730 
 I6	  62731 #define SN_id_on_SmtpUTF8Mailbox                "id-on-SmtpUTF8Mailbox"
 I6	  62732 #define LN_id_on_SmtpUTF8Mailbox                "Smtp UTF8 Mailbox"
 I6	  62733 #define NID_id_on_SmtpUTF8Mailbox               1208
 I6	  62734 #define OBJ_id_on_SmtpUTF8Mailbox               OBJ_id_on,9L
 I6	  62735 
 I6	  62736 #define SN_id_pda_dateOfBirth           "id-pda-dateOfBirth"
 I6	  62737 #define NID_id_pda_dateOfBirth          348
 I6	  62738 #define OBJ_id_pda_dateOfBirth          OBJ_id_pda,1L
 I6	  62739 
 I6	  62740 #define SN_id_pda_placeOfBirth          "id-pda-placeOfBirth"
 I6	  62741 #define NID_id_pda_placeOfBirth         349
 I6	  62742 #define OBJ_id_pda_placeOfBirth         OBJ_id_pda,2L
 I6	  62743 
 I6	  62744 #define SN_id_pda_gender                "id-pda-gender"
 I6	  62745 #define NID_id_pda_gender               351
 I6	  62746 #define OBJ_id_pda_gender               OBJ_id_pda,3L
 I6	  62747 
 I6	  62748 #define SN_id_pda_countryOfCitizenship          "id-pda-countryOfCitizenship"
 I6	  62749 #define NID_id_pda_countryOfCitizenship         352
 I6	  62750 #define OBJ_id_pda_countryOfCitizenship         OBJ_id_pda,4L
 I6	  62751 
 I6	  62752 #define SN_id_pda_countryOfResidence            "id-pda-countryOfResidence"
 I6	  62753 #define NID_id_pda_countryOfResidence           353
 I6	  62754 #define OBJ_id_pda_countryOfResidence           OBJ_id_pda,5L
 I6	  62755 
 I6	  62756 #define SN_id_aca_authenticationInfo            "id-aca-authenticationInfo"
 I6	  62757 #define NID_id_aca_authenticationInfo           354
 I6	  62758 #define OBJ_id_aca_authenticationInfo           OBJ_id_aca,1L
 I6	  62759 
 I6	  62760 #define SN_id_aca_accessIdentity                "id-aca-accessIdentity"
 I6	  62761 #define NID_id_aca_accessIdentity               355
 I6	  62762 #define OBJ_id_aca_accessIdentity               OBJ_id_aca,2L
 I6	  62763 
 I6	  62764 #define SN_id_aca_chargingIdentity              "id-aca-chargingIdentity"
 I6	  62765 #define NID_id_aca_chargingIdentity             356
 I6	  62766 #define OBJ_id_aca_chargingIdentity             OBJ_id_aca,3L
 I6	  62767 
 I6	  62768 #define SN_id_aca_group         "id-aca-group"
 I6	  62769 #define NID_id_aca_group                357
 I6	  62770 #define OBJ_id_aca_group                OBJ_id_aca,4L
 I6	  62771 
 I6	  62772 #define SN_id_aca_role          "id-aca-role"
 I6	  62773 #define NID_id_aca_role         358
 I6	  62774 #define OBJ_id_aca_role         OBJ_id_aca,5L
 I6	  62775 
 I6	  62776 #define SN_id_aca_encAttrs              "id-aca-encAttrs"
 I6	  62777 #define NID_id_aca_encAttrs             399
 I6	  62778 #define OBJ_id_aca_encAttrs             OBJ_id_aca,6L
 I6	  62779 
 I6	  62780 #define SN_id_qcs_pkixQCSyntax_v1               "id-qcs-pkixQCSyntax-v1"
 I6	  62781 #define NID_id_qcs_pkixQCSyntax_v1              359
 I6	  62782 #define OBJ_id_qcs_pkixQCSyntax_v1              OBJ_id_qcs,1L
 I6	  62783 
 I6	  62784 #define SN_ipAddr_asNumber              "ipAddr-asNumber"
 I6	  62785 #define NID_ipAddr_asNumber             1241

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1144
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62786 #define OBJ_ipAddr_asNumber             OBJ_id_cp,2L
 I6	  62787 
 I6	  62788 #define SN_ipAddr_asNumberv2            "ipAddr-asNumberv2"
 I6	  62789 #define NID_ipAddr_asNumberv2           1242
 I6	  62790 #define OBJ_ipAddr_asNumberv2           OBJ_id_cp,3L
 I6	  62791 
 I6	  62792 #define SN_id_cct_crs           "id-cct-crs"
 I6	  62793 #define NID_id_cct_crs          360
 I6	  62794 #define OBJ_id_cct_crs          OBJ_id_cct,1L
 I6	  62795 
 I6	  62796 #define SN_id_cct_PKIData               "id-cct-PKIData"
 I6	  62797 #define NID_id_cct_PKIData              361
 I6	  62798 #define OBJ_id_cct_PKIData              OBJ_id_cct,2L
 I6	  62799 
 I6	  62800 #define SN_id_cct_PKIResponse           "id-cct-PKIResponse"
 I6	  62801 #define NID_id_cct_PKIResponse          362
 I6	  62802 #define OBJ_id_cct_PKIResponse          OBJ_id_cct,3L
 I6	  62803 
 I6	  62804 #define SN_id_ppl_anyLanguage           "id-ppl-anyLanguage"
 I6	  62805 #define LN_id_ppl_anyLanguage           "Any language"
 I6	  62806 #define NID_id_ppl_anyLanguage          664
 I6	  62807 #define OBJ_id_ppl_anyLanguage          OBJ_id_ppl,0L
 I6	  62808 
 I6	  62809 #define SN_id_ppl_inheritAll            "id-ppl-inheritAll"
 I6	  62810 #define LN_id_ppl_inheritAll            "Inherit all"
 I6	  62811 #define NID_id_ppl_inheritAll           665
 I6	  62812 #define OBJ_id_ppl_inheritAll           OBJ_id_ppl,1L
 I6	  62813 
 I6	  62814 #define SN_Independent          "id-ppl-independent"
 I6	  62815 #define LN_Independent          "Independent"
 I6	  62816 #define NID_Independent         667
 I6	  62817 #define OBJ_Independent         OBJ_id_ppl,2L
 I6	  62818 
 I6	  62819 #define SN_ad_OCSP              "OCSP"
 I6	  62820 #define LN_ad_OCSP              "OCSP"
 I6	  62821 #define NID_ad_OCSP             178
 I6	  62822 #define OBJ_ad_OCSP             OBJ_id_ad,1L
 I6	  62823 
 I6	  62824 #define SN_ad_ca_issuers                "caIssuers"
 I6	  62825 #define LN_ad_ca_issuers                "CA Issuers"
 I6	  62826 #define NID_ad_ca_issuers               179
 I6	  62827 #define OBJ_ad_ca_issuers               OBJ_id_ad,2L
 I6	  62828 
 I6	  62829 #define SN_ad_timeStamping              "ad_timestamping"
 I6	  62830 #define LN_ad_timeStamping              "AD Time Stamping"
 I6	  62831 #define NID_ad_timeStamping             363
 I6	  62832 #define OBJ_ad_timeStamping             OBJ_id_ad,3L
 I6	  62833 
 I6	  62834 #define SN_ad_dvcs              "AD_DVCS"
 I6	  62835 #define LN_ad_dvcs              "ad dvcs"
 I6	  62836 #define NID_ad_dvcs             364
 I6	  62837 #define OBJ_ad_dvcs             OBJ_id_ad,4L
 I6	  62838 
 I6	  62839 #define SN_caRepository         "caRepository"
 I6	  62840 #define LN_caRepository         "CA Repository"
 I6	  62841 #define NID_caRepository                785
 I6	  62842 #define OBJ_caRepository                OBJ_id_ad,5L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1145
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62843 
 I6	  62844 #define SN_rpkiManifest         "rpkiManifest"
 I6	  62845 #define LN_rpkiManifest         "RPKI Manifest"
 I6	  62846 #define NID_rpkiManifest                1243
 I6	  62847 #define OBJ_rpkiManifest                OBJ_id_ad,10L
 I6	  62848 
 I6	  62849 #define SN_signedObject         "signedObject"
 I6	  62850 #define LN_signedObject         "Signed Object"
 I6	  62851 #define NID_signedObject                1244
 I6	  62852 #define OBJ_signedObject                OBJ_id_ad,11L
 I6	  62853 
 I6	  62854 #define SN_rpkiNotify           "rpkiNotify"
 I6	  62855 #define LN_rpkiNotify           "RPKI Notify"
 I6	  62856 #define NID_rpkiNotify          1245
 I6	  62857 #define OBJ_rpkiNotify          OBJ_id_ad,13L
 I6	  62858 
 I6	  62859 #define OBJ_id_pkix_OCSP                OBJ_ad_OCSP
 I6	  62860 
 I6	  62861 #define SN_id_pkix_OCSP_basic           "basicOCSPResponse"
 I6	  62862 #define LN_id_pkix_OCSP_basic           "Basic OCSP Response"
 I6	  62863 #define NID_id_pkix_OCSP_basic          365
 I6	  62864 #define OBJ_id_pkix_OCSP_basic          OBJ_id_pkix_OCSP,1L
 I6	  62865 
 I6	  62866 #define SN_id_pkix_OCSP_Nonce           "Nonce"
 I6	  62867 #define LN_id_pkix_OCSP_Nonce           "OCSP Nonce"
 I6	  62868 #define NID_id_pkix_OCSP_Nonce          366
 I6	  62869 #define OBJ_id_pkix_OCSP_Nonce          OBJ_id_pkix_OCSP,2L
 I6	  62870 
 I6	  62871 #define SN_id_pkix_OCSP_CrlID           "CrlID"
 I6	  62872 #define LN_id_pkix_OCSP_CrlID           "OCSP CRL ID"
 I6	  62873 #define NID_id_pkix_OCSP_CrlID          367
 I6	  62874 #define OBJ_id_pkix_OCSP_CrlID          OBJ_id_pkix_OCSP,3L
 I6	  62875 
 I6	  62876 #define SN_id_pkix_OCSP_acceptableResponses             "acceptableResponses"
 I6	  62877 #define LN_id_pkix_OCSP_acceptableResponses             "Acceptable OCSP Responses"
 I6	  62878 #define NID_id_pkix_OCSP_acceptableResponses            368
 I6	  62879 #define OBJ_id_pkix_OCSP_acceptableResponses            OBJ_id_pkix_OCSP,4L
 I6	  62880 
 I6	  62881 #define SN_id_pkix_OCSP_noCheck         "noCheck"
 I6	  62882 #define LN_id_pkix_OCSP_noCheck         "OCSP No Check"
 I6	  62883 #define NID_id_pkix_OCSP_noCheck                369
 I6	  62884 #define OBJ_id_pkix_OCSP_noCheck                OBJ_id_pkix_OCSP,5L
 I6	  62885 
 I6	  62886 #define SN_id_pkix_OCSP_archiveCutoff           "archiveCutoff"
 I6	  62887 #define LN_id_pkix_OCSP_archiveCutoff           "OCSP Archive Cutoff"
 I6	  62888 #define NID_id_pkix_OCSP_archiveCutoff          370
 I6	  62889 #define OBJ_id_pkix_OCSP_archiveCutoff          OBJ_id_pkix_OCSP,6L
 I6	  62890 
 I6	  62891 #define SN_id_pkix_OCSP_serviceLocator          "serviceLocator"
 I6	  62892 #define LN_id_pkix_OCSP_serviceLocator          "OCSP Service Locator"
 I6	  62893 #define NID_id_pkix_OCSP_serviceLocator         371
 I6	  62894 #define OBJ_id_pkix_OCSP_serviceLocator         OBJ_id_pkix_OCSP,7L
 I6	  62895 
 I6	  62896 #define SN_id_pkix_OCSP_extendedStatus          "extendedStatus"
 I6	  62897 #define LN_id_pkix_OCSP_extendedStatus          "Extended OCSP Status"
 I6	  62898 #define NID_id_pkix_OCSP_extendedStatus         372
 I6	  62899 #define OBJ_id_pkix_OCSP_extendedStatus         OBJ_id_pkix_OCSP,8L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1146
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62900 
 I6	  62901 #define SN_id_pkix_OCSP_valid           "valid"
 I6	  62902 #define NID_id_pkix_OCSP_valid          373
 I6	  62903 #define OBJ_id_pkix_OCSP_valid          OBJ_id_pkix_OCSP,9L
 I6	  62904 
 I6	  62905 #define SN_id_pkix_OCSP_path            "path"
 I6	  62906 #define NID_id_pkix_OCSP_path           374
 I6	  62907 #define OBJ_id_pkix_OCSP_path           OBJ_id_pkix_OCSP,10L
 I6	  62908 
 I6	  62909 #define SN_id_pkix_OCSP_trustRoot               "trustRoot"
 I6	  62910 #define LN_id_pkix_OCSP_trustRoot               "Trust Root"
 I6	  62911 #define NID_id_pkix_OCSP_trustRoot              375
 I6	  62912 #define OBJ_id_pkix_OCSP_trustRoot              OBJ_id_pkix_OCSP,11L
 I6	  62913 
 I6	  62914 #define SN_algorithm            "algorithm"
 I6	  62915 #define LN_algorithm            "algorithm"
 I6	  62916 #define NID_algorithm           376
 I6	  62917 #define OBJ_algorithm           1L,3L,14L,3L,2L
 I6	  62918 
 I6	  62919 #define SN_md5WithRSA           "RSA-NP-MD5"
 I6	  62920 #define LN_md5WithRSA           "md5WithRSA"
 I6	  62921 #define NID_md5WithRSA          104
 I6	  62922 #define OBJ_md5WithRSA          OBJ_algorithm,3L
 I6	  62923 
 I6	  62924 #define SN_des_ecb              "DES-ECB"
 I6	  62925 #define LN_des_ecb              "des-ecb"
 I6	  62926 #define NID_des_ecb             29
 I6	  62927 #define OBJ_des_ecb             OBJ_algorithm,6L
 I6	  62928 
 I6	  62929 #define SN_des_cbc              "DES-CBC"
 I6	  62930 #define LN_des_cbc              "des-cbc"
 I6	  62931 #define NID_des_cbc             31
 I6	  62932 #define OBJ_des_cbc             OBJ_algorithm,7L
 I6	  62933 
 I6	  62934 #define SN_des_ofb64            "DES-OFB"
 I6	  62935 #define LN_des_ofb64            "des-ofb"
 I6	  62936 #define NID_des_ofb64           45
 I6	  62937 #define OBJ_des_ofb64           OBJ_algorithm,8L
 I6	  62938 
 I6	  62939 #define SN_des_cfb64            "DES-CFB"
 I6	  62940 #define LN_des_cfb64            "des-cfb"
 I6	  62941 #define NID_des_cfb64           30
 I6	  62942 #define OBJ_des_cfb64           OBJ_algorithm,9L
 I6	  62943 
 I6	  62944 #define SN_rsaSignature         "rsaSignature"
 I6	  62945 #define NID_rsaSignature                377
 I6	  62946 #define OBJ_rsaSignature                OBJ_algorithm,11L
 I6	  62947 
 I6	  62948 #define SN_dsa_2                "DSA-old"
 I6	  62949 #define LN_dsa_2                "dsaEncryption-old"
 I6	  62950 #define NID_dsa_2               67
 I6	  62951 #define OBJ_dsa_2               OBJ_algorithm,12L
 I6	  62952 
 I6	  62953 #define SN_dsaWithSHA           "DSA-SHA"
 I6	  62954 #define LN_dsaWithSHA           "dsaWithSHA"
 I6	  62955 #define NID_dsaWithSHA          66
 I6	  62956 #define OBJ_dsaWithSHA          OBJ_algorithm,13L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1147
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  62957 
 I6	  62958 #define SN_shaWithRSAEncryption         "RSA-SHA"
 I6	  62959 #define LN_shaWithRSAEncryption         "shaWithRSAEncryption"
 I6	  62960 #define NID_shaWithRSAEncryption                42
 I6	  62961 #define OBJ_shaWithRSAEncryption                OBJ_algorithm,15L
 I6	  62962 
 I6	  62963 #define SN_des_ede_ecb          "DES-EDE"
 I6	  62964 #define LN_des_ede_ecb          "des-ede"
 I6	  62965 #define NID_des_ede_ecb         32
 I6	  62966 #define OBJ_des_ede_ecb         OBJ_algorithm,17L
 I6	  62967 
 I6	  62968 #define SN_des_ede3_ecb         "DES-EDE3"
 I6	  62969 #define LN_des_ede3_ecb         "des-ede3"
 I6	  62970 #define NID_des_ede3_ecb                33
 I6	  62971 
 I6	  62972 #define SN_des_ede_cbc          "DES-EDE-CBC"
 I6	  62973 #define LN_des_ede_cbc          "des-ede-cbc"
 I6	  62974 #define NID_des_ede_cbc         43
 I6	  62975 
 I6	  62976 #define SN_des_ede_cfb64                "DES-EDE-CFB"
 I6	  62977 #define LN_des_ede_cfb64                "des-ede-cfb"
 I6	  62978 #define NID_des_ede_cfb64               60
 I6	  62979 
 I6	  62980 #define SN_des_ede3_cfb64               "DES-EDE3-CFB"
 I6	  62981 #define LN_des_ede3_cfb64               "des-ede3-cfb"
 I6	  62982 #define NID_des_ede3_cfb64              61
 I6	  62983 
 I6	  62984 #define SN_des_ede_ofb64                "DES-EDE-OFB"
 I6	  62985 #define LN_des_ede_ofb64                "des-ede-ofb"
 I6	  62986 #define NID_des_ede_ofb64               62
 I6	  62987 
 I6	  62988 #define SN_des_ede3_ofb64               "DES-EDE3-OFB"
 I6	  62989 #define LN_des_ede3_ofb64               "des-ede3-ofb"
 I6	  62990 #define NID_des_ede3_ofb64              63
 I6	  62991 
 I6	  62992 #define SN_desx_cbc             "DESX-CBC"
 I6	  62993 #define LN_desx_cbc             "desx-cbc"
 I6	  62994 #define NID_desx_cbc            80
 I6	  62995 
 I6	  62996 #define SN_sha          "SHA"
 I6	  62997 #define LN_sha          "sha"
 I6	  62998 #define NID_sha         41
 I6	  62999 #define OBJ_sha         OBJ_algorithm,18L
 I6	  63000 
 I6	  63001 #define SN_sha1         "SHA1"
 I6	  63002 #define LN_sha1         "sha1"
 I6	  63003 #define NID_sha1                64
 I6	  63004 #define OBJ_sha1                OBJ_algorithm,26L
 I6	  63005 
 I6	  63006 #define SN_dsaWithSHA1_2                "DSA-SHA1-old"
 I6	  63007 #define LN_dsaWithSHA1_2                "dsaWithSHA1-old"
 I6	  63008 #define NID_dsaWithSHA1_2               70
 I6	  63009 #define OBJ_dsaWithSHA1_2               OBJ_algorithm,27L
 I6	  63010 
 I6	  63011 #define SN_sha1WithRSA          "RSA-SHA1-2"
 I6	  63012 #define LN_sha1WithRSA          "sha1WithRSA"
 I6	  63013 #define NID_sha1WithRSA         115

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1148
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63014 #define OBJ_sha1WithRSA         OBJ_algorithm,29L
 I6	  63015 
 I6	  63016 #define SN_ripemd160            "RIPEMD160"
 I6	  63017 #define LN_ripemd160            "ripemd160"
 I6	  63018 #define NID_ripemd160           117
 I6	  63019 #define OBJ_ripemd160           1L,3L,36L,3L,2L,1L
 I6	  63020 
 I6	  63021 #define SN_ripemd160WithRSA             "RSA-RIPEMD160"
 I6	  63022 #define LN_ripemd160WithRSA             "ripemd160WithRSA"
 I6	  63023 #define NID_ripemd160WithRSA            119
 I6	  63024 #define OBJ_ripemd160WithRSA            1L,3L,36L,3L,3L,1L,2L
 I6	  63025 
 I6	  63026 #define SN_blake2bmac           "BLAKE2BMAC"
 I6	  63027 #define LN_blake2bmac           "blake2bmac"
 I6	  63028 #define NID_blake2bmac          1201
 I6	  63029 #define OBJ_blake2bmac          1L,3L,6L,1L,4L,1L,1722L,12L,2L,1L
 I6	  63030 
 I6	  63031 #define SN_blake2smac           "BLAKE2SMAC"
 I6	  63032 #define LN_blake2smac           "blake2smac"
 I6	  63033 #define NID_blake2smac          1202
 I6	  63034 #define OBJ_blake2smac          1L,3L,6L,1L,4L,1L,1722L,12L,2L,2L
 I6	  63035 
 I6	  63036 #define SN_blake2b512           "BLAKE2b512"
 I6	  63037 #define LN_blake2b512           "blake2b512"
 I6	  63038 #define NID_blake2b512          1056
 I6	  63039 #define OBJ_blake2b512          OBJ_blake2bmac,16L
 I6	  63040 
 I6	  63041 #define SN_blake2s256           "BLAKE2s256"
 I6	  63042 #define LN_blake2s256           "blake2s256"
 I6	  63043 #define NID_blake2s256          1057
 I6	  63044 #define OBJ_blake2s256          OBJ_blake2smac,8L
 I6	  63045 
 I6	  63046 #define SN_sxnet                "SXNetID"
 I6	  63047 #define LN_sxnet                "Strong Extranet ID"
 I6	  63048 #define NID_sxnet               143
 I6	  63049 #define OBJ_sxnet               1L,3L,101L,1L,4L,1L
 I6	  63050 
 I6	  63051 #define SN_X500         "X500"
 I6	  63052 #define LN_X500         "directory services (X.500)"
 I6	  63053 #define NID_X500                11
 I6	  63054 #define OBJ_X500                2L,5L
 I6	  63055 
 I6	  63056 #define SN_X509         "X509"
 I6	  63057 #define NID_X509                12
 I6	  63058 #define OBJ_X509                OBJ_X500,4L
 I6	  63059 
 I6	  63060 #define SN_commonName           "CN"
 I6	  63061 #define LN_commonName           "commonName"
 I6	  63062 #define NID_commonName          13
 I6	  63063 #define OBJ_commonName          OBJ_X509,3L
 I6	  63064 
 I6	  63065 #define SN_surname              "SN"
 I6	  63066 #define LN_surname              "surname"
 I6	  63067 #define NID_surname             100
 I6	  63068 #define OBJ_surname             OBJ_X509,4L
 I6	  63069 
 I6	  63070 #define LN_serialNumber         "serialNumber"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1149
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63071 #define NID_serialNumber                105
 I6	  63072 #define OBJ_serialNumber                OBJ_X509,5L
 I6	  63073 
 I6	  63074 #define SN_countryName          "C"
 I6	  63075 #define LN_countryName          "countryName"
 I6	  63076 #define NID_countryName         14
 I6	  63077 #define OBJ_countryName         OBJ_X509,6L
 I6	  63078 
 I6	  63079 #define SN_localityName         "L"
 I6	  63080 #define LN_localityName         "localityName"
 I6	  63081 #define NID_localityName                15
 I6	  63082 #define OBJ_localityName                OBJ_X509,7L
 I6	  63083 
 I6	  63084 #define SN_stateOrProvinceName          "ST"
 I6	  63085 #define LN_stateOrProvinceName          "stateOrProvinceName"
 I6	  63086 #define NID_stateOrProvinceName         16
 I6	  63087 #define OBJ_stateOrProvinceName         OBJ_X509,8L
 I6	  63088 
 I6	  63089 #define SN_streetAddress                "street"
 I6	  63090 #define LN_streetAddress                "streetAddress"
 I6	  63091 #define NID_streetAddress               660
 I6	  63092 #define OBJ_streetAddress               OBJ_X509,9L
 I6	  63093 
 I6	  63094 #define SN_organizationName             "O"
 I6	  63095 #define LN_organizationName             "organizationName"
 I6	  63096 #define NID_organizationName            17
 I6	  63097 #define OBJ_organizationName            OBJ_X509,10L
 I6	  63098 
 I6	  63099 #define SN_organizationalUnitName               "OU"
 I6	  63100 #define LN_organizationalUnitName               "organizationalUnitName"
 I6	  63101 #define NID_organizationalUnitName              18
 I6	  63102 #define OBJ_organizationalUnitName              OBJ_X509,11L
 I6	  63103 
 I6	  63104 #define SN_title                "title"
 I6	  63105 #define LN_title                "title"
 I6	  63106 #define NID_title               106
 I6	  63107 #define OBJ_title               OBJ_X509,12L
 I6	  63108 
 I6	  63109 #define LN_description          "description"
 I6	  63110 #define NID_description         107
 I6	  63111 #define OBJ_description         OBJ_X509,13L
 I6	  63112 
 I6	  63113 #define LN_searchGuide          "searchGuide"
 I6	  63114 #define NID_searchGuide         859
 I6	  63115 #define OBJ_searchGuide         OBJ_X509,14L
 I6	  63116 
 I6	  63117 #define LN_businessCategory             "businessCategory"
 I6	  63118 #define NID_businessCategory            860
 I6	  63119 #define OBJ_businessCategory            OBJ_X509,15L
 I6	  63120 
 I6	  63121 #define LN_postalAddress                "postalAddress"
 I6	  63122 #define NID_postalAddress               861
 I6	  63123 #define OBJ_postalAddress               OBJ_X509,16L
 I6	  63124 
 I6	  63125 #define LN_postalCode           "postalCode"
 I6	  63126 #define NID_postalCode          661
 I6	  63127 #define OBJ_postalCode          OBJ_X509,17L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1150
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63128 
 I6	  63129 #define LN_postOfficeBox                "postOfficeBox"
 I6	  63130 #define NID_postOfficeBox               862
 I6	  63131 #define OBJ_postOfficeBox               OBJ_X509,18L
 I6	  63132 
 I6	  63133 #define LN_physicalDeliveryOfficeName           "physicalDeliveryOfficeName"
 I6	  63134 #define NID_physicalDeliveryOfficeName          863
 I6	  63135 #define OBJ_physicalDeliveryOfficeName          OBJ_X509,19L
 I6	  63136 
 I6	  63137 #define LN_telephoneNumber              "telephoneNumber"
 I6	  63138 #define NID_telephoneNumber             864
 I6	  63139 #define OBJ_telephoneNumber             OBJ_X509,20L
 I6	  63140 
 I6	  63141 #define LN_telexNumber          "telexNumber"
 I6	  63142 #define NID_telexNumber         865
 I6	  63143 #define OBJ_telexNumber         OBJ_X509,21L
 I6	  63144 
 I6	  63145 #define LN_teletexTerminalIdentifier            "teletexTerminalIdentifier"
 I6	  63146 #define NID_teletexTerminalIdentifier           866
 I6	  63147 #define OBJ_teletexTerminalIdentifier           OBJ_X509,22L
 I6	  63148 
 I6	  63149 #define LN_facsimileTelephoneNumber             "facsimileTelephoneNumber"
 I6	  63150 #define NID_facsimileTelephoneNumber            867
 I6	  63151 #define OBJ_facsimileTelephoneNumber            OBJ_X509,23L
 I6	  63152 
 I6	  63153 #define LN_x121Address          "x121Address"
 I6	  63154 #define NID_x121Address         868
 I6	  63155 #define OBJ_x121Address         OBJ_X509,24L
 I6	  63156 
 I6	  63157 #define LN_internationaliSDNNumber              "internationaliSDNNumber"
 I6	  63158 #define NID_internationaliSDNNumber             869
 I6	  63159 #define OBJ_internationaliSDNNumber             OBJ_X509,25L
 I6	  63160 
 I6	  63161 #define LN_registeredAddress            "registeredAddress"
 I6	  63162 #define NID_registeredAddress           870
 I6	  63163 #define OBJ_registeredAddress           OBJ_X509,26L
 I6	  63164 
 I6	  63165 #define LN_destinationIndicator         "destinationIndicator"
 I6	  63166 #define NID_destinationIndicator                871
 I6	  63167 #define OBJ_destinationIndicator                OBJ_X509,27L
 I6	  63168 
 I6	  63169 #define LN_preferredDeliveryMethod              "preferredDeliveryMethod"
 I6	  63170 #define NID_preferredDeliveryMethod             872
 I6	  63171 #define OBJ_preferredDeliveryMethod             OBJ_X509,28L
 I6	  63172 
 I6	  63173 #define LN_presentationAddress          "presentationAddress"
 I6	  63174 #define NID_presentationAddress         873
 I6	  63175 #define OBJ_presentationAddress         OBJ_X509,29L
 I6	  63176 
 I6	  63177 #define LN_supportedApplicationContext          "supportedApplicationContext"
 I6	  63178 #define NID_supportedApplicationContext         874
 I6	  63179 #define OBJ_supportedApplicationContext         OBJ_X509,30L
 I6	  63180 
 I6	  63181 #define SN_member               "member"
 I6	  63182 #define NID_member              875
 I6	  63183 #define OBJ_member              OBJ_X509,31L
 I6	  63184 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1151
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63185 #define SN_owner                "owner"
 I6	  63186 #define NID_owner               876
 I6	  63187 #define OBJ_owner               OBJ_X509,32L
 I6	  63188 
 I6	  63189 #define LN_roleOccupant         "roleOccupant"
 I6	  63190 #define NID_roleOccupant                877
 I6	  63191 #define OBJ_roleOccupant                OBJ_X509,33L
 I6	  63192 
 I6	  63193 #define SN_seeAlso              "seeAlso"
 I6	  63194 #define NID_seeAlso             878
 I6	  63195 #define OBJ_seeAlso             OBJ_X509,34L
 I6	  63196 
 I6	  63197 #define LN_userPassword         "userPassword"
 I6	  63198 #define NID_userPassword                879
 I6	  63199 #define OBJ_userPassword                OBJ_X509,35L
 I6	  63200 
 I6	  63201 #define LN_userCertificate              "userCertificate"
 I6	  63202 #define NID_userCertificate             880
 I6	  63203 #define OBJ_userCertificate             OBJ_X509,36L
 I6	  63204 
 I6	  63205 #define LN_cACertificate                "cACertificate"
 I6	  63206 #define NID_cACertificate               881
 I6	  63207 #define OBJ_cACertificate               OBJ_X509,37L
 I6	  63208 
 I6	  63209 #define LN_authorityRevocationList              "authorityRevocationList"
 I6	  63210 #define NID_authorityRevocationList             882
 I6	  63211 #define OBJ_authorityRevocationList             OBJ_X509,38L
 I6	  63212 
 I6	  63213 #define LN_certificateRevocationList            "certificateRevocationList"
 I6	  63214 #define NID_certificateRevocationList           883
 I6	  63215 #define OBJ_certificateRevocationList           OBJ_X509,39L
 I6	  63216 
 I6	  63217 #define LN_crossCertificatePair         "crossCertificatePair"
 I6	  63218 #define NID_crossCertificatePair                884
 I6	  63219 #define OBJ_crossCertificatePair                OBJ_X509,40L
 I6	  63220 
 I6	  63221 #define SN_name         "name"
 I6	  63222 #define LN_name         "name"
 I6	  63223 #define NID_name                173
 I6	  63224 #define OBJ_name                OBJ_X509,41L
 I6	  63225 
 I6	  63226 #define SN_givenName            "GN"
 I6	  63227 #define LN_givenName            "givenName"
 I6	  63228 #define NID_givenName           99
 I6	  63229 #define OBJ_givenName           OBJ_X509,42L
 I6	  63230 
 I6	  63231 #define SN_initials             "initials"
 I6	  63232 #define LN_initials             "initials"
 I6	  63233 #define NID_initials            101
 I6	  63234 #define OBJ_initials            OBJ_X509,43L
 I6	  63235 
 I6	  63236 #define LN_generationQualifier          "generationQualifier"
 I6	  63237 #define NID_generationQualifier         509
 I6	  63238 #define OBJ_generationQualifier         OBJ_X509,44L
 I6	  63239 
 I6	  63240 #define LN_x500UniqueIdentifier         "x500UniqueIdentifier"
 I6	  63241 #define NID_x500UniqueIdentifier                503

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1152
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63242 #define OBJ_x500UniqueIdentifier                OBJ_X509,45L
 I6	  63243 
 I6	  63244 #define SN_dnQualifier          "dnQualifier"
 I6	  63245 #define LN_dnQualifier          "dnQualifier"
 I6	  63246 #define NID_dnQualifier         174
 I6	  63247 #define OBJ_dnQualifier         OBJ_X509,46L
 I6	  63248 
 I6	  63249 #define LN_enhancedSearchGuide          "enhancedSearchGuide"
 I6	  63250 #define NID_enhancedSearchGuide         885
 I6	  63251 #define OBJ_enhancedSearchGuide         OBJ_X509,47L
 I6	  63252 
 I6	  63253 #define LN_protocolInformation          "protocolInformation"
 I6	  63254 #define NID_protocolInformation         886
 I6	  63255 #define OBJ_protocolInformation         OBJ_X509,48L
 I6	  63256 
 I6	  63257 #define LN_distinguishedName            "distinguishedName"
 I6	  63258 #define NID_distinguishedName           887
 I6	  63259 #define OBJ_distinguishedName           OBJ_X509,49L
 I6	  63260 
 I6	  63261 #define LN_uniqueMember         "uniqueMember"
 I6	  63262 #define NID_uniqueMember                888
 I6	  63263 #define OBJ_uniqueMember                OBJ_X509,50L
 I6	  63264 
 I6	  63265 #define LN_houseIdentifier              "houseIdentifier"
 I6	  63266 #define NID_houseIdentifier             889
 I6	  63267 #define OBJ_houseIdentifier             OBJ_X509,51L
 I6	  63268 
 I6	  63269 #define LN_supportedAlgorithms          "supportedAlgorithms"
 I6	  63270 #define NID_supportedAlgorithms         890
 I6	  63271 #define OBJ_supportedAlgorithms         OBJ_X509,52L
 I6	  63272 
 I6	  63273 #define LN_deltaRevocationList          "deltaRevocationList"
 I6	  63274 #define NID_deltaRevocationList         891
 I6	  63275 #define OBJ_deltaRevocationList         OBJ_X509,53L
 I6	  63276 
 I6	  63277 #define SN_dmdName              "dmdName"
 I6	  63278 #define NID_dmdName             892
 I6	  63279 #define OBJ_dmdName             OBJ_X509,54L
 I6	  63280 
 I6	  63281 #define LN_pseudonym            "pseudonym"
 I6	  63282 #define NID_pseudonym           510
 I6	  63283 #define OBJ_pseudonym           OBJ_X509,65L
 I6	  63284 
 I6	  63285 #define SN_role         "role"
 I6	  63286 #define LN_role         "role"
 I6	  63287 #define NID_role                400
 I6	  63288 #define OBJ_role                OBJ_X509,72L
 I6	  63289 
 I6	  63290 #define LN_organizationIdentifier               "organizationIdentifier"
 I6	  63291 #define NID_organizationIdentifier              1089
 I6	  63292 #define OBJ_organizationIdentifier              OBJ_X509,97L
 I6	  63293 
 I6	  63294 #define SN_countryCode3c                "c3"
 I6	  63295 #define LN_countryCode3c                "countryCode3c"
 I6	  63296 #define NID_countryCode3c               1090
 I6	  63297 #define OBJ_countryCode3c               OBJ_X509,98L
 I6	  63298 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1153
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63299 #define SN_countryCode3n                "n3"
 I6	  63300 #define LN_countryCode3n                "countryCode3n"
 I6	  63301 #define NID_countryCode3n               1091
 I6	  63302 #define OBJ_countryCode3n               OBJ_X509,99L
 I6	  63303 
 I6	  63304 #define LN_dnsName              "dnsName"
 I6	  63305 #define NID_dnsName             1092
 I6	  63306 #define OBJ_dnsName             OBJ_X509,100L
 I6	  63307 
 I6	  63308 #define SN_X500algorithms               "X500algorithms"
 I6	  63309 #define LN_X500algorithms               "directory services - algorithms"
 I6	  63310 #define NID_X500algorithms              378
 I6	  63311 #define OBJ_X500algorithms              OBJ_X500,8L
 I6	  63312 
 I6	  63313 #define SN_rsa          "RSA"
 I6	  63314 #define LN_rsa          "rsa"
 I6	  63315 #define NID_rsa         19
 I6	  63316 #define OBJ_rsa         OBJ_X500algorithms,1L,1L
 I6	  63317 
 I6	  63318 #define SN_mdc2WithRSA          "RSA-MDC2"
 I6	  63319 #define LN_mdc2WithRSA          "mdc2WithRSA"
 I6	  63320 #define NID_mdc2WithRSA         96
 I6	  63321 #define OBJ_mdc2WithRSA         OBJ_X500algorithms,3L,100L
 I6	  63322 
 I6	  63323 #define SN_mdc2         "MDC2"
 I6	  63324 #define LN_mdc2         "mdc2"
 I6	  63325 #define NID_mdc2                95
 I6	  63326 #define OBJ_mdc2                OBJ_X500algorithms,3L,101L
 I6	  63327 
 I6	  63328 #define SN_id_ce                "id-ce"
 I6	  63329 #define NID_id_ce               81
 I6	  63330 #define OBJ_id_ce               OBJ_X500,29L
 I6	  63331 
 I6	  63332 #define SN_subject_directory_attributes         "subjectDirectoryAttributes"
 I6	  63333 #define LN_subject_directory_attributes         "X509v3 Subject Directory Attributes"
 I6	  63334 #define NID_subject_directory_attributes                769
 I6	  63335 #define OBJ_subject_directory_attributes                OBJ_id_ce,9L
 I6	  63336 
 I6	  63337 #define SN_subject_key_identifier               "subjectKeyIdentifier"
 I6	  63338 #define LN_subject_key_identifier               "X509v3 Subject Key Identifier"
 I6	  63339 #define NID_subject_key_identifier              82
 I6	  63340 #define OBJ_subject_key_identifier              OBJ_id_ce,14L
 I6	  63341 
 I6	  63342 #define SN_key_usage            "keyUsage"
 I6	  63343 #define LN_key_usage            "X509v3 Key Usage"
 I6	  63344 #define NID_key_usage           83
 I6	  63345 #define OBJ_key_usage           OBJ_id_ce,15L
 I6	  63346 
 I6	  63347 #define SN_private_key_usage_period             "privateKeyUsagePeriod"
 I6	  63348 #define LN_private_key_usage_period             "X509v3 Private Key Usage Period"
 I6	  63349 #define NID_private_key_usage_period            84
 I6	  63350 #define OBJ_private_key_usage_period            OBJ_id_ce,16L
 I6	  63351 
 I6	  63352 #define SN_subject_alt_name             "subjectAltName"
 I6	  63353 #define LN_subject_alt_name             "X509v3 Subject Alternative Name"
 I6	  63354 #define NID_subject_alt_name            85
 I6	  63355 #define OBJ_subject_alt_name            OBJ_id_ce,17L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1154
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63356 
 I6	  63357 #define SN_issuer_alt_name              "issuerAltName"
 I6	  63358 #define LN_issuer_alt_name              "X509v3 Issuer Alternative Name"
 I6	  63359 #define NID_issuer_alt_name             86
 I6	  63360 #define OBJ_issuer_alt_name             OBJ_id_ce,18L
 I6	  63361 
 I6	  63362 #define SN_basic_constraints            "basicConstraints"
 I6	  63363 #define LN_basic_constraints            "X509v3 Basic Constraints"
 I6	  63364 #define NID_basic_constraints           87
 I6	  63365 #define OBJ_basic_constraints           OBJ_id_ce,19L
 I6	  63366 
 I6	  63367 #define SN_crl_number           "crlNumber"
 I6	  63368 #define LN_crl_number           "X509v3 CRL Number"
 I6	  63369 #define NID_crl_number          88
 I6	  63370 #define OBJ_crl_number          OBJ_id_ce,20L
 I6	  63371 
 I6	  63372 #define SN_crl_reason           "CRLReason"
 I6	  63373 #define LN_crl_reason           "X509v3 CRL Reason Code"
 I6	  63374 #define NID_crl_reason          141
 I6	  63375 #define OBJ_crl_reason          OBJ_id_ce,21L
 I6	  63376 
 I6	  63377 #define SN_invalidity_date              "invalidityDate"
 I6	  63378 #define LN_invalidity_date              "Invalidity Date"
 I6	  63379 #define NID_invalidity_date             142
 I6	  63380 #define OBJ_invalidity_date             OBJ_id_ce,24L
 I6	  63381 
 I6	  63382 #define SN_delta_crl            "deltaCRL"
 I6	  63383 #define LN_delta_crl            "X509v3 Delta CRL Indicator"
 I6	  63384 #define NID_delta_crl           140
 I6	  63385 #define OBJ_delta_crl           OBJ_id_ce,27L
 I6	  63386 
 I6	  63387 #define SN_issuing_distribution_point           "issuingDistributionPoint"
 I6	  63388 #define LN_issuing_distribution_point           "X509v3 Issuing Distribution Point"
 I6	  63389 #define NID_issuing_distribution_point          770
 I6	  63390 #define OBJ_issuing_distribution_point          OBJ_id_ce,28L
 I6	  63391 
 I6	  63392 #define SN_certificate_issuer           "certificateIssuer"
 I6	  63393 #define LN_certificate_issuer           "X509v3 Certificate Issuer"
 I6	  63394 #define NID_certificate_issuer          771
 I6	  63395 #define OBJ_certificate_issuer          OBJ_id_ce,29L
 I6	  63396 
 I6	  63397 #define SN_name_constraints             "nameConstraints"
 I6	  63398 #define LN_name_constraints             "X509v3 Name Constraints"
 I6	  63399 #define NID_name_constraints            666
 I6	  63400 #define OBJ_name_constraints            OBJ_id_ce,30L
 I6	  63401 
 I6	  63402 #define SN_crl_distribution_points              "crlDistributionPoints"
 I6	  63403 #define LN_crl_distribution_points              "X509v3 CRL Distribution Points"
 I6	  63404 #define NID_crl_distribution_points             103
 I6	  63405 #define OBJ_crl_distribution_points             OBJ_id_ce,31L
 I6	  63406 
 I6	  63407 #define SN_certificate_policies         "certificatePolicies"
 I6	  63408 #define LN_certificate_policies         "X509v3 Certificate Policies"
 I6	  63409 #define NID_certificate_policies                89
 I6	  63410 #define OBJ_certificate_policies                OBJ_id_ce,32L
 I6	  63411 
 I6	  63412 #define SN_any_policy           "anyPolicy"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1155
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63413 #define LN_any_policy           "X509v3 Any Policy"
 I6	  63414 #define NID_any_policy          746
 I6	  63415 #define OBJ_any_policy          OBJ_certificate_policies,0L
 I6	  63416 
 I6	  63417 #define SN_policy_mappings              "policyMappings"
 I6	  63418 #define LN_policy_mappings              "X509v3 Policy Mappings"
 I6	  63419 #define NID_policy_mappings             747
 I6	  63420 #define OBJ_policy_mappings             OBJ_id_ce,33L
 I6	  63421 
 I6	  63422 #define SN_authority_key_identifier             "authorityKeyIdentifier"
 I6	  63423 #define LN_authority_key_identifier             "X509v3 Authority Key Identifier"
 I6	  63424 #define NID_authority_key_identifier            90
 I6	  63425 #define OBJ_authority_key_identifier            OBJ_id_ce,35L
 I6	  63426 
 I6	  63427 #define SN_policy_constraints           "policyConstraints"
 I6	  63428 #define LN_policy_constraints           "X509v3 Policy Constraints"
 I6	  63429 #define NID_policy_constraints          401
 I6	  63430 #define OBJ_policy_constraints          OBJ_id_ce,36L
 I6	  63431 
 I6	  63432 #define SN_ext_key_usage                "extendedKeyUsage"
 I6	  63433 #define LN_ext_key_usage                "X509v3 Extended Key Usage"
 I6	  63434 #define NID_ext_key_usage               126
 I6	  63435 #define OBJ_ext_key_usage               OBJ_id_ce,37L
 I6	  63436 
 I6	  63437 #define SN_freshest_crl         "freshestCRL"
 I6	  63438 #define LN_freshest_crl         "X509v3 Freshest CRL"
 I6	  63439 #define NID_freshest_crl                857
 I6	  63440 #define OBJ_freshest_crl                OBJ_id_ce,46L
 I6	  63441 
 I6	  63442 #define SN_inhibit_any_policy           "inhibitAnyPolicy"
 I6	  63443 #define LN_inhibit_any_policy           "X509v3 Inhibit Any Policy"
 I6	  63444 #define NID_inhibit_any_policy          748
 I6	  63445 #define OBJ_inhibit_any_policy          OBJ_id_ce,54L
 I6	  63446 
 I6	  63447 #define SN_target_information           "targetInformation"
 I6	  63448 #define LN_target_information           "X509v3 AC Targeting"
 I6	  63449 #define NID_target_information          402
 I6	  63450 #define OBJ_target_information          OBJ_id_ce,55L
 I6	  63451 
 I6	  63452 #define SN_no_rev_avail         "noRevAvail"
 I6	  63453 #define LN_no_rev_avail         "X509v3 No Revocation Available"
 I6	  63454 #define NID_no_rev_avail                403
 I6	  63455 #define OBJ_no_rev_avail                OBJ_id_ce,56L
 I6	  63456 
 I6	  63457 #define SN_anyExtendedKeyUsage          "anyExtendedKeyUsage"
 I6	  63458 #define LN_anyExtendedKeyUsage          "Any Extended Key Usage"
 I6	  63459 #define NID_anyExtendedKeyUsage         910
 I6	  63460 #define OBJ_anyExtendedKeyUsage         OBJ_ext_key_usage,0L
 I6	  63461 
 I6	  63462 #define SN_netscape             "Netscape"
 I6	  63463 #define LN_netscape             "Netscape Communications Corp."
 I6	  63464 #define NID_netscape            57
 I6	  63465 #define OBJ_netscape            2L,16L,840L,1L,113730L
 I6	  63466 
 I6	  63467 #define SN_netscape_cert_extension              "nsCertExt"
 I6	  63468 #define LN_netscape_cert_extension              "Netscape Certificate Extension"
 I6	  63469 #define NID_netscape_cert_extension             58

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1156
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63470 #define OBJ_netscape_cert_extension             OBJ_netscape,1L
 I6	  63471 
 I6	  63472 #define SN_netscape_data_type           "nsDataType"
 I6	  63473 #define LN_netscape_data_type           "Netscape Data Type"
 I6	  63474 #define NID_netscape_data_type          59
 I6	  63475 #define OBJ_netscape_data_type          OBJ_netscape,2L
 I6	  63476 
 I6	  63477 #define SN_netscape_cert_type           "nsCertType"
 I6	  63478 #define LN_netscape_cert_type           "Netscape Cert Type"
 I6	  63479 #define NID_netscape_cert_type          71
 I6	  63480 #define OBJ_netscape_cert_type          OBJ_netscape_cert_extension,1L
 I6	  63481 
 I6	  63482 #define SN_netscape_base_url            "nsBaseUrl"
 I6	  63483 #define LN_netscape_base_url            "Netscape Base Url"
 I6	  63484 #define NID_netscape_base_url           72
 I6	  63485 #define OBJ_netscape_base_url           OBJ_netscape_cert_extension,2L
 I6	  63486 
 I6	  63487 #define SN_netscape_revocation_url              "nsRevocationUrl"
 I6	  63488 #define LN_netscape_revocation_url              "Netscape Revocation Url"
 I6	  63489 #define NID_netscape_revocation_url             73
 I6	  63490 #define OBJ_netscape_revocation_url             OBJ_netscape_cert_extension,3L
 I6	  63491 
 I6	  63492 #define SN_netscape_ca_revocation_url           "nsCaRevocationUrl"
 I6	  63493 #define LN_netscape_ca_revocation_url           "Netscape CA Revocation Url"
 I6	  63494 #define NID_netscape_ca_revocation_url          74
 I6	  63495 #define OBJ_netscape_ca_revocation_url          OBJ_netscape_cert_extension,4L
 I6	  63496 
 I6	  63497 #define SN_netscape_renewal_url         "nsRenewalUrl"
 I6	  63498 #define LN_netscape_renewal_url         "Netscape Renewal Url"
 I6	  63499 #define NID_netscape_renewal_url                75
 I6	  63500 #define OBJ_netscape_renewal_url                OBJ_netscape_cert_extension,7L
 I6	  63501 
 I6	  63502 #define SN_netscape_ca_policy_url               "nsCaPolicyUrl"
 I6	  63503 #define LN_netscape_ca_policy_url               "Netscape CA Policy Url"
 I6	  63504 #define NID_netscape_ca_policy_url              76
 I6	  63505 #define OBJ_netscape_ca_policy_url              OBJ_netscape_cert_extension,8L
 I6	  63506 
 I6	  63507 #define SN_netscape_ssl_server_name             "nsSslServerName"
 I6	  63508 #define LN_netscape_ssl_server_name             "Netscape SSL Server Name"
 I6	  63509 #define NID_netscape_ssl_server_name            77
 I6	  63510 #define OBJ_netscape_ssl_server_name            OBJ_netscape_cert_extension,12L
 I6	  63511 
 I6	  63512 #define SN_netscape_comment             "nsComment"
 I6	  63513 #define LN_netscape_comment             "Netscape Comment"
 I6	  63514 #define NID_netscape_comment            78
 I6	  63515 #define OBJ_netscape_comment            OBJ_netscape_cert_extension,13L
 I6	  63516 
 I6	  63517 #define SN_netscape_cert_sequence               "nsCertSequence"
 I6	  63518 #define LN_netscape_cert_sequence               "Netscape Certificate Sequence"
 I6	  63519 #define NID_netscape_cert_sequence              79
 I6	  63520 #define OBJ_netscape_cert_sequence              OBJ_netscape_data_type,5L
 I6	  63521 
 I6	  63522 #define SN_ns_sgc               "nsSGC"
 I6	  63523 #define LN_ns_sgc               "Netscape Server Gated Crypto"
 I6	  63524 #define NID_ns_sgc              139
 I6	  63525 #define OBJ_ns_sgc              OBJ_netscape,4L,1L
 I6	  63526 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1157
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63527 #define SN_org          "ORG"
 I6	  63528 #define LN_org          "org"
 I6	  63529 #define NID_org         379
 I6	  63530 #define OBJ_org         OBJ_iso,3L
 I6	  63531 
 I6	  63532 #define SN_dod          "DOD"
 I6	  63533 #define LN_dod          "dod"
 I6	  63534 #define NID_dod         380
 I6	  63535 #define OBJ_dod         OBJ_org,6L
 I6	  63536 
 I6	  63537 #define SN_iana         "IANA"
 I6	  63538 #define LN_iana         "iana"
 I6	  63539 #define NID_iana                381
 I6	  63540 #define OBJ_iana                OBJ_dod,1L
 I6	  63541 
 I6	  63542 #define OBJ_internet            OBJ_iana
 I6	  63543 
 I6	  63544 #define SN_Directory            "directory"
 I6	  63545 #define LN_Directory            "Directory"
 I6	  63546 #define NID_Directory           382
 I6	  63547 #define OBJ_Directory           OBJ_internet,1L
 I6	  63548 
 I6	  63549 #define SN_Management           "mgmt"
 I6	  63550 #define LN_Management           "Management"
 I6	  63551 #define NID_Management          383
 I6	  63552 #define OBJ_Management          OBJ_internet,2L
 I6	  63553 
 I6	  63554 #define SN_Experimental         "experimental"
 I6	  63555 #define LN_Experimental         "Experimental"
 I6	  63556 #define NID_Experimental                384
 I6	  63557 #define OBJ_Experimental                OBJ_internet,3L
 I6	  63558 
 I6	  63559 #define SN_Private              "private"
 I6	  63560 #define LN_Private              "Private"
 I6	  63561 #define NID_Private             385
 I6	  63562 #define OBJ_Private             OBJ_internet,4L
 I6	  63563 
 I6	  63564 #define SN_Security             "security"
 I6	  63565 #define LN_Security             "Security"
 I6	  63566 #define NID_Security            386
 I6	  63567 #define OBJ_Security            OBJ_internet,5L
 I6	  63568 
 I6	  63569 #define SN_SNMPv2               "snmpv2"
 I6	  63570 #define LN_SNMPv2               "SNMPv2"
 I6	  63571 #define NID_SNMPv2              387
 I6	  63572 #define OBJ_SNMPv2              OBJ_internet,6L
 I6	  63573 
 I6	  63574 #define LN_Mail         "Mail"
 I6	  63575 #define NID_Mail                388
 I6	  63576 #define OBJ_Mail                OBJ_internet,7L
 I6	  63577 
 I6	  63578 #define SN_Enterprises          "enterprises"
 I6	  63579 #define LN_Enterprises          "Enterprises"
 I6	  63580 #define NID_Enterprises         389
 I6	  63581 #define OBJ_Enterprises         OBJ_Private,1L
 I6	  63582 
 I6	  63583 #define SN_dcObject             "dcobject"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1158
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63584 #define LN_dcObject             "dcObject"
 I6	  63585 #define NID_dcObject            390
 I6	  63586 #define OBJ_dcObject            OBJ_Enterprises,1466L,344L
 I6	  63587 
 I6	  63588 #define SN_mime_mhs             "mime-mhs"
 I6	  63589 #define LN_mime_mhs             "MIME MHS"
 I6	  63590 #define NID_mime_mhs            504
 I6	  63591 #define OBJ_mime_mhs            OBJ_Mail,1L
 I6	  63592 
 I6	  63593 #define SN_mime_mhs_headings            "mime-mhs-headings"
 I6	  63594 #define LN_mime_mhs_headings            "mime-mhs-headings"
 I6	  63595 #define NID_mime_mhs_headings           505
 I6	  63596 #define OBJ_mime_mhs_headings           OBJ_mime_mhs,1L
 I6	  63597 
 I6	  63598 #define SN_mime_mhs_bodies              "mime-mhs-bodies"
 I6	  63599 #define LN_mime_mhs_bodies              "mime-mhs-bodies"
 I6	  63600 #define NID_mime_mhs_bodies             506
 I6	  63601 #define OBJ_mime_mhs_bodies             OBJ_mime_mhs,2L
 I6	  63602 
 I6	  63603 #define SN_id_hex_partial_message               "id-hex-partial-message"
 I6	  63604 #define LN_id_hex_partial_message               "id-hex-partial-message"
 I6	  63605 #define NID_id_hex_partial_message              507
 I6	  63606 #define OBJ_id_hex_partial_message              OBJ_mime_mhs_headings,1L
 I6	  63607 
 I6	  63608 #define SN_id_hex_multipart_message             "id-hex-multipart-message"
 I6	  63609 #define LN_id_hex_multipart_message             "id-hex-multipart-message"
 I6	  63610 #define NID_id_hex_multipart_message            508
 I6	  63611 #define OBJ_id_hex_multipart_message            OBJ_mime_mhs_headings,2L
 I6	  63612 
 I6	  63613 #define SN_zlib_compression             "ZLIB"
 I6	  63614 #define LN_zlib_compression             "zlib compression"
 I6	  63615 #define NID_zlib_compression            125
 I6	  63616 #define OBJ_zlib_compression            OBJ_id_smime_alg,8L
 I6	  63617 
 I6	  63618 #define OBJ_csor                2L,16L,840L,1L,101L,3L
 I6	  63619 
 I6	  63620 #define OBJ_nistAlgorithms              OBJ_csor,4L
 I6	  63621 
 I6	  63622 #define OBJ_aes         OBJ_nistAlgorithms,1L
 I6	  63623 
 I6	  63624 #define SN_aes_128_ecb          "AES-128-ECB"
 I6	  63625 #define LN_aes_128_ecb          "aes-128-ecb"
 I6	  63626 #define NID_aes_128_ecb         418
 I6	  63627 #define OBJ_aes_128_ecb         OBJ_aes,1L
 I6	  63628 
 I6	  63629 #define SN_aes_128_cbc          "AES-128-CBC"
 I6	  63630 #define LN_aes_128_cbc          "aes-128-cbc"
 I6	  63631 #define NID_aes_128_cbc         419
 I6	  63632 #define OBJ_aes_128_cbc         OBJ_aes,2L
 I6	  63633 
 I6	  63634 #define SN_aes_128_ofb128               "AES-128-OFB"
 I6	  63635 #define LN_aes_128_ofb128               "aes-128-ofb"
 I6	  63636 #define NID_aes_128_ofb128              420
 I6	  63637 #define OBJ_aes_128_ofb128              OBJ_aes,3L
 I6	  63638 
 I6	  63639 #define SN_aes_128_cfb128               "AES-128-CFB"
 I6	  63640 #define LN_aes_128_cfb128               "aes-128-cfb"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1159
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63641 #define NID_aes_128_cfb128              421
 I6	  63642 #define OBJ_aes_128_cfb128              OBJ_aes,4L
 I6	  63643 
 I6	  63644 #define SN_id_aes128_wrap               "id-aes128-wrap"
 I6	  63645 #define NID_id_aes128_wrap              788
 I6	  63646 #define OBJ_id_aes128_wrap              OBJ_aes,5L
 I6	  63647 
 I6	  63648 #define SN_aes_128_gcm          "id-aes128-GCM"
 I6	  63649 #define LN_aes_128_gcm          "aes-128-gcm"
 I6	  63650 #define NID_aes_128_gcm         895
 I6	  63651 #define OBJ_aes_128_gcm         OBJ_aes,6L
 I6	  63652 
 I6	  63653 #define SN_aes_128_ccm          "id-aes128-CCM"
 I6	  63654 #define LN_aes_128_ccm          "aes-128-ccm"
 I6	  63655 #define NID_aes_128_ccm         896
 I6	  63656 #define OBJ_aes_128_ccm         OBJ_aes,7L
 I6	  63657 
 I6	  63658 #define SN_id_aes128_wrap_pad           "id-aes128-wrap-pad"
 I6	  63659 #define NID_id_aes128_wrap_pad          897
 I6	  63660 #define OBJ_id_aes128_wrap_pad          OBJ_aes,8L
 I6	  63661 
 I6	  63662 #define SN_aes_192_ecb          "AES-192-ECB"
 I6	  63663 #define LN_aes_192_ecb          "aes-192-ecb"
 I6	  63664 #define NID_aes_192_ecb         422
 I6	  63665 #define OBJ_aes_192_ecb         OBJ_aes,21L
 I6	  63666 
 I6	  63667 #define SN_aes_192_cbc          "AES-192-CBC"
 I6	  63668 #define LN_aes_192_cbc          "aes-192-cbc"
 I6	  63669 #define NID_aes_192_cbc         423
 I6	  63670 #define OBJ_aes_192_cbc         OBJ_aes,22L
 I6	  63671 
 I6	  63672 #define SN_aes_192_ofb128               "AES-192-OFB"
 I6	  63673 #define LN_aes_192_ofb128               "aes-192-ofb"
 I6	  63674 #define NID_aes_192_ofb128              424
 I6	  63675 #define OBJ_aes_192_ofb128              OBJ_aes,23L
 I6	  63676 
 I6	  63677 #define SN_aes_192_cfb128               "AES-192-CFB"
 I6	  63678 #define LN_aes_192_cfb128               "aes-192-cfb"
 I6	  63679 #define NID_aes_192_cfb128              425
 I6	  63680 #define OBJ_aes_192_cfb128              OBJ_aes,24L
 I6	  63681 
 I6	  63682 #define SN_id_aes192_wrap               "id-aes192-wrap"
 I6	  63683 #define NID_id_aes192_wrap              789
 I6	  63684 #define OBJ_id_aes192_wrap              OBJ_aes,25L
 I6	  63685 
 I6	  63686 #define SN_aes_192_gcm          "id-aes192-GCM"
 I6	  63687 #define LN_aes_192_gcm          "aes-192-gcm"
 I6	  63688 #define NID_aes_192_gcm         898
 I6	  63689 #define OBJ_aes_192_gcm         OBJ_aes,26L
 I6	  63690 
 I6	  63691 #define SN_aes_192_ccm          "id-aes192-CCM"
 I6	  63692 #define LN_aes_192_ccm          "aes-192-ccm"
 I6	  63693 #define NID_aes_192_ccm         899
 I6	  63694 #define OBJ_aes_192_ccm         OBJ_aes,27L
 I6	  63695 
 I6	  63696 #define SN_id_aes192_wrap_pad           "id-aes192-wrap-pad"
 I6	  63697 #define NID_id_aes192_wrap_pad          900

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1160
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63698 #define OBJ_id_aes192_wrap_pad          OBJ_aes,28L
 I6	  63699 
 I6	  63700 #define SN_aes_256_ecb          "AES-256-ECB"
 I6	  63701 #define LN_aes_256_ecb          "aes-256-ecb"
 I6	  63702 #define NID_aes_256_ecb         426
 I6	  63703 #define OBJ_aes_256_ecb         OBJ_aes,41L
 I6	  63704 
 I6	  63705 #define SN_aes_256_cbc          "AES-256-CBC"
 I6	  63706 #define LN_aes_256_cbc          "aes-256-cbc"
 I6	  63707 #define NID_aes_256_cbc         427
 I6	  63708 #define OBJ_aes_256_cbc         OBJ_aes,42L
 I6	  63709 
 I6	  63710 #define SN_aes_256_ofb128               "AES-256-OFB"
 I6	  63711 #define LN_aes_256_ofb128               "aes-256-ofb"
 I6	  63712 #define NID_aes_256_ofb128              428
 I6	  63713 #define OBJ_aes_256_ofb128              OBJ_aes,43L
 I6	  63714 
 I6	  63715 #define SN_aes_256_cfb128               "AES-256-CFB"
 I6	  63716 #define LN_aes_256_cfb128               "aes-256-cfb"
 I6	  63717 #define NID_aes_256_cfb128              429
 I6	  63718 #define OBJ_aes_256_cfb128              OBJ_aes,44L
 I6	  63719 
 I6	  63720 #define SN_id_aes256_wrap               "id-aes256-wrap"
 I6	  63721 #define NID_id_aes256_wrap              790
 I6	  63722 #define OBJ_id_aes256_wrap              OBJ_aes,45L
 I6	  63723 
 I6	  63724 #define SN_aes_256_gcm          "id-aes256-GCM"
 I6	  63725 #define LN_aes_256_gcm          "aes-256-gcm"
 I6	  63726 #define NID_aes_256_gcm         901
 I6	  63727 #define OBJ_aes_256_gcm         OBJ_aes,46L
 I6	  63728 
 I6	  63729 #define SN_aes_256_ccm          "id-aes256-CCM"
 I6	  63730 #define LN_aes_256_ccm          "aes-256-ccm"
 I6	  63731 #define NID_aes_256_ccm         902
 I6	  63732 #define OBJ_aes_256_ccm         OBJ_aes,47L
 I6	  63733 
 I6	  63734 #define SN_id_aes256_wrap_pad           "id-aes256-wrap-pad"
 I6	  63735 #define NID_id_aes256_wrap_pad          903
 I6	  63736 #define OBJ_id_aes256_wrap_pad          OBJ_aes,48L
 I6	  63737 
 I6	  63738 #define SN_aes_128_xts          "AES-128-XTS"
 I6	  63739 #define LN_aes_128_xts          "aes-128-xts"
 I6	  63740 #define NID_aes_128_xts         913
 I6	  63741 #define OBJ_aes_128_xts         OBJ_ieee_siswg,0L,1L,1L
 I6	  63742 
 I6	  63743 #define SN_aes_256_xts          "AES-256-XTS"
 I6	  63744 #define LN_aes_256_xts          "aes-256-xts"
 I6	  63745 #define NID_aes_256_xts         914
 I6	  63746 #define OBJ_aes_256_xts         OBJ_ieee_siswg,0L,1L,2L
 I6	  63747 
 I6	  63748 #define SN_aes_128_cfb1         "AES-128-CFB1"
 I6	  63749 #define LN_aes_128_cfb1         "aes-128-cfb1"
 I6	  63750 #define NID_aes_128_cfb1                650
 I6	  63751 
 I6	  63752 #define SN_aes_192_cfb1         "AES-192-CFB1"
 I6	  63753 #define LN_aes_192_cfb1         "aes-192-cfb1"
 I6	  63754 #define NID_aes_192_cfb1                651

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1161
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63755 
 I6	  63756 #define SN_aes_256_cfb1         "AES-256-CFB1"
 I6	  63757 #define LN_aes_256_cfb1         "aes-256-cfb1"
 I6	  63758 #define NID_aes_256_cfb1                652
 I6	  63759 
 I6	  63760 #define SN_aes_128_cfb8         "AES-128-CFB8"
 I6	  63761 #define LN_aes_128_cfb8         "aes-128-cfb8"
 I6	  63762 #define NID_aes_128_cfb8                653
 I6	  63763 
 I6	  63764 #define SN_aes_192_cfb8         "AES-192-CFB8"
 I6	  63765 #define LN_aes_192_cfb8         "aes-192-cfb8"
 I6	  63766 #define NID_aes_192_cfb8                654
 I6	  63767 
 I6	  63768 #define SN_aes_256_cfb8         "AES-256-CFB8"
 I6	  63769 #define LN_aes_256_cfb8         "aes-256-cfb8"
 I6	  63770 #define NID_aes_256_cfb8                655
 I6	  63771 
 I6	  63772 #define SN_aes_128_ctr          "AES-128-CTR"
 I6	  63773 #define LN_aes_128_ctr          "aes-128-ctr"
 I6	  63774 #define NID_aes_128_ctr         904
 I6	  63775 
 I6	  63776 #define SN_aes_192_ctr          "AES-192-CTR"
 I6	  63777 #define LN_aes_192_ctr          "aes-192-ctr"
 I6	  63778 #define NID_aes_192_ctr         905
 I6	  63779 
 I6	  63780 #define SN_aes_256_ctr          "AES-256-CTR"
 I6	  63781 #define LN_aes_256_ctr          "aes-256-ctr"
 I6	  63782 #define NID_aes_256_ctr         906
 I6	  63783 
 I6	  63784 #define SN_aes_128_ocb          "AES-128-OCB"
 I6	  63785 #define LN_aes_128_ocb          "aes-128-ocb"
 I6	  63786 #define NID_aes_128_ocb         958
 I6	  63787 
 I6	  63788 #define SN_aes_192_ocb          "AES-192-OCB"
 I6	  63789 #define LN_aes_192_ocb          "aes-192-ocb"
 I6	  63790 #define NID_aes_192_ocb         959
 I6	  63791 
 I6	  63792 #define SN_aes_256_ocb          "AES-256-OCB"
 I6	  63793 #define LN_aes_256_ocb          "aes-256-ocb"
 I6	  63794 #define NID_aes_256_ocb         960
 I6	  63795 
 I6	  63796 #define SN_des_cfb1             "DES-CFB1"
 I6	  63797 #define LN_des_cfb1             "des-cfb1"
 I6	  63798 #define NID_des_cfb1            656
 I6	  63799 
 I6	  63800 #define SN_des_cfb8             "DES-CFB8"
 I6	  63801 #define LN_des_cfb8             "des-cfb8"
 I6	  63802 #define NID_des_cfb8            657
 I6	  63803 
 I6	  63804 #define SN_des_ede3_cfb1                "DES-EDE3-CFB1"
 I6	  63805 #define LN_des_ede3_cfb1                "des-ede3-cfb1"
 I6	  63806 #define NID_des_ede3_cfb1               658
 I6	  63807 
 I6	  63808 #define SN_des_ede3_cfb8                "DES-EDE3-CFB8"
 I6	  63809 #define LN_des_ede3_cfb8                "des-ede3-cfb8"
 I6	  63810 #define NID_des_ede3_cfb8               659
 I6	  63811 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1162
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63812 #define OBJ_nist_hashalgs               OBJ_nistAlgorithms,2L
 I6	  63813 
 I6	  63814 #define SN_sha256               "SHA256"
 I6	  63815 #define LN_sha256               "sha256"
 I6	  63816 #define NID_sha256              672
 I6	  63817 #define OBJ_sha256              OBJ_nist_hashalgs,1L
 I6	  63818 
 I6	  63819 #define SN_sha384               "SHA384"
 I6	  63820 #define LN_sha384               "sha384"
 I6	  63821 #define NID_sha384              673
 I6	  63822 #define OBJ_sha384              OBJ_nist_hashalgs,2L
 I6	  63823 
 I6	  63824 #define SN_sha512               "SHA512"
 I6	  63825 #define LN_sha512               "sha512"
 I6	  63826 #define NID_sha512              674
 I6	  63827 #define OBJ_sha512              OBJ_nist_hashalgs,3L
 I6	  63828 
 I6	  63829 #define SN_sha224               "SHA224"
 I6	  63830 #define LN_sha224               "sha224"
 I6	  63831 #define NID_sha224              675
 I6	  63832 #define OBJ_sha224              OBJ_nist_hashalgs,4L
 I6	  63833 
 I6	  63834 #define SN_sha512_224           "SHA512-224"
 I6	  63835 #define LN_sha512_224           "sha512-224"
 I6	  63836 #define NID_sha512_224          1094
 I6	  63837 #define OBJ_sha512_224          OBJ_nist_hashalgs,5L
 I6	  63838 
 I6	  63839 #define SN_sha512_256           "SHA512-256"
 I6	  63840 #define LN_sha512_256           "sha512-256"
 I6	  63841 #define NID_sha512_256          1095
 I6	  63842 #define OBJ_sha512_256          OBJ_nist_hashalgs,6L
 I6	  63843 
 I6	  63844 #define SN_sha3_224             "SHA3-224"
 I6	  63845 #define LN_sha3_224             "sha3-224"
 I6	  63846 #define NID_sha3_224            1096
 I6	  63847 #define OBJ_sha3_224            OBJ_nist_hashalgs,7L
 I6	  63848 
 I6	  63849 #define SN_sha3_256             "SHA3-256"
 I6	  63850 #define LN_sha3_256             "sha3-256"
 I6	  63851 #define NID_sha3_256            1097
 I6	  63852 #define OBJ_sha3_256            OBJ_nist_hashalgs,8L
 I6	  63853 
 I6	  63854 #define SN_sha3_384             "SHA3-384"
 I6	  63855 #define LN_sha3_384             "sha3-384"
 I6	  63856 #define NID_sha3_384            1098
 I6	  63857 #define OBJ_sha3_384            OBJ_nist_hashalgs,9L
 I6	  63858 
 I6	  63859 #define SN_sha3_512             "SHA3-512"
 I6	  63860 #define LN_sha3_512             "sha3-512"
 I6	  63861 #define NID_sha3_512            1099
 I6	  63862 #define OBJ_sha3_512            OBJ_nist_hashalgs,10L
 I6	  63863 
 I6	  63864 #define SN_shake128             "SHAKE128"
 I6	  63865 #define LN_shake128             "shake128"
 I6	  63866 #define NID_shake128            1100
 I6	  63867 #define OBJ_shake128            OBJ_nist_hashalgs,11L
 I6	  63868 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1163
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63869 #define SN_shake256             "SHAKE256"
 I6	  63870 #define LN_shake256             "shake256"
 I6	  63871 #define NID_shake256            1101
 I6	  63872 #define OBJ_shake256            OBJ_nist_hashalgs,12L
 I6	  63873 
 I6	  63874 #define SN_hmac_sha3_224                "id-hmacWithSHA3-224"
 I6	  63875 #define LN_hmac_sha3_224                "hmac-sha3-224"
 I6	  63876 #define NID_hmac_sha3_224               1102
 I6	  63877 #define OBJ_hmac_sha3_224               OBJ_nist_hashalgs,13L
 I6	  63878 
 I6	  63879 #define SN_hmac_sha3_256                "id-hmacWithSHA3-256"
 I6	  63880 #define LN_hmac_sha3_256                "hmac-sha3-256"
 I6	  63881 #define NID_hmac_sha3_256               1103
 I6	  63882 #define OBJ_hmac_sha3_256               OBJ_nist_hashalgs,14L
 I6	  63883 
 I6	  63884 #define SN_hmac_sha3_384                "id-hmacWithSHA3-384"
 I6	  63885 #define LN_hmac_sha3_384                "hmac-sha3-384"
 I6	  63886 #define NID_hmac_sha3_384               1104
 I6	  63887 #define OBJ_hmac_sha3_384               OBJ_nist_hashalgs,15L
 I6	  63888 
 I6	  63889 #define SN_hmac_sha3_512                "id-hmacWithSHA3-512"
 I6	  63890 #define LN_hmac_sha3_512                "hmac-sha3-512"
 I6	  63891 #define NID_hmac_sha3_512               1105
 I6	  63892 #define OBJ_hmac_sha3_512               OBJ_nist_hashalgs,16L
 I6	  63893 
 I6	  63894 #define SN_kmac128              "KMAC128"
 I6	  63895 #define LN_kmac128              "kmac128"
 I6	  63896 #define NID_kmac128             1196
 I6	  63897 #define OBJ_kmac128             OBJ_nist_hashalgs,19L
 I6	  63898 
 I6	  63899 #define SN_kmac256              "KMAC256"
 I6	  63900 #define LN_kmac256              "kmac256"
 I6	  63901 #define NID_kmac256             1197
 I6	  63902 #define OBJ_kmac256             OBJ_nist_hashalgs,20L
 I6	  63903 
 I6	  63904 #define OBJ_dsa_with_sha2               OBJ_nistAlgorithms,3L
 I6	  63905 
 I6	  63906 #define SN_dsa_with_SHA224              "dsa_with_SHA224"
 I6	  63907 #define NID_dsa_with_SHA224             802
 I6	  63908 #define OBJ_dsa_with_SHA224             OBJ_dsa_with_sha2,1L
 I6	  63909 
 I6	  63910 #define SN_dsa_with_SHA256              "dsa_with_SHA256"
 I6	  63911 #define NID_dsa_with_SHA256             803
 I6	  63912 #define OBJ_dsa_with_SHA256             OBJ_dsa_with_sha2,2L
 I6	  63913 
 I6	  63914 #define OBJ_sigAlgs             OBJ_nistAlgorithms,3L
 I6	  63915 
 I6	  63916 #define SN_dsa_with_SHA384              "id-dsa-with-sha384"
 I6	  63917 #define LN_dsa_with_SHA384              "dsa_with_SHA384"
 I6	  63918 #define NID_dsa_with_SHA384             1106
 I6	  63919 #define OBJ_dsa_with_SHA384             OBJ_sigAlgs,3L
 I6	  63920 
 I6	  63921 #define SN_dsa_with_SHA512              "id-dsa-with-sha512"
 I6	  63922 #define LN_dsa_with_SHA512              "dsa_with_SHA512"
 I6	  63923 #define NID_dsa_with_SHA512             1107
 I6	  63924 #define OBJ_dsa_with_SHA512             OBJ_sigAlgs,4L
 I6	  63925 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1164
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63926 #define SN_dsa_with_SHA3_224            "id-dsa-with-sha3-224"
 I6	  63927 #define LN_dsa_with_SHA3_224            "dsa_with_SHA3-224"
 I6	  63928 #define NID_dsa_with_SHA3_224           1108
 I6	  63929 #define OBJ_dsa_with_SHA3_224           OBJ_sigAlgs,5L
 I6	  63930 
 I6	  63931 #define SN_dsa_with_SHA3_256            "id-dsa-with-sha3-256"
 I6	  63932 #define LN_dsa_with_SHA3_256            "dsa_with_SHA3-256"
 I6	  63933 #define NID_dsa_with_SHA3_256           1109
 I6	  63934 #define OBJ_dsa_with_SHA3_256           OBJ_sigAlgs,6L
 I6	  63935 
 I6	  63936 #define SN_dsa_with_SHA3_384            "id-dsa-with-sha3-384"
 I6	  63937 #define LN_dsa_with_SHA3_384            "dsa_with_SHA3-384"
 I6	  63938 #define NID_dsa_with_SHA3_384           1110
 I6	  63939 #define OBJ_dsa_with_SHA3_384           OBJ_sigAlgs,7L
 I6	  63940 
 I6	  63941 #define SN_dsa_with_SHA3_512            "id-dsa-with-sha3-512"
 I6	  63942 #define LN_dsa_with_SHA3_512            "dsa_with_SHA3-512"
 I6	  63943 #define NID_dsa_with_SHA3_512           1111
 I6	  63944 #define OBJ_dsa_with_SHA3_512           OBJ_sigAlgs,8L
 I6	  63945 
 I6	  63946 #define SN_ecdsa_with_SHA3_224          "id-ecdsa-with-sha3-224"
 I6	  63947 #define LN_ecdsa_with_SHA3_224          "ecdsa_with_SHA3-224"
 I6	  63948 #define NID_ecdsa_with_SHA3_224         1112
 I6	  63949 #define OBJ_ecdsa_with_SHA3_224         OBJ_sigAlgs,9L
 I6	  63950 
 I6	  63951 #define SN_ecdsa_with_SHA3_256          "id-ecdsa-with-sha3-256"
 I6	  63952 #define LN_ecdsa_with_SHA3_256          "ecdsa_with_SHA3-256"
 I6	  63953 #define NID_ecdsa_with_SHA3_256         1113
 I6	  63954 #define OBJ_ecdsa_with_SHA3_256         OBJ_sigAlgs,10L
 I6	  63955 
 I6	  63956 #define SN_ecdsa_with_SHA3_384          "id-ecdsa-with-sha3-384"
 I6	  63957 #define LN_ecdsa_with_SHA3_384          "ecdsa_with_SHA3-384"
 I6	  63958 #define NID_ecdsa_with_SHA3_384         1114
 I6	  63959 #define OBJ_ecdsa_with_SHA3_384         OBJ_sigAlgs,11L
 I6	  63960 
 I6	  63961 #define SN_ecdsa_with_SHA3_512          "id-ecdsa-with-sha3-512"
 I6	  63962 #define LN_ecdsa_with_SHA3_512          "ecdsa_with_SHA3-512"
 I6	  63963 #define NID_ecdsa_with_SHA3_512         1115
 I6	  63964 #define OBJ_ecdsa_with_SHA3_512         OBJ_sigAlgs,12L
 I6	  63965 
 I6	  63966 #define SN_RSA_SHA3_224         "id-rsassa-pkcs1-v1_5-with-sha3-224"
 I6	  63967 #define LN_RSA_SHA3_224         "RSA-SHA3-224"
 I6	  63968 #define NID_RSA_SHA3_224                1116
 I6	  63969 #define OBJ_RSA_SHA3_224                OBJ_sigAlgs,13L
 I6	  63970 
 I6	  63971 #define SN_RSA_SHA3_256         "id-rsassa-pkcs1-v1_5-with-sha3-256"
 I6	  63972 #define LN_RSA_SHA3_256         "RSA-SHA3-256"
 I6	  63973 #define NID_RSA_SHA3_256                1117
 I6	  63974 #define OBJ_RSA_SHA3_256                OBJ_sigAlgs,14L
 I6	  63975 
 I6	  63976 #define SN_RSA_SHA3_384         "id-rsassa-pkcs1-v1_5-with-sha3-384"
 I6	  63977 #define LN_RSA_SHA3_384         "RSA-SHA3-384"
 I6	  63978 #define NID_RSA_SHA3_384                1118
 I6	  63979 #define OBJ_RSA_SHA3_384                OBJ_sigAlgs,15L
 I6	  63980 
 I6	  63981 #define SN_RSA_SHA3_512         "id-rsassa-pkcs1-v1_5-with-sha3-512"
 I6	  63982 #define LN_RSA_SHA3_512         "RSA-SHA3-512"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1165
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  63983 #define NID_RSA_SHA3_512                1119
 I6	  63984 #define OBJ_RSA_SHA3_512                OBJ_sigAlgs,16L
 I6	  63985 
 I6	  63986 #define SN_hold_instruction_code                "holdInstructionCode"
 I6	  63987 #define LN_hold_instruction_code                "Hold Instruction Code"
 I6	  63988 #define NID_hold_instruction_code               430
 I6	  63989 #define OBJ_hold_instruction_code               OBJ_id_ce,23L
 I6	  63990 
 I6	  63991 #define OBJ_holdInstruction             OBJ_X9_57,2L
 I6	  63992 
 I6	  63993 #define SN_hold_instruction_none                "holdInstructionNone"
 I6	  63994 #define LN_hold_instruction_none                "Hold Instruction None"
 I6	  63995 #define NID_hold_instruction_none               431
 I6	  63996 #define OBJ_hold_instruction_none               OBJ_holdInstruction,1L
 I6	  63997 
 I6	  63998 #define SN_hold_instruction_call_issuer         "holdInstructionCallIssuer"
 I6	  63999 #define LN_hold_instruction_call_issuer         "Hold Instruction Call Issuer"
 I6	  64000 #define NID_hold_instruction_call_issuer                432
 I6	  64001 #define OBJ_hold_instruction_call_issuer                OBJ_holdInstruction,2L
 I6	  64002 
 I6	  64003 #define SN_hold_instruction_reject              "holdInstructionReject"
 I6	  64004 #define LN_hold_instruction_reject              "Hold Instruction Reject"
 I6	  64005 #define NID_hold_instruction_reject             433
 I6	  64006 #define OBJ_hold_instruction_reject             OBJ_holdInstruction,3L
 I6	  64007 
 I6	  64008 #define SN_data         "data"
 I6	  64009 #define NID_data                434
 I6	  64010 #define OBJ_data                OBJ_itu_t,9L
 I6	  64011 
 I6	  64012 #define SN_pss          "pss"
 I6	  64013 #define NID_pss         435
 I6	  64014 #define OBJ_pss         OBJ_data,2342L
 I6	  64015 
 I6	  64016 #define SN_ucl          "ucl"
 I6	  64017 #define NID_ucl         436
 I6	  64018 #define OBJ_ucl         OBJ_pss,19200300L
 I6	  64019 
 I6	  64020 #define SN_pilot                "pilot"
 I6	  64021 #define NID_pilot               437
 I6	  64022 #define OBJ_pilot               OBJ_ucl,100L
 I6	  64023 
 I6	  64024 #define LN_pilotAttributeType           "pilotAttributeType"
 I6	  64025 #define NID_pilotAttributeType          438
 I6	  64026 #define OBJ_pilotAttributeType          OBJ_pilot,1L
 I6	  64027 
 I6	  64028 #define LN_pilotAttributeSyntax         "pilotAttributeSyntax"
 I6	  64029 #define NID_pilotAttributeSyntax                439
 I6	  64030 #define OBJ_pilotAttributeSyntax                OBJ_pilot,3L
 I6	  64031 
 I6	  64032 #define LN_pilotObjectClass             "pilotObjectClass"
 I6	  64033 #define NID_pilotObjectClass            440
 I6	  64034 #define OBJ_pilotObjectClass            OBJ_pilot,4L
 I6	  64035 
 I6	  64036 #define LN_pilotGroups          "pilotGroups"
 I6	  64037 #define NID_pilotGroups         441
 I6	  64038 #define OBJ_pilotGroups         OBJ_pilot,10L
 I6	  64039 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1166
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64040 #define LN_iA5StringSyntax              "iA5StringSyntax"
 I6	  64041 #define NID_iA5StringSyntax             442
 I6	  64042 #define OBJ_iA5StringSyntax             OBJ_pilotAttributeSyntax,4L
 I6	  64043 
 I6	  64044 #define LN_caseIgnoreIA5StringSyntax            "caseIgnoreIA5StringSyntax"
 I6	  64045 #define NID_caseIgnoreIA5StringSyntax           443
 I6	  64046 #define OBJ_caseIgnoreIA5StringSyntax           OBJ_pilotAttributeSyntax,5L
 I6	  64047 
 I6	  64048 #define LN_pilotObject          "pilotObject"
 I6	  64049 #define NID_pilotObject         444
 I6	  64050 #define OBJ_pilotObject         OBJ_pilotObjectClass,3L
 I6	  64051 
 I6	  64052 #define LN_pilotPerson          "pilotPerson"
 I6	  64053 #define NID_pilotPerson         445
 I6	  64054 #define OBJ_pilotPerson         OBJ_pilotObjectClass,4L
 I6	  64055 
 I6	  64056 #define SN_account              "account"
 I6	  64057 #define NID_account             446
 I6	  64058 #define OBJ_account             OBJ_pilotObjectClass,5L
 I6	  64059 
 I6	  64060 #define SN_document             "document"
 I6	  64061 #define NID_document            447
 I6	  64062 #define OBJ_document            OBJ_pilotObjectClass,6L
 I6	  64063 
 I6	  64064 #define SN_room         "room"
 I6	  64065 #define NID_room                448
 I6	  64066 #define OBJ_room                OBJ_pilotObjectClass,7L
 I6	  64067 
 I6	  64068 #define LN_documentSeries               "documentSeries"
 I6	  64069 #define NID_documentSeries              449
 I6	  64070 #define OBJ_documentSeries              OBJ_pilotObjectClass,9L
 I6	  64071 
 I6	  64072 #define SN_Domain               "domain"
 I6	  64073 #define LN_Domain               "Domain"
 I6	  64074 #define NID_Domain              392
 I6	  64075 #define OBJ_Domain              OBJ_pilotObjectClass,13L
 I6	  64076 
 I6	  64077 #define LN_rFC822localPart              "rFC822localPart"
 I6	  64078 #define NID_rFC822localPart             450
 I6	  64079 #define OBJ_rFC822localPart             OBJ_pilotObjectClass,14L
 I6	  64080 
 I6	  64081 #define LN_dNSDomain            "dNSDomain"
 I6	  64082 #define NID_dNSDomain           451
 I6	  64083 #define OBJ_dNSDomain           OBJ_pilotObjectClass,15L
 I6	  64084 
 I6	  64085 #define LN_domainRelatedObject          "domainRelatedObject"
 I6	  64086 #define NID_domainRelatedObject         452
 I6	  64087 #define OBJ_domainRelatedObject         OBJ_pilotObjectClass,17L
 I6	  64088 
 I6	  64089 #define LN_friendlyCountry              "friendlyCountry"
 I6	  64090 #define NID_friendlyCountry             453
 I6	  64091 #define OBJ_friendlyCountry             OBJ_pilotObjectClass,18L
 I6	  64092 
 I6	  64093 #define LN_simpleSecurityObject         "simpleSecurityObject"
 I6	  64094 #define NID_simpleSecurityObject                454
 I6	  64095 #define OBJ_simpleSecurityObject                OBJ_pilotObjectClass,19L
 I6	  64096 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1167
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64097 #define LN_pilotOrganization            "pilotOrganization"
 I6	  64098 #define NID_pilotOrganization           455
 I6	  64099 #define OBJ_pilotOrganization           OBJ_pilotObjectClass,20L
 I6	  64100 
 I6	  64101 #define LN_pilotDSA             "pilotDSA"
 I6	  64102 #define NID_pilotDSA            456
 I6	  64103 #define OBJ_pilotDSA            OBJ_pilotObjectClass,21L
 I6	  64104 
 I6	  64105 #define LN_qualityLabelledData          "qualityLabelledData"
 I6	  64106 #define NID_qualityLabelledData         457
 I6	  64107 #define OBJ_qualityLabelledData         OBJ_pilotObjectClass,22L
 I6	  64108 
 I6	  64109 #define SN_userId               "UID"
 I6	  64110 #define LN_userId               "userId"
 I6	  64111 #define NID_userId              458
 I6	  64112 #define OBJ_userId              OBJ_pilotAttributeType,1L
 I6	  64113 
 I6	  64114 #define LN_textEncodedORAddress         "textEncodedORAddress"
 I6	  64115 #define NID_textEncodedORAddress                459
 I6	  64116 #define OBJ_textEncodedORAddress                OBJ_pilotAttributeType,2L
 I6	  64117 
 I6	  64118 #define SN_rfc822Mailbox                "mail"
 I6	  64119 #define LN_rfc822Mailbox                "rfc822Mailbox"
 I6	  64120 #define NID_rfc822Mailbox               460
 I6	  64121 #define OBJ_rfc822Mailbox               OBJ_pilotAttributeType,3L
 I6	  64122 
 I6	  64123 #define SN_info         "info"
 I6	  64124 #define NID_info                461
 I6	  64125 #define OBJ_info                OBJ_pilotAttributeType,4L
 I6	  64126 
 I6	  64127 #define LN_favouriteDrink               "favouriteDrink"
 I6	  64128 #define NID_favouriteDrink              462
 I6	  64129 #define OBJ_favouriteDrink              OBJ_pilotAttributeType,5L
 I6	  64130 
 I6	  64131 #define LN_roomNumber           "roomNumber"
 I6	  64132 #define NID_roomNumber          463
 I6	  64133 #define OBJ_roomNumber          OBJ_pilotAttributeType,6L
 I6	  64134 
 I6	  64135 #define SN_photo                "photo"
 I6	  64136 #define NID_photo               464
 I6	  64137 #define OBJ_photo               OBJ_pilotAttributeType,7L
 I6	  64138 
 I6	  64139 #define LN_userClass            "userClass"
 I6	  64140 #define NID_userClass           465
 I6	  64141 #define OBJ_userClass           OBJ_pilotAttributeType,8L
 I6	  64142 
 I6	  64143 #define SN_host         "host"
 I6	  64144 #define NID_host                466
 I6	  64145 #define OBJ_host                OBJ_pilotAttributeType,9L
 I6	  64146 
 I6	  64147 #define SN_manager              "manager"
 I6	  64148 #define NID_manager             467
 I6	  64149 #define OBJ_manager             OBJ_pilotAttributeType,10L
 I6	  64150 
 I6	  64151 #define LN_documentIdentifier           "documentIdentifier"
 I6	  64152 #define NID_documentIdentifier          468
 I6	  64153 #define OBJ_documentIdentifier          OBJ_pilotAttributeType,11L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1168
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64154 
 I6	  64155 #define LN_documentTitle                "documentTitle"
 I6	  64156 #define NID_documentTitle               469
 I6	  64157 #define OBJ_documentTitle               OBJ_pilotAttributeType,12L
 I6	  64158 
 I6	  64159 #define LN_documentVersion              "documentVersion"
 I6	  64160 #define NID_documentVersion             470
 I6	  64161 #define OBJ_documentVersion             OBJ_pilotAttributeType,13L
 I6	  64162 
 I6	  64163 #define LN_documentAuthor               "documentAuthor"
 I6	  64164 #define NID_documentAuthor              471
 I6	  64165 #define OBJ_documentAuthor              OBJ_pilotAttributeType,14L
 I6	  64166 
 I6	  64167 #define LN_documentLocation             "documentLocation"
 I6	  64168 #define NID_documentLocation            472
 I6	  64169 #define OBJ_documentLocation            OBJ_pilotAttributeType,15L
 I6	  64170 
 I6	  64171 #define LN_homeTelephoneNumber          "homeTelephoneNumber"
 I6	  64172 #define NID_homeTelephoneNumber         473
 I6	  64173 #define OBJ_homeTelephoneNumber         OBJ_pilotAttributeType,20L
 I6	  64174 
 I6	  64175 #define SN_secretary            "secretary"
 I6	  64176 #define NID_secretary           474
 I6	  64177 #define OBJ_secretary           OBJ_pilotAttributeType,21L
 I6	  64178 
 I6	  64179 #define LN_otherMailbox         "otherMailbox"
 I6	  64180 #define NID_otherMailbox                475
 I6	  64181 #define OBJ_otherMailbox                OBJ_pilotAttributeType,22L
 I6	  64182 
 I6	  64183 #define LN_lastModifiedTime             "lastModifiedTime"
 I6	  64184 #define NID_lastModifiedTime            476
 I6	  64185 #define OBJ_lastModifiedTime            OBJ_pilotAttributeType,23L
 I6	  64186 
 I6	  64187 #define LN_lastModifiedBy               "lastModifiedBy"
 I6	  64188 #define NID_lastModifiedBy              477
 I6	  64189 #define OBJ_lastModifiedBy              OBJ_pilotAttributeType,24L
 I6	  64190 
 I6	  64191 #define SN_domainComponent              "DC"
 I6	  64192 #define LN_domainComponent              "domainComponent"
 I6	  64193 #define NID_domainComponent             391
 I6	  64194 #define OBJ_domainComponent             OBJ_pilotAttributeType,25L
 I6	  64195 
 I6	  64196 #define LN_aRecord              "aRecord"
 I6	  64197 #define NID_aRecord             478
 I6	  64198 #define OBJ_aRecord             OBJ_pilotAttributeType,26L
 I6	  64199 
 I6	  64200 #define LN_pilotAttributeType27         "pilotAttributeType27"
 I6	  64201 #define NID_pilotAttributeType27                479
 I6	  64202 #define OBJ_pilotAttributeType27                OBJ_pilotAttributeType,27L
 I6	  64203 
 I6	  64204 #define LN_mXRecord             "mXRecord"
 I6	  64205 #define NID_mXRecord            480
 I6	  64206 #define OBJ_mXRecord            OBJ_pilotAttributeType,28L
 I6	  64207 
 I6	  64208 #define LN_nSRecord             "nSRecord"
 I6	  64209 #define NID_nSRecord            481
 I6	  64210 #define OBJ_nSRecord            OBJ_pilotAttributeType,29L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1169
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64211 
 I6	  64212 #define LN_sOARecord            "sOARecord"
 I6	  64213 #define NID_sOARecord           482
 I6	  64214 #define OBJ_sOARecord           OBJ_pilotAttributeType,30L
 I6	  64215 
 I6	  64216 #define LN_cNAMERecord          "cNAMERecord"
 I6	  64217 #define NID_cNAMERecord         483
 I6	  64218 #define OBJ_cNAMERecord         OBJ_pilotAttributeType,31L
 I6	  64219 
 I6	  64220 #define LN_associatedDomain             "associatedDomain"
 I6	  64221 #define NID_associatedDomain            484
 I6	  64222 #define OBJ_associatedDomain            OBJ_pilotAttributeType,37L
 I6	  64223 
 I6	  64224 #define LN_associatedName               "associatedName"
 I6	  64225 #define NID_associatedName              485
 I6	  64226 #define OBJ_associatedName              OBJ_pilotAttributeType,38L
 I6	  64227 
 I6	  64228 #define LN_homePostalAddress            "homePostalAddress"
 I6	  64229 #define NID_homePostalAddress           486
 I6	  64230 #define OBJ_homePostalAddress           OBJ_pilotAttributeType,39L
 I6	  64231 
 I6	  64232 #define LN_personalTitle                "personalTitle"
 I6	  64233 #define NID_personalTitle               487
 I6	  64234 #define OBJ_personalTitle               OBJ_pilotAttributeType,40L
 I6	  64235 
 I6	  64236 #define LN_mobileTelephoneNumber                "mobileTelephoneNumber"
 I6	  64237 #define NID_mobileTelephoneNumber               488
 I6	  64238 #define OBJ_mobileTelephoneNumber               OBJ_pilotAttributeType,41L
 I6	  64239 
 I6	  64240 #define LN_pagerTelephoneNumber         "pagerTelephoneNumber"
 I6	  64241 #define NID_pagerTelephoneNumber                489
 I6	  64242 #define OBJ_pagerTelephoneNumber                OBJ_pilotAttributeType,42L
 I6	  64243 
 I6	  64244 #define LN_friendlyCountryName          "friendlyCountryName"
 I6	  64245 #define NID_friendlyCountryName         490
 I6	  64246 #define OBJ_friendlyCountryName         OBJ_pilotAttributeType,43L
 I6	  64247 
 I6	  64248 #define SN_uniqueIdentifier             "uid"
 I6	  64249 #define LN_uniqueIdentifier             "uniqueIdentifier"
 I6	  64250 #define NID_uniqueIdentifier            102
 I6	  64251 #define OBJ_uniqueIdentifier            OBJ_pilotAttributeType,44L
 I6	  64252 
 I6	  64253 #define LN_organizationalStatus         "organizationalStatus"
 I6	  64254 #define NID_organizationalStatus                491
 I6	  64255 #define OBJ_organizationalStatus                OBJ_pilotAttributeType,45L
 I6	  64256 
 I6	  64257 #define LN_janetMailbox         "janetMailbox"
 I6	  64258 #define NID_janetMailbox                492
 I6	  64259 #define OBJ_janetMailbox                OBJ_pilotAttributeType,46L
 I6	  64260 
 I6	  64261 #define LN_mailPreferenceOption         "mailPreferenceOption"
 I6	  64262 #define NID_mailPreferenceOption                493
 I6	  64263 #define OBJ_mailPreferenceOption                OBJ_pilotAttributeType,47L
 I6	  64264 
 I6	  64265 #define LN_buildingName         "buildingName"
 I6	  64266 #define NID_buildingName                494
 I6	  64267 #define OBJ_buildingName                OBJ_pilotAttributeType,48L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1170
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64268 
 I6	  64269 #define LN_dSAQuality           "dSAQuality"
 I6	  64270 #define NID_dSAQuality          495
 I6	  64271 #define OBJ_dSAQuality          OBJ_pilotAttributeType,49L
 I6	  64272 
 I6	  64273 #define LN_singleLevelQuality           "singleLevelQuality"
 I6	  64274 #define NID_singleLevelQuality          496
 I6	  64275 #define OBJ_singleLevelQuality          OBJ_pilotAttributeType,50L
 I6	  64276 
 I6	  64277 #define LN_subtreeMinimumQuality                "subtreeMinimumQuality"
 I6	  64278 #define NID_subtreeMinimumQuality               497
 I6	  64279 #define OBJ_subtreeMinimumQuality               OBJ_pilotAttributeType,51L
 I6	  64280 
 I6	  64281 #define LN_subtreeMaximumQuality                "subtreeMaximumQuality"
 I6	  64282 #define NID_subtreeMaximumQuality               498
 I6	  64283 #define OBJ_subtreeMaximumQuality               OBJ_pilotAttributeType,52L
 I6	  64284 
 I6	  64285 #define LN_personalSignature            "personalSignature"
 I6	  64286 #define NID_personalSignature           499
 I6	  64287 #define OBJ_personalSignature           OBJ_pilotAttributeType,53L
 I6	  64288 
 I6	  64289 #define LN_dITRedirect          "dITRedirect"
 I6	  64290 #define NID_dITRedirect         500
 I6	  64291 #define OBJ_dITRedirect         OBJ_pilotAttributeType,54L
 I6	  64292 
 I6	  64293 #define SN_audio                "audio"
 I6	  64294 #define NID_audio               501
 I6	  64295 #define OBJ_audio               OBJ_pilotAttributeType,55L
 I6	  64296 
 I6	  64297 #define LN_documentPublisher            "documentPublisher"
 I6	  64298 #define NID_documentPublisher           502
 I6	  64299 #define OBJ_documentPublisher           OBJ_pilotAttributeType,56L
 I6	  64300 
 I6	  64301 #define SN_id_set               "id-set"
 I6	  64302 #define LN_id_set               "Secure Electronic Transactions"
 I6	  64303 #define NID_id_set              512
 I6	  64304 #define OBJ_id_set              OBJ_international_organizations,42L
 I6	  64305 
 I6	  64306 #define SN_set_ctype            "set-ctype"
 I6	  64307 #define LN_set_ctype            "content types"
 I6	  64308 #define NID_set_ctype           513
 I6	  64309 #define OBJ_set_ctype           OBJ_id_set,0L
 I6	  64310 
 I6	  64311 #define SN_set_msgExt           "set-msgExt"
 I6	  64312 #define LN_set_msgExt           "message extensions"
 I6	  64313 #define NID_set_msgExt          514
 I6	  64314 #define OBJ_set_msgExt          OBJ_id_set,1L
 I6	  64315 
 I6	  64316 #define SN_set_attr             "set-attr"
 I6	  64317 #define NID_set_attr            515
 I6	  64318 #define OBJ_set_attr            OBJ_id_set,3L
 I6	  64319 
 I6	  64320 #define SN_set_policy           "set-policy"
 I6	  64321 #define NID_set_policy          516
 I6	  64322 #define OBJ_set_policy          OBJ_id_set,5L
 I6	  64323 
 I6	  64324 #define SN_set_certExt          "set-certExt"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1171
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64325 #define LN_set_certExt          "certificate extensions"
 I6	  64326 #define NID_set_certExt         517
 I6	  64327 #define OBJ_set_certExt         OBJ_id_set,7L
 I6	  64328 
 I6	  64329 #define SN_set_brand            "set-brand"
 I6	  64330 #define NID_set_brand           518
 I6	  64331 #define OBJ_set_brand           OBJ_id_set,8L
 I6	  64332 
 I6	  64333 #define SN_setct_PANData                "setct-PANData"
 I6	  64334 #define NID_setct_PANData               519
 I6	  64335 #define OBJ_setct_PANData               OBJ_set_ctype,0L
 I6	  64336 
 I6	  64337 #define SN_setct_PANToken               "setct-PANToken"
 I6	  64338 #define NID_setct_PANToken              520
 I6	  64339 #define OBJ_setct_PANToken              OBJ_set_ctype,1L
 I6	  64340 
 I6	  64341 #define SN_setct_PANOnly                "setct-PANOnly"
 I6	  64342 #define NID_setct_PANOnly               521
 I6	  64343 #define OBJ_setct_PANOnly               OBJ_set_ctype,2L
 I6	  64344 
 I6	  64345 #define SN_setct_OIData         "setct-OIData"
 I6	  64346 #define NID_setct_OIData                522
 I6	  64347 #define OBJ_setct_OIData                OBJ_set_ctype,3L
 I6	  64348 
 I6	  64349 #define SN_setct_PI             "setct-PI"
 I6	  64350 #define NID_setct_PI            523
 I6	  64351 #define OBJ_setct_PI            OBJ_set_ctype,4L
 I6	  64352 
 I6	  64353 #define SN_setct_PIData         "setct-PIData"
 I6	  64354 #define NID_setct_PIData                524
 I6	  64355 #define OBJ_setct_PIData                OBJ_set_ctype,5L
 I6	  64356 
 I6	  64357 #define SN_setct_PIDataUnsigned         "setct-PIDataUnsigned"
 I6	  64358 #define NID_setct_PIDataUnsigned                525
 I6	  64359 #define OBJ_setct_PIDataUnsigned                OBJ_set_ctype,6L
 I6	  64360 
 I6	  64361 #define SN_setct_HODInput               "setct-HODInput"
 I6	  64362 #define NID_setct_HODInput              526
 I6	  64363 #define OBJ_setct_HODInput              OBJ_set_ctype,7L
 I6	  64364 
 I6	  64365 #define SN_setct_AuthResBaggage         "setct-AuthResBaggage"
 I6	  64366 #define NID_setct_AuthResBaggage                527
 I6	  64367 #define OBJ_setct_AuthResBaggage                OBJ_set_ctype,8L
 I6	  64368 
 I6	  64369 #define SN_setct_AuthRevReqBaggage              "setct-AuthRevReqBaggage"
 I6	  64370 #define NID_setct_AuthRevReqBaggage             528
 I6	  64371 #define OBJ_setct_AuthRevReqBaggage             OBJ_set_ctype,9L
 I6	  64372 
 I6	  64373 #define SN_setct_AuthRevResBaggage              "setct-AuthRevResBaggage"
 I6	  64374 #define NID_setct_AuthRevResBaggage             529
 I6	  64375 #define OBJ_setct_AuthRevResBaggage             OBJ_set_ctype,10L
 I6	  64376 
 I6	  64377 #define SN_setct_CapTokenSeq            "setct-CapTokenSeq"
 I6	  64378 #define NID_setct_CapTokenSeq           530
 I6	  64379 #define OBJ_setct_CapTokenSeq           OBJ_set_ctype,11L
 I6	  64380 
 I6	  64381 #define SN_setct_PInitResData           "setct-PInitResData"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1172
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64382 #define NID_setct_PInitResData          531
 I6	  64383 #define OBJ_setct_PInitResData          OBJ_set_ctype,12L
 I6	  64384 
 I6	  64385 #define SN_setct_PI_TBS         "setct-PI-TBS"
 I6	  64386 #define NID_setct_PI_TBS                532
 I6	  64387 #define OBJ_setct_PI_TBS                OBJ_set_ctype,13L
 I6	  64388 
 I6	  64389 #define SN_setct_PResData               "setct-PResData"
 I6	  64390 #define NID_setct_PResData              533
 I6	  64391 #define OBJ_setct_PResData              OBJ_set_ctype,14L
 I6	  64392 
 I6	  64393 #define SN_setct_AuthReqTBS             "setct-AuthReqTBS"
 I6	  64394 #define NID_setct_AuthReqTBS            534
 I6	  64395 #define OBJ_setct_AuthReqTBS            OBJ_set_ctype,16L
 I6	  64396 
 I6	  64397 #define SN_setct_AuthResTBS             "setct-AuthResTBS"
 I6	  64398 #define NID_setct_AuthResTBS            535
 I6	  64399 #define OBJ_setct_AuthResTBS            OBJ_set_ctype,17L
 I6	  64400 
 I6	  64401 #define SN_setct_AuthResTBSX            "setct-AuthResTBSX"
 I6	  64402 #define NID_setct_AuthResTBSX           536
 I6	  64403 #define OBJ_setct_AuthResTBSX           OBJ_set_ctype,18L
 I6	  64404 
 I6	  64405 #define SN_setct_AuthTokenTBS           "setct-AuthTokenTBS"
 I6	  64406 #define NID_setct_AuthTokenTBS          537
 I6	  64407 #define OBJ_setct_AuthTokenTBS          OBJ_set_ctype,19L
 I6	  64408 
 I6	  64409 #define SN_setct_CapTokenData           "setct-CapTokenData"
 I6	  64410 #define NID_setct_CapTokenData          538
 I6	  64411 #define OBJ_setct_CapTokenData          OBJ_set_ctype,20L
 I6	  64412 
 I6	  64413 #define SN_setct_CapTokenTBS            "setct-CapTokenTBS"
 I6	  64414 #define NID_setct_CapTokenTBS           539
 I6	  64415 #define OBJ_setct_CapTokenTBS           OBJ_set_ctype,21L
 I6	  64416 
 I6	  64417 #define SN_setct_AcqCardCodeMsg         "setct-AcqCardCodeMsg"
 I6	  64418 #define NID_setct_AcqCardCodeMsg                540
 I6	  64419 #define OBJ_setct_AcqCardCodeMsg                OBJ_set_ctype,22L
 I6	  64420 
 I6	  64421 #define SN_setct_AuthRevReqTBS          "setct-AuthRevReqTBS"
 I6	  64422 #define NID_setct_AuthRevReqTBS         541
 I6	  64423 #define OBJ_setct_AuthRevReqTBS         OBJ_set_ctype,23L
 I6	  64424 
 I6	  64425 #define SN_setct_AuthRevResData         "setct-AuthRevResData"
 I6	  64426 #define NID_setct_AuthRevResData                542
 I6	  64427 #define OBJ_setct_AuthRevResData                OBJ_set_ctype,24L
 I6	  64428 
 I6	  64429 #define SN_setct_AuthRevResTBS          "setct-AuthRevResTBS"
 I6	  64430 #define NID_setct_AuthRevResTBS         543
 I6	  64431 #define OBJ_setct_AuthRevResTBS         OBJ_set_ctype,25L
 I6	  64432 
 I6	  64433 #define SN_setct_CapReqTBS              "setct-CapReqTBS"
 I6	  64434 #define NID_setct_CapReqTBS             544
 I6	  64435 #define OBJ_setct_CapReqTBS             OBJ_set_ctype,26L
 I6	  64436 
 I6	  64437 #define SN_setct_CapReqTBSX             "setct-CapReqTBSX"
 I6	  64438 #define NID_setct_CapReqTBSX            545

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1173
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64439 #define OBJ_setct_CapReqTBSX            OBJ_set_ctype,27L
 I6	  64440 
 I6	  64441 #define SN_setct_CapResData             "setct-CapResData"
 I6	  64442 #define NID_setct_CapResData            546
 I6	  64443 #define OBJ_setct_CapResData            OBJ_set_ctype,28L
 I6	  64444 
 I6	  64445 #define SN_setct_CapRevReqTBS           "setct-CapRevReqTBS"
 I6	  64446 #define NID_setct_CapRevReqTBS          547
 I6	  64447 #define OBJ_setct_CapRevReqTBS          OBJ_set_ctype,29L
 I6	  64448 
 I6	  64449 #define SN_setct_CapRevReqTBSX          "setct-CapRevReqTBSX"
 I6	  64450 #define NID_setct_CapRevReqTBSX         548
 I6	  64451 #define OBJ_setct_CapRevReqTBSX         OBJ_set_ctype,30L
 I6	  64452 
 I6	  64453 #define SN_setct_CapRevResData          "setct-CapRevResData"
 I6	  64454 #define NID_setct_CapRevResData         549
 I6	  64455 #define OBJ_setct_CapRevResData         OBJ_set_ctype,31L
 I6	  64456 
 I6	  64457 #define SN_setct_CredReqTBS             "setct-CredReqTBS"
 I6	  64458 #define NID_setct_CredReqTBS            550
 I6	  64459 #define OBJ_setct_CredReqTBS            OBJ_set_ctype,32L
 I6	  64460 
 I6	  64461 #define SN_setct_CredReqTBSX            "setct-CredReqTBSX"
 I6	  64462 #define NID_setct_CredReqTBSX           551
 I6	  64463 #define OBJ_setct_CredReqTBSX           OBJ_set_ctype,33L
 I6	  64464 
 I6	  64465 #define SN_setct_CredResData            "setct-CredResData"
 I6	  64466 #define NID_setct_CredResData           552
 I6	  64467 #define OBJ_setct_CredResData           OBJ_set_ctype,34L
 I6	  64468 
 I6	  64469 #define SN_setct_CredRevReqTBS          "setct-CredRevReqTBS"
 I6	  64470 #define NID_setct_CredRevReqTBS         553
 I6	  64471 #define OBJ_setct_CredRevReqTBS         OBJ_set_ctype,35L
 I6	  64472 
 I6	  64473 #define SN_setct_CredRevReqTBSX         "setct-CredRevReqTBSX"
 I6	  64474 #define NID_setct_CredRevReqTBSX                554
 I6	  64475 #define OBJ_setct_CredRevReqTBSX                OBJ_set_ctype,36L
 I6	  64476 
 I6	  64477 #define SN_setct_CredRevResData         "setct-CredRevResData"
 I6	  64478 #define NID_setct_CredRevResData                555
 I6	  64479 #define OBJ_setct_CredRevResData                OBJ_set_ctype,37L
 I6	  64480 
 I6	  64481 #define SN_setct_PCertReqData           "setct-PCertReqData"
 I6	  64482 #define NID_setct_PCertReqData          556
 I6	  64483 #define OBJ_setct_PCertReqData          OBJ_set_ctype,38L
 I6	  64484 
 I6	  64485 #define SN_setct_PCertResTBS            "setct-PCertResTBS"
 I6	  64486 #define NID_setct_PCertResTBS           557
 I6	  64487 #define OBJ_setct_PCertResTBS           OBJ_set_ctype,39L
 I6	  64488 
 I6	  64489 #define SN_setct_BatchAdminReqData              "setct-BatchAdminReqData"
 I6	  64490 #define NID_setct_BatchAdminReqData             558
 I6	  64491 #define OBJ_setct_BatchAdminReqData             OBJ_set_ctype,40L
 I6	  64492 
 I6	  64493 #define SN_setct_BatchAdminResData              "setct-BatchAdminResData"
 I6	  64494 #define NID_setct_BatchAdminResData             559
 I6	  64495 #define OBJ_setct_BatchAdminResData             OBJ_set_ctype,41L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1174
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64496 
 I6	  64497 #define SN_setct_CardCInitResTBS                "setct-CardCInitResTBS"
 I6	  64498 #define NID_setct_CardCInitResTBS               560
 I6	  64499 #define OBJ_setct_CardCInitResTBS               OBJ_set_ctype,42L
 I6	  64500 
 I6	  64501 #define SN_setct_MeAqCInitResTBS                "setct-MeAqCInitResTBS"
 I6	  64502 #define NID_setct_MeAqCInitResTBS               561
 I6	  64503 #define OBJ_setct_MeAqCInitResTBS               OBJ_set_ctype,43L
 I6	  64504 
 I6	  64505 #define SN_setct_RegFormResTBS          "setct-RegFormResTBS"
 I6	  64506 #define NID_setct_RegFormResTBS         562
 I6	  64507 #define OBJ_setct_RegFormResTBS         OBJ_set_ctype,44L
 I6	  64508 
 I6	  64509 #define SN_setct_CertReqData            "setct-CertReqData"
 I6	  64510 #define NID_setct_CertReqData           563
 I6	  64511 #define OBJ_setct_CertReqData           OBJ_set_ctype,45L
 I6	  64512 
 I6	  64513 #define SN_setct_CertReqTBS             "setct-CertReqTBS"
 I6	  64514 #define NID_setct_CertReqTBS            564
 I6	  64515 #define OBJ_setct_CertReqTBS            OBJ_set_ctype,46L
 I6	  64516 
 I6	  64517 #define SN_setct_CertResData            "setct-CertResData"
 I6	  64518 #define NID_setct_CertResData           565
 I6	  64519 #define OBJ_setct_CertResData           OBJ_set_ctype,47L
 I6	  64520 
 I6	  64521 #define SN_setct_CertInqReqTBS          "setct-CertInqReqTBS"
 I6	  64522 #define NID_setct_CertInqReqTBS         566
 I6	  64523 #define OBJ_setct_CertInqReqTBS         OBJ_set_ctype,48L
 I6	  64524 
 I6	  64525 #define SN_setct_ErrorTBS               "setct-ErrorTBS"
 I6	  64526 #define NID_setct_ErrorTBS              567
 I6	  64527 #define OBJ_setct_ErrorTBS              OBJ_set_ctype,49L
 I6	  64528 
 I6	  64529 #define SN_setct_PIDualSignedTBE                "setct-PIDualSignedTBE"
 I6	  64530 #define NID_setct_PIDualSignedTBE               568
 I6	  64531 #define OBJ_setct_PIDualSignedTBE               OBJ_set_ctype,50L
 I6	  64532 
 I6	  64533 #define SN_setct_PIUnsignedTBE          "setct-PIUnsignedTBE"
 I6	  64534 #define NID_setct_PIUnsignedTBE         569
 I6	  64535 #define OBJ_setct_PIUnsignedTBE         OBJ_set_ctype,51L
 I6	  64536 
 I6	  64537 #define SN_setct_AuthReqTBE             "setct-AuthReqTBE"
 I6	  64538 #define NID_setct_AuthReqTBE            570
 I6	  64539 #define OBJ_setct_AuthReqTBE            OBJ_set_ctype,52L
 I6	  64540 
 I6	  64541 #define SN_setct_AuthResTBE             "setct-AuthResTBE"
 I6	  64542 #define NID_setct_AuthResTBE            571
 I6	  64543 #define OBJ_setct_AuthResTBE            OBJ_set_ctype,53L
 I6	  64544 
 I6	  64545 #define SN_setct_AuthResTBEX            "setct-AuthResTBEX"
 I6	  64546 #define NID_setct_AuthResTBEX           572
 I6	  64547 #define OBJ_setct_AuthResTBEX           OBJ_set_ctype,54L
 I6	  64548 
 I6	  64549 #define SN_setct_AuthTokenTBE           "setct-AuthTokenTBE"
 I6	  64550 #define NID_setct_AuthTokenTBE          573
 I6	  64551 #define OBJ_setct_AuthTokenTBE          OBJ_set_ctype,55L
 I6	  64552 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1175
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64553 #define SN_setct_CapTokenTBE            "setct-CapTokenTBE"
 I6	  64554 #define NID_setct_CapTokenTBE           574
 I6	  64555 #define OBJ_setct_CapTokenTBE           OBJ_set_ctype,56L
 I6	  64556 
 I6	  64557 #define SN_setct_CapTokenTBEX           "setct-CapTokenTBEX"
 I6	  64558 #define NID_setct_CapTokenTBEX          575
 I6	  64559 #define OBJ_setct_CapTokenTBEX          OBJ_set_ctype,57L
 I6	  64560 
 I6	  64561 #define SN_setct_AcqCardCodeMsgTBE              "setct-AcqCardCodeMsgTBE"
 I6	  64562 #define NID_setct_AcqCardCodeMsgTBE             576
 I6	  64563 #define OBJ_setct_AcqCardCodeMsgTBE             OBJ_set_ctype,58L
 I6	  64564 
 I6	  64565 #define SN_setct_AuthRevReqTBE          "setct-AuthRevReqTBE"
 I6	  64566 #define NID_setct_AuthRevReqTBE         577
 I6	  64567 #define OBJ_setct_AuthRevReqTBE         OBJ_set_ctype,59L
 I6	  64568 
 I6	  64569 #define SN_setct_AuthRevResTBE          "setct-AuthRevResTBE"
 I6	  64570 #define NID_setct_AuthRevResTBE         578
 I6	  64571 #define OBJ_setct_AuthRevResTBE         OBJ_set_ctype,60L
 I6	  64572 
 I6	  64573 #define SN_setct_AuthRevResTBEB         "setct-AuthRevResTBEB"
 I6	  64574 #define NID_setct_AuthRevResTBEB                579
 I6	  64575 #define OBJ_setct_AuthRevResTBEB                OBJ_set_ctype,61L
 I6	  64576 
 I6	  64577 #define SN_setct_CapReqTBE              "setct-CapReqTBE"
 I6	  64578 #define NID_setct_CapReqTBE             580
 I6	  64579 #define OBJ_setct_CapReqTBE             OBJ_set_ctype,62L
 I6	  64580 
 I6	  64581 #define SN_setct_CapReqTBEX             "setct-CapReqTBEX"
 I6	  64582 #define NID_setct_CapReqTBEX            581
 I6	  64583 #define OBJ_setct_CapReqTBEX            OBJ_set_ctype,63L
 I6	  64584 
 I6	  64585 #define SN_setct_CapResTBE              "setct-CapResTBE"
 I6	  64586 #define NID_setct_CapResTBE             582
 I6	  64587 #define OBJ_setct_CapResTBE             OBJ_set_ctype,64L
 I6	  64588 
 I6	  64589 #define SN_setct_CapRevReqTBE           "setct-CapRevReqTBE"
 I6	  64590 #define NID_setct_CapRevReqTBE          583
 I6	  64591 #define OBJ_setct_CapRevReqTBE          OBJ_set_ctype,65L
 I6	  64592 
 I6	  64593 #define SN_setct_CapRevReqTBEX          "setct-CapRevReqTBEX"
 I6	  64594 #define NID_setct_CapRevReqTBEX         584
 I6	  64595 #define OBJ_setct_CapRevReqTBEX         OBJ_set_ctype,66L
 I6	  64596 
 I6	  64597 #define SN_setct_CapRevResTBE           "setct-CapRevResTBE"
 I6	  64598 #define NID_setct_CapRevResTBE          585
 I6	  64599 #define OBJ_setct_CapRevResTBE          OBJ_set_ctype,67L
 I6	  64600 
 I6	  64601 #define SN_setct_CredReqTBE             "setct-CredReqTBE"
 I6	  64602 #define NID_setct_CredReqTBE            586
 I6	  64603 #define OBJ_setct_CredReqTBE            OBJ_set_ctype,68L
 I6	  64604 
 I6	  64605 #define SN_setct_CredReqTBEX            "setct-CredReqTBEX"
 I6	  64606 #define NID_setct_CredReqTBEX           587
 I6	  64607 #define OBJ_setct_CredReqTBEX           OBJ_set_ctype,69L
 I6	  64608 
 I6	  64609 #define SN_setct_CredResTBE             "setct-CredResTBE"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1176
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64610 #define NID_setct_CredResTBE            588
 I6	  64611 #define OBJ_setct_CredResTBE            OBJ_set_ctype,70L
 I6	  64612 
 I6	  64613 #define SN_setct_CredRevReqTBE          "setct-CredRevReqTBE"
 I6	  64614 #define NID_setct_CredRevReqTBE         589
 I6	  64615 #define OBJ_setct_CredRevReqTBE         OBJ_set_ctype,71L
 I6	  64616 
 I6	  64617 #define SN_setct_CredRevReqTBEX         "setct-CredRevReqTBEX"
 I6	  64618 #define NID_setct_CredRevReqTBEX                590
 I6	  64619 #define OBJ_setct_CredRevReqTBEX                OBJ_set_ctype,72L
 I6	  64620 
 I6	  64621 #define SN_setct_CredRevResTBE          "setct-CredRevResTBE"
 I6	  64622 #define NID_setct_CredRevResTBE         591
 I6	  64623 #define OBJ_setct_CredRevResTBE         OBJ_set_ctype,73L
 I6	  64624 
 I6	  64625 #define SN_setct_BatchAdminReqTBE               "setct-BatchAdminReqTBE"
 I6	  64626 #define NID_setct_BatchAdminReqTBE              592
 I6	  64627 #define OBJ_setct_BatchAdminReqTBE              OBJ_set_ctype,74L
 I6	  64628 
 I6	  64629 #define SN_setct_BatchAdminResTBE               "setct-BatchAdminResTBE"
 I6	  64630 #define NID_setct_BatchAdminResTBE              593
 I6	  64631 #define OBJ_setct_BatchAdminResTBE              OBJ_set_ctype,75L
 I6	  64632 
 I6	  64633 #define SN_setct_RegFormReqTBE          "setct-RegFormReqTBE"
 I6	  64634 #define NID_setct_RegFormReqTBE         594
 I6	  64635 #define OBJ_setct_RegFormReqTBE         OBJ_set_ctype,76L
 I6	  64636 
 I6	  64637 #define SN_setct_CertReqTBE             "setct-CertReqTBE"
 I6	  64638 #define NID_setct_CertReqTBE            595
 I6	  64639 #define OBJ_setct_CertReqTBE            OBJ_set_ctype,77L
 I6	  64640 
 I6	  64641 #define SN_setct_CertReqTBEX            "setct-CertReqTBEX"
 I6	  64642 #define NID_setct_CertReqTBEX           596
 I6	  64643 #define OBJ_setct_CertReqTBEX           OBJ_set_ctype,78L
 I6	  64644 
 I6	  64645 #define SN_setct_CertResTBE             "setct-CertResTBE"
 I6	  64646 #define NID_setct_CertResTBE            597
 I6	  64647 #define OBJ_setct_CertResTBE            OBJ_set_ctype,79L
 I6	  64648 
 I6	  64649 #define SN_setct_CRLNotificationTBS             "setct-CRLNotificationTBS"
 I6	  64650 #define NID_setct_CRLNotificationTBS            598
 I6	  64651 #define OBJ_setct_CRLNotificationTBS            OBJ_set_ctype,80L
 I6	  64652 
 I6	  64653 #define SN_setct_CRLNotificationResTBS          "setct-CRLNotificationResTBS"
 I6	  64654 #define NID_setct_CRLNotificationResTBS         599
 I6	  64655 #define OBJ_setct_CRLNotificationResTBS         OBJ_set_ctype,81L
 I6	  64656 
 I6	  64657 #define SN_setct_BCIDistributionTBS             "setct-BCIDistributionTBS"
 I6	  64658 #define NID_setct_BCIDistributionTBS            600
 I6	  64659 #define OBJ_setct_BCIDistributionTBS            OBJ_set_ctype,82L
 I6	  64660 
 I6	  64661 #define SN_setext_genCrypt              "setext-genCrypt"
 I6	  64662 #define LN_setext_genCrypt              "generic cryptogram"
 I6	  64663 #define NID_setext_genCrypt             601
 I6	  64664 #define OBJ_setext_genCrypt             OBJ_set_msgExt,1L
 I6	  64665 
 I6	  64666 #define SN_setext_miAuth                "setext-miAuth"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1177
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64667 #define LN_setext_miAuth                "merchant initiated auth"
 I6	  64668 #define NID_setext_miAuth               602
 I6	  64669 #define OBJ_setext_miAuth               OBJ_set_msgExt,3L
 I6	  64670 
 I6	  64671 #define SN_setext_pinSecure             "setext-pinSecure"
 I6	  64672 #define NID_setext_pinSecure            603
 I6	  64673 #define OBJ_setext_pinSecure            OBJ_set_msgExt,4L
 I6	  64674 
 I6	  64675 #define SN_setext_pinAny                "setext-pinAny"
 I6	  64676 #define NID_setext_pinAny               604
 I6	  64677 #define OBJ_setext_pinAny               OBJ_set_msgExt,5L
 I6	  64678 
 I6	  64679 #define SN_setext_track2                "setext-track2"
 I6	  64680 #define NID_setext_track2               605
 I6	  64681 #define OBJ_setext_track2               OBJ_set_msgExt,7L
 I6	  64682 
 I6	  64683 #define SN_setext_cv            "setext-cv"
 I6	  64684 #define LN_setext_cv            "additional verification"
 I6	  64685 #define NID_setext_cv           606
 I6	  64686 #define OBJ_setext_cv           OBJ_set_msgExt,8L
 I6	  64687 
 I6	  64688 #define SN_set_policy_root              "set-policy-root"
 I6	  64689 #define NID_set_policy_root             607
 I6	  64690 #define OBJ_set_policy_root             OBJ_set_policy,0L
 I6	  64691 
 I6	  64692 #define SN_setCext_hashedRoot           "setCext-hashedRoot"
 I6	  64693 #define NID_setCext_hashedRoot          608
 I6	  64694 #define OBJ_setCext_hashedRoot          OBJ_set_certExt,0L
 I6	  64695 
 I6	  64696 #define SN_setCext_certType             "setCext-certType"
 I6	  64697 #define NID_setCext_certType            609
 I6	  64698 #define OBJ_setCext_certType            OBJ_set_certExt,1L
 I6	  64699 
 I6	  64700 #define SN_setCext_merchData            "setCext-merchData"
 I6	  64701 #define NID_setCext_merchData           610
 I6	  64702 #define OBJ_setCext_merchData           OBJ_set_certExt,2L
 I6	  64703 
 I6	  64704 #define SN_setCext_cCertRequired                "setCext-cCertRequired"
 I6	  64705 #define NID_setCext_cCertRequired               611
 I6	  64706 #define OBJ_setCext_cCertRequired               OBJ_set_certExt,3L
 I6	  64707 
 I6	  64708 #define SN_setCext_tunneling            "setCext-tunneling"
 I6	  64709 #define NID_setCext_tunneling           612
 I6	  64710 #define OBJ_setCext_tunneling           OBJ_set_certExt,4L
 I6	  64711 
 I6	  64712 #define SN_setCext_setExt               "setCext-setExt"
 I6	  64713 #define NID_setCext_setExt              613
 I6	  64714 #define OBJ_setCext_setExt              OBJ_set_certExt,5L
 I6	  64715 
 I6	  64716 #define SN_setCext_setQualf             "setCext-setQualf"
 I6	  64717 #define NID_setCext_setQualf            614
 I6	  64718 #define OBJ_setCext_setQualf            OBJ_set_certExt,6L
 I6	  64719 
 I6	  64720 #define SN_setCext_PGWYcapabilities             "setCext-PGWYcapabilities"
 I6	  64721 #define NID_setCext_PGWYcapabilities            615
 I6	  64722 #define OBJ_setCext_PGWYcapabilities            OBJ_set_certExt,7L
 I6	  64723 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1178
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64724 #define SN_setCext_TokenIdentifier              "setCext-TokenIdentifier"
 I6	  64725 #define NID_setCext_TokenIdentifier             616
 I6	  64726 #define OBJ_setCext_TokenIdentifier             OBJ_set_certExt,8L
 I6	  64727 
 I6	  64728 #define SN_setCext_Track2Data           "setCext-Track2Data"
 I6	  64729 #define NID_setCext_Track2Data          617
 I6	  64730 #define OBJ_setCext_Track2Data          OBJ_set_certExt,9L
 I6	  64731 
 I6	  64732 #define SN_setCext_TokenType            "setCext-TokenType"
 I6	  64733 #define NID_setCext_TokenType           618
 I6	  64734 #define OBJ_setCext_TokenType           OBJ_set_certExt,10L
 I6	  64735 
 I6	  64736 #define SN_setCext_IssuerCapabilities           "setCext-IssuerCapabilities"
 I6	  64737 #define NID_setCext_IssuerCapabilities          619
 I6	  64738 #define OBJ_setCext_IssuerCapabilities          OBJ_set_certExt,11L
 I6	  64739 
 I6	  64740 #define SN_setAttr_Cert         "setAttr-Cert"
 I6	  64741 #define NID_setAttr_Cert                620
 I6	  64742 #define OBJ_setAttr_Cert                OBJ_set_attr,0L
 I6	  64743 
 I6	  64744 #define SN_setAttr_PGWYcap              "setAttr-PGWYcap"
 I6	  64745 #define LN_setAttr_PGWYcap              "payment gateway capabilities"
 I6	  64746 #define NID_setAttr_PGWYcap             621
 I6	  64747 #define OBJ_setAttr_PGWYcap             OBJ_set_attr,1L
 I6	  64748 
 I6	  64749 #define SN_setAttr_TokenType            "setAttr-TokenType"
 I6	  64750 #define NID_setAttr_TokenType           622
 I6	  64751 #define OBJ_setAttr_TokenType           OBJ_set_attr,2L
 I6	  64752 
 I6	  64753 #define SN_setAttr_IssCap               "setAttr-IssCap"
 I6	  64754 #define LN_setAttr_IssCap               "issuer capabilities"
 I6	  64755 #define NID_setAttr_IssCap              623
 I6	  64756 #define OBJ_setAttr_IssCap              OBJ_set_attr,3L
 I6	  64757 
 I6	  64758 #define SN_set_rootKeyThumb             "set-rootKeyThumb"
 I6	  64759 #define NID_set_rootKeyThumb            624
 I6	  64760 #define OBJ_set_rootKeyThumb            OBJ_setAttr_Cert,0L
 I6	  64761 
 I6	  64762 #define SN_set_addPolicy                "set-addPolicy"
 I6	  64763 #define NID_set_addPolicy               625
 I6	  64764 #define OBJ_set_addPolicy               OBJ_setAttr_Cert,1L
 I6	  64765 
 I6	  64766 #define SN_setAttr_Token_EMV            "setAttr-Token-EMV"
 I6	  64767 #define NID_setAttr_Token_EMV           626
 I6	  64768 #define OBJ_setAttr_Token_EMV           OBJ_setAttr_TokenType,1L
 I6	  64769 
 I6	  64770 #define SN_setAttr_Token_B0Prime                "setAttr-Token-B0Prime"
 I6	  64771 #define NID_setAttr_Token_B0Prime               627
 I6	  64772 #define OBJ_setAttr_Token_B0Prime               OBJ_setAttr_TokenType,2L
 I6	  64773 
 I6	  64774 #define SN_setAttr_IssCap_CVM           "setAttr-IssCap-CVM"
 I6	  64775 #define NID_setAttr_IssCap_CVM          628
 I6	  64776 #define OBJ_setAttr_IssCap_CVM          OBJ_setAttr_IssCap,3L
 I6	  64777 
 I6	  64778 #define SN_setAttr_IssCap_T2            "setAttr-IssCap-T2"
 I6	  64779 #define NID_setAttr_IssCap_T2           629
 I6	  64780 #define OBJ_setAttr_IssCap_T2           OBJ_setAttr_IssCap,4L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1179
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64781 
 I6	  64782 #define SN_setAttr_IssCap_Sig           "setAttr-IssCap-Sig"
 I6	  64783 #define NID_setAttr_IssCap_Sig          630
 I6	  64784 #define OBJ_setAttr_IssCap_Sig          OBJ_setAttr_IssCap,5L
 I6	  64785 
 I6	  64786 #define SN_setAttr_GenCryptgrm          "setAttr-GenCryptgrm"
 I6	  64787 #define LN_setAttr_GenCryptgrm          "generate cryptogram"
 I6	  64788 #define NID_setAttr_GenCryptgrm         631
 I6	  64789 #define OBJ_setAttr_GenCryptgrm         OBJ_setAttr_IssCap_CVM,1L
 I6	  64790 
 I6	  64791 #define SN_setAttr_T2Enc                "setAttr-T2Enc"
 I6	  64792 #define LN_setAttr_T2Enc                "encrypted track 2"
 I6	  64793 #define NID_setAttr_T2Enc               632
 I6	  64794 #define OBJ_setAttr_T2Enc               OBJ_setAttr_IssCap_T2,1L
 I6	  64795 
 I6	  64796 #define SN_setAttr_T2cleartxt           "setAttr-T2cleartxt"
 I6	  64797 #define LN_setAttr_T2cleartxt           "cleartext track 2"
 I6	  64798 #define NID_setAttr_T2cleartxt          633
 I6	  64799 #define OBJ_setAttr_T2cleartxt          OBJ_setAttr_IssCap_T2,2L
 I6	  64800 
 I6	  64801 #define SN_setAttr_TokICCsig            "setAttr-TokICCsig"
 I6	  64802 #define LN_setAttr_TokICCsig            "ICC or token signature"
 I6	  64803 #define NID_setAttr_TokICCsig           634
 I6	  64804 #define OBJ_setAttr_TokICCsig           OBJ_setAttr_IssCap_Sig,1L
 I6	  64805 
 I6	  64806 #define SN_setAttr_SecDevSig            "setAttr-SecDevSig"
 I6	  64807 #define LN_setAttr_SecDevSig            "secure device signature"
 I6	  64808 #define NID_setAttr_SecDevSig           635
 I6	  64809 #define OBJ_setAttr_SecDevSig           OBJ_setAttr_IssCap_Sig,2L
 I6	  64810 
 I6	  64811 #define SN_set_brand_IATA_ATA           "set-brand-IATA-ATA"
 I6	  64812 #define NID_set_brand_IATA_ATA          636
 I6	  64813 #define OBJ_set_brand_IATA_ATA          OBJ_set_brand,1L
 I6	  64814 
 I6	  64815 #define SN_set_brand_Diners             "set-brand-Diners"
 I6	  64816 #define NID_set_brand_Diners            637
 I6	  64817 #define OBJ_set_brand_Diners            OBJ_set_brand,30L
 I6	  64818 
 I6	  64819 #define SN_set_brand_AmericanExpress            "set-brand-AmericanExpress"
 I6	  64820 #define NID_set_brand_AmericanExpress           638
 I6	  64821 #define OBJ_set_brand_AmericanExpress           OBJ_set_brand,34L
 I6	  64822 
 I6	  64823 #define SN_set_brand_JCB                "set-brand-JCB"
 I6	  64824 #define NID_set_brand_JCB               639
 I6	  64825 #define OBJ_set_brand_JCB               OBJ_set_brand,35L
 I6	  64826 
 I6	  64827 #define SN_set_brand_Visa               "set-brand-Visa"
 I6	  64828 #define NID_set_brand_Visa              640
 I6	  64829 #define OBJ_set_brand_Visa              OBJ_set_brand,4L
 I6	  64830 
 I6	  64831 #define SN_set_brand_MasterCard         "set-brand-MasterCard"
 I6	  64832 #define NID_set_brand_MasterCard                641
 I6	  64833 #define OBJ_set_brand_MasterCard                OBJ_set_brand,5L
 I6	  64834 
 I6	  64835 #define SN_set_brand_Novus              "set-brand-Novus"
 I6	  64836 #define NID_set_brand_Novus             642
 I6	  64837 #define OBJ_set_brand_Novus             OBJ_set_brand,6011L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1180
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64838 
 I6	  64839 #define SN_des_cdmf             "DES-CDMF"
 I6	  64840 #define LN_des_cdmf             "des-cdmf"
 I6	  64841 #define NID_des_cdmf            643
 I6	  64842 #define OBJ_des_cdmf            OBJ_rsadsi,3L,10L
 I6	  64843 
 I6	  64844 #define SN_rsaOAEPEncryptionSET         "rsaOAEPEncryptionSET"
 I6	  64845 #define NID_rsaOAEPEncryptionSET                644
 I6	  64846 #define OBJ_rsaOAEPEncryptionSET                OBJ_rsadsi,1L,1L,6L
 I6	  64847 
 I6	  64848 #define SN_ipsec3               "Oakley-EC2N-3"
 I6	  64849 #define LN_ipsec3               "ipsec3"
 I6	  64850 #define NID_ipsec3              749
 I6	  64851 
 I6	  64852 #define SN_ipsec4               "Oakley-EC2N-4"
 I6	  64853 #define LN_ipsec4               "ipsec4"
 I6	  64854 #define NID_ipsec4              750
 I6	  64855 
 I6	  64856 #define SN_whirlpool            "whirlpool"
 I6	  64857 #define NID_whirlpool           804
 I6	  64858 #define OBJ_whirlpool           OBJ_iso,0L,10118L,3L,0L,55L
 I6	  64859 
 I6	  64860 #define SN_cryptopro            "cryptopro"
 I6	  64861 #define NID_cryptopro           805
 I6	  64862 #define OBJ_cryptopro           OBJ_member_body,643L,2L,2L
 I6	  64863 
 I6	  64864 #define SN_cryptocom            "cryptocom"
 I6	  64865 #define NID_cryptocom           806
 I6	  64866 #define OBJ_cryptocom           OBJ_member_body,643L,2L,9L
 I6	  64867 
 I6	  64868 #define SN_id_tc26              "id-tc26"
 I6	  64869 #define NID_id_tc26             974
 I6	  64870 #define OBJ_id_tc26             OBJ_member_body,643L,7L,1L
 I6	  64871 
 I6	  64872 #define SN_id_GostR3411_94_with_GostR3410_2001          "id-GostR3411-94-with-GostR3410-2001"
 I6	  64873 #define LN_id_GostR3411_94_with_GostR3410_2001          "GOST R 34.11-94 with GOST R 34.10-2001"
 I6	  64874 #define NID_id_GostR3411_94_with_GostR3410_2001         807
 I6	  64875 #define OBJ_id_GostR3411_94_with_GostR3410_2001         OBJ_cryptopro,3L
 I6	  64876 
 I6	  64877 #define SN_id_GostR3411_94_with_GostR3410_94            "id-GostR3411-94-with-GostR3410-94"
 I6	  64878 #define LN_id_GostR3411_94_with_GostR3410_94            "GOST R 34.11-94 with GOST R 34.10-94"
 I6	  64879 #define NID_id_GostR3411_94_with_GostR3410_94           808
 I6	  64880 #define OBJ_id_GostR3411_94_with_GostR3410_94           OBJ_cryptopro,4L
 I6	  64881 
 I6	  64882 #define SN_id_GostR3411_94              "md_gost94"
 I6	  64883 #define LN_id_GostR3411_94              "GOST R 34.11-94"
 I6	  64884 #define NID_id_GostR3411_94             809
 I6	  64885 #define OBJ_id_GostR3411_94             OBJ_cryptopro,9L
 I6	  64886 
 I6	  64887 #define SN_id_HMACGostR3411_94          "id-HMACGostR3411-94"
 I6	  64888 #define LN_id_HMACGostR3411_94          "HMAC GOST 34.11-94"
 I6	  64889 #define NID_id_HMACGostR3411_94         810
 I6	  64890 #define OBJ_id_HMACGostR3411_94         OBJ_cryptopro,10L
 I6	  64891 
 I6	  64892 #define SN_id_GostR3410_2001            "gost2001"
 I6	  64893 #define LN_id_GostR3410_2001            "GOST R 34.10-2001"
 I6	  64894 #define NID_id_GostR3410_2001           811

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1181
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64895 #define OBJ_id_GostR3410_2001           OBJ_cryptopro,19L
 I6	  64896 
 I6	  64897 #define SN_id_GostR3410_94              "gost94"
 I6	  64898 #define LN_id_GostR3410_94              "GOST R 34.10-94"
 I6	  64899 #define NID_id_GostR3410_94             812
 I6	  64900 #define OBJ_id_GostR3410_94             OBJ_cryptopro,20L
 I6	  64901 
 I6	  64902 #define SN_id_Gost28147_89              "gost89"
 I6	  64903 #define LN_id_Gost28147_89              "GOST 28147-89"
 I6	  64904 #define NID_id_Gost28147_89             813
 I6	  64905 #define OBJ_id_Gost28147_89             OBJ_cryptopro,21L
 I6	  64906 
 I6	  64907 #define SN_gost89_cnt           "gost89-cnt"
 I6	  64908 #define NID_gost89_cnt          814
 I6	  64909 
 I6	  64910 #define SN_gost89_cnt_12                "gost89-cnt-12"
 I6	  64911 #define NID_gost89_cnt_12               975
 I6	  64912 
 I6	  64913 #define SN_gost89_cbc           "gost89-cbc"
 I6	  64914 #define NID_gost89_cbc          1009
 I6	  64915 
 I6	  64916 #define SN_gost89_ecb           "gost89-ecb"
 I6	  64917 #define NID_gost89_ecb          1010
 I6	  64918 
 I6	  64919 #define SN_gost89_ctr           "gost89-ctr"
 I6	  64920 #define NID_gost89_ctr          1011
 I6	  64921 
 I6	  64922 #define SN_id_Gost28147_89_MAC          "gost-mac"
 I6	  64923 #define LN_id_Gost28147_89_MAC          "GOST 28147-89 MAC"
 I6	  64924 #define NID_id_Gost28147_89_MAC         815
 I6	  64925 #define OBJ_id_Gost28147_89_MAC         OBJ_cryptopro,22L
 I6	  64926 
 I6	  64927 #define SN_gost_mac_12          "gost-mac-12"
 I6	  64928 #define NID_gost_mac_12         976
 I6	  64929 
 I6	  64930 #define SN_id_GostR3411_94_prf          "prf-gostr3411-94"
 I6	  64931 #define LN_id_GostR3411_94_prf          "GOST R 34.11-94 PRF"
 I6	  64932 #define NID_id_GostR3411_94_prf         816
 I6	  64933 #define OBJ_id_GostR3411_94_prf         OBJ_cryptopro,23L
 I6	  64934 
 I6	  64935 #define SN_id_GostR3410_2001DH          "id-GostR3410-2001DH"
 I6	  64936 #define LN_id_GostR3410_2001DH          "GOST R 34.10-2001 DH"
 I6	  64937 #define NID_id_GostR3410_2001DH         817
 I6	  64938 #define OBJ_id_GostR3410_2001DH         OBJ_cryptopro,98L
 I6	  64939 
 I6	  64940 #define SN_id_GostR3410_94DH            "id-GostR3410-94DH"
 I6	  64941 #define LN_id_GostR3410_94DH            "GOST R 34.10-94 DH"
 I6	  64942 #define NID_id_GostR3410_94DH           818
 I6	  64943 #define OBJ_id_GostR3410_94DH           OBJ_cryptopro,99L
 I6	  64944 
 I6	  64945 #define SN_id_Gost28147_89_CryptoPro_KeyMeshing         "id-Gost28147-89-CryptoPro-KeyMeshing"
 I6	  64946 #define NID_id_Gost28147_89_CryptoPro_KeyMeshing                819
 I6	  64947 #define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing                OBJ_cryptopro,14L,1L
 I6	  64948 
 I6	  64949 #define SN_id_Gost28147_89_None_KeyMeshing              "id-Gost28147-89-None-KeyMeshing"
 I6	  64950 #define NID_id_Gost28147_89_None_KeyMeshing             820
 I6	  64951 #define OBJ_id_Gost28147_89_None_KeyMeshing             OBJ_cryptopro,14L,0L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1182
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  64952 
 I6	  64953 #define SN_id_GostR3411_94_TestParamSet         "id-GostR3411-94-TestParamSet"
 I6	  64954 #define NID_id_GostR3411_94_TestParamSet                821
 I6	  64955 #define OBJ_id_GostR3411_94_TestParamSet                OBJ_cryptopro,30L,0L
 I6	  64956 
 I6	  64957 #define SN_id_GostR3411_94_CryptoProParamSet            "id-GostR3411-94-CryptoProParamSet"
 I6	  64958 #define NID_id_GostR3411_94_CryptoProParamSet           822
 I6	  64959 #define OBJ_id_GostR3411_94_CryptoProParamSet           OBJ_cryptopro,30L,1L
 I6	  64960 
 I6	  64961 #define SN_id_Gost28147_89_TestParamSet         "id-Gost28147-89-TestParamSet"
 I6	  64962 #define NID_id_Gost28147_89_TestParamSet                823
 I6	  64963 #define OBJ_id_Gost28147_89_TestParamSet                OBJ_cryptopro,31L,0L
 I6	  64964 
 I6	  64965 #define SN_id_Gost28147_89_CryptoPro_A_ParamSet         "id-Gost28147-89-CryptoPro-A-ParamSet"
 I6	  64966 #define NID_id_Gost28147_89_CryptoPro_A_ParamSet                824
 I6	  64967 #define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet                OBJ_cryptopro,31L,1L
 I6	  64968 
 I6	  64969 #define SN_id_Gost28147_89_CryptoPro_B_ParamSet         "id-Gost28147-89-CryptoPro-B-ParamSet"
 I6	  64970 #define NID_id_Gost28147_89_CryptoPro_B_ParamSet                825
 I6	  64971 #define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet                OBJ_cryptopro,31L,2L
 I6	  64972 
 I6	  64973 #define SN_id_Gost28147_89_CryptoPro_C_ParamSet         "id-Gost28147-89-CryptoPro-C-ParamSet"
 I6	  64974 #define NID_id_Gost28147_89_CryptoPro_C_ParamSet                826
 I6	  64975 #define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet                OBJ_cryptopro,31L,3L
 I6	  64976 
 I6	  64977 #define SN_id_Gost28147_89_CryptoPro_D_ParamSet         "id-Gost28147-89-CryptoPro-D-ParamSet"
 I6	  64978 #define NID_id_Gost28147_89_CryptoPro_D_ParamSet                827
 I6	  64979 #define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet                OBJ_cryptopro,31L,4L
 I6	  64980 
 I6	  64981 #define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet         "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet"
 I6	  64982 #define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet                828
 I6	  64983 #define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet                OBJ_cryptopro,31L,5L
 I6	  64984 
 I6	  64985 #define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet         "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet"
 I6	  64986 #define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet                829
 I6	  64987 #define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet                OBJ_cryptopro,31L,6L
 I6	  64988 
 I6	  64989 #define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet             "id-Gost28147-89-CryptoPro-RIC-1-ParamSet"
 I6	  64990 #define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet            830
 I6	  64991 #define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet            OBJ_cryptopro,31L,7L
 I6	  64992 
 I6	  64993 #define SN_id_GostR3410_94_TestParamSet         "id-GostR3410-94-TestParamSet"
 I6	  64994 #define NID_id_GostR3410_94_TestParamSet                831
 I6	  64995 #define OBJ_id_GostR3410_94_TestParamSet                OBJ_cryptopro,32L,0L
 I6	  64996 
 I6	  64997 #define SN_id_GostR3410_94_CryptoPro_A_ParamSet         "id-GostR3410-94-CryptoPro-A-ParamSet"
 I6	  64998 #define NID_id_GostR3410_94_CryptoPro_A_ParamSet                832
 I6	  64999 #define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet                OBJ_cryptopro,32L,2L
 I6	  65000 
 I6	  65001 #define SN_id_GostR3410_94_CryptoPro_B_ParamSet         "id-GostR3410-94-CryptoPro-B-ParamSet"
 I6	  65002 #define NID_id_GostR3410_94_CryptoPro_B_ParamSet                833
 I6	  65003 #define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet                OBJ_cryptopro,32L,3L
 I6	  65004 
 I6	  65005 #define SN_id_GostR3410_94_CryptoPro_C_ParamSet         "id-GostR3410-94-CryptoPro-C-ParamSet"
 I6	  65006 #define NID_id_GostR3410_94_CryptoPro_C_ParamSet                834
 I6	  65007 #define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet                OBJ_cryptopro,32L,4L
 I6	  65008 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1183
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65009 #define SN_id_GostR3410_94_CryptoPro_D_ParamSet         "id-GostR3410-94-CryptoPro-D-ParamSet"
 I6	  65010 #define NID_id_GostR3410_94_CryptoPro_D_ParamSet                835
 I6	  65011 #define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet                OBJ_cryptopro,32L,5L
 I6	  65012 
 I6	  65013 #define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet              "id-GostR3410-94-CryptoPro-XchA-ParamSet"
 I6	  65014 #define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet             836
 I6	  65015 #define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet             OBJ_cryptopro,33L,1L
 I6	  65016 
 I6	  65017 #define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet              "id-GostR3410-94-CryptoPro-XchB-ParamSet"
 I6	  65018 #define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet             837
 I6	  65019 #define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet             OBJ_cryptopro,33L,2L
 I6	  65020 
 I6	  65021 #define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet              "id-GostR3410-94-CryptoPro-XchC-ParamSet"
 I6	  65022 #define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet             838
 I6	  65023 #define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet             OBJ_cryptopro,33L,3L
 I6	  65024 
 I6	  65025 #define SN_id_GostR3410_2001_TestParamSet               "id-GostR3410-2001-TestParamSet"
 I6	  65026 #define NID_id_GostR3410_2001_TestParamSet              839
 I6	  65027 #define OBJ_id_GostR3410_2001_TestParamSet              OBJ_cryptopro,35L,0L
 I6	  65028 
 I6	  65029 #define SN_id_GostR3410_2001_CryptoPro_A_ParamSet               "id-GostR3410-2001-CryptoPro-A-ParamSet"
 I6	  65030 #define NID_id_GostR3410_2001_CryptoPro_A_ParamSet              840
 I6	  65031 #define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet              OBJ_cryptopro,35L,1L
 I6	  65032 
 I6	  65033 #define SN_id_GostR3410_2001_CryptoPro_B_ParamSet               "id-GostR3410-2001-CryptoPro-B-ParamSet"
 I6	  65034 #define NID_id_GostR3410_2001_CryptoPro_B_ParamSet              841
 I6	  65035 #define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet              OBJ_cryptopro,35L,2L
 I6	  65036 
 I6	  65037 #define SN_id_GostR3410_2001_CryptoPro_C_ParamSet               "id-GostR3410-2001-CryptoPro-C-ParamSet"
 I6	  65038 #define NID_id_GostR3410_2001_CryptoPro_C_ParamSet              842
 I6	  65039 #define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet              OBJ_cryptopro,35L,3L
 I6	  65040 
 I6	  65041 #define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet            "id-GostR3410-2001-CryptoPro-XchA-ParamSet"
 I6	  65042 #define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet           843
 I6	  65043 #define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet           OBJ_cryptopro,36L,0L
 I6	  65044 
 I6	  65045 #define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet            "id-GostR3410-2001-CryptoPro-XchB-ParamSet"
 I6	  65046 #define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet           844
 I6	  65047 #define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet           OBJ_cryptopro,36L,1L
 I6	  65048 
 I6	  65049 #define SN_id_GostR3410_94_a            "id-GostR3410-94-a"
 I6	  65050 #define NID_id_GostR3410_94_a           845
 I6	  65051 #define OBJ_id_GostR3410_94_a           OBJ_id_GostR3410_94,1L
 I6	  65052 
 I6	  65053 #define SN_id_GostR3410_94_aBis         "id-GostR3410-94-aBis"
 I6	  65054 #define NID_id_GostR3410_94_aBis                846
 I6	  65055 #define OBJ_id_GostR3410_94_aBis                OBJ_id_GostR3410_94,2L
 I6	  65056 
 I6	  65057 #define SN_id_GostR3410_94_b            "id-GostR3410-94-b"
 I6	  65058 #define NID_id_GostR3410_94_b           847
 I6	  65059 #define OBJ_id_GostR3410_94_b           OBJ_id_GostR3410_94,3L
 I6	  65060 
 I6	  65061 #define SN_id_GostR3410_94_bBis         "id-GostR3410-94-bBis"
 I6	  65062 #define NID_id_GostR3410_94_bBis                848
 I6	  65063 #define OBJ_id_GostR3410_94_bBis                OBJ_id_GostR3410_94,4L
 I6	  65064 
 I6	  65065 #define SN_id_Gost28147_89_cc           "id-Gost28147-89-cc"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1184
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65066 #define LN_id_Gost28147_89_cc           "GOST 28147-89 Cryptocom ParamSet"
 I6	  65067 #define NID_id_Gost28147_89_cc          849
 I6	  65068 #define OBJ_id_Gost28147_89_cc          OBJ_cryptocom,1L,6L,1L
 I6	  65069 
 I6	  65070 #define SN_id_GostR3410_94_cc           "gost94cc"
 I6	  65071 #define LN_id_GostR3410_94_cc           "GOST 34.10-94 Cryptocom"
 I6	  65072 #define NID_id_GostR3410_94_cc          850
 I6	  65073 #define OBJ_id_GostR3410_94_cc          OBJ_cryptocom,1L,5L,3L
 I6	  65074 
 I6	  65075 #define SN_id_GostR3410_2001_cc         "gost2001cc"
 I6	  65076 #define LN_id_GostR3410_2001_cc         "GOST 34.10-2001 Cryptocom"
 I6	  65077 #define NID_id_GostR3410_2001_cc                851
 I6	  65078 #define OBJ_id_GostR3410_2001_cc                OBJ_cryptocom,1L,5L,4L
 I6	  65079 
 I6	  65080 #define SN_id_GostR3411_94_with_GostR3410_94_cc         "id-GostR3411-94-with-GostR3410-94-cc"
 I6	  65081 #define LN_id_GostR3411_94_with_GostR3410_94_cc         "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom"
 I6	  65082 #define NID_id_GostR3411_94_with_GostR3410_94_cc                852
 I6	  65083 #define OBJ_id_GostR3411_94_with_GostR3410_94_cc                OBJ_cryptocom,1L,3L,3L
 I6	  65084 
 I6	  65085 #define SN_id_GostR3411_94_with_GostR3410_2001_cc               "id-GostR3411-94-with-GostR3410-2001-cc"
 I6	  65086 #define LN_id_GostR3411_94_with_GostR3410_2001_cc               "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom"
 I6	  65087 #define NID_id_GostR3411_94_with_GostR3410_2001_cc              853
 I6	  65088 #define OBJ_id_GostR3411_94_with_GostR3410_2001_cc              OBJ_cryptocom,1L,3L,4L
 I6	  65089 
 I6	  65090 #define SN_id_GostR3410_2001_ParamSet_cc                "id-GostR3410-2001-ParamSet-cc"
 I6	  65091 #define LN_id_GostR3410_2001_ParamSet_cc                "GOST R 3410-2001 Parameter Set Cryptocom"
 I6	  65092 #define NID_id_GostR3410_2001_ParamSet_cc               854
 I6	  65093 #define OBJ_id_GostR3410_2001_ParamSet_cc               OBJ_cryptocom,1L,8L,1L
 I6	  65094 
 I6	  65095 #define SN_id_tc26_algorithms           "id-tc26-algorithms"
 I6	  65096 #define NID_id_tc26_algorithms          977
 I6	  65097 #define OBJ_id_tc26_algorithms          OBJ_id_tc26,1L
 I6	  65098 
 I6	  65099 #define SN_id_tc26_sign         "id-tc26-sign"
 I6	  65100 #define NID_id_tc26_sign                978
 I6	  65101 #define OBJ_id_tc26_sign                OBJ_id_tc26_algorithms,1L
 I6	  65102 
 I6	  65103 #define SN_id_GostR3410_2012_256                "gost2012_256"
 I6	  65104 #define LN_id_GostR3410_2012_256                "GOST R 34.10-2012 with 256 bit modulus"
 I6	  65105 #define NID_id_GostR3410_2012_256               979
 I6	  65106 #define OBJ_id_GostR3410_2012_256               OBJ_id_tc26_sign,1L
 I6	  65107 
 I6	  65108 #define SN_id_GostR3410_2012_512                "gost2012_512"
 I6	  65109 #define LN_id_GostR3410_2012_512                "GOST R 34.10-2012 with 512 bit modulus"
 I6	  65110 #define NID_id_GostR3410_2012_512               980
 I6	  65111 #define OBJ_id_GostR3410_2012_512               OBJ_id_tc26_sign,2L
 I6	  65112 
 I6	  65113 #define SN_id_tc26_digest               "id-tc26-digest"
 I6	  65114 #define NID_id_tc26_digest              981
 I6	  65115 #define OBJ_id_tc26_digest              OBJ_id_tc26_algorithms,2L
 I6	  65116 
 I6	  65117 #define SN_id_GostR3411_2012_256                "md_gost12_256"
 I6	  65118 #define LN_id_GostR3411_2012_256                "GOST R 34.11-2012 with 256 bit hash"
 I6	  65119 #define NID_id_GostR3411_2012_256               982
 I6	  65120 #define OBJ_id_GostR3411_2012_256               OBJ_id_tc26_digest,2L
 I6	  65121 
 I6	  65122 #define SN_id_GostR3411_2012_512                "md_gost12_512"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1185
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65123 #define LN_id_GostR3411_2012_512                "GOST R 34.11-2012 with 512 bit hash"
 I6	  65124 #define NID_id_GostR3411_2012_512               983
 I6	  65125 #define OBJ_id_GostR3411_2012_512               OBJ_id_tc26_digest,3L
 I6	  65126 
 I6	  65127 #define SN_id_tc26_signwithdigest               "id-tc26-signwithdigest"
 I6	  65128 #define NID_id_tc26_signwithdigest              984
 I6	  65129 #define OBJ_id_tc26_signwithdigest              OBJ_id_tc26_algorithms,3L
 I6	  65130 
 I6	  65131 #define SN_id_tc26_signwithdigest_gost3410_2012_256             "id-tc26-signwithdigest-gost3410-2012-256"
 I6	  65132 #define LN_id_tc26_signwithdigest_gost3410_2012_256             "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)"
 I6	  65133 #define NID_id_tc26_signwithdigest_gost3410_2012_256            985
 I6	  65134 #define OBJ_id_tc26_signwithdigest_gost3410_2012_256            OBJ_id_tc26_signwithdigest,2L
 I6	  65135 
 I6	  65136 #define SN_id_tc26_signwithdigest_gost3410_2012_512             "id-tc26-signwithdigest-gost3410-2012-512"
 I6	  65137 #define LN_id_tc26_signwithdigest_gost3410_2012_512             "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)"
 I6	  65138 #define NID_id_tc26_signwithdigest_gost3410_2012_512            986
 I6	  65139 #define OBJ_id_tc26_signwithdigest_gost3410_2012_512            OBJ_id_tc26_signwithdigest,3L
 I6	  65140 
 I6	  65141 #define SN_id_tc26_mac          "id-tc26-mac"
 I6	  65142 #define NID_id_tc26_mac         987
 I6	  65143 #define OBJ_id_tc26_mac         OBJ_id_tc26_algorithms,4L
 I6	  65144 
 I6	  65145 #define SN_id_tc26_hmac_gost_3411_2012_256              "id-tc26-hmac-gost-3411-2012-256"
 I6	  65146 #define LN_id_tc26_hmac_gost_3411_2012_256              "HMAC GOST 34.11-2012 256 bit"
 I6	  65147 #define NID_id_tc26_hmac_gost_3411_2012_256             988
 I6	  65148 #define OBJ_id_tc26_hmac_gost_3411_2012_256             OBJ_id_tc26_mac,1L
 I6	  65149 
 I6	  65150 #define SN_id_tc26_hmac_gost_3411_2012_512              "id-tc26-hmac-gost-3411-2012-512"
 I6	  65151 #define LN_id_tc26_hmac_gost_3411_2012_512              "HMAC GOST 34.11-2012 512 bit"
 I6	  65152 #define NID_id_tc26_hmac_gost_3411_2012_512             989
 I6	  65153 #define OBJ_id_tc26_hmac_gost_3411_2012_512             OBJ_id_tc26_mac,2L
 I6	  65154 
 I6	  65155 #define SN_id_tc26_cipher               "id-tc26-cipher"
 I6	  65156 #define NID_id_tc26_cipher              990
 I6	  65157 #define OBJ_id_tc26_cipher              OBJ_id_tc26_algorithms,5L
 I6	  65158 
 I6	  65159 #define SN_id_tc26_cipher_gostr3412_2015_magma          "id-tc26-cipher-gostr3412-2015-magma"
 I6	  65160 #define NID_id_tc26_cipher_gostr3412_2015_magma         1173
 I6	  65161 #define OBJ_id_tc26_cipher_gostr3412_2015_magma         OBJ_id_tc26_cipher,1L
 I6	  65162 
 I6	  65163 #define SN_magma_ctr_acpkm              "magma-ctr-acpkm"
 I6	  65164 #define NID_magma_ctr_acpkm             1174
 I6	  65165 #define OBJ_magma_ctr_acpkm             OBJ_id_tc26_cipher_gostr3412_2015_magma,1L
 I6	  65166 
 I6	  65167 #define SN_magma_ctr_acpkm_omac         "magma-ctr-acpkm-omac"
 I6	  65168 #define NID_magma_ctr_acpkm_omac                1175
 I6	  65169 #define OBJ_magma_ctr_acpkm_omac                OBJ_id_tc26_cipher_gostr3412_2015_magma,2L
 I6	  65170 
 I6	  65171 #define SN_id_tc26_cipher_gostr3412_2015_kuznyechik             "id-tc26-cipher-gostr3412-2015-kuznyechik"
 I6	  65172 #define NID_id_tc26_cipher_gostr3412_2015_kuznyechik            1176
 I6	  65173 #define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik            OBJ_id_tc26_cipher,2L
 I6	  65174 
 I6	  65175 #define SN_kuznyechik_ctr_acpkm         "kuznyechik-ctr-acpkm"
 I6	  65176 #define NID_kuznyechik_ctr_acpkm                1177
 I6	  65177 #define OBJ_kuznyechik_ctr_acpkm                OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,1L
 I6	  65178 
 I6	  65179 #define SN_kuznyechik_ctr_acpkm_omac            "kuznyechik-ctr-acpkm-omac"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1186
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65180 #define NID_kuznyechik_ctr_acpkm_omac           1178
 I6	  65181 #define OBJ_kuznyechik_ctr_acpkm_omac           OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,2L
 I6	  65182 
 I6	  65183 #define SN_id_tc26_agreement            "id-tc26-agreement"
 I6	  65184 #define NID_id_tc26_agreement           991
 I6	  65185 #define OBJ_id_tc26_agreement           OBJ_id_tc26_algorithms,6L
 I6	  65186 
 I6	  65187 #define SN_id_tc26_agreement_gost_3410_2012_256         "id-tc26-agreement-gost-3410-2012-256"
 I6	  65188 #define NID_id_tc26_agreement_gost_3410_2012_256                992
 I6	  65189 #define OBJ_id_tc26_agreement_gost_3410_2012_256                OBJ_id_tc26_agreement,1L
 I6	  65190 
 I6	  65191 #define SN_id_tc26_agreement_gost_3410_2012_512         "id-tc26-agreement-gost-3410-2012-512"
 I6	  65192 #define NID_id_tc26_agreement_gost_3410_2012_512                993
 I6	  65193 #define OBJ_id_tc26_agreement_gost_3410_2012_512                OBJ_id_tc26_agreement,2L
 I6	  65194 
 I6	  65195 #define SN_id_tc26_wrap         "id-tc26-wrap"
 I6	  65196 #define NID_id_tc26_wrap                1179
 I6	  65197 #define OBJ_id_tc26_wrap                OBJ_id_tc26_algorithms,7L
 I6	  65198 
 I6	  65199 #define SN_id_tc26_wrap_gostr3412_2015_magma            "id-tc26-wrap-gostr3412-2015-magma"
 I6	  65200 #define NID_id_tc26_wrap_gostr3412_2015_magma           1180
 I6	  65201 #define OBJ_id_tc26_wrap_gostr3412_2015_magma           OBJ_id_tc26_wrap,1L
 I6	  65202 
 I6	  65203 #define SN_magma_kexp15         "magma-kexp15"
 I6	  65204 #define NID_magma_kexp15                1181
 I6	  65205 #define OBJ_magma_kexp15                OBJ_id_tc26_wrap_gostr3412_2015_magma,1L
 I6	  65206 
 I6	  65207 #define SN_id_tc26_wrap_gostr3412_2015_kuznyechik               "id-tc26-wrap-gostr3412-2015-kuznyechik"
 I6	  65208 #define NID_id_tc26_wrap_gostr3412_2015_kuznyechik              1182
 I6	  65209 #define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik              OBJ_id_tc26_wrap,2L
 I6	  65210 
 I6	  65211 #define SN_kuznyechik_kexp15            "kuznyechik-kexp15"
 I6	  65212 #define NID_kuznyechik_kexp15           1183
 I6	  65213 #define OBJ_kuznyechik_kexp15           OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik,1L
 I6	  65214 
 I6	  65215 #define SN_id_tc26_constants            "id-tc26-constants"
 I6	  65216 #define NID_id_tc26_constants           994
 I6	  65217 #define OBJ_id_tc26_constants           OBJ_id_tc26,2L
 I6	  65218 
 I6	  65219 #define SN_id_tc26_sign_constants               "id-tc26-sign-constants"
 I6	  65220 #define NID_id_tc26_sign_constants              995
 I6	  65221 #define OBJ_id_tc26_sign_constants              OBJ_id_tc26_constants,1L
 I6	  65222 
 I6	  65223 #define SN_id_tc26_gost_3410_2012_256_constants         "id-tc26-gost-3410-2012-256-constants"
 I6	  65224 #define NID_id_tc26_gost_3410_2012_256_constants                1147
 I6	  65225 #define OBJ_id_tc26_gost_3410_2012_256_constants                OBJ_id_tc26_sign_constants,1L
 I6	  65226 
 I6	  65227 #define SN_id_tc26_gost_3410_2012_256_paramSetA         "id-tc26-gost-3410-2012-256-paramSetA"
 I6	  65228 #define LN_id_tc26_gost_3410_2012_256_paramSetA         "GOST R 34.10-2012 (256 bit) ParamSet A"
 I6	  65229 #define NID_id_tc26_gost_3410_2012_256_paramSetA                1148
 I6	  65230 #define OBJ_id_tc26_gost_3410_2012_256_paramSetA                OBJ_id_tc26_gost_3410_2012_256_constants,1L
 I6	  65231 
 I6	  65232 #define SN_id_tc26_gost_3410_2012_256_paramSetB         "id-tc26-gost-3410-2012-256-paramSetB"
 I6	  65233 #define LN_id_tc26_gost_3410_2012_256_paramSetB         "GOST R 34.10-2012 (256 bit) ParamSet B"
 I6	  65234 #define NID_id_tc26_gost_3410_2012_256_paramSetB                1184
 I6	  65235 #define OBJ_id_tc26_gost_3410_2012_256_paramSetB                OBJ_id_tc26_gost_3410_2012_256_constants,2L
 I6	  65236 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1187
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65237 #define SN_id_tc26_gost_3410_2012_256_paramSetC         "id-tc26-gost-3410-2012-256-paramSetC"
 I6	  65238 #define LN_id_tc26_gost_3410_2012_256_paramSetC         "GOST R 34.10-2012 (256 bit) ParamSet C"
 I6	  65239 #define NID_id_tc26_gost_3410_2012_256_paramSetC                1185
 I6	  65240 #define OBJ_id_tc26_gost_3410_2012_256_paramSetC                OBJ_id_tc26_gost_3410_2012_256_constants,3L
 I6	  65241 
 I6	  65242 #define SN_id_tc26_gost_3410_2012_256_paramSetD         "id-tc26-gost-3410-2012-256-paramSetD"
 I6	  65243 #define LN_id_tc26_gost_3410_2012_256_paramSetD         "GOST R 34.10-2012 (256 bit) ParamSet D"
 I6	  65244 #define NID_id_tc26_gost_3410_2012_256_paramSetD                1186
 I6	  65245 #define OBJ_id_tc26_gost_3410_2012_256_paramSetD                OBJ_id_tc26_gost_3410_2012_256_constants,4L
 I6	  65246 
 I6	  65247 #define SN_id_tc26_gost_3410_2012_512_constants         "id-tc26-gost-3410-2012-512-constants"
 I6	  65248 #define NID_id_tc26_gost_3410_2012_512_constants                996
 I6	  65249 #define OBJ_id_tc26_gost_3410_2012_512_constants                OBJ_id_tc26_sign_constants,2L
 I6	  65250 
 I6	  65251 #define SN_id_tc26_gost_3410_2012_512_paramSetTest              "id-tc26-gost-3410-2012-512-paramSetTest"
 I6	  65252 #define LN_id_tc26_gost_3410_2012_512_paramSetTest              "GOST R 34.10-2012 (512 bit) testing parameter set"
 I6	  65253 #define NID_id_tc26_gost_3410_2012_512_paramSetTest             997
 I6	  65254 #define OBJ_id_tc26_gost_3410_2012_512_paramSetTest             OBJ_id_tc26_gost_3410_2012_512_constants,0L
 I6	  65255 
 I6	  65256 #define SN_id_tc26_gost_3410_2012_512_paramSetA         "id-tc26-gost-3410-2012-512-paramSetA"
 I6	  65257 #define LN_id_tc26_gost_3410_2012_512_paramSetA         "GOST R 34.10-2012 (512 bit) ParamSet A"
 I6	  65258 #define NID_id_tc26_gost_3410_2012_512_paramSetA                998
 I6	  65259 #define OBJ_id_tc26_gost_3410_2012_512_paramSetA                OBJ_id_tc26_gost_3410_2012_512_constants,1L
 I6	  65260 
 I6	  65261 #define SN_id_tc26_gost_3410_2012_512_paramSetB         "id-tc26-gost-3410-2012-512-paramSetB"
 I6	  65262 #define LN_id_tc26_gost_3410_2012_512_paramSetB         "GOST R 34.10-2012 (512 bit) ParamSet B"
 I6	  65263 #define NID_id_tc26_gost_3410_2012_512_paramSetB                999
 I6	  65264 #define OBJ_id_tc26_gost_3410_2012_512_paramSetB                OBJ_id_tc26_gost_3410_2012_512_constants,2L
 I6	  65265 
 I6	  65266 #define SN_id_tc26_gost_3410_2012_512_paramSetC         "id-tc26-gost-3410-2012-512-paramSetC"
 I6	  65267 #define LN_id_tc26_gost_3410_2012_512_paramSetC         "GOST R 34.10-2012 (512 bit) ParamSet C"
 I6	  65268 #define NID_id_tc26_gost_3410_2012_512_paramSetC                1149
 I6	  65269 #define OBJ_id_tc26_gost_3410_2012_512_paramSetC                OBJ_id_tc26_gost_3410_2012_512_constants,3L
 I6	  65270 
 I6	  65271 #define SN_id_tc26_digest_constants             "id-tc26-digest-constants"
 I6	  65272 #define NID_id_tc26_digest_constants            1000
 I6	  65273 #define OBJ_id_tc26_digest_constants            OBJ_id_tc26_constants,2L
 I6	  65274 
 I6	  65275 #define SN_id_tc26_cipher_constants             "id-tc26-cipher-constants"
 I6	  65276 #define NID_id_tc26_cipher_constants            1001
 I6	  65277 #define OBJ_id_tc26_cipher_constants            OBJ_id_tc26_constants,5L
 I6	  65278 
 I6	  65279 #define SN_id_tc26_gost_28147_constants         "id-tc26-gost-28147-constants"
 I6	  65280 #define NID_id_tc26_gost_28147_constants                1002
 I6	  65281 #define OBJ_id_tc26_gost_28147_constants                OBJ_id_tc26_cipher_constants,1L
 I6	  65282 
 I6	  65283 #define SN_id_tc26_gost_28147_param_Z           "id-tc26-gost-28147-param-Z"
 I6	  65284 #define LN_id_tc26_gost_28147_param_Z           "GOST 28147-89 TC26 parameter set"
 I6	  65285 #define NID_id_tc26_gost_28147_param_Z          1003
 I6	  65286 #define OBJ_id_tc26_gost_28147_param_Z          OBJ_id_tc26_gost_28147_constants,1L
 I6	  65287 
 I6	  65288 #define SN_INN          "INN"
 I6	  65289 #define LN_INN          "INN"
 I6	  65290 #define NID_INN         1004
 I6	  65291 #define OBJ_INN         OBJ_member_body,643L,3L,131L,1L,1L
 I6	  65292 
 I6	  65293 #define SN_OGRN         "OGRN"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1188
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65294 #define LN_OGRN         "OGRN"
 I6	  65295 #define NID_OGRN                1005
 I6	  65296 #define OBJ_OGRN                OBJ_member_body,643L,100L,1L
 I6	  65297 
 I6	  65298 #define SN_SNILS                "SNILS"
 I6	  65299 #define LN_SNILS                "SNILS"
 I6	  65300 #define NID_SNILS               1006
 I6	  65301 #define OBJ_SNILS               OBJ_member_body,643L,100L,3L
 I6	  65302 
 I6	  65303 #define SN_OGRNIP               "OGRNIP"
 I6	  65304 #define LN_OGRNIP               "OGRNIP"
 I6	  65305 #define NID_OGRNIP              1226
 I6	  65306 #define OBJ_OGRNIP              OBJ_member_body,643L,100L,5L
 I6	  65307 
 I6	  65308 #define SN_subjectSignTool              "subjectSignTool"
 I6	  65309 #define LN_subjectSignTool              "Signing Tool of Subject"
 I6	  65310 #define NID_subjectSignTool             1007
 I6	  65311 #define OBJ_subjectSignTool             OBJ_member_body,643L,100L,111L
 I6	  65312 
 I6	  65313 #define SN_issuerSignTool               "issuerSignTool"
 I6	  65314 #define LN_issuerSignTool               "Signing Tool of Issuer"
 I6	  65315 #define NID_issuerSignTool              1008
 I6	  65316 #define OBJ_issuerSignTool              OBJ_member_body,643L,100L,112L
 I6	  65317 
 I6	  65318 #define SN_classSignTool                "classSignTool"
 I6	  65319 #define LN_classSignTool                "Class of Signing Tool"
 I6	  65320 #define NID_classSignTool               1227
 I6	  65321 #define OBJ_classSignTool               OBJ_member_body,643L,100L,113L
 I6	  65322 
 I6	  65323 #define SN_classSignToolKC1             "classSignToolKC1"
 I6	  65324 #define LN_classSignToolKC1             "Class of Signing Tool KC1"
 I6	  65325 #define NID_classSignToolKC1            1228
 I6	  65326 #define OBJ_classSignToolKC1            OBJ_member_body,643L,100L,113L,1L
 I6	  65327 
 I6	  65328 #define SN_classSignToolKC2             "classSignToolKC2"
 I6	  65329 #define LN_classSignToolKC2             "Class of Signing Tool KC2"
 I6	  65330 #define NID_classSignToolKC2            1229
 I6	  65331 #define OBJ_classSignToolKC2            OBJ_member_body,643L,100L,113L,2L
 I6	  65332 
 I6	  65333 #define SN_classSignToolKC3             "classSignToolKC3"
 I6	  65334 #define LN_classSignToolKC3             "Class of Signing Tool KC3"
 I6	  65335 #define NID_classSignToolKC3            1230
 I6	  65336 #define OBJ_classSignToolKC3            OBJ_member_body,643L,100L,113L,3L
 I6	  65337 
 I6	  65338 #define SN_classSignToolKB1             "classSignToolKB1"
 I6	  65339 #define LN_classSignToolKB1             "Class of Signing Tool KB1"
 I6	  65340 #define NID_classSignToolKB1            1231
 I6	  65341 #define OBJ_classSignToolKB1            OBJ_member_body,643L,100L,113L,4L
 I6	  65342 
 I6	  65343 #define SN_classSignToolKB2             "classSignToolKB2"
 I6	  65344 #define LN_classSignToolKB2             "Class of Signing Tool KB2"
 I6	  65345 #define NID_classSignToolKB2            1232
 I6	  65346 #define OBJ_classSignToolKB2            OBJ_member_body,643L,100L,113L,5L
 I6	  65347 
 I6	  65348 #define SN_classSignToolKA1             "classSignToolKA1"
 I6	  65349 #define LN_classSignToolKA1             "Class of Signing Tool KA1"
 I6	  65350 #define NID_classSignToolKA1            1233

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1189
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65351 #define OBJ_classSignToolKA1            OBJ_member_body,643L,100L,113L,6L
 I6	  65352 
 I6	  65353 #define SN_kuznyechik_ecb               "kuznyechik-ecb"
 I6	  65354 #define NID_kuznyechik_ecb              1012
 I6	  65355 
 I6	  65356 #define SN_kuznyechik_ctr               "kuznyechik-ctr"
 I6	  65357 #define NID_kuznyechik_ctr              1013
 I6	  65358 
 I6	  65359 #define SN_kuznyechik_ofb               "kuznyechik-ofb"
 I6	  65360 #define NID_kuznyechik_ofb              1014
 I6	  65361 
 I6	  65362 #define SN_kuznyechik_cbc               "kuznyechik-cbc"
 I6	  65363 #define NID_kuznyechik_cbc              1015
 I6	  65364 
 I6	  65365 #define SN_kuznyechik_cfb               "kuznyechik-cfb"
 I6	  65366 #define NID_kuznyechik_cfb              1016
 I6	  65367 
 I6	  65368 #define SN_kuznyechik_mac               "kuznyechik-mac"
 I6	  65369 #define NID_kuznyechik_mac              1017
 I6	  65370 
 I6	  65371 #define SN_magma_ecb            "magma-ecb"
 I6	  65372 #define NID_magma_ecb           1187
 I6	  65373 
 I6	  65374 #define SN_magma_ctr            "magma-ctr"
 I6	  65375 #define NID_magma_ctr           1188
 I6	  65376 
 I6	  65377 #define SN_magma_ofb            "magma-ofb"
 I6	  65378 #define NID_magma_ofb           1189
 I6	  65379 
 I6	  65380 #define SN_magma_cbc            "magma-cbc"
 I6	  65381 #define NID_magma_cbc           1190
 I6	  65382 
 I6	  65383 #define SN_magma_cfb            "magma-cfb"
 I6	  65384 #define NID_magma_cfb           1191
 I6	  65385 
 I6	  65386 #define SN_magma_mac            "magma-mac"
 I6	  65387 #define NID_magma_mac           1192
 I6	  65388 
 I6	  65389 #define SN_camellia_128_cbc             "CAMELLIA-128-CBC"
 I6	  65390 #define LN_camellia_128_cbc             "camellia-128-cbc"
 I6	  65391 #define NID_camellia_128_cbc            751
 I6	  65392 #define OBJ_camellia_128_cbc            1L,2L,392L,200011L,61L,1L,1L,1L,2L
 I6	  65393 
 I6	  65394 #define SN_camellia_192_cbc             "CAMELLIA-192-CBC"
 I6	  65395 #define LN_camellia_192_cbc             "camellia-192-cbc"
 I6	  65396 #define NID_camellia_192_cbc            752
 I6	  65397 #define OBJ_camellia_192_cbc            1L,2L,392L,200011L,61L,1L,1L,1L,3L
 I6	  65398 
 I6	  65399 #define SN_camellia_256_cbc             "CAMELLIA-256-CBC"
 I6	  65400 #define LN_camellia_256_cbc             "camellia-256-cbc"
 I6	  65401 #define NID_camellia_256_cbc            753
 I6	  65402 #define OBJ_camellia_256_cbc            1L,2L,392L,200011L,61L,1L,1L,1L,4L
 I6	  65403 
 I6	  65404 #define SN_id_camellia128_wrap          "id-camellia128-wrap"
 I6	  65405 #define NID_id_camellia128_wrap         907
 I6	  65406 #define OBJ_id_camellia128_wrap         1L,2L,392L,200011L,61L,1L,1L,3L,2L
 I6	  65407 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1190
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65408 #define SN_id_camellia192_wrap          "id-camellia192-wrap"
 I6	  65409 #define NID_id_camellia192_wrap         908
 I6	  65410 #define OBJ_id_camellia192_wrap         1L,2L,392L,200011L,61L,1L,1L,3L,3L
 I6	  65411 
 I6	  65412 #define SN_id_camellia256_wrap          "id-camellia256-wrap"
 I6	  65413 #define NID_id_camellia256_wrap         909
 I6	  65414 #define OBJ_id_camellia256_wrap         1L,2L,392L,200011L,61L,1L,1L,3L,4L
 I6	  65415 
 I6	  65416 #define OBJ_ntt_ds              0L,3L,4401L,5L
 I6	  65417 
 I6	  65418 #define OBJ_camellia            OBJ_ntt_ds,3L,1L,9L
 I6	  65419 
 I6	  65420 #define SN_camellia_128_ecb             "CAMELLIA-128-ECB"
 I6	  65421 #define LN_camellia_128_ecb             "camellia-128-ecb"
 I6	  65422 #define NID_camellia_128_ecb            754
 I6	  65423 #define OBJ_camellia_128_ecb            OBJ_camellia,1L
 I6	  65424 
 I6	  65425 #define SN_camellia_128_ofb128          "CAMELLIA-128-OFB"
 I6	  65426 #define LN_camellia_128_ofb128          "camellia-128-ofb"
 I6	  65427 #define NID_camellia_128_ofb128         766
 I6	  65428 #define OBJ_camellia_128_ofb128         OBJ_camellia,3L
 I6	  65429 
 I6	  65430 #define SN_camellia_128_cfb128          "CAMELLIA-128-CFB"
 I6	  65431 #define LN_camellia_128_cfb128          "camellia-128-cfb"
 I6	  65432 #define NID_camellia_128_cfb128         757
 I6	  65433 #define OBJ_camellia_128_cfb128         OBJ_camellia,4L
 I6	  65434 
 I6	  65435 #define SN_camellia_128_gcm             "CAMELLIA-128-GCM"
 I6	  65436 #define LN_camellia_128_gcm             "camellia-128-gcm"
 I6	  65437 #define NID_camellia_128_gcm            961
 I6	  65438 #define OBJ_camellia_128_gcm            OBJ_camellia,6L
 I6	  65439 
 I6	  65440 #define SN_camellia_128_ccm             "CAMELLIA-128-CCM"
 I6	  65441 #define LN_camellia_128_ccm             "camellia-128-ccm"
 I6	  65442 #define NID_camellia_128_ccm            962
 I6	  65443 #define OBJ_camellia_128_ccm            OBJ_camellia,7L
 I6	  65444 
 I6	  65445 #define SN_camellia_128_ctr             "CAMELLIA-128-CTR"
 I6	  65446 #define LN_camellia_128_ctr             "camellia-128-ctr"
 I6	  65447 #define NID_camellia_128_ctr            963
 I6	  65448 #define OBJ_camellia_128_ctr            OBJ_camellia,9L
 I6	  65449 
 I6	  65450 #define SN_camellia_128_cmac            "CAMELLIA-128-CMAC"
 I6	  65451 #define LN_camellia_128_cmac            "camellia-128-cmac"
 I6	  65452 #define NID_camellia_128_cmac           964
 I6	  65453 #define OBJ_camellia_128_cmac           OBJ_camellia,10L
 I6	  65454 
 I6	  65455 #define SN_camellia_192_ecb             "CAMELLIA-192-ECB"
 I6	  65456 #define LN_camellia_192_ecb             "camellia-192-ecb"
 I6	  65457 #define NID_camellia_192_ecb            755
 I6	  65458 #define OBJ_camellia_192_ecb            OBJ_camellia,21L
 I6	  65459 
 I6	  65460 #define SN_camellia_192_ofb128          "CAMELLIA-192-OFB"
 I6	  65461 #define LN_camellia_192_ofb128          "camellia-192-ofb"
 I6	  65462 #define NID_camellia_192_ofb128         767
 I6	  65463 #define OBJ_camellia_192_ofb128         OBJ_camellia,23L
 I6	  65464 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1191
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65465 #define SN_camellia_192_cfb128          "CAMELLIA-192-CFB"
 I6	  65466 #define LN_camellia_192_cfb128          "camellia-192-cfb"
 I6	  65467 #define NID_camellia_192_cfb128         758
 I6	  65468 #define OBJ_camellia_192_cfb128         OBJ_camellia,24L
 I6	  65469 
 I6	  65470 #define SN_camellia_192_gcm             "CAMELLIA-192-GCM"
 I6	  65471 #define LN_camellia_192_gcm             "camellia-192-gcm"
 I6	  65472 #define NID_camellia_192_gcm            965
 I6	  65473 #define OBJ_camellia_192_gcm            OBJ_camellia,26L
 I6	  65474 
 I6	  65475 #define SN_camellia_192_ccm             "CAMELLIA-192-CCM"
 I6	  65476 #define LN_camellia_192_ccm             "camellia-192-ccm"
 I6	  65477 #define NID_camellia_192_ccm            966
 I6	  65478 #define OBJ_camellia_192_ccm            OBJ_camellia,27L
 I6	  65479 
 I6	  65480 #define SN_camellia_192_ctr             "CAMELLIA-192-CTR"
 I6	  65481 #define LN_camellia_192_ctr             "camellia-192-ctr"
 I6	  65482 #define NID_camellia_192_ctr            967
 I6	  65483 #define OBJ_camellia_192_ctr            OBJ_camellia,29L
 I6	  65484 
 I6	  65485 #define SN_camellia_192_cmac            "CAMELLIA-192-CMAC"
 I6	  65486 #define LN_camellia_192_cmac            "camellia-192-cmac"
 I6	  65487 #define NID_camellia_192_cmac           968
 I6	  65488 #define OBJ_camellia_192_cmac           OBJ_camellia,30L
 I6	  65489 
 I6	  65490 #define SN_camellia_256_ecb             "CAMELLIA-256-ECB"
 I6	  65491 #define LN_camellia_256_ecb             "camellia-256-ecb"
 I6	  65492 #define NID_camellia_256_ecb            756
 I6	  65493 #define OBJ_camellia_256_ecb            OBJ_camellia,41L
 I6	  65494 
 I6	  65495 #define SN_camellia_256_ofb128          "CAMELLIA-256-OFB"
 I6	  65496 #define LN_camellia_256_ofb128          "camellia-256-ofb"
 I6	  65497 #define NID_camellia_256_ofb128         768
 I6	  65498 #define OBJ_camellia_256_ofb128         OBJ_camellia,43L
 I6	  65499 
 I6	  65500 #define SN_camellia_256_cfb128          "CAMELLIA-256-CFB"
 I6	  65501 #define LN_camellia_256_cfb128          "camellia-256-cfb"
 I6	  65502 #define NID_camellia_256_cfb128         759
 I6	  65503 #define OBJ_camellia_256_cfb128         OBJ_camellia,44L
 I6	  65504 
 I6	  65505 #define SN_camellia_256_gcm             "CAMELLIA-256-GCM"
 I6	  65506 #define LN_camellia_256_gcm             "camellia-256-gcm"
 I6	  65507 #define NID_camellia_256_gcm            969
 I6	  65508 #define OBJ_camellia_256_gcm            OBJ_camellia,46L
 I6	  65509 
 I6	  65510 #define SN_camellia_256_ccm             "CAMELLIA-256-CCM"
 I6	  65511 #define LN_camellia_256_ccm             "camellia-256-ccm"
 I6	  65512 #define NID_camellia_256_ccm            970
 I6	  65513 #define OBJ_camellia_256_ccm            OBJ_camellia,47L
 I6	  65514 
 I6	  65515 #define SN_camellia_256_ctr             "CAMELLIA-256-CTR"
 I6	  65516 #define LN_camellia_256_ctr             "camellia-256-ctr"
 I6	  65517 #define NID_camellia_256_ctr            971
 I6	  65518 #define OBJ_camellia_256_ctr            OBJ_camellia,49L
 I6	  65519 
 I6	  65520 #define SN_camellia_256_cmac            "CAMELLIA-256-CMAC"
 I6	  65521 #define LN_camellia_256_cmac            "camellia-256-cmac"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1192
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65522 #define NID_camellia_256_cmac           972
 I6	  65523 #define OBJ_camellia_256_cmac           OBJ_camellia,50L
 I6	  65524 
 I6	  65525 #define SN_camellia_128_cfb1            "CAMELLIA-128-CFB1"
 I6	  65526 #define LN_camellia_128_cfb1            "camellia-128-cfb1"
 I6	  65527 #define NID_camellia_128_cfb1           760
 I6	  65528 
 I6	  65529 #define SN_camellia_192_cfb1            "CAMELLIA-192-CFB1"
 I6	  65530 #define LN_camellia_192_cfb1            "camellia-192-cfb1"
 I6	  65531 #define NID_camellia_192_cfb1           761
 I6	  65532 
 I6	  65533 #define SN_camellia_256_cfb1            "CAMELLIA-256-CFB1"
 I6	  65534 #define LN_camellia_256_cfb1            "camellia-256-cfb1"
 I6	  65535 #define NID_camellia_256_cfb1           762
 I6	  65536 
 I6	  65537 #define SN_camellia_128_cfb8            "CAMELLIA-128-CFB8"
 I6	  65538 #define LN_camellia_128_cfb8            "camellia-128-cfb8"
 I6	  65539 #define NID_camellia_128_cfb8           763
 I6	  65540 
 I6	  65541 #define SN_camellia_192_cfb8            "CAMELLIA-192-CFB8"
 I6	  65542 #define LN_camellia_192_cfb8            "camellia-192-cfb8"
 I6	  65543 #define NID_camellia_192_cfb8           764
 I6	  65544 
 I6	  65545 #define SN_camellia_256_cfb8            "CAMELLIA-256-CFB8"
 I6	  65546 #define LN_camellia_256_cfb8            "camellia-256-cfb8"
 I6	  65547 #define NID_camellia_256_cfb8           765
 I6	  65548 
 I6	  65549 #define OBJ_aria                1L,2L,410L,200046L,1L,1L
 I6	  65550 
 I6	  65551 #define SN_aria_128_ecb         "ARIA-128-ECB"
 I6	  65552 #define LN_aria_128_ecb         "aria-128-ecb"
 I6	  65553 #define NID_aria_128_ecb                1065
 I6	  65554 #define OBJ_aria_128_ecb                OBJ_aria,1L
 I6	  65555 
 I6	  65556 #define SN_aria_128_cbc         "ARIA-128-CBC"
 I6	  65557 #define LN_aria_128_cbc         "aria-128-cbc"
 I6	  65558 #define NID_aria_128_cbc                1066
 I6	  65559 #define OBJ_aria_128_cbc                OBJ_aria,2L
 I6	  65560 
 I6	  65561 #define SN_aria_128_cfb128              "ARIA-128-CFB"
 I6	  65562 #define LN_aria_128_cfb128              "aria-128-cfb"
 I6	  65563 #define NID_aria_128_cfb128             1067
 I6	  65564 #define OBJ_aria_128_cfb128             OBJ_aria,3L
 I6	  65565 
 I6	  65566 #define SN_aria_128_ofb128              "ARIA-128-OFB"
 I6	  65567 #define LN_aria_128_ofb128              "aria-128-ofb"
 I6	  65568 #define NID_aria_128_ofb128             1068
 I6	  65569 #define OBJ_aria_128_ofb128             OBJ_aria,4L
 I6	  65570 
 I6	  65571 #define SN_aria_128_ctr         "ARIA-128-CTR"
 I6	  65572 #define LN_aria_128_ctr         "aria-128-ctr"
 I6	  65573 #define NID_aria_128_ctr                1069
 I6	  65574 #define OBJ_aria_128_ctr                OBJ_aria,5L
 I6	  65575 
 I6	  65576 #define SN_aria_192_ecb         "ARIA-192-ECB"
 I6	  65577 #define LN_aria_192_ecb         "aria-192-ecb"
 I6	  65578 #define NID_aria_192_ecb                1070

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1193
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65579 #define OBJ_aria_192_ecb                OBJ_aria,6L
 I6	  65580 
 I6	  65581 #define SN_aria_192_cbc         "ARIA-192-CBC"
 I6	  65582 #define LN_aria_192_cbc         "aria-192-cbc"
 I6	  65583 #define NID_aria_192_cbc                1071
 I6	  65584 #define OBJ_aria_192_cbc                OBJ_aria,7L
 I6	  65585 
 I6	  65586 #define SN_aria_192_cfb128              "ARIA-192-CFB"
 I6	  65587 #define LN_aria_192_cfb128              "aria-192-cfb"
 I6	  65588 #define NID_aria_192_cfb128             1072
 I6	  65589 #define OBJ_aria_192_cfb128             OBJ_aria,8L
 I6	  65590 
 I6	  65591 #define SN_aria_192_ofb128              "ARIA-192-OFB"
 I6	  65592 #define LN_aria_192_ofb128              "aria-192-ofb"
 I6	  65593 #define NID_aria_192_ofb128             1073
 I6	  65594 #define OBJ_aria_192_ofb128             OBJ_aria,9L
 I6	  65595 
 I6	  65596 #define SN_aria_192_ctr         "ARIA-192-CTR"
 I6	  65597 #define LN_aria_192_ctr         "aria-192-ctr"
 I6	  65598 #define NID_aria_192_ctr                1074
 I6	  65599 #define OBJ_aria_192_ctr                OBJ_aria,10L
 I6	  65600 
 I6	  65601 #define SN_aria_256_ecb         "ARIA-256-ECB"
 I6	  65602 #define LN_aria_256_ecb         "aria-256-ecb"
 I6	  65603 #define NID_aria_256_ecb                1075
 I6	  65604 #define OBJ_aria_256_ecb                OBJ_aria,11L
 I6	  65605 
 I6	  65606 #define SN_aria_256_cbc         "ARIA-256-CBC"
 I6	  65607 #define LN_aria_256_cbc         "aria-256-cbc"
 I6	  65608 #define NID_aria_256_cbc                1076
 I6	  65609 #define OBJ_aria_256_cbc                OBJ_aria,12L
 I6	  65610 
 I6	  65611 #define SN_aria_256_cfb128              "ARIA-256-CFB"
 I6	  65612 #define LN_aria_256_cfb128              "aria-256-cfb"
 I6	  65613 #define NID_aria_256_cfb128             1077
 I6	  65614 #define OBJ_aria_256_cfb128             OBJ_aria,13L
 I6	  65615 
 I6	  65616 #define SN_aria_256_ofb128              "ARIA-256-OFB"
 I6	  65617 #define LN_aria_256_ofb128              "aria-256-ofb"
 I6	  65618 #define NID_aria_256_ofb128             1078
 I6	  65619 #define OBJ_aria_256_ofb128             OBJ_aria,14L
 I6	  65620 
 I6	  65621 #define SN_aria_256_ctr         "ARIA-256-CTR"
 I6	  65622 #define LN_aria_256_ctr         "aria-256-ctr"
 I6	  65623 #define NID_aria_256_ctr                1079
 I6	  65624 #define OBJ_aria_256_ctr                OBJ_aria,15L
 I6	  65625 
 I6	  65626 #define SN_aria_128_cfb1                "ARIA-128-CFB1"
 I6	  65627 #define LN_aria_128_cfb1                "aria-128-cfb1"
 I6	  65628 #define NID_aria_128_cfb1               1080
 I6	  65629 
 I6	  65630 #define SN_aria_192_cfb1                "ARIA-192-CFB1"
 I6	  65631 #define LN_aria_192_cfb1                "aria-192-cfb1"
 I6	  65632 #define NID_aria_192_cfb1               1081
 I6	  65633 
 I6	  65634 #define SN_aria_256_cfb1                "ARIA-256-CFB1"
 I6	  65635 #define LN_aria_256_cfb1                "aria-256-cfb1"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1194
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65636 #define NID_aria_256_cfb1               1082
 I6	  65637 
 I6	  65638 #define SN_aria_128_cfb8                "ARIA-128-CFB8"
 I6	  65639 #define LN_aria_128_cfb8                "aria-128-cfb8"
 I6	  65640 #define NID_aria_128_cfb8               1083
 I6	  65641 
 I6	  65642 #define SN_aria_192_cfb8                "ARIA-192-CFB8"
 I6	  65643 #define LN_aria_192_cfb8                "aria-192-cfb8"
 I6	  65644 #define NID_aria_192_cfb8               1084
 I6	  65645 
 I6	  65646 #define SN_aria_256_cfb8                "ARIA-256-CFB8"
 I6	  65647 #define LN_aria_256_cfb8                "aria-256-cfb8"
 I6	  65648 #define NID_aria_256_cfb8               1085
 I6	  65649 
 I6	  65650 #define SN_aria_128_ccm         "ARIA-128-CCM"
 I6	  65651 #define LN_aria_128_ccm         "aria-128-ccm"
 I6	  65652 #define NID_aria_128_ccm                1120
 I6	  65653 #define OBJ_aria_128_ccm                OBJ_aria,37L
 I6	  65654 
 I6	  65655 #define SN_aria_192_ccm         "ARIA-192-CCM"
 I6	  65656 #define LN_aria_192_ccm         "aria-192-ccm"
 I6	  65657 #define NID_aria_192_ccm                1121
 I6	  65658 #define OBJ_aria_192_ccm                OBJ_aria,38L
 I6	  65659 
 I6	  65660 #define SN_aria_256_ccm         "ARIA-256-CCM"
 I6	  65661 #define LN_aria_256_ccm         "aria-256-ccm"
 I6	  65662 #define NID_aria_256_ccm                1122
 I6	  65663 #define OBJ_aria_256_ccm                OBJ_aria,39L
 I6	  65664 
 I6	  65665 #define SN_aria_128_gcm         "ARIA-128-GCM"
 I6	  65666 #define LN_aria_128_gcm         "aria-128-gcm"
 I6	  65667 #define NID_aria_128_gcm                1123
 I6	  65668 #define OBJ_aria_128_gcm                OBJ_aria,34L
 I6	  65669 
 I6	  65670 #define SN_aria_192_gcm         "ARIA-192-GCM"
 I6	  65671 #define LN_aria_192_gcm         "aria-192-gcm"
 I6	  65672 #define NID_aria_192_gcm                1124
 I6	  65673 #define OBJ_aria_192_gcm                OBJ_aria,35L
 I6	  65674 
 I6	  65675 #define SN_aria_256_gcm         "ARIA-256-GCM"
 I6	  65676 #define LN_aria_256_gcm         "aria-256-gcm"
 I6	  65677 #define NID_aria_256_gcm                1125
 I6	  65678 #define OBJ_aria_256_gcm                OBJ_aria,36L
 I6	  65679 
 I6	  65680 #define SN_kisa         "KISA"
 I6	  65681 #define LN_kisa         "kisa"
 I6	  65682 #define NID_kisa                773
 I6	  65683 #define OBJ_kisa                OBJ_member_body,410L,200004L
 I6	  65684 
 I6	  65685 #define SN_seed_ecb             "SEED-ECB"
 I6	  65686 #define LN_seed_ecb             "seed-ecb"
 I6	  65687 #define NID_seed_ecb            776
 I6	  65688 #define OBJ_seed_ecb            OBJ_kisa,1L,3L
 I6	  65689 
 I6	  65690 #define SN_seed_cbc             "SEED-CBC"
 I6	  65691 #define LN_seed_cbc             "seed-cbc"
 I6	  65692 #define NID_seed_cbc            777

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1195
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65693 #define OBJ_seed_cbc            OBJ_kisa,1L,4L
 I6	  65694 
 I6	  65695 #define SN_seed_cfb128          "SEED-CFB"
 I6	  65696 #define LN_seed_cfb128          "seed-cfb"
 I6	  65697 #define NID_seed_cfb128         779
 I6	  65698 #define OBJ_seed_cfb128         OBJ_kisa,1L,5L
 I6	  65699 
 I6	  65700 #define SN_seed_ofb128          "SEED-OFB"
 I6	  65701 #define LN_seed_ofb128          "seed-ofb"
 I6	  65702 #define NID_seed_ofb128         778
 I6	  65703 #define OBJ_seed_ofb128         OBJ_kisa,1L,6L
 I6	  65704 
 I6	  65705 #define SN_sm4_ecb              "SM4-ECB"
 I6	  65706 #define LN_sm4_ecb              "sm4-ecb"
 I6	  65707 #define NID_sm4_ecb             1133
 I6	  65708 #define OBJ_sm4_ecb             OBJ_sm_scheme,104L,1L
 I6	  65709 
 I6	  65710 #define SN_sm4_cbc              "SM4-CBC"
 I6	  65711 #define LN_sm4_cbc              "sm4-cbc"
 I6	  65712 #define NID_sm4_cbc             1134
 I6	  65713 #define OBJ_sm4_cbc             OBJ_sm_scheme,104L,2L
 I6	  65714 
 I6	  65715 #define SN_sm4_ofb128           "SM4-OFB"
 I6	  65716 #define LN_sm4_ofb128           "sm4-ofb"
 I6	  65717 #define NID_sm4_ofb128          1135
 I6	  65718 #define OBJ_sm4_ofb128          OBJ_sm_scheme,104L,3L
 I6	  65719 
 I6	  65720 #define SN_sm4_cfb128           "SM4-CFB"
 I6	  65721 #define LN_sm4_cfb128           "sm4-cfb"
 I6	  65722 #define NID_sm4_cfb128          1137
 I6	  65723 #define OBJ_sm4_cfb128          OBJ_sm_scheme,104L,4L
 I6	  65724 
 I6	  65725 #define SN_sm4_cfb1             "SM4-CFB1"
 I6	  65726 #define LN_sm4_cfb1             "sm4-cfb1"
 I6	  65727 #define NID_sm4_cfb1            1136
 I6	  65728 #define OBJ_sm4_cfb1            OBJ_sm_scheme,104L,5L
 I6	  65729 
 I6	  65730 #define SN_sm4_cfb8             "SM4-CFB8"
 I6	  65731 #define LN_sm4_cfb8             "sm4-cfb8"
 I6	  65732 #define NID_sm4_cfb8            1138
 I6	  65733 #define OBJ_sm4_cfb8            OBJ_sm_scheme,104L,6L
 I6	  65734 
 I6	  65735 #define SN_sm4_ctr              "SM4-CTR"
 I6	  65736 #define LN_sm4_ctr              "sm4-ctr"
 I6	  65737 #define NID_sm4_ctr             1139
 I6	  65738 #define OBJ_sm4_ctr             OBJ_sm_scheme,104L,7L
 I6	  65739 
 I6	  65740 #define SN_hmac         "HMAC"
 I6	  65741 #define LN_hmac         "hmac"
 I6	  65742 #define NID_hmac                855
 I6	  65743 
 I6	  65744 #define SN_cmac         "CMAC"
 I6	  65745 #define LN_cmac         "cmac"
 I6	  65746 #define NID_cmac                894
 I6	  65747 
 I6	  65748 #define SN_rc4_hmac_md5         "RC4-HMAC-MD5"
 I6	  65749 #define LN_rc4_hmac_md5         "rc4-hmac-md5"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1196
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65750 #define NID_rc4_hmac_md5                915
 I6	  65751 
 I6	  65752 #define SN_aes_128_cbc_hmac_sha1                "AES-128-CBC-HMAC-SHA1"
 I6	  65753 #define LN_aes_128_cbc_hmac_sha1                "aes-128-cbc-hmac-sha1"
 I6	  65754 #define NID_aes_128_cbc_hmac_sha1               916
 I6	  65755 
 I6	  65756 #define SN_aes_192_cbc_hmac_sha1                "AES-192-CBC-HMAC-SHA1"
 I6	  65757 #define LN_aes_192_cbc_hmac_sha1                "aes-192-cbc-hmac-sha1"
 I6	  65758 #define NID_aes_192_cbc_hmac_sha1               917
 I6	  65759 
 I6	  65760 #define SN_aes_256_cbc_hmac_sha1                "AES-256-CBC-HMAC-SHA1"
 I6	  65761 #define LN_aes_256_cbc_hmac_sha1                "aes-256-cbc-hmac-sha1"
 I6	  65762 #define NID_aes_256_cbc_hmac_sha1               918
 I6	  65763 
 I6	  65764 #define SN_aes_128_cbc_hmac_sha256              "AES-128-CBC-HMAC-SHA256"
 I6	  65765 #define LN_aes_128_cbc_hmac_sha256              "aes-128-cbc-hmac-sha256"
 I6	  65766 #define NID_aes_128_cbc_hmac_sha256             948
 I6	  65767 
 I6	  65768 #define SN_aes_192_cbc_hmac_sha256              "AES-192-CBC-HMAC-SHA256"
 I6	  65769 #define LN_aes_192_cbc_hmac_sha256              "aes-192-cbc-hmac-sha256"
 I6	  65770 #define NID_aes_192_cbc_hmac_sha256             949
 I6	  65771 
 I6	  65772 #define SN_aes_256_cbc_hmac_sha256              "AES-256-CBC-HMAC-SHA256"
 I6	  65773 #define LN_aes_256_cbc_hmac_sha256              "aes-256-cbc-hmac-sha256"
 I6	  65774 #define NID_aes_256_cbc_hmac_sha256             950
 I6	  65775 
 I6	  65776 #define SN_chacha20_poly1305            "ChaCha20-Poly1305"
 I6	  65777 #define LN_chacha20_poly1305            "chacha20-poly1305"
 I6	  65778 #define NID_chacha20_poly1305           1018
 I6	  65779 
 I6	  65780 #define SN_chacha20             "ChaCha20"
 I6	  65781 #define LN_chacha20             "chacha20"
 I6	  65782 #define NID_chacha20            1019
 I6	  65783 
 I6	  65784 #define SN_dhpublicnumber               "dhpublicnumber"
 I6	  65785 #define LN_dhpublicnumber               "X9.42 DH"
 I6	  65786 #define NID_dhpublicnumber              920
 I6	  65787 #define OBJ_dhpublicnumber              OBJ_ISO_US,10046L,2L,1L
 I6	  65788 
 I6	  65789 #define SN_brainpoolP160r1              "brainpoolP160r1"
 I6	  65790 #define NID_brainpoolP160r1             921
 I6	  65791 #define OBJ_brainpoolP160r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,1L
 I6	  65792 
 I6	  65793 #define SN_brainpoolP160t1              "brainpoolP160t1"
 I6	  65794 #define NID_brainpoolP160t1             922
 I6	  65795 #define OBJ_brainpoolP160t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,2L
 I6	  65796 
 I6	  65797 #define SN_brainpoolP192r1              "brainpoolP192r1"
 I6	  65798 #define NID_brainpoolP192r1             923
 I6	  65799 #define OBJ_brainpoolP192r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,3L
 I6	  65800 
 I6	  65801 #define SN_brainpoolP192t1              "brainpoolP192t1"
 I6	  65802 #define NID_brainpoolP192t1             924
 I6	  65803 #define OBJ_brainpoolP192t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,4L
 I6	  65804 
 I6	  65805 #define SN_brainpoolP224r1              "brainpoolP224r1"
 I6	  65806 #define NID_brainpoolP224r1             925

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1197
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65807 #define OBJ_brainpoolP224r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,5L
 I6	  65808 
 I6	  65809 #define SN_brainpoolP224t1              "brainpoolP224t1"
 I6	  65810 #define NID_brainpoolP224t1             926
 I6	  65811 #define OBJ_brainpoolP224t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,6L
 I6	  65812 
 I6	  65813 #define SN_brainpoolP256r1              "brainpoolP256r1"
 I6	  65814 #define NID_brainpoolP256r1             927
 I6	  65815 #define OBJ_brainpoolP256r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,7L
 I6	  65816 
 I6	  65817 #define SN_brainpoolP256t1              "brainpoolP256t1"
 I6	  65818 #define NID_brainpoolP256t1             928
 I6	  65819 #define OBJ_brainpoolP256t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,8L
 I6	  65820 
 I6	  65821 #define SN_brainpoolP320r1              "brainpoolP320r1"
 I6	  65822 #define NID_brainpoolP320r1             929
 I6	  65823 #define OBJ_brainpoolP320r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,9L
 I6	  65824 
 I6	  65825 #define SN_brainpoolP320t1              "brainpoolP320t1"
 I6	  65826 #define NID_brainpoolP320t1             930
 I6	  65827 #define OBJ_brainpoolP320t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,10L
 I6	  65828 
 I6	  65829 #define SN_brainpoolP384r1              "brainpoolP384r1"
 I6	  65830 #define NID_brainpoolP384r1             931
 I6	  65831 #define OBJ_brainpoolP384r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,11L
 I6	  65832 
 I6	  65833 #define SN_brainpoolP384t1              "brainpoolP384t1"
 I6	  65834 #define NID_brainpoolP384t1             932
 I6	  65835 #define OBJ_brainpoolP384t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,12L
 I6	  65836 
 I6	  65837 #define SN_brainpoolP512r1              "brainpoolP512r1"
 I6	  65838 #define NID_brainpoolP512r1             933
 I6	  65839 #define OBJ_brainpoolP512r1             1L,3L,36L,3L,3L,2L,8L,1L,1L,13L
 I6	  65840 
 I6	  65841 #define SN_brainpoolP512t1              "brainpoolP512t1"
 I6	  65842 #define NID_brainpoolP512t1             934
 I6	  65843 #define OBJ_brainpoolP512t1             1L,3L,36L,3L,3L,2L,8L,1L,1L,14L
 I6	  65844 
 I6	  65845 #define OBJ_x9_63_scheme                1L,3L,133L,16L,840L,63L,0L
 I6	  65846 
 I6	  65847 #define OBJ_secg_scheme         OBJ_certicom_arc,1L
 I6	  65848 
 I6	  65849 #define SN_dhSinglePass_stdDH_sha1kdf_scheme            "dhSinglePass-stdDH-sha1kdf-scheme"
 I6	  65850 #define NID_dhSinglePass_stdDH_sha1kdf_scheme           936
 I6	  65851 #define OBJ_dhSinglePass_stdDH_sha1kdf_scheme           OBJ_x9_63_scheme,2L
 I6	  65852 
 I6	  65853 #define SN_dhSinglePass_stdDH_sha224kdf_scheme          "dhSinglePass-stdDH-sha224kdf-scheme"
 I6	  65854 #define NID_dhSinglePass_stdDH_sha224kdf_scheme         937
 I6	  65855 #define OBJ_dhSinglePass_stdDH_sha224kdf_scheme         OBJ_secg_scheme,11L,0L
 I6	  65856 
 I6	  65857 #define SN_dhSinglePass_stdDH_sha256kdf_scheme          "dhSinglePass-stdDH-sha256kdf-scheme"
 I6	  65858 #define NID_dhSinglePass_stdDH_sha256kdf_scheme         938
 I6	  65859 #define OBJ_dhSinglePass_stdDH_sha256kdf_scheme         OBJ_secg_scheme,11L,1L
 I6	  65860 
 I6	  65861 #define SN_dhSinglePass_stdDH_sha384kdf_scheme          "dhSinglePass-stdDH-sha384kdf-scheme"
 I6	  65862 #define NID_dhSinglePass_stdDH_sha384kdf_scheme         939
 I6	  65863 #define OBJ_dhSinglePass_stdDH_sha384kdf_scheme         OBJ_secg_scheme,11L,2L

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1198
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65864 
 I6	  65865 #define SN_dhSinglePass_stdDH_sha512kdf_scheme          "dhSinglePass-stdDH-sha512kdf-scheme"
 I6	  65866 #define NID_dhSinglePass_stdDH_sha512kdf_scheme         940
 I6	  65867 #define OBJ_dhSinglePass_stdDH_sha512kdf_scheme         OBJ_secg_scheme,11L,3L
 I6	  65868 
 I6	  65869 #define SN_dhSinglePass_cofactorDH_sha1kdf_scheme               "dhSinglePass-cofactorDH-sha1kdf-scheme"
 I6	  65870 #define NID_dhSinglePass_cofactorDH_sha1kdf_scheme              941
 I6	  65871 #define OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme              OBJ_x9_63_scheme,3L
 I6	  65872 
 I6	  65873 #define SN_dhSinglePass_cofactorDH_sha224kdf_scheme             "dhSinglePass-cofactorDH-sha224kdf-scheme"
 I6	  65874 #define NID_dhSinglePass_cofactorDH_sha224kdf_scheme            942
 I6	  65875 #define OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme            OBJ_secg_scheme,14L,0L
 I6	  65876 
 I6	  65877 #define SN_dhSinglePass_cofactorDH_sha256kdf_scheme             "dhSinglePass-cofactorDH-sha256kdf-scheme"
 I6	  65878 #define NID_dhSinglePass_cofactorDH_sha256kdf_scheme            943
 I6	  65879 #define OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme            OBJ_secg_scheme,14L,1L
 I6	  65880 
 I6	  65881 #define SN_dhSinglePass_cofactorDH_sha384kdf_scheme             "dhSinglePass-cofactorDH-sha384kdf-scheme"
 I6	  65882 #define NID_dhSinglePass_cofactorDH_sha384kdf_scheme            944
 I6	  65883 #define OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme            OBJ_secg_scheme,14L,2L
 I6	  65884 
 I6	  65885 #define SN_dhSinglePass_cofactorDH_sha512kdf_scheme             "dhSinglePass-cofactorDH-sha512kdf-scheme"
 I6	  65886 #define NID_dhSinglePass_cofactorDH_sha512kdf_scheme            945
 I6	  65887 #define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme            OBJ_secg_scheme,14L,3L
 I6	  65888 
 I6	  65889 #define SN_dh_std_kdf           "dh-std-kdf"
 I6	  65890 #define NID_dh_std_kdf          946
 I6	  65891 
 I6	  65892 #define SN_dh_cofactor_kdf              "dh-cofactor-kdf"
 I6	  65893 #define NID_dh_cofactor_kdf             947
 I6	  65894 
 I6	  65895 #define SN_ct_precert_scts              "ct_precert_scts"
 I6	  65896 #define LN_ct_precert_scts              "CT Precertificate SCTs"
 I6	  65897 #define NID_ct_precert_scts             951
 I6	  65898 #define OBJ_ct_precert_scts             1L,3L,6L,1L,4L,1L,11129L,2L,4L,2L
 I6	  65899 
 I6	  65900 #define SN_ct_precert_poison            "ct_precert_poison"
 I6	  65901 #define LN_ct_precert_poison            "CT Precertificate Poison"
 I6	  65902 #define NID_ct_precert_poison           952
 I6	  65903 #define OBJ_ct_precert_poison           1L,3L,6L,1L,4L,1L,11129L,2L,4L,3L
 I6	  65904 
 I6	  65905 #define SN_ct_precert_signer            "ct_precert_signer"
 I6	  65906 #define LN_ct_precert_signer            "CT Precertificate Signer"
 I6	  65907 #define NID_ct_precert_signer           953
 I6	  65908 #define OBJ_ct_precert_signer           1L,3L,6L,1L,4L,1L,11129L,2L,4L,4L
 I6	  65909 
 I6	  65910 #define SN_ct_cert_scts         "ct_cert_scts"
 I6	  65911 #define LN_ct_cert_scts         "CT Certificate SCTs"
 I6	  65912 #define NID_ct_cert_scts                954
 I6	  65913 #define OBJ_ct_cert_scts                1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L
 I6	  65914 
 I6	  65915 #define SN_jurisdictionLocalityName             "jurisdictionL"
 I6	  65916 #define LN_jurisdictionLocalityName             "jurisdictionLocalityName"
 I6	  65917 #define NID_jurisdictionLocalityName            955
 I6	  65918 #define OBJ_jurisdictionLocalityName            1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L
 I6	  65919 
 I6	  65920 #define SN_jurisdictionStateOrProvinceName              "jurisdictionST"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1199
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65921 #define LN_jurisdictionStateOrProvinceName              "jurisdictionStateOrProvinceName"
 I6	  65922 #define NID_jurisdictionStateOrProvinceName             956
 I6	  65923 #define OBJ_jurisdictionStateOrProvinceName             1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L
 I6	  65924 
 I6	  65925 #define SN_jurisdictionCountryName              "jurisdictionC"
 I6	  65926 #define LN_jurisdictionCountryName              "jurisdictionCountryName"
 I6	  65927 #define NID_jurisdictionCountryName             957
 I6	  65928 #define OBJ_jurisdictionCountryName             1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L
 I6	  65929 
 I6	  65930 #define SN_id_scrypt            "id-scrypt"
 I6	  65931 #define LN_id_scrypt            "scrypt"
 I6	  65932 #define NID_id_scrypt           973
 I6	  65933 #define OBJ_id_scrypt           1L,3L,6L,1L,4L,1L,11591L,4L,11L
 I6	  65934 
 I6	  65935 #define SN_tls1_prf             "TLS1-PRF"
 I6	  65936 #define LN_tls1_prf             "tls1-prf"
 I6	  65937 #define NID_tls1_prf            1021
 I6	  65938 
 I6	  65939 #define SN_hkdf         "HKDF"
 I6	  65940 #define LN_hkdf         "hkdf"
 I6	  65941 #define NID_hkdf                1036
 I6	  65942 
 I6	  65943 #define SN_sshkdf               "SSHKDF"
 I6	  65944 #define LN_sshkdf               "sshkdf"
 I6	  65945 #define NID_sshkdf              1203
 I6	  65946 
 I6	  65947 #define SN_sskdf                "SSKDF"
 I6	  65948 #define LN_sskdf                "sskdf"
 I6	  65949 #define NID_sskdf               1205
 I6	  65950 
 I6	  65951 #define SN_x942kdf              "X942KDF"
 I6	  65952 #define LN_x942kdf              "x942kdf"
 I6	  65953 #define NID_x942kdf             1207
 I6	  65954 
 I6	  65955 #define SN_x963kdf              "X963KDF"
 I6	  65956 #define LN_x963kdf              "x963kdf"
 I6	  65957 #define NID_x963kdf             1206
 I6	  65958 
 I6	  65959 #define SN_id_pkinit            "id-pkinit"
 I6	  65960 #define NID_id_pkinit           1031
 I6	  65961 #define OBJ_id_pkinit           1L,3L,6L,1L,5L,2L,3L
 I6	  65962 
 I6	  65963 #define SN_pkInitClientAuth             "pkInitClientAuth"
 I6	  65964 #define LN_pkInitClientAuth             "PKINIT Client Auth"
 I6	  65965 #define NID_pkInitClientAuth            1032
 I6	  65966 #define OBJ_pkInitClientAuth            OBJ_id_pkinit,4L
 I6	  65967 
 I6	  65968 #define SN_pkInitKDC            "pkInitKDC"
 I6	  65969 #define LN_pkInitKDC            "Signing KDC Response"
 I6	  65970 #define NID_pkInitKDC           1033
 I6	  65971 #define OBJ_pkInitKDC           OBJ_id_pkinit,5L
 I6	  65972 
 I6	  65973 #define SN_X25519               "X25519"
 I6	  65974 #define NID_X25519              1034
 I6	  65975 #define OBJ_X25519              1L,3L,101L,110L
 I6	  65976 
 I6	  65977 #define SN_X448         "X448"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1200
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  65978 #define NID_X448                1035
 I6	  65979 #define OBJ_X448                1L,3L,101L,111L
 I6	  65980 
 I6	  65981 #define SN_ED25519              "ED25519"
 I6	  65982 #define NID_ED25519             1087
 I6	  65983 #define OBJ_ED25519             1L,3L,101L,112L
 I6	  65984 
 I6	  65985 #define SN_ED448                "ED448"
 I6	  65986 #define NID_ED448               1088
 I6	  65987 #define OBJ_ED448               1L,3L,101L,113L
 I6	  65988 
 I6	  65989 #define SN_kx_rsa               "KxRSA"
 I6	  65990 #define LN_kx_rsa               "kx-rsa"
 I6	  65991 #define NID_kx_rsa              1037
 I6	  65992 
 I6	  65993 #define SN_kx_ecdhe             "KxECDHE"
 I6	  65994 #define LN_kx_ecdhe             "kx-ecdhe"
 I6	  65995 #define NID_kx_ecdhe            1038
 I6	  65996 
 I6	  65997 #define SN_kx_dhe               "KxDHE"
 I6	  65998 #define LN_kx_dhe               "kx-dhe"
 I6	  65999 #define NID_kx_dhe              1039
 I6	  66000 
 I6	  66001 #define SN_kx_ecdhe_psk         "KxECDHE-PSK"
 I6	  66002 #define LN_kx_ecdhe_psk         "kx-ecdhe-psk"
 I6	  66003 #define NID_kx_ecdhe_psk                1040
 I6	  66004 
 I6	  66005 #define SN_kx_dhe_psk           "KxDHE-PSK"
 I6	  66006 #define LN_kx_dhe_psk           "kx-dhe-psk"
 I6	  66007 #define NID_kx_dhe_psk          1041
 I6	  66008 
 I6	  66009 #define SN_kx_rsa_psk           "KxRSA_PSK"
 I6	  66010 #define LN_kx_rsa_psk           "kx-rsa-psk"
 I6	  66011 #define NID_kx_rsa_psk          1042
 I6	  66012 
 I6	  66013 #define SN_kx_psk               "KxPSK"
 I6	  66014 #define LN_kx_psk               "kx-psk"
 I6	  66015 #define NID_kx_psk              1043
 I6	  66016 
 I6	  66017 #define SN_kx_srp               "KxSRP"
 I6	  66018 #define LN_kx_srp               "kx-srp"
 I6	  66019 #define NID_kx_srp              1044
 I6	  66020 
 I6	  66021 #define SN_kx_gost              "KxGOST"
 I6	  66022 #define LN_kx_gost              "kx-gost"
 I6	  66023 #define NID_kx_gost             1045
 I6	  66024 
 I6	  66025 #define SN_kx_gost18            "KxGOST18"
 I6	  66026 #define LN_kx_gost18            "kx-gost18"
 I6	  66027 #define NID_kx_gost18           1218
 I6	  66028 
 I6	  66029 #define SN_kx_any               "KxANY"
 I6	  66030 #define LN_kx_any               "kx-any"
 I6	  66031 #define NID_kx_any              1063
 I6	  66032 
 I6	  66033 #define SN_auth_rsa             "AuthRSA"
 I6	  66034 #define LN_auth_rsa             "auth-rsa"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1201
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  66035 #define NID_auth_rsa            1046
 I6	  66036 
 I6	  66037 #define SN_auth_ecdsa           "AuthECDSA"
 I6	  66038 #define LN_auth_ecdsa           "auth-ecdsa"
 I6	  66039 #define NID_auth_ecdsa          1047
 I6	  66040 
 I6	  66041 #define SN_auth_psk             "AuthPSK"
 I6	  66042 #define LN_auth_psk             "auth-psk"
 I6	  66043 #define NID_auth_psk            1048
 I6	  66044 
 I6	  66045 #define SN_auth_dss             "AuthDSS"
 I6	  66046 #define LN_auth_dss             "auth-dss"
 I6	  66047 #define NID_auth_dss            1049
 I6	  66048 
 I6	  66049 #define SN_auth_gost01          "AuthGOST01"
 I6	  66050 #define LN_auth_gost01          "auth-gost01"
 I6	  66051 #define NID_auth_gost01         1050
 I6	  66052 
 I6	  66053 #define SN_auth_gost12          "AuthGOST12"
 I6	  66054 #define LN_auth_gost12          "auth-gost12"
 I6	  66055 #define NID_auth_gost12         1051
 I6	  66056 
 I6	  66057 #define SN_auth_srp             "AuthSRP"
 I6	  66058 #define LN_auth_srp             "auth-srp"
 I6	  66059 #define NID_auth_srp            1052
 I6	  66060 
 I6	  66061 #define SN_auth_null            "AuthNULL"
 I6	  66062 #define LN_auth_null            "auth-null"
 I6	  66063 #define NID_auth_null           1053
 I6	  66064 
 I6	  66065 #define SN_auth_any             "AuthANY"
 I6	  66066 #define LN_auth_any             "auth-any"
 I6	  66067 #define NID_auth_any            1064
 I6	  66068 
 I6	  66069 #define SN_poly1305             "Poly1305"
 I6	  66070 #define LN_poly1305             "poly1305"
 I6	  66071 #define NID_poly1305            1061
 I6	  66072 
 I6	  66073 #define SN_siphash              "SipHash"
 I6	  66074 #define LN_siphash              "siphash"
 I6	  66075 #define NID_siphash             1062
 I6	  66076 
 I6	  66077 #define SN_ffdhe2048            "ffdhe2048"
 I6	  66078 #define NID_ffdhe2048           1126
 I6	  66079 
 I6	  66080 #define SN_ffdhe3072            "ffdhe3072"
 I6	  66081 #define NID_ffdhe3072           1127
 I6	  66082 
 I6	  66083 #define SN_ffdhe4096            "ffdhe4096"
 I6	  66084 #define NID_ffdhe4096           1128
 I6	  66085 
 I6	  66086 #define SN_ffdhe6144            "ffdhe6144"
 I6	  66087 #define NID_ffdhe6144           1129
 I6	  66088 
 I6	  66089 #define SN_ffdhe8192            "ffdhe8192"
 I6	  66090 #define NID_ffdhe8192           1130
 I6	  66091 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1202
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  66092 #define SN_modp_1536            "modp_1536"
 I6	  66093 #define NID_modp_1536           1212
 I6	  66094 
 I6	  66095 #define SN_modp_2048            "modp_2048"
 I6	  66096 #define NID_modp_2048           1213
 I6	  66097 
 I6	  66098 #define SN_modp_3072            "modp_3072"
 I6	  66099 #define NID_modp_3072           1214
 I6	  66100 
 I6	  66101 #define SN_modp_4096            "modp_4096"
 I6	  66102 #define NID_modp_4096           1215
 I6	  66103 
 I6	  66104 #define SN_modp_6144            "modp_6144"
 I6	  66105 #define NID_modp_6144           1216
 I6	  66106 
 I6	  66107 #define SN_modp_8192            "modp_8192"
 I6	  66108 #define NID_modp_8192           1217
 I6	  66109 
 I6	  66110 #define SN_ISO_UA               "ISO-UA"
 I6	  66111 #define NID_ISO_UA              1150
 I6	  66112 #define OBJ_ISO_UA              OBJ_member_body,804L
 I6	  66113 
 I6	  66114 #define SN_ua_pki               "ua-pki"
 I6	  66115 #define NID_ua_pki              1151
 I6	  66116 #define OBJ_ua_pki              OBJ_ISO_UA,2L,1L,1L,1L
 I6	  66117 
 I6	  66118 #define SN_dstu28147            "dstu28147"
 I6	  66119 #define LN_dstu28147            "DSTU Gost 28147-2009"
 I6	  66120 #define NID_dstu28147           1152
 I6	  66121 #define OBJ_dstu28147           OBJ_ua_pki,1L,1L,1L
 I6	  66122 
 I6	  66123 #define SN_dstu28147_ofb                "dstu28147-ofb"
 I6	  66124 #define LN_dstu28147_ofb                "DSTU Gost 28147-2009 OFB mode"
 I6	  66125 #define NID_dstu28147_ofb               1153
 I6	  66126 #define OBJ_dstu28147_ofb               OBJ_dstu28147,2L
 I6	  66127 
 I6	  66128 #define SN_dstu28147_cfb                "dstu28147-cfb"
 I6	  66129 #define LN_dstu28147_cfb                "DSTU Gost 28147-2009 CFB mode"
 I6	  66130 #define NID_dstu28147_cfb               1154
 I6	  66131 #define OBJ_dstu28147_cfb               OBJ_dstu28147,3L
 I6	  66132 
 I6	  66133 #define SN_dstu28147_wrap               "dstu28147-wrap"
 I6	  66134 #define LN_dstu28147_wrap               "DSTU Gost 28147-2009 key wrap"
 I6	  66135 #define NID_dstu28147_wrap              1155
 I6	  66136 #define OBJ_dstu28147_wrap              OBJ_dstu28147,5L
 I6	  66137 
 I6	  66138 #define SN_hmacWithDstu34311            "hmacWithDstu34311"
 I6	  66139 #define LN_hmacWithDstu34311            "HMAC DSTU Gost 34311-95"
 I6	  66140 #define NID_hmacWithDstu34311           1156
 I6	  66141 #define OBJ_hmacWithDstu34311           OBJ_ua_pki,1L,1L,2L
 I6	  66142 
 I6	  66143 #define SN_dstu34311            "dstu34311"
 I6	  66144 #define LN_dstu34311            "DSTU Gost 34311-95"
 I6	  66145 #define NID_dstu34311           1157
 I6	  66146 #define OBJ_dstu34311           OBJ_ua_pki,1L,2L,1L
 I6	  66147 
 I6	  66148 #define SN_dstu4145le           "dstu4145le"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1203
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  66149 #define LN_dstu4145le           "DSTU 4145-2002 little endian"
 I6	  66150 #define NID_dstu4145le          1158
 I6	  66151 #define OBJ_dstu4145le          OBJ_ua_pki,1L,3L,1L,1L
 I6	  66152 
 I6	  66153 #define SN_dstu4145be           "dstu4145be"
 I6	  66154 #define LN_dstu4145be           "DSTU 4145-2002 big endian"
 I6	  66155 #define NID_dstu4145be          1159
 I6	  66156 #define OBJ_dstu4145be          OBJ_dstu4145le,1L,1L
 I6	  66157 
 I6	  66158 #define SN_uacurve0             "uacurve0"
 I6	  66159 #define LN_uacurve0             "DSTU curve 0"
 I6	  66160 #define NID_uacurve0            1160
 I6	  66161 #define OBJ_uacurve0            OBJ_dstu4145le,2L,0L
 I6	  66162 
 I6	  66163 #define SN_uacurve1             "uacurve1"
 I6	  66164 #define LN_uacurve1             "DSTU curve 1"
 I6	  66165 #define NID_uacurve1            1161
 I6	  66166 #define OBJ_uacurve1            OBJ_dstu4145le,2L,1L
 I6	  66167 
 I6	  66168 #define SN_uacurve2             "uacurve2"
 I6	  66169 #define LN_uacurve2             "DSTU curve 2"
 I6	  66170 #define NID_uacurve2            1162
 I6	  66171 #define OBJ_uacurve2            OBJ_dstu4145le,2L,2L
 I6	  66172 
 I6	  66173 #define SN_uacurve3             "uacurve3"
 I6	  66174 #define LN_uacurve3             "DSTU curve 3"
 I6	  66175 #define NID_uacurve3            1163
 I6	  66176 #define OBJ_uacurve3            OBJ_dstu4145le,2L,3L
 I6	  66177 
 I6	  66178 #define SN_uacurve4             "uacurve4"
 I6	  66179 #define LN_uacurve4             "DSTU curve 4"
 I6	  66180 #define NID_uacurve4            1164
 I6	  66181 #define OBJ_uacurve4            OBJ_dstu4145le,2L,4L
 I6	  66182 
 I6	  66183 #define SN_uacurve5             "uacurve5"
 I6	  66184 #define LN_uacurve5             "DSTU curve 5"
 I6	  66185 #define NID_uacurve5            1165
 I6	  66186 #define OBJ_uacurve5            OBJ_dstu4145le,2L,5L
 I6	  66187 
 I6	  66188 #define SN_uacurve6             "uacurve6"
 I6	  66189 #define LN_uacurve6             "DSTU curve 6"
 I6	  66190 #define NID_uacurve6            1166
 I6	  66191 #define OBJ_uacurve6            OBJ_dstu4145le,2L,6L
 I6	  66192 
 I6	  66193 #define SN_uacurve7             "uacurve7"
 I6	  66194 #define LN_uacurve7             "DSTU curve 7"
 I6	  66195 #define NID_uacurve7            1167
 I6	  66196 #define OBJ_uacurve7            OBJ_dstu4145le,2L,7L
 I6	  66197 
 I6	  66198 #define SN_uacurve8             "uacurve8"
 I6	  66199 #define LN_uacurve8             "DSTU curve 8"
 I6	  66200 #define NID_uacurve8            1168
 I6	  66201 #define OBJ_uacurve8            OBJ_dstu4145le,2L,8L
 I6	  66202 
 I6	  66203 #define SN_uacurve9             "uacurve9"
 I6	  66204 #define LN_uacurve9             "DSTU curve 9"
 I6	  66205 #define NID_uacurve9            1169

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1204
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  66206 #define OBJ_uacurve9            OBJ_dstu4145le,2L,9L
 I6	  66207 
 I6	  66208 #define SN_aes_128_siv          "AES-128-SIV"
 I6	  66209 #define LN_aes_128_siv          "aes-128-siv"
 I6	  66210 #define NID_aes_128_siv         1198
 I6	  66211 
 I6	  66212 #define SN_aes_192_siv          "AES-192-SIV"
 I6	  66213 #define LN_aes_192_siv          "aes-192-siv"
 I6	  66214 #define NID_aes_192_siv         1199
 I6	  66215 
 I6	  66216 #define SN_aes_256_siv          "AES-256-SIV"
 I6	  66217 #define LN_aes_256_siv          "aes-256-siv"
 I6	  66218 #define NID_aes_256_siv         1200
 I6	  66219 
 I6	  66220 #endif /* OPENSSL_OBJ_MAC_H */
 I6	  66221 
 I6	  66222 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  66223 
 I6	  66224 #define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm                 SN_magma_ctr_acpkm
 I6	  66225 #define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm                NID_magma_ctr_acpkm
 I6	  66226 #define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm                OBJ_magma_ctr_acpkm
 I6	  66227 
 I6	  66228 #define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac            SN_magma_ctr_acpkm_omac
 I6	  66229 #define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac           NID_magma_ctr_acpkm_omac
 I6	  66230 #define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac           OBJ_magma_ctr_acpkm_omac
 I6	  66231 
 I6	  66232 #define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm            SN_kuznyechik_ctr_acpkm
 I6	  66233 #define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm           NID_kuznyechik_ctr_acpkm
 I6	  66234 #define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm           OBJ_kuznyechik_ctr_acpkm
 I6	  66235 
 I6	  66236 #define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac               SN_kuznyechik_ctr_acpkm_omac
 I6	  66237 #define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac              NID_kuznyechik_ctr_acpkm_omac
 I6	  66238 #define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac              OBJ_kuznyechik_ctr_acpkm_omac
 I6	  66239 
 I6	  66240 #define SN_id_tc26_wrap_gostr3412_2015_magma_kexp15             SN_magma_kexp15
 I6	  66241 #define NID_id_tc26_wrap_gostr3412_2015_magma_kexp15            NID_magma_kexp15
 I6	  66242 #define OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15            OBJ_magma_kexp15
 I6	  66243 
 I6	  66244 #define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15                SN_kuznyechik_kexp15
 I6	  66245 #define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15               NID_kuznyechik_kexp15
 I6	  66246 #define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15               OBJ_kuznyechik_kexp15
 I6	  66247 
 I6	  66248 #define SN_grasshopper_ecb              SN_kuznyechik_ecb
 I6	  66249 #define NID_grasshopper_ecb             NID_kuznyechik_ecb
 I6	  66250 
 I6	  66251 #define SN_grasshopper_ctr              SN_kuznyechik_ctr
 I6	  66252 #define NID_grasshopper_ctr             NID_kuznyechik_ctr
 I6	  66253 
 I6	  66254 #define SN_grasshopper_ofb              SN_kuznyechik_ofb
 I6	  66255 #define NID_grasshopper_ofb             NID_kuznyechik_ofb
 I6	  66256 
 I6	  66257 #define SN_grasshopper_cbc              SN_kuznyechik_cbc
 I6	  66258 #define NID_grasshopper_cbc             NID_kuznyechik_cbc
 I6	  66259 
 I6	  66260 #define SN_grasshopper_cfb              SN_kuznyechik_cfb
 I6	  66261 #define NID_grasshopper_cfb             NID_kuznyechik_cfb
 I6	  66262 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1205
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJ_MAC.H;1

 I6	  66263 #define SN_grasshopper_mac              SN_kuznyechik_mac
 I6	  66264 #define NID_grasshopper_mac             NID_kuznyechik_mac
 I6	  66265 
 I6	  66266 #endif  /* OPENSSL_NO_DEPRECATED_3_0 */
 I5    X  66267 # include <openssl/bio.h>
 I5	  66268 # include <openssl/asn1.h>
 I6	  66269 /*
 I6	  66270  * WARNING: do not edit!
 I6	  66271  * Generated by descrip.mms from [-.include.openssl]asn1.h.in
 I6	  66272  *
 I6	  66273  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  66274  *
 I6	  66275  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  66276  * this file except in compliance with the License.  You can obtain a copy
 I6	  66277  * in the file LICENSE in the source distribution or at
 I6	  66278  * https://www.openssl.org/source/license.html
 I6	  66279  */
 I6	  66280 
 I6	  66281 
 I6	  66282 
 I6	  66283 #ifndef OPENSSL_ASN1_H
 I6	  66284 # define OPENSSL_ASN1_H
 I6	  66285 # pragma once
 I6	  66286 
 I6    X  66287 # include <openssl/macros.h>
 I6	  66288 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  66289 #  define HEADER_ASN1_H
 I6	  66290 # endif
 I6	  66291 
 I6    X  66292 # include <time.h>
 I6    X  66293 # include <openssl/e_os2.h>
 I6    X  66294 # include <openssl/opensslconf.h>
 I6    X  66295 # include <openssl/bio.h>
 I6    X  66296 # include <openssl/safestack.h>
 I6	  66297 # include <openssl/asn1err.h>
 I7	  66298 /*
 I7	  66299  * Generated by util/mkerr.pl DO NOT EDIT
 I7	  66300  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I7	  66301  *
 I7	  66302  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I7	  66303  * this file except in compliance with the License.  You can obtain a copy
 I7	  66304  * in the file LICENSE in the source distribution or at
 I7	  66305  * https://www.openssl.org/source/license.html
 I7	  66306  */
 I7	  66307 
 I7	  66308 #ifndef OPENSSL_ASN1ERR_H
 I7	  66309 # define OPENSSL_ASN1ERR_H
 I7	  66310 # pragma once
 I7	  66311 
 I7    X  66312 # include <openssl/opensslconf.h>
 I7    X  66313 # include <openssl/symhacks.h>
 I7    X  66314 # include <openssl/cryptoerr_legacy.h>
 I7	  66315 
 I7	  66316 
 I7	  66317 
 I7	  66318 /*
 I7	  66319  * ASN1 reason codes.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1206
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ASN1ERR.H;1

 I7	  66320  */
 I7	  66321 # define ASN1_R_ADDING_OBJECT                             171
 I7	  66322 # define ASN1_R_ASN1_PARSE_ERROR                          203
 I7	  66323 # define ASN1_R_ASN1_SIG_PARSE_ERROR                      204
 I7	  66324 # define ASN1_R_AUX_ERROR                                 100
 I7	  66325 # define ASN1_R_BAD_OBJECT_HEADER                         102
 I7	  66326 # define ASN1_R_BAD_TEMPLATE                              230
 I7	  66327 # define ASN1_R_BMPSTRING_IS_WRONG_LENGTH                 214
 I7	  66328 # define ASN1_R_BN_LIB                                    105
 I7	  66329 # define ASN1_R_BOOLEAN_IS_WRONG_LENGTH                   106
 I7	  66330 # define ASN1_R_BUFFER_TOO_SMALL                          107
 I7	  66331 # define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER           108
 I7	  66332 # define ASN1_R_CONTEXT_NOT_INITIALISED                   217
 I7	  66333 # define ASN1_R_DATA_IS_WRONG                             109
 I7	  66334 # define ASN1_R_DECODE_ERROR                              110
 I7	  66335 # define ASN1_R_DEPTH_EXCEEDED                            174
 I7	  66336 # define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED         198
 I7	  66337 # define ASN1_R_ENCODE_ERROR                              112
 I7	  66338 # define ASN1_R_ERROR_GETTING_TIME                        173
 I7	  66339 # define ASN1_R_ERROR_LOADING_SECTION                     172
 I7	  66340 # define ASN1_R_ERROR_SETTING_CIPHER_PARAMS               114
 I7	  66341 # define ASN1_R_EXPECTING_AN_INTEGER                      115
 I7	  66342 # define ASN1_R_EXPECTING_AN_OBJECT                       116
 I7	  66343 # define ASN1_R_EXPLICIT_LENGTH_MISMATCH                  119
 I7	  66344 # define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED              120
 I7	  66345 # define ASN1_R_FIELD_MISSING                             121
 I7	  66346 # define ASN1_R_FIRST_NUM_TOO_LARGE                       122
 I7	  66347 # define ASN1_R_HEADER_TOO_LONG                           123
 I7	  66348 # define ASN1_R_ILLEGAL_BITSTRING_FORMAT                  175
 I7	  66349 # define ASN1_R_ILLEGAL_BOOLEAN                           176
 I7	  66350 # define ASN1_R_ILLEGAL_CHARACTERS                        124
 I7	  66351 # define ASN1_R_ILLEGAL_FORMAT                            177
 I7	  66352 # define ASN1_R_ILLEGAL_HEX                               178
 I7	  66353 # define ASN1_R_ILLEGAL_IMPLICIT_TAG                      179
 I7	  66354 # define ASN1_R_ILLEGAL_INTEGER                           180
 I7	  66355 # define ASN1_R_ILLEGAL_NEGATIVE_VALUE                    226
 I7	  66356 # define ASN1_R_ILLEGAL_NESTED_TAGGING                    181
 I7	  66357 # define ASN1_R_ILLEGAL_NULL                              125
 I7	  66358 # define ASN1_R_ILLEGAL_NULL_VALUE                        182
 I7	  66359 # define ASN1_R_ILLEGAL_OBJECT                            183
 I7	  66360 # define ASN1_R_ILLEGAL_OPTIONAL_ANY                      126
 I7	  66361 # define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE          170
 I7	  66362 # define ASN1_R_ILLEGAL_PADDING                           221
 I7	  66363 # define ASN1_R_ILLEGAL_TAGGED_ANY                        127
 I7	  66364 # define ASN1_R_ILLEGAL_TIME_VALUE                        184
 I7	  66365 # define ASN1_R_ILLEGAL_ZERO_CONTENT                      222
 I7	  66366 # define ASN1_R_INTEGER_NOT_ASCII_FORMAT                  185
 I7	  66367 # define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG                128
 I7	  66368 # define ASN1_R_INVALID_BIT_STRING_BITS_LEFT              220
 I7	  66369 # define ASN1_R_INVALID_BMPSTRING_LENGTH                  129
 I7	  66370 # define ASN1_R_INVALID_DIGIT                             130
 I7	  66371 # define ASN1_R_INVALID_MIME_TYPE                         205
 I7	  66372 # define ASN1_R_INVALID_MODIFIER                          186
 I7	  66373 # define ASN1_R_INVALID_NUMBER                            187
 I7	  66374 # define ASN1_R_INVALID_OBJECT_ENCODING                   216
 I7	  66375 # define ASN1_R_INVALID_SCRYPT_PARAMETERS                 227
 I7	  66376 # define ASN1_R_INVALID_SEPARATOR                         131

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1207
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ASN1ERR.H;1

 I7	  66377 # define ASN1_R_INVALID_STRING_TABLE_VALUE                218
 I7	  66378 # define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH            133
 I7	  66379 # define ASN1_R_INVALID_UTF8STRING                        134
 I7	  66380 # define ASN1_R_INVALID_VALUE                             219
 I7	  66381 # define ASN1_R_LENGTH_TOO_LONG                           231
 I7	  66382 # define ASN1_R_LIST_ERROR                                188
 I7	  66383 # define ASN1_R_MIME_NO_CONTENT_TYPE                      206
 I7	  66384 # define ASN1_R_MIME_PARSE_ERROR                          207
 I7	  66385 # define ASN1_R_MIME_SIG_PARSE_ERROR                      208
 I7	  66386 # define ASN1_R_MISSING_EOC                               137
 I7	  66387 # define ASN1_R_MISSING_SECOND_NUMBER                     138
 I7	  66388 # define ASN1_R_MISSING_VALUE                             189
 I7	  66389 # define ASN1_R_MSTRING_NOT_UNIVERSAL                     139
 I7	  66390 # define ASN1_R_MSTRING_WRONG_TAG                         140
 I7	  66391 # define ASN1_R_NESTED_ASN1_STRING                        197
 I7	  66392 # define ASN1_R_NESTED_TOO_DEEP                           201
 I7	  66393 # define ASN1_R_NON_HEX_CHARACTERS                        141
 I7	  66394 # define ASN1_R_NOT_ASCII_FORMAT                          190
 I7	  66395 # define ASN1_R_NOT_ENOUGH_DATA                           142
 I7	  66396 # define ASN1_R_NO_CONTENT_TYPE                           209
 I7	  66397 # define ASN1_R_NO_MATCHING_CHOICE_TYPE                   143
 I7	  66398 # define ASN1_R_NO_MULTIPART_BODY_FAILURE                 210
 I7	  66399 # define ASN1_R_NO_MULTIPART_BOUNDARY                     211
 I7	  66400 # define ASN1_R_NO_SIG_CONTENT_TYPE                       212
 I7	  66401 # define ASN1_R_NULL_IS_WRONG_LENGTH                      144
 I7	  66402 # define ASN1_R_OBJECT_NOT_ASCII_FORMAT                   191
 I7	  66403 # define ASN1_R_ODD_NUMBER_OF_CHARS                       145
 I7	  66404 # define ASN1_R_SECOND_NUMBER_TOO_LARGE                   147
 I7	  66405 # define ASN1_R_SEQUENCE_LENGTH_MISMATCH                  148
 I7	  66406 # define ASN1_R_SEQUENCE_NOT_CONSTRUCTED                  149
 I7	  66407 # define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG              192
 I7	  66408 # define ASN1_R_SHORT_LINE                                150
 I7	  66409 # define ASN1_R_SIG_INVALID_MIME_TYPE                     213
 I7	  66410 # define ASN1_R_STREAMING_NOT_SUPPORTED                   202
 I7	  66411 # define ASN1_R_STRING_TOO_LONG                           151
 I7	  66412 # define ASN1_R_STRING_TOO_SHORT                          152
 I7	  66413 # define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154
 I7	  66414 # define ASN1_R_TIME_NOT_ASCII_FORMAT                     193
 I7	  66415 # define ASN1_R_TOO_LARGE                                 223
 I7	  66416 # define ASN1_R_TOO_LONG                                  155
 I7	  66417 # define ASN1_R_TOO_SMALL                                 224
 I7	  66418 # define ASN1_R_TYPE_NOT_CONSTRUCTED                      156
 I7	  66419 # define ASN1_R_TYPE_NOT_PRIMITIVE                        195
 I7	  66420 # define ASN1_R_UNEXPECTED_EOC                            159
 I7	  66421 # define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH           215
 I7	  66422 # define ASN1_R_UNKNOWN_DIGEST                            229
 I7	  66423 # define ASN1_R_UNKNOWN_FORMAT                            160
 I7	  66424 # define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM          161
 I7	  66425 # define ASN1_R_UNKNOWN_OBJECT_TYPE                       162
 I7	  66426 # define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE                   163
 I7	  66427 # define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM               199
 I7	  66428 # define ASN1_R_UNKNOWN_TAG                               194
 I7	  66429 # define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE           164
 I7	  66430 # define ASN1_R_UNSUPPORTED_CIPHER                        228
 I7	  66431 # define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE               167
 I7	  66432 # define ASN1_R_UNSUPPORTED_TYPE                          196
 I7	  66433 # define ASN1_R_WRONG_INTEGER_TYPE                        225

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1208
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ASN1ERR.H;1

 I7	  66434 # define ASN1_R_WRONG_PUBLIC_KEY_TYPE                     200
 I7	  66435 # define ASN1_R_WRONG_TAG                                 168
 I7	  66436 
 I7	  66437 #endif
 I6    X  66438 # include <openssl/symhacks.h>
 I6	  66439 
 I6    X  66440 # include <openssl/types.h>
 I6    X  66441 # include <openssl/bn.h>
 I6	  66442 
 I6    X  66443 # ifdef OPENSSL_BUILD_SHLIBCRYPTO
 I6    X  66444 #  undef OPENSSL_EXTERN
 I6    X  66445 #  define OPENSSL_EXTERN OPENSSL_EXPORT
 I6    X  66446 # endif
 I6	  66447 
 I6    X  66448 #ifdef  __cplusplus
 I6    X  66449 extern "C" {
 I6    X  66450 #endif
 I6	  66451 
 I6	  66452 # define V_ASN1_UNIVERSAL                0x00
 I6	  66453 # define V_ASN1_APPLICATION              0x40
 I6	  66454 # define V_ASN1_CONTEXT_SPECIFIC         0x80
 I6	  66455 # define V_ASN1_PRIVATE                  0xc0
 I6	  66456 
 I6	  66457 # define V_ASN1_CONSTRUCTED              0x20
 I6	  66458 # define V_ASN1_PRIMITIVE_TAG            0x1f
 I6	  66459 # define V_ASN1_PRIMATIVE_TAG /*compat*/ V_ASN1_PRIMITIVE_TAG
 I6	  66460 
 I6	  66461 # define V_ASN1_APP_CHOOSE               -2/* let the recipient choose */
 I6	  66462 # define V_ASN1_OTHER                    -3/* used in ASN1_TYPE */
 I6	  66463 # define V_ASN1_ANY                      -4/* used in ASN1 template code */
 I6	  66464 
 I6	  66465 # define V_ASN1_UNDEF                    -1
 I6	  66466 /* ASN.1 tag values */
 I6	  66467 # define V_ASN1_EOC                      0
 I6	  66468 # define V_ASN1_BOOLEAN                  1 /**/
 I6	  66469 # define V_ASN1_INTEGER                  2
 I6	  66470 # define V_ASN1_BIT_STRING               3
 I6	  66471 # define V_ASN1_OCTET_STRING             4
 I6	  66472 # define V_ASN1_NULL                     5
 I6	  66473 # define V_ASN1_OBJECT                   6
 I6	  66474 # define V_ASN1_OBJECT_DESCRIPTOR        7
 I6	  66475 # define V_ASN1_EXTERNAL                 8
 I6	  66476 # define V_ASN1_REAL                     9
 I6	  66477 # define V_ASN1_ENUMERATED               10
 I6	  66478 # define V_ASN1_UTF8STRING               12
 I6	  66479 # define V_ASN1_SEQUENCE                 16
 I6	  66480 # define V_ASN1_SET                      17
 I6	  66481 # define V_ASN1_NUMERICSTRING            18 /**/
 I6	  66482 # define V_ASN1_PRINTABLESTRING          19
 I6	  66483 # define V_ASN1_T61STRING                20
 I6	  66484 # define V_ASN1_TELETEXSTRING            20/* alias */
 I6	  66485 # define V_ASN1_VIDEOTEXSTRING           21 /**/
 I6	  66486 # define V_ASN1_IA5STRING                22
 I6	  66487 # define V_ASN1_UTCTIME                  23
 I6	  66488 # define V_ASN1_GENERALIZEDTIME          24 /**/
 I6	  66489 # define V_ASN1_GRAPHICSTRING            25 /**/
 I6	  66490 # define V_ASN1_ISO64STRING              26 /**/

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1209
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66491 # define V_ASN1_VISIBLESTRING            26/* alias */
 I6	  66492 # define V_ASN1_GENERALSTRING            27 /**/
 I6	  66493 # define V_ASN1_UNIVERSALSTRING          28 /**/
 I6	  66494 # define V_ASN1_BMPSTRING                30
 I6	  66495 
 I6	  66496 /*
 I6	  66497  * NB the constants below are used internally by ASN1_INTEGER
 I6	  66498  * and ASN1_ENUMERATED to indicate the sign. They are *not* on
 I6	  66499  * the wire tag values.
 I6	  66500  */
 I6	  66501 
 I6	  66502 # define V_ASN1_NEG                      0x100
 I6	  66503 # define V_ASN1_NEG_INTEGER              (2 | V_ASN1_NEG)
 I6	  66504 # define V_ASN1_NEG_ENUMERATED           (10 | V_ASN1_NEG)
 I6	  66505 
 I6	  66506 /* For use with d2i_ASN1_type_bytes() */
 I6	  66507 # define B_ASN1_NUMERICSTRING    0x0001
 I6	  66508 # define B_ASN1_PRINTABLESTRING  0x0002
 I6	  66509 # define B_ASN1_T61STRING        0x0004
 I6	  66510 # define B_ASN1_TELETEXSTRING    0x0004
 I6	  66511 # define B_ASN1_VIDEOTEXSTRING   0x0008
 I6	  66512 # define B_ASN1_IA5STRING        0x0010
 I6	  66513 # define B_ASN1_GRAPHICSTRING    0x0020
 I6	  66514 # define B_ASN1_ISO64STRING      0x0040
 I6	  66515 # define B_ASN1_VISIBLESTRING    0x0040
 I6	  66516 # define B_ASN1_GENERALSTRING    0x0080
 I6	  66517 # define B_ASN1_UNIVERSALSTRING  0x0100
 I6	  66518 # define B_ASN1_OCTET_STRING     0x0200
 I6	  66519 # define B_ASN1_BIT_STRING       0x0400
 I6	  66520 # define B_ASN1_BMPSTRING        0x0800
 I6	  66521 # define B_ASN1_UNKNOWN          0x1000
 I6	  66522 # define B_ASN1_UTF8STRING       0x2000
 I6	  66523 # define B_ASN1_UTCTIME          0x4000
 I6	  66524 # define B_ASN1_GENERALIZEDTIME  0x8000
 I6	  66525 # define B_ASN1_SEQUENCE         0x10000
 I6	  66526 /* For use with ASN1_mbstring_copy() */
 I6	  66527 # define MBSTRING_FLAG           0x1000
 I6	  66528 # define MBSTRING_UTF8           (MBSTRING_FLAG)
 I6	  66529 # define MBSTRING_ASC            (MBSTRING_FLAG|1)
 I6	  66530 # define MBSTRING_BMP            (MBSTRING_FLAG|2)
 I6	  66531 # define MBSTRING_UNIV           (MBSTRING_FLAG|4)
 I6	  66532 # define SMIME_OLDMIME           0x400
 I6	  66533 # define SMIME_CRLFEOL           0x800
 I6	  66534 # define SMIME_STREAM            0x1000
 I6	  66535 
 I6	  66536 /* Stacks for types not otherwise defined in this header */
 I6   1	  66537 SKM_DEFINE_STACK_OF_INTERNAL(X509_ALGOR, X509_ALGOR, X509_ALGOR)
       E	 struct stack_st_X509_ALGOR ; typedef int ( * sk_X509_ALGOR_compfunc ) ( const X509_ALGOR * const * a , const X509_A
       E	LGOR * const * b ) ; typedef void ( * sk_X509_ALGOR_freefunc ) ( X509_ALGOR * a ) ; typedef X509_ALGOR * ( * sk_X509
       E	_ALGOR_copyfunc ) ( const X509_ALGOR * a ) ; static __inline X509_ALGOR * ossl_check_X509_ALGOR_type ( X509_ALGOR * 
       E	ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_ALGOR_sk_type ( const struct stac
       E	k_st_X509_ALGOR * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_ALG
       E	OR_sk_type ( struct stack_st_X509_ALGOR * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfu
       E	nc ossl_check_X509_ALGOR_compfunc_type ( sk_X509_ALGOR_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } stati
       E	c __inline OPENSSL_sk_copyfunc ossl_check_X509_ALGOR_copyfunc_type ( sk_X509_ALGOR_copyfunc cpy ) { return ( OPENSSL
       E	_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_ALGOR_freefunc_type ( sk_X509_ALGOR_freef
       E	unc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1210
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66538 #define sk_X509_ALGOR_num(sk) OPENSSL_sk_num(ossl_check_const_X509_ALGOR_sk_type(sk))
 I6	  66539 #define sk_X509_ALGOR_value(sk, idx) ((X509_ALGOR *)OPENSSL_sk_value(ossl_check_const_X509_ALGOR_sk_type(sk), (idx))
 I6	  66539 )
 I6	  66540 #define sk_X509_ALGOR_new(cmp) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_new(ossl_check_X509_ALGOR_compfunc_type(cmp)))
 I6	  66541 #define sk_X509_ALGOR_new_null() ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_new_null())
 I6	  66542 #define sk_X509_ALGOR_new_reserve(cmp, n) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_new_reserve(ossl_check_X509_ALGOR_comp
 I6	  66542 func_type(cmp), (n)))
 I6	  66543 #define sk_X509_ALGOR_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_ALGOR_sk_type(sk), (n))
 I6	  66544 #define sk_X509_ALGOR_free(sk) OPENSSL_sk_free(ossl_check_X509_ALGOR_sk_type(sk))
 I6	  66545 #define sk_X509_ALGOR_zero(sk) OPENSSL_sk_zero(ossl_check_X509_ALGOR_sk_type(sk))
 I6	  66546 #define sk_X509_ALGOR_delete(sk, i) ((X509_ALGOR *)OPENSSL_sk_delete(ossl_check_X509_ALGOR_sk_type(sk), (i)))
 I6	  66547 #define sk_X509_ALGOR_delete_ptr(sk, ptr) ((X509_ALGOR *)OPENSSL_sk_delete_ptr(ossl_check_X509_ALGOR_sk_type(sk), os
 I6	  66547 sl_check_X509_ALGOR_type(ptr)))
 I6	  66548 #define sk_X509_ALGOR_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(pt
 I6	  66548 r))
 I6	  66549 #define sk_X509_ALGOR_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_t
 I6	  66549 ype(ptr))
 I6	  66550 #define sk_X509_ALGOR_pop(sk) ((X509_ALGOR *)OPENSSL_sk_pop(ossl_check_X509_ALGOR_sk_type(sk)))
 I6	  66551 #define sk_X509_ALGOR_shift(sk) ((X509_ALGOR *)OPENSSL_sk_shift(ossl_check_X509_ALGOR_sk_type(sk)))
 I6	  66552 #define sk_X509_ALGOR_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_ALGOR_sk_type(sk),ossl_check_X509_A
 I6	  66552 LGOR_freefunc_type(freefunc))
 I6	  66553 #define sk_X509_ALGOR_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGO
 I6	  66553 R_type(ptr), (idx))
 I6	  66554 #define sk_X509_ALGOR_set(sk, idx, ptr) ((X509_ALGOR *)OPENSSL_sk_set(ossl_check_X509_ALGOR_sk_type(sk), (idx), ossl
 I6	  66554 _check_X509_ALGOR_type(ptr)))
 I6	  66555 #define sk_X509_ALGOR_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(pt
 I6	  66555 r))
 I6	  66556 #define sk_X509_ALGOR_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_t
 I6	  66556 ype(ptr))
 I6	  66557 #define sk_X509_ALGOR_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509
 I6	  66557 _ALGOR_type(ptr), pnum)
 I6	  66558 #define sk_X509_ALGOR_sort(sk) OPENSSL_sk_sort(ossl_check_X509_ALGOR_sk_type(sk))
 I6	  66559 #define sk_X509_ALGOR_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_ALGOR_sk_type(sk))
 I6	  66560 #define sk_X509_ALGOR_dup(sk) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_dup(ossl_check_const_X509_ALGOR_sk_type(sk)))
 I6	  66561 #define sk_X509_ALGOR_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_deep_copy(ossl_check_con
 I6	  66561 st_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_copyfunc_type(copyfunc), ossl_check_X509_ALGOR_freefunc_type(freefu
 I6	  66561 nc)))
 I6	  66562 #define sk_X509_ALGOR_set_cmp_func(sk, cmp) ((sk_X509_ALGOR_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_ALGOR_s
 I6	  66562 k_type(sk), ossl_check_X509_ALGOR_compfunc_type(cmp)))
 I6	  66563 
 I6	  66564 
 I6	  66565 
 I6	  66566 # define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */
 I6	  66567 /*
 I6	  66568  * This indicates that the ASN1_STRING is not a real value but just a place
 I6	  66569  * holder for the location where indefinite length constructed data should be
 I6	  66570  * inserted in the memory buffer
 I6	  66571  */
 I6	  66572 # define ASN1_STRING_FLAG_NDEF 0x010
 I6	  66573 
 I6	  66574 /*
 I6	  66575  * This flag is used by the CMS code to indicate that a string is not
 I6	  66576  * complete and is a place holder for content when it had all been accessed.
 I6	  66577  * The flag will be reset when content has been written to it.
 I6	  66578  */
 I6	  66579 
 I6	  66580 # define ASN1_STRING_FLAG_CONT 0x020

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1211
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66581 /*
 I6	  66582  * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING
 I6	  66583  * type.
 I6	  66584  */
 I6	  66585 # define ASN1_STRING_FLAG_MSTRING 0x040
 I6	  66586 /* String is embedded and only content should be freed */
 I6	  66587 # define ASN1_STRING_FLAG_EMBED 0x080
 I6	  66588 /* String should be parsed in RFC 5280's time format */
 I6	  66589 # define ASN1_STRING_FLAG_X509_TIME 0x100
 I6	  66590 /* This is the base type that holds just about everything :-) */
 I6	  66591 struct asn1_string_st {
 I6	  66592     int length;
 I6	  66593     int type;
 I6	  66594     unsigned char *data;
 I6	  66595     /*
 I6	  66596      * The value of the following field depends on the type being held.  It
 I6	  66597      * is mostly being used for BIT_STRING so if the input data has a
 I6	  66598      * non-zero 'unused bits' value, it will be handled correctly
 I6	  66599      */
 I6	  66600     long flags;
 I6	  66601 };
 I6	  66602 
 I6	  66603 /*
 I6	  66604  * ASN1_ENCODING structure: this is used to save the received encoding of an
 I6	  66605  * ASN1 type. This is useful to get round problems with invalid encodings
 I6	  66606  * which can break signatures.
 I6	  66607  */
 I6	  66608 
 I6	  66609 typedef struct ASN1_ENCODING_st {
 I6	  66610     unsigned char *enc;         /* DER encoding */
 I6	  66611     long len;                   /* Length of encoding */
 I6	  66612     int modified;               /* set to 1 if 'enc' is invalid */
 I6	  66613 } ASN1_ENCODING;
 I6	  66614 
 I6	  66615 /* Used with ASN1 LONG type: if a long is set to this it is omitted */
 I6	  66616 # define ASN1_LONG_UNDEF 0x7fffffffL
 I6	  66617 
 I6	  66618 # define STABLE_FLAGS_MALLOC     0x01
 I6	  66619 /*
 I6	  66620  * A zero passed to ASN1_STRING_TABLE_new_add for the flags is interpreted
 I6	  66621  * as "don't change" and STABLE_FLAGS_MALLOC is always set. By setting
 I6	  66622  * STABLE_FLAGS_MALLOC only we can clear the existing value. Use the alias
 I6	  66623  * STABLE_FLAGS_CLEAR to reflect this.
 I6	  66624  */
 I6	  66625 # define STABLE_FLAGS_CLEAR      STABLE_FLAGS_MALLOC
 I6	  66626 # define STABLE_NO_MASK          0x02
 I6	  66627 # define DIRSTRING_TYPE  \
 I6	  66628  (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING)
 I6	  66629 # define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING)
 I6	  66630 
 I6	  66631 struct asn1_string_table_st {
 I6	  66632     int nid;
 I6	  66633     long minsize;
 I6	  66634     long maxsize;
 I6	  66635     unsigned long mask;
 I6	  66636     unsigned long flags;
 I6	  66637 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1212
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66638 
 I6   1	  66639 SKM_DEFINE_STACK_OF_INTERNAL(ASN1_STRING_TABLE, ASN1_STRING_TABLE, ASN1_STRING_TABLE)
       E	 struct stack_st_ASN1_STRING_TABLE ; typedef int ( * sk_ASN1_STRING_TABLE_compfunc ) ( const ASN1_STRING_TABLE * con
       E	st * a , const ASN1_STRING_TABLE * const * b ) ; typedef void ( * sk_ASN1_STRING_TABLE_freefunc ) ( ASN1_STRING_TABL
       E	E * a ) ; typedef ASN1_STRING_TABLE * ( * sk_ASN1_STRING_TABLE_copyfunc ) ( const ASN1_STRING_TABLE * a ) ; static _
       E	_inline ASN1_STRING_TABLE * ossl_check_ASN1_STRING_TABLE_type ( ASN1_STRING_TABLE * ptr ) { return ptr ; } static __
       E	inline const OPENSSL_STACK * ossl_check_const_ASN1_STRING_TABLE_sk_type ( const struct stack_st_ASN1_STRING_TABLE * 
       E	sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_ASN1_STRING_TABLE_sk_type 
       E	( struct stack_st_ASN1_STRING_TABLE * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc o
       E	ssl_check_ASN1_STRING_TABLE_compfunc_type ( sk_ASN1_STRING_TABLE_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp
       E	 ; } static __inline OPENSSL_sk_copyfunc ossl_check_ASN1_STRING_TABLE_copyfunc_type ( sk_ASN1_STRING_TABLE_copyfunc 
       E	cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_ASN1_STRING_TABLE_free
       E	func_type ( sk_ASN1_STRING_TABLE_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I6	  66640 #define sk_ASN1_STRING_TABLE_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_STRING_TABLE_sk_type(sk))
 I6	  66641 #define sk_ASN1_STRING_TABLE_value(sk, idx) ((ASN1_STRING_TABLE *)OPENSSL_sk_value(ossl_check_const_ASN1_STRING_TABL
 I6	  66641 E_sk_type(sk), (idx)))
 I6	  66642 #define sk_ASN1_STRING_TABLE_new(cmp) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_new(ossl_check_ASN1_STRING_TABLE_co
 I6	  66642 mpfunc_type(cmp)))
 I6	  66643 #define sk_ASN1_STRING_TABLE_new_null() ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_new_null())
 I6	  66644 #define sk_ASN1_STRING_TABLE_new_reserve(cmp, n) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_new_reserve(ossl_check_A
 I6	  66644 SN1_STRING_TABLE_compfunc_type(cmp), (n)))
 I6	  66645 #define sk_ASN1_STRING_TABLE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_STRING_TABLE_sk_type(sk), (n))
 I6	  66646 #define sk_ASN1_STRING_TABLE_free(sk) OPENSSL_sk_free(ossl_check_ASN1_STRING_TABLE_sk_type(sk))
 I6	  66647 #define sk_ASN1_STRING_TABLE_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_STRING_TABLE_sk_type(sk))
 I6	  66648 #define sk_ASN1_STRING_TABLE_delete(sk, i) ((ASN1_STRING_TABLE *)OPENSSL_sk_delete(ossl_check_ASN1_STRING_TABLE_sk_t
 I6	  66648 ype(sk), (i)))
 I6	  66649 #define sk_ASN1_STRING_TABLE_delete_ptr(sk, ptr) ((ASN1_STRING_TABLE *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_STRING_
 I6	  66649 TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr)))
 I6	  66650 #define sk_ASN1_STRING_TABLE_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1
 I6	  66650 _STRING_TABLE_type(ptr))
 I6	  66651 #define sk_ASN1_STRING_TABLE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_chec
 I6	  66651 k_ASN1_STRING_TABLE_type(ptr))
 I6	  66652 #define sk_ASN1_STRING_TABLE_pop(sk) ((ASN1_STRING_TABLE *)OPENSSL_sk_pop(ossl_check_ASN1_STRING_TABLE_sk_type(sk)))
 I6	  66653 #define sk_ASN1_STRING_TABLE_shift(sk) ((ASN1_STRING_TABLE *)OPENSSL_sk_shift(ossl_check_ASN1_STRING_TABLE_sk_type(s
 I6	  66653 k)))
 I6	  66654 #define sk_ASN1_STRING_TABLE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_STRING_TABLE_sk_type(sk),oss
 I6	  66654 l_check_ASN1_STRING_TABLE_freefunc_type(freefunc))
 I6	  66655 #define sk_ASN1_STRING_TABLE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_c
 I6	  66655 heck_ASN1_STRING_TABLE_type(ptr), (idx))
 I6	  66656 #define sk_ASN1_STRING_TABLE_set(sk, idx, ptr) ((ASN1_STRING_TABLE *)OPENSSL_sk_set(ossl_check_ASN1_STRING_TABLE_sk_
 I6	  66656 type(sk), (idx), ossl_check_ASN1_STRING_TABLE_type(ptr)))
 I6	  66657 #define sk_ASN1_STRING_TABLE_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1
 I6	  66657 _STRING_TABLE_type(ptr))
 I6	  66658 #define sk_ASN1_STRING_TABLE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_chec
 I6	  66658 k_ASN1_STRING_TABLE_type(ptr))
 I6	  66659 #define sk_ASN1_STRING_TABLE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_STRING_TABLE_sk_type(sk), o
 I6	  66659 ssl_check_ASN1_STRING_TABLE_type(ptr), pnum)
 I6	  66660 #define sk_ASN1_STRING_TABLE_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_STRING_TABLE_sk_type(sk))
 I6	  66661 #define sk_ASN1_STRING_TABLE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_STRING_TABLE_sk_type(sk))
 I6	  66662 #define sk_ASN1_STRING_TABLE_dup(sk) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_dup(ossl_check_const_ASN1_STRING_TAB
 I6	  66662 LE_sk_type(sk)))
 I6	  66663 #define sk_ASN1_STRING_TABLE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_deep_copy(
 I6	  66663 ossl_check_const_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_copyfunc_type(copyfunc), ossl_check_ASN
 I6	  66663 1_STRING_TABLE_freefunc_type(freefunc)))
 I6	  66664 #define sk_ASN1_STRING_TABLE_set_cmp_func(sk, cmp) ((sk_ASN1_STRING_TABLE_compfunc)OPENSSL_sk_set_cmp_func(ossl_chec
 I6	  66664 k_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_compfunc_type(cmp)))
 I6	  66665 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1213
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66666 
 I6	  66667 /* size limits: this stuff is taken straight from RFC2459 */
 I6	  66668 
 I6	  66669 # define ub_name                         32768
 I6	  66670 # define ub_common_name                  64
 I6	  66671 # define ub_locality_name                128
 I6	  66672 # define ub_state_name                   128
 I6	  66673 # define ub_organization_name            64
 I6	  66674 # define ub_organization_unit_name       64
 I6	  66675 # define ub_title                        64
 I6	  66676 # define ub_email_address                128
 I6	  66677 
 I6	  66678 /*
 I6	  66679  * Declarations for template structures: for full definitions see asn1t.h
 I6	  66680  */
 I6	  66681 typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE;
 I6	  66682 typedef struct ASN1_TLC_st ASN1_TLC;
 I6	  66683 /* This is just an opaque pointer */
 I6	  66684 typedef struct ASN1_VALUE_st ASN1_VALUE;
 I6	  66685 
 I6	  66686 /* Declare ASN1 functions: the implement macro in in asn1t.h */
 I6	  66687 
 I6	  66688 /*
 I6	  66689  * The mysterious 'extern' that's passed to some macros is innocuous,
 I6	  66690  * and is there to quiet pre-C99 compilers that may complain about empty
 I6	  66691  * arguments in macro calls.
 I6	  66692  */
 I6	  66693 
 I6	  66694 # define DECLARE_ASN1_FUNCTIONS_attr(attr, type)                            \
 I6	  66695     DECLARE_ASN1_FUNCTIONS_name_attr(attr, type, type)
 I6	  66696 # define DECLARE_ASN1_FUNCTIONS(type)                                       \
 I6	  66697     DECLARE_ASN1_FUNCTIONS_attr(extern, type)
 I6	  66698 
 I6	  66699 # define DECLARE_ASN1_ALLOC_FUNCTIONS_attr(attr, type)                      \
 I6	  66700     DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(attr, type, type)
 I6	  66701 # define DECLARE_ASN1_ALLOC_FUNCTIONS(type)                                 \
 I6	  66702     DECLARE_ASN1_ALLOC_FUNCTIONS_attr(extern, type)
 I6	  66703 
 I6	  66704 # define DECLARE_ASN1_FUNCTIONS_name_attr(attr, type, name)                 \
 I6	  66705     DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(attr, type, name)                \
 I6	  66706     DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(attr, type, name)
 I6	  66707 # define DECLARE_ASN1_FUNCTIONS_name(type, name)                            \
 I6	  66708     DECLARE_ASN1_FUNCTIONS_name_attr(extern, type, name)
 I6	  66709 
 I6	  66710 # define DECLARE_ASN1_ENCODE_FUNCTIONS_attr(attr, type, itname, name)       \
 I6	  66711     DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(attr, type, name)               \
 I6	  66712     DECLARE_ASN1_ITEM_attr(attr, itname)
 I6	  66713 # define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name)                  \
 I6	  66714     DECLARE_ASN1_ENCODE_FUNCTIONS_attr(extern, type, itname, name)
 I6	  66715 
 I6	  66716 # define DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(attr, type, name)          \
 I6	  66717     DECLARE_ASN1_ENCODE_FUNCTIONS_attr(attr, type, name, name)
 I6	  66718 # define DECLARE_ASN1_ENCODE_FUNCTIONS_name(type, name) \
 I6	  66719     DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(extern, type, name)
 I6	  66720 
 I6	  66721 # define DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(attr, type, name)          \
 I6	  66722     attr type *d2i_##name(type **a, const unsigned char **in, long len);    \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1214
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66723     attr int i2d_##name(const type *a, unsigned char **out);
 I6	  66724 # define DECLARE_ASN1_ENCODE_FUNCTIONS_only(type, name)                     \
 I6	  66725     DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(extern, type, name)
 I6	  66726 
 I6	  66727 # define DECLARE_ASN1_NDEF_FUNCTION_attr(attr, name)                        \
 I6	  66728     attr int i2d_##name##_NDEF(const name *a, unsigned char **out);
 I6	  66729 # define DECLARE_ASN1_NDEF_FUNCTION(name)                                   \
 I6	  66730     DECLARE_ASN1_NDEF_FUNCTION_attr(extern, name)
 I6	  66731 
 I6	  66732 # define DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(attr, type, name)           \
 I6	  66733     attr type *name##_new(void);                                            \
 I6	  66734     attr void name##_free(type *a);
 I6	  66735 # define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name)                      \
 I6	  66736     DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(extern, type, name)
 I6	  66737 
 I6	  66738 # define DECLARE_ASN1_DUP_FUNCTION_attr(attr, type)                         \
 I6	  66739     DECLARE_ASN1_DUP_FUNCTION_name_attr(attr, type, type)
 I6	  66740 # define DECLARE_ASN1_DUP_FUNCTION(type)                                    \
 I6	  66741     DECLARE_ASN1_DUP_FUNCTION_attr(extern, type)
 I6	  66742 
 I6	  66743 # define DECLARE_ASN1_DUP_FUNCTION_name_attr(attr, type, name)              \
 I6	  66744     attr type *name##_dup(const type *a);
 I6	  66745 # define DECLARE_ASN1_DUP_FUNCTION_name(type, name)                         \
 I6	  66746     DECLARE_ASN1_DUP_FUNCTION_name_attr(extern, type, name)
 I6	  66747 
 I6	  66748 # define DECLARE_ASN1_PRINT_FUNCTION_attr(attr, stname)                     \
 I6	  66749     DECLARE_ASN1_PRINT_FUNCTION_fname_attr(attr, stname, stname)
 I6	  66750 # define DECLARE_ASN1_PRINT_FUNCTION(stname)                                \
 I6	  66751     DECLARE_ASN1_PRINT_FUNCTION_attr(extern, stname)
 I6	  66752 
 I6	  66753 # define DECLARE_ASN1_PRINT_FUNCTION_fname_attr(attr, stname, fname)        \
 I6	  66754     attr int fname##_print_ctx(BIO *out, const stname *x, int indent,       \
 I6	  66755                                const ASN1_PCTX *pctx);
 I6	  66756 # define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname)                   \
 I6	  66757     DECLARE_ASN1_PRINT_FUNCTION_fname_attr(extern, stname, fname)
 I6	  66758 
 I6	  66759 # define D2I_OF(type) type *(*)(type **,const unsigned char **,long)
 I6	  66760 # define I2D_OF(type) int (*)(const type *,unsigned char **)
 I6	  66761 
 I6	  66762 # define CHECKED_D2I_OF(type, d2i) \
 I6	  66763     ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0)))
 I6	  66764 # define CHECKED_I2D_OF(type, i2d) \
 I6	  66765     ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0)))
 I6	  66766 # define CHECKED_NEW_OF(type, xnew) \
 I6	  66767     ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0)))
 I6	  66768 # define CHECKED_PTR_OF(type, p) \
 I6	  66769     ((void*) (1 ? p : (type*)0))
 I6	  66770 # define CHECKED_PPTR_OF(type, p) \
 I6	  66771     ((void**) (1 ? p : (type**)0))
 I6	  66772 
 I6	  66773 # define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long)
 I6	  66774 # define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(const type *,unsigned char **)
 I6	  66775 # define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type)
 I6	  66776 
 I6	  66777 typedef void *d2i_of_void(void **, const unsigned char **, long);
 I6	  66778 typedef int i2d_of_void(const void *, unsigned char **);
 I6	  66779 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1215
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66780 /*-
 I6	  66781  * The following macros and typedefs allow an ASN1_ITEM
 I6	  66782  * to be embedded in a structure and referenced. Since
 I6	  66783  * the ASN1_ITEM pointers need to be globally accessible
 I6	  66784  * (possibly from shared libraries) they may exist in
 I6	  66785  * different forms. On platforms that support it the
 I6	  66786  * ASN1_ITEM structure itself will be globally exported.
 I6	  66787  * Other platforms will export a function that returns
 I6	  66788  * an ASN1_ITEM pointer.
 I6	  66789  *
 I6	  66790  * To handle both cases transparently the macros below
 I6	  66791  * should be used instead of hard coding an ASN1_ITEM
 I6	  66792  * pointer in a structure.
 I6	  66793  *
 I6	  66794  * The structure will look like this:
 I6	  66795  *
 I6	  66796  * typedef struct SOMETHING_st {
 I6	  66797  *      ...
 I6	  66798  *      ASN1_ITEM_EXP *iptr;
 I6	  66799  *      ...
 I6	  66800  * } SOMETHING;
 I6	  66801  *
 I6	  66802  * It would be initialised as e.g.:
 I6	  66803  *
 I6	  66804  * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...};
 I6	  66805  *
 I6	  66806  * and the actual pointer extracted with:
 I6	  66807  *
 I6	  66808  * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr);
 I6	  66809  *
 I6	  66810  * Finally an ASN1_ITEM pointer can be extracted from an
 I6	  66811  * appropriate reference with: ASN1_ITEM_rptr(X509). This
 I6	  66812  * would be used when a function takes an ASN1_ITEM * argument.
 I6	  66813  *
 I6	  66814  */
 I6	  66815 
 I6	  66816 
 I6	  66817 /*
 I6	  66818  * Platforms that can't easily handle shared global variables are declared as
 I6	  66819  * functions returning ASN1_ITEM pointers.
 I6	  66820  */
 I6	  66821 
 I6	  66822 /* ASN1_ITEM pointer exported type */
 I6	  66823 typedef const ASN1_ITEM *ASN1_ITEM_EXP (void);
 I6	  66824 
 I6	  66825 /* Macro to obtain ASN1_ITEM pointer from exported type */
 I6	  66826 # define ASN1_ITEM_ptr(iptr) (iptr())
 I6	  66827 
 I6	  66828 /* Macro to include ASN1_ITEM pointer from base type */
 I6	  66829 # define ASN1_ITEM_ref(iptr) (iptr##_it)
 I6	  66830 
 I6	  66831 # define ASN1_ITEM_rptr(ref) (ref##_it())
 I6	  66832 
 I6	  66833 # define DECLARE_ASN1_ITEM_attr(attr, name)                                 \
 I6	  66834     attr const ASN1_ITEM * name##_it(void);
 I6	  66835 # define DECLARE_ASN1_ITEM(name)                                            \
 I6	  66836     DECLARE_ASN1_ITEM_attr(extern, name)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1216
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66837 
 I6	  66838 /* Parameters used by ASN1_STRING_print_ex() */
 I6	  66839 
 I6	  66840 /*
 I6	  66841  * These determine which characters to escape: RFC2253 special characters,
 I6	  66842  * control characters and MSB set characters
 I6	  66843  */
 I6	  66844 
 I6	  66845 # define ASN1_STRFLGS_ESC_2253           1
 I6	  66846 # define ASN1_STRFLGS_ESC_CTRL           2
 I6	  66847 # define ASN1_STRFLGS_ESC_MSB            4
 I6	  66848 
 I6	  66849 /* Lower 8 bits are reserved as an output type specifier */
 I6	  66850 # define ASN1_DTFLGS_TYPE_MASK    0x0FUL
 I6	  66851 # define ASN1_DTFLGS_RFC822       0x00UL
 I6	  66852 # define ASN1_DTFLGS_ISO8601      0x01UL
 I6	  66853 
 I6	  66854 /*
 I6	  66855  * This flag determines how we do escaping: normally RC2253 backslash only,
 I6	  66856  * set this to use backslash and quote.
 I6	  66857  */
 I6	  66858 
 I6	  66859 # define ASN1_STRFLGS_ESC_QUOTE          8
 I6	  66860 
 I6	  66861 /* These three flags are internal use only. */
 I6	  66862 
 I6	  66863 /* Character is a valid PrintableString character */
 I6	  66864 # define CHARTYPE_PRINTABLESTRING        0x10
 I6	  66865 /* Character needs escaping if it is the first character */
 I6	  66866 # define CHARTYPE_FIRST_ESC_2253         0x20
 I6	  66867 /* Character needs escaping if it is the last character */
 I6	  66868 # define CHARTYPE_LAST_ESC_2253          0x40
 I6	  66869 
 I6	  66870 /*
 I6	  66871  * NB the internal flags are safely reused below by flags handled at the top
 I6	  66872  * level.
 I6	  66873  */
 I6	  66874 
 I6	  66875 /*
 I6	  66876  * If this is set we convert all character strings to UTF8 first
 I6	  66877  */
 I6	  66878 
 I6	  66879 # define ASN1_STRFLGS_UTF8_CONVERT       0x10
 I6	  66880 
 I6	  66881 /*
 I6	  66882  * If this is set we don't attempt to interpret content: just assume all
 I6	  66883  * strings are 1 byte per character. This will produce some pretty odd
 I6	  66884  * looking output!
 I6	  66885  */
 I6	  66886 
 I6	  66887 # define ASN1_STRFLGS_IGNORE_TYPE        0x20
 I6	  66888 
 I6	  66889 /* If this is set we include the string type in the output */
 I6	  66890 # define ASN1_STRFLGS_SHOW_TYPE          0x40
 I6	  66891 
 I6	  66892 /*
 I6	  66893  * This determines which strings to display and which to 'dump' (hex dump of

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1217
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66894  * content octets or DER encoding). We can only dump non character strings or
 I6	  66895  * everything. If we don't dump 'unknown' they are interpreted as character
 I6	  66896  * strings with 1 octet per character and are subject to the usual escaping
 I6	  66897  * options.
 I6	  66898  */
 I6	  66899 
 I6	  66900 # define ASN1_STRFLGS_DUMP_ALL           0x80
 I6	  66901 # define ASN1_STRFLGS_DUMP_UNKNOWN       0x100
 I6	  66902 
 I6	  66903 /*
 I6	  66904  * These determine what 'dumping' does, we can dump the content octets or the
 I6	  66905  * DER encoding: both use the RFC2253 #XXXXX notation.
 I6	  66906  */
 I6	  66907 
 I6	  66908 # define ASN1_STRFLGS_DUMP_DER           0x200
 I6	  66909 
 I6	  66910 /*
 I6	  66911  * This flag specifies that RC2254 escaping shall be performed.
 I6	  66912  */
 I6	  66913 #define ASN1_STRFLGS_ESC_2254           0x400
 I6	  66914 
 I6	  66915 /*
 I6	  66916  * All the string flags consistent with RFC2253, escaping control characters
 I6	  66917  * isn't essential in RFC2253 but it is advisable anyway.
 I6	  66918  */
 I6	  66919 
 I6	  66920 # define ASN1_STRFLGS_RFC2253    (ASN1_STRFLGS_ESC_2253 | \
 I6	  66921                                 ASN1_STRFLGS_ESC_CTRL | \
 I6	  66922                                 ASN1_STRFLGS_ESC_MSB | \
 I6	  66923                                 ASN1_STRFLGS_UTF8_CONVERT | \
 I6	  66924                                 ASN1_STRFLGS_DUMP_UNKNOWN | \
 I6	  66925                                 ASN1_STRFLGS_DUMP_DER)
 I6	  66926 
 I6	  66927 
 I6	  66928 struct asn1_type_st {
 I6	  66929     int type;
 I6	  66930     union {
 I6	  66931         char *ptr;
 I6	  66932         ASN1_BOOLEAN boolean;
 I6	  66933         ASN1_STRING *asn1_string;
 I6	  66934         ASN1_OBJECT *object;
 I6	  66935         ASN1_INTEGER *integer;
 I6	  66936         ASN1_ENUMERATED *enumerated;
 I6	  66937         ASN1_BIT_STRING *bit_string;
 I6	  66938         ASN1_OCTET_STRING *octet_string;
 I6	  66939         ASN1_PRINTABLESTRING *printablestring;
 I6	  66940         ASN1_T61STRING *t61string;
 I6	  66941         ASN1_IA5STRING *ia5string;
 I6	  66942         ASN1_GENERALSTRING *generalstring;
 I6	  66943         ASN1_BMPSTRING *bmpstring;
 I6	  66944         ASN1_UNIVERSALSTRING *universalstring;
 I6	  66945         ASN1_UTCTIME *utctime;
 I6	  66946         ASN1_GENERALIZEDTIME *generalizedtime;
 I6	  66947         ASN1_VISIBLESTRING *visiblestring;
 I6	  66948         ASN1_UTF8STRING *utf8string;
 I6	  66949         /*
 I6	  66950          * set and sequence are left complete and still contain the set or

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1218
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  66951          * sequence bytes
 I6	  66952          */
 I6	  66953         ASN1_STRING *set;
 I6	  66954         ASN1_STRING *sequence;
 I6	  66955         ASN1_VALUE *asn1_value;
 I6	  66956     } value;
 I6	  66957 };
 I6	  66958 
 I6   1	  66959 SKM_DEFINE_STACK_OF_INTERNAL(ASN1_TYPE, ASN1_TYPE, ASN1_TYPE)
       E	 struct stack_st_ASN1_TYPE ; typedef int ( * sk_ASN1_TYPE_compfunc ) ( const ASN1_TYPE * const * a , const ASN1_TYPE
       E	 * const * b ) ; typedef void ( * sk_ASN1_TYPE_freefunc ) ( ASN1_TYPE * a ) ; typedef ASN1_TYPE * ( * sk_ASN1_TYPE_c
       E	opyfunc ) ( const ASN1_TYPE * a ) ; static __inline ASN1_TYPE * ossl_check_ASN1_TYPE_type ( ASN1_TYPE * ptr ) { retu
       E	rn ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_ASN1_TYPE_sk_type ( const struct stack_st_ASN1_TYP
       E	E * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_ASN1_TYPE_sk_type ( st
       E	ruct stack_st_ASN1_TYPE * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_AS
       E	N1_TYPE_compfunc_type ( sk_ASN1_TYPE_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL
       E	_sk_copyfunc ossl_check_ASN1_TYPE_copyfunc_type ( sk_ASN1_TYPE_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ;
       E	 } static __inline OPENSSL_sk_freefunc ossl_check_ASN1_TYPE_freefunc_type ( sk_ASN1_TYPE_freefunc fr ) { return ( OP
       E	ENSSL_sk_freefunc ) fr ; }
 I6	  66960 #define sk_ASN1_TYPE_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_TYPE_sk_type(sk))
 I6	  66961 #define sk_ASN1_TYPE_value(sk, idx) ((ASN1_TYPE *)OPENSSL_sk_value(ossl_check_const_ASN1_TYPE_sk_type(sk), (idx)))
 I6	  66962 #define sk_ASN1_TYPE_new(cmp) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_new(ossl_check_ASN1_TYPE_compfunc_type(cmp)))
 I6	  66963 #define sk_ASN1_TYPE_new_null() ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_new_null())
 I6	  66964 #define sk_ASN1_TYPE_new_reserve(cmp, n) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_TYPE_compfun
 I6	  66964 c_type(cmp), (n)))
 I6	  66965 #define sk_ASN1_TYPE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_TYPE_sk_type(sk), (n))
 I6	  66966 #define sk_ASN1_TYPE_free(sk) OPENSSL_sk_free(ossl_check_ASN1_TYPE_sk_type(sk))
 I6	  66967 #define sk_ASN1_TYPE_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_TYPE_sk_type(sk))
 I6	  66968 #define sk_ASN1_TYPE_delete(sk, i) ((ASN1_TYPE *)OPENSSL_sk_delete(ossl_check_ASN1_TYPE_sk_type(sk), (i)))
 I6	  66969 #define sk_ASN1_TYPE_delete_ptr(sk, ptr) ((ASN1_TYPE *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_TYPE_sk_type(sk), ossl_
 I6	  66969 check_ASN1_TYPE_type(ptr)))
 I6	  66970 #define sk_ASN1_TYPE_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr))
 I6	  66971 #define sk_ASN1_TYPE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type
 I6	  66971 (ptr))
 I6	  66972 #define sk_ASN1_TYPE_pop(sk) ((ASN1_TYPE *)OPENSSL_sk_pop(ossl_check_ASN1_TYPE_sk_type(sk)))
 I6	  66973 #define sk_ASN1_TYPE_shift(sk) ((ASN1_TYPE *)OPENSSL_sk_shift(ossl_check_ASN1_TYPE_sk_type(sk)))
 I6	  66974 #define sk_ASN1_TYPE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_TYPE_sk_type(sk),ossl_check_ASN1_TYP
 I6	  66974 E_freefunc_type(freefunc))
 I6	  66975 #define sk_ASN1_TYPE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_t
 I6	  66975 ype(ptr), (idx))
 I6	  66976 #define sk_ASN1_TYPE_set(sk, idx, ptr) ((ASN1_TYPE *)OPENSSL_sk_set(ossl_check_ASN1_TYPE_sk_type(sk), (idx), ossl_ch
 I6	  66976 eck_ASN1_TYPE_type(ptr)))
 I6	  66977 #define sk_ASN1_TYPE_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr))
 I6	  66978 #define sk_ASN1_TYPE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type
 I6	  66978 (ptr))
 I6	  66979 #define sk_ASN1_TYPE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_T
 I6	  66979 YPE_type(ptr), pnum)
 I6	  66980 #define sk_ASN1_TYPE_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_TYPE_sk_type(sk))
 I6	  66981 #define sk_ASN1_TYPE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_TYPE_sk_type(sk))
 I6	  66982 #define sk_ASN1_TYPE_dup(sk) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_dup(ossl_check_const_ASN1_TYPE_sk_type(sk)))
 I6	  66983 #define sk_ASN1_TYPE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_deep_copy(ossl_check_const
 I6	  66983 _ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_copyfunc_type(copyfunc), ossl_check_ASN1_TYPE_freefunc_type(freefunc)))
 I6	  66984 #define sk_ASN1_TYPE_set_cmp_func(sk, cmp) ((sk_ASN1_TYPE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_TYPE_sk_t
 I6	  66984 ype(sk), ossl_check_ASN1_TYPE_compfunc_type(cmp)))
 I6	  66985 
 I6	  66986 
 I6	  66987 typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1219
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

       E	         struct stack_st_ASN1_TYPE
 I6	  66988 
 I6	  66989 DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY)
       E	 extern ASN1_SEQUENCE_ANY * d2i_ASN1_SEQUENCE_ANY ( ASN1_SEQUENCE_ANY * * a , const unsigned char * * in , long len 
       E	) ; extern int i2d_ASN1_SEQUENCE_ANY ( const ASN1_SEQUENCE_ANY * a , unsigned char * * out ) ; extern const ASN1_ITE
       E	M * ASN1_SEQUENCE_ANY_it ( void ) ;
 I6	  66990 DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SET_ANY)
       E	 extern ASN1_SEQUENCE_ANY * d2i_ASN1_SET_ANY ( ASN1_SEQUENCE_ANY * * a , const unsigned char * * in , long len ) ; e
       E	xtern int i2d_ASN1_SET_ANY ( const ASN1_SEQUENCE_ANY * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_S
       E	ET_ANY_it ( void ) ;
 I6	  66991 
 I6	  66992 /* This is used to contain a list of bit names */
 I6	  66993 typedef struct BIT_STRING_BITNAME_st {
 I6	  66994     int bitnum;
 I6	  66995     const char *lname;
 I6	  66996     const char *sname;
 I6	  66997 } BIT_STRING_BITNAME;
 I6	  66998 
 I6	  66999 # define B_ASN1_TIME \
 I6	  67000                         B_ASN1_UTCTIME | \
 I6	  67001                         B_ASN1_GENERALIZEDTIME
 I6	  67002 
 I6	  67003 # define B_ASN1_PRINTABLE \
 I6	  67004                         B_ASN1_NUMERICSTRING| \
 I6	  67005                         B_ASN1_PRINTABLESTRING| \
 I6	  67006                         B_ASN1_T61STRING| \
 I6	  67007                         B_ASN1_IA5STRING| \
 I6	  67008                         B_ASN1_BIT_STRING| \
 I6	  67009                         B_ASN1_UNIVERSALSTRING|\
 I6	  67010                         B_ASN1_BMPSTRING|\
 I6	  67011                         B_ASN1_UTF8STRING|\
 I6	  67012                         B_ASN1_SEQUENCE|\
 I6	  67013                         B_ASN1_UNKNOWN
 I6	  67014 
 I6	  67015 # define B_ASN1_DIRECTORYSTRING \
 I6	  67016                         B_ASN1_PRINTABLESTRING| \
 I6	  67017                         B_ASN1_TELETEXSTRING|\
 I6	  67018                         B_ASN1_BMPSTRING|\
 I6	  67019                         B_ASN1_UNIVERSALSTRING|\
 I6	  67020                         B_ASN1_UTF8STRING
 I6	  67021 
 I6	  67022 # define B_ASN1_DISPLAYTEXT \
 I6	  67023                         B_ASN1_IA5STRING| \
 I6	  67024                         B_ASN1_VISIBLESTRING| \
 I6	  67025                         B_ASN1_BMPSTRING|\
 I6	  67026                         B_ASN1_UTF8STRING
 I6	  67027 
 I6	  67028 DECLARE_ASN1_ALLOC_FUNCTIONS_name(ASN1_TYPE, ASN1_TYPE)
       E	 extern ASN1_TYPE * ASN1_TYPE_new ( void ) ; extern void ASN1_TYPE_free ( ASN1_TYPE * a ) ;
 I6	  67029 DECLARE_ASN1_ENCODE_FUNCTIONS(ASN1_TYPE, ASN1_ANY, ASN1_TYPE)
       E	 extern ASN1_TYPE * d2i_ASN1_TYPE ( ASN1_TYPE * * a , const unsigned char * * in , long len ) ; extern int i2d_ASN1_
       E	TYPE ( const ASN1_TYPE * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_ANY_it ( void ) ;
 I6	  67030 
 I6	  67031 int ASN1_TYPE_get(const ASN1_TYPE *a);
 I6	  67032 void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value);
 I6	  67033 int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value);
 I6	  67034 int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1220
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67035 
 I6	  67036 ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t);
 I6	  67037 void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t);
 I6	  67038 
 I6   1	  67039 SKM_DEFINE_STACK_OF_INTERNAL(ASN1_OBJECT, ASN1_OBJECT, ASN1_OBJECT)
       E	 struct stack_st_ASN1_OBJECT ; typedef int ( * sk_ASN1_OBJECT_compfunc ) ( const ASN1_OBJECT * const * a , const ASN
       E	1_OBJECT * const * b ) ; typedef void ( * sk_ASN1_OBJECT_freefunc ) ( ASN1_OBJECT * a ) ; typedef ASN1_OBJECT * ( * 
       E	sk_ASN1_OBJECT_copyfunc ) ( const ASN1_OBJECT * a ) ; static __inline ASN1_OBJECT * ossl_check_ASN1_OBJECT_type ( AS
       E	N1_OBJECT * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_ASN1_OBJECT_sk_type ( cons
       E	t struct stack_st_ASN1_OBJECT * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_
       E	check_ASN1_OBJECT_sk_type ( struct stack_st_ASN1_OBJECT * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline O
       E	PENSSL_sk_compfunc ossl_check_ASN1_OBJECT_compfunc_type ( sk_ASN1_OBJECT_compfunc cmp ) { return ( OPENSSL_sk_compfu
       E	nc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_ASN1_OBJECT_copyfunc_type ( sk_ASN1_OBJECT_copyfunc cpy 
       E	) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_ASN1_OBJECT_freefunc_type 
       E	( sk_ASN1_OBJECT_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I6	  67040 #define sk_ASN1_OBJECT_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_OBJECT_sk_type(sk))
 I6	  67041 #define sk_ASN1_OBJECT_value(sk, idx) ((ASN1_OBJECT *)OPENSSL_sk_value(ossl_check_const_ASN1_OBJECT_sk_type(sk), (id
 I6	  67041 x)))
 I6	  67042 #define sk_ASN1_OBJECT_new(cmp) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_new(ossl_check_ASN1_OBJECT_compfunc_type(cmp)))
 I6	  67043 #define sk_ASN1_OBJECT_new_null() ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_new_null())
 I6	  67044 #define sk_ASN1_OBJECT_new_reserve(cmp, n) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_OBJECT_c
 I6	  67044 ompfunc_type(cmp), (n)))
 I6	  67045 #define sk_ASN1_OBJECT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_OBJECT_sk_type(sk), (n))
 I6	  67046 #define sk_ASN1_OBJECT_free(sk) OPENSSL_sk_free(ossl_check_ASN1_OBJECT_sk_type(sk))
 I6	  67047 #define sk_ASN1_OBJECT_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_OBJECT_sk_type(sk))
 I6	  67048 #define sk_ASN1_OBJECT_delete(sk, i) ((ASN1_OBJECT *)OPENSSL_sk_delete(ossl_check_ASN1_OBJECT_sk_type(sk), (i)))
 I6	  67049 #define sk_ASN1_OBJECT_delete_ptr(sk, ptr) ((ASN1_OBJECT *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_OBJECT_sk_type(sk),
 I6	  67049  ossl_check_ASN1_OBJECT_type(ptr)))
 I6	  67050 #define sk_ASN1_OBJECT_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type
 I6	  67050 (ptr))
 I6	  67051 #define sk_ASN1_OBJECT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJEC
 I6	  67051 T_type(ptr))
 I6	  67052 #define sk_ASN1_OBJECT_pop(sk) ((ASN1_OBJECT *)OPENSSL_sk_pop(ossl_check_ASN1_OBJECT_sk_type(sk)))
 I6	  67053 #define sk_ASN1_OBJECT_shift(sk) ((ASN1_OBJECT *)OPENSSL_sk_shift(ossl_check_ASN1_OBJECT_sk_type(sk)))
 I6	  67054 #define sk_ASN1_OBJECT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_OBJECT_sk_type(sk),ossl_check_ASN1
 I6	  67054 _OBJECT_freefunc_type(freefunc))
 I6	  67055 #define sk_ASN1_OBJECT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OB
 I6	  67055 JECT_type(ptr), (idx))
 I6	  67056 #define sk_ASN1_OBJECT_set(sk, idx, ptr) ((ASN1_OBJECT *)OPENSSL_sk_set(ossl_check_ASN1_OBJECT_sk_type(sk), (idx), o
 I6	  67056 ssl_check_ASN1_OBJECT_type(ptr)))
 I6	  67057 #define sk_ASN1_OBJECT_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type
 I6	  67057 (ptr))
 I6	  67058 #define sk_ASN1_OBJECT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJEC
 I6	  67058 T_type(ptr))
 I6	  67059 #define sk_ASN1_OBJECT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_AS
 I6	  67059 N1_OBJECT_type(ptr), pnum)
 I6	  67060 #define sk_ASN1_OBJECT_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_OBJECT_sk_type(sk))
 I6	  67061 #define sk_ASN1_OBJECT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_OBJECT_sk_type(sk))
 I6	  67062 #define sk_ASN1_OBJECT_dup(sk) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_dup(ossl_check_const_ASN1_OBJECT_sk_type(sk)))
 I6	  67063 #define sk_ASN1_OBJECT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_deep_copy(ossl_check_c
 I6	  67063 onst_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_copyfunc_type(copyfunc), ossl_check_ASN1_OBJECT_freefunc_type(f
 I6	  67063 reefunc)))
 I6	  67064 #define sk_ASN1_OBJECT_set_cmp_func(sk, cmp) ((sk_ASN1_OBJECT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_OBJEC
 I6	  67064 T_sk_type(sk), ossl_check_ASN1_OBJECT_compfunc_type(cmp)))
 I6	  67065 
 I6	  67066 
 I6	  67067 DECLARE_ASN1_FUNCTIONS(ASN1_OBJECT)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1221
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

       E	 extern ASN1_OBJECT * ASN1_OBJECT_new ( void ) ; extern void ASN1_OBJECT_free ( ASN1_OBJECT * a ) ; extern ASN1_OBJE
       E	CT * d2i_ASN1_OBJECT ( ASN1_OBJECT * * a , const unsigned char * * in , long len ) ; extern int i2d_ASN1_OBJECT ( co
       E	nst ASN1_OBJECT * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_OBJECT_it ( void ) ;
 I6	  67068 
 I6	  67069 ASN1_STRING *ASN1_STRING_new(void);
 I6	  67070 void ASN1_STRING_free(ASN1_STRING *a);
 I6	  67071 void ASN1_STRING_clear_free(ASN1_STRING *a);
 I6	  67072 int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str);
 I6	  67073 DECLARE_ASN1_DUP_FUNCTION(ASN1_STRING)
       E	 extern ASN1_STRING * ASN1_STRING_dup ( const ASN1_STRING * a ) ;
 I6	  67074 ASN1_STRING *ASN1_STRING_type_new(int type);
 I6	  67075 int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b);
 I6	  67076   /*
 I6	  67077    * Since this is used to store all sorts of things, via macros, for now,
 I6	  67078    * make its data void *
 I6	  67079    */
 I6	  67080 int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len);
 I6	  67081 void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len);
 I6	  67082 int ASN1_STRING_length(const ASN1_STRING *x);
 I6	  67083 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I6	  67084 OSSL_DEPRECATEDIN_3_0 void ASN1_STRING_length_set(ASN1_STRING *x, int n);
       E	 extern
 I6	  67085 # endif
 I6	  67086 int ASN1_STRING_type(const ASN1_STRING *x);
 I6	  67087 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I6	  67088 OSSL_DEPRECATEDIN_1_1_0 unsigned char *ASN1_STRING_data(ASN1_STRING *x);
       E	 extern
 I6	  67089 # endif
 I6	  67090 const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x);
 I6	  67091 
 I6	  67092 DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING)
       E	 extern ASN1_BIT_STRING * ASN1_BIT_STRING_new ( void ) ; extern void ASN1_BIT_STRING_free ( ASN1_BIT_STRING * a ) ; 
       E	extern ASN1_BIT_STRING * d2i_ASN1_BIT_STRING ( ASN1_BIT_STRING * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_ASN1_BIT_STRING ( const ASN1_BIT_STRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_BI
       E	T_STRING_it ( void ) ;
 I6	  67093 int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length);
 I6	  67094 int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value);
 I6	  67095 int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n);
 I6	  67096 int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a,
 I6	  67097                           const unsigned char *flags, int flags_len);
 I6	  67098 
 I6	  67099 int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
 I6	  67100                                BIT_STRING_BITNAME *tbl, int indent);
 I6	  67101 int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl);
 I6	  67102 int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value,
 I6	  67103                             BIT_STRING_BITNAME *tbl);
 I6	  67104 
 I6   1	  67105 SKM_DEFINE_STACK_OF_INTERNAL(ASN1_INTEGER, ASN1_INTEGER, ASN1_INTEGER)
       E	 struct stack_st_ASN1_INTEGER ; typedef int ( * sk_ASN1_INTEGER_compfunc ) ( const ASN1_INTEGER * const * a , const 
       E	ASN1_INTEGER * const * b ) ; typedef void ( * sk_ASN1_INTEGER_freefunc ) ( ASN1_INTEGER * a ) ; typedef ASN1_INTEGER
       E	 * ( * sk_ASN1_INTEGER_copyfunc ) ( const ASN1_INTEGER * a ) ; static __inline ASN1_INTEGER * ossl_check_ASN1_INTEGE
       E	R_type ( ASN1_INTEGER * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_ASN1_INTEGER_s
       E	k_type ( const struct stack_st_ASN1_INTEGER * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL
       E	_STACK * ossl_check_ASN1_INTEGER_sk_type ( struct stack_st_ASN1_INTEGER * sk ) { return ( OPENSSL_STACK * ) sk ; } s
       E	tatic __inline OPENSSL_sk_compfunc ossl_check_ASN1_INTEGER_compfunc_type ( sk_ASN1_INTEGER_compfunc cmp ) { return (
       E	 OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_ASN1_INTEGER_copyfunc_type ( sk_ASN1_I
       E	NTEGER_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_ASN1_I

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1222
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

       E	NTEGER_freefunc_type ( sk_ASN1_INTEGER_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I6	  67106 #define sk_ASN1_INTEGER_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_INTEGER_sk_type(sk))
 I6	  67107 #define sk_ASN1_INTEGER_value(sk, idx) ((ASN1_INTEGER *)OPENSSL_sk_value(ossl_check_const_ASN1_INTEGER_sk_type(sk), 
 I6	  67107 (idx)))
 I6	  67108 #define sk_ASN1_INTEGER_new(cmp) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_new(ossl_check_ASN1_INTEGER_compfunc_type(cmp
 I6	  67108 )))
 I6	  67109 #define sk_ASN1_INTEGER_new_null() ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_new_null())
 I6	  67110 #define sk_ASN1_INTEGER_new_reserve(cmp, n) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_INTEGE
 I6	  67110 R_compfunc_type(cmp), (n)))
 I6	  67111 #define sk_ASN1_INTEGER_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_INTEGER_sk_type(sk), (n))
 I6	  67112 #define sk_ASN1_INTEGER_free(sk) OPENSSL_sk_free(ossl_check_ASN1_INTEGER_sk_type(sk))
 I6	  67113 #define sk_ASN1_INTEGER_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_INTEGER_sk_type(sk))
 I6	  67114 #define sk_ASN1_INTEGER_delete(sk, i) ((ASN1_INTEGER *)OPENSSL_sk_delete(ossl_check_ASN1_INTEGER_sk_type(sk), (i)))
 I6	  67115 #define sk_ASN1_INTEGER_delete_ptr(sk, ptr) ((ASN1_INTEGER *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_INTEGER_sk_type(s
 I6	  67115 k), ossl_check_ASN1_INTEGER_type(ptr)))
 I6	  67116 #define sk_ASN1_INTEGER_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_t
 I6	  67116 ype(ptr))
 I6	  67117 #define sk_ASN1_INTEGER_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INT
 I6	  67117 EGER_type(ptr))
 I6	  67118 #define sk_ASN1_INTEGER_pop(sk) ((ASN1_INTEGER *)OPENSSL_sk_pop(ossl_check_ASN1_INTEGER_sk_type(sk)))
 I6	  67119 #define sk_ASN1_INTEGER_shift(sk) ((ASN1_INTEGER *)OPENSSL_sk_shift(ossl_check_ASN1_INTEGER_sk_type(sk)))
 I6	  67120 #define sk_ASN1_INTEGER_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_INTEGER_sk_type(sk),ossl_check_AS
 I6	  67120 N1_INTEGER_freefunc_type(freefunc))
 I6	  67121 #define sk_ASN1_INTEGER_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_
 I6	  67121 INTEGER_type(ptr), (idx))
 I6	  67122 #define sk_ASN1_INTEGER_set(sk, idx, ptr) ((ASN1_INTEGER *)OPENSSL_sk_set(ossl_check_ASN1_INTEGER_sk_type(sk), (idx)
 I6	  67122 , ossl_check_ASN1_INTEGER_type(ptr)))
 I6	  67123 #define sk_ASN1_INTEGER_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_t
 I6	  67123 ype(ptr))
 I6	  67124 #define sk_ASN1_INTEGER_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INT
 I6	  67124 EGER_type(ptr))
 I6	  67125 #define sk_ASN1_INTEGER_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_
 I6	  67125 ASN1_INTEGER_type(ptr), pnum)
 I6	  67126 #define sk_ASN1_INTEGER_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_INTEGER_sk_type(sk))
 I6	  67127 #define sk_ASN1_INTEGER_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_INTEGER_sk_type(sk))
 I6	  67128 #define sk_ASN1_INTEGER_dup(sk) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_dup(ossl_check_const_ASN1_INTEGER_sk_type(sk))
 I6	  67128 )
 I6	  67129 #define sk_ASN1_INTEGER_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_deep_copy(ossl_check
 I6	  67129 _const_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_copyfunc_type(copyfunc), ossl_check_ASN1_INTEGER_freefunc_t
 I6	  67129 ype(freefunc)))
 I6	  67130 #define sk_ASN1_INTEGER_set_cmp_func(sk, cmp) ((sk_ASN1_INTEGER_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_INT
 I6	  67130 EGER_sk_type(sk), ossl_check_ASN1_INTEGER_compfunc_type(cmp)))
 I6	  67131 
 I6	  67132 
 I6	  67133 
 I6	  67134 DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER)
       E	 extern ASN1_INTEGER * ASN1_INTEGER_new ( void ) ; extern void ASN1_INTEGER_free ( ASN1_INTEGER * a ) ; extern ASN1_
       E	INTEGER * d2i_ASN1_INTEGER ( ASN1_INTEGER * * a , const unsigned char * * in , long len ) ; extern int i2d_ASN1_INTE
       E	GER ( const ASN1_INTEGER * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_INTEGER_it ( void ) ;
 I6	  67135 ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp,
 I6	  67136                                 long length);
 I6	  67137 DECLARE_ASN1_DUP_FUNCTION(ASN1_INTEGER)
       E	 extern ASN1_INTEGER * ASN1_INTEGER_dup ( const ASN1_INTEGER * a ) ;
 I6	  67138 int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y);
 I6	  67139 
 I6	  67140 DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED)
       E	 extern ASN1_ENUMERATED * ASN1_ENUMERATED_new ( void ) ; extern void ASN1_ENUMERATED_free ( ASN1_ENUMERATED * a ) ; 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1223
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

       E	extern ASN1_ENUMERATED * d2i_ASN1_ENUMERATED ( ASN1_ENUMERATED * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_ASN1_ENUMERATED ( const ASN1_ENUMERATED * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_EN
       E	UMERATED_it ( void ) ;
 I6	  67141 
 I6	  67142 int ASN1_UTCTIME_check(const ASN1_UTCTIME *a);
 I6	  67143 ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t);
 I6	  67144 ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
 I6	  67145                                int offset_day, long offset_sec);
 I6	  67146 int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str);
 I6	  67147 int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t);
 I6	  67148 
 I6	  67149 int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a);
 I6	  67150 ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s,
 I6	  67151                                                time_t t);
 I6	  67152 ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s,
 I6	  67153                                                time_t t, int offset_day,
 I6	  67154                                                long offset_sec);
 I6	  67155 int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str);
 I6	  67156 
 I6	  67157 int ASN1_TIME_diff(int *pday, int *psec,
 I6	  67158                    const ASN1_TIME *from, const ASN1_TIME *to);
 I6	  67159 
 I6	  67160 DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING)
       E	 extern ASN1_OCTET_STRING * ASN1_OCTET_STRING_new ( void ) ; extern void ASN1_OCTET_STRING_free ( ASN1_OCTET_STRING 
       E	* a ) ; extern ASN1_OCTET_STRING * d2i_ASN1_OCTET_STRING ( ASN1_OCTET_STRING * * a , const unsigned char * * in , lo
       E	ng len ) ; extern int i2d_ASN1_OCTET_STRING ( const ASN1_OCTET_STRING * a , unsigned char * * out ) ; extern const A
       E	SN1_ITEM * ASN1_OCTET_STRING_it ( void ) ;
 I6	  67161 DECLARE_ASN1_DUP_FUNCTION(ASN1_OCTET_STRING)
       E	 extern ASN1_OCTET_STRING * ASN1_OCTET_STRING_dup ( const ASN1_OCTET_STRING * a ) ;
 I6	  67162 int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a,
 I6	  67163                           const ASN1_OCTET_STRING *b);
 I6	  67164 int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data,
 I6	  67165                           int len);
 I6	  67166 
 I6   1	  67167 SKM_DEFINE_STACK_OF_INTERNAL(ASN1_UTF8STRING, ASN1_UTF8STRING, ASN1_UTF8STRING)
       E	 struct stack_st_ASN1_UTF8STRING ; typedef int ( * sk_ASN1_UTF8STRING_compfunc ) ( const ASN1_UTF8STRING * const * a
       E	 , const ASN1_UTF8STRING * const * b ) ; typedef void ( * sk_ASN1_UTF8STRING_freefunc ) ( ASN1_UTF8STRING * a ) ; ty
       E	pedef ASN1_UTF8STRING * ( * sk_ASN1_UTF8STRING_copyfunc ) ( const ASN1_UTF8STRING * a ) ; static __inline ASN1_UTF8S
       E	TRING * ossl_check_ASN1_UTF8STRING_type ( ASN1_UTF8STRING * ptr ) { return ptr ; } static __inline const OPENSSL_STA
       E	CK * ossl_check_const_ASN1_UTF8STRING_sk_type ( const struct stack_st_ASN1_UTF8STRING * sk ) { return ( const OPENSS
       E	L_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_ASN1_UTF8STRING_sk_type ( struct stack_st_ASN1_UTF8STR
       E	ING * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_ASN1_UTF8STRING_compfu
       E	nc_type ( sk_ASN1_UTF8STRING_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copy
       E	func ossl_check_ASN1_UTF8STRING_copyfunc_type ( sk_ASN1_UTF8STRING_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) c
       E	py ; } static __inline OPENSSL_sk_freefunc ossl_check_ASN1_UTF8STRING_freefunc_type ( sk_ASN1_UTF8STRING_freefunc fr
       E	 ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I6	  67168 #define sk_ASN1_UTF8STRING_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_UTF8STRING_sk_type(sk))
 I6	  67169 #define sk_ASN1_UTF8STRING_value(sk, idx) ((ASN1_UTF8STRING *)OPENSSL_sk_value(ossl_check_const_ASN1_UTF8STRING_sk_t
 I6	  67169 ype(sk), (idx)))
 I6	  67170 #define sk_ASN1_UTF8STRING_new(cmp) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_new(ossl_check_ASN1_UTF8STRING_compfunc
 I6	  67170 _type(cmp)))
 I6	  67171 #define sk_ASN1_UTF8STRING_new_null() ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_new_null())
 I6	  67172 #define sk_ASN1_UTF8STRING_new_reserve(cmp, n) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_
 I6	  67172 UTF8STRING_compfunc_type(cmp), (n)))
 I6	  67173 #define sk_ASN1_UTF8STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_UTF8STRING_sk_type(sk), (n))
 I6	  67174 #define sk_ASN1_UTF8STRING_free(sk) OPENSSL_sk_free(ossl_check_ASN1_UTF8STRING_sk_type(sk))
 I6	  67175 #define sk_ASN1_UTF8STRING_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_UTF8STRING_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1224
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67176 #define sk_ASN1_UTF8STRING_delete(sk, i) ((ASN1_UTF8STRING *)OPENSSL_sk_delete(ossl_check_ASN1_UTF8STRING_sk_type(sk
 I6	  67176 ), (i)))
 I6	  67177 #define sk_ASN1_UTF8STRING_delete_ptr(sk, ptr) ((ASN1_UTF8STRING *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_UTF8STRING_
 I6	  67177 sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr)))
 I6	  67178 #define sk_ASN1_UTF8STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF
 I6	  67178 8STRING_type(ptr))
 I6	  67179 #define sk_ASN1_UTF8STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_AS
 I6	  67179 N1_UTF8STRING_type(ptr))
 I6	  67180 #define sk_ASN1_UTF8STRING_pop(sk) ((ASN1_UTF8STRING *)OPENSSL_sk_pop(ossl_check_ASN1_UTF8STRING_sk_type(sk)))
 I6	  67181 #define sk_ASN1_UTF8STRING_shift(sk) ((ASN1_UTF8STRING *)OPENSSL_sk_shift(ossl_check_ASN1_UTF8STRING_sk_type(sk)))
 I6	  67182 #define sk_ASN1_UTF8STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_UTF8STRING_sk_type(sk),ossl_ch
 I6	  67182 eck_ASN1_UTF8STRING_freefunc_type(freefunc))
 I6	  67183 #define sk_ASN1_UTF8STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check
 I6	  67183 _ASN1_UTF8STRING_type(ptr), (idx))
 I6	  67184 #define sk_ASN1_UTF8STRING_set(sk, idx, ptr) ((ASN1_UTF8STRING *)OPENSSL_sk_set(ossl_check_ASN1_UTF8STRING_sk_type(s
 I6	  67184 k), (idx), ossl_check_ASN1_UTF8STRING_type(ptr)))
 I6	  67185 #define sk_ASN1_UTF8STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF
 I6	  67185 8STRING_type(ptr))
 I6	  67186 #define sk_ASN1_UTF8STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_AS
 I6	  67186 N1_UTF8STRING_type(ptr))
 I6	  67187 #define sk_ASN1_UTF8STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_
 I6	  67187 check_ASN1_UTF8STRING_type(ptr), pnum)
 I6	  67188 #define sk_ASN1_UTF8STRING_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_UTF8STRING_sk_type(sk))
 I6	  67189 #define sk_ASN1_UTF8STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_UTF8STRING_sk_type(sk))
 I6	  67190 #define sk_ASN1_UTF8STRING_dup(sk) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_dup(ossl_check_const_ASN1_UTF8STRING_sk_
 I6	  67190 type(sk)))
 I6	  67191 #define sk_ASN1_UTF8STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_deep_copy(ossl
 I6	  67191 _check_const_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_copyfunc_type(copyfunc), ossl_check_ASN1_UTF8ST
 I6	  67191 RING_freefunc_type(freefunc)))
 I6	  67192 #define sk_ASN1_UTF8STRING_set_cmp_func(sk, cmp) ((sk_ASN1_UTF8STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_AS
 I6	  67192 N1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_compfunc_type(cmp)))
 I6	  67193 
 I6	  67194 
 I6	  67195 DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING)
       E	 extern ASN1_VISIBLESTRING * ASN1_VISIBLESTRING_new ( void ) ; extern void ASN1_VISIBLESTRING_free ( ASN1_VISIBLESTR
       E	ING * a ) ; extern ASN1_VISIBLESTRING * d2i_ASN1_VISIBLESTRING ( ASN1_VISIBLESTRING * * a , const unsigned char * * 
       E	in , long len ) ; extern int i2d_ASN1_VISIBLESTRING ( const ASN1_VISIBLESTRING * a , unsigned char * * out ) ; exter
       E	n const ASN1_ITEM * ASN1_VISIBLESTRING_it ( void ) ;
 I6	  67196 DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING)
       E	 extern ASN1_UNIVERSALSTRING * ASN1_UNIVERSALSTRING_new ( void ) ; extern void ASN1_UNIVERSALSTRING_free ( ASN1_UNIV
       E	ERSALSTRING * a ) ; extern ASN1_UNIVERSALSTRING * d2i_ASN1_UNIVERSALSTRING ( ASN1_UNIVERSALSTRING * * a , const unsi
       E	gned char * * in , long len ) ; extern int i2d_ASN1_UNIVERSALSTRING ( const ASN1_UNIVERSALSTRING * a , unsigned char
       E	 * * out ) ; extern const ASN1_ITEM * ASN1_UNIVERSALSTRING_it ( void ) ;
 I6	  67197 DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING)
       E	 extern ASN1_UTF8STRING * ASN1_UTF8STRING_new ( void ) ; extern void ASN1_UTF8STRING_free ( ASN1_UTF8STRING * a ) ; 
       E	extern ASN1_UTF8STRING * d2i_ASN1_UTF8STRING ( ASN1_UTF8STRING * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_ASN1_UTF8STRING ( const ASN1_UTF8STRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_UT
       E	F8STRING_it ( void ) ;
 I6	  67198 DECLARE_ASN1_FUNCTIONS(ASN1_NULL)
       E	 extern ASN1_NULL * ASN1_NULL_new ( void ) ; extern void ASN1_NULL_free ( ASN1_NULL * a ) ; extern ASN1_NULL * d2i_A
       E	SN1_NULL ( ASN1_NULL * * a , const unsigned char * * in , long len ) ; extern int i2d_ASN1_NULL ( const ASN1_NULL * 
       E	a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_NULL_it ( void ) ;
 I6	  67199 DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING)
       E	 extern ASN1_BMPSTRING * ASN1_BMPSTRING_new ( void ) ; extern void ASN1_BMPSTRING_free ( ASN1_BMPSTRING * a ) ; exte
       E	rn ASN1_BMPSTRING * d2i_ASN1_BMPSTRING ( ASN1_BMPSTRING * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_ASN1_BMPSTRING ( const ASN1_BMPSTRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_BMPSTRING_i
       E	t ( void ) ;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1225
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67200 
 I6	  67201 int UTF8_getc(const unsigned char *str, int len, unsigned long *val);
 I6	  67202 int UTF8_putc(unsigned char *str, int len, unsigned long value);
 I6	  67203 
 I6   1	  67204 SKM_DEFINE_STACK_OF_INTERNAL(ASN1_GENERALSTRING, ASN1_GENERALSTRING, ASN1_GENERALSTRING)
       E	 struct stack_st_ASN1_GENERALSTRING ; typedef int ( * sk_ASN1_GENERALSTRING_compfunc ) ( const ASN1_GENERALSTRING * 
       E	const * a , const ASN1_GENERALSTRING * const * b ) ; typedef void ( * sk_ASN1_GENERALSTRING_freefunc ) ( ASN1_GENERA
       E	LSTRING * a ) ; typedef ASN1_GENERALSTRING * ( * sk_ASN1_GENERALSTRING_copyfunc ) ( const ASN1_GENERALSTRING * a ) ;
       E	 static __inline ASN1_GENERALSTRING * ossl_check_ASN1_GENERALSTRING_type ( ASN1_GENERALSTRING * ptr ) { return ptr ;
       E	 } static __inline const OPENSSL_STACK * ossl_check_const_ASN1_GENERALSTRING_sk_type ( const struct stack_st_ASN1_GE
       E	NERALSTRING * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_ASN1_GENERAL
       E	STRING_sk_type ( struct stack_st_ASN1_GENERALSTRING * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENS
       E	SL_sk_compfunc ossl_check_ASN1_GENERALSTRING_compfunc_type ( sk_ASN1_GENERALSTRING_compfunc cmp ) { return ( OPENSSL
       E	_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_ASN1_GENERALSTRING_copyfunc_type ( sk_ASN1_GEN
       E	ERALSTRING_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_AS
       E	N1_GENERALSTRING_freefunc_type ( sk_ASN1_GENERALSTRING_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I6	  67205 #define sk_ASN1_GENERALSTRING_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk))
 I6	  67206 #define sk_ASN1_GENERALSTRING_value(sk, idx) ((ASN1_GENERALSTRING *)OPENSSL_sk_value(ossl_check_const_ASN1_GENERALST
 I6	  67206 RING_sk_type(sk), (idx)))
 I6	  67207 #define sk_ASN1_GENERALSTRING_new(cmp) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_new(ossl_check_ASN1_GENERALSTRING
 I6	  67207 _compfunc_type(cmp)))
 I6	  67208 #define sk_ASN1_GENERALSTRING_new_null() ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_new_null())
 I6	  67209 #define sk_ASN1_GENERALSTRING_new_reserve(cmp, n) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_new_reserve(ossl_check
 I6	  67209 _ASN1_GENERALSTRING_compfunc_type(cmp), (n)))
 I6	  67210 #define sk_ASN1_GENERALSTRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_GENERALSTRING_sk_type(sk), (n))
 I6	  67211 #define sk_ASN1_GENERALSTRING_free(sk) OPENSSL_sk_free(ossl_check_ASN1_GENERALSTRING_sk_type(sk))
 I6	  67212 #define sk_ASN1_GENERALSTRING_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_GENERALSTRING_sk_type(sk))
 I6	  67213 #define sk_ASN1_GENERALSTRING_delete(sk, i) ((ASN1_GENERALSTRING *)OPENSSL_sk_delete(ossl_check_ASN1_GENERALSTRING_s
 I6	  67213 k_type(sk), (i)))
 I6	  67214 #define sk_ASN1_GENERALSTRING_delete_ptr(sk, ptr) ((ASN1_GENERALSTRING *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_GENER
 I6	  67214 ALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr)))
 I6	  67215 #define sk_ASN1_GENERALSTRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_AS
 I6	  67215 N1_GENERALSTRING_type(ptr))
 I6	  67216 #define sk_ASN1_GENERALSTRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_ch
 I6	  67216 eck_ASN1_GENERALSTRING_type(ptr))
 I6	  67217 #define sk_ASN1_GENERALSTRING_pop(sk) ((ASN1_GENERALSTRING *)OPENSSL_sk_pop(ossl_check_ASN1_GENERALSTRING_sk_type(sk
 I6	  67217 )))
 I6	  67218 #define sk_ASN1_GENERALSTRING_shift(sk) ((ASN1_GENERALSTRING *)OPENSSL_sk_shift(ossl_check_ASN1_GENERALSTRING_sk_typ
 I6	  67218 e(sk)))
 I6	  67219 #define sk_ASN1_GENERALSTRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_GENERALSTRING_sk_type(sk),o
 I6	  67219 ssl_check_ASN1_GENERALSTRING_freefunc_type(freefunc))
 I6	  67220 #define sk_ASN1_GENERALSTRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl
 I6	  67220 _check_ASN1_GENERALSTRING_type(ptr), (idx))
 I6	  67221 #define sk_ASN1_GENERALSTRING_set(sk, idx, ptr) ((ASN1_GENERALSTRING *)OPENSSL_sk_set(ossl_check_ASN1_GENERALSTRING_
 I6	  67221 sk_type(sk), (idx), ossl_check_ASN1_GENERALSTRING_type(ptr)))
 I6	  67222 #define sk_ASN1_GENERALSTRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_AS
 I6	  67222 N1_GENERALSTRING_type(ptr))
 I6	  67223 #define sk_ASN1_GENERALSTRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_ch
 I6	  67223 eck_ASN1_GENERALSTRING_type(ptr))
 I6	  67224 #define sk_ASN1_GENERALSTRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_GENERALSTRING_sk_type(sk),
 I6	  67224  ossl_check_ASN1_GENERALSTRING_type(ptr), pnum)
 I6	  67225 #define sk_ASN1_GENERALSTRING_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_GENERALSTRING_sk_type(sk))
 I6	  67226 #define sk_ASN1_GENERALSTRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk))
 I6	  67227 #define sk_ASN1_GENERALSTRING_dup(sk) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_dup(ossl_check_const_ASN1_GENERALS
 I6	  67227 TRING_sk_type(sk)))
 I6	  67228 #define sk_ASN1_GENERALSTRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_deep_cop
 I6	  67228 y(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_copyfunc_type(copyfunc), ossl_check

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1226
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67228 _ASN1_GENERALSTRING_freefunc_type(freefunc)))
 I6	  67229 #define sk_ASN1_GENERALSTRING_set_cmp_func(sk, cmp) ((sk_ASN1_GENERALSTRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_ch
 I6	  67229 eck_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_compfunc_type(cmp)))
 I6	  67230 
 I6	  67231 
 I6	  67232 DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE)
       E	 extern ASN1_STRING * ASN1_PRINTABLE_new ( void ) ; extern void ASN1_PRINTABLE_free ( ASN1_STRING * a ) ; extern ASN
       E	1_STRING * d2i_ASN1_PRINTABLE ( ASN1_STRING * * a , const unsigned char * * in , long len ) ; extern int i2d_ASN1_PR
       E	INTABLE ( const ASN1_STRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_PRINTABLE_it ( void ) ;
 I6	  67233 
 I6	  67234 DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING)
       E	 extern ASN1_STRING * DIRECTORYSTRING_new ( void ) ; extern void DIRECTORYSTRING_free ( ASN1_STRING * a ) ; extern A
       E	SN1_STRING * d2i_DIRECTORYSTRING ( ASN1_STRING * * a , const unsigned char * * in , long len ) ; extern int i2d_DIRE
       E	CTORYSTRING ( const ASN1_STRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * DIRECTORYSTRING_it ( void )
       E	 ;
 I6	  67235 DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT)
       E	 extern ASN1_STRING * DISPLAYTEXT_new ( void ) ; extern void DISPLAYTEXT_free ( ASN1_STRING * a ) ; extern ASN1_STRI
       E	NG * d2i_DISPLAYTEXT ( ASN1_STRING * * a , const unsigned char * * in , long len ) ; extern int i2d_DISPLAYTEXT ( co
       E	nst ASN1_STRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * DISPLAYTEXT_it ( void ) ;
 I6	  67236 DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING)
       E	 extern ASN1_PRINTABLESTRING * ASN1_PRINTABLESTRING_new ( void ) ; extern void ASN1_PRINTABLESTRING_free ( ASN1_PRIN
       E	TABLESTRING * a ) ; extern ASN1_PRINTABLESTRING * d2i_ASN1_PRINTABLESTRING ( ASN1_PRINTABLESTRING * * a , const unsi
       E	gned char * * in , long len ) ; extern int i2d_ASN1_PRINTABLESTRING ( const ASN1_PRINTABLESTRING * a , unsigned char
       E	 * * out ) ; extern const ASN1_ITEM * ASN1_PRINTABLESTRING_it ( void ) ;
 I6	  67237 DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING)
       E	 extern ASN1_T61STRING * ASN1_T61STRING_new ( void ) ; extern void ASN1_T61STRING_free ( ASN1_T61STRING * a ) ; exte
       E	rn ASN1_T61STRING * d2i_ASN1_T61STRING ( ASN1_T61STRING * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_ASN1_T61STRING ( const ASN1_T61STRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_T61STRING_i
       E	t ( void ) ;
 I6	  67238 DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING)
       E	 extern ASN1_IA5STRING * ASN1_IA5STRING_new ( void ) ; extern void ASN1_IA5STRING_free ( ASN1_IA5STRING * a ) ; exte
       E	rn ASN1_IA5STRING * d2i_ASN1_IA5STRING ( ASN1_IA5STRING * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_ASN1_IA5STRING ( const ASN1_IA5STRING * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_IA5STRING_i
       E	t ( void ) ;
 I6	  67239 DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING)
       E	 extern ASN1_GENERALSTRING * ASN1_GENERALSTRING_new ( void ) ; extern void ASN1_GENERALSTRING_free ( ASN1_GENERALSTR
       E	ING * a ) ; extern ASN1_GENERALSTRING * d2i_ASN1_GENERALSTRING ( ASN1_GENERALSTRING * * a , const unsigned char * * 
       E	in , long len ) ; extern int i2d_ASN1_GENERALSTRING ( const ASN1_GENERALSTRING * a , unsigned char * * out ) ; exter
       E	n const ASN1_ITEM * ASN1_GENERALSTRING_it ( void ) ;
 I6	  67240 DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME)
       E	 extern ASN1_UTCTIME * ASN1_UTCTIME_new ( void ) ; extern void ASN1_UTCTIME_free ( ASN1_UTCTIME * a ) ; extern ASN1_
       E	UTCTIME * d2i_ASN1_UTCTIME ( ASN1_UTCTIME * * a , const unsigned char * * in , long len ) ; extern int i2d_ASN1_UTCT
       E	IME ( const ASN1_UTCTIME * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_UTCTIME_it ( void ) ;
 I6	  67241 DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME)
       E	 extern ASN1_GENERALIZEDTIME * ASN1_GENERALIZEDTIME_new ( void ) ; extern void ASN1_GENERALIZEDTIME_free ( ASN1_GENE
       E	RALIZEDTIME * a ) ; extern ASN1_GENERALIZEDTIME * d2i_ASN1_GENERALIZEDTIME ( ASN1_GENERALIZEDTIME * * a , const unsi
       E	gned char * * in , long len ) ; extern int i2d_ASN1_GENERALIZEDTIME ( const ASN1_GENERALIZEDTIME * a , unsigned char
       E	 * * out ) ; extern const ASN1_ITEM * ASN1_GENERALIZEDTIME_it ( void ) ;
 I6	  67242 DECLARE_ASN1_FUNCTIONS(ASN1_TIME)
       E	 extern ASN1_TIME * ASN1_TIME_new ( void ) ; extern void ASN1_TIME_free ( ASN1_TIME * a ) ; extern ASN1_TIME * d2i_A
       E	SN1_TIME ( ASN1_TIME * * a , const unsigned char * * in , long len ) ; extern int i2d_ASN1_TIME ( const ASN1_TIME * 
       E	a , unsigned char * * out ) ; extern const ASN1_ITEM * ASN1_TIME_it ( void ) ;
 I6	  67243 
 I6	  67244 DECLARE_ASN1_DUP_FUNCTION(ASN1_TIME)
       E	 extern ASN1_TIME * ASN1_TIME_dup ( const ASN1_TIME * a ) ;
 I6	  67245 DECLARE_ASN1_DUP_FUNCTION(ASN1_UTCTIME)
       E	 extern ASN1_UTCTIME * ASN1_UTCTIME_dup ( const ASN1_UTCTIME * a ) ;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1227
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67246 DECLARE_ASN1_DUP_FUNCTION(ASN1_GENERALIZEDTIME)
       E	 extern ASN1_GENERALIZEDTIME * ASN1_GENERALIZEDTIME_dup ( const ASN1_GENERALIZEDTIME * a ) ;
 I6	  67247 
 I6	  67248 DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF)
       E	 extern const ASN1_ITEM * ASN1_OCTET_STRING_NDEF_it ( void ) ;
 I6	  67249 
 I6	  67250 ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t);
 I6	  67251 ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t,
 I6	  67252                          int offset_day, long offset_sec);
 I6	  67253 int ASN1_TIME_check(const ASN1_TIME *t);
 I6	  67254 ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(const ASN1_TIME *t,
 I6	  67255                                                    ASN1_GENERALIZEDTIME **out);
 I6	  67256 int ASN1_TIME_set_string(ASN1_TIME *s, const char *str);
 I6	  67257 int ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str);
 I6	  67258 int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm);
 I6	  67259 int ASN1_TIME_normalize(ASN1_TIME *s);
 I6	  67260 int ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t);
 I6	  67261 int ASN1_TIME_compare(const ASN1_TIME *a, const ASN1_TIME *b);
 I6	  67262 
 I6	  67263 int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a);
 I6	  67264 int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size);
 I6	  67265 int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a);
 I6	  67266 int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size);
 I6	  67267 int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a);
 I6	  67268 int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size);
 I6	  67269 int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type);
 I6	  67270 int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a);
 I6	  67271 
 I6	  67272 int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num);
 I6	  67273 ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len,
 I6	  67274                                 const char *sn, const char *ln);
 I6	  67275 
 I6	  67276 int ASN1_INTEGER_get_int64(int64_t *pr, const ASN1_INTEGER *a);
 I6	  67277 int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r);
 I6	  67278 int ASN1_INTEGER_get_uint64(uint64_t *pr, const ASN1_INTEGER *a);
 I6	  67279 int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a, uint64_t r);
 I6	  67280 
 I6	  67281 int ASN1_INTEGER_set(ASN1_INTEGER *a, long v);
 I6	  67282 long ASN1_INTEGER_get(const ASN1_INTEGER *a);
 I6	  67283 ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai);
 I6	  67284 BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn);
 I6	  67285 
 I6	  67286 int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a);
 I6	  67287 int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r);
 I6	  67288 
 I6	  67289 
 I6	  67290 int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v);
 I6	  67291 long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a);
 I6	  67292 ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai);
 I6	  67293 BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn);
 I6	  67294 
 I6	  67295 /* General */
 I6	  67296 /* given a string, return the correct type, max is the maximum length */
 I6	  67297 int ASN1_PRINTABLE_type(const unsigned char *s, int max);
 I6	  67298 
 I6	  67299 unsigned long ASN1_tag2bit(int tag);
 I6	  67300 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1228
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67301 /* SPECIALS */
 I6	  67302 int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,
 I6	  67303                     int *pclass, long omax);
 I6	  67304 int ASN1_check_infinite_end(unsigned char **p, long len);
 I6	  67305 int ASN1_const_check_infinite_end(const unsigned char **p, long len);
 I6	  67306 void ASN1_put_object(unsigned char **pp, int constructed, int length,
 I6	  67307                      int tag, int xclass);
 I6	  67308 int ASN1_put_eoc(unsigned char **pp);
 I6	  67309 int ASN1_object_size(int constructed, int length, int tag);
 I6	  67310 
 I6	  67311 /* Used to implement other functions */
 I6	  67312 void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, const void *x);
 I6	  67313 
 I6	  67314 # define ASN1_dup_of(type,i2d,d2i,x) \
 I6	  67315     ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \
 I6	  67316                      CHECKED_D2I_OF(type, d2i), \
 I6	  67317                      CHECKED_PTR_OF(const type, x)))
 I6	  67318 
 I6	  67319 void *ASN1_item_dup(const ASN1_ITEM *it, const void *x);
 I6	  67320 int ASN1_item_sign_ex(const ASN1_ITEM *it, X509_ALGOR *algor1,
 I6	  67321                       X509_ALGOR *algor2, ASN1_BIT_STRING *signature,
 I6	  67322                       const void *data, const ASN1_OCTET_STRING *id,
 I6	  67323                       EVP_PKEY *pkey, const EVP_MD *md, OSSL_LIB_CTX *libctx,
 I6	  67324                       const char *propq);
 I6	  67325 int ASN1_item_verify_ex(const ASN1_ITEM *it, const X509_ALGOR *alg,
 I6	  67326                         const ASN1_BIT_STRING *signature, const void *data,
 I6	  67327                         const ASN1_OCTET_STRING *id, EVP_PKEY *pkey,
 I6	  67328                         OSSL_LIB_CTX *libctx, const char *propq);
 I6	  67329 
 I6	  67330 /* ASN1 alloc/free macros for when a type is only used internally */
 I6	  67331 
 I6	  67332 # define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type))
 I6	  67333 # define M_ASN1_free_of(x, type) \
 I6	  67334                 ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type))
 I6	  67335 
 I6	  67336 # ifndef OPENSSL_NO_STDIO
 I6	  67337 void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x);
 I6	  67338 
 I6	  67339 #  define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \
 I6	  67340     ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \
 I6	  67341                         CHECKED_D2I_OF(type, d2i), \
 I6	  67342                         in, \
 I6	  67343                         CHECKED_PPTR_OF(type, x)))
 I6	  67344 
 I6	  67345 void *ASN1_item_d2i_fp_ex(const ASN1_ITEM *it, FILE *in, void *x,
 I6	  67346                           OSSL_LIB_CTX *libctx, const char *propq);
 I6	  67347 void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x);
 I6	  67348 int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, const void *x);
 I6	  67349 
 I6	  67350 #  define ASN1_i2d_fp_of(type,i2d,out,x) \
 I6	  67351     (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \
 I6	  67352                  out, \
 I6	  67353                  CHECKED_PTR_OF(const type, x)))
 I6	  67354 
 I6	  67355 int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, const void *x);
 I6	  67356 int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags);
 I6	  67357 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1229
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67358 
 I6	  67359 int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in);
 I6	  67360 
 I6	  67361 void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x);
 I6	  67362 
 I6	  67363 #  define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \
 I6	  67364     ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \
 I6	  67365                           CHECKED_D2I_OF(type, d2i), \
 I6	  67366                           in, \
 I6	  67367                           CHECKED_PPTR_OF(type, x)))
 I6	  67368 
 I6	  67369 void *ASN1_item_d2i_bio_ex(const ASN1_ITEM *it, BIO *in, void *pval,
 I6	  67370                            OSSL_LIB_CTX *libctx, const char *propq);
 I6	  67371 void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *pval);
 I6	  67372 int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, const void *x);
 I6	  67373 
 I6	  67374 #  define ASN1_i2d_bio_of(type,i2d,out,x) \
 I6	  67375     (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \
 I6	  67376                   out, \
 I6	  67377                   CHECKED_PTR_OF(const type, x)))
 I6	  67378 
 I6	  67379 int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, const void *x);
 I6	  67380 BIO *ASN1_item_i2d_mem_bio(const ASN1_ITEM *it, const ASN1_VALUE *val);
 I6	  67381 int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a);
 I6	  67382 int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a);
 I6	  67383 int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm);
 I6	  67384 int ASN1_TIME_print_ex(BIO *bp, const ASN1_TIME *tm, unsigned long flags);
 I6	  67385 int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v);
 I6	  67386 int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags);
 I6	  67387 int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen, int off);
 I6	  67388 int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num,
 I6	  67389                   unsigned char *buf, int off);
 I6	  67390 int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent);
 I6	  67391 int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent,
 I6	  67392                     int dump);
 I6	  67393 const char *ASN1_tag2str(int tag);
 I6	  67394 
 I6	  67395 /* Used to load and write Netscape format cert */
 I6	  67396 
 I6	  67397 int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s);
 I6	  67398 
 I6	  67399 int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len);
 I6	  67400 int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len);
 I6	  67401 int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num,
 I6	  67402                                   unsigned char *data, int len);
 I6	  67403 int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num,
 I6	  67404                                   unsigned char *data, int max_len);
 I6	  67405 
 I6	  67406 void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it);
 I6	  67407 
 I6	  67408 ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it,
 I6	  67409                             ASN1_OCTET_STRING **oct);
 I6	  67410 
 I6	  67411 void ASN1_STRING_set_default_mask(unsigned long mask);
 I6	  67412 int ASN1_STRING_set_default_mask_asc(const char *p);
 I6	  67413 unsigned long ASN1_STRING_get_default_mask(void);
 I6	  67414 int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1230
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67415                        int inform, unsigned long mask);
 I6	  67416 int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
 I6	  67417                         int inform, unsigned long mask,
 I6	  67418                         long minsize, long maxsize);
 I6	  67419 
 I6	  67420 ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out,
 I6	  67421                                     const unsigned char *in, int inlen,
 I6	  67422                                     int inform, int nid);
 I6	  67423 ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid);
 I6	  67424 int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long);
 I6	  67425 void ASN1_STRING_TABLE_cleanup(void);
 I6	  67426 
 I6	  67427 /* ASN1 template functions */
 I6	  67428 
 I6	  67429 /* Old API compatible functions */
 I6	  67430 ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it);
 I6	  67431 ASN1_VALUE *ASN1_item_new_ex(const ASN1_ITEM *it, OSSL_LIB_CTX *libctx,
 I6	  67432                              const char *propq);
 I6	  67433 void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it);
 I6	  67434 ASN1_VALUE *ASN1_item_d2i_ex(ASN1_VALUE **val, const unsigned char **in,
 I6	  67435                              long len, const ASN1_ITEM *it,
 I6	  67436                              OSSL_LIB_CTX *libctx, const char *propq);
 I6	  67437 ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in,
 I6	  67438                           long len, const ASN1_ITEM *it);
 I6	  67439 int ASN1_item_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it);
 I6	  67440 int ASN1_item_ndef_i2d(const ASN1_VALUE *val, unsigned char **out,
 I6	  67441                        const ASN1_ITEM *it);
 I6	  67442 
 I6	  67443 void ASN1_add_oid_module(void);
 I6	  67444 void ASN1_add_stable_module(void);
 I6	  67445 
 I6	  67446 ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf);
 I6	  67447 ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf);
 I6	  67448 int ASN1_str2mask(const char *str, unsigned long *pmask);
 I6	  67449 
 I6	  67450 /* ASN1 Print flags */
 I6	  67451 
 I6	  67452 /* Indicate missing OPTIONAL fields */
 I6	  67453 # define ASN1_PCTX_FLAGS_SHOW_ABSENT             0x001
 I6	  67454 /* Mark start and end of SEQUENCE */
 I6	  67455 # define ASN1_PCTX_FLAGS_SHOW_SEQUENCE           0x002
 I6	  67456 /* Mark start and end of SEQUENCE/SET OF */
 I6	  67457 # define ASN1_PCTX_FLAGS_SHOW_SSOF               0x004
 I6	  67458 /* Show the ASN1 type of primitives */
 I6	  67459 # define ASN1_PCTX_FLAGS_SHOW_TYPE               0x008
 I6	  67460 /* Don't show ASN1 type of ANY */
 I6	  67461 # define ASN1_PCTX_FLAGS_NO_ANY_TYPE             0x010
 I6	  67462 /* Don't show ASN1 type of MSTRINGs */
 I6	  67463 # define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE         0x020
 I6	  67464 /* Don't show field names in SEQUENCE */
 I6	  67465 # define ASN1_PCTX_FLAGS_NO_FIELD_NAME           0x040
 I6	  67466 /* Show structure names of each SEQUENCE field */
 I6	  67467 # define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME  0x080
 I6	  67468 /* Don't show structure name even at top level */
 I6	  67469 # define ASN1_PCTX_FLAGS_NO_STRUCT_NAME          0x100
 I6	  67470 
 I6	  67471 int ASN1_item_print(BIO *out, const ASN1_VALUE *ifld, int indent,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1231
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67472                     const ASN1_ITEM *it, const ASN1_PCTX *pctx);
 I6	  67473 ASN1_PCTX *ASN1_PCTX_new(void);
 I6	  67474 void ASN1_PCTX_free(ASN1_PCTX *p);
 I6	  67475 unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p);
 I6	  67476 void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags);
 I6	  67477 unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p);
 I6	  67478 void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags);
 I6	  67479 unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p);
 I6	  67480 void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags);
 I6	  67481 unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p);
 I6	  67482 void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags);
 I6	  67483 unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p);
 I6	  67484 void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags);
 I6	  67485 
 I6	  67486 ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx));
 I6	  67487 void ASN1_SCTX_free(ASN1_SCTX *p);
 I6	  67488 const ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p);
 I6	  67489 const ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p);
 I6	  67490 unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p);
 I6	  67491 void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data);
 I6	  67492 void *ASN1_SCTX_get_app_data(ASN1_SCTX *p);
 I6	  67493 
 I6	  67494 const BIO_METHOD *BIO_f_asn1(void);
 I6	  67495 
 I6	  67496 /* cannot constify val because of CMS_stream() */
 I6	  67497 BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it);
 I6	  67498 
 I6	  67499 int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags,
 I6	  67500                         const ASN1_ITEM *it);
 I6	  67501 int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags,
 I6	  67502                               const char *hdr, const ASN1_ITEM *it);
 I6	  67503 /* cannot constify val because of CMS_dataFinal() */
 I6	  67504 int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags,
 I6	  67505                      int ctype_nid, int econt_nid,
 I6	  67506                      STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it);
       E	                      struct stack_st_X509_ALGOR
 I6	  67507 int SMIME_write_ASN1_ex(BIO *bio, ASN1_VALUE *val, BIO *data, int flags,
 I6	  67508                         int ctype_nid, int econt_nid,
 I6	  67509                         STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it,
       E	                         struct stack_st_X509_ALGOR
 I6	  67510                         OSSL_LIB_CTX *libctx, const char *propq);
 I6	  67511 ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it);
 I6	  67512 ASN1_VALUE *SMIME_read_ASN1_ex(BIO *bio, int flags, BIO **bcont,
 I6	  67513                                const ASN1_ITEM *it, ASN1_VALUE **x,
 I6	  67514                                OSSL_LIB_CTX *libctx, const char *propq);
 I6	  67515 int SMIME_crlf_copy(BIO *in, BIO *out, int flags);
 I6	  67516 int SMIME_text(BIO *in, BIO *out);
 I6	  67517 
 I6	  67518 const ASN1_ITEM *ASN1_ITEM_lookup(const char *name);
 I6	  67519 const ASN1_ITEM *ASN1_ITEM_get(size_t i);
 I6	  67520 
 I6	  67521 /* Legacy compatibility */
 I6	  67522 # define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \
 I6	  67523          DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \
 I6	  67524          DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name)
 I6	  67525 # define DECLARE_ASN1_FUNCTIONS_const(type) DECLARE_ASN1_FUNCTIONS(type)
 I6	  67526 # define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1232
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ASN1.H;1

 I6	  67527          DECLARE_ASN1_ENCODE_FUNCTIONS(type, name)
 I6	  67528 # define I2D_OF_const(type) I2D_OF(type)
 I6	  67529 # define ASN1_dup_of_const(type,i2d,d2i,x) ASN1_dup_of(type,i2d,d2i,x)
 I6	  67530 # define ASN1_i2d_fp_of_const(type,i2d,out,x) ASN1_i2d_fp_of(type,i2d,out,x)
 I6	  67531 # define ASN1_i2d_bio_of_const(type,i2d,out,x) ASN1_i2d_bio_of(type,i2d,out,x)
 I6	  67532 
 I6    X  67533 # ifdef  __cplusplus
 I6    X  67534 }
 I6    X  67535 # endif
 I6	  67536 #endif
 I5	  67537 # include <openssl/objectserr.h>
 I6	  67538 /*
 I6	  67539  * Generated by util/mkerr.pl DO NOT EDIT
 I6	  67540  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  67541  *
 I6	  67542  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  67543  * this file except in compliance with the License.  You can obtain a copy
 I6	  67544  * in the file LICENSE in the source distribution or at
 I6	  67545  * https://www.openssl.org/source/license.html
 I6	  67546  */
 I6	  67547 
 I6	  67548 #ifndef OPENSSL_OBJECTSERR_H
 I6	  67549 # define OPENSSL_OBJECTSERR_H
 I6	  67550 # pragma once
 I6	  67551 
 I6    X  67552 # include <openssl/opensslconf.h>
 I6    X  67553 # include <openssl/symhacks.h>
 I6    X  67554 # include <openssl/cryptoerr_legacy.h>
 I6	  67555 
 I6	  67556 
 I6	  67557 
 I6	  67558 /*
 I6	  67559  * OBJ reason codes.
 I6	  67560  */
 I6	  67561 # define OBJ_R_OID_EXISTS                                 102
 I6	  67562 # define OBJ_R_UNKNOWN_NID                                101
 I6	  67563 # define OBJ_R_UNKNOWN_OBJECT_NAME                        103
 I6	  67564 
 I6	  67565 #endif
 I5	  67566 
 I5	  67567 # define OBJ_NAME_TYPE_UNDEF             0x00
 I5	  67568 # define OBJ_NAME_TYPE_MD_METH           0x01
 I5	  67569 # define OBJ_NAME_TYPE_CIPHER_METH       0x02
 I5	  67570 # define OBJ_NAME_TYPE_PKEY_METH         0x03
 I5	  67571 # define OBJ_NAME_TYPE_COMP_METH         0x04
 I5	  67572 # define OBJ_NAME_TYPE_MAC_METH          0x05
 I5	  67573 # define OBJ_NAME_TYPE_KDF_METH          0x06
 I5	  67574 # define OBJ_NAME_TYPE_NUM               0x07
 I5	  67575 
 I5	  67576 # define OBJ_NAME_ALIAS                  0x8000
 I5	  67577 
 I5	  67578 # define OBJ_BSEARCH_VALUE_ON_NOMATCH            0x01
 I5	  67579 # define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH        0x02
 I5	  67580 
 I5	  67581 
 I5    X  67582 #ifdef  __cplusplus
 I5    X  67583 extern "C" {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1233
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]OBJECTS.H;1

 I5    X  67584 #endif
 I5	  67585 
 I5	  67586 typedef struct obj_name_st {
 I5	  67587     int type;
 I5	  67588     int alias;
 I5	  67589     const char *name;
 I5	  67590     const char *data;
 I5	  67591 } OBJ_NAME;
 I5	  67592 
 I5	  67593 # define         OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c)
 I5	  67594 
 I5	  67595 int OBJ_NAME_init(void);
 I5	  67596 int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *),
 I5	  67597                        int (*cmp_func) (const char *, const char *),
 I5	  67598                        void (*free_func) (const char *, int, const char *));
 I5	  67599 const char *OBJ_NAME_get(const char *name, int type);
 I5	  67600 int OBJ_NAME_add(const char *name, int type, const char *data);
 I5	  67601 int OBJ_NAME_remove(const char *name, int type);
 I5	  67602 void OBJ_NAME_cleanup(int type); /* -1 for everything */
 I5	  67603 void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg),
 I5	  67604                      void *arg);
 I5	  67605 void OBJ_NAME_do_all_sorted(int type,
 I5	  67606                             void (*fn) (const OBJ_NAME *, void *arg),
 I5	  67607                             void *arg);
 I5	  67608 
 I5	  67609 DECLARE_ASN1_DUP_FUNCTION_name(ASN1_OBJECT, OBJ)
       E	 extern ASN1_OBJECT * OBJ_dup ( const ASN1_OBJECT * a ) ;
 I5	  67610 ASN1_OBJECT *OBJ_nid2obj(int n);
 I5	  67611 const char *OBJ_nid2ln(int n);
 I5	  67612 const char *OBJ_nid2sn(int n);
 I5	  67613 int OBJ_obj2nid(const ASN1_OBJECT *o);
 I5	  67614 ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name);
 I5	  67615 int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);
 I5	  67616 int OBJ_txt2nid(const char *s);
 I5	  67617 int OBJ_ln2nid(const char *s);
 I5	  67618 int OBJ_sn2nid(const char *s);
 I5	  67619 int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b);
 I5	  67620 const void *OBJ_bsearch_(const void *key, const void *base, int num, int size,
 I5	  67621                          int (*cmp) (const void *, const void *));
 I5	  67622 const void *OBJ_bsearch_ex_(const void *key, const void *base, int num,
 I5	  67623                             int size,
 I5	  67624                             int (*cmp) (const void *, const void *),
 I5	  67625                             int flags);
 I5	  67626 
 I5	  67627 # define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm)    \
 I5	  67628   static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \
 I5	  67629   static int nm##_cmp(type1 const *, type2 const *); \
 I5	  67630   scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num)
 I5	  67631 
 I5	  67632 # define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp)   \
 I5	  67633   _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp)
 I5	  67634 # define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm)     \
 I5	  67635   type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num)
 I5	  67636 
 I5	  67637 /*-
 I5	  67638  * Unsolved problem: if a type is actually a pointer type, like
 I5	  67639  * nid_triple is, then its impossible to get a const where you need

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1234
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJECTS.H;1

 I5	  67640  * it. Consider:
 I5	  67641  *
 I5	  67642  * typedef int nid_triple[3];
 I5	  67643  * const void *a_;
 I5	  67644  * const nid_triple const *a = a_;
 I5	  67645  *
 I5	  67646  * The assignment discards a const because what you really want is:
 I5	  67647  *
 I5	  67648  * const int const * const *a = a_;
 I5	  67649  *
 I5	  67650  * But if you do that, you lose the fact that a is an array of 3 ints,
 I5	  67651  * which breaks comparison functions.
 I5	  67652  *
 I5	  67653  * Thus we end up having to cast, sadly, or unpack the
 I5	  67654  * declarations. Or, as I finally did in this case, declare nid_triple
 I5	  67655  * to be a struct, which it should have been in the first place.
 I5	  67656  *
 I5	  67657  * Ben, August 2008.
 I5	  67658  *
 I5	  67659  * Also, strictly speaking not all types need be const, but handling
 I5	  67660  * the non-constness means a lot of complication, and in practice
 I5	  67661  * comparison routines do always not touch their arguments.
 I5	  67662  */
 I5	  67663 
 I5	  67664 # define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm)  \
 I5	  67665   static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)    \
 I5	  67666       { \
 I5	  67667       type1 const *a = a_; \
 I5	  67668       type2 const *b = b_; \
 I5	  67669       return nm##_cmp(a,b); \
 I5	  67670       } \
 I5	  67671   static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \
 I5	  67672       { \
 I5	  67673       return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \
 I5	  67674                                         nm##_cmp_BSEARCH_CMP_FN); \
 I5	  67675       } \
 I5	  67676       extern void dummy_prototype(void)
 I5	  67677 
 I5	  67678 # define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm)   \
 I5	  67679   static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)    \
 I5	  67680       { \
 I5	  67681       type1 const *a = a_; \
 I5	  67682       type2 const *b = b_; \
 I5	  67683       return nm##_cmp(a,b); \
 I5	  67684       } \
 I5	  67685   type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \
 I5	  67686       { \
 I5	  67687       return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \
 I5	  67688                                         nm##_cmp_BSEARCH_CMP_FN); \
 I5	  67689       } \
 I5	  67690       extern void dummy_prototype(void)
 I5	  67691 
 I5	  67692 # define OBJ_bsearch(type1,key,type2,base,num,cmp)                              \
 I5	  67693   ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \
 I5	  67694                          num,sizeof(type2),                             \
 I5	  67695                          ((void)CHECKED_PTR_OF(type1,cmp##_type_1),     \
 I5	  67696                           (void)CHECKED_PTR_OF(type2,cmp##_type_2),     \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1235
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]OBJECTS.H;1

 I5	  67697                           cmp##_BSEARCH_CMP_FN)))
 I5	  67698 
 I5	  67699 # define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags)                      \
 I5	  67700   ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \
 I5	  67701                          num,sizeof(type2),                             \
 I5	  67702                          ((void)CHECKED_PTR_OF(type1,cmp##_type_1),     \
 I5	  67703                           (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \
 I5	  67704                           cmp##_BSEARCH_CMP_FN)),flags)
 I5	  67705 
 I5	  67706 int OBJ_new_nid(int num);
 I5	  67707 int OBJ_add_object(const ASN1_OBJECT *obj);
 I5	  67708 int OBJ_create(const char *oid, const char *sn, const char *ln);
 I5	  67709 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I5	  67710 # define OBJ_cleanup() while(0) continue
 I5	  67711 #endif
 I5	  67712 int OBJ_create_objects(BIO *in);
 I5	  67713 
 I5	  67714 size_t OBJ_length(const ASN1_OBJECT *obj);
 I5	  67715 const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj);
 I5	  67716 
 I5	  67717 int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid);
 I5	  67718 int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid);
 I5	  67719 int OBJ_add_sigid(int signid, int dig_id, int pkey_id);
 I5	  67720 void OBJ_sigid_free(void);
 I5	  67721 
 I5	  67722 
 I5    X  67723 # ifdef  __cplusplus
 I5    X  67724 }
 I5    X  67725 # endif
 I5	  67726 #endif
 I4	  67727 
 I4	  67728 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  67729 #  define EVP_PK_RSA      0x0001
 I4	  67730 #  define EVP_PK_DSA      0x0002
 I4	  67731 #  define EVP_PK_DH       0x0004
 I4	  67732 #  define EVP_PK_EC       0x0008
 I4	  67733 #  define EVP_PKT_SIGN    0x0010
 I4	  67734 #  define EVP_PKT_ENC     0x0020
 I4	  67735 #  define EVP_PKT_EXCH    0x0040
 I4	  67736 #  define EVP_PKS_RSA     0x0100
 I4	  67737 #  define EVP_PKS_DSA     0x0200
 I4	  67738 #  define EVP_PKS_EC      0x0400
 I4	  67739 # endif
 I4	  67740 
 I4	  67741 # define EVP_PKEY_NONE   NID_undef
 I4	  67742 # define EVP_PKEY_RSA    NID_rsaEncryption
 I4	  67743 # define EVP_PKEY_RSA2   NID_rsa
 I4	  67744 # define EVP_PKEY_RSA_PSS NID_rsassaPss
 I4	  67745 # define EVP_PKEY_DSA    NID_dsa
 I4	  67746 # define EVP_PKEY_DSA1   NID_dsa_2
 I4	  67747 # define EVP_PKEY_DSA2   NID_dsaWithSHA
 I4	  67748 # define EVP_PKEY_DSA3   NID_dsaWithSHA1
 I4	  67749 # define EVP_PKEY_DSA4   NID_dsaWithSHA1_2
 I4	  67750 # define EVP_PKEY_DH     NID_dhKeyAgreement
 I4	  67751 # define EVP_PKEY_DHX    NID_dhpublicnumber
 I4	  67752 # define EVP_PKEY_EC     NID_X9_62_id_ecPublicKey
 I4	  67753 # define EVP_PKEY_SM2    NID_sm2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1236
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  67754 # define EVP_PKEY_HMAC   NID_hmac
 I4	  67755 # define EVP_PKEY_CMAC   NID_cmac
 I4	  67756 # define EVP_PKEY_SCRYPT NID_id_scrypt
 I4	  67757 # define EVP_PKEY_TLS1_PRF NID_tls1_prf
 I4	  67758 # define EVP_PKEY_HKDF   NID_hkdf
 I4	  67759 # define EVP_PKEY_POLY1305 NID_poly1305
 I4	  67760 # define EVP_PKEY_SIPHASH NID_siphash
 I4	  67761 # define EVP_PKEY_X25519 NID_X25519
 I4	  67762 # define EVP_PKEY_ED25519 NID_ED25519
 I4	  67763 # define EVP_PKEY_X448 NID_X448
 I4	  67764 # define EVP_PKEY_ED448 NID_ED448
 I4	  67765 /* Special indicator that the object is uniquely provider side */
 I4	  67766 # define EVP_PKEY_KEYMGMT -1
 I4	  67767 
 I4	  67768 /* Easy to use macros for EVP_PKEY related selections */
 I4	  67769 # define EVP_PKEY_KEY_PARAMETERS                                            \
 I4	  67770     ( OSSL_KEYMGMT_SELECT_ALL_PARAMETERS )
 I4	  67771 # define EVP_PKEY_PUBLIC_KEY                                                \
 I4	  67772     ( EVP_PKEY_KEY_PARAMETERS | OSSL_KEYMGMT_SELECT_PUBLIC_KEY )
 I4	  67773 # define EVP_PKEY_KEYPAIR                                                   \
 I4	  67774     ( EVP_PKEY_PUBLIC_KEY | OSSL_KEYMGMT_SELECT_PRIVATE_KEY )
 I4	  67775 
 I4    X  67776 #ifdef  __cplusplus
 I4    X  67777 extern "C" {
 I4    X  67778 #endif
 I4	  67779 
 I4	  67780 int EVP_set_default_properties(OSSL_LIB_CTX *libctx, const char *propq);
 I4	  67781 int EVP_default_properties_is_fips_enabled(OSSL_LIB_CTX *libctx);
 I4	  67782 int EVP_default_properties_enable_fips(OSSL_LIB_CTX *libctx, int enable);
 I4	  67783 
 I4	  67784 # define EVP_PKEY_MO_SIGN        0x0001
 I4	  67785 # define EVP_PKEY_MO_VERIFY      0x0002
 I4	  67786 # define EVP_PKEY_MO_ENCRYPT     0x0004
 I4	  67787 # define EVP_PKEY_MO_DECRYPT     0x0008
 I4	  67788 
 I4	  67789 # ifndef EVP_MD
 I4	  67790 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  67791 OSSL_DEPRECATEDIN_3_0 EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type);
       E	 extern
 I4	  67792 OSSL_DEPRECATEDIN_3_0 EVP_MD *EVP_MD_meth_dup(const EVP_MD *md);
       E	 extern
 I4	  67793 OSSL_DEPRECATEDIN_3_0 void EVP_MD_meth_free(EVP_MD *md);
       E	 extern
 I4	  67794 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67795 int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize);
 I4	  67796 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67797 int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize);
 I4	  67798 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67799 int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize);
 I4	  67800 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67801 int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags);
 I4	  67802 OSSL_DEPRECATEDIN_3_0
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1237
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  67803 int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx));
 I4	  67804 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67805 int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx,
 I4	  67806                                                      const void *data,
 I4	  67807                                                      size_t count));
 I4	  67808 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67809 int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx,
 I4	  67810                                                    unsigned char *md));
 I4	  67811 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67812 int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to,
 I4	  67813                                                  const EVP_MD_CTX *from));
 I4	  67814 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67815 int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx));
 I4	  67816 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67817 int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd,
 I4	  67818                                                  int p1, void *p2));
 I4	  67819 OSSL_DEPRECATEDIN_3_0 int EVP_MD_meth_get_input_blocksize(const EVP_MD *md);
       E	 extern
 I4	  67820 OSSL_DEPRECATEDIN_3_0 int EVP_MD_meth_get_result_size(const EVP_MD *md);
       E	 extern
 I4	  67821 OSSL_DEPRECATEDIN_3_0 int EVP_MD_meth_get_app_datasize(const EVP_MD *md);
       E	 extern
 I4	  67822 OSSL_DEPRECATEDIN_3_0 unsigned long EVP_MD_meth_get_flags(const EVP_MD *md);
       E	 extern
 I4	  67823 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67824 int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx);
 I4	  67825 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67826 int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx,
 I4	  67827                                                 const void *data, size_t count);
 I4	  67828 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67829 int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx,
 I4	  67830                                                unsigned char *md);
 I4	  67831 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67832 int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to,
 I4	  67833                                               const EVP_MD_CTX *from);
 I4	  67834 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67835 int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx);
 I4	  67836 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67837 int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd,
 I4	  67838                                               int p1, void *p2);
 I4	  67839 #  endif
 I4	  67840 /* digest can only handle a single block */
 I4	  67841 #  define EVP_MD_FLAG_ONESHOT     0x0001
 I4	  67842 
 I4	  67843 /* digest is extensible-output function, XOF */
 I4	  67844 #  define EVP_MD_FLAG_XOF         0x0002

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1238
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  67845 
 I4	  67846 /* DigestAlgorithmIdentifier flags... */
 I4	  67847 
 I4	  67848 #  define EVP_MD_FLAG_DIGALGID_MASK               0x0018
 I4	  67849 
 I4	  67850 /* NULL or absent parameter accepted. Use NULL */
 I4	  67851 
 I4	  67852 #  define EVP_MD_FLAG_DIGALGID_NULL               0x0000
 I4	  67853 
 I4	  67854 /* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */
 I4	  67855 
 I4	  67856 #  define EVP_MD_FLAG_DIGALGID_ABSENT             0x0008
 I4	  67857 
 I4	  67858 /* Custom handling via ctrl */
 I4	  67859 
 I4	  67860 #  define EVP_MD_FLAG_DIGALGID_CUSTOM             0x0018
 I4	  67861 
 I4	  67862 /* Note if suitable for use in FIPS mode */
 I4	  67863 #  define EVP_MD_FLAG_FIPS        0x0400
 I4	  67864 
 I4	  67865 /* Digest ctrls */
 I4	  67866 
 I4	  67867 #  define EVP_MD_CTRL_DIGALGID                    0x1
 I4	  67868 #  define EVP_MD_CTRL_MICALG                      0x2
 I4	  67869 #  define EVP_MD_CTRL_XOF_LEN                     0x3
 I4	  67870 #  define EVP_MD_CTRL_TLSTREE                     0x4
 I4	  67871 
 I4	  67872 /* Minimum Algorithm specific ctrl value */
 I4	  67873 
 I4	  67874 #  define EVP_MD_CTRL_ALG_CTRL                    0x1000
 I4	  67875 
 I4	  67876 # endif                         /* !EVP_MD */
 I4	  67877 
 I4	  67878 /* values for EVP_MD_CTX flags */
 I4	  67879 
 I4	  67880 # define EVP_MD_CTX_FLAG_ONESHOT         0x0001/* digest update will be
 I4	  67881                                                 * called once only */
 I4	  67882 # define EVP_MD_CTX_FLAG_CLEANED         0x0002/* context has already been
 I4	  67883                                                 * cleaned */
 I4	  67884 # define EVP_MD_CTX_FLAG_REUSE           0x0004/* Don't free up ctx->md_data
 I4	  67885                                                 * in EVP_MD_CTX_reset */
 I4	  67886 /*
 I4	  67887  * FIPS and pad options are ignored in 1.0.0, definitions are here so we
 I4	  67888  * don't accidentally reuse the values for other purposes.
 I4	  67889  */
 I4	  67890 
 I4	  67891 /* This flag has no effect from openssl-3.0 onwards */
 I4	  67892 # define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW  0x0008
 I4	  67893 
 I4	  67894 /*
 I4	  67895  * The following PAD options are also currently ignored in 1.0.0, digest
 I4	  67896  * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*()
 I4	  67897  * instead.
 I4	  67898  */
 I4	  67899 # define EVP_MD_CTX_FLAG_PAD_MASK        0xF0/* RSA mode to use */
 I4	  67900 # define EVP_MD_CTX_FLAG_PAD_PKCS1       0x00/* PKCS#1 v1.5 mode */
 I4	  67901 # define EVP_MD_CTX_FLAG_PAD_X931        0x10/* X9.31 mode */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1239
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  67902 # define EVP_MD_CTX_FLAG_PAD_PSS         0x20/* PSS mode */
 I4	  67903 
 I4	  67904 # define EVP_MD_CTX_FLAG_NO_INIT         0x0100/* Don't initialize md_data */
 I4	  67905 /*
 I4	  67906  * Some functions such as EVP_DigestSign only finalise copies of internal
 I4	  67907  * contexts so additional data can be included after the finalisation call.
 I4	  67908  * This is inefficient if this functionality is not required: it is disabled
 I4	  67909  * if the following flag is set.
 I4	  67910  */
 I4	  67911 # define EVP_MD_CTX_FLAG_FINALISE        0x0200
 I4	  67912 /* NOTE: 0x0400 is reserved for internal usage */
 I4	  67913 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  67914 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67915 EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len);
 I4	  67916 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67917 EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher);
 I4	  67918 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67919 void EVP_CIPHER_meth_free(EVP_CIPHER *cipher);
 I4	  67920 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67921 int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len);
 I4	  67922 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67923 int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags);
 I4	  67924 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67925 int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size);
 I4	  67926 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67927 int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher,
 I4	  67928                              int (*init) (EVP_CIPHER_CTX *ctx,
 I4	  67929                                           const unsigned char *key,
 I4	  67930                                           const unsigned char *iv,
 I4	  67931                                           int enc));
 I4	  67932 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67933 int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher,
 I4	  67934                                   int (*do_cipher) (EVP_CIPHER_CTX *ctx,
 I4	  67935                                                     unsigned char *out,
 I4	  67936                                                     const unsigned char *in,
 I4	  67937                                                     size_t inl));
 I4	  67938 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67939 int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher,
 I4	  67940                                 int (*cleanup) (EVP_CIPHER_CTX *));
 I4	  67941 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67942 int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher,
 I4	  67943                                         int (*set_asn1_parameters) (EVP_CIPHER_CTX *,
 I4	  67944                                                                     ASN1_TYPE *));
 I4	  67945 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67946 int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher,
 I4	  67947                                         int (*get_asn1_parameters) (EVP_CIPHER_CTX *,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1240
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  67948                                                                     ASN1_TYPE *));
 I4	  67949 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  67950 int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher,
 I4	  67951                              int (*ctrl) (EVP_CIPHER_CTX *, int type,
 I4	  67952                                           int arg, void *ptr));
 I4	  67953 OSSL_DEPRECATEDIN_3_0 int
       E	 extern
 I4	  67954 (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx,
 I4	  67955                                                       const unsigned char *key,
 I4	  67956                                                       const unsigned char *iv,
 I4	  67957                                                       int enc);
 I4	  67958 OSSL_DEPRECATEDIN_3_0 int
       E	 extern
 I4	  67959 (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx,
 I4	  67960                                                            unsigned char *out,
 I4	  67961                                                            const unsigned char *in,
 I4	  67962                                                            size_t inl);
 I4	  67963 OSSL_DEPRECATEDIN_3_0 int
       E	 extern
 I4	  67964 (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *);
 I4	  67965 OSSL_DEPRECATEDIN_3_0 int
       E	 extern
 I4	  67966 (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
 I4	  67967                                                                  ASN1_TYPE *);
 I4	  67968 OSSL_DEPRECATEDIN_3_0 int
       E	 extern
 I4	  67969 (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
 I4	  67970                                                                  ASN1_TYPE *);
 I4	  67971 OSSL_DEPRECATEDIN_3_0 int
       E	 extern
 I4	  67972 (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, int type,
 I4	  67973                                                       int arg, void *ptr);
 I4	  67974 # endif
 I4	  67975 
 I4	  67976 /* Values for cipher flags */
 I4	  67977 
 I4	  67978 /* Modes for ciphers */
 I4	  67979 
 I4	  67980 # define         EVP_CIPH_STREAM_CIPHER          0x0
 I4	  67981 # define         EVP_CIPH_ECB_MODE               0x1
 I4	  67982 # define         EVP_CIPH_CBC_MODE               0x2
 I4	  67983 # define         EVP_CIPH_CFB_MODE               0x3
 I4	  67984 # define         EVP_CIPH_OFB_MODE               0x4
 I4	  67985 # define         EVP_CIPH_CTR_MODE               0x5
 I4	  67986 # define         EVP_CIPH_GCM_MODE               0x6
 I4	  67987 # define         EVP_CIPH_CCM_MODE               0x7
 I4	  67988 # define         EVP_CIPH_XTS_MODE               0x10001
 I4	  67989 # define         EVP_CIPH_WRAP_MODE              0x10002
 I4	  67990 # define         EVP_CIPH_OCB_MODE               0x10003
 I4	  67991 # define         EVP_CIPH_SIV_MODE               0x10004
 I4	  67992 # define         EVP_CIPH_MODE                   0xF0007
 I4	  67993 /* Set if variable length cipher */
 I4	  67994 # define         EVP_CIPH_VARIABLE_LENGTH        0x8
 I4	  67995 /* Set if the iv handling should be done by the cipher itself */
 I4	  67996 # define         EVP_CIPH_CUSTOM_IV              0x10
 I4	  67997 /* Set if the cipher's init() function should be called if key is NULL */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1241
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  67998 # define         EVP_CIPH_ALWAYS_CALL_INIT       0x20
 I4	  67999 /* Call ctrl() to init cipher parameters */
 I4	  68000 # define         EVP_CIPH_CTRL_INIT              0x40
 I4	  68001 /* Don't use standard key length function */
 I4	  68002 # define         EVP_CIPH_CUSTOM_KEY_LENGTH      0x80
 I4	  68003 /* Don't use standard block padding */
 I4	  68004 # define         EVP_CIPH_NO_PADDING             0x100
 I4	  68005 /* cipher handles random key generation */
 I4	  68006 # define         EVP_CIPH_RAND_KEY               0x200
 I4	  68007 /* cipher has its own additional copying logic */
 I4	  68008 # define         EVP_CIPH_CUSTOM_COPY            0x400
 I4	  68009 /* Don't use standard iv length function */
 I4	  68010 # define         EVP_CIPH_CUSTOM_IV_LENGTH       0x800
 I4	  68011 /* Legacy and no longer relevant: Allow use default ASN1 get/set iv */
 I4	  68012 # define         EVP_CIPH_FLAG_DEFAULT_ASN1      0
 I4	  68013 /* Free:                                         0x1000 */
 I4	  68014 /* Buffer length in bits not bytes: CFB1 mode only */
 I4	  68015 # define         EVP_CIPH_FLAG_LENGTH_BITS       0x2000
 I4	  68016 /* Deprecated FIPS flag: was 0x4000 */
 I4	  68017 # define         EVP_CIPH_FLAG_FIPS              0
 I4	  68018 /* Deprecated FIPS flag: was 0x8000 */
 I4	  68019 # define         EVP_CIPH_FLAG_NON_FIPS_ALLOW    0
 I4	  68020 
 I4	  68021 /*
 I4	  68022  * Cipher handles any and all padding logic as well as finalisation.
 I4	  68023  */
 I4	  68024 # define         EVP_CIPH_FLAG_CTS               0x4000
 I4	  68025 # define         EVP_CIPH_FLAG_CUSTOM_CIPHER     0x100000
 I4	  68026 # define         EVP_CIPH_FLAG_AEAD_CIPHER       0x200000
 I4	  68027 # define         EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000
 I4	  68028 /* Cipher can handle pipeline operations */
 I4	  68029 # define         EVP_CIPH_FLAG_PIPELINE          0X800000
 I4	  68030 /* For provider implementations that handle  ASN1 get/set param themselves */
 I4	  68031 # define         EVP_CIPH_FLAG_CUSTOM_ASN1       0x1000000
 I4	  68032 /* For ciphers generating unprotected CMS attributes */
 I4	  68033 # define         EVP_CIPH_FLAG_CIPHER_WITH_MAC   0x2000000
 I4	  68034 /* For supplementary wrap cipher support */
 I4	  68035 # define         EVP_CIPH_FLAG_GET_WRAP_CIPHER   0x4000000
 I4	  68036 # define         EVP_CIPH_FLAG_INVERSE_CIPHER    0x8000000
 I4	  68037 
 I4	  68038 /*
 I4	  68039  * Cipher context flag to indicate we can handle wrap mode: if allowed in
 I4	  68040  * older applications it could overflow buffers.
 I4	  68041  */
 I4	  68042 
 I4	  68043 # define         EVP_CIPHER_CTX_FLAG_WRAP_ALLOW  0x1
 I4	  68044 
 I4	  68045 /* ctrl() values */
 I4	  68046 
 I4	  68047 # define         EVP_CTRL_INIT                   0x0
 I4	  68048 # define         EVP_CTRL_SET_KEY_LENGTH         0x1
 I4	  68049 # define         EVP_CTRL_GET_RC2_KEY_BITS       0x2
 I4	  68050 # define         EVP_CTRL_SET_RC2_KEY_BITS       0x3
 I4	  68051 # define         EVP_CTRL_GET_RC5_ROUNDS         0x4
 I4	  68052 # define         EVP_CTRL_SET_RC5_ROUNDS         0x5
 I4	  68053 # define         EVP_CTRL_RAND_KEY               0x6
 I4	  68054 # define         EVP_CTRL_PBE_PRF_NID            0x7

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1242
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68055 # define         EVP_CTRL_COPY                   0x8
 I4	  68056 # define         EVP_CTRL_AEAD_SET_IVLEN         0x9
 I4	  68057 # define         EVP_CTRL_AEAD_GET_TAG           0x10
 I4	  68058 # define         EVP_CTRL_AEAD_SET_TAG           0x11
 I4	  68059 # define         EVP_CTRL_AEAD_SET_IV_FIXED      0x12
 I4	  68060 # define         EVP_CTRL_GCM_SET_IVLEN          EVP_CTRL_AEAD_SET_IVLEN
 I4	  68061 # define         EVP_CTRL_GCM_GET_TAG            EVP_CTRL_AEAD_GET_TAG
 I4	  68062 # define         EVP_CTRL_GCM_SET_TAG            EVP_CTRL_AEAD_SET_TAG
 I4	  68063 # define         EVP_CTRL_GCM_SET_IV_FIXED       EVP_CTRL_AEAD_SET_IV_FIXED
 I4	  68064 # define         EVP_CTRL_GCM_IV_GEN             0x13
 I4	  68065 # define         EVP_CTRL_CCM_SET_IVLEN          EVP_CTRL_AEAD_SET_IVLEN
 I4	  68066 # define         EVP_CTRL_CCM_GET_TAG            EVP_CTRL_AEAD_GET_TAG
 I4	  68067 # define         EVP_CTRL_CCM_SET_TAG            EVP_CTRL_AEAD_SET_TAG
 I4	  68068 # define         EVP_CTRL_CCM_SET_IV_FIXED       EVP_CTRL_AEAD_SET_IV_FIXED
 I4	  68069 # define         EVP_CTRL_CCM_SET_L              0x14
 I4	  68070 # define         EVP_CTRL_CCM_SET_MSGLEN         0x15
 I4	  68071 /*
 I4	  68072  * AEAD cipher deduces payload length and returns number of bytes required to
 I4	  68073  * store MAC and eventual padding. Subsequent call to EVP_Cipher even
 I4	  68074  * appends/verifies MAC.
 I4	  68075  */
 I4	  68076 # define         EVP_CTRL_AEAD_TLS1_AAD          0x16
 I4	  68077 /* Used by composite AEAD ciphers, no-op in GCM, CCM... */
 I4	  68078 # define         EVP_CTRL_AEAD_SET_MAC_KEY       0x17
 I4	  68079 /* Set the GCM invocation field, decrypt only */
 I4	  68080 # define         EVP_CTRL_GCM_SET_IV_INV         0x18
 I4	  68081 
 I4	  68082 # define         EVP_CTRL_TLS1_1_MULTIBLOCK_AAD  0x19
 I4	  68083 # define         EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT      0x1a
 I4	  68084 # define         EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT      0x1b
 I4	  68085 # define         EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE  0x1c
 I4	  68086 
 I4	  68087 # define         EVP_CTRL_SSL3_MASTER_SECRET             0x1d
 I4	  68088 
 I4	  68089 /* EVP_CTRL_SET_SBOX takes the char * specifying S-boxes */
 I4	  68090 # define         EVP_CTRL_SET_SBOX                       0x1e
 I4	  68091 /*
 I4	  68092  * EVP_CTRL_SBOX_USED takes a 'size_t' and 'char *', pointing at a
 I4	  68093  * pre-allocated buffer with specified size
 I4	  68094  */
 I4	  68095 # define         EVP_CTRL_SBOX_USED                      0x1f
 I4	  68096 /* EVP_CTRL_KEY_MESH takes 'size_t' number of bytes to mesh the key after,
 I4	  68097  * 0 switches meshing off
 I4	  68098  */
 I4	  68099 # define         EVP_CTRL_KEY_MESH                       0x20
 I4	  68100 /* EVP_CTRL_BLOCK_PADDING_MODE takes the padding mode */
 I4	  68101 # define         EVP_CTRL_BLOCK_PADDING_MODE             0x21
 I4	  68102 
 I4	  68103 /* Set the output buffers to use for a pipelined operation */
 I4	  68104 # define         EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS       0x22
 I4	  68105 /* Set the input buffers to use for a pipelined operation */
 I4	  68106 # define         EVP_CTRL_SET_PIPELINE_INPUT_BUFS        0x23
 I4	  68107 /* Set the input buffer lengths to use for a pipelined operation */
 I4	  68108 # define         EVP_CTRL_SET_PIPELINE_INPUT_LENS        0x24
 I4	  68109 /* Get the IV length used by the cipher */
 I4	  68110 # define         EVP_CTRL_GET_IVLEN                      0x25
 I4	  68111 /* 0x26 is unused */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1243
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68112 /* Tell the cipher it's doing a speed test (SIV disallows multiple ops) */
 I4	  68113 # define         EVP_CTRL_SET_SPEED                      0x27
 I4	  68114 /* Get the unprotectedAttrs from cipher ctx */
 I4	  68115 # define         EVP_CTRL_PROCESS_UNPROTECTED            0x28
 I4	  68116 /* Get the supplementary wrap cipher */
 I4	  68117 #define          EVP_CTRL_GET_WRAP_CIPHER                0x29
 I4	  68118 /* TLSTREE key diversification */
 I4	  68119 #define          EVP_CTRL_TLSTREE                        0x2A
 I4	  68120 
 I4	  68121 /* Padding modes */
 I4	  68122 #define EVP_PADDING_PKCS7       1
 I4	  68123 #define EVP_PADDING_ISO7816_4   2
 I4	  68124 #define EVP_PADDING_ANSI923     3
 I4	  68125 #define EVP_PADDING_ISO10126    4
 I4	  68126 #define EVP_PADDING_ZERO        5
 I4	  68127 
 I4	  68128 /* RFC 5246 defines additional data to be 13 bytes in length */
 I4	  68129 # define         EVP_AEAD_TLS1_AAD_LEN           13
 I4	  68130 
 I4	  68131 typedef struct {
 I4	  68132     unsigned char *out;
 I4	  68133     const unsigned char *inp;
 I4	  68134     size_t len;
 I4	  68135     unsigned int interleave;
 I4	  68136 } EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM;
 I4	  68137 
 I4	  68138 /* GCM TLS constants */
 I4	  68139 /* Length of fixed part of IV derived from PRF */
 I4	  68140 # define EVP_GCM_TLS_FIXED_IV_LEN                        4
 I4	  68141 /* Length of explicit part of IV part of TLS records */
 I4	  68142 # define EVP_GCM_TLS_EXPLICIT_IV_LEN                     8
 I4	  68143 /* Length of tag for TLS */
 I4	  68144 # define EVP_GCM_TLS_TAG_LEN                             16
 I4	  68145 
 I4	  68146 /* CCM TLS constants */
 I4	  68147 /* Length of fixed part of IV derived from PRF */
 I4	  68148 # define EVP_CCM_TLS_FIXED_IV_LEN                        4
 I4	  68149 /* Length of explicit part of IV part of TLS records */
 I4	  68150 # define EVP_CCM_TLS_EXPLICIT_IV_LEN                     8
 I4	  68151 /* Total length of CCM IV length for TLS */
 I4	  68152 # define EVP_CCM_TLS_IV_LEN                              12
 I4	  68153 /* Length of tag for TLS */
 I4	  68154 # define EVP_CCM_TLS_TAG_LEN                             16
 I4	  68155 /* Length of CCM8 tag for TLS */
 I4	  68156 # define EVP_CCM8_TLS_TAG_LEN                            8
 I4	  68157 
 I4	  68158 /* Length of tag for TLS */
 I4	  68159 # define EVP_CHACHAPOLY_TLS_TAG_LEN                      16
 I4	  68160 
 I4	  68161 typedef struct evp_cipher_info_st {
 I4	  68162     const EVP_CIPHER *cipher;
 I4	  68163     unsigned char iv[EVP_MAX_IV_LENGTH];
       E	                      16
 I4	  68164 } EVP_CIPHER_INFO;
 I4	  68165 
 I4	  68166 
 I4	  68167 /* Password based encryption function */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1244
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68168 typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass,
 I4	  68169                               int passlen, ASN1_TYPE *param,
 I4	  68170                               const EVP_CIPHER *cipher, const EVP_MD *md,
 I4	  68171                               int en_de);
 I4	  68172 
 I4	  68173 typedef int (EVP_PBE_KEYGEN_EX) (EVP_CIPHER_CTX *ctx, const char *pass,
 I4	  68174                                  int passlen, ASN1_TYPE *param,
 I4	  68175                                  const EVP_CIPHER *cipher, const EVP_MD *md,
 I4	  68176                                  int en_de, OSSL_LIB_CTX *libctx, const char *propq);
 I4	  68177 
 I4	  68178 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  68179 #  define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
 I4	  68180                                                          (rsa))
 I4	  68181 # endif
 I4	  68182 
 I4	  68183 # ifndef OPENSSL_NO_DSA
 I4	  68184 #  define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
 I4	  68185                                         (dsa))
 I4	  68186 # endif
 I4	  68187 
 I4	  68188 # if !defined(OPENSSL_NO_DH) && !defined(OPENSSL_NO_DEPRECATED_3_0)
 I4	  68189 #  define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,(dh))
 I4	  68190 # endif
 I4	  68191 
 I4	  68192 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  68193 #  ifndef OPENSSL_NO_EC
 I4	  68194 #   define EVP_PKEY_assign_EC_KEY(pkey,eckey) \
 I4	  68195         EVP_PKEY_assign((pkey), EVP_PKEY_EC, (eckey))
 I4	  68196 #  endif
 I4	  68197 # endif
 I4	  68198 # ifndef OPENSSL_NO_SIPHASH
 I4	  68199 #  define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),\
 I4	  68200                                         EVP_PKEY_SIPHASH,(shkey))
 I4	  68201 # endif
 I4	  68202 
 I4	  68203 # ifndef OPENSSL_NO_POLY1305
 I4	  68204 #  define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),\
 I4	  68205                                         EVP_PKEY_POLY1305,(polykey))
 I4	  68206 # endif
 I4	  68207 
 I4	  68208 /* Add some extra combinations */
 I4	  68209 # define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))
 I4	  68210 # define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))
 I4	  68211 # define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a))
 I4	  68212 # define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a))
 I4	  68213 
 I4	  68214 int EVP_MD_get_type(const EVP_MD *md);
 I4	  68215 # define EVP_MD_type EVP_MD_get_type
 I4	  68216 # define EVP_MD_nid EVP_MD_get_type
 I4	  68217 const char *EVP_MD_get0_name(const EVP_MD *md);
 I4	  68218 # define EVP_MD_name EVP_MD_get0_name
 I4	  68219 const char *EVP_MD_get0_description(const EVP_MD *md);
 I4	  68220 int EVP_MD_is_a(const EVP_MD *md, const char *name);
 I4	  68221 int EVP_MD_names_do_all(const EVP_MD *md,
 I4	  68222                         void (*fn)(const char *name, void *data),
 I4	  68223                         void *data);
 I4	  68224 const OSSL_PROVIDER *EVP_MD_get0_provider(const EVP_MD *md);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1245
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68225 int EVP_MD_get_pkey_type(const EVP_MD *md);
 I4	  68226 # define EVP_MD_pkey_type EVP_MD_get_pkey_type
 I4	  68227 int EVP_MD_get_size(const EVP_MD *md);
 I4	  68228 # define EVP_MD_size EVP_MD_get_size
 I4	  68229 int EVP_MD_get_block_size(const EVP_MD *md);
 I4	  68230 # define EVP_MD_block_size EVP_MD_get_block_size
 I4	  68231 unsigned long EVP_MD_get_flags(const EVP_MD *md);
 I4	  68232 # define EVP_MD_flags EVP_MD_get_flags
 I4	  68233 
 I4	  68234 const EVP_MD *EVP_MD_CTX_get0_md(const EVP_MD_CTX *ctx);
 I4	  68235 EVP_MD *EVP_MD_CTX_get1_md(EVP_MD_CTX *ctx);
 I4	  68236 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  68237 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  68238 const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx);
 I4	  68239 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  68240 int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx,
 I4	  68241                                              const void *data, size_t count);
 I4	  68242 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  68243 void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx,
 I4	  68244                               int (*update) (EVP_MD_CTX *ctx,
 I4	  68245                                              const void *data, size_t count));
 I4	  68246 # endif
 I4	  68247 # define EVP_MD_CTX_get0_name(e)       EVP_MD_get0_name(EVP_MD_CTX_get0_md(e))
 I4	  68248 # define EVP_MD_CTX_get_size(e)        EVP_MD_get_size(EVP_MD_CTX_get0_md(e))
 I4	  68249 # define EVP_MD_CTX_size               EVP_MD_CTX_get_size
 I4	  68250 # define EVP_MD_CTX_get_block_size(e)  EVP_MD_get_block_size(EVP_MD_CTX_get0_md(e))
 I4	  68251 # define EVP_MD_CTX_block_size EVP_MD_CTX_get_block_size
 I4	  68252 # define EVP_MD_CTX_get_type(e)            EVP_MD_get_type(EVP_MD_CTX_get0_md(e))
 I4	  68253 # define EVP_MD_CTX_type EVP_MD_CTX_get_type
 I4	  68254 EVP_PKEY_CTX *EVP_MD_CTX_get_pkey_ctx(const EVP_MD_CTX *ctx);
 I4	  68255 # define EVP_MD_CTX_pkey_ctx EVP_MD_CTX_get_pkey_ctx
 I4	  68256 void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx);
 I4	  68257 void *EVP_MD_CTX_get0_md_data(const EVP_MD_CTX *ctx);
 I4	  68258 # define EVP_MD_CTX_md_data EVP_MD_CTX_get0_md_data
 I4	  68259 
 I4	  68260 int EVP_CIPHER_get_nid(const EVP_CIPHER *cipher);
 I4	  68261 # define EVP_CIPHER_nid EVP_CIPHER_get_nid
 I4	  68262 const char *EVP_CIPHER_get0_name(const EVP_CIPHER *cipher);
 I4	  68263 # define EVP_CIPHER_name EVP_CIPHER_get0_name
 I4	  68264 const char *EVP_CIPHER_get0_description(const EVP_CIPHER *cipher);
 I4	  68265 int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name);
 I4	  68266 int EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher,
 I4	  68267                             void (*fn)(const char *name, void *data),
 I4	  68268                             void *data);
 I4	  68269 const OSSL_PROVIDER *EVP_CIPHER_get0_provider(const EVP_CIPHER *cipher);
 I4	  68270 int EVP_CIPHER_get_block_size(const EVP_CIPHER *cipher);
 I4	  68271 # define EVP_CIPHER_block_size EVP_CIPHER_get_block_size
 I4	  68272 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  68273 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  68274 int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *cipher);
 I4	  68275 # endif
 I4	  68276 int EVP_CIPHER_get_key_length(const EVP_CIPHER *cipher);
 I4	  68277 # define EVP_CIPHER_key_length EVP_CIPHER_get_key_length

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1246
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68278 int EVP_CIPHER_get_iv_length(const EVP_CIPHER *cipher);
 I4	  68279 # define EVP_CIPHER_iv_length EVP_CIPHER_get_iv_length
 I4	  68280 unsigned long EVP_CIPHER_get_flags(const EVP_CIPHER *cipher);
 I4	  68281 # define EVP_CIPHER_flags EVP_CIPHER_get_flags
 I4	  68282 int EVP_CIPHER_get_mode(const EVP_CIPHER *cipher);
 I4	  68283 # define EVP_CIPHER_mode EVP_CIPHER_get_mode
 I4	  68284 int EVP_CIPHER_get_type(const EVP_CIPHER *cipher);
 I4	  68285 # define EVP_CIPHER_type EVP_CIPHER_get_type
 I4	  68286 EVP_CIPHER *EVP_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
 I4	  68287                              const char *properties);
 I4	  68288 int EVP_CIPHER_up_ref(EVP_CIPHER *cipher);
 I4	  68289 void EVP_CIPHER_free(EVP_CIPHER *cipher);
 I4	  68290 
 I4	  68291 const EVP_CIPHER *EVP_CIPHER_CTX_get0_cipher(const EVP_CIPHER_CTX *ctx);
 I4	  68292 EVP_CIPHER *EVP_CIPHER_CTX_get1_cipher(EVP_CIPHER_CTX *ctx);
 I4	  68293 int EVP_CIPHER_CTX_is_encrypting(const EVP_CIPHER_CTX *ctx);
 I4	  68294 # define EVP_CIPHER_CTX_encrypting EVP_CIPHER_CTX_is_encrypting
 I4	  68295 int EVP_CIPHER_CTX_get_nid(const EVP_CIPHER_CTX *ctx);
 I4	  68296 # define EVP_CIPHER_CTX_nid EVP_CIPHER_CTX_get_nid
 I4	  68297 int EVP_CIPHER_CTX_get_block_size(const EVP_CIPHER_CTX *ctx);
 I4	  68298 # define EVP_CIPHER_CTX_block_size EVP_CIPHER_CTX_get_block_size
 I4	  68299 int EVP_CIPHER_CTX_get_key_length(const EVP_CIPHER_CTX *ctx);
 I4	  68300 # define EVP_CIPHER_CTX_key_length EVP_CIPHER_CTX_get_key_length
 I4	  68301 int EVP_CIPHER_CTX_get_iv_length(const EVP_CIPHER_CTX *ctx);
 I4	  68302 # define EVP_CIPHER_CTX_iv_length EVP_CIPHER_CTX_get_iv_length
 I4	  68303 int EVP_CIPHER_CTX_get_tag_length(const EVP_CIPHER_CTX *ctx);
 I4	  68304 # define EVP_CIPHER_CTX_tag_length EVP_CIPHER_CTX_get_tag_length
 I4	  68305 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  68306 const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx);
 I4	  68307 OSSL_DEPRECATEDIN_3_0 const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx);
       E	 extern
 I4	  68308 OSSL_DEPRECATEDIN_3_0 const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx);
       E	 extern
 I4	  68309 OSSL_DEPRECATEDIN_3_0 unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx);
       E	 extern
 I4	  68310 # endif
 I4	  68311 int EVP_CIPHER_CTX_get_updated_iv(EVP_CIPHER_CTX *ctx, void *buf, size_t len);
 I4	  68312 int EVP_CIPHER_CTX_get_original_iv(EVP_CIPHER_CTX *ctx, void *buf, size_t len);
 I4	  68313 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  68314 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  68315 unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx);
 I4	  68316 # endif
 I4	  68317 int EVP_CIPHER_CTX_get_num(const EVP_CIPHER_CTX *ctx);
 I4	  68318 # define EVP_CIPHER_CTX_num EVP_CIPHER_CTX_get_num
 I4	  68319 int EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num);
 I4	  68320 int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in);
 I4	  68321 void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx);
 I4	  68322 void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data);
 I4	  68323 void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx);
 I4	  68324 void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data);
 I4	  68325 # define EVP_CIPHER_CTX_get0_name(c) EVP_CIPHER_get0_name(EVP_CIPHER_CTX_get0_cipher(c))
 I4	  68326 # define EVP_CIPHER_CTX_get_type(c)  EVP_CIPHER_get_type(EVP_CIPHER_CTX_get0_cipher(c))
 I4	  68327 # define EVP_CIPHER_CTX_type         EVP_CIPHER_CTX_get_type
 I4	  68328 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  68329 #  define EVP_CIPHER_CTX_flags(c)    EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(c))
 I4	  68330 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1247
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68331 # define EVP_CIPHER_CTX_get_mode(c)  EVP_CIPHER_get_mode(EVP_CIPHER_CTX_get0_cipher(c))
 I4	  68332 # define EVP_CIPHER_CTX_mode         EVP_CIPHER_CTX_get_mode
 I4	  68333 
 I4	  68334 # define EVP_ENCODE_LENGTH(l)    ((((l)+2)/3*4)+((l)/48+1)*2+80)
 I4	  68335 # define EVP_DECODE_LENGTH(l)    (((l)+3)/4*3+80)
 I4	  68336 
 I4	  68337 # define EVP_SignInit_ex(a,b,c)          EVP_DigestInit_ex(a,b,c)
 I4	  68338 # define EVP_SignInit(a,b)               EVP_DigestInit(a,b)
 I4	  68339 # define EVP_SignUpdate(a,b,c)           EVP_DigestUpdate(a,b,c)
 I4	  68340 # define EVP_VerifyInit_ex(a,b,c)        EVP_DigestInit_ex(a,b,c)
 I4	  68341 # define EVP_VerifyInit(a,b)             EVP_DigestInit(a,b)
 I4	  68342 # define EVP_VerifyUpdate(a,b,c)         EVP_DigestUpdate(a,b,c)
 I4	  68343 # define EVP_OpenUpdate(a,b,c,d,e)       EVP_DecryptUpdate(a,b,c,d,e)
 I4	  68344 # define EVP_SealUpdate(a,b,c,d,e)       EVP_EncryptUpdate(a,b,c,d,e)
 I4	  68345 
 I4    X  68346 # ifdef CONST_STRICT
 I4    X  68347 void BIO_set_md(BIO *, const EVP_MD *md);
 I4    X  68348 # else
 I4	  68349 #  define BIO_set_md(b,md)          BIO_ctrl(b,BIO_C_SET_MD,0,(void *)(md))
 I4	  68350 # endif
 I4	  68351 # define BIO_get_md(b,mdp)          BIO_ctrl(b,BIO_C_GET_MD,0,(mdp))
 I4	  68352 # define BIO_get_md_ctx(b,mdcp)     BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(mdcp))
 I4	  68353 # define BIO_set_md_ctx(b,mdcp)     BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(mdcp))
 I4	  68354 # define BIO_get_cipher_status(b)   BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL)
 I4	  68355 # define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(c_pp))
 I4	  68356 
 I4	  68357 /*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c,
 I4	  68358                           unsigned char *out,
 I4	  68359                           const unsigned char *in, unsigned int inl);
 I4	  68360 
 I4	  68361 # define EVP_add_cipher_alias(n,alias) \
 I4	  68362         OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n))
 I4	  68363 # define EVP_add_digest_alias(n,alias) \
 I4	  68364         OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n))
 I4	  68365 # define EVP_delete_cipher_alias(alias) \
 I4	  68366         OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS);
 I4	  68367 # define EVP_delete_digest_alias(alias) \
 I4	  68368         OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS);
 I4	  68369 
 I4	  68370 int EVP_MD_get_params(const EVP_MD *digest, OSSL_PARAM params[]);
 I4	  68371 int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]);
 I4	  68372 int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]);
 I4	  68373 const OSSL_PARAM *EVP_MD_gettable_params(const EVP_MD *digest);
 I4	  68374 const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md);
 I4	  68375 const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md);
 I4	  68376 const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx);
 I4	  68377 const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx);
 I4	  68378 int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2);
 I4	  68379 EVP_MD_CTX *EVP_MD_CTX_new(void);
 I4	  68380 int EVP_MD_CTX_reset(EVP_MD_CTX *ctx);
 I4	  68381 void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
 I4	  68382 # define EVP_MD_CTX_create()     EVP_MD_CTX_new()
 I4	  68383 # define EVP_MD_CTX_init(ctx)    EVP_MD_CTX_reset((ctx))
 I4	  68384 # define EVP_MD_CTX_destroy(ctx) EVP_MD_CTX_free((ctx))
 I4	  68385 __owur int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in);
       E	 
 I4	  68386 void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1248
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68387 void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags);
 I4	  68388 int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags);
 I4	  68389 __owur int EVP_DigestInit_ex2(EVP_MD_CTX *ctx, const EVP_MD *type,
       E	 
 I4	  68390                               const OSSL_PARAM params[]);
 I4	  68391 __owur int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type,
       E	 
 I4	  68392                                  ENGINE *impl);
 I4	  68393 __owur int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d,
       E	 
 I4	  68394                                 size_t cnt);
 I4	  68395 __owur int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md,
       E	 
 I4	  68396                                   unsigned int *s);
 I4	  68397 __owur int EVP_Digest(const void *data, size_t count,
       E	 
 I4	  68398                           unsigned char *md, unsigned int *size,
 I4	  68399                           const EVP_MD *type, ENGINE *impl);
 I4	  68400 __owur int EVP_Q_digest(OSSL_LIB_CTX *libctx, const char *name,
       E	 
 I4	  68401                         const char *propq, const void *data, size_t datalen,
 I4	  68402                         unsigned char *md, size_t *mdlen);
 I4	  68403 
 I4	  68404 __owur int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in);
       E	 
 I4	  68405 __owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);
       E	 
 I4	  68406 __owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md,
       E	 
 I4	  68407                            unsigned int *s);
 I4	  68408 __owur int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md,
       E	 
 I4	  68409                               size_t len);
 I4	  68410 
 I4	  68411 __owur EVP_MD *EVP_MD_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
       E	 
 I4	  68412                             const char *properties);
 I4	  68413 
 I4	  68414 int EVP_MD_up_ref(EVP_MD *md);
 I4	  68415 void EVP_MD_free(EVP_MD *md);
 I4	  68416 
 I4	  68417 int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify);
 I4	  68418 int EVP_read_pw_string_min(char *buf, int minlen, int maxlen,
 I4	  68419                            const char *prompt, int verify);
 I4	  68420 void EVP_set_pw_prompt(const char *prompt);
 I4	  68421 char *EVP_get_pw_prompt(void);
 I4	  68422 
 I4	  68423 __owur int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,
       E	 
 I4	  68424                           const unsigned char *salt,
 I4	  68425                           const unsigned char *data, int datal, int count,
 I4	  68426                           unsigned char *key, unsigned char *iv);
 I4	  68427 
 I4	  68428 void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags);
 I4	  68429 void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags);
 I4	  68430 int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags);
 I4	  68431 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1249
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68432 __owur int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
       E	 
 I4	  68433                            const unsigned char *key, const unsigned char *iv);
 I4	  68434 /*__owur*/ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,
 I4	  68435                                   const EVP_CIPHER *cipher, ENGINE *impl,
 I4	  68436                                   const unsigned char *key,
 I4	  68437                                   const unsigned char *iv);
 I4	  68438 __owur int EVP_EncryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
       E	 
 I4	  68439                                const unsigned char *key,
 I4	  68440                                const unsigned char *iv,
 I4	  68441                                const OSSL_PARAM params[]);
 I4	  68442 /*__owur*/ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
 I4	  68443                                  int *outl, const unsigned char *in, int inl);
 I4	  68444 /*__owur*/ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out,
 I4	  68445                                    int *outl);
 I4	  68446 /*__owur*/ int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
 I4	  68447                                 int *outl);
 I4	  68448 
 I4	  68449 __owur int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
       E	 
 I4	  68450                            const unsigned char *key, const unsigned char *iv);
 I4	  68451 /*__owur*/ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx,
 I4	  68452                                   const EVP_CIPHER *cipher, ENGINE *impl,
 I4	  68453                                   const unsigned char *key,
 I4	  68454                                   const unsigned char *iv);
 I4	  68455 __owur int EVP_DecryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
       E	 
 I4	  68456                                const unsigned char *key,
 I4	  68457                                const unsigned char *iv,
 I4	  68458                                const OSSL_PARAM params[]);
 I4	  68459 /*__owur*/ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
 I4	  68460                                  int *outl, const unsigned char *in, int inl);
 I4	  68461 __owur int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm,
       E	 
 I4	  68462                             int *outl);
 I4	  68463 /*__owur*/ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
 I4	  68464                                    int *outl);
 I4	  68465 
 I4	  68466 __owur int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
       E	 
 I4	  68467                           const unsigned char *key, const unsigned char *iv,
 I4	  68468                           int enc);
 I4	  68469 /*__owur*/ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx,
 I4	  68470                                  const EVP_CIPHER *cipher, ENGINE *impl,
 I4	  68471                                  const unsigned char *key,
 I4	  68472                                  const unsigned char *iv, int enc);
 I4	  68473 __owur int EVP_CipherInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
       E	 
 I4	  68474                               const unsigned char *key, const unsigned char *iv,
 I4	  68475                               int enc, const OSSL_PARAM params[]);
 I4	  68476 __owur int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
       E	 
 I4	  68477                             int *outl, const unsigned char *in, int inl);
 I4	  68478 __owur int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm,
       E	 
 I4	  68479                            int *outl);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1250
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68480 __owur int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
       E	 
 I4	  68481                               int *outl);
 I4	  68482 
 I4	  68483 __owur int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s,
       E	 
 I4	  68484                          EVP_PKEY *pkey);
 I4	  68485 __owur int EVP_SignFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s,
       E	 
 I4	  68486                             EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,
 I4	  68487                             const char *propq);
 I4	  68488 
 I4	  68489 __owur int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret,
       E	 
 I4	  68490                           size_t *siglen, const unsigned char *tbs,
 I4	  68491                           size_t tbslen);
 I4	  68492 
 I4	  68493 __owur int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
       E	 
 I4	  68494                            unsigned int siglen, EVP_PKEY *pkey);
 I4	  68495 __owur int EVP_VerifyFinal_ex(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
       E	 
 I4	  68496                               unsigned int siglen, EVP_PKEY *pkey,
 I4	  68497                               OSSL_LIB_CTX *libctx, const char *propq);
 I4	  68498 
 I4	  68499 __owur int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret,
       E	 
 I4	  68500                             size_t siglen, const unsigned char *tbs,
 I4	  68501                             size_t tbslen);
 I4	  68502 
 I4	  68503 int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 I4	  68504                           const char *mdname, OSSL_LIB_CTX *libctx,
 I4	  68505                           const char *props, EVP_PKEY *pkey,
 I4	  68506                           const OSSL_PARAM params[]);
 I4	  68507 /*__owur*/ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 I4	  68508                                   const EVP_MD *type, ENGINE *e,
 I4	  68509                                   EVP_PKEY *pkey);
 I4	  68510 int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize);
 I4	  68511 __owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,
       E	 
 I4	  68512                                size_t *siglen);
 I4	  68513 
 I4	  68514 int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
 I4	  68515                             const char *mdname, OSSL_LIB_CTX *libctx,
 I4	  68516                             const char *props, EVP_PKEY *pkey,
 I4	  68517                             const OSSL_PARAM params[]);
 I4	  68518 __owur int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
       E	 
 I4	  68519                                 const EVP_MD *type, ENGINE *e,
 I4	  68520                                 EVP_PKEY *pkey);
 I4	  68521 int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize);
 I4	  68522 __owur int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig,
       E	 
 I4	  68523                                  size_t siglen);
 I4	  68524 
 I4	  68525 __owur int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
       E	 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1251
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68526                         const unsigned char *ek, int ekl,
 I4	  68527                         const unsigned char *iv, EVP_PKEY *priv);
 I4	  68528 __owur int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
       E	 
 I4	  68529 
 I4	  68530 __owur int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
       E	 
 I4	  68531                         unsigned char **ek, int *ekl, unsigned char *iv,
 I4	  68532                         EVP_PKEY **pubk, int npubk);
 I4	  68533 __owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
       E	 
 I4	  68534 
 I4	  68535 EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void);
 I4	  68536 void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx);
 I4	  68537 int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, const EVP_ENCODE_CTX *sctx);
 I4	  68538 int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx);
 I4	  68539 void EVP_EncodeInit(EVP_ENCODE_CTX *ctx);
 I4	  68540 int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
 I4	  68541                      const unsigned char *in, int inl);
 I4	  68542 void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl);
 I4	  68543 int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);
 I4	  68544 
 I4	  68545 void EVP_DecodeInit(EVP_ENCODE_CTX *ctx);
 I4	  68546 int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
 I4	  68547                      const unsigned char *in, int inl);
 I4	  68548 int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned
 I4	  68549                     char *out, int *outl);
 I4	  68550 int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);
 I4	  68551 
 I4	  68552 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  68553 #  define EVP_CIPHER_CTX_init(c)      EVP_CIPHER_CTX_reset(c)
 I4	  68554 #  define EVP_CIPHER_CTX_cleanup(c)   EVP_CIPHER_CTX_reset(c)
 I4	  68555 # endif
 I4	  68556 EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
 I4	  68557 int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
 I4	  68558 void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c);
 I4	  68559 int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
 I4	  68560 int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad);
 I4	  68561 int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
 I4	  68562 int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key);
 I4	  68563 int EVP_CIPHER_get_params(EVP_CIPHER *cipher, OSSL_PARAM params[]);
 I4	  68564 int EVP_CIPHER_CTX_set_params(EVP_CIPHER_CTX *ctx, const OSSL_PARAM params[]);
 I4	  68565 int EVP_CIPHER_CTX_get_params(EVP_CIPHER_CTX *ctx, OSSL_PARAM params[]);
 I4	  68566 const OSSL_PARAM *EVP_CIPHER_gettable_params(const EVP_CIPHER *cipher);
 I4	  68567 const OSSL_PARAM *EVP_CIPHER_settable_ctx_params(const EVP_CIPHER *cipher);
 I4	  68568 const OSSL_PARAM *EVP_CIPHER_gettable_ctx_params(const EVP_CIPHER *cipher);
 I4	  68569 const OSSL_PARAM *EVP_CIPHER_CTX_settable_params(EVP_CIPHER_CTX *ctx);
 I4	  68570 const OSSL_PARAM *EVP_CIPHER_CTX_gettable_params(EVP_CIPHER_CTX *ctx);
 I4	  68571 
 I4	  68572 const BIO_METHOD *BIO_f_md(void);
 I4	  68573 const BIO_METHOD *BIO_f_base64(void);
 I4	  68574 const BIO_METHOD *BIO_f_cipher(void);
 I4	  68575 const BIO_METHOD *BIO_f_reliable(void);
 I4	  68576 __owur int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k,
       E	 
 I4	  68577                           const unsigned char *i, int enc);
 I4	  68578 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1252
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68579 const EVP_MD *EVP_md_null(void);
 I4    X  68580 # ifndef OPENSSL_NO_MD2
 I4    X  68581 const EVP_MD *EVP_md2(void);
 I4    X  68582 # endif
 I4	  68583 # ifndef OPENSSL_NO_MD4
 I4	  68584 const EVP_MD *EVP_md4(void);
 I4	  68585 # endif
 I4	  68586 # ifndef OPENSSL_NO_MD5
 I4	  68587 const EVP_MD *EVP_md5(void);
 I4	  68588 const EVP_MD *EVP_md5_sha1(void);
 I4	  68589 # endif
 I4	  68590 # ifndef OPENSSL_NO_BLAKE2
 I4	  68591 const EVP_MD *EVP_blake2b512(void);
 I4	  68592 const EVP_MD *EVP_blake2s256(void);
 I4	  68593 # endif
 I4	  68594 const EVP_MD *EVP_sha1(void);
 I4	  68595 const EVP_MD *EVP_sha224(void);
 I4	  68596 const EVP_MD *EVP_sha256(void);
 I4	  68597 const EVP_MD *EVP_sha384(void);
 I4	  68598 const EVP_MD *EVP_sha512(void);
 I4	  68599 const EVP_MD *EVP_sha512_224(void);
 I4	  68600 const EVP_MD *EVP_sha512_256(void);
 I4	  68601 const EVP_MD *EVP_sha3_224(void);
 I4	  68602 const EVP_MD *EVP_sha3_256(void);
 I4	  68603 const EVP_MD *EVP_sha3_384(void);
 I4	  68604 const EVP_MD *EVP_sha3_512(void);
 I4	  68605 const EVP_MD *EVP_shake128(void);
 I4	  68606 const EVP_MD *EVP_shake256(void);
 I4	  68607 
 I4    X  68608 # ifndef OPENSSL_NO_MDC2
 I4    X  68609 const EVP_MD *EVP_mdc2(void);
 I4    X  68610 # endif
 I4	  68611 # ifndef OPENSSL_NO_RMD160
 I4	  68612 const EVP_MD *EVP_ripemd160(void);
 I4	  68613 # endif
 I4	  68614 # ifndef OPENSSL_NO_WHIRLPOOL
 I4	  68615 const EVP_MD *EVP_whirlpool(void);
 I4	  68616 # endif
 I4	  68617 # ifndef OPENSSL_NO_SM3
 I4	  68618 const EVP_MD *EVP_sm3(void);
 I4	  68619 # endif
 I4	  68620 const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */
 I4	  68621 # ifndef OPENSSL_NO_DES
 I4	  68622 const EVP_CIPHER *EVP_des_ecb(void);
 I4	  68623 const EVP_CIPHER *EVP_des_ede(void);
 I4	  68624 const EVP_CIPHER *EVP_des_ede3(void);
 I4	  68625 const EVP_CIPHER *EVP_des_ede_ecb(void);
 I4	  68626 const EVP_CIPHER *EVP_des_ede3_ecb(void);
 I4	  68627 const EVP_CIPHER *EVP_des_cfb64(void);
 I4	  68628 #  define EVP_des_cfb EVP_des_cfb64
 I4	  68629 const EVP_CIPHER *EVP_des_cfb1(void);
 I4	  68630 const EVP_CIPHER *EVP_des_cfb8(void);
 I4	  68631 const EVP_CIPHER *EVP_des_ede_cfb64(void);
 I4	  68632 #  define EVP_des_ede_cfb EVP_des_ede_cfb64
 I4	  68633 const EVP_CIPHER *EVP_des_ede3_cfb64(void);
 I4	  68634 #  define EVP_des_ede3_cfb EVP_des_ede3_cfb64
 I4	  68635 const EVP_CIPHER *EVP_des_ede3_cfb1(void);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1253
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68636 const EVP_CIPHER *EVP_des_ede3_cfb8(void);
 I4	  68637 const EVP_CIPHER *EVP_des_ofb(void);
 I4	  68638 const EVP_CIPHER *EVP_des_ede_ofb(void);
 I4	  68639 const EVP_CIPHER *EVP_des_ede3_ofb(void);
 I4	  68640 const EVP_CIPHER *EVP_des_cbc(void);
 I4	  68641 const EVP_CIPHER *EVP_des_ede_cbc(void);
 I4	  68642 const EVP_CIPHER *EVP_des_ede3_cbc(void);
 I4	  68643 const EVP_CIPHER *EVP_desx_cbc(void);
 I4	  68644 const EVP_CIPHER *EVP_des_ede3_wrap(void);
 I4	  68645 /*
 I4	  68646  * This should now be supported through the dev_crypto ENGINE. But also, why
 I4	  68647  * are rc4 and md5 declarations made here inside a "NO_DES" precompiler
 I4	  68648  * branch?
 I4	  68649  */
 I4	  68650 # endif
 I4	  68651 # ifndef OPENSSL_NO_RC4
 I4	  68652 const EVP_CIPHER *EVP_rc4(void);
 I4	  68653 const EVP_CIPHER *EVP_rc4_40(void);
 I4	  68654 #  ifndef OPENSSL_NO_MD5
 I4	  68655 const EVP_CIPHER *EVP_rc4_hmac_md5(void);
 I4	  68656 #  endif
 I4	  68657 # endif
 I4    X  68658 # ifndef OPENSSL_NO_IDEA
 I4    X  68659 const EVP_CIPHER *EVP_idea_ecb(void);
 I4    X  68660 const EVP_CIPHER *EVP_idea_cfb64(void);
 I4    X  68661 #  define EVP_idea_cfb EVP_idea_cfb64
 I4    X  68662 const EVP_CIPHER *EVP_idea_ofb(void);
 I4    X  68663 const EVP_CIPHER *EVP_idea_cbc(void);
 I4    X  68664 # endif
 I4	  68665 # ifndef OPENSSL_NO_RC2
 I4	  68666 const EVP_CIPHER *EVP_rc2_ecb(void);
 I4	  68667 const EVP_CIPHER *EVP_rc2_cbc(void);
 I4	  68668 const EVP_CIPHER *EVP_rc2_40_cbc(void);
 I4	  68669 const EVP_CIPHER *EVP_rc2_64_cbc(void);
 I4	  68670 const EVP_CIPHER *EVP_rc2_cfb64(void);
 I4	  68671 #  define EVP_rc2_cfb EVP_rc2_cfb64
 I4	  68672 const EVP_CIPHER *EVP_rc2_ofb(void);
 I4	  68673 # endif
 I4	  68674 # ifndef OPENSSL_NO_BF
 I4	  68675 const EVP_CIPHER *EVP_bf_ecb(void);
 I4	  68676 const EVP_CIPHER *EVP_bf_cbc(void);
 I4	  68677 const EVP_CIPHER *EVP_bf_cfb64(void);
 I4	  68678 #  define EVP_bf_cfb EVP_bf_cfb64
 I4	  68679 const EVP_CIPHER *EVP_bf_ofb(void);
 I4	  68680 # endif
 I4	  68681 # ifndef OPENSSL_NO_CAST
 I4	  68682 const EVP_CIPHER *EVP_cast5_ecb(void);
 I4	  68683 const EVP_CIPHER *EVP_cast5_cbc(void);
 I4	  68684 const EVP_CIPHER *EVP_cast5_cfb64(void);
 I4	  68685 #  define EVP_cast5_cfb EVP_cast5_cfb64
 I4	  68686 const EVP_CIPHER *EVP_cast5_ofb(void);
 I4	  68687 # endif
 I4    X  68688 # ifndef OPENSSL_NO_RC5
 I4    X  68689 const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void);
 I4    X  68690 const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void);
 I4    X  68691 const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void);
 I4    X  68692 #  define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1254
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4    X  68693 const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void);
 I4    X  68694 # endif
 I4	  68695 const EVP_CIPHER *EVP_aes_128_ecb(void);
 I4	  68696 const EVP_CIPHER *EVP_aes_128_cbc(void);
 I4	  68697 const EVP_CIPHER *EVP_aes_128_cfb1(void);
 I4	  68698 const EVP_CIPHER *EVP_aes_128_cfb8(void);
 I4	  68699 const EVP_CIPHER *EVP_aes_128_cfb128(void);
 I4	  68700 # define EVP_aes_128_cfb EVP_aes_128_cfb128
 I4	  68701 const EVP_CIPHER *EVP_aes_128_ofb(void);
 I4	  68702 const EVP_CIPHER *EVP_aes_128_ctr(void);
 I4	  68703 const EVP_CIPHER *EVP_aes_128_ccm(void);
 I4	  68704 const EVP_CIPHER *EVP_aes_128_gcm(void);
 I4	  68705 const EVP_CIPHER *EVP_aes_128_xts(void);
 I4	  68706 const EVP_CIPHER *EVP_aes_128_wrap(void);
 I4	  68707 const EVP_CIPHER *EVP_aes_128_wrap_pad(void);
 I4	  68708 # ifndef OPENSSL_NO_OCB
 I4	  68709 const EVP_CIPHER *EVP_aes_128_ocb(void);
 I4	  68710 # endif
 I4	  68711 const EVP_CIPHER *EVP_aes_192_ecb(void);
 I4	  68712 const EVP_CIPHER *EVP_aes_192_cbc(void);
 I4	  68713 const EVP_CIPHER *EVP_aes_192_cfb1(void);
 I4	  68714 const EVP_CIPHER *EVP_aes_192_cfb8(void);
 I4	  68715 const EVP_CIPHER *EVP_aes_192_cfb128(void);
 I4	  68716 # define EVP_aes_192_cfb EVP_aes_192_cfb128
 I4	  68717 const EVP_CIPHER *EVP_aes_192_ofb(void);
 I4	  68718 const EVP_CIPHER *EVP_aes_192_ctr(void);
 I4	  68719 const EVP_CIPHER *EVP_aes_192_ccm(void);
 I4	  68720 const EVP_CIPHER *EVP_aes_192_gcm(void);
 I4	  68721 const EVP_CIPHER *EVP_aes_192_wrap(void);
 I4	  68722 const EVP_CIPHER *EVP_aes_192_wrap_pad(void);
 I4	  68723 # ifndef OPENSSL_NO_OCB
 I4	  68724 const EVP_CIPHER *EVP_aes_192_ocb(void);
 I4	  68725 # endif
 I4	  68726 const EVP_CIPHER *EVP_aes_256_ecb(void);
 I4	  68727 const EVP_CIPHER *EVP_aes_256_cbc(void);
 I4	  68728 const EVP_CIPHER *EVP_aes_256_cfb1(void);
 I4	  68729 const EVP_CIPHER *EVP_aes_256_cfb8(void);
 I4	  68730 const EVP_CIPHER *EVP_aes_256_cfb128(void);
 I4	  68731 # define EVP_aes_256_cfb EVP_aes_256_cfb128
 I4	  68732 const EVP_CIPHER *EVP_aes_256_ofb(void);
 I4	  68733 const EVP_CIPHER *EVP_aes_256_ctr(void);
 I4	  68734 const EVP_CIPHER *EVP_aes_256_ccm(void);
 I4	  68735 const EVP_CIPHER *EVP_aes_256_gcm(void);
 I4	  68736 const EVP_CIPHER *EVP_aes_256_xts(void);
 I4	  68737 const EVP_CIPHER *EVP_aes_256_wrap(void);
 I4	  68738 const EVP_CIPHER *EVP_aes_256_wrap_pad(void);
 I4	  68739 # ifndef OPENSSL_NO_OCB
 I4	  68740 const EVP_CIPHER *EVP_aes_256_ocb(void);
 I4	  68741 # endif
 I4	  68742 const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void);
 I4	  68743 const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void);
 I4	  68744 const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void);
 I4	  68745 const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void);
 I4	  68746 # ifndef OPENSSL_NO_ARIA
 I4	  68747 const EVP_CIPHER *EVP_aria_128_ecb(void);
 I4	  68748 const EVP_CIPHER *EVP_aria_128_cbc(void);
 I4	  68749 const EVP_CIPHER *EVP_aria_128_cfb1(void);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1255
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68750 const EVP_CIPHER *EVP_aria_128_cfb8(void);
 I4	  68751 const EVP_CIPHER *EVP_aria_128_cfb128(void);
 I4	  68752 #  define EVP_aria_128_cfb EVP_aria_128_cfb128
 I4	  68753 const EVP_CIPHER *EVP_aria_128_ctr(void);
 I4	  68754 const EVP_CIPHER *EVP_aria_128_ofb(void);
 I4	  68755 const EVP_CIPHER *EVP_aria_128_gcm(void);
 I4	  68756 const EVP_CIPHER *EVP_aria_128_ccm(void);
 I4	  68757 const EVP_CIPHER *EVP_aria_192_ecb(void);
 I4	  68758 const EVP_CIPHER *EVP_aria_192_cbc(void);
 I4	  68759 const EVP_CIPHER *EVP_aria_192_cfb1(void);
 I4	  68760 const EVP_CIPHER *EVP_aria_192_cfb8(void);
 I4	  68761 const EVP_CIPHER *EVP_aria_192_cfb128(void);
 I4	  68762 #  define EVP_aria_192_cfb EVP_aria_192_cfb128
 I4	  68763 const EVP_CIPHER *EVP_aria_192_ctr(void);
 I4	  68764 const EVP_CIPHER *EVP_aria_192_ofb(void);
 I4	  68765 const EVP_CIPHER *EVP_aria_192_gcm(void);
 I4	  68766 const EVP_CIPHER *EVP_aria_192_ccm(void);
 I4	  68767 const EVP_CIPHER *EVP_aria_256_ecb(void);
 I4	  68768 const EVP_CIPHER *EVP_aria_256_cbc(void);
 I4	  68769 const EVP_CIPHER *EVP_aria_256_cfb1(void);
 I4	  68770 const EVP_CIPHER *EVP_aria_256_cfb8(void);
 I4	  68771 const EVP_CIPHER *EVP_aria_256_cfb128(void);
 I4	  68772 #  define EVP_aria_256_cfb EVP_aria_256_cfb128
 I4	  68773 const EVP_CIPHER *EVP_aria_256_ctr(void);
 I4	  68774 const EVP_CIPHER *EVP_aria_256_ofb(void);
 I4	  68775 const EVP_CIPHER *EVP_aria_256_gcm(void);
 I4	  68776 const EVP_CIPHER *EVP_aria_256_ccm(void);
 I4	  68777 # endif
 I4	  68778 # ifndef OPENSSL_NO_CAMELLIA
 I4	  68779 const EVP_CIPHER *EVP_camellia_128_ecb(void);
 I4	  68780 const EVP_CIPHER *EVP_camellia_128_cbc(void);
 I4	  68781 const EVP_CIPHER *EVP_camellia_128_cfb1(void);
 I4	  68782 const EVP_CIPHER *EVP_camellia_128_cfb8(void);
 I4	  68783 const EVP_CIPHER *EVP_camellia_128_cfb128(void);
 I4	  68784 #  define EVP_camellia_128_cfb EVP_camellia_128_cfb128
 I4	  68785 const EVP_CIPHER *EVP_camellia_128_ofb(void);
 I4	  68786 const EVP_CIPHER *EVP_camellia_128_ctr(void);
 I4	  68787 const EVP_CIPHER *EVP_camellia_192_ecb(void);
 I4	  68788 const EVP_CIPHER *EVP_camellia_192_cbc(void);
 I4	  68789 const EVP_CIPHER *EVP_camellia_192_cfb1(void);
 I4	  68790 const EVP_CIPHER *EVP_camellia_192_cfb8(void);
 I4	  68791 const EVP_CIPHER *EVP_camellia_192_cfb128(void);
 I4	  68792 #  define EVP_camellia_192_cfb EVP_camellia_192_cfb128
 I4	  68793 const EVP_CIPHER *EVP_camellia_192_ofb(void);
 I4	  68794 const EVP_CIPHER *EVP_camellia_192_ctr(void);
 I4	  68795 const EVP_CIPHER *EVP_camellia_256_ecb(void);
 I4	  68796 const EVP_CIPHER *EVP_camellia_256_cbc(void);
 I4	  68797 const EVP_CIPHER *EVP_camellia_256_cfb1(void);
 I4	  68798 const EVP_CIPHER *EVP_camellia_256_cfb8(void);
 I4	  68799 const EVP_CIPHER *EVP_camellia_256_cfb128(void);
 I4	  68800 #  define EVP_camellia_256_cfb EVP_camellia_256_cfb128
 I4	  68801 const EVP_CIPHER *EVP_camellia_256_ofb(void);
 I4	  68802 const EVP_CIPHER *EVP_camellia_256_ctr(void);
 I4	  68803 # endif
 I4	  68804 # ifndef OPENSSL_NO_CHACHA
 I4	  68805 const EVP_CIPHER *EVP_chacha20(void);
 I4	  68806 #  ifndef OPENSSL_NO_POLY1305

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1256
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68807 const EVP_CIPHER *EVP_chacha20_poly1305(void);
 I4	  68808 #  endif
 I4	  68809 # endif
 I4	  68810 
 I4	  68811 # ifndef OPENSSL_NO_SEED
 I4	  68812 const EVP_CIPHER *EVP_seed_ecb(void);
 I4	  68813 const EVP_CIPHER *EVP_seed_cbc(void);
 I4	  68814 const EVP_CIPHER *EVP_seed_cfb128(void);
 I4	  68815 #  define EVP_seed_cfb EVP_seed_cfb128
 I4	  68816 const EVP_CIPHER *EVP_seed_ofb(void);
 I4	  68817 # endif
 I4	  68818 
 I4	  68819 # ifndef OPENSSL_NO_SM4
 I4	  68820 const EVP_CIPHER *EVP_sm4_ecb(void);
 I4	  68821 const EVP_CIPHER *EVP_sm4_cbc(void);
 I4	  68822 const EVP_CIPHER *EVP_sm4_cfb128(void);
 I4	  68823 #  define EVP_sm4_cfb EVP_sm4_cfb128
 I4	  68824 const EVP_CIPHER *EVP_sm4_ofb(void);
 I4	  68825 const EVP_CIPHER *EVP_sm4_ctr(void);
 I4	  68826 # endif
 I4	  68827 
 I4	  68828 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  68829 #  define OPENSSL_add_all_algorithms_conf() \
 I4	  68830     OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
 I4	  68831                         | OPENSSL_INIT_ADD_ALL_DIGESTS \
 I4	  68832                         | OPENSSL_INIT_LOAD_CONFIG, NULL)
 I4	  68833 #  define OPENSSL_add_all_algorithms_noconf() \
 I4	  68834     OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
 I4	  68835                         | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
 I4	  68836 
 I4    X  68837 #  ifdef OPENSSL_LOAD_CONF
 I4    X  68838 #   define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_conf()
 I4    X  68839 #  else
 I4	  68840 #   define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_noconf()
 I4	  68841 #  endif
 I4	  68842 
 I4	  68843 #  define OpenSSL_add_all_ciphers() \
 I4	  68844     OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL)
 I4	  68845 #  define OpenSSL_add_all_digests() \
 I4	  68846     OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
 I4	  68847 
 I4	  68848 #  define EVP_cleanup() while(0) continue
 I4	  68849 # endif
 I4	  68850 
 I4	  68851 int EVP_add_cipher(const EVP_CIPHER *cipher);
 I4	  68852 int EVP_add_digest(const EVP_MD *digest);
 I4	  68853 
 I4	  68854 const EVP_CIPHER *EVP_get_cipherbyname(const char *name);
 I4	  68855 const EVP_MD *EVP_get_digestbyname(const char *name);
 I4	  68856 
 I4	  68857 void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph,
 I4	  68858                                    const char *from, const char *to, void *x),
 I4	  68859                        void *arg);
 I4	  68860 void EVP_CIPHER_do_all_sorted(void (*fn)
 I4	  68861                                (const EVP_CIPHER *ciph, const char *from,
 I4	  68862                                 const char *to, void *x), void *arg);
 I4	  68863 void EVP_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1257
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68864                                 void (*fn)(EVP_CIPHER *cipher, void *arg),
 I4	  68865                                 void *arg);
 I4	  68866 
 I4	  68867 void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph,
 I4	  68868                                const char *from, const char *to, void *x),
 I4	  68869                    void *arg);
 I4	  68870 void EVP_MD_do_all_sorted(void (*fn)
 I4	  68871                            (const EVP_MD *ciph, const char *from,
 I4	  68872                             const char *to, void *x), void *arg);
 I4	  68873 void EVP_MD_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  68874                             void (*fn)(EVP_MD *md, void *arg),
 I4	  68875                             void *arg);
 I4	  68876 
 I4	  68877 /* MAC stuff */
 I4	  68878 
 I4	  68879 EVP_MAC *EVP_MAC_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
 I4	  68880                        const char *properties);
 I4	  68881 int EVP_MAC_up_ref(EVP_MAC *mac);
 I4	  68882 void EVP_MAC_free(EVP_MAC *mac);
 I4	  68883 const char *EVP_MAC_get0_name(const EVP_MAC *mac);
 I4	  68884 const char *EVP_MAC_get0_description(const EVP_MAC *mac);
 I4	  68885 int EVP_MAC_is_a(const EVP_MAC *mac, const char *name);
 I4	  68886 const OSSL_PROVIDER *EVP_MAC_get0_provider(const EVP_MAC *mac);
 I4	  68887 int EVP_MAC_get_params(EVP_MAC *mac, OSSL_PARAM params[]);
 I4	  68888 
 I4	  68889 EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac);
 I4	  68890 void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx);
 I4	  68891 EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src);
 I4	  68892 EVP_MAC *EVP_MAC_CTX_get0_mac(EVP_MAC_CTX *ctx);
 I4	  68893 int EVP_MAC_CTX_get_params(EVP_MAC_CTX *ctx, OSSL_PARAM params[]);
 I4	  68894 int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[]);
 I4	  68895 
 I4	  68896 size_t EVP_MAC_CTX_get_mac_size(EVP_MAC_CTX *ctx);
 I4	  68897 size_t EVP_MAC_CTX_get_block_size(EVP_MAC_CTX *ctx);
 I4	  68898 unsigned char *EVP_Q_mac(OSSL_LIB_CTX *libctx, const char *name, const char *propq,
 I4	  68899                          const char *subalg, const OSSL_PARAM *params,
 I4	  68900                          const void *key, size_t keylen,
 I4	  68901                          const unsigned char *data, size_t datalen,
 I4	  68902                          unsigned char *out, size_t outsize, size_t *outlen);
 I4	  68903 int EVP_MAC_init(EVP_MAC_CTX *ctx, const unsigned char *key, size_t keylen,
 I4	  68904                  const OSSL_PARAM params[]);
 I4	  68905 int EVP_MAC_update(EVP_MAC_CTX *ctx, const unsigned char *data, size_t datalen);
 I4	  68906 int EVP_MAC_final(EVP_MAC_CTX *ctx,
 I4	  68907                   unsigned char *out, size_t *outl, size_t outsize);
 I4	  68908 int EVP_MAC_finalXOF(EVP_MAC_CTX *ctx, unsigned char *out, size_t outsize);
 I4	  68909 const OSSL_PARAM *EVP_MAC_gettable_params(const EVP_MAC *mac);
 I4	  68910 const OSSL_PARAM *EVP_MAC_gettable_ctx_params(const EVP_MAC *mac);
 I4	  68911 const OSSL_PARAM *EVP_MAC_settable_ctx_params(const EVP_MAC *mac);
 I4	  68912 const OSSL_PARAM *EVP_MAC_CTX_gettable_params(EVP_MAC_CTX *ctx);
 I4	  68913 const OSSL_PARAM *EVP_MAC_CTX_settable_params(EVP_MAC_CTX *ctx);
 I4	  68914 
 I4	  68915 void EVP_MAC_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  68916                              void (*fn)(EVP_MAC *mac, void *arg),
 I4	  68917                              void *arg);
 I4	  68918 int EVP_MAC_names_do_all(const EVP_MAC *mac,
 I4	  68919                          void (*fn)(const char *name, void *data),
 I4	  68920                          void *data);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1258
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68921 
 I4	  68922 /* RAND stuff */
 I4	  68923 EVP_RAND *EVP_RAND_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
 I4	  68924                          const char *properties);
 I4	  68925 int EVP_RAND_up_ref(EVP_RAND *rand);
 I4	  68926 void EVP_RAND_free(EVP_RAND *rand);
 I4	  68927 const char *EVP_RAND_get0_name(const EVP_RAND *rand);
 I4	  68928 const char *EVP_RAND_get0_description(const EVP_RAND *md);
 I4	  68929 int EVP_RAND_is_a(const EVP_RAND *rand, const char *name);
 I4	  68930 const OSSL_PROVIDER *EVP_RAND_get0_provider(const EVP_RAND *rand);
 I4	  68931 int EVP_RAND_get_params(EVP_RAND *rand, OSSL_PARAM params[]);
 I4	  68932 
 I4	  68933 EVP_RAND_CTX *EVP_RAND_CTX_new(EVP_RAND *rand, EVP_RAND_CTX *parent);
 I4	  68934 void EVP_RAND_CTX_free(EVP_RAND_CTX *ctx);
 I4	  68935 EVP_RAND *EVP_RAND_CTX_get0_rand(EVP_RAND_CTX *ctx);
 I4	  68936 int EVP_RAND_CTX_get_params(EVP_RAND_CTX *ctx, OSSL_PARAM params[]);
 I4	  68937 int EVP_RAND_CTX_set_params(EVP_RAND_CTX *ctx, const OSSL_PARAM params[]);
 I4	  68938 const OSSL_PARAM *EVP_RAND_gettable_params(const EVP_RAND *rand);
 I4	  68939 const OSSL_PARAM *EVP_RAND_gettable_ctx_params(const EVP_RAND *rand);
 I4	  68940 const OSSL_PARAM *EVP_RAND_settable_ctx_params(const EVP_RAND *rand);
 I4	  68941 const OSSL_PARAM *EVP_RAND_CTX_gettable_params(EVP_RAND_CTX *ctx);
 I4	  68942 const OSSL_PARAM *EVP_RAND_CTX_settable_params(EVP_RAND_CTX *ctx);
 I4	  68943 
 I4	  68944 void EVP_RAND_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  68945                               void (*fn)(EVP_RAND *rand, void *arg),
 I4	  68946                               void *arg);
 I4	  68947 int EVP_RAND_names_do_all(const EVP_RAND *rand,
 I4	  68948                           void (*fn)(const char *name, void *data),
 I4	  68949                           void *data);
 I4	  68950 
 I4	  68951 __owur int EVP_RAND_instantiate(EVP_RAND_CTX *ctx, unsigned int strength,
       E	 
 I4	  68952                                 int prediction_resistance,
 I4	  68953                                 const unsigned char *pstr, size_t pstr_len,
 I4	  68954                                 const OSSL_PARAM params[]);
 I4	  68955 int EVP_RAND_uninstantiate(EVP_RAND_CTX *ctx);
 I4	  68956 __owur int EVP_RAND_generate(EVP_RAND_CTX *ctx, unsigned char *out,
       E	 
 I4	  68957                              size_t outlen, unsigned int strength,
 I4	  68958                              int prediction_resistance,
 I4	  68959                              const unsigned char *addin, size_t addin_len);
 I4	  68960 int EVP_RAND_reseed(EVP_RAND_CTX *ctx, int prediction_resistance,
 I4	  68961                     const unsigned char *ent, size_t ent_len,
 I4	  68962                     const unsigned char *addin, size_t addin_len);
 I4	  68963 __owur int EVP_RAND_nonce(EVP_RAND_CTX *ctx, unsigned char *out, size_t outlen);
       E	 
 I4	  68964 __owur int EVP_RAND_enable_locking(EVP_RAND_CTX *ctx);
       E	 
 I4	  68965 
 I4	  68966 int EVP_RAND_verify_zeroization(EVP_RAND_CTX *ctx);
 I4	  68967 unsigned int EVP_RAND_get_strength(EVP_RAND_CTX *ctx);
 I4	  68968 int EVP_RAND_get_state(EVP_RAND_CTX *ctx);
 I4	  68969 
 I4	  68970 # define EVP_RAND_STATE_UNINITIALISED    0
 I4	  68971 # define EVP_RAND_STATE_READY            1
 I4	  68972 # define EVP_RAND_STATE_ERROR            2
 I4	  68973 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1259
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  68974 /* PKEY stuff */
 I4	  68975 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  68976 OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_decrypt_old(unsigned char *dec_key,
       E	 extern
 I4	  68977                                           const unsigned char *enc_key,
 I4	  68978                                           int enc_key_len,
 I4	  68979                                           EVP_PKEY *private_key);
 I4	  68980 OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_encrypt_old(unsigned char *enc_key,
       E	 extern
 I4	  68981                                           const unsigned char *key,
 I4	  68982                                           int key_len, EVP_PKEY *pub_key);
 I4	  68983 # endif
 I4	  68984 int EVP_PKEY_is_a(const EVP_PKEY *pkey, const char *name);
 I4	  68985 int EVP_PKEY_type_names_do_all(const EVP_PKEY *pkey,
 I4	  68986                                void (*fn)(const char *name, void *data),
 I4	  68987                                void *data);
 I4	  68988 int EVP_PKEY_type(int type);
 I4	  68989 int EVP_PKEY_get_id(const EVP_PKEY *pkey);
 I4	  68990 # define EVP_PKEY_id EVP_PKEY_get_id
 I4	  68991 int EVP_PKEY_get_base_id(const EVP_PKEY *pkey);
 I4	  68992 # define EVP_PKEY_base_id EVP_PKEY_get_base_id
 I4	  68993 int EVP_PKEY_get_bits(const EVP_PKEY *pkey);
 I4	  68994 # define EVP_PKEY_bits EVP_PKEY_get_bits
 I4	  68995 int EVP_PKEY_get_security_bits(const EVP_PKEY *pkey);
 I4	  68996 # define EVP_PKEY_security_bits EVP_PKEY_get_security_bits
 I4	  68997 int EVP_PKEY_get_size(const EVP_PKEY *pkey);
 I4	  68998 # define EVP_PKEY_size EVP_PKEY_get_size
 I4	  68999 int EVP_PKEY_can_sign(const EVP_PKEY *pkey);
 I4	  69000 int EVP_PKEY_set_type(EVP_PKEY *pkey, int type);
 I4	  69001 int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len);
 I4	  69002 int EVP_PKEY_set_type_by_keymgmt(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt);
 I4	  69003 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69004 #  ifndef OPENSSL_NO_ENGINE
 I4	  69005 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69006 int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e);
 I4	  69007 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69008 ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey);
 I4	  69009 #  endif
 I4	  69010 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69011 int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key);
 I4	  69012 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69013 void *EVP_PKEY_get0(const EVP_PKEY *pkey);
 I4	  69014 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69015 const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len);
 I4	  69016 #  ifndef OPENSSL_NO_POLY1305
 I4	  69017 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69018 const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len);
 I4	  69019 #  endif
 I4	  69020 #  ifndef OPENSSL_NO_SIPHASH
 I4	  69021 OSSL_DEPRECATEDIN_3_0
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1260
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69022 const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len);
 I4	  69023 #  endif
 I4	  69024 
 I4	  69025 struct rsa_st;
 I4	  69026 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69027 int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key);
 I4	  69028 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69029 const struct rsa_st *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey);
 I4	  69030 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69031 struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
 I4	  69032 
 I4	  69033 #  ifndef OPENSSL_NO_DSA
 I4	  69034 struct dsa_st;
 I4	  69035 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69036 int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key);
 I4	  69037 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69038 const struct dsa_st *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey);
 I4	  69039 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69040 struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey);
 I4	  69041 #  endif
 I4	  69042 
 I4	  69043 #  ifndef OPENSSL_NO_DH
 I4	  69044 struct dh_st;
 I4	  69045 OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key);
       E	 extern
 I4	  69046 OSSL_DEPRECATEDIN_3_0 const struct dh_st *EVP_PKEY_get0_DH(const EVP_PKEY *pkey);
       E	 extern
 I4	  69047 OSSL_DEPRECATEDIN_3_0 struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey);
       E	 extern
 I4	  69048 #  endif
 I4	  69049 
 I4	  69050 #  ifndef OPENSSL_NO_EC
 I4	  69051 struct ec_key_st;
 I4	  69052 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69053 int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key);
 I4	  69054 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69055 const struct ec_key_st *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey);
 I4	  69056 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69057 struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey);
 I4	  69058 #  endif
 I4	  69059 # endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  69060 
 I4	  69061 EVP_PKEY *EVP_PKEY_new(void);
 I4	  69062 int EVP_PKEY_up_ref(EVP_PKEY *pkey);
 I4	  69063 EVP_PKEY *EVP_PKEY_dup(EVP_PKEY *pkey);
 I4	  69064 void EVP_PKEY_free(EVP_PKEY *pkey);
 I4	  69065 const char *EVP_PKEY_get0_description(const EVP_PKEY *pkey);
 I4	  69066 const OSSL_PROVIDER *EVP_PKEY_get0_provider(const EVP_PKEY *key);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1261
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69067 
 I4	  69068 EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp,
 I4	  69069                         long length);
 I4	  69070 int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp);
 I4	  69071 
 I4	  69072 
 I4	  69073 EVP_PKEY *d2i_PrivateKey_ex(int type, EVP_PKEY **a, const unsigned char **pp,
 I4	  69074                             long length, OSSL_LIB_CTX *libctx,
 I4	  69075                             const char *propq);
 I4	  69076 EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp,
 I4	  69077                          long length);
 I4	  69078 EVP_PKEY *d2i_AutoPrivateKey_ex(EVP_PKEY **a, const unsigned char **pp,
 I4	  69079                                 long length, OSSL_LIB_CTX *libctx,
 I4	  69080                                 const char *propq);
 I4	  69081 EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp,
 I4	  69082                              long length);
 I4	  69083 int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp);
 I4	  69084 
 I4	  69085 int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp);
 I4	  69086 EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char **pp,
 I4	  69087                         long length);
 I4	  69088 int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey);
 I4	  69089 EVP_PKEY *d2i_KeyParams_bio(int type, EVP_PKEY **a, BIO *in);
 I4	  69090 
 I4	  69091 int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from);
 I4	  69092 int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);
 I4	  69093 int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode);
 I4	  69094 int EVP_PKEY_parameters_eq(const EVP_PKEY *a, const EVP_PKEY *b);
 I4	  69095 int EVP_PKEY_eq(const EVP_PKEY *a, const EVP_PKEY *b);
 I4	  69096 
 I4	  69097 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69098 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69099 int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b);
 I4	  69100 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69101 int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);
 I4	  69102 # endif
 I4	  69103 
 I4	  69104 int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,
 I4	  69105                           int indent, ASN1_PCTX *pctx);
 I4	  69106 int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,
 I4	  69107                            int indent, ASN1_PCTX *pctx);
 I4	  69108 int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,
 I4	  69109                           int indent, ASN1_PCTX *pctx);
 I4	  69110 # ifndef OPENSSL_NO_STDIO
 I4	  69111 int EVP_PKEY_print_public_fp(FILE *fp, const EVP_PKEY *pkey,
 I4	  69112                              int indent, ASN1_PCTX *pctx);
 I4	  69113 int EVP_PKEY_print_private_fp(FILE *fp, const EVP_PKEY *pkey,
 I4	  69114                               int indent, ASN1_PCTX *pctx);
 I4	  69115 int EVP_PKEY_print_params_fp(FILE *fp, const EVP_PKEY *pkey,
 I4	  69116                              int indent, ASN1_PCTX *pctx);
 I4	  69117 # endif
 I4	  69118 
 I4	  69119 int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid);
 I4	  69120 int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey,
 I4	  69121                                      char *mdname, size_t mdname_sz);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1262
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69122 int EVP_PKEY_digestsign_supports_digest(EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,
 I4	  69123                                         const char *name, const char *propq);
 I4	  69124 
 I4	  69125 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69126 /*
 I4	  69127  * For backwards compatibility. Use EVP_PKEY_set1_encoded_public_key in
 I4	  69128  * preference
 I4	  69129  */
 I4	  69130 #  define EVP_PKEY_set1_tls_encodedpoint(pkey, pt, ptlen) \
 I4	  69131           EVP_PKEY_set1_encoded_public_key((pkey), (pt), (ptlen))
 I4	  69132 # endif
 I4	  69133 
 I4	  69134 int EVP_PKEY_set1_encoded_public_key(EVP_PKEY *pkey,
 I4	  69135                                      const unsigned char *pub, size_t publen);
 I4	  69136 
 I4	  69137 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69138 /*
 I4	  69139  * For backwards compatibility. Use EVP_PKEY_get1_encoded_public_key in
 I4	  69140  * preference
 I4	  69141  */
 I4	  69142 #  define EVP_PKEY_get1_tls_encodedpoint(pkey, ppt) \
 I4	  69143           EVP_PKEY_get1_encoded_public_key((pkey), (ppt))
 I4	  69144 # endif
 I4	  69145 
 I4	  69146 size_t EVP_PKEY_get1_encoded_public_key(EVP_PKEY *pkey, unsigned char **ppub);
 I4	  69147 
 I4	  69148 /* calls methods */
 I4	  69149 int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
 I4	  69150 int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
 I4	  69151 
 I4	  69152 /* These are used by EVP_CIPHER methods */
 I4	  69153 int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
 I4	  69154 int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
 I4	  69155 
 I4	  69156 /* PKCS5 password based encryption */
 I4	  69157 int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
 I4	  69158                        ASN1_TYPE *param, const EVP_CIPHER *cipher,
 I4	  69159                        const EVP_MD *md, int en_de);
 I4	  69160 int PKCS5_PBE_keyivgen_ex(EVP_CIPHER_CTX *cctx, const char *pass, int passlen,
 I4	  69161                           ASN1_TYPE *param, const EVP_CIPHER *cipher,
 I4	  69162                           const EVP_MD *md, int en_de, OSSL_LIB_CTX *libctx,
 I4	  69163                           const char *propq);
 I4	  69164 int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen,
 I4	  69165                            const unsigned char *salt, int saltlen, int iter,
 I4	  69166                            int keylen, unsigned char *out);
 I4	  69167 int PKCS5_PBKDF2_HMAC(const char *pass, int passlen,
 I4	  69168                       const unsigned char *salt, int saltlen, int iter,
 I4	  69169                       const EVP_MD *digest, int keylen, unsigned char *out);
 I4	  69170 int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
 I4	  69171                           ASN1_TYPE *param, const EVP_CIPHER *cipher,
 I4	  69172                           const EVP_MD *md, int en_de);
 I4	  69173 int PKCS5_v2_PBE_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
 I4	  69174                              ASN1_TYPE *param, const EVP_CIPHER *cipher,
 I4	  69175                              const EVP_MD *md, int en_de,
 I4	  69176                              OSSL_LIB_CTX *libctx, const char *propq);
 I4	  69177 
 I4	  69178 #ifndef OPENSSL_NO_SCRYPT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1263
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69179 int EVP_PBE_scrypt(const char *pass, size_t passlen,
 I4	  69180                    const unsigned char *salt, size_t saltlen,
 I4	  69181                    uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
 I4	  69182                    unsigned char *key, size_t keylen);
 I4	  69183 int EVP_PBE_scrypt_ex(const char *pass, size_t passlen,
 I4	  69184                       const unsigned char *salt, size_t saltlen,
 I4	  69185                       uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
 I4	  69186                       unsigned char *key, size_t keylen,
 I4	  69187                       OSSL_LIB_CTX *ctx, const char *propq);
 I4	  69188 
 I4	  69189 int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass,
 I4	  69190                              int passlen, ASN1_TYPE *param,
 I4	  69191                              const EVP_CIPHER *c, const EVP_MD *md, int en_de);
 I4	  69192 int PKCS5_v2_scrypt_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
 I4	  69193                                 int passlen, ASN1_TYPE *param,
 I4	  69194                                 const EVP_CIPHER *c, const EVP_MD *md, int en_de,
 I4	  69195                                 OSSL_LIB_CTX *libctx, const char *propq);
 I4	  69196 #endif
 I4	  69197 
 I4	  69198 void PKCS5_PBE_add(void);
 I4	  69199 
 I4	  69200 int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen,
 I4	  69201                        ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de);
 I4	  69202 
 I4	  69203 int EVP_PBE_CipherInit_ex(ASN1_OBJECT *pbe_obj, const char *pass, int passlen,
 I4	  69204                           ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de,
 I4	  69205                           OSSL_LIB_CTX *libctx, const char *propq);
 I4	  69206 
 I4	  69207 /* PBE type */
 I4	  69208 
 I4	  69209 /* Can appear as the outermost AlgorithmIdentifier */
 I4	  69210 # define EVP_PBE_TYPE_OUTER      0x0
 I4	  69211 /* Is an PRF type OID */
 I4	  69212 # define EVP_PBE_TYPE_PRF        0x1
 I4	  69213 /* Is a PKCS#5 v2.0 KDF */
 I4	  69214 # define EVP_PBE_TYPE_KDF        0x2
 I4	  69215 
 I4	  69216 int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,
 I4	  69217                          int md_nid, EVP_PBE_KEYGEN *keygen);
 I4	  69218 int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
 I4	  69219                     EVP_PBE_KEYGEN *keygen);
 I4	  69220 int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid,
 I4	  69221                  EVP_PBE_KEYGEN **pkeygen);
 I4	  69222 int EVP_PBE_find_ex(int type, int pbe_nid, int *pcnid, int *pmnid,
 I4	  69223                     EVP_PBE_KEYGEN **pkeygen, EVP_PBE_KEYGEN_EX **pkeygen_ex);
 I4	  69224 void EVP_PBE_cleanup(void);
 I4	  69225 int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num);
 I4	  69226 
 I4	  69227 # define ASN1_PKEY_ALIAS         0x1
 I4	  69228 # define ASN1_PKEY_DYNAMIC       0x2
 I4	  69229 # define ASN1_PKEY_SIGPARAM_NULL 0x4
 I4	  69230 
 I4	  69231 # define ASN1_PKEY_CTRL_PKCS7_SIGN       0x1
 I4	  69232 # define ASN1_PKEY_CTRL_PKCS7_ENCRYPT    0x2
 I4	  69233 # define ASN1_PKEY_CTRL_DEFAULT_MD_NID   0x3
 I4	  69234 # define ASN1_PKEY_CTRL_CMS_SIGN         0x5
 I4	  69235 # define ASN1_PKEY_CTRL_CMS_ENVELOPE     0x7

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1264
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69236 # define ASN1_PKEY_CTRL_CMS_RI_TYPE      0x8
 I4	  69237 
 I4	  69238 # define ASN1_PKEY_CTRL_SET1_TLS_ENCPT   0x9
 I4	  69239 # define ASN1_PKEY_CTRL_GET1_TLS_ENCPT   0xa
 I4	  69240 # define ASN1_PKEY_CTRL_CMS_IS_RI_TYPE_SUPPORTED 0xb
 I4	  69241 
 I4	  69242 int EVP_PKEY_asn1_get_count(void);
 I4	  69243 const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx);
 I4	  69244 const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type);
 I4	  69245 const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe,
 I4	  69246                                                    const char *str, int len);
 I4	  69247 int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth);
 I4	  69248 int EVP_PKEY_asn1_add_alias(int to, int from);
 I4	  69249 int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id,
 I4	  69250                             int *ppkey_flags, const char **pinfo,
 I4	  69251                             const char **ppem_str,
 I4	  69252                             const EVP_PKEY_ASN1_METHOD *ameth);
 I4	  69253 
 I4	  69254 const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey);
 I4	  69255 EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags,
 I4	  69256                                         const char *pem_str,
 I4	  69257                                         const char *info);
 I4	  69258 void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst,
 I4	  69259                         const EVP_PKEY_ASN1_METHOD *src);
 I4	  69260 void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth);
 I4	  69261 void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69262                               int (*pub_decode) (EVP_PKEY *pk,
 I4	  69263                                                  const X509_PUBKEY *pub),
 I4	  69264                               int (*pub_encode) (X509_PUBKEY *pub,
 I4	  69265                                                  const EVP_PKEY *pk),
 I4	  69266                               int (*pub_cmp) (const EVP_PKEY *a,
 I4	  69267                                               const EVP_PKEY *b),
 I4	  69268                               int (*pub_print) (BIO *out,
 I4	  69269                                                 const EVP_PKEY *pkey,
 I4	  69270                                                 int indent, ASN1_PCTX *pctx),
 I4	  69271                               int (*pkey_size) (const EVP_PKEY *pk),
 I4	  69272                               int (*pkey_bits) (const EVP_PKEY *pk));
 I4	  69273 void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69274                                int (*priv_decode) (EVP_PKEY *pk,
 I4	  69275                                                    const PKCS8_PRIV_KEY_INFO
 I4	  69276                                                    *p8inf),
 I4	  69277                                int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8,
 I4	  69278                                                    const EVP_PKEY *pk),
 I4	  69279                                int (*priv_print) (BIO *out,
 I4	  69280                                                   const EVP_PKEY *pkey,
 I4	  69281                                                   int indent,
 I4	  69282                                                   ASN1_PCTX *pctx));
 I4	  69283 void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69284                              int (*param_decode) (EVP_PKEY *pkey,
 I4	  69285                                                   const unsigned char **pder,
 I4	  69286                                                   int derlen),
 I4	  69287                              int (*param_encode) (const EVP_PKEY *pkey,
 I4	  69288                                                   unsigned char **pder),
 I4	  69289                              int (*param_missing) (const EVP_PKEY *pk),
 I4	  69290                              int (*param_copy) (EVP_PKEY *to,
 I4	  69291                                                 const EVP_PKEY *from),
 I4	  69292                              int (*param_cmp) (const EVP_PKEY *a,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1265
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69293                                                const EVP_PKEY *b),
 I4	  69294                              int (*param_print) (BIO *out,
 I4	  69295                                                  const EVP_PKEY *pkey,
 I4	  69296                                                  int indent,
 I4	  69297                                                  ASN1_PCTX *pctx));
 I4	  69298 
 I4	  69299 void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69300                             void (*pkey_free) (EVP_PKEY *pkey));
 I4	  69301 void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69302                             int (*pkey_ctrl) (EVP_PKEY *pkey, int op,
 I4	  69303                                               long arg1, void *arg2));
 I4	  69304 void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69305                             int (*item_verify) (EVP_MD_CTX *ctx,
 I4	  69306                                                 const ASN1_ITEM *it,
 I4	  69307                                                 const void *data,
 I4	  69308                                                 const X509_ALGOR *a,
 I4	  69309                                                 const ASN1_BIT_STRING *sig,
 I4	  69310                                                 EVP_PKEY *pkey),
 I4	  69311                             int (*item_sign) (EVP_MD_CTX *ctx,
 I4	  69312                                               const ASN1_ITEM *it,
 I4	  69313                                               const void *data,
 I4	  69314                                               X509_ALGOR *alg1,
 I4	  69315                                               X509_ALGOR *alg2,
 I4	  69316                                               ASN1_BIT_STRING *sig));
 I4	  69317 
 I4	  69318 void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69319                               int (*siginf_set) (X509_SIG_INFO *siginf,
 I4	  69320                                                  const X509_ALGOR *alg,
 I4	  69321                                                  const ASN1_STRING *sig));
 I4	  69322 
 I4	  69323 void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69324                              int (*pkey_check) (const EVP_PKEY *pk));
 I4	  69325 
 I4	  69326 void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69327                                     int (*pkey_pub_check) (const EVP_PKEY *pk));
 I4	  69328 
 I4	  69329 void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69330                                    int (*pkey_param_check) (const EVP_PKEY *pk));
 I4	  69331 
 I4	  69332 void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69333                                     int (*set_priv_key) (EVP_PKEY *pk,
 I4	  69334                                                          const unsigned char
 I4	  69335                                                             *priv,
 I4	  69336                                                          size_t len));
 I4	  69337 void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69338                                    int (*set_pub_key) (EVP_PKEY *pk,
 I4	  69339                                                        const unsigned char *pub,
 I4	  69340                                                        size_t len));
 I4	  69341 void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69342                                     int (*get_priv_key) (const EVP_PKEY *pk,
 I4	  69343                                                          unsigned char *priv,
 I4	  69344                                                          size_t *len));
 I4	  69345 void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69346                                    int (*get_pub_key) (const EVP_PKEY *pk,
 I4	  69347                                                        unsigned char *pub,
 I4	  69348                                                        size_t *len));
 I4	  69349 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1266
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69350 void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
 I4	  69351                                      int (*pkey_security_bits) (const EVP_PKEY
 I4	  69352                                                                 *pk));
 I4	  69353 
 I4	  69354 int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
 I4	  69355 int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I4	  69356 
 I4	  69357 int EVP_PKEY_CTX_set1_id(EVP_PKEY_CTX *ctx, const void *id, int len);
 I4	  69358 int EVP_PKEY_CTX_get1_id(EVP_PKEY_CTX *ctx, void *id);
 I4	  69359 int EVP_PKEY_CTX_get1_id_len(EVP_PKEY_CTX *ctx, size_t *id_len);
 I4	  69360 
 I4	  69361 int EVP_PKEY_CTX_set_kem_op(EVP_PKEY_CTX *ctx, const char *op);
 I4	  69362 
 I4	  69363 const char *EVP_PKEY_get0_type_name(const EVP_PKEY *key);
 I4	  69364 
 I4	  69365 # define EVP_PKEY_OP_UNDEFINED           0
 I4	  69366 # define EVP_PKEY_OP_PARAMGEN            (1<<1)
 I4	  69367 # define EVP_PKEY_OP_KEYGEN              (1<<2)
 I4	  69368 # define EVP_PKEY_OP_FROMDATA            (1<<3)
 I4	  69369 # define EVP_PKEY_OP_SIGN                (1<<4)
 I4	  69370 # define EVP_PKEY_OP_VERIFY              (1<<5)
 I4	  69371 # define EVP_PKEY_OP_VERIFYRECOVER       (1<<6)
 I4	  69372 # define EVP_PKEY_OP_SIGNCTX             (1<<7)
 I4	  69373 # define EVP_PKEY_OP_VERIFYCTX           (1<<8)
 I4	  69374 # define EVP_PKEY_OP_ENCRYPT             (1<<9)
 I4	  69375 # define EVP_PKEY_OP_DECRYPT             (1<<10)
 I4	  69376 # define EVP_PKEY_OP_DERIVE              (1<<11)
 I4	  69377 # define EVP_PKEY_OP_ENCAPSULATE         (1<<12)
 I4	  69378 # define EVP_PKEY_OP_DECAPSULATE         (1<<13)
 I4	  69379 
 I4	  69380 # define EVP_PKEY_OP_TYPE_SIG    \
 I4	  69381         (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \
 I4	  69382                 | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX)
 I4	  69383 
 I4	  69384 # define EVP_PKEY_OP_TYPE_CRYPT \
 I4	  69385         (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT)
 I4	  69386 
 I4	  69387 # define EVP_PKEY_OP_TYPE_NOGEN \
 I4	  69388         (EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_DERIVE)
 I4	  69389 
 I4	  69390 # define EVP_PKEY_OP_TYPE_GEN \
 I4	  69391         (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN)
 I4	  69392 
 I4	  69393 
 I4	  69394 int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, const unsigned char *key,
 I4	  69395                              int keylen);
 I4	  69396 
 I4	  69397 # define EVP_PKEY_CTRL_MD                1
 I4	  69398 # define EVP_PKEY_CTRL_PEER_KEY          2
 I4	  69399 # define EVP_PKEY_CTRL_SET_MAC_KEY       6
 I4	  69400 # define EVP_PKEY_CTRL_DIGESTINIT        7
 I4	  69401 /* Used by GOST key encryption in TLS */
 I4	  69402 # define EVP_PKEY_CTRL_SET_IV            8
 I4	  69403 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69404 #  define EVP_PKEY_CTRL_PKCS7_ENCRYPT     3
 I4	  69405 #  define EVP_PKEY_CTRL_PKCS7_DECRYPT     4
 I4	  69406 #  define EVP_PKEY_CTRL_PKCS7_SIGN        5

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1267
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69407 #  define EVP_PKEY_CTRL_CMS_ENCRYPT       9
 I4	  69408 #  define EVP_PKEY_CTRL_CMS_DECRYPT       10
 I4	  69409 #  define EVP_PKEY_CTRL_CMS_SIGN          11
 I4	  69410 # endif
 I4	  69411 # define EVP_PKEY_CTRL_CIPHER            12
 I4	  69412 # define EVP_PKEY_CTRL_GET_MD            13
 I4	  69413 # define EVP_PKEY_CTRL_SET_DIGEST_SIZE   14
 I4	  69414 # define EVP_PKEY_CTRL_SET1_ID           15
 I4	  69415 # define EVP_PKEY_CTRL_GET1_ID           16
 I4	  69416 # define EVP_PKEY_CTRL_GET1_ID_LEN       17
 I4	  69417 
 I4	  69418 # define EVP_PKEY_ALG_CTRL               0x1000
 I4	  69419 
 I4	  69420 # define EVP_PKEY_FLAG_AUTOARGLEN        2
 I4	  69421 /*
 I4	  69422  * Method handles all operations: don't assume any digest related defaults.
 I4	  69423  */
 I4	  69424 # define EVP_PKEY_FLAG_SIGCTX_CUSTOM     4
 I4	  69425 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69426 OSSL_DEPRECATEDIN_3_0 const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type);
       E	 extern
 I4	  69427 OSSL_DEPRECATEDIN_3_0 EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags);
       E	 extern
 I4	  69428 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags,
       E	 extern
 I4	  69429                                               const EVP_PKEY_METHOD *meth);
 I4	  69430 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst,
       E	 extern
 I4	  69431                                          const EVP_PKEY_METHOD *src);
 I4	  69432 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth);
       E	 extern
 I4	  69433 OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth);
       E	 extern
 I4	  69434 OSSL_DEPRECATEDIN_3_0 int EVP_PKEY_meth_remove(const EVP_PKEY_METHOD *pmeth);
       E	 extern
 I4	  69435 OSSL_DEPRECATEDIN_3_0 size_t EVP_PKEY_meth_get_count(void);
       E	 extern
 I4	  69436 OSSL_DEPRECATEDIN_3_0 const EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx);
       E	 extern
 I4	  69437 # endif
 I4	  69438 
 I4	  69439 EVP_KEYMGMT *EVP_KEYMGMT_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
 I4	  69440                                const char *properties);
 I4	  69441 int EVP_KEYMGMT_up_ref(EVP_KEYMGMT *keymgmt);
 I4	  69442 void EVP_KEYMGMT_free(EVP_KEYMGMT *keymgmt);
 I4	  69443 const OSSL_PROVIDER *EVP_KEYMGMT_get0_provider(const EVP_KEYMGMT *keymgmt);
 I4	  69444 const char *EVP_KEYMGMT_get0_name(const EVP_KEYMGMT *keymgmt);
 I4	  69445 const char *EVP_KEYMGMT_get0_description(const EVP_KEYMGMT *keymgmt);
 I4	  69446 int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name);
 I4	  69447 void EVP_KEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  69448                                  void (*fn)(EVP_KEYMGMT *keymgmt, void *arg),
 I4	  69449                                  void *arg);
 I4	  69450 int EVP_KEYMGMT_names_do_all(const EVP_KEYMGMT *keymgmt,
 I4	  69451                              void (*fn)(const char *name, void *data),
 I4	  69452                              void *data);
 I4	  69453 const OSSL_PARAM *EVP_KEYMGMT_gettable_params(const EVP_KEYMGMT *keymgmt);
 I4	  69454 const OSSL_PARAM *EVP_KEYMGMT_settable_params(const EVP_KEYMGMT *keymgmt);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1268
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69455 const OSSL_PARAM *EVP_KEYMGMT_gen_settable_params(const EVP_KEYMGMT *keymgmt);
 I4	  69456 
 I4	  69457 EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e);
 I4	  69458 EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e);
 I4	  69459 EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX *libctx,
 I4	  69460                                          const char *name,
 I4	  69461                                          const char *propquery);
 I4	  69462 EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_pkey(OSSL_LIB_CTX *libctx,
 I4	  69463                                          EVP_PKEY *pkey, const char *propquery);
 I4	  69464 EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx);
 I4	  69465 void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);
 I4	  69466 int EVP_PKEY_CTX_is_a(EVP_PKEY_CTX *ctx, const char *keytype);
 I4	  69467 
 I4	  69468 int EVP_PKEY_CTX_get_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params);
 I4	  69469 const OSSL_PARAM *EVP_PKEY_CTX_gettable_params(const EVP_PKEY_CTX *ctx);
 I4	  69470 int EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, const OSSL_PARAM *params);
 I4	  69471 const OSSL_PARAM *EVP_PKEY_CTX_settable_params(const EVP_PKEY_CTX *ctx);
 I4	  69472 int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,
 I4	  69473                       int cmd, int p1, void *p2);
 I4	  69474 int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
 I4	  69475                           const char *value);
 I4	  69476 int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype,
 I4	  69477                              int cmd, uint64_t value);
 I4	  69478 
 I4	  69479 int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str);
 I4	  69480 int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex);
 I4	  69481 
 I4	  69482 int EVP_PKEY_CTX_md(EVP_PKEY_CTX *ctx, int optype, int cmd, const char *md);
 I4	  69483 
 I4	  69484 int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx);
 I4	  69485 void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen);
 I4	  69486 
 I4	  69487 EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e,
 I4	  69488                                const unsigned char *key, int keylen);
 I4	  69489 EVP_PKEY *EVP_PKEY_new_raw_private_key_ex(OSSL_LIB_CTX *libctx,
 I4	  69490                                           const char *keytype,
 I4	  69491                                           const char *propq,
 I4	  69492                                           const unsigned char *priv, size_t len);
 I4	  69493 EVP_PKEY *EVP_PKEY_new_raw_private_key(int type, ENGINE *e,
 I4	  69494                                        const unsigned char *priv,
 I4	  69495                                        size_t len);
 I4	  69496 EVP_PKEY *EVP_PKEY_new_raw_public_key_ex(OSSL_LIB_CTX *libctx,
 I4	  69497                                          const char *keytype, const char *propq,
 I4	  69498                                          const unsigned char *pub, size_t len);
 I4	  69499 EVP_PKEY *EVP_PKEY_new_raw_public_key(int type, ENGINE *e,
 I4	  69500                                       const unsigned char *pub,
 I4	  69501                                       size_t len);
 I4	  69502 int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char *priv,
 I4	  69503                                  size_t *len);
 I4	  69504 int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char *pub,
 I4	  69505                                 size_t *len);
 I4	  69506 
 I4	  69507 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69508 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69509 EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv,
 I4	  69510                                 size_t len, const EVP_CIPHER *cipher);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1269
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69511 # endif
 I4	  69512 
 I4	  69513 void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data);
 I4	  69514 void *EVP_PKEY_CTX_get_data(const EVP_PKEY_CTX *ctx);
 I4	  69515 EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx);
 I4	  69516 
 I4	  69517 EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx);
 I4	  69518 
 I4	  69519 void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data);
 I4	  69520 void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx);
 I4	  69521 
 I4	  69522 void EVP_SIGNATURE_free(EVP_SIGNATURE *signature);
 I4	  69523 int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature);
 I4	  69524 OSSL_PROVIDER *EVP_SIGNATURE_get0_provider(const EVP_SIGNATURE *signature);
 I4	  69525 EVP_SIGNATURE *EVP_SIGNATURE_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
 I4	  69526                                    const char *properties);
 I4	  69527 int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name);
 I4	  69528 const char *EVP_SIGNATURE_get0_name(const EVP_SIGNATURE *signature);
 I4	  69529 const char *EVP_SIGNATURE_get0_description(const EVP_SIGNATURE *signature);
 I4	  69530 void EVP_SIGNATURE_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  69531                                    void (*fn)(EVP_SIGNATURE *signature,
 I4	  69532                                               void *data),
 I4	  69533                                    void *data);
 I4	  69534 int EVP_SIGNATURE_names_do_all(const EVP_SIGNATURE *signature,
 I4	  69535                                void (*fn)(const char *name, void *data),
 I4	  69536                                void *data);
 I4	  69537 const OSSL_PARAM *EVP_SIGNATURE_gettable_ctx_params(const EVP_SIGNATURE *sig);
 I4	  69538 const OSSL_PARAM *EVP_SIGNATURE_settable_ctx_params(const EVP_SIGNATURE *sig);
 I4	  69539 
 I4	  69540 void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher);
 I4	  69541 int EVP_ASYM_CIPHER_up_ref(EVP_ASYM_CIPHER *cipher);
 I4	  69542 OSSL_PROVIDER *EVP_ASYM_CIPHER_get0_provider(const EVP_ASYM_CIPHER *cipher);
 I4	  69543 EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
 I4	  69544                                        const char *properties);
 I4	  69545 int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char *name);
 I4	  69546 const char *EVP_ASYM_CIPHER_get0_name(const EVP_ASYM_CIPHER *cipher);
 I4	  69547 const char *EVP_ASYM_CIPHER_get0_description(const EVP_ASYM_CIPHER *cipher);
 I4	  69548 void EVP_ASYM_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  69549                                      void (*fn)(EVP_ASYM_CIPHER *cipher,
 I4	  69550                                                 void *arg),
 I4	  69551                                      void *arg);
 I4	  69552 int EVP_ASYM_CIPHER_names_do_all(const EVP_ASYM_CIPHER *cipher,
 I4	  69553                                  void (*fn)(const char *name, void *data),
 I4	  69554                                  void *data);
 I4	  69555 const OSSL_PARAM *EVP_ASYM_CIPHER_gettable_ctx_params(const EVP_ASYM_CIPHER *ciph);
 I4	  69556 const OSSL_PARAM *EVP_ASYM_CIPHER_settable_ctx_params(const EVP_ASYM_CIPHER *ciph);
 I4	  69557 
 I4	  69558 void EVP_KEM_free(EVP_KEM *wrap);
 I4	  69559 int EVP_KEM_up_ref(EVP_KEM *wrap);
 I4	  69560 OSSL_PROVIDER *EVP_KEM_get0_provider(const EVP_KEM *wrap);
 I4	  69561 EVP_KEM *EVP_KEM_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
 I4	  69562                        const char *properties);
 I4	  69563 int EVP_KEM_is_a(const EVP_KEM *wrap, const char *name);
 I4	  69564 const char *EVP_KEM_get0_name(const EVP_KEM *wrap);
 I4	  69565 const char *EVP_KEM_get0_description(const EVP_KEM *wrap);
 I4	  69566 void EVP_KEM_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  69567                              void (*fn)(EVP_KEM *wrap, void *arg), void *arg);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1270
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69568 int EVP_KEM_names_do_all(const EVP_KEM *wrap,
 I4	  69569                          void (*fn)(const char *name, void *data), void *data);
 I4	  69570 const OSSL_PARAM *EVP_KEM_gettable_ctx_params(const EVP_KEM *kem);
 I4	  69571 const OSSL_PARAM *EVP_KEM_settable_ctx_params(const EVP_KEM *kem);
 I4	  69572 
 I4	  69573 int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx);
 I4	  69574 int EVP_PKEY_sign_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 I4	  69575 int EVP_PKEY_sign(EVP_PKEY_CTX *ctx,
 I4	  69576                   unsigned char *sig, size_t *siglen,
 I4	  69577                   const unsigned char *tbs, size_t tbslen);
 I4	  69578 int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx);
 I4	  69579 int EVP_PKEY_verify_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 I4	  69580 int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,
 I4	  69581                     const unsigned char *sig, size_t siglen,
 I4	  69582                     const unsigned char *tbs, size_t tbslen);
 I4	  69583 int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx);
 I4	  69584 int EVP_PKEY_verify_recover_init_ex(EVP_PKEY_CTX *ctx,
 I4	  69585                                     const OSSL_PARAM params[]);
 I4	  69586 int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,
 I4	  69587                             unsigned char *rout, size_t *routlen,
 I4	  69588                             const unsigned char *sig, size_t siglen);
 I4	  69589 int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx);
 I4	  69590 int EVP_PKEY_encrypt_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 I4	  69591 int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx,
 I4	  69592                      unsigned char *out, size_t *outlen,
 I4	  69593                      const unsigned char *in, size_t inlen);
 I4	  69594 int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx);
 I4	  69595 int EVP_PKEY_decrypt_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 I4	  69596 int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx,
 I4	  69597                      unsigned char *out, size_t *outlen,
 I4	  69598                      const unsigned char *in, size_t inlen);
 I4	  69599 
 I4	  69600 int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx);
 I4	  69601 int EVP_PKEY_derive_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 I4	  69602 int EVP_PKEY_derive_set_peer_ex(EVP_PKEY_CTX *ctx, EVP_PKEY *peer,
 I4	  69603                                 int validate_peer);
 I4	  69604 int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer);
 I4	  69605 int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
 I4	  69606 
 I4	  69607 int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 I4	  69608 int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx,
 I4	  69609                          unsigned char *wrappedkey, size_t *wrappedkeylen,
 I4	  69610                          unsigned char *genkey, size_t *genkeylen);
 I4	  69611 int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]);
 I4	  69612 int EVP_PKEY_decapsulate(EVP_PKEY_CTX *ctx,
 I4	  69613                          unsigned char *unwrapped, size_t *unwrappedlen,
 I4	  69614                          const unsigned char *wrapped, size_t wrappedlen);
 I4	  69615 
 I4	  69616 typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx);
 I4	  69617 
 I4	  69618 int EVP_PKEY_fromdata_init(EVP_PKEY_CTX *ctx);
 I4	  69619 int EVP_PKEY_fromdata(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey, int selection,
 I4	  69620                       OSSL_PARAM param[]);
 I4	  69621 const OSSL_PARAM *EVP_PKEY_fromdata_settable(EVP_PKEY_CTX *ctx, int selection);
 I4	  69622 
 I4	  69623 int EVP_PKEY_todata(const EVP_PKEY *pkey, int selection, OSSL_PARAM **params);
 I4	  69624 int EVP_PKEY_export(const EVP_PKEY *pkey, int selection,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1271
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69625                     OSSL_CALLBACK *export_cb, void *export_cbarg);
 I4	  69626 
 I4	  69627 const OSSL_PARAM *EVP_PKEY_gettable_params(const EVP_PKEY *pkey);
 I4	  69628 int EVP_PKEY_get_params(const EVP_PKEY *pkey, OSSL_PARAM params[]);
 I4	  69629 int EVP_PKEY_get_int_param(const EVP_PKEY *pkey, const char *key_name,
 I4	  69630                            int *out);
 I4	  69631 int EVP_PKEY_get_size_t_param(const EVP_PKEY *pkey, const char *key_name,
 I4	  69632                               size_t *out);
 I4	  69633 int EVP_PKEY_get_bn_param(const EVP_PKEY *pkey, const char *key_name,
 I4	  69634                           BIGNUM **bn);
 I4	  69635 int EVP_PKEY_get_utf8_string_param(const EVP_PKEY *pkey, const char *key_name,
 I4	  69636                                     char *str, size_t max_buf_sz, size_t *out_sz);
 I4	  69637 int EVP_PKEY_get_octet_string_param(const EVP_PKEY *pkey, const char *key_name,
 I4	  69638                                     unsigned char *buf, size_t max_buf_sz,
 I4	  69639                                     size_t *out_sz);
 I4	  69640 
 I4	  69641 const OSSL_PARAM *EVP_PKEY_settable_params(const EVP_PKEY *pkey);
 I4	  69642 int EVP_PKEY_set_params(EVP_PKEY *pkey, OSSL_PARAM params[]);
 I4	  69643 int EVP_PKEY_set_int_param(EVP_PKEY *pkey, const char *key_name, int in);
 I4	  69644 int EVP_PKEY_set_size_t_param(EVP_PKEY *pkey, const char *key_name, size_t in);
 I4	  69645 int EVP_PKEY_set_bn_param(EVP_PKEY *pkey, const char *key_name,
 I4	  69646                           const BIGNUM *bn);
 I4	  69647 int EVP_PKEY_set_utf8_string_param(EVP_PKEY *pkey, const char *key_name,
 I4	  69648                                    const char *str);
 I4	  69649 int EVP_PKEY_set_octet_string_param(EVP_PKEY *pkey, const char *key_name,
 I4	  69650                                     const unsigned char *buf, size_t bsize);
 I4	  69651 
 I4	  69652 int EVP_PKEY_get_ec_point_conv_form(const EVP_PKEY *pkey);
 I4	  69653 int EVP_PKEY_get_field_type(const EVP_PKEY *pkey);
 I4	  69654 
 I4	  69655 EVP_PKEY *EVP_PKEY_Q_keygen(OSSL_LIB_CTX *libctx, const char *propq,
 I4	  69656                             const char *type, ...);
 I4	  69657 int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx);
 I4	  69658 int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
 I4	  69659 int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx);
 I4	  69660 int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
 I4	  69661 int EVP_PKEY_generate(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
 I4	  69662 int EVP_PKEY_check(EVP_PKEY_CTX *ctx);
 I4	  69663 int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx);
 I4	  69664 int EVP_PKEY_public_check_quick(EVP_PKEY_CTX *ctx);
 I4	  69665 int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx);
 I4	  69666 int EVP_PKEY_param_check_quick(EVP_PKEY_CTX *ctx);
 I4	  69667 int EVP_PKEY_private_check(EVP_PKEY_CTX *ctx);
 I4	  69668 int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx);
 I4	  69669 
 I4	  69670 # define EVP_PKEY_get_ex_new_index(l, p, newf, dupf, freef) \
 I4	  69671     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EVP_PKEY, l, p, newf, dupf, freef)
 I4	  69672 int EVP_PKEY_set_ex_data(EVP_PKEY *key, int idx, void *arg);
 I4	  69673 void *EVP_PKEY_get_ex_data(const EVP_PKEY *key, int idx);
 I4	  69674 
 I4	  69675 void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb);
 I4	  69676 EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx);
 I4	  69677 
 I4	  69678 int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx);
 I4	  69679 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69680 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth,
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1272
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69681                                              int (*init) (EVP_PKEY_CTX *ctx));
 I4	  69682 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_copy
       E	 extern
 I4	  69683     (EVP_PKEY_METHOD *pmeth, int (*copy) (EVP_PKEY_CTX *dst,
 I4	  69684                                           const EVP_PKEY_CTX *src));
 I4	  69685 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_cleanup
       E	 extern
 I4	  69686     (EVP_PKEY_METHOD *pmeth, void (*cleanup) (EVP_PKEY_CTX *ctx));
 I4	  69687 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_paramgen
       E	 extern
 I4	  69688     (EVP_PKEY_METHOD *pmeth, int (*paramgen_init) (EVP_PKEY_CTX *ctx),
 I4	  69689      int (*paramgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
 I4	  69690 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_keygen
       E	 extern
 I4	  69691     (EVP_PKEY_METHOD *pmeth, int (*keygen_init) (EVP_PKEY_CTX *ctx),
 I4	  69692      int (*keygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
 I4	  69693 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_sign
       E	 extern
 I4	  69694     (EVP_PKEY_METHOD *pmeth, int (*sign_init) (EVP_PKEY_CTX *ctx),
 I4	  69695      int (*sign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
 I4	  69696                   const unsigned char *tbs, size_t tbslen));
 I4	  69697 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_verify
       E	 extern
 I4	  69698     (EVP_PKEY_METHOD *pmeth, int (*verify_init) (EVP_PKEY_CTX *ctx),
 I4	  69699      int (*verify) (EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen,
 I4	  69700                     const unsigned char *tbs, size_t tbslen));
 I4	  69701 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_verify_recover
       E	 extern
 I4	  69702     (EVP_PKEY_METHOD *pmeth, int (*verify_recover_init) (EVP_PKEY_CTX *ctx),
 I4	  69703      int (*verify_recover) (EVP_PKEY_CTX *ctx, unsigned char *sig,
 I4	  69704                             size_t *siglen, const unsigned char *tbs,
 I4	  69705                             size_t tbslen));
 I4	  69706 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_signctx
       E	 extern
 I4	  69707     (EVP_PKEY_METHOD *pmeth, int (*signctx_init) (EVP_PKEY_CTX *ctx,
 I4	  69708                                                   EVP_MD_CTX *mctx),
 I4	  69709      int (*signctx) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
 I4	  69710                      EVP_MD_CTX *mctx));
 I4	  69711 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_verifyctx
       E	 extern
 I4	  69712     (EVP_PKEY_METHOD *pmeth, int (*verifyctx_init) (EVP_PKEY_CTX *ctx,
 I4	  69713                                                     EVP_MD_CTX *mctx),
 I4	  69714      int (*verifyctx) (EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen,
 I4	  69715                        EVP_MD_CTX *mctx));
 I4	  69716 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_encrypt
       E	 extern
 I4	  69717     (EVP_PKEY_METHOD *pmeth, int (*encrypt_init) (EVP_PKEY_CTX *ctx),
 I4	  69718      int (*encryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
 I4	  69719                        const unsigned char *in, size_t inlen));
 I4	  69720 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_decrypt
       E	 extern
 I4	  69721     (EVP_PKEY_METHOD *pmeth, int (*decrypt_init) (EVP_PKEY_CTX *ctx),
 I4	  69722      int (*decrypt) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
 I4	  69723                      const unsigned char *in, size_t inlen));
 I4	  69724 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_derive
       E	 extern
 I4	  69725     (EVP_PKEY_METHOD *pmeth, int (*derive_init) (EVP_PKEY_CTX *ctx),

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1273
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69726      int (*derive) (EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen));
 I4	  69727 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_ctrl
       E	 extern
 I4	  69728     (EVP_PKEY_METHOD *pmeth, int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1,
 I4	  69729                                           void *p2),
 I4	  69730      int (*ctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value));
 I4	  69731 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_digestsign
       E	 extern
 I4	  69732     (EVP_PKEY_METHOD *pmeth,
 I4	  69733      int (*digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen,
 I4	  69734                         const unsigned char *tbs, size_t tbslen));
 I4	  69735 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_digestverify
       E	 extern
 I4	  69736     (EVP_PKEY_METHOD *pmeth,
 I4	  69737      int (*digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig,
 I4	  69738                           size_t siglen, const unsigned char *tbs,
 I4	  69739                           size_t tbslen));
 I4	  69740 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_check
       E	 extern
 I4	  69741     (EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey));
 I4	  69742 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_public_check
       E	 extern
 I4	  69743     (EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey));
 I4	  69744 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_param_check
       E	 extern
 I4	  69745     (EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey));
 I4	  69746 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_set_digest_custom
       E	 extern
 I4	  69747     (EVP_PKEY_METHOD *pmeth, int (*digest_custom) (EVP_PKEY_CTX *ctx,
 I4	  69748                                                    EVP_MD_CTX *mctx));
 I4	  69749 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_init
       E	 extern
 I4	  69750     (const EVP_PKEY_METHOD *pmeth, int (**pinit) (EVP_PKEY_CTX *ctx));
 I4	  69751 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_copy
       E	 extern
 I4	  69752     (const EVP_PKEY_METHOD *pmeth, int (**pcopy) (EVP_PKEY_CTX *dst,
 I4	  69753                                                   const EVP_PKEY_CTX *src));
 I4	  69754 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_cleanup
       E	 extern
 I4	  69755     (const EVP_PKEY_METHOD *pmeth, void (**pcleanup) (EVP_PKEY_CTX *ctx));
 I4	  69756 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_paramgen
       E	 extern
 I4	  69757     (const EVP_PKEY_METHOD *pmeth, int (**pparamgen_init) (EVP_PKEY_CTX *ctx),
 I4	  69758      int (**pparamgen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
 I4	  69759 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_keygen
       E	 extern
 I4	  69760     (const EVP_PKEY_METHOD *pmeth, int (**pkeygen_init) (EVP_PKEY_CTX *ctx),
 I4	  69761      int (**pkeygen) (EVP_PKEY_CTX *ctx, EVP_PKEY *pkey));
 I4	  69762 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_sign
       E	 extern
 I4	  69763     (const EVP_PKEY_METHOD *pmeth, int (**psign_init) (EVP_PKEY_CTX *ctx),
 I4	  69764      int (**psign) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
 I4	  69765                     const unsigned char *tbs, size_t tbslen));
 I4	  69766 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_verify
       E	 extern
 I4	  69767     (const EVP_PKEY_METHOD *pmeth, int (**pverify_init) (EVP_PKEY_CTX *ctx),
 I4	  69768      int (**pverify) (EVP_PKEY_CTX *ctx, const unsigned char *sig,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1274
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69769                       size_t siglen, const unsigned char *tbs, size_t tbslen));
 I4	  69770 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_verify_recover
       E	 extern
 I4	  69771     (const EVP_PKEY_METHOD *pmeth,
 I4	  69772      int (**pverify_recover_init) (EVP_PKEY_CTX *ctx),
 I4	  69773      int (**pverify_recover) (EVP_PKEY_CTX *ctx, unsigned char *sig,
 I4	  69774                               size_t *siglen, const unsigned char *tbs,
 I4	  69775                               size_t tbslen));
 I4	  69776 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_signctx
       E	 extern
 I4	  69777     (const EVP_PKEY_METHOD *pmeth,
 I4	  69778      int (**psignctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx),
 I4	  69779      int (**psignctx) (EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
 I4	  69780                        EVP_MD_CTX *mctx));
 I4	  69781 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_verifyctx
       E	 extern
 I4	  69782     (const EVP_PKEY_METHOD *pmeth,
 I4	  69783      int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx),
 I4	  69784      int (**pverifyctx) (EVP_PKEY_CTX *ctx, const unsigned char *sig,
 I4	  69785                           int siglen, EVP_MD_CTX *mctx));
 I4	  69786 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_encrypt
       E	 extern
 I4	  69787     (const EVP_PKEY_METHOD *pmeth, int (**pencrypt_init) (EVP_PKEY_CTX *ctx),
 I4	  69788      int (**pencryptfn) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
 I4	  69789                          const unsigned char *in, size_t inlen));
 I4	  69790 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_decrypt
       E	 extern
 I4	  69791     (const EVP_PKEY_METHOD *pmeth, int (**pdecrypt_init) (EVP_PKEY_CTX *ctx),
 I4	  69792      int (**pdecrypt) (EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
 I4	  69793                        const unsigned char *in, size_t inlen));
 I4	  69794 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_derive
       E	 extern
 I4	  69795     (const EVP_PKEY_METHOD *pmeth, int (**pderive_init) (EVP_PKEY_CTX *ctx),
 I4	  69796      int (**pderive) (EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen));
 I4	  69797 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_ctrl
       E	 extern
 I4	  69798     (const EVP_PKEY_METHOD *pmeth,
 I4	  69799      int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, void *p2),
 I4	  69800      int (**pctrl_str) (EVP_PKEY_CTX *ctx, const char *type,
 I4	  69801                         const char *value));
 I4	  69802 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_digestsign
       E	 extern
 I4	  69803     (const EVP_PKEY_METHOD *pmeth,
 I4	  69804      int (**digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen,
 I4	  69805                          const unsigned char *tbs, size_t tbslen));
 I4	  69806 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_digestverify
       E	 extern
 I4	  69807     (const EVP_PKEY_METHOD *pmeth,
 I4	  69808      int (**digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig,
 I4	  69809                            size_t siglen, const unsigned char *tbs,
 I4	  69810                            size_t tbslen));
 I4	  69811 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_check
       E	 extern
 I4	  69812     (const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey));
 I4	  69813 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_public_check
       E	 extern
 I4	  69814     (const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1275
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EVP.H;1

 I4	  69815 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_param_check
       E	 extern
 I4	  69816     (const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey));
 I4	  69817 OSSL_DEPRECATEDIN_3_0 void EVP_PKEY_meth_get_digest_custom
       E	 extern
 I4	  69818     (const EVP_PKEY_METHOD *pmeth,
 I4	  69819      int (**pdigest_custom) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx));
 I4	  69820 # endif
 I4	  69821 
 I4	  69822 void EVP_KEYEXCH_free(EVP_KEYEXCH *exchange);
 I4	  69823 int EVP_KEYEXCH_up_ref(EVP_KEYEXCH *exchange);
 I4	  69824 EVP_KEYEXCH *EVP_KEYEXCH_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
 I4	  69825                                const char *properties);
 I4	  69826 OSSL_PROVIDER *EVP_KEYEXCH_get0_provider(const EVP_KEYEXCH *exchange);
 I4	  69827 int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *keyexch, const char *name);
 I4	  69828 const char *EVP_KEYEXCH_get0_name(const EVP_KEYEXCH *keyexch);
 I4	  69829 const char *EVP_KEYEXCH_get0_description(const EVP_KEYEXCH *keyexch);
 I4	  69830 void EVP_KEYEXCH_do_all_provided(OSSL_LIB_CTX *libctx,
 I4	  69831                                  void (*fn)(EVP_KEYEXCH *keyexch, void *data),
 I4	  69832                                  void *data);
 I4	  69833 int EVP_KEYEXCH_names_do_all(const EVP_KEYEXCH *keyexch,
 I4	  69834                              void (*fn)(const char *name, void *data),
 I4	  69835                              void *data);
 I4	  69836 const OSSL_PARAM *EVP_KEYEXCH_gettable_ctx_params(const EVP_KEYEXCH *keyexch);
 I4	  69837 const OSSL_PARAM *EVP_KEYEXCH_settable_ctx_params(const EVP_KEYEXCH *keyexch);
 I4	  69838 
 I4	  69839 void EVP_add_alg_module(void);
 I4	  69840 
 I4	  69841 int EVP_PKEY_CTX_set_group_name(EVP_PKEY_CTX *ctx, const char *name);
 I4	  69842 int EVP_PKEY_CTX_get_group_name(EVP_PKEY_CTX *ctx, char *name, size_t namelen);
 I4	  69843 int EVP_PKEY_get_group_name(const EVP_PKEY *pkey, char *name, size_t name_sz,
 I4	  69844                             size_t *gname_len);
 I4	  69845 
 I4	  69846 OSSL_LIB_CTX *EVP_PKEY_CTX_get0_libctx(EVP_PKEY_CTX *ctx);
 I4	  69847 const char *EVP_PKEY_CTX_get0_propq(const EVP_PKEY_CTX *ctx);
 I4	  69848 const OSSL_PROVIDER *EVP_PKEY_CTX_get0_provider(const EVP_PKEY_CTX *ctx);
 I4	  69849 
 I4    X  69850 # ifdef  __cplusplus
 I4    X  69851 }
 I4    X  69852 # endif
 I4	  69853 #endif
 I3    X  69854 # include <openssl/bio.h>
 I3    X  69855 # include <openssl/asn1.h>
 I3    X  69856 # include <openssl/safestack.h>
 I3	  69857 # include <openssl/ec.h>
 I4	  69858 /*
 I4	  69859  * Copyright 2002-2022 The OpenSSL Project Authors. All Rights Reserved.
 I4	  69860  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I4	  69861  *
 I4	  69862  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  69863  * this file except in compliance with the License.  You can obtain a copy
 I4	  69864  * in the file LICENSE in the source distribution or at
 I4	  69865  * https://www.openssl.org/source/license.html
 I4	  69866  */
 I4	  69867 
 I4	  69868 #ifndef OPENSSL_EC_H
 I4	  69869 # define OPENSSL_EC_H

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1276
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  69870 # pragma once
 I4	  69871 
 I4    X  69872 # include <openssl/macros.h>
 I4	  69873 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69874 #  define HEADER_EC_H
 I4	  69875 # endif
 I4	  69876 
 I4    X  69877 # include <openssl/opensslconf.h>
 I4    X  69878 # include <openssl/types.h>
 I4	  69879 
 I4    X  69880 # include <string.h>
 I4	  69881 
 I4    X  69882 # ifdef  __cplusplus
 I4    X  69883 extern "C" {
 I4    X  69884 # endif
 I4	  69885 
 I4	  69886 /* Values for EVP_PKEY_CTX_set_ec_param_enc() */
 I4	  69887 # define OPENSSL_EC_EXPLICIT_CURVE  0x000
 I4	  69888 # define OPENSSL_EC_NAMED_CURVE     0x001
 I4	  69889 
 I4	  69890 int EVP_PKEY_CTX_set_ec_paramgen_curve_nid(EVP_PKEY_CTX *ctx, int nid);
 I4	  69891 int EVP_PKEY_CTX_set_ec_param_enc(EVP_PKEY_CTX *ctx, int param_enc);
 I4	  69892 int EVP_PKEY_CTX_set_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx, int cofactor_mode);
 I4	  69893 int EVP_PKEY_CTX_get_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx);
 I4	  69894 
 I4	  69895 int EVP_PKEY_CTX_set_ecdh_kdf_type(EVP_PKEY_CTX *ctx, int kdf);
 I4	  69896 int EVP_PKEY_CTX_get_ecdh_kdf_type(EVP_PKEY_CTX *ctx);
 I4	  69897 
 I4	  69898 int EVP_PKEY_CTX_set_ecdh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I4	  69899 int EVP_PKEY_CTX_get_ecdh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
 I4	  69900 
 I4	  69901 int EVP_PKEY_CTX_set_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int len);
 I4	  69902 int EVP_PKEY_CTX_get_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int *len);
 I4	  69903 
 I4	  69904 int EVP_PKEY_CTX_set0_ecdh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char *ukm,
 I4	  69905                                    int len);
 I4	  69906 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  69907 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  69908 int EVP_PKEY_CTX_get0_ecdh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **ukm);
 I4	  69909 # endif
 I4	  69910 
 I4	  69911 # define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID    (EVP_PKEY_ALG_CTRL + 1)
 I4	  69912 # define EVP_PKEY_CTRL_EC_PARAM_ENC             (EVP_PKEY_ALG_CTRL + 2)
 I4	  69913 # define EVP_PKEY_CTRL_EC_ECDH_COFACTOR         (EVP_PKEY_ALG_CTRL + 3)
 I4	  69914 # define EVP_PKEY_CTRL_EC_KDF_TYPE              (EVP_PKEY_ALG_CTRL + 4)
 I4	  69915 # define EVP_PKEY_CTRL_EC_KDF_MD                (EVP_PKEY_ALG_CTRL + 5)
 I4	  69916 # define EVP_PKEY_CTRL_GET_EC_KDF_MD            (EVP_PKEY_ALG_CTRL + 6)
 I4	  69917 # define EVP_PKEY_CTRL_EC_KDF_OUTLEN            (EVP_PKEY_ALG_CTRL + 7)
 I4	  69918 # define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN        (EVP_PKEY_ALG_CTRL + 8)
 I4	  69919 # define EVP_PKEY_CTRL_EC_KDF_UKM               (EVP_PKEY_ALG_CTRL + 9)
 I4	  69920 # define EVP_PKEY_CTRL_GET_EC_KDF_UKM           (EVP_PKEY_ALG_CTRL + 10)
 I4	  69921 
 I4	  69922 /* KDF types */
 I4	  69923 # define EVP_PKEY_ECDH_KDF_NONE                      1
 I4	  69924 # define EVP_PKEY_ECDH_KDF_X9_63                     2
 I4	  69925 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1277
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  69926  * The old name for EVP_PKEY_ECDH_KDF_X9_63
 I4	  69927  *  The ECDH KDF specification has been mistakenly attributed to ANSI X9.62,
 I4	  69928  *  it is actually specified in ANSI X9.63.
 I4	  69929  *  This identifier is retained for backwards compatibility
 I4	  69930  */
 I4	  69931 # define EVP_PKEY_ECDH_KDF_X9_62   EVP_PKEY_ECDH_KDF_X9_63
 I4	  69932 
 I4	  69933 /** Enum for the point conversion form as defined in X9.62 (ECDSA)
 I4	  69934  *  for the encoding of a elliptic curve point (x,y) */
 I4	  69935 typedef enum {
 I4	  69936         /** the point is encoded as z||x, where the octet z specifies
 I4	  69937          *  which solution of the quadratic equation y is  */
 I4	  69938     POINT_CONVERSION_COMPRESSED = 2,
 I4	  69939         /** the point is encoded as z||x||y, where z is the octet 0x04  */
 I4	  69940     POINT_CONVERSION_UNCOMPRESSED = 4,
 I4	  69941         /** the point is encoded as z||x||y, where the octet z specifies
 I4	  69942          *  which solution of the quadratic equation y is  */
 I4	  69943     POINT_CONVERSION_HYBRID = 6
 I4	  69944 } point_conversion_form_t;
 I4	  69945 
 I4	  69946 const char *OSSL_EC_curve_nid2name(int nid);
 I4	  69947 
 I4	  69948 # ifndef OPENSSL_NO_EC
 I4    X  69949 #  include <openssl/asn1.h>
 I4    X  69950 #  include <openssl/symhacks.h>
 I4	  69951 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  69952 #   include <openssl/bn.h>
 I4	  69953 #  endif
 I4	  69954 #  include <openssl/ecerr.h>
 I5	  69955 /*
 I5	  69956  * Generated by util/mkerr.pl DO NOT EDIT
 I5	  69957  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I5	  69958  *
 I5	  69959  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  69960  * this file except in compliance with the License.  You can obtain a copy
 I5	  69961  * in the file LICENSE in the source distribution or at
 I5	  69962  * https://www.openssl.org/source/license.html
 I5	  69963  */
 I5	  69964 
 I5	  69965 #ifndef OPENSSL_ECERR_H
 I5	  69966 # define OPENSSL_ECERR_H
 I5	  69967 # pragma once
 I5	  69968 
 I5    X  69969 # include <openssl/opensslconf.h>
 I5    X  69970 # include <openssl/symhacks.h>
 I5    X  69971 # include <openssl/cryptoerr_legacy.h>
 I5	  69972 
 I5	  69973 
 I5	  69974 # ifndef OPENSSL_NO_EC
 I5	  69975 
 I5	  69976 
 I5	  69977 /*
 I5	  69978  * EC reason codes.
 I5	  69979  */
 I5	  69980 #  define EC_R_ASN1_ERROR                                  115
 I5	  69981 #  define EC_R_BAD_SIGNATURE                               156
 I5	  69982 #  define EC_R_BIGNUM_OUT_OF_RANGE                         144

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1278
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ECERR.H;1

 I5	  69983 #  define EC_R_BUFFER_TOO_SMALL                            100
 I5	  69984 #  define EC_R_CANNOT_INVERT                               165
 I5	  69985 #  define EC_R_COORDINATES_OUT_OF_RANGE                    146
 I5	  69986 #  define EC_R_CURVE_DOES_NOT_SUPPORT_ECDH                 160
 I5	  69987 #  define EC_R_CURVE_DOES_NOT_SUPPORT_ECDSA                170
 I5	  69988 #  define EC_R_CURVE_DOES_NOT_SUPPORT_SIGNING              159
 I5	  69989 #  define EC_R_DECODE_ERROR                                142
 I5	  69990 #  define EC_R_DISCRIMINANT_IS_ZERO                        118
 I5	  69991 #  define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE                119
 I5	  69992 #  define EC_R_EXPLICIT_PARAMS_NOT_SUPPORTED               127
 I5	  69993 #  define EC_R_FAILED_MAKING_PUBLIC_KEY                    166
 I5	  69994 #  define EC_R_FIELD_TOO_LARGE                             143
 I5	  69995 #  define EC_R_GF2M_NOT_SUPPORTED                          147
 I5	  69996 #  define EC_R_GROUP2PKPARAMETERS_FAILURE                  120
 I5	  69997 #  define EC_R_I2D_ECPKPARAMETERS_FAILURE                  121
 I5	  69998 #  define EC_R_INCOMPATIBLE_OBJECTS                        101
 I5	  69999 #  define EC_R_INVALID_A                                   168
 I5	  70000 #  define EC_R_INVALID_ARGUMENT                            112
 I5	  70001 #  define EC_R_INVALID_B                                   169
 I5	  70002 #  define EC_R_INVALID_COFACTOR                            171
 I5	  70003 #  define EC_R_INVALID_COMPRESSED_POINT                    110
 I5	  70004 #  define EC_R_INVALID_COMPRESSION_BIT                     109
 I5	  70005 #  define EC_R_INVALID_CURVE                               141
 I5	  70006 #  define EC_R_INVALID_DIGEST                              151
 I5	  70007 #  define EC_R_INVALID_DIGEST_TYPE                         138
 I5	  70008 #  define EC_R_INVALID_ENCODING                            102
 I5	  70009 #  define EC_R_INVALID_FIELD                               103
 I5	  70010 #  define EC_R_INVALID_FORM                                104
 I5	  70011 #  define EC_R_INVALID_GENERATOR                           173
 I5	  70012 #  define EC_R_INVALID_GROUP_ORDER                         122
 I5	  70013 #  define EC_R_INVALID_KEY                                 116
 I5	  70014 #  define EC_R_INVALID_LENGTH                              117
 I5	  70015 #  define EC_R_INVALID_NAMED_GROUP_CONVERSION              174
 I5	  70016 #  define EC_R_INVALID_OUTPUT_LENGTH                       161
 I5	  70017 #  define EC_R_INVALID_P                                   172
 I5	  70018 #  define EC_R_INVALID_PEER_KEY                            133
 I5	  70019 #  define EC_R_INVALID_PENTANOMIAL_BASIS                   132
 I5	  70020 #  define EC_R_INVALID_PRIVATE_KEY                         123
 I5	  70021 #  define EC_R_INVALID_SEED                                175
 I5	  70022 #  define EC_R_INVALID_TRINOMIAL_BASIS                     137
 I5	  70023 #  define EC_R_KDF_PARAMETER_ERROR                         148
 I5	  70024 #  define EC_R_KEYS_NOT_SET                                140
 I5	  70025 #  define EC_R_LADDER_POST_FAILURE                         136
 I5	  70026 #  define EC_R_LADDER_PRE_FAILURE                          153
 I5	  70027 #  define EC_R_LADDER_STEP_FAILURE                         162
 I5	  70028 #  define EC_R_MISSING_OID                                 167
 I5	  70029 #  define EC_R_MISSING_PARAMETERS                          124
 I5	  70030 #  define EC_R_MISSING_PRIVATE_KEY                         125
 I5	  70031 #  define EC_R_NEED_NEW_SETUP_VALUES                       157
 I5	  70032 #  define EC_R_NOT_A_NIST_PRIME                            135
 I5	  70033 #  define EC_R_NOT_IMPLEMENTED                             126
 I5	  70034 #  define EC_R_NOT_INITIALIZED                             111
 I5	  70035 #  define EC_R_NO_PARAMETERS_SET                           139
 I5	  70036 #  define EC_R_NO_PRIVATE_VALUE                            154
 I5	  70037 #  define EC_R_OPERATION_NOT_SUPPORTED                     152
 I5	  70038 #  define EC_R_PASSED_NULL_PARAMETER                       134
 I5	  70039 #  define EC_R_PEER_KEY_ERROR                              149

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1279
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ECERR.H;1

 I5	  70040 #  define EC_R_POINT_ARITHMETIC_FAILURE                    155
 I5	  70041 #  define EC_R_POINT_AT_INFINITY                           106
 I5	  70042 #  define EC_R_POINT_COORDINATES_BLIND_FAILURE             163
 I5	  70043 #  define EC_R_POINT_IS_NOT_ON_CURVE                       107
 I5	  70044 #  define EC_R_RANDOM_NUMBER_GENERATION_FAILED             158
 I5	  70045 #  define EC_R_SHARED_INFO_ERROR                           150
 I5	  70046 #  define EC_R_SLOT_FULL                                   108
 I5	  70047 #  define EC_R_UNDEFINED_GENERATOR                         113
 I5	  70048 #  define EC_R_UNDEFINED_ORDER                             128
 I5	  70049 #  define EC_R_UNKNOWN_COFACTOR                            164
 I5	  70050 #  define EC_R_UNKNOWN_GROUP                               129
 I5	  70051 #  define EC_R_UNKNOWN_ORDER                               114
 I5	  70052 #  define EC_R_UNSUPPORTED_FIELD                           131
 I5	  70053 #  define EC_R_WRONG_CURVE_PARAMETERS                      145
 I5	  70054 #  define EC_R_WRONG_ORDER                                 130
 I5	  70055 
 I5	  70056 # endif
 I5	  70057 #endif
 I4	  70058 
 I4	  70059 #  ifndef OPENSSL_ECC_MAX_FIELD_BITS
 I4	  70060 #   define OPENSSL_ECC_MAX_FIELD_BITS 661
 I4	  70061 #  endif
 I4	  70062 
 I4    X  70063 #  include <openssl/params.h>
 I4	  70064 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70065 typedef struct ec_method_st EC_METHOD;
 I4	  70066 #  endif
 I4	  70067 typedef struct ec_group_st EC_GROUP;
 I4	  70068 typedef struct ec_point_st EC_POINT;
 I4	  70069 typedef struct ecpk_parameters_st ECPKPARAMETERS;
 I4	  70070 typedef struct ec_parameters_st ECPARAMETERS;
 I4	  70071 
 I4	  70072 /********************************************************************/
 I4	  70073 /*               EC_METHODs for curves over GF(p)                   */
 I4	  70074 /********************************************************************/
 I4	  70075 
 I4	  70076 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70077 /** Returns the basic GFp ec methods which provides the basis for the
 I4	  70078  *  optimized methods.
 I4	  70079  *  \return  EC_METHOD object
 I4	  70080  */
 I4	  70081 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GFp_simple_method(void);
       E	 extern
 I4	  70082 
 I4	  70083 /** Returns GFp methods using montgomery multiplication.
 I4	  70084  *  \return  EC_METHOD object
 I4	  70085  */
 I4	  70086 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GFp_mont_method(void);
       E	 extern
 I4	  70087 
 I4	  70088 /** Returns GFp methods using optimized methods for NIST recommended curves
 I4	  70089  *  \return  EC_METHOD object
 I4	  70090  */
 I4	  70091 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GFp_nist_method(void);
       E	 extern
 I4	  70092 
 I4    X  70093 #   ifndef OPENSSL_NO_EC_NISTP_64_GCC_128

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1280
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70094 /** Returns 64-bit optimized methods for nistp224
 I4	  70095  *  \return  EC_METHOD object
 I4    X  70096  */
 I4    X  70097 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GFp_nistp224_method(void);
 I4    X  70098 
 I4    X  70099 /** Returns 64-bit optimized methods for nistp256
 I4    X  70100  *  \return  EC_METHOD object
 I4    X  70101  */
 I4    X  70102 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GFp_nistp256_method(void);
 I4    X  70103 
 I4    X  70104 /** Returns 64-bit optimized methods for nistp521
 I4    X  70105  *  \return  EC_METHOD object
 I4    X  70106  */
 I4    X  70107 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GFp_nistp521_method(void);
 I4    X  70108 #   endif /* OPENSSL_NO_EC_NISTP_64_GCC_128 */
 I4	  70109 
 I4	  70110 #   ifndef OPENSSL_NO_EC2M
 I4	  70111 /********************************************************************/
 I4	  70112 /*           EC_METHOD for curves over GF(2^m)                      */
 I4	  70113 /********************************************************************/
 I4	  70114 
 I4	  70115 /** Returns the basic GF2m ec method
 I4	  70116  *  \return  EC_METHOD object
 I4	  70117  */
 I4	  70118 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GF2m_simple_method(void);
       E	 extern
 I4	  70119 
 I4	  70120 #   endif
 I4	  70121 
 I4	  70122 /********************************************************************/
 I4	  70123 /*                   EC_GROUP functions                             */
 I4	  70124 /********************************************************************/
 I4	  70125 
 I4	  70126 /**
 I4	  70127  *  Creates a new EC_GROUP object
 I4	  70128  *  \param   meth   EC_METHOD to use
 I4	  70129  *  \return  newly created EC_GROUP object or NULL in case of an error.
 I4	  70130  */
 I4	  70131 OSSL_DEPRECATEDIN_3_0 EC_GROUP *EC_GROUP_new(const EC_METHOD *meth);
       E	 extern
 I4	  70132 
 I4	  70133 /** Clears and frees a EC_GROUP object
 I4	  70134  *  \param  group  EC_GROUP object to be cleared and freed.
 I4	  70135  */
 I4	  70136 OSSL_DEPRECATEDIN_3_0 void EC_GROUP_clear_free(EC_GROUP *group);
       E	 extern
 I4	  70137 
 I4	  70138 /** Returns the EC_METHOD of the EC_GROUP object.
 I4	  70139  *  \param  group  EC_GROUP object
 I4	  70140  *  \return EC_METHOD used in this EC_GROUP object.
 I4	  70141  */
 I4	  70142 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group);
       E	 extern
 I4	  70143 
 I4	  70144 /** Returns the field type of the EC_METHOD.
 I4	  70145  *  \param  meth  EC_METHOD object
 I4	  70146  *  \return NID of the underlying field type OID.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1281
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70147  */
 I4	  70148 OSSL_DEPRECATEDIN_3_0 int EC_METHOD_get_field_type(const EC_METHOD *meth);
       E	 extern
 I4	  70149 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70150 
 I4	  70151 /** Frees a EC_GROUP object
 I4	  70152  *  \param  group  EC_GROUP object to be freed.
 I4	  70153  */
 I4	  70154 void EC_GROUP_free(EC_GROUP *group);
 I4	  70155 
 I4	  70156 /** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD.
 I4	  70157  *  \param  dst  destination EC_GROUP object
 I4	  70158  *  \param  src  source EC_GROUP object
 I4	  70159  *  \return 1 on success and 0 if an error occurred.
 I4	  70160  */
 I4	  70161 int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src);
 I4	  70162 
 I4	  70163 /** Creates a new EC_GROUP object and copies the content
 I4	  70164  *  form src to the newly created EC_KEY object
 I4	  70165  *  \param  src  source EC_GROUP object
 I4	  70166  *  \return newly created EC_GROUP object or NULL in case of an error.
 I4	  70167  */
 I4	  70168 EC_GROUP *EC_GROUP_dup(const EC_GROUP *src);
 I4	  70169 
 I4	  70170 /** Sets the generator and its order/cofactor of a EC_GROUP object.
 I4	  70171  *  \param  group      EC_GROUP object
 I4	  70172  *  \param  generator  EC_POINT object with the generator.
 I4	  70173  *  \param  order      the order of the group generated by the generator.
 I4	  70174  *  \param  cofactor   the index of the sub-group generated by the generator
 I4	  70175  *                     in the group of all points on the elliptic curve.
 I4	  70176  *  \return 1 on success and 0 if an error occurred
 I4	  70177  */
 I4	  70178 int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator,
 I4	  70179                            const BIGNUM *order, const BIGNUM *cofactor);
 I4	  70180 
 I4	  70181 /** Returns the generator of a EC_GROUP object.
 I4	  70182  *  \param  group  EC_GROUP object
 I4	  70183  *  \return the currently used generator (possibly NULL).
 I4	  70184  */
 I4	  70185 const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group);
 I4	  70186 
 I4	  70187 /** Returns the montgomery data for order(Generator)
 I4	  70188  *  \param  group  EC_GROUP object
 I4	  70189  *  \return the currently used montgomery data (possibly NULL).
 I4	  70190 */
 I4	  70191 BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group);
 I4	  70192 
 I4	  70193 /** Gets the order of a EC_GROUP
 I4	  70194  *  \param  group  EC_GROUP object
 I4	  70195  *  \param  order  BIGNUM to which the order is copied
 I4	  70196  *  \param  ctx    unused
 I4	  70197  *  \return 1 on success and 0 if an error occurred
 I4	  70198  */
 I4	  70199 int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx);
 I4	  70200 
 I4	  70201 /** Gets the order of an EC_GROUP
 I4	  70202  *  \param  group  EC_GROUP object

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1282
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70203  *  \return the group order
 I4	  70204  */
 I4	  70205 const BIGNUM *EC_GROUP_get0_order(const EC_GROUP *group);
 I4	  70206 
 I4	  70207 /** Gets the number of bits of the order of an EC_GROUP
 I4	  70208  *  \param  group  EC_GROUP object
 I4	  70209  *  \return number of bits of group order.
 I4	  70210  */
 I4	  70211 int EC_GROUP_order_bits(const EC_GROUP *group);
 I4	  70212 
 I4	  70213 /** Gets the cofactor of a EC_GROUP
 I4	  70214  *  \param  group     EC_GROUP object
 I4	  70215  *  \param  cofactor  BIGNUM to which the cofactor is copied
 I4	  70216  *  \param  ctx       unused
 I4	  70217  *  \return 1 on success and 0 if an error occurred
 I4	  70218  */
 I4	  70219 int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor,
 I4	  70220                           BN_CTX *ctx);
 I4	  70221 
 I4	  70222 /** Gets the cofactor of an EC_GROUP
 I4	  70223  *  \param  group  EC_GROUP object
 I4	  70224  *  \return the group cofactor
 I4	  70225  */
 I4	  70226 const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group);
 I4	  70227 
 I4	  70228 /** Sets the name of a EC_GROUP object
 I4	  70229  *  \param  group  EC_GROUP object
 I4	  70230  *  \param  nid    NID of the curve name OID
 I4	  70231  */
 I4	  70232 void EC_GROUP_set_curve_name(EC_GROUP *group, int nid);
 I4	  70233 
 I4	  70234 /** Returns the curve name of a EC_GROUP object
 I4	  70235  *  \param  group  EC_GROUP object
 I4	  70236  *  \return NID of the curve name OID or 0 if not set.
 I4	  70237  */
 I4	  70238 int EC_GROUP_get_curve_name(const EC_GROUP *group);
 I4	  70239 
 I4	  70240 /** Gets the field of an EC_GROUP
 I4	  70241  *  \param  group  EC_GROUP object
 I4	  70242  *  \return the group field
 I4	  70243  */
 I4	  70244 const BIGNUM *EC_GROUP_get0_field(const EC_GROUP *group);
 I4	  70245 
 I4	  70246 /** Returns the field type of the EC_GROUP.
 I4	  70247  *  \param  group  EC_GROUP object
 I4	  70248  *  \return NID of the underlying field type OID.
 I4	  70249  */
 I4	  70250 int EC_GROUP_get_field_type(const EC_GROUP *group);
 I4	  70251 
 I4	  70252 void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag);
 I4	  70253 int EC_GROUP_get_asn1_flag(const EC_GROUP *group);
 I4	  70254 
 I4	  70255 void EC_GROUP_set_point_conversion_form(EC_GROUP *group,
 I4	  70256                                         point_conversion_form_t form);
 I4	  70257 point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *);
 I4	  70258 
 I4	  70259 unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1283
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70260 size_t EC_GROUP_get_seed_len(const EC_GROUP *);
 I4	  70261 size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len);
 I4	  70262 
 I4	  70263 /** Sets the parameters of an ec curve defined by y^2 = x^3 + a*x + b (for GFp)
 I4	  70264  *  or y^2 + x*y = x^3 + a*x^2 + b (for GF2m)
 I4	  70265  *  \param  group  EC_GROUP object
 I4	  70266  *  \param  p      BIGNUM with the prime number (GFp) or the polynomial
 I4	  70267  *                 defining the underlying field (GF2m)
 I4	  70268  *  \param  a      BIGNUM with parameter a of the equation
 I4	  70269  *  \param  b      BIGNUM with parameter b of the equation
 I4	  70270  *  \param  ctx    BN_CTX object (optional)
 I4	  70271  *  \return 1 on success and 0 if an error occurred
 I4	  70272  */
 I4	  70273 int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a,
 I4	  70274                        const BIGNUM *b, BN_CTX *ctx);
 I4	  70275 
 I4	  70276 /** Gets the parameters of the ec curve defined by y^2 = x^3 + a*x + b (for GFp)
 I4	  70277  *  or y^2 + x*y = x^3 + a*x^2 + b (for GF2m)
 I4	  70278  *  \param  group  EC_GROUP object
 I4	  70279  *  \param  p      BIGNUM with the prime number (GFp) or the polynomial
 I4	  70280  *                 defining the underlying field (GF2m)
 I4	  70281  *  \param  a      BIGNUM for parameter a of the equation
 I4	  70282  *  \param  b      BIGNUM for parameter b of the equation
 I4	  70283  *  \param  ctx    BN_CTX object (optional)
 I4	  70284  *  \return 1 on success and 0 if an error occurred
 I4	  70285  */
 I4	  70286 int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b,
 I4	  70287                        BN_CTX *ctx);
 I4	  70288 
 I4	  70289 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70290 /** Sets the parameters of an ec curve. Synonym for EC_GROUP_set_curve
 I4	  70291  *  \param  group  EC_GROUP object
 I4	  70292  *  \param  p      BIGNUM with the prime number (GFp) or the polynomial
 I4	  70293  *                 defining the underlying field (GF2m)
 I4	  70294  *  \param  a      BIGNUM with parameter a of the equation
 I4	  70295  *  \param  b      BIGNUM with parameter b of the equation
 I4	  70296  *  \param  ctx    BN_CTX object (optional)
 I4	  70297  *  \return 1 on success and 0 if an error occurred
 I4	  70298  */
 I4	  70299 OSSL_DEPRECATEDIN_3_0 int EC_GROUP_set_curve_GFp(EC_GROUP *group,
       E	 extern
 I4	  70300                                                  const BIGNUM *p,
 I4	  70301                                                  const BIGNUM *a,
 I4	  70302                                                  const BIGNUM *b,
 I4	  70303                                                  BN_CTX *ctx);
 I4	  70304 
 I4	  70305 /** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve
 I4	  70306  *  \param  group  EC_GROUP object
 I4	  70307  *  \param  p      BIGNUM with the prime number (GFp) or the polynomial
 I4	  70308  *                 defining the underlying field (GF2m)
 I4	  70309  *  \param  a      BIGNUM for parameter a of the equation
 I4	  70310  *  \param  b      BIGNUM for parameter b of the equation
 I4	  70311  *  \param  ctx    BN_CTX object (optional)
 I4	  70312  *  \return 1 on success and 0 if an error occurred
 I4	  70313  */
 I4	  70314 OSSL_DEPRECATEDIN_3_0 int EC_GROUP_get_curve_GFp(const EC_GROUP *group,
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1284
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70315                                                  BIGNUM *p,
 I4	  70316                                                  BIGNUM *a, BIGNUM *b,
 I4	  70317                                                  BN_CTX *ctx);
 I4	  70318 
 I4	  70319 #   ifndef OPENSSL_NO_EC2M
 I4	  70320 /** Sets the parameter of an ec curve. Synonym for EC_GROUP_set_curve
 I4	  70321  *  \param  group  EC_GROUP object
 I4	  70322  *  \param  p      BIGNUM with the prime number (GFp) or the polynomial
 I4	  70323  *                 defining the underlying field (GF2m)
 I4	  70324  *  \param  a      BIGNUM with parameter a of the equation
 I4	  70325  *  \param  b      BIGNUM with parameter b of the equation
 I4	  70326  *  \param  ctx    BN_CTX object (optional)
 I4	  70327  *  \return 1 on success and 0 if an error occurred
 I4	  70328  */
 I4	  70329 OSSL_DEPRECATEDIN_3_0 int EC_GROUP_set_curve_GF2m(EC_GROUP *group,
       E	 extern
 I4	  70330                                                   const BIGNUM *p,
 I4	  70331                                                   const BIGNUM *a,
 I4	  70332                                                   const BIGNUM *b,
 I4	  70333                                                   BN_CTX *ctx);
 I4	  70334 
 I4	  70335 /** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve
 I4	  70336  *  \param  group  EC_GROUP object
 I4	  70337  *  \param  p      BIGNUM with the prime number (GFp) or the polynomial
 I4	  70338  *                 defining the underlying field (GF2m)
 I4	  70339  *  \param  a      BIGNUM for parameter a of the equation
 I4	  70340  *  \param  b      BIGNUM for parameter b of the equation
 I4	  70341  *  \param  ctx    BN_CTX object (optional)
 I4	  70342  *  \return 1 on success and 0 if an error occurred
 I4	  70343  */
 I4	  70344 OSSL_DEPRECATEDIN_3_0 int EC_GROUP_get_curve_GF2m(const EC_GROUP *group,
       E	 extern
 I4	  70345                                                   BIGNUM *p,
 I4	  70346                                                   BIGNUM *a, BIGNUM *b,
 I4	  70347                                                   BN_CTX *ctx);
 I4	  70348 #   endif /* OPENSSL_NO_EC2M */
 I4	  70349 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70350 
 I4	  70351 /** Returns the number of bits needed to represent a field element
 I4	  70352  *  \param  group  EC_GROUP object
 I4	  70353  *  \return number of bits needed to represent a field element
 I4	  70354  */
 I4	  70355 int EC_GROUP_get_degree(const EC_GROUP *group);
 I4	  70356 
 I4	  70357 /** Checks whether the parameter in the EC_GROUP define a valid ec group
 I4	  70358  *  \param  group  EC_GROUP object
 I4	  70359  *  \param  ctx    BN_CTX object (optional)
 I4	  70360  *  \return 1 if group is a valid ec group and 0 otherwise
 I4	  70361  */
 I4	  70362 int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx);
 I4	  70363 
 I4	  70364 /** Checks whether the discriminant of the elliptic curve is zero or not
 I4	  70365  *  \param  group  EC_GROUP object
 I4	  70366  *  \param  ctx    BN_CTX object (optional)
 I4	  70367  *  \return 1 if the discriminant is not zero and 0 otherwise
 I4	  70368  */
 I4	  70369 int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1285
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70370 
 I4	  70371 /** Compares two EC_GROUP objects
 I4	  70372  *  \param  a    first EC_GROUP object
 I4	  70373  *  \param  b    second EC_GROUP object
 I4	  70374  *  \param  ctx  BN_CTX object (optional)
 I4	  70375  *  \return 0 if the groups are equal, 1 if not, or -1 on error
 I4	  70376  */
 I4	  70377 int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx);
 I4	  70378 
 I4	  70379 /*
 I4	  70380  * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after
 I4	  70381  * choosing an appropriate EC_METHOD
 I4	  70382  */
 I4	  70383 
 I4	  70384 /** Creates a new EC_GROUP object with the specified parameters defined
 I4	  70385  *  over GFp (defined by the equation y^2 = x^3 + a*x + b)
 I4	  70386  *  \param  p    BIGNUM with the prime number
 I4	  70387  *  \param  a    BIGNUM with the parameter a of the equation
 I4	  70388  *  \param  b    BIGNUM with the parameter b of the equation
 I4	  70389  *  \param  ctx  BN_CTX object (optional)
 I4	  70390  *  \return newly created EC_GROUP object with the specified parameters
 I4	  70391  */
 I4	  70392 EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a,
 I4	  70393                                  const BIGNUM *b, BN_CTX *ctx);
 I4	  70394 #  ifndef OPENSSL_NO_EC2M
 I4	  70395 /** Creates a new EC_GROUP object with the specified parameters defined
 I4	  70396  *  over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b)
 I4	  70397  *  \param  p    BIGNUM with the polynomial defining the underlying field
 I4	  70398  *  \param  a    BIGNUM with the parameter a of the equation
 I4	  70399  *  \param  b    BIGNUM with the parameter b of the equation
 I4	  70400  *  \param  ctx  BN_CTX object (optional)
 I4	  70401  *  \return newly created EC_GROUP object with the specified parameters
 I4	  70402  */
 I4	  70403 EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a,
 I4	  70404                                   const BIGNUM *b, BN_CTX *ctx);
 I4	  70405 #  endif
 I4	  70406 
 I4	  70407 /**
 I4	  70408  * Creates a EC_GROUP object with a curve specified by parameters.
 I4	  70409  * The parameters may be explicit or a named curve,
 I4	  70410  *  \param  params A list of parameters describing the group.
 I4	  70411  *  \param  libctx The associated library context or NULL for the default
 I4	  70412  *                 context
 I4	  70413  *  \param  propq  A property query string
 I4	  70414  *  \return newly created EC_GROUP object with specified parameters or NULL
 I4	  70415  *          if an error occurred
 I4	  70416  */
 I4	  70417 EC_GROUP *EC_GROUP_new_from_params(const OSSL_PARAM params[],
 I4	  70418                                    OSSL_LIB_CTX *libctx, const char *propq);
 I4	  70419 
 I4	  70420 /**
 I4	  70421  * Creates a EC_GROUP object with a curve specified by a NID
 I4	  70422  *  \param  libctx The associated library context or NULL for the default
 I4	  70423  *                 context
 I4	  70424  *  \param  propq  A property query string
 I4	  70425  *  \param  nid    NID of the OID of the curve name
 I4	  70426  *  \return newly created EC_GROUP object with specified curve or NULL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1286
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70427  *          if an error occurred
 I4	  70428  */
 I4	  70429 EC_GROUP *EC_GROUP_new_by_curve_name_ex(OSSL_LIB_CTX *libctx, const char *propq,
 I4	  70430                                         int nid);
 I4	  70431 
 I4	  70432 /**
 I4	  70433  * Creates a EC_GROUP object with a curve specified by a NID. Same as
 I4	  70434  * EC_GROUP_new_by_curve_name_ex but the libctx and propq are always
 I4	  70435  * NULL.
 I4	  70436  *  \param  nid    NID of the OID of the curve name
 I4	  70437  *  \return newly created EC_GROUP object with specified curve or NULL
 I4	  70438  *          if an error occurred
 I4	  70439  */
 I4	  70440 EC_GROUP *EC_GROUP_new_by_curve_name(int nid);
 I4	  70441 
 I4	  70442 /** Creates a new EC_GROUP object from an ECPARAMETERS object
 I4	  70443  *  \param  params  pointer to the ECPARAMETERS object
 I4	  70444  *  \return newly created EC_GROUP object with specified curve or NULL
 I4	  70445  *          if an error occurred
 I4	  70446  */
 I4	  70447 EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params);
 I4	  70448 
 I4	  70449 /** Creates an ECPARAMETERS object for the given EC_GROUP object.
 I4	  70450  *  \param  group   pointer to the EC_GROUP object
 I4	  70451  *  \param  params  pointer to an existing ECPARAMETERS object or NULL
 I4	  70452  *  \return pointer to the new ECPARAMETERS object or NULL
 I4	  70453  *          if an error occurred.
 I4	  70454  */
 I4	  70455 ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group,
 I4	  70456                                         ECPARAMETERS *params);
 I4	  70457 
 I4	  70458 /** Creates a new EC_GROUP object from an ECPKPARAMETERS object
 I4	  70459  *  \param  params  pointer to an existing ECPKPARAMETERS object, or NULL
 I4	  70460  *  \return newly created EC_GROUP object with specified curve, or NULL
 I4	  70461  *          if an error occurred
 I4	  70462  */
 I4	  70463 EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params);
 I4	  70464 
 I4	  70465 /** Creates an ECPKPARAMETERS object for the given EC_GROUP object.
 I4	  70466  *  \param  group   pointer to the EC_GROUP object
 I4	  70467  *  \param  params  pointer to an existing ECPKPARAMETERS object or NULL
 I4	  70468  *  \return pointer to the new ECPKPARAMETERS object or NULL
 I4	  70469  *          if an error occurred.
 I4	  70470  */
 I4	  70471 ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group,
 I4	  70472                                             ECPKPARAMETERS *params);
 I4	  70473 
 I4	  70474 /********************************************************************/
 I4	  70475 /*               handling of internal curves                        */
 I4	  70476 /********************************************************************/
 I4	  70477 
 I4	  70478 typedef struct {
 I4	  70479     int nid;
 I4	  70480     const char *comment;
 I4	  70481 } EC_builtin_curve;
 I4	  70482 
 I4	  70483 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1287
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70484  * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all
 I4	  70485  * available curves or zero if a error occurred. In case r is not zero,
 I4	  70486  * nitems EC_builtin_curve structures are filled with the data of the first
 I4	  70487  * nitems internal groups
 I4	  70488  */
 I4	  70489 size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems);
 I4	  70490 
 I4	  70491 const char *EC_curve_nid2nist(int nid);
 I4	  70492 int EC_curve_nist2nid(const char *name);
 I4	  70493 int EC_GROUP_check_named_curve(const EC_GROUP *group, int nist_only,
 I4	  70494                                BN_CTX *ctx);
 I4	  70495 
 I4	  70496 /********************************************************************/
 I4	  70497 /*                    EC_POINT functions                            */
 I4	  70498 /********************************************************************/
 I4	  70499 
 I4	  70500 /** Creates a new EC_POINT object for the specified EC_GROUP
 I4	  70501  *  \param  group  EC_GROUP the underlying EC_GROUP object
 I4	  70502  *  \return newly created EC_POINT object or NULL if an error occurred
 I4	  70503  */
 I4	  70504 EC_POINT *EC_POINT_new(const EC_GROUP *group);
 I4	  70505 
 I4	  70506 /** Frees a EC_POINT object
 I4	  70507  *  \param  point  EC_POINT object to be freed
 I4	  70508  */
 I4	  70509 void EC_POINT_free(EC_POINT *point);
 I4	  70510 
 I4	  70511 /** Clears and frees a EC_POINT object
 I4	  70512  *  \param  point  EC_POINT object to be cleared and freed
 I4	  70513  */
 I4	  70514 void EC_POINT_clear_free(EC_POINT *point);
 I4	  70515 
 I4	  70516 /** Copies EC_POINT object
 I4	  70517  *  \param  dst  destination EC_POINT object
 I4	  70518  *  \param  src  source EC_POINT object
 I4	  70519  *  \return 1 on success and 0 if an error occurred
 I4	  70520  */
 I4	  70521 int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src);
 I4	  70522 
 I4	  70523 /** Creates a new EC_POINT object and copies the content of the supplied
 I4	  70524  *  EC_POINT
 I4	  70525  *  \param  src    source EC_POINT object
 I4	  70526  *  \param  group  underlying the EC_GROUP object
 I4	  70527  *  \return newly created EC_POINT object or NULL if an error occurred
 I4	  70528  */
 I4	  70529 EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group);
 I4	  70530 
 I4	  70531 /** Sets a point to infinity (neutral element)
 I4	  70532  *  \param  group  underlying EC_GROUP object
 I4	  70533  *  \param  point  EC_POINT to set to infinity
 I4	  70534  *  \return 1 on success and 0 if an error occurred
 I4	  70535  */
 I4	  70536 int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point);
 I4	  70537 
 I4	  70538 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70539 /** Returns the EC_METHOD used in EC_POINT object
 I4	  70540  *  \param  point  EC_POINT object

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1288
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70541  *  \return the EC_METHOD used
 I4	  70542  */
 I4	  70543 OSSL_DEPRECATEDIN_3_0 const EC_METHOD *EC_POINT_method_of(const EC_POINT *point);
       E	 extern
 I4	  70544 
 I4	  70545 /** Sets the jacobian projective coordinates of a EC_POINT over GFp
 I4	  70546  *  \param  group  underlying EC_GROUP object
 I4	  70547  *  \param  p      EC_POINT object
 I4	  70548  *  \param  x      BIGNUM with the x-coordinate
 I4	  70549  *  \param  y      BIGNUM with the y-coordinate
 I4	  70550  *  \param  z      BIGNUM with the z-coordinate
 I4	  70551  *  \param  ctx    BN_CTX object (optional)
 I4	  70552  *  \return 1 on success and 0 if an error occurred
 I4	  70553  */
 I4	  70554 OSSL_DEPRECATEDIN_3_0 int EC_POINT_set_Jprojective_coordinates_GFp
       E	 extern
 I4	  70555                       (const EC_GROUP *group, EC_POINT *p,
 I4	  70556                        const BIGNUM *x, const BIGNUM *y, const BIGNUM *z,
 I4	  70557                        BN_CTX *ctx);
 I4	  70558 
 I4	  70559 /** Gets the jacobian projective coordinates of a EC_POINT over GFp
 I4	  70560  *  \param  group  underlying EC_GROUP object
 I4	  70561  *  \param  p      EC_POINT object
 I4	  70562  *  \param  x      BIGNUM for the x-coordinate
 I4	  70563  *  \param  y      BIGNUM for the y-coordinate
 I4	  70564  *  \param  z      BIGNUM for the z-coordinate
 I4	  70565  *  \param  ctx    BN_CTX object (optional)
 I4	  70566  *  \return 1 on success and 0 if an error occurred
 I4	  70567  */
 I4	  70568 OSSL_DEPRECATEDIN_3_0 int EC_POINT_get_Jprojective_coordinates_GFp
       E	 extern
 I4	  70569                       (const EC_GROUP *group, const EC_POINT *p,
 I4	  70570                        BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx);
 I4	  70571 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70572 
 I4	  70573 /** Sets the affine coordinates of an EC_POINT
 I4	  70574  *  \param  group  underlying EC_GROUP object
 I4	  70575  *  \param  p      EC_POINT object
 I4	  70576  *  \param  x      BIGNUM with the x-coordinate
 I4	  70577  *  \param  y      BIGNUM with the y-coordinate
 I4	  70578  *  \param  ctx    BN_CTX object (optional)
 I4	  70579  *  \return 1 on success and 0 if an error occurred
 I4	  70580  */
 I4	  70581 int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *p,
 I4	  70582                                     const BIGNUM *x, const BIGNUM *y,
 I4	  70583                                     BN_CTX *ctx);
 I4	  70584 
 I4	  70585 /** Gets the affine coordinates of an EC_POINT.
 I4	  70586  *  \param  group  underlying EC_GROUP object
 I4	  70587  *  \param  p      EC_POINT object
 I4	  70588  *  \param  x      BIGNUM for the x-coordinate
 I4	  70589  *  \param  y      BIGNUM for the y-coordinate
 I4	  70590  *  \param  ctx    BN_CTX object (optional)
 I4	  70591  *  \return 1 on success and 0 if an error occurred
 I4	  70592  */
 I4	  70593 int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p,
 I4	  70594                                     BIGNUM *x, BIGNUM *y, BN_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1289
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70595 
 I4	  70596 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70597 /** Sets the affine coordinates of an EC_POINT. A synonym of
 I4	  70598  *  EC_POINT_set_affine_coordinates
 I4	  70599  *  \param  group  underlying EC_GROUP object
 I4	  70600  *  \param  p      EC_POINT object
 I4	  70601  *  \param  x      BIGNUM with the x-coordinate
 I4	  70602  *  \param  y      BIGNUM with the y-coordinate
 I4	  70603  *  \param  ctx    BN_CTX object (optional)
 I4	  70604  *  \return 1 on success and 0 if an error occurred
 I4	  70605  */
 I4	  70606 OSSL_DEPRECATEDIN_3_0 int EC_POINT_set_affine_coordinates_GFp
       E	 extern
 I4	  70607                       (const EC_GROUP *group, EC_POINT *p,
 I4	  70608                        const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx);
 I4	  70609 
 I4	  70610 /** Gets the affine coordinates of an EC_POINT. A synonym of
 I4	  70611  *  EC_POINT_get_affine_coordinates
 I4	  70612  *  \param  group  underlying EC_GROUP object
 I4	  70613  *  \param  p      EC_POINT object
 I4	  70614  *  \param  x      BIGNUM for the x-coordinate
 I4	  70615  *  \param  y      BIGNUM for the y-coordinate
 I4	  70616  *  \param  ctx    BN_CTX object (optional)
 I4	  70617  *  \return 1 on success and 0 if an error occurred
 I4	  70618  */
 I4	  70619 OSSL_DEPRECATEDIN_3_0 int EC_POINT_get_affine_coordinates_GFp
       E	 extern
 I4	  70620                       (const EC_GROUP *group, const EC_POINT *p,
 I4	  70621                        BIGNUM *x, BIGNUM *y, BN_CTX *ctx);
 I4	  70622 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70623 
 I4	  70624 /** Sets the x9.62 compressed coordinates of a EC_POINT
 I4	  70625  *  \param  group  underlying EC_GROUP object
 I4	  70626  *  \param  p      EC_POINT object
 I4	  70627  *  \param  x      BIGNUM with x-coordinate
 I4	  70628  *  \param  y_bit  integer with the y-Bit (either 0 or 1)
 I4	  70629  *  \param  ctx    BN_CTX object (optional)
 I4	  70630  *  \return 1 on success and 0 if an error occurred
 I4	  70631  */
 I4	  70632 int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p,
 I4	  70633                                         const BIGNUM *x, int y_bit,
 I4	  70634                                         BN_CTX *ctx);
 I4	  70635 
 I4	  70636 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70637 /** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of
 I4	  70638  *  EC_POINT_set_compressed_coordinates
 I4	  70639  *  \param  group  underlying EC_GROUP object
 I4	  70640  *  \param  p      EC_POINT object
 I4	  70641  *  \param  x      BIGNUM with x-coordinate
 I4	  70642  *  \param  y_bit  integer with the y-Bit (either 0 or 1)
 I4	  70643  *  \param  ctx    BN_CTX object (optional)
 I4	  70644  *  \return 1 on success and 0 if an error occurred
 I4	  70645  */
 I4	  70646 OSSL_DEPRECATEDIN_3_0 int EC_POINT_set_compressed_coordinates_GFp
       E	 extern
 I4	  70647                       (const EC_GROUP *group, EC_POINT *p,
 I4	  70648                        const BIGNUM *x, int y_bit, BN_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1290
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70649 #   ifndef OPENSSL_NO_EC2M
 I4	  70650 /** Sets the affine coordinates of an EC_POINT. A synonym of
 I4	  70651  *  EC_POINT_set_affine_coordinates
 I4	  70652  *  \param  group  underlying EC_GROUP object
 I4	  70653  *  \param  p      EC_POINT object
 I4	  70654  *  \param  x      BIGNUM with the x-coordinate
 I4	  70655  *  \param  y      BIGNUM with the y-coordinate
 I4	  70656  *  \param  ctx    BN_CTX object (optional)
 I4	  70657  *  \return 1 on success and 0 if an error occurred
 I4	  70658  */
 I4	  70659 OSSL_DEPRECATEDIN_3_0 int EC_POINT_set_affine_coordinates_GF2m
       E	 extern
 I4	  70660                       (const EC_GROUP *group, EC_POINT *p,
 I4	  70661                        const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx);
 I4	  70662 
 I4	  70663 /** Gets the affine coordinates of an EC_POINT. A synonym of
 I4	  70664  *  EC_POINT_get_affine_coordinates
 I4	  70665  *  \param  group  underlying EC_GROUP object
 I4	  70666  *  \param  p      EC_POINT object
 I4	  70667  *  \param  x      BIGNUM for the x-coordinate
 I4	  70668  *  \param  y      BIGNUM for the y-coordinate
 I4	  70669  *  \param  ctx    BN_CTX object (optional)
 I4	  70670  *  \return 1 on success and 0 if an error occurred
 I4	  70671  */
 I4	  70672 OSSL_DEPRECATEDIN_3_0 int EC_POINT_get_affine_coordinates_GF2m
       E	 extern
 I4	  70673                       (const EC_GROUP *group, const EC_POINT *p,
 I4	  70674                        BIGNUM *x, BIGNUM *y, BN_CTX *ctx);
 I4	  70675 
 I4	  70676 /** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of
 I4	  70677  *  EC_POINT_set_compressed_coordinates
 I4	  70678  *  \param  group  underlying EC_GROUP object
 I4	  70679  *  \param  p      EC_POINT object
 I4	  70680  *  \param  x      BIGNUM with x-coordinate
 I4	  70681  *  \param  y_bit  integer with the y-Bit (either 0 or 1)
 I4	  70682  *  \param  ctx    BN_CTX object (optional)
 I4	  70683  *  \return 1 on success and 0 if an error occurred
 I4	  70684  */
 I4	  70685 OSSL_DEPRECATEDIN_3_0 int EC_POINT_set_compressed_coordinates_GF2m
       E	 extern
 I4	  70686                       (const EC_GROUP *group, EC_POINT *p,
 I4	  70687                        const BIGNUM *x, int y_bit, BN_CTX *ctx);
 I4	  70688 #   endif
 I4	  70689 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70690 
 I4	  70691 /** Encodes a EC_POINT object to a octet string
 I4	  70692  *  \param  group  underlying EC_GROUP object
 I4	  70693  *  \param  p      EC_POINT object
 I4	  70694  *  \param  form   point conversion form
 I4	  70695  *  \param  buf    memory buffer for the result. If NULL the function returns
 I4	  70696  *                 required buffer size.
 I4	  70697  *  \param  len    length of the memory buffer
 I4	  70698  *  \param  ctx    BN_CTX object (optional)
 I4	  70699  *  \return the length of the encoded octet string or 0 if an error occurred
 I4	  70700  */
 I4	  70701 size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p,
 I4	  70702                           point_conversion_form_t form,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1291
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70703                           unsigned char *buf, size_t len, BN_CTX *ctx);
 I4	  70704 
 I4	  70705 /** Decodes a EC_POINT from a octet string
 I4	  70706  *  \param  group  underlying EC_GROUP object
 I4	  70707  *  \param  p      EC_POINT object
 I4	  70708  *  \param  buf    memory buffer with the encoded ec point
 I4	  70709  *  \param  len    length of the encoded ec point
 I4	  70710  *  \param  ctx    BN_CTX object (optional)
 I4	  70711  *  \return 1 on success and 0 if an error occurred
 I4	  70712  */
 I4	  70713 int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p,
 I4	  70714                        const unsigned char *buf, size_t len, BN_CTX *ctx);
 I4	  70715 
 I4	  70716 /** Encodes an EC_POINT object to an allocated octet string
 I4	  70717  *  \param  group  underlying EC_GROUP object
 I4	  70718  *  \param  point  EC_POINT object
 I4	  70719  *  \param  form   point conversion form
 I4	  70720  *  \param  pbuf   returns pointer to allocated buffer
 I4	  70721  *  \param  ctx    BN_CTX object (optional)
 I4	  70722  *  \return the length of the encoded octet string or 0 if an error occurred
 I4	  70723  */
 I4	  70724 size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point,
 I4	  70725                           point_conversion_form_t form,
 I4	  70726                           unsigned char **pbuf, BN_CTX *ctx);
 I4	  70727 
 I4	  70728 /* other interfaces to point2oct/oct2point: */
 I4	  70729 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70730 OSSL_DEPRECATEDIN_3_0 BIGNUM *EC_POINT_point2bn(const EC_GROUP *,
       E	 extern
 I4	  70731                                                 const EC_POINT *,
 I4	  70732                                                 point_conversion_form_t form,
 I4	  70733                                                 BIGNUM *, BN_CTX *);
 I4	  70734 OSSL_DEPRECATEDIN_3_0 EC_POINT *EC_POINT_bn2point(const EC_GROUP *,
       E	 extern
 I4	  70735                                                   const BIGNUM *,
 I4	  70736                                                   EC_POINT *, BN_CTX *);
 I4	  70737 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70738 
 I4	  70739 char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *,
 I4	  70740                          point_conversion_form_t form, BN_CTX *);
 I4	  70741 EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *,
 I4	  70742                              EC_POINT *, BN_CTX *);
 I4	  70743 
 I4	  70744 /********************************************************************/
 I4	  70745 /*         functions for doing EC_POINT arithmetic                  */
 I4	  70746 /********************************************************************/
 I4	  70747 
 I4	  70748 /** Computes the sum of two EC_POINT
 I4	  70749  *  \param  group  underlying EC_GROUP object
 I4	  70750  *  \param  r      EC_POINT object for the result (r = a + b)
 I4	  70751  *  \param  a      EC_POINT object with the first summand
 I4	  70752  *  \param  b      EC_POINT object with the second summand
 I4	  70753  *  \param  ctx    BN_CTX object (optional)
 I4	  70754  *  \return 1 on success and 0 if an error occurred
 I4	  70755  */
 I4	  70756 int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
 I4	  70757                  const EC_POINT *b, BN_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1292
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70758 
 I4	  70759 /** Computes the double of a EC_POINT
 I4	  70760  *  \param  group  underlying EC_GROUP object
 I4	  70761  *  \param  r      EC_POINT object for the result (r = 2 * a)
 I4	  70762  *  \param  a      EC_POINT object
 I4	  70763  *  \param  ctx    BN_CTX object (optional)
 I4	  70764  *  \return 1 on success and 0 if an error occurred
 I4	  70765  */
 I4	  70766 int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
 I4	  70767                  BN_CTX *ctx);
 I4	  70768 
 I4	  70769 /** Computes the inverse of a EC_POINT
 I4	  70770  *  \param  group  underlying EC_GROUP object
 I4	  70771  *  \param  a      EC_POINT object to be inverted (it's used for the result as well)
 I4	  70772  *  \param  ctx    BN_CTX object (optional)
 I4	  70773  *  \return 1 on success and 0 if an error occurred
 I4	  70774  */
 I4	  70775 int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx);
 I4	  70776 
 I4	  70777 /** Checks whether the point is the neutral element of the group
 I4	  70778  *  \param  group  the underlying EC_GROUP object
 I4	  70779  *  \param  p      EC_POINT object
 I4	  70780  *  \return 1 if the point is the neutral element and 0 otherwise
 I4	  70781  */
 I4	  70782 int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p);
 I4	  70783 
 I4	  70784 /** Checks whether the point is on the curve
 I4	  70785  *  \param  group  underlying EC_GROUP object
 I4	  70786  *  \param  point  EC_POINT object to check
 I4	  70787  *  \param  ctx    BN_CTX object (optional)
 I4	  70788  *  \return 1 if the point is on the curve, 0 if not, or -1 on error
 I4	  70789  */
 I4	  70790 int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point,
 I4	  70791                          BN_CTX *ctx);
 I4	  70792 
 I4	  70793 /** Compares two EC_POINTs
 I4	  70794  *  \param  group  underlying EC_GROUP object
 I4	  70795  *  \param  a      first EC_POINT object
 I4	  70796  *  \param  b      second EC_POINT object
 I4	  70797  *  \param  ctx    BN_CTX object (optional)
 I4	  70798  *  \return 1 if the points are not equal, 0 if they are, or -1 on error
 I4	  70799  */
 I4	  70800 int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b,
 I4	  70801                  BN_CTX *ctx);
 I4	  70802 
 I4	  70803 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70804 OSSL_DEPRECATEDIN_3_0 int EC_POINT_make_affine(const EC_GROUP *group,
       E	 extern
 I4	  70805                                                EC_POINT *point, BN_CTX *ctx);
 I4	  70806 OSSL_DEPRECATEDIN_3_0 int EC_POINTs_make_affine(const EC_GROUP *group, size_t num,
       E	 extern
 I4	  70807                                                 EC_POINT *points[], BN_CTX *ctx);
 I4	  70808 
 I4	  70809 /** Computes r = generator * n + sum_{i=0}^{num-1} p[i] * m[i]
 I4	  70810  *  \param  group  underlying EC_GROUP object
 I4	  70811  *  \param  r      EC_POINT object for the result
 I4	  70812  *  \param  n      BIGNUM with the multiplier for the group generator (optional)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1293
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70813  *  \param  num    number further summands
 I4	  70814  *  \param  p      array of size num of EC_POINT objects
 I4	  70815  *  \param  m      array of size num of BIGNUM objects
 I4	  70816  *  \param  ctx    BN_CTX object (optional)
 I4	  70817  *  \return 1 on success and 0 if an error occurred
 I4	  70818  */
 I4	  70819 OSSL_DEPRECATEDIN_3_0 int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r,
       E	 extern
 I4	  70820                                         const BIGNUM *n, size_t num,
 I4	  70821                                         const EC_POINT *p[], const BIGNUM *m[],
 I4	  70822                                         BN_CTX *ctx);
 I4	  70823 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70824 
 I4	  70825 /** Computes r = generator * n + q * m
 I4	  70826  *  \param  group  underlying EC_GROUP object
 I4	  70827  *  \param  r      EC_POINT object for the result
 I4	  70828  *  \param  n      BIGNUM with the multiplier for the group generator (optional)
 I4	  70829  *  \param  q      EC_POINT object with the first factor of the second summand
 I4	  70830  *  \param  m      BIGNUM with the second factor of the second summand
 I4	  70831  *  \param  ctx    BN_CTX object (optional)
 I4	  70832  *  \return 1 on success and 0 if an error occurred
 I4	  70833  */
 I4	  70834 int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n,
 I4	  70835                  const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx);
 I4	  70836 
 I4	  70837 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70838 /** Stores multiples of generator for faster point multiplication
 I4	  70839  *  \param  group  EC_GROUP object
 I4	  70840  *  \param  ctx    BN_CTX object (optional)
 I4	  70841  *  \return 1 on success and 0 if an error occurred
 I4	  70842  */
 I4	  70843 OSSL_DEPRECATEDIN_3_0 int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx);
       E	 extern
 I4	  70844 
 I4	  70845 /** Reports whether a precomputation has been done
 I4	  70846  *  \param  group  EC_GROUP object
 I4	  70847  *  \return 1 if a pre-computation has been done and 0 otherwise
 I4	  70848  */
 I4	  70849 OSSL_DEPRECATEDIN_3_0 int EC_GROUP_have_precompute_mult(const EC_GROUP *group);
       E	 extern
 I4	  70850 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70851 
 I4	  70852 /********************************************************************/
 I4	  70853 /*                       ASN1 stuff                                 */
 I4	  70854 /********************************************************************/
 I4	  70855 
 I4	  70856 DECLARE_ASN1_ITEM(ECPKPARAMETERS)
       E	 extern const ASN1_ITEM * ECPKPARAMETERS_it ( void ) ;
 I4	  70857 DECLARE_ASN1_ALLOC_FUNCTIONS(ECPKPARAMETERS)
       E	 extern ECPKPARAMETERS * ECPKPARAMETERS_new ( void ) ; extern void ECPKPARAMETERS_free ( ECPKPARAMETERS * a ) ;
 I4	  70858 DECLARE_ASN1_ITEM(ECPARAMETERS)
       E	 extern const ASN1_ITEM * ECPARAMETERS_it ( void ) ;
 I4	  70859 DECLARE_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS)
       E	 extern ECPARAMETERS * ECPARAMETERS_new ( void ) ; extern void ECPARAMETERS_free ( ECPARAMETERS * a ) ;
 I4	  70860 
 I4	  70861 /*
 I4	  70862  * EC_GROUP_get_basis_type() returns the NID of the basis type used to

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1294
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70863  * represent the field elements
 I4	  70864  */
 I4	  70865 int EC_GROUP_get_basis_type(const EC_GROUP *);
 I4	  70866 #  ifndef OPENSSL_NO_EC2M
 I4	  70867 int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k);
 I4	  70868 int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1,
 I4	  70869                                    unsigned int *k2, unsigned int *k3);
 I4	  70870 #  endif
 I4	  70871 
 I4	  70872 EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len);
 I4	  70873 int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out);
 I4	  70874 
 I4	  70875 #  define d2i_ECPKParameters_bio(bp,x) \
 I4	  70876     ASN1_d2i_bio_of(EC_GROUP, NULL, d2i_ECPKParameters, bp, x)
 I4	  70877 #  define i2d_ECPKParameters_bio(bp,x) \
 I4	  70878     ASN1_i2d_bio_of(EC_GROUP, i2d_ECPKParameters, bp, x)
 I4	  70879 #  define d2i_ECPKParameters_fp(fp,x) \
 I4	  70880     (EC_GROUP *)ASN1_d2i_fp(NULL, (d2i_of_void *)d2i_ECPKParameters, (fp), \
 I4	  70881                             (void **)(x))
 I4	  70882 #  define i2d_ECPKParameters_fp(fp,x) \
 I4	  70883     ASN1_i2d_fp((i2d_of_void *)i2d_ECPKParameters, (fp), (void *)(x))
 I4	  70884 
 I4	  70885 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70886 OSSL_DEPRECATEDIN_3_0 int ECPKParameters_print(BIO *bp, const EC_GROUP *x,
       E	 extern
 I4	  70887                                                int off);
 I4	  70888 #   ifndef OPENSSL_NO_STDIO
 I4	  70889 OSSL_DEPRECATEDIN_3_0 int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x,
       E	 extern
 I4	  70890                                                   int off);
 I4	  70891 #   endif
 I4	  70892 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  70893 
 I4	  70894 /********************************************************************/
 I4	  70895 /*                      EC_KEY functions                            */
 I4	  70896 /********************************************************************/
 I4	  70897 
 I4	  70898 /* some values for the encoding_flag */
 I4	  70899 #  define EC_PKEY_NO_PARAMETERS   0x001
 I4	  70900 #  define EC_PKEY_NO_PUBKEY       0x002
 I4	  70901 
 I4	  70902 /* some values for the flags field */
 I4	  70903 #  define EC_FLAG_SM2_RANGE              0x0004
 I4	  70904 #  define EC_FLAG_COFACTOR_ECDH          0x1000
 I4	  70905 #  define EC_FLAG_CHECK_NAMED_GROUP      0x2000
 I4	  70906 #  define EC_FLAG_CHECK_NAMED_GROUP_NIST 0x4000
 I4	  70907 #  define EC_FLAG_CHECK_NAMED_GROUP_MASK \
 I4	  70908     (EC_FLAG_CHECK_NAMED_GROUP | EC_FLAG_CHECK_NAMED_GROUP_NIST)
 I4	  70909 
 I4	  70910 /* Deprecated flags -  it was using 0x01..0x02 */
 I4	  70911 #  define EC_FLAG_NON_FIPS_ALLOW         0x0000
 I4	  70912 #  define EC_FLAG_FIPS_CHECKED           0x0000
 I4	  70913 
 I4	  70914 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  70915 /**
 I4	  70916  *  Creates a new EC_KEY object.
 I4	  70917  *  \param  ctx  The library context for to use for this EC_KEY. May be NULL in

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1295
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70918  *               which case the default library context is used.
 I4	  70919  *  \return EC_KEY object or NULL if an error occurred.
 I4	  70920  */
 I4	  70921 OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_ex(OSSL_LIB_CTX *ctx, const char *propq);
       E	 extern
 I4	  70922 
 I4	  70923 /**
 I4	  70924  *  Creates a new EC_KEY object. Same as calling EC_KEY_new_ex with a
 I4	  70925  *  NULL library context
 I4	  70926  *  \return EC_KEY object or NULL if an error occurred.
 I4	  70927  */
 I4	  70928 OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
       E	 extern
 I4	  70929 
 I4	  70930 OSSL_DEPRECATEDIN_3_0 int EC_KEY_get_flags(const EC_KEY *key);
       E	 extern
 I4	  70931 
 I4	  70932 OSSL_DEPRECATEDIN_3_0 void EC_KEY_set_flags(EC_KEY *key, int flags);
       E	 extern
 I4	  70933 
 I4	  70934 OSSL_DEPRECATEDIN_3_0 void EC_KEY_clear_flags(EC_KEY *key, int flags);
       E	 extern
 I4	  70935 
 I4	  70936 OSSL_DEPRECATEDIN_3_0 int EC_KEY_decoded_from_explicit_params(const EC_KEY *key);
       E	 extern
 I4	  70937 
 I4	  70938 /**
 I4	  70939  *  Creates a new EC_KEY object using a named curve as underlying
 I4	  70940  *  EC_GROUP object.
 I4	  70941  *  \param  ctx   The library context for to use for this EC_KEY. May be NULL in
 I4	  70942  *                which case the default library context is used.
 I4	  70943  *  \param  propq Any property query string
 I4	  70944  *  \param  nid   NID of the named curve.
 I4	  70945  *  \return EC_KEY object or NULL if an error occurred.
 I4	  70946  */
 I4	  70947 OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name_ex(OSSL_LIB_CTX *ctx,
       E	 extern
 I4	  70948                                                           const char *propq,
 I4	  70949                                                           int nid);
 I4	  70950 
 I4	  70951 /**
 I4	  70952  *  Creates a new EC_KEY object using a named curve as underlying
 I4	  70953  *  EC_GROUP object. Same as calling EC_KEY_new_by_curve_name_ex with a NULL
 I4	  70954  *  library context and property query string.
 I4	  70955  *  \param  nid  NID of the named curve.
 I4	  70956  *  \return EC_KEY object or NULL if an error occurred.
 I4	  70957  */
 I4	  70958 OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
       E	 extern
 I4	  70959 
 I4	  70960 /** Frees a EC_KEY object.
 I4	  70961  *  \param  key  EC_KEY object to be freed.
 I4	  70962  */
 I4	  70963 OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
       E	 extern
 I4	  70964 
 I4	  70965 /** Copies a EC_KEY object.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1296
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  70966  *  \param  dst  destination EC_KEY object
 I4	  70967  *  \param  src  src EC_KEY object
 I4	  70968  *  \return dst or NULL if an error occurred.
 I4	  70969  */
 I4	  70970 OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src);
       E	 extern
 I4	  70971 
 I4	  70972 /** Creates a new EC_KEY object and copies the content from src to it.
 I4	  70973  *  \param  src  the source EC_KEY object
 I4	  70974  *  \return newly created EC_KEY object or NULL if an error occurred.
 I4	  70975  */
 I4	  70976 OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_dup(const EC_KEY *src);
       E	 extern
 I4	  70977 
 I4	  70978 /** Increases the internal reference count of a EC_KEY object.
 I4	  70979  *  \param  key  EC_KEY object
 I4	  70980  *  \return 1 on success and 0 if an error occurred.
 I4	  70981  */
 I4	  70982 OSSL_DEPRECATEDIN_3_0 int EC_KEY_up_ref(EC_KEY *key);
       E	 extern
 I4	  70983 
 I4	  70984 /** Returns the ENGINE object of a EC_KEY object
 I4	  70985  *  \param  eckey  EC_KEY object
 I4	  70986  *  \return the ENGINE object (possibly NULL).
 I4	  70987  */
 I4	  70988 OSSL_DEPRECATEDIN_3_0 ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey);
       E	 extern
 I4	  70989 
 I4	  70990 /** Returns the EC_GROUP object of a EC_KEY object
 I4	  70991  *  \param  key  EC_KEY object
 I4	  70992  *  \return the EC_GROUP object (possibly NULL).
 I4	  70993  */
 I4	  70994 OSSL_DEPRECATEDIN_3_0 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key);
       E	 extern
 I4	  70995 
 I4	  70996 /** Sets the EC_GROUP of a EC_KEY object.
 I4	  70997  *  \param  key    EC_KEY object
 I4	  70998  *  \param  group  EC_GROUP to use in the EC_KEY object (note: the EC_KEY
 I4	  70999  *                 object will use an own copy of the EC_GROUP).
 I4	  71000  *  \return 1 on success and 0 if an error occurred.
 I4	  71001  */
 I4	  71002 OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
       E	 extern
 I4	  71003 
 I4	  71004 /** Returns the private key of a EC_KEY object.
 I4	  71005  *  \param  key  EC_KEY object
 I4	  71006  *  \return a BIGNUM with the private key (possibly NULL).
 I4	  71007  */
 I4	  71008 OSSL_DEPRECATEDIN_3_0 const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key);
       E	 extern
 I4	  71009 
 I4	  71010 /** Sets the private key of a EC_KEY object.
 I4	  71011  *  \param  key  EC_KEY object
 I4	  71012  *  \param  prv  BIGNUM with the private key (note: the EC_KEY object
 I4	  71013  *               will use an own copy of the BIGNUM).
 I4	  71014  *  \return 1 on success and 0 if an error occurred.
 I4	  71015  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1297
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71016 OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv);
       E	 extern
 I4	  71017 
 I4	  71018 /** Returns the public key of a EC_KEY object.
 I4	  71019  *  \param  key  the EC_KEY object
 I4	  71020  *  \return a EC_POINT object with the public key (possibly NULL)
 I4	  71021  */
 I4	  71022 OSSL_DEPRECATEDIN_3_0 const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key);
       E	 extern
 I4	  71023 
 I4	  71024 /** Sets the public key of a EC_KEY object.
 I4	  71025  *  \param  key  EC_KEY object
 I4	  71026  *  \param  pub  EC_POINT object with the public key (note: the EC_KEY object
 I4	  71027  *               will use an own copy of the EC_POINT object).
 I4	  71028  *  \return 1 on success and 0 if an error occurred.
 I4	  71029  */
 I4	  71030 OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub);
       E	 extern
 I4	  71031 
 I4	  71032 OSSL_DEPRECATEDIN_3_0 unsigned EC_KEY_get_enc_flags(const EC_KEY *key);
       E	 extern
 I4	  71033 OSSL_DEPRECATEDIN_3_0 void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags);
       E	 extern
 I4	  71034 OSSL_DEPRECATEDIN_3_0 point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key);
       E	 extern
 I4	  71035 OSSL_DEPRECATEDIN_3_0 void EC_KEY_set_conv_form(EC_KEY *eckey,
       E	 extern
 I4	  71036                                                 point_conversion_form_t cform);
 I4	  71037 #  endif /*OPENSSL_NO_DEPRECATED_3_0 */
 I4	  71038 
 I4	  71039 #  define EC_KEY_get_ex_new_index(l, p, newf, dupf, freef) \
 I4	  71040     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, l, p, newf, dupf, freef)
 I4	  71041 
 I4	  71042 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  71043 OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg);
       E	 extern
 I4	  71044 OSSL_DEPRECATEDIN_3_0 void *EC_KEY_get_ex_data(const EC_KEY *key, int idx);
       E	 extern
 I4	  71045 
 I4	  71046 /* wrapper functions for the underlying EC_GROUP object */
 I4	  71047 OSSL_DEPRECATEDIN_3_0 void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag);
       E	 extern
 I4	  71048 
 I4	  71049 /** Creates a table of pre-computed multiples of the generator to
 I4	  71050  *  accelerate further EC_KEY operations.
 I4	  71051  *  \param  key  EC_KEY object
 I4	  71052  *  \param  ctx  BN_CTX object (optional)
 I4	  71053  *  \return 1 on success and 0 if an error occurred.
 I4	  71054  */
 I4	  71055 OSSL_DEPRECATEDIN_3_0 int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx);
       E	 extern
 I4	  71056 
 I4	  71057 /** Creates a new ec private (and optional a new public) key.
 I4	  71058  *  \param  key  EC_KEY object
 I4	  71059  *  \return 1 on success and 0 if an error occurred.
 I4	  71060  */
 I4	  71061 OSSL_DEPRECATEDIN_3_0 int EC_KEY_generate_key(EC_KEY *key);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1298
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

       E	 extern
 I4	  71062 
 I4	  71063 /** Verifies that a private and/or public key is valid.
 I4	  71064  *  \param  key  the EC_KEY object
 I4	  71065  *  \return 1 on success and 0 otherwise.
 I4	  71066  */
 I4	  71067 OSSL_DEPRECATEDIN_3_0 int EC_KEY_check_key(const EC_KEY *key);
       E	 extern
 I4	  71068 
 I4	  71069 /** Indicates if an EC_KEY can be used for signing.
 I4	  71070  *  \param  eckey  the EC_KEY object
 I4	  71071  *  \return 1 if can can sign and 0 otherwise.
 I4	  71072  */
 I4	  71073 OSSL_DEPRECATEDIN_3_0 int EC_KEY_can_sign(const EC_KEY *eckey);
       E	 extern
 I4	  71074 
 I4	  71075 /** Sets a public key from affine coordinates performing
 I4	  71076  *  necessary NIST PKV tests.
 I4	  71077  *  \param  key  the EC_KEY object
 I4	  71078  *  \param  x    public key x coordinate
 I4	  71079  *  \param  y    public key y coordinate
 I4	  71080  *  \return 1 on success and 0 otherwise.
 I4	  71081  */
 I4	  71082 OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key,
       E	 extern
 I4	  71083                                                                    BIGNUM *x,
 I4	  71084                                                                    BIGNUM *y);
 I4	  71085 
 I4	  71086 /** Encodes an EC_KEY public key to an allocated octet string
 I4	  71087  *  \param  key    key to encode
 I4	  71088  *  \param  form   point conversion form
 I4	  71089  *  \param  pbuf   returns pointer to allocated buffer
 I4	  71090  *  \param  ctx    BN_CTX object (optional)
 I4	  71091  *  \return the length of the encoded octet string or 0 if an error occurred
 I4	  71092  */
 I4	  71093 OSSL_DEPRECATEDIN_3_0 size_t EC_KEY_key2buf(const EC_KEY *key,
       E	 extern
 I4	  71094                                             point_conversion_form_t form,
 I4	  71095                                             unsigned char **pbuf, BN_CTX *ctx);
 I4	  71096 
 I4	  71097 /** Decodes a EC_KEY public key from a octet string
 I4	  71098  *  \param  key    key to decode
 I4	  71099  *  \param  buf    memory buffer with the encoded ec point
 I4	  71100  *  \param  len    length of the encoded ec point
 I4	  71101  *  \param  ctx    BN_CTX object (optional)
 I4	  71102  *  \return 1 on success and 0 if an error occurred
 I4	  71103  */
 I4	  71104 
 I4	  71105 OSSL_DEPRECATEDIN_3_0 int EC_KEY_oct2key(EC_KEY *key, const unsigned char *buf,
       E	 extern
 I4	  71106                                          size_t len, BN_CTX *ctx);
 I4	  71107 
 I4	  71108 /** Decodes an EC_KEY private key from an octet string
 I4	  71109  *  \param  key    key to decode
 I4	  71110  *  \param  buf    memory buffer with the encoded private key
 I4	  71111  *  \param  len    length of the encoded key
 I4	  71112  *  \return 1 on success and 0 if an error occurred

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1299
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71113  */
 I4	  71114 
 I4	  71115 OSSL_DEPRECATEDIN_3_0 int EC_KEY_oct2priv(EC_KEY *key, const unsigned char *buf,
       E	 extern
 I4	  71116                                           size_t len);
 I4	  71117 
 I4	  71118 /** Encodes a EC_KEY private key to an octet string
 I4	  71119  *  \param  key    key to encode
 I4	  71120  *  \param  buf    memory buffer for the result. If NULL the function returns
 I4	  71121  *                 required buffer size.
 I4	  71122  *  \param  len    length of the memory buffer
 I4	  71123  *  \return the length of the encoded octet string or 0 if an error occurred
 I4	  71124  */
 I4	  71125 
 I4	  71126 OSSL_DEPRECATEDIN_3_0 size_t EC_KEY_priv2oct(const EC_KEY *key,
       E	 extern
 I4	  71127                                              unsigned char *buf, size_t len);
 I4	  71128 
 I4	  71129 /** Encodes an EC_KEY private key to an allocated octet string
 I4	  71130  *  \param  eckey  key to encode
 I4	  71131  *  \param  pbuf   returns pointer to allocated buffer
 I4	  71132  *  \return the length of the encoded octet string or 0 if an error occurred
 I4	  71133  */
 I4	  71134 OSSL_DEPRECATEDIN_3_0 size_t EC_KEY_priv2buf(const EC_KEY *eckey,
       E	 extern
 I4	  71135                                              unsigned char **pbuf);
 I4	  71136 
 I4	  71137 /********************************************************************/
 I4	  71138 /*        de- and encoding functions for SEC1 ECPrivateKey          */
 I4	  71139 /********************************************************************/
 I4	  71140 
 I4	  71141 /** Decodes a private key from a memory buffer.
 I4	  71142  *  \param  key  a pointer to a EC_KEY object which should be used (or NULL)
 I4	  71143  *  \param  in   pointer to memory with the DER encoded private key
 I4	  71144  *  \param  len  length of the DER encoded private key
 I4	  71145  *  \return the decoded private key or NULL if an error occurred.
 I4	  71146  */
 I4	  71147 OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_ECPrivateKey(EC_KEY **key,
       E	 extern
 I4	  71148                                                const unsigned char **in,
 I4	  71149                                                long len);
 I4	  71150 
 I4	  71151 /** Encodes a private key object and stores the result in a buffer.
 I4	  71152  *  \param  key  the EC_KEY object to encode
 I4	  71153  *  \param  out  the buffer for the result (if NULL the function returns number
 I4	  71154  *               of bytes needed).
 I4	  71155  *  \return 1 on success and 0 if an error occurred.
 I4	  71156  */
 I4	  71157 OSSL_DEPRECATEDIN_3_0 int i2d_ECPrivateKey(const EC_KEY *key,
       E	 extern
 I4	  71158                                            unsigned char **out);
 I4	  71159 
 I4	  71160 /********************************************************************/
 I4	  71161 /*        de- and encoding functions for EC parameters              */
 I4	  71162 /********************************************************************/
 I4	  71163 
 I4	  71164 /** Decodes ec parameter from a memory buffer.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1300
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71165  *  \param  key  a pointer to a EC_KEY object which should be used (or NULL)
 I4	  71166  *  \param  in   pointer to memory with the DER encoded ec parameters
 I4	  71167  *  \param  len  length of the DER encoded ec parameters
 I4	  71168  *  \return a EC_KEY object with the decoded parameters or NULL if an error
 I4	  71169  *          occurred.
 I4	  71170  */
 I4	  71171 OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_ECParameters(EC_KEY **key,
       E	 extern
 I4	  71172                                                const unsigned char **in,
 I4	  71173                                                long len);
 I4	  71174 
 I4	  71175 /** Encodes ec parameter and stores the result in a buffer.
 I4	  71176  *  \param  key  the EC_KEY object with ec parameters to encode
 I4	  71177  *  \param  out  the buffer for the result (if NULL the function returns number
 I4	  71178  *               of bytes needed).
 I4	  71179  *  \return 1 on success and 0 if an error occurred.
 I4	  71180  */
 I4	  71181 OSSL_DEPRECATEDIN_3_0 int i2d_ECParameters(const EC_KEY *key,
       E	 extern
 I4	  71182                                            unsigned char **out);
 I4	  71183 
 I4	  71184 /********************************************************************/
 I4	  71185 /*         de- and encoding functions for EC public key             */
 I4	  71186 /*         (octet string, not DER -- hence 'o2i' and 'i2o')         */
 I4	  71187 /********************************************************************/
 I4	  71188 
 I4	  71189 /** Decodes an ec public key from a octet string.
 I4	  71190  *  \param  key  a pointer to a EC_KEY object which should be used
 I4	  71191  *  \param  in   memory buffer with the encoded public key
 I4	  71192  *  \param  len  length of the encoded public key
 I4	  71193  *  \return EC_KEY object with decoded public key or NULL if an error
 I4	  71194  *          occurred.
 I4	  71195  */
 I4	  71196 OSSL_DEPRECATEDIN_3_0 EC_KEY *o2i_ECPublicKey(EC_KEY **key,
       E	 extern
 I4	  71197                                               const unsigned char **in, long len);
 I4	  71198 
 I4	  71199 /** Encodes an ec public key in an octet string.
 I4	  71200  *  \param  key  the EC_KEY object with the public key
 I4	  71201  *  \param  out  the buffer for the result (if NULL the function returns number
 I4	  71202  *               of bytes needed).
 I4	  71203  *  \return 1 on success and 0 if an error occurred
 I4	  71204  */
 I4	  71205 OSSL_DEPRECATEDIN_3_0 int i2o_ECPublicKey(const EC_KEY *key, unsigned char **out);
       E	 extern
 I4	  71206 
 I4	  71207 /** Prints out the ec parameters on human readable form.
 I4	  71208  *  \param  bp   BIO object to which the information is printed
 I4	  71209  *  \param  key  EC_KEY object
 I4	  71210  *  \return 1 on success and 0 if an error occurred
 I4	  71211  */
 I4	  71212 OSSL_DEPRECATEDIN_3_0 int ECParameters_print(BIO *bp, const EC_KEY *key);
       E	 extern
 I4	  71213 
 I4	  71214 /** Prints out the contents of a EC_KEY object
 I4	  71215  *  \param  bp   BIO object to which the information is printed
 I4	  71216  *  \param  key  EC_KEY object

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1301
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71217  *  \param  off  line offset
 I4	  71218  *  \return 1 on success and 0 if an error occurred
 I4	  71219  */
 I4	  71220 OSSL_DEPRECATEDIN_3_0 int EC_KEY_print(BIO *bp, const EC_KEY *key, int off);
       E	 extern
 I4	  71221 
 I4	  71222 #   ifndef OPENSSL_NO_STDIO
 I4	  71223 /** Prints out the ec parameters on human readable form.
 I4	  71224  *  \param  fp   file descriptor to which the information is printed
 I4	  71225  *  \param  key  EC_KEY object
 I4	  71226  *  \return 1 on success and 0 if an error occurred
 I4	  71227  */
 I4	  71228 OSSL_DEPRECATEDIN_3_0 int ECParameters_print_fp(FILE *fp, const EC_KEY *key);
       E	 extern
 I4	  71229 
 I4	  71230 /** Prints out the contents of a EC_KEY object
 I4	  71231  *  \param  fp   file descriptor to which the information is printed
 I4	  71232  *  \param  key  EC_KEY object
 I4	  71233  *  \param  off  line offset
 I4	  71234  *  \return 1 on success and 0 if an error occurred
 I4	  71235  */
 I4	  71236 OSSL_DEPRECATEDIN_3_0 int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off);
       E	 extern
 I4	  71237 #   endif /* OPENSSL_NO_STDIO */
 I4	  71238 
 I4	  71239 OSSL_DEPRECATEDIN_3_0 const EC_KEY_METHOD *EC_KEY_OpenSSL(void);
       E	 extern
 I4	  71240 OSSL_DEPRECATEDIN_3_0 const EC_KEY_METHOD *EC_KEY_get_default_method(void);
       E	 extern
 I4	  71241 OSSL_DEPRECATEDIN_3_0 void EC_KEY_set_default_method(const EC_KEY_METHOD *meth);
       E	 extern
 I4	  71242 OSSL_DEPRECATEDIN_3_0 const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key);
       E	 extern
 I4	  71243 OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth);
       E	 extern
 I4	  71244 OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_method(ENGINE *engine);
       E	 extern
 I4	  71245 
 I4	  71246 /** The old name for ecdh_KDF_X9_63
 I4	  71247  *  The ECDH KDF specification has been mistakingly attributed to ANSI X9.62,
 I4	  71248  *  it is actually specified in ANSI X9.63.
 I4	  71249  *  This identifier is retained for backwards compatibility
 I4	  71250  */
 I4	  71251 OSSL_DEPRECATEDIN_3_0 int ECDH_KDF_X9_62(unsigned char *out, size_t outlen,
       E	 extern
 I4	  71252                                          const unsigned char *Z, size_t Zlen,
 I4	  71253                                          const unsigned char *sinfo,
 I4	  71254                                          size_t sinfolen, const EVP_MD *md);
 I4	  71255 
 I4	  71256 OSSL_DEPRECATEDIN_3_0 int ECDH_compute_key(void *out, size_t outlen,
       E	 extern
 I4	  71257                                            const EC_POINT *pub_key,
 I4	  71258                                            const EC_KEY *ecdh,
 I4	  71259                                            void *(*KDF)(const void *in,
 I4	  71260                                                         size_t inlen, void *out,
 I4	  71261                                                         size_t *outlen));
 I4	  71262 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1302
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71263 
 I4	  71264 typedef struct ECDSA_SIG_st ECDSA_SIG;
 I4	  71265 
 I4	  71266 /** Allocates and initialize a ECDSA_SIG structure
 I4	  71267  *  \return pointer to a ECDSA_SIG structure or NULL if an error occurred
 I4	  71268  */
 I4	  71269 ECDSA_SIG *ECDSA_SIG_new(void);
 I4	  71270 
 I4	  71271 /** frees a ECDSA_SIG structure
 I4	  71272  *  \param  sig  pointer to the ECDSA_SIG structure
 I4	  71273  */
 I4	  71274 void ECDSA_SIG_free(ECDSA_SIG *sig);
 I4	  71275 
 I4	  71276 /** i2d_ECDSA_SIG encodes content of ECDSA_SIG (note: this function modifies *pp
 I4	  71277  *  (*pp += length of the DER encoded signature)).
 I4	  71278  *  \param  sig  pointer to the ECDSA_SIG object
 I4	  71279  *  \param  pp   pointer to a unsigned char pointer for the output or NULL
 I4	  71280  *  \return the length of the DER encoded ECDSA_SIG object or a negative value
 I4	  71281  *          on error
 I4	  71282  */
 I4	  71283 DECLARE_ASN1_ENCODE_FUNCTIONS_only(ECDSA_SIG, ECDSA_SIG)
       E	 extern ECDSA_SIG * d2i_ECDSA_SIG ( ECDSA_SIG * * a , const unsigned char * * in , long len ) ; extern int i2d_ECDSA
       E	_SIG ( const ECDSA_SIG * a , unsigned char * * out ) ;
 I4	  71284 
 I4	  71285 /** d2i_ECDSA_SIG decodes an ECDSA signature (note: this function modifies *pp
 I4	  71286  *  (*pp += len)).
 I4	  71287  *  \param  sig  pointer to ECDSA_SIG pointer (may be NULL)
 I4	  71288  *  \param  pp   memory buffer with the DER encoded signature
 I4	  71289  *  \param  len  length of the buffer
 I4	  71290  *  \return pointer to the decoded ECDSA_SIG structure (or NULL)
 I4	  71291  */
 I4	  71292 
 I4	  71293 /** Accessor for r and s fields of ECDSA_SIG
 I4	  71294  *  \param  sig  pointer to ECDSA_SIG structure
 I4	  71295  *  \param  pr   pointer to BIGNUM pointer for r (may be NULL)
 I4	  71296  *  \param  ps   pointer to BIGNUM pointer for s (may be NULL)
 I4	  71297  */
 I4	  71298 void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
 I4	  71299 
 I4	  71300 /** Accessor for r field of ECDSA_SIG
 I4	  71301  *  \param  sig  pointer to ECDSA_SIG structure
 I4	  71302  */
 I4	  71303 const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig);
 I4	  71304 
 I4	  71305 /** Accessor for s field of ECDSA_SIG
 I4	  71306  *  \param  sig  pointer to ECDSA_SIG structure
 I4	  71307  */
 I4	  71308 const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig);
 I4	  71309 
 I4	  71310 /** Setter for r and s fields of ECDSA_SIG
 I4	  71311  *  \param  sig  pointer to ECDSA_SIG structure
 I4	  71312  *  \param  r    pointer to BIGNUM for r
 I4	  71313  *  \param  s    pointer to BIGNUM for s
 I4	  71314  */
 I4	  71315 int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
 I4	  71316 
 I4	  71317 #  ifndef OPENSSL_NO_DEPRECATED_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1303
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71318 /** Computes the ECDSA signature of the given hash value using
 I4	  71319  *  the supplied private key and returns the created signature.
 I4	  71320  *  \param  dgst      pointer to the hash value
 I4	  71321  *  \param  dgst_len  length of the hash value
 I4	  71322  *  \param  eckey     EC_KEY object containing a private EC key
 I4	  71323  *  \return pointer to a ECDSA_SIG structure or NULL if an error occurred
 I4	  71324  */
 I4	  71325 OSSL_DEPRECATEDIN_3_0 ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst,
       E	 extern
 I4	  71326                                                int dgst_len, EC_KEY *eckey);
 I4	  71327 
 I4	  71328 /** Computes ECDSA signature of a given hash value using the supplied
 I4	  71329  *  private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
 I4	  71330  *  \param  dgst     pointer to the hash value to sign
 I4	  71331  *  \param  dgstlen  length of the hash value
 I4	  71332  *  \param  kinv     BIGNUM with a pre-computed inverse k (optional)
 I4	  71333  *  \param  rp       BIGNUM with a pre-computed rp value (optional),
 I4	  71334  *                   see ECDSA_sign_setup
 I4	  71335  *  \param  eckey    EC_KEY object containing a private EC key
 I4	  71336  *  \return pointer to a ECDSA_SIG structure or NULL if an error occurred
 I4	  71337  */
 I4	  71338 OSSL_DEPRECATEDIN_3_0 ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst,
       E	 extern
 I4	  71339                                                   int dgstlen, const BIGNUM *kinv,
 I4	  71340                                                   const BIGNUM *rp, EC_KEY *eckey);
 I4	  71341 
 I4	  71342 /** Verifies that the supplied signature is a valid ECDSA
 I4	  71343  *  signature of the supplied hash value using the supplied public key.
 I4	  71344  *  \param  dgst      pointer to the hash value
 I4	  71345  *  \param  dgst_len  length of the hash value
 I4	  71346  *  \param  sig       ECDSA_SIG structure
 I4	  71347  *  \param  eckey     EC_KEY object containing a public EC key
 I4	  71348  *  \return 1 if the signature is valid, 0 if the signature is invalid
 I4	  71349  *          and -1 on error
 I4	  71350  */
 I4	  71351 OSSL_DEPRECATEDIN_3_0 int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
       E	 extern
 I4	  71352                                           const ECDSA_SIG *sig, EC_KEY *eckey);
 I4	  71353 
 I4	  71354 /** Precompute parts of the signing operation
 I4	  71355  *  \param  eckey  EC_KEY object containing a private EC key
 I4	  71356  *  \param  ctx    BN_CTX object (optional)
 I4	  71357  *  \param  kinv   BIGNUM pointer for the inverse of k
 I4	  71358  *  \param  rp     BIGNUM pointer for x coordinate of k * generator
 I4	  71359  *  \return 1 on success and 0 otherwise
 I4	  71360  */
 I4	  71361 OSSL_DEPRECATEDIN_3_0 int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx,
       E	 extern
 I4	  71362                                            BIGNUM **kinv, BIGNUM **rp);
 I4	  71363 
 I4	  71364 /** Computes ECDSA signature of a given hash value using the supplied
 I4	  71365  *  private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
 I4	  71366  *  \param  type     this parameter is ignored
 I4	  71367  *  \param  dgst     pointer to the hash value to sign
 I4	  71368  *  \param  dgstlen  length of the hash value
 I4	  71369  *  \param  sig      memory for the DER encoded created signature
 I4	  71370  *  \param  siglen   pointer to the length of the returned signature

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1304
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71371  *  \param  eckey    EC_KEY object containing a private EC key
 I4	  71372  *  \return 1 on success and 0 otherwise
 I4	  71373  */
 I4	  71374 OSSL_DEPRECATEDIN_3_0 int ECDSA_sign(int type, const unsigned char *dgst,
       E	 extern
 I4	  71375                                      int dgstlen, unsigned char *sig,
 I4	  71376                                      unsigned int *siglen, EC_KEY *eckey);
 I4	  71377 
 I4	  71378 /** Computes ECDSA signature of a given hash value using the supplied
 I4	  71379  *  private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
 I4	  71380  *  \param  type     this parameter is ignored
 I4	  71381  *  \param  dgst     pointer to the hash value to sign
 I4	  71382  *  \param  dgstlen  length of the hash value
 I4	  71383  *  \param  sig      buffer to hold the DER encoded signature
 I4	  71384  *  \param  siglen   pointer to the length of the returned signature
 I4	  71385  *  \param  kinv     BIGNUM with a pre-computed inverse k (optional)
 I4	  71386  *  \param  rp       BIGNUM with a pre-computed rp value (optional),
 I4	  71387  *                   see ECDSA_sign_setup
 I4	  71388  *  \param  eckey    EC_KEY object containing a private EC key
 I4	  71389  *  \return 1 on success and 0 otherwise
 I4	  71390  */
 I4	  71391 OSSL_DEPRECATEDIN_3_0 int ECDSA_sign_ex(int type, const unsigned char *dgst,
       E	 extern
 I4	  71392                                         int dgstlen, unsigned char *sig,
 I4	  71393                                         unsigned int *siglen, const BIGNUM *kinv,
 I4	  71394                                         const BIGNUM *rp, EC_KEY *eckey);
 I4	  71395 
 I4	  71396 /** Verifies that the given signature is valid ECDSA signature
 I4	  71397  *  of the supplied hash value using the specified public key.
 I4	  71398  *  \param  type     this parameter is ignored
 I4	  71399  *  \param  dgst     pointer to the hash value
 I4	  71400  *  \param  dgstlen  length of the hash value
 I4	  71401  *  \param  sig      pointer to the DER encoded signature
 I4	  71402  *  \param  siglen   length of the DER encoded signature
 I4	  71403  *  \param  eckey    EC_KEY object containing a public EC key
 I4	  71404  *  \return 1 if the signature is valid, 0 if the signature is invalid
 I4	  71405  *          and -1 on error
 I4	  71406  */
 I4	  71407 OSSL_DEPRECATEDIN_3_0 int ECDSA_verify(int type, const unsigned char *dgst,
       E	 extern
 I4	  71408                                        int dgstlen, const unsigned char *sig,
 I4	  71409                                        int siglen, EC_KEY *eckey);
 I4	  71410 
 I4	  71411 /** Returns the maximum length of the DER encoded signature
 I4	  71412  *  \param  eckey  EC_KEY object
 I4	  71413  *  \return numbers of bytes required for the DER encoded signature
 I4	  71414  */
 I4	  71415 OSSL_DEPRECATEDIN_3_0 int ECDSA_size(const EC_KEY *eckey);
       E	 extern
 I4	  71416 
 I4	  71417 /********************************************************************/
 I4	  71418 /*  EC_KEY_METHOD constructors, destructors, writers and accessors  */
 I4	  71419 /********************************************************************/
 I4	  71420 
 I4	  71421 OSSL_DEPRECATEDIN_3_0 EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth);
       E	 extern
 I4	  71422 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_free(EC_KEY_METHOD *meth);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1305
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

       E	 extern
 I4	  71423 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_set_init
       E	 extern
 I4	  71424                       (EC_KEY_METHOD *meth,
 I4	  71425                        int (*init)(EC_KEY *key),
 I4	  71426                        void (*finish)(EC_KEY *key),
 I4	  71427                        int (*copy)(EC_KEY *dest, const EC_KEY *src),
 I4	  71428                        int (*set_group)(EC_KEY *key, const EC_GROUP *grp),
 I4	  71429                        int (*set_private)(EC_KEY *key, const BIGNUM *priv_key),
 I4	  71430                        int (*set_public)(EC_KEY *key, const EC_POINT *pub_key));
 I4	  71431 
 I4	  71432 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth,
       E	 extern
 I4	  71433                                                     int (*keygen)(EC_KEY *key));
 I4	  71434 
 I4	  71435 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_set_compute_key
       E	 extern
 I4	  71436                       (EC_KEY_METHOD *meth,
 I4	  71437                        int (*ckey)(unsigned char **psec, size_t *pseclen,
 I4	  71438                                    const EC_POINT *pub_key, const EC_KEY *ecdh));
 I4	  71439 
 I4	  71440 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_set_sign
       E	 extern
 I4	  71441                       (EC_KEY_METHOD *meth,
 I4	  71442                        int (*sign)(int type, const unsigned char *dgst,
 I4	  71443                                    int dlen, unsigned char *sig,
 I4	  71444                                    unsigned int *siglen,
 I4	  71445                                    const BIGNUM *kinv, const BIGNUM *r,
 I4	  71446                                    EC_KEY *eckey),
 I4	  71447                        int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in,
 I4	  71448                                          BIGNUM **kinvp, BIGNUM **rp),
 I4	  71449                        ECDSA_SIG *(*sign_sig)(const unsigned char *dgst,
 I4	  71450                                               int dgst_len,
 I4	  71451                                               const BIGNUM *in_kinv,
 I4	  71452                                               const BIGNUM *in_r,
 I4	  71453                                               EC_KEY *eckey));
 I4	  71454 
 I4	  71455 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_set_verify
       E	 extern
 I4	  71456                       (EC_KEY_METHOD *meth,
 I4	  71457                        int (*verify)(int type, const unsigned
 I4	  71458                                      char *dgst, int dgst_len,
 I4	  71459                                      const unsigned char *sigbuf,
 I4	  71460                                      int sig_len, EC_KEY *eckey),
 I4	  71461                        int (*verify_sig)(const unsigned char *dgst,
 I4	  71462                                          int dgst_len, const ECDSA_SIG *sig,
 I4	  71463                                          EC_KEY *eckey));
 I4	  71464 
 I4	  71465 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_get_init
       E	 extern
 I4	  71466                       (const EC_KEY_METHOD *meth,
 I4	  71467                        int (**pinit)(EC_KEY *key),
 I4	  71468                        void (**pfinish)(EC_KEY *key),
 I4	  71469                        int (**pcopy)(EC_KEY *dest, const EC_KEY *src),
 I4	  71470                        int (**pset_group)(EC_KEY *key, const EC_GROUP *grp),
 I4	  71471                        int (**pset_private)(EC_KEY *key, const BIGNUM *priv_key),
 I4	  71472                        int (**pset_public)(EC_KEY *key, const EC_POINT *pub_key));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1306
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4	  71473 
 I4	  71474 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_get_keygen
       E	 extern
 I4	  71475                       (const EC_KEY_METHOD *meth, int (**pkeygen)(EC_KEY *key));
 I4	  71476 
 I4	  71477 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_get_compute_key
       E	 extern
 I4	  71478                       (const EC_KEY_METHOD *meth,
 I4	  71479                        int (**pck)(unsigned char **psec,
 I4	  71480                        size_t *pseclen,
 I4	  71481                        const EC_POINT *pub_key,
 I4	  71482                        const EC_KEY *ecdh));
 I4	  71483 
 I4	  71484 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_get_sign
       E	 extern
 I4	  71485                       (const EC_KEY_METHOD *meth,
 I4	  71486                        int (**psign)(int type, const unsigned char *dgst,
 I4	  71487                                      int dlen, unsigned char *sig,
 I4	  71488                                      unsigned int *siglen,
 I4	  71489                                      const BIGNUM *kinv, const BIGNUM *r,
 I4	  71490                                      EC_KEY *eckey),
 I4	  71491                        int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in,
 I4	  71492                                            BIGNUM **kinvp, BIGNUM **rp),
 I4	  71493                        ECDSA_SIG *(**psign_sig)(const unsigned char *dgst,
 I4	  71494                                                 int dgst_len,
 I4	  71495                                                 const BIGNUM *in_kinv,
 I4	  71496                                                 const BIGNUM *in_r,
 I4	  71497                                                 EC_KEY *eckey));
 I4	  71498 
 I4	  71499 OSSL_DEPRECATEDIN_3_0 void EC_KEY_METHOD_get_verify
       E	 extern
 I4	  71500                       (const EC_KEY_METHOD *meth,
 I4	  71501                        int (**pverify)(int type, const unsigned
 I4	  71502                                        char *dgst, int dgst_len,
 I4	  71503                                        const unsigned char *sigbuf,
 I4	  71504                                        int sig_len, EC_KEY *eckey),
 I4	  71505                        int (**pverify_sig)(const unsigned char *dgst,
 I4	  71506                                            int dgst_len,
 I4	  71507                                            const ECDSA_SIG *sig,
 I4	  71508                                            EC_KEY *eckey));
 I4	  71509 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  71510 
 I4	  71511 #  define EVP_EC_gen(curve) \
 I4	  71512     EVP_PKEY_Q_keygen(NULL, NULL, "EC", (char *)(strstr(curve, "")))
 I4	  71513     /* strstr is used to enable type checking for the variadic string arg */
 I4	  71514 #  define ECParameters_dup(x) ASN1_dup_of(EC_KEY, i2d_ECParameters, \
 I4	  71515                                           d2i_ECParameters, x)
 I4	  71516 
 I4	  71517 #  ifndef __cplusplus
 I4    X  71518 #   if defined(__SUNPRO_C)
 I4    X  71519 #    if __SUNPRO_C >= 0x520
 I4    X  71520 #     pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE)
 I4    X  71521 #    endif
 I4    X  71522 #   endif
 I4	  71523 #  endif
 I4	  71524 
 I4	  71525 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1307
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]EC.H;1

 I4    X  71526 # ifdef  __cplusplus
 I4    X  71527 }
 I4    X  71528 # endif
 I4	  71529 #endif
 I3	  71530 
 I3	  71531 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  71532 #  include <openssl/rsa.h>
 I4	  71533 /*
 I4	  71534  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  71535  *
 I4	  71536  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  71537  * this file except in compliance with the License.  You can obtain a copy
 I4	  71538  * in the file LICENSE in the source distribution or at
 I4	  71539  * https://www.openssl.org/source/license.html
 I4	  71540  */
 I4	  71541 
 I4	  71542 #ifndef OPENSSL_RSA_H
 I4	  71543 # define OPENSSL_RSA_H
 I4	  71544 # pragma once
 I4	  71545 
 I4    X  71546 # include <openssl/macros.h>
 I4	  71547 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  71548 #  define HEADER_RSA_H
 I4	  71549 # endif
 I4	  71550 
 I4    X  71551 # include <openssl/opensslconf.h>
 I4	  71552 
 I4    X  71553 # include <openssl/asn1.h>
 I4    X  71554 # include <openssl/bio.h>
 I4    X  71555 # include <openssl/crypto.h>
 I4    X  71556 # include <openssl/types.h>
 I4	  71557 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  71558 #  include <openssl/bn.h>
 I4	  71559 # endif
 I4	  71560 # include <openssl/rsaerr.h>
 I5	  71561 /*
 I5	  71562  * Generated by util/mkerr.pl DO NOT EDIT
 I5	  71563  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  71564  *
 I5	  71565  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  71566  * this file except in compliance with the License.  You can obtain a copy
 I5	  71567  * in the file LICENSE in the source distribution or at
 I5	  71568  * https://www.openssl.org/source/license.html
 I5	  71569  */
 I5	  71570 
 I5	  71571 #ifndef OPENSSL_RSAERR_H
 I5	  71572 # define OPENSSL_RSAERR_H
 I5	  71573 # pragma once
 I5	  71574 
 I5    X  71575 # include <openssl/opensslconf.h>
 I5    X  71576 # include <openssl/symhacks.h>
 I5    X  71577 # include <openssl/cryptoerr_legacy.h>
 I5	  71578 
 I5	  71579 
 I5	  71580 
 I5	  71581 /*
 I5	  71582  * RSA reason codes.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1308
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]RSAERR.H;1

 I5	  71583  */
 I5	  71584 # define RSA_R_ALGORITHM_MISMATCH                         100
 I5	  71585 # define RSA_R_BAD_E_VALUE                                101
 I5	  71586 # define RSA_R_BAD_FIXED_HEADER_DECRYPT                   102
 I5	  71587 # define RSA_R_BAD_PAD_BYTE_COUNT                         103
 I5	  71588 # define RSA_R_BAD_SIGNATURE                              104
 I5	  71589 # define RSA_R_BLOCK_TYPE_IS_NOT_01                       106
 I5	  71590 # define RSA_R_BLOCK_TYPE_IS_NOT_02                       107
 I5	  71591 # define RSA_R_DATA_GREATER_THAN_MOD_LEN                  108
 I5	  71592 # define RSA_R_DATA_TOO_LARGE                             109
 I5	  71593 # define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE                110
 I5	  71594 # define RSA_R_DATA_TOO_LARGE_FOR_MODULUS                 132
 I5	  71595 # define RSA_R_DATA_TOO_SMALL                             111
 I5	  71596 # define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE                122
 I5	  71597 # define RSA_R_DIGEST_DOES_NOT_MATCH                      158
 I5	  71598 # define RSA_R_DIGEST_NOT_ALLOWED                         145
 I5	  71599 # define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY                 112
 I5	  71600 # define RSA_R_DMP1_NOT_CONGRUENT_TO_D                    124
 I5	  71601 # define RSA_R_DMQ1_NOT_CONGRUENT_TO_D                    125
 I5	  71602 # define RSA_R_D_E_NOT_CONGRUENT_TO_1                     123
 I5	  71603 # define RSA_R_FIRST_OCTET_INVALID                        133
 I5	  71604 # define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE        144
 I5	  71605 # define RSA_R_INVALID_DIGEST                             157
 I5	  71606 # define RSA_R_INVALID_DIGEST_LENGTH                      143
 I5	  71607 # define RSA_R_INVALID_HEADER                             137
 I5	  71608 # define RSA_R_INVALID_KEYPAIR                            171
 I5	  71609 # define RSA_R_INVALID_KEY_LENGTH                         173
 I5	  71610 # define RSA_R_INVALID_LABEL                              160
 I5	  71611 # define RSA_R_INVALID_LENGTH                             181
 I5	  71612 # define RSA_R_INVALID_MESSAGE_LENGTH                     131
 I5	  71613 # define RSA_R_INVALID_MGF1_MD                            156
 I5	  71614 # define RSA_R_INVALID_MODULUS                            174
 I5	  71615 # define RSA_R_INVALID_MULTI_PRIME_KEY                    167
 I5	  71616 # define RSA_R_INVALID_OAEP_PARAMETERS                    161
 I5	  71617 # define RSA_R_INVALID_PADDING                            138
 I5	  71618 # define RSA_R_INVALID_PADDING_MODE                       141
 I5	  71619 # define RSA_R_INVALID_PSS_PARAMETERS                     149
 I5	  71620 # define RSA_R_INVALID_PSS_SALTLEN                        146
 I5	  71621 # define RSA_R_INVALID_REQUEST                            175
 I5	  71622 # define RSA_R_INVALID_SALT_LENGTH                        150
 I5	  71623 # define RSA_R_INVALID_STRENGTH                           176
 I5	  71624 # define RSA_R_INVALID_TRAILER                            139
 I5	  71625 # define RSA_R_INVALID_X931_DIGEST                        142
 I5	  71626 # define RSA_R_IQMP_NOT_INVERSE_OF_Q                      126
 I5	  71627 # define RSA_R_KEY_PRIME_NUM_INVALID                      165
 I5	  71628 # define RSA_R_KEY_SIZE_TOO_SMALL                         120
 I5	  71629 # define RSA_R_LAST_OCTET_INVALID                         134
 I5	  71630 # define RSA_R_MGF1_DIGEST_NOT_ALLOWED                    152
 I5	  71631 # define RSA_R_MISSING_PRIVATE_KEY                        179
 I5	  71632 # define RSA_R_MODULUS_TOO_LARGE                          105
 I5	  71633 # define RSA_R_MP_COEFFICIENT_NOT_INVERSE_OF_R            168
 I5	  71634 # define RSA_R_MP_EXPONENT_NOT_CONGRUENT_TO_D             169
 I5	  71635 # define RSA_R_MP_R_NOT_PRIME                             170
 I5	  71636 # define RSA_R_NO_PUBLIC_EXPONENT                         140
 I5	  71637 # define RSA_R_NULL_BEFORE_BLOCK_MISSING                  113
 I5	  71638 # define RSA_R_N_DOES_NOT_EQUAL_PRODUCT_OF_PRIMES         172
 I5	  71639 # define RSA_R_N_DOES_NOT_EQUAL_P_Q                       127

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1309
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSAERR.H;1

 I5	  71640 # define RSA_R_OAEP_DECODING_ERROR                        121
 I5	  71641 # define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE   148
 I5	  71642 # define RSA_R_PADDING_CHECK_FAILED                       114
 I5	  71643 # define RSA_R_PAIRWISE_TEST_FAILURE                      177
 I5	  71644 # define RSA_R_PKCS_DECODING_ERROR                        159
 I5	  71645 # define RSA_R_PSS_SALTLEN_TOO_SMALL                      164
 I5	  71646 # define RSA_R_PUB_EXPONENT_OUT_OF_RANGE                  178
 I5	  71647 # define RSA_R_P_NOT_PRIME                                128
 I5	  71648 # define RSA_R_Q_NOT_PRIME                                129
 I5	  71649 # define RSA_R_RANDOMNESS_SOURCE_STRENGTH_INSUFFICIENT    180
 I5	  71650 # define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED               130
 I5	  71651 # define RSA_R_SLEN_CHECK_FAILED                          136
 I5	  71652 # define RSA_R_SLEN_RECOVERY_FAILED                       135
 I5	  71653 # define RSA_R_SSLV3_ROLLBACK_ATTACK                      115
 I5	  71654 # define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116
 I5	  71655 # define RSA_R_UNKNOWN_ALGORITHM_TYPE                     117
 I5	  71656 # define RSA_R_UNKNOWN_DIGEST                             166
 I5	  71657 # define RSA_R_UNKNOWN_MASK_DIGEST                        151
 I5	  71658 # define RSA_R_UNKNOWN_PADDING_TYPE                       118
 I5	  71659 # define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE                162
 I5	  71660 # define RSA_R_UNSUPPORTED_LABEL_SOURCE                   163
 I5	  71661 # define RSA_R_UNSUPPORTED_MASK_ALGORITHM                 153
 I5	  71662 # define RSA_R_UNSUPPORTED_MASK_PARAMETER                 154
 I5	  71663 # define RSA_R_UNSUPPORTED_SIGNATURE_TYPE                 155
 I5	  71664 # define RSA_R_VALUE_MISSING                              147
 I5	  71665 # define RSA_R_WRONG_SIGNATURE_LENGTH                     119
 I5	  71666 
 I5	  71667 #endif
 I4    X  71668 # include <openssl/safestack.h>
 I4	  71669 
 I4    X  71670 # ifdef  __cplusplus
 I4    X  71671 extern "C" {
 I4    X  71672 # endif
 I4	  71673 
 I4	  71674 # ifndef OPENSSL_RSA_MAX_MODULUS_BITS
 I4	  71675 #  define OPENSSL_RSA_MAX_MODULUS_BITS   16384
 I4	  71676 # endif
 I4	  71677 
 I4	  71678 # define RSA_3   0x3L
 I4	  71679 # define RSA_F4  0x10001L
 I4	  71680 
 I4	  71681 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  71682 /* The types RSA and RSA_METHOD are defined in ossl_typ.h */
 I4	  71683 
 I4	  71684 #  define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 2048
 I4	  71685 
 I4	  71686 #  ifndef OPENSSL_RSA_SMALL_MODULUS_BITS
 I4	  71687 #   define OPENSSL_RSA_SMALL_MODULUS_BITS 3072
 I4	  71688 #  endif
 I4	  71689 
 I4	  71690 /* exponent limit enforced for "large" modulus only */
 I4	  71691 #  ifndef OPENSSL_RSA_MAX_PUBEXP_BITS
 I4	  71692 #   define OPENSSL_RSA_MAX_PUBEXP_BITS    64
 I4	  71693 #  endif
 I4	  71694 /* based on RFC 8017 appendix A.1.2 */
 I4	  71695 #  define RSA_ASN1_VERSION_DEFAULT        0
 I4	  71696 #  define RSA_ASN1_VERSION_MULTI          1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1310
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  71697 
 I4	  71698 #  define RSA_DEFAULT_PRIME_NUM           2
 I4	  71699 
 I4	  71700 #  define RSA_METHOD_FLAG_NO_CHECK        0x0001
 I4	  71701 #  define RSA_FLAG_CACHE_PUBLIC           0x0002
 I4	  71702 #  define RSA_FLAG_CACHE_PRIVATE          0x0004
 I4	  71703 #  define RSA_FLAG_BLINDING               0x0008
 I4	  71704 #  define RSA_FLAG_THREAD_SAFE            0x0010
 I4	  71705 /*
 I4	  71706  * This flag means the private key operations will be handled by rsa_mod_exp
 I4	  71707  * and that they do not depend on the private key components being present:
 I4	  71708  * for example a key stored in external hardware. Without this flag
 I4	  71709  * bn_mod_exp gets called when private key components are absent.
 I4	  71710  */
 I4	  71711 #  define RSA_FLAG_EXT_PKEY               0x0020
 I4	  71712 
 I4	  71713 /*
 I4	  71714  * new with 0.9.6j and 0.9.7b; the built-in
 I4	  71715  * RSA implementation now uses blinding by
 I4	  71716  * default (ignoring RSA_FLAG_BLINDING),
 I4	  71717  * but other engines might not need it
 I4	  71718  */
 I4	  71719 #  define RSA_FLAG_NO_BLINDING            0x0080
 I4	  71720 # endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I4	  71721 /*
 I4	  71722  * Does nothing. Previously this switched off constant time behaviour.
 I4	  71723  */
 I4	  71724 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  71725 #  define RSA_FLAG_NO_CONSTTIME           0x0000
 I4	  71726 # endif
 I4	  71727 /* deprecated name for the flag*/
 I4	  71728 /*
 I4	  71729  * new with 0.9.7h; the built-in RSA
 I4	  71730  * implementation now uses constant time
 I4	  71731  * modular exponentiation for secret exponents
 I4	  71732  * by default. This flag causes the
 I4	  71733  * faster variable sliding window method to
 I4	  71734  * be used for all exponents.
 I4	  71735  */
 I4	  71736 # ifndef OPENSSL_NO_DEPRECATED_0_9_8
 I4	  71737 #  define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME
 I4	  71738 # endif
 I4	  71739 
 I4	  71740 /*-
 I4	  71741  * New with 3.0: use part of the flags to denote exact type of RSA key,
 I4	  71742  * some of which are limited to specific signature and encryption schemes.
 I4	  71743  * These different types share the same RSA structure, but indicate the
 I4	  71744  * use of certain fields in that structure.
 I4	  71745  * Currently known are:
 I4	  71746  * RSA          - this is the "normal" unlimited RSA structure (typenum 0)
 I4	  71747  * RSASSA-PSS   - indicates that the PSS parameters are used.
 I4	  71748  * RSAES-OAEP   - no specific field used for the moment, but OAEP padding
 I4	  71749  *                is expected.  (currently unused)
 I4	  71750  *
 I4	  71751  * 4 bits allow for 16 types
 I4	  71752  */
 I4	  71753 # define RSA_FLAG_TYPE_MASK            0xF000

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1311
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  71754 # define RSA_FLAG_TYPE_RSA             0x0000
 I4	  71755 # define RSA_FLAG_TYPE_RSASSAPSS       0x1000
 I4	  71756 # define RSA_FLAG_TYPE_RSAESOAEP       0x2000
 I4	  71757 
 I4	  71758 int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int pad_mode);
 I4	  71759 int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *pad_mode);
 I4	  71760 
 I4	  71761 int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen);
 I4	  71762 int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen);
 I4	  71763 
 I4	  71764 int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int bits);
 I4	  71765 int EVP_PKEY_CTX_set1_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp);
 I4	  71766 int EVP_PKEY_CTX_set_rsa_keygen_primes(EVP_PKEY_CTX *ctx, int primes);
 I4	  71767 int EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(EVP_PKEY_CTX *ctx, int saltlen);
 I4	  71768 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  71769 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  71770 int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp);
 I4	  71771 # endif
 I4	  71772 
 I4	  71773 /* Salt length matches digest */
 I4	  71774 # define RSA_PSS_SALTLEN_DIGEST -1
 I4	  71775 /* Verify only: auto detect salt length */
 I4	  71776 # define RSA_PSS_SALTLEN_AUTO   -2
 I4	  71777 /* Set salt length to maximum possible */
 I4	  71778 # define RSA_PSS_SALTLEN_MAX    -3
 I4	  71779 /* Old compatible max salt length for sign only */
 I4	  71780 # define RSA_PSS_SALTLEN_MAX_SIGN    -2
 I4	  71781 
 I4	  71782 int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I4	  71783 int EVP_PKEY_CTX_set_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, const char *mdname,
 I4	  71784                                       const char *mdprops);
 I4	  71785 int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
 I4	  71786 int EVP_PKEY_CTX_get_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, char *name,
 I4	  71787                                       size_t namelen);
 I4	  71788 int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I4	  71789 int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md_name(EVP_PKEY_CTX *ctx,
 I4	  71790                                                  const char *mdname);
 I4	  71791 
 I4	  71792 int EVP_PKEY_CTX_set_rsa_pss_keygen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I4	  71793 int EVP_PKEY_CTX_set_rsa_pss_keygen_md_name(EVP_PKEY_CTX *ctx,
 I4	  71794                                             const char *mdname,
 I4	  71795                                             const char *mdprops);
 I4	  71796 
 I4	  71797 int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I4	  71798 int EVP_PKEY_CTX_set_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, const char *mdname,
 I4	  71799                                       const char *mdprops);
 I4	  71800 int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
 I4	  71801 int EVP_PKEY_CTX_get_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, char *name,
 I4	  71802                                       size_t namelen);
 I4	  71803 int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, void *label, int llen);
 I4	  71804 int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label);
 I4	  71805 
 I4	  71806 # define EVP_PKEY_CTRL_RSA_PADDING       (EVP_PKEY_ALG_CTRL + 1)
 I4	  71807 # define EVP_PKEY_CTRL_RSA_PSS_SALTLEN   (EVP_PKEY_ALG_CTRL + 2)
 I4	  71808 
 I4	  71809 # define EVP_PKEY_CTRL_RSA_KEYGEN_BITS   (EVP_PKEY_ALG_CTRL + 3)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1312
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  71810 # define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4)
 I4	  71811 # define EVP_PKEY_CTRL_RSA_MGF1_MD       (EVP_PKEY_ALG_CTRL + 5)
 I4	  71812 
 I4	  71813 # define EVP_PKEY_CTRL_GET_RSA_PADDING           (EVP_PKEY_ALG_CTRL + 6)
 I4	  71814 # define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN       (EVP_PKEY_ALG_CTRL + 7)
 I4	  71815 # define EVP_PKEY_CTRL_GET_RSA_MGF1_MD           (EVP_PKEY_ALG_CTRL + 8)
 I4	  71816 
 I4	  71817 # define EVP_PKEY_CTRL_RSA_OAEP_MD       (EVP_PKEY_ALG_CTRL + 9)
 I4	  71818 # define EVP_PKEY_CTRL_RSA_OAEP_LABEL    (EVP_PKEY_ALG_CTRL + 10)
 I4	  71819 
 I4	  71820 # define EVP_PKEY_CTRL_GET_RSA_OAEP_MD   (EVP_PKEY_ALG_CTRL + 11)
 I4	  71821 # define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12)
 I4	  71822 
 I4	  71823 # define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES  (EVP_PKEY_ALG_CTRL + 13)
 I4	  71824 
 I4	  71825 # define RSA_PKCS1_PADDING          1
 I4	  71826 # define RSA_NO_PADDING             3
 I4	  71827 # define RSA_PKCS1_OAEP_PADDING     4
 I4	  71828 # define RSA_X931_PADDING           5
 I4	  71829 
 I4	  71830 /* EVP_PKEY_ only */
 I4	  71831 # define RSA_PKCS1_PSS_PADDING      6
 I4	  71832 # define RSA_PKCS1_WITH_TLS_PADDING 7
 I4	  71833 
 I4	  71834 # define RSA_PKCS1_PADDING_SIZE    11
 I4	  71835 
 I4	  71836 # define RSA_set_app_data(s,arg)         RSA_set_ex_data(s,0,arg)
 I4	  71837 # define RSA_get_app_data(s)             RSA_get_ex_data(s,0)
 I4	  71838 
 I4	  71839 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  71840 OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
       E	 extern
 I4	  71841 OSSL_DEPRECATEDIN_3_0 RSA *RSA_new_method(ENGINE *engine);
       E	 extern
 I4	  71842 OSSL_DEPRECATEDIN_3_0 int RSA_bits(const RSA *rsa);
       E	 extern
 I4	  71843 OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
       E	 extern
 I4	  71844 OSSL_DEPRECATEDIN_3_0 int RSA_security_bits(const RSA *rsa);
       E	 extern
 I4	  71845 
 I4	  71846 OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
       E	 extern
 I4	  71847 OSSL_DEPRECATEDIN_3_0 int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
       E	 extern
 I4	  71848 OSSL_DEPRECATEDIN_3_0 int RSA_set0_crt_params(RSA *r,
       E	 extern
 I4	  71849                                               BIGNUM *dmp1, BIGNUM *dmq1,
 I4	  71850                                               BIGNUM *iqmp);
 I4	  71851 OSSL_DEPRECATEDIN_3_0 int RSA_set0_multi_prime_params(RSA *r,
       E	 extern
 I4	  71852                                                       BIGNUM *primes[],
 I4	  71853                                                       BIGNUM *exps[],
 I4	  71854                                                       BIGNUM *coeffs[],
 I4	  71855                                                       int pnum);
 I4	  71856 OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r,
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1313
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  71857                                         const BIGNUM **n, const BIGNUM **e,
 I4	  71858                                         const BIGNUM **d);
 I4	  71859 OSSL_DEPRECATEDIN_3_0 void RSA_get0_factors(const RSA *r,
       E	 extern
 I4	  71860                                             const BIGNUM **p, const BIGNUM **q);
 I4	  71861 OSSL_DEPRECATEDIN_3_0 int RSA_get_multi_prime_extra_count(const RSA *r);
       E	 extern
 I4	  71862 OSSL_DEPRECATEDIN_3_0 int RSA_get0_multi_prime_factors(const RSA *r,
       E	 extern
 I4	  71863                                                        const BIGNUM *primes[]);
 I4	  71864 OSSL_DEPRECATEDIN_3_0 void RSA_get0_crt_params(const RSA *r,
       E	 extern
 I4	  71865                                                const BIGNUM **dmp1,
 I4	  71866                                                const BIGNUM **dmq1,
 I4	  71867                                                const BIGNUM **iqmp);
 I4	  71868 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  71869 int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[],
 I4	  71870                                     const BIGNUM *coeffs[]);
 I4	  71871 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_n(const RSA *d);
       E	 extern
 I4	  71872 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_e(const RSA *d);
       E	 extern
 I4	  71873 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_d(const RSA *d);
       E	 extern
 I4	  71874 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_p(const RSA *d);
       E	 extern
 I4	  71875 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_q(const RSA *d);
       E	 extern
 I4	  71876 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_dmp1(const RSA *r);
       E	 extern
 I4	  71877 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_dmq1(const RSA *r);
       E	 extern
 I4	  71878 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_iqmp(const RSA *r);
       E	 extern
 I4	  71879 OSSL_DEPRECATEDIN_3_0 const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r);
       E	 extern
 I4	  71880 OSSL_DEPRECATEDIN_3_0 void RSA_clear_flags(RSA *r, int flags);
       E	 extern
 I4	  71881 OSSL_DEPRECATEDIN_3_0 int RSA_test_flags(const RSA *r, int flags);
       E	 extern
 I4	  71882 OSSL_DEPRECATEDIN_3_0 void RSA_set_flags(RSA *r, int flags);
       E	 extern
 I4	  71883 OSSL_DEPRECATEDIN_3_0 int RSA_get_version(RSA *r);
       E	 extern
 I4	  71884 OSSL_DEPRECATEDIN_3_0 ENGINE *RSA_get0_engine(const RSA *r);
       E	 extern
 I4	  71885 # endif  /* !OPENSSL_NO_DEPRECATED_3_0 */
 I4	  71886 
 I4	  71887 # define EVP_RSA_gen(bits) \
 I4	  71888     EVP_PKEY_Q_keygen(NULL, NULL, "RSA", (size_t)(0 + (bits)))
 I4	  71889 
 I4	  71890 /* Deprecated version */
 I4	  71891 # ifndef OPENSSL_NO_DEPRECATED_0_9_8
 I4	  71892 OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void
       E	 extern
 I4	  71893                                               (*callback) (int, int, void *),

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1314
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  71894                                               void *cb_arg);
 I4	  71895 # endif
 I4	  71896 
 I4	  71897 /* New version */
 I4	  71898 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  71899 OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
       E	 extern
 I4	  71900                                               BN_GENCB *cb);
 I4	  71901 /* Multi-prime version */
 I4	  71902 OSSL_DEPRECATEDIN_3_0 int RSA_generate_multi_prime_key(RSA *rsa, int bits,
       E	 extern
 I4	  71903                                                        int primes, BIGNUM *e,
 I4	  71904                                                        BN_GENCB *cb);
 I4	  71905 
 I4	  71906 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  71907 int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2,
 I4	  71908                        BIGNUM *q1, BIGNUM *q2,
 I4	  71909                        const BIGNUM *Xp1, const BIGNUM *Xp2,
 I4	  71910                        const BIGNUM *Xp, const BIGNUM *Xq1,
 I4	  71911                        const BIGNUM *Xq2, const BIGNUM *Xq,
 I4	  71912                        const BIGNUM *e, BN_GENCB *cb);
 I4	  71913 OSSL_DEPRECATEDIN_3_0 int RSA_X931_generate_key_ex(RSA *rsa, int bits,
       E	 extern
 I4	  71914                                                    const BIGNUM *e,
 I4	  71915                                                    BN_GENCB *cb);
 I4	  71916 
 I4	  71917 OSSL_DEPRECATEDIN_3_0 int RSA_check_key(const RSA *);
       E	 extern
 I4	  71918 OSSL_DEPRECATEDIN_3_0 int RSA_check_key_ex(const RSA *, BN_GENCB *cb);
       E	 extern
 I4	  71919         /* next 4 return -1 on error */
 I4	  71920 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  71921 int RSA_public_encrypt(int flen, const unsigned char *from, unsigned char *to,
 I4	  71922                        RSA *rsa, int padding);
 I4	  71923 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  71924 int RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to,
 I4	  71925                         RSA *rsa, int padding);
 I4	  71926 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  71927 int RSA_public_decrypt(int flen, const unsigned char *from, unsigned char *to,
 I4	  71928                        RSA *rsa, int padding);
 I4	  71929 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  71930 int RSA_private_decrypt(int flen, const unsigned char *from, unsigned char *to,
 I4	  71931                         RSA *rsa, int padding);
 I4	  71932 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
       E	 extern
 I4	  71933 /* "up" the RSA object's reference count */
 I4	  71934 OSSL_DEPRECATEDIN_3_0 int RSA_up_ref(RSA *r);
       E	 extern
 I4	  71935 OSSL_DEPRECATEDIN_3_0 int RSA_flags(const RSA *r);
       E	 extern
 I4	  71936 
 I4	  71937 OSSL_DEPRECATEDIN_3_0 void RSA_set_default_method(const RSA_METHOD *meth);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1315
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

       E	 extern
 I4	  71938 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_get_default_method(void);
       E	 extern
 I4	  71939 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_null_method(void);
       E	 extern
 I4	  71940 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_get_method(const RSA *rsa);
       E	 extern
 I4	  71941 OSSL_DEPRECATEDIN_3_0 int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
       E	 extern
 I4	  71942 
 I4	  71943 /* these are the actual RSA functions */
 I4	  71944 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_PKCS1_OpenSSL(void);
       E	 extern
 I4	  71945 
 I4	  71946 DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(OSSL_DEPRECATEDIN_3_0,
       E	 extern RSA * d2i_RSAPublicKey ( RSA * * a , const unsigned char * * in , long len ) ; extern int i2d_RSAPublicKey (
       E	 const RSA * a , unsigned char * * out ) ; extern const ASN1_ITEM * RSAPublicKey_it ( void ) ;
 I4	  71947                                         RSA, RSAPublicKey)
 I4	  71948 DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(OSSL_DEPRECATEDIN_3_0,
       E	 extern RSA * d2i_RSAPrivateKey ( RSA * * a , const unsigned char * * in , long len ) ; extern int i2d_RSAPrivateKey
       E	 ( const RSA * a , unsigned char * * out ) ; extern const ASN1_ITEM * RSAPrivateKey_it ( void ) ;
 I4	  71949                                         RSA, RSAPrivateKey)
 I4	  71950 # endif  /* !OPENSSL_NO_DEPRECATED_3_0 */
 I4	  71951 
 I4	  71952 int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2);
 I4	  71953 
 I4	  71954 struct rsa_pss_params_st {
 I4	  71955     X509_ALGOR *hashAlgorithm;
 I4	  71956     X509_ALGOR *maskGenAlgorithm;
 I4	  71957     ASN1_INTEGER *saltLength;
 I4	  71958     ASN1_INTEGER *trailerField;
 I4	  71959     /* Decoded hash algorithm from maskGenAlgorithm */
 I4	  71960     X509_ALGOR *maskHash;
 I4	  71961 };
 I4	  71962 
 I4	  71963 DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
       E	 extern RSA_PSS_PARAMS * RSA_PSS_PARAMS_new ( void ) ; extern void RSA_PSS_PARAMS_free ( RSA_PSS_PARAMS * a ) ; exte
       E	rn RSA_PSS_PARAMS * d2i_RSA_PSS_PARAMS ( RSA_PSS_PARAMS * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_RSA_PSS_PARAMS ( const RSA_PSS_PARAMS * a , unsigned char * * out ) ; extern const ASN1_ITEM * RSA_PSS_PARAMS_i
       E	t ( void ) ;
 I4	  71964 DECLARE_ASN1_DUP_FUNCTION(RSA_PSS_PARAMS)
       E	 extern RSA_PSS_PARAMS * RSA_PSS_PARAMS_dup ( const RSA_PSS_PARAMS * a ) ;
 I4	  71965 
 I4	  71966 typedef struct rsa_oaep_params_st {
 I4	  71967     X509_ALGOR *hashFunc;
 I4	  71968     X509_ALGOR *maskGenFunc;
 I4	  71969     X509_ALGOR *pSourceFunc;
 I4	  71970     /* Decoded hash algorithm from maskGenFunc */
 I4	  71971     X509_ALGOR *maskHash;
 I4	  71972 } RSA_OAEP_PARAMS;
 I4	  71973 
 I4	  71974 DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS)
       E	 extern RSA_OAEP_PARAMS * RSA_OAEP_PARAMS_new ( void ) ; extern void RSA_OAEP_PARAMS_free ( RSA_OAEP_PARAMS * a ) ; 
       E	extern RSA_OAEP_PARAMS * d2i_RSA_OAEP_PARAMS ( RSA_OAEP_PARAMS * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_RSA_OAEP_PARAMS ( const RSA_OAEP_PARAMS * a , unsigned char * * out ) ; extern const ASN1_ITEM * RSA_OAE
       E	P_PARAMS_it ( void ) ;
 I4	  71975 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1316
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  71976 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  71977 #  ifndef OPENSSL_NO_STDIO
 I4	  71978 OSSL_DEPRECATEDIN_3_0 int RSA_print_fp(FILE *fp, const RSA *r, int offset);
       E	 extern
 I4	  71979 #  endif
 I4	  71980 
 I4	  71981 OSSL_DEPRECATEDIN_3_0 int RSA_print(BIO *bp, const RSA *r, int offset);
       E	 extern
 I4	  71982 
 I4	  71983 /*
 I4	  71984  * The following 2 functions sign and verify a X509_SIG ASN1 object inside
 I4	  71985  * PKCS#1 padded RSA encryption
 I4	  71986  */
 I4	  71987 OSSL_DEPRECATEDIN_3_0 int RSA_sign(int type, const unsigned char *m,
       E	 extern
 I4	  71988                                    unsigned int m_length, unsigned char *sigret,
 I4	  71989                                    unsigned int *siglen, RSA *rsa);
 I4	  71990 OSSL_DEPRECATEDIN_3_0 int RSA_verify(int type, const unsigned char *m,
       E	 extern
 I4	  71991                                      unsigned int m_length,
 I4	  71992                                      const unsigned char *sigbuf,
 I4	  71993                                      unsigned int siglen, RSA *rsa);
 I4	  71994 
 I4	  71995 /*
 I4	  71996  * The following 2 function sign and verify a ASN1_OCTET_STRING object inside
 I4	  71997  * PKCS#1 padded RSA encryption
 I4	  71998  */
 I4	  71999 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72000 int RSA_sign_ASN1_OCTET_STRING(int type,
 I4	  72001                                const unsigned char *m, unsigned int m_length,
 I4	  72002                                unsigned char *sigret, unsigned int *siglen,
 I4	  72003                                RSA *rsa);
 I4	  72004 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72005 int RSA_verify_ASN1_OCTET_STRING(int type,
 I4	  72006                                  const unsigned char *m, unsigned int m_length,
 I4	  72007                                  unsigned char *sigbuf, unsigned int siglen,
 I4	  72008                                  RSA *rsa);
 I4	  72009 
 I4	  72010 OSSL_DEPRECATEDIN_3_0 int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);
       E	 extern
 I4	  72011 OSSL_DEPRECATEDIN_3_0 void RSA_blinding_off(RSA *rsa);
       E	 extern
 I4	  72012 OSSL_DEPRECATEDIN_3_0 BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx);
       E	 extern
 I4	  72013 
 I4	  72014 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72015 int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen,
 I4	  72016                                  const unsigned char *f, int fl);
 I4	  72017 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72018 int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen,
 I4	  72019                                    const unsigned char *f, int fl,
 I4	  72020                                    int rsa_len);
 I4	  72021 OSSL_DEPRECATEDIN_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1317
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

       E	 extern
 I4	  72022 int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen,
 I4	  72023                                  const unsigned char *f, int fl);
 I4	  72024 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72025 int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen,
 I4	  72026                                    const unsigned char *f, int fl,
 I4	  72027                                    int rsa_len);
 I4	  72028 OSSL_DEPRECATEDIN_3_0 int PKCS1_MGF1(unsigned char *mask, long len,
       E	 extern
 I4	  72029                                      const unsigned char *seed, long seedlen,
 I4	  72030                                      const EVP_MD *dgst);
 I4	  72031 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72032 int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen,
 I4	  72033                                const unsigned char *f, int fl,
 I4	  72034                                const unsigned char *p, int pl);
 I4	  72035 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72036 int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,
 I4	  72037                                  const unsigned char *f, int fl, int rsa_len,
 I4	  72038                                  const unsigned char *p, int pl);
 I4	  72039 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72040 int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,
 I4	  72041                                     const unsigned char *from, int flen,
 I4	  72042                                     const unsigned char *param, int plen,
 I4	  72043                                     const EVP_MD *md, const EVP_MD *mgf1md);
 I4	  72044 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72045 int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,
 I4	  72046                                       const unsigned char *from, int flen,
 I4	  72047                                       int num,
 I4	  72048                                       const unsigned char *param, int plen,
 I4	  72049                                       const EVP_MD *md, const EVP_MD *mgf1md);
 I4	  72050 OSSL_DEPRECATEDIN_3_0 int RSA_padding_add_none(unsigned char *to, int tlen,
       E	 extern
 I4	  72051                                                const unsigned char *f, int fl);
 I4	  72052 OSSL_DEPRECATEDIN_3_0 int RSA_padding_check_none(unsigned char *to, int tlen,
       E	 extern
 I4	  72053                                                  const unsigned char *f, int fl,
 I4	  72054                                                  int rsa_len);
 I4	  72055 OSSL_DEPRECATEDIN_3_0 int RSA_padding_add_X931(unsigned char *to, int tlen,
       E	 extern
 I4	  72056                                                const unsigned char *f, int fl);
 I4	  72057 OSSL_DEPRECATEDIN_3_0 int RSA_padding_check_X931(unsigned char *to, int tlen,
       E	 extern
 I4	  72058                                                  const unsigned char *f, int fl,
 I4	  72059                                                  int rsa_len);
 I4	  72060 OSSL_DEPRECATEDIN_3_0 int RSA_X931_hash_id(int nid);
       E	 extern
 I4	  72061 
 I4	  72062 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72063 int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
 I4	  72064                          const EVP_MD *Hash, const unsigned char *EM,
 I4	  72065                          int sLen);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1318
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  72066 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72067 int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,
 I4	  72068                               const unsigned char *mHash, const EVP_MD *Hash,
 I4	  72069                               int sLen);
 I4	  72070 
 I4	  72071 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72072 int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,
 I4	  72073                               const EVP_MD *Hash, const EVP_MD *mgf1Hash,
 I4	  72074                               const unsigned char *EM, int sLen);
 I4	  72075 
 I4	  72076 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72077 int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM,
 I4	  72078                                    const unsigned char *mHash,
 I4	  72079                                    const EVP_MD *Hash, const EVP_MD *mgf1Hash,
 I4	  72080                                    int sLen);
 I4	  72081 
 I4	  72082 # define RSA_get_ex_new_index(l, p, newf, dupf, freef) \
 I4	  72083     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, l, p, newf, dupf, freef)
 I4	  72084 OSSL_DEPRECATEDIN_3_0 int RSA_set_ex_data(RSA *r, int idx, void *arg);
       E	 extern
 I4	  72085 OSSL_DEPRECATEDIN_3_0 void *RSA_get_ex_data(const RSA *r, int idx);
       E	 extern
 I4	  72086 
 I4	  72087 DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPublicKey)
       E	 extern RSA * RSAPublicKey_dup ( const RSA * a ) ;
 I4	  72088 DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPrivateKey)
       E	 extern RSA * RSAPrivateKey_dup ( const RSA * a ) ;
 I4	  72089 
 I4	  72090 /*
 I4	  72091  * If this flag is set the RSA method is FIPS compliant and can be used in
 I4	  72092  * FIPS mode. This is set in the validated module method. If an application
 I4	  72093  * sets this flag in its own methods it is its responsibility to ensure the
 I4	  72094  * result is compliant.
 I4	  72095  */
 I4	  72096 
 I4	  72097 #  define RSA_FLAG_FIPS_METHOD                    0x0400
 I4	  72098 
 I4	  72099 /*
 I4	  72100  * If this flag is set the operations normally disabled in FIPS mode are
 I4	  72101  * permitted it is then the applications responsibility to ensure that the
 I4	  72102  * usage is compliant.
 I4	  72103  */
 I4	  72104 
 I4	  72105 #  define RSA_FLAG_NON_FIPS_ALLOW                 0x0400
 I4	  72106 /*
 I4	  72107  * Application has decided PRNG is good enough to generate a key: don't
 I4	  72108  * check.
 I4	  72109  */
 I4	  72110 #  define RSA_FLAG_CHECKED                        0x0800
 I4	  72111 
 I4	  72112 OSSL_DEPRECATEDIN_3_0 RSA_METHOD *RSA_meth_new(const char *name, int flags);
       E	 extern
 I4	  72113 OSSL_DEPRECATEDIN_3_0 void RSA_meth_free(RSA_METHOD *meth);
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1319
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  72114 OSSL_DEPRECATEDIN_3_0 RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth);
       E	 extern
 I4	  72115 OSSL_DEPRECATEDIN_3_0 const char *RSA_meth_get0_name(const RSA_METHOD *meth);
       E	 extern
 I4	  72116 OSSL_DEPRECATEDIN_3_0 int RSA_meth_set1_name(RSA_METHOD *meth,
       E	 extern
 I4	  72117                                              const char *name);
 I4	  72118 OSSL_DEPRECATEDIN_3_0 int RSA_meth_get_flags(const RSA_METHOD *meth);
       E	 extern
 I4	  72119 OSSL_DEPRECATEDIN_3_0 int RSA_meth_set_flags(RSA_METHOD *meth, int flags);
       E	 extern
 I4	  72120 OSSL_DEPRECATEDIN_3_0 void *RSA_meth_get0_app_data(const RSA_METHOD *meth);
       E	 extern
 I4	  72121 OSSL_DEPRECATEDIN_3_0 int RSA_meth_set0_app_data(RSA_METHOD *meth,
       E	 extern
 I4	  72122                                                  void *app_data);
 I4	  72123 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72124 int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) (int flen,
 I4	  72125                                                      const unsigned char *from,
 I4	  72126                                                      unsigned char *to,
 I4	  72127                                                      RSA *rsa, int padding);
 I4	  72128 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72129 int RSA_meth_set_pub_enc(RSA_METHOD *rsa,
 I4	  72130                          int (*pub_enc) (int flen, const unsigned char *from,
 I4	  72131                                          unsigned char *to, RSA *rsa,
 I4	  72132                                          int padding));
 I4	  72133 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72134 int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) (int flen,
 I4	  72135                                                      const unsigned char *from,
 I4	  72136                                                      unsigned char *to,
 I4	  72137                                                      RSA *rsa, int padding);
 I4	  72138 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72139 int RSA_meth_set_pub_dec(RSA_METHOD *rsa,
 I4	  72140                          int (*pub_dec) (int flen, const unsigned char *from,
 I4	  72141                                          unsigned char *to, RSA *rsa,
 I4	  72142                                          int padding));
 I4	  72143 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72144 int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) (int flen,
 I4	  72145                                                       const unsigned char *from,
 I4	  72146                                                       unsigned char *to,
 I4	  72147                                                       RSA *rsa, int padding);
 I4	  72148 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72149 int RSA_meth_set_priv_enc(RSA_METHOD *rsa,
 I4	  72150                           int (*priv_enc) (int flen, const unsigned char *from,
 I4	  72151                                            unsigned char *to, RSA *rsa,
 I4	  72152                                            int padding));
 I4	  72153 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72154 int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) (int flen,
 I4	  72155                                                       const unsigned char *from,
 I4	  72156                                                       unsigned char *to,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1320
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  72157                                                       RSA *rsa, int padding);
 I4	  72158 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72159 int RSA_meth_set_priv_dec(RSA_METHOD *rsa,
 I4	  72160                           int (*priv_dec) (int flen, const unsigned char *from,
 I4	  72161                                            unsigned char *to, RSA *rsa,
 I4	  72162                                            int padding));
 I4	  72163 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72164 int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) (BIGNUM *r0,
 I4	  72165                                                      const BIGNUM *i,
 I4	  72166                                                      RSA *rsa, BN_CTX *ctx);
 I4	  72167 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72168 int RSA_meth_set_mod_exp(RSA_METHOD *rsa,
 I4	  72169                          int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa,
 I4	  72170                                          BN_CTX *ctx));
 I4	  72171 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72172 int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) (BIGNUM *r,
 I4	  72173                                                         const BIGNUM *a,
 I4	  72174                                                         const BIGNUM *p,
 I4	  72175                                                         const BIGNUM *m,
 I4	  72176                                                         BN_CTX *ctx,
 I4	  72177                                                         BN_MONT_CTX *m_ctx);
 I4	  72178 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72179 int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa,
 I4	  72180                             int (*bn_mod_exp) (BIGNUM *r,
 I4	  72181                                                const BIGNUM *a,
 I4	  72182                                                const BIGNUM *p,
 I4	  72183                                                const BIGNUM *m,
 I4	  72184                                                BN_CTX *ctx,
 I4	  72185                                                BN_MONT_CTX *m_ctx));
 I4	  72186 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72187 int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa);
 I4	  72188 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72189 int RSA_meth_set_init(RSA_METHOD *rsa, int (*init) (RSA *rsa));
 I4	  72190 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72191 int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa);
 I4	  72192 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72193 int RSA_meth_set_finish(RSA_METHOD *rsa, int (*finish) (RSA *rsa));
 I4	  72194 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72195 int (*RSA_meth_get_sign(const RSA_METHOD *meth)) (int type,
 I4	  72196                                                   const unsigned char *m,
 I4	  72197                                                   unsigned int m_length,
 I4	  72198                                                   unsigned char *sigret,
 I4	  72199                                                   unsigned int *siglen,
 I4	  72200                                                   const RSA *rsa);
 I4	  72201 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72202 int RSA_meth_set_sign(RSA_METHOD *rsa,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1321
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RSA.H;1

 I4	  72203                       int (*sign) (int type, const unsigned char *m,
 I4	  72204                                    unsigned int m_length,
 I4	  72205                                    unsigned char *sigret, unsigned int *siglen,
 I4	  72206                                    const RSA *rsa));
 I4	  72207 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72208 int (*RSA_meth_get_verify(const RSA_METHOD *meth)) (int dtype,
 I4	  72209                                                     const unsigned char *m,
 I4	  72210                                                     unsigned int m_length,
 I4	  72211                                                     const unsigned char *sigbuf,
 I4	  72212                                                     unsigned int siglen,
 I4	  72213                                                     const RSA *rsa);
 I4	  72214 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72215 int RSA_meth_set_verify(RSA_METHOD *rsa,
 I4	  72216                         int (*verify) (int dtype, const unsigned char *m,
 I4	  72217                                        unsigned int m_length,
 I4	  72218                                        const unsigned char *sigbuf,
 I4	  72219                                        unsigned int siglen, const RSA *rsa));
 I4	  72220 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72221 int (*RSA_meth_get_keygen(const RSA_METHOD *meth)) (RSA *rsa, int bits,
 I4	  72222                                                     BIGNUM *e, BN_GENCB *cb);
 I4	  72223 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72224 int RSA_meth_set_keygen(RSA_METHOD *rsa,
 I4	  72225                         int (*keygen) (RSA *rsa, int bits, BIGNUM *e,
 I4	  72226                                        BN_GENCB *cb));
 I4	  72227 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72228 int (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth)) (RSA *rsa,
 I4	  72229                                                                 int bits,
 I4	  72230                                                                 int primes,
 I4	  72231                                                                 BIGNUM *e,
 I4	  72232                                                                 BN_GENCB *cb);
 I4	  72233 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I4	  72234 int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth,
 I4	  72235                                     int (*keygen) (RSA *rsa, int bits,
 I4	  72236                                                    int primes, BIGNUM *e,
 I4	  72237                                                    BN_GENCB *cb));
 I4	  72238 #endif  /* !OPENSSL_NO_DEPRECATED_3_0 */
 I4	  72239 
 I4    X  72240 # ifdef  __cplusplus
 I4    X  72241 }
 I4    X  72242 # endif
 I4	  72243 #endif
 I3	  72244 #  include <openssl/dsa.h>
 I4	  72245 /*
 I4	  72246  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  72247  *
 I4	  72248  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  72249  * this file except in compliance with the License.  You can obtain a copy
 I4	  72250  * in the file LICENSE in the source distribution or at
 I4	  72251  * https://www.openssl.org/source/license.html
 I4	  72252  */
 I4	  72253 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1322
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]DSA.H;1

 I4	  72254 #ifndef OPENSSL_DSA_H
 I4	  72255 # define OPENSSL_DSA_H
 I4	  72256 # pragma once
 I4	  72257 
 I4    X  72258 # include <openssl/macros.h>
 I4	  72259 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  72260 #  define HEADER_DSA_H
 I4	  72261 # endif
 I4	  72262 
 I4    X  72263 # include <openssl/opensslconf.h>
 I4    X  72264 # include <openssl/types.h>
 I4	  72265 
 I4    X  72266 # ifdef  __cplusplus
 I4    X  72267 extern "C" {
 I4    X  72268 # endif
 I4	  72269 
 I4    X  72270 # include <stdlib.h>
 I4	  72271 
 I4	  72272 int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits);
 I4	  72273 int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits);
 I4	  72274 int EVP_PKEY_CTX_set_dsa_paramgen_md_props(EVP_PKEY_CTX *ctx,
 I4	  72275                                            const char *md_name,
 I4	  72276                                            const char *md_properties);
 I4	  72277 int EVP_PKEY_CTX_set_dsa_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex);
 I4	  72278 int EVP_PKEY_CTX_set_dsa_paramgen_type(EVP_PKEY_CTX *ctx, const char *name);
 I4	  72279 int EVP_PKEY_CTX_set_dsa_paramgen_seed(EVP_PKEY_CTX *ctx,
 I4	  72280                                        const unsigned char *seed,
 I4	  72281                                        size_t seedlen);
 I4	  72282 int EVP_PKEY_CTX_set_dsa_paramgen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I4	  72283 
 I4	  72284 # define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS         (EVP_PKEY_ALG_CTRL + 1)
 I4	  72285 # define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS       (EVP_PKEY_ALG_CTRL + 2)
 I4	  72286 # define EVP_PKEY_CTRL_DSA_PARAMGEN_MD           (EVP_PKEY_ALG_CTRL + 3)
 I4	  72287 
 I4	  72288 # ifndef OPENSSL_NO_DSA
 I4    X  72289 #  include <openssl/e_os2.h>
 I4    X  72290 #  include <openssl/asn1.h>
 I4    X  72291 #  include <openssl/bio.h>
 I4    X  72292 #  include <openssl/crypto.h>
 I4    X  72293 #  include <openssl/bn.h>
 I4	  72294 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  72295 #   include <openssl/dh.h>
 I5	  72296 /*
 I5	  72297  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  72298  *
 I5	  72299  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  72300  * this file except in compliance with the License.  You can obtain a copy
 I5	  72301  * in the file LICENSE in the source distribution or at
 I5	  72302  * https://www.openssl.org/source/license.html
 I5	  72303  */
 I5	  72304 
 I5	  72305 #ifndef OPENSSL_DH_H
 I5	  72306 # define OPENSSL_DH_H
 I5	  72307 # pragma once
 I5	  72308 
 I5    X  72309 # include <openssl/macros.h>
 I5	  72310 # ifndef OPENSSL_NO_DEPRECATED_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1323
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DH.H;1

 I5	  72311 #  define HEADER_DH_H
 I5	  72312 # endif
 I5	  72313 
 I5    X  72314 # include <openssl/opensslconf.h>
 I5    X  72315 # include <openssl/types.h>
 I5	  72316 
 I5    X  72317 # ifdef  __cplusplus
 I5    X  72318 extern "C" {
 I5    X  72319 # endif
 I5	  72320 
 I5    X  72321 #include <stdlib.h>
 I5	  72322 
 I5	  72323 /* DH parameter generation types used by EVP_PKEY_CTX_set_dh_paramgen_type() */
 I5	  72324 # define DH_PARAMGEN_TYPE_GENERATOR     0   /* Use a safe prime generator */
 I5	  72325 # define DH_PARAMGEN_TYPE_FIPS_186_2    1   /* Use FIPS186-2 standard */
 I5	  72326 # define DH_PARAMGEN_TYPE_FIPS_186_4    2   /* Use FIPS186-4 standard */
 I5	  72327 # define DH_PARAMGEN_TYPE_GROUP         3   /* Use a named safe prime group */
 I5	  72328 
 I5	  72329 int EVP_PKEY_CTX_set_dh_paramgen_type(EVP_PKEY_CTX *ctx, int typ);
 I5	  72330 int EVP_PKEY_CTX_set_dh_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex);
 I5	  72331 int EVP_PKEY_CTX_set_dh_paramgen_seed(EVP_PKEY_CTX *ctx,
 I5	  72332                                       const unsigned char *seed,
 I5	  72333                                       size_t seedlen);
 I5	  72334 int EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int pbits);
 I5	  72335 int EVP_PKEY_CTX_set_dh_paramgen_subprime_len(EVP_PKEY_CTX *ctx, int qlen);
 I5	  72336 int EVP_PKEY_CTX_set_dh_paramgen_generator(EVP_PKEY_CTX *ctx, int gen);
 I5	  72337 int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid);
 I5	  72338 int EVP_PKEY_CTX_set_dh_rfc5114(EVP_PKEY_CTX *ctx, int gen);
 I5	  72339 int EVP_PKEY_CTX_set_dhx_rfc5114(EVP_PKEY_CTX *ctx, int gen);
 I5	  72340 int EVP_PKEY_CTX_set_dh_pad(EVP_PKEY_CTX *ctx, int pad);
 I5	  72341 
 I5	  72342 int EVP_PKEY_CTX_set_dh_kdf_type(EVP_PKEY_CTX *ctx, int kdf);
 I5	  72343 int EVP_PKEY_CTX_get_dh_kdf_type(EVP_PKEY_CTX *ctx);
 I5	  72344 int EVP_PKEY_CTX_set0_dh_kdf_oid(EVP_PKEY_CTX *ctx, ASN1_OBJECT *oid);
 I5	  72345 int EVP_PKEY_CTX_get0_dh_kdf_oid(EVP_PKEY_CTX *ctx, ASN1_OBJECT **oid);
 I5	  72346 int EVP_PKEY_CTX_set_dh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
 I5	  72347 int EVP_PKEY_CTX_get_dh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
 I5	  72348 int EVP_PKEY_CTX_set_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int len);
 I5	  72349 int EVP_PKEY_CTX_get_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int *len);
 I5	  72350 int EVP_PKEY_CTX_set0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char *ukm, int len);
 I5	  72351 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  72352 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I5	  72353 int EVP_PKEY_CTX_get0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **ukm);
 I5	  72354 #endif
 I5	  72355 
 I5	  72356 # define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN     (EVP_PKEY_ALG_CTRL + 1)
 I5	  72357 # define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR     (EVP_PKEY_ALG_CTRL + 2)
 I5	  72358 # define EVP_PKEY_CTRL_DH_RFC5114                (EVP_PKEY_ALG_CTRL + 3)
 I5	  72359 # define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN  (EVP_PKEY_ALG_CTRL + 4)
 I5	  72360 # define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE          (EVP_PKEY_ALG_CTRL + 5)
 I5	  72361 # define EVP_PKEY_CTRL_DH_KDF_TYPE               (EVP_PKEY_ALG_CTRL + 6)
 I5	  72362 # define EVP_PKEY_CTRL_DH_KDF_MD                 (EVP_PKEY_ALG_CTRL + 7)
 I5	  72363 # define EVP_PKEY_CTRL_GET_DH_KDF_MD             (EVP_PKEY_ALG_CTRL + 8)
 I5	  72364 # define EVP_PKEY_CTRL_DH_KDF_OUTLEN             (EVP_PKEY_ALG_CTRL + 9)
 I5	  72365 # define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN         (EVP_PKEY_ALG_CTRL + 10)
 I5	  72366 # define EVP_PKEY_CTRL_DH_KDF_UKM                (EVP_PKEY_ALG_CTRL + 11)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1324
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DH.H;1

 I5	  72367 # define EVP_PKEY_CTRL_GET_DH_KDF_UKM            (EVP_PKEY_ALG_CTRL + 12)
 I5	  72368 # define EVP_PKEY_CTRL_DH_KDF_OID                (EVP_PKEY_ALG_CTRL + 13)
 I5	  72369 # define EVP_PKEY_CTRL_GET_DH_KDF_OID            (EVP_PKEY_ALG_CTRL + 14)
 I5	  72370 # define EVP_PKEY_CTRL_DH_NID                    (EVP_PKEY_ALG_CTRL + 15)
 I5	  72371 # define EVP_PKEY_CTRL_DH_PAD                    (EVP_PKEY_ALG_CTRL + 16)
 I5	  72372 
 I5	  72373 /* KDF types */
 I5	  72374 # define EVP_PKEY_DH_KDF_NONE                            1
 I5	  72375 # define EVP_PKEY_DH_KDF_X9_42                           2
 I5	  72376 
 I5	  72377 # ifndef OPENSSL_NO_DH
 I5    X  72378 #  include <openssl/e_os2.h>
 I5    X  72379 #  include <openssl/bio.h>
 I5    X  72380 #  include <openssl/asn1.h>
 I5	  72381 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I5    X  72382 #   include <openssl/bn.h>
 I5	  72383 #  endif
 I5	  72384 #  include <openssl/dherr.h>
 I6	  72385 /*
 I6	  72386  * Generated by util/mkerr.pl DO NOT EDIT
 I6	  72387  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  72388  *
 I6	  72389  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  72390  * this file except in compliance with the License.  You can obtain a copy
 I6	  72391  * in the file LICENSE in the source distribution or at
 I6	  72392  * https://www.openssl.org/source/license.html
 I6	  72393  */
 I6	  72394 
 I6	  72395 #ifndef OPENSSL_DHERR_H
 I6	  72396 # define OPENSSL_DHERR_H
 I6	  72397 # pragma once
 I6	  72398 
 I6    X  72399 # include <openssl/opensslconf.h>
 I6    X  72400 # include <openssl/symhacks.h>
 I6    X  72401 # include <openssl/cryptoerr_legacy.h>
 I6	  72402 
 I6	  72403 
 I6	  72404 # ifndef OPENSSL_NO_DH
 I6	  72405 
 I6	  72406 
 I6	  72407 /*
 I6	  72408  * DH reason codes.
 I6	  72409  */
 I6	  72410 #  define DH_R_BAD_FFC_PARAMETERS                          127
 I6	  72411 #  define DH_R_BAD_GENERATOR                               101
 I6	  72412 #  define DH_R_BN_DECODE_ERROR                             109
 I6	  72413 #  define DH_R_BN_ERROR                                    106
 I6	  72414 #  define DH_R_CHECK_INVALID_J_VALUE                       115
 I6	  72415 #  define DH_R_CHECK_INVALID_Q_VALUE                       116
 I6	  72416 #  define DH_R_CHECK_PUBKEY_INVALID                        122
 I6	  72417 #  define DH_R_CHECK_PUBKEY_TOO_LARGE                      123
 I6	  72418 #  define DH_R_CHECK_PUBKEY_TOO_SMALL                      124
 I6	  72419 #  define DH_R_CHECK_P_NOT_PRIME                           117
 I6	  72420 #  define DH_R_CHECK_P_NOT_SAFE_PRIME                      118
 I6	  72421 #  define DH_R_CHECK_Q_NOT_PRIME                           119
 I6	  72422 #  define DH_R_DECODE_ERROR                                104
 I6	  72423 #  define DH_R_INVALID_PARAMETER_NAME                      110

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1325
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DHERR.H;1

 I6	  72424 #  define DH_R_INVALID_PARAMETER_NID                       114
 I6	  72425 #  define DH_R_INVALID_PUBKEY                              102
 I6	  72426 #  define DH_R_INVALID_SECRET                              128
 I6	  72427 #  define DH_R_KDF_PARAMETER_ERROR                         112
 I6	  72428 #  define DH_R_KEYS_NOT_SET                                108
 I6	  72429 #  define DH_R_MISSING_PUBKEY                              125
 I6	  72430 #  define DH_R_MODULUS_TOO_LARGE                           103
 I6	  72431 #  define DH_R_MODULUS_TOO_SMALL                           126
 I6	  72432 #  define DH_R_NOT_SUITABLE_GENERATOR                      120
 I6	  72433 #  define DH_R_NO_PARAMETERS_SET                           107
 I6	  72434 #  define DH_R_NO_PRIVATE_VALUE                            100
 I6	  72435 #  define DH_R_PARAMETER_ENCODING_ERROR                    105
 I6	  72436 #  define DH_R_PEER_KEY_ERROR                              111
 I6	  72437 #  define DH_R_SHARED_INFO_ERROR                           113
 I6	  72438 #  define DH_R_UNABLE_TO_CHECK_GENERATOR                   121
 I6	  72439 
 I6	  72440 # endif
 I6	  72441 #endif
 I5	  72442 
 I5	  72443 #  ifndef OPENSSL_DH_MAX_MODULUS_BITS
 I5	  72444 #   define OPENSSL_DH_MAX_MODULUS_BITS    10000
 I5	  72445 #  endif
 I5	  72446 
 I5	  72447 #  define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024
 I5	  72448 
 I5	  72449 #  define DH_FLAG_CACHE_MONT_P     0x01
 I5	  72450 
 I5	  72451 #  define DH_FLAG_TYPE_MASK             0xF000
 I5	  72452 #  define DH_FLAG_TYPE_DH               0x0000
 I5	  72453 #  define DH_FLAG_TYPE_DHX              0x1000
 I5	  72454 
 I5	  72455 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I5	  72456 /*
 I5	  72457  * Does nothing. Previously this switched off constant time behaviour.
 I5	  72458  */
 I5	  72459 #   define DH_FLAG_NO_EXP_CONSTTIME 0x00
 I5	  72460 #  endif
 I5	  72461 
 I5	  72462 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  72463 /*
 I5	  72464  * If this flag is set the DH method is FIPS compliant and can be used in
 I5	  72465  * FIPS mode. This is set in the validated module method. If an application
 I5	  72466  * sets this flag in its own methods it is its responsibility to ensure the
 I5	  72467  * result is compliant.
 I5	  72468  */
 I5	  72469 
 I5	  72470 #   define DH_FLAG_FIPS_METHOD                     0x0400
 I5	  72471 
 I5	  72472 /*
 I5	  72473  * If this flag is set the operations normally disabled in FIPS mode are
 I5	  72474  * permitted it is then the applications responsibility to ensure that the
 I5	  72475  * usage is compliant.
 I5	  72476  */
 I5	  72477 
 I5	  72478 #   define DH_FLAG_NON_FIPS_ALLOW                  0x0400
 I5	  72479 #  endif
 I5	  72480 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1326
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DH.H;1

 I5	  72481 /* Already defined in ossl_typ.h */
 I5	  72482 /* typedef struct dh_st DH; */
 I5	  72483 /* typedef struct dh_method DH_METHOD; */
 I5	  72484 
 I5	  72485 DECLARE_ASN1_ITEM(DHparams)
       E	 extern const ASN1_ITEM * DHparams_it ( void ) ;
 I5	  72486 
 I5	  72487 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  72488 #   define DH_GENERATOR_2          2
 I5	  72489 #   define DH_GENERATOR_3          3
 I5	  72490 #   define DH_GENERATOR_5          5
 I5	  72491 
 I5	  72492 /* DH_check error codes */
 I5	  72493 /*
 I5	  72494  * NB: These values must align with the equivalently named macros in
 I5	  72495  * internal/ffc.h.
 I5	  72496  */
 I5	  72497 #   define DH_CHECK_P_NOT_PRIME            0x01
 I5	  72498 #   define DH_CHECK_P_NOT_SAFE_PRIME       0x02
 I5	  72499 #   define DH_UNABLE_TO_CHECK_GENERATOR    0x04
 I5	  72500 #   define DH_NOT_SUITABLE_GENERATOR       0x08
 I5	  72501 #   define DH_CHECK_Q_NOT_PRIME            0x10
 I5	  72502 #   define DH_CHECK_INVALID_Q_VALUE        0x20
 I5	  72503 #   define DH_CHECK_INVALID_J_VALUE        0x40
 I5	  72504 #   define DH_MODULUS_TOO_SMALL            0x80
 I5	  72505 #   define DH_MODULUS_TOO_LARGE            0x100
 I5	  72506 
 I5	  72507 /* DH_check_pub_key error codes */
 I5	  72508 #   define DH_CHECK_PUBKEY_TOO_SMALL       0x01
 I5	  72509 #   define DH_CHECK_PUBKEY_TOO_LARGE       0x02
 I5	  72510 #   define DH_CHECK_PUBKEY_INVALID         0x04
 I5	  72511 
 I5	  72512 /*
 I5	  72513  * primes p where (p-1)/2 is prime too are called "safe"; we define this for
 I5	  72514  * backward compatibility:
 I5	  72515  */
 I5	  72516 #   define DH_CHECK_P_NOT_STRONG_PRIME     DH_CHECK_P_NOT_SAFE_PRIME
 I5	  72517 
 I5	  72518 #   define d2i_DHparams_fp(fp, x) \
 I5	  72519         (DH *)ASN1_d2i_fp((char *(*)())DH_new, \
 I5	  72520                           (char *(*)())d2i_DHparams, \
 I5	  72521                           (fp), \
 I5	  72522                           (unsigned char **)(x))
 I5	  72523 #   define i2d_DHparams_fp(fp, x) \
 I5	  72524         ASN1_i2d_fp(i2d_DHparams,(fp), (unsigned char *)(x))
 I5	  72525 #   define d2i_DHparams_bio(bp, x) \
 I5	  72526         ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x)
 I5	  72527 #   define i2d_DHparams_bio(bp, x) \
 I5	  72528         ASN1_i2d_bio_of(DH, i2d_DHparams, bp, x)
 I5	  72529 
 I5	  72530 #   define d2i_DHxparams_fp(fp,x) \
 I5	  72531         (DH *)ASN1_d2i_fp((char *(*)())DH_new, \
 I5	  72532                           (char *(*)())d2i_DHxparams, \
 I5	  72533                           (fp), \
 I5	  72534                           (unsigned char **)(x))
 I5	  72535 #   define i2d_DHxparams_fp(fp, x) \
 I5	  72536         ASN1_i2d_fp(i2d_DHxparams,(fp), (unsigned char *)(x))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1327
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DH.H;1

 I5	  72537 #   define d2i_DHxparams_bio(bp, x) \
 I5	  72538         ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x)
 I5	  72539 #   define i2d_DHxparams_bio(bp, x) \
 I5	  72540         ASN1_i2d_bio_of(DH, i2d_DHxparams, bp, x)
 I5	  72541 
 I5	  72542 DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, DH, DHparams)
       E	 extern DH * DHparams_dup ( const DH * a ) ;
 I5	  72543 
 I5	  72544 OSSL_DEPRECATEDIN_3_0 const DH_METHOD *DH_OpenSSL(void);
       E	 extern
 I5	  72545 
 I5	  72546 OSSL_DEPRECATEDIN_3_0 void DH_set_default_method(const DH_METHOD *meth);
       E	 extern
 I5	  72547 OSSL_DEPRECATEDIN_3_0 const DH_METHOD *DH_get_default_method(void);
       E	 extern
 I5	  72548 OSSL_DEPRECATEDIN_3_0 int DH_set_method(DH *dh, const DH_METHOD *meth);
       E	 extern
 I5	  72549 OSSL_DEPRECATEDIN_3_0 DH *DH_new_method(ENGINE *engine);
       E	 extern
 I5	  72550 
 I5	  72551 OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);
       E	 extern
 I5	  72552 OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
       E	 extern
 I5	  72553 OSSL_DEPRECATEDIN_3_0 int DH_up_ref(DH *dh);
       E	 extern
 I5	  72554 OSSL_DEPRECATEDIN_3_0 int DH_bits(const DH *dh);
       E	 extern
 I5	  72555 OSSL_DEPRECATEDIN_3_0 int DH_size(const DH *dh);
       E	 extern
 I5	  72556 OSSL_DEPRECATEDIN_3_0 int DH_security_bits(const DH *dh);
       E	 extern
 I5	  72557 
 I5	  72558 #   define DH_get_ex_new_index(l, p, newf, dupf, freef) \
 I5	  72559         CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, l, p, newf, dupf, freef)
 I5	  72560 
 I5	  72561 OSSL_DEPRECATEDIN_3_0 int DH_set_ex_data(DH *d, int idx, void *arg);
       E	 extern
 I5	  72562 OSSL_DEPRECATEDIN_3_0 void *DH_get_ex_data(const DH *d, int idx);
       E	 extern
 I5	  72563 
 I5	  72564 OSSL_DEPRECATEDIN_3_0 int DH_generate_parameters_ex(DH *dh, int prime_len,
       E	 extern
 I5	  72565                                                     int generator,
 I5	  72566                                                     BN_GENCB *cb);
 I5	  72567 
 I5	  72568 OSSL_DEPRECATEDIN_3_0 int DH_check_params_ex(const DH *dh);
       E	 extern
 I5	  72569 OSSL_DEPRECATEDIN_3_0 int DH_check_ex(const DH *dh);
       E	 extern
 I5	  72570 OSSL_DEPRECATEDIN_3_0 int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key);
       E	 extern
 I5	  72571 OSSL_DEPRECATEDIN_3_0 int DH_check_params(const DH *dh, int *ret);
       E	 extern
 I5	  72572 OSSL_DEPRECATEDIN_3_0 int DH_check(const DH *dh, int *codes);
       E	 extern
 I5	  72573 OSSL_DEPRECATEDIN_3_0 int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1328
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DH.H;1

       E	 extern
 I5	  72574                                            int *codes);
 I5	  72575 OSSL_DEPRECATEDIN_3_0 int DH_generate_key(DH *dh);
       E	 extern
 I5	  72576 OSSL_DEPRECATEDIN_3_0 int DH_compute_key(unsigned char *key,
       E	 extern
 I5	  72577                                          const BIGNUM *pub_key, DH *dh);
 I5	  72578 OSSL_DEPRECATEDIN_3_0 int DH_compute_key_padded(unsigned char *key,
       E	 extern
 I5	  72579                                                 const BIGNUM *pub_key, DH *dh);
 I5	  72580 
 I5	  72581 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0, DH, DHparams)
       E	 extern DH * d2i_DHparams ( DH * * a , const unsigned char * * in , long len ) ; extern int i2d_DHparams ( const DH 
       E	* a , unsigned char * * out ) ;
 I5	  72582 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0, DH, DHxparams)
       E	 extern DH * d2i_DHxparams ( DH * * a , const unsigned char * * in , long len ) ; extern int i2d_DHxparams ( const D
       E	H * a , unsigned char * * out ) ;
 I5	  72583 
 I5	  72584 #   ifndef OPENSSL_NO_STDIO
 I5	  72585 OSSL_DEPRECATEDIN_3_0 int DHparams_print_fp(FILE *fp, const DH *x);
       E	 extern
 I5	  72586 #   endif
 I5	  72587 OSSL_DEPRECATEDIN_3_0 int DHparams_print(BIO *bp, const DH *x);
       E	 extern
 I5	  72588 
 I5	  72589 /* RFC 5114 parameters */
 I5	  72590 OSSL_DEPRECATEDIN_3_0 DH *DH_get_1024_160(void);
       E	 extern
 I5	  72591 OSSL_DEPRECATEDIN_3_0 DH *DH_get_2048_224(void);
       E	 extern
 I5	  72592 OSSL_DEPRECATEDIN_3_0 DH *DH_get_2048_256(void);
       E	 extern
 I5	  72593 
 I5	  72594 /* Named parameters, currently RFC7919 and RFC3526 */
 I5	  72595 OSSL_DEPRECATEDIN_3_0 DH *DH_new_by_nid(int nid);
       E	 extern
 I5	  72596 OSSL_DEPRECATEDIN_3_0 int DH_get_nid(const DH *dh);
       E	 extern
 I5	  72597 
 I5	  72598 /* RFC2631 KDF */
 I5	  72599 OSSL_DEPRECATEDIN_3_0 int DH_KDF_X9_42(unsigned char *out, size_t outlen,
       E	 extern
 I5	  72600                                        const unsigned char *Z, size_t Zlen,
 I5	  72601                                        ASN1_OBJECT *key_oid,
 I5	  72602                                        const unsigned char *ukm,
 I5	  72603                                        size_t ukmlen, const EVP_MD *md);
 I5	  72604 
 I5	  72605 OSSL_DEPRECATEDIN_3_0 void DH_get0_pqg(const DH *dh, const BIGNUM **p,
       E	 extern
 I5	  72606                                        const BIGNUM **q, const BIGNUM **g);
 I5	  72607 OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
       E	 extern
 I5	  72608 OSSL_DEPRECATEDIN_3_0 void DH_get0_key(const DH *dh, const BIGNUM **pub_key,
       E	 extern
 I5	  72609                                        const BIGNUM **priv_key);
 I5	  72610 OSSL_DEPRECATEDIN_3_0 int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1329
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DH.H;1

 I5	  72611 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_p(const DH *dh);
       E	 extern
 I5	  72612 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_q(const DH *dh);
       E	 extern
 I5	  72613 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_g(const DH *dh);
       E	 extern
 I5	  72614 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_priv_key(const DH *dh);
       E	 extern
 I5	  72615 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_pub_key(const DH *dh);
       E	 extern
 I5	  72616 OSSL_DEPRECATEDIN_3_0 void DH_clear_flags(DH *dh, int flags);
       E	 extern
 I5	  72617 OSSL_DEPRECATEDIN_3_0 int DH_test_flags(const DH *dh, int flags);
       E	 extern
 I5	  72618 OSSL_DEPRECATEDIN_3_0 void DH_set_flags(DH *dh, int flags);
       E	 extern
 I5	  72619 OSSL_DEPRECATEDIN_3_0 ENGINE *DH_get0_engine(DH *d);
       E	 extern
 I5	  72620 OSSL_DEPRECATEDIN_3_0 long DH_get_length(const DH *dh);
       E	 extern
 I5	  72621 OSSL_DEPRECATEDIN_3_0 int DH_set_length(DH *dh, long length);
       E	 extern
 I5	  72622 
 I5	  72623 OSSL_DEPRECATEDIN_3_0 DH_METHOD *DH_meth_new(const char *name, int flags);
       E	 extern
 I5	  72624 OSSL_DEPRECATEDIN_3_0 void DH_meth_free(DH_METHOD *dhm);
       E	 extern
 I5	  72625 OSSL_DEPRECATEDIN_3_0 DH_METHOD *DH_meth_dup(const DH_METHOD *dhm);
       E	 extern
 I5	  72626 OSSL_DEPRECATEDIN_3_0 const char *DH_meth_get0_name(const DH_METHOD *dhm);
       E	 extern
 I5	  72627 OSSL_DEPRECATEDIN_3_0 int DH_meth_set1_name(DH_METHOD *dhm, const char *name);
       E	 extern
 I5	  72628 OSSL_DEPRECATEDIN_3_0 int DH_meth_get_flags(const DH_METHOD *dhm);
       E	 extern
 I5	  72629 OSSL_DEPRECATEDIN_3_0 int DH_meth_set_flags(DH_METHOD *dhm, int flags);
       E	 extern
 I5	  72630 OSSL_DEPRECATEDIN_3_0 void *DH_meth_get0_app_data(const DH_METHOD *dhm);
       E	 extern
 I5	  72631 OSSL_DEPRECATEDIN_3_0 int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data);
       E	 extern
 I5	  72632 OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *);
       E	 extern
 I5	  72633 OSSL_DEPRECATEDIN_3_0 int DH_meth_set_generate_key(DH_METHOD *dhm,
       E	 extern
 I5	  72634                                                    int (*generate_key) (DH *));
 I5	  72635 OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_compute_key(const DH_METHOD *dhm))
       E	 extern
 I5	  72636                                                    (unsigned char *key,
 I5	  72637                                                     const BIGNUM *pub_key,
 I5	  72638                                                     DH *dh);
 I5	  72639 OSSL_DEPRECATEDIN_3_0 int DH_meth_set_compute_key(DH_METHOD *dhm,
       E	 extern
 I5	  72640                                                   int (*compute_key)
 I5	  72641                                                   (unsigned char *key,
 I5	  72642                                                    const BIGNUM *pub_key,
 I5	  72643                                                    DH *dh));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1330
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DH.H;1

 I5	  72644 OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm))
       E	 extern
 I5	  72645                                                    (const DH *, BIGNUM *,
 I5	  72646                                                     const BIGNUM *,
 I5	  72647                                                     const BIGNUM *,
 I5	  72648                                                     const BIGNUM *, BN_CTX *,
 I5	  72649                                                     BN_MONT_CTX *);
 I5	  72650 OSSL_DEPRECATEDIN_3_0 int DH_meth_set_bn_mod_exp(DH_METHOD *dhm,
       E	 extern
 I5	  72651                                                  int (*bn_mod_exp)
 I5	  72652                                                  (const DH *, BIGNUM *,
 I5	  72653                                                   const BIGNUM *, const BIGNUM *,
 I5	  72654                                                   const BIGNUM *, BN_CTX *,
 I5	  72655                                                   BN_MONT_CTX *));
 I5	  72656 OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *);
       E	 extern
 I5	  72657 OSSL_DEPRECATEDIN_3_0 int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *));
       E	 extern
 I5	  72658 OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *);
       E	 extern
 I5	  72659 OSSL_DEPRECATEDIN_3_0 int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *));
       E	 extern
 I5	  72660 OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_generate_params(const DH_METHOD *dhm))
       E	 extern
 I5	  72661                                                         (DH *, int, int,
 I5	  72662                                                          BN_GENCB *);
 I5	  72663 OSSL_DEPRECATEDIN_3_0 int DH_meth_set_generate_params(DH_METHOD *dhm,
       E	 extern
 I5	  72664                                                       int (*generate_params)
 I5	  72665                                                       (DH *, int, int,
 I5	  72666                                                        BN_GENCB *));
 I5	  72667 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I5	  72668 
 I5	  72669 #  ifndef OPENSSL_NO_DEPRECATED_0_9_8
 I5	  72670 OSSL_DEPRECATEDIN_0_9_8 DH *DH_generate_parameters(int prime_len, int generator,
       E	 extern
 I5	  72671                                                    void (*callback) (int, int,
 I5	  72672                                                                 void *),
 I5	  72673                                                    void *cb_arg);
 I5	  72674 #  endif
 I5	  72675 
 I5	  72676 # endif
 I5    X  72677 # ifdef  __cplusplus
 I5    X  72678 }
 I5    X  72679 # endif
 I5	  72680 #endif
 I4	  72681 #  endif
 I4	  72682 #  include <openssl/dsaerr.h>
 I5	  72683 /*
 I5	  72684  * Generated by util/mkerr.pl DO NOT EDIT
 I5	  72685  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  72686  *
 I5	  72687  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  72688  * this file except in compliance with the License.  You can obtain a copy
 I5	  72689  * in the file LICENSE in the source distribution or at
 I5	  72690  * https://www.openssl.org/source/license.html
 I5	  72691  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1331
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DSAERR.H;1

 I5	  72692 
 I5	  72693 #ifndef OPENSSL_DSAERR_H
 I5	  72694 # define OPENSSL_DSAERR_H
 I5	  72695 # pragma once
 I5	  72696 
 I5    X  72697 # include <openssl/opensslconf.h>
 I5    X  72698 # include <openssl/symhacks.h>
 I5    X  72699 # include <openssl/cryptoerr_legacy.h>
 I5	  72700 
 I5	  72701 
 I5	  72702 # ifndef OPENSSL_NO_DSA
 I5	  72703 
 I5	  72704 
 I5	  72705 /*
 I5	  72706  * DSA reason codes.
 I5	  72707  */
 I5	  72708 #  define DSA_R_BAD_FFC_PARAMETERS                         114
 I5	  72709 #  define DSA_R_BAD_Q_VALUE                                102
 I5	  72710 #  define DSA_R_BN_DECODE_ERROR                            108
 I5	  72711 #  define DSA_R_BN_ERROR                                   109
 I5	  72712 #  define DSA_R_DECODE_ERROR                               104
 I5	  72713 #  define DSA_R_INVALID_DIGEST_TYPE                        106
 I5	  72714 #  define DSA_R_INVALID_PARAMETERS                         112
 I5	  72715 #  define DSA_R_MISSING_PARAMETERS                         101
 I5	  72716 #  define DSA_R_MISSING_PRIVATE_KEY                        111
 I5	  72717 #  define DSA_R_MODULUS_TOO_LARGE                          103
 I5	  72718 #  define DSA_R_NO_PARAMETERS_SET                          107
 I5	  72719 #  define DSA_R_PARAMETER_ENCODING_ERROR                   105
 I5	  72720 #  define DSA_R_P_NOT_PRIME                                115
 I5	  72721 #  define DSA_R_Q_NOT_PRIME                                113
 I5	  72722 #  define DSA_R_SEED_LEN_SMALL                             110
 I5	  72723 
 I5	  72724 # endif
 I5	  72725 #endif
 I4	  72726 
 I4	  72727 #  ifndef OPENSSL_DSA_MAX_MODULUS_BITS
 I4	  72728 #   define OPENSSL_DSA_MAX_MODULUS_BITS   10000
 I4	  72729 #  endif
 I4	  72730 
 I4	  72731 #  define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024
 I4	  72732 
 I4	  72733 typedef struct DSA_SIG_st DSA_SIG;
 I4	  72734 DSA_SIG *DSA_SIG_new(void);
 I4	  72735 void DSA_SIG_free(DSA_SIG *a);
 I4	  72736 DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA_SIG, DSA_SIG)
       E	 extern DSA_SIG * d2i_DSA_SIG ( DSA_SIG * * a , const unsigned char * * in , long len ) ; extern int i2d_DSA_SIG ( c
       E	onst DSA_SIG * a , unsigned char * * out ) ;
 I4	  72737 void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
 I4	  72738 int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s);
 I4	  72739 
 I4	  72740 
 I4	  72741 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  72742 /*
 I4	  72743  * Does nothing. Previously this switched off constant time behaviour.
 I4	  72744  */
 I4	  72745 #   define DSA_FLAG_NO_EXP_CONSTTIME       0x00
 I4	  72746 #  endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1332
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DSA.H;1

 I4	  72747 
 I4	  72748 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  72749 #   define DSA_FLAG_CACHE_MONT_P   0x01
 I4	  72750 
 I4	  72751 /*
 I4	  72752  * If this flag is set the DSA method is FIPS compliant and can be used in
 I4	  72753  * FIPS mode. This is set in the validated module method. If an application
 I4	  72754  * sets this flag in its own methods it is its responsibility to ensure the
 I4	  72755  * result is compliant.
 I4	  72756  */
 I4	  72757 
 I4	  72758 #   define DSA_FLAG_FIPS_METHOD                    0x0400
 I4	  72759 
 I4	  72760 /*
 I4	  72761  * If this flag is set the operations normally disabled in FIPS mode are
 I4	  72762  * permitted it is then the applications responsibility to ensure that the
 I4	  72763  * usage is compliant.
 I4	  72764  */
 I4	  72765 
 I4	  72766 #   define DSA_FLAG_NON_FIPS_ALLOW                 0x0400
 I4	  72767 #   define DSA_FLAG_FIPS_CHECKED                   0x0800
 I4	  72768 
 I4	  72769 /* Already defined in ossl_typ.h */
 I4	  72770 /* typedef struct dsa_st DSA; */
 I4	  72771 /* typedef struct dsa_method DSA_METHOD; */
 I4	  72772 
 I4	  72773 #   define d2i_DSAparams_fp(fp, x) \
 I4	  72774         (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \
 I4	  72775                            (char *(*)())d2i_DSAparams, (fp), \
 I4	  72776                            (unsigned char **)(x))
 I4	  72777 #   define i2d_DSAparams_fp(fp, x) \
 I4	  72778         ASN1_i2d_fp(i2d_DSAparams, (fp), (unsigned char *)(x))
 I4	  72779 #   define d2i_DSAparams_bio(bp, x) \
 I4	  72780         ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSAparams, bp, x)
 I4	  72781 #   define i2d_DSAparams_bio(bp, x) \
 I4	  72782         ASN1_i2d_bio_of(DSA, i2d_DSAparams, bp, x)
 I4	  72783 
 I4	  72784 DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, DSA, DSAparams)
       E	 extern DSA * DSAparams_dup ( const DSA * a ) ;
 I4	  72785 OSSL_DEPRECATEDIN_3_0 DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen,
       E	 extern
 I4	  72786                                            DSA *dsa);
 I4	  72787 OSSL_DEPRECATEDIN_3_0 int DSA_do_verify(const unsigned char *dgst, int dgst_len,
       E	 extern
 I4	  72788                                         DSA_SIG *sig, DSA *dsa);
 I4	  72789 
 I4	  72790 OSSL_DEPRECATEDIN_3_0 const DSA_METHOD *DSA_OpenSSL(void);
       E	 extern
 I4	  72791 
 I4	  72792 OSSL_DEPRECATEDIN_3_0 void DSA_set_default_method(const DSA_METHOD *);
       E	 extern
 I4	  72793 OSSL_DEPRECATEDIN_3_0 const DSA_METHOD *DSA_get_default_method(void);
       E	 extern
 I4	  72794 OSSL_DEPRECATEDIN_3_0 int DSA_set_method(DSA *dsa, const DSA_METHOD *);
       E	 extern
 I4	  72795 OSSL_DEPRECATEDIN_3_0 const DSA_METHOD *DSA_get_method(DSA *d);
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1333
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DSA.H;1

 I4	  72796 
 I4	  72797 OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
       E	 extern
 I4	  72798 OSSL_DEPRECATEDIN_3_0 DSA *DSA_new_method(ENGINE *engine);
       E	 extern
 I4	  72799 OSSL_DEPRECATEDIN_3_0 void DSA_free(DSA *r);
       E	 extern
 I4	  72800 /* "up" the DSA object's reference count */
 I4	  72801 OSSL_DEPRECATEDIN_3_0 int DSA_up_ref(DSA *r);
       E	 extern
 I4	  72802 OSSL_DEPRECATEDIN_3_0 int DSA_size(const DSA *);
       E	 extern
 I4	  72803 OSSL_DEPRECATEDIN_3_0 int DSA_bits(const DSA *d);
       E	 extern
 I4	  72804 OSSL_DEPRECATEDIN_3_0 int DSA_security_bits(const DSA *d);
       E	 extern
 I4	  72805         /* next 4 return -1 on error */
 I4	  72806 OSSL_DEPRECATEDIN_3_0 int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in,
       E	 extern
 I4	  72807                                          BIGNUM **kinvp, BIGNUM **rp);
 I4	  72808 OSSL_DEPRECATEDIN_3_0 int DSA_sign(int type, const unsigned char *dgst,
       E	 extern
 I4	  72809                                    int dlen, unsigned char *sig,
 I4	  72810                                    unsigned int *siglen, DSA *dsa);
 I4	  72811 OSSL_DEPRECATEDIN_3_0 int DSA_verify(int type, const unsigned char *dgst,
       E	 extern
 I4	  72812                                      int dgst_len, const unsigned char *sigbuf,
 I4	  72813                                      int siglen, DSA *dsa);
 I4	  72814 
 I4	  72815 #   define DSA_get_ex_new_index(l, p, newf, dupf, freef) \
 I4	  72816         CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DSA, l, p, newf, dupf, freef)
 I4	  72817 OSSL_DEPRECATEDIN_3_0 int DSA_set_ex_data(DSA *d, int idx, void *arg);
       E	 extern
 I4	  72818 OSSL_DEPRECATEDIN_3_0 void *DSA_get_ex_data(const DSA *d, int idx);
       E	 extern
 I4	  72819 
 I4	  72820 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,
       E	 extern DSA * d2i_DSAPublicKey ( DSA * * a , const unsigned char * * in , long len ) ; extern int i2d_DSAPublicKey (
       E	 const DSA * a , unsigned char * * out ) ;
 I4	  72821                                         DSA, DSAPublicKey)
 I4	  72822 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,
       E	 extern DSA * d2i_DSAPrivateKey ( DSA * * a , const unsigned char * * in , long len ) ; extern int i2d_DSAPrivateKey
       E	 ( const DSA * a , unsigned char * * out ) ;
 I4	  72823                                         DSA, DSAPrivateKey)
 I4	  72824 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,
       E	 extern DSA * d2i_DSAparams ( DSA * * a , const unsigned char * * in , long len ) ; extern int i2d_DSAparams ( const
       E	 DSA * a , unsigned char * * out ) ;
 I4	  72825                                         DSA, DSAparams)
 I4	  72826 #  endif
 I4	  72827 
 I4	  72828 #  ifndef OPENSSL_NO_DEPRECATED_0_9_8
 I4	  72829 /* Deprecated version */
 I4	  72830 OSSL_DEPRECATEDIN_0_9_8
       E	 extern
 I4	  72831 DSA *DSA_generate_parameters(int bits, unsigned char *seed, int seed_len,
 I4	  72832                              int *counter_ret, unsigned long *h_ret,
 I4	  72833                              void (*callback) (int, int, void *),

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1334
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DSA.H;1

 I4	  72834                              void *cb_arg);
 I4	  72835 #  endif
 I4	  72836 
 I4	  72837 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  72838 /* New version */
 I4	  72839 OSSL_DEPRECATEDIN_3_0 int DSA_generate_parameters_ex(DSA *dsa, int bits,
       E	 extern
 I4	  72840                                                      const unsigned char *seed,
 I4	  72841                                                      int seed_len,
 I4	  72842                                                      int *counter_ret,
 I4	  72843                                                      unsigned long *h_ret,
 I4	  72844                                                      BN_GENCB *cb);
 I4	  72845 
 I4	  72846 OSSL_DEPRECATEDIN_3_0 int DSA_generate_key(DSA *a);
       E	 extern
 I4	  72847 
 I4	  72848 OSSL_DEPRECATEDIN_3_0 int DSAparams_print(BIO *bp, const DSA *x);
       E	 extern
 I4	  72849 OSSL_DEPRECATEDIN_3_0 int DSA_print(BIO *bp, const DSA *x, int off);
       E	 extern
 I4	  72850 #   ifndef OPENSSL_NO_STDIO
 I4	  72851 OSSL_DEPRECATEDIN_3_0 int DSAparams_print_fp(FILE *fp, const DSA *x);
       E	 extern
 I4	  72852 OSSL_DEPRECATEDIN_3_0 int DSA_print_fp(FILE *bp, const DSA *x, int off);
       E	 extern
 I4	  72853 #   endif
 I4	  72854 
 I4	  72855 #   define DSS_prime_checks 64
 I4	  72856 /*
 I4	  72857  * Primality test according to FIPS PUB 186-4, Appendix C.3. Since we only
 I4	  72858  * have one value here we set the number of checks to 64 which is the 128 bit
 I4	  72859  * security level that is the highest level and valid for creating a 3072 bit
 I4	  72860  * DSA key.
 I4	  72861  */
 I4	  72862 #   define DSA_is_prime(n, callback, cb_arg) \
 I4	  72863             BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg)
 I4	  72864 
 I4	  72865 #   ifndef OPENSSL_NO_DH
 I4	  72866 /*
 I4	  72867  * Convert DSA structure (key or just parameters) into DH structure (be
 I4	  72868  * careful to avoid small subgroup attacks when using this!)
 I4	  72869  */
 I4	  72870 OSSL_DEPRECATEDIN_3_0 DH *DSA_dup_DH(const DSA *r);
       E	 extern
 I4	  72871 #   endif
 I4	  72872 
 I4	  72873 OSSL_DEPRECATEDIN_3_0 void DSA_get0_pqg(const DSA *d, const BIGNUM **p,
       E	 extern
 I4	  72874                                         const BIGNUM **q, const BIGNUM **g);
 I4	  72875 OSSL_DEPRECATEDIN_3_0 int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
       E	 extern
 I4	  72876 OSSL_DEPRECATEDIN_3_0 void DSA_get0_key(const DSA *d, const BIGNUM **pub_key,
       E	 extern
 I4	  72877                                         const BIGNUM **priv_key);
 I4	  72878 OSSL_DEPRECATEDIN_3_0 int DSA_set0_key(DSA *d, BIGNUM *pub_key,
       E	 extern
 I4	  72879                                        BIGNUM *priv_key);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1335
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DSA.H;1

 I4	  72880 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DSA_get0_p(const DSA *d);
       E	 extern
 I4	  72881 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DSA_get0_q(const DSA *d);
       E	 extern
 I4	  72882 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DSA_get0_g(const DSA *d);
       E	 extern
 I4	  72883 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DSA_get0_pub_key(const DSA *d);
       E	 extern
 I4	  72884 OSSL_DEPRECATEDIN_3_0 const BIGNUM *DSA_get0_priv_key(const DSA *d);
       E	 extern
 I4	  72885 OSSL_DEPRECATEDIN_3_0 void DSA_clear_flags(DSA *d, int flags);
       E	 extern
 I4	  72886 OSSL_DEPRECATEDIN_3_0 int DSA_test_flags(const DSA *d, int flags);
       E	 extern
 I4	  72887 OSSL_DEPRECATEDIN_3_0 void DSA_set_flags(DSA *d, int flags);
       E	 extern
 I4	  72888 OSSL_DEPRECATEDIN_3_0 ENGINE *DSA_get0_engine(DSA *d);
       E	 extern
 I4	  72889 
 I4	  72890 OSSL_DEPRECATEDIN_3_0 DSA_METHOD *DSA_meth_new(const char *name, int flags);
       E	 extern
 I4	  72891 OSSL_DEPRECATEDIN_3_0 void DSA_meth_free(DSA_METHOD *dsam);
       E	 extern
 I4	  72892 OSSL_DEPRECATEDIN_3_0 DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam);
       E	 extern
 I4	  72893 OSSL_DEPRECATEDIN_3_0 const char *DSA_meth_get0_name(const DSA_METHOD *dsam);
       E	 extern
 I4	  72894 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set1_name(DSA_METHOD *dsam,
       E	 extern
 I4	  72895                                              const char *name);
 I4	  72896 OSSL_DEPRECATEDIN_3_0 int DSA_meth_get_flags(const DSA_METHOD *dsam);
       E	 extern
 I4	  72897 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_flags(DSA_METHOD *dsam, int flags);
       E	 extern
 I4	  72898 OSSL_DEPRECATEDIN_3_0 void *DSA_meth_get0_app_data(const DSA_METHOD *dsam);
       E	 extern
 I4	  72899 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set0_app_data(DSA_METHOD *dsam,
       E	 extern
 I4	  72900                                                  void *app_data);
 I4	  72901 OSSL_DEPRECATEDIN_3_0 DSA_SIG *(*DSA_meth_get_sign(const DSA_METHOD *dsam))
       E	 extern
 I4	  72902         (const unsigned char *, int, DSA *);
 I4	  72903 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_sign(DSA_METHOD *dsam,
       E	 extern
 I4	  72904                        DSA_SIG *(*sign) (const unsigned char *, int, DSA *));
 I4	  72905 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam))
       E	 extern
 I4	  72906         (DSA *, BN_CTX *, BIGNUM **, BIGNUM **);
 I4	  72907 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_sign_setup(DSA_METHOD *dsam,
       E	 extern
 I4	  72908         int (*sign_setup) (DSA *, BN_CTX *, BIGNUM **, BIGNUM **));
 I4	  72909 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_verify(const DSA_METHOD *dsam))
       E	 extern
 I4	  72910         (const unsigned char *, int, DSA_SIG *, DSA *);
 I4	  72911 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_verify(DSA_METHOD *dsam,
       E	 extern
 I4	  72912     int (*verify) (const unsigned char *, int, DSA_SIG *, DSA *));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1336
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]DSA.H;1

 I4	  72913 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam))
       E	 extern
 I4	  72914         (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *,
 I4	  72915          const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *);
 I4	  72916 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_mod_exp(DSA_METHOD *dsam,
       E	 extern
 I4	  72917     int (*mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *,
 I4	  72918                     const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *,
 I4	  72919                     BN_MONT_CTX *));
 I4	  72920 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam))
       E	 extern
 I4	  72921     (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *,
 I4	  72922      BN_CTX *, BN_MONT_CTX *);
 I4	  72923 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam,
       E	 extern
 I4	  72924     int (*bn_mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *,
 I4	  72925                        const BIGNUM *, BN_CTX *, BN_MONT_CTX *));
 I4	  72926 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *);
       E	 extern
 I4	  72927 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_init(DSA_METHOD *dsam,
       E	 extern
 I4	  72928                                             int (*init)(DSA *));
 I4	  72929 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_finish(const DSA_METHOD *dsam))(DSA *);
       E	 extern
 I4	  72930 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_finish(DSA_METHOD *dsam,
       E	 extern
 I4	  72931                                               int (*finish)(DSA *));
 I4	  72932 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam))
       E	 extern
 I4	  72933         (DSA *, int, const unsigned char *, int, int *, unsigned long *,
 I4	  72934          BN_GENCB *);
 I4	  72935 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_paramgen(DSA_METHOD *dsam,
       E	 extern
 I4	  72936         int (*paramgen) (DSA *, int, const unsigned char *, int, int *,
 I4	  72937                          unsigned long *, BN_GENCB *));
 I4	  72938 OSSL_DEPRECATEDIN_3_0 int (*DSA_meth_get_keygen(const DSA_METHOD *dsam))(DSA *);
       E	 extern
 I4	  72939 OSSL_DEPRECATEDIN_3_0 int DSA_meth_set_keygen(DSA_METHOD *dsam,
       E	 extern
 I4	  72940                                               int (*keygen) (DSA *));
 I4	  72941 
 I4	  72942 #  endif
 I4	  72943 # endif
 I4    X  72944 # ifdef  __cplusplus
 I4    X  72945 }
 I4    X  72946 # endif
 I4	  72947 #endif
 I3    X  72948 #  include <openssl/dh.h>
 I3	  72949 # endif
 I3	  72950 
 I3	  72951 # include <openssl/sha.h>
 I4	  72952 /*
 I4	  72953  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  72954  *
 I4	  72955  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  72956  * this file except in compliance with the License.  You can obtain a copy
 I4	  72957  * in the file LICENSE in the source distribution or at

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1337
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]SHA.H;1

 I4	  72958  * https://www.openssl.org/source/license.html
 I4	  72959  */
 I4	  72960 
 I4	  72961 #ifndef OPENSSL_SHA_H
 I4	  72962 # define OPENSSL_SHA_H
 I4	  72963 # pragma once
 I4	  72964 
 I4    X  72965 # include <openssl/macros.h>
 I4	  72966 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  72967 #  define HEADER_SHA_H
 I4	  72968 # endif
 I4	  72969 
 I4    X  72970 # include <openssl/e_os2.h>
 I4    X  72971 # include <stddef.h>
 I4	  72972 
 I4    X  72973 # ifdef  __cplusplus
 I4    X  72974 extern "C" {
 I4    X  72975 # endif
 I4	  72976 
 I4	  72977 # define SHA_DIGEST_LENGTH 20
 I4	  72978 
 I4	  72979 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  72980 /*-
 I4	  72981  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 I4	  72982  * ! SHA_LONG has to be at least 32 bits wide.                    !
 I4	  72983  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 I4	  72984  */
 I4	  72985 #  define SHA_LONG unsigned int
 I4	  72986 
 I4	  72987 #  define SHA_LBLOCK      16
 I4	  72988 #  define SHA_CBLOCK      (SHA_LBLOCK*4)/* SHA treats input data as a
 I4	  72989                                          * contiguous array of 32 bit wide
 I4	  72990                                          * big-endian values. */
 I4	  72991 #  define SHA_LAST_BLOCK  (SHA_CBLOCK-8)
 I4	  72992 
 I4	  72993 typedef struct SHAstate_st {
 I4	  72994     SHA_LONG h0, h1, h2, h3, h4;
       E	     unsigned int
 I4	  72995     SHA_LONG Nl, Nh;
       E	     unsigned int
 I4	  72996     SHA_LONG data[SHA_LBLOCK];
       E	     unsigned int
       E	                   16
 I4	  72997     unsigned int num;
 I4	  72998 } SHA_CTX;
 I4	  72999 
 I4	  73000 OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
       E	 extern
 I4	  73001 OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
       E	 extern
 I4	  73002 OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
       E	 extern
 I4	  73003 OSSL_DEPRECATEDIN_3_0 void SHA1_Transform(SHA_CTX *c, const unsigned char *data);
       E	 extern
 I4	  73004 # endif
 I4	  73005 
 I4	  73006 unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1338
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SHA.H;1

 I4	  73007 
 I4	  73008 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  73009 #  define SHA256_CBLOCK   (SHA_LBLOCK*4)/* SHA-256 treats input data as a
 I4	  73010                                         * contiguous array of 32 bit wide
 I4	  73011                                         * big-endian values. */
 I4	  73012 
 I4	  73013 typedef struct SHA256state_st {
 I4	  73014     SHA_LONG h[8];
       E	     unsigned int
 I4	  73015     SHA_LONG Nl, Nh;
       E	     unsigned int
 I4	  73016     SHA_LONG data[SHA_LBLOCK];
       E	     unsigned int
       E	                   16
 I4	  73017     unsigned int num, md_len;
 I4	  73018 } SHA256_CTX;
 I4	  73019 
 I4	  73020 OSSL_DEPRECATEDIN_3_0 int SHA224_Init(SHA256_CTX *c);
       E	 extern
 I4	  73021 OSSL_DEPRECATEDIN_3_0 int SHA224_Update(SHA256_CTX *c,
       E	 extern
 I4	  73022                                         const void *data, size_t len);
 I4	  73023 OSSL_DEPRECATEDIN_3_0 int SHA224_Final(unsigned char *md, SHA256_CTX *c);
       E	 extern
 I4	  73024 OSSL_DEPRECATEDIN_3_0 int SHA256_Init(SHA256_CTX *c);
       E	 extern
 I4	  73025 OSSL_DEPRECATEDIN_3_0 int SHA256_Update(SHA256_CTX *c,
       E	 extern
 I4	  73026                                         const void *data, size_t len);
 I4	  73027 OSSL_DEPRECATEDIN_3_0 int SHA256_Final(unsigned char *md, SHA256_CTX *c);
       E	 extern
 I4	  73028 OSSL_DEPRECATEDIN_3_0 void SHA256_Transform(SHA256_CTX *c,
       E	 extern
 I4	  73029                                             const unsigned char *data);
 I4	  73030 # endif
 I4	  73031 
 I4	  73032 unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md);
 I4	  73033 unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md);
 I4	  73034 
 I4	  73035 # define SHA224_DIGEST_LENGTH    28
 I4	  73036 # define SHA256_DIGEST_LENGTH    32
 I4	  73037 # define SHA384_DIGEST_LENGTH    48
 I4	  73038 # define SHA512_DIGEST_LENGTH    64
 I4	  73039 
 I4	  73040 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  73041 /*
 I4	  73042  * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64
 I4	  73043  * being exactly 64-bit wide. See Implementation Notes in sha512.c
 I4	  73044  * for further details.
 I4	  73045  */
 I4	  73046 /*
 I4	  73047  * SHA-512 treats input data as a
 I4	  73048  * contiguous array of 64 bit
 I4	  73049  * wide big-endian values.
 I4	  73050  */
 I4	  73051 #  define SHA512_CBLOCK   (SHA_LBLOCK*8)
 I4    X  73052 #  if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1339
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SHA.H;1

 I4    X  73053 #   define SHA_LONG64 unsigned __int64
 I4    X  73054 #  elif defined(__arch64__)
 I4    X  73055 #   define SHA_LONG64 unsigned long
 I4    X  73056 #  else
 I4	  73057 #   define SHA_LONG64 unsigned long long
 I4	  73058 #  endif
 I4	  73059 
 I4	  73060 typedef struct SHA512state_st {
 I4	  73061     SHA_LONG64 h[8];
       E	     unsigned long long
 I4	  73062     SHA_LONG64 Nl, Nh;
       E	     unsigned long long
 I4	  73063     union {
 I4	  73064         SHA_LONG64 d[SHA_LBLOCK];
       E	         unsigned long long
       E	                      16
 I4	  73065         unsigned char p[SHA512_CBLOCK];
       E	                         ( 16 * 8 )
 I4	  73066     } u;
 I4	  73067     unsigned int num, md_len;
 I4	  73068 } SHA512_CTX;
 I4	  73069 
 I4	  73070 OSSL_DEPRECATEDIN_3_0 int SHA384_Init(SHA512_CTX *c);
       E	 extern
 I4	  73071 OSSL_DEPRECATEDIN_3_0 int SHA384_Update(SHA512_CTX *c,
       E	 extern
 I4	  73072                                         const void *data, size_t len);
 I4	  73073 OSSL_DEPRECATEDIN_3_0 int SHA384_Final(unsigned char *md, SHA512_CTX *c);
       E	 extern
 I4	  73074 OSSL_DEPRECATEDIN_3_0 int SHA512_Init(SHA512_CTX *c);
       E	 extern
 I4	  73075 OSSL_DEPRECATEDIN_3_0 int SHA512_Update(SHA512_CTX *c,
       E	 extern
 I4	  73076                                         const void *data, size_t len);
 I4	  73077 OSSL_DEPRECATEDIN_3_0 int SHA512_Final(unsigned char *md, SHA512_CTX *c);
       E	 extern
 I4	  73078 OSSL_DEPRECATEDIN_3_0 void SHA512_Transform(SHA512_CTX *c,
       E	 extern
 I4	  73079                                             const unsigned char *data);
 I4	  73080 # endif
 I4	  73081 
 I4	  73082 unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md);
 I4	  73083 unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md);
 I4	  73084 
 I4    X  73085 # ifdef  __cplusplus
 I4    X  73086 }
 I4    X  73087 # endif
 I4	  73088 
 I4	  73089 #endif
 I3	  73090 # include <openssl/x509err.h>
 I4	  73091 /*
 I4	  73092  * Generated by util/mkerr.pl DO NOT EDIT
 I4	  73093  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  73094  *
 I4	  73095  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  73096  * this file except in compliance with the License.  You can obtain a copy
 I4	  73097  * in the file LICENSE in the source distribution or at

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1340
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509ERR.H;1

 I4	  73098  * https://www.openssl.org/source/license.html
 I4	  73099  */
 I4	  73100 
 I4	  73101 #ifndef OPENSSL_X509ERR_H
 I4	  73102 # define OPENSSL_X509ERR_H
 I4	  73103 # pragma once
 I4	  73104 
 I4    X  73105 # include <openssl/opensslconf.h>
 I4    X  73106 # include <openssl/symhacks.h>
 I4    X  73107 # include <openssl/cryptoerr_legacy.h>
 I4	  73108 
 I4	  73109 
 I4	  73110 
 I4	  73111 /*
 I4	  73112  * X509 reason codes.
 I4	  73113  */
 I4	  73114 # define X509_R_AKID_MISMATCH                             110
 I4	  73115 # define X509_R_BAD_SELECTOR                              133
 I4	  73116 # define X509_R_BAD_X509_FILETYPE                         100
 I4	  73117 # define X509_R_BASE64_DECODE_ERROR                       118
 I4	  73118 # define X509_R_CANT_CHECK_DH_KEY                         114
 I4	  73119 # define X509_R_CERTIFICATE_VERIFICATION_FAILED           139
 I4	  73120 # define X509_R_CERT_ALREADY_IN_HASH_TABLE                101
 I4	  73121 # define X509_R_CRL_ALREADY_DELTA                         127
 I4	  73122 # define X509_R_CRL_VERIFY_FAILURE                        131
 I4	  73123 # define X509_R_ERROR_GETTING_MD_BY_NID                   141
 I4	  73124 # define X509_R_ERROR_USING_SIGINF_SET                    142
 I4	  73125 # define X509_R_IDP_MISMATCH                              128
 I4	  73126 # define X509_R_INVALID_ATTRIBUTES                        138
 I4	  73127 # define X509_R_INVALID_DIRECTORY                         113
 I4	  73128 # define X509_R_INVALID_DISTPOINT                         143
 I4	  73129 # define X509_R_INVALID_FIELD_NAME                        119
 I4	  73130 # define X509_R_INVALID_TRUST                             123
 I4	  73131 # define X509_R_ISSUER_MISMATCH                           129
 I4	  73132 # define X509_R_KEY_TYPE_MISMATCH                         115
 I4	  73133 # define X509_R_KEY_VALUES_MISMATCH                       116
 I4	  73134 # define X509_R_LOADING_CERT_DIR                          103
 I4	  73135 # define X509_R_LOADING_DEFAULTS                          104
 I4	  73136 # define X509_R_METHOD_NOT_SUPPORTED                      124
 I4	  73137 # define X509_R_NAME_TOO_LONG                             134
 I4	  73138 # define X509_R_NEWER_CRL_NOT_NEWER                       132
 I4	  73139 # define X509_R_NO_CERTIFICATE_FOUND                      135
 I4	  73140 # define X509_R_NO_CERTIFICATE_OR_CRL_FOUND               136
 I4	  73141 # define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY              105
 I4	  73142 # define X509_R_NO_CRL_FOUND                              137
 I4	  73143 # define X509_R_NO_CRL_NUMBER                             130
 I4	  73144 # define X509_R_PUBLIC_KEY_DECODE_ERROR                   125
 I4	  73145 # define X509_R_PUBLIC_KEY_ENCODE_ERROR                   126
 I4	  73146 # define X509_R_SHOULD_RETRY                              106
 I4	  73147 # define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN        107
 I4	  73148 # define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY            108
 I4	  73149 # define X509_R_UNKNOWN_KEY_TYPE                          117
 I4	  73150 # define X509_R_UNKNOWN_NID                               109
 I4	  73151 # define X509_R_UNKNOWN_PURPOSE_ID                        121
 I4	  73152 # define X509_R_UNKNOWN_SIGID_ALGS                        144
 I4	  73153 # define X509_R_UNKNOWN_TRUST_ID                          120
 I4	  73154 # define X509_R_UNSUPPORTED_ALGORITHM                     111

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1341
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509ERR.H;1

 I4	  73155 # define X509_R_WRONG_LOOKUP_TYPE                         112
 I4	  73156 # define X509_R_WRONG_TYPE                                122
 I4	  73157 
 I4	  73158 #endif
 I3	  73159 
 I3    X  73160 #ifdef  __cplusplus
 I3    X  73161 extern "C" {
 I3    X  73162 #endif
 I3	  73163 
 I3	  73164 /* Needed stacks for types defined in other headers */
 I3   1	  73165 SKM_DEFINE_STACK_OF_INTERNAL(X509_NAME, X509_NAME, X509_NAME)
       E	 struct stack_st_X509_NAME ; typedef int ( * sk_X509_NAME_compfunc ) ( const X509_NAME * const * a , const X509_NAME
       E	 * const * b ) ; typedef void ( * sk_X509_NAME_freefunc ) ( X509_NAME * a ) ; typedef X509_NAME * ( * sk_X509_NAME_c
       E	opyfunc ) ( const X509_NAME * a ) ; static __inline X509_NAME * ossl_check_X509_NAME_type ( X509_NAME * ptr ) { retu
       E	rn ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_NAME_sk_type ( const struct stack_st_X509_NAM
       E	E * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_NAME_sk_type ( st
       E	ruct stack_st_X509_NAME * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_X5
       E	09_NAME_compfunc_type ( sk_X509_NAME_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL
       E	_sk_copyfunc ossl_check_X509_NAME_copyfunc_type ( sk_X509_NAME_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ;
       E	 } static __inline OPENSSL_sk_freefunc ossl_check_X509_NAME_freefunc_type ( sk_X509_NAME_freefunc fr ) { return ( OP
       E	ENSSL_sk_freefunc ) fr ; }
 I3	  73166 #define sk_X509_NAME_num(sk) OPENSSL_sk_num(ossl_check_const_X509_NAME_sk_type(sk))
 I3	  73167 #define sk_X509_NAME_value(sk, idx) ((X509_NAME *)OPENSSL_sk_value(ossl_check_const_X509_NAME_sk_type(sk), (idx)))
 I3	  73168 #define sk_X509_NAME_new(cmp) ((STACK_OF(X509_NAME) *)OPENSSL_sk_new(ossl_check_X509_NAME_compfunc_type(cmp)))
 I3	  73169 #define sk_X509_NAME_new_null() ((STACK_OF(X509_NAME) *)OPENSSL_sk_new_null())
 I3	  73170 #define sk_X509_NAME_new_reserve(cmp, n) ((STACK_OF(X509_NAME) *)OPENSSL_sk_new_reserve(ossl_check_X509_NAME_compfun
 I3	  73170 c_type(cmp), (n)))
 I3	  73171 #define sk_X509_NAME_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_NAME_sk_type(sk), (n))
 I3	  73172 #define sk_X509_NAME_free(sk) OPENSSL_sk_free(ossl_check_X509_NAME_sk_type(sk))
 I3	  73173 #define sk_X509_NAME_zero(sk) OPENSSL_sk_zero(ossl_check_X509_NAME_sk_type(sk))
 I3	  73174 #define sk_X509_NAME_delete(sk, i) ((X509_NAME *)OPENSSL_sk_delete(ossl_check_X509_NAME_sk_type(sk), (i)))
 I3	  73175 #define sk_X509_NAME_delete_ptr(sk, ptr) ((X509_NAME *)OPENSSL_sk_delete_ptr(ossl_check_X509_NAME_sk_type(sk), ossl_
 I3	  73175 check_X509_NAME_type(ptr)))
 I3	  73176 #define sk_X509_NAME_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr))
 I3	  73177 #define sk_X509_NAME_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type
 I3	  73177 (ptr))
 I3	  73178 #define sk_X509_NAME_pop(sk) ((X509_NAME *)OPENSSL_sk_pop(ossl_check_X509_NAME_sk_type(sk)))
 I3	  73179 #define sk_X509_NAME_shift(sk) ((X509_NAME *)OPENSSL_sk_shift(ossl_check_X509_NAME_sk_type(sk)))
 I3	  73180 #define sk_X509_NAME_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_NAME_sk_type(sk),ossl_check_X509_NAM
 I3	  73180 E_freefunc_type(freefunc))
 I3	  73181 #define sk_X509_NAME_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_t
 I3	  73181 ype(ptr), (idx))
 I3	  73182 #define sk_X509_NAME_set(sk, idx, ptr) ((X509_NAME *)OPENSSL_sk_set(ossl_check_X509_NAME_sk_type(sk), (idx), ossl_ch
 I3	  73182 eck_X509_NAME_type(ptr)))
 I3	  73183 #define sk_X509_NAME_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr))
 I3	  73184 #define sk_X509_NAME_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type
 I3	  73184 (ptr))
 I3	  73185 #define sk_X509_NAME_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_N
 I3	  73185 AME_type(ptr), pnum)
 I3	  73186 #define sk_X509_NAME_sort(sk) OPENSSL_sk_sort(ossl_check_X509_NAME_sk_type(sk))
 I3	  73187 #define sk_X509_NAME_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_NAME_sk_type(sk))
 I3	  73188 #define sk_X509_NAME_dup(sk) ((STACK_OF(X509_NAME) *)OPENSSL_sk_dup(ossl_check_const_X509_NAME_sk_type(sk)))
 I3	  73189 #define sk_X509_NAME_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_NAME) *)OPENSSL_sk_deep_copy(ossl_check_const
 I3	  73189 _X509_NAME_sk_type(sk), ossl_check_X509_NAME_copyfunc_type(copyfunc), ossl_check_X509_NAME_freefunc_type(freefunc)))
 I3	  73190 #define sk_X509_NAME_set_cmp_func(sk, cmp) ((sk_X509_NAME_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_NAME_sk_t
 I3	  73190 ype(sk), ossl_check_X509_NAME_compfunc_type(cmp)))
 I3   1	  73191 SKM_DEFINE_STACK_OF_INTERNAL(X509, X509, X509)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1342
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

       E	 struct stack_st_X509 ; typedef int ( * sk_X509_compfunc ) ( const X509 * const * a , const X509 * const * b ) ; typ
       E	edef void ( * sk_X509_freefunc ) ( X509 * a ) ; typedef X509 * ( * sk_X509_copyfunc ) ( const X509 * a ) ; static __
       E	inline X509 * ossl_check_X509_type ( X509 * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_
       E	const_X509_sk_type ( const struct stack_st_X509 * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPE
       E	NSSL_STACK * ossl_check_X509_sk_type ( struct stack_st_X509 * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inli
       E	ne OPENSSL_sk_compfunc ossl_check_X509_compfunc_type ( sk_X509_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ;
       E	 } static __inline OPENSSL_sk_copyfunc ossl_check_X509_copyfunc_type ( sk_X509_copyfunc cpy ) { return ( OPENSSL_sk_
       E	copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_freefunc_type ( sk_X509_freefunc fr ) { retur
       E	n ( OPENSSL_sk_freefunc ) fr ; }
 I3	  73192 #define sk_X509_num(sk) OPENSSL_sk_num(ossl_check_const_X509_sk_type(sk))
 I3	  73193 #define sk_X509_value(sk, idx) ((X509 *)OPENSSL_sk_value(ossl_check_const_X509_sk_type(sk), (idx)))
 I3	  73194 #define sk_X509_new(cmp) ((STACK_OF(X509) *)OPENSSL_sk_new(ossl_check_X509_compfunc_type(cmp)))
 I3	  73195 #define sk_X509_new_null() ((STACK_OF(X509) *)OPENSSL_sk_new_null())
 I3	  73196 #define sk_X509_new_reserve(cmp, n) ((STACK_OF(X509) *)OPENSSL_sk_new_reserve(ossl_check_X509_compfunc_type(cmp), (n
 I3	  73196 )))
 I3	  73197 #define sk_X509_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_sk_type(sk), (n))
 I3	  73198 #define sk_X509_free(sk) OPENSSL_sk_free(ossl_check_X509_sk_type(sk))
 I3	  73199 #define sk_X509_zero(sk) OPENSSL_sk_zero(ossl_check_X509_sk_type(sk))
 I3	  73200 #define sk_X509_delete(sk, i) ((X509 *)OPENSSL_sk_delete(ossl_check_X509_sk_type(sk), (i)))
 I3	  73201 #define sk_X509_delete_ptr(sk, ptr) ((X509 *)OPENSSL_sk_delete_ptr(ossl_check_X509_sk_type(sk), ossl_check_X509_type
 I3	  73201 (ptr)))
 I3	  73202 #define sk_X509_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr))
 I3	  73203 #define sk_X509_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr))
 I3	  73204 #define sk_X509_pop(sk) ((X509 *)OPENSSL_sk_pop(ossl_check_X509_sk_type(sk)))
 I3	  73205 #define sk_X509_shift(sk) ((X509 *)OPENSSL_sk_shift(ossl_check_X509_sk_type(sk)))
 I3	  73206 #define sk_X509_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_sk_type(sk),ossl_check_X509_freefunc_type
 I3	  73206 (freefunc))
 I3	  73207 #define sk_X509_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr), (idx)
 I3	  73207 )
 I3	  73208 #define sk_X509_set(sk, idx, ptr) ((X509 *)OPENSSL_sk_set(ossl_check_X509_sk_type(sk), (idx), ossl_check_X509_type(p
 I3	  73208 tr)))
 I3	  73209 #define sk_X509_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr))
 I3	  73210 #define sk_X509_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr))
 I3	  73211 #define sk_X509_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr), 
 I3	  73211 pnum)
 I3	  73212 #define sk_X509_sort(sk) OPENSSL_sk_sort(ossl_check_X509_sk_type(sk))
 I3	  73213 #define sk_X509_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_sk_type(sk))
 I3	  73214 #define sk_X509_dup(sk) ((STACK_OF(X509) *)OPENSSL_sk_dup(ossl_check_const_X509_sk_type(sk)))
 I3	  73215 #define sk_X509_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_sk_t
 I3	  73215 ype(sk), ossl_check_X509_copyfunc_type(copyfunc), ossl_check_X509_freefunc_type(freefunc)))
 I3	  73216 #define sk_X509_set_cmp_func(sk, cmp) ((sk_X509_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_sk_type(sk), ossl_c
 I3	  73216 heck_X509_compfunc_type(cmp)))
 I3   1	  73217 SKM_DEFINE_STACK_OF_INTERNAL(X509_REVOKED, X509_REVOKED, X509_REVOKED)
       E	 struct stack_st_X509_REVOKED ; typedef int ( * sk_X509_REVOKED_compfunc ) ( const X509_REVOKED * const * a , const 
       E	X509_REVOKED * const * b ) ; typedef void ( * sk_X509_REVOKED_freefunc ) ( X509_REVOKED * a ) ; typedef X509_REVOKED
       E	 * ( * sk_X509_REVOKED_copyfunc ) ( const X509_REVOKED * a ) ; static __inline X509_REVOKED * ossl_check_X509_REVOKE
       E	D_type ( X509_REVOKED * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_REVOKED_s
       E	k_type ( const struct stack_st_X509_REVOKED * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL
       E	_STACK * ossl_check_X509_REVOKED_sk_type ( struct stack_st_X509_REVOKED * sk ) { return ( OPENSSL_STACK * ) sk ; } s
       E	tatic __inline OPENSSL_sk_compfunc ossl_check_X509_REVOKED_compfunc_type ( sk_X509_REVOKED_compfunc cmp ) { return (
       E	 OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_X509_REVOKED_copyfunc_type ( sk_X509_R
       E	EVOKED_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_R
       E	EVOKED_freefunc_type ( sk_X509_REVOKED_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I3	  73218 #define sk_X509_REVOKED_num(sk) OPENSSL_sk_num(ossl_check_const_X509_REVOKED_sk_type(sk))
 I3	  73219 #define sk_X509_REVOKED_value(sk, idx) ((X509_REVOKED *)OPENSSL_sk_value(ossl_check_const_X509_REVOKED_sk_type(sk), 
 I3	  73219 (idx)))
 I3	  73220 #define sk_X509_REVOKED_new(cmp) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_new(ossl_check_X509_REVOKED_compfunc_type(cmp

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1343
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73220 )))
 I3	  73221 #define sk_X509_REVOKED_new_null() ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_new_null())
 I3	  73222 #define sk_X509_REVOKED_new_reserve(cmp, n) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_new_reserve(ossl_check_X509_REVOKE
 I3	  73222 D_compfunc_type(cmp), (n)))
 I3	  73223 #define sk_X509_REVOKED_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_REVOKED_sk_type(sk), (n))
 I3	  73224 #define sk_X509_REVOKED_free(sk) OPENSSL_sk_free(ossl_check_X509_REVOKED_sk_type(sk))
 I3	  73225 #define sk_X509_REVOKED_zero(sk) OPENSSL_sk_zero(ossl_check_X509_REVOKED_sk_type(sk))
 I3	  73226 #define sk_X509_REVOKED_delete(sk, i) ((X509_REVOKED *)OPENSSL_sk_delete(ossl_check_X509_REVOKED_sk_type(sk), (i)))
 I3	  73227 #define sk_X509_REVOKED_delete_ptr(sk, ptr) ((X509_REVOKED *)OPENSSL_sk_delete_ptr(ossl_check_X509_REVOKED_sk_type(s
 I3	  73227 k), ossl_check_X509_REVOKED_type(ptr)))
 I3	  73228 #define sk_X509_REVOKED_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_t
 I3	  73228 ype(ptr))
 I3	  73229 #define sk_X509_REVOKED_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REV
 I3	  73229 OKED_type(ptr))
 I3	  73230 #define sk_X509_REVOKED_pop(sk) ((X509_REVOKED *)OPENSSL_sk_pop(ossl_check_X509_REVOKED_sk_type(sk)))
 I3	  73231 #define sk_X509_REVOKED_shift(sk) ((X509_REVOKED *)OPENSSL_sk_shift(ossl_check_X509_REVOKED_sk_type(sk)))
 I3	  73232 #define sk_X509_REVOKED_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_REVOKED_sk_type(sk),ossl_check_X5
 I3	  73232 09_REVOKED_freefunc_type(freefunc))
 I3	  73233 #define sk_X509_REVOKED_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_
 I3	  73233 REVOKED_type(ptr), (idx))
 I3	  73234 #define sk_X509_REVOKED_set(sk, idx, ptr) ((X509_REVOKED *)OPENSSL_sk_set(ossl_check_X509_REVOKED_sk_type(sk), (idx)
 I3	  73234 , ossl_check_X509_REVOKED_type(ptr)))
 I3	  73235 #define sk_X509_REVOKED_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_t
 I3	  73235 ype(ptr))
 I3	  73236 #define sk_X509_REVOKED_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REV
 I3	  73236 OKED_type(ptr))
 I3	  73237 #define sk_X509_REVOKED_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_
 I3	  73237 X509_REVOKED_type(ptr), pnum)
 I3	  73238 #define sk_X509_REVOKED_sort(sk) OPENSSL_sk_sort(ossl_check_X509_REVOKED_sk_type(sk))
 I3	  73239 #define sk_X509_REVOKED_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_REVOKED_sk_type(sk))
 I3	  73240 #define sk_X509_REVOKED_dup(sk) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_dup(ossl_check_const_X509_REVOKED_sk_type(sk))
 I3	  73240 )
 I3	  73241 #define sk_X509_REVOKED_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_deep_copy(ossl_check
 I3	  73241 _const_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_copyfunc_type(copyfunc), ossl_check_X509_REVOKED_freefunc_t
 I3	  73241 ype(freefunc)))
 I3	  73242 #define sk_X509_REVOKED_set_cmp_func(sk, cmp) ((sk_X509_REVOKED_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_REV
 I3	  73242 OKED_sk_type(sk), ossl_check_X509_REVOKED_compfunc_type(cmp)))
 I3   1	  73243 SKM_DEFINE_STACK_OF_INTERNAL(X509_CRL, X509_CRL, X509_CRL)
       E	 struct stack_st_X509_CRL ; typedef int ( * sk_X509_CRL_compfunc ) ( const X509_CRL * const * a , const X509_CRL * c
       E	onst * b ) ; typedef void ( * sk_X509_CRL_freefunc ) ( X509_CRL * a ) ; typedef X509_CRL * ( * sk_X509_CRL_copyfunc 
       E	) ( const X509_CRL * a ) ; static __inline X509_CRL * ossl_check_X509_CRL_type ( X509_CRL * ptr ) { return ptr ; } s
       E	tatic __inline const OPENSSL_STACK * ossl_check_const_X509_CRL_sk_type ( const struct stack_st_X509_CRL * sk ) { ret
       E	urn ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_CRL_sk_type ( struct stack_st_X
       E	509_CRL * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_X509_CRL_compfunc_
       E	type ( sk_X509_CRL_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_
       E	check_X509_CRL_copyfunc_type ( sk_X509_CRL_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline O
       E	PENSSL_sk_freefunc ossl_check_X509_CRL_freefunc_type ( sk_X509_CRL_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr
       E	 ; }
 I3	  73244 #define sk_X509_CRL_num(sk) OPENSSL_sk_num(ossl_check_const_X509_CRL_sk_type(sk))
 I3	  73245 #define sk_X509_CRL_value(sk, idx) ((X509_CRL *)OPENSSL_sk_value(ossl_check_const_X509_CRL_sk_type(sk), (idx)))
 I3	  73246 #define sk_X509_CRL_new(cmp) ((STACK_OF(X509_CRL) *)OPENSSL_sk_new(ossl_check_X509_CRL_compfunc_type(cmp)))
 I3	  73247 #define sk_X509_CRL_new_null() ((STACK_OF(X509_CRL) *)OPENSSL_sk_new_null())
 I3	  73248 #define sk_X509_CRL_new_reserve(cmp, n) ((STACK_OF(X509_CRL) *)OPENSSL_sk_new_reserve(ossl_check_X509_CRL_compfunc_t
 I3	  73248 ype(cmp), (n)))
 I3	  73249 #define sk_X509_CRL_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_CRL_sk_type(sk), (n))
 I3	  73250 #define sk_X509_CRL_free(sk) OPENSSL_sk_free(ossl_check_X509_CRL_sk_type(sk))
 I3	  73251 #define sk_X509_CRL_zero(sk) OPENSSL_sk_zero(ossl_check_X509_CRL_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1344
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73252 #define sk_X509_CRL_delete(sk, i) ((X509_CRL *)OPENSSL_sk_delete(ossl_check_X509_CRL_sk_type(sk), (i)))
 I3	  73253 #define sk_X509_CRL_delete_ptr(sk, ptr) ((X509_CRL *)OPENSSL_sk_delete_ptr(ossl_check_X509_CRL_sk_type(sk), ossl_che
 I3	  73253 ck_X509_CRL_type(ptr)))
 I3	  73254 #define sk_X509_CRL_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr))
 I3	  73255 #define sk_X509_CRL_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(pt
 I3	  73255 r))
 I3	  73256 #define sk_X509_CRL_pop(sk) ((X509_CRL *)OPENSSL_sk_pop(ossl_check_X509_CRL_sk_type(sk)))
 I3	  73257 #define sk_X509_CRL_shift(sk) ((X509_CRL *)OPENSSL_sk_shift(ossl_check_X509_CRL_sk_type(sk)))
 I3	  73258 #define sk_X509_CRL_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_CRL_sk_type(sk),ossl_check_X509_CRL_f
 I3	  73258 reefunc_type(freefunc))
 I3	  73259 #define sk_X509_CRL_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type
 I3	  73259 (ptr), (idx))
 I3	  73260 #define sk_X509_CRL_set(sk, idx, ptr) ((X509_CRL *)OPENSSL_sk_set(ossl_check_X509_CRL_sk_type(sk), (idx), ossl_check
 I3	  73260 _X509_CRL_type(ptr)))
 I3	  73261 #define sk_X509_CRL_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr))
 I3	  73262 #define sk_X509_CRL_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(pt
 I3	  73262 r))
 I3	  73263 #define sk_X509_CRL_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL
 I3	  73263 _type(ptr), pnum)
 I3	  73264 #define sk_X509_CRL_sort(sk) OPENSSL_sk_sort(ossl_check_X509_CRL_sk_type(sk))
 I3	  73265 #define sk_X509_CRL_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_CRL_sk_type(sk))
 I3	  73266 #define sk_X509_CRL_dup(sk) ((STACK_OF(X509_CRL) *)OPENSSL_sk_dup(ossl_check_const_X509_CRL_sk_type(sk)))
 I3	  73267 #define sk_X509_CRL_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_CRL) *)OPENSSL_sk_deep_copy(ossl_check_const_X
 I3	  73267 509_CRL_sk_type(sk), ossl_check_X509_CRL_copyfunc_type(copyfunc), ossl_check_X509_CRL_freefunc_type(freefunc)))
 I3	  73268 #define sk_X509_CRL_set_cmp_func(sk, cmp) ((sk_X509_CRL_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_CRL_sk_type
 I3	  73268 (sk), ossl_check_X509_CRL_compfunc_type(cmp)))
 I3	  73269 
 I3	  73270 
 I3	  73271 /* Flags for X509_get_signature_info() */
 I3	  73272 /* Signature info is valid */
 I3	  73273 # define X509_SIG_INFO_VALID     0x1
 I3	  73274 /* Signature is suitable for TLS use */
 I3	  73275 # define X509_SIG_INFO_TLS       0x2
 I3	  73276 
 I3	  73277 # define X509_FILETYPE_PEM       1
 I3	  73278 # define X509_FILETYPE_ASN1      2
 I3	  73279 # define X509_FILETYPE_DEFAULT   3
 I3	  73280 
 I3	  73281 # define X509v3_KU_DIGITAL_SIGNATURE     0x0080
 I3	  73282 # define X509v3_KU_NON_REPUDIATION       0x0040
 I3	  73283 # define X509v3_KU_KEY_ENCIPHERMENT      0x0020
 I3	  73284 # define X509v3_KU_DATA_ENCIPHERMENT     0x0010
 I3	  73285 # define X509v3_KU_KEY_AGREEMENT         0x0008
 I3	  73286 # define X509v3_KU_KEY_CERT_SIGN         0x0004
 I3	  73287 # define X509v3_KU_CRL_SIGN              0x0002
 I3	  73288 # define X509v3_KU_ENCIPHER_ONLY         0x0001
 I3	  73289 # define X509v3_KU_DECIPHER_ONLY         0x8000
 I3	  73290 # define X509v3_KU_UNDEF                 0xffff
 I3	  73291 
 I3	  73292 struct X509_algor_st {
 I3	  73293     ASN1_OBJECT *algorithm;
 I3	  73294     ASN1_TYPE *parameter;
 I3	  73295 } /* X509_ALGOR */ ;
 I3	  73296 
 I3	  73297 typedef STACK_OF(X509_ALGOR) X509_ALGORS;
       E	         struct stack_st_X509_ALGOR
 I3	  73298 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1345
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73299 typedef struct X509_val_st {
 I3	  73300     ASN1_TIME *notBefore;
 I3	  73301     ASN1_TIME *notAfter;
 I3	  73302 } X509_VAL;
 I3	  73303 
 I3	  73304 typedef struct X509_sig_st X509_SIG;
 I3	  73305 
 I3	  73306 typedef struct X509_name_entry_st X509_NAME_ENTRY;
 I3	  73307 
 I3   1	  73308 SKM_DEFINE_STACK_OF_INTERNAL(X509_NAME_ENTRY, X509_NAME_ENTRY, X509_NAME_ENTRY)
       E	 struct stack_st_X509_NAME_ENTRY ; typedef int ( * sk_X509_NAME_ENTRY_compfunc ) ( const X509_NAME_ENTRY * const * a
       E	 , const X509_NAME_ENTRY * const * b ) ; typedef void ( * sk_X509_NAME_ENTRY_freefunc ) ( X509_NAME_ENTRY * a ) ; ty
       E	pedef X509_NAME_ENTRY * ( * sk_X509_NAME_ENTRY_copyfunc ) ( const X509_NAME_ENTRY * a ) ; static __inline X509_NAME_
       E	ENTRY * ossl_check_X509_NAME_ENTRY_type ( X509_NAME_ENTRY * ptr ) { return ptr ; } static __inline const OPENSSL_STA
       E	CK * ossl_check_const_X509_NAME_ENTRY_sk_type ( const struct stack_st_X509_NAME_ENTRY * sk ) { return ( const OPENSS
       E	L_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_NAME_ENTRY_sk_type ( struct stack_st_X509_NAME_EN
       E	TRY * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_X509_NAME_ENTRY_compfu
       E	nc_type ( sk_X509_NAME_ENTRY_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copy
       E	func ossl_check_X509_NAME_ENTRY_copyfunc_type ( sk_X509_NAME_ENTRY_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) c
       E	py ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_NAME_ENTRY_freefunc_type ( sk_X509_NAME_ENTRY_freefunc fr
       E	 ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I3	  73309 #define sk_X509_NAME_ENTRY_num(sk) OPENSSL_sk_num(ossl_check_const_X509_NAME_ENTRY_sk_type(sk))
 I3	  73310 #define sk_X509_NAME_ENTRY_value(sk, idx) ((X509_NAME_ENTRY *)OPENSSL_sk_value(ossl_check_const_X509_NAME_ENTRY_sk_t
 I3	  73310 ype(sk), (idx)))
 I3	  73311 #define sk_X509_NAME_ENTRY_new(cmp) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_new(ossl_check_X509_NAME_ENTRY_compfunc
 I3	  73311 _type(cmp)))
 I3	  73312 #define sk_X509_NAME_ENTRY_new_null() ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_new_null())
 I3	  73313 #define sk_X509_NAME_ENTRY_new_reserve(cmp, n) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_new_reserve(ossl_check_X509_
 I3	  73313 NAME_ENTRY_compfunc_type(cmp), (n)))
 I3	  73314 #define sk_X509_NAME_ENTRY_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_NAME_ENTRY_sk_type(sk), (n))
 I3	  73315 #define sk_X509_NAME_ENTRY_free(sk) OPENSSL_sk_free(ossl_check_X509_NAME_ENTRY_sk_type(sk))
 I3	  73316 #define sk_X509_NAME_ENTRY_zero(sk) OPENSSL_sk_zero(ossl_check_X509_NAME_ENTRY_sk_type(sk))
 I3	  73317 #define sk_X509_NAME_ENTRY_delete(sk, i) ((X509_NAME_ENTRY *)OPENSSL_sk_delete(ossl_check_X509_NAME_ENTRY_sk_type(sk
 I3	  73317 ), (i)))
 I3	  73318 #define sk_X509_NAME_ENTRY_delete_ptr(sk, ptr) ((X509_NAME_ENTRY *)OPENSSL_sk_delete_ptr(ossl_check_X509_NAME_ENTRY_
 I3	  73318 sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr)))
 I3	  73319 #define sk_X509_NAME_ENTRY_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAM
 I3	  73319 E_ENTRY_type(ptr))
 I3	  73320 #define sk_X509_NAME_ENTRY_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X5
 I3	  73320 09_NAME_ENTRY_type(ptr))
 I3	  73321 #define sk_X509_NAME_ENTRY_pop(sk) ((X509_NAME_ENTRY *)OPENSSL_sk_pop(ossl_check_X509_NAME_ENTRY_sk_type(sk)))
 I3	  73322 #define sk_X509_NAME_ENTRY_shift(sk) ((X509_NAME_ENTRY *)OPENSSL_sk_shift(ossl_check_X509_NAME_ENTRY_sk_type(sk)))
 I3	  73323 #define sk_X509_NAME_ENTRY_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_NAME_ENTRY_sk_type(sk),ossl_ch
 I3	  73323 eck_X509_NAME_ENTRY_freefunc_type(freefunc))
 I3	  73324 #define sk_X509_NAME_ENTRY_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check
 I3	  73324 _X509_NAME_ENTRY_type(ptr), (idx))
 I3	  73325 #define sk_X509_NAME_ENTRY_set(sk, idx, ptr) ((X509_NAME_ENTRY *)OPENSSL_sk_set(ossl_check_X509_NAME_ENTRY_sk_type(s
 I3	  73325 k), (idx), ossl_check_X509_NAME_ENTRY_type(ptr)))
 I3	  73326 #define sk_X509_NAME_ENTRY_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAM
 I3	  73326 E_ENTRY_type(ptr))
 I3	  73327 #define sk_X509_NAME_ENTRY_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X5
 I3	  73327 09_NAME_ENTRY_type(ptr))
 I3	  73328 #define sk_X509_NAME_ENTRY_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_
 I3	  73328 check_X509_NAME_ENTRY_type(ptr), pnum)
 I3	  73329 #define sk_X509_NAME_ENTRY_sort(sk) OPENSSL_sk_sort(ossl_check_X509_NAME_ENTRY_sk_type(sk))
 I3	  73330 #define sk_X509_NAME_ENTRY_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_NAME_ENTRY_sk_type(sk))
 I3	  73331 #define sk_X509_NAME_ENTRY_dup(sk) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_dup(ossl_check_const_X509_NAME_ENTRY_sk_

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1346
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73331 type(sk)))
 I3	  73332 #define sk_X509_NAME_ENTRY_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_deep_copy(ossl
 I3	  73332 _check_const_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_copyfunc_type(copyfunc), ossl_check_X509_NAME_E
 I3	  73332 NTRY_freefunc_type(freefunc)))
 I3	  73333 #define sk_X509_NAME_ENTRY_set_cmp_func(sk, cmp) ((sk_X509_NAME_ENTRY_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X5
 I3	  73333 09_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_compfunc_type(cmp)))
 I3	  73334 
 I3	  73335 
 I3	  73336 # define X509_EX_V_NETSCAPE_HACK         0x8000
 I3	  73337 # define X509_EX_V_INIT                  0x0001
 I3	  73338 typedef struct X509_extension_st X509_EXTENSION;
 I3   1	  73339 SKM_DEFINE_STACK_OF_INTERNAL(X509_EXTENSION, X509_EXTENSION, X509_EXTENSION)
       E	 struct stack_st_X509_EXTENSION ; typedef int ( * sk_X509_EXTENSION_compfunc ) ( const X509_EXTENSION * const * a , 
       E	const X509_EXTENSION * const * b ) ; typedef void ( * sk_X509_EXTENSION_freefunc ) ( X509_EXTENSION * a ) ; typedef 
       E	X509_EXTENSION * ( * sk_X509_EXTENSION_copyfunc ) ( const X509_EXTENSION * a ) ; static __inline X509_EXTENSION * os
       E	sl_check_X509_EXTENSION_type ( X509_EXTENSION * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_ch
       E	eck_const_X509_EXTENSION_sk_type ( const struct stack_st_X509_EXTENSION * sk ) { return ( const OPENSSL_STACK * ) sk
       E	 ; } static __inline OPENSSL_STACK * ossl_check_X509_EXTENSION_sk_type ( struct stack_st_X509_EXTENSION * sk ) { ret
       E	urn ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_X509_EXTENSION_compfunc_type ( sk_X509
       E	_EXTENSION_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_X5
       E	09_EXTENSION_copyfunc_type ( sk_X509_EXTENSION_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inli
       E	ne OPENSSL_sk_freefunc ossl_check_X509_EXTENSION_freefunc_type ( sk_X509_EXTENSION_freefunc fr ) { return ( OPENSSL_
       E	sk_freefunc ) fr ; }
 I3	  73340 #define sk_X509_EXTENSION_num(sk) OPENSSL_sk_num(ossl_check_const_X509_EXTENSION_sk_type(sk))
 I3	  73341 #define sk_X509_EXTENSION_value(sk, idx) ((X509_EXTENSION *)OPENSSL_sk_value(ossl_check_const_X509_EXTENSION_sk_type
 I3	  73341 (sk), (idx)))
 I3	  73342 #define sk_X509_EXTENSION_new(cmp) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_new(ossl_check_X509_EXTENSION_compfunc_ty
 I3	  73342 pe(cmp)))
 I3	  73343 #define sk_X509_EXTENSION_new_null() ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_new_null())
 I3	  73344 #define sk_X509_EXTENSION_new_reserve(cmp, n) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_new_reserve(ossl_check_X509_EX
 I3	  73344 TENSION_compfunc_type(cmp), (n)))
 I3	  73345 #define sk_X509_EXTENSION_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_EXTENSION_sk_type(sk), (n))
 I3	  73346 #define sk_X509_EXTENSION_free(sk) OPENSSL_sk_free(ossl_check_X509_EXTENSION_sk_type(sk))
 I3	  73347 #define sk_X509_EXTENSION_zero(sk) OPENSSL_sk_zero(ossl_check_X509_EXTENSION_sk_type(sk))
 I3	  73348 #define sk_X509_EXTENSION_delete(sk, i) ((X509_EXTENSION *)OPENSSL_sk_delete(ossl_check_X509_EXTENSION_sk_type(sk), 
 I3	  73348 (i)))
 I3	  73349 #define sk_X509_EXTENSION_delete_ptr(sk, ptr) ((X509_EXTENSION *)OPENSSL_sk_delete_ptr(ossl_check_X509_EXTENSION_sk_
 I3	  73349 type(sk), ossl_check_X509_EXTENSION_type(ptr)))
 I3	  73350 #define sk_X509_EXTENSION_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTEN
 I3	  73350 SION_type(ptr))
 I3	  73351 #define sk_X509_EXTENSION_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509
 I3	  73351 _EXTENSION_type(ptr))
 I3	  73352 #define sk_X509_EXTENSION_pop(sk) ((X509_EXTENSION *)OPENSSL_sk_pop(ossl_check_X509_EXTENSION_sk_type(sk)))
 I3	  73353 #define sk_X509_EXTENSION_shift(sk) ((X509_EXTENSION *)OPENSSL_sk_shift(ossl_check_X509_EXTENSION_sk_type(sk)))
 I3	  73354 #define sk_X509_EXTENSION_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_EXTENSION_sk_type(sk),ossl_chec
 I3	  73354 k_X509_EXTENSION_freefunc_type(freefunc))
 I3	  73355 #define sk_X509_EXTENSION_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X
 I3	  73355 509_EXTENSION_type(ptr), (idx))
 I3	  73356 #define sk_X509_EXTENSION_set(sk, idx, ptr) ((X509_EXTENSION *)OPENSSL_sk_set(ossl_check_X509_EXTENSION_sk_type(sk),
 I3	  73356  (idx), ossl_check_X509_EXTENSION_type(ptr)))
 I3	  73357 #define sk_X509_EXTENSION_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTEN
 I3	  73357 SION_type(ptr))
 I3	  73358 #define sk_X509_EXTENSION_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509
 I3	  73358 _EXTENSION_type(ptr))
 I3	  73359 #define sk_X509_EXTENSION_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_EXTENSION_sk_type(sk), ossl_ch
 I3	  73359 eck_X509_EXTENSION_type(ptr), pnum)
 I3	  73360 #define sk_X509_EXTENSION_sort(sk) OPENSSL_sk_sort(ossl_check_X509_EXTENSION_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1347
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73361 #define sk_X509_EXTENSION_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_EXTENSION_sk_type(sk))
 I3	  73362 #define sk_X509_EXTENSION_dup(sk) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_dup(ossl_check_const_X509_EXTENSION_sk_typ
 I3	  73362 e(sk)))
 I3	  73363 #define sk_X509_EXTENSION_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_deep_copy(ossl_c
 I3	  73363 heck_const_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_copyfunc_type(copyfunc), ossl_check_X509_EXTENSION_
 I3	  73363 freefunc_type(freefunc)))
 I3	  73364 #define sk_X509_EXTENSION_set_cmp_func(sk, cmp) ((sk_X509_EXTENSION_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509
 I3	  73364 _EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_compfunc_type(cmp)))
 I3	  73365 
 I3	  73366 typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS;
       E	         struct stack_st_X509_EXTENSION
 I3	  73367 typedef struct x509_attributes_st X509_ATTRIBUTE;
 I3   1	  73368 SKM_DEFINE_STACK_OF_INTERNAL(X509_ATTRIBUTE, X509_ATTRIBUTE, X509_ATTRIBUTE)
       E	 struct stack_st_X509_ATTRIBUTE ; typedef int ( * sk_X509_ATTRIBUTE_compfunc ) ( const X509_ATTRIBUTE * const * a , 
       E	const X509_ATTRIBUTE * const * b ) ; typedef void ( * sk_X509_ATTRIBUTE_freefunc ) ( X509_ATTRIBUTE * a ) ; typedef 
       E	X509_ATTRIBUTE * ( * sk_X509_ATTRIBUTE_copyfunc ) ( const X509_ATTRIBUTE * a ) ; static __inline X509_ATTRIBUTE * os
       E	sl_check_X509_ATTRIBUTE_type ( X509_ATTRIBUTE * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_ch
       E	eck_const_X509_ATTRIBUTE_sk_type ( const struct stack_st_X509_ATTRIBUTE * sk ) { return ( const OPENSSL_STACK * ) sk
       E	 ; } static __inline OPENSSL_STACK * ossl_check_X509_ATTRIBUTE_sk_type ( struct stack_st_X509_ATTRIBUTE * sk ) { ret
       E	urn ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_X509_ATTRIBUTE_compfunc_type ( sk_X509
       E	_ATTRIBUTE_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_X5
       E	09_ATTRIBUTE_copyfunc_type ( sk_X509_ATTRIBUTE_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inli
       E	ne OPENSSL_sk_freefunc ossl_check_X509_ATTRIBUTE_freefunc_type ( sk_X509_ATTRIBUTE_freefunc fr ) { return ( OPENSSL_
       E	sk_freefunc ) fr ; }
 I3	  73369 #define sk_X509_ATTRIBUTE_num(sk) OPENSSL_sk_num(ossl_check_const_X509_ATTRIBUTE_sk_type(sk))
 I3	  73370 #define sk_X509_ATTRIBUTE_value(sk, idx) ((X509_ATTRIBUTE *)OPENSSL_sk_value(ossl_check_const_X509_ATTRIBUTE_sk_type
 I3	  73370 (sk), (idx)))
 I3	  73371 #define sk_X509_ATTRIBUTE_new(cmp) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_new(ossl_check_X509_ATTRIBUTE_compfunc_ty
 I3	  73371 pe(cmp)))
 I3	  73372 #define sk_X509_ATTRIBUTE_new_null() ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_new_null())
 I3	  73373 #define sk_X509_ATTRIBUTE_new_reserve(cmp, n) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_new_reserve(ossl_check_X509_AT
 I3	  73373 TRIBUTE_compfunc_type(cmp), (n)))
 I3	  73374 #define sk_X509_ATTRIBUTE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_ATTRIBUTE_sk_type(sk), (n))
 I3	  73375 #define sk_X509_ATTRIBUTE_free(sk) OPENSSL_sk_free(ossl_check_X509_ATTRIBUTE_sk_type(sk))
 I3	  73376 #define sk_X509_ATTRIBUTE_zero(sk) OPENSSL_sk_zero(ossl_check_X509_ATTRIBUTE_sk_type(sk))
 I3	  73377 #define sk_X509_ATTRIBUTE_delete(sk, i) ((X509_ATTRIBUTE *)OPENSSL_sk_delete(ossl_check_X509_ATTRIBUTE_sk_type(sk), 
 I3	  73377 (i)))
 I3	  73378 #define sk_X509_ATTRIBUTE_delete_ptr(sk, ptr) ((X509_ATTRIBUTE *)OPENSSL_sk_delete_ptr(ossl_check_X509_ATTRIBUTE_sk_
 I3	  73378 type(sk), ossl_check_X509_ATTRIBUTE_type(ptr)))
 I3	  73379 #define sk_X509_ATTRIBUTE_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRI
 I3	  73379 BUTE_type(ptr))
 I3	  73380 #define sk_X509_ATTRIBUTE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509
 I3	  73380 _ATTRIBUTE_type(ptr))
 I3	  73381 #define sk_X509_ATTRIBUTE_pop(sk) ((X509_ATTRIBUTE *)OPENSSL_sk_pop(ossl_check_X509_ATTRIBUTE_sk_type(sk)))
 I3	  73382 #define sk_X509_ATTRIBUTE_shift(sk) ((X509_ATTRIBUTE *)OPENSSL_sk_shift(ossl_check_X509_ATTRIBUTE_sk_type(sk)))
 I3	  73383 #define sk_X509_ATTRIBUTE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_ATTRIBUTE_sk_type(sk),ossl_chec
 I3	  73383 k_X509_ATTRIBUTE_freefunc_type(freefunc))
 I3	  73384 #define sk_X509_ATTRIBUTE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X
 I3	  73384 509_ATTRIBUTE_type(ptr), (idx))
 I3	  73385 #define sk_X509_ATTRIBUTE_set(sk, idx, ptr) ((X509_ATTRIBUTE *)OPENSSL_sk_set(ossl_check_X509_ATTRIBUTE_sk_type(sk),
 I3	  73385  (idx), ossl_check_X509_ATTRIBUTE_type(ptr)))
 I3	  73386 #define sk_X509_ATTRIBUTE_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRI
 I3	  73386 BUTE_type(ptr))
 I3	  73387 #define sk_X509_ATTRIBUTE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509
 I3	  73387 _ATTRIBUTE_type(ptr))
 I3	  73388 #define sk_X509_ATTRIBUTE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_ch
 I3	  73388 eck_X509_ATTRIBUTE_type(ptr), pnum)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1348
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73389 #define sk_X509_ATTRIBUTE_sort(sk) OPENSSL_sk_sort(ossl_check_X509_ATTRIBUTE_sk_type(sk))
 I3	  73390 #define sk_X509_ATTRIBUTE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_ATTRIBUTE_sk_type(sk))
 I3	  73391 #define sk_X509_ATTRIBUTE_dup(sk) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_dup(ossl_check_const_X509_ATTRIBUTE_sk_typ
 I3	  73391 e(sk)))
 I3	  73392 #define sk_X509_ATTRIBUTE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_deep_copy(ossl_c
 I3	  73392 heck_const_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_copyfunc_type(copyfunc), ossl_check_X509_ATTRIBUTE_
 I3	  73392 freefunc_type(freefunc)))
 I3	  73393 #define sk_X509_ATTRIBUTE_set_cmp_func(sk, cmp) ((sk_X509_ATTRIBUTE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509
 I3	  73393 _ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_compfunc_type(cmp)))
 I3	  73394 
 I3	  73395 typedef struct X509_req_info_st X509_REQ_INFO;
 I3	  73396 typedef struct X509_req_st X509_REQ;
 I3	  73397 typedef struct x509_cert_aux_st X509_CERT_AUX;
 I3	  73398 typedef struct x509_cinf_st X509_CINF;
 I3	  73399 
 I3	  73400 /* Flags for X509_print_ex() */
 I3	  73401 
 I3	  73402 # define X509_FLAG_COMPAT                0
 I3	  73403 # define X509_FLAG_NO_HEADER             1L
 I3	  73404 # define X509_FLAG_NO_VERSION            (1L << 1)
 I3	  73405 # define X509_FLAG_NO_SERIAL             (1L << 2)
 I3	  73406 # define X509_FLAG_NO_SIGNAME            (1L << 3)
 I3	  73407 # define X509_FLAG_NO_ISSUER             (1L << 4)
 I3	  73408 # define X509_FLAG_NO_VALIDITY           (1L << 5)
 I3	  73409 # define X509_FLAG_NO_SUBJECT            (1L << 6)
 I3	  73410 # define X509_FLAG_NO_PUBKEY             (1L << 7)
 I3	  73411 # define X509_FLAG_NO_EXTENSIONS         (1L << 8)
 I3	  73412 # define X509_FLAG_NO_SIGDUMP            (1L << 9)
 I3	  73413 # define X509_FLAG_NO_AUX                (1L << 10)
 I3	  73414 # define X509_FLAG_NO_ATTRIBUTES         (1L << 11)
 I3	  73415 # define X509_FLAG_NO_IDS                (1L << 12)
 I3	  73416 # define X509_FLAG_EXTENSIONS_ONLY_KID   (1L << 13)
 I3	  73417 
 I3	  73418 /* Flags specific to X509_NAME_print_ex() */
 I3	  73419 
 I3	  73420 /* The field separator information */
 I3	  73421 
 I3	  73422 # define XN_FLAG_SEP_MASK        (0xf << 16)
 I3	  73423 
 I3	  73424 # define XN_FLAG_COMPAT          0/* Traditional; use old X509_NAME_print */
 I3	  73425 # define XN_FLAG_SEP_COMMA_PLUS  (1 << 16)/* RFC2253 ,+ */
 I3	  73426 # define XN_FLAG_SEP_CPLUS_SPC   (2 << 16)/* ,+ spaced: more readable */
 I3	  73427 # define XN_FLAG_SEP_SPLUS_SPC   (3 << 16)/* ;+ spaced */
 I3	  73428 # define XN_FLAG_SEP_MULTILINE   (4 << 16)/* One line per field */
 I3	  73429 
 I3	  73430 # define XN_FLAG_DN_REV          (1 << 20)/* Reverse DN order */
 I3	  73431 
 I3	  73432 /* How the field name is shown */
 I3	  73433 
 I3	  73434 # define XN_FLAG_FN_MASK         (0x3 << 21)
 I3	  73435 
 I3	  73436 # define XN_FLAG_FN_SN           0/* Object short name */
 I3	  73437 # define XN_FLAG_FN_LN           (1 << 21)/* Object long name */
 I3	  73438 # define XN_FLAG_FN_OID          (2 << 21)/* Always use OIDs */
 I3	  73439 # define XN_FLAG_FN_NONE         (3 << 21)/* No field names */
 I3	  73440 
 I3	  73441 # define XN_FLAG_SPC_EQ          (1 << 23)/* Put spaces round '=' */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1349
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73442 
 I3	  73443 /*
 I3	  73444  * This determines if we dump fields we don't recognise: RFC2253 requires
 I3	  73445  * this.
 I3	  73446  */
 I3	  73447 
 I3	  73448 # define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24)
 I3	  73449 
 I3	  73450 # define XN_FLAG_FN_ALIGN        (1 << 25)/* Align field names to 20
 I3	  73451                                            * characters */
 I3	  73452 
 I3	  73453 /* Complete set of RFC2253 flags */
 I3	  73454 
 I3	  73455 # define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \
 I3	  73456                         XN_FLAG_SEP_COMMA_PLUS | \
 I3	  73457                         XN_FLAG_DN_REV | \
 I3	  73458                         XN_FLAG_FN_SN | \
 I3	  73459                         XN_FLAG_DUMP_UNKNOWN_FIELDS)
 I3	  73460 
 I3	  73461 /* readable oneline form */
 I3	  73462 
 I3	  73463 # define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \
 I3	  73464                         ASN1_STRFLGS_ESC_QUOTE | \
 I3	  73465                         XN_FLAG_SEP_CPLUS_SPC | \
 I3	  73466                         XN_FLAG_SPC_EQ | \
 I3	  73467                         XN_FLAG_FN_SN)
 I3	  73468 
 I3	  73469 /* readable multiline form */
 I3	  73470 
 I3	  73471 # define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \
 I3	  73472                         ASN1_STRFLGS_ESC_MSB | \
 I3	  73473                         XN_FLAG_SEP_MULTILINE | \
 I3	  73474                         XN_FLAG_SPC_EQ | \
 I3	  73475                         XN_FLAG_FN_LN | \
 I3	  73476                         XN_FLAG_FN_ALIGN)
 I3	  73477 
 I3	  73478 typedef struct X509_crl_info_st X509_CRL_INFO;
 I3	  73479 
 I3	  73480 typedef struct private_key_st {
 I3	  73481     int version;
 I3	  73482     /* The PKCS#8 data types */
 I3	  73483     X509_ALGOR *enc_algor;
 I3	  73484     ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */
 I3	  73485     /* When decrypted, the following will not be NULL */
 I3	  73486     EVP_PKEY *dec_pkey;
 I3	  73487     /* used to encrypt and decrypt */
 I3	  73488     int key_length;
 I3	  73489     char *key_data;
 I3	  73490     int key_free;               /* true if we should auto free key_data */
 I3	  73491     /* expanded version of 'enc_algor' */
 I3	  73492     EVP_CIPHER_INFO cipher;
 I3	  73493 } X509_PKEY;
 I3	  73494 
 I3	  73495 typedef struct X509_info_st {
 I3	  73496     X509 *x509;
 I3	  73497     X509_CRL *crl;
 I3	  73498     X509_PKEY *x_pkey;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1350
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73499     EVP_CIPHER_INFO enc_cipher;
 I3	  73500     int enc_len;
 I3	  73501     char *enc_data;
 I3	  73502 } X509_INFO;
 I3   1	  73503 SKM_DEFINE_STACK_OF_INTERNAL(X509_INFO, X509_INFO, X509_INFO)
       E	 struct stack_st_X509_INFO ; typedef int ( * sk_X509_INFO_compfunc ) ( const X509_INFO * const * a , const X509_INFO
       E	 * const * b ) ; typedef void ( * sk_X509_INFO_freefunc ) ( X509_INFO * a ) ; typedef X509_INFO * ( * sk_X509_INFO_c
       E	opyfunc ) ( const X509_INFO * a ) ; static __inline X509_INFO * ossl_check_X509_INFO_type ( X509_INFO * ptr ) { retu
       E	rn ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_INFO_sk_type ( const struct stack_st_X509_INF
       E	O * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_INFO_sk_type ( st
       E	ruct stack_st_X509_INFO * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_X5
       E	09_INFO_compfunc_type ( sk_X509_INFO_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL
       E	_sk_copyfunc ossl_check_X509_INFO_copyfunc_type ( sk_X509_INFO_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ;
       E	 } static __inline OPENSSL_sk_freefunc ossl_check_X509_INFO_freefunc_type ( sk_X509_INFO_freefunc fr ) { return ( OP
       E	ENSSL_sk_freefunc ) fr ; }
 I3	  73504 #define sk_X509_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_X509_INFO_sk_type(sk))
 I3	  73505 #define sk_X509_INFO_value(sk, idx) ((X509_INFO *)OPENSSL_sk_value(ossl_check_const_X509_INFO_sk_type(sk), (idx)))
 I3	  73506 #define sk_X509_INFO_new(cmp) ((STACK_OF(X509_INFO) *)OPENSSL_sk_new(ossl_check_X509_INFO_compfunc_type(cmp)))
 I3	  73507 #define sk_X509_INFO_new_null() ((STACK_OF(X509_INFO) *)OPENSSL_sk_new_null())
 I3	  73508 #define sk_X509_INFO_new_reserve(cmp, n) ((STACK_OF(X509_INFO) *)OPENSSL_sk_new_reserve(ossl_check_X509_INFO_compfun
 I3	  73508 c_type(cmp), (n)))
 I3	  73509 #define sk_X509_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_INFO_sk_type(sk), (n))
 I3	  73510 #define sk_X509_INFO_free(sk) OPENSSL_sk_free(ossl_check_X509_INFO_sk_type(sk))
 I3	  73511 #define sk_X509_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_X509_INFO_sk_type(sk))
 I3	  73512 #define sk_X509_INFO_delete(sk, i) ((X509_INFO *)OPENSSL_sk_delete(ossl_check_X509_INFO_sk_type(sk), (i)))
 I3	  73513 #define sk_X509_INFO_delete_ptr(sk, ptr) ((X509_INFO *)OPENSSL_sk_delete_ptr(ossl_check_X509_INFO_sk_type(sk), ossl_
 I3	  73513 check_X509_INFO_type(ptr)))
 I3	  73514 #define sk_X509_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr))
 I3	  73515 #define sk_X509_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type
 I3	  73515 (ptr))
 I3	  73516 #define sk_X509_INFO_pop(sk) ((X509_INFO *)OPENSSL_sk_pop(ossl_check_X509_INFO_sk_type(sk)))
 I3	  73517 #define sk_X509_INFO_shift(sk) ((X509_INFO *)OPENSSL_sk_shift(ossl_check_X509_INFO_sk_type(sk)))
 I3	  73518 #define sk_X509_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_INFO_sk_type(sk),ossl_check_X509_INF
 I3	  73518 O_freefunc_type(freefunc))
 I3	  73519 #define sk_X509_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_t
 I3	  73519 ype(ptr), (idx))
 I3	  73520 #define sk_X509_INFO_set(sk, idx, ptr) ((X509_INFO *)OPENSSL_sk_set(ossl_check_X509_INFO_sk_type(sk), (idx), ossl_ch
 I3	  73520 eck_X509_INFO_type(ptr)))
 I3	  73521 #define sk_X509_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr))
 I3	  73522 #define sk_X509_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type
 I3	  73522 (ptr))
 I3	  73523 #define sk_X509_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_I
 I3	  73523 NFO_type(ptr), pnum)
 I3	  73524 #define sk_X509_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_X509_INFO_sk_type(sk))
 I3	  73525 #define sk_X509_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_INFO_sk_type(sk))
 I3	  73526 #define sk_X509_INFO_dup(sk) ((STACK_OF(X509_INFO) *)OPENSSL_sk_dup(ossl_check_const_X509_INFO_sk_type(sk)))
 I3	  73527 #define sk_X509_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_INFO) *)OPENSSL_sk_deep_copy(ossl_check_const
 I3	  73527 _X509_INFO_sk_type(sk), ossl_check_X509_INFO_copyfunc_type(copyfunc), ossl_check_X509_INFO_freefunc_type(freefunc)))
 I3	  73528 #define sk_X509_INFO_set_cmp_func(sk, cmp) ((sk_X509_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_INFO_sk_t
 I3	  73528 ype(sk), ossl_check_X509_INFO_compfunc_type(cmp)))
 I3	  73529 
 I3	  73530 
 I3	  73531 /*
 I3	  73532  * The next 2 structures and their 8 routines are used to manipulate Netscape's
 I3	  73533  * spki structures - useful if you are writing a CA web page
 I3	  73534  */
 I3	  73535 typedef struct Netscape_spkac_st {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1351
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  73536     X509_PUBKEY *pubkey;
 I3	  73537     ASN1_IA5STRING *challenge;  /* challenge sent in atlas >= PR2 */
 I3	  73538 } NETSCAPE_SPKAC;
 I3	  73539 
 I3	  73540 typedef struct Netscape_spki_st {
 I3	  73541     NETSCAPE_SPKAC *spkac;      /* signed public key and challenge */
 I3	  73542     X509_ALGOR sig_algor;
 I3	  73543     ASN1_BIT_STRING *signature;
 I3	  73544 } NETSCAPE_SPKI;
 I3	  73545 
 I3	  73546 /* Netscape certificate sequence structure */
 I3	  73547 typedef struct Netscape_certificate_sequence {
 I3	  73548     ASN1_OBJECT *type;
 I3	  73549     STACK_OF(X509) *certs;
       E	     struct stack_st_X509
 I3	  73550 } NETSCAPE_CERT_SEQUENCE;
 I3	  73551 
 I3	  73552 /*- Unused (and iv length is wrong)
 I3	  73553 typedef struct CBCParameter_st
 I3	  73554         {
 I3	  73555         unsigned char iv[8];
 I3	  73556         } CBC_PARAM;
 I3	  73557 */
 I3	  73558 
 I3	  73559 /* Password based encryption structure */
 I3	  73560 
 I3	  73561 typedef struct PBEPARAM_st {
 I3	  73562     ASN1_OCTET_STRING *salt;
 I3	  73563     ASN1_INTEGER *iter;
 I3	  73564 } PBEPARAM;
 I3	  73565 
 I3	  73566 /* Password based encryption V2 structures */
 I3	  73567 
 I3	  73568 typedef struct PBE2PARAM_st {
 I3	  73569     X509_ALGOR *keyfunc;
 I3	  73570     X509_ALGOR *encryption;
 I3	  73571 } PBE2PARAM;
 I3	  73572 
 I3	  73573 typedef struct PBKDF2PARAM_st {
 I3	  73574 /* Usually OCTET STRING but could be anything */
 I3	  73575     ASN1_TYPE *salt;
 I3	  73576     ASN1_INTEGER *iter;
 I3	  73577     ASN1_INTEGER *keylength;
 I3	  73578     X509_ALGOR *prf;
 I3	  73579 } PBKDF2PARAM;
 I3	  73580 
 I3	  73581 #ifndef OPENSSL_NO_SCRYPT
 I3	  73582 typedef struct SCRYPT_PARAMS_st {
 I3	  73583     ASN1_OCTET_STRING *salt;
 I3	  73584     ASN1_INTEGER *costParameter;
 I3	  73585     ASN1_INTEGER *blockSize;
 I3	  73586     ASN1_INTEGER *parallelizationParameter;
 I3	  73587     ASN1_INTEGER *keyLength;
 I3	  73588 } SCRYPT_PARAMS;
 I3	  73589 #endif
 I3	  73590 
 I3    X  73591 #ifdef  __cplusplus

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1352
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3    X  73592 }
 I3    X  73593 #endif
 I3	  73594 
 I3	  73595 # include <openssl/x509_vfy.h>
 I4	  73596 /*
 I4	  73597  * WARNING: do not edit!
 I4	  73598  * Generated by descrip.mms from [-.include.openssl]x509_vfy.h.in
 I4	  73599  *
 I4	  73600  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  73601  *
 I4	  73602  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  73603  * this file except in compliance with the License.  You can obtain a copy
 I4	  73604  * in the file LICENSE in the source distribution or at
 I4	  73605  * https://www.openssl.org/source/license.html
 I4	  73606  */
 I4	  73607 
 I4	  73608 
 I4	  73609 
 I4	  73610 #ifndef OPENSSL_X509_VFY_H
 I4	  73611 # define OPENSSL_X509_VFY_H
 I4	  73612 # pragma once
 I4	  73613 
 I4    X  73614 # include <openssl/macros.h>
 I4	  73615 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  73616 #  define HEADER_X509_VFY_H
 I4	  73617 # endif
 I4	  73618 
 I4	  73619 /*
 I4	  73620  * Protect against recursion, x509.h and x509_vfy.h each include the other.
 I4	  73621  */
 I4    X  73622 # ifndef OPENSSL_X509_H
 I4    X  73623 #  include <openssl/x509.h>
 I4    X  73624 # endif
 I4	  73625 
 I4    X  73626 # include <openssl/opensslconf.h>
 I4	  73627 # include <openssl/lhash.h>
 I5	  73628 /*
 I5	  73629  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  73630  *
 I5	  73631  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  73632  * this file except in compliance with the License.  You can obtain a copy
 I5	  73633  * in the file LICENSE in the source distribution or at
 I5	  73634  * https://www.openssl.org/source/license.html
 I5	  73635  */
 I5	  73636 
 I5	  73637 
 I5	  73638 
 I5	  73639 /*
 I5	  73640  * Header for dynamic hash table routines Author - Eric Young
 I5	  73641  */
 I5	  73642 
 I5	  73643 #ifndef OPENSSL_LHASH_H
 I5	  73644 # define OPENSSL_LHASH_H
 I5	  73645 # pragma once
 I5	  73646 
 I5    X  73647 # include <openssl/macros.h>
 I5	  73648 # ifndef OPENSSL_NO_DEPRECATED_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1353
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]LHASH.H;1

 I5	  73649 #  define HEADER_LHASH_H
 I5	  73650 # endif
 I5	  73651 
 I5    X  73652 # include <openssl/e_os2.h>
 I5    X  73653 # include <openssl/bio.h>
 I5	  73654 
 I5    X  73655 #ifdef  __cplusplus
 I5    X  73656 extern "C" {
 I5    X  73657 #endif
 I5	  73658 
 I5	  73659 typedef struct lhash_node_st OPENSSL_LH_NODE;
 I5	  73660 typedef int (*OPENSSL_LH_COMPFUNC) (const void *, const void *);
 I5	  73661 typedef unsigned long (*OPENSSL_LH_HASHFUNC) (const void *);
 I5	  73662 typedef void (*OPENSSL_LH_DOALL_FUNC) (void *);
 I5	  73663 typedef void (*OPENSSL_LH_DOALL_FUNCARG) (void *, void *);
 I5	  73664 typedef struct lhash_st OPENSSL_LHASH;
 I5	  73665 
 I5	  73666 /*
 I5	  73667  * Macros for declaring and implementing type-safe wrappers for LHASH
 I5	  73668  * callbacks. This way, callbacks can be provided to LHASH structures without
 I5	  73669  * function pointer casting and the macro-defined callbacks provide
 I5	  73670  * per-variable casting before deferring to the underlying type-specific
 I5	  73671  * callbacks. NB: It is possible to place a "static" in front of both the
 I5	  73672  * DECLARE and IMPLEMENT macros if the functions are strictly internal.
 I5	  73673  */
 I5	  73674 
 I5	  73675 /* First: "hash" functions */
 I5	  73676 # define DECLARE_LHASH_HASH_FN(name, o_type) \
 I5	  73677         unsigned long name##_LHASH_HASH(const void *);
 I5	  73678 # define IMPLEMENT_LHASH_HASH_FN(name, o_type) \
 I5	  73679         unsigned long name##_LHASH_HASH(const void *arg) { \
 I5	  73680                 const o_type *a = arg; \
 I5	  73681                 return name##_hash(a); }
 I5	  73682 # define LHASH_HASH_FN(name) name##_LHASH_HASH
 I5	  73683 
 I5	  73684 /* Second: "compare" functions */
 I5	  73685 # define DECLARE_LHASH_COMP_FN(name, o_type) \
 I5	  73686         int name##_LHASH_COMP(const void *, const void *);
 I5	  73687 # define IMPLEMENT_LHASH_COMP_FN(name, o_type) \
 I5	  73688         int name##_LHASH_COMP(const void *arg1, const void *arg2) { \
 I5	  73689                 const o_type *a = arg1;             \
 I5	  73690                 const o_type *b = arg2; \
 I5	  73691                 return name##_cmp(a,b); }
 I5	  73692 # define LHASH_COMP_FN(name) name##_LHASH_COMP
 I5	  73693 
 I5	  73694 /* Fourth: "doall_arg" functions */
 I5	  73695 # define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \
 I5	  73696         void name##_LHASH_DOALL_ARG(void *, void *);
 I5	  73697 # define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \
 I5	  73698         void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \
 I5	  73699                 o_type *a = arg1; \
 I5	  73700                 a_type *b = arg2; \
 I5	  73701                 name##_doall_arg(a, b); }
 I5	  73702 # define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG
 I5	  73703 
 I5	  73704 
 I5	  73705 # define LH_LOAD_MULT    256

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1354
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]LHASH.H;1

 I5	  73706 
 I5	  73707 int OPENSSL_LH_error(OPENSSL_LHASH *lh);
 I5	  73708 OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC c);
 I5	  73709 void OPENSSL_LH_free(OPENSSL_LHASH *lh);
 I5	  73710 void OPENSSL_LH_flush(OPENSSL_LHASH *lh);
 I5	  73711 void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data);
 I5	  73712 void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data);
 I5	  73713 void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data);
 I5	  73714 void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func);
 I5	  73715 void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg);
 I5	  73716 unsigned long OPENSSL_LH_strhash(const char *c);
 I5	  73717 unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh);
 I5	  73718 unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh);
 I5	  73719 void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load);
 I5	  73720 
 I5	  73721 # ifndef OPENSSL_NO_STDIO
 I5	  73722 void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp);
 I5	  73723 void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp);
 I5	  73724 void OPENSSL_LH_node_usage_stats(const OPENSSL_LHASH *lh, FILE *fp);
 I5	  73725 # endif
 I5	  73726 void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out);
 I5	  73727 void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out);
 I5	  73728 void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out);
 I5	  73729 
 I5	  73730 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I5	  73731 #  define _LHASH OPENSSL_LHASH
 I5	  73732 #  define LHASH_NODE OPENSSL_LH_NODE
 I5	  73733 #  define lh_error OPENSSL_LH_error
 I5	  73734 #  define lh_new OPENSSL_LH_new
 I5	  73735 #  define lh_free OPENSSL_LH_free
 I5	  73736 #  define lh_insert OPENSSL_LH_insert
 I5	  73737 #  define lh_delete OPENSSL_LH_delete
 I5	  73738 #  define lh_retrieve OPENSSL_LH_retrieve
 I5	  73739 #  define lh_doall OPENSSL_LH_doall
 I5	  73740 #  define lh_doall_arg OPENSSL_LH_doall_arg
 I5	  73741 #  define lh_strhash OPENSSL_LH_strhash
 I5	  73742 #  define lh_num_items OPENSSL_LH_num_items
 I5	  73743 #  ifndef OPENSSL_NO_STDIO
 I5	  73744 #   define lh_stats OPENSSL_LH_stats
 I5	  73745 #   define lh_node_stats OPENSSL_LH_node_stats
 I5	  73746 #   define lh_node_usage_stats OPENSSL_LH_node_usage_stats
 I5	  73747 #  endif
 I5	  73748 #  define lh_stats_bio OPENSSL_LH_stats_bio
 I5	  73749 #  define lh_node_stats_bio OPENSSL_LH_node_stats_bio
 I5	  73750 #  define lh_node_usage_stats_bio OPENSSL_LH_node_usage_stats_bio
 I5	  73751 # endif
 I5	  73752 
 I5	  73753 /* Type checking... */
 I5	  73754 
 I5	  73755 # define LHASH_OF(type) struct lhash_st_##type
 I5	  73756 
 I5	  73757 /* Helper macro for internal use */
 I5	  73758 # define DEFINE_LHASH_OF_INTERNAL(type) \
 I5	  73759     LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \
 I5	  73760     typedef int (*lh_##type##_compfunc)(const type *a, const type *b); \
 I5	  73761     typedef unsigned long (*lh_##type##_hashfunc)(const type *a); \
 I5	  73762     typedef void (*lh_##type##_doallfunc)(type *a); \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1355
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]LHASH.H;1

 I5	  73763     static ossl_unused ossl_inline type *ossl_check_##type##_lh_plain_type(type *ptr) \
 I5	  73764     { \
 I5	  73765         return ptr; \
 I5	  73766     } \
 I5	  73767     static ossl_unused ossl_inline const type *ossl_check_const_##type##_lh_plain_type(const type *ptr) \
 I5	  73768     { \
 I5	  73769         return ptr; \
 I5	  73770     } \
 I5	  73771     static ossl_unused ossl_inline const OPENSSL_LHASH *ossl_check_const_##type##_lh_type(const LHASH_OF(type) *lh) 
 I5	  73771 \
 I5	  73772     { \
 I5	  73773         return (const OPENSSL_LHASH *)lh; \
 I5	  73774     } \
 I5	  73775     static ossl_unused ossl_inline OPENSSL_LHASH *ossl_check_##type##_lh_type(LHASH_OF(type) *lh) \
 I5	  73776     { \
 I5	  73777         return (OPENSSL_LHASH *)lh; \
 I5	  73778     } \
 I5	  73779     static ossl_unused ossl_inline OPENSSL_LH_COMPFUNC ossl_check_##type##_lh_compfunc_type(lh_##type##_compfunc cmp
 I5	  73779 ) \
 I5	  73780     { \
 I5	  73781         return (OPENSSL_LH_COMPFUNC)cmp; \
 I5	  73782     } \
 I5	  73783     static ossl_unused ossl_inline OPENSSL_LH_HASHFUNC ossl_check_##type##_lh_hashfunc_type(lh_##type##_hashfunc hfn
 I5	  73783 ) \
 I5	  73784     { \
 I5	  73785         return (OPENSSL_LH_HASHFUNC)hfn; \
 I5	  73786     } \
 I5	  73787     static ossl_unused ossl_inline OPENSSL_LH_DOALL_FUNC ossl_check_##type##_lh_doallfunc_type(lh_##type##_doallfunc
 I5	  73787  dfn) \
 I5	  73788     { \
 I5	  73789         return (OPENSSL_LH_DOALL_FUNC)dfn; \
 I5	  73790     } \
 I5	  73791     LHASH_OF(type)
 I5	  73792 
 I5	  73793 # define DEFINE_LHASH_OF(type) \
 I5	  73794     LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \
 I5	  73795     static ossl_unused ossl_inline LHASH_OF(type) *lh_##type##_new(unsigned long (*hfn)(const type *), \
 I5	  73796                                                                    int (*cfn)(const type *, const type *)) \
 I5	  73797     { \
 I5	  73798         return (LHASH_OF(type) *) \
 I5	  73799             OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \
 I5	  73800     } \
 I5	  73801     static ossl_unused ossl_inline void lh_##type##_free(LHASH_OF(type) *lh) \
 I5	  73802     { \
 I5	  73803         OPENSSL_LH_free((OPENSSL_LHASH *)lh); \
 I5	  73804     } \
 I5	  73805     static ossl_unused ossl_inline void lh_##type##_flush(LHASH_OF(type) *lh) \
 I5	  73806     { \
 I5	  73807         OPENSSL_LH_flush((OPENSSL_LHASH *)lh); \
 I5	  73808     } \
 I5	  73809     static ossl_unused ossl_inline type *lh_##type##_insert(LHASH_OF(type) *lh, type *d) \
 I5	  73810     { \
 I5	  73811         return (type *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d); \
 I5	  73812     } \
 I5	  73813     static ossl_unused ossl_inline type *lh_##type##_delete(LHASH_OF(type) *lh, const type *d) \
 I5	  73814     { \
 I5	  73815         return (type *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d); \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1356
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]LHASH.H;1

 I5	  73816     } \
 I5	  73817     static ossl_unused ossl_inline type *lh_##type##_retrieve(LHASH_OF(type) *lh, const type *d) \
 I5	  73818     { \
 I5	  73819         return (type *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d); \
 I5	  73820     } \
 I5	  73821     static ossl_unused ossl_inline int lh_##type##_error(LHASH_OF(type) *lh) \
 I5	  73822     { \
 I5	  73823         return OPENSSL_LH_error((OPENSSL_LHASH *)lh); \
 I5	  73824     } \
 I5	  73825     static ossl_unused ossl_inline unsigned long lh_##type##_num_items(LHASH_OF(type) *lh) \
 I5	  73826     { \
 I5	  73827         return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh); \
 I5	  73828     } \
 I5	  73829     static ossl_unused ossl_inline void lh_##type##_node_stats_bio(const LHASH_OF(type) *lh, BIO *out) \
 I5	  73830     { \
 I5	  73831         OPENSSL_LH_node_stats_bio((const OPENSSL_LHASH *)lh, out); \
 I5	  73832     } \
 I5	  73833     static ossl_unused ossl_inline void lh_##type##_node_usage_stats_bio(const LHASH_OF(type) *lh, BIO *out) \
 I5	  73834     { \
 I5	  73835         OPENSSL_LH_node_usage_stats_bio((const OPENSSL_LHASH *)lh, out); \
 I5	  73836     } \
 I5	  73837     static ossl_unused ossl_inline void lh_##type##_stats_bio(const LHASH_OF(type) *lh, BIO *out) \
 I5	  73838     { \
 I5	  73839         OPENSSL_LH_stats_bio((const OPENSSL_LHASH *)lh, out); \
 I5	  73840     } \
 I5	  73841     static ossl_unused ossl_inline unsigned long lh_##type##_get_down_load(LHASH_OF(type) *lh) \
 I5	  73842     { \
 I5	  73843         return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh); \
 I5	  73844     } \
 I5	  73845     static ossl_unused ossl_inline void lh_##type##_set_down_load(LHASH_OF(type) *lh, unsigned long dl) \
 I5	  73846     { \
 I5	  73847         OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl); \
 I5	  73848     } \
 I5	  73849     static ossl_unused ossl_inline void lh_##type##_doall(LHASH_OF(type) *lh, \
 I5	  73850                                                           void (*doall)(type *)) \
 I5	  73851     { \
 I5	  73852         OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNC)doall); \
 I5	  73853     } \
 I5	  73854     static ossl_unused ossl_inline void lh_##type##_doall_arg(LHASH_OF(type) *lh, \
 I5	  73855                                                               void (*doallarg)(type *, void *), \
 I5	  73856                                                               void *arg) \
 I5	  73857     { \
 I5	  73858         OPENSSL_LH_doall_arg((OPENSSL_LHASH *)lh, \
 I5	  73859                              (OPENSSL_LH_DOALL_FUNCARG)doallarg, arg); \
 I5	  73860     } \
 I5	  73861     LHASH_OF(type)
 I5	  73862 
 I5	  73863 #define IMPLEMENT_LHASH_DOALL_ARG_CONST(type, argtype) \
 I5	  73864     int_implement_lhash_doall(type, argtype, const type)
 I5	  73865 
 I5	  73866 #define IMPLEMENT_LHASH_DOALL_ARG(type, argtype) \
 I5	  73867     int_implement_lhash_doall(type, argtype, type)
 I5	  73868 
 I5	  73869 #define int_implement_lhash_doall(type, argtype, cbargtype) \
 I5	  73870     static ossl_unused ossl_inline void \
 I5	  73871         lh_##type##_doall_##argtype(LHASH_OF(type) *lh, \
 I5	  73872                                    void (*fn)(cbargtype *, argtype *), \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1357
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]LHASH.H;1

 I5	  73873                                    argtype *arg) \
 I5	  73874     { \
 I5	  73875         OPENSSL_LH_doall_arg((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNCARG)fn, (void *)arg); \
 I5	  73876     } \
 I5	  73877     LHASH_OF(type)
 I5	  73878 
 I5   1	  73879 DEFINE_LHASH_OF_INTERNAL(OPENSSL_STRING);
       E	 struct lhash_st_OPENSSL_STRING { union lh_OPENSSL_STRING_dummy { void * d1 ; unsigned long d2 ; int d3 ; } dummy ; 
       E	} ; typedef int ( * lh_OPENSSL_STRING_compfunc ) ( const OPENSSL_STRING * a , const OPENSSL_STRING * b ) ; typedef u
       E	nsigned long ( * lh_OPENSSL_STRING_hashfunc ) ( const OPENSSL_STRING * a ) ; typedef void ( * lh_OPENSSL_STRING_doal
       E	lfunc ) ( OPENSSL_STRING * a ) ; static __inline OPENSSL_STRING * ossl_check_OPENSSL_STRING_lh_plain_type ( OPENSSL_
       E	STRING * ptr ) { return ptr ; } static __inline const OPENSSL_STRING * ossl_check_const_OPENSSL_STRING_lh_plain_type
       E	 ( const OPENSSL_STRING * ptr ) { return ptr ; } static __inline const OPENSSL_LHASH * ossl_check_const_OPENSSL_STRI
       E	NG_lh_type ( const struct lhash_st_OPENSSL_STRING * lh ) { return ( const OPENSSL_LHASH * ) lh ; } static __inline O
       E	PENSSL_LHASH * ossl_check_OPENSSL_STRING_lh_type ( struct lhash_st_OPENSSL_STRING * lh ) { return ( OPENSSL_LHASH * 
       E	) lh ; } static __inline OPENSSL_LH_COMPFUNC ossl_check_OPENSSL_STRING_lh_compfunc_type ( lh_OPENSSL_STRING_compfunc
       E	 cmp ) { return ( OPENSSL_LH_COMPFUNC ) cmp ; } static __inline OPENSSL_LH_HASHFUNC ossl_check_OPENSSL_STRING_lh_has
       E	hfunc_type ( lh_OPENSSL_STRING_hashfunc hfn ) { return ( OPENSSL_LH_HASHFUNC ) hfn ; } static __inline OPENSSL_LH_DO
       E	ALL_FUNC ossl_check_OPENSSL_STRING_lh_doallfunc_type ( lh_OPENSSL_STRING_doallfunc dfn ) { return ( OPENSSL_LH_DOALL
       E	_FUNC ) dfn ; } struct lhash_st_OPENSSL_STRING
 I5	  73880 #define lh_OPENSSL_STRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_STRING) *)OPENSSL_LH_new(ossl_check_OPENSSL_STRING_lh_has
 I5	  73880 hfunc_type(hfn), ossl_check_OPENSSL_STRING_lh_compfunc_type(cmp)))
 I5	  73881 #define lh_OPENSSL_STRING_free(lh) OPENSSL_LH_free(ossl_check_OPENSSL_STRING_lh_type(lh))
 I5	  73882 #define lh_OPENSSL_STRING_flush(lh) OPENSSL_LH_flush(ossl_check_OPENSSL_STRING_lh_type(lh))
 I5	  73883 #define lh_OPENSSL_STRING_insert(lh, ptr) ((OPENSSL_STRING *)OPENSSL_LH_insert(ossl_check_OPENSSL_STRING_lh_type(lh)
 I5	  73883 , ossl_check_OPENSSL_STRING_lh_plain_type(ptr)))
 I5	  73884 #define lh_OPENSSL_STRING_delete(lh, ptr) ((OPENSSL_STRING *)OPENSSL_LH_delete(ossl_check_OPENSSL_STRING_lh_type(lh)
 I5	  73884 , ossl_check_const_OPENSSL_STRING_lh_plain_type(ptr)))
 I5	  73885 #define lh_OPENSSL_STRING_retrieve(lh, ptr) ((OPENSSL_STRING *)OPENSSL_LH_retrieve(ossl_check_OPENSSL_STRING_lh_type
 I5	  73885 (lh), ossl_check_const_OPENSSL_STRING_lh_plain_type(ptr)))
 I5	  73886 #define lh_OPENSSL_STRING_error(lh) OPENSSL_LH_error(ossl_check_OPENSSL_STRING_lh_type(lh))
 I5	  73887 #define lh_OPENSSL_STRING_num_items(lh) OPENSSL_LH_num_items(ossl_check_OPENSSL_STRING_lh_type(lh))
 I5	  73888 #define lh_OPENSSL_STRING_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_OPENSSL_STRING_lh_type(
 I5	  73888 lh), out)
 I5	  73889 #define lh_OPENSSL_STRING_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_OPENSSL_STR
 I5	  73889 ING_lh_type(lh), out)
 I5	  73890 #define lh_OPENSSL_STRING_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_OPENSSL_STRING_lh_type(lh), out)
 I5	  73891 #define lh_OPENSSL_STRING_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_OPENSSL_STRING_lh_type(lh))
 I5	  73892 #define lh_OPENSSL_STRING_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_OPENSSL_STRING_lh_type(lh), dl)
 I5	  73893 #define lh_OPENSSL_STRING_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_OPENSSL_STRING_lh_type(lh), ossl_check_OPENSSL_
 I5	  73893 STRING_lh_doallfunc_type(dfn))
 I5   1	  73894 DEFINE_LHASH_OF_INTERNAL(OPENSSL_CSTRING);
       E	 struct lhash_st_OPENSSL_CSTRING { union lh_OPENSSL_CSTRING_dummy { void * d1 ; unsigned long d2 ; int d3 ; } dummy 
       E	; } ; typedef int ( * lh_OPENSSL_CSTRING_compfunc ) ( const OPENSSL_CSTRING * a , const OPENSSL_CSTRING * b ) ; type
       E	def unsigned long ( * lh_OPENSSL_CSTRING_hashfunc ) ( const OPENSSL_CSTRING * a ) ; typedef void ( * lh_OPENSSL_CSTR
       E	ING_doallfunc ) ( OPENSSL_CSTRING * a ) ; static __inline OPENSSL_CSTRING * ossl_check_OPENSSL_CSTRING_lh_plain_type
       E	 ( OPENSSL_CSTRING * ptr ) { return ptr ; } static __inline const OPENSSL_CSTRING * ossl_check_const_OPENSSL_CSTRING
       E	_lh_plain_type ( const OPENSSL_CSTRING * ptr ) { return ptr ; } static __inline const OPENSSL_LHASH * ossl_check_con
       E	st_OPENSSL_CSTRING_lh_type ( const struct lhash_st_OPENSSL_CSTRING * lh ) { return ( const OPENSSL_LHASH * ) lh ; } 
       E	static __inline OPENSSL_LHASH * ossl_check_OPENSSL_CSTRING_lh_type ( struct lhash_st_OPENSSL_CSTRING * lh ) { return
       E	 ( OPENSSL_LHASH * ) lh ; } static __inline OPENSSL_LH_COMPFUNC ossl_check_OPENSSL_CSTRING_lh_compfunc_type ( lh_OPE
       E	NSSL_CSTRING_compfunc cmp ) { return ( OPENSSL_LH_COMPFUNC ) cmp ; } static __inline OPENSSL_LH_HASHFUNC ossl_check_
       E	OPENSSL_CSTRING_lh_hashfunc_type ( lh_OPENSSL_CSTRING_hashfunc hfn ) { return ( OPENSSL_LH_HASHFUNC ) hfn ; } static
       E	 __inline OPENSSL_LH_DOALL_FUNC ossl_check_OPENSSL_CSTRING_lh_doallfunc_type ( lh_OPENSSL_CSTRING_doallfunc dfn ) { 
       E	return ( OPENSSL_LH_DOALL_FUNC ) dfn ; } struct lhash_st_OPENSSL_CSTRING
 I5	  73895 #define lh_OPENSSL_CSTRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_CSTRING) *)OPENSSL_LH_new(ossl_check_OPENSSL_CSTRING_lh_
 I5	  73895 hashfunc_type(hfn), ossl_check_OPENSSL_CSTRING_lh_compfunc_type(cmp)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1358
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]LHASH.H;1

 I5	  73896 #define lh_OPENSSL_CSTRING_free(lh) OPENSSL_LH_free(ossl_check_OPENSSL_CSTRING_lh_type(lh))
 I5	  73897 #define lh_OPENSSL_CSTRING_flush(lh) OPENSSL_LH_flush(ossl_check_OPENSSL_CSTRING_lh_type(lh))
 I5	  73898 #define lh_OPENSSL_CSTRING_insert(lh, ptr) ((OPENSSL_CSTRING *)OPENSSL_LH_insert(ossl_check_OPENSSL_CSTRING_lh_type(
 I5	  73898 lh), ossl_check_OPENSSL_CSTRING_lh_plain_type(ptr)))
 I5	  73899 #define lh_OPENSSL_CSTRING_delete(lh, ptr) ((OPENSSL_CSTRING *)OPENSSL_LH_delete(ossl_check_OPENSSL_CSTRING_lh_type(
 I5	  73899 lh), ossl_check_const_OPENSSL_CSTRING_lh_plain_type(ptr)))
 I5	  73900 #define lh_OPENSSL_CSTRING_retrieve(lh, ptr) ((OPENSSL_CSTRING *)OPENSSL_LH_retrieve(ossl_check_OPENSSL_CSTRING_lh_t
 I5	  73900 ype(lh), ossl_check_const_OPENSSL_CSTRING_lh_plain_type(ptr)))
 I5	  73901 #define lh_OPENSSL_CSTRING_error(lh) OPENSSL_LH_error(ossl_check_OPENSSL_CSTRING_lh_type(lh))
 I5	  73902 #define lh_OPENSSL_CSTRING_num_items(lh) OPENSSL_LH_num_items(ossl_check_OPENSSL_CSTRING_lh_type(lh))
 I5	  73903 #define lh_OPENSSL_CSTRING_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_OPENSSL_CSTRING_lh_typ
 I5	  73903 e(lh), out)
 I5	  73904 #define lh_OPENSSL_CSTRING_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_OPENSSL_CS
 I5	  73904 TRING_lh_type(lh), out)
 I5	  73905 #define lh_OPENSSL_CSTRING_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_OPENSSL_CSTRING_lh_type(lh), out
 I5	  73905 )
 I5	  73906 #define lh_OPENSSL_CSTRING_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_OPENSSL_CSTRING_lh_type(lh))
 I5	  73907 #define lh_OPENSSL_CSTRING_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_OPENSSL_CSTRING_lh_type(lh), dl
 I5	  73907 )
 I5	  73908 #define lh_OPENSSL_CSTRING_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_OPENSSL_CSTRING_lh_type(lh), ossl_check_OPENSS
 I5	  73908 L_CSTRING_lh_doallfunc_type(dfn))
 I5	  73909 
 I5	  73910 
 I5    X  73911 #ifdef  __cplusplus
 I5    X  73912 }
 I5    X  73913 #endif
 I5	  73914 
 I5	  73915 #endif
 I4    X  73916 # include <openssl/bio.h>
 I4    X  73917 # include <openssl/crypto.h>
 I4    X  73918 # include <openssl/symhacks.h>
 I4	  73919 
 I4    X  73920 #ifdef  __cplusplus
 I4    X  73921 extern "C" {
 I4    X  73922 #endif
 I4	  73923 
 I4	  73924 /*-
 I4	  73925 SSL_CTX -> X509_STORE
 I4	  73926                 -> X509_LOOKUP
 I4	  73927                         ->X509_LOOKUP_METHOD
 I4	  73928                 -> X509_LOOKUP
 I4	  73929                         ->X509_LOOKUP_METHOD
 I4	  73930 
 I4	  73931 SSL     -> X509_STORE_CTX
 I4	  73932                 ->X509_STORE
 I4	  73933 
 I4	  73934 The X509_STORE holds the tables etc for verification stuff.
 I4	  73935 A X509_STORE_CTX is used while validating a single certificate.
 I4	  73936 The X509_STORE has X509_LOOKUPs for looking up certs.
 I4	  73937 The X509_STORE then calls a function to actually verify the
 I4	  73938 certificate chain.
 I4	  73939 */
 I4	  73940 
 I4	  73941 typedef enum {
 I4	  73942     X509_LU_NONE = 0,
 I4	  73943     X509_LU_X509, X509_LU_CRL
 I4	  73944 } X509_LOOKUP_TYPE;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1359
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  73945 
 I4	  73946 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  73947 #define X509_LU_RETRY   -1
 I4	  73948 #define X509_LU_FAIL    0
 I4	  73949 #endif
 I4	  73950 
 I4   1	  73951 SKM_DEFINE_STACK_OF_INTERNAL(X509_LOOKUP, X509_LOOKUP, X509_LOOKUP)
       E	 struct stack_st_X509_LOOKUP ; typedef int ( * sk_X509_LOOKUP_compfunc ) ( const X509_LOOKUP * const * a , const X50
       E	9_LOOKUP * const * b ) ; typedef void ( * sk_X509_LOOKUP_freefunc ) ( X509_LOOKUP * a ) ; typedef X509_LOOKUP * ( * 
       E	sk_X509_LOOKUP_copyfunc ) ( const X509_LOOKUP * a ) ; static __inline X509_LOOKUP * ossl_check_X509_LOOKUP_type ( X5
       E	09_LOOKUP * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_LOOKUP_sk_type ( cons
       E	t struct stack_st_X509_LOOKUP * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_
       E	check_X509_LOOKUP_sk_type ( struct stack_st_X509_LOOKUP * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline O
       E	PENSSL_sk_compfunc ossl_check_X509_LOOKUP_compfunc_type ( sk_X509_LOOKUP_compfunc cmp ) { return ( OPENSSL_sk_compfu
       E	nc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_X509_LOOKUP_copyfunc_type ( sk_X509_LOOKUP_copyfunc cpy 
       E	) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_LOOKUP_freefunc_type 
       E	( sk_X509_LOOKUP_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I4	  73952 #define sk_X509_LOOKUP_num(sk) OPENSSL_sk_num(ossl_check_const_X509_LOOKUP_sk_type(sk))
 I4	  73953 #define sk_X509_LOOKUP_value(sk, idx) ((X509_LOOKUP *)OPENSSL_sk_value(ossl_check_const_X509_LOOKUP_sk_type(sk), (id
 I4	  73953 x)))
 I4	  73954 #define sk_X509_LOOKUP_new(cmp) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_new(ossl_check_X509_LOOKUP_compfunc_type(cmp)))
 I4	  73955 #define sk_X509_LOOKUP_new_null() ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_new_null())
 I4	  73956 #define sk_X509_LOOKUP_new_reserve(cmp, n) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_new_reserve(ossl_check_X509_LOOKUP_c
 I4	  73956 ompfunc_type(cmp), (n)))
 I4	  73957 #define sk_X509_LOOKUP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_LOOKUP_sk_type(sk), (n))
 I4	  73958 #define sk_X509_LOOKUP_free(sk) OPENSSL_sk_free(ossl_check_X509_LOOKUP_sk_type(sk))
 I4	  73959 #define sk_X509_LOOKUP_zero(sk) OPENSSL_sk_zero(ossl_check_X509_LOOKUP_sk_type(sk))
 I4	  73960 #define sk_X509_LOOKUP_delete(sk, i) ((X509_LOOKUP *)OPENSSL_sk_delete(ossl_check_X509_LOOKUP_sk_type(sk), (i)))
 I4	  73961 #define sk_X509_LOOKUP_delete_ptr(sk, ptr) ((X509_LOOKUP *)OPENSSL_sk_delete_ptr(ossl_check_X509_LOOKUP_sk_type(sk),
 I4	  73961  ossl_check_X509_LOOKUP_type(ptr)))
 I4	  73962 #define sk_X509_LOOKUP_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type
 I4	  73962 (ptr))
 I4	  73963 #define sk_X509_LOOKUP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKU
 I4	  73963 P_type(ptr))
 I4	  73964 #define sk_X509_LOOKUP_pop(sk) ((X509_LOOKUP *)OPENSSL_sk_pop(ossl_check_X509_LOOKUP_sk_type(sk)))
 I4	  73965 #define sk_X509_LOOKUP_shift(sk) ((X509_LOOKUP *)OPENSSL_sk_shift(ossl_check_X509_LOOKUP_sk_type(sk)))
 I4	  73966 #define sk_X509_LOOKUP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_LOOKUP_sk_type(sk),ossl_check_X509
 I4	  73966 _LOOKUP_freefunc_type(freefunc))
 I4	  73967 #define sk_X509_LOOKUP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LO
 I4	  73967 OKUP_type(ptr), (idx))
 I4	  73968 #define sk_X509_LOOKUP_set(sk, idx, ptr) ((X509_LOOKUP *)OPENSSL_sk_set(ossl_check_X509_LOOKUP_sk_type(sk), (idx), o
 I4	  73968 ssl_check_X509_LOOKUP_type(ptr)))
 I4	  73969 #define sk_X509_LOOKUP_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type
 I4	  73969 (ptr))
 I4	  73970 #define sk_X509_LOOKUP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKU
 I4	  73970 P_type(ptr))
 I4	  73971 #define sk_X509_LOOKUP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X5
 I4	  73971 09_LOOKUP_type(ptr), pnum)
 I4	  73972 #define sk_X509_LOOKUP_sort(sk) OPENSSL_sk_sort(ossl_check_X509_LOOKUP_sk_type(sk))
 I4	  73973 #define sk_X509_LOOKUP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_LOOKUP_sk_type(sk))
 I4	  73974 #define sk_X509_LOOKUP_dup(sk) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_dup(ossl_check_const_X509_LOOKUP_sk_type(sk)))
 I4	  73975 #define sk_X509_LOOKUP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_deep_copy(ossl_check_c
 I4	  73975 onst_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_copyfunc_type(copyfunc), ossl_check_X509_LOOKUP_freefunc_type(f
 I4	  73975 reefunc)))
 I4	  73976 #define sk_X509_LOOKUP_set_cmp_func(sk, cmp) ((sk_X509_LOOKUP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_LOOKU
 I4	  73976 P_sk_type(sk), ossl_check_X509_LOOKUP_compfunc_type(cmp)))
 I4   1	  73977 SKM_DEFINE_STACK_OF_INTERNAL(X509_OBJECT, X509_OBJECT, X509_OBJECT)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1360
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

       E	 struct stack_st_X509_OBJECT ; typedef int ( * sk_X509_OBJECT_compfunc ) ( const X509_OBJECT * const * a , const X50
       E	9_OBJECT * const * b ) ; typedef void ( * sk_X509_OBJECT_freefunc ) ( X509_OBJECT * a ) ; typedef X509_OBJECT * ( * 
       E	sk_X509_OBJECT_copyfunc ) ( const X509_OBJECT * a ) ; static __inline X509_OBJECT * ossl_check_X509_OBJECT_type ( X5
       E	09_OBJECT * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_OBJECT_sk_type ( cons
       E	t struct stack_st_X509_OBJECT * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_
       E	check_X509_OBJECT_sk_type ( struct stack_st_X509_OBJECT * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline O
       E	PENSSL_sk_compfunc ossl_check_X509_OBJECT_compfunc_type ( sk_X509_OBJECT_compfunc cmp ) { return ( OPENSSL_sk_compfu
       E	nc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_X509_OBJECT_copyfunc_type ( sk_X509_OBJECT_copyfunc cpy 
       E	) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_OBJECT_freefunc_type 
       E	( sk_X509_OBJECT_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I4	  73978 #define sk_X509_OBJECT_num(sk) OPENSSL_sk_num(ossl_check_const_X509_OBJECT_sk_type(sk))
 I4	  73979 #define sk_X509_OBJECT_value(sk, idx) ((X509_OBJECT *)OPENSSL_sk_value(ossl_check_const_X509_OBJECT_sk_type(sk), (id
 I4	  73979 x)))
 I4	  73980 #define sk_X509_OBJECT_new(cmp) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_new(ossl_check_X509_OBJECT_compfunc_type(cmp)))
 I4	  73981 #define sk_X509_OBJECT_new_null() ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_new_null())
 I4	  73982 #define sk_X509_OBJECT_new_reserve(cmp, n) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_new_reserve(ossl_check_X509_OBJECT_c
 I4	  73982 ompfunc_type(cmp), (n)))
 I4	  73983 #define sk_X509_OBJECT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_OBJECT_sk_type(sk), (n))
 I4	  73984 #define sk_X509_OBJECT_free(sk) OPENSSL_sk_free(ossl_check_X509_OBJECT_sk_type(sk))
 I4	  73985 #define sk_X509_OBJECT_zero(sk) OPENSSL_sk_zero(ossl_check_X509_OBJECT_sk_type(sk))
 I4	  73986 #define sk_X509_OBJECT_delete(sk, i) ((X509_OBJECT *)OPENSSL_sk_delete(ossl_check_X509_OBJECT_sk_type(sk), (i)))
 I4	  73987 #define sk_X509_OBJECT_delete_ptr(sk, ptr) ((X509_OBJECT *)OPENSSL_sk_delete_ptr(ossl_check_X509_OBJECT_sk_type(sk),
 I4	  73987  ossl_check_X509_OBJECT_type(ptr)))
 I4	  73988 #define sk_X509_OBJECT_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type
 I4	  73988 (ptr))
 I4	  73989 #define sk_X509_OBJECT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJEC
 I4	  73989 T_type(ptr))
 I4	  73990 #define sk_X509_OBJECT_pop(sk) ((X509_OBJECT *)OPENSSL_sk_pop(ossl_check_X509_OBJECT_sk_type(sk)))
 I4	  73991 #define sk_X509_OBJECT_shift(sk) ((X509_OBJECT *)OPENSSL_sk_shift(ossl_check_X509_OBJECT_sk_type(sk)))
 I4	  73992 #define sk_X509_OBJECT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_OBJECT_sk_type(sk),ossl_check_X509
 I4	  73992 _OBJECT_freefunc_type(freefunc))
 I4	  73993 #define sk_X509_OBJECT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OB
 I4	  73993 JECT_type(ptr), (idx))
 I4	  73994 #define sk_X509_OBJECT_set(sk, idx, ptr) ((X509_OBJECT *)OPENSSL_sk_set(ossl_check_X509_OBJECT_sk_type(sk), (idx), o
 I4	  73994 ssl_check_X509_OBJECT_type(ptr)))
 I4	  73995 #define sk_X509_OBJECT_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type
 I4	  73995 (ptr))
 I4	  73996 #define sk_X509_OBJECT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJEC
 I4	  73996 T_type(ptr))
 I4	  73997 #define sk_X509_OBJECT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X5
 I4	  73997 09_OBJECT_type(ptr), pnum)
 I4	  73998 #define sk_X509_OBJECT_sort(sk) OPENSSL_sk_sort(ossl_check_X509_OBJECT_sk_type(sk))
 I4	  73999 #define sk_X509_OBJECT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_OBJECT_sk_type(sk))
 I4	  74000 #define sk_X509_OBJECT_dup(sk) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_dup(ossl_check_const_X509_OBJECT_sk_type(sk)))
 I4	  74001 #define sk_X509_OBJECT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_deep_copy(ossl_check_c
 I4	  74001 onst_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_copyfunc_type(copyfunc), ossl_check_X509_OBJECT_freefunc_type(f
 I4	  74001 reefunc)))
 I4	  74002 #define sk_X509_OBJECT_set_cmp_func(sk, cmp) ((sk_X509_OBJECT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_OBJEC
 I4	  74002 T_sk_type(sk), ossl_check_X509_OBJECT_compfunc_type(cmp)))
 I4   1	  74003 SKM_DEFINE_STACK_OF_INTERNAL(X509_VERIFY_PARAM, X509_VERIFY_PARAM, X509_VERIFY_PARAM)
       E	 struct stack_st_X509_VERIFY_PARAM ; typedef int ( * sk_X509_VERIFY_PARAM_compfunc ) ( const X509_VERIFY_PARAM * con
       E	st * a , const X509_VERIFY_PARAM * const * b ) ; typedef void ( * sk_X509_VERIFY_PARAM_freefunc ) ( X509_VERIFY_PARA
       E	M * a ) ; typedef X509_VERIFY_PARAM * ( * sk_X509_VERIFY_PARAM_copyfunc ) ( const X509_VERIFY_PARAM * a ) ; static _
       E	_inline X509_VERIFY_PARAM * ossl_check_X509_VERIFY_PARAM_type ( X509_VERIFY_PARAM * ptr ) { return ptr ; } static __
       E	inline const OPENSSL_STACK * ossl_check_const_X509_VERIFY_PARAM_sk_type ( const struct stack_st_X509_VERIFY_PARAM * 
       E	sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_VERIFY_PARAM_sk_type 
       E	( struct stack_st_X509_VERIFY_PARAM * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc o

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1361
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

       E	ssl_check_X509_VERIFY_PARAM_compfunc_type ( sk_X509_VERIFY_PARAM_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp
       E	 ; } static __inline OPENSSL_sk_copyfunc ossl_check_X509_VERIFY_PARAM_copyfunc_type ( sk_X509_VERIFY_PARAM_copyfunc 
       E	cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_VERIFY_PARAM_free
       E	func_type ( sk_X509_VERIFY_PARAM_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I4	  74004 #define sk_X509_VERIFY_PARAM_num(sk) OPENSSL_sk_num(ossl_check_const_X509_VERIFY_PARAM_sk_type(sk))
 I4	  74005 #define sk_X509_VERIFY_PARAM_value(sk, idx) ((X509_VERIFY_PARAM *)OPENSSL_sk_value(ossl_check_const_X509_VERIFY_PARA
 I4	  74005 M_sk_type(sk), (idx)))
 I4	  74006 #define sk_X509_VERIFY_PARAM_new(cmp) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_new(ossl_check_X509_VERIFY_PARAM_co
 I4	  74006 mpfunc_type(cmp)))
 I4	  74007 #define sk_X509_VERIFY_PARAM_new_null() ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_new_null())
 I4	  74008 #define sk_X509_VERIFY_PARAM_new_reserve(cmp, n) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_new_reserve(ossl_check_X
 I4	  74008 509_VERIFY_PARAM_compfunc_type(cmp), (n)))
 I4	  74009 #define sk_X509_VERIFY_PARAM_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_VERIFY_PARAM_sk_type(sk), (n))
 I4	  74010 #define sk_X509_VERIFY_PARAM_free(sk) OPENSSL_sk_free(ossl_check_X509_VERIFY_PARAM_sk_type(sk))
 I4	  74011 #define sk_X509_VERIFY_PARAM_zero(sk) OPENSSL_sk_zero(ossl_check_X509_VERIFY_PARAM_sk_type(sk))
 I4	  74012 #define sk_X509_VERIFY_PARAM_delete(sk, i) ((X509_VERIFY_PARAM *)OPENSSL_sk_delete(ossl_check_X509_VERIFY_PARAM_sk_t
 I4	  74012 ype(sk), (i)))
 I4	  74013 #define sk_X509_VERIFY_PARAM_delete_ptr(sk, ptr) ((X509_VERIFY_PARAM *)OPENSSL_sk_delete_ptr(ossl_check_X509_VERIFY_
 I4	  74013 PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr)))
 I4	  74014 #define sk_X509_VERIFY_PARAM_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509
 I4	  74014 _VERIFY_PARAM_type(ptr))
 I4	  74015 #define sk_X509_VERIFY_PARAM_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_chec
 I4	  74015 k_X509_VERIFY_PARAM_type(ptr))
 I4	  74016 #define sk_X509_VERIFY_PARAM_pop(sk) ((X509_VERIFY_PARAM *)OPENSSL_sk_pop(ossl_check_X509_VERIFY_PARAM_sk_type(sk)))
 I4	  74017 #define sk_X509_VERIFY_PARAM_shift(sk) ((X509_VERIFY_PARAM *)OPENSSL_sk_shift(ossl_check_X509_VERIFY_PARAM_sk_type(s
 I4	  74017 k)))
 I4	  74018 #define sk_X509_VERIFY_PARAM_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_VERIFY_PARAM_sk_type(sk),oss
 I4	  74018 l_check_X509_VERIFY_PARAM_freefunc_type(freefunc))
 I4	  74019 #define sk_X509_VERIFY_PARAM_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_c
 I4	  74019 heck_X509_VERIFY_PARAM_type(ptr), (idx))
 I4	  74020 #define sk_X509_VERIFY_PARAM_set(sk, idx, ptr) ((X509_VERIFY_PARAM *)OPENSSL_sk_set(ossl_check_X509_VERIFY_PARAM_sk_
 I4	  74020 type(sk), (idx), ossl_check_X509_VERIFY_PARAM_type(ptr)))
 I4	  74021 #define sk_X509_VERIFY_PARAM_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509
 I4	  74021 _VERIFY_PARAM_type(ptr))
 I4	  74022 #define sk_X509_VERIFY_PARAM_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_chec
 I4	  74022 k_X509_VERIFY_PARAM_type(ptr))
 I4	  74023 #define sk_X509_VERIFY_PARAM_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_VERIFY_PARAM_sk_type(sk), o
 I4	  74023 ssl_check_X509_VERIFY_PARAM_type(ptr), pnum)
 I4	  74024 #define sk_X509_VERIFY_PARAM_sort(sk) OPENSSL_sk_sort(ossl_check_X509_VERIFY_PARAM_sk_type(sk))
 I4	  74025 #define sk_X509_VERIFY_PARAM_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_VERIFY_PARAM_sk_type(sk))
 I4	  74026 #define sk_X509_VERIFY_PARAM_dup(sk) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_dup(ossl_check_const_X509_VERIFY_PAR
 I4	  74026 AM_sk_type(sk)))
 I4	  74027 #define sk_X509_VERIFY_PARAM_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_deep_copy(
 I4	  74027 ossl_check_const_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_copyfunc_type(copyfunc), ossl_check_X50
 I4	  74027 9_VERIFY_PARAM_freefunc_type(freefunc)))
 I4	  74028 #define sk_X509_VERIFY_PARAM_set_cmp_func(sk, cmp) ((sk_X509_VERIFY_PARAM_compfunc)OPENSSL_sk_set_cmp_func(ossl_chec
 I4	  74028 k_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_compfunc_type(cmp)))
 I4	  74029 
 I4	  74030 
 I4	  74031 /* This is used for a table of trust checking functions */
 I4	  74032 typedef struct x509_trust_st {
 I4	  74033     int trust;
 I4	  74034     int flags;
 I4	  74035     int (*check_trust) (struct x509_trust_st *, X509 *, int);
 I4	  74036     char *name;
 I4	  74037     int arg1;
 I4	  74038     void *arg2;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1362
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74039 } X509_TRUST;
 I4   1	  74040 SKM_DEFINE_STACK_OF_INTERNAL(X509_TRUST, X509_TRUST, X509_TRUST)
       E	 struct stack_st_X509_TRUST ; typedef int ( * sk_X509_TRUST_compfunc ) ( const X509_TRUST * const * a , const X509_T
       E	RUST * const * b ) ; typedef void ( * sk_X509_TRUST_freefunc ) ( X509_TRUST * a ) ; typedef X509_TRUST * ( * sk_X509
       E	_TRUST_copyfunc ) ( const X509_TRUST * a ) ; static __inline X509_TRUST * ossl_check_X509_TRUST_type ( X509_TRUST * 
       E	ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_TRUST_sk_type ( const struct stac
       E	k_st_X509_TRUST * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_TRU
       E	ST_sk_type ( struct stack_st_X509_TRUST * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfu
       E	nc ossl_check_X509_TRUST_compfunc_type ( sk_X509_TRUST_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } stati
       E	c __inline OPENSSL_sk_copyfunc ossl_check_X509_TRUST_copyfunc_type ( sk_X509_TRUST_copyfunc cpy ) { return ( OPENSSL
       E	_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_TRUST_freefunc_type ( sk_X509_TRUST_freef
       E	unc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I4	  74041 #define sk_X509_TRUST_num(sk) OPENSSL_sk_num(ossl_check_const_X509_TRUST_sk_type(sk))
 I4	  74042 #define sk_X509_TRUST_value(sk, idx) ((X509_TRUST *)OPENSSL_sk_value(ossl_check_const_X509_TRUST_sk_type(sk), (idx))
 I4	  74042 )
 I4	  74043 #define sk_X509_TRUST_new(cmp) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_new(ossl_check_X509_TRUST_compfunc_type(cmp)))
 I4	  74044 #define sk_X509_TRUST_new_null() ((STACK_OF(X509_TRUST) *)OPENSSL_sk_new_null())
 I4	  74045 #define sk_X509_TRUST_new_reserve(cmp, n) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_new_reserve(ossl_check_X509_TRUST_comp
 I4	  74045 func_type(cmp), (n)))
 I4	  74046 #define sk_X509_TRUST_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_TRUST_sk_type(sk), (n))
 I4	  74047 #define sk_X509_TRUST_free(sk) OPENSSL_sk_free(ossl_check_X509_TRUST_sk_type(sk))
 I4	  74048 #define sk_X509_TRUST_zero(sk) OPENSSL_sk_zero(ossl_check_X509_TRUST_sk_type(sk))
 I4	  74049 #define sk_X509_TRUST_delete(sk, i) ((X509_TRUST *)OPENSSL_sk_delete(ossl_check_X509_TRUST_sk_type(sk), (i)))
 I4	  74050 #define sk_X509_TRUST_delete_ptr(sk, ptr) ((X509_TRUST *)OPENSSL_sk_delete_ptr(ossl_check_X509_TRUST_sk_type(sk), os
 I4	  74050 sl_check_X509_TRUST_type(ptr)))
 I4	  74051 #define sk_X509_TRUST_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(pt
 I4	  74051 r))
 I4	  74052 #define sk_X509_TRUST_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_t
 I4	  74052 ype(ptr))
 I4	  74053 #define sk_X509_TRUST_pop(sk) ((X509_TRUST *)OPENSSL_sk_pop(ossl_check_X509_TRUST_sk_type(sk)))
 I4	  74054 #define sk_X509_TRUST_shift(sk) ((X509_TRUST *)OPENSSL_sk_shift(ossl_check_X509_TRUST_sk_type(sk)))
 I4	  74055 #define sk_X509_TRUST_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_TRUST_sk_type(sk),ossl_check_X509_T
 I4	  74055 RUST_freefunc_type(freefunc))
 I4	  74056 #define sk_X509_TRUST_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUS
 I4	  74056 T_type(ptr), (idx))
 I4	  74057 #define sk_X509_TRUST_set(sk, idx, ptr) ((X509_TRUST *)OPENSSL_sk_set(ossl_check_X509_TRUST_sk_type(sk), (idx), ossl
 I4	  74057 _check_X509_TRUST_type(ptr)))
 I4	  74058 #define sk_X509_TRUST_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(pt
 I4	  74058 r))
 I4	  74059 #define sk_X509_TRUST_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_t
 I4	  74059 ype(ptr))
 I4	  74060 #define sk_X509_TRUST_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509
 I4	  74060 _TRUST_type(ptr), pnum)
 I4	  74061 #define sk_X509_TRUST_sort(sk) OPENSSL_sk_sort(ossl_check_X509_TRUST_sk_type(sk))
 I4	  74062 #define sk_X509_TRUST_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_TRUST_sk_type(sk))
 I4	  74063 #define sk_X509_TRUST_dup(sk) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_dup(ossl_check_const_X509_TRUST_sk_type(sk)))
 I4	  74064 #define sk_X509_TRUST_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_deep_copy(ossl_check_con
 I4	  74064 st_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_copyfunc_type(copyfunc), ossl_check_X509_TRUST_freefunc_type(freefu
 I4	  74064 nc)))
 I4	  74065 #define sk_X509_TRUST_set_cmp_func(sk, cmp) ((sk_X509_TRUST_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_TRUST_s
 I4	  74065 k_type(sk), ossl_check_X509_TRUST_compfunc_type(cmp)))
 I4	  74066 
 I4	  74067 
 I4	  74068 /* standard trust ids */
 I4	  74069 # define X509_TRUST_DEFAULT      0 /* Only valid in purpose settings */
 I4	  74070 # define X509_TRUST_COMPAT       1
 I4	  74071 # define X509_TRUST_SSL_CLIENT   2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1363
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74072 # define X509_TRUST_SSL_SERVER   3
 I4	  74073 # define X509_TRUST_EMAIL        4
 I4	  74074 # define X509_TRUST_OBJECT_SIGN  5
 I4	  74075 # define X509_TRUST_OCSP_SIGN    6
 I4	  74076 # define X509_TRUST_OCSP_REQUEST 7
 I4	  74077 # define X509_TRUST_TSA          8
 I4	  74078 /* Keep these up to date! */
 I4	  74079 # define X509_TRUST_MIN          1
 I4	  74080 # define X509_TRUST_MAX          8
 I4	  74081 
 I4	  74082 /* trust_flags values */
 I4	  74083 # define X509_TRUST_DYNAMIC      (1U << 0)
 I4	  74084 # define X509_TRUST_DYNAMIC_NAME (1U << 1)
 I4	  74085 /* No compat trust if self-signed, preempts "DO_SS" */
 I4	  74086 # define X509_TRUST_NO_SS_COMPAT (1U << 2)
 I4	  74087 /* Compat trust if no explicit accepted trust EKUs */
 I4	  74088 # define X509_TRUST_DO_SS_COMPAT (1U << 3)
 I4	  74089 /* Accept "anyEKU" as a wildcard rejection OID and as a wildcard trust OID */
 I4	  74090 # define X509_TRUST_OK_ANY_EKU   (1U << 4)
 I4	  74091 
 I4	  74092 /* check_trust return codes */
 I4	  74093 # define X509_TRUST_TRUSTED      1
 I4	  74094 # define X509_TRUST_REJECTED     2
 I4	  74095 # define X509_TRUST_UNTRUSTED    3
 I4	  74096 
 I4	  74097 int X509_TRUST_set(int *t, int trust);
 I4	  74098 int X509_TRUST_get_count(void);
 I4	  74099 X509_TRUST *X509_TRUST_get0(int idx);
 I4	  74100 int X509_TRUST_get_by_id(int id);
 I4	  74101 int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int),
 I4	  74102                    const char *name, int arg1, void *arg2);
 I4	  74103 void X509_TRUST_cleanup(void);
 I4	  74104 int X509_TRUST_get_flags(const X509_TRUST *xp);
 I4	  74105 char *X509_TRUST_get0_name(const X509_TRUST *xp);
 I4	  74106 int X509_TRUST_get_trust(const X509_TRUST *xp);
 I4	  74107 
 I4	  74108 int X509_trusted(const X509 *x);
 I4	  74109 int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj);
 I4	  74110 int X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj);
 I4	  74111 void X509_trust_clear(X509 *x);
 I4	  74112 void X509_reject_clear(X509 *x);
 I4	  74113 STACK_OF(ASN1_OBJECT) *X509_get0_trust_objects(X509 *x);
       E	 struct stack_st_ASN1_OBJECT
 I4	  74114 STACK_OF(ASN1_OBJECT) *X509_get0_reject_objects(X509 *x);
       E	 struct stack_st_ASN1_OBJECT
 I4	  74115 
 I4	  74116 int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *,
 I4	  74117                                                                 int);
 I4	  74118 int X509_check_trust(X509 *x, int id, int flags);
 I4	  74119 
 I4	  74120 int X509_verify_cert(X509_STORE_CTX *ctx);
 I4	  74121 int X509_STORE_CTX_verify(X509_STORE_CTX *ctx);
 I4	  74122 STACK_OF(X509) *X509_build_chain(X509 *target, STACK_OF(X509) *certs,
       E	 struct stack_st_X509
       E	                                                struct stack_st_X509
 I4	  74123                                  X509_STORE *store, int with_self_signed,
 I4	  74124                                  OSSL_LIB_CTX *libctx, const char *propq);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1364
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74125 
 I4	  74126 int X509_STORE_set_depth(X509_STORE *store, int depth);
 I4	  74127 
 I4	  74128 typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *);
 I4	  74129 int X509_STORE_CTX_print_verify_cb(int ok, X509_STORE_CTX *ctx);
 I4	  74130 typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *);
 I4	  74131 typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer,
 I4	  74132                                             X509_STORE_CTX *ctx, X509 *x);
 I4	  74133 typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx,
 I4	  74134                                               X509 *x, X509 *issuer);
 I4	  74135 typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx);
 I4	  74136 typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx,
 I4	  74137                                          X509_CRL **crl, X509 *x);
 I4	  74138 typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl);
 I4	  74139 typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx,
 I4	  74140                                           X509_CRL *crl, X509 *x);
 I4	  74141 typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx);
 I4	  74142 typedef STACK_OF(X509)
       E	         struct stack_st_X509
 I4	  74143     *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx,
 I4	  74144                                        const X509_NAME *nm);
 I4	  74145 typedef STACK_OF(X509_CRL)
       E	         struct stack_st_X509_CRL
 I4	  74146     *(*X509_STORE_CTX_lookup_crls_fn)(const X509_STORE_CTX *ctx,
 I4	  74147                                       const X509_NAME *nm);
 I4	  74148 typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx);
 I4	  74149 
 I4	  74150 void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
 I4	  74151 
 I4	  74152 # define X509_STORE_CTX_set_app_data(ctx,data) \
 I4	  74153         X509_STORE_CTX_set_ex_data(ctx,0,data)
 I4	  74154 # define X509_STORE_CTX_get_app_data(ctx) \
 I4	  74155         X509_STORE_CTX_get_ex_data(ctx,0)
 I4	  74156 
 I4	  74157 # define X509_L_FILE_LOAD        1
 I4	  74158 # define X509_L_ADD_DIR          2
 I4	  74159 # define X509_L_ADD_STORE        3
 I4	  74160 # define X509_L_LOAD_STORE       4
 I4	  74161 
 I4	  74162 # define X509_LOOKUP_load_file(x,name,type) \
 I4	  74163                 X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL)
 I4	  74164 
 I4	  74165 # define X509_LOOKUP_add_dir(x,name,type) \
 I4	  74166                 X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL)
 I4	  74167 
 I4	  74168 # define X509_LOOKUP_add_store(x,name) \
 I4	  74169                 X509_LOOKUP_ctrl((x),X509_L_ADD_STORE,(name),0,NULL)
 I4	  74170 
 I4	  74171 # define X509_LOOKUP_load_store(x,name) \
 I4	  74172                 X509_LOOKUP_ctrl((x),X509_L_LOAD_STORE,(name),0,NULL)
 I4	  74173 
 I4	  74174 # define X509_LOOKUP_load_file_ex(x, name, type, libctx, propq)       \
 I4	  74175 X509_LOOKUP_ctrl_ex((x), X509_L_FILE_LOAD, (name), (long)(type), NULL,\
 I4	  74176                     (libctx), (propq))
 I4	  74177 
 I4	  74178 # define X509_LOOKUP_load_store_ex(x, name, libctx, propq)            \
 I4	  74179 X509_LOOKUP_ctrl_ex((x), X509_L_LOAD_STORE, (name), 0, NULL,          \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1365
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74180                     (libctx), (propq))
 I4	  74181 
 I4	  74182 # define X509_LOOKUP_add_store_ex(x, name, libctx, propq)             \
 I4	  74183 X509_LOOKUP_ctrl_ex((x), X509_L_ADD_STORE, (name), 0, NULL,           \
 I4	  74184                     (libctx), (propq))
 I4	  74185 
 I4	  74186 # define X509_V_OK                                       0
 I4	  74187 # define X509_V_ERR_UNSPECIFIED                          1
 I4	  74188 # define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT            2
 I4	  74189 # define X509_V_ERR_UNABLE_TO_GET_CRL                    3
 I4	  74190 # define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE     4
 I4	  74191 # define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE      5
 I4	  74192 # define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY   6
 I4	  74193 # define X509_V_ERR_CERT_SIGNATURE_FAILURE               7
 I4	  74194 # define X509_V_ERR_CRL_SIGNATURE_FAILURE                8
 I4	  74195 # define X509_V_ERR_CERT_NOT_YET_VALID                   9
 I4	  74196 # define X509_V_ERR_CERT_HAS_EXPIRED                     10
 I4	  74197 # define X509_V_ERR_CRL_NOT_YET_VALID                    11
 I4	  74198 # define X509_V_ERR_CRL_HAS_EXPIRED                      12
 I4	  74199 # define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD       13
 I4	  74200 # define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD        14
 I4	  74201 # define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD       15
 I4	  74202 # define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD       16
 I4	  74203 # define X509_V_ERR_OUT_OF_MEM                           17
 I4	  74204 # define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT          18
 I4	  74205 # define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN            19
 I4	  74206 # define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY    20
 I4	  74207 # define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE      21
 I4	  74208 # define X509_V_ERR_CERT_CHAIN_TOO_LONG                  22
 I4	  74209 # define X509_V_ERR_CERT_REVOKED                         23
 I4	  74210 # define X509_V_ERR_NO_ISSUER_PUBLIC_KEY                 24
 I4	  74211 # define X509_V_ERR_PATH_LENGTH_EXCEEDED                 25
 I4	  74212 # define X509_V_ERR_INVALID_PURPOSE                      26
 I4	  74213 # define X509_V_ERR_CERT_UNTRUSTED                       27
 I4	  74214 # define X509_V_ERR_CERT_REJECTED                        28
 I4	  74215 
 I4	  74216 /* These are 'informational' when looking for issuer cert */
 I4	  74217 # define X509_V_ERR_SUBJECT_ISSUER_MISMATCH              29
 I4	  74218 # define X509_V_ERR_AKID_SKID_MISMATCH                   30
 I4	  74219 # define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH          31
 I4	  74220 # define X509_V_ERR_KEYUSAGE_NO_CERTSIGN                 32
 I4	  74221 # define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER             33
 I4	  74222 # define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION         34
 I4	  74223 # define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN                 35
 I4	  74224 # define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION     36
 I4	  74225 # define X509_V_ERR_INVALID_NON_CA                       37
 I4	  74226 # define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED           38
 I4	  74227 # define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE        39
 I4	  74228 # define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED       40
 I4	  74229 # define X509_V_ERR_INVALID_EXTENSION                    41
 I4	  74230 # define X509_V_ERR_INVALID_POLICY_EXTENSION             42
 I4	  74231 # define X509_V_ERR_NO_EXPLICIT_POLICY                   43
 I4	  74232 # define X509_V_ERR_DIFFERENT_CRL_SCOPE                  44
 I4	  74233 # define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE        45
 I4	  74234 # define X509_V_ERR_UNNESTED_RESOURCE                    46
 I4	  74235 # define X509_V_ERR_PERMITTED_VIOLATION                  47
 I4	  74236 # define X509_V_ERR_EXCLUDED_VIOLATION                   48

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1366
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74237 # define X509_V_ERR_SUBTREE_MINMAX                       49
 I4	  74238 /* The application is not happy */
 I4	  74239 # define X509_V_ERR_APPLICATION_VERIFICATION             50
 I4	  74240 # define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE          51
 I4	  74241 # define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX        52
 I4	  74242 # define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX              53
 I4	  74243 # define X509_V_ERR_CRL_PATH_VALIDATION_ERROR            54
 I4	  74244 /* Another issuer check debug option */
 I4	  74245 # define X509_V_ERR_PATH_LOOP                            55
 I4	  74246 /* Suite B mode algorithm violation */
 I4	  74247 # define X509_V_ERR_SUITE_B_INVALID_VERSION              56
 I4	  74248 # define X509_V_ERR_SUITE_B_INVALID_ALGORITHM            57
 I4	  74249 # define X509_V_ERR_SUITE_B_INVALID_CURVE                58
 I4	  74250 # define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM  59
 I4	  74251 # define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED              60
 I4	  74252 # define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61
 I4	  74253 /* Host, email and IP check errors */
 I4	  74254 # define X509_V_ERR_HOSTNAME_MISMATCH                    62
 I4	  74255 # define X509_V_ERR_EMAIL_MISMATCH                       63
 I4	  74256 # define X509_V_ERR_IP_ADDRESS_MISMATCH                  64
 I4	  74257 /* DANE TLSA errors */
 I4	  74258 # define X509_V_ERR_DANE_NO_MATCH                        65
 I4	  74259 /* security level errors */
 I4	  74260 # define X509_V_ERR_EE_KEY_TOO_SMALL                     66
 I4	  74261 # define X509_V_ERR_CA_KEY_TOO_SMALL                     67
 I4	  74262 # define X509_V_ERR_CA_MD_TOO_WEAK                       68
 I4	  74263 /* Caller error */
 I4	  74264 # define X509_V_ERR_INVALID_CALL                         69
 I4	  74265 /* Issuer lookup error */
 I4	  74266 # define X509_V_ERR_STORE_LOOKUP                         70
 I4	  74267 /* Certificate transparency */
 I4	  74268 # define X509_V_ERR_NO_VALID_SCTS                        71
 I4	  74269 
 I4	  74270 # define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION         72
 I4	  74271 /* OCSP status errors */
 I4	  74272 # define X509_V_ERR_OCSP_VERIFY_NEEDED                   73  /* Need OCSP verification */
 I4	  74273 # define X509_V_ERR_OCSP_VERIFY_FAILED                   74  /* Couldn't verify cert through OCSP */
 I4	  74274 # define X509_V_ERR_OCSP_CERT_UNKNOWN                    75  /* Certificate wasn't recognized by the OCSP responder 
 I4	  74274 */
 I4	  74275 
 I4	  74276 # define X509_V_ERR_UNSUPPORTED_SIGNATURE_ALGORITHM      76
 I4	  74277 # define X509_V_ERR_SIGNATURE_ALGORITHM_MISMATCH         77
 I4	  74278 
 I4	  74279 /* Errors in case a check in X509_V_FLAG_X509_STRICT mode fails */
 I4	  74280 # define X509_V_ERR_SIGNATURE_ALGORITHM_INCONSISTENCY    78
 I4	  74281 # define X509_V_ERR_INVALID_CA                           79
 I4	  74282 # define X509_V_ERR_PATHLEN_INVALID_FOR_NON_CA           80
 I4	  74283 # define X509_V_ERR_PATHLEN_WITHOUT_KU_KEY_CERT_SIGN     81
 I4	  74284 # define X509_V_ERR_KU_KEY_CERT_SIGN_INVALID_FOR_NON_CA  82
 I4	  74285 # define X509_V_ERR_ISSUER_NAME_EMPTY                    83
 I4	  74286 # define X509_V_ERR_SUBJECT_NAME_EMPTY                   84
 I4	  74287 # define X509_V_ERR_MISSING_AUTHORITY_KEY_IDENTIFIER     85
 I4	  74288 # define X509_V_ERR_MISSING_SUBJECT_KEY_IDENTIFIER       86
 I4	  74289 # define X509_V_ERR_EMPTY_SUBJECT_ALT_NAME               87
 I4	  74290 # define X509_V_ERR_EMPTY_SUBJECT_SAN_NOT_CRITICAL       88
 I4	  74291 # define X509_V_ERR_CA_BCONS_NOT_CRITICAL                89
 I4	  74292 # define X509_V_ERR_AUTHORITY_KEY_IDENTIFIER_CRITICAL    90

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1367
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74293 # define X509_V_ERR_SUBJECT_KEY_IDENTIFIER_CRITICAL      91
 I4	  74294 # define X509_V_ERR_CA_CERT_MISSING_KEY_USAGE            92
 I4	  74295 # define X509_V_ERR_EXTENSIONS_REQUIRE_VERSION_3         93
 I4	  74296 # define X509_V_ERR_EC_KEY_EXPLICIT_PARAMS               94
 I4	  74297 
 I4	  74298 /* Certificate verify flags */
 I4	  74299 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  74300 #  define X509_V_FLAG_CB_ISSUER_CHECK             0x0   /* Deprecated */
 I4	  74301 # endif
 I4	  74302 /* Use check time instead of current time */
 I4	  74303 # define X509_V_FLAG_USE_CHECK_TIME              0x2
 I4	  74304 /* Lookup CRLs */
 I4	  74305 # define X509_V_FLAG_CRL_CHECK                   0x4
 I4	  74306 /* Lookup CRLs for whole chain */
 I4	  74307 # define X509_V_FLAG_CRL_CHECK_ALL               0x8
 I4	  74308 /* Ignore unhandled critical extensions */
 I4	  74309 # define X509_V_FLAG_IGNORE_CRITICAL             0x10
 I4	  74310 /* Disable workarounds for broken certificates */
 I4	  74311 # define X509_V_FLAG_X509_STRICT                 0x20
 I4	  74312 /* Enable proxy certificate validation */
 I4	  74313 # define X509_V_FLAG_ALLOW_PROXY_CERTS           0x40
 I4	  74314 /* Enable policy checking */
 I4	  74315 # define X509_V_FLAG_POLICY_CHECK                0x80
 I4	  74316 /* Policy variable require-explicit-policy */
 I4	  74317 # define X509_V_FLAG_EXPLICIT_POLICY             0x100
 I4	  74318 /* Policy variable inhibit-any-policy */
 I4	  74319 # define X509_V_FLAG_INHIBIT_ANY                 0x200
 I4	  74320 /* Policy variable inhibit-policy-mapping */
 I4	  74321 # define X509_V_FLAG_INHIBIT_MAP                 0x400
 I4	  74322 /* Notify callback that policy is OK */
 I4	  74323 # define X509_V_FLAG_NOTIFY_POLICY               0x800
 I4	  74324 /* Extended CRL features such as indirect CRLs, alternate CRL signing keys */
 I4	  74325 # define X509_V_FLAG_EXTENDED_CRL_SUPPORT        0x1000
 I4	  74326 /* Delta CRL support */
 I4	  74327 # define X509_V_FLAG_USE_DELTAS                  0x2000
 I4	  74328 /* Check self-signed CA signature */
 I4	  74329 # define X509_V_FLAG_CHECK_SS_SIGNATURE          0x4000
 I4	  74330 /* Use trusted store first */
 I4	  74331 # define X509_V_FLAG_TRUSTED_FIRST               0x8000
 I4	  74332 /* Suite B 128 bit only mode: not normally used */
 I4	  74333 # define X509_V_FLAG_SUITEB_128_LOS_ONLY         0x10000
 I4	  74334 /* Suite B 192 bit only mode */
 I4	  74335 # define X509_V_FLAG_SUITEB_192_LOS              0x20000
 I4	  74336 /* Suite B 128 bit mode allowing 192 bit algorithms */
 I4	  74337 # define X509_V_FLAG_SUITEB_128_LOS              0x30000
 I4	  74338 /* Allow partial chains if at least one certificate is in trusted store */
 I4	  74339 # define X509_V_FLAG_PARTIAL_CHAIN               0x80000
 I4	  74340 /*
 I4	  74341  * If the initial chain is not trusted, do not attempt to build an alternative
 I4	  74342  * chain. Alternate chain checking was introduced in 1.1.0. Setting this flag
 I4	  74343  * will force the behaviour to match that of previous versions.
 I4	  74344  */
 I4	  74345 # define X509_V_FLAG_NO_ALT_CHAINS               0x100000
 I4	  74346 /* Do not check certificate/CRL validity against current time */
 I4	  74347 # define X509_V_FLAG_NO_CHECK_TIME               0x200000
 I4	  74348 
 I4	  74349 # define X509_VP_FLAG_DEFAULT                    0x1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1368
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74350 # define X509_VP_FLAG_OVERWRITE                  0x2
 I4	  74351 # define X509_VP_FLAG_RESET_FLAGS                0x4
 I4	  74352 # define X509_VP_FLAG_LOCKED                     0x8
 I4	  74353 # define X509_VP_FLAG_ONCE                       0x10
 I4	  74354 
 I4	  74355 /* Internal use: mask of policy related options */
 I4	  74356 # define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \
 I4	  74357                                 | X509_V_FLAG_EXPLICIT_POLICY \
 I4	  74358                                 | X509_V_FLAG_INHIBIT_ANY \
 I4	  74359                                 | X509_V_FLAG_INHIBIT_MAP)
 I4	  74360 
 I4	  74361 int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type,
       E	                                struct stack_st_X509_OBJECT
 I4	  74362                                const X509_NAME *name);
 I4	  74363 X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h,
       E	                                              struct stack_st_X509_OBJECT
 I4	  74364                                              X509_LOOKUP_TYPE type,
 I4	  74365                                              const X509_NAME *name);
 I4	  74366 X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h,
       E	                                         struct stack_st_X509_OBJECT
 I4	  74367                                         X509_OBJECT *x);
 I4	  74368 int X509_OBJECT_up_ref_count(X509_OBJECT *a);
 I4	  74369 X509_OBJECT *X509_OBJECT_new(void);
 I4	  74370 void X509_OBJECT_free(X509_OBJECT *a);
 I4	  74371 X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a);
 I4	  74372 X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a);
 I4	  74373 int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj);
 I4	  74374 X509_CRL *X509_OBJECT_get0_X509_CRL(const X509_OBJECT *a);
 I4	  74375 int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj);
 I4	  74376 X509_STORE *X509_STORE_new(void);
 I4	  74377 void X509_STORE_free(X509_STORE *v);
 I4	  74378 int X509_STORE_lock(X509_STORE *ctx);
 I4	  74379 int X509_STORE_unlock(X509_STORE *ctx);
 I4	  74380 int X509_STORE_up_ref(X509_STORE *v);
 I4	  74381 STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *v);
       E	 struct stack_st_X509_OBJECT
 I4	  74382 STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *st);
       E	 struct stack_st_X509
 I4	  74383 STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st,
       E	 struct stack_st_X509
 I4	  74384                                           const X509_NAME *nm);
 I4	  74385 STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(const X509_STORE_CTX *st,
       E	 struct stack_st_X509_CRL
 I4	  74386                                              const X509_NAME *nm);
 I4	  74387 int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
 I4	  74388 int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
 I4	  74389 int X509_STORE_set_trust(X509_STORE *ctx, int trust);
 I4	  74390 int X509_STORE_set1_param(X509_STORE *ctx, const X509_VERIFY_PARAM *pm);
 I4	  74391 X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *ctx);
 I4	  74392 
 I4	  74393 void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify);
 I4	  74394 #define X509_STORE_set_verify_func(ctx, func) \
 I4	  74395             X509_STORE_set_verify((ctx),(func))
 I4	  74396 void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx,
 I4	  74397                                X509_STORE_CTX_verify_fn verify);
 I4	  74398 X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *ctx);
 I4	  74399 void X509_STORE_set_verify_cb(X509_STORE *ctx,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1369
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74400                               X509_STORE_CTX_verify_cb verify_cb);
 I4	  74401 # define X509_STORE_set_verify_cb_func(ctx,func) \
 I4	  74402             X509_STORE_set_verify_cb((ctx),(func))
 I4	  74403 X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE *ctx);
 I4	  74404 void X509_STORE_set_get_issuer(X509_STORE *ctx,
 I4	  74405                                X509_STORE_CTX_get_issuer_fn get_issuer);
 I4	  74406 X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE *ctx);
 I4	  74407 void X509_STORE_set_check_issued(X509_STORE *ctx,
 I4	  74408                                  X509_STORE_CTX_check_issued_fn check_issued);
 I4	  74409 X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE *ctx);
 I4	  74410 void X509_STORE_set_check_revocation(X509_STORE *ctx,
 I4	  74411                                      X509_STORE_CTX_check_revocation_fn check_revocation);
 I4	  74412 X509_STORE_CTX_check_revocation_fn
 I4	  74413     X509_STORE_get_check_revocation(const X509_STORE *ctx);
 I4	  74414 void X509_STORE_set_get_crl(X509_STORE *ctx,
 I4	  74415                             X509_STORE_CTX_get_crl_fn get_crl);
 I4	  74416 X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE *ctx);
 I4	  74417 void X509_STORE_set_check_crl(X509_STORE *ctx,
 I4	  74418                               X509_STORE_CTX_check_crl_fn check_crl);
 I4	  74419 X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE *ctx);
 I4	  74420 void X509_STORE_set_cert_crl(X509_STORE *ctx,
 I4	  74421                              X509_STORE_CTX_cert_crl_fn cert_crl);
 I4	  74422 X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE *ctx);
 I4	  74423 void X509_STORE_set_check_policy(X509_STORE *ctx,
 I4	  74424                                  X509_STORE_CTX_check_policy_fn check_policy);
 I4	  74425 X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE *ctx);
 I4	  74426 void X509_STORE_set_lookup_certs(X509_STORE *ctx,
 I4	  74427                                  X509_STORE_CTX_lookup_certs_fn lookup_certs);
 I4	  74428 X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE *ctx);
 I4	  74429 void X509_STORE_set_lookup_crls(X509_STORE *ctx,
 I4	  74430                                 X509_STORE_CTX_lookup_crls_fn lookup_crls);
 I4	  74431 #define X509_STORE_set_lookup_crls_cb(ctx, func) \
 I4	  74432     X509_STORE_set_lookup_crls((ctx), (func))
 I4	  74433 X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE *ctx);
 I4	  74434 void X509_STORE_set_cleanup(X509_STORE *ctx,
 I4	  74435                             X509_STORE_CTX_cleanup_fn cleanup);
 I4	  74436 X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE *ctx);
 I4	  74437 
 I4	  74438 #define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \
 I4	  74439     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef)
 I4	  74440 int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data);
 I4	  74441 void *X509_STORE_get_ex_data(const X509_STORE *ctx, int idx);
 I4	  74442 
 I4	  74443 X509_STORE_CTX *X509_STORE_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74444 X509_STORE_CTX *X509_STORE_CTX_new(void);
 I4	  74445 
 I4	  74446 int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x);
 I4	  74447 
 I4	  74448 void X509_STORE_CTX_free(X509_STORE_CTX *ctx);
 I4	  74449 int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *trust_store,
 I4	  74450                         X509 *target, STACK_OF(X509) *untrusted);
       E	                                       struct stack_st_X509
 I4	  74451 void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk);
       E	                                                             struct stack_st_X509
 I4	  74452 void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
 I4	  74453 
 I4	  74454 X509_STORE *X509_STORE_CTX_get0_store(const X509_STORE_CTX *ctx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1370
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74455 X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx);
 I4	  74456 STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(const X509_STORE_CTX *ctx);
       E	 struct stack_st_X509
 I4	  74457 void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk);
       E	                                                         struct stack_st_X509
 I4	  74458 void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
 I4	  74459                                   X509_STORE_CTX_verify_cb verify);
 I4	  74460 X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(const X509_STORE_CTX *ctx);
 I4	  74461 X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(const X509_STORE_CTX *ctx);
 I4	  74462 X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(const X509_STORE_CTX *ctx);
 I4	  74463 X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(const X509_STORE_CTX *ctx);
 I4	  74464 X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(const X509_STORE_CTX *ctx);
 I4	  74465 X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(const X509_STORE_CTX *ctx);
 I4	  74466 X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(const X509_STORE_CTX *ctx);
 I4	  74467 X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(const X509_STORE_CTX *ctx);
 I4	  74468 X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(const X509_STORE_CTX *ctx);
 I4	  74469 X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(const X509_STORE_CTX *ctx);
 I4	  74470 X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(const X509_STORE_CTX *ctx);
 I4	  74471 X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(const X509_STORE_CTX *ctx);
 I4	  74472 
 I4	  74473 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4	  74474 # define X509_STORE_CTX_get_chain X509_STORE_CTX_get0_chain
 I4	  74475 # define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted
 I4	  74476 # define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack
 I4	  74477 # define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject
 I4	  74478 # define X509_STORE_get1_certs X509_STORE_CTX_get1_certs
 I4	  74479 # define X509_STORE_get1_crls X509_STORE_CTX_get1_crls
 I4	  74480 /* the following macro is misspelled; use X509_STORE_get1_certs instead */
 I4	  74481 # define X509_STORE_get1_cert X509_STORE_CTX_get1_certs
 I4	  74482 /* the following macro is misspelled; use X509_STORE_get1_crls instead */
 I4	  74483 # define X509_STORE_get1_crl X509_STORE_CTX_get1_crls
 I4	  74484 #endif
 I4	  74485 
 I4	  74486 X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
 I4	  74487 X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);
 I4	  74488 X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
 I4	  74489 X509_LOOKUP_METHOD *X509_LOOKUP_store(void);
 I4	  74490 
 I4	  74491 typedef int (*X509_LOOKUP_ctrl_fn)(X509_LOOKUP *ctx, int cmd, const char *argc,
 I4	  74492                                    long argl, char **ret);
 I4	  74493 typedef int (*X509_LOOKUP_ctrl_ex_fn)(
 I4	  74494     X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret,
 I4	  74495     OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74496 
 I4	  74497 typedef int (*X509_LOOKUP_get_by_subject_fn)(X509_LOOKUP *ctx,
 I4	  74498                                              X509_LOOKUP_TYPE type,
 I4	  74499                                              const X509_NAME *name,
 I4	  74500                                              X509_OBJECT *ret);
 I4	  74501 typedef int (*X509_LOOKUP_get_by_subject_ex_fn)(X509_LOOKUP *ctx,
 I4	  74502                                                          X509_LOOKUP_TYPE type,
 I4	  74503                                                          const X509_NAME *name,
 I4	  74504                                                          X509_OBJECT *ret,
 I4	  74505                                                          OSSL_LIB_CTX *libctx,
 I4	  74506                                                          const char *propq);
 I4	  74507 typedef int (*X509_LOOKUP_get_by_issuer_serial_fn)(X509_LOOKUP *ctx,
 I4	  74508                                                    X509_LOOKUP_TYPE type,
 I4	  74509                                                    const X509_NAME *name,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1371
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74510                                                    const ASN1_INTEGER *serial,
 I4	  74511                                                    X509_OBJECT *ret);
 I4	  74512 typedef int (*X509_LOOKUP_get_by_fingerprint_fn)(X509_LOOKUP *ctx,
 I4	  74513                                                  X509_LOOKUP_TYPE type,
 I4	  74514                                                  const unsigned char* bytes,
 I4	  74515                                                  int len,
 I4	  74516                                                  X509_OBJECT *ret);
 I4	  74517 typedef int (*X509_LOOKUP_get_by_alias_fn)(X509_LOOKUP *ctx,
 I4	  74518                                            X509_LOOKUP_TYPE type,
 I4	  74519                                            const char *str,
 I4	  74520                                            int len,
 I4	  74521                                            X509_OBJECT *ret);
 I4	  74522 
 I4	  74523 X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name);
 I4	  74524 void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method);
 I4	  74525 
 I4	  74526 int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method,
 I4	  74527                                   int (*new_item) (X509_LOOKUP *ctx));
 I4	  74528 int (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method))
 I4	  74529     (X509_LOOKUP *ctx);
 I4	  74530 
 I4	  74531 int X509_LOOKUP_meth_set_free(X509_LOOKUP_METHOD *method,
 I4	  74532                               void (*free_fn) (X509_LOOKUP *ctx));
 I4	  74533 void (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method))
 I4	  74534     (X509_LOOKUP *ctx);
 I4	  74535 
 I4	  74536 int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method,
 I4	  74537                               int (*init) (X509_LOOKUP *ctx));
 I4	  74538 int (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method))
 I4	  74539     (X509_LOOKUP *ctx);
 I4	  74540 
 I4	  74541 int X509_LOOKUP_meth_set_shutdown(X509_LOOKUP_METHOD *method,
 I4	  74542                                   int (*shutdown) (X509_LOOKUP *ctx));
 I4	  74543 int (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method))
 I4	  74544     (X509_LOOKUP *ctx);
 I4	  74545 
 I4	  74546 int X509_LOOKUP_meth_set_ctrl(X509_LOOKUP_METHOD *method,
 I4	  74547                               X509_LOOKUP_ctrl_fn ctrl_fn);
 I4	  74548 X509_LOOKUP_ctrl_fn X509_LOOKUP_meth_get_ctrl(const X509_LOOKUP_METHOD *method);
 I4	  74549 
 I4	  74550 int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method,
 I4	  74551                                         X509_LOOKUP_get_by_subject_fn fn);
 I4	  74552 X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject(
 I4	  74553     const X509_LOOKUP_METHOD *method);
 I4	  74554 
 I4	  74555 int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method,
 I4	  74556     X509_LOOKUP_get_by_issuer_serial_fn fn);
 I4	  74557 X509_LOOKUP_get_by_issuer_serial_fn X509_LOOKUP_meth_get_get_by_issuer_serial(
 I4	  74558     const X509_LOOKUP_METHOD *method);
 I4	  74559 
 I4	  74560 int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method,
 I4	  74561     X509_LOOKUP_get_by_fingerprint_fn fn);
 I4	  74562 X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint(
 I4	  74563     const X509_LOOKUP_METHOD *method);
 I4	  74564 
 I4	  74565 int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method,
 I4	  74566                                       X509_LOOKUP_get_by_alias_fn fn);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1372
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74567 X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias(
 I4	  74568     const X509_LOOKUP_METHOD *method);
 I4	  74569 
 I4	  74570 
 I4	  74571 int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);
 I4	  74572 int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
 I4	  74573 
 I4	  74574 int X509_STORE_CTX_get_by_subject(const X509_STORE_CTX *vs,
 I4	  74575                                   X509_LOOKUP_TYPE type,
 I4	  74576                                   const X509_NAME *name, X509_OBJECT *ret);
 I4	  74577 X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs,
 I4	  74578                                                X509_LOOKUP_TYPE type,
 I4	  74579                                                const X509_NAME *name);
 I4	  74580 
 I4	  74581 int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
 I4	  74582                      long argl, char **ret);
 I4	  74583 int X509_LOOKUP_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argc, long argl,
 I4	  74584                         char **ret, OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74585 
 I4	  74586 int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type);
 I4	  74587 int X509_load_cert_file_ex(X509_LOOKUP *ctx, const char *file, int type,
 I4	  74588                            OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74589 int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type);
 I4	  74590 int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type);
 I4	  74591 int X509_load_cert_crl_file_ex(X509_LOOKUP *ctx, const char *file, int type,
 I4	  74592                                OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74593 
 I4	  74594 X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method);
 I4	  74595 void X509_LOOKUP_free(X509_LOOKUP *ctx);
 I4	  74596 int X509_LOOKUP_init(X509_LOOKUP *ctx);
 I4	  74597 int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
 I4	  74598                            const X509_NAME *name, X509_OBJECT *ret);
 I4	  74599 int X509_LOOKUP_by_subject_ex(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
 I4	  74600                               const X509_NAME *name, X509_OBJECT *ret,
 I4	  74601                               OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74602 int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
 I4	  74603                                  const X509_NAME *name,
 I4	  74604                                  const ASN1_INTEGER *serial,
 I4	  74605                                  X509_OBJECT *ret);
 I4	  74606 int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
 I4	  74607                                const unsigned char *bytes, int len,
 I4	  74608                                X509_OBJECT *ret);
 I4	  74609 int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,
 I4	  74610                          const char *str, int len, X509_OBJECT *ret);
 I4	  74611 int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data);
 I4	  74612 void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx);
 I4	  74613 X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx);
 I4	  74614 int X509_LOOKUP_shutdown(X509_LOOKUP *ctx);
 I4	  74615 
 I4	  74616 int X509_STORE_load_file(X509_STORE *ctx, const char *file);
 I4	  74617 int X509_STORE_load_path(X509_STORE *ctx, const char *path);
 I4	  74618 int X509_STORE_load_store(X509_STORE *ctx, const char *store);
 I4	  74619 int X509_STORE_load_locations(X509_STORE *ctx,
 I4	  74620                                                const char *file,
 I4	  74621                                                const char *dir);
 I4	  74622 int X509_STORE_set_default_paths(X509_STORE *ctx);
 I4	  74623 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1373
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74624 int X509_STORE_load_file_ex(X509_STORE *ctx, const char *file,
 I4	  74625                             OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74626 int X509_STORE_load_store_ex(X509_STORE *ctx, const char *store,
 I4	  74627                              OSSL_LIB_CTX *libctx, const char *propq);
 I4	  74628 int X509_STORE_load_locations_ex(X509_STORE *ctx, const char *file,
 I4	  74629                                  const char *dir, OSSL_LIB_CTX *libctx,
 I4	  74630                                  const char *propq);
 I4	  74631 int X509_STORE_set_default_paths_ex(X509_STORE *ctx, OSSL_LIB_CTX *libctx,
 I4	  74632                                     const char *propq);
 I4	  74633 
 I4	  74634 #define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \
 I4	  74635     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, l, p, newf, dupf, freef)
 I4	  74636 int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data);
 I4	  74637 void *X509_STORE_CTX_get_ex_data(const X509_STORE_CTX *ctx, int idx);
 I4	  74638 int X509_STORE_CTX_get_error(const X509_STORE_CTX *ctx);
 I4	  74639 void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s);
 I4	  74640 int X509_STORE_CTX_get_error_depth(const X509_STORE_CTX *ctx);
 I4	  74641 void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth);
 I4	  74642 X509 *X509_STORE_CTX_get_current_cert(const X509_STORE_CTX *ctx);
 I4	  74643 void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x);
 I4	  74644 X509 *X509_STORE_CTX_get0_current_issuer(const X509_STORE_CTX *ctx);
 I4	  74645 X509_CRL *X509_STORE_CTX_get0_current_crl(const X509_STORE_CTX *ctx);
 I4	  74646 X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(const X509_STORE_CTX *ctx);
 I4	  74647 STACK_OF(X509) *X509_STORE_CTX_get0_chain(const X509_STORE_CTX *ctx);
       E	 struct stack_st_X509
 I4	  74648 STACK_OF(X509) *X509_STORE_CTX_get1_chain(const X509_STORE_CTX *ctx);
       E	 struct stack_st_X509
 I4	  74649 void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *target);
 I4	  74650 void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk);
       E	                                                            struct stack_st_X509
 I4	  74651 void X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk);
       E	                                                    struct stack_st_X509_CRL
 I4	  74652 int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
 I4	  74653 int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust);
 I4	  74654 int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose,
 I4	  74655                                    int purpose, int trust);
 I4	  74656 void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags);
 I4	  74657 void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags,
 I4	  74658                              time_t t);
 I4	  74659 
 I4	  74660 X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(const X509_STORE_CTX *ctx);
 I4	  74661 int X509_STORE_CTX_get_explicit_policy(const X509_STORE_CTX *ctx);
 I4	  74662 int X509_STORE_CTX_get_num_untrusted(const X509_STORE_CTX *ctx);
 I4	  74663 
 I4	  74664 X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(const X509_STORE_CTX *ctx);
 I4	  74665 void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param);
 I4	  74666 int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name);
 I4	  74667 
 I4	  74668 /*
 I4	  74669  * Bridge opacity barrier between libcrypt and libssl, also needed to support
 I4	  74670  * offline testing in test/danetest.c
 I4	  74671  */
 I4	  74672 void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane);
 I4	  74673 #define DANE_FLAG_NO_DANE_EE_NAMECHECKS (1L << 0)
 I4	  74674 
 I4	  74675 /* X509_VERIFY_PARAM functions */
 I4	  74676 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1374
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74677 X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void);
 I4	  74678 void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param);
 I4	  74679 int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to,
 I4	  74680                               const X509_VERIFY_PARAM *from);
 I4	  74681 int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to,
 I4	  74682                            const X509_VERIFY_PARAM *from);
 I4	  74683 int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name);
 I4	  74684 int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param,
 I4	  74685                                 unsigned long flags);
 I4	  74686 int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param,
 I4	  74687                                   unsigned long flags);
 I4	  74688 unsigned long X509_VERIFY_PARAM_get_flags(const X509_VERIFY_PARAM *param);
 I4	  74689 int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose);
 I4	  74690 int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust);
 I4	  74691 void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth);
 I4	  74692 void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level);
 I4	  74693 time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param);
 I4	  74694 void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t);
 I4	  74695 int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param,
 I4	  74696                                   ASN1_OBJECT *policy);
 I4	  74697 int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param,
 I4	  74698                                     STACK_OF(ASN1_OBJECT) *policies);
       E	                                     struct stack_st_ASN1_OBJECT
 I4	  74699 
 I4	  74700 int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param,
 I4	  74701                                     uint32_t flags);
 I4	  74702 uint32_t X509_VERIFY_PARAM_get_inh_flags(const X509_VERIFY_PARAM *param);
 I4	  74703 
 I4	  74704 char *X509_VERIFY_PARAM_get0_host(X509_VERIFY_PARAM *param, int idx);
 I4	  74705 int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param,
 I4	  74706                                 const char *name, size_t namelen);
 I4	  74707 int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param,
 I4	  74708                                 const char *name, size_t namelen);
 I4	  74709 void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param,
 I4	  74710                                      unsigned int flags);
 I4	  74711 unsigned int X509_VERIFY_PARAM_get_hostflags(const X509_VERIFY_PARAM *param);
 I4	  74712 char *X509_VERIFY_PARAM_get0_peername(const X509_VERIFY_PARAM *param);
 I4	  74713 void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *, X509_VERIFY_PARAM *);
 I4	  74714 char *X509_VERIFY_PARAM_get0_email(X509_VERIFY_PARAM *param);
 I4	  74715 int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param,
 I4	  74716                                  const char *email, size_t emaillen);
 I4	  74717 char *X509_VERIFY_PARAM_get1_ip_asc(X509_VERIFY_PARAM *param);
 I4	  74718 int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param,
 I4	  74719                               const unsigned char *ip, size_t iplen);
 I4	  74720 int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param,
 I4	  74721                                   const char *ipasc);
 I4	  74722 
 I4	  74723 int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param);
 I4	  74724 int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param);
 I4	  74725 const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param);
 I4	  74726 
 I4	  74727 int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param);
 I4	  74728 int X509_VERIFY_PARAM_get_count(void);
 I4	  74729 const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id);
 I4	  74730 const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name);
 I4	  74731 void X509_VERIFY_PARAM_table_cleanup(void);
 I4	  74732 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1375
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509_VFY.H;1

 I4	  74733 /* Non positive return values are errors */
 I4	  74734 #define X509_PCY_TREE_FAILURE  -2 /* Failure to satisfy explicit policy */
 I4	  74735 #define X509_PCY_TREE_INVALID  -1 /* Inconsistent or invalid extensions */
 I4	  74736 #define X509_PCY_TREE_INTERNAL  0 /* Internal error, most likely malloc */
 I4	  74737 
 I4	  74738 /*
 I4	  74739  * Positive return values form a bit mask, all but the first are internal to
 I4	  74740  * the library and don't appear in results from X509_policy_check().
 I4	  74741  */
 I4	  74742 #define X509_PCY_TREE_VALID     1 /* The policy tree is valid */
 I4	  74743 #define X509_PCY_TREE_EMPTY     2 /* The policy tree is empty */
 I4	  74744 #define X509_PCY_TREE_EXPLICIT  4 /* Explicit policy required */
 I4	  74745 
 I4	  74746 int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy,
 I4	  74747                       STACK_OF(X509) *certs,
       E	                       struct stack_st_X509
 I4	  74748                       STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags);
       E	                       struct stack_st_ASN1_OBJECT
 I4	  74749 
 I4	  74750 void X509_policy_tree_free(X509_POLICY_TREE *tree);
 I4	  74751 
 I4	  74752 int X509_policy_tree_level_count(const X509_POLICY_TREE *tree);
 I4	  74753 X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree,
 I4	  74754                                                int i);
 I4	  74755 
 I4	  74756 STACK_OF(X509_POLICY_NODE)
       E	 struct stack_st_X509_POLICY_NODE
 I4	  74757     *X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree);
 I4	  74758 
 I4	  74759 STACK_OF(X509_POLICY_NODE)
       E	 struct stack_st_X509_POLICY_NODE
 I4	  74760     *X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree);
 I4	  74761 
 I4	  74762 int X509_policy_level_node_count(X509_POLICY_LEVEL *level);
 I4	  74763 
 I4	  74764 X509_POLICY_NODE *X509_policy_level_get0_node(const X509_POLICY_LEVEL *level,
 I4	  74765                                               int i);
 I4	  74766 
 I4	  74767 const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node);
 I4	  74768 
 I4	  74769 STACK_OF(POLICYQUALINFO)
       E	 struct stack_st_POLICYQUALINFO
 I4	  74770     *X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node);
 I4	  74771 const X509_POLICY_NODE
 I4	  74772     *X509_policy_node_get0_parent(const X509_POLICY_NODE *node);
 I4	  74773 
 I4    X  74774 #ifdef  __cplusplus
 I4    X  74775 }
 I4    X  74776 #endif
 I4	  74777 #endif
 I3	  74778 # include <openssl/pkcs7.h>
 I4	  74779 /*
 I4	  74780  * WARNING: do not edit!
 I4	  74781  * Generated by descrip.mms from [-.include.openssl]pkcs7.h.in
 I4	  74782  *
 I4	  74783  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  74784  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1376
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  74785  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  74786  * this file except in compliance with the License.  You can obtain a copy
 I4	  74787  * in the file LICENSE in the source distribution or at
 I4	  74788  * https://www.openssl.org/source/license.html
 I4	  74789  */
 I4	  74790 
 I4	  74791 
 I4	  74792 
 I4	  74793 #ifndef OPENSSL_PKCS7_H
 I4	  74794 # define OPENSSL_PKCS7_H
 I4	  74795 # pragma once
 I4	  74796 
 I4    X  74797 # include <openssl/macros.h>
 I4	  74798 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  74799 #  define HEADER_PKCS7_H
 I4	  74800 # endif
 I4	  74801 
 I4    X  74802 # include <openssl/asn1.h>
 I4    X  74803 # include <openssl/bio.h>
 I4    X  74804 # include <openssl/e_os2.h>
 I4	  74805 
 I4    X  74806 # include <openssl/symhacks.h>
 I4    X  74807 # include <openssl/types.h>
 I4	  74808 # include <openssl/pkcs7err.h>
 I5	  74809 /*
 I5	  74810  * Generated by util/mkerr.pl DO NOT EDIT
 I5	  74811  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  74812  *
 I5	  74813  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  74814  * this file except in compliance with the License.  You can obtain a copy
 I5	  74815  * in the file LICENSE in the source distribution or at
 I5	  74816  * https://www.openssl.org/source/license.html
 I5	  74817  */
 I5	  74818 
 I5	  74819 #ifndef OPENSSL_PKCS7ERR_H
 I5	  74820 # define OPENSSL_PKCS7ERR_H
 I5	  74821 # pragma once
 I5	  74822 
 I5    X  74823 # include <openssl/opensslconf.h>
 I5    X  74824 # include <openssl/symhacks.h>
 I5    X  74825 # include <openssl/cryptoerr_legacy.h>
 I5	  74826 
 I5	  74827 
 I5	  74828 
 I5	  74829 /*
 I5	  74830  * PKCS7 reason codes.
 I5	  74831  */
 I5	  74832 # define PKCS7_R_CERTIFICATE_VERIFY_ERROR                 117
 I5	  74833 # define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER          144
 I5	  74834 # define PKCS7_R_CIPHER_NOT_INITIALIZED                   116
 I5	  74835 # define PKCS7_R_CONTENT_AND_DATA_PRESENT                 118
 I5	  74836 # define PKCS7_R_CTRL_ERROR                               152
 I5	  74837 # define PKCS7_R_DECRYPT_ERROR                            119
 I5	  74838 # define PKCS7_R_DIGEST_FAILURE                           101
 I5	  74839 # define PKCS7_R_ENCRYPTION_CTRL_FAILURE                  149
 I5	  74840 # define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150
 I5	  74841 # define PKCS7_R_ERROR_ADDING_RECIPIENT                   120

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1377
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7ERR.H;1

 I5	  74842 # define PKCS7_R_ERROR_SETTING_CIPHER                     121
 I5	  74843 # define PKCS7_R_INVALID_NULL_POINTER                     143
 I5	  74844 # define PKCS7_R_INVALID_SIGNED_DATA_TYPE                 155
 I5	  74845 # define PKCS7_R_NO_CONTENT                               122
 I5	  74846 # define PKCS7_R_NO_DEFAULT_DIGEST                        151
 I5	  74847 # define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND            154
 I5	  74848 # define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE         115
 I5	  74849 # define PKCS7_R_NO_SIGNATURES_ON_DATA                    123
 I5	  74850 # define PKCS7_R_NO_SIGNERS                               142
 I5	  74851 # define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE     104
 I5	  74852 # define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR                124
 I5	  74853 # define PKCS7_R_PKCS7_ADD_SIGNER_ERROR                   153
 I5	  74854 # define PKCS7_R_PKCS7_DATASIGN                           145
 I5	  74855 # define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE   127
 I5	  74856 # define PKCS7_R_SIGNATURE_FAILURE                        105
 I5	  74857 # define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND             128
 I5	  74858 # define PKCS7_R_SIGNING_CTRL_FAILURE                     147
 I5	  74859 # define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE  148
 I5	  74860 # define PKCS7_R_SMIME_TEXT_ERROR                         129
 I5	  74861 # define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE               106
 I5	  74862 # define PKCS7_R_UNABLE_TO_FIND_MEM_BIO                   107
 I5	  74863 # define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST            108
 I5	  74864 # define PKCS7_R_UNKNOWN_DIGEST_TYPE                      109
 I5	  74865 # define PKCS7_R_UNKNOWN_OPERATION                        110
 I5	  74866 # define PKCS7_R_UNSUPPORTED_CIPHER_TYPE                  111
 I5	  74867 # define PKCS7_R_UNSUPPORTED_CONTENT_TYPE                 112
 I5	  74868 # define PKCS7_R_WRONG_CONTENT_TYPE                       113
 I5	  74869 # define PKCS7_R_WRONG_PKCS7_TYPE                         114
 I5	  74870 
 I5	  74871 #endif
 I4	  74872 
 I4    X  74873 #ifdef  __cplusplus
 I4    X  74874 extern "C" {
 I4    X  74875 #endif
 I4	  74876 
 I4	  74877 
 I4	  74878 /*-
 I4	  74879 Encryption_ID           DES-CBC
 I4	  74880 Digest_ID               MD5
 I4	  74881 Digest_Encryption_ID    rsaEncryption
 I4	  74882 Key_Encryption_ID       rsaEncryption
 I4	  74883 */
 I4	  74884 
 I4	  74885 typedef struct PKCS7_CTX_st {
 I4	  74886     OSSL_LIB_CTX *libctx;
 I4	  74887     char *propq;
 I4	  74888 } PKCS7_CTX;
 I4	  74889 
 I4	  74890 typedef struct pkcs7_issuer_and_serial_st {
 I4	  74891     X509_NAME *issuer;
 I4	  74892     ASN1_INTEGER *serial;
 I4	  74893 } PKCS7_ISSUER_AND_SERIAL;
 I4	  74894 
 I4	  74895 typedef struct pkcs7_signer_info_st {
 I4	  74896     ASN1_INTEGER *version;      /* version 1 */
 I4	  74897     PKCS7_ISSUER_AND_SERIAL *issuer_and_serial;
 I4	  74898     X509_ALGOR *digest_alg;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1378
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  74899     STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */
       E	     struct stack_st_X509_ATTRIBUTE
 I4	  74900     X509_ALGOR *digest_enc_alg;
 I4	  74901     ASN1_OCTET_STRING *enc_digest;
 I4	  74902     STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */
       E	     struct stack_st_X509_ATTRIBUTE
 I4	  74903     /* The private key to sign with */
 I4	  74904     EVP_PKEY *pkey;
 I4	  74905     const PKCS7_CTX *ctx;
 I4	  74906 } PKCS7_SIGNER_INFO;
 I4   1	  74907 SKM_DEFINE_STACK_OF_INTERNAL(PKCS7_SIGNER_INFO, PKCS7_SIGNER_INFO, PKCS7_SIGNER_INFO)
       E	 struct stack_st_PKCS7_SIGNER_INFO ; typedef int ( * sk_PKCS7_SIGNER_INFO_compfunc ) ( const PKCS7_SIGNER_INFO * con
       E	st * a , const PKCS7_SIGNER_INFO * const * b ) ; typedef void ( * sk_PKCS7_SIGNER_INFO_freefunc ) ( PKCS7_SIGNER_INF
       E	O * a ) ; typedef PKCS7_SIGNER_INFO * ( * sk_PKCS7_SIGNER_INFO_copyfunc ) ( const PKCS7_SIGNER_INFO * a ) ; static _
       E	_inline PKCS7_SIGNER_INFO * ossl_check_PKCS7_SIGNER_INFO_type ( PKCS7_SIGNER_INFO * ptr ) { return ptr ; } static __
       E	inline const OPENSSL_STACK * ossl_check_const_PKCS7_SIGNER_INFO_sk_type ( const struct stack_st_PKCS7_SIGNER_INFO * 
       E	sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_PKCS7_SIGNER_INFO_sk_type 
       E	( struct stack_st_PKCS7_SIGNER_INFO * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc o
       E	ssl_check_PKCS7_SIGNER_INFO_compfunc_type ( sk_PKCS7_SIGNER_INFO_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp
       E	 ; } static __inline OPENSSL_sk_copyfunc ossl_check_PKCS7_SIGNER_INFO_copyfunc_type ( sk_PKCS7_SIGNER_INFO_copyfunc 
       E	cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_PKCS7_SIGNER_INFO_free
       E	func_type ( sk_PKCS7_SIGNER_INFO_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I4	  74908 #define sk_PKCS7_SIGNER_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk))
 I4	  74909 #define sk_PKCS7_SIGNER_INFO_value(sk, idx) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_value(ossl_check_const_PKCS7_SIGNER_INF
 I4	  74909 O_sk_type(sk), (idx)))
 I4	  74910 #define sk_PKCS7_SIGNER_INFO_new(cmp) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_new(ossl_check_PKCS7_SIGNER_INFO_co
 I4	  74910 mpfunc_type(cmp)))
 I4	  74911 #define sk_PKCS7_SIGNER_INFO_new_null() ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_new_null())
 I4	  74912 #define sk_PKCS7_SIGNER_INFO_new_reserve(cmp, n) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_new_reserve(ossl_check_P
 I4	  74912 KCS7_SIGNER_INFO_compfunc_type(cmp), (n)))
 I4	  74913 #define sk_PKCS7_SIGNER_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), (n))
 I4	  74914 #define sk_PKCS7_SIGNER_INFO_free(sk) OPENSSL_sk_free(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk))
 I4	  74915 #define sk_PKCS7_SIGNER_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk))
 I4	  74916 #define sk_PKCS7_SIGNER_INFO_delete(sk, i) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_delete(ossl_check_PKCS7_SIGNER_INFO_sk_t
 I4	  74916 ype(sk), (i)))
 I4	  74917 #define sk_PKCS7_SIGNER_INFO_delete_ptr(sk, ptr) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_delete_ptr(ossl_check_PKCS7_SIGNER
 I4	  74917 _INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr)))
 I4	  74918 #define sk_PKCS7_SIGNER_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS
 I4	  74918 7_SIGNER_INFO_type(ptr))
 I4	  74919 #define sk_PKCS7_SIGNER_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_chec
 I4	  74919 k_PKCS7_SIGNER_INFO_type(ptr))
 I4	  74920 #define sk_PKCS7_SIGNER_INFO_pop(sk) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_pop(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk)))
 I4	  74921 #define sk_PKCS7_SIGNER_INFO_shift(sk) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_shift(ossl_check_PKCS7_SIGNER_INFO_sk_type(s
 I4	  74921 k)))
 I4	  74922 #define sk_PKCS7_SIGNER_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk),oss
 I4	  74922 l_check_PKCS7_SIGNER_INFO_freefunc_type(freefunc))
 I4	  74923 #define sk_PKCS7_SIGNER_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_c
 I4	  74923 heck_PKCS7_SIGNER_INFO_type(ptr), (idx))
 I4	  74924 #define sk_PKCS7_SIGNER_INFO_set(sk, idx, ptr) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_set(ossl_check_PKCS7_SIGNER_INFO_sk_
 I4	  74924 type(sk), (idx), ossl_check_PKCS7_SIGNER_INFO_type(ptr)))
 I4	  74925 #define sk_PKCS7_SIGNER_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS
 I4	  74925 7_SIGNER_INFO_type(ptr))
 I4	  74926 #define sk_PKCS7_SIGNER_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_chec
 I4	  74926 k_PKCS7_SIGNER_INFO_type(ptr))
 I4	  74927 #define sk_PKCS7_SIGNER_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), o
 I4	  74927 ssl_check_PKCS7_SIGNER_INFO_type(ptr), pnum)
 I4	  74928 #define sk_PKCS7_SIGNER_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1379
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  74929 #define sk_PKCS7_SIGNER_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk))
 I4	  74930 #define sk_PKCS7_SIGNER_INFO_dup(sk) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_dup(ossl_check_const_PKCS7_SIGNER_IN
 I4	  74930 FO_sk_type(sk)))
 I4	  74931 #define sk_PKCS7_SIGNER_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_deep_copy(
 I4	  74931 ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_copyfunc_type(copyfunc), ossl_check_PKC
 I4	  74931 S7_SIGNER_INFO_freefunc_type(freefunc)))
 I4	  74932 #define sk_PKCS7_SIGNER_INFO_set_cmp_func(sk, cmp) ((sk_PKCS7_SIGNER_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_chec
 I4	  74932 k_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_compfunc_type(cmp)))
 I4	  74933 
 I4	  74934 
 I4	  74935 typedef struct pkcs7_recip_info_st {
 I4	  74936     ASN1_INTEGER *version;      /* version 0 */
 I4	  74937     PKCS7_ISSUER_AND_SERIAL *issuer_and_serial;
 I4	  74938     X509_ALGOR *key_enc_algor;
 I4	  74939     ASN1_OCTET_STRING *enc_key;
 I4	  74940     X509 *cert;                 /* get the pub-key from this */
 I4	  74941     const PKCS7_CTX *ctx;
 I4	  74942 } PKCS7_RECIP_INFO;
 I4   1	  74943 SKM_DEFINE_STACK_OF_INTERNAL(PKCS7_RECIP_INFO, PKCS7_RECIP_INFO, PKCS7_RECIP_INFO)
       E	 struct stack_st_PKCS7_RECIP_INFO ; typedef int ( * sk_PKCS7_RECIP_INFO_compfunc ) ( const PKCS7_RECIP_INFO * const 
       E	* a , const PKCS7_RECIP_INFO * const * b ) ; typedef void ( * sk_PKCS7_RECIP_INFO_freefunc ) ( PKCS7_RECIP_INFO * a 
       E	) ; typedef PKCS7_RECIP_INFO * ( * sk_PKCS7_RECIP_INFO_copyfunc ) ( const PKCS7_RECIP_INFO * a ) ; static __inline P
       E	KCS7_RECIP_INFO * ossl_check_PKCS7_RECIP_INFO_type ( PKCS7_RECIP_INFO * ptr ) { return ptr ; } static __inline const
       E	 OPENSSL_STACK * ossl_check_const_PKCS7_RECIP_INFO_sk_type ( const struct stack_st_PKCS7_RECIP_INFO * sk ) { return 
       E	( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_PKCS7_RECIP_INFO_sk_type ( struct stack_
       E	st_PKCS7_RECIP_INFO * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_PKCS7_
       E	RECIP_INFO_compfunc_type ( sk_PKCS7_RECIP_INFO_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inli
       E	ne OPENSSL_sk_copyfunc ossl_check_PKCS7_RECIP_INFO_copyfunc_type ( sk_PKCS7_RECIP_INFO_copyfunc cpy ) { return ( OPE
       E	NSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_PKCS7_RECIP_INFO_freefunc_type ( sk_PKCS7_
       E	RECIP_INFO_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I4	  74944 #define sk_PKCS7_RECIP_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_PKCS7_RECIP_INFO_sk_type(sk))
 I4	  74945 #define sk_PKCS7_RECIP_INFO_value(sk, idx) ((PKCS7_RECIP_INFO *)OPENSSL_sk_value(ossl_check_const_PKCS7_RECIP_INFO_s
 I4	  74945 k_type(sk), (idx)))
 I4	  74946 #define sk_PKCS7_RECIP_INFO_new(cmp) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_new(ossl_check_PKCS7_RECIP_INFO_compf
 I4	  74946 unc_type(cmp)))
 I4	  74947 #define sk_PKCS7_RECIP_INFO_new_null() ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_new_null())
 I4	  74948 #define sk_PKCS7_RECIP_INFO_new_reserve(cmp, n) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_new_reserve(ossl_check_PKC
 I4	  74948 S7_RECIP_INFO_compfunc_type(cmp), (n)))
 I4	  74949 #define sk_PKCS7_RECIP_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), (n))
 I4	  74950 #define sk_PKCS7_RECIP_INFO_free(sk) OPENSSL_sk_free(ossl_check_PKCS7_RECIP_INFO_sk_type(sk))
 I4	  74951 #define sk_PKCS7_RECIP_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_PKCS7_RECIP_INFO_sk_type(sk))
 I4	  74952 #define sk_PKCS7_RECIP_INFO_delete(sk, i) ((PKCS7_RECIP_INFO *)OPENSSL_sk_delete(ossl_check_PKCS7_RECIP_INFO_sk_type
 I4	  74952 (sk), (i)))
 I4	  74953 #define sk_PKCS7_RECIP_INFO_delete_ptr(sk, ptr) ((PKCS7_RECIP_INFO *)OPENSSL_sk_delete_ptr(ossl_check_PKCS7_RECIP_IN
 I4	  74953 FO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr)))
 I4	  74954 #define sk_PKCS7_RECIP_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_
 I4	  74954 RECIP_INFO_type(ptr))
 I4	  74955 #define sk_PKCS7_RECIP_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_
 I4	  74955 PKCS7_RECIP_INFO_type(ptr))
 I4	  74956 #define sk_PKCS7_RECIP_INFO_pop(sk) ((PKCS7_RECIP_INFO *)OPENSSL_sk_pop(ossl_check_PKCS7_RECIP_INFO_sk_type(sk)))
 I4	  74957 #define sk_PKCS7_RECIP_INFO_shift(sk) ((PKCS7_RECIP_INFO *)OPENSSL_sk_shift(ossl_check_PKCS7_RECIP_INFO_sk_type(sk))
 I4	  74957 )
 I4	  74958 #define sk_PKCS7_RECIP_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PKCS7_RECIP_INFO_sk_type(sk),ossl_
 I4	  74958 check_PKCS7_RECIP_INFO_freefunc_type(freefunc))
 I4	  74959 #define sk_PKCS7_RECIP_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_che
 I4	  74959 ck_PKCS7_RECIP_INFO_type(ptr), (idx))
 I4	  74960 #define sk_PKCS7_RECIP_INFO_set(sk, idx, ptr) ((PKCS7_RECIP_INFO *)OPENSSL_sk_set(ossl_check_PKCS7_RECIP_INFO_sk_typ

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1380
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  74960 e(sk), (idx), ossl_check_PKCS7_RECIP_INFO_type(ptr)))
 I4	  74961 #define sk_PKCS7_RECIP_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_
 I4	  74961 RECIP_INFO_type(ptr))
 I4	  74962 #define sk_PKCS7_RECIP_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_
 I4	  74962 PKCS7_RECIP_INFO_type(ptr))
 I4	  74963 #define sk_PKCS7_RECIP_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), oss
 I4	  74963 l_check_PKCS7_RECIP_INFO_type(ptr), pnum)
 I4	  74964 #define sk_PKCS7_RECIP_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_PKCS7_RECIP_INFO_sk_type(sk))
 I4	  74965 #define sk_PKCS7_RECIP_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PKCS7_RECIP_INFO_sk_type(sk))
 I4	  74966 #define sk_PKCS7_RECIP_INFO_dup(sk) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_dup(ossl_check_const_PKCS7_RECIP_INFO_
 I4	  74966 sk_type(sk)))
 I4	  74967 #define sk_PKCS7_RECIP_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_deep_copy(os
 I4	  74967 sl_check_const_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_copyfunc_type(copyfunc), ossl_check_PKCS7_R
 I4	  74967 ECIP_INFO_freefunc_type(freefunc)))
 I4	  74968 #define sk_PKCS7_RECIP_INFO_set_cmp_func(sk, cmp) ((sk_PKCS7_RECIP_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_
 I4	  74968 PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_compfunc_type(cmp)))
 I4	  74969 
 I4	  74970 
 I4	  74971 
 I4	  74972 typedef struct pkcs7_signed_st {
 I4	  74973     ASN1_INTEGER *version;      /* version 1 */
 I4	  74974     STACK_OF(X509_ALGOR) *md_algs; /* md used */
       E	     struct stack_st_X509_ALGOR
 I4	  74975     STACK_OF(X509) *cert;       /* [ 0 ] */
       E	     struct stack_st_X509
 I4	  74976     STACK_OF(X509_CRL) *crl;    /* [ 1 ] */
       E	     struct stack_st_X509_CRL
 I4	  74977     STACK_OF(PKCS7_SIGNER_INFO) *signer_info;
       E	     struct stack_st_PKCS7_SIGNER_INFO
 I4	  74978     struct pkcs7_st *contents;
 I4	  74979 } PKCS7_SIGNED;
 I4	  74980 /*
 I4	  74981  * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about
 I4	  74982  * merging the two
 I4	  74983  */
 I4	  74984 
 I4	  74985 typedef struct pkcs7_enc_content_st {
 I4	  74986     ASN1_OBJECT *content_type;
 I4	  74987     X509_ALGOR *algorithm;
 I4	  74988     ASN1_OCTET_STRING *enc_data; /* [ 0 ] */
 I4	  74989     const EVP_CIPHER *cipher;
 I4	  74990     const PKCS7_CTX *ctx;
 I4	  74991 } PKCS7_ENC_CONTENT;
 I4	  74992 
 I4	  74993 typedef struct pkcs7_enveloped_st {
 I4	  74994     ASN1_INTEGER *version;      /* version 0 */
 I4	  74995     STACK_OF(PKCS7_RECIP_INFO) *recipientinfo;
       E	     struct stack_st_PKCS7_RECIP_INFO
 I4	  74996     PKCS7_ENC_CONTENT *enc_data;
 I4	  74997 } PKCS7_ENVELOPE;
 I4	  74998 
 I4	  74999 typedef struct pkcs7_signedandenveloped_st {
 I4	  75000     ASN1_INTEGER *version;      /* version 1 */
 I4	  75001     STACK_OF(X509_ALGOR) *md_algs; /* md used */
       E	     struct stack_st_X509_ALGOR
 I4	  75002     STACK_OF(X509) *cert;       /* [ 0 ] */
       E	     struct stack_st_X509

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1381
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  75003     STACK_OF(X509_CRL) *crl;    /* [ 1 ] */
       E	     struct stack_st_X509_CRL
 I4	  75004     STACK_OF(PKCS7_SIGNER_INFO) *signer_info;
       E	     struct stack_st_PKCS7_SIGNER_INFO
 I4	  75005     PKCS7_ENC_CONTENT *enc_data;
 I4	  75006     STACK_OF(PKCS7_RECIP_INFO) *recipientinfo;
       E	     struct stack_st_PKCS7_RECIP_INFO
 I4	  75007 } PKCS7_SIGN_ENVELOPE;
 I4	  75008 
 I4	  75009 typedef struct pkcs7_digest_st {
 I4	  75010     ASN1_INTEGER *version;      /* version 0 */
 I4	  75011     X509_ALGOR *md;             /* md used */
 I4	  75012     struct pkcs7_st *contents;
 I4	  75013     ASN1_OCTET_STRING *digest;
 I4	  75014 } PKCS7_DIGEST;
 I4	  75015 
 I4	  75016 typedef struct pkcs7_encrypted_st {
 I4	  75017     ASN1_INTEGER *version;      /* version 0 */
 I4	  75018     PKCS7_ENC_CONTENT *enc_data;
 I4	  75019 } PKCS7_ENCRYPT;
 I4	  75020 
 I4	  75021 typedef struct pkcs7_st {
 I4	  75022     /*
 I4	  75023      * The following is non NULL if it contains ASN1 encoding of this
 I4	  75024      * structure
 I4	  75025      */
 I4	  75026     unsigned char *asn1;
 I4	  75027     long length;
 I4	  75028 # define PKCS7_S_HEADER  0
 I4	  75029 # define PKCS7_S_BODY    1
 I4	  75030 # define PKCS7_S_TAIL    2
 I4	  75031     int state;                  /* used during processing */
 I4	  75032     int detached;
 I4	  75033     ASN1_OBJECT *type;
 I4	  75034     /* content as defined by the type */
 I4	  75035     /*
 I4	  75036      * all encryption/message digests are applied to the 'contents', leaving
 I4	  75037      * out the 'type' field.
 I4	  75038      */
 I4	  75039     union {
 I4	  75040         char *ptr;
 I4	  75041         /* NID_pkcs7_data */
 I4	  75042         ASN1_OCTET_STRING *data;
 I4	  75043         /* NID_pkcs7_signed */
 I4	  75044         PKCS7_SIGNED *sign;
 I4	  75045         /* NID_pkcs7_enveloped */
 I4	  75046         PKCS7_ENVELOPE *enveloped;
 I4	  75047         /* NID_pkcs7_signedAndEnveloped */
 I4	  75048         PKCS7_SIGN_ENVELOPE *signed_and_enveloped;
 I4	  75049         /* NID_pkcs7_digest */
 I4	  75050         PKCS7_DIGEST *digest;
 I4	  75051         /* NID_pkcs7_encrypted */
 I4	  75052         PKCS7_ENCRYPT *encrypted;
 I4	  75053         /* Anything else */
 I4	  75054         ASN1_TYPE *other;
 I4	  75055     } d;
 I4	  75056     PKCS7_CTX ctx;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1382
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  75057 } PKCS7;
 I4   1	  75058 SKM_DEFINE_STACK_OF_INTERNAL(PKCS7, PKCS7, PKCS7)
       E	 struct stack_st_PKCS7 ; typedef int ( * sk_PKCS7_compfunc ) ( const PKCS7 * const * a , const PKCS7 * const * b ) ;
       E	 typedef void ( * sk_PKCS7_freefunc ) ( PKCS7 * a ) ; typedef PKCS7 * ( * sk_PKCS7_copyfunc ) ( const PKCS7 * a ) ; 
       E	static __inline PKCS7 * ossl_check_PKCS7_type ( PKCS7 * ptr ) { return ptr ; } static __inline const OPENSSL_STACK *
       E	 ossl_check_const_PKCS7_sk_type ( const struct stack_st_PKCS7 * sk ) { return ( const OPENSSL_STACK * ) sk ; } stati
       E	c __inline OPENSSL_STACK * ossl_check_PKCS7_sk_type ( struct stack_st_PKCS7 * sk ) { return ( OPENSSL_STACK * ) sk ;
       E	 } static __inline OPENSSL_sk_compfunc ossl_check_PKCS7_compfunc_type ( sk_PKCS7_compfunc cmp ) { return ( OPENSSL_s
       E	k_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_PKCS7_copyfunc_type ( sk_PKCS7_copyfunc cpy ) { 
       E	return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_PKCS7_freefunc_type ( sk_PKCS7
       E	_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I4	  75059 #define sk_PKCS7_num(sk) OPENSSL_sk_num(ossl_check_const_PKCS7_sk_type(sk))
 I4	  75060 #define sk_PKCS7_value(sk, idx) ((PKCS7 *)OPENSSL_sk_value(ossl_check_const_PKCS7_sk_type(sk), (idx)))
 I4	  75061 #define sk_PKCS7_new(cmp) ((STACK_OF(PKCS7) *)OPENSSL_sk_new(ossl_check_PKCS7_compfunc_type(cmp)))
 I4	  75062 #define sk_PKCS7_new_null() ((STACK_OF(PKCS7) *)OPENSSL_sk_new_null())
 I4	  75063 #define sk_PKCS7_new_reserve(cmp, n) ((STACK_OF(PKCS7) *)OPENSSL_sk_new_reserve(ossl_check_PKCS7_compfunc_type(cmp),
 I4	  75063  (n)))
 I4	  75064 #define sk_PKCS7_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PKCS7_sk_type(sk), (n))
 I4	  75065 #define sk_PKCS7_free(sk) OPENSSL_sk_free(ossl_check_PKCS7_sk_type(sk))
 I4	  75066 #define sk_PKCS7_zero(sk) OPENSSL_sk_zero(ossl_check_PKCS7_sk_type(sk))
 I4	  75067 #define sk_PKCS7_delete(sk, i) ((PKCS7 *)OPENSSL_sk_delete(ossl_check_PKCS7_sk_type(sk), (i)))
 I4	  75068 #define sk_PKCS7_delete_ptr(sk, ptr) ((PKCS7 *)OPENSSL_sk_delete_ptr(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_
 I4	  75068 type(ptr)))
 I4	  75069 #define sk_PKCS7_push(sk, ptr) OPENSSL_sk_push(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr))
 I4	  75070 #define sk_PKCS7_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr))
 I4	  75071 #define sk_PKCS7_pop(sk) ((PKCS7 *)OPENSSL_sk_pop(ossl_check_PKCS7_sk_type(sk)))
 I4	  75072 #define sk_PKCS7_shift(sk) ((PKCS7 *)OPENSSL_sk_shift(ossl_check_PKCS7_sk_type(sk)))
 I4	  75073 #define sk_PKCS7_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PKCS7_sk_type(sk),ossl_check_PKCS7_freefunc_t
 I4	  75073 ype(freefunc))
 I4	  75074 #define sk_PKCS7_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr), (i
 I4	  75074 dx))
 I4	  75075 #define sk_PKCS7_set(sk, idx, ptr) ((PKCS7 *)OPENSSL_sk_set(ossl_check_PKCS7_sk_type(sk), (idx), ossl_check_PKCS7_ty
 I4	  75075 pe(ptr)))
 I4	  75076 #define sk_PKCS7_find(sk, ptr) OPENSSL_sk_find(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr))
 I4	  75077 #define sk_PKCS7_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr))
 I4	  75078 #define sk_PKCS7_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr
 I4	  75078 ), pnum)
 I4	  75079 #define sk_PKCS7_sort(sk) OPENSSL_sk_sort(ossl_check_PKCS7_sk_type(sk))
 I4	  75080 #define sk_PKCS7_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PKCS7_sk_type(sk))
 I4	  75081 #define sk_PKCS7_dup(sk) ((STACK_OF(PKCS7) *)OPENSSL_sk_dup(ossl_check_const_PKCS7_sk_type(sk)))
 I4	  75082 #define sk_PKCS7_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PKCS7) *)OPENSSL_sk_deep_copy(ossl_check_const_PKCS7_s
 I4	  75082 k_type(sk), ossl_check_PKCS7_copyfunc_type(copyfunc), ossl_check_PKCS7_freefunc_type(freefunc)))
 I4	  75083 #define sk_PKCS7_set_cmp_func(sk, cmp) ((sk_PKCS7_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_PKCS7_sk_type(sk), oss
 I4	  75083 l_check_PKCS7_compfunc_type(cmp)))
 I4	  75084 
 I4	  75085 
 I4	  75086 
 I4	  75087 # define PKCS7_OP_SET_DETACHED_SIGNATURE 1
 I4	  75088 # define PKCS7_OP_GET_DETACHED_SIGNATURE 2
 I4	  75089 
 I4	  75090 # define PKCS7_get_signed_attributes(si) ((si)->auth_attr)
 I4	  75091 # define PKCS7_get_attributes(si)        ((si)->unauth_attr)
 I4	  75092 
 I4	  75093 # define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed)
 I4	  75094 # define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted)
 I4	  75095 # define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped)
 I4	  75096 # define PKCS7_type_is_signedAndEnveloped(a) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1383
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  75097                 (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped)
 I4	  75098 # define PKCS7_type_is_data(a)   (OBJ_obj2nid((a)->type) == NID_pkcs7_data)
 I4	  75099 # define PKCS7_type_is_digest(a)   (OBJ_obj2nid((a)->type) == NID_pkcs7_digest)
 I4	  75100 
 I4	  75101 # define PKCS7_set_detached(p,v) \
 I4	  75102                 PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL)
 I4	  75103 # define PKCS7_get_detached(p) \
 I4	  75104                 PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL)
 I4	  75105 
 I4	  75106 # define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7))
 I4	  75107 
 I4	  75108 /* S/MIME related flags */
 I4	  75109 
 I4	  75110 # define PKCS7_TEXT              0x1
 I4	  75111 # define PKCS7_NOCERTS           0x2
 I4	  75112 # define PKCS7_NOSIGS            0x4
 I4	  75113 # define PKCS7_NOCHAIN           0x8
 I4	  75114 # define PKCS7_NOINTERN          0x10
 I4	  75115 # define PKCS7_NOVERIFY          0x20
 I4	  75116 # define PKCS7_DETACHED          0x40
 I4	  75117 # define PKCS7_BINARY            0x80
 I4	  75118 # define PKCS7_NOATTR            0x100
 I4	  75119 # define PKCS7_NOSMIMECAP        0x200
 I4	  75120 # define PKCS7_NOOLDMIMETYPE     0x400
 I4	  75121 # define PKCS7_CRLFEOL           0x800
 I4	  75122 # define PKCS7_STREAM            0x1000
 I4	  75123 # define PKCS7_NOCRL             0x2000
 I4	  75124 # define PKCS7_PARTIAL           0x4000
 I4	  75125 # define PKCS7_REUSE_DIGEST      0x8000
 I4	  75126 # define PKCS7_NO_DUAL_CONTENT   0x10000
 I4	  75127 
 I4	  75128 /* Flags: for compatibility with older code */
 I4	  75129 
 I4	  75130 # define SMIME_TEXT      PKCS7_TEXT
 I4	  75131 # define SMIME_NOCERTS   PKCS7_NOCERTS
 I4	  75132 # define SMIME_NOSIGS    PKCS7_NOSIGS
 I4	  75133 # define SMIME_NOCHAIN   PKCS7_NOCHAIN
 I4	  75134 # define SMIME_NOINTERN  PKCS7_NOINTERN
 I4	  75135 # define SMIME_NOVERIFY  PKCS7_NOVERIFY
 I4	  75136 # define SMIME_DETACHED  PKCS7_DETACHED
 I4	  75137 # define SMIME_BINARY    PKCS7_BINARY
 I4	  75138 # define SMIME_NOATTR    PKCS7_NOATTR
 I4	  75139 
 I4	  75140 /* CRLF ASCII canonicalisation */
 I4	  75141 # define SMIME_ASCIICRLF         0x80000
 I4	  75142 
 I4	  75143 DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL)
       E	 extern PKCS7_ISSUER_AND_SERIAL * PKCS7_ISSUER_AND_SERIAL_new ( void ) ; extern void PKCS7_ISSUER_AND_SERIAL_free ( 
       E	PKCS7_ISSUER_AND_SERIAL * a ) ; extern PKCS7_ISSUER_AND_SERIAL * d2i_PKCS7_ISSUER_AND_SERIAL ( PKCS7_ISSUER_AND_SERI
       E	AL * * a , const unsigned char * * in , long len ) ; extern int i2d_PKCS7_ISSUER_AND_SERIAL ( const PKCS7_ISSUER_AND
       E	_SERIAL * a , unsigned char * * out ) ; extern const ASN1_ITEM * PKCS7_ISSUER_AND_SERIAL_it ( void ) ;
 I4	  75144 
 I4	  75145 int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,
 I4	  75146                                    const EVP_MD *type, unsigned char *md,
 I4	  75147                                    unsigned int *len);
 I4	  75148 # ifndef OPENSSL_NO_STDIO
 I4	  75149 PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1384
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  75150 int i2d_PKCS7_fp(FILE *fp, const PKCS7 *p7);
 I4	  75151 # endif
 I4	  75152 DECLARE_ASN1_DUP_FUNCTION(PKCS7)
       E	 extern PKCS7 * PKCS7_dup ( const PKCS7 * a ) ;
 I4	  75153 PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7);
 I4	  75154 int i2d_PKCS7_bio(BIO *bp, const PKCS7 *p7);
 I4	  75155 int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags);
 I4	  75156 int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags);
 I4	  75157 
 I4	  75158 DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO)
       E	 extern PKCS7_SIGNER_INFO * PKCS7_SIGNER_INFO_new ( void ) ; extern void PKCS7_SIGNER_INFO_free ( PKCS7_SIGNER_INFO 
       E	* a ) ; extern PKCS7_SIGNER_INFO * d2i_PKCS7_SIGNER_INFO ( PKCS7_SIGNER_INFO * * a , const unsigned char * * in , lo
       E	ng len ) ; extern int i2d_PKCS7_SIGNER_INFO ( const PKCS7_SIGNER_INFO * a , unsigned char * * out ) ; extern const A
       E	SN1_ITEM * PKCS7_SIGNER_INFO_it ( void ) ;
 I4	  75159 DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO)
       E	 extern PKCS7_RECIP_INFO * PKCS7_RECIP_INFO_new ( void ) ; extern void PKCS7_RECIP_INFO_free ( PKCS7_RECIP_INFO * a 
       E	) ; extern PKCS7_RECIP_INFO * d2i_PKCS7_RECIP_INFO ( PKCS7_RECIP_INFO * * a , const unsigned char * * in , long len 
       E	) ; extern int i2d_PKCS7_RECIP_INFO ( const PKCS7_RECIP_INFO * a , unsigned char * * out ) ; extern const ASN1_ITEM 
       E	* PKCS7_RECIP_INFO_it ( void ) ;
 I4	  75160 DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED)
       E	 extern PKCS7_SIGNED * PKCS7_SIGNED_new ( void ) ; extern void PKCS7_SIGNED_free ( PKCS7_SIGNED * a ) ; extern PKCS7
       E	_SIGNED * d2i_PKCS7_SIGNED ( PKCS7_SIGNED * * a , const unsigned char * * in , long len ) ; extern int i2d_PKCS7_SIG
       E	NED ( const PKCS7_SIGNED * a , unsigned char * * out ) ; extern const ASN1_ITEM * PKCS7_SIGNED_it ( void ) ;
 I4	  75161 DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT)
       E	 extern PKCS7_ENC_CONTENT * PKCS7_ENC_CONTENT_new ( void ) ; extern void PKCS7_ENC_CONTENT_free ( PKCS7_ENC_CONTENT 
       E	* a ) ; extern PKCS7_ENC_CONTENT * d2i_PKCS7_ENC_CONTENT ( PKCS7_ENC_CONTENT * * a , const unsigned char * * in , lo
       E	ng len ) ; extern int i2d_PKCS7_ENC_CONTENT ( const PKCS7_ENC_CONTENT * a , unsigned char * * out ) ; extern const A
       E	SN1_ITEM * PKCS7_ENC_CONTENT_it ( void ) ;
 I4	  75162 DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE)
       E	 extern PKCS7_ENVELOPE * PKCS7_ENVELOPE_new ( void ) ; extern void PKCS7_ENVELOPE_free ( PKCS7_ENVELOPE * a ) ; exte
       E	rn PKCS7_ENVELOPE * d2i_PKCS7_ENVELOPE ( PKCS7_ENVELOPE * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_PKCS7_ENVELOPE ( const PKCS7_ENVELOPE * a , unsigned char * * out ) ; extern const ASN1_ITEM * PKCS7_ENVELOPE_i
       E	t ( void ) ;
 I4	  75163 DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE)
       E	 extern PKCS7_SIGN_ENVELOPE * PKCS7_SIGN_ENVELOPE_new ( void ) ; extern void PKCS7_SIGN_ENVELOPE_free ( PKCS7_SIGN_E
       E	NVELOPE * a ) ; extern PKCS7_SIGN_ENVELOPE * d2i_PKCS7_SIGN_ENVELOPE ( PKCS7_SIGN_ENVELOPE * * a , const unsigned ch
       E	ar * * in , long len ) ; extern int i2d_PKCS7_SIGN_ENVELOPE ( const PKCS7_SIGN_ENVELOPE * a , unsigned char * * out 
       E	) ; extern const ASN1_ITEM * PKCS7_SIGN_ENVELOPE_it ( void ) ;
 I4	  75164 DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST)
       E	 extern PKCS7_DIGEST * PKCS7_DIGEST_new ( void ) ; extern void PKCS7_DIGEST_free ( PKCS7_DIGEST * a ) ; extern PKCS7
       E	_DIGEST * d2i_PKCS7_DIGEST ( PKCS7_DIGEST * * a , const unsigned char * * in , long len ) ; extern int i2d_PKCS7_DIG
       E	EST ( const PKCS7_DIGEST * a , unsigned char * * out ) ; extern const ASN1_ITEM * PKCS7_DIGEST_it ( void ) ;
 I4	  75165 DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT)
       E	 extern PKCS7_ENCRYPT * PKCS7_ENCRYPT_new ( void ) ; extern void PKCS7_ENCRYPT_free ( PKCS7_ENCRYPT * a ) ; extern P
       E	KCS7_ENCRYPT * d2i_PKCS7_ENCRYPT ( PKCS7_ENCRYPT * * a , const unsigned char * * in , long len ) ; extern int i2d_PK
       E	CS7_ENCRYPT ( const PKCS7_ENCRYPT * a , unsigned char * * out ) ; extern const ASN1_ITEM * PKCS7_ENCRYPT_it ( void )
       E	 ;
 I4	  75166 DECLARE_ASN1_FUNCTIONS(PKCS7)
       E	 extern PKCS7 * PKCS7_new ( void ) ; extern void PKCS7_free ( PKCS7 * a ) ; extern PKCS7 * d2i_PKCS7 ( PKCS7 * * a ,
       E	 const unsigned char * * in , long len ) ; extern int i2d_PKCS7 ( const PKCS7 * a , unsigned char * * out ) ; extern
       E	 const ASN1_ITEM * PKCS7_it ( void ) ;
 I4	  75167 PKCS7 *PKCS7_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 I4	  75168 
 I4	  75169 DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN)
       E	 extern const ASN1_ITEM * PKCS7_ATTR_SIGN_it ( void ) ;
 I4	  75170 DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY)
       E	 extern const ASN1_ITEM * PKCS7_ATTR_VERIFY_it ( void ) ;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1385
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  75171 
 I4	  75172 DECLARE_ASN1_NDEF_FUNCTION(PKCS7)
       E	 extern int i2d_PKCS7_NDEF ( const PKCS7 * a , unsigned char * * out ) ;
 I4	  75173 DECLARE_ASN1_PRINT_FUNCTION(PKCS7)
       E	 extern int PKCS7_print_ctx ( BIO * out , const PKCS7 * x , int indent , const ASN1_PCTX * pctx ) ;
 I4	  75174 
 I4	  75175 long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg);
 I4	  75176 
 I4	  75177 int PKCS7_type_is_other(PKCS7 *p7);
 I4	  75178 int PKCS7_set_type(PKCS7 *p7, int type);
 I4	  75179 int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other);
 I4	  75180 int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data);
 I4	  75181 int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey,
 I4	  75182                           const EVP_MD *dgst);
 I4	  75183 int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si);
 I4	  75184 int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i);
 I4	  75185 int PKCS7_add_certificate(PKCS7 *p7, X509 *x509);
 I4	  75186 int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509);
 I4	  75187 int PKCS7_content_new(PKCS7 *p7, int nid);
 I4	  75188 int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx,
 I4	  75189                      BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si);
 I4	  75190 int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,
 I4	  75191                           X509 *x509);
 I4	  75192 
 I4	  75193 BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio);
 I4	  75194 int PKCS7_dataFinal(PKCS7 *p7, BIO *bio);
 I4	  75195 BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert);
 I4	  75196 
 I4	  75197 PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509,
 I4	  75198                                        EVP_PKEY *pkey, const EVP_MD *dgst);
 I4	  75199 X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si);
 I4	  75200 int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md);
 I4	  75201 STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7);
       E	 struct stack_st_PKCS7_SIGNER_INFO
 I4	  75202 
 I4	  75203 PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509);
 I4	  75204 void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk,
 I4	  75205                                  X509_ALGOR **pdig, X509_ALGOR **psig);
 I4	  75206 void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc);
 I4	  75207 int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri);
 I4	  75208 int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509);
 I4	  75209 int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher);
 I4	  75210 int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7);
 I4	  75211 
 I4	  75212 PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx);
 I4	  75213 ASN1_OCTET_STRING *PKCS7_get_octet_string(PKCS7 *p7);
 I4	  75214 ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk);
       E	                                                 struct stack_st_X509_ATTRIBUTE
 I4	  75215 int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type,
 I4	  75216                                void *data);
 I4	  75217 int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype,
 I4	  75218                         void *value);
 I4	  75219 ASN1_TYPE *PKCS7_get_attribute(const PKCS7_SIGNER_INFO *si, int nid);
 I4	  75220 ASN1_TYPE *PKCS7_get_signed_attribute(const PKCS7_SIGNER_INFO *si, int nid);
 I4	  75221 int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si,
 I4	  75222                                 STACK_OF(X509_ATTRIBUTE) *sk);
       E	                                 struct stack_st_X509_ATTRIBUTE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1386
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PKCS7.H;1

 I4	  75223 int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si,
 I4	  75224                          STACK_OF(X509_ATTRIBUTE) *sk);
       E	                          struct stack_st_X509_ATTRIBUTE
 I4	  75225 
 I4	  75226 PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
       E	                                                   struct stack_st_X509
 I4	  75227                   BIO *data, int flags);
 I4	  75228 PKCS7 *PKCS7_sign_ex(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
       E	                                                      struct stack_st_X509
 I4	  75229                      BIO *data, int flags, OSSL_LIB_CTX *libctx,
 I4	  75230                      const char *propq);
 I4	  75231 
 I4	  75232 PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7,
 I4	  75233                                          X509 *signcert, EVP_PKEY *pkey,
 I4	  75234                                          const EVP_MD *md, int flags);
 I4	  75235 
 I4	  75236 int PKCS7_final(PKCS7 *p7, BIO *data, int flags);
 I4	  75237 int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
       E	                             struct stack_st_X509
 I4	  75238                  BIO *indata, BIO *out, int flags);
 I4	  75239 STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs,
       E	 struct stack_st_X509
       E	                                               struct stack_st_X509
 I4	  75240                                    int flags);
 I4	  75241 PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher,
       E	                      struct stack_st_X509
 I4	  75242                      int flags);
 I4	  75243 PKCS7 *PKCS7_encrypt_ex(STACK_OF(X509) *certs, BIO *in,
       E	                         struct stack_st_X509
 I4	  75244                         const EVP_CIPHER *cipher, int flags,
 I4	  75245                         OSSL_LIB_CTX *libctx, const char *propq);
 I4	  75246 int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data,
 I4	  75247                   int flags);
 I4	  75248 
 I4	  75249 int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si,
 I4	  75250                               STACK_OF(X509_ALGOR) *cap);
       E	                               struct stack_st_X509_ALGOR
 I4	  75251 STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si);
       E	 struct stack_st_X509_ALGOR
 I4	  75252 int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg);
       E	                           struct stack_st_X509_ALGOR
 I4	  75253 
 I4	  75254 int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid);
 I4	  75255 int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t);
 I4	  75256 int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si,
 I4	  75257                              const unsigned char *md, int mdlen);
 I4	  75258 
 I4	  75259 int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags);
 I4	  75260 PKCS7 *SMIME_read_PKCS7_ex(BIO *bio, BIO **bcont, PKCS7 **p7);
 I4	  75261 PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont);
 I4	  75262 
 I4	  75263 BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7);
 I4	  75264 
 I4    X  75265 # ifdef  __cplusplus
 I4    X  75266 }
 I4    X  75267 # endif
 I4	  75268 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1387
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  75269 
 I3    X  75270 #ifdef  __cplusplus
 I3    X  75271 extern "C" {
 I3    X  75272 #endif
 I3	  75273 
 I3	  75274 # define X509_EXT_PACK_UNKNOWN   1
 I3	  75275 # define X509_EXT_PACK_STRING    2
 I3	  75276 
 I3	  75277 # define         X509_extract_key(x)     X509_get_pubkey(x)/*****/
 I3	  75278 # define         X509_REQ_extract_key(a) X509_REQ_get_pubkey(a)
 I3	  75279 # define         X509_name_cmp(a,b)      X509_NAME_cmp((a),(b))
 I3	  75280 
 I3	  75281 void X509_CRL_set_default_method(const X509_CRL_METHOD *meth);
 I3	  75282 X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl),
 I3	  75283                                      int (*crl_free) (X509_CRL *crl),
 I3	  75284                                      int (*crl_lookup) (X509_CRL *crl,
 I3	  75285                                                         X509_REVOKED **ret,
 I3	  75286                                                         const
 I3	  75287                                                         ASN1_INTEGER *serial,
 I3	  75288                                                         const
 I3	  75289                                                         X509_NAME *issuer),
 I3	  75290                                      int (*crl_verify) (X509_CRL *crl,
 I3	  75291                                                         EVP_PKEY *pk));
 I3	  75292 void X509_CRL_METHOD_free(X509_CRL_METHOD *m);
 I3	  75293 
 I3	  75294 void X509_CRL_set_meth_data(X509_CRL *crl, void *dat);
 I3	  75295 void *X509_CRL_get_meth_data(X509_CRL *crl);
 I3	  75296 
 I3	  75297 const char *X509_verify_cert_error_string(long n);
 I3	  75298 
 I3	  75299 int X509_verify(X509 *a, EVP_PKEY *r);
 I3	  75300 int X509_self_signed(X509 *cert, int verify_signature);
 I3	  75301 
 I3	  75302 int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *r, OSSL_LIB_CTX *libctx,
 I3	  75303                        const char *propq);
 I3	  75304 int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r);
 I3	  75305 int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r);
 I3	  75306 int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r);
 I3	  75307 
 I3	  75308 NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len);
 I3	  75309 char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x);
 I3	  75310 EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x);
 I3	  75311 int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey);
 I3	  75312 
 I3	  75313 int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki);
 I3	  75314 
 I3	  75315 int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent);
 I3	  75316 int X509_signature_print(BIO *bp, const X509_ALGOR *alg,
 I3	  75317                          const ASN1_STRING *sig);
 I3	  75318 
 I3	  75319 int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md);
 I3	  75320 int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx);
 I3	  75321 int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md);
 I3	  75322 int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx);
 I3	  75323 int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md);
 I3	  75324 int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx);
 I3	  75325 int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1388
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  75326 
 I3	  75327 int X509_pubkey_digest(const X509 *data, const EVP_MD *type,
 I3	  75328                        unsigned char *md, unsigned int *len);
 I3	  75329 int X509_digest(const X509 *data, const EVP_MD *type,
 I3	  75330                 unsigned char *md, unsigned int *len);
 I3	  75331 ASN1_OCTET_STRING *X509_digest_sig(const X509 *cert,
 I3	  75332                                    EVP_MD **md_used, int *md_is_fallback);
 I3	  75333 int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type,
 I3	  75334                     unsigned char *md, unsigned int *len);
 I3	  75335 int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type,
 I3	  75336                     unsigned char *md, unsigned int *len);
 I3	  75337 int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type,
 I3	  75338                      unsigned char *md, unsigned int *len);
 I3	  75339 
 I3	  75340 X509 *X509_load_http(const char *url, BIO *bio, BIO *rbio, int timeout);
 I3	  75341 X509_CRL *X509_CRL_load_http(const char *url, BIO *bio, BIO *rbio, int timeout);
 I3	  75342 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75343 #  include <openssl/http.h> /* OSSL_HTTP_REQ_CTX_nbio_d2i */
 I4	  75344 /*
 I4	  75345  * Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  75346  * Copyright Siemens AG 2018-2020
 I4	  75347  *
 I4	  75348  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  75349  * this file except in compliance with the License.  You can obtain a copy
 I4	  75350  * in the file LICENSE in the source distribution or at
 I4	  75351  * https://www.openssl.org/source/license.html
 I4	  75352  */
 I4	  75353 
 I4	  75354 #ifndef OPENSSL_HTTP_H
 I4	  75355 # define OPENSSL_HTTP_H
 I4	  75356 # pragma once
 I4	  75357 
 I4    X  75358 # include <openssl/opensslconf.h>
 I4	  75359 
 I4    X  75360 # include <openssl/bio.h>
 I4    X  75361 # include <openssl/asn1.h>
 I4	  75362 # include <openssl/conf.h>
 I5	  75363 /*
 I5	  75364  * WARNING: do not edit!
 I5	  75365  * Generated by descrip.mms from [-.include.openssl]conf.h.in
 I5	  75366  *
 I5	  75367  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I5	  75368  *
 I5	  75369  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I5	  75370  * this file except in compliance with the License.  You can obtain a copy
 I5	  75371  * in the file LICENSE in the source distribution or at
 I5	  75372  * https://www.openssl.org/source/license.html
 I5	  75373  */
 I5	  75374 
 I5	  75375 
 I5	  75376 
 I5	  75377 #ifndef  OPENSSL_CONF_H
 I5	  75378 # define OPENSSL_CONF_H
 I5	  75379 # pragma once
 I5	  75380 
 I5    X  75381 # include <openssl/macros.h>
 I5	  75382 # ifndef OPENSSL_NO_DEPRECATED_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1389
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONF.H;1

 I5	  75383 #  define HEADER_CONF_H
 I5	  75384 # endif
 I5	  75385 
 I5    X  75386 # include <openssl/bio.h>
 I5    X  75387 # include <openssl/lhash.h>
 I5    X  75388 # include <openssl/safestack.h>
 I5    X  75389 # include <openssl/e_os2.h>
 I5    X  75390 # include <openssl/types.h>
 I5	  75391 # include <openssl/conferr.h>
 I6	  75392 /*
 I6	  75393  * Generated by util/mkerr.pl DO NOT EDIT
 I6	  75394  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  75395  *
 I6	  75396  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  75397  * this file except in compliance with the License.  You can obtain a copy
 I6	  75398  * in the file LICENSE in the source distribution or at
 I6	  75399  * https://www.openssl.org/source/license.html
 I6	  75400  */
 I6	  75401 
 I6	  75402 #ifndef OPENSSL_CONFERR_H
 I6	  75403 # define OPENSSL_CONFERR_H
 I6	  75404 # pragma once
 I6	  75405 
 I6    X  75406 # include <openssl/opensslconf.h>
 I6    X  75407 # include <openssl/symhacks.h>
 I6    X  75408 # include <openssl/cryptoerr_legacy.h>
 I6	  75409 
 I6	  75410 
 I6	  75411 
 I6	  75412 /*
 I6	  75413  * CONF reason codes.
 I6	  75414  */
 I6	  75415 # define CONF_R_ERROR_LOADING_DSO                         110
 I6	  75416 # define CONF_R_INVALID_PRAGMA                            122
 I6	  75417 # define CONF_R_LIST_CANNOT_BE_NULL                       115
 I6	  75418 # define CONF_R_MANDATORY_BRACES_IN_VARIABLE_EXPANSION    123
 I6	  75419 # define CONF_R_MISSING_CLOSE_SQUARE_BRACKET              100
 I6	  75420 # define CONF_R_MISSING_EQUAL_SIGN                        101
 I6	  75421 # define CONF_R_MISSING_INIT_FUNCTION                     112
 I6	  75422 # define CONF_R_MODULE_INITIALIZATION_ERROR               109
 I6	  75423 # define CONF_R_NO_CLOSE_BRACE                            102
 I6	  75424 # define CONF_R_NO_CONF                                   105
 I6	  75425 # define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE           106
 I6	  75426 # define CONF_R_NO_SECTION                                107
 I6	  75427 # define CONF_R_NO_SUCH_FILE                              114
 I6	  75428 # define CONF_R_NO_VALUE                                  108
 I6	  75429 # define CONF_R_NUMBER_TOO_LARGE                          121
 I6	  75430 # define CONF_R_OPENSSL_CONF_REFERENCES_MISSING_SECTION   124
 I6	  75431 # define CONF_R_RECURSIVE_DIRECTORY_INCLUDE               111
 I6	  75432 # define CONF_R_RELATIVE_PATH                             125
 I6	  75433 # define CONF_R_SSL_COMMAND_SECTION_EMPTY                 117
 I6	  75434 # define CONF_R_SSL_COMMAND_SECTION_NOT_FOUND             118
 I6	  75435 # define CONF_R_SSL_SECTION_EMPTY                         119
 I6	  75436 # define CONF_R_SSL_SECTION_NOT_FOUND                     120
 I6	  75437 # define CONF_R_UNABLE_TO_CREATE_NEW_SECTION              103
 I6	  75438 # define CONF_R_UNKNOWN_MODULE_NAME                       113
 I6	  75439 # define CONF_R_VARIABLE_EXPANSION_TOO_LONG               116

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1390
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONFERR.H;1

 I6	  75440 # define CONF_R_VARIABLE_HAS_NO_VALUE                     104
 I6	  75441 
 I6	  75442 #endif
 I5	  75443 
 I5    X  75444 #ifdef  __cplusplus
 I5    X  75445 extern "C" {
 I5    X  75446 #endif
 I5	  75447 
 I5	  75448 typedef struct {
 I5	  75449     char *section;
 I5	  75450     char *name;
 I5	  75451     char *value;
 I5	  75452 } CONF_VALUE;
 I5	  75453 
 I5   1	  75454 SKM_DEFINE_STACK_OF_INTERNAL(CONF_VALUE, CONF_VALUE, CONF_VALUE)
       E	 struct stack_st_CONF_VALUE ; typedef int ( * sk_CONF_VALUE_compfunc ) ( const CONF_VALUE * const * a , const CONF_V
       E	ALUE * const * b ) ; typedef void ( * sk_CONF_VALUE_freefunc ) ( CONF_VALUE * a ) ; typedef CONF_VALUE * ( * sk_CONF
       E	_VALUE_copyfunc ) ( const CONF_VALUE * a ) ; static __inline CONF_VALUE * ossl_check_CONF_VALUE_type ( CONF_VALUE * 
       E	ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_CONF_VALUE_sk_type ( const struct stac
       E	k_st_CONF_VALUE * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_CONF_VAL
       E	UE_sk_type ( struct stack_st_CONF_VALUE * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfu
       E	nc ossl_check_CONF_VALUE_compfunc_type ( sk_CONF_VALUE_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } stati
       E	c __inline OPENSSL_sk_copyfunc ossl_check_CONF_VALUE_copyfunc_type ( sk_CONF_VALUE_copyfunc cpy ) { return ( OPENSSL
       E	_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_CONF_VALUE_freefunc_type ( sk_CONF_VALUE_freef
       E	unc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I5	  75455 #define sk_CONF_VALUE_num(sk) OPENSSL_sk_num(ossl_check_const_CONF_VALUE_sk_type(sk))
 I5	  75456 #define sk_CONF_VALUE_value(sk, idx) ((CONF_VALUE *)OPENSSL_sk_value(ossl_check_const_CONF_VALUE_sk_type(sk), (idx))
 I5	  75456 )
 I5	  75457 #define sk_CONF_VALUE_new(cmp) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_new(ossl_check_CONF_VALUE_compfunc_type(cmp)))
 I5	  75458 #define sk_CONF_VALUE_new_null() ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_new_null())
 I5	  75459 #define sk_CONF_VALUE_new_reserve(cmp, n) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_new_reserve(ossl_check_CONF_VALUE_comp
 I5	  75459 func_type(cmp), (n)))
 I5	  75460 #define sk_CONF_VALUE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CONF_VALUE_sk_type(sk), (n))
 I5	  75461 #define sk_CONF_VALUE_free(sk) OPENSSL_sk_free(ossl_check_CONF_VALUE_sk_type(sk))
 I5	  75462 #define sk_CONF_VALUE_zero(sk) OPENSSL_sk_zero(ossl_check_CONF_VALUE_sk_type(sk))
 I5	  75463 #define sk_CONF_VALUE_delete(sk, i) ((CONF_VALUE *)OPENSSL_sk_delete(ossl_check_CONF_VALUE_sk_type(sk), (i)))
 I5	  75464 #define sk_CONF_VALUE_delete_ptr(sk, ptr) ((CONF_VALUE *)OPENSSL_sk_delete_ptr(ossl_check_CONF_VALUE_sk_type(sk), os
 I5	  75464 sl_check_CONF_VALUE_type(ptr)))
 I5	  75465 #define sk_CONF_VALUE_push(sk, ptr) OPENSSL_sk_push(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(pt
 I5	  75465 r))
 I5	  75466 #define sk_CONF_VALUE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_t
 I5	  75466 ype(ptr))
 I5	  75467 #define sk_CONF_VALUE_pop(sk) ((CONF_VALUE *)OPENSSL_sk_pop(ossl_check_CONF_VALUE_sk_type(sk)))
 I5	  75468 #define sk_CONF_VALUE_shift(sk) ((CONF_VALUE *)OPENSSL_sk_shift(ossl_check_CONF_VALUE_sk_type(sk)))
 I5	  75469 #define sk_CONF_VALUE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CONF_VALUE_sk_type(sk),ossl_check_CONF_V
 I5	  75469 ALUE_freefunc_type(freefunc))
 I5	  75470 #define sk_CONF_VALUE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALU
 I5	  75470 E_type(ptr), (idx))
 I5	  75471 #define sk_CONF_VALUE_set(sk, idx, ptr) ((CONF_VALUE *)OPENSSL_sk_set(ossl_check_CONF_VALUE_sk_type(sk), (idx), ossl
 I5	  75471 _check_CONF_VALUE_type(ptr)))
 I5	  75472 #define sk_CONF_VALUE_find(sk, ptr) OPENSSL_sk_find(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(pt
 I5	  75472 r))
 I5	  75473 #define sk_CONF_VALUE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_t
 I5	  75473 ype(ptr))
 I5	  75474 #define sk_CONF_VALUE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF
 I5	  75474 _VALUE_type(ptr), pnum)
 I5	  75475 #define sk_CONF_VALUE_sort(sk) OPENSSL_sk_sort(ossl_check_CONF_VALUE_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1391
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CONF.H;1

 I5	  75476 #define sk_CONF_VALUE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CONF_VALUE_sk_type(sk))
 I5	  75477 #define sk_CONF_VALUE_dup(sk) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_dup(ossl_check_const_CONF_VALUE_sk_type(sk)))
 I5	  75478 #define sk_CONF_VALUE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_deep_copy(ossl_check_con
 I5	  75478 st_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_copyfunc_type(copyfunc), ossl_check_CONF_VALUE_freefunc_type(freefu
 I5	  75478 nc)))
 I5	  75479 #define sk_CONF_VALUE_set_cmp_func(sk, cmp) ((sk_CONF_VALUE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CONF_VALUE_s
 I5	  75479 k_type(sk), ossl_check_CONF_VALUE_compfunc_type(cmp)))
 I5   1	  75480 DEFINE_LHASH_OF_INTERNAL(CONF_VALUE);
       E	 struct lhash_st_CONF_VALUE { union lh_CONF_VALUE_dummy { void * d1 ; unsigned long d2 ; int d3 ; } dummy ; } ; type
       E	def int ( * lh_CONF_VALUE_compfunc ) ( const CONF_VALUE * a , const CONF_VALUE * b ) ; typedef unsigned long ( * lh_
       E	CONF_VALUE_hashfunc ) ( const CONF_VALUE * a ) ; typedef void ( * lh_CONF_VALUE_doallfunc ) ( CONF_VALUE * a ) ; sta
       E	tic __inline CONF_VALUE * ossl_check_CONF_VALUE_lh_plain_type ( CONF_VALUE * ptr ) { return ptr ; } static __inline 
       E	const CONF_VALUE * ossl_check_const_CONF_VALUE_lh_plain_type ( const CONF_VALUE * ptr ) { return ptr ; } static __in
       E	line const OPENSSL_LHASH * ossl_check_const_CONF_VALUE_lh_type ( const struct lhash_st_CONF_VALUE * lh ) { return ( 
       E	const OPENSSL_LHASH * ) lh ; } static __inline OPENSSL_LHASH * ossl_check_CONF_VALUE_lh_type ( struct lhash_st_CONF_
       E	VALUE * lh ) { return ( OPENSSL_LHASH * ) lh ; } static __inline OPENSSL_LH_COMPFUNC ossl_check_CONF_VALUE_lh_compfu
       E	nc_type ( lh_CONF_VALUE_compfunc cmp ) { return ( OPENSSL_LH_COMPFUNC ) cmp ; } static __inline OPENSSL_LH_HASHFUNC 
       E	ossl_check_CONF_VALUE_lh_hashfunc_type ( lh_CONF_VALUE_hashfunc hfn ) { return ( OPENSSL_LH_HASHFUNC ) hfn ; } stati
       E	c __inline OPENSSL_LH_DOALL_FUNC ossl_check_CONF_VALUE_lh_doallfunc_type ( lh_CONF_VALUE_doallfunc dfn ) { return ( 
       E	OPENSSL_LH_DOALL_FUNC ) dfn ; } struct lhash_st_CONF_VALUE
 I5	  75481 #define lh_CONF_VALUE_new(hfn, cmp) ((LHASH_OF(CONF_VALUE) *)OPENSSL_LH_new(ossl_check_CONF_VALUE_lh_hashfunc_type(h
 I5	  75481 fn), ossl_check_CONF_VALUE_lh_compfunc_type(cmp)))
 I5	  75482 #define lh_CONF_VALUE_free(lh) OPENSSL_LH_free(ossl_check_CONF_VALUE_lh_type(lh))
 I5	  75483 #define lh_CONF_VALUE_flush(lh) OPENSSL_LH_flush(ossl_check_CONF_VALUE_lh_type(lh))
 I5	  75484 #define lh_CONF_VALUE_insert(lh, ptr) ((CONF_VALUE *)OPENSSL_LH_insert(ossl_check_CONF_VALUE_lh_type(lh), ossl_check
 I5	  75484 _CONF_VALUE_lh_plain_type(ptr)))
 I5	  75485 #define lh_CONF_VALUE_delete(lh, ptr) ((CONF_VALUE *)OPENSSL_LH_delete(ossl_check_CONF_VALUE_lh_type(lh), ossl_check
 I5	  75485 _const_CONF_VALUE_lh_plain_type(ptr)))
 I5	  75486 #define lh_CONF_VALUE_retrieve(lh, ptr) ((CONF_VALUE *)OPENSSL_LH_retrieve(ossl_check_CONF_VALUE_lh_type(lh), ossl_c
 I5	  75486 heck_const_CONF_VALUE_lh_plain_type(ptr)))
 I5	  75487 #define lh_CONF_VALUE_error(lh) OPENSSL_LH_error(ossl_check_CONF_VALUE_lh_type(lh))
 I5	  75488 #define lh_CONF_VALUE_num_items(lh) OPENSSL_LH_num_items(ossl_check_CONF_VALUE_lh_type(lh))
 I5	  75489 #define lh_CONF_VALUE_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_CONF_VALUE_lh_type(lh), out
 I5	  75489 )
 I5	  75490 #define lh_CONF_VALUE_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_CONF_VALUE_lh_t
 I5	  75490 ype(lh), out)
 I5	  75491 #define lh_CONF_VALUE_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_CONF_VALUE_lh_type(lh), out)
 I5	  75492 #define lh_CONF_VALUE_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_CONF_VALUE_lh_type(lh))
 I5	  75493 #define lh_CONF_VALUE_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_CONF_VALUE_lh_type(lh), dl)
 I5	  75494 #define lh_CONF_VALUE_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_CONF_VALUE_lh_type(lh), ossl_check_CONF_VALUE_lh_do
 I5	  75494 allfunc_type(dfn))
 I5	  75495 
 I5	  75496 
 I5	  75497 struct conf_st;
 I5	  75498 struct conf_method_st;
 I5	  75499 typedef struct conf_method_st CONF_METHOD;
 I5	  75500 
 I5	  75501 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I5	  75502 #  include <openssl/conftypes.h>
 I6	  75503 /*
 I6	  75504  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I6	  75505  *
 I6	  75506  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I6	  75507  * this file except in compliance with the License.  You can obtain a copy
 I6	  75508  * in the file LICENSE in the source distribution or at
 I6	  75509  * https://www.openssl.org/source/license.html
 I6	  75510  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1392
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONFTYPES.H;1

 I6	  75511 
 I6	  75512 #ifndef  OPENSSL_CONFTYPES_H
 I6	  75513 # define OPENSSL_CONFTYPES_H
 I6	  75514 # pragma once
 I6	  75515 
 I6    X  75516 #ifndef  OPENSSL_CONF_H
 I6    X  75517 # include <openssl/conf.h>
 I6    X  75518 #endif
 I6	  75519 
 I6	  75520 /*
 I6	  75521  * The contents of this file are deprecated and will be made opaque
 I6	  75522  */
 I6	  75523 struct conf_method_st {
 I6	  75524     const char *name;
 I6	  75525     CONF *(*create) (CONF_METHOD *meth);
 I6	  75526     int (*init) (CONF *conf);
 I6	  75527     int (*destroy) (CONF *conf);
 I6	  75528     int (*destroy_data) (CONF *conf);
 I6	  75529     int (*load_bio) (CONF *conf, BIO *bp, long *eline);
 I6	  75530     int (*dump) (const CONF *conf, BIO *bp);
 I6	  75531     int (*is_number) (const CONF *conf, char c);
 I6	  75532     int (*to_int) (const CONF *conf, char c);
 I6	  75533     int (*load) (CONF *conf, const char *name, long *eline);
 I6	  75534 };
 I6	  75535 
 I6	  75536 struct conf_st {
 I6	  75537     CONF_METHOD *meth;
 I6	  75538     void *meth_data;
 I6	  75539     LHASH_OF(CONF_VALUE) *data;
       E	     struct lhash_st_CONF_VALUE
 I6	  75540     int flag_dollarid;
 I6	  75541     int flag_abspath;
 I6	  75542     char *includedir;
 I6	  75543     OSSL_LIB_CTX *libctx;
 I6	  75544 };
 I6	  75545 
 I6	  75546 #endif
 I5	  75547 # endif
 I5	  75548 
 I5	  75549 /* Module definitions */
 I5	  75550 typedef struct conf_imodule_st CONF_IMODULE;
 I5	  75551 typedef struct conf_module_st CONF_MODULE;
 I5	  75552 
 I5	  75553 STACK_OF(CONF_MODULE);
       E	 struct stack_st_CONF_MODULE
 I5	  75554 STACK_OF(CONF_IMODULE);
       E	 struct stack_st_CONF_IMODULE
 I5	  75555 
 I5	  75556 /* DSO module function typedefs */
 I5	  75557 typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf);
 I5	  75558 typedef void conf_finish_func (CONF_IMODULE *md);
 I5	  75559 
 I5	  75560 # define CONF_MFLAGS_IGNORE_ERRORS       0x1
 I5	  75561 # define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2
 I5	  75562 # define CONF_MFLAGS_SILENT              0x4
 I5	  75563 # define CONF_MFLAGS_NO_DSO              0x8
 I5	  75564 # define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1393
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CONF.H;1

 I5	  75565 # define CONF_MFLAGS_DEFAULT_SECTION     0x20
 I5	  75566 
 I5	  75567 int CONF_set_default_method(CONF_METHOD *meth);
 I5	  75568 void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash);
       E	                                 struct lhash_st_CONF_VALUE
 I5	  75569 LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file,
       E	 struct lhash_st_CONF_VALUE
       E	                                 struct lhash_st_CONF_VALUE
 I5	  75570                                 long *eline);
 I5	  75571 # ifndef OPENSSL_NO_STDIO
 I5	  75572 LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp,
       E	 struct lhash_st_CONF_VALUE
       E	                                    struct lhash_st_CONF_VALUE
 I5	  75573                                    long *eline);
 I5	  75574 # endif
 I5	  75575 LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp,
       E	 struct lhash_st_CONF_VALUE
       E	                                     struct lhash_st_CONF_VALUE
 I5	  75576                                     long *eline);
 I5	  75577 STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf,
       E	 struct stack_st_CONF_VALUE
       E	                                        struct lhash_st_CONF_VALUE
 I5	  75578                                        const char *section);
 I5	  75579 char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group,
       E	                       struct lhash_st_CONF_VALUE
 I5	  75580                       const char *name);
 I5	  75581 long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group,
       E	                      struct lhash_st_CONF_VALUE
 I5	  75582                      const char *name);
 I5	  75583 void CONF_free(LHASH_OF(CONF_VALUE) *conf);
       E	                struct lhash_st_CONF_VALUE
 I5	  75584 #ifndef OPENSSL_NO_STDIO
 I5	  75585 int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out);
       E	                  struct lhash_st_CONF_VALUE
 I5	  75586 #endif
 I5	  75587 int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out);
       E	                   struct lhash_st_CONF_VALUE
 I5	  75588 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I5	  75589 OSSL_DEPRECATEDIN_1_1_0 void OPENSSL_config(const char *config_name);
       E	 extern
 I5	  75590 #endif
 I5	  75591 
 I5	  75592 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I5	  75593 # define OPENSSL_no_config() \
 I5	  75594     OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL)
 I5	  75595 #endif
 I5	  75596 
 I5	  75597 /*
 I5	  75598  * New conf code.  The semantics are different from the functions above. If
 I5	  75599  * that wasn't the case, the above functions would have been replaced
 I5	  75600  */
 I5	  75601 
 I5	  75602 CONF *NCONF_new_ex(OSSL_LIB_CTX *libctx, CONF_METHOD *meth);
 I5	  75603 OSSL_LIB_CTX *NCONF_get0_libctx(const CONF *conf);
 I5	  75604 CONF *NCONF_new(CONF_METHOD *meth);
 I5	  75605 CONF_METHOD *NCONF_default(void);
 I5	  75606 #ifndef OPENSSL_NO_DEPRECATED_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1394
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONF.H;1

 I5	  75607 OSSL_DEPRECATEDIN_3_0 CONF_METHOD *NCONF_WIN32(void);
       E	 extern
 I5	  75608 #endif
 I5	  75609 void NCONF_free(CONF *conf);
 I5	  75610 void NCONF_free_data(CONF *conf);
 I5	  75611 
 I5	  75612 int NCONF_load(CONF *conf, const char *file, long *eline);
 I5	  75613 # ifndef OPENSSL_NO_STDIO
 I5	  75614 int NCONF_load_fp(CONF *conf, FILE *fp, long *eline);
 I5	  75615 # endif
 I5	  75616 int NCONF_load_bio(CONF *conf, BIO *bp, long *eline);
 I5	  75617 STACK_OF(OPENSSL_CSTRING) *NCONF_get_section_names(const CONF *conf);
       E	 struct stack_st_OPENSSL_CSTRING
 I5	  75618 STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf,
       E	 struct stack_st_CONF_VALUE
 I5	  75619                                         const char *section);
 I5	  75620 char *NCONF_get_string(const CONF *conf, const char *group, const char *name);
 I5	  75621 int NCONF_get_number_e(const CONF *conf, const char *group, const char *name,
 I5	  75622                        long *result);
 I5	  75623 #ifndef OPENSSL_NO_STDIO
 I5	  75624 int NCONF_dump_fp(const CONF *conf, FILE *out);
 I5	  75625 #endif
 I5	  75626 int NCONF_dump_bio(const CONF *conf, BIO *out);
 I5	  75627 
 I5	  75628 #define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r)
 I5	  75629 
 I5	  75630 /* Module functions */
 I5	  75631 
 I5	  75632 int CONF_modules_load(const CONF *cnf, const char *appname,
 I5	  75633                       unsigned long flags);
 I5	  75634 int CONF_modules_load_file_ex(OSSL_LIB_CTX *libctx, const char *filename,
 I5	  75635                               const char *appname, unsigned long flags);
 I5	  75636 int CONF_modules_load_file(const char *filename, const char *appname,
 I5	  75637                            unsigned long flags);
 I5	  75638 void CONF_modules_unload(int all);
 I5	  75639 void CONF_modules_finish(void);
 I5	  75640 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I5	  75641 # define CONF_modules_free() while(0) continue
 I5	  75642 #endif
 I5	  75643 int CONF_module_add(const char *name, conf_init_func *ifunc,
 I5	  75644                     conf_finish_func *ffunc);
 I5	  75645 
 I5	  75646 const char *CONF_imodule_get_name(const CONF_IMODULE *md);
 I5	  75647 const char *CONF_imodule_get_value(const CONF_IMODULE *md);
 I5	  75648 void *CONF_imodule_get_usr_data(const CONF_IMODULE *md);
 I5	  75649 void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data);
 I5	  75650 CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md);
 I5	  75651 unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md);
 I5	  75652 void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags);
 I5	  75653 void *CONF_module_get_usr_data(CONF_MODULE *pmod);
 I5	  75654 void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data);
 I5	  75655 
 I5	  75656 char *CONF_get1_default_config_file(void);
 I5	  75657 
 I5	  75658 int CONF_parse_list(const char *list, int sep, int nospc,
 I5	  75659                     int (*list_cb) (const char *elem, int len, void *usr),
 I5	  75660                     void *arg);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1395
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CONF.H;1

 I5	  75661 
 I5	  75662 void OPENSSL_load_builtin_modules(void);
 I5	  75663 
 I5	  75664 
 I5    X  75665 # ifdef  __cplusplus
 I5    X  75666 }
 I5    X  75667 # endif
 I5	  75668 #endif
 I4	  75669 
 I4	  75670 
 I4    X  75671 # ifdef __cplusplus
 I4    X  75672 extern "C" {
 I4    X  75673 # endif
 I4	  75674 
 I4	  75675 # define OSSL_HTTP_NAME "http"
 I4	  75676 # define OSSL_HTTPS_NAME "https"
 I4	  75677 # define OSSL_HTTP_PREFIX OSSL_HTTP_NAME"://"
 I4	  75678 # define OSSL_HTTPS_PREFIX OSSL_HTTPS_NAME"://"
 I4	  75679 # define OSSL_HTTP_PORT "80"
 I4	  75680 # define OSSL_HTTPS_PORT "443"
 I4	  75681 # define OPENSSL_NO_PROXY "NO_PROXY"
 I4	  75682 # define OPENSSL_HTTP_PROXY "HTTP_PROXY"
 I4	  75683 # define OPENSSL_HTTPS_PROXY "HTTPS_PROXY"
 I4	  75684 
 I4	  75685 #define OSSL_HTTP_DEFAULT_MAX_LINE_LEN (4 * 1024)
 I4	  75686 #define OSSL_HTTP_DEFAULT_MAX_RESP_LEN (100 * 1024)
 I4	  75687 
 I4	  75688 /* Low-level HTTP API */
 I4	  75689 OSSL_HTTP_REQ_CTX *OSSL_HTTP_REQ_CTX_new(BIO *wbio, BIO *rbio, int buf_size);
 I4	  75690 void OSSL_HTTP_REQ_CTX_free(OSSL_HTTP_REQ_CTX *rctx);
 I4	  75691 int OSSL_HTTP_REQ_CTX_set_request_line(OSSL_HTTP_REQ_CTX *rctx, int method_POST,
 I4	  75692                                        const char *server, const char *port,
 I4	  75693                                        const char *path);
 I4	  75694 int OSSL_HTTP_REQ_CTX_add1_header(OSSL_HTTP_REQ_CTX *rctx,
 I4	  75695                                   const char *name, const char *value);
 I4	  75696 int OSSL_HTTP_REQ_CTX_set_expected(OSSL_HTTP_REQ_CTX *rctx,
 I4	  75697                                    const char *content_type, int asn1,
 I4	  75698                                    int timeout, int keep_alive);
 I4	  75699 int OSSL_HTTP_REQ_CTX_set1_req(OSSL_HTTP_REQ_CTX *rctx, const char *content_type,
 I4	  75700                                const ASN1_ITEM *it, const ASN1_VALUE *req);
 I4	  75701 int OSSL_HTTP_REQ_CTX_nbio(OSSL_HTTP_REQ_CTX *rctx);
 I4	  75702 int OSSL_HTTP_REQ_CTX_nbio_d2i(OSSL_HTTP_REQ_CTX *rctx,
 I4	  75703                                ASN1_VALUE **pval, const ASN1_ITEM *it);
 I4	  75704 BIO *OSSL_HTTP_REQ_CTX_exchange(OSSL_HTTP_REQ_CTX *rctx);
 I4	  75705 BIO *OSSL_HTTP_REQ_CTX_get0_mem_bio(const OSSL_HTTP_REQ_CTX *rctx);
 I4	  75706 size_t OSSL_HTTP_REQ_CTX_get_resp_len(const OSSL_HTTP_REQ_CTX *rctx);
 I4	  75707 void OSSL_HTTP_REQ_CTX_set_max_response_length(OSSL_HTTP_REQ_CTX *rctx,
 I4	  75708                                                unsigned long len);
 I4	  75709 int OSSL_HTTP_is_alive(const OSSL_HTTP_REQ_CTX *rctx);
 I4	  75710 
 I4	  75711 /* High-level HTTP API */
 I4	  75712 typedef BIO *(*OSSL_HTTP_bio_cb_t)(BIO *bio, void *arg, int connect, int detail);
 I4	  75713 OSSL_HTTP_REQ_CTX *OSSL_HTTP_open(const char *server, const char *port,
 I4	  75714                                   const char *proxy, const char *no_proxy,
 I4	  75715                                   int use_ssl, BIO *bio, BIO *rbio,
 I4	  75716                                   OSSL_HTTP_bio_cb_t bio_update_fn, void *arg,
 I4	  75717                                   int buf_size, int overall_timeout);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1396
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]HTTP.H;1

 I4	  75718 int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char *port,
 I4	  75719                             const char *proxyuser, const char *proxypass,
 I4	  75720                             int timeout, BIO *bio_err, const char *prog);
 I4	  75721 int OSSL_HTTP_set1_request(OSSL_HTTP_REQ_CTX *rctx, const char *path,
 I4	  75722                            const STACK_OF(CONF_VALUE) *headers,
       E	                                  struct stack_st_CONF_VALUE
 I4	  75723                            const char *content_type, BIO *req,
 I4	  75724                            const char *expected_content_type, int expect_asn1,
 I4	  75725                            size_t max_resp_len, int timeout, int keep_alive);
 I4	  75726 BIO *OSSL_HTTP_exchange(OSSL_HTTP_REQ_CTX *rctx, char **redirection_url);
 I4	  75727 BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
 I4	  75728                    BIO *bio, BIO *rbio,
 I4	  75729                    OSSL_HTTP_bio_cb_t bio_update_fn, void *arg,
 I4	  75730                    int buf_size, const STACK_OF(CONF_VALUE) *headers,
       E	                                        struct stack_st_CONF_VALUE
 I4	  75731                    const char *expected_content_type, int expect_asn1,
 I4	  75732                    size_t max_resp_len, int timeout);
 I4	  75733 BIO *OSSL_HTTP_transfer(OSSL_HTTP_REQ_CTX **prctx,
 I4	  75734                         const char *server, const char *port,
 I4	  75735                         const char *path, int use_ssl,
 I4	  75736                         const char *proxy, const char *no_proxy,
 I4	  75737                         BIO *bio, BIO *rbio,
 I4	  75738                         OSSL_HTTP_bio_cb_t bio_update_fn, void *arg,
 I4	  75739                         int buf_size, const STACK_OF(CONF_VALUE) *headers,
       E	                                             struct stack_st_CONF_VALUE
 I4	  75740                         const char *content_type, BIO *req,
 I4	  75741                         const char *expected_content_type, int expect_asn1,
 I4	  75742                         size_t max_resp_len, int timeout, int keep_alive);
 I4	  75743 int OSSL_HTTP_close(OSSL_HTTP_REQ_CTX *rctx, int ok);
 I4	  75744 
 I4	  75745 /* Auxiliary functions */
 I4	  75746 int OSSL_parse_url(const char *url, char **pscheme, char **puser, char **phost,
 I4	  75747                    char **pport, int *pport_num,
 I4	  75748                    char **ppath, char **pquery, char **pfrag);
 I4	  75749 int OSSL_HTTP_parse_url(const char *url, int *pssl, char **puser, char **phost,
 I4	  75750                         char **pport, int *pport_num,
 I4	  75751                         char **ppath, char **pquery, char **pfrag);
 I4	  75752 const char *OSSL_HTTP_adapt_proxy(const char *proxy, const char *no_proxy,
 I4	  75753                                   const char *server, int use_ssl);
 I4	  75754 
 I4    X  75755 # ifdef  __cplusplus
 I4    X  75756 }
 I4    X  75757 # endif
 I4	  75758 #endif /* !defined(OPENSSL_HTTP_H) */
 I3	  75759 #  define X509_http_nbio(rctx, pcert) \
 I3	  75760       OSSL_HTTP_REQ_CTX_nbio_d2i(rctx, pcert, ASN1_ITEM_rptr(X509))
 I3	  75761 #  define X509_CRL_http_nbio(rctx, pcrl) \
 I3	  75762       OSSL_HTTP_REQ_CTX_nbio_d2i(rctx, pcrl, ASN1_ITEM_rptr(X509_CRL))
 I3	  75763 # endif
 I3	  75764 
 I3	  75765 # ifndef OPENSSL_NO_STDIO
 I3	  75766 X509 *d2i_X509_fp(FILE *fp, X509 **x509);
 I3	  75767 int i2d_X509_fp(FILE *fp, const X509 *x509);
 I3	  75768 X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl);
 I3	  75769 int i2d_X509_CRL_fp(FILE *fp, const X509_CRL *crl);
 I3	  75770 X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req);
 I3	  75771 int i2d_X509_REQ_fp(FILE *fp, const X509_REQ *req);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1397
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  75772 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75773 OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa);
       E	 extern
 I3	  75774 OSSL_DEPRECATEDIN_3_0 int i2d_RSAPrivateKey_fp(FILE *fp, const RSA *rsa);
       E	 extern
 I3	  75775 OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa);
       E	 extern
 I3	  75776 OSSL_DEPRECATEDIN_3_0 int i2d_RSAPublicKey_fp(FILE *fp, const RSA *rsa);
       E	 extern
 I3	  75777 OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa);
       E	 extern
 I3	  75778 OSSL_DEPRECATEDIN_3_0 int i2d_RSA_PUBKEY_fp(FILE *fp, const RSA *rsa);
       E	 extern
 I3	  75779 #  endif
 I3	  75780 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75781 #   ifndef OPENSSL_NO_DSA
 I3	  75782 OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa);
       E	 extern
 I3	  75783 OSSL_DEPRECATEDIN_3_0 int i2d_DSA_PUBKEY_fp(FILE *fp, const DSA *dsa);
       E	 extern
 I3	  75784 OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa);
       E	 extern
 I3	  75785 OSSL_DEPRECATEDIN_3_0 int i2d_DSAPrivateKey_fp(FILE *fp, const DSA *dsa);
       E	 extern
 I3	  75786 #   endif
 I3	  75787 #  endif
 I3	  75788 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75789 #   ifndef OPENSSL_NO_EC
 I3	  75790 OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey);
       E	 extern
 I3	  75791 OSSL_DEPRECATEDIN_3_0 int i2d_EC_PUBKEY_fp(FILE *fp, const EC_KEY *eckey);
       E	 extern
 I3	  75792 OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey);
       E	 extern
 I3	  75793 OSSL_DEPRECATEDIN_3_0 int i2d_ECPrivateKey_fp(FILE *fp, const EC_KEY *eckey);
       E	 extern
 I3	  75794 #   endif /* OPENSSL_NO_EC */
 I3	  75795 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I3	  75796 X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8);
 I3	  75797 int i2d_PKCS8_fp(FILE *fp, const X509_SIG *p8);
 I3	  75798 X509_PUBKEY *d2i_X509_PUBKEY_fp(FILE *fp, X509_PUBKEY **xpk);
 I3	  75799 int i2d_X509_PUBKEY_fp(FILE *fp, const X509_PUBKEY *xpk);
 I3	  75800 PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,
 I3	  75801                                                 PKCS8_PRIV_KEY_INFO **p8inf);
 I3	  75802 int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, const PKCS8_PRIV_KEY_INFO *p8inf);
 I3	  75803 int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key);
 I3	  75804 int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey);
 I3	  75805 EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 I3	  75806                                const char *propq);
 I3	  75807 EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a);
 I3	  75808 int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey);
 I3	  75809 EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a);
 I3	  75810 # endif
 I3	  75811 
 I3	  75812 X509 *d2i_X509_bio(BIO *bp, X509 **x509);
 I3	  75813 int i2d_X509_bio(BIO *bp, const X509 *x509);
 I3	  75814 X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1398
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  75815 int i2d_X509_CRL_bio(BIO *bp, const X509_CRL *crl);
 I3	  75816 X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req);
 I3	  75817 int i2d_X509_REQ_bio(BIO *bp, const X509_REQ *req);
 I3	  75818 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75819 OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa);
       E	 extern
 I3	  75820 OSSL_DEPRECATEDIN_3_0 int i2d_RSAPrivateKey_bio(BIO *bp, const RSA *rsa);
       E	 extern
 I3	  75821 OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa);
       E	 extern
 I3	  75822 OSSL_DEPRECATEDIN_3_0 int i2d_RSAPublicKey_bio(BIO *bp, const RSA *rsa);
       E	 extern
 I3	  75823 OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa);
       E	 extern
 I3	  75824 OSSL_DEPRECATEDIN_3_0 int i2d_RSA_PUBKEY_bio(BIO *bp, const RSA *rsa);
       E	 extern
 I3	  75825 #  endif
 I3	  75826 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75827 #   ifndef OPENSSL_NO_DSA
 I3	  75828 OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa);
       E	 extern
 I3	  75829 OSSL_DEPRECATEDIN_3_0 int i2d_DSA_PUBKEY_bio(BIO *bp, const DSA *dsa);
       E	 extern
 I3	  75830 OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa);
       E	 extern
 I3	  75831 OSSL_DEPRECATEDIN_3_0 int i2d_DSAPrivateKey_bio(BIO *bp, const DSA *dsa);
       E	 extern
 I3	  75832 #   endif
 I3	  75833 #  endif
 I3	  75834 
 I3	  75835 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75836 #   ifndef OPENSSL_NO_EC
 I3	  75837 OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey);
       E	 extern
 I3	  75838 OSSL_DEPRECATEDIN_3_0 int i2d_EC_PUBKEY_bio(BIO *bp, const EC_KEY *eckey);
       E	 extern
 I3	  75839 OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey);
       E	 extern
 I3	  75840 OSSL_DEPRECATEDIN_3_0 int i2d_ECPrivateKey_bio(BIO *bp, const EC_KEY *eckey);
       E	 extern
 I3	  75841 #   endif /* OPENSSL_NO_EC */
 I3	  75842 #  endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I3	  75843 
 I3	  75844 X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8);
 I3	  75845 int i2d_PKCS8_bio(BIO *bp, const X509_SIG *p8);
 I3	  75846 X509_PUBKEY *d2i_X509_PUBKEY_bio(BIO *bp, X509_PUBKEY **xpk);
 I3	  75847 int i2d_X509_PUBKEY_bio(BIO *bp, const X509_PUBKEY *xpk);
 I3	  75848 PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,
 I3	  75849                                                  PKCS8_PRIV_KEY_INFO **p8inf);
 I3	  75850 int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, const PKCS8_PRIV_KEY_INFO *p8inf);
 I3	  75851 int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key);
 I3	  75852 int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey);
 I3	  75853 EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,
 I3	  75854                                 const char *propq);
 I3	  75855 EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a);
 I3	  75856 int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey);
 I3	  75857 EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1399
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  75858 
 I3	  75859 DECLARE_ASN1_DUP_FUNCTION(X509)
       E	 extern X509 * X509_dup ( const X509 * a ) ;
 I3	  75860 DECLARE_ASN1_DUP_FUNCTION(X509_ALGOR)
       E	 extern X509_ALGOR * X509_ALGOR_dup ( const X509_ALGOR * a ) ;
 I3	  75861 DECLARE_ASN1_DUP_FUNCTION(X509_ATTRIBUTE)
       E	 extern X509_ATTRIBUTE * X509_ATTRIBUTE_dup ( const X509_ATTRIBUTE * a ) ;
 I3	  75862 DECLARE_ASN1_DUP_FUNCTION(X509_CRL)
       E	 extern X509_CRL * X509_CRL_dup ( const X509_CRL * a ) ;
 I3	  75863 DECLARE_ASN1_DUP_FUNCTION(X509_EXTENSION)
       E	 extern X509_EXTENSION * X509_EXTENSION_dup ( const X509_EXTENSION * a ) ;
 I3	  75864 DECLARE_ASN1_DUP_FUNCTION(X509_PUBKEY)
       E	 extern X509_PUBKEY * X509_PUBKEY_dup ( const X509_PUBKEY * a ) ;
 I3	  75865 DECLARE_ASN1_DUP_FUNCTION(X509_REQ)
       E	 extern X509_REQ * X509_REQ_dup ( const X509_REQ * a ) ;
 I3	  75866 DECLARE_ASN1_DUP_FUNCTION(X509_REVOKED)
       E	 extern X509_REVOKED * X509_REVOKED_dup ( const X509_REVOKED * a ) ;
 I3	  75867 int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype,
 I3	  75868                     void *pval);
 I3	  75869 void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype,
 I3	  75870                      const void **ppval, const X509_ALGOR *algor);
 I3	  75871 void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md);
 I3	  75872 int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b);
 I3	  75873 int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src);
 I3	  75874 
 I3	  75875 DECLARE_ASN1_DUP_FUNCTION(X509_NAME)
       E	 extern X509_NAME * X509_NAME_dup ( const X509_NAME * a ) ;
 I3	  75876 DECLARE_ASN1_DUP_FUNCTION(X509_NAME_ENTRY)
       E	 extern X509_NAME_ENTRY * X509_NAME_ENTRY_dup ( const X509_NAME_ENTRY * a ) ;
 I3	  75877 
 I3	  75878 int X509_cmp_time(const ASN1_TIME *s, time_t *t);
 I3	  75879 int X509_cmp_current_time(const ASN1_TIME *s);
 I3	  75880 int X509_cmp_timeframe(const X509_VERIFY_PARAM *vpm,
 I3	  75881                        const ASN1_TIME *start, const ASN1_TIME *end);
 I3	  75882 ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t);
 I3	  75883 ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s,
 I3	  75884                             int offset_day, long offset_sec, time_t *t);
 I3	  75885 ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
 I3	  75886 
 I3	  75887 const char *X509_get_default_cert_area(void);
 I3	  75888 const char *X509_get_default_cert_dir(void);
 I3	  75889 const char *X509_get_default_cert_file(void);
 I3	  75890 const char *X509_get_default_cert_dir_env(void);
 I3	  75891 const char *X509_get_default_cert_file_env(void);
 I3	  75892 const char *X509_get_default_private_dir(void);
 I3	  75893 
 I3	  75894 X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md);
 I3	  75895 X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey);
 I3	  75896 
 I3	  75897 DECLARE_ASN1_FUNCTIONS(X509_ALGOR)
       E	 extern X509_ALGOR * X509_ALGOR_new ( void ) ; extern void X509_ALGOR_free ( X509_ALGOR * a ) ; extern X509_ALGOR * 
       E	d2i_X509_ALGOR ( X509_ALGOR * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_ALGOR ( const X509
       E	_ALGOR * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_ALGOR_it ( void ) ;
 I3	  75898 DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS)
       E	 extern X509_ALGORS * d2i_X509_ALGORS ( X509_ALGORS * * a , const unsigned char * * in , long len ) ; extern int i2d
       E	_X509_ALGORS ( const X509_ALGORS * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_ALGORS_it ( void ) ;
 I3	  75899 DECLARE_ASN1_FUNCTIONS(X509_VAL)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1400
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

       E	 extern X509_VAL * X509_VAL_new ( void ) ; extern void X509_VAL_free ( X509_VAL * a ) ; extern X509_VAL * d2i_X509_V
       E	AL ( X509_VAL * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_VAL ( const X509_VAL * a , unsig
       E	ned char * * out ) ; extern const ASN1_ITEM * X509_VAL_it ( void ) ;
 I3	  75900 
 I3	  75901 DECLARE_ASN1_FUNCTIONS(X509_PUBKEY)
       E	 extern X509_PUBKEY * X509_PUBKEY_new ( void ) ; extern void X509_PUBKEY_free ( X509_PUBKEY * a ) ; extern X509_PUBK
       E	EY * d2i_X509_PUBKEY ( X509_PUBKEY * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_PUBKEY ( co
       E	nst X509_PUBKEY * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_PUBKEY_it ( void ) ;
 I3	  75902 
 I3	  75903 X509_PUBKEY *X509_PUBKEY_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 I3	  75904 int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey);
 I3	  75905 EVP_PKEY *X509_PUBKEY_get0(const X509_PUBKEY *key);
 I3	  75906 EVP_PKEY *X509_PUBKEY_get(const X509_PUBKEY *key);
 I3	  75907 int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain);
       E	                                                struct stack_st_X509
 I3	  75908 long X509_get_pathlen(X509 *x);
 I3	  75909 DECLARE_ASN1_ENCODE_FUNCTIONS_only(EVP_PKEY, PUBKEY)
       E	 extern EVP_PKEY * d2i_PUBKEY ( EVP_PKEY * * a , const unsigned char * * in , long len ) ; extern int i2d_PUBKEY ( c
       E	onst EVP_PKEY * a , unsigned char * * out ) ;
 I3	  75910 EVP_PKEY *d2i_PUBKEY_ex(EVP_PKEY **a, const unsigned char **pp, long length,
 I3	  75911                         OSSL_LIB_CTX *libctx, const char *propq);
 I3	  75912 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75913 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,RSA, RSA_PUBKEY)
       E	 extern RSA * d2i_RSA_PUBKEY ( RSA * * a , const unsigned char * * in , long len ) ; extern int i2d_RSA_PUBKEY ( con
       E	st RSA * a , unsigned char * * out ) ;
 I3	  75914 # endif
 I3	  75915 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75916 #  ifndef OPENSSL_NO_DSA
 I3	  75917 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,DSA, DSA_PUBKEY)
       E	 extern DSA * d2i_DSA_PUBKEY ( DSA * * a , const unsigned char * * in , long len ) ; extern int i2d_DSA_PUBKEY ( con
       E	st DSA * a , unsigned char * * out ) ;
 I3	  75918 #  endif
 I3	  75919 # endif
 I3	  75920 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  75921 #  ifndef OPENSSL_NO_EC
 I3	  75922 DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0, EC_KEY, EC_PUBKEY)
       E	 extern EC_KEY * d2i_EC_PUBKEY ( EC_KEY * * a , const unsigned char * * in , long len ) ; extern int i2d_EC_PUBKEY (
       E	 const EC_KEY * a , unsigned char * * out ) ;
 I3	  75923 #  endif
 I3	  75924 # endif
 I3	  75925 
 I3	  75926 DECLARE_ASN1_FUNCTIONS(X509_SIG)
       E	 extern X509_SIG * X509_SIG_new ( void ) ; extern void X509_SIG_free ( X509_SIG * a ) ; extern X509_SIG * d2i_X509_S
       E	IG ( X509_SIG * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_SIG ( const X509_SIG * a , unsig
       E	ned char * * out ) ; extern const ASN1_ITEM * X509_SIG_it ( void ) ;
 I3	  75927 void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
 I3	  75928                    const ASN1_OCTET_STRING **pdigest);
 I3	  75929 void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg,
 I3	  75930                    ASN1_OCTET_STRING **pdigest);
 I3	  75931 
 I3	  75932 DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO)
       E	 extern X509_REQ_INFO * X509_REQ_INFO_new ( void ) ; extern void X509_REQ_INFO_free ( X509_REQ_INFO * a ) ; extern X
       E	509_REQ_INFO * d2i_X509_REQ_INFO ( X509_REQ_INFO * * a , const unsigned char * * in , long len ) ; extern int i2d_X5
       E	09_REQ_INFO ( const X509_REQ_INFO * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_REQ_INFO_it ( void )
       E	 ;
 I3	  75933 DECLARE_ASN1_FUNCTIONS(X509_REQ)
       E	 extern X509_REQ * X509_REQ_new ( void ) ; extern void X509_REQ_free ( X509_REQ * a ) ; extern X509_REQ * d2i_X509_R

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1401
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

       E	EQ ( X509_REQ * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_REQ ( const X509_REQ * a , unsig
       E	ned char * * out ) ; extern const ASN1_ITEM * X509_REQ_it ( void ) ;
 I3	  75934 X509_REQ *X509_REQ_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 I3	  75935 
 I3	  75936 DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE)
       E	 extern X509_ATTRIBUTE * X509_ATTRIBUTE_new ( void ) ; extern void X509_ATTRIBUTE_free ( X509_ATTRIBUTE * a ) ; exte
       E	rn X509_ATTRIBUTE * d2i_X509_ATTRIBUTE ( X509_ATTRIBUTE * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_X509_ATTRIBUTE ( const X509_ATTRIBUTE * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_ATTRIBUTE_i
       E	t ( void ) ;
 I3	  75937 X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value);
 I3	  75938 
 I3	  75939 DECLARE_ASN1_FUNCTIONS(X509_EXTENSION)
       E	 extern X509_EXTENSION * X509_EXTENSION_new ( void ) ; extern void X509_EXTENSION_free ( X509_EXTENSION * a ) ; exte
       E	rn X509_EXTENSION * d2i_X509_EXTENSION ( X509_EXTENSION * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_X509_EXTENSION ( const X509_EXTENSION * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_EXTENSION_i
       E	t ( void ) ;
 I3	  75940 DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS)
       E	 extern X509_EXTENSIONS * d2i_X509_EXTENSIONS ( X509_EXTENSIONS * * a , const unsigned char * * in , long len ) ; ex
       E	tern int i2d_X509_EXTENSIONS ( const X509_EXTENSIONS * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_E
       E	XTENSIONS_it ( void ) ;
 I3	  75941 
 I3	  75942 DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY)
       E	 extern X509_NAME_ENTRY * X509_NAME_ENTRY_new ( void ) ; extern void X509_NAME_ENTRY_free ( X509_NAME_ENTRY * a ) ; 
       E	extern X509_NAME_ENTRY * d2i_X509_NAME_ENTRY ( X509_NAME_ENTRY * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_X509_NAME_ENTRY ( const X509_NAME_ENTRY * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_NA
       E	ME_ENTRY_it ( void ) ;
 I3	  75943 
 I3	  75944 DECLARE_ASN1_FUNCTIONS(X509_NAME)
       E	 extern X509_NAME * X509_NAME_new ( void ) ; extern void X509_NAME_free ( X509_NAME * a ) ; extern X509_NAME * d2i_X
       E	509_NAME ( X509_NAME * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_NAME ( const X509_NAME * 
       E	a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_NAME_it ( void ) ;
 I3	  75945 
 I3	  75946 int X509_NAME_set(X509_NAME **xn, const X509_NAME *name);
 I3	  75947 
 I3	  75948 DECLARE_ASN1_FUNCTIONS(X509_CINF)
       E	 extern X509_CINF * X509_CINF_new ( void ) ; extern void X509_CINF_free ( X509_CINF * a ) ; extern X509_CINF * d2i_X
       E	509_CINF ( X509_CINF * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_CINF ( const X509_CINF * 
       E	a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_CINF_it ( void ) ;
 I3	  75949 DECLARE_ASN1_FUNCTIONS(X509)
       E	 extern X509 * X509_new ( void ) ; extern void X509_free ( X509 * a ) ; extern X509 * d2i_X509 ( X509 * * a , const 
       E	unsigned char * * in , long len ) ; extern int i2d_X509 ( const X509 * a , unsigned char * * out ) ; extern const AS
       E	N1_ITEM * X509_it ( void ) ;
 I3	  75950 X509 *X509_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 I3	  75951 DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX)
       E	 extern X509_CERT_AUX * X509_CERT_AUX_new ( void ) ; extern void X509_CERT_AUX_free ( X509_CERT_AUX * a ) ; extern X
       E	509_CERT_AUX * d2i_X509_CERT_AUX ( X509_CERT_AUX * * a , const unsigned char * * in , long len ) ; extern int i2d_X5
       E	09_CERT_AUX ( const X509_CERT_AUX * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_CERT_AUX_it ( void )
       E	 ;
 I3	  75952 
 I3	  75953 #define X509_get_ex_new_index(l, p, newf, dupf, freef) \
 I3	  75954     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, l, p, newf, dupf, freef)
 I3	  75955 int X509_set_ex_data(X509 *r, int idx, void *arg);
 I3	  75956 void *X509_get_ex_data(const X509 *r, int idx);
 I3	  75957 DECLARE_ASN1_ENCODE_FUNCTIONS_only(X509,X509_AUX)
       E	 extern X509 * d2i_X509_AUX ( X509 * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_AUX ( const
       E	 X509 * a , unsigned char * * out ) ;
 I3	  75958 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1402
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  75959 int i2d_re_X509_tbs(X509 *x, unsigned char **pp);
 I3	  75960 
 I3	  75961 int X509_SIG_INFO_get(const X509_SIG_INFO *siginf, int *mdnid, int *pknid,
 I3	  75962                       int *secbits, uint32_t *flags);
 I3	  75963 void X509_SIG_INFO_set(X509_SIG_INFO *siginf, int mdnid, int pknid,
 I3	  75964                        int secbits, uint32_t flags);
 I3	  75965 
 I3	  75966 int X509_get_signature_info(X509 *x, int *mdnid, int *pknid, int *secbits,
 I3	  75967                             uint32_t *flags);
 I3	  75968 
 I3	  75969 void X509_get0_signature(const ASN1_BIT_STRING **psig,
 I3	  75970                          const X509_ALGOR **palg, const X509 *x);
 I3	  75971 int X509_get_signature_nid(const X509 *x);
 I3	  75972 
 I3	  75973 void X509_set0_distinguishing_id(X509 *x, ASN1_OCTET_STRING *d_id);
 I3	  75974 ASN1_OCTET_STRING *X509_get0_distinguishing_id(X509 *x);
 I3	  75975 void X509_REQ_set0_distinguishing_id(X509_REQ *x, ASN1_OCTET_STRING *d_id);
 I3	  75976 ASN1_OCTET_STRING *X509_REQ_get0_distinguishing_id(X509_REQ *x);
 I3	  75977 
 I3	  75978 int X509_alias_set1(X509 *x, const unsigned char *name, int len);
 I3	  75979 int X509_keyid_set1(X509 *x, const unsigned char *id, int len);
 I3	  75980 unsigned char *X509_alias_get0(X509 *x, int *len);
 I3	  75981 unsigned char *X509_keyid_get0(X509 *x, int *len);
 I3	  75982 
 I3	  75983 DECLARE_ASN1_FUNCTIONS(X509_REVOKED)
       E	 extern X509_REVOKED * X509_REVOKED_new ( void ) ; extern void X509_REVOKED_free ( X509_REVOKED * a ) ; extern X509_
       E	REVOKED * d2i_X509_REVOKED ( X509_REVOKED * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_REVO
       E	KED ( const X509_REVOKED * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_REVOKED_it ( void ) ;
 I3	  75984 DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO)
       E	 extern X509_CRL_INFO * X509_CRL_INFO_new ( void ) ; extern void X509_CRL_INFO_free ( X509_CRL_INFO * a ) ; extern X
       E	509_CRL_INFO * d2i_X509_CRL_INFO ( X509_CRL_INFO * * a , const unsigned char * * in , long len ) ; extern int i2d_X5
       E	09_CRL_INFO ( const X509_CRL_INFO * a , unsigned char * * out ) ; extern const ASN1_ITEM * X509_CRL_INFO_it ( void )
       E	 ;
 I3	  75985 DECLARE_ASN1_FUNCTIONS(X509_CRL)
       E	 extern X509_CRL * X509_CRL_new ( void ) ; extern void X509_CRL_free ( X509_CRL * a ) ; extern X509_CRL * d2i_X509_C
       E	RL ( X509_CRL * * a , const unsigned char * * in , long len ) ; extern int i2d_X509_CRL ( const X509_CRL * a , unsig
       E	ned char * * out ) ; extern const ASN1_ITEM * X509_CRL_it ( void ) ;
 I3	  75986 X509_CRL *X509_CRL_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 I3	  75987 
 I3	  75988 int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
 I3	  75989 int X509_CRL_get0_by_serial(X509_CRL *crl,
 I3	  75990                             X509_REVOKED **ret, const ASN1_INTEGER *serial);
 I3	  75991 int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x);
 I3	  75992 
 I3	  75993 X509_PKEY *X509_PKEY_new(void);
 I3	  75994 void X509_PKEY_free(X509_PKEY *a);
 I3	  75995 
 I3	  75996 DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI)
       E	 extern NETSCAPE_SPKI * NETSCAPE_SPKI_new ( void ) ; extern void NETSCAPE_SPKI_free ( NETSCAPE_SPKI * a ) ; extern N
       E	ETSCAPE_SPKI * d2i_NETSCAPE_SPKI ( NETSCAPE_SPKI * * a , const unsigned char * * in , long len ) ; extern int i2d_NE
       E	TSCAPE_SPKI ( const NETSCAPE_SPKI * a , unsigned char * * out ) ; extern const ASN1_ITEM * NETSCAPE_SPKI_it ( void )
       E	 ;
 I3	  75997 DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC)
       E	 extern NETSCAPE_SPKAC * NETSCAPE_SPKAC_new ( void ) ; extern void NETSCAPE_SPKAC_free ( NETSCAPE_SPKAC * a ) ; exte
       E	rn NETSCAPE_SPKAC * d2i_NETSCAPE_SPKAC ( NETSCAPE_SPKAC * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_NETSCAPE_SPKAC ( const NETSCAPE_SPKAC * a , unsigned char * * out ) ; extern const ASN1_ITEM * NETSCAPE_SPKAC_i
       E	t ( void ) ;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1403
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  75998 DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE)
       E	 extern NETSCAPE_CERT_SEQUENCE * NETSCAPE_CERT_SEQUENCE_new ( void ) ; extern void NETSCAPE_CERT_SEQUENCE_free ( NET
       E	SCAPE_CERT_SEQUENCE * a ) ; extern NETSCAPE_CERT_SEQUENCE * d2i_NETSCAPE_CERT_SEQUENCE ( NETSCAPE_CERT_SEQUENCE * * 
       E	a , const unsigned char * * in , long len ) ; extern int i2d_NETSCAPE_CERT_SEQUENCE ( const NETSCAPE_CERT_SEQUENCE *
       E	 a , unsigned char * * out ) ; extern const ASN1_ITEM * NETSCAPE_CERT_SEQUENCE_it ( void ) ;
 I3	  75999 
 I3	  76000 X509_INFO *X509_INFO_new(void);
 I3	  76001 void X509_INFO_free(X509_INFO *a);
 I3	  76002 char *X509_NAME_oneline(const X509_NAME *a, char *buf, int size);
 I3	  76003 
 I3	  76004 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76005 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I3	  76006 int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1,
 I3	  76007                 ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey);
 I3	  76008 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I3	  76009 int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data,
 I3	  76010                 unsigned char *md, unsigned int *len);
 I3	  76011 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I3	  76012 int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, X509_ALGOR *algor2,
 I3	  76013               ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey,
 I3	  76014               const EVP_MD *type);
 I3	  76015 #endif
 I3	  76016 int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data,
 I3	  76017                      unsigned char *md, unsigned int *len);
 I3	  76018 int ASN1_item_verify(const ASN1_ITEM *it, const X509_ALGOR *alg,
 I3	  76019                      const ASN1_BIT_STRING *signature, const void *data,
 I3	  76020                      EVP_PKEY *pkey);
 I3	  76021 int ASN1_item_verify_ctx(const ASN1_ITEM *it, const X509_ALGOR *alg,
 I3	  76022                          const ASN1_BIT_STRING *signature, const void *data,
 I3	  76023                          EVP_MD_CTX *ctx);
 I3	  76024 int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
 I3	  76025                    ASN1_BIT_STRING *signature, const void *data,
 I3	  76026                    EVP_PKEY *pkey, const EVP_MD *md);
 I3	  76027 int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1,
 I3	  76028                        X509_ALGOR *algor2, ASN1_BIT_STRING *signature,
 I3	  76029                        const void *data, EVP_MD_CTX *ctx);
 I3	  76030 
 I3	  76031 #define X509_VERSION_1 0
 I3	  76032 #define X509_VERSION_2 1
 I3	  76033 #define X509_VERSION_3 2
 I3	  76034 
 I3	  76035 long X509_get_version(const X509 *x);
 I3	  76036 int X509_set_version(X509 *x, long version);
 I3	  76037 int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial);
 I3	  76038 ASN1_INTEGER *X509_get_serialNumber(X509 *x);
 I3	  76039 const ASN1_INTEGER *X509_get0_serialNumber(const X509 *x);
 I3	  76040 int X509_set_issuer_name(X509 *x, const X509_NAME *name);
 I3	  76041 X509_NAME *X509_get_issuer_name(const X509 *a);
 I3	  76042 int X509_set_subject_name(X509 *x, const X509_NAME *name);
 I3	  76043 X509_NAME *X509_get_subject_name(const X509 *a);
 I3	  76044 const ASN1_TIME * X509_get0_notBefore(const X509 *x);
 I3	  76045 ASN1_TIME *X509_getm_notBefore(const X509 *x);
 I3	  76046 int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm);
 I3	  76047 const ASN1_TIME *X509_get0_notAfter(const X509 *x);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1404
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76048 ASN1_TIME *X509_getm_notAfter(const X509 *x);
 I3	  76049 int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm);
 I3	  76050 int X509_set_pubkey(X509 *x, EVP_PKEY *pkey);
 I3	  76051 int X509_up_ref(X509 *x);
 I3	  76052 int X509_get_signature_type(const X509 *x);
 I3	  76053 
 I3	  76054 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  76055 #  define X509_get_notBefore X509_getm_notBefore
 I3	  76056 #  define X509_get_notAfter X509_getm_notAfter
 I3	  76057 #  define X509_set_notBefore X509_set1_notBefore
 I3	  76058 #  define X509_set_notAfter X509_set1_notAfter
 I3	  76059 #endif
 I3	  76060 
 I3	  76061 
 I3	  76062 /*
 I3	  76063  * This one is only used so that a binary form can output, as in
 I3	  76064  * i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x), &buf)
 I3	  76065  */
 I3	  76066 X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x);
 I3	  76067 const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x);
       E	       struct stack_st_X509_EXTENSION
 I3	  76068 void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid,
 I3	  76069                     const ASN1_BIT_STRING **psuid);
 I3	  76070 const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x);
 I3	  76071 
 I3	  76072 EVP_PKEY *X509_get0_pubkey(const X509 *x);
 I3	  76073 EVP_PKEY *X509_get_pubkey(X509 *x);
 I3	  76074 ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x);
 I3	  76075 
 I3	  76076 #define X509_REQ_VERSION_1 0
 I3	  76077 
 I3	  76078 long X509_REQ_get_version(const X509_REQ *req);
 I3	  76079 int X509_REQ_set_version(X509_REQ *x, long version);
 I3	  76080 X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req);
 I3	  76081 int X509_REQ_set_subject_name(X509_REQ *req, const X509_NAME *name);
 I3	  76082 void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
 I3	  76083                              const X509_ALGOR **palg);
 I3	  76084 void X509_REQ_set0_signature(X509_REQ *req, ASN1_BIT_STRING *psig);
 I3	  76085 int X509_REQ_set1_signature_algo(X509_REQ *req, X509_ALGOR *palg);
 I3	  76086 int X509_REQ_get_signature_nid(const X509_REQ *req);
 I3	  76087 int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
 I3	  76088 int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
 I3	  76089 EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req);
 I3	  76090 EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req);
 I3	  76091 X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req);
 I3	  76092 int X509_REQ_extension_nid(int nid);
 I3	  76093 int *X509_REQ_get_extension_nids(void);
 I3	  76094 void X509_REQ_set_extension_nids(int *nids);
 I3	  76095 STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req);
       E	 struct stack_st_X509_EXTENSION
 I3	  76096 int X509_REQ_add_extensions_nid(X509_REQ *req,
 I3	  76097                                 const STACK_OF(X509_EXTENSION) *exts, int nid);
       E	                                       struct stack_st_X509_EXTENSION
 I3	  76098 int X509_REQ_add_extensions(X509_REQ *req, const STACK_OF(X509_EXTENSION) *ext);
       E	                                                  struct stack_st_X509_EXTENSION
 I3	  76099 int X509_REQ_get_attr_count(const X509_REQ *req);
 I3	  76100 int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1405
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76101 int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj,
 I3	  76102                              int lastpos);
 I3	  76103 X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc);
 I3	  76104 X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc);
 I3	  76105 int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr);
 I3	  76106 int X509_REQ_add1_attr_by_OBJ(X509_REQ *req,
 I3	  76107                               const ASN1_OBJECT *obj, int type,
 I3	  76108                               const unsigned char *bytes, int len);
 I3	  76109 int X509_REQ_add1_attr_by_NID(X509_REQ *req,
 I3	  76110                               int nid, int type,
 I3	  76111                               const unsigned char *bytes, int len);
 I3	  76112 int X509_REQ_add1_attr_by_txt(X509_REQ *req,
 I3	  76113                               const char *attrname, int type,
 I3	  76114                               const unsigned char *bytes, int len);
 I3	  76115 
 I3	  76116 #define X509_CRL_VERSION_1 0
 I3	  76117 #define X509_CRL_VERSION_2 1
 I3	  76118 
 I3	  76119 int X509_CRL_set_version(X509_CRL *x, long version);
 I3	  76120 int X509_CRL_set_issuer_name(X509_CRL *x, const X509_NAME *name);
 I3	  76121 int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm);
 I3	  76122 int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm);
 I3	  76123 int X509_CRL_sort(X509_CRL *crl);
 I3	  76124 int X509_CRL_up_ref(X509_CRL *crl);
 I3	  76125 
 I3	  76126 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  76127 #  define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate
 I3	  76128 #  define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate
 I3	  76129 #endif
 I3	  76130 
 I3	  76131 long X509_CRL_get_version(const X509_CRL *crl);
 I3	  76132 const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl);
 I3	  76133 const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl);
 I3	  76134 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  76135 OSSL_DEPRECATEDIN_1_1_0 ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl);
       E	 extern
 I3	  76136 OSSL_DEPRECATEDIN_1_1_0 ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl);
       E	 extern
 I3	  76137 #endif
 I3	  76138 X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl);
 I3	  76139 const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl);
       E	       struct stack_st_X509_EXTENSION
 I3	  76140 STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl);
       E	 struct stack_st_X509_REVOKED
 I3	  76141 void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
 I3	  76142                              const X509_ALGOR **palg);
 I3	  76143 int X509_CRL_get_signature_nid(const X509_CRL *crl);
 I3	  76144 int i2d_re_X509_CRL_tbs(X509_CRL *req, unsigned char **pp);
 I3	  76145 
 I3	  76146 const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x);
 I3	  76147 int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial);
 I3	  76148 const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x);
 I3	  76149 int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm);
 I3	  76150 const STACK_OF(X509_EXTENSION) *
       E	       struct stack_st_X509_EXTENSION
 I3	  76151 X509_REVOKED_get0_extensions(const X509_REVOKED *r);
 I3	  76152 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1406
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76153 X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer,
 I3	  76154                         EVP_PKEY *skey, const EVP_MD *md, unsigned int flags);
 I3	  76155 
 I3	  76156 int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey);
 I3	  76157 
 I3	  76158 int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey);
 I3	  76159 int X509_chain_check_suiteb(int *perror_depth,
 I3	  76160                             X509 *x, STACK_OF(X509) *chain,
       E	                                      struct stack_st_X509
 I3	  76161                             unsigned long flags);
 I3	  76162 int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags);
 I3	  76163 STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain);
       E	 struct stack_st_X509
       E	                                   struct stack_st_X509
 I3	  76164 
 I3	  76165 int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b);
 I3	  76166 unsigned long X509_issuer_and_serial_hash(X509 *a);
 I3	  76167 
 I3	  76168 int X509_issuer_name_cmp(const X509 *a, const X509 *b);
 I3	  76169 unsigned long X509_issuer_name_hash(X509 *a);
 I3	  76170 
 I3	  76171 int X509_subject_name_cmp(const X509 *a, const X509 *b);
 I3	  76172 unsigned long X509_subject_name_hash(X509 *x);
 I3	  76173 
 I3	  76174 # ifndef OPENSSL_NO_MD5
 I3	  76175 unsigned long X509_issuer_name_hash_old(X509 *a);
 I3	  76176 unsigned long X509_subject_name_hash_old(X509 *x);
 I3	  76177 # endif
 I3	  76178 
 I3	  76179 # define X509_ADD_FLAG_DEFAULT  0
 I3	  76180 # define X509_ADD_FLAG_UP_REF   0x1
 I3	  76181 # define X509_ADD_FLAG_PREPEND  0x2
 I3	  76182 # define X509_ADD_FLAG_NO_DUP   0x4
 I3	  76183 # define X509_ADD_FLAG_NO_SS    0x8
 I3	  76184 int X509_add_cert(STACK_OF(X509) *sk, X509 *cert, int flags);
       E	                   struct stack_st_X509
 I3	  76185 int X509_add_certs(STACK_OF(X509) *sk, STACK_OF(X509) *certs, int flags);
       E	                    struct stack_st_X509
       E	                                        struct stack_st_X509
 I3	  76186 
 I3	  76187 int X509_cmp(const X509 *a, const X509 *b);
 I3	  76188 int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b);
 I3	  76189 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76190 # define X509_NAME_hash(x) X509_NAME_hash_ex(x, NULL, NULL, NULL)
 I3	  76191 OSSL_DEPRECATEDIN_3_0 int X509_certificate_type(const X509 *x,
       E	 extern
 I3	  76192                                                 const EVP_PKEY *pubkey);
 I3	  76193 #endif
 I3	  76194 unsigned long X509_NAME_hash_ex(const X509_NAME *x, OSSL_LIB_CTX *libctx,
 I3	  76195                                 const char *propq, int *ok);
 I3	  76196 unsigned long X509_NAME_hash_old(const X509_NAME *x);
 I3	  76197 
 I3	  76198 int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b);
 I3	  76199 int X509_CRL_match(const X509_CRL *a, const X509_CRL *b);
 I3	  76200 int X509_aux_print(BIO *out, X509 *x, int indent);
 I3	  76201 # ifndef OPENSSL_NO_STDIO
 I3	  76202 int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1407
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76203                      unsigned long cflag);
 I3	  76204 int X509_print_fp(FILE *bp, X509 *x);
 I3	  76205 int X509_CRL_print_fp(FILE *bp, X509_CRL *x);
 I3	  76206 int X509_REQ_print_fp(FILE *bp, X509_REQ *req);
 I3	  76207 int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,
 I3	  76208                           unsigned long flags);
 I3	  76209 # endif
 I3	  76210 
 I3	  76211 int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase);
 I3	  76212 int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,
 I3	  76213                        unsigned long flags);
 I3	  76214 int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag,
 I3	  76215                   unsigned long cflag);
 I3	  76216 int X509_print(BIO *bp, X509 *x);
 I3	  76217 int X509_ocspid_print(BIO *bp, X509 *x);
 I3	  76218 int X509_CRL_print_ex(BIO *out, X509_CRL *x, unsigned long nmflag);
 I3	  76219 int X509_CRL_print(BIO *bp, X509_CRL *x);
 I3	  76220 int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag,
 I3	  76221                       unsigned long cflag);
 I3	  76222 int X509_REQ_print(BIO *bp, X509_REQ *req);
 I3	  76223 
 I3	  76224 int X509_NAME_entry_count(const X509_NAME *name);
 I3	  76225 int X509_NAME_get_text_by_NID(const X509_NAME *name, int nid,
 I3	  76226                               char *buf, int len);
 I3	  76227 int X509_NAME_get_text_by_OBJ(const X509_NAME *name, const ASN1_OBJECT *obj,
 I3	  76228                               char *buf, int len);
 I3	  76229 
 I3	  76230 /*
 I3	  76231  * NOTE: you should be passing -1, not 0 as lastpos. The functions that use
 I3	  76232  * lastpos, search after that position on.
 I3	  76233  */
 I3	  76234 int X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, int lastpos);
 I3	  76235 int X509_NAME_get_index_by_OBJ(const X509_NAME *name, const ASN1_OBJECT *obj,
 I3	  76236                                int lastpos);
 I3	  76237 X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc);
 I3	  76238 X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc);
 I3	  76239 int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne,
 I3	  76240                         int loc, int set);
 I3	  76241 int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type,
 I3	  76242                                const unsigned char *bytes, int len, int loc,
 I3	  76243                                int set);
 I3	  76244 int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type,
 I3	  76245                                const unsigned char *bytes, int len, int loc,
 I3	  76246                                int set);
 I3	  76247 X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne,
 I3	  76248                                                const char *field, int type,
 I3	  76249                                                const unsigned char *bytes,
 I3	  76250                                                int len);
 I3	  76251 X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid,
 I3	  76252                                                int type,
 I3	  76253                                                const unsigned char *bytes,
 I3	  76254                                                int len);
 I3	  76255 int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type,
 I3	  76256                                const unsigned char *bytes, int len, int loc,
 I3	  76257                                int set);
 I3	  76258 X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne,
 I3	  76259                                                const ASN1_OBJECT *obj, int type,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1408
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76260                                                const unsigned char *bytes,
 I3	  76261                                                int len);
 I3	  76262 int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj);
 I3	  76263 int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type,
 I3	  76264                              const unsigned char *bytes, int len);
 I3	  76265 ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne);
 I3	  76266 ASN1_STRING * X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne);
 I3	  76267 int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne);
 I3	  76268 
 I3	  76269 int X509_NAME_get0_der(const X509_NAME *nm, const unsigned char **pder,
 I3	  76270                        size_t *pderlen);
 I3	  76271 
 I3	  76272 int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x);
       E	                                struct stack_st_X509_EXTENSION
 I3	  76273 int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x,
       E	                                 struct stack_st_X509_EXTENSION
 I3	  76274                           int nid, int lastpos);
 I3	  76275 int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x,
       E	                                 struct stack_st_X509_EXTENSION
 I3	  76276                           const ASN1_OBJECT *obj, int lastpos);
 I3	  76277 int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x,
       E	                                      struct stack_st_X509_EXTENSION
 I3	  76278                                int crit, int lastpos);
 I3	  76279 X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc);
       E	                                      struct stack_st_X509_EXTENSION
 I3	  76280 X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc);
       E	                                   struct stack_st_X509_EXTENSION
 I3	  76281 STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x,
       E	 struct stack_st_X509_EXTENSION
       E	                                          struct stack_st_X509_EXTENSION
 I3	  76282                                          X509_EXTENSION *ex, int loc);
 I3	  76283 
 I3	  76284 int X509_get_ext_count(const X509 *x);
 I3	  76285 int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos);
 I3	  76286 int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int lastpos);
 I3	  76287 int X509_get_ext_by_critical(const X509 *x, int crit, int lastpos);
 I3	  76288 X509_EXTENSION *X509_get_ext(const X509 *x, int loc);
 I3	  76289 X509_EXTENSION *X509_delete_ext(X509 *x, int loc);
 I3	  76290 int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc);
 I3	  76291 void *X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx);
 I3	  76292 int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit,
 I3	  76293                       unsigned long flags);
 I3	  76294 
 I3	  76295 int X509_CRL_get_ext_count(const X509_CRL *x);
 I3	  76296 int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos);
 I3	  76297 int X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj,
 I3	  76298                             int lastpos);
 I3	  76299 int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos);
 I3	  76300 X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc);
 I3	  76301 X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc);
 I3	  76302 int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc);
 I3	  76303 void *X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int *idx);
 I3	  76304 int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit,
 I3	  76305                           unsigned long flags);
 I3	  76306 
 I3	  76307 int X509_REVOKED_get_ext_count(const X509_REVOKED *x);
 I3	  76308 int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1409
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76309 int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj,
 I3	  76310                                 int lastpos);
 I3	  76311 int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit,
 I3	  76312                                      int lastpos);
 I3	  76313 X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc);
 I3	  76314 X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc);
 I3	  76315 int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc);
 I3	  76316 void *X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit,
 I3	  76317                                int *idx);
 I3	  76318 int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit,
 I3	  76319                               unsigned long flags);
 I3	  76320 
 I3	  76321 X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex,
 I3	  76322                                              int nid, int crit,
 I3	  76323                                              ASN1_OCTET_STRING *data);
 I3	  76324 X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex,
 I3	  76325                                              const ASN1_OBJECT *obj, int crit,
 I3	  76326                                              ASN1_OCTET_STRING *data);
 I3	  76327 int X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj);
 I3	  76328 int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit);
 I3	  76329 int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data);
 I3	  76330 ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex);
 I3	  76331 ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne);
 I3	  76332 int X509_EXTENSION_get_critical(const X509_EXTENSION *ex);
 I3	  76333 
 I3	  76334 int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x);
       E	                                 struct stack_st_X509_ATTRIBUTE
 I3	  76335 int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid,
       E	                                  struct stack_st_X509_ATTRIBUTE
 I3	  76336                            int lastpos);
 I3	  76337 int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk,
       E	                                  struct stack_st_X509_ATTRIBUTE
 I3	  76338                            const ASN1_OBJECT *obj, int lastpos);
 I3	  76339 X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc);
       E	                                       struct stack_st_X509_ATTRIBUTE
 I3	  76340 X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc);
       E	                                    struct stack_st_X509_ATTRIBUTE
 I3	  76341 STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x,
       E	 struct stack_st_X509_ATTRIBUTE
       E	                                            struct stack_st_X509_ATTRIBUTE
 I3	  76342                                            X509_ATTRIBUTE *attr);
 I3	  76343 STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE)
       E	 struct stack_st_X509_ATTRIBUTE
       E	                                                   struct stack_st_X509_ATTRIBUTE
 I3	  76344                                                   **x, const ASN1_OBJECT *obj,
 I3	  76345                                                   int type,
 I3	  76346                                                   const unsigned char *bytes,
 I3	  76347                                                   int len);
 I3	  76348 STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE)
       E	 struct stack_st_X509_ATTRIBUTE
       E	                                                   struct stack_st_X509_ATTRIBUTE
 I3	  76349                                                   **x, int nid, int type,
 I3	  76350                                                   const unsigned char *bytes,
 I3	  76351                                                   int len);
 I3	  76352 STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE)
       E	 struct stack_st_X509_ATTRIBUTE
       E	                                                   struct stack_st_X509_ATTRIBUTE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1410
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76353                                                   **x, const char *attrname,
 I3	  76354                                                   int type,
 I3	  76355                                                   const unsigned char *bytes,
 I3	  76356                                                   int len);
 I3	  76357 void *X509at_get0_data_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *x,
       E	                                     struct stack_st_X509_ATTRIBUTE
 I3	  76358                               const ASN1_OBJECT *obj, int lastpos, int type);
 I3	  76359 X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid,
 I3	  76360                                              int atrtype, const void *data,
 I3	  76361                                              int len);
 I3	  76362 X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr,
 I3	  76363                                              const ASN1_OBJECT *obj,
 I3	  76364                                              int atrtype, const void *data,
 I3	  76365                                              int len);
 I3	  76366 X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr,
 I3	  76367                                              const char *atrname, int type,
 I3	  76368                                              const unsigned char *bytes,
 I3	  76369                                              int len);
 I3	  76370 int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj);
 I3	  76371 int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype,
 I3	  76372                              const void *data, int len);
 I3	  76373 void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype,
 I3	  76374                                void *data);
 I3	  76375 int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr);
 I3	  76376 ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr);
 I3	  76377 ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx);
 I3	  76378 
 I3	  76379 int EVP_PKEY_get_attr_count(const EVP_PKEY *key);
 I3	  76380 int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos);
 I3	  76381 int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj,
 I3	  76382                              int lastpos);
 I3	  76383 X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc);
 I3	  76384 X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc);
 I3	  76385 int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr);
 I3	  76386 int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key,
 I3	  76387                               const ASN1_OBJECT *obj, int type,
 I3	  76388                               const unsigned char *bytes, int len);
 I3	  76389 int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key,
 I3	  76390                               int nid, int type,
 I3	  76391                               const unsigned char *bytes, int len);
 I3	  76392 int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key,
 I3	  76393                               const char *attrname, int type,
 I3	  76394                               const unsigned char *bytes, int len);
 I3	  76395 
 I3	  76396 /* lookup a cert from a X509 STACK */
 I3	  76397 X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, const X509_NAME *name,
       E	                                      struct stack_st_X509
 I3	  76398                                      const ASN1_INTEGER *serial);
 I3	  76399 X509 *X509_find_by_subject(STACK_OF(X509) *sk, const X509_NAME *name);
       E	                            struct stack_st_X509
 I3	  76400 
 I3	  76401 DECLARE_ASN1_FUNCTIONS(PBEPARAM)
       E	 extern PBEPARAM * PBEPARAM_new ( void ) ; extern void PBEPARAM_free ( PBEPARAM * a ) ; extern PBEPARAM * d2i_PBEPAR
       E	AM ( PBEPARAM * * a , const unsigned char * * in , long len ) ; extern int i2d_PBEPARAM ( const PBEPARAM * a , unsig
       E	ned char * * out ) ; extern const ASN1_ITEM * PBEPARAM_it ( void ) ;
 I3	  76402 DECLARE_ASN1_FUNCTIONS(PBE2PARAM)
       E	 extern PBE2PARAM * PBE2PARAM_new ( void ) ; extern void PBE2PARAM_free ( PBE2PARAM * a ) ; extern PBE2PARAM * d2i_P

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1411
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

       E	BE2PARAM ( PBE2PARAM * * a , const unsigned char * * in , long len ) ; extern int i2d_PBE2PARAM ( const PBE2PARAM * 
       E	a , unsigned char * * out ) ; extern const ASN1_ITEM * PBE2PARAM_it ( void ) ;
 I3	  76403 DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM)
       E	 extern PBKDF2PARAM * PBKDF2PARAM_new ( void ) ; extern void PBKDF2PARAM_free ( PBKDF2PARAM * a ) ; extern PBKDF2PAR
       E	AM * d2i_PBKDF2PARAM ( PBKDF2PARAM * * a , const unsigned char * * in , long len ) ; extern int i2d_PBKDF2PARAM ( co
       E	nst PBKDF2PARAM * a , unsigned char * * out ) ; extern const ASN1_ITEM * PBKDF2PARAM_it ( void ) ;
 I3	  76404 #ifndef OPENSSL_NO_SCRYPT
 I3	  76405 DECLARE_ASN1_FUNCTIONS(SCRYPT_PARAMS)
       E	 extern SCRYPT_PARAMS * SCRYPT_PARAMS_new ( void ) ; extern void SCRYPT_PARAMS_free ( SCRYPT_PARAMS * a ) ; extern S
       E	CRYPT_PARAMS * d2i_SCRYPT_PARAMS ( SCRYPT_PARAMS * * a , const unsigned char * * in , long len ) ; extern int i2d_SC
       E	RYPT_PARAMS ( const SCRYPT_PARAMS * a , unsigned char * * out ) ; extern const ASN1_ITEM * SCRYPT_PARAMS_it ( void )
       E	 ;
 I3	  76406 #endif
 I3	  76407 
 I3	  76408 int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,
 I3	  76409                          const unsigned char *salt, int saltlen);
 I3	  76410 int PKCS5_pbe_set0_algor_ex(X509_ALGOR *algor, int alg, int iter,
 I3	  76411                             const unsigned char *salt, int saltlen,
 I3	  76412                             OSSL_LIB_CTX *libctx);
 I3	  76413 
 I3	  76414 X509_ALGOR *PKCS5_pbe_set(int alg, int iter,
 I3	  76415                           const unsigned char *salt, int saltlen);
 I3	  76416 X509_ALGOR *PKCS5_pbe_set_ex(int alg, int iter,
 I3	  76417                              const unsigned char *salt, int saltlen,
 I3	  76418                              OSSL_LIB_CTX *libctx);
 I3	  76419 
 I3	  76420 X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
 I3	  76421                            unsigned char *salt, int saltlen);
 I3	  76422 X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,
 I3	  76423                               unsigned char *salt, int saltlen,
 I3	  76424                               unsigned char *aiv, int prf_nid);
 I3	  76425 X509_ALGOR *PKCS5_pbe2_set_iv_ex(const EVP_CIPHER *cipher, int iter,
 I3	  76426                                  unsigned char *salt, int saltlen,
 I3	  76427                                  unsigned char *aiv, int prf_nid,
 I3	  76428                                  OSSL_LIB_CTX *libctx);
 I3	  76429 
 I3	  76430 #ifndef OPENSSL_NO_SCRYPT
 I3	  76431 X509_ALGOR *PKCS5_pbe2_set_scrypt(const EVP_CIPHER *cipher,
 I3	  76432                                   const unsigned char *salt, int saltlen,
 I3	  76433                                   unsigned char *aiv, uint64_t N, uint64_t r,
 I3	  76434                                   uint64_t p);
 I3	  76435 #endif
 I3	  76436 
 I3	  76437 X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen,
 I3	  76438                              int prf_nid, int keylen);
 I3	  76439 X509_ALGOR *PKCS5_pbkdf2_set_ex(int iter, unsigned char *salt, int saltlen,
 I3	  76440                                 int prf_nid, int keylen,
 I3	  76441                                 OSSL_LIB_CTX *libctx);
 I3	  76442 
 I3	  76443 /* PKCS#8 utilities */
 I3	  76444 
 I3	  76445 DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO)
       E	 extern PKCS8_PRIV_KEY_INFO * PKCS8_PRIV_KEY_INFO_new ( void ) ; extern void PKCS8_PRIV_KEY_INFO_free ( PKCS8_PRIV_K
       E	EY_INFO * a ) ; extern PKCS8_PRIV_KEY_INFO * d2i_PKCS8_PRIV_KEY_INFO ( PKCS8_PRIV_KEY_INFO * * a , const unsigned ch
       E	ar * * in , long len ) ; extern int i2d_PKCS8_PRIV_KEY_INFO ( const PKCS8_PRIV_KEY_INFO * a , unsigned char * * out 
       E	) ; extern const ASN1_ITEM * PKCS8_PRIV_KEY_INFO_it ( void ) ;
 I3	  76446 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1412
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509.H;1

 I3	  76447 EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8);
 I3	  76448 EVP_PKEY *EVP_PKCS82PKEY_ex(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX *libctx,
 I3	  76449                             const char *propq);
 I3	  76450 PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(const EVP_PKEY *pkey);
 I3	  76451 
 I3	  76452 int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj,
 I3	  76453                     int version, int ptype, void *pval,
 I3	  76454                     unsigned char *penc, int penclen);
 I3	  76455 int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg,
 I3	  76456                     const unsigned char **pk, int *ppklen,
 I3	  76457                     const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8);
 I3	  76458 
 I3	  76459 const STACK_OF(X509_ATTRIBUTE) *
       E	       struct stack_st_X509_ATTRIBUTE
 I3	  76460 PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8);
 I3	  76461 int PKCS8_pkey_add1_attr(PKCS8_PRIV_KEY_INFO *p8, X509_ATTRIBUTE *attr);
 I3	  76462 int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,
 I3	  76463                                 const unsigned char *bytes, int len);
 I3	  76464 int PKCS8_pkey_add1_attr_by_OBJ(PKCS8_PRIV_KEY_INFO *p8, const ASN1_OBJECT *obj,
 I3	  76465                                 int type, const unsigned char *bytes, int len);
 I3	  76466 
 I3	  76467 
 I3	  76468 int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj,
 I3	  76469                            int ptype, void *pval,
 I3	  76470                            unsigned char *penc, int penclen);
 I3	  76471 int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg,
 I3	  76472                            const unsigned char **pk, int *ppklen,
 I3	  76473                            X509_ALGOR **pa, const X509_PUBKEY *pub);
 I3	  76474 int X509_PUBKEY_eq(const X509_PUBKEY *a, const X509_PUBKEY *b);
 I3	  76475 
 I3    X  76476 # ifdef  __cplusplus
 I3    X  76477 }
 I3    X  76478 # endif
 I3	  76479 #endif
 I2    X  76480 #  include <openssl/crypto.h>
 I2    X  76481 #  include <openssl/buffer.h>
 I2	  76482 # endif
 I2    X  76483 # include <openssl/lhash.h>
 I2	  76484 # include <openssl/pem.h>
 I3	  76485 /*
 I3	  76486  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  76487  *
 I3	  76488  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  76489  * this file except in compliance with the License.  You can obtain a copy
 I3	  76490  * in the file LICENSE in the source distribution or at
 I3	  76491  * https://www.openssl.org/source/license.html
 I3	  76492  */
 I3	  76493 
 I3	  76494 #ifndef OPENSSL_PEM_H
 I3	  76495 # define OPENSSL_PEM_H
 I3	  76496 # pragma once
 I3	  76497 
 I3    X  76498 # include <openssl/macros.h>
 I3	  76499 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76500 #  define HEADER_PEM_H
 I3	  76501 # endif
 I3	  76502 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1413
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3    X  76503 # include <openssl/e_os2.h>
 I3    X  76504 # include <openssl/bio.h>
 I3    X  76505 # include <openssl/safestack.h>
 I3    X  76506 # include <openssl/evp.h>
 I3    X  76507 # include <openssl/x509.h>
 I3	  76508 # include <openssl/pemerr.h>
 I4	  76509 /*
 I4	  76510  * Generated by util/mkerr.pl DO NOT EDIT
 I4	  76511  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  76512  *
 I4	  76513  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  76514  * this file except in compliance with the License.  You can obtain a copy
 I4	  76515  * in the file LICENSE in the source distribution or at
 I4	  76516  * https://www.openssl.org/source/license.html
 I4	  76517  */
 I4	  76518 
 I4	  76519 #ifndef OPENSSL_PEMERR_H
 I4	  76520 # define OPENSSL_PEMERR_H
 I4	  76521 # pragma once
 I4	  76522 
 I4    X  76523 # include <openssl/opensslconf.h>
 I4    X  76524 # include <openssl/symhacks.h>
 I4    X  76525 # include <openssl/cryptoerr_legacy.h>
 I4	  76526 
 I4	  76527 
 I4	  76528 
 I4	  76529 /*
 I4	  76530  * PEM reason codes.
 I4	  76531  */
 I4	  76532 # define PEM_R_BAD_BASE64_DECODE                          100
 I4	  76533 # define PEM_R_BAD_DECRYPT                                101
 I4	  76534 # define PEM_R_BAD_END_LINE                               102
 I4	  76535 # define PEM_R_BAD_IV_CHARS                               103
 I4	  76536 # define PEM_R_BAD_MAGIC_NUMBER                           116
 I4	  76537 # define PEM_R_BAD_PASSWORD_READ                          104
 I4	  76538 # define PEM_R_BAD_VERSION_NUMBER                         117
 I4	  76539 # define PEM_R_BIO_WRITE_FAILURE                          118
 I4	  76540 # define PEM_R_CIPHER_IS_NULL                             127
 I4	  76541 # define PEM_R_ERROR_CONVERTING_PRIVATE_KEY               115
 I4	  76542 # define PEM_R_EXPECTING_DSS_KEY_BLOB                     131
 I4	  76543 # define PEM_R_EXPECTING_PRIVATE_KEY_BLOB                 119
 I4	  76544 # define PEM_R_EXPECTING_PUBLIC_KEY_BLOB                  120
 I4	  76545 # define PEM_R_EXPECTING_RSA_KEY_BLOB                     132
 I4	  76546 # define PEM_R_HEADER_TOO_LONG                            128
 I4	  76547 # define PEM_R_INCONSISTENT_HEADER                        121
 I4	  76548 # define PEM_R_KEYBLOB_HEADER_PARSE_ERROR                 122
 I4	  76549 # define PEM_R_KEYBLOB_TOO_SHORT                          123
 I4	  76550 # define PEM_R_MISSING_DEK_IV                             129
 I4	  76551 # define PEM_R_NOT_DEK_INFO                               105
 I4	  76552 # define PEM_R_NOT_ENCRYPTED                              106
 I4	  76553 # define PEM_R_NOT_PROC_TYPE                              107
 I4	  76554 # define PEM_R_NO_START_LINE                              108
 I4	  76555 # define PEM_R_PROBLEMS_GETTING_PASSWORD                  109
 I4	  76556 # define PEM_R_PVK_DATA_TOO_SHORT                         124
 I4	  76557 # define PEM_R_PVK_TOO_SHORT                              125
 I4	  76558 # define PEM_R_READ_KEY                                   111
 I4	  76559 # define PEM_R_SHORT_HEADER                               112

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1414
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEMERR.H;1

 I4	  76560 # define PEM_R_UNEXPECTED_DEK_IV                          130
 I4	  76561 # define PEM_R_UNSUPPORTED_CIPHER                         113
 I4	  76562 # define PEM_R_UNSUPPORTED_ENCRYPTION                     114
 I4	  76563 # define PEM_R_UNSUPPORTED_KEY_COMPONENTS                 126
 I4	  76564 # define PEM_R_UNSUPPORTED_PUBLIC_KEY_TYPE                110
 I4	  76565 
 I4	  76566 #endif
 I3	  76567 
 I3    X  76568 #ifdef  __cplusplus
 I3    X  76569 extern "C" {
 I3    X  76570 #endif
 I3	  76571 
 I3	  76572 # define PEM_BUFSIZE             1024
 I3	  76573 
 I3	  76574 # define PEM_STRING_X509_OLD     "X509 CERTIFICATE"
 I3	  76575 # define PEM_STRING_X509         "CERTIFICATE"
 I3	  76576 # define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE"
 I3	  76577 # define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST"
 I3	  76578 # define PEM_STRING_X509_REQ     "CERTIFICATE REQUEST"
 I3	  76579 # define PEM_STRING_X509_CRL     "X509 CRL"
 I3	  76580 # define PEM_STRING_EVP_PKEY     "ANY PRIVATE KEY"
 I3	  76581 # define PEM_STRING_PUBLIC       "PUBLIC KEY"
 I3	  76582 # define PEM_STRING_RSA          "RSA PRIVATE KEY"
 I3	  76583 # define PEM_STRING_RSA_PUBLIC   "RSA PUBLIC KEY"
 I3	  76584 # define PEM_STRING_DSA          "DSA PRIVATE KEY"
 I3	  76585 # define PEM_STRING_DSA_PUBLIC   "DSA PUBLIC KEY"
 I3	  76586 # define PEM_STRING_PKCS7        "PKCS7"
 I3	  76587 # define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA"
 I3	  76588 # define PEM_STRING_PKCS8        "ENCRYPTED PRIVATE KEY"
 I3	  76589 # define PEM_STRING_PKCS8INF     "PRIVATE KEY"
 I3	  76590 # define PEM_STRING_DHPARAMS     "DH PARAMETERS"
 I3	  76591 # define PEM_STRING_DHXPARAMS    "X9.42 DH PARAMETERS"
 I3	  76592 # define PEM_STRING_SSL_SESSION  "SSL SESSION PARAMETERS"
 I3	  76593 # define PEM_STRING_DSAPARAMS    "DSA PARAMETERS"
 I3	  76594 # define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY"
 I3	  76595 # define PEM_STRING_ECPARAMETERS "EC PARAMETERS"
 I3	  76596 # define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY"
 I3	  76597 # define PEM_STRING_PARAMETERS   "PARAMETERS"
 I3	  76598 # define PEM_STRING_CMS          "CMS"
 I3	  76599 
 I3	  76600 # define PEM_TYPE_ENCRYPTED      10
 I3	  76601 # define PEM_TYPE_MIC_ONLY       20
 I3	  76602 # define PEM_TYPE_MIC_CLEAR      30
 I3	  76603 # define PEM_TYPE_CLEAR          40
 I3	  76604 
 I3	  76605 /*
 I3	  76606  * These macros make the PEM_read/PEM_write functions easier to maintain and
 I3	  76607  * write. Now they are all implemented with either: IMPLEMENT_PEM_rw(...) or
 I3	  76608  * IMPLEMENT_PEM_rw_cb(...)
 I3	  76609  */
 I3	  76610 
 I3	  76611 # define PEM_read_cb_fnsig(name, type, INTYPE, readname)                \
 I3	  76612     type *PEM_##readname##_##name(INTYPE *out, type **x,                \
 I3	  76613                                  pem_password_cb *cb, void *u)
 I3	  76614 # define PEM_read_cb_ex_fnsig(name, type, INTYPE, readname)             \
 I3	  76615     type *PEM_##readname##_##name##_ex(INTYPE *out, type **x,           \
 I3	  76616                                        pem_password_cb *cb, void *u,    \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1415
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76617                                        OSSL_LIB_CTX *libctx,            \
 I3	  76618                                        const char *propq)
 I3	  76619 
 I3	  76620 # define PEM_write_fnsig(name, type, OUTTYPE, writename)                \
 I3	  76621     int PEM_##writename##_##name(OUTTYPE *out, const type *x)
 I3	  76622 # define PEM_write_cb_fnsig(name, type, OUTTYPE, writename)             \
 I3	  76623     int PEM_##writename##_##name(OUTTYPE *out, const type *x,           \
 I3	  76624                                  const EVP_CIPHER *enc,                 \
 I3	  76625                                  const unsigned char *kstr, int klen,   \
 I3	  76626                                  pem_password_cb *cb, void *u)
 I3	  76627 # define PEM_write_ex_fnsig(name, type, OUTTYPE, writename)             \
 I3	  76628     int PEM_##writename##_##name##_ex(OUTTYPE *out, const type *x,      \
 I3	  76629                                       OSSL_LIB_CTX *libctx,             \
 I3	  76630                                       const char *propq)
 I3	  76631 # define PEM_write_cb_ex_fnsig(name, type, OUTTYPE, writename)          \
 I3	  76632     int PEM_##writename##_##name##_ex(OUTTYPE *out, const type *x,      \
 I3	  76633                                       const EVP_CIPHER *enc,            \
 I3	  76634                                       const unsigned char *kstr, int klen, \
 I3	  76635                                       pem_password_cb *cb, void *u,     \
 I3	  76636                                       OSSL_LIB_CTX *libctx,             \
 I3	  76637                                       const char *propq)
 I3	  76638 
 I3    X  76639 # ifdef OPENSSL_NO_STDIO
 I3    X  76640 
 I3    X  76641 #  define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/
 I3    X  76642 #  define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/
 I3    X  76643 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3    X  76644 #   define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/
 I3    X  76645 #  endif
 I3    X  76646 #  define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/
 I3    X  76647 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3    X  76648 #   define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/
 I3    X  76649 #  endif
 I3    X  76650 # else
 I3	  76651 
 I3	  76652 #  define IMPLEMENT_PEM_read_fp(name, type, str, asn1)                  \
 I3	  76653     type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u) \
 I3	  76654     {                                                                   \
 I3	  76655         return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str, fp,        \
 I3	  76656                              (void **)x, cb, u);                        \
 I3	  76657     }
 I3	  76658 
 I3	  76659 #  define IMPLEMENT_PEM_write_fp(name, type, str, asn1)                 \
 I3	  76660     PEM_write_fnsig(name, type, FILE, write)                            \
 I3	  76661     {                                                                   \
 I3	  76662         return PEM_ASN1_write((i2d_of_void *)i2d_##asn1, str, out,      \
 I3	  76663                               x, NULL, NULL, 0, NULL, NULL);            \
 I3	  76664     }
 I3	  76665 
 I3	  76666 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76667 #   define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1)  \
 I3	  76668     IMPLEMENT_PEM_write_fp(name, type, str, asn1)
 I3	  76669 #  endif
 I3	  76670 
 I3	  76671 #  define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1)              \
 I3	  76672     PEM_write_cb_fnsig(name, type, FILE, write)                         \
 I3	  76673     {                                                                   \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1416
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76674         return PEM_ASN1_write((i2d_of_void *)i2d_##asn1, str, out,      \
 I3	  76675                               x, enc, kstr, klen, cb, u);               \
 I3	  76676     }
 I3	  76677 
 I3	  76678 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76679 #   define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1)       \
 I3	  76680     IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1)
 I3	  76681 #  endif
 I3	  76682 # endif
 I3	  76683 
 I3	  76684 # define IMPLEMENT_PEM_read_bio(name, type, str, asn1)                  \
 I3	  76685     type *PEM_read_bio_##name(BIO *bp, type **x,                        \
 I3	  76686                               pem_password_cb *cb, void *u)             \
 I3	  76687     {                                                                   \
 I3	  76688         return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str, bp,    \
 I3	  76689                                  (void **)x, cb, u);                    \
 I3	  76690     }
 I3	  76691 
 I3	  76692 # define IMPLEMENT_PEM_write_bio(name, type, str, asn1)                 \
 I3	  76693     PEM_write_fnsig(name, type, BIO, write_bio)                         \
 I3	  76694     {                                                                   \
 I3	  76695         return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1, str, out,  \
 I3	  76696                                   x, NULL,NULL,0,NULL,NULL);            \
 I3	  76697     }
 I3	  76698 
 I3	  76699 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76700 #  define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1)   \
 I3	  76701     IMPLEMENT_PEM_write_bio(name, type, str, asn1)
 I3	  76702 # endif
 I3	  76703 
 I3	  76704 # define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1)              \
 I3	  76705     PEM_write_cb_fnsig(name, type, BIO, write_bio)                      \
 I3	  76706     {                                                                   \
 I3	  76707         return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1, str, out,  \
 I3	  76708                                   x, enc, kstr, klen, cb, u);           \
 I3	  76709     }
 I3	  76710 
 I3	  76711 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76712 #  define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1)  \
 I3	  76713     IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1)
 I3	  76714 # endif
 I3	  76715 
 I3	  76716 # define IMPLEMENT_PEM_write(name, type, str, asn1) \
 I3	  76717         IMPLEMENT_PEM_write_bio(name, type, str, asn1) \
 I3	  76718         IMPLEMENT_PEM_write_fp(name, type, str, asn1)
 I3	  76719 
 I3	  76720 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76721 #  define IMPLEMENT_PEM_write_const(name, type, str, asn1) \
 I3	  76722         IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \
 I3	  76723         IMPLEMENT_PEM_write_fp_const(name, type, str, asn1)
 I3	  76724 # endif
 I3	  76725 
 I3	  76726 # define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \
 I3	  76727         IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \
 I3	  76728         IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1)
 I3	  76729 
 I3	  76730 # ifndef OPENSSL_NO_DEPRECATED_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1417
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76731 #  define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \
 I3	  76732         IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \
 I3	  76733         IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1)
 I3	  76734 # endif
 I3	  76735 
 I3	  76736 # define IMPLEMENT_PEM_read(name, type, str, asn1) \
 I3	  76737         IMPLEMENT_PEM_read_bio(name, type, str, asn1) \
 I3	  76738         IMPLEMENT_PEM_read_fp(name, type, str, asn1)
 I3	  76739 
 I3	  76740 # define IMPLEMENT_PEM_rw(name, type, str, asn1) \
 I3	  76741         IMPLEMENT_PEM_read(name, type, str, asn1) \
 I3	  76742         IMPLEMENT_PEM_write(name, type, str, asn1)
 I3	  76743 
 I3	  76744 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76745 #  define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \
 I3	  76746         IMPLEMENT_PEM_read(name, type, str, asn1) \
 I3	  76747         IMPLEMENT_PEM_write_const(name, type, str, asn1)
 I3	  76748 # endif
 I3	  76749 
 I3	  76750 # define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \
 I3	  76751         IMPLEMENT_PEM_read(name, type, str, asn1) \
 I3	  76752         IMPLEMENT_PEM_write_cb(name, type, str, asn1)
 I3	  76753 
 I3	  76754 /* These are the same except they are for the declarations */
 I3	  76755 
 I3	  76756 /*
 I3	  76757  * The mysterious 'extern' that's passed to some macros is innocuous,
 I3	  76758  * and is there to quiet pre-C99 compilers that may complain about empty
 I3	  76759  * arguments in macro calls.
 I3	  76760  */
 I3    X  76761 # if defined(OPENSSL_NO_STDIO)
 I3    X  76762 
 I3    X  76763 #  define DECLARE_PEM_read_fp_attr(attr, name, type) /**/
 I3    X  76764 #  define DECLARE_PEM_read_fp_ex_attr(attr, name, type) /**/
 I3    X  76765 #  define DECLARE_PEM_write_fp_attr(attr, name, type) /**/
 I3    X  76766 #  define DECLARE_PEM_write_fp_ex_attr(attr, name, type) /**/
 I3    X  76767 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3    X  76768 #   define DECLARE_PEM_write_fp_const_attr(attr, name, type) /**/
 I3    X  76769 #  endif
 I3    X  76770 #  define DECLARE_PEM_write_cb_fp_attr(attr, name, type) /**/
 I3    X  76771 #  define DECLARE_PEM_write_cb_fp_ex_attr(attr, name, type) /**/
 I3    X  76772 
 I3    X  76773 # else
 I3	  76774 
 I3	  76775 #  define DECLARE_PEM_read_fp_attr(attr, name, type)                        \
 I3	  76776     attr PEM_read_cb_fnsig(name, type, FILE, read);
 I3	  76777 #  define DECLARE_PEM_read_fp_ex_attr(attr, name, type)                     \
 I3	  76778     attr PEM_read_cb_fnsig(name, type, FILE, read);                         \
 I3	  76779     attr PEM_read_cb_ex_fnsig(name, type, FILE, read);
 I3	  76780 
 I3	  76781 #  define DECLARE_PEM_write_fp_attr(attr, name, type)                       \
 I3	  76782     attr PEM_write_fnsig(name, type, FILE, write);
 I3	  76783 #  define DECLARE_PEM_write_fp_ex_attr(attr, name, type)                    \
 I3	  76784     attr PEM_write_fnsig(name, type, FILE, write);                          \
 I3	  76785     attr PEM_write_ex_fnsig(name, type, FILE, write);
 I3	  76786 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76787 #   define DECLARE_PEM_write_fp_const_attr(attr, name, type)                \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1418
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76788     attr PEM_write_fnsig(name, type, FILE, write);
 I3	  76789 #  endif
 I3	  76790 #  define DECLARE_PEM_write_cb_fp_attr(attr, name, type)                    \
 I3	  76791     attr PEM_write_cb_fnsig(name, type, FILE, write);
 I3	  76792 #  define DECLARE_PEM_write_cb_fp_ex_attr(attr, name, type)                 \
 I3	  76793     attr PEM_write_cb_fnsig(name, type, FILE, write);                       \
 I3	  76794     attr PEM_write_cb_ex_fnsig(name, type, FILE, write);
 I3	  76795 
 I3	  76796 # endif
 I3	  76797 
 I3	  76798 # define DECLARE_PEM_read_fp(name, type)                                    \
 I3	  76799     DECLARE_PEM_read_fp_attr(extern, name, type)
 I3	  76800 # define DECLARE_PEM_write_fp(name, type)                                   \
 I3	  76801     DECLARE_PEM_write_fp_attr(extern, name, type)
 I3	  76802 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76803 #   define DECLARE_PEM_write_fp_const(name, type)                           \
 I3	  76804     DECLARE_PEM_write_fp_const_attr(extern, name, type)
 I3	  76805 # endif
 I3	  76806 # define DECLARE_PEM_write_cb_fp(name, type)                                \
 I3	  76807     DECLARE_PEM_write_cb_fp_attr(extern, name, type)
 I3	  76808 
 I3	  76809 #  define DECLARE_PEM_read_bio_attr(attr, name, type)                       \
 I3	  76810     attr PEM_read_cb_fnsig(name, type, BIO, read_bio);
 I3	  76811 #  define DECLARE_PEM_read_bio_ex_attr(attr, name, type)                    \
 I3	  76812     attr PEM_read_cb_fnsig(name, type, BIO, read_bio);                      \
 I3	  76813     attr PEM_read_cb_ex_fnsig(name, type, BIO, read_bio);
 I3	  76814 # define DECLARE_PEM_read_bio(name, type)                                   \
 I3	  76815     DECLARE_PEM_read_bio_attr(extern, name, type)
 I3	  76816 # define DECLARE_PEM_read_bio_ex(name, type)                                \
 I3	  76817     DECLARE_PEM_read_bio_ex_attr(extern, name, type)
 I3	  76818 
 I3	  76819 # define DECLARE_PEM_write_bio_attr(attr, name, type)                       \
 I3	  76820     attr PEM_write_fnsig(name, type, BIO, write_bio);
 I3	  76821 # define DECLARE_PEM_write_bio_ex_attr(attr, name, type)                    \
 I3	  76822     attr PEM_write_fnsig(name, type, BIO, write_bio);                       \
 I3	  76823     attr PEM_write_ex_fnsig(name, type, BIO, write_bio);
 I3	  76824 # define DECLARE_PEM_write_bio(name, type)                                  \
 I3	  76825     DECLARE_PEM_write_bio_attr(extern, name, type)
 I3	  76826 # define DECLARE_PEM_write_bio_ex(name, type)                               \
 I3	  76827     DECLARE_PEM_write_bio_ex_attr(extern, name, type)
 I3	  76828 
 I3	  76829 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76830 #  define DECLARE_PEM_write_bio_const_attr(attr, name, type)                \
 I3	  76831     attr PEM_write_fnsig(name, type, BIO, write_bio);
 I3	  76832 #  define DECLARE_PEM_write_bio_const(name, type)      \
 I3	  76833     DECLARE_PEM_write_bio_const_attr(extern, name, type)
 I3	  76834 # endif
 I3	  76835 
 I3	  76836 # define DECLARE_PEM_write_cb_bio_attr(attr, name, type)                    \
 I3	  76837     attr PEM_write_cb_fnsig(name, type, BIO, write_bio);
 I3	  76838 # define DECLARE_PEM_write_cb_bio_ex_attr(attr, name, type)                 \
 I3	  76839     attr PEM_write_cb_fnsig(name, type, BIO, write_bio);                    \
 I3	  76840     attr PEM_write_cb_ex_fnsig(name, type, BIO, write_bio);
 I3	  76841 # define DECLARE_PEM_write_cb_bio(name, type)                               \
 I3	  76842     DECLARE_PEM_write_cb_bio_attr(extern, name, type)
 I3	  76843 # define DECLARE_PEM_write_cb_ex_bio(name, type)                            \
 I3	  76844     DECLARE_PEM_write_cb_bio_ex_attr(extern, name, type)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1419
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76845 
 I3	  76846 # define DECLARE_PEM_write_attr(attr, name, type)                           \
 I3	  76847     DECLARE_PEM_write_bio_attr(attr, name, type)                            \
 I3	  76848     DECLARE_PEM_write_fp_attr(attr, name, type)
 I3	  76849 # define DECLARE_PEM_write_ex_attr(attr, name, type)                        \
 I3	  76850     DECLARE_PEM_write_bio_ex_attr(attr, name, type)                         \
 I3	  76851     DECLARE_PEM_write_fp_ex_attr(attr, name, type)
 I3	  76852 # define DECLARE_PEM_write(name, type) \
 I3	  76853     DECLARE_PEM_write_attr(extern, name, type)
 I3	  76854 # define DECLARE_PEM_write_ex(name, type) \
 I3	  76855     DECLARE_PEM_write_ex_attr(extern, name, type)
 I3	  76856 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76857 #  define DECLARE_PEM_write_const_attr(attr, name, type)                    \
 I3	  76858     DECLARE_PEM_write_bio_const_attr(attr, name, type)                      \
 I3	  76859     DECLARE_PEM_write_fp_const_attr(attr, name, type)
 I3	  76860 #  define DECLARE_PEM_write_const(name, type)                               \
 I3	  76861     DECLARE_PEM_write_const_attr(extern, name, type)
 I3	  76862 # endif
 I3	  76863 # define DECLARE_PEM_write_cb_attr(attr, name, type)                        \
 I3	  76864     DECLARE_PEM_write_cb_bio_attr(attr, name, type)                         \
 I3	  76865     DECLARE_PEM_write_cb_fp_attr(attr, name, type)
 I3	  76866 # define DECLARE_PEM_write_cb_ex_attr(attr, name, type)                     \
 I3	  76867     DECLARE_PEM_write_cb_bio_ex_attr(attr, name, type)                      \
 I3	  76868     DECLARE_PEM_write_cb_fp_ex_attr(attr, name, type)
 I3	  76869 # define DECLARE_PEM_write_cb(name, type)                                   \
 I3	  76870     DECLARE_PEM_write_cb_attr(extern, name, type)
 I3	  76871 # define DECLARE_PEM_write_cb_ex(name, type)                                \
 I3	  76872     DECLARE_PEM_write_cb_ex_attr(extern, name, type)
 I3	  76873 # define DECLARE_PEM_read_attr(attr, name, type)                            \
 I3	  76874     DECLARE_PEM_read_bio_attr(attr, name, type)                             \
 I3	  76875     DECLARE_PEM_read_fp_attr(attr, name, type)
 I3	  76876 # define DECLARE_PEM_read_ex_attr(attr, name, type)                         \
 I3	  76877     DECLARE_PEM_read_bio_ex_attr(attr, name, type)                          \
 I3	  76878     DECLARE_PEM_read_fp_ex_attr(attr, name, type)
 I3	  76879 # define DECLARE_PEM_read(name, type)                                       \
 I3	  76880     DECLARE_PEM_read_attr(extern, name, type)
 I3	  76881 # define DECLARE_PEM_read_ex(name, type)                                    \
 I3	  76882     DECLARE_PEM_read_ex_attr(extern, name, type)
 I3	  76883 # define DECLARE_PEM_rw_attr(attr, name, type)                              \
 I3	  76884     DECLARE_PEM_read_attr(attr, name, type)                                 \
 I3	  76885     DECLARE_PEM_write_attr(attr, name, type)
 I3	  76886 # define DECLARE_PEM_rw_ex_attr(attr, name, type)                           \
 I3	  76887     DECLARE_PEM_read_ex_attr(attr, name, type)                              \
 I3	  76888     DECLARE_PEM_write_ex_attr(attr, name, type)
 I3	  76889 # define DECLARE_PEM_rw(name, type) \
 I3	  76890     DECLARE_PEM_rw_attr(extern, name, type)
 I3	  76891 # define DECLARE_PEM_rw_ex(name, type) \
 I3	  76892     DECLARE_PEM_rw_ex_attr(extern, name, type)
 I3	  76893 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76894 #  define DECLARE_PEM_rw_const_attr(attr, name, type)                       \
 I3	  76895     DECLARE_PEM_read_attr(attr, name, type)                                 \
 I3	  76896     DECLARE_PEM_write_const_attr(attr, name, type)
 I3	  76897 #  define DECLARE_PEM_rw_const(name, type) \
 I3	  76898     DECLARE_PEM_rw_const_attr(extern, name, type)
 I3	  76899 # endif
 I3	  76900 # define DECLARE_PEM_rw_cb_attr(attr, name, type)                           \
 I3	  76901     DECLARE_PEM_read_attr(attr, name, type)                                 \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1420
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76902     DECLARE_PEM_write_cb_attr(attr, name, type)
 I3	  76903 # define DECLARE_PEM_rw_cb_ex_attr(attr, name, type)                        \
 I3	  76904     DECLARE_PEM_read_ex_attr(attr, name, type)                              \
 I3	  76905     DECLARE_PEM_write_cb_ex_attr(attr, name, type)
 I3	  76906 # define DECLARE_PEM_rw_cb(name, type) \
 I3	  76907     DECLARE_PEM_rw_cb_attr(extern, name, type)
 I3	  76908 # define DECLARE_PEM_rw_cb_ex(name, type) \
 I3	  76909     DECLARE_PEM_rw_cb_ex_attr(extern, name, type)
 I3	  76910 
 I3	  76911 int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher);
 I3	  76912 int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len,
 I3	  76913                   pem_password_cb *callback, void *u);
 I3	  76914 
 I3	  76915 int PEM_read_bio(BIO *bp, char **name, char **header,
 I3	  76916                  unsigned char **data, long *len);
 I3	  76917 #   define PEM_FLAG_SECURE             0x1
 I3	  76918 #   define PEM_FLAG_EAY_COMPATIBLE     0x2
 I3	  76919 #   define PEM_FLAG_ONLY_B64           0x4
 I3	  76920 int PEM_read_bio_ex(BIO *bp, char **name, char **header,
 I3	  76921                     unsigned char **data, long *len, unsigned int flags);
 I3	  76922 int PEM_bytes_read_bio_secmem(unsigned char **pdata, long *plen, char **pnm,
 I3	  76923                               const char *name, BIO *bp, pem_password_cb *cb,
 I3	  76924                               void *u);
 I3	  76925 int PEM_write_bio(BIO *bp, const char *name, const char *hdr,
 I3	  76926                   const unsigned char *data, long len);
 I3	  76927 int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm,
 I3	  76928                        const char *name, BIO *bp, pem_password_cb *cb,
 I3	  76929                        void *u);
 I3	  76930 void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x,
 I3	  76931                         pem_password_cb *cb, void *u);
 I3	  76932 int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp,
 I3	  76933                        const void *x, const EVP_CIPHER *enc,
 I3	  76934                        const unsigned char *kstr, int klen,
 I3	  76935                        pem_password_cb *cb, void *u);
 I3	  76936 
 I3	  76937 STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk,
       E	 struct stack_st_X509_INFO
       E	                                                      struct stack_st_X509_INFO
 I3	  76938                                             pem_password_cb *cb, void *u);
 I3	  76939 STACK_OF(X509_INFO)
       E	 struct stack_st_X509_INFO
 I3	  76940 *PEM_X509_INFO_read_bio_ex(BIO *bp, STACK_OF(X509_INFO) *sk,
       E	                                     struct stack_st_X509_INFO
 I3	  76941                            pem_password_cb *cb, void *u, OSSL_LIB_CTX *libctx,
 I3	  76942                            const char *propq);
 I3	  76943 
 I3	  76944 int PEM_X509_INFO_write_bio(BIO *bp, const X509_INFO *xi, EVP_CIPHER *enc,
 I3	  76945                             const unsigned char *kstr, int klen,
 I3	  76946                             pem_password_cb *cd, void *u);
 I3	  76947 
 I3	  76948 #ifndef OPENSSL_NO_STDIO
 I3	  76949 int PEM_read(FILE *fp, char **name, char **header,
 I3	  76950              unsigned char **data, long *len);
 I3	  76951 int PEM_write(FILE *fp, const char *name, const char *hdr,
 I3	  76952               const unsigned char *data, long len);
 I3	  76953 void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x,
 I3	  76954                     pem_password_cb *cb, void *u);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1421
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76955 int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp,
 I3	  76956                    const void *x, const EVP_CIPHER *enc,
 I3	  76957                    const unsigned char *kstr, int klen,
 I3	  76958                    pem_password_cb *callback, void *u);
 I3	  76959 STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk,
       E	 struct stack_st_X509_INFO
       E	                                                   struct stack_st_X509_INFO
 I3	  76960                                         pem_password_cb *cb, void *u);
 I3	  76961 STACK_OF(X509_INFO)
       E	 struct stack_st_X509_INFO
 I3	  76962 *PEM_X509_INFO_read_ex(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb,
       E	                                  struct stack_st_X509_INFO
 I3	  76963                        void *u, OSSL_LIB_CTX *libctx, const char *propq);
 I3	  76964 #endif
 I3	  76965 
 I3	  76966 int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type);
 I3	  76967 int PEM_SignUpdate(EVP_MD_CTX *ctx, const unsigned char *d, unsigned int cnt);
 I3	  76968 int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,
 I3	  76969                   unsigned int *siglen, EVP_PKEY *pkey);
 I3	  76970 
 I3	  76971 /* The default pem_password_cb that's used internally */
 I3	  76972 int PEM_def_callback(char *buf, int num, int rwflag, void *userdata);
 I3	  76973 void PEM_proc_type(char *buf, int type);
 I3	  76974 void PEM_dek_info(char *buf, const char *type, int len, const char *str);
 I3	  76975 
 I3    X  76976 # include <openssl/symhacks.h>
 I3	  76977 
 I3	  76978 DECLARE_PEM_rw(X509, X509)
       E	 extern X509 * PEM_read_bio_X509 ( BIO * out , X509 * * x , pem_password_cb * cb , void * u ) ; extern X509 * PEM_re
       E	ad_X509 ( FILE * out , X509 * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_X509 ( BIO * out , 
       E	const X509 * x ) ; extern int PEM_write_X509 ( FILE * out , const X509 * x ) ;
 I3	  76979 DECLARE_PEM_rw(X509_AUX, X509)
       E	 extern X509 * PEM_read_bio_X509_AUX ( BIO * out , X509 * * x , pem_password_cb * cb , void * u ) ; extern X509 * PE
       E	M_read_X509_AUX ( FILE * out , X509 * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_X509_AUX ( 
       E	BIO * out , const X509 * x ) ; extern int PEM_write_X509_AUX ( FILE * out , const X509 * x ) ;
 I3	  76980 DECLARE_PEM_rw(X509_REQ, X509_REQ)
       E	 extern X509_REQ * PEM_read_bio_X509_REQ ( BIO * out , X509_REQ * * x , pem_password_cb * cb , void * u ) ; extern X
       E	509_REQ * PEM_read_X509_REQ ( FILE * out , X509_REQ * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write
       E	_bio_X509_REQ ( BIO * out , const X509_REQ * x ) ; extern int PEM_write_X509_REQ ( FILE * out , const X509_REQ * x )
       E	 ;
 I3	  76981 DECLARE_PEM_write(X509_REQ_NEW, X509_REQ)
       E	 extern int PEM_write_bio_X509_REQ_NEW ( BIO * out , const X509_REQ * x ) ; extern int PEM_write_X509_REQ_NEW ( FILE
       E	 * out , const X509_REQ * x ) ;
 I3	  76982 DECLARE_PEM_rw(X509_CRL, X509_CRL)
       E	 extern X509_CRL * PEM_read_bio_X509_CRL ( BIO * out , X509_CRL * * x , pem_password_cb * cb , void * u ) ; extern X
       E	509_CRL * PEM_read_X509_CRL ( FILE * out , X509_CRL * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write
       E	_bio_X509_CRL ( BIO * out , const X509_CRL * x ) ; extern int PEM_write_X509_CRL ( FILE * out , const X509_CRL * x )
       E	 ;
 I3	  76983 DECLARE_PEM_rw(X509_PUBKEY, X509_PUBKEY)
       E	 extern X509_PUBKEY * PEM_read_bio_X509_PUBKEY ( BIO * out , X509_PUBKEY * * x , pem_password_cb * cb , void * u ) ;
       E	 extern X509_PUBKEY * PEM_read_X509_PUBKEY ( FILE * out , X509_PUBKEY * * x , pem_password_cb * cb , void * u ) ; ex
       E	tern int PEM_write_bio_X509_PUBKEY ( BIO * out , const X509_PUBKEY * x ) ; extern int PEM_write_X509_PUBKEY ( FILE *
       E	 out , const X509_PUBKEY * x ) ;
 I3	  76984 DECLARE_PEM_rw(PKCS7, PKCS7)
       E	 extern PKCS7 * PEM_read_bio_PKCS7 ( BIO * out , PKCS7 * * x , pem_password_cb * cb , void * u ) ; extern PKCS7 * PE
       E	M_read_PKCS7 ( FILE * out , PKCS7 * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_PKCS7 ( BIO *
       E	 out , const PKCS7 * x ) ; extern int PEM_write_PKCS7 ( FILE * out , const PKCS7 * x ) ;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1422
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  76985 DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE)
       E	 extern NETSCAPE_CERT_SEQUENCE * PEM_read_bio_NETSCAPE_CERT_SEQUENCE ( BIO * out , NETSCAPE_CERT_SEQUENCE * * x , pe
       E	m_password_cb * cb , void * u ) ; extern NETSCAPE_CERT_SEQUENCE * PEM_read_NETSCAPE_CERT_SEQUENCE ( FILE * out , NET
       E	SCAPE_CERT_SEQUENCE * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_NETSCAPE_CERT_SEQUENCE ( BI
       E	O * out , const NETSCAPE_CERT_SEQUENCE * x ) ; extern int PEM_write_NETSCAPE_CERT_SEQUENCE ( FILE * out , const NETS
       E	CAPE_CERT_SEQUENCE * x ) ;
 I3	  76986 DECLARE_PEM_rw(PKCS8, X509_SIG)
       E	 extern X509_SIG * PEM_read_bio_PKCS8 ( BIO * out , X509_SIG * * x , pem_password_cb * cb , void * u ) ; extern X509
       E	_SIG * PEM_read_PKCS8 ( FILE * out , X509_SIG * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_P
       E	KCS8 ( BIO * out , const X509_SIG * x ) ; extern int PEM_write_PKCS8 ( FILE * out , const X509_SIG * x ) ;
 I3	  76987 DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO)
       E	 extern PKCS8_PRIV_KEY_INFO * PEM_read_bio_PKCS8_PRIV_KEY_INFO ( BIO * out , PKCS8_PRIV_KEY_INFO * * x , pem_passwor
       E	d_cb * cb , void * u ) ; extern PKCS8_PRIV_KEY_INFO * PEM_read_PKCS8_PRIV_KEY_INFO ( FILE * out , PKCS8_PRIV_KEY_INF
       E	O * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_PKCS8_PRIV_KEY_INFO ( BIO * out , const PKCS8
       E	_PRIV_KEY_INFO * x ) ; extern int PEM_write_PKCS8_PRIV_KEY_INFO ( FILE * out , const PKCS8_PRIV_KEY_INFO * x ) ;
 I3	  76988 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76989 DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA)
       E	 extern RSA * PEM_read_bio_RSAPrivateKey ( BIO * out , RSA * * x , pem_password_cb * cb , void * u ) ; extern RSA * 
       E	PEM_read_RSAPrivateKey ( FILE * out , RSA * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_RSAPr
       E	ivateKey ( BIO * out , const RSA * x , const EVP_CIPHER * enc , const unsigned char * kstr , int klen , pem_password
       E	_cb * cb , void * u ) ; extern int PEM_write_RSAPrivateKey ( FILE * out , const RSA * x , const EVP_CIPHER * enc , c
       E	onst unsigned char * kstr , int klen , pem_password_cb * cb , void * u ) ;
 I3	  76990 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, RSAPublicKey, RSA)
       E	 extern RSA * PEM_read_bio_RSAPublicKey ( BIO * out , RSA * * x , pem_password_cb * cb , void * u ) ; extern RSA * P
       E	EM_read_RSAPublicKey ( FILE * out , RSA * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_RSAPubl
       E	icKey ( BIO * out , const RSA * x ) ; extern int PEM_write_RSAPublicKey ( FILE * out , const RSA * x ) ;
 I3	  76991 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, RSA_PUBKEY, RSA)
       E	 extern RSA * PEM_read_bio_RSA_PUBKEY ( BIO * out , RSA * * x , pem_password_cb * cb , void * u ) ; extern RSA * PEM
       E	_read_RSA_PUBKEY ( FILE * out , RSA * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_RSA_PUBKEY 
       E	( BIO * out , const RSA * x ) ; extern int PEM_write_RSA_PUBKEY ( FILE * out , const RSA * x ) ;
 I3	  76992 # endif
 I3	  76993 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  76994 #  ifndef OPENSSL_NO_DSA
 I3	  76995 DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, DSAPrivateKey, DSA)
       E	 extern DSA * PEM_read_bio_DSAPrivateKey ( BIO * out , DSA * * x , pem_password_cb * cb , void * u ) ; extern DSA * 
       E	PEM_read_DSAPrivateKey ( FILE * out , DSA * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_DSAPr
       E	ivateKey ( BIO * out , const DSA * x , const EVP_CIPHER * enc , const unsigned char * kstr , int klen , pem_password
       E	_cb * cb , void * u ) ; extern int PEM_write_DSAPrivateKey ( FILE * out , const DSA * x , const EVP_CIPHER * enc , c
       E	onst unsigned char * kstr , int klen , pem_password_cb * cb , void * u ) ;
 I3	  76996 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DSA_PUBKEY, DSA)
       E	 extern DSA * PEM_read_bio_DSA_PUBKEY ( BIO * out , DSA * * x , pem_password_cb * cb , void * u ) ; extern DSA * PEM
       E	_read_DSA_PUBKEY ( FILE * out , DSA * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_DSA_PUBKEY 
       E	( BIO * out , const DSA * x ) ; extern int PEM_write_DSA_PUBKEY ( FILE * out , const DSA * x ) ;
 I3	  76997 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DSAparams, DSA)
       E	 extern DSA * PEM_read_bio_DSAparams ( BIO * out , DSA * * x , pem_password_cb * cb , void * u ) ; extern DSA * PEM_
       E	read_DSAparams ( FILE * out , DSA * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_DSAparams ( B
       E	IO * out , const DSA * x ) ; extern int PEM_write_DSAparams ( FILE * out , const DSA * x ) ;
 I3	  76998 #  endif
 I3	  76999 # endif
 I3	  77000 
 I3	  77001 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  77002 #  ifndef OPENSSL_NO_EC
 I3	  77003 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, ECPKParameters, EC_GROUP)
       E	 extern EC_GROUP * PEM_read_bio_ECPKParameters ( BIO * out , EC_GROUP * * x , pem_password_cb * cb , void * u ) ; ex
       E	tern EC_GROUP * PEM_read_ECPKParameters ( FILE * out , EC_GROUP * * x , pem_password_cb * cb , void * u ) ; extern i
       E	nt PEM_write_bio_ECPKParameters ( BIO * out , const EC_GROUP * x ) ; extern int PEM_write_ECPKParameters ( FILE * ou
       E	t , const EC_GROUP * x ) ;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1423
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  77004 DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, ECPrivateKey, EC_KEY)
       E	 extern EC_KEY * PEM_read_bio_ECPrivateKey ( BIO * out , EC_KEY * * x , pem_password_cb * cb , void * u ) ; extern E
       E	C_KEY * PEM_read_ECPrivateKey ( FILE * out , EC_KEY * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write
       E	_bio_ECPrivateKey ( BIO * out , const EC_KEY * x , const EVP_CIPHER * enc , const unsigned char * kstr , int klen , 
       E	pem_password_cb * cb , void * u ) ; extern int PEM_write_ECPrivateKey ( FILE * out , const EC_KEY * x , const EVP_CI
       E	PHER * enc , const unsigned char * kstr , int klen , pem_password_cb * cb , void * u ) ;
 I3	  77005 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, EC_PUBKEY, EC_KEY)
       E	 extern EC_KEY * PEM_read_bio_EC_PUBKEY ( BIO * out , EC_KEY * * x , pem_password_cb * cb , void * u ) ; extern EC_K
       E	EY * PEM_read_EC_PUBKEY ( FILE * out , EC_KEY * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_E
       E	C_PUBKEY ( BIO * out , const EC_KEY * x ) ; extern int PEM_write_EC_PUBKEY ( FILE * out , const EC_KEY * x ) ;
 I3	  77006 #  endif
 I3	  77007 # endif
 I3	  77008 
 I3	  77009 # ifndef OPENSSL_NO_DH
 I3	  77010 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  77011 DECLARE_PEM_rw_attr(OSSL_DEPRECATEDIN_3_0, DHparams, DH)
       E	 extern DH * PEM_read_bio_DHparams ( BIO * out , DH * * x , pem_password_cb * cb , void * u ) ; extern DH * PEM_read
       E	_DHparams ( FILE * out , DH * * x , pem_password_cb * cb , void * u ) ; extern int PEM_write_bio_DHparams ( BIO * ou
       E	t , const DH * x ) ; extern int PEM_write_DHparams ( FILE * out , const DH * x ) ;
 I3	  77012 DECLARE_PEM_write_attr(OSSL_DEPRECATEDIN_3_0, DHxparams, DH)
       E	 extern int PEM_write_bio_DHxparams ( BIO * out , const DH * x ) ; extern int PEM_write_DHxparams ( FILE * out , con
       E	st DH * x ) ;
 I3	  77013 #  endif
 I3	  77014 # endif
 I3	  77015 DECLARE_PEM_rw_cb_ex(PrivateKey, EVP_PKEY)
       E	 extern EVP_PKEY * PEM_read_bio_PrivateKey ( BIO * out , EVP_PKEY * * x , pem_password_cb * cb , void * u ) ; extern
       E	 EVP_PKEY * PEM_read_bio_PrivateKey_ex ( BIO * out , EVP_PKEY * * x , pem_password_cb * cb , void * u , OSSL_LIB_CTX
       E	 * libctx , const char * propq ) ; extern EVP_PKEY * PEM_read_PrivateKey ( FILE * out , EVP_PKEY * * x , pem_passwor
       E	d_cb * cb , void * u ) ; extern EVP_PKEY * PEM_read_PrivateKey_ex ( FILE * out , EVP_PKEY * * x , pem_password_cb * 
       E	cb , void * u , OSSL_LIB_CTX * libctx , const char * propq ) ; extern int PEM_write_bio_PrivateKey ( BIO * out , con
       E	st EVP_PKEY * x , const EVP_CIPHER * enc , const unsigned char * kstr , int klen , pem_password_cb * cb , void * u )
       E	 ; extern int PEM_write_bio_PrivateKey_ex ( BIO * out , const EVP_PKEY * x , const EVP_CIPHER * enc , const unsigned
       E	 char * kstr , int klen , pem_password_cb * cb , void * u , OSSL_LIB_CTX * libctx , const char * propq ) ; extern in
       E	t PEM_write_PrivateKey ( FILE * out , const EVP_PKEY * x , const EVP_CIPHER * enc , const unsigned char * kstr , int
       E	 klen , pem_password_cb * cb , void * u ) ; extern int PEM_write_PrivateKey_ex ( FILE * out , const EVP_PKEY * x , c
       E	onst EVP_CIPHER * enc , const unsigned char * kstr , int klen , pem_password_cb * cb , void * u , OSSL_LIB_CTX * lib
       E	ctx , const char * propq ) ;
 I3	  77016 DECLARE_PEM_rw_ex(PUBKEY, EVP_PKEY)
       E	 extern EVP_PKEY * PEM_read_bio_PUBKEY ( BIO * out , EVP_PKEY * * x , pem_password_cb * cb , void * u ) ; extern EVP
       E	_PKEY * PEM_read_bio_PUBKEY_ex ( BIO * out , EVP_PKEY * * x , pem_password_cb * cb , void * u , OSSL_LIB_CTX * libct
       E	x , const char * propq ) ; extern EVP_PKEY * PEM_read_PUBKEY ( FILE * out , EVP_PKEY * * x , pem_password_cb * cb , 
       E	void * u ) ; extern EVP_PKEY * PEM_read_PUBKEY_ex ( FILE * out , EVP_PKEY * * x , pem_password_cb * cb , void * u , 
       E	OSSL_LIB_CTX * libctx , const char * propq ) ; extern int PEM_write_bio_PUBKEY ( BIO * out , const EVP_PKEY * x ) ; 
       E	extern int PEM_write_bio_PUBKEY_ex ( BIO * out , const EVP_PKEY * x , OSSL_LIB_CTX * libctx , const char * propq ) ;
       E	 extern int PEM_write_PUBKEY ( FILE * out , const EVP_PKEY * x ) ; extern int PEM_write_PUBKEY_ex ( FILE * out , con
       E	st EVP_PKEY * x , OSSL_LIB_CTX * libctx , const char * propq ) ;
 I3	  77017 
 I3	  77018 int PEM_write_bio_PrivateKey_traditional(BIO *bp, const EVP_PKEY *x,
 I3	  77019                                          const EVP_CIPHER *enc,
 I3	  77020                                          const unsigned char *kstr, int klen,
 I3	  77021                                          pem_password_cb *cb, void *u);
 I3	  77022 
 I3	  77023 /* Why do these take a signed char *kstr? */
 I3	  77024 int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x, int nid,
 I3	  77025                                       const char *kstr, int klen,
 I3	  77026                                       pem_password_cb *cb, void *u);
 I3	  77027 int PEM_write_bio_PKCS8PrivateKey(BIO *, const EVP_PKEY *, const EVP_CIPHER *,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1424
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]PEM.H;1

 I3	  77028                                   const char *kstr, int klen,
 I3	  77029                                   pem_password_cb *cb, void *u);
 I3	  77030 int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc,
 I3	  77031                             const char *kstr, int klen,
 I3	  77032                             pem_password_cb *cb, void *u);
 I3	  77033 int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid,
 I3	  77034                                 const char *kstr, int klen,
 I3	  77035                                 pem_password_cb *cb, void *u);
 I3	  77036 EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb,
 I3	  77037                                   void *u);
 I3	  77038 
 I3	  77039 # ifndef OPENSSL_NO_STDIO
 I3	  77040 int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc,
 I3	  77041                            const char *kstr, int klen,
 I3	  77042                            pem_password_cb *cb, void *u);
 I3	  77043 int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid,
 I3	  77044                                const char *kstr, int klen,
 I3	  77045                                pem_password_cb *cb, void *u);
 I3	  77046 int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int nid,
 I3	  77047                                   const char *kstr, int klen,
 I3	  77048                                   pem_password_cb *cb, void *u);
 I3	  77049 
 I3	  77050 EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb,
 I3	  77051                                  void *u);
 I3	  77052 
 I3	  77053 int PEM_write_PKCS8PrivateKey(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc,
 I3	  77054                               const char *kstr, int klen,
 I3	  77055                               pem_password_cb *cd, void *u);
 I3	  77056 # endif
 I3	  77057 EVP_PKEY *PEM_read_bio_Parameters_ex(BIO *bp, EVP_PKEY **x,
 I3	  77058                                      OSSL_LIB_CTX *libctx, const char *propq);
 I3	  77059 EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x);
 I3	  77060 int PEM_write_bio_Parameters(BIO *bp, const EVP_PKEY *x);
 I3	  77061 
 I3	  77062 EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length);
 I3	  77063 EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length);
 I3	  77064 EVP_PKEY *b2i_PrivateKey_bio(BIO *in);
 I3	  77065 EVP_PKEY *b2i_PublicKey_bio(BIO *in);
 I3	  77066 int i2b_PrivateKey_bio(BIO *out, const EVP_PKEY *pk);
 I3	  77067 int i2b_PublicKey_bio(BIO *out, const EVP_PKEY *pk);
 I3	  77068 EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u);
 I3	  77069 EVP_PKEY *b2i_PVK_bio_ex(BIO *in, pem_password_cb *cb, void *u,
 I3	  77070                          OSSL_LIB_CTX *libctx, const char *propq);
 I3	  77071 int i2b_PVK_bio(BIO *out, const EVP_PKEY *pk, int enclevel,
 I3	  77072                 pem_password_cb *cb, void *u);
 I3	  77073 int i2b_PVK_bio_ex(BIO *out, const EVP_PKEY *pk, int enclevel,
 I3	  77074                    pem_password_cb *cb, void *u,
 I3	  77075                    OSSL_LIB_CTX *libctx, const char *propq);
 I3	  77076 
 I3    X  77077 # ifdef  __cplusplus
 I3    X  77078 }
 I3    X  77079 # endif
 I3	  77080 #endif
 I2	  77081 # include <openssl/hmac.h>
 I3	  77082 /*
 I3	  77083  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  77084  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1425
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]HMAC.H;1

 I3	  77085  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  77086  * this file except in compliance with the License.  You can obtain a copy
 I3	  77087  * in the file LICENSE in the source distribution or at
 I3	  77088  * https://www.openssl.org/source/license.html
 I3	  77089  */
 I3	  77090 
 I3	  77091 #ifndef OPENSSL_HMAC_H
 I3	  77092 # define OPENSSL_HMAC_H
 I3	  77093 # pragma once
 I3	  77094 
 I3    X  77095 # include <openssl/macros.h>
 I3	  77096 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  77097 #  define HEADER_HMAC_H
 I3	  77098 # endif
 I3	  77099 
 I3    X  77100 # include <openssl/opensslconf.h>
 I3	  77101 
 I3    X  77102 # include <openssl/evp.h>
 I3	  77103 
 I3	  77104 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  77105 #  define HMAC_MAX_MD_CBLOCK      200    /* Deprecated */
 I3	  77106 # endif
 I3	  77107 
 I3    X  77108 # ifdef  __cplusplus
 I3    X  77109 extern "C" {
 I3    X  77110 # endif
 I3	  77111 
 I3	  77112 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  77113 OSSL_DEPRECATEDIN_3_0 size_t HMAC_size(const HMAC_CTX *e);
       E	 extern
 I3	  77114 OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void);
       E	 extern
 I3	  77115 OSSL_DEPRECATEDIN_3_0 int HMAC_CTX_reset(HMAC_CTX *ctx);
       E	 extern
 I3	  77116 OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);
       E	 extern
 I3	  77117 # endif
 I3	  77118 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I3	  77119 OSSL_DEPRECATEDIN_1_1_0 __owur int HMAC_Init(HMAC_CTX *ctx,
       E	 extern
       E	                         
 I3	  77120                                              const void *key, int len,
 I3	  77121                                              const EVP_MD *md);
 I3	  77122 # endif
 I3	  77123 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  77124 OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
       E	 extern
 I3	  77125                                        const EVP_MD *md, ENGINE *impl);
 I3	  77126 OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
       E	 extern
 I3	  77127                                       size_t len);
 I3	  77128 OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
       E	 extern
 I3	  77129                                      unsigned int *len);
 I3	  77130 OSSL_DEPRECATEDIN_3_0 __owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx);
       E	 extern
       E	                       

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1426
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]HMAC.H;1

 I3	  77131 OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags);
       E	 extern
 I3	  77132 OSSL_DEPRECATEDIN_3_0 const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx);
       E	 extern
 I3	  77133 # endif
 I3	  77134 
 I3	  77135 unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
 I3	  77136                     const unsigned char *data, size_t data_len,
 I3	  77137                     unsigned char *md, unsigned int *md_len);
 I3	  77138 
 I3    X  77139 # ifdef  __cplusplus
 I3    X  77140 }
 I3    X  77141 # endif
 I3	  77142 
 I3	  77143 #endif
 I2	  77144 # include <openssl/async.h>
 I3	  77145 /*
 I3	  77146  * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
 I3	  77147  *
 I3	  77148  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  77149  * this file except in compliance with the License.  You can obtain a copy
 I3	  77150  * in the file LICENSE in the source distribution or at
 I3	  77151  * https://www.openssl.org/source/license.html
 I3	  77152  */
 I3	  77153 
 I3    X  77154 #include <stdlib.h>
 I3	  77155 
 I3	  77156 #ifndef OPENSSL_ASYNC_H
 I3	  77157 # define OPENSSL_ASYNC_H
 I3	  77158 # pragma once
 I3	  77159 
 I3    X  77160 # include <openssl/macros.h>
 I3	  77161 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  77162 #  define HEADER_ASYNC_H
 I3	  77163 # endif
 I3	  77164 
 I3    X  77165 #if defined(_WIN32)
 I3    X  77166 # if defined(BASETYPES) || defined(_WINDEF_H)
 I3    X  77167 /* application has to include <windows.h> to use this */
 I3    X  77168 #define OSSL_ASYNC_FD       HANDLE
 I3    X  77169 #define OSSL_BAD_ASYNC_FD   INVALID_HANDLE_VALUE
 I3    X  77170 # endif
 I3    X  77171 #else
 I3	  77172 #define OSSL_ASYNC_FD       int
 I3	  77173 #define OSSL_BAD_ASYNC_FD   -1
 I3	  77174 #endif
 I3	  77175 # include <openssl/asyncerr.h>
 I4	  77176 /*
 I4	  77177  * Generated by util/mkerr.pl DO NOT EDIT
 I4	  77178  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  77179  *
 I4	  77180  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  77181  * this file except in compliance with the License.  You can obtain a copy
 I4	  77182  * in the file LICENSE in the source distribution or at
 I4	  77183  * https://www.openssl.org/source/license.html
 I4	  77184  */
 I4	  77185 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1427
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ASYNCERR.H;1

 I4	  77186 #ifndef OPENSSL_ASYNCERR_H
 I4	  77187 # define OPENSSL_ASYNCERR_H
 I4	  77188 # pragma once
 I4	  77189 
 I4    X  77190 # include <openssl/opensslconf.h>
 I4    X  77191 # include <openssl/symhacks.h>
 I4    X  77192 # include <openssl/cryptoerr_legacy.h>
 I4	  77193 
 I4	  77194 
 I4	  77195 
 I4	  77196 /*
 I4	  77197  * ASYNC reason codes.
 I4	  77198  */
 I4	  77199 # define ASYNC_R_FAILED_TO_SET_POOL                       101
 I4	  77200 # define ASYNC_R_FAILED_TO_SWAP_CONTEXT                   102
 I4	  77201 # define ASYNC_R_INIT_FAILED                              105
 I4	  77202 # define ASYNC_R_INVALID_POOL_SIZE                        103
 I4	  77203 
 I4	  77204 #endif
 I3	  77205 
 I3	  77206 
 I3    X  77207 # ifdef  __cplusplus
 I3    X  77208 extern "C" {
 I3    X  77209 # endif
 I3	  77210 
 I3	  77211 typedef struct async_job_st ASYNC_JOB;
 I3	  77212 typedef struct async_wait_ctx_st ASYNC_WAIT_CTX;
 I3	  77213 typedef int (*ASYNC_callback_fn)(void *arg);
 I3	  77214 
 I3	  77215 #define ASYNC_ERR      0
 I3	  77216 #define ASYNC_NO_JOBS  1
 I3	  77217 #define ASYNC_PAUSE    2
 I3	  77218 #define ASYNC_FINISH   3
 I3	  77219 
 I3	  77220 #define ASYNC_STATUS_UNSUPPORTED    0
 I3	  77221 #define ASYNC_STATUS_ERR            1
 I3	  77222 #define ASYNC_STATUS_OK             2
 I3	  77223 #define ASYNC_STATUS_EAGAIN         3
 I3	  77224 
 I3	  77225 int ASYNC_init_thread(size_t max_size, size_t init_size);
 I3	  77226 void ASYNC_cleanup_thread(void);
 I3	  77227 
 I3	  77228 #ifdef OSSL_ASYNC_FD
 I3	  77229 ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void);
 I3	  77230 void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx);
 I3	  77231 int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key,
 I3	  77232                                OSSL_ASYNC_FD fd,
       E	                                int
 I3	  77233                                void *custom_data,
 I3	  77234                                void (*cleanup)(ASYNC_WAIT_CTX *, const void *,
 I3	  77235                                                OSSL_ASYNC_FD, void *));
       E	                                                int
 I3	  77236 int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx, const void *key,
 I3	  77237                         OSSL_ASYNC_FD *fd, void **custom_data);
       E	                         int
 I3	  77238 int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *fd,
       E	                                                     int

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1428
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ASYNC.H;1

 I3	  77239                                size_t *numfds);
 I3	  77240 int ASYNC_WAIT_CTX_get_callback(ASYNC_WAIT_CTX *ctx,
 I3	  77241                                 ASYNC_callback_fn *callback,
 I3	  77242                                 void **callback_arg);
 I3	  77243 int ASYNC_WAIT_CTX_set_callback(ASYNC_WAIT_CTX *ctx,
 I3	  77244                                 ASYNC_callback_fn callback,
 I3	  77245                                 void *callback_arg);
 I3	  77246 int ASYNC_WAIT_CTX_set_status(ASYNC_WAIT_CTX *ctx, int status);
 I3	  77247 int ASYNC_WAIT_CTX_get_status(ASYNC_WAIT_CTX *ctx);
 I3	  77248 int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *addfd,
       E	                                                         int
 I3	  77249                                    size_t *numaddfds, OSSL_ASYNC_FD *delfd,
       E	                                                       int
 I3	  77250                                    size_t *numdelfds);
 I3	  77251 int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key);
 I3	  77252 #endif
 I3	  77253 
 I3	  77254 int ASYNC_is_capable(void);
 I3	  77255 
 I3	  77256 int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *ctx, int *ret,
 I3	  77257                     int (*func)(void *), void *args, size_t size);
 I3	  77258 int ASYNC_pause_job(void);
 I3	  77259 
 I3	  77260 ASYNC_JOB *ASYNC_get_current_job(void);
 I3	  77261 ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job);
 I3	  77262 void ASYNC_block_pause(void);
 I3	  77263 void ASYNC_unblock_pause(void);
 I3	  77264 
 I3	  77265 
 I3    X  77266 # ifdef  __cplusplus
 I3    X  77267 }
 I3    X  77268 # endif
 I3	  77269 #endif
 I2	  77270 
 I2    X  77271 # include <openssl/safestack.h>
 I2    X  77272 # include <openssl/symhacks.h>
 I2	  77273 # include <openssl/ct.h>
 I3	  77274 /*
 I3	  77275  * WARNING: do not edit!
 I3	  77276  * Generated by descrip.mms from [-.include.openssl]ct.h.in
 I3	  77277  *
 I3	  77278  * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
 I3	  77279  *
 I3	  77280  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  77281  * this file except in compliance with the License.  You can obtain a copy
 I3	  77282  * in the file LICENSE in the source distribution or at
 I3	  77283  * https://www.openssl.org/source/license.html
 I3	  77284  */
 I3	  77285 
 I3	  77286 
 I3	  77287 
 I3	  77288 #ifndef OPENSSL_CT_H
 I3	  77289 # define OPENSSL_CT_H
 I3	  77290 # pragma once
 I3	  77291 
 I3    X  77292 # include <openssl/macros.h>
 I3	  77293 # ifndef OPENSSL_NO_DEPRECATED_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1429
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77294 #  define HEADER_CT_H
 I3	  77295 # endif
 I3	  77296 
 I3    X  77297 # include <openssl/opensslconf.h>
 I3	  77298 
 I3	  77299 # ifndef OPENSSL_NO_CT
 I3    X  77300 # include <openssl/types.h>
 I3    X  77301 # include <openssl/safestack.h>
 I3    X  77302 # include <openssl/x509.h>
 I3	  77303 # include <openssl/cterr.h>
 I4	  77304 /*
 I4	  77305  * Generated by util/mkerr.pl DO NOT EDIT
 I4	  77306  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  77307  *
 I4	  77308  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  77309  * this file except in compliance with the License.  You can obtain a copy
 I4	  77310  * in the file LICENSE in the source distribution or at
 I4	  77311  * https://www.openssl.org/source/license.html
 I4	  77312  */
 I4	  77313 
 I4	  77314 #ifndef OPENSSL_CTERR_H
 I4	  77315 # define OPENSSL_CTERR_H
 I4	  77316 # pragma once
 I4	  77317 
 I4    X  77318 # include <openssl/opensslconf.h>
 I4    X  77319 # include <openssl/symhacks.h>
 I4    X  77320 # include <openssl/cryptoerr_legacy.h>
 I4	  77321 
 I4	  77322 
 I4	  77323 # ifndef OPENSSL_NO_CT
 I4	  77324 
 I4	  77325 
 I4	  77326 /*
 I4	  77327  * CT reason codes.
 I4	  77328  */
 I4	  77329 #  define CT_R_BASE64_DECODE_ERROR                         108
 I4	  77330 #  define CT_R_INVALID_LOG_ID_LENGTH                       100
 I4	  77331 #  define CT_R_LOG_CONF_INVALID                            109
 I4	  77332 #  define CT_R_LOG_CONF_INVALID_KEY                        110
 I4	  77333 #  define CT_R_LOG_CONF_MISSING_DESCRIPTION                111
 I4	  77334 #  define CT_R_LOG_CONF_MISSING_KEY                        112
 I4	  77335 #  define CT_R_LOG_KEY_INVALID                             113
 I4	  77336 #  define CT_R_SCT_FUTURE_TIMESTAMP                        116
 I4	  77337 #  define CT_R_SCT_INVALID                                 104
 I4	  77338 #  define CT_R_SCT_INVALID_SIGNATURE                       107
 I4	  77339 #  define CT_R_SCT_LIST_INVALID                            105
 I4	  77340 #  define CT_R_SCT_LOG_ID_MISMATCH                         114
 I4	  77341 #  define CT_R_SCT_NOT_SET                                 106
 I4	  77342 #  define CT_R_SCT_UNSUPPORTED_VERSION                     115
 I4	  77343 #  define CT_R_UNRECOGNIZED_SIGNATURE_NID                  101
 I4	  77344 #  define CT_R_UNSUPPORTED_ENTRY_TYPE                      102
 I4	  77345 #  define CT_R_UNSUPPORTED_VERSION                         103
 I4	  77346 
 I4	  77347 # endif
 I4	  77348 #endif
 I3    X  77349 # ifdef  __cplusplus
 I3    X  77350 extern "C" {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1430
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3    X  77351 # endif
 I3	  77352 
 I3	  77353 
 I3	  77354 /* Minimum RSA key size, from RFC6962 */
 I3	  77355 # define SCT_MIN_RSA_BITS 2048
 I3	  77356 
 I3	  77357 /* All hashes are SHA256 in v1 of Certificate Transparency */
 I3	  77358 # define CT_V1_HASHLEN SHA256_DIGEST_LENGTH
 I3	  77359 
 I3   1	  77360 SKM_DEFINE_STACK_OF_INTERNAL(SCT, SCT, SCT)
       E	 struct stack_st_SCT ; typedef int ( * sk_SCT_compfunc ) ( const SCT * const * a , const SCT * const * b ) ; typedef
       E	 void ( * sk_SCT_freefunc ) ( SCT * a ) ; typedef SCT * ( * sk_SCT_copyfunc ) ( const SCT * a ) ; static __inline SC
       E	T * ossl_check_SCT_type ( SCT * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_SCT_sk
       E	_type ( const struct stack_st_SCT * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * o
       E	ssl_check_SCT_sk_type ( struct stack_st_SCT * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_co
       E	mpfunc ossl_check_SCT_compfunc_type ( sk_SCT_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline
       E	 OPENSSL_sk_copyfunc ossl_check_SCT_copyfunc_type ( sk_SCT_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } s
       E	tatic __inline OPENSSL_sk_freefunc ossl_check_SCT_freefunc_type ( sk_SCT_freefunc fr ) { return ( OPENSSL_sk_freefun
       E	c ) fr ; }
 I3	  77361 #define sk_SCT_num(sk) OPENSSL_sk_num(ossl_check_const_SCT_sk_type(sk))
 I3	  77362 #define sk_SCT_value(sk, idx) ((SCT *)OPENSSL_sk_value(ossl_check_const_SCT_sk_type(sk), (idx)))
 I3	  77363 #define sk_SCT_new(cmp) ((STACK_OF(SCT) *)OPENSSL_sk_new(ossl_check_SCT_compfunc_type(cmp)))
 I3	  77364 #define sk_SCT_new_null() ((STACK_OF(SCT) *)OPENSSL_sk_new_null())
 I3	  77365 #define sk_SCT_new_reserve(cmp, n) ((STACK_OF(SCT) *)OPENSSL_sk_new_reserve(ossl_check_SCT_compfunc_type(cmp), (n)))
 I3	  77366 #define sk_SCT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SCT_sk_type(sk), (n))
 I3	  77367 #define sk_SCT_free(sk) OPENSSL_sk_free(ossl_check_SCT_sk_type(sk))
 I3	  77368 #define sk_SCT_zero(sk) OPENSSL_sk_zero(ossl_check_SCT_sk_type(sk))
 I3	  77369 #define sk_SCT_delete(sk, i) ((SCT *)OPENSSL_sk_delete(ossl_check_SCT_sk_type(sk), (i)))
 I3	  77370 #define sk_SCT_delete_ptr(sk, ptr) ((SCT *)OPENSSL_sk_delete_ptr(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr
 I3	  77370 )))
 I3	  77371 #define sk_SCT_push(sk, ptr) OPENSSL_sk_push(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr))
 I3	  77372 #define sk_SCT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr))
 I3	  77373 #define sk_SCT_pop(sk) ((SCT *)OPENSSL_sk_pop(ossl_check_SCT_sk_type(sk)))
 I3	  77374 #define sk_SCT_shift(sk) ((SCT *)OPENSSL_sk_shift(ossl_check_SCT_sk_type(sk)))
 I3	  77375 #define sk_SCT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SCT_sk_type(sk),ossl_check_SCT_freefunc_type(fr
 I3	  77375 eefunc))
 I3	  77376 #define sk_SCT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr), (idx))
 I3	  77377 #define sk_SCT_set(sk, idx, ptr) ((SCT *)OPENSSL_sk_set(ossl_check_SCT_sk_type(sk), (idx), ossl_check_SCT_type(ptr))
 I3	  77377 )
 I3	  77378 #define sk_SCT_find(sk, ptr) OPENSSL_sk_find(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr))
 I3	  77379 #define sk_SCT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr))
 I3	  77380 #define sk_SCT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr), pnu
 I3	  77380 m)
 I3	  77381 #define sk_SCT_sort(sk) OPENSSL_sk_sort(ossl_check_SCT_sk_type(sk))
 I3	  77382 #define sk_SCT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SCT_sk_type(sk))
 I3	  77383 #define sk_SCT_dup(sk) ((STACK_OF(SCT) *)OPENSSL_sk_dup(ossl_check_const_SCT_sk_type(sk)))
 I3	  77384 #define sk_SCT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SCT) *)OPENSSL_sk_deep_copy(ossl_check_const_SCT_sk_type
 I3	  77384 (sk), ossl_check_SCT_copyfunc_type(copyfunc), ossl_check_SCT_freefunc_type(freefunc)))
 I3	  77385 #define sk_SCT_set_cmp_func(sk, cmp) ((sk_SCT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SCT_sk_type(sk), ossl_chec
 I3	  77385 k_SCT_compfunc_type(cmp)))
 I3   1	  77386 SKM_DEFINE_STACK_OF_INTERNAL(CTLOG, CTLOG, CTLOG)
       E	 struct stack_st_CTLOG ; typedef int ( * sk_CTLOG_compfunc ) ( const CTLOG * const * a , const CTLOG * const * b ) ;
       E	 typedef void ( * sk_CTLOG_freefunc ) ( CTLOG * a ) ; typedef CTLOG * ( * sk_CTLOG_copyfunc ) ( const CTLOG * a ) ; 
       E	static __inline CTLOG * ossl_check_CTLOG_type ( CTLOG * ptr ) { return ptr ; } static __inline const OPENSSL_STACK *
       E	 ossl_check_const_CTLOG_sk_type ( const struct stack_st_CTLOG * sk ) { return ( const OPENSSL_STACK * ) sk ; } stati
       E	c __inline OPENSSL_STACK * ossl_check_CTLOG_sk_type ( struct stack_st_CTLOG * sk ) { return ( OPENSSL_STACK * ) sk ;
       E	 } static __inline OPENSSL_sk_compfunc ossl_check_CTLOG_compfunc_type ( sk_CTLOG_compfunc cmp ) { return ( OPENSSL_s

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1431
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

       E	k_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_CTLOG_copyfunc_type ( sk_CTLOG_copyfunc cpy ) { 
       E	return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_CTLOG_freefunc_type ( sk_CTLOG
       E	_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I3	  77387 #define sk_CTLOG_num(sk) OPENSSL_sk_num(ossl_check_const_CTLOG_sk_type(sk))
 I3	  77388 #define sk_CTLOG_value(sk, idx) ((CTLOG *)OPENSSL_sk_value(ossl_check_const_CTLOG_sk_type(sk), (idx)))
 I3	  77389 #define sk_CTLOG_new(cmp) ((STACK_OF(CTLOG) *)OPENSSL_sk_new(ossl_check_CTLOG_compfunc_type(cmp)))
 I3	  77390 #define sk_CTLOG_new_null() ((STACK_OF(CTLOG) *)OPENSSL_sk_new_null())
 I3	  77391 #define sk_CTLOG_new_reserve(cmp, n) ((STACK_OF(CTLOG) *)OPENSSL_sk_new_reserve(ossl_check_CTLOG_compfunc_type(cmp),
 I3	  77391  (n)))
 I3	  77392 #define sk_CTLOG_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CTLOG_sk_type(sk), (n))
 I3	  77393 #define sk_CTLOG_free(sk) OPENSSL_sk_free(ossl_check_CTLOG_sk_type(sk))
 I3	  77394 #define sk_CTLOG_zero(sk) OPENSSL_sk_zero(ossl_check_CTLOG_sk_type(sk))
 I3	  77395 #define sk_CTLOG_delete(sk, i) ((CTLOG *)OPENSSL_sk_delete(ossl_check_CTLOG_sk_type(sk), (i)))
 I3	  77396 #define sk_CTLOG_delete_ptr(sk, ptr) ((CTLOG *)OPENSSL_sk_delete_ptr(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_
 I3	  77396 type(ptr)))
 I3	  77397 #define sk_CTLOG_push(sk, ptr) OPENSSL_sk_push(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr))
 I3	  77398 #define sk_CTLOG_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr))
 I3	  77399 #define sk_CTLOG_pop(sk) ((CTLOG *)OPENSSL_sk_pop(ossl_check_CTLOG_sk_type(sk)))
 I3	  77400 #define sk_CTLOG_shift(sk) ((CTLOG *)OPENSSL_sk_shift(ossl_check_CTLOG_sk_type(sk)))
 I3	  77401 #define sk_CTLOG_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CTLOG_sk_type(sk),ossl_check_CTLOG_freefunc_t
 I3	  77401 ype(freefunc))
 I3	  77402 #define sk_CTLOG_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr), (i
 I3	  77402 dx))
 I3	  77403 #define sk_CTLOG_set(sk, idx, ptr) ((CTLOG *)OPENSSL_sk_set(ossl_check_CTLOG_sk_type(sk), (idx), ossl_check_CTLOG_ty
 I3	  77403 pe(ptr)))
 I3	  77404 #define sk_CTLOG_find(sk, ptr) OPENSSL_sk_find(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr))
 I3	  77405 #define sk_CTLOG_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr))
 I3	  77406 #define sk_CTLOG_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr
 I3	  77406 ), pnum)
 I3	  77407 #define sk_CTLOG_sort(sk) OPENSSL_sk_sort(ossl_check_CTLOG_sk_type(sk))
 I3	  77408 #define sk_CTLOG_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CTLOG_sk_type(sk))
 I3	  77409 #define sk_CTLOG_dup(sk) ((STACK_OF(CTLOG) *)OPENSSL_sk_dup(ossl_check_const_CTLOG_sk_type(sk)))
 I3	  77410 #define sk_CTLOG_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CTLOG) *)OPENSSL_sk_deep_copy(ossl_check_const_CTLOG_s
 I3	  77410 k_type(sk), ossl_check_CTLOG_copyfunc_type(copyfunc), ossl_check_CTLOG_freefunc_type(freefunc)))
 I3	  77411 #define sk_CTLOG_set_cmp_func(sk, cmp) ((sk_CTLOG_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CTLOG_sk_type(sk), oss
 I3	  77411 l_check_CTLOG_compfunc_type(cmp)))
 I3	  77412 
 I3	  77413 
 I3	  77414 
 I3	  77415 typedef enum {
 I3	  77416     CT_LOG_ENTRY_TYPE_NOT_SET = -1,
 I3	  77417     CT_LOG_ENTRY_TYPE_X509 = 0,
 I3	  77418     CT_LOG_ENTRY_TYPE_PRECERT = 1
 I3	  77419 } ct_log_entry_type_t;
 I3	  77420 
 I3	  77421 typedef enum {
 I3	  77422     SCT_VERSION_NOT_SET = -1,
 I3	  77423     SCT_VERSION_V1 = 0
 I3	  77424 } sct_version_t;
 I3	  77425 
 I3	  77426 typedef enum {
 I3	  77427     SCT_SOURCE_UNKNOWN,
 I3	  77428     SCT_SOURCE_TLS_EXTENSION,
 I3	  77429     SCT_SOURCE_X509V3_EXTENSION,
 I3	  77430     SCT_SOURCE_OCSP_STAPLED_RESPONSE
 I3	  77431 } sct_source_t;
 I3	  77432 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1432
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77433 typedef enum {
 I3	  77434     SCT_VALIDATION_STATUS_NOT_SET,
 I3	  77435     SCT_VALIDATION_STATUS_UNKNOWN_LOG,
 I3	  77436     SCT_VALIDATION_STATUS_VALID,
 I3	  77437     SCT_VALIDATION_STATUS_INVALID,
 I3	  77438     SCT_VALIDATION_STATUS_UNVERIFIED,
 I3	  77439     SCT_VALIDATION_STATUS_UNKNOWN_VERSION
 I3	  77440 } sct_validation_status_t;
 I3	  77441 
 I3	  77442 /******************************************
 I3	  77443  * CT policy evaluation context functions *
 I3	  77444  ******************************************/
 I3	  77445 
 I3	  77446 /*
 I3	  77447  * Creates a new, empty policy evaluation context associated with the given
 I3	  77448  * library context and property query string.
 I3	  77449  * The caller is responsible for calling CT_POLICY_EVAL_CTX_free when finished
 I3	  77450  * with the CT_POLICY_EVAL_CTX.
 I3	  77451  */
 I3	  77452 CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new_ex(OSSL_LIB_CTX *libctx,
 I3	  77453                                               const char *propq);
 I3	  77454                                                        
 I3	  77455 /*
 I3	  77456  * The same as CT_POLICY_EVAL_CTX_new_ex() but the default library
 I3	  77457  * context and property query string is used.
 I3	  77458  */
 I3	  77459 CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void);
 I3	  77460 
 I3	  77461 /* Deletes a policy evaluation context and anything it owns. */
 I3	  77462 void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx);
 I3	  77463 
 I3	  77464 /* Gets the peer certificate that the SCTs are for */
 I3	  77465 X509* CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx);
 I3	  77466 
 I3	  77467 /*
 I3	  77468  * Sets the certificate associated with the received SCTs.
 I3	  77469  * Increments the reference count of cert.
 I3	  77470  * Returns 1 on success, 0 otherwise.
 I3	  77471  */
 I3	  77472 int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert);
 I3	  77473 
 I3	  77474 /* Gets the issuer of the aforementioned certificate */
 I3	  77475 X509* CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx);
 I3	  77476 
 I3	  77477 /*
 I3	  77478  * Sets the issuer of the certificate associated with the received SCTs.
 I3	  77479  * Increments the reference count of issuer.
 I3	  77480  * Returns 1 on success, 0 otherwise.
 I3	  77481  */
 I3	  77482 int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer);
 I3	  77483 
 I3	  77484 /* Gets the CT logs that are trusted sources of SCTs */
 I3	  77485 const CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX *ctx);
 I3	  77486 
 I3	  77487 /* Sets the log store that is in use. It must outlive the CT_POLICY_EVAL_CTX. */
 I3	  77488 void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx,
 I3	  77489                                                CTLOG_STORE *log_store);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1433
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77490 
 I3	  77491 /*
 I3	  77492  * Gets the time, in milliseconds since the Unix epoch, that will be used as the
 I3	  77493  * current time when checking whether an SCT was issued in the future.
 I3	  77494  * Such SCTs will fail validation, as required by RFC6962.
 I3	  77495  */
 I3	  77496 uint64_t CT_POLICY_EVAL_CTX_get_time(const CT_POLICY_EVAL_CTX *ctx);
 I3	  77497 
 I3	  77498 /*
 I3	  77499  * Sets the time to evaluate SCTs against, in milliseconds since the Unix epoch.
 I3	  77500  * If an SCT's timestamp is after this time, it will be interpreted as having
 I3	  77501  * been issued in the future. RFC6962 states that "TLS clients MUST reject SCTs
 I3	  77502  * whose timestamp is in the future", so an SCT will not validate in this case.
 I3	  77503  */
 I3	  77504 void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx, uint64_t time_in_ms);
 I3	  77505 
 I3	  77506 /*****************
 I3	  77507  * SCT functions *
 I3	  77508  *****************/
 I3	  77509 
 I3	  77510 /*
 I3	  77511  * Creates a new, blank SCT.
 I3	  77512  * The caller is responsible for calling SCT_free when finished with the SCT.
 I3	  77513  */
 I3	  77514 SCT *SCT_new(void);
 I3	  77515 
 I3	  77516 /*
 I3	  77517  * Creates a new SCT from some base64-encoded strings.
 I3	  77518  * The caller is responsible for calling SCT_free when finished with the SCT.
 I3	  77519  */
 I3	  77520 SCT *SCT_new_from_base64(unsigned char version,
 I3	  77521                          const char *logid_base64,
 I3	  77522                          ct_log_entry_type_t entry_type,
 I3	  77523                          uint64_t timestamp,
 I3	  77524                          const char *extensions_base64,
 I3	  77525                          const char *signature_base64);
 I3	  77526 
 I3	  77527 /*
 I3	  77528  * Frees the SCT and the underlying data structures.
 I3	  77529  */
 I3	  77530 void SCT_free(SCT *sct);
 I3	  77531 
 I3	  77532 /*
 I3	  77533  * Free a stack of SCTs, and the underlying SCTs themselves.
 I3	  77534  * Intended to be compatible with X509V3_EXT_FREE.
 I3	  77535  */
 I3	  77536 void SCT_LIST_free(STACK_OF(SCT) *a);
       E	                    struct stack_st_SCT
 I3	  77537 
 I3	  77538 /*
 I3	  77539  * Returns the version of the SCT.
 I3	  77540  */
 I3	  77541 sct_version_t SCT_get_version(const SCT *sct);
 I3	  77542 
 I3	  77543 /*
 I3	  77544  * Set the version of an SCT.
 I3	  77545  * Returns 1 on success, 0 if the version is unrecognized.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1434
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77546  */
 I3	  77547 __owur int SCT_set_version(SCT *sct, sct_version_t version);
       E	 
 I3	  77548 
 I3	  77549 /*
 I3	  77550  * Returns the log entry type of the SCT.
 I3	  77551  */
 I3	  77552 ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct);
 I3	  77553 
 I3	  77554 /*
 I3	  77555  * Set the log entry type of an SCT.
 I3	  77556  * Returns 1 on success, 0 otherwise.
 I3	  77557  */
 I3	  77558 __owur int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type);
       E	 
 I3	  77559 
 I3	  77560 /*
 I3	  77561  * Gets the ID of the log that an SCT came from.
 I3	  77562  * Ownership of the log ID remains with the SCT.
 I3	  77563  * Returns the length of the log ID.
 I3	  77564  */
 I3	  77565 size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id);
 I3	  77566 
 I3	  77567 /*
 I3	  77568  * Set the log ID of an SCT to point directly to the *log_id specified.
 I3	  77569  * The SCT takes ownership of the specified pointer.
 I3	  77570  * Returns 1 on success, 0 otherwise.
 I3	  77571  */
 I3	  77572 __owur int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len);
       E	 
 I3	  77573 
 I3	  77574 /*
 I3	  77575  * Set the log ID of an SCT.
 I3	  77576  * This makes a copy of the log_id.
 I3	  77577  * Returns 1 on success, 0 otherwise.
 I3	  77578  */
 I3	  77579 __owur int SCT_set1_log_id(SCT *sct, const unsigned char *log_id,
       E	 
 I3	  77580                            size_t log_id_len);
 I3	  77581 
 I3	  77582 /*
 I3	  77583  * Returns the timestamp for the SCT (epoch time in milliseconds).
 I3	  77584  */
 I3	  77585 uint64_t SCT_get_timestamp(const SCT *sct);
 I3	  77586 
 I3	  77587 /*
 I3	  77588  * Set the timestamp of an SCT (epoch time in milliseconds).
 I3	  77589  */
 I3	  77590 void SCT_set_timestamp(SCT *sct, uint64_t timestamp);
 I3	  77591 
 I3	  77592 /*
 I3	  77593  * Return the NID for the signature used by the SCT.
 I3	  77594  * For CT v1, this will be either NID_sha256WithRSAEncryption or
 I3	  77595  * NID_ecdsa_with_SHA256 (or NID_undef if incorrect/unset).
 I3	  77596  */
 I3	  77597 int SCT_get_signature_nid(const SCT *sct);
 I3	  77598 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1435
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77599 /*
 I3	  77600  * Set the signature type of an SCT
 I3	  77601  * For CT v1, this should be either NID_sha256WithRSAEncryption or
 I3	  77602  * NID_ecdsa_with_SHA256.
 I3	  77603  * Returns 1 on success, 0 otherwise.
 I3	  77604  */
 I3	  77605 __owur int SCT_set_signature_nid(SCT *sct, int nid);
       E	 
 I3	  77606 
 I3	  77607 /*
 I3	  77608  * Set *ext to point to the extension data for the SCT. ext must not be NULL.
 I3	  77609  * The SCT retains ownership of this pointer.
 I3	  77610  * Returns length of the data pointed to.
 I3	  77611  */
 I3	  77612 size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext);
 I3	  77613 
 I3	  77614 /*
 I3	  77615  * Set the extensions of an SCT to point directly to the *ext specified.
 I3	  77616  * The SCT takes ownership of the specified pointer.
 I3	  77617  */
 I3	  77618 void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len);
 I3	  77619 
 I3	  77620 /*
 I3	  77621  * Set the extensions of an SCT.
 I3	  77622  * This takes a copy of the ext.
 I3	  77623  * Returns 1 on success, 0 otherwise.
 I3	  77624  */
 I3	  77625 __owur int SCT_set1_extensions(SCT *sct, const unsigned char *ext,
       E	 
 I3	  77626                                size_t ext_len);
 I3	  77627 
 I3	  77628 /*
 I3	  77629  * Set *sig to point to the signature for the SCT. sig must not be NULL.
 I3	  77630  * The SCT retains ownership of this pointer.
 I3	  77631  * Returns length of the data pointed to.
 I3	  77632  */
 I3	  77633 size_t SCT_get0_signature(const SCT *sct, unsigned char **sig);
 I3	  77634 
 I3	  77635 /*
 I3	  77636  * Set the signature of an SCT to point directly to the *sig specified.
 I3	  77637  * The SCT takes ownership of the specified pointer.
 I3	  77638  */
 I3	  77639 void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len);
 I3	  77640 
 I3	  77641 /*
 I3	  77642  * Set the signature of an SCT to be a copy of the *sig specified.
 I3	  77643  * Returns 1 on success, 0 otherwise.
 I3	  77644  */
 I3	  77645 __owur int SCT_set1_signature(SCT *sct, const unsigned char *sig,
       E	 
 I3	  77646                               size_t sig_len);
 I3	  77647 
 I3	  77648 /*
 I3	  77649  * The origin of this SCT, e.g. TLS extension, OCSP response, etc.
 I3	  77650  */
 I3	  77651 sct_source_t SCT_get_source(const SCT *sct);
 I3	  77652 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1436
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77653 /*
 I3	  77654  * Set the origin of this SCT, e.g. TLS extension, OCSP response, etc.
 I3	  77655  * Returns 1 on success, 0 otherwise.
 I3	  77656  */
 I3	  77657 __owur int SCT_set_source(SCT *sct, sct_source_t source);
       E	 
 I3	  77658 
 I3	  77659 /*
 I3	  77660  * Returns a text string describing the validation status of |sct|.
 I3	  77661  */
 I3	  77662 const char *SCT_validation_status_string(const SCT *sct);
 I3	  77663 
 I3	  77664 /*
 I3	  77665  * Pretty-prints an |sct| to |out|.
 I3	  77666  * It will be indented by the number of spaces specified by |indent|.
 I3	  77667  * If |logs| is not NULL, it will be used to lookup the CT log that the SCT came
 I3	  77668  * from, so that the log name can be printed.
 I3	  77669  */
 I3	  77670 void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE *logs);
 I3	  77671 
 I3	  77672 /*
 I3	  77673  * Pretty-prints an |sct_list| to |out|.
 I3	  77674  * It will be indented by the number of spaces specified by |indent|.
 I3	  77675  * SCTs will be delimited by |separator|.
 I3	  77676  * If |logs| is not NULL, it will be used to lookup the CT log that each SCT
 I3	  77677  * came from, so that the log names can be printed.
 I3	  77678  */
 I3	  77679 void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent,
       E	                           struct stack_st_SCT
 I3	  77680                     const char *separator, const CTLOG_STORE *logs);
 I3	  77681 
 I3	  77682 /*
 I3	  77683  * Gets the last result of validating this SCT.
 I3	  77684  * If it has not been validated yet, returns SCT_VALIDATION_STATUS_NOT_SET.
 I3	  77685  */
 I3	  77686 sct_validation_status_t SCT_get_validation_status(const SCT *sct);
 I3	  77687 
 I3	  77688 /*
 I3	  77689  * Validates the given SCT with the provided context.
 I3	  77690  * Sets the "validation_status" field of the SCT.
 I3	  77691  * Returns 1 if the SCT is valid and the signature verifies.
 I3	  77692  * Returns 0 if the SCT is invalid or could not be verified.
 I3	  77693  * Returns -1 if an error occurs.
 I3	  77694  */
 I3	  77695 __owur int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx);
       E	 
 I3	  77696 
 I3	  77697 /*
 I3	  77698  * Validates the given list of SCTs with the provided context.
 I3	  77699  * Sets the "validation_status" field of each SCT.
 I3	  77700  * Returns 1 if there are no invalid SCTs and all signatures verify.
 I3	  77701  * Returns 0 if at least one SCT is invalid or could not be verified.
 I3	  77702  * Returns a negative integer if an error occurs.
 I3	  77703  */
 I3	  77704 __owur int SCT_LIST_validate(const STACK_OF(SCT) *scts,
       E	 
       E	                                    struct stack_st_SCT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1437
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77705                              CT_POLICY_EVAL_CTX *ctx);
 I3	  77706 
 I3	  77707 
 I3	  77708 /*********************************
 I3	  77709  * SCT parsing and serialization *
 I3	  77710  *********************************/
 I3	  77711 
 I3	  77712 /*
 I3	  77713  * Serialize (to TLS format) a stack of SCTs and return the length.
 I3	  77714  * "a" must not be NULL.
 I3	  77715  * If "pp" is NULL, just return the length of what would have been serialized.
 I3	  77716  * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer
 I3	  77717  * for data that caller is responsible for freeing (only if function returns
 I3	  77718  * successfully).
 I3	  77719  * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring
 I3	  77720  * that "*pp" is large enough to accept all of the serialized data.
 I3	  77721  * Returns < 0 on error, >= 0 indicating bytes written (or would have been)
 I3	  77722  * on success.
 I3	  77723  */
 I3	  77724 __owur int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp);
       E	 
       E	                               struct stack_st_SCT
 I3	  77725 
 I3	  77726 /*
 I3	  77727  * Convert TLS format SCT list to a stack of SCTs.
 I3	  77728  * If "a" or "*a" is NULL, a new stack will be created that the caller is
 I3	  77729  * responsible for freeing (by calling SCT_LIST_free).
 I3	  77730  * "**pp" and "*pp" must not be NULL.
 I3	  77731  * Upon success, "*pp" will point to after the last bytes read, and a stack
 I3	  77732  * will be returned.
 I3	  77733  * Upon failure, a NULL pointer will be returned, and the position of "*pp" is
 I3	  77734  * not defined.
 I3	  77735  */
 I3	  77736 STACK_OF(SCT) *o2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp,
       E	 struct stack_st_SCT
       E	                             struct stack_st_SCT
 I3	  77737                             size_t len);
 I3	  77738 
 I3	  77739 /*
 I3	  77740  * Serialize (to DER format) a stack of SCTs and return the length.
 I3	  77741  * "a" must not be NULL.
 I3	  77742  * If "pp" is NULL, just returns the length of what would have been serialized.
 I3	  77743  * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer
 I3	  77744  * for data that caller is responsible for freeing (only if function returns
 I3	  77745  * successfully).
 I3	  77746  * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring
 I3	  77747  * that "*pp" is large enough to accept all of the serialized data.
 I3	  77748  * Returns < 0 on error, >= 0 indicating bytes written (or would have been)
 I3	  77749  * on success.
 I3	  77750  */
 I3	  77751 __owur int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp);
       E	 
       E	                               struct stack_st_SCT
 I3	  77752 
 I3	  77753 /*
 I3	  77754  * Parses an SCT list in DER format and returns it.
 I3	  77755  * If "a" or "*a" is NULL, a new stack will be created that the caller is

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1438
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77756  * responsible for freeing (by calling SCT_LIST_free).
 I3	  77757  * "**pp" and "*pp" must not be NULL.
 I3	  77758  * Upon success, "*pp" will point to after the last bytes read, and a stack
 I3	  77759  * will be returned.
 I3	  77760  * Upon failure, a NULL pointer will be returned, and the position of "*pp" is
 I3	  77761  * not defined.
 I3	  77762  */
 I3	  77763 STACK_OF(SCT) *d2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp,
       E	 struct stack_st_SCT
       E	                             struct stack_st_SCT
 I3	  77764                             long len);
 I3	  77765 
 I3	  77766 /*
 I3	  77767  * Serialize (to TLS format) an |sct| and write it to |out|.
 I3	  77768  * If |out| is null, no SCT will be output but the length will still be returned.
 I3	  77769  * If |out| points to a null pointer, a string will be allocated to hold the
 I3	  77770  * TLS-format SCT. It is the responsibility of the caller to free it.
 I3	  77771  * If |out| points to an allocated string, the TLS-format SCT will be written
 I3	  77772  * to it.
 I3	  77773  * The length of the SCT in TLS format will be returned.
 I3	  77774  */
 I3	  77775 __owur int i2o_SCT(const SCT *sct, unsigned char **out);
       E	 
 I3	  77776 
 I3	  77777 /*
 I3	  77778  * Parses an SCT in TLS format and returns it.
 I3	  77779  * If |psct| is not null, it will end up pointing to the parsed SCT. If it
 I3	  77780  * already points to a non-null pointer, the pointer will be free'd.
 I3	  77781  * |in| should be a pointer to a string containing the TLS-format SCT.
 I3	  77782  * |in| will be advanced to the end of the SCT if parsing succeeds.
 I3	  77783  * |len| should be the length of the SCT in |in|.
 I3	  77784  * Returns NULL if an error occurs.
 I3	  77785  * If the SCT is an unsupported version, only the SCT's 'sct' and 'sct_len'
 I3	  77786  * fields will be populated (with |in| and |len| respectively).
 I3	  77787  */
 I3	  77788 SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len);
 I3	  77789 
 I3	  77790 /********************
 I3	  77791  * CT log functions *
 I3	  77792  ********************/
 I3	  77793 
 I3	  77794 /*
 I3	  77795  * Creates a new CT log instance with the given |public_key| and |name| and
 I3	  77796  * associates it with the give library context |libctx| and property query
 I3	  77797  * string |propq|.
 I3	  77798  * Takes ownership of |public_key| but copies |name|.
 I3	  77799  * Returns NULL if malloc fails or if |public_key| cannot be converted to DER.
 I3	  77800  * Should be deleted by the caller using CTLOG_free when no longer needed.
 I3	  77801  */
 I3	  77802 CTLOG *CTLOG_new_ex(EVP_PKEY *public_key, const char *name, OSSL_LIB_CTX *libctx,
 I3	  77803                     const char *propq);
 I3	  77804 
 I3	  77805 /*
 I3	  77806  * The same as CTLOG_new_ex except that the default library context and
 I3	  77807  * property query string are used.
 I3	  77808  */
 I3	  77809 CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1439
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77810 
 I3	  77811 /*
 I3	  77812  * Creates a new CTLOG instance with the base64-encoded SubjectPublicKeyInfo DER
 I3	  77813  * in |pkey_base64| and associated with the given library context |libctx| and
 I3	  77814  * property query string |propq|. The |name| is a string to help users identify
 I3	  77815  * this log.
 I3	  77816  * Returns 1 on success, 0 on failure.
 I3	  77817  * Should be deleted by the caller using CTLOG_free when no longer needed.
 I3	  77818  */
 I3	  77819 int CTLOG_new_from_base64_ex(CTLOG **ct_log, const char *pkey_base64,
 I3	  77820                              const char *name, OSSL_LIB_CTX *libctx,
 I3	  77821                              const char *propq);
 I3	  77822 
 I3	  77823 /*
 I3	  77824  * The same as CTLOG_new_from_base64_ex() except that the default
 I3	  77825  * library context and property query string are used.
 I3	  77826  * Returns 1 on success, 0 on failure.
 I3	  77827  */
 I3	  77828 int CTLOG_new_from_base64(CTLOG ** ct_log,
 I3	  77829                           const char *pkey_base64, const char *name);
 I3	  77830 
 I3	  77831 /*
 I3	  77832  * Deletes a CT log instance and its fields.
 I3	  77833  */
 I3	  77834 void CTLOG_free(CTLOG *log);
 I3	  77835 
 I3	  77836 /* Gets the name of the CT log */
 I3	  77837 const char *CTLOG_get0_name(const CTLOG *log);
 I3	  77838 /* Gets the ID of the CT log */
 I3	  77839 void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id,
 I3	  77840                        size_t *log_id_len);
 I3	  77841 /* Gets the public key of the CT log */
 I3	  77842 EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log);
 I3	  77843 
 I3	  77844 /**************************
 I3	  77845  * CT log store functions *
 I3	  77846  **************************/
 I3	  77847 
 I3	  77848 /*
 I3	  77849  * Creates a new CT log store and associates it with the given libctx and
 I3	  77850  * property query string.
 I3	  77851  * Should be deleted by the caller using CTLOG_STORE_free when no longer needed.
 I3	  77852  */
 I3	  77853 CTLOG_STORE *CTLOG_STORE_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 I3	  77854 
 I3	  77855 /*
 I3	  77856  * Same as CTLOG_STORE_new_ex except that the default libctx and
 I3	  77857  * property query string are used.
 I3	  77858  * Should be deleted by the caller using CTLOG_STORE_free when no longer needed.
 I3	  77859  */
 I3	  77860 CTLOG_STORE *CTLOG_STORE_new(void);
 I3	  77861 
 I3	  77862 /*
 I3	  77863  * Deletes a CT log store and all of the CT log instances held within.
 I3	  77864  */
 I3	  77865 void CTLOG_STORE_free(CTLOG_STORE *store);
 I3	  77866 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1440
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]CT.H;1

 I3	  77867 /*
 I3	  77868  * Finds a CT log in the store based on its log ID.
 I3	  77869  * Returns the CT log, or NULL if no match is found.
 I3	  77870  */
 I3	  77871 const CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store,
 I3	  77872                                         const uint8_t *log_id,
 I3	  77873                                         size_t log_id_len);
 I3	  77874 
 I3	  77875 /*
 I3	  77876  * Loads a CT log list into a |store| from a |file|.
 I3	  77877  * Returns 1 if loading is successful, or 0 otherwise.
 I3	  77878  */
 I3	  77879 __owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file);
       E	 
 I3	  77880 
 I3	  77881 /*
 I3	  77882  * Loads the default CT log list into a |store|.
 I3	  77883  * Returns 1 if loading is successful, or 0 otherwise.
 I3	  77884  */
 I3	  77885 __owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store);
       E	 
 I3	  77886 
 I3    X  77887 #  ifdef  __cplusplus
 I3    X  77888 }
 I3    X  77889 #  endif
 I3	  77890 # endif
 I3	  77891 #endif
 I2	  77892 # include <openssl/sslerr.h>
 I3	  77893 /*
 I3	  77894  * Generated by util/mkerr.pl DO NOT EDIT
 I3	  77895  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  77896  *
 I3	  77897  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  77898  * this file except in compliance with the License.  You can obtain a copy
 I3	  77899  * in the file LICENSE in the source distribution or at
 I3	  77900  * https://www.openssl.org/source/license.html
 I3	  77901  */
 I3	  77902 
 I3	  77903 #ifndef OPENSSL_SSLERR_H
 I3	  77904 # define OPENSSL_SSLERR_H
 I3	  77905 # pragma once
 I3	  77906 
 I3    X  77907 # include <openssl/opensslconf.h>
 I3    X  77908 # include <openssl/symhacks.h>
 I3	  77909 # include <openssl/sslerr_legacy.h>
 I4	  77910 /*
 I4	  77911  * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
 I4	  77912  *
 I4	  77913  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  77914  * this file except in compliance with the License.  You can obtain a copy
 I4	  77915  * in the file LICENSE in the source distribution or at
 I4	  77916  * https://www.openssl.org/source/license.html
 I4	  77917  */
 I4	  77918 
 I4	  77919 /*
 I4	  77920  * This header file preserves symbols from pre-3.0 OpenSSL.
 I4	  77921  * It should never be included directly, as it's already included

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1441
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  77922  * by the public sslerr.h headers, and since it will go away some
 I4	  77923  * time in the future.
 I4	  77924  */
 I4	  77925 
 I4	  77926 #ifndef OPENSSL_SSLERR_LEGACY_H
 I4	  77927 # define OPENSSL_SSLERR_LEGACY_H
 I4	  77928 # pragma once
 I4	  77929 
 I4    X  77930 # include <openssl/macros.h>
 I4    X  77931 # include <openssl/symhacks.h>
 I4	  77932 
 I4    X  77933 # ifdef  __cplusplus
 I4    X  77934 extern "C" {
 I4    X  77935 # endif
 I4	  77936 
 I4	  77937 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4	  77938 OSSL_DEPRECATEDIN_3_0 int ERR_load_SSL_strings(void);
       E	 extern
 I4	  77939 
 I4	  77940 /* Collected _F_ macros from OpenSSL 1.1.1 */
 I4	  77941 
 I4	  77942 /*
 I4	  77943  * SSL function codes.
 I4	  77944  */
 I4	  77945 #  define SSL_F_ADD_CLIENT_KEY_SHARE_EXT                   0
 I4	  77946 #  define SSL_F_ADD_KEY_SHARE                              0
 I4	  77947 #  define SSL_F_BYTES_TO_CIPHER_LIST                       0
 I4	  77948 #  define SSL_F_CHECK_SUITEB_CIPHER_LIST                   0
 I4	  77949 #  define SSL_F_CIPHERSUITE_CB                             0
 I4	  77950 #  define SSL_F_CONSTRUCT_CA_NAMES                         0
 I4	  77951 #  define SSL_F_CONSTRUCT_KEY_EXCHANGE_TBS                 0
 I4	  77952 #  define SSL_F_CONSTRUCT_STATEFUL_TICKET                  0
 I4	  77953 #  define SSL_F_CONSTRUCT_STATELESS_TICKET                 0
 I4	  77954 #  define SSL_F_CREATE_SYNTHETIC_MESSAGE_HASH              0
 I4	  77955 #  define SSL_F_CREATE_TICKET_PREQUEL                      0
 I4	  77956 #  define SSL_F_CT_MOVE_SCTS                               0
 I4	  77957 #  define SSL_F_CT_STRICT                                  0
 I4	  77958 #  define SSL_F_CUSTOM_EXT_ADD                             0
 I4	  77959 #  define SSL_F_CUSTOM_EXT_PARSE                           0
 I4	  77960 #  define SSL_F_D2I_SSL_SESSION                            0
 I4	  77961 #  define SSL_F_DANE_CTX_ENABLE                            0
 I4	  77962 #  define SSL_F_DANE_MTYPE_SET                             0
 I4	  77963 #  define SSL_F_DANE_TLSA_ADD                              0
 I4	  77964 #  define SSL_F_DERIVE_SECRET_KEY_AND_IV                   0
 I4	  77965 #  define SSL_F_DO_DTLS1_WRITE                             0
 I4	  77966 #  define SSL_F_DO_SSL3_WRITE                              0
 I4	  77967 #  define SSL_F_DTLS1_BUFFER_RECORD                        0
 I4	  77968 #  define SSL_F_DTLS1_CHECK_TIMEOUT_NUM                    0
 I4	  77969 #  define SSL_F_DTLS1_HEARTBEAT                            0
 I4	  77970 #  define SSL_F_DTLS1_HM_FRAGMENT_NEW                      0
 I4	  77971 #  define SSL_F_DTLS1_PREPROCESS_FRAGMENT                  0
 I4	  77972 #  define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS             0
 I4	  77973 #  define SSL_F_DTLS1_PROCESS_RECORD                       0
 I4	  77974 #  define SSL_F_DTLS1_READ_BYTES                           0
 I4	  77975 #  define SSL_F_DTLS1_READ_FAILED                          0
 I4	  77976 #  define SSL_F_DTLS1_RETRANSMIT_MESSAGE                   0
 I4	  77977 #  define SSL_F_DTLS1_WRITE_APP_DATA_BYTES                 0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1442
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  77978 #  define SSL_F_DTLS1_WRITE_BYTES                          0
 I4	  77979 #  define SSL_F_DTLSV1_LISTEN                              0
 I4	  77980 #  define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC          0
 I4	  77981 #  define SSL_F_DTLS_CONSTRUCT_HELLO_VERIFY_REQUEST        0
 I4	  77982 #  define SSL_F_DTLS_GET_REASSEMBLED_MESSAGE               0
 I4	  77983 #  define SSL_F_DTLS_PROCESS_HELLO_VERIFY                  0
 I4	  77984 #  define SSL_F_DTLS_RECORD_LAYER_NEW                      0
 I4	  77985 #  define SSL_F_DTLS_WAIT_FOR_DRY                          0
 I4	  77986 #  define SSL_F_EARLY_DATA_COUNT_OK                        0
 I4	  77987 #  define SSL_F_FINAL_EARLY_DATA                           0
 I4	  77988 #  define SSL_F_FINAL_EC_PT_FORMATS                        0
 I4	  77989 #  define SSL_F_FINAL_EMS                                  0
 I4	  77990 #  define SSL_F_FINAL_KEY_SHARE                            0
 I4	  77991 #  define SSL_F_FINAL_MAXFRAGMENTLEN                       0
 I4	  77992 #  define SSL_F_FINAL_RENEGOTIATE                          0
 I4	  77993 #  define SSL_F_FINAL_SERVER_NAME                          0
 I4	  77994 #  define SSL_F_FINAL_SIG_ALGS                             0
 I4	  77995 #  define SSL_F_GET_CERT_VERIFY_TBS_DATA                   0
 I4	  77996 #  define SSL_F_NSS_KEYLOG_INT                             0
 I4	  77997 #  define SSL_F_OPENSSL_INIT_SSL                           0
 I4	  77998 #  define SSL_F_OSSL_STATEM_CLIENT13_READ_TRANSITION       0
 I4	  77999 #  define SSL_F_OSSL_STATEM_CLIENT13_WRITE_TRANSITION      0
 I4	  78000 #  define SSL_F_OSSL_STATEM_CLIENT_CONSTRUCT_MESSAGE       0
 I4	  78001 #  define SSL_F_OSSL_STATEM_CLIENT_POST_PROCESS_MESSAGE    0
 I4	  78002 #  define SSL_F_OSSL_STATEM_CLIENT_PROCESS_MESSAGE         0
 I4	  78003 #  define SSL_F_OSSL_STATEM_CLIENT_READ_TRANSITION         0
 I4	  78004 #  define SSL_F_OSSL_STATEM_CLIENT_WRITE_TRANSITION        0
 I4	  78005 #  define SSL_F_OSSL_STATEM_SERVER13_READ_TRANSITION       0
 I4	  78006 #  define SSL_F_OSSL_STATEM_SERVER13_WRITE_TRANSITION      0
 I4	  78007 #  define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE       0
 I4	  78008 #  define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE    0
 I4	  78009 #  define SSL_F_OSSL_STATEM_SERVER_POST_WORK               0
 I4	  78010 #  define SSL_F_OSSL_STATEM_SERVER_PRE_WORK                0
 I4	  78011 #  define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE         0
 I4	  78012 #  define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION         0
 I4	  78013 #  define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION        0
 I4	  78014 #  define SSL_F_PARSE_CA_NAMES                             0
 I4	  78015 #  define SSL_F_PITEM_NEW                                  0
 I4	  78016 #  define SSL_F_PQUEUE_NEW                                 0
 I4	  78017 #  define SSL_F_PROCESS_KEY_SHARE_EXT                      0
 I4	  78018 #  define SSL_F_READ_STATE_MACHINE                         0
 I4	  78019 #  define SSL_F_SET_CLIENT_CIPHERSUITE                     0
 I4	  78020 #  define SSL_F_SRP_GENERATE_CLIENT_MASTER_SECRET          0
 I4	  78021 #  define SSL_F_SRP_GENERATE_SERVER_MASTER_SECRET          0
 I4	  78022 #  define SSL_F_SRP_VERIFY_SERVER_PARAM                    0
 I4	  78023 #  define SSL_F_SSL3_CHANGE_CIPHER_STATE                   0
 I4	  78024 #  define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM              0
 I4	  78025 #  define SSL_F_SSL3_CTRL                                  0
 I4	  78026 #  define SSL_F_SSL3_CTX_CTRL                              0
 I4	  78027 #  define SSL_F_SSL3_DIGEST_CACHED_RECORDS                 0
 I4	  78028 #  define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC                 0
 I4	  78029 #  define SSL_F_SSL3_ENC                                   0
 I4	  78030 #  define SSL_F_SSL3_FINAL_FINISH_MAC                      0
 I4	  78031 #  define SSL_F_SSL3_FINISH_MAC                            0
 I4	  78032 #  define SSL_F_SSL3_GENERATE_KEY_BLOCK                    0
 I4	  78033 #  define SSL_F_SSL3_GENERATE_MASTER_SECRET                0
 I4	  78034 #  define SSL_F_SSL3_GET_RECORD                            0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1443
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  78035 #  define SSL_F_SSL3_INIT_FINISHED_MAC                     0
 I4	  78036 #  define SSL_F_SSL3_OUTPUT_CERT_CHAIN                     0
 I4	  78037 #  define SSL_F_SSL3_READ_BYTES                            0
 I4	  78038 #  define SSL_F_SSL3_READ_N                                0
 I4	  78039 #  define SSL_F_SSL3_SETUP_KEY_BLOCK                       0
 I4	  78040 #  define SSL_F_SSL3_SETUP_READ_BUFFER                     0
 I4	  78041 #  define SSL_F_SSL3_SETUP_WRITE_BUFFER                    0
 I4	  78042 #  define SSL_F_SSL3_WRITE_BYTES                           0
 I4	  78043 #  define SSL_F_SSL3_WRITE_PENDING                         0
 I4	  78044 #  define SSL_F_SSL_ADD_CERT_CHAIN                         0
 I4	  78045 #  define SSL_F_SSL_ADD_CERT_TO_BUF                        0
 I4	  78046 #  define SSL_F_SSL_ADD_CERT_TO_WPACKET                    0
 I4	  78047 #  define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT        0
 I4	  78048 #  define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT                 0
 I4	  78049 #  define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT           0
 I4	  78050 #  define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK         0
 I4	  78051 #  define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK        0
 I4	  78052 #  define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT        0
 I4	  78053 #  define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT                 0
 I4	  78054 #  define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT           0
 I4	  78055 #  define SSL_F_SSL_BAD_METHOD                             0
 I4	  78056 #  define SSL_F_SSL_BUILD_CERT_CHAIN                       0
 I4	  78057 #  define SSL_F_SSL_BYTES_TO_CIPHER_LIST                   0
 I4	  78058 #  define SSL_F_SSL_CACHE_CIPHERLIST                       0
 I4	  78059 #  define SSL_F_SSL_CERT_ADD0_CHAIN_CERT                   0
 I4	  78060 #  define SSL_F_SSL_CERT_DUP                               0
 I4	  78061 #  define SSL_F_SSL_CERT_NEW                               0
 I4	  78062 #  define SSL_F_SSL_CERT_SET0_CHAIN                        0
 I4	  78063 #  define SSL_F_SSL_CHECK_PRIVATE_KEY                      0
 I4	  78064 #  define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT               0
 I4	  78065 #  define SSL_F_SSL_CHECK_SRP_EXT_CLIENTHELLO              0
 I4	  78066 #  define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG            0
 I4	  78067 #  define SSL_F_SSL_CHOOSE_CLIENT_VERSION                  0
 I4	  78068 #  define SSL_F_SSL_CIPHER_DESCRIPTION                     0
 I4	  78069 #  define SSL_F_SSL_CIPHER_LIST_TO_BYTES                   0
 I4	  78070 #  define SSL_F_SSL_CIPHER_PROCESS_RULESTR                 0
 I4	  78071 #  define SSL_F_SSL_CIPHER_STRENGTH_SORT                   0
 I4	  78072 #  define SSL_F_SSL_CLEAR                                  0
 I4	  78073 #  define SSL_F_SSL_CLIENT_HELLO_GET1_EXTENSIONS_PRESENT   0
 I4	  78074 #  define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD            0
 I4	  78075 #  define SSL_F_SSL_CONF_CMD                               0
 I4	  78076 #  define SSL_F_SSL_CREATE_CIPHER_LIST                     0
 I4	  78077 #  define SSL_F_SSL_CTRL                                   0
 I4	  78078 #  define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY                  0
 I4	  78079 #  define SSL_F_SSL_CTX_ENABLE_CT                          0
 I4	  78080 #  define SSL_F_SSL_CTX_MAKE_PROFILES                      0
 I4	  78081 #  define SSL_F_SSL_CTX_NEW                                0
 I4	  78082 #  define SSL_F_SSL_CTX_SET_ALPN_PROTOS                    0
 I4	  78083 #  define SSL_F_SSL_CTX_SET_CIPHER_LIST                    0
 I4	  78084 #  define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE             0
 I4	  78085 #  define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK         0
 I4	  78086 #  define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT             0
 I4	  78087 #  define SSL_F_SSL_CTX_SET_SSL_VERSION                    0
 I4	  78088 #  define SSL_F_SSL_CTX_SET_TLSEXT_MAX_FRAGMENT_LENGTH     0
 I4	  78089 #  define SSL_F_SSL_CTX_USE_CERTIFICATE                    0
 I4	  78090 #  define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1               0
 I4	  78091 #  define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE               0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1444
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  78092 #  define SSL_F_SSL_CTX_USE_PRIVATEKEY                     0
 I4	  78093 #  define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1                0
 I4	  78094 #  define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE                0
 I4	  78095 #  define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT              0
 I4	  78096 #  define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY                  0
 I4	  78097 #  define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1             0
 I4	  78098 #  define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE             0
 I4	  78099 #  define SSL_F_SSL_CTX_USE_SERVERINFO                     0
 I4	  78100 #  define SSL_F_SSL_CTX_USE_SERVERINFO_EX                  0
 I4	  78101 #  define SSL_F_SSL_CTX_USE_SERVERINFO_FILE                0
 I4	  78102 #  define SSL_F_SSL_DANE_DUP                               0
 I4	  78103 #  define SSL_F_SSL_DANE_ENABLE                            0
 I4	  78104 #  define SSL_F_SSL_DERIVE                                 0
 I4	  78105 #  define SSL_F_SSL_DO_CONFIG                              0
 I4	  78106 #  define SSL_F_SSL_DO_HANDSHAKE                           0
 I4	  78107 #  define SSL_F_SSL_DUP_CA_LIST                            0
 I4	  78108 #  define SSL_F_SSL_ENABLE_CT                              0
 I4	  78109 #  define SSL_F_SSL_GENERATE_PKEY_GROUP                    0
 I4	  78110 #  define SSL_F_SSL_GENERATE_SESSION_ID                    0
 I4	  78111 #  define SSL_F_SSL_GET_NEW_SESSION                        0
 I4	  78112 #  define SSL_F_SSL_GET_PREV_SESSION                       0
 I4	  78113 #  define SSL_F_SSL_GET_SERVER_CERT_INDEX                  0
 I4	  78114 #  define SSL_F_SSL_GET_SIGN_PKEY                          0
 I4	  78115 #  define SSL_F_SSL_HANDSHAKE_HASH                         0
 I4	  78116 #  define SSL_F_SSL_INIT_WBIO_BUFFER                       0
 I4	  78117 #  define SSL_F_SSL_KEY_UPDATE                             0
 I4	  78118 #  define SSL_F_SSL_LOAD_CLIENT_CA_FILE                    0
 I4	  78119 #  define SSL_F_SSL_LOG_MASTER_SECRET                      0
 I4	  78120 #  define SSL_F_SSL_LOG_RSA_CLIENT_KEY_EXCHANGE            0
 I4	  78121 #  define SSL_F_SSL_MODULE_INIT                            0
 I4	  78122 #  define SSL_F_SSL_NEW                                    0
 I4	  78123 #  define SSL_F_SSL_NEXT_PROTO_VALIDATE                    0
 I4	  78124 #  define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT      0
 I4	  78125 #  define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT               0
 I4	  78126 #  define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT         0
 I4	  78127 #  define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT      0
 I4	  78128 #  define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT               0
 I4	  78129 #  define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT         0
 I4	  78130 #  define SSL_F_SSL_PEEK                                   0
 I4	  78131 #  define SSL_F_SSL_PEEK_EX                                0
 I4	  78132 #  define SSL_F_SSL_PEEK_INTERNAL                          0
 I4	  78133 #  define SSL_F_SSL_READ                                   0
 I4	  78134 #  define SSL_F_SSL_READ_EARLY_DATA                        0
 I4	  78135 #  define SSL_F_SSL_READ_EX                                0
 I4	  78136 #  define SSL_F_SSL_READ_INTERNAL                          0
 I4	  78137 #  define SSL_F_SSL_RENEGOTIATE                            0
 I4	  78138 #  define SSL_F_SSL_RENEGOTIATE_ABBREVIATED                0
 I4	  78139 #  define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT                0
 I4	  78140 #  define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT                0
 I4	  78141 #  define SSL_F_SSL_SESSION_DUP                            0
 I4	  78142 #  define SSL_F_SSL_SESSION_NEW                            0
 I4	  78143 #  define SSL_F_SSL_SESSION_PRINT_FP                       0
 I4	  78144 #  define SSL_F_SSL_SESSION_SET1_ID                        0
 I4	  78145 #  define SSL_F_SSL_SESSION_SET1_ID_CONTEXT                0
 I4	  78146 #  define SSL_F_SSL_SET_ALPN_PROTOS                        0
 I4	  78147 #  define SSL_F_SSL_SET_CERT                               0
 I4	  78148 #  define SSL_F_SSL_SET_CERT_AND_KEY                       0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1445
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  78149 #  define SSL_F_SSL_SET_CIPHER_LIST                        0
 I4	  78150 #  define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK             0
 I4	  78151 #  define SSL_F_SSL_SET_FD                                 0
 I4	  78152 #  define SSL_F_SSL_SET_PKEY                               0
 I4	  78153 #  define SSL_F_SSL_SET_RFD                                0
 I4	  78154 #  define SSL_F_SSL_SET_SESSION                            0
 I4	  78155 #  define SSL_F_SSL_SET_SESSION_ID_CONTEXT                 0
 I4	  78156 #  define SSL_F_SSL_SET_SESSION_TICKET_EXT                 0
 I4	  78157 #  define SSL_F_SSL_SET_TLSEXT_MAX_FRAGMENT_LENGTH         0
 I4	  78158 #  define SSL_F_SSL_SET_WFD                                0
 I4	  78159 #  define SSL_F_SSL_SHUTDOWN                               0
 I4	  78160 #  define SSL_F_SSL_SRP_CTX_INIT                           0
 I4	  78161 #  define SSL_F_SSL_START_ASYNC_JOB                        0
 I4	  78162 #  define SSL_F_SSL_UNDEFINED_FUNCTION                     0
 I4	  78163 #  define SSL_F_SSL_UNDEFINED_VOID_FUNCTION                0
 I4	  78164 #  define SSL_F_SSL_USE_CERTIFICATE                        0
 I4	  78165 #  define SSL_F_SSL_USE_CERTIFICATE_ASN1                   0
 I4	  78166 #  define SSL_F_SSL_USE_CERTIFICATE_FILE                   0
 I4	  78167 #  define SSL_F_SSL_USE_PRIVATEKEY                         0
 I4	  78168 #  define SSL_F_SSL_USE_PRIVATEKEY_ASN1                    0
 I4	  78169 #  define SSL_F_SSL_USE_PRIVATEKEY_FILE                    0
 I4	  78170 #  define SSL_F_SSL_USE_PSK_IDENTITY_HINT                  0
 I4	  78171 #  define SSL_F_SSL_USE_RSAPRIVATEKEY                      0
 I4	  78172 #  define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1                 0
 I4	  78173 #  define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE                 0
 I4	  78174 #  define SSL_F_SSL_VALIDATE_CT                            0
 I4	  78175 #  define SSL_F_SSL_VERIFY_CERT_CHAIN                      0
 I4	  78176 #  define SSL_F_SSL_VERIFY_CLIENT_POST_HANDSHAKE           0
 I4	  78177 #  define SSL_F_SSL_WRITE                                  0
 I4	  78178 #  define SSL_F_SSL_WRITE_EARLY_DATA                       0
 I4	  78179 #  define SSL_F_SSL_WRITE_EARLY_FINISH                     0
 I4	  78180 #  define SSL_F_SSL_WRITE_EX                               0
 I4	  78181 #  define SSL_F_SSL_WRITE_INTERNAL                         0
 I4	  78182 #  define SSL_F_STATE_MACHINE                              0
 I4	  78183 #  define SSL_F_TLS12_CHECK_PEER_SIGALG                    0
 I4	  78184 #  define SSL_F_TLS12_COPY_SIGALGS                         0
 I4	  78185 #  define SSL_F_TLS13_CHANGE_CIPHER_STATE                  0
 I4	  78186 #  define SSL_F_TLS13_ENC                                  0
 I4	  78187 #  define SSL_F_TLS13_FINAL_FINISH_MAC                     0
 I4	  78188 #  define SSL_F_TLS13_GENERATE_SECRET                      0
 I4	  78189 #  define SSL_F_TLS13_HKDF_EXPAND                          0
 I4	  78190 #  define SSL_F_TLS13_RESTORE_HANDSHAKE_DIGEST_FOR_PHA     0
 I4	  78191 #  define SSL_F_TLS13_SAVE_HANDSHAKE_DIGEST_FOR_PHA        0
 I4	  78192 #  define SSL_F_TLS13_SETUP_KEY_BLOCK                      0
 I4	  78193 #  define SSL_F_TLS1_CHANGE_CIPHER_STATE                   0
 I4	  78194 #  define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS            0
 I4	  78195 #  define SSL_F_TLS1_ENC                                   0
 I4	  78196 #  define SSL_F_TLS1_EXPORT_KEYING_MATERIAL                0
 I4	  78197 #  define SSL_F_TLS1_GET_CURVELIST                         0
 I4	  78198 #  define SSL_F_TLS1_PRF                                   0
 I4	  78199 #  define SSL_F_TLS1_SAVE_U16                              0
 I4	  78200 #  define SSL_F_TLS1_SETUP_KEY_BLOCK                       0
 I4	  78201 #  define SSL_F_TLS1_SET_GROUPS                            0
 I4	  78202 #  define SSL_F_TLS1_SET_RAW_SIGALGS                       0
 I4	  78203 #  define SSL_F_TLS1_SET_SERVER_SIGALGS                    0
 I4	  78204 #  define SSL_F_TLS1_SET_SHARED_SIGALGS                    0
 I4	  78205 #  define SSL_F_TLS1_SET_SIGALGS                           0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1446
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  78206 #  define SSL_F_TLS_CHOOSE_SIGALG                          0
 I4	  78207 #  define SSL_F_TLS_CLIENT_KEY_EXCHANGE_POST_WORK          0
 I4	  78208 #  define SSL_F_TLS_COLLECT_EXTENSIONS                     0
 I4	  78209 #  define SSL_F_TLS_CONSTRUCT_CERTIFICATE_AUTHORITIES      0
 I4	  78210 #  define SSL_F_TLS_CONSTRUCT_CERTIFICATE_REQUEST          0
 I4	  78211 #  define SSL_F_TLS_CONSTRUCT_CERT_STATUS                  0
 I4	  78212 #  define SSL_F_TLS_CONSTRUCT_CERT_STATUS_BODY             0
 I4	  78213 #  define SSL_F_TLS_CONSTRUCT_CERT_VERIFY                  0
 I4	  78214 #  define SSL_F_TLS_CONSTRUCT_CHANGE_CIPHER_SPEC           0
 I4	  78215 #  define SSL_F_TLS_CONSTRUCT_CKE_DHE                      0
 I4	  78216 #  define SSL_F_TLS_CONSTRUCT_CKE_ECDHE                    0
 I4	  78217 #  define SSL_F_TLS_CONSTRUCT_CKE_GOST                     0
 I4	  78218 #  define SSL_F_TLS_CONSTRUCT_CKE_PSK_PREAMBLE             0
 I4	  78219 #  define SSL_F_TLS_CONSTRUCT_CKE_RSA                      0
 I4	  78220 #  define SSL_F_TLS_CONSTRUCT_CKE_SRP                      0
 I4	  78221 #  define SSL_F_TLS_CONSTRUCT_CLIENT_CERTIFICATE           0
 I4	  78222 #  define SSL_F_TLS_CONSTRUCT_CLIENT_HELLO                 0
 I4	  78223 #  define SSL_F_TLS_CONSTRUCT_CLIENT_KEY_EXCHANGE          0
 I4	  78224 #  define SSL_F_TLS_CONSTRUCT_CLIENT_VERIFY                0
 I4	  78225 #  define SSL_F_TLS_CONSTRUCT_CTOS_ALPN                    0
 I4	  78226 #  define SSL_F_TLS_CONSTRUCT_CTOS_CERTIFICATE             0
 I4	  78227 #  define SSL_F_TLS_CONSTRUCT_CTOS_COOKIE                  0
 I4	  78228 #  define SSL_F_TLS_CONSTRUCT_CTOS_EARLY_DATA              0
 I4	  78229 #  define SSL_F_TLS_CONSTRUCT_CTOS_EC_PT_FORMATS           0
 I4	  78230 #  define SSL_F_TLS_CONSTRUCT_CTOS_EMS                     0
 I4	  78231 #  define SSL_F_TLS_CONSTRUCT_CTOS_ETM                     0
 I4	  78232 #  define SSL_F_TLS_CONSTRUCT_CTOS_HELLO                   0
 I4	  78233 #  define SSL_F_TLS_CONSTRUCT_CTOS_KEY_EXCHANGE            0
 I4	  78234 #  define SSL_F_TLS_CONSTRUCT_CTOS_KEY_SHARE               0
 I4	  78235 #  define SSL_F_TLS_CONSTRUCT_CTOS_MAXFRAGMENTLEN          0
 I4	  78236 #  define SSL_F_TLS_CONSTRUCT_CTOS_NPN                     0
 I4	  78237 #  define SSL_F_TLS_CONSTRUCT_CTOS_PADDING                 0
 I4	  78238 #  define SSL_F_TLS_CONSTRUCT_CTOS_POST_HANDSHAKE_AUTH     0
 I4	  78239 #  define SSL_F_TLS_CONSTRUCT_CTOS_PSK                     0
 I4	  78240 #  define SSL_F_TLS_CONSTRUCT_CTOS_PSK_KEX_MODES           0
 I4	  78241 #  define SSL_F_TLS_CONSTRUCT_CTOS_RENEGOTIATE             0
 I4	  78242 #  define SSL_F_TLS_CONSTRUCT_CTOS_SCT                     0
 I4	  78243 #  define SSL_F_TLS_CONSTRUCT_CTOS_SERVER_NAME             0
 I4	  78244 #  define SSL_F_TLS_CONSTRUCT_CTOS_SESSION_TICKET          0
 I4	  78245 #  define SSL_F_TLS_CONSTRUCT_CTOS_SIG_ALGS                0
 I4	  78246 #  define SSL_F_TLS_CONSTRUCT_CTOS_SRP                     0
 I4	  78247 #  define SSL_F_TLS_CONSTRUCT_CTOS_STATUS_REQUEST          0
 I4	  78248 #  define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS        0
 I4	  78249 #  define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_VERSIONS      0
 I4	  78250 #  define SSL_F_TLS_CONSTRUCT_CTOS_USE_SRTP                0
 I4	  78251 #  define SSL_F_TLS_CONSTRUCT_CTOS_VERIFY                  0
 I4	  78252 #  define SSL_F_TLS_CONSTRUCT_ENCRYPTED_EXTENSIONS         0
 I4	  78253 #  define SSL_F_TLS_CONSTRUCT_END_OF_EARLY_DATA            0
 I4	  78254 #  define SSL_F_TLS_CONSTRUCT_EXTENSIONS                   0
 I4	  78255 #  define SSL_F_TLS_CONSTRUCT_FINISHED                     0
 I4	  78256 #  define SSL_F_TLS_CONSTRUCT_HELLO_REQUEST                0
 I4	  78257 #  define SSL_F_TLS_CONSTRUCT_HELLO_RETRY_REQUEST          0
 I4	  78258 #  define SSL_F_TLS_CONSTRUCT_KEY_UPDATE                   0
 I4	  78259 #  define SSL_F_TLS_CONSTRUCT_NEW_SESSION_TICKET           0
 I4	  78260 #  define SSL_F_TLS_CONSTRUCT_NEXT_PROTO                   0
 I4	  78261 #  define SSL_F_TLS_CONSTRUCT_SERVER_CERTIFICATE           0
 I4	  78262 #  define SSL_F_TLS_CONSTRUCT_SERVER_HELLO                 0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1447
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  78263 #  define SSL_F_TLS_CONSTRUCT_SERVER_KEY_EXCHANGE          0
 I4	  78264 #  define SSL_F_TLS_CONSTRUCT_STOC_ALPN                    0
 I4	  78265 #  define SSL_F_TLS_CONSTRUCT_STOC_CERTIFICATE             0
 I4	  78266 #  define SSL_F_TLS_CONSTRUCT_STOC_COOKIE                  0
 I4	  78267 #  define SSL_F_TLS_CONSTRUCT_STOC_CRYPTOPRO_BUG           0
 I4	  78268 #  define SSL_F_TLS_CONSTRUCT_STOC_DONE                    0
 I4	  78269 #  define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA              0
 I4	  78270 #  define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA_INFO         0
 I4	  78271 #  define SSL_F_TLS_CONSTRUCT_STOC_EC_PT_FORMATS           0
 I4	  78272 #  define SSL_F_TLS_CONSTRUCT_STOC_EMS                     0
 I4	  78273 #  define SSL_F_TLS_CONSTRUCT_STOC_ETM                     0
 I4	  78274 #  define SSL_F_TLS_CONSTRUCT_STOC_HELLO                   0
 I4	  78275 #  define SSL_F_TLS_CONSTRUCT_STOC_KEY_EXCHANGE            0
 I4	  78276 #  define SSL_F_TLS_CONSTRUCT_STOC_KEY_SHARE               0
 I4	  78277 #  define SSL_F_TLS_CONSTRUCT_STOC_MAXFRAGMENTLEN          0
 I4	  78278 #  define SSL_F_TLS_CONSTRUCT_STOC_NEXT_PROTO_NEG          0
 I4	  78279 #  define SSL_F_TLS_CONSTRUCT_STOC_PSK                     0
 I4	  78280 #  define SSL_F_TLS_CONSTRUCT_STOC_RENEGOTIATE             0
 I4	  78281 #  define SSL_F_TLS_CONSTRUCT_STOC_SERVER_NAME             0
 I4	  78282 #  define SSL_F_TLS_CONSTRUCT_STOC_SESSION_TICKET          0
 I4	  78283 #  define SSL_F_TLS_CONSTRUCT_STOC_STATUS_REQUEST          0
 I4	  78284 #  define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_GROUPS        0
 I4	  78285 #  define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_VERSIONS      0
 I4	  78286 #  define SSL_F_TLS_CONSTRUCT_STOC_USE_SRTP                0
 I4	  78287 #  define SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO        0
 I4	  78288 #  define SSL_F_TLS_FINISH_HANDSHAKE                       0
 I4	  78289 #  define SSL_F_TLS_GET_MESSAGE_BODY                       0
 I4	  78290 #  define SSL_F_TLS_GET_MESSAGE_HEADER                     0
 I4	  78291 #  define SSL_F_TLS_HANDLE_ALPN                            0
 I4	  78292 #  define SSL_F_TLS_HANDLE_STATUS_REQUEST                  0
 I4	  78293 #  define SSL_F_TLS_PARSE_CERTIFICATE_AUTHORITIES          0
 I4	  78294 #  define SSL_F_TLS_PARSE_CLIENTHELLO_TLSEXT               0
 I4	  78295 #  define SSL_F_TLS_PARSE_CTOS_ALPN                        0
 I4	  78296 #  define SSL_F_TLS_PARSE_CTOS_COOKIE                      0
 I4	  78297 #  define SSL_F_TLS_PARSE_CTOS_EARLY_DATA                  0
 I4	  78298 #  define SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS               0
 I4	  78299 #  define SSL_F_TLS_PARSE_CTOS_EMS                         0
 I4	  78300 #  define SSL_F_TLS_PARSE_CTOS_KEY_SHARE                   0
 I4	  78301 #  define SSL_F_TLS_PARSE_CTOS_MAXFRAGMENTLEN              0
 I4	  78302 #  define SSL_F_TLS_PARSE_CTOS_POST_HANDSHAKE_AUTH         0
 I4	  78303 #  define SSL_F_TLS_PARSE_CTOS_PSK                         0
 I4	  78304 #  define SSL_F_TLS_PARSE_CTOS_PSK_KEX_MODES               0
 I4	  78305 #  define SSL_F_TLS_PARSE_CTOS_RENEGOTIATE                 0
 I4	  78306 #  define SSL_F_TLS_PARSE_CTOS_SERVER_NAME                 0
 I4	  78307 #  define SSL_F_TLS_PARSE_CTOS_SESSION_TICKET              0
 I4	  78308 #  define SSL_F_TLS_PARSE_CTOS_SIG_ALGS                    0
 I4	  78309 #  define SSL_F_TLS_PARSE_CTOS_SIG_ALGS_CERT               0
 I4	  78310 #  define SSL_F_TLS_PARSE_CTOS_SRP                         0
 I4	  78311 #  define SSL_F_TLS_PARSE_CTOS_STATUS_REQUEST              0
 I4	  78312 #  define SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS            0
 I4	  78313 #  define SSL_F_TLS_PARSE_CTOS_USE_SRTP                    0
 I4	  78314 #  define SSL_F_TLS_PARSE_STOC_ALPN                        0
 I4	  78315 #  define SSL_F_TLS_PARSE_STOC_COOKIE                      0
 I4	  78316 #  define SSL_F_TLS_PARSE_STOC_EARLY_DATA                  0
 I4	  78317 #  define SSL_F_TLS_PARSE_STOC_EARLY_DATA_INFO             0
 I4	  78318 #  define SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS               0
 I4	  78319 #  define SSL_F_TLS_PARSE_STOC_KEY_SHARE                   0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1448
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  78320 #  define SSL_F_TLS_PARSE_STOC_MAXFRAGMENTLEN              0
 I4	  78321 #  define SSL_F_TLS_PARSE_STOC_NPN                         0
 I4	  78322 #  define SSL_F_TLS_PARSE_STOC_PSK                         0
 I4	  78323 #  define SSL_F_TLS_PARSE_STOC_RENEGOTIATE                 0
 I4	  78324 #  define SSL_F_TLS_PARSE_STOC_SCT                         0
 I4	  78325 #  define SSL_F_TLS_PARSE_STOC_SERVER_NAME                 0
 I4	  78326 #  define SSL_F_TLS_PARSE_STOC_SESSION_TICKET              0
 I4	  78327 #  define SSL_F_TLS_PARSE_STOC_STATUS_REQUEST              0
 I4	  78328 #  define SSL_F_TLS_PARSE_STOC_SUPPORTED_VERSIONS          0
 I4	  78329 #  define SSL_F_TLS_PARSE_STOC_USE_SRTP                    0
 I4	  78330 #  define SSL_F_TLS_POST_PROCESS_CLIENT_HELLO              0
 I4	  78331 #  define SSL_F_TLS_POST_PROCESS_CLIENT_KEY_EXCHANGE       0
 I4	  78332 #  define SSL_F_TLS_PREPARE_CLIENT_CERTIFICATE             0
 I4	  78333 #  define SSL_F_TLS_PROCESS_AS_HELLO_RETRY_REQUEST         0
 I4	  78334 #  define SSL_F_TLS_PROCESS_CERTIFICATE_REQUEST            0
 I4	  78335 #  define SSL_F_TLS_PROCESS_CERT_STATUS                    0
 I4	  78336 #  define SSL_F_TLS_PROCESS_CERT_STATUS_BODY               0
 I4	  78337 #  define SSL_F_TLS_PROCESS_CERT_VERIFY                    0
 I4	  78338 #  define SSL_F_TLS_PROCESS_CHANGE_CIPHER_SPEC             0
 I4	  78339 #  define SSL_F_TLS_PROCESS_CKE_DHE                        0
 I4	  78340 #  define SSL_F_TLS_PROCESS_CKE_ECDHE                      0
 I4	  78341 #  define SSL_F_TLS_PROCESS_CKE_GOST                       0
 I4	  78342 #  define SSL_F_TLS_PROCESS_CKE_PSK_PREAMBLE               0
 I4	  78343 #  define SSL_F_TLS_PROCESS_CKE_RSA                        0
 I4	  78344 #  define SSL_F_TLS_PROCESS_CKE_SRP                        0
 I4	  78345 #  define SSL_F_TLS_PROCESS_CLIENT_CERTIFICATE             0
 I4	  78346 #  define SSL_F_TLS_PROCESS_CLIENT_HELLO                   0
 I4	  78347 #  define SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE            0
 I4	  78348 #  define SSL_F_TLS_PROCESS_ENCRYPTED_EXTENSIONS           0
 I4	  78349 #  define SSL_F_TLS_PROCESS_END_OF_EARLY_DATA              0
 I4	  78350 #  define SSL_F_TLS_PROCESS_FINISHED                       0
 I4	  78351 #  define SSL_F_TLS_PROCESS_HELLO_REQ                      0
 I4	  78352 #  define SSL_F_TLS_PROCESS_HELLO_RETRY_REQUEST            0
 I4	  78353 #  define SSL_F_TLS_PROCESS_INITIAL_SERVER_FLIGHT          0
 I4	  78354 #  define SSL_F_TLS_PROCESS_KEY_EXCHANGE                   0
 I4	  78355 #  define SSL_F_TLS_PROCESS_KEY_UPDATE                     0
 I4	  78356 #  define SSL_F_TLS_PROCESS_NEW_SESSION_TICKET             0
 I4	  78357 #  define SSL_F_TLS_PROCESS_NEXT_PROTO                     0
 I4	  78358 #  define SSL_F_TLS_PROCESS_SERVER_CERTIFICATE             0
 I4	  78359 #  define SSL_F_TLS_PROCESS_SERVER_DONE                    0
 I4	  78360 #  define SSL_F_TLS_PROCESS_SERVER_HELLO                   0
 I4	  78361 #  define SSL_F_TLS_PROCESS_SKE_DHE                        0
 I4	  78362 #  define SSL_F_TLS_PROCESS_SKE_ECDHE                      0
 I4	  78363 #  define SSL_F_TLS_PROCESS_SKE_PSK_PREAMBLE               0
 I4	  78364 #  define SSL_F_TLS_PROCESS_SKE_SRP                        0
 I4	  78365 #  define SSL_F_TLS_PSK_DO_BINDER                          0
 I4	  78366 #  define SSL_F_TLS_SCAN_CLIENTHELLO_TLSEXT                0
 I4	  78367 #  define SSL_F_TLS_SETUP_HANDSHAKE                        0
 I4	  78368 #  define SSL_F_USE_CERTIFICATE_CHAIN_FILE                 0
 I4	  78369 #  define SSL_F_WPACKET_INTERN_INIT_LEN                    0
 I4	  78370 #  define SSL_F_WPACKET_START_SUB_PACKET_LEN__             0
 I4	  78371 #  define SSL_F_WRITE_STATE_MACHINE                        0
 I4	  78372 # endif
 I4	  78373 
 I4    X  78374 # ifdef  __cplusplus
 I4    X  78375 }
 I4    X  78376 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1449
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR_LEGACY.H;1

 I4	  78377 #endif
 I3	  78378 
 I3	  78379 
 I3	  78380 
 I3	  78381 /*
 I3	  78382  * SSL reason codes.
 I3	  78383  */
 I3	  78384 # define SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY        291
 I3	  78385 # define SSL_R_APP_DATA_IN_HANDSHAKE                      100
 I3	  78386 # define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272
 I3	  78387 # define SSL_R_AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE     158
 I3	  78388 # define SSL_R_BAD_CHANGE_CIPHER_SPEC                     103
 I3	  78389 # define SSL_R_BAD_CIPHER                                 186
 I3	  78390 # define SSL_R_BAD_DATA                                   390
 I3	  78391 # define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK              106
 I3	  78392 # define SSL_R_BAD_DECOMPRESSION                          107
 I3	  78393 # define SSL_R_BAD_DH_VALUE                               102
 I3	  78394 # define SSL_R_BAD_DIGEST_LENGTH                          111
 I3	  78395 # define SSL_R_BAD_EARLY_DATA                             233
 I3	  78396 # define SSL_R_BAD_ECC_CERT                               304
 I3	  78397 # define SSL_R_BAD_ECPOINT                                306
 I3	  78398 # define SSL_R_BAD_EXTENSION                              110
 I3	  78399 # define SSL_R_BAD_HANDSHAKE_LENGTH                       332
 I3	  78400 # define SSL_R_BAD_HANDSHAKE_STATE                        236
 I3	  78401 # define SSL_R_BAD_HELLO_REQUEST                          105
 I3	  78402 # define SSL_R_BAD_HRR_VERSION                            263
 I3	  78403 # define SSL_R_BAD_KEY_SHARE                              108
 I3	  78404 # define SSL_R_BAD_KEY_UPDATE                             122
 I3	  78405 # define SSL_R_BAD_LEGACY_VERSION                         292
 I3	  78406 # define SSL_R_BAD_LENGTH                                 271
 I3	  78407 # define SSL_R_BAD_PACKET                                 240
 I3	  78408 # define SSL_R_BAD_PACKET_LENGTH                          115
 I3	  78409 # define SSL_R_BAD_PROTOCOL_VERSION_NUMBER                116
 I3	  78410 # define SSL_R_BAD_PSK                                    219
 I3	  78411 # define SSL_R_BAD_PSK_IDENTITY                           114
 I3	  78412 # define SSL_R_BAD_RECORD_TYPE                            443
 I3	  78413 # define SSL_R_BAD_RSA_ENCRYPT                            119
 I3	  78414 # define SSL_R_BAD_SIGNATURE                              123
 I3	  78415 # define SSL_R_BAD_SRP_A_LENGTH                           347
 I3	  78416 # define SSL_R_BAD_SRP_PARAMETERS                         371
 I3	  78417 # define SSL_R_BAD_SRTP_MKI_VALUE                         352
 I3	  78418 # define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST           353
 I3	  78419 # define SSL_R_BAD_SSL_FILETYPE                           124
 I3	  78420 # define SSL_R_BAD_VALUE                                  384
 I3	  78421 # define SSL_R_BAD_WRITE_RETRY                            127
 I3	  78422 # define SSL_R_BINDER_DOES_NOT_VERIFY                     253
 I3	  78423 # define SSL_R_BIO_NOT_SET                                128
 I3	  78424 # define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG                  129
 I3	  78425 # define SSL_R_BN_LIB                                     130
 I3	  78426 # define SSL_R_CALLBACK_FAILED                            234
 I3	  78427 # define SSL_R_CANNOT_CHANGE_CIPHER                       109
 I3	  78428 # define SSL_R_CANNOT_GET_GROUP_NAME                      299
 I3	  78429 # define SSL_R_CA_DN_LENGTH_MISMATCH                      131
 I3	  78430 # define SSL_R_CA_KEY_TOO_SMALL                           397
 I3	  78431 # define SSL_R_CA_MD_TOO_WEAK                             398
 I3	  78432 # define SSL_R_CCS_RECEIVED_EARLY                         133
 I3	  78433 # define SSL_R_CERTIFICATE_VERIFY_FAILED                  134

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1450
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR.H;1

 I3	  78434 # define SSL_R_CERT_CB_ERROR                              377
 I3	  78435 # define SSL_R_CERT_LENGTH_MISMATCH                       135
 I3	  78436 # define SSL_R_CIPHERSUITE_DIGEST_HAS_CHANGED             218
 I3	  78437 # define SSL_R_CIPHER_CODE_WRONG_LENGTH                   137
 I3	  78438 # define SSL_R_CLIENTHELLO_TLSEXT                         226
 I3	  78439 # define SSL_R_COMPRESSED_LENGTH_TOO_LONG                 140
 I3	  78440 # define SSL_R_COMPRESSION_DISABLED                       343
 I3	  78441 # define SSL_R_COMPRESSION_FAILURE                        141
 I3	  78442 # define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE    307
 I3	  78443 # define SSL_R_COMPRESSION_LIBRARY_ERROR                  142
 I3	  78444 # define SSL_R_CONNECTION_TYPE_NOT_SET                    144
 I3	  78445 # define SSL_R_CONTEXT_NOT_DANE_ENABLED                   167
 I3	  78446 # define SSL_R_COOKIE_GEN_CALLBACK_FAILURE                400
 I3	  78447 # define SSL_R_COOKIE_MISMATCH                            308
 I3	  78448 # define SSL_R_COPY_PARAMETERS_FAILED                     296
 I3	  78449 # define SSL_R_CUSTOM_EXT_HANDLER_ALREADY_INSTALLED       206
 I3	  78450 # define SSL_R_DANE_ALREADY_ENABLED                       172
 I3	  78451 # define SSL_R_DANE_CANNOT_OVERRIDE_MTYPE_FULL            173
 I3	  78452 # define SSL_R_DANE_NOT_ENABLED                           175
 I3	  78453 # define SSL_R_DANE_TLSA_BAD_CERTIFICATE                  180
 I3	  78454 # define SSL_R_DANE_TLSA_BAD_CERTIFICATE_USAGE            184
 I3	  78455 # define SSL_R_DANE_TLSA_BAD_DATA_LENGTH                  189
 I3	  78456 # define SSL_R_DANE_TLSA_BAD_DIGEST_LENGTH                192
 I3	  78457 # define SSL_R_DANE_TLSA_BAD_MATCHING_TYPE                200
 I3	  78458 # define SSL_R_DANE_TLSA_BAD_PUBLIC_KEY                   201
 I3	  78459 # define SSL_R_DANE_TLSA_BAD_SELECTOR                     202
 I3	  78460 # define SSL_R_DANE_TLSA_NULL_DATA                        203
 I3	  78461 # define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED              145
 I3	  78462 # define SSL_R_DATA_LENGTH_TOO_LONG                       146
 I3	  78463 # define SSL_R_DECRYPTION_FAILED                          147
 I3	  78464 # define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC        281
 I3	  78465 # define SSL_R_DH_KEY_TOO_SMALL                           394
 I3	  78466 # define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG            148
 I3	  78467 # define SSL_R_DIGEST_CHECK_FAILED                        149
 I3	  78468 # define SSL_R_DTLS_MESSAGE_TOO_BIG                       334
 I3	  78469 # define SSL_R_DUPLICATE_COMPRESSION_ID                   309
 I3	  78470 # define SSL_R_ECC_CERT_NOT_FOR_SIGNING                   318
 I3	  78471 # define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE              374
 I3	  78472 # define SSL_R_EE_KEY_TOO_SMALL                           399
 I3	  78473 # define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST         354
 I3	  78474 # define SSL_R_ENCRYPTED_LENGTH_TOO_LONG                  150
 I3	  78475 # define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST              151
 I3	  78476 # define SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN             204
 I3	  78477 # define SSL_R_EXCEEDS_MAX_FRAGMENT_SIZE                  194
 I3	  78478 # define SSL_R_EXCESSIVE_MESSAGE_SIZE                     152
 I3	  78479 # define SSL_R_EXTENSION_NOT_RECEIVED                     279
 I3	  78480 # define SSL_R_EXTRA_DATA_IN_MESSAGE                      153
 I3	  78481 # define SSL_R_EXT_LENGTH_MISMATCH                        163
 I3	  78482 # define SSL_R_FAILED_TO_INIT_ASYNC                       405
 I3	  78483 # define SSL_R_FRAGMENTED_CLIENT_HELLO                    401
 I3	  78484 # define SSL_R_GOT_A_FIN_BEFORE_A_CCS                     154
 I3	  78485 # define SSL_R_HTTPS_PROXY_REQUEST                        155
 I3	  78486 # define SSL_R_HTTP_REQUEST                               156
 I3	  78487 # define SSL_R_ILLEGAL_POINT_COMPRESSION                  162
 I3	  78488 # define SSL_R_ILLEGAL_SUITEB_DIGEST                      380
 I3	  78489 # define SSL_R_INAPPROPRIATE_FALLBACK                     373
 I3	  78490 # define SSL_R_INCONSISTENT_COMPRESSION                   340

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1451
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR.H;1

 I3	  78491 # define SSL_R_INCONSISTENT_EARLY_DATA_ALPN               222
 I3	  78492 # define SSL_R_INCONSISTENT_EARLY_DATA_SNI                231
 I3	  78493 # define SSL_R_INCONSISTENT_EXTMS                         104
 I3	  78494 # define SSL_R_INSUFFICIENT_SECURITY                      241
 I3	  78495 # define SSL_R_INVALID_ALERT                              205
 I3	  78496 # define SSL_R_INVALID_CCS_MESSAGE                        260
 I3	  78497 # define SSL_R_INVALID_CERTIFICATE_OR_ALG                 238
 I3	  78498 # define SSL_R_INVALID_COMMAND                            280
 I3	  78499 # define SSL_R_INVALID_COMPRESSION_ALGORITHM              341
 I3	  78500 # define SSL_R_INVALID_CONFIG                             283
 I3	  78501 # define SSL_R_INVALID_CONFIGURATION_NAME                 113
 I3	  78502 # define SSL_R_INVALID_CONTEXT                            282
 I3	  78503 # define SSL_R_INVALID_CT_VALIDATION_TYPE                 212
 I3	  78504 # define SSL_R_INVALID_KEY_UPDATE_TYPE                    120
 I3	  78505 # define SSL_R_INVALID_MAX_EARLY_DATA                     174
 I3	  78506 # define SSL_R_INVALID_NULL_CMD_NAME                      385
 I3	  78507 # define SSL_R_INVALID_SEQUENCE_NUMBER                    402
 I3	  78508 # define SSL_R_INVALID_SERVERINFO_DATA                    388
 I3	  78509 # define SSL_R_INVALID_SESSION_ID                         999
 I3	  78510 # define SSL_R_INVALID_SRP_USERNAME                       357
 I3	  78511 # define SSL_R_INVALID_STATUS_RESPONSE                    328
 I3	  78512 # define SSL_R_INVALID_TICKET_KEYS_LENGTH                 325
 I3	  78513 # define SSL_R_LENGTH_MISMATCH                            159
 I3	  78514 # define SSL_R_LENGTH_TOO_LONG                            404
 I3	  78515 # define SSL_R_LENGTH_TOO_SHORT                           160
 I3	  78516 # define SSL_R_LIBRARY_BUG                                274
 I3	  78517 # define SSL_R_LIBRARY_HAS_NO_CIPHERS                     161
 I3	  78518 # define SSL_R_MISSING_DSA_SIGNING_CERT                   165
 I3	  78519 # define SSL_R_MISSING_ECDSA_SIGNING_CERT                 381
 I3	  78520 # define SSL_R_MISSING_FATAL                              256
 I3	  78521 # define SSL_R_MISSING_PARAMETERS                         290
 I3	  78522 # define SSL_R_MISSING_PSK_KEX_MODES_EXTENSION            310
 I3	  78523 # define SSL_R_MISSING_RSA_CERTIFICATE                    168
 I3	  78524 # define SSL_R_MISSING_RSA_ENCRYPTING_CERT                169
 I3	  78525 # define SSL_R_MISSING_RSA_SIGNING_CERT                   170
 I3	  78526 # define SSL_R_MISSING_SIGALGS_EXTENSION                  112
 I3	  78527 # define SSL_R_MISSING_SIGNING_CERT                       221
 I3	  78528 # define SSL_R_MISSING_SRP_PARAM                          358
 I3	  78529 # define SSL_R_MISSING_SUPPORTED_GROUPS_EXTENSION         209
 I3	  78530 # define SSL_R_MISSING_TMP_DH_KEY                         171
 I3	  78531 # define SSL_R_MISSING_TMP_ECDH_KEY                       311
 I3	  78532 # define SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA     293
 I3	  78533 # define SSL_R_NOT_ON_RECORD_BOUNDARY                     182
 I3	  78534 # define SSL_R_NOT_REPLACING_CERTIFICATE                  289
 I3	  78535 # define SSL_R_NOT_SERVER                                 284
 I3	  78536 # define SSL_R_NO_APPLICATION_PROTOCOL                    235
 I3	  78537 # define SSL_R_NO_CERTIFICATES_RETURNED                   176
 I3	  78538 # define SSL_R_NO_CERTIFICATE_ASSIGNED                    177
 I3	  78539 # define SSL_R_NO_CERTIFICATE_SET                         179
 I3	  78540 # define SSL_R_NO_CHANGE_FOLLOWING_HRR                    214
 I3	  78541 # define SSL_R_NO_CIPHERS_AVAILABLE                       181
 I3	  78542 # define SSL_R_NO_CIPHERS_SPECIFIED                       183
 I3	  78543 # define SSL_R_NO_CIPHER_MATCH                            185
 I3	  78544 # define SSL_R_NO_CLIENT_CERT_METHOD                      331
 I3	  78545 # define SSL_R_NO_COMPRESSION_SPECIFIED                   187
 I3	  78546 # define SSL_R_NO_COOKIE_CALLBACK_SET                     287
 I3	  78547 # define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER           330

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1452
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR.H;1

 I3	  78548 # define SSL_R_NO_METHOD_SPECIFIED                        188
 I3	  78549 # define SSL_R_NO_PEM_EXTENSIONS                          389
 I3	  78550 # define SSL_R_NO_PRIVATE_KEY_ASSIGNED                    190
 I3	  78551 # define SSL_R_NO_PROTOCOLS_AVAILABLE                     191
 I3	  78552 # define SSL_R_NO_RENEGOTIATION                           339
 I3	  78553 # define SSL_R_NO_REQUIRED_DIGEST                         324
 I3	  78554 # define SSL_R_NO_SHARED_CIPHER                           193
 I3	  78555 # define SSL_R_NO_SHARED_GROUPS                           410
 I3	  78556 # define SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS             376
 I3	  78557 # define SSL_R_NO_SRTP_PROFILES                           359
 I3	  78558 # define SSL_R_NO_SUITABLE_DIGEST_ALGORITHM               297
 I3	  78559 # define SSL_R_NO_SUITABLE_GROUPS                         295
 I3	  78560 # define SSL_R_NO_SUITABLE_KEY_SHARE                      101
 I3	  78561 # define SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM            118
 I3	  78562 # define SSL_R_NO_VALID_SCTS                              216
 I3	  78563 # define SSL_R_NO_VERIFY_COOKIE_CALLBACK                  403
 I3	  78564 # define SSL_R_NULL_SSL_CTX                               195
 I3	  78565 # define SSL_R_NULL_SSL_METHOD_PASSED                     196
 I3	  78566 # define SSL_R_OCSP_CALLBACK_FAILURE                      305
 I3	  78567 # define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED            197
 I3	  78568 # define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344
 I3	  78569 # define SSL_R_OVERFLOW_ERROR                             237
 I3	  78570 # define SSL_R_PACKET_LENGTH_TOO_LONG                     198
 I3	  78571 # define SSL_R_PARSE_TLSEXT                               227
 I3	  78572 # define SSL_R_PATH_TOO_LONG                              270
 I3	  78573 # define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE          199
 I3	  78574 # define SSL_R_PEM_NAME_BAD_PREFIX                        391
 I3	  78575 # define SSL_R_PEM_NAME_TOO_SHORT                         392
 I3	  78576 # define SSL_R_PIPELINE_FAILURE                           406
 I3	  78577 # define SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR           278
 I3	  78578 # define SSL_R_PRIVATE_KEY_MISMATCH                       288
 I3	  78579 # define SSL_R_PROTOCOL_IS_SHUTDOWN                       207
 I3	  78580 # define SSL_R_PSK_IDENTITY_NOT_FOUND                     223
 I3	  78581 # define SSL_R_PSK_NO_CLIENT_CB                           224
 I3	  78582 # define SSL_R_PSK_NO_SERVER_CB                           225
 I3	  78583 # define SSL_R_READ_BIO_NOT_SET                           211
 I3	  78584 # define SSL_R_READ_TIMEOUT_EXPIRED                       312
 I3	  78585 # define SSL_R_RECORD_LENGTH_MISMATCH                     213
 I3	  78586 # define SSL_R_RECORD_TOO_SMALL                           298
 I3	  78587 # define SSL_R_RENEGOTIATE_EXT_TOO_LONG                   335
 I3	  78588 # define SSL_R_RENEGOTIATION_ENCODING_ERR                 336
 I3	  78589 # define SSL_R_RENEGOTIATION_MISMATCH                     337
 I3	  78590 # define SSL_R_REQUEST_PENDING                            285
 I3	  78591 # define SSL_R_REQUEST_SENT                               286
 I3	  78592 # define SSL_R_REQUIRED_CIPHER_MISSING                    215
 I3	  78593 # define SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING     342
 I3	  78594 # define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING           345
 I3	  78595 # define SSL_R_SCT_VERIFICATION_FAILED                    208
 I3	  78596 # define SSL_R_SERVERHELLO_TLSEXT                         275
 I3	  78597 # define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED           277
 I3	  78598 # define SSL_R_SHUTDOWN_WHILE_IN_INIT                     407
 I3	  78599 # define SSL_R_SIGNATURE_ALGORITHMS_ERROR                 360
 I3	  78600 # define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE      220
 I3	  78601 # define SSL_R_SRP_A_CALC                                 361
 I3	  78602 # define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES           362
 I3	  78603 # define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG      363
 I3	  78604 # define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE            364

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1453
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR.H;1

 I3	  78605 # define SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH       232
 I3	  78606 # define SSL_R_SSL3_EXT_INVALID_SERVERNAME                319
 I3	  78607 # define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE           320
 I3	  78608 # define SSL_R_SSL3_SESSION_ID_TOO_LONG                   300
 I3	  78609 # define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE                1042
 I3	  78610 # define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC                 1020
 I3	  78611 # define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED            1045
 I3	  78612 # define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED            1044
 I3	  78613 # define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN            1046
 I3	  78614 # define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE          1030
 I3	  78615 # define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE              1040
 I3	  78616 # define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER              1047
 I3	  78617 # define SSL_R_SSLV3_ALERT_NO_CERTIFICATE                 1041
 I3	  78618 # define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE             1010
 I3	  78619 # define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE        1043
 I3	  78620 # define SSL_R_SSL_COMMAND_SECTION_EMPTY                  117
 I3	  78621 # define SSL_R_SSL_COMMAND_SECTION_NOT_FOUND              125
 I3	  78622 # define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION         228
 I3	  78623 # define SSL_R_SSL_HANDSHAKE_FAILURE                      229
 I3	  78624 # define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS                 230
 I3	  78625 # define SSL_R_SSL_NEGATIVE_LENGTH                        372
 I3	  78626 # define SSL_R_SSL_SECTION_EMPTY                          126
 I3	  78627 # define SSL_R_SSL_SECTION_NOT_FOUND                      136
 I3	  78628 # define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED             301
 I3	  78629 # define SSL_R_SSL_SESSION_ID_CONFLICT                    302
 I3	  78630 # define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG            273
 I3	  78631 # define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH              303
 I3	  78632 # define SSL_R_SSL_SESSION_ID_TOO_LONG                    408
 I3	  78633 # define SSL_R_SSL_SESSION_VERSION_MISMATCH               210
 I3	  78634 # define SSL_R_STILL_IN_INIT                              121
 I3	  78635 # define SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED          1116
 I3	  78636 # define SSL_R_TLSV13_ALERT_MISSING_EXTENSION             1109
 I3	  78637 # define SSL_R_TLSV1_ALERT_ACCESS_DENIED                  1049
 I3	  78638 # define SSL_R_TLSV1_ALERT_DECODE_ERROR                   1050
 I3	  78639 # define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED              1021
 I3	  78640 # define SSL_R_TLSV1_ALERT_DECRYPT_ERROR                  1051
 I3	  78641 # define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION             1060
 I3	  78642 # define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK         1086
 I3	  78643 # define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY          1071
 I3	  78644 # define SSL_R_TLSV1_ALERT_INTERNAL_ERROR                 1080
 I3	  78645 # define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION               1100
 I3	  78646 # define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION               1070
 I3	  78647 # define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW                1022
 I3	  78648 # define SSL_R_TLSV1_ALERT_UNKNOWN_CA                     1048
 I3	  78649 # define SSL_R_TLSV1_ALERT_USER_CANCELLED                 1090
 I3	  78650 # define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE           1114
 I3	  78651 # define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE      1113
 I3	  78652 # define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE             1111
 I3	  78653 # define SSL_R_TLSV1_UNRECOGNIZED_NAME                    1112
 I3	  78654 # define SSL_R_TLSV1_UNSUPPORTED_EXTENSION                1110
 I3	  78655 # define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL                 367
 I3	  78656 # define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST             157
 I3	  78657 # define SSL_R_TOO_MANY_KEY_UPDATES                       132
 I3	  78658 # define SSL_R_TOO_MANY_WARN_ALERTS                       409
 I3	  78659 # define SSL_R_TOO_MUCH_EARLY_DATA                        164
 I3	  78660 # define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS             314
 I3	  78661 # define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS       239

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1454
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSLERR.H;1

 I3	  78662 # define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES           242
 I3	  78663 # define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES          243
 I3	  78664 # define SSL_R_UNEXPECTED_CCS_MESSAGE                     262
 I3	  78665 # define SSL_R_UNEXPECTED_END_OF_EARLY_DATA               178
 I3	  78666 # define SSL_R_UNEXPECTED_EOF_WHILE_READING               294
 I3	  78667 # define SSL_R_UNEXPECTED_MESSAGE                         244
 I3	  78668 # define SSL_R_UNEXPECTED_RECORD                          245
 I3	  78669 # define SSL_R_UNINITIALIZED                              276
 I3	  78670 # define SSL_R_UNKNOWN_ALERT_TYPE                         246
 I3	  78671 # define SSL_R_UNKNOWN_CERTIFICATE_TYPE                   247
 I3	  78672 # define SSL_R_UNKNOWN_CIPHER_RETURNED                    248
 I3	  78673 # define SSL_R_UNKNOWN_CIPHER_TYPE                        249
 I3	  78674 # define SSL_R_UNKNOWN_CMD_NAME                           386
 I3	  78675 # define SSL_R_UNKNOWN_COMMAND                            139
 I3	  78676 # define SSL_R_UNKNOWN_DIGEST                             368
 I3	  78677 # define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE                  250
 I3	  78678 # define SSL_R_UNKNOWN_PKEY_TYPE                          251
 I3	  78679 # define SSL_R_UNKNOWN_PROTOCOL                           252
 I3	  78680 # define SSL_R_UNKNOWN_SSL_VERSION                        254
 I3	  78681 # define SSL_R_UNKNOWN_STATE                              255
 I3	  78682 # define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED       338
 I3	  78683 # define SSL_R_UNSOLICITED_EXTENSION                      217
 I3	  78684 # define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM          257
 I3	  78685 # define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE                 315
 I3	  78686 # define SSL_R_UNSUPPORTED_PROTOCOL                       258
 I3	  78687 # define SSL_R_UNSUPPORTED_SSL_VERSION                    259
 I3	  78688 # define SSL_R_UNSUPPORTED_STATUS_TYPE                    329
 I3	  78689 # define SSL_R_USE_SRTP_NOT_NEGOTIATED                    369
 I3	  78690 # define SSL_R_VERSION_TOO_HIGH                           166
 I3	  78691 # define SSL_R_VERSION_TOO_LOW                            396
 I3	  78692 # define SSL_R_WRONG_CERTIFICATE_TYPE                     383
 I3	  78693 # define SSL_R_WRONG_CIPHER_RETURNED                      261
 I3	  78694 # define SSL_R_WRONG_CURVE                                378
 I3	  78695 # define SSL_R_WRONG_SIGNATURE_LENGTH                     264
 I3	  78696 # define SSL_R_WRONG_SIGNATURE_SIZE                       265
 I3	  78697 # define SSL_R_WRONG_SIGNATURE_TYPE                       370
 I3	  78698 # define SSL_R_WRONG_SSL_VERSION                          266
 I3	  78699 # define SSL_R_WRONG_VERSION_NUMBER                       267
 I3	  78700 # define SSL_R_X509_LIB                                   268
 I3	  78701 # define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS           269
 I3	  78702 
 I3	  78703 #endif
 I2	  78704 # include <openssl/prov_ssl.h>
 I3	  78705 /*
 I3	  78706  * Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  78707  *
 I3	  78708  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  78709  * this file except in compliance with the License.  You can obtain a copy
 I3	  78710  * in the file LICENSE in the source distribution or at
 I3	  78711  * https://www.openssl.org/source/license.html
 I3	  78712  */
 I3	  78713 
 I3	  78714 #ifndef OPENSSL_PROV_SSL_H
 I3	  78715 # define OPENSSL_PROV_SSL_H
 I3	  78716 # pragma once
 I3	  78717 
 I3    X  78718 # ifdef __cplusplus

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1455
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]PROV_SSL.H;1

 I3    X  78719 extern "C" {
 I3    X  78720 # endif
 I3	  78721 
 I3	  78722 /* SSL/TLS related defines useful to providers */
 I3	  78723 
 I3	  78724 # define SSL_MAX_MASTER_KEY_LENGTH 48
 I3	  78725 
 I3	  78726 # define SSL3_VERSION                    0x0300
 I3	  78727 # define TLS1_VERSION                    0x0301
 I3	  78728 # define TLS1_1_VERSION                  0x0302
 I3	  78729 # define TLS1_2_VERSION                  0x0303
 I3	  78730 # define TLS1_3_VERSION                  0x0304
 I3	  78731 # define DTLS1_VERSION                   0xFEFF
 I3	  78732 # define DTLS1_2_VERSION                 0xFEFD
 I3	  78733 # define DTLS1_BAD_VER                   0x0100
 I3	  78734 
 I3    X  78735 # ifdef __cplusplus
 I3    X  78736 }
 I3    X  78737 # endif
 I3	  78738 #endif /* OPENSSL_PROV_SSL_H */
 I2	  78739 
 I2    X  78740 #ifdef  __cplusplus
 I2    X  78741 extern "C" {
 I2    X  78742 #endif
 I2	  78743 
 I2	  78744 /* OpenSSL version number for ASN.1 encoding of the session information */
 I2	  78745 /*-
 I2	  78746  * Version 0 - initial version
 I2	  78747  * Version 1 - added the optional peer certificate
 I2	  78748  */
 I2	  78749 # define SSL_SESSION_ASN1_VERSION 0x0001
 I2	  78750 
 I2	  78751 # define SSL_MAX_SSL_SESSION_ID_LENGTH           32
 I2	  78752 # define SSL_MAX_SID_CTX_LENGTH                  32
 I2	  78753 
 I2	  78754 # define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES     (512/8)
 I2	  78755 # define SSL_MAX_KEY_ARG_LENGTH                  8
 I2	  78756 /* SSL_MAX_MASTER_KEY_LENGTH is defined in prov_ssl.h */
 I2	  78757 
 I2	  78758 /* The maximum number of encrypt/decrypt pipelines we can support */
 I2	  78759 # define SSL_MAX_PIPELINES  32
 I2	  78760 
 I2	  78761 /* text strings for the ciphers */
 I2	  78762 
 I2	  78763 /* These are used to specify which ciphers to use and not to use */
 I2	  78764 
 I2	  78765 # define SSL_TXT_LOW             "LOW"
 I2	  78766 # define SSL_TXT_MEDIUM          "MEDIUM"
 I2	  78767 # define SSL_TXT_HIGH            "HIGH"
 I2	  78768 # define SSL_TXT_FIPS            "FIPS"
 I2	  78769 
 I2	  78770 # define SSL_TXT_aNULL           "aNULL"
 I2	  78771 # define SSL_TXT_eNULL           "eNULL"
 I2	  78772 # define SSL_TXT_NULL            "NULL"
 I2	  78773 
 I2	  78774 # define SSL_TXT_kRSA            "kRSA"
 I2	  78775 # define SSL_TXT_kDHr            "kDHr"/* this cipher class has been removed */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1456
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  78776 # define SSL_TXT_kDHd            "kDHd"/* this cipher class has been removed */
 I2	  78777 # define SSL_TXT_kDH             "kDH"/* this cipher class has been removed */
 I2	  78778 # define SSL_TXT_kEDH            "kEDH"/* alias for kDHE */
 I2	  78779 # define SSL_TXT_kDHE            "kDHE"
 I2	  78780 # define SSL_TXT_kECDHr          "kECDHr"/* this cipher class has been removed */
 I2	  78781 # define SSL_TXT_kECDHe          "kECDHe"/* this cipher class has been removed */
 I2	  78782 # define SSL_TXT_kECDH           "kECDH"/* this cipher class has been removed */
 I2	  78783 # define SSL_TXT_kEECDH          "kEECDH"/* alias for kECDHE */
 I2	  78784 # define SSL_TXT_kECDHE          "kECDHE"
 I2	  78785 # define SSL_TXT_kPSK            "kPSK"
 I2	  78786 # define SSL_TXT_kRSAPSK         "kRSAPSK"
 I2	  78787 # define SSL_TXT_kECDHEPSK       "kECDHEPSK"
 I2	  78788 # define SSL_TXT_kDHEPSK         "kDHEPSK"
 I2	  78789 # define SSL_TXT_kGOST           "kGOST"
 I2	  78790 # define SSL_TXT_kGOST18         "kGOST18"
 I2	  78791 # define SSL_TXT_kSRP            "kSRP"
 I2	  78792 
 I2	  78793 # define SSL_TXT_aRSA            "aRSA"
 I2	  78794 # define SSL_TXT_aDSS            "aDSS"
 I2	  78795 # define SSL_TXT_aDH             "aDH"/* this cipher class has been removed */
 I2	  78796 # define SSL_TXT_aECDH           "aECDH"/* this cipher class has been removed */
 I2	  78797 # define SSL_TXT_aECDSA          "aECDSA"
 I2	  78798 # define SSL_TXT_aPSK            "aPSK"
 I2	  78799 # define SSL_TXT_aGOST94         "aGOST94"
 I2	  78800 # define SSL_TXT_aGOST01         "aGOST01"
 I2	  78801 # define SSL_TXT_aGOST12         "aGOST12"
 I2	  78802 # define SSL_TXT_aGOST           "aGOST"
 I2	  78803 # define SSL_TXT_aSRP            "aSRP"
 I2	  78804 
 I2	  78805 # define SSL_TXT_DSS             "DSS"
 I2	  78806 # define SSL_TXT_DH              "DH"
 I2	  78807 # define SSL_TXT_DHE             "DHE"/* same as "kDHE:-ADH" */
 I2	  78808 # define SSL_TXT_EDH             "EDH"/* alias for DHE */
 I2	  78809 # define SSL_TXT_ADH             "ADH"
 I2	  78810 # define SSL_TXT_RSA             "RSA"
 I2	  78811 # define SSL_TXT_ECDH            "ECDH"
 I2	  78812 # define SSL_TXT_EECDH           "EECDH"/* alias for ECDHE" */
 I2	  78813 # define SSL_TXT_ECDHE           "ECDHE"/* same as "kECDHE:-AECDH" */
 I2	  78814 # define SSL_TXT_AECDH           "AECDH"
 I2	  78815 # define SSL_TXT_ECDSA           "ECDSA"
 I2	  78816 # define SSL_TXT_PSK             "PSK"
 I2	  78817 # define SSL_TXT_SRP             "SRP"
 I2	  78818 
 I2	  78819 # define SSL_TXT_DES             "DES"
 I2	  78820 # define SSL_TXT_3DES            "3DES"
 I2	  78821 # define SSL_TXT_RC4             "RC4"
 I2	  78822 # define SSL_TXT_RC2             "RC2"
 I2	  78823 # define SSL_TXT_IDEA            "IDEA"
 I2	  78824 # define SSL_TXT_SEED            "SEED"
 I2	  78825 # define SSL_TXT_AES128          "AES128"
 I2	  78826 # define SSL_TXT_AES256          "AES256"
 I2	  78827 # define SSL_TXT_AES             "AES"
 I2	  78828 # define SSL_TXT_AES_GCM         "AESGCM"
 I2	  78829 # define SSL_TXT_AES_CCM         "AESCCM"
 I2	  78830 # define SSL_TXT_AES_CCM_8       "AESCCM8"
 I2	  78831 # define SSL_TXT_CAMELLIA128     "CAMELLIA128"
 I2	  78832 # define SSL_TXT_CAMELLIA256     "CAMELLIA256"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1457
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  78833 # define SSL_TXT_CAMELLIA        "CAMELLIA"
 I2	  78834 # define SSL_TXT_CHACHA20        "CHACHA20"
 I2	  78835 # define SSL_TXT_GOST            "GOST89"
 I2	  78836 # define SSL_TXT_ARIA            "ARIA"
 I2	  78837 # define SSL_TXT_ARIA_GCM        "ARIAGCM"
 I2	  78838 # define SSL_TXT_ARIA128         "ARIA128"
 I2	  78839 # define SSL_TXT_ARIA256         "ARIA256"
 I2	  78840 # define SSL_TXT_GOST2012_GOST8912_GOST8912 "GOST2012-GOST8912-GOST8912"
 I2	  78841 # define SSL_TXT_CBC             "CBC"
 I2	  78842 
 I2	  78843 # define SSL_TXT_MD5             "MD5"
 I2	  78844 # define SSL_TXT_SHA1            "SHA1"
 I2	  78845 # define SSL_TXT_SHA             "SHA"/* same as "SHA1" */
 I2	  78846 # define SSL_TXT_GOST94          "GOST94"
 I2	  78847 # define SSL_TXT_GOST89MAC       "GOST89MAC"
 I2	  78848 # define SSL_TXT_GOST12          "GOST12"
 I2	  78849 # define SSL_TXT_GOST89MAC12     "GOST89MAC12"
 I2	  78850 # define SSL_TXT_SHA256          "SHA256"
 I2	  78851 # define SSL_TXT_SHA384          "SHA384"
 I2	  78852 
 I2	  78853 # define SSL_TXT_SSLV3           "SSLv3"
 I2	  78854 # define SSL_TXT_TLSV1           "TLSv1"
 I2	  78855 # define SSL_TXT_TLSV1_1         "TLSv1.1"
 I2	  78856 # define SSL_TXT_TLSV1_2         "TLSv1.2"
 I2	  78857 
 I2	  78858 # define SSL_TXT_ALL             "ALL"
 I2	  78859 
 I2	  78860 /*-
 I2	  78861  * COMPLEMENTOF* definitions. These identifiers are used to (de-select)
 I2	  78862  * ciphers normally not being used.
 I2	  78863  * Example: "RC4" will activate all ciphers using RC4 including ciphers
 I2	  78864  * without authentication, which would normally disabled by DEFAULT (due
 I2	  78865  * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT"
 I2	  78866  * will make sure that it is also disabled in the specific selection.
 I2	  78867  * COMPLEMENTOF* identifiers are portable between version, as adjustments
 I2	  78868  * to the default cipher setup will also be included here.
 I2	  78869  *
 I2	  78870  * COMPLEMENTOFDEFAULT does not experience the same special treatment that
 I2	  78871  * DEFAULT gets, as only selection is being done and no sorting as needed
 I2	  78872  * for DEFAULT.
 I2	  78873  */
 I2	  78874 # define SSL_TXT_CMPALL          "COMPLEMENTOFALL"
 I2	  78875 # define SSL_TXT_CMPDEF          "COMPLEMENTOFDEFAULT"
 I2	  78876 
 I2	  78877 /*
 I2	  78878  * The following cipher list is used by default. It also is substituted when
 I2	  78879  * an application-defined cipher list string starts with 'DEFAULT'.
 I2	  78880  * This applies to ciphersuites for TLSv1.2 and below.
 I2	  78881  * DEPRECATED IN 3.0.0, in favor of OSSL_default_cipher_list()
 I2	  78882  * Update both macro and function simultaneously
 I2	  78883  */
 I2	  78884 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  78885 #  define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL"
 I2	  78886 /*
 I2	  78887  * This is the default set of TLSv1.3 ciphersuites
 I2	  78888  * DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites()
 I2	  78889  * Update both macro and function simultaneously

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1458
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  78890  */
 I2	  78891 #  define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
 I2	  78892                                    "TLS_CHACHA20_POLY1305_SHA256:" \
 I2	  78893                                    "TLS_AES_128_GCM_SHA256"
 I2	  78894 # endif
 I2	  78895 /*
 I2	  78896  * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always
 I2	  78897  * starts with a reasonable order, and all we have to do for DEFAULT is
 I2	  78898  * throwing out anonymous and unencrypted ciphersuites! (The latter are not
 I2	  78899  * actually enabled by ALL, but "ALL:RSA" would enable some of them.)
 I2	  78900  */
 I2	  78901 
 I2	  78902 /* Used in SSL_set_shutdown()/SSL_get_shutdown(); */
 I2	  78903 # define SSL_SENT_SHUTDOWN       1
 I2	  78904 # define SSL_RECEIVED_SHUTDOWN   2
 I2	  78905 
 I2    X  78906 #ifdef __cplusplus
 I2    X  78907 }
 I2    X  78908 #endif
 I2	  78909 
 I2    X  78910 #ifdef  __cplusplus
 I2    X  78911 extern "C" {
 I2    X  78912 #endif
 I2	  78913 
 I2	  78914 # define SSL_FILETYPE_ASN1       X509_FILETYPE_ASN1
 I2	  78915 # define SSL_FILETYPE_PEM        X509_FILETYPE_PEM
 I2	  78916 
 I2	  78917 /*
 I2	  78918  * This is needed to stop compilers complaining about the 'struct ssl_st *'
 I2	  78919  * function parameters used to prototype callbacks in SSL_CTX.
 I2	  78920  */
 I2	  78921 typedef struct ssl_st *ssl_crock_st;
 I2	  78922 typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT;
 I2	  78923 typedef struct ssl_method_st SSL_METHOD;
 I2	  78924 typedef struct ssl_cipher_st SSL_CIPHER;
 I2	  78925 typedef struct ssl_session_st SSL_SESSION;
 I2	  78926 typedef struct tls_sigalgs_st TLS_SIGALGS;
 I2	  78927 typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
 I2	  78928 typedef struct ssl_comp_st SSL_COMP;
 I2	  78929 
 I2	  78930 STACK_OF(SSL_CIPHER);
       E	 struct stack_st_SSL_CIPHER
 I2	  78931 STACK_OF(SSL_COMP);
       E	 struct stack_st_SSL_COMP
 I2	  78932 
 I2	  78933 /* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
 I2	  78934 typedef struct srtp_protection_profile_st {
 I2	  78935     const char *name;
 I2	  78936     unsigned long id;
 I2	  78937 } SRTP_PROTECTION_PROFILE;
 I2   1	  78938 SKM_DEFINE_STACK_OF_INTERNAL(SRTP_PROTECTION_PROFILE, SRTP_PROTECTION_PROFILE, SRTP_PROTECTION_PROFILE)
       E	 struct stack_st_SRTP_PROTECTION_PROFILE ; typedef int ( * sk_SRTP_PROTECTION_PROFILE_compfunc ) ( const SRTP_PROTEC
       E	TION_PROFILE * const * a , const SRTP_PROTECTION_PROFILE * const * b ) ; typedef void ( * sk_SRTP_PROTECTION_PROFILE
       E	_freefunc ) ( SRTP_PROTECTION_PROFILE * a ) ; typedef SRTP_PROTECTION_PROFILE * ( * sk_SRTP_PROTECTION_PROFILE_copyf
       E	unc ) ( const SRTP_PROTECTION_PROFILE * a ) ; static __inline SRTP_PROTECTION_PROFILE * ossl_check_SRTP_PROTECTION_P
       E	ROFILE_type ( SRTP_PROTECTION_PROFILE * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_cons
       E	t_SRTP_PROTECTION_PROFILE_sk_type ( const struct stack_st_SRTP_PROTECTION_PROFILE * sk ) { return ( const OPENSSL_ST

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1459
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

       E	ACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_SRTP_PROTECTION_PROFILE_sk_type ( struct stack_st_SRTP_PRO
       E	TECTION_PROFILE * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_SRTP_PROTE
       E	CTION_PROFILE_compfunc_type ( sk_SRTP_PROTECTION_PROFILE_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } sta
       E	tic __inline OPENSSL_sk_copyfunc ossl_check_SRTP_PROTECTION_PROFILE_copyfunc_type ( sk_SRTP_PROTECTION_PROFILE_copyf
       E	unc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_SRTP_PROTECTION_PR
       E	OFILE_freefunc_type ( sk_SRTP_PROTECTION_PROFILE_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  78939 #define sk_SRTP_PROTECTION_PROFILE_num(sk) OPENSSL_sk_num(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I2	  78940 #define sk_SRTP_PROTECTION_PROFILE_value(sk, idx) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_value(ossl_check_const_SRTP
 I2	  78940 _PROTECTION_PROFILE_sk_type(sk), (idx)))
 I2	  78941 #define sk_SRTP_PROTECTION_PROFILE_new(cmp) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new(ossl_check_SRTP_PRO
 I2	  78941 TECTION_PROFILE_compfunc_type(cmp)))
 I2	  78942 #define sk_SRTP_PROTECTION_PROFILE_new_null() ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new_null())
 I2	  78943 #define sk_SRTP_PROTECTION_PROFILE_new_reserve(cmp, n) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new_reserve(
 I2	  78943 ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type(cmp), (n)))
 I2	  78944 #define sk_SRTP_PROTECTION_PROFILE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk),
 I2	  78944  (n))
 I2	  78945 #define sk_SRTP_PROTECTION_PROFILE_free(sk) OPENSSL_sk_free(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I2	  78946 #define sk_SRTP_PROTECTION_PROFILE_zero(sk) OPENSSL_sk_zero(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I2	  78947 #define sk_SRTP_PROTECTION_PROFILE_delete(sk, i) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_delete(ossl_check_SRTP_PROTE
 I2	  78947 CTION_PROFILE_sk_type(sk), (i)))
 I2	  78948 #define sk_SRTP_PROTECTION_PROFILE_delete_ptr(sk, ptr) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_delete_ptr(ossl_check_
 I2	  78948 SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)))
 I2	  78949 #define sk_SRTP_PROTECTION_PROFILE_push(sk, ptr) OPENSSL_sk_push(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), oss
 I2	  78949 l_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I2	  78950 #define sk_SRTP_PROTECTION_PROFILE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk
 I2	  78950 ), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I2	  78951 #define sk_SRTP_PROTECTION_PROFILE_pop(sk) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_pop(ossl_check_SRTP_PROTECTION_PRO
 I2	  78951 FILE_sk_type(sk)))
 I2	  78952 #define sk_SRTP_PROTECTION_PROFILE_shift(sk) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_shift(ossl_check_SRTP_PROTECTION
 I2	  78952 _PROFILE_sk_type(sk)))
 I2	  78953 #define sk_SRTP_PROTECTION_PROFILE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SRTP_PROTECTION_PROFILE_sk_
 I2	  78953 type(sk),ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type(freefunc))
 I2	  78954 #define sk_SRTP_PROTECTION_PROFILE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SRTP_PROTECTION_PROFILE_sk_type
 I2	  78954 (sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr), (idx))
 I2	  78955 #define sk_SRTP_PROTECTION_PROFILE_set(sk, idx, ptr) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_set(ossl_check_SRTP_PROT
 I2	  78955 ECTION_PROFILE_sk_type(sk), (idx), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)))
 I2	  78956 #define sk_SRTP_PROTECTION_PROFILE_find(sk, ptr) OPENSSL_sk_find(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), oss
 I2	  78956 l_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I2	  78957 #define sk_SRTP_PROTECTION_PROFILE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk
 I2	  78957 ), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I2	  78958 #define sk_SRTP_PROTECTION_PROFILE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SRTP_PROTECTION_PROFILE_sk
 I2	  78958 _type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr), pnum)
 I2	  78959 #define sk_SRTP_PROTECTION_PROFILE_sort(sk) OPENSSL_sk_sort(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I2	  78960 #define sk_SRTP_PROTECTION_PROFILE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_ty
 I2	  78960 pe(sk))
 I2	  78961 #define sk_SRTP_PROTECTION_PROFILE_dup(sk) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_dup(ossl_check_const_SRT
 I2	  78961 P_PROTECTION_PROFILE_sk_type(sk)))
 I2	  78962 #define sk_SRTP_PROTECTION_PROFILE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_s
 I2	  78962 k_deep_copy(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_copyfunc_type(c
 I2	  78962 opyfunc), ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type(freefunc)))
 I2	  78963 #define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(sk, cmp) ((sk_SRTP_PROTECTION_PROFILE_compfunc)OPENSSL_sk_set_cmp_fu
 I2	  78963 nc(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type(cmp)))
 I2	  78964 
 I2	  78965 
 I2	  78966 
 I2	  78967 typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data,
 I2	  78968                                             int len, void *arg);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1460
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  78969 typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len,
 I2	  78970                                         STACK_OF(SSL_CIPHER) *peer_ciphers,
       E	                                         struct stack_st_SSL_CIPHER
 I2	  78971                                         const SSL_CIPHER **cipher, void *arg);
 I2	  78972 
 I2	  78973 /* Extension context codes */
 I2	  78974 /* This extension is only allowed in TLS */
 I2	  78975 #define SSL_EXT_TLS_ONLY                        0x0001
 I2	  78976 /* This extension is only allowed in DTLS */
 I2	  78977 #define SSL_EXT_DTLS_ONLY                       0x0002
 I2	  78978 /* Some extensions may be allowed in DTLS but we don't implement them for it */
 I2	  78979 #define SSL_EXT_TLS_IMPLEMENTATION_ONLY         0x0004
 I2	  78980 /* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */
 I2	  78981 #define SSL_EXT_SSL3_ALLOWED                    0x0008
 I2	  78982 /* Extension is only defined for TLS1.2 and below */
 I2	  78983 #define SSL_EXT_TLS1_2_AND_BELOW_ONLY           0x0010
 I2	  78984 /* Extension is only defined for TLS1.3 and above */
 I2	  78985 #define SSL_EXT_TLS1_3_ONLY                     0x0020
 I2	  78986 /* Ignore this extension during parsing if we are resuming */
 I2	  78987 #define SSL_EXT_IGNORE_ON_RESUMPTION            0x0040
 I2	  78988 #define SSL_EXT_CLIENT_HELLO                    0x0080
 I2	  78989 /* Really means TLS1.2 or below */
 I2	  78990 #define SSL_EXT_TLS1_2_SERVER_HELLO             0x0100
 I2	  78991 #define SSL_EXT_TLS1_3_SERVER_HELLO             0x0200
 I2	  78992 #define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS     0x0400
 I2	  78993 #define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST      0x0800
 I2	  78994 #define SSL_EXT_TLS1_3_CERTIFICATE              0x1000
 I2	  78995 #define SSL_EXT_TLS1_3_NEW_SESSION_TICKET       0x2000
 I2	  78996 #define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST      0x4000
 I2	  78997 
 I2	  78998 /* Typedefs for handling custom extensions */
 I2	  78999 
 I2	  79000 typedef int (*custom_ext_add_cb)(SSL *s, unsigned int ext_type,
 I2	  79001                                  const unsigned char **out, size_t *outlen,
 I2	  79002                                  int *al, void *add_arg);
 I2	  79003 
 I2	  79004 typedef void (*custom_ext_free_cb)(SSL *s, unsigned int ext_type,
 I2	  79005                                    const unsigned char *out, void *add_arg);
 I2	  79006 
 I2	  79007 typedef int (*custom_ext_parse_cb)(SSL *s, unsigned int ext_type,
 I2	  79008                                    const unsigned char *in, size_t inlen,
 I2	  79009                                    int *al, void *parse_arg);
 I2	  79010 
 I2	  79011 
 I2	  79012 typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type,
 I2	  79013                                         unsigned int context,
 I2	  79014                                         const unsigned char **out,
 I2	  79015                                         size_t *outlen, X509 *x,
 I2	  79016                                         size_t chainidx,
 I2	  79017                                         int *al, void *add_arg);
 I2	  79018 
 I2	  79019 typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type,
 I2	  79020                                           unsigned int context,
 I2	  79021                                           const unsigned char *out,
 I2	  79022                                           void *add_arg);
 I2	  79023 
 I2	  79024 typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1461
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79025                                           unsigned int context,
 I2	  79026                                           const unsigned char *in,
 I2	  79027                                           size_t inlen, X509 *x,
 I2	  79028                                           size_t chainidx,
 I2	  79029                                           int *al, void *parse_arg);
 I2	  79030 
 I2	  79031 /* Typedef for verification callback */
 I2	  79032 typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx);
 I2	  79033 
 I2	  79034 /* Typedef for SSL async callback */
 I2	  79035 typedef int (*SSL_async_callback_fn)(SSL *s, void *arg);
 I2	  79036 
 I2	  79037 #define SSL_OP_BIT(n)  ((uint64_t)1 << (uint64_t)n)
 I2	  79038 
 I2	  79039 /*
 I2	  79040  * SSL/TLS connection options.
 I2	  79041  */
 I2	  79042     /* Disable Extended master secret */
 I2	  79043 # define SSL_OP_NO_EXTENDED_MASTER_SECRET                SSL_OP_BIT(0)
 I2	  79044     /* Cleanse plaintext copies of data delivered to the application */
 I2	  79045 # define SSL_OP_CLEANSE_PLAINTEXT                        SSL_OP_BIT(1)
 I2	  79046     /* Allow initial connection to servers that don't support RI */
 I2	  79047 # define SSL_OP_LEGACY_SERVER_CONNECT                    SSL_OP_BIT(2)
 I2	  79048     /* Enable support for Kernel TLS */
 I2	  79049 # define SSL_OP_ENABLE_KTLS                              SSL_OP_BIT(3)
 I2	  79050 # define SSL_OP_TLSEXT_PADDING                           SSL_OP_BIT(4)
 I2	  79051 # define SSL_OP_SAFARI_ECDHE_ECDSA_BUG                   SSL_OP_BIT(6)
 I2	  79052 # define SSL_OP_IGNORE_UNEXPECTED_EOF                    SSL_OP_BIT(7)
 I2	  79053 # define SSL_OP_ALLOW_CLIENT_RENEGOTIATION               SSL_OP_BIT(8)
 I2	  79054 # define SSL_OP_DISABLE_TLSEXT_CA_NAMES                  SSL_OP_BIT(9)
 I2	  79055     /* In TLSv1.3 allow a non-(ec)dhe based kex_mode */
 I2	  79056 # define SSL_OP_ALLOW_NO_DHE_KEX                         SSL_OP_BIT(10)
 I2	  79057     /*
 I2	  79058      * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added
 I2	  79059      * in OpenSSL 0.9.6d.  Usually (depending on the application protocol)
 I2	  79060      * the workaround is not needed.  Unfortunately some broken SSL/TLS
 I2	  79061      * implementations cannot handle it at all, which is why we include it
 I2	  79062      * in SSL_OP_ALL. Added in 0.9.6e
 I2	  79063      */
 I2	  79064 # define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS              SSL_OP_BIT(11)
 I2	  79065     /* DTLS options */
 I2	  79066 # define SSL_OP_NO_QUERY_MTU                             SSL_OP_BIT(12)
 I2	  79067     /* Turn on Cookie Exchange (on relevant for servers) */
 I2	  79068 # define SSL_OP_COOKIE_EXCHANGE                          SSL_OP_BIT(13)
 I2	  79069     /* Don't use RFC4507 ticket extension */
 I2	  79070 # define SSL_OP_NO_TICKET                                SSL_OP_BIT(14)
 I2	  79071 # ifndef OPENSSL_NO_DTLS1_METHOD
 I2	  79072     /*
 I2	  79073      * Use Cisco's version identifier of DTLS_BAD_VER
 I2	  79074      * (only with deprecated DTLSv1_client_method())
 I2	  79075      */
 I2	  79076 #  define SSL_OP_CISCO_ANYCONNECT                        SSL_OP_BIT(15)
 I2	  79077 # endif
 I2	  79078     /* As server, disallow session resumption on renegotiation */
 I2	  79079 # define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION   SSL_OP_BIT(16)
 I2	  79080     /* Don't use compression even if supported */
 I2	  79081 # define SSL_OP_NO_COMPRESSION                           SSL_OP_BIT(17)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1462
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79082     /* Permit unsafe legacy renegotiation */
 I2	  79083 # define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION        SSL_OP_BIT(18)
 I2	  79084     /* Disable encrypt-then-mac */
 I2	  79085 # define SSL_OP_NO_ENCRYPT_THEN_MAC                      SSL_OP_BIT(19)
 I2	  79086     /*
 I2	  79087      * Enable TLSv1.3 Compatibility mode. This is on by default. A future
 I2	  79088      * version of OpenSSL may have this disabled by default.
 I2	  79089      */
 I2	  79090 # define SSL_OP_ENABLE_MIDDLEBOX_COMPAT                  SSL_OP_BIT(20)
 I2	  79091     /*
 I2	  79092      * Prioritize Chacha20Poly1305 when client does.
 I2	  79093      * Modifies SSL_OP_CIPHER_SERVER_PREFERENCE
 I2	  79094      */
 I2	  79095 # define SSL_OP_PRIORITIZE_CHACHA                        SSL_OP_BIT(21)
 I2	  79096     /*
 I2	  79097      * Set on servers to choose the cipher according to server's preferences.
 I2	  79098      */
 I2	  79099 # define SSL_OP_CIPHER_SERVER_PREFERENCE                 SSL_OP_BIT(22)
 I2	  79100     /*
 I2	  79101      * If set, a server will allow a client to issue a SSLv3.0 version
 I2	  79102      * number as latest version supported in the premaster secret, even when
 I2	  79103      * TLSv1.0 (version 3.1) was announced in the client hello. Normally
 I2	  79104      * this is forbidden to prevent version rollback attacks.
 I2	  79105      */
 I2	  79106 # define SSL_OP_TLS_ROLLBACK_BUG                         SSL_OP_BIT(23)
 I2	  79107     /*
 I2	  79108      * Switches off automatic TLSv1.3 anti-replay protection for early data.
 I2	  79109      * This is a server-side option only (no effect on the client).
 I2	  79110      */
 I2	  79111 # define SSL_OP_NO_ANTI_REPLAY                           SSL_OP_BIT(24)
 I2	  79112 # define SSL_OP_NO_SSLv3                                 SSL_OP_BIT(25)
 I2	  79113 # define SSL_OP_NO_TLSv1                                 SSL_OP_BIT(26)
 I2	  79114 # define SSL_OP_NO_TLSv1_2                               SSL_OP_BIT(27)
 I2	  79115 # define SSL_OP_NO_TLSv1_1                               SSL_OP_BIT(28)
 I2	  79116 # define SSL_OP_NO_TLSv1_3                               SSL_OP_BIT(29)
 I2	  79117 # define SSL_OP_NO_DTLSv1                                SSL_OP_BIT(26)
 I2	  79118 # define SSL_OP_NO_DTLSv1_2                              SSL_OP_BIT(27)
 I2	  79119     /* Disallow all renegotiation */
 I2	  79120 # define SSL_OP_NO_RENEGOTIATION                         SSL_OP_BIT(30)
 I2	  79121     /*
 I2	  79122      * Make server add server-hello extension from early version of
 I2	  79123      * cryptopro draft, when GOST ciphersuite is negotiated. Required for
 I2	  79124      * interoperability with CryptoPro CSP 3.x
 I2	  79125      */
 I2	  79126 # define SSL_OP_CRYPTOPRO_TLSEXT_BUG                     SSL_OP_BIT(31)
 I2	  79127 
 I2	  79128 /*
 I2	  79129  * Option "collections."
 I2	  79130  */
 I2	  79131 # define SSL_OP_NO_SSL_MASK \
 I2	  79132         ( SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 \
 I2	  79133           | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3 )
 I2	  79134 # define SSL_OP_NO_DTLS_MASK \
 I2	  79135         ( SSL_OP_NO_DTLSv1 | SSL_OP_NO_DTLSv1_2 )
 I2	  79136 
 I2	  79137 /* Various bug workarounds that should be rather harmless. */
 I2	  79138 # define SSL_OP_ALL \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1463
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79139         ( SSL_OP_CRYPTOPRO_TLSEXT_BUG | SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS \
 I2	  79140           | SSL_OP_TLSEXT_PADDING | SSL_OP_SAFARI_ECDHE_ECDSA_BUG )
 I2	  79141 
 I2	  79142 /*
 I2	  79143  * OBSOLETE OPTIONS retained for compatibility
 I2	  79144  */
 I2	  79145 
 I2	  79146 # define SSL_OP_MICROSOFT_SESS_ID_BUG                    0x0
 I2	  79147 # define SSL_OP_NETSCAPE_CHALLENGE_BUG                   0x0
 I2	  79148 # define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG         0x0
 I2	  79149 # define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG              0x0
 I2	  79150 # define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER               0x0
 I2	  79151 # define SSL_OP_MSIE_SSLV2_RSA_PADDING                   0x0
 I2	  79152 # define SSL_OP_SSLEAY_080_CLIENT_DH_BUG                 0x0
 I2	  79153 # define SSL_OP_TLS_D5_BUG                               0x0
 I2	  79154 # define SSL_OP_TLS_BLOCK_PADDING_BUG                    0x0
 I2	  79155 # define SSL_OP_SINGLE_ECDH_USE                          0x0
 I2	  79156 # define SSL_OP_SINGLE_DH_USE                            0x0
 I2	  79157 # define SSL_OP_EPHEMERAL_RSA                            0x0
 I2	  79158 # define SSL_OP_NO_SSLv2                                 0x0
 I2	  79159 # define SSL_OP_PKCS1_CHECK_1                            0x0
 I2	  79160 # define SSL_OP_PKCS1_CHECK_2                            0x0
 I2	  79161 # define SSL_OP_NETSCAPE_CA_DN_BUG                       0x0
 I2	  79162 # define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG          0x0
 I2	  79163 
 I2	  79164 /*
 I2	  79165  * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success
 I2	  79166  * when just a single record has been written):
 I2	  79167  */
 I2	  79168 # define SSL_MODE_ENABLE_PARTIAL_WRITE       0x00000001U
 I2	  79169 /*
 I2	  79170  * Make it possible to retry SSL_write() with changed buffer location (buffer
 I2	  79171  * contents must stay the same!); this is not the default to avoid the
 I2	  79172  * misconception that non-blocking SSL_write() behaves like non-blocking
 I2	  79173  * write():
 I2	  79174  */
 I2	  79175 # define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U
 I2	  79176 /*
 I2	  79177  * Never bother the application with retries if the transport is blocking:
 I2	  79178  */
 I2	  79179 # define SSL_MODE_AUTO_RETRY 0x00000004U
 I2	  79180 /* Don't attempt to automatically build certificate chain */
 I2	  79181 # define SSL_MODE_NO_AUTO_CHAIN 0x00000008U
 I2	  79182 /*
 I2	  79183  * Save RAM by releasing read and write buffers when they're empty. (SSL3 and
 I2	  79184  * TLS only.) Released buffers are freed.
 I2	  79185  */
 I2	  79186 # define SSL_MODE_RELEASE_BUFFERS 0x00000010U
 I2	  79187 /*
 I2	  79188  * Send the current time in the Random fields of the ClientHello and
 I2	  79189  * ServerHello records for compatibility with hypothetical implementations
 I2	  79190  * that require it.
 I2	  79191  */
 I2	  79192 # define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020U
 I2	  79193 # define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040U
 I2	  79194 /*
 I2	  79195  * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1464
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79196  * that reconnect with a downgraded protocol version; see
 I2	  79197  * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your
 I2	  79198  * application attempts a normal handshake. Only use this in explicit
 I2	  79199  * fallback retries, following the guidance in
 I2	  79200  * draft-ietf-tls-downgrade-scsv-00.
 I2	  79201  */
 I2	  79202 # define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080U
 I2	  79203 /*
 I2	  79204  * Support Asynchronous operation
 I2	  79205  */
 I2	  79206 # define SSL_MODE_ASYNC 0x00000100U
 I2	  79207 
 I2	  79208 /*
 I2	  79209  * When using DTLS/SCTP, include the terminating zero in the label
 I2	  79210  * used for computing the endpoint-pair shared secret. Required for
 I2	  79211  * interoperability with implementations having this bug like these
 I2	  79212  * older version of OpenSSL:
 I2	  79213  * - OpenSSL 1.0.0 series
 I2	  79214  * - OpenSSL 1.0.1 series
 I2	  79215  * - OpenSSL 1.0.2 series
 I2	  79216  * - OpenSSL 1.1.0 series
 I2	  79217  * - OpenSSL 1.1.1 and 1.1.1a
 I2	  79218  */
 I2	  79219 # define SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG 0x00000400U
 I2	  79220 
 I2	  79221 /* Cert related flags */
 I2	  79222 /*
 I2	  79223  * Many implementations ignore some aspects of the TLS standards such as
 I2	  79224  * enforcing certificate chain algorithms. When this is set we enforce them.
 I2	  79225  */
 I2	  79226 # define SSL_CERT_FLAG_TLS_STRICT                0x00000001U
 I2	  79227 
 I2	  79228 /* Suite B modes, takes same values as certificate verify flags */
 I2	  79229 # define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY       0x10000
 I2	  79230 /* Suite B 192 bit only mode */
 I2	  79231 # define SSL_CERT_FLAG_SUITEB_192_LOS            0x20000
 I2	  79232 /* Suite B 128 bit mode allowing 192 bit algorithms */
 I2	  79233 # define SSL_CERT_FLAG_SUITEB_128_LOS            0x30000
 I2	  79234 
 I2	  79235 /* Perform all sorts of protocol violations for testing purposes */
 I2	  79236 # define SSL_CERT_FLAG_BROKEN_PROTOCOL           0x10000000
 I2	  79237 
 I2	  79238 /* Flags for building certificate chains */
 I2	  79239 /* Treat any existing certificates as untrusted CAs */
 I2	  79240 # define SSL_BUILD_CHAIN_FLAG_UNTRUSTED          0x1
 I2	  79241 /* Don't include root CA in chain */
 I2	  79242 # define SSL_BUILD_CHAIN_FLAG_NO_ROOT            0x2
 I2	  79243 /* Just check certificates already there */
 I2	  79244 # define SSL_BUILD_CHAIN_FLAG_CHECK              0x4
 I2	  79245 /* Ignore verification errors */
 I2	  79246 # define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR       0x8
 I2	  79247 /* Clear verification errors from queue */
 I2	  79248 # define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR        0x10
 I2	  79249 
 I2	  79250 /* Flags returned by SSL_check_chain */
 I2	  79251 /* Certificate can be used with this session */
 I2	  79252 # define CERT_PKEY_VALID         0x1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1465
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79253 /* Certificate can also be used for signing */
 I2	  79254 # define CERT_PKEY_SIGN          0x2
 I2	  79255 /* EE certificate signing algorithm OK */
 I2	  79256 # define CERT_PKEY_EE_SIGNATURE  0x10
 I2	  79257 /* CA signature algorithms OK */
 I2	  79258 # define CERT_PKEY_CA_SIGNATURE  0x20
 I2	  79259 /* EE certificate parameters OK */
 I2	  79260 # define CERT_PKEY_EE_PARAM      0x40
 I2	  79261 /* CA certificate parameters OK */
 I2	  79262 # define CERT_PKEY_CA_PARAM      0x80
 I2	  79263 /* Signing explicitly allowed as opposed to SHA1 fallback */
 I2	  79264 # define CERT_PKEY_EXPLICIT_SIGN 0x100
 I2	  79265 /* Client CA issuer names match (always set for server cert) */
 I2	  79266 # define CERT_PKEY_ISSUER_NAME   0x200
 I2	  79267 /* Cert type matches client types (always set for server cert) */
 I2	  79268 # define CERT_PKEY_CERT_TYPE     0x400
 I2	  79269 /* Cert chain suitable to Suite B */
 I2	  79270 # define CERT_PKEY_SUITEB        0x800
 I2	  79271 
 I2	  79272 # define SSL_CONF_FLAG_CMDLINE           0x1
 I2	  79273 # define SSL_CONF_FLAG_FILE              0x2
 I2	  79274 # define SSL_CONF_FLAG_CLIENT            0x4
 I2	  79275 # define SSL_CONF_FLAG_SERVER            0x8
 I2	  79276 # define SSL_CONF_FLAG_SHOW_ERRORS       0x10
 I2	  79277 # define SSL_CONF_FLAG_CERTIFICATE       0x20
 I2	  79278 # define SSL_CONF_FLAG_REQUIRE_PRIVATE   0x40
 I2	  79279 /* Configuration value types */
 I2	  79280 # define SSL_CONF_TYPE_UNKNOWN           0x0
 I2	  79281 # define SSL_CONF_TYPE_STRING            0x1
 I2	  79282 # define SSL_CONF_TYPE_FILE              0x2
 I2	  79283 # define SSL_CONF_TYPE_DIR               0x3
 I2	  79284 # define SSL_CONF_TYPE_NONE              0x4
 I2	  79285 # define SSL_CONF_TYPE_STORE             0x5
 I2	  79286 
 I2	  79287 /* Maximum length of the application-controlled segment of a a TLSv1.3 cookie */
 I2	  79288 # define SSL_COOKIE_LENGTH                       4096
 I2	  79289 
 I2	  79290 /*
 I2	  79291  * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they
 I2	  79292  * cannot be used to clear bits.
 I2	  79293  */
 I2	  79294 
 I2	  79295 uint64_t SSL_CTX_get_options(const SSL_CTX *ctx);
 I2	  79296 uint64_t SSL_get_options(const SSL *s);
 I2	  79297 uint64_t SSL_CTX_clear_options(SSL_CTX *ctx, uint64_t op);
 I2	  79298 uint64_t SSL_clear_options(SSL *s, uint64_t op);
 I2	  79299 uint64_t SSL_CTX_set_options(SSL_CTX *ctx, uint64_t op);
 I2	  79300 uint64_t SSL_set_options(SSL *s, uint64_t op);
 I2	  79301 
 I2	  79302 # define SSL_CTX_set_mode(ctx,op) \
 I2	  79303         SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
 I2	  79304 # define SSL_CTX_clear_mode(ctx,op) \
 I2	  79305         SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL)
 I2	  79306 # define SSL_CTX_get_mode(ctx) \
 I2	  79307         SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL)
 I2	  79308 # define SSL_clear_mode(ssl,op) \
 I2	  79309         SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1466
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79310 # define SSL_set_mode(ssl,op) \
 I2	  79311         SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL)
 I2	  79312 # define SSL_get_mode(ssl) \
 I2	  79313         SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL)
 I2	  79314 # define SSL_set_mtu(ssl, mtu) \
 I2	  79315         SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL)
 I2	  79316 # define DTLS_set_link_mtu(ssl, mtu) \
 I2	  79317         SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL)
 I2	  79318 # define DTLS_get_link_min_mtu(ssl) \
 I2	  79319         SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL)
 I2	  79320 
 I2	  79321 # define SSL_get_secure_renegotiation_support(ssl) \
 I2	  79322         SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL)
 I2	  79323 
 I2	  79324 # define SSL_CTX_set_cert_flags(ctx,op) \
 I2	  79325         SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL)
 I2	  79326 # define SSL_set_cert_flags(s,op) \
 I2	  79327         SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL)
 I2	  79328 # define SSL_CTX_clear_cert_flags(ctx,op) \
 I2	  79329         SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL)
 I2	  79330 # define SSL_clear_cert_flags(s,op) \
 I2	  79331         SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL)
 I2	  79332 
 I2	  79333 void SSL_CTX_set_msg_callback(SSL_CTX *ctx,
 I2	  79334                               void (*cb) (int write_p, int version,
 I2	  79335                                           int content_type, const void *buf,
 I2	  79336                                           size_t len, SSL *ssl, void *arg));
 I2	  79337 void SSL_set_msg_callback(SSL *ssl,
 I2	  79338                           void (*cb) (int write_p, int version,
 I2	  79339                                       int content_type, const void *buf,
 I2	  79340                                       size_t len, SSL *ssl, void *arg));
 I2	  79341 # define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg))
 I2	  79342 # define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg))
 I2	  79343 
 I2	  79344 # define SSL_get_extms_support(s) \
 I2	  79345         SSL_ctrl((s),SSL_CTRL_GET_EXTMS_SUPPORT,0,NULL)
 I2	  79346 
 I2	  79347 # ifndef OPENSSL_NO_SRP
 I2	  79348 /* see tls_srp.c */
 I2	  79349 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  79350 OSSL_DEPRECATEDIN_3_0 __owur int SSL_SRP_CTX_init(SSL *s);
       E	 extern
       E	                       
 I2	  79351 OSSL_DEPRECATEDIN_3_0 __owur int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx);
       E	 extern
       E	                       
 I2	  79352 OSSL_DEPRECATEDIN_3_0 int SSL_SRP_CTX_free(SSL *ctx);
       E	 extern
 I2	  79353 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx);
       E	 extern
 I2	  79354 OSSL_DEPRECATEDIN_3_0 __owur int SSL_srp_server_param_with_username(SSL *s,
       E	 extern
       E	                       
 I2	  79355                                                                     int *ad);
 I2	  79356 OSSL_DEPRECATEDIN_3_0 __owur int SRP_Calc_A_param(SSL *s);
       E	 extern
       E	                       

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1467
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79357 #  endif
 I2	  79358 # endif
 I2	  79359 
 I2	  79360 /* 100k max cert list */
 I2	  79361 # define SSL_MAX_CERT_LIST_DEFAULT (1024*100)
 I2	  79362 
 I2	  79363 # define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT      (1024*20)
 I2	  79364 
 I2	  79365 /*
 I2	  79366  * This callback type is used inside SSL_CTX, SSL, and in the functions that
 I2	  79367  * set them. It is used to override the generation of SSL/TLS session IDs in
 I2	  79368  * a server. Return value should be zero on an error, non-zero to proceed.
 I2	  79369  * Also, callbacks should themselves check if the id they generate is unique
 I2	  79370  * otherwise the SSL handshake will fail with an error - callbacks can do
 I2	  79371  * this using the 'ssl' value they're passed by;
 I2	  79372  * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in
 I2	  79373  * is set at the maximum size the session ID can be. In SSLv3/TLSv1 it is 32
 I2	  79374  * bytes. The callback can alter this length to be less if desired. It is
 I2	  79375  * also an error for the callback to set the size to zero.
 I2	  79376  */
 I2	  79377 typedef int (*GEN_SESSION_CB) (SSL *ssl, unsigned char *id,
 I2	  79378                                unsigned int *id_len);
 I2	  79379 
 I2	  79380 # define SSL_SESS_CACHE_OFF                      0x0000
 I2	  79381 # define SSL_SESS_CACHE_CLIENT                   0x0001
 I2	  79382 # define SSL_SESS_CACHE_SERVER                   0x0002
 I2	  79383 # define SSL_SESS_CACHE_BOTH     (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER)
 I2	  79384 # define SSL_SESS_CACHE_NO_AUTO_CLEAR            0x0080
 I2	  79385 /* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */
 I2	  79386 # define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP       0x0100
 I2	  79387 # define SSL_SESS_CACHE_NO_INTERNAL_STORE        0x0200
 I2	  79388 # define SSL_SESS_CACHE_NO_INTERNAL \
 I2	  79389         (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE)
 I2	  79390 # define SSL_SESS_CACHE_UPDATE_TIME              0x0400
 I2	  79391 
 I2	  79392 LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx);
       E	 struct lhash_st_SSL_SESSION
 I2	  79393 # define SSL_CTX_sess_number(ctx) \
 I2	  79394         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL)
 I2	  79395 # define SSL_CTX_sess_connect(ctx) \
 I2	  79396         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL)
 I2	  79397 # define SSL_CTX_sess_connect_good(ctx) \
 I2	  79398         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL)
 I2	  79399 # define SSL_CTX_sess_connect_renegotiate(ctx) \
 I2	  79400         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL)
 I2	  79401 # define SSL_CTX_sess_accept(ctx) \
 I2	  79402         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL)
 I2	  79403 # define SSL_CTX_sess_accept_renegotiate(ctx) \
 I2	  79404         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL)
 I2	  79405 # define SSL_CTX_sess_accept_good(ctx) \
 I2	  79406         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL)
 I2	  79407 # define SSL_CTX_sess_hits(ctx) \
 I2	  79408         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL)
 I2	  79409 # define SSL_CTX_sess_cb_hits(ctx) \
 I2	  79410         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL)
 I2	  79411 # define SSL_CTX_sess_misses(ctx) \
 I2	  79412         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1468
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79413 # define SSL_CTX_sess_timeouts(ctx) \
 I2	  79414         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL)
 I2	  79415 # define SSL_CTX_sess_cache_full(ctx) \
 I2	  79416         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL)
 I2	  79417 
 I2	  79418 void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx,
 I2	  79419                              int (*new_session_cb) (struct ssl_st *ssl,
 I2	  79420                                                     SSL_SESSION *sess));
 I2	  79421 int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl,
 I2	  79422                                               SSL_SESSION *sess);
 I2	  79423 void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx,
 I2	  79424                                 void (*remove_session_cb) (struct ssl_ctx_st
 I2	  79425                                                            *ctx,
 I2	  79426                                                            SSL_SESSION *sess));
 I2	  79427 void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx,
 I2	  79428                                                   SSL_SESSION *sess);
 I2	  79429 void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx,
 I2	  79430                              SSL_SESSION *(*get_session_cb) (struct ssl_st
 I2	  79431                                                              *ssl,
 I2	  79432                                                              const unsigned char
 I2	  79433                                                              *data, int len,
 I2	  79434                                                              int *copy));
 I2	  79435 SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl,
 I2	  79436                                                        const unsigned char *data,
 I2	  79437                                                        int len, int *copy);
 I2	  79438 void SSL_CTX_set_info_callback(SSL_CTX *ctx,
 I2	  79439                                void (*cb) (const SSL *ssl, int type, int val));
 I2	  79440 void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type,
 I2	  79441                                                  int val);
 I2	  79442 void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx,
 I2	  79443                                 int (*client_cert_cb) (SSL *ssl, X509 **x509,
 I2	  79444                                                        EVP_PKEY **pkey));
 I2	  79445 int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509,
 I2	  79446                                                  EVP_PKEY **pkey);
 I2	  79447 # ifndef OPENSSL_NO_ENGINE
 I2	  79448 __owur int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e);
       E	 
 I2	  79449 # endif
 I2	  79450 void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,
 I2	  79451                                     int (*app_gen_cookie_cb) (SSL *ssl,
 I2	  79452                                                               unsigned char
 I2	  79453                                                               *cookie,
 I2	  79454                                                               unsigned int
 I2	  79455                                                               *cookie_len));
 I2	  79456 void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,
 I2	  79457                                   int (*app_verify_cookie_cb) (SSL *ssl,
 I2	  79458                                                                const unsigned
 I2	  79459                                                                char *cookie,
 I2	  79460                                                                unsigned int
 I2	  79461                                                                cookie_len));
 I2	  79462 
 I2	  79463 void SSL_CTX_set_stateless_cookie_generate_cb(
 I2	  79464     SSL_CTX *ctx,
 I2	  79465     int (*gen_stateless_cookie_cb) (SSL *ssl,
 I2	  79466                                     unsigned char *cookie,
 I2	  79467                                     size_t *cookie_len));
 I2	  79468 void SSL_CTX_set_stateless_cookie_verify_cb(

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1469
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79469     SSL_CTX *ctx,
 I2	  79470     int (*verify_stateless_cookie_cb) (SSL *ssl,
 I2	  79471                                        const unsigned char *cookie,
 I2	  79472                                        size_t cookie_len));
 I2	  79473 # ifndef OPENSSL_NO_NEXTPROTONEG
 I2	  79474 
 I2	  79475 typedef int (*SSL_CTX_npn_advertised_cb_func)(SSL *ssl,
 I2	  79476                                               const unsigned char **out,
 I2	  79477                                               unsigned int *outlen,
 I2	  79478                                               void *arg);
 I2	  79479 void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s,
 I2	  79480                                            SSL_CTX_npn_advertised_cb_func cb,
 I2	  79481                                            void *arg);
 I2	  79482 #  define SSL_CTX_set_npn_advertised_cb SSL_CTX_set_next_protos_advertised_cb
 I2	  79483 
 I2	  79484 typedef int (*SSL_CTX_npn_select_cb_func)(SSL *s,
 I2	  79485                                           unsigned char **out,
 I2	  79486                                           unsigned char *outlen,
 I2	  79487                                           const unsigned char *in,
 I2	  79488                                           unsigned int inlen,
 I2	  79489                                           void *arg);
 I2	  79490 void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s,
 I2	  79491                                       SSL_CTX_npn_select_cb_func cb,
 I2	  79492                                       void *arg);
 I2	  79493 #  define SSL_CTX_set_npn_select_cb SSL_CTX_set_next_proto_select_cb
 I2	  79494 
 I2	  79495 void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data,
 I2	  79496                                     unsigned *len);
 I2	  79497 #  define SSL_get0_npn_negotiated SSL_get0_next_proto_negotiated
 I2	  79498 # endif
 I2	  79499 
 I2	  79500 __owur int SSL_select_next_proto(unsigned char **out, unsigned char *outlen,
       E	 
 I2	  79501                                  const unsigned char *in, unsigned int inlen,
 I2	  79502                                  const unsigned char *client,
 I2	  79503                                  unsigned int client_len);
 I2	  79504 
 I2	  79505 # define OPENSSL_NPN_UNSUPPORTED 0
 I2	  79506 # define OPENSSL_NPN_NEGOTIATED  1
 I2	  79507 # define OPENSSL_NPN_NO_OVERLAP  2
 I2	  79508 
 I2	  79509 __owur int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos,
       E	 
 I2	  79510                                    unsigned int protos_len);
 I2	  79511 __owur int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos,
       E	 
 I2	  79512                                unsigned int protos_len);
 I2	  79513 typedef int (*SSL_CTX_alpn_select_cb_func)(SSL *ssl,
 I2	  79514                                            const unsigned char **out,
 I2	  79515                                            unsigned char *outlen,
 I2	  79516                                            const unsigned char *in,
 I2	  79517                                            unsigned int inlen,
 I2	  79518                                            void *arg);
 I2	  79519 void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx,
 I2	  79520                                 SSL_CTX_alpn_select_cb_func cb,
 I2	  79521                                 void *arg);
 I2	  79522 void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1470
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79523                             unsigned int *len);
 I2	  79524 
 I2	  79525 # ifndef OPENSSL_NO_PSK
 I2	  79526 /*
 I2	  79527  * the maximum length of the buffer given to callbacks containing the
 I2	  79528  * resulting identity/psk
 I2	  79529  */
 I2	  79530 #  define PSK_MAX_IDENTITY_LEN 256
 I2	  79531 #  define PSK_MAX_PSK_LEN 512
 I2	  79532 typedef unsigned int (*SSL_psk_client_cb_func)(SSL *ssl,
 I2	  79533                                                const char *hint,
 I2	  79534                                                char *identity,
 I2	  79535                                                unsigned int max_identity_len,
 I2	  79536                                                unsigned char *psk,
 I2	  79537                                                unsigned int max_psk_len);
 I2	  79538 void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, SSL_psk_client_cb_func cb);
 I2	  79539 void SSL_set_psk_client_callback(SSL *ssl, SSL_psk_client_cb_func cb);
 I2	  79540 
 I2	  79541 typedef unsigned int (*SSL_psk_server_cb_func)(SSL *ssl,
 I2	  79542                                                const char *identity,
 I2	  79543                                                unsigned char *psk,
 I2	  79544                                                unsigned int max_psk_len);
 I2	  79545 void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func cb);
 I2	  79546 void SSL_set_psk_server_callback(SSL *ssl, SSL_psk_server_cb_func cb);
 I2	  79547 
 I2	  79548 __owur int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint);
       E	 
 I2	  79549 __owur int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint);
       E	 
 I2	  79550 const char *SSL_get_psk_identity_hint(const SSL *s);
 I2	  79551 const char *SSL_get_psk_identity(const SSL *s);
 I2	  79552 # endif
 I2	  79553 
 I2	  79554 typedef int (*SSL_psk_find_session_cb_func)(SSL *ssl,
 I2	  79555                                             const unsigned char *identity,
 I2	  79556                                             size_t identity_len,
 I2	  79557                                             SSL_SESSION **sess);
 I2	  79558 typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md,
 I2	  79559                                            const unsigned char **id,
 I2	  79560                                            size_t *idlen,
 I2	  79561                                            SSL_SESSION **sess);
 I2	  79562 
 I2	  79563 void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb);
 I2	  79564 void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx,
 I2	  79565                                            SSL_psk_find_session_cb_func cb);
 I2	  79566 void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb);
 I2	  79567 void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx,
 I2	  79568                                           SSL_psk_use_session_cb_func cb);
 I2	  79569 
 I2	  79570 /* Register callbacks to handle custom TLS Extensions for client or server. */
 I2	  79571 
 I2	  79572 __owur int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx,
       E	 
 I2	  79573                                          unsigned int ext_type);
 I2	  79574 
 I2	  79575 __owur int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx,
       E	 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1471
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79576                                          unsigned int ext_type,
 I2	  79577                                          custom_ext_add_cb add_cb,
 I2	  79578                                          custom_ext_free_cb free_cb,
 I2	  79579                                          void *add_arg,
 I2	  79580                                          custom_ext_parse_cb parse_cb,
 I2	  79581                                          void *parse_arg);
 I2	  79582 
 I2	  79583 __owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx,
       E	 
 I2	  79584                                          unsigned int ext_type,
 I2	  79585                                          custom_ext_add_cb add_cb,
 I2	  79586                                          custom_ext_free_cb free_cb,
 I2	  79587                                          void *add_arg,
 I2	  79588                                          custom_ext_parse_cb parse_cb,
 I2	  79589                                          void *parse_arg);
 I2	  79590 
 I2	  79591 __owur int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
       E	 
 I2	  79592                                   unsigned int context,
 I2	  79593                                   SSL_custom_ext_add_cb_ex add_cb,
 I2	  79594                                   SSL_custom_ext_free_cb_ex free_cb,
 I2	  79595                                   void *add_arg,
 I2	  79596                                   SSL_custom_ext_parse_cb_ex parse_cb,
 I2	  79597                                   void *parse_arg);
 I2	  79598 
 I2	  79599 __owur int SSL_extension_supported(unsigned int ext_type);
       E	 
 I2	  79600 
 I2	  79601 # define SSL_NOTHING            1
 I2	  79602 # define SSL_WRITING            2
 I2	  79603 # define SSL_READING            3
 I2	  79604 # define SSL_X509_LOOKUP        4
 I2	  79605 # define SSL_ASYNC_PAUSED       5
 I2	  79606 # define SSL_ASYNC_NO_JOBS      6
 I2	  79607 # define SSL_CLIENT_HELLO_CB    7
 I2	  79608 # define SSL_RETRY_VERIFY       8
 I2	  79609 
 I2	  79610 /* These will only be used when doing non-blocking IO */
 I2	  79611 # define SSL_want_nothing(s)         (SSL_want(s) == SSL_NOTHING)
 I2	  79612 # define SSL_want_read(s)            (SSL_want(s) == SSL_READING)
 I2	  79613 # define SSL_want_write(s)           (SSL_want(s) == SSL_WRITING)
 I2	  79614 # define SSL_want_x509_lookup(s)     (SSL_want(s) == SSL_X509_LOOKUP)
 I2	  79615 # define SSL_want_retry_verify(s)    (SSL_want(s) == SSL_RETRY_VERIFY)
 I2	  79616 # define SSL_want_async(s)           (SSL_want(s) == SSL_ASYNC_PAUSED)
 I2	  79617 # define SSL_want_async_job(s)       (SSL_want(s) == SSL_ASYNC_NO_JOBS)
 I2	  79618 # define SSL_want_client_hello_cb(s) (SSL_want(s) == SSL_CLIENT_HELLO_CB)
 I2	  79619 
 I2	  79620 # define SSL_MAC_FLAG_READ_MAC_STREAM 1
 I2	  79621 # define SSL_MAC_FLAG_WRITE_MAC_STREAM 2
 I2	  79622 # define SSL_MAC_FLAG_READ_MAC_TLSTREE 4
 I2	  79623 # define SSL_MAC_FLAG_WRITE_MAC_TLSTREE 8
 I2	  79624 
 I2	  79625 /*
 I2	  79626  * A callback for logging out TLS key material. This callback should log out
 I2	  79627  * |line| followed by a newline.
 I2	  79628  */
 I2	  79629 typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1472
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  79630 
 I2	  79631 /*
 I2	  79632  * SSL_CTX_set_keylog_callback configures a callback to log key material. This
 I2	  79633  * is intended for debugging use with tools like Wireshark. The cb function
 I2	  79634  * should log line followed by a newline.
 I2	  79635  */
 I2	  79636 void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb);
 I2	  79637 
 I2	  79638 /*
 I2	  79639  * SSL_CTX_get_keylog_callback returns the callback configured by
 I2	  79640  * SSL_CTX_set_keylog_callback.
 I2	  79641  */
 I2	  79642 SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx);
 I2	  79643 
 I2	  79644 int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data);
 I2	  79645 uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx);
 I2	  79646 int SSL_set_max_early_data(SSL *s, uint32_t max_early_data);
 I2	  79647 uint32_t SSL_get_max_early_data(const SSL *s);
 I2	  79648 int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx, uint32_t recv_max_early_data);
 I2	  79649 uint32_t SSL_CTX_get_recv_max_early_data(const SSL_CTX *ctx);
 I2	  79650 int SSL_set_recv_max_early_data(SSL *s, uint32_t recv_max_early_data);
 I2	  79651 uint32_t SSL_get_recv_max_early_data(const SSL *s);
 I2	  79652 
 I2    X  79653 #ifdef __cplusplus
 I2    X  79654 }
 I2    X  79655 #endif
 I2	  79656 
 I2	  79657 # include <openssl/ssl2.h>
 I3	  79658 /*
 I3	  79659  * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
 I3	  79660  *
 I3	  79661  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  79662  * this file except in compliance with the License.  You can obtain a copy
 I3	  79663  * in the file LICENSE in the source distribution or at
 I3	  79664  * https://www.openssl.org/source/license.html
 I3	  79665  */
 I3	  79666 
 I3	  79667 #ifndef OPENSSL_SSL2_H
 I3	  79668 # define OPENSSL_SSL2_H
 I3	  79669 # pragma once
 I3	  79670 
 I3    X  79671 # include <openssl/macros.h>
 I3	  79672 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  79673 #  define HEADER_SSL2_H
 I3	  79674 # endif
 I3	  79675 
 I3    X  79676 #ifdef  __cplusplus
 I3    X  79677 extern "C" {
 I3    X  79678 #endif
 I3	  79679 
 I3	  79680 # define SSL2_VERSION            0x0002
 I3	  79681 
 I3	  79682 # define SSL2_MT_CLIENT_HELLO            1
 I3	  79683 
 I3    X  79684 #ifdef  __cplusplus
 I3    X  79685 }
 I3    X  79686 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1473
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL2.H;1

 I3	  79687 #endif
 I2	  79688 # include <openssl/ssl3.h>
 I3	  79689 /*
 I3	  79690  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  79691  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I3	  79692  *
 I3	  79693  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  79694  * this file except in compliance with the License.  You can obtain a copy
 I3	  79695  * in the file LICENSE in the source distribution or at
 I3	  79696  * https://www.openssl.org/source/license.html
 I3	  79697  */
 I3	  79698 
 I3	  79699 #ifndef OPENSSL_SSL3_H
 I3	  79700 # define OPENSSL_SSL3_H
 I3	  79701 # pragma once
 I3	  79702 
 I3    X  79703 # include <openssl/macros.h>
 I3	  79704 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  79705 #  define HEADER_SSL3_H
 I3	  79706 # endif
 I3	  79707 
 I3    X  79708 # include <openssl/comp.h>
 I3    X  79709 # include <openssl/buffer.h>
 I3    X  79710 # include <openssl/evp.h>
 I3	  79711 # include <openssl/ssl.h>
 I4	  79712 /*
 I4	  79713  * WARNING: do not edit!
 I4	  79714  * Generated by descrip.mms from [-.include.openssl]ssl.h.in
 I4	  79715  *
 I4	  79716  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I4	  79717  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I4	  79718  * Copyright 2005 Nokia. All rights reserved.
 I4	  79719  *
 I4	  79720  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I4	  79721  * this file except in compliance with the License.  You can obtain a copy
 I4	  79722  * in the file LICENSE in the source distribution or at
 I4	  79723  * https://www.openssl.org/source/license.html
 I4	  79724  */
 I4	  79725 
 I4	  79726 
 I4	  79727 
 I4    X  79728 #ifndef OPENSSL_SSL_H
 I4    X  79729 # define OPENSSL_SSL_H
 I4    X  79730 # pragma once
 I4    X  79731 
 I4    X  79732 # include <openssl/macros.h>
 I4    X  79733 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  79734 #  define HEADER_SSL_H
 I4    X  79735 # endif
 I4    X  79736 
 I4    X  79737 # include <openssl/e_os2.h>
 I4    X  79738 # include <openssl/opensslconf.h>
 I4    X  79739 # include <openssl/comp.h>
 I4    X  79740 # include <openssl/bio.h>
 I4    X  79741 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  79742 #  include <openssl/x509.h>
 I4    X  79743 #  include <openssl/crypto.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1474
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  79744 #  include <openssl/buffer.h>
 I4    X  79745 # endif
 I4    X  79746 # include <openssl/lhash.h>
 I4    X  79747 # include <openssl/pem.h>
 I4    X  79748 # include <openssl/hmac.h>
 I4    X  79749 # include <openssl/async.h>
 I4    X  79750 
 I4    X  79751 # include <openssl/safestack.h>
 I4    X  79752 # include <openssl/symhacks.h>
 I4    X  79753 # include <openssl/ct.h>
 I4    X  79754 # include <openssl/sslerr.h>
 I4    X  79755 # include <openssl/prov_ssl.h>
 I4    X  79756 
 I4    X  79757 #ifdef  __cplusplus
 I4    X  79758 extern "C" {
 I4    X  79759 #endif
 I4    X  79760 
 I4    X  79761 /* OpenSSL version number for ASN.1 encoding of the session information */
 I4    X  79762 /*-
 I4    X  79763  * Version 0 - initial version
 I4    X  79764  * Version 1 - added the optional peer certificate
 I4    X  79765  */
 I4    X  79766 # define SSL_SESSION_ASN1_VERSION 0x0001
 I4    X  79767 
 I4    X  79768 # define SSL_MAX_SSL_SESSION_ID_LENGTH           32
 I4    X  79769 # define SSL_MAX_SID_CTX_LENGTH                  32
 I4    X  79770 
 I4    X  79771 # define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES     (512/8)
 I4    X  79772 # define SSL_MAX_KEY_ARG_LENGTH                  8
 I4    X  79773 /* SSL_MAX_MASTER_KEY_LENGTH is defined in prov_ssl.h */
 I4    X  79774 
 I4    X  79775 /* The maximum number of encrypt/decrypt pipelines we can support */
 I4    X  79776 # define SSL_MAX_PIPELINES  32
 I4    X  79777 
 I4    X  79778 /* text strings for the ciphers */
 I4    X  79779 
 I4    X  79780 /* These are used to specify which ciphers to use and not to use */
 I4    X  79781 
 I4    X  79782 # define SSL_TXT_LOW             "LOW"
 I4    X  79783 # define SSL_TXT_MEDIUM          "MEDIUM"
 I4    X  79784 # define SSL_TXT_HIGH            "HIGH"
 I4    X  79785 # define SSL_TXT_FIPS            "FIPS"
 I4    X  79786 
 I4    X  79787 # define SSL_TXT_aNULL           "aNULL"
 I4    X  79788 # define SSL_TXT_eNULL           "eNULL"
 I4    X  79789 # define SSL_TXT_NULL            "NULL"
 I4    X  79790 
 I4    X  79791 # define SSL_TXT_kRSA            "kRSA"
 I4    X  79792 # define SSL_TXT_kDHr            "kDHr"/* this cipher class has been removed */
 I4    X  79793 # define SSL_TXT_kDHd            "kDHd"/* this cipher class has been removed */
 I4    X  79794 # define SSL_TXT_kDH             "kDH"/* this cipher class has been removed */
 I4    X  79795 # define SSL_TXT_kEDH            "kEDH"/* alias for kDHE */
 I4    X  79796 # define SSL_TXT_kDHE            "kDHE"
 I4    X  79797 # define SSL_TXT_kECDHr          "kECDHr"/* this cipher class has been removed */
 I4    X  79798 # define SSL_TXT_kECDHe          "kECDHe"/* this cipher class has been removed */
 I4    X  79799 # define SSL_TXT_kECDH           "kECDH"/* this cipher class has been removed */
 I4    X  79800 # define SSL_TXT_kEECDH          "kEECDH"/* alias for kECDHE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1475
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  79801 # define SSL_TXT_kECDHE          "kECDHE"
 I4    X  79802 # define SSL_TXT_kPSK            "kPSK"
 I4    X  79803 # define SSL_TXT_kRSAPSK         "kRSAPSK"
 I4    X  79804 # define SSL_TXT_kECDHEPSK       "kECDHEPSK"
 I4    X  79805 # define SSL_TXT_kDHEPSK         "kDHEPSK"
 I4    X  79806 # define SSL_TXT_kGOST           "kGOST"
 I4    X  79807 # define SSL_TXT_kGOST18         "kGOST18"
 I4    X  79808 # define SSL_TXT_kSRP            "kSRP"
 I4    X  79809 
 I4    X  79810 # define SSL_TXT_aRSA            "aRSA"
 I4    X  79811 # define SSL_TXT_aDSS            "aDSS"
 I4    X  79812 # define SSL_TXT_aDH             "aDH"/* this cipher class has been removed */
 I4    X  79813 # define SSL_TXT_aECDH           "aECDH"/* this cipher class has been removed */
 I4    X  79814 # define SSL_TXT_aECDSA          "aECDSA"
 I4    X  79815 # define SSL_TXT_aPSK            "aPSK"
 I4    X  79816 # define SSL_TXT_aGOST94         "aGOST94"
 I4    X  79817 # define SSL_TXT_aGOST01         "aGOST01"
 I4    X  79818 # define SSL_TXT_aGOST12         "aGOST12"
 I4    X  79819 # define SSL_TXT_aGOST           "aGOST"
 I4    X  79820 # define SSL_TXT_aSRP            "aSRP"
 I4    X  79821 
 I4    X  79822 # define SSL_TXT_DSS             "DSS"
 I4    X  79823 # define SSL_TXT_DH              "DH"
 I4    X  79824 # define SSL_TXT_DHE             "DHE"/* same as "kDHE:-ADH" */
 I4    X  79825 # define SSL_TXT_EDH             "EDH"/* alias for DHE */
 I4    X  79826 # define SSL_TXT_ADH             "ADH"
 I4    X  79827 # define SSL_TXT_RSA             "RSA"
 I4    X  79828 # define SSL_TXT_ECDH            "ECDH"
 I4    X  79829 # define SSL_TXT_EECDH           "EECDH"/* alias for ECDHE" */
 I4    X  79830 # define SSL_TXT_ECDHE           "ECDHE"/* same as "kECDHE:-AECDH" */
 I4    X  79831 # define SSL_TXT_AECDH           "AECDH"
 I4    X  79832 # define SSL_TXT_ECDSA           "ECDSA"
 I4    X  79833 # define SSL_TXT_PSK             "PSK"
 I4    X  79834 # define SSL_TXT_SRP             "SRP"
 I4    X  79835 
 I4    X  79836 # define SSL_TXT_DES             "DES"
 I4    X  79837 # define SSL_TXT_3DES            "3DES"
 I4    X  79838 # define SSL_TXT_RC4             "RC4"
 I4    X  79839 # define SSL_TXT_RC2             "RC2"
 I4    X  79840 # define SSL_TXT_IDEA            "IDEA"
 I4    X  79841 # define SSL_TXT_SEED            "SEED"
 I4    X  79842 # define SSL_TXT_AES128          "AES128"
 I4    X  79843 # define SSL_TXT_AES256          "AES256"
 I4    X  79844 # define SSL_TXT_AES             "AES"
 I4    X  79845 # define SSL_TXT_AES_GCM         "AESGCM"
 I4    X  79846 # define SSL_TXT_AES_CCM         "AESCCM"
 I4    X  79847 # define SSL_TXT_AES_CCM_8       "AESCCM8"
 I4    X  79848 # define SSL_TXT_CAMELLIA128     "CAMELLIA128"
 I4    X  79849 # define SSL_TXT_CAMELLIA256     "CAMELLIA256"
 I4    X  79850 # define SSL_TXT_CAMELLIA        "CAMELLIA"
 I4    X  79851 # define SSL_TXT_CHACHA20        "CHACHA20"
 I4    X  79852 # define SSL_TXT_GOST            "GOST89"
 I4    X  79853 # define SSL_TXT_ARIA            "ARIA"
 I4    X  79854 # define SSL_TXT_ARIA_GCM        "ARIAGCM"
 I4    X  79855 # define SSL_TXT_ARIA128         "ARIA128"
 I4    X  79856 # define SSL_TXT_ARIA256         "ARIA256"
 I4    X  79857 # define SSL_TXT_GOST2012_GOST8912_GOST8912 "GOST2012-GOST8912-GOST8912"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1476
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  79858 # define SSL_TXT_CBC             "CBC"
 I4    X  79859 
 I4    X  79860 # define SSL_TXT_MD5             "MD5"
 I4    X  79861 # define SSL_TXT_SHA1            "SHA1"
 I4    X  79862 # define SSL_TXT_SHA             "SHA"/* same as "SHA1" */
 I4    X  79863 # define SSL_TXT_GOST94          "GOST94"
 I4    X  79864 # define SSL_TXT_GOST89MAC       "GOST89MAC"
 I4    X  79865 # define SSL_TXT_GOST12          "GOST12"
 I4    X  79866 # define SSL_TXT_GOST89MAC12     "GOST89MAC12"
 I4    X  79867 # define SSL_TXT_SHA256          "SHA256"
 I4    X  79868 # define SSL_TXT_SHA384          "SHA384"
 I4    X  79869 
 I4    X  79870 # define SSL_TXT_SSLV3           "SSLv3"
 I4    X  79871 # define SSL_TXT_TLSV1           "TLSv1"
 I4    X  79872 # define SSL_TXT_TLSV1_1         "TLSv1.1"
 I4    X  79873 # define SSL_TXT_TLSV1_2         "TLSv1.2"
 I4    X  79874 
 I4    X  79875 # define SSL_TXT_ALL             "ALL"
 I4    X  79876 
 I4    X  79877 /*-
 I4    X  79878  * COMPLEMENTOF* definitions. These identifiers are used to (de-select)
 I4    X  79879  * ciphers normally not being used.
 I4    X  79880  * Example: "RC4" will activate all ciphers using RC4 including ciphers
 I4    X  79881  * without authentication, which would normally disabled by DEFAULT (due
 I4    X  79882  * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT"
 I4    X  79883  * will make sure that it is also disabled in the specific selection.
 I4    X  79884  * COMPLEMENTOF* identifiers are portable between version, as adjustments
 I4    X  79885  * to the default cipher setup will also be included here.
 I4    X  79886  *
 I4    X  79887  * COMPLEMENTOFDEFAULT does not experience the same special treatment that
 I4    X  79888  * DEFAULT gets, as only selection is being done and no sorting as needed
 I4    X  79889  * for DEFAULT.
 I4    X  79890  */
 I4    X  79891 # define SSL_TXT_CMPALL          "COMPLEMENTOFALL"
 I4    X  79892 # define SSL_TXT_CMPDEF          "COMPLEMENTOFDEFAULT"
 I4    X  79893 
 I4    X  79894 /*
 I4    X  79895  * The following cipher list is used by default. It also is substituted when
 I4    X  79896  * an application-defined cipher list string starts with 'DEFAULT'.
 I4    X  79897  * This applies to ciphersuites for TLSv1.2 and below.
 I4    X  79898  * DEPRECATED IN 3.0.0, in favor of OSSL_default_cipher_list()
 I4    X  79899  * Update both macro and function simultaneously
 I4    X  79900  */
 I4    X  79901 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  79902 #  define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL"
 I4    X  79903 /*
 I4    X  79904  * This is the default set of TLSv1.3 ciphersuites
 I4    X  79905  * DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites()
 I4    X  79906  * Update both macro and function simultaneously
 I4    X  79907  */
 I4    X  79908 #  define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
 I4    X  79909                                    "TLS_CHACHA20_POLY1305_SHA256:" \
 I4    X  79910                                    "TLS_AES_128_GCM_SHA256"
 I4    X  79911 # endif
 I4    X  79912 /*
 I4    X  79913  * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always
 I4    X  79914  * starts with a reasonable order, and all we have to do for DEFAULT is

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1477
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  79915  * throwing out anonymous and unencrypted ciphersuites! (The latter are not
 I4    X  79916  * actually enabled by ALL, but "ALL:RSA" would enable some of them.)
 I4    X  79917  */
 I4    X  79918 
 I4    X  79919 /* Used in SSL_set_shutdown()/SSL_get_shutdown(); */
 I4    X  79920 # define SSL_SENT_SHUTDOWN       1
 I4    X  79921 # define SSL_RECEIVED_SHUTDOWN   2
 I4    X  79922 
 I4    X  79923 #ifdef __cplusplus
 I4    X  79924 }
 I4    X  79925 #endif
 I4    X  79926 
 I4    X  79927 #ifdef  __cplusplus
 I4    X  79928 extern "C" {
 I4    X  79929 #endif
 I4    X  79930 
 I4    X  79931 # define SSL_FILETYPE_ASN1       X509_FILETYPE_ASN1
 I4    X  79932 # define SSL_FILETYPE_PEM        X509_FILETYPE_PEM
 I4    X  79933 
 I4    X  79934 /*
 I4    X  79935  * This is needed to stop compilers complaining about the 'struct ssl_st *'
 I4    X  79936  * function parameters used to prototype callbacks in SSL_CTX.
 I4    X  79937  */
 I4    X  79938 typedef struct ssl_st *ssl_crock_st;
 I4    X  79939 typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT;
 I4    X  79940 typedef struct ssl_method_st SSL_METHOD;
 I4    X  79941 typedef struct ssl_cipher_st SSL_CIPHER;
 I4    X  79942 typedef struct ssl_session_st SSL_SESSION;
 I4    X  79943 typedef struct tls_sigalgs_st TLS_SIGALGS;
 I4    X  79944 typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
 I4    X  79945 typedef struct ssl_comp_st SSL_COMP;
 I4    X  79946 
 I4    X  79947 STACK_OF(SSL_CIPHER);
 I4    X  79948 STACK_OF(SSL_COMP);
 I4    X  79949 
 I4    X  79950 /* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
 I4    X  79951 typedef struct srtp_protection_profile_st {
 I4    X  79952     const char *name;
 I4    X  79953     unsigned long id;
 I4    X  79954 } SRTP_PROTECTION_PROFILE;
 I4    X  79955 SKM_DEFINE_STACK_OF_INTERNAL(SRTP_PROTECTION_PROFILE, SRTP_PROTECTION_PROFILE, SRTP_PROTECTION_PROFILE)
 I4    X  79956 #define sk_SRTP_PROTECTION_PROFILE_num(sk) OPENSSL_sk_num(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I4    X  79957 #define sk_SRTP_PROTECTION_PROFILE_value(sk, idx) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_value(ossl_check_const_SRTP
 I4    X  79957 _PROTECTION_PROFILE_sk_type(sk), (idx)))
 I4    X  79958 #define sk_SRTP_PROTECTION_PROFILE_new(cmp) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new(ossl_check_SRTP_PRO
 I4    X  79958 TECTION_PROFILE_compfunc_type(cmp)))
 I4    X  79959 #define sk_SRTP_PROTECTION_PROFILE_new_null() ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new_null())
 I4    X  79960 #define sk_SRTP_PROTECTION_PROFILE_new_reserve(cmp, n) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new_reserve(
 I4    X  79960 ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type(cmp), (n)))
 I4    X  79961 #define sk_SRTP_PROTECTION_PROFILE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk),
 I4    X  79961  (n))
 I4    X  79962 #define sk_SRTP_PROTECTION_PROFILE_free(sk) OPENSSL_sk_free(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I4    X  79963 #define sk_SRTP_PROTECTION_PROFILE_zero(sk) OPENSSL_sk_zero(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I4    X  79964 #define sk_SRTP_PROTECTION_PROFILE_delete(sk, i) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_delete(ossl_check_SRTP_PROTE
 I4    X  79964 CTION_PROFILE_sk_type(sk), (i)))
 I4    X  79965 #define sk_SRTP_PROTECTION_PROFILE_delete_ptr(sk, ptr) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_delete_ptr(ossl_check_
 I4    X  79965 SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1478
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  79966 #define sk_SRTP_PROTECTION_PROFILE_push(sk, ptr) OPENSSL_sk_push(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), oss
 I4    X  79966 l_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I4    X  79967 #define sk_SRTP_PROTECTION_PROFILE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk
 I4    X  79967 ), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I4    X  79968 #define sk_SRTP_PROTECTION_PROFILE_pop(sk) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_pop(ossl_check_SRTP_PROTECTION_PRO
 I4    X  79968 FILE_sk_type(sk)))
 I4    X  79969 #define sk_SRTP_PROTECTION_PROFILE_shift(sk) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_shift(ossl_check_SRTP_PROTECTION
 I4    X  79969 _PROFILE_sk_type(sk)))
 I4    X  79970 #define sk_SRTP_PROTECTION_PROFILE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SRTP_PROTECTION_PROFILE_sk_
 I4    X  79970 type(sk),ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type(freefunc))
 I4    X  79971 #define sk_SRTP_PROTECTION_PROFILE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SRTP_PROTECTION_PROFILE_sk_type
 I4    X  79971 (sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr), (idx))
 I4    X  79972 #define sk_SRTP_PROTECTION_PROFILE_set(sk, idx, ptr) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_set(ossl_check_SRTP_PROT
 I4    X  79972 ECTION_PROFILE_sk_type(sk), (idx), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)))
 I4    X  79973 #define sk_SRTP_PROTECTION_PROFILE_find(sk, ptr) OPENSSL_sk_find(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), oss
 I4    X  79973 l_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I4    X  79974 #define sk_SRTP_PROTECTION_PROFILE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk
 I4    X  79974 ), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr))
 I4    X  79975 #define sk_SRTP_PROTECTION_PROFILE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SRTP_PROTECTION_PROFILE_sk
 I4    X  79975 _type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr), pnum)
 I4    X  79976 #define sk_SRTP_PROTECTION_PROFILE_sort(sk) OPENSSL_sk_sort(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))
 I4    X  79977 #define sk_SRTP_PROTECTION_PROFILE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_ty
 I4    X  79977 pe(sk))
 I4    X  79978 #define sk_SRTP_PROTECTION_PROFILE_dup(sk) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_dup(ossl_check_const_SRT
 I4    X  79978 P_PROTECTION_PROFILE_sk_type(sk)))
 I4    X  79979 #define sk_SRTP_PROTECTION_PROFILE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_s
 I4    X  79979 k_deep_copy(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_copyfunc_type(c
 I4    X  79979 opyfunc), ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type(freefunc)))
 I4    X  79980 #define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(sk, cmp) ((sk_SRTP_PROTECTION_PROFILE_compfunc)OPENSSL_sk_set_cmp_fu
 I4    X  79980 nc(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type(cmp)))
 I4    X  79981 
 I4    X  79982 
 I4    X  79983 
 I4    X  79984 typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data,
 I4    X  79985                                             int len, void *arg);
 I4    X  79986 typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len,
 I4    X  79987                                         STACK_OF(SSL_CIPHER) *peer_ciphers,
 I4    X  79988                                         const SSL_CIPHER **cipher, void *arg);
 I4    X  79989 
 I4    X  79990 /* Extension context codes */
 I4    X  79991 /* This extension is only allowed in TLS */
 I4    X  79992 #define SSL_EXT_TLS_ONLY                        0x0001
 I4    X  79993 /* This extension is only allowed in DTLS */
 I4    X  79994 #define SSL_EXT_DTLS_ONLY                       0x0002
 I4    X  79995 /* Some extensions may be allowed in DTLS but we don't implement them for it */
 I4    X  79996 #define SSL_EXT_TLS_IMPLEMENTATION_ONLY         0x0004
 I4    X  79997 /* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */
 I4    X  79998 #define SSL_EXT_SSL3_ALLOWED                    0x0008
 I4    X  79999 /* Extension is only defined for TLS1.2 and below */
 I4    X  80000 #define SSL_EXT_TLS1_2_AND_BELOW_ONLY           0x0010
 I4    X  80001 /* Extension is only defined for TLS1.3 and above */
 I4    X  80002 #define SSL_EXT_TLS1_3_ONLY                     0x0020
 I4    X  80003 /* Ignore this extension during parsing if we are resuming */
 I4    X  80004 #define SSL_EXT_IGNORE_ON_RESUMPTION            0x0040
 I4    X  80005 #define SSL_EXT_CLIENT_HELLO                    0x0080
 I4    X  80006 /* Really means TLS1.2 or below */
 I4    X  80007 #define SSL_EXT_TLS1_2_SERVER_HELLO             0x0100

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1479
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80008 #define SSL_EXT_TLS1_3_SERVER_HELLO             0x0200
 I4    X  80009 #define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS     0x0400
 I4    X  80010 #define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST      0x0800
 I4    X  80011 #define SSL_EXT_TLS1_3_CERTIFICATE              0x1000
 I4    X  80012 #define SSL_EXT_TLS1_3_NEW_SESSION_TICKET       0x2000
 I4    X  80013 #define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST      0x4000
 I4    X  80014 
 I4    X  80015 /* Typedefs for handling custom extensions */
 I4    X  80016 
 I4    X  80017 typedef int (*custom_ext_add_cb)(SSL *s, unsigned int ext_type,
 I4    X  80018                                  const unsigned char **out, size_t *outlen,
 I4    X  80019                                  int *al, void *add_arg);
 I4    X  80020 
 I4    X  80021 typedef void (*custom_ext_free_cb)(SSL *s, unsigned int ext_type,
 I4    X  80022                                    const unsigned char *out, void *add_arg);
 I4    X  80023 
 I4    X  80024 typedef int (*custom_ext_parse_cb)(SSL *s, unsigned int ext_type,
 I4    X  80025                                    const unsigned char *in, size_t inlen,
 I4    X  80026                                    int *al, void *parse_arg);
 I4    X  80027 
 I4    X  80028 
 I4    X  80029 typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type,
 I4    X  80030                                         unsigned int context,
 I4    X  80031                                         const unsigned char **out,
 I4    X  80032                                         size_t *outlen, X509 *x,
 I4    X  80033                                         size_t chainidx,
 I4    X  80034                                         int *al, void *add_arg);
 I4    X  80035 
 I4    X  80036 typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type,
 I4    X  80037                                           unsigned int context,
 I4    X  80038                                           const unsigned char *out,
 I4    X  80039                                           void *add_arg);
 I4    X  80040 
 I4    X  80041 typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type,
 I4    X  80042                                           unsigned int context,
 I4    X  80043                                           const unsigned char *in,
 I4    X  80044                                           size_t inlen, X509 *x,
 I4    X  80045                                           size_t chainidx,
 I4    X  80046                                           int *al, void *parse_arg);
 I4    X  80047 
 I4    X  80048 /* Typedef for verification callback */
 I4    X  80049 typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx);
 I4    X  80050 
 I4    X  80051 /* Typedef for SSL async callback */
 I4    X  80052 typedef int (*SSL_async_callback_fn)(SSL *s, void *arg);
 I4    X  80053 
 I4    X  80054 #define SSL_OP_BIT(n)  ((uint64_t)1 << (uint64_t)n)
 I4    X  80055 
 I4    X  80056 /*
 I4    X  80057  * SSL/TLS connection options.
 I4    X  80058  */
 I4    X  80059     /* Disable Extended master secret */
 I4    X  80060 # define SSL_OP_NO_EXTENDED_MASTER_SECRET                SSL_OP_BIT(0)
 I4    X  80061     /* Cleanse plaintext copies of data delivered to the application */
 I4    X  80062 # define SSL_OP_CLEANSE_PLAINTEXT                        SSL_OP_BIT(1)
 I4    X  80063     /* Allow initial connection to servers that don't support RI */
 I4    X  80064 # define SSL_OP_LEGACY_SERVER_CONNECT                    SSL_OP_BIT(2)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1480
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80065     /* Enable support for Kernel TLS */
 I4    X  80066 # define SSL_OP_ENABLE_KTLS                              SSL_OP_BIT(3)
 I4    X  80067 # define SSL_OP_TLSEXT_PADDING                           SSL_OP_BIT(4)
 I4    X  80068 # define SSL_OP_SAFARI_ECDHE_ECDSA_BUG                   SSL_OP_BIT(6)
 I4    X  80069 # define SSL_OP_IGNORE_UNEXPECTED_EOF                    SSL_OP_BIT(7)
 I4    X  80070 # define SSL_OP_ALLOW_CLIENT_RENEGOTIATION               SSL_OP_BIT(8)
 I4    X  80071 # define SSL_OP_DISABLE_TLSEXT_CA_NAMES                  SSL_OP_BIT(9)
 I4    X  80072     /* In TLSv1.3 allow a non-(ec)dhe based kex_mode */
 I4    X  80073 # define SSL_OP_ALLOW_NO_DHE_KEX                         SSL_OP_BIT(10)
 I4    X  80074     /*
 I4    X  80075      * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added
 I4    X  80076      * in OpenSSL 0.9.6d.  Usually (depending on the application protocol)
 I4    X  80077      * the workaround is not needed.  Unfortunately some broken SSL/TLS
 I4    X  80078      * implementations cannot handle it at all, which is why we include it
 I4    X  80079      * in SSL_OP_ALL. Added in 0.9.6e
 I4    X  80080      */
 I4    X  80081 # define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS              SSL_OP_BIT(11)
 I4    X  80082     /* DTLS options */
 I4    X  80083 # define SSL_OP_NO_QUERY_MTU                             SSL_OP_BIT(12)
 I4    X  80084     /* Turn on Cookie Exchange (on relevant for servers) */
 I4    X  80085 # define SSL_OP_COOKIE_EXCHANGE                          SSL_OP_BIT(13)
 I4    X  80086     /* Don't use RFC4507 ticket extension */
 I4    X  80087 # define SSL_OP_NO_TICKET                                SSL_OP_BIT(14)
 I4    X  80088 # ifndef OPENSSL_NO_DTLS1_METHOD
 I4    X  80089     /*
 I4    X  80090      * Use Cisco's version identifier of DTLS_BAD_VER
 I4    X  80091      * (only with deprecated DTLSv1_client_method())
 I4    X  80092      */
 I4    X  80093 #  define SSL_OP_CISCO_ANYCONNECT                        SSL_OP_BIT(15)
 I4    X  80094 # endif
 I4    X  80095     /* As server, disallow session resumption on renegotiation */
 I4    X  80096 # define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION   SSL_OP_BIT(16)
 I4    X  80097     /* Don't use compression even if supported */
 I4    X  80098 # define SSL_OP_NO_COMPRESSION                           SSL_OP_BIT(17)
 I4    X  80099     /* Permit unsafe legacy renegotiation */
 I4    X  80100 # define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION        SSL_OP_BIT(18)
 I4    X  80101     /* Disable encrypt-then-mac */
 I4    X  80102 # define SSL_OP_NO_ENCRYPT_THEN_MAC                      SSL_OP_BIT(19)
 I4    X  80103     /*
 I4    X  80104      * Enable TLSv1.3 Compatibility mode. This is on by default. A future
 I4    X  80105      * version of OpenSSL may have this disabled by default.
 I4    X  80106      */
 I4    X  80107 # define SSL_OP_ENABLE_MIDDLEBOX_COMPAT                  SSL_OP_BIT(20)
 I4    X  80108     /*
 I4    X  80109      * Prioritize Chacha20Poly1305 when client does.
 I4    X  80110      * Modifies SSL_OP_CIPHER_SERVER_PREFERENCE
 I4    X  80111      */
 I4    X  80112 # define SSL_OP_PRIORITIZE_CHACHA                        SSL_OP_BIT(21)
 I4    X  80113     /*
 I4    X  80114      * Set on servers to choose the cipher according to server's preferences.
 I4    X  80115      */
 I4    X  80116 # define SSL_OP_CIPHER_SERVER_PREFERENCE                 SSL_OP_BIT(22)
 I4    X  80117     /*
 I4    X  80118      * If set, a server will allow a client to issue a SSLv3.0 version
 I4    X  80119      * number as latest version supported in the premaster secret, even when
 I4    X  80120      * TLSv1.0 (version 3.1) was announced in the client hello. Normally
 I4    X  80121      * this is forbidden to prevent version rollback attacks.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1481
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80122      */
 I4    X  80123 # define SSL_OP_TLS_ROLLBACK_BUG                         SSL_OP_BIT(23)
 I4    X  80124     /*
 I4    X  80125      * Switches off automatic TLSv1.3 anti-replay protection for early data.
 I4    X  80126      * This is a server-side option only (no effect on the client).
 I4    X  80127      */
 I4    X  80128 # define SSL_OP_NO_ANTI_REPLAY                           SSL_OP_BIT(24)
 I4    X  80129 # define SSL_OP_NO_SSLv3                                 SSL_OP_BIT(25)
 I4    X  80130 # define SSL_OP_NO_TLSv1                                 SSL_OP_BIT(26)
 I4    X  80131 # define SSL_OP_NO_TLSv1_2                               SSL_OP_BIT(27)
 I4    X  80132 # define SSL_OP_NO_TLSv1_1                               SSL_OP_BIT(28)
 I4    X  80133 # define SSL_OP_NO_TLSv1_3                               SSL_OP_BIT(29)
 I4    X  80134 # define SSL_OP_NO_DTLSv1                                SSL_OP_BIT(26)
 I4    X  80135 # define SSL_OP_NO_DTLSv1_2                              SSL_OP_BIT(27)
 I4    X  80136     /* Disallow all renegotiation */
 I4    X  80137 # define SSL_OP_NO_RENEGOTIATION                         SSL_OP_BIT(30)
 I4    X  80138     /*
 I4    X  80139      * Make server add server-hello extension from early version of
 I4    X  80140      * cryptopro draft, when GOST ciphersuite is negotiated. Required for
 I4    X  80141      * interoperability with CryptoPro CSP 3.x
 I4    X  80142      */
 I4    X  80143 # define SSL_OP_CRYPTOPRO_TLSEXT_BUG                     SSL_OP_BIT(31)
 I4    X  80144 
 I4    X  80145 /*
 I4    X  80146  * Option "collections."
 I4    X  80147  */
 I4    X  80148 # define SSL_OP_NO_SSL_MASK \
 I4    X  80149         ( SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 \
 I4    X  80150           | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3 )
 I4    X  80151 # define SSL_OP_NO_DTLS_MASK \
 I4    X  80152         ( SSL_OP_NO_DTLSv1 | SSL_OP_NO_DTLSv1_2 )
 I4    X  80153 
 I4    X  80154 /* Various bug workarounds that should be rather harmless. */
 I4    X  80155 # define SSL_OP_ALL \
 I4    X  80156         ( SSL_OP_CRYPTOPRO_TLSEXT_BUG | SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS \
 I4    X  80157           | SSL_OP_TLSEXT_PADDING | SSL_OP_SAFARI_ECDHE_ECDSA_BUG )
 I4    X  80158 
 I4    X  80159 /*
 I4    X  80160  * OBSOLETE OPTIONS retained for compatibility
 I4    X  80161  */
 I4    X  80162 
 I4    X  80163 # define SSL_OP_MICROSOFT_SESS_ID_BUG                    0x0
 I4    X  80164 # define SSL_OP_NETSCAPE_CHALLENGE_BUG                   0x0
 I4    X  80165 # define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG         0x0
 I4    X  80166 # define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG              0x0
 I4    X  80167 # define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER               0x0
 I4    X  80168 # define SSL_OP_MSIE_SSLV2_RSA_PADDING                   0x0
 I4    X  80169 # define SSL_OP_SSLEAY_080_CLIENT_DH_BUG                 0x0
 I4    X  80170 # define SSL_OP_TLS_D5_BUG                               0x0
 I4    X  80171 # define SSL_OP_TLS_BLOCK_PADDING_BUG                    0x0
 I4    X  80172 # define SSL_OP_SINGLE_ECDH_USE                          0x0
 I4    X  80173 # define SSL_OP_SINGLE_DH_USE                            0x0
 I4    X  80174 # define SSL_OP_EPHEMERAL_RSA                            0x0
 I4    X  80175 # define SSL_OP_NO_SSLv2                                 0x0
 I4    X  80176 # define SSL_OP_PKCS1_CHECK_1                            0x0
 I4    X  80177 # define SSL_OP_PKCS1_CHECK_2                            0x0
 I4    X  80178 # define SSL_OP_NETSCAPE_CA_DN_BUG                       0x0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1482
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80179 # define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG          0x0
 I4    X  80180 
 I4    X  80181 /*
 I4    X  80182  * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success
 I4    X  80183  * when just a single record has been written):
 I4    X  80184  */
 I4    X  80185 # define SSL_MODE_ENABLE_PARTIAL_WRITE       0x00000001U
 I4    X  80186 /*
 I4    X  80187  * Make it possible to retry SSL_write() with changed buffer location (buffer
 I4    X  80188  * contents must stay the same!); this is not the default to avoid the
 I4    X  80189  * misconception that non-blocking SSL_write() behaves like non-blocking
 I4    X  80190  * write():
 I4    X  80191  */
 I4    X  80192 # define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U
 I4    X  80193 /*
 I4    X  80194  * Never bother the application with retries if the transport is blocking:
 I4    X  80195  */
 I4    X  80196 # define SSL_MODE_AUTO_RETRY 0x00000004U
 I4    X  80197 /* Don't attempt to automatically build certificate chain */
 I4    X  80198 # define SSL_MODE_NO_AUTO_CHAIN 0x00000008U
 I4    X  80199 /*
 I4    X  80200  * Save RAM by releasing read and write buffers when they're empty. (SSL3 and
 I4    X  80201  * TLS only.) Released buffers are freed.
 I4    X  80202  */
 I4    X  80203 # define SSL_MODE_RELEASE_BUFFERS 0x00000010U
 I4    X  80204 /*
 I4    X  80205  * Send the current time in the Random fields of the ClientHello and
 I4    X  80206  * ServerHello records for compatibility with hypothetical implementations
 I4    X  80207  * that require it.
 I4    X  80208  */
 I4    X  80209 # define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020U
 I4    X  80210 # define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040U
 I4    X  80211 /*
 I4    X  80212  * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications
 I4    X  80213  * that reconnect with a downgraded protocol version; see
 I4    X  80214  * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your
 I4    X  80215  * application attempts a normal handshake. Only use this in explicit
 I4    X  80216  * fallback retries, following the guidance in
 I4    X  80217  * draft-ietf-tls-downgrade-scsv-00.
 I4    X  80218  */
 I4    X  80219 # define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080U
 I4    X  80220 /*
 I4    X  80221  * Support Asynchronous operation
 I4    X  80222  */
 I4    X  80223 # define SSL_MODE_ASYNC 0x00000100U
 I4    X  80224 
 I4    X  80225 /*
 I4    X  80226  * When using DTLS/SCTP, include the terminating zero in the label
 I4    X  80227  * used for computing the endpoint-pair shared secret. Required for
 I4    X  80228  * interoperability with implementations having this bug like these
 I4    X  80229  * older version of OpenSSL:
 I4    X  80230  * - OpenSSL 1.0.0 series
 I4    X  80231  * - OpenSSL 1.0.1 series
 I4    X  80232  * - OpenSSL 1.0.2 series
 I4    X  80233  * - OpenSSL 1.1.0 series
 I4    X  80234  * - OpenSSL 1.1.1 and 1.1.1a
 I4    X  80235  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1483
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80236 # define SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG 0x00000400U
 I4    X  80237 
 I4    X  80238 /* Cert related flags */
 I4    X  80239 /*
 I4    X  80240  * Many implementations ignore some aspects of the TLS standards such as
 I4    X  80241  * enforcing certificate chain algorithms. When this is set we enforce them.
 I4    X  80242  */
 I4    X  80243 # define SSL_CERT_FLAG_TLS_STRICT                0x00000001U
 I4    X  80244 
 I4    X  80245 /* Suite B modes, takes same values as certificate verify flags */
 I4    X  80246 # define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY       0x10000
 I4    X  80247 /* Suite B 192 bit only mode */
 I4    X  80248 # define SSL_CERT_FLAG_SUITEB_192_LOS            0x20000
 I4    X  80249 /* Suite B 128 bit mode allowing 192 bit algorithms */
 I4    X  80250 # define SSL_CERT_FLAG_SUITEB_128_LOS            0x30000
 I4    X  80251 
 I4    X  80252 /* Perform all sorts of protocol violations for testing purposes */
 I4    X  80253 # define SSL_CERT_FLAG_BROKEN_PROTOCOL           0x10000000
 I4    X  80254 
 I4    X  80255 /* Flags for building certificate chains */
 I4    X  80256 /* Treat any existing certificates as untrusted CAs */
 I4    X  80257 # define SSL_BUILD_CHAIN_FLAG_UNTRUSTED          0x1
 I4    X  80258 /* Don't include root CA in chain */
 I4    X  80259 # define SSL_BUILD_CHAIN_FLAG_NO_ROOT            0x2
 I4    X  80260 /* Just check certificates already there */
 I4    X  80261 # define SSL_BUILD_CHAIN_FLAG_CHECK              0x4
 I4    X  80262 /* Ignore verification errors */
 I4    X  80263 # define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR       0x8
 I4    X  80264 /* Clear verification errors from queue */
 I4    X  80265 # define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR        0x10
 I4    X  80266 
 I4    X  80267 /* Flags returned by SSL_check_chain */
 I4    X  80268 /* Certificate can be used with this session */
 I4    X  80269 # define CERT_PKEY_VALID         0x1
 I4    X  80270 /* Certificate can also be used for signing */
 I4    X  80271 # define CERT_PKEY_SIGN          0x2
 I4    X  80272 /* EE certificate signing algorithm OK */
 I4    X  80273 # define CERT_PKEY_EE_SIGNATURE  0x10
 I4    X  80274 /* CA signature algorithms OK */
 I4    X  80275 # define CERT_PKEY_CA_SIGNATURE  0x20
 I4    X  80276 /* EE certificate parameters OK */
 I4    X  80277 # define CERT_PKEY_EE_PARAM      0x40
 I4    X  80278 /* CA certificate parameters OK */
 I4    X  80279 # define CERT_PKEY_CA_PARAM      0x80
 I4    X  80280 /* Signing explicitly allowed as opposed to SHA1 fallback */
 I4    X  80281 # define CERT_PKEY_EXPLICIT_SIGN 0x100
 I4    X  80282 /* Client CA issuer names match (always set for server cert) */
 I4    X  80283 # define CERT_PKEY_ISSUER_NAME   0x200
 I4    X  80284 /* Cert type matches client types (always set for server cert) */
 I4    X  80285 # define CERT_PKEY_CERT_TYPE     0x400
 I4    X  80286 /* Cert chain suitable to Suite B */
 I4    X  80287 # define CERT_PKEY_SUITEB        0x800
 I4    X  80288 
 I4    X  80289 # define SSL_CONF_FLAG_CMDLINE           0x1
 I4    X  80290 # define SSL_CONF_FLAG_FILE              0x2
 I4    X  80291 # define SSL_CONF_FLAG_CLIENT            0x4
 I4    X  80292 # define SSL_CONF_FLAG_SERVER            0x8

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1484
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80293 # define SSL_CONF_FLAG_SHOW_ERRORS       0x10
 I4    X  80294 # define SSL_CONF_FLAG_CERTIFICATE       0x20
 I4    X  80295 # define SSL_CONF_FLAG_REQUIRE_PRIVATE   0x40
 I4    X  80296 /* Configuration value types */
 I4    X  80297 # define SSL_CONF_TYPE_UNKNOWN           0x0
 I4    X  80298 # define SSL_CONF_TYPE_STRING            0x1
 I4    X  80299 # define SSL_CONF_TYPE_FILE              0x2
 I4    X  80300 # define SSL_CONF_TYPE_DIR               0x3
 I4    X  80301 # define SSL_CONF_TYPE_NONE              0x4
 I4    X  80302 # define SSL_CONF_TYPE_STORE             0x5
 I4    X  80303 
 I4    X  80304 /* Maximum length of the application-controlled segment of a a TLSv1.3 cookie */
 I4    X  80305 # define SSL_COOKIE_LENGTH                       4096
 I4    X  80306 
 I4    X  80307 /*
 I4    X  80308  * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they
 I4    X  80309  * cannot be used to clear bits.
 I4    X  80310  */
 I4    X  80311 
 I4    X  80312 uint64_t SSL_CTX_get_options(const SSL_CTX *ctx);
 I4    X  80313 uint64_t SSL_get_options(const SSL *s);
 I4    X  80314 uint64_t SSL_CTX_clear_options(SSL_CTX *ctx, uint64_t op);
 I4    X  80315 uint64_t SSL_clear_options(SSL *s, uint64_t op);
 I4    X  80316 uint64_t SSL_CTX_set_options(SSL_CTX *ctx, uint64_t op);
 I4    X  80317 uint64_t SSL_set_options(SSL *s, uint64_t op);
 I4    X  80318 
 I4    X  80319 # define SSL_CTX_set_mode(ctx,op) \
 I4    X  80320         SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
 I4    X  80321 # define SSL_CTX_clear_mode(ctx,op) \
 I4    X  80322         SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL)
 I4    X  80323 # define SSL_CTX_get_mode(ctx) \
 I4    X  80324         SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL)
 I4    X  80325 # define SSL_clear_mode(ssl,op) \
 I4    X  80326         SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL)
 I4    X  80327 # define SSL_set_mode(ssl,op) \
 I4    X  80328         SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL)
 I4    X  80329 # define SSL_get_mode(ssl) \
 I4    X  80330         SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL)
 I4    X  80331 # define SSL_set_mtu(ssl, mtu) \
 I4    X  80332         SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL)
 I4    X  80333 # define DTLS_set_link_mtu(ssl, mtu) \
 I4    X  80334         SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL)
 I4    X  80335 # define DTLS_get_link_min_mtu(ssl) \
 I4    X  80336         SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL)
 I4    X  80337 
 I4    X  80338 # define SSL_get_secure_renegotiation_support(ssl) \
 I4    X  80339         SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL)
 I4    X  80340 
 I4    X  80341 # define SSL_CTX_set_cert_flags(ctx,op) \
 I4    X  80342         SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL)
 I4    X  80343 # define SSL_set_cert_flags(s,op) \
 I4    X  80344         SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL)
 I4    X  80345 # define SSL_CTX_clear_cert_flags(ctx,op) \
 I4    X  80346         SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL)
 I4    X  80347 # define SSL_clear_cert_flags(s,op) \
 I4    X  80348         SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL)
 I4    X  80349 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1485
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80350 void SSL_CTX_set_msg_callback(SSL_CTX *ctx,
 I4    X  80351                               void (*cb) (int write_p, int version,
 I4    X  80352                                           int content_type, const void *buf,
 I4    X  80353                                           size_t len, SSL *ssl, void *arg));
 I4    X  80354 void SSL_set_msg_callback(SSL *ssl,
 I4    X  80355                           void (*cb) (int write_p, int version,
 I4    X  80356                                       int content_type, const void *buf,
 I4    X  80357                                       size_t len, SSL *ssl, void *arg));
 I4    X  80358 # define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg))
 I4    X  80359 # define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg))
 I4    X  80360 
 I4    X  80361 # define SSL_get_extms_support(s) \
 I4    X  80362         SSL_ctrl((s),SSL_CTRL_GET_EXTMS_SUPPORT,0,NULL)
 I4    X  80363 
 I4    X  80364 # ifndef OPENSSL_NO_SRP
 I4    X  80365 /* see tls_srp.c */
 I4    X  80366 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  80367 OSSL_DEPRECATEDIN_3_0 __owur int SSL_SRP_CTX_init(SSL *s);
 I4    X  80368 OSSL_DEPRECATEDIN_3_0 __owur int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx);
 I4    X  80369 OSSL_DEPRECATEDIN_3_0 int SSL_SRP_CTX_free(SSL *ctx);
 I4    X  80370 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx);
 I4    X  80371 OSSL_DEPRECATEDIN_3_0 __owur int SSL_srp_server_param_with_username(SSL *s,
 I4    X  80372                                                                     int *ad);
 I4    X  80373 OSSL_DEPRECATEDIN_3_0 __owur int SRP_Calc_A_param(SSL *s);
 I4    X  80374 #  endif
 I4    X  80375 # endif
 I4    X  80376 
 I4    X  80377 /* 100k max cert list */
 I4    X  80378 # define SSL_MAX_CERT_LIST_DEFAULT (1024*100)
 I4    X  80379 
 I4    X  80380 # define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT      (1024*20)
 I4    X  80381 
 I4    X  80382 /*
 I4    X  80383  * This callback type is used inside SSL_CTX, SSL, and in the functions that
 I4    X  80384  * set them. It is used to override the generation of SSL/TLS session IDs in
 I4    X  80385  * a server. Return value should be zero on an error, non-zero to proceed.
 I4    X  80386  * Also, callbacks should themselves check if the id they generate is unique
 I4    X  80387  * otherwise the SSL handshake will fail with an error - callbacks can do
 I4    X  80388  * this using the 'ssl' value they're passed by;
 I4    X  80389  * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in
 I4    X  80390  * is set at the maximum size the session ID can be. In SSLv3/TLSv1 it is 32
 I4    X  80391  * bytes. The callback can alter this length to be less if desired. It is
 I4    X  80392  * also an error for the callback to set the size to zero.
 I4    X  80393  */
 I4    X  80394 typedef int (*GEN_SESSION_CB) (SSL *ssl, unsigned char *id,
 I4    X  80395                                unsigned int *id_len);
 I4    X  80396 
 I4    X  80397 # define SSL_SESS_CACHE_OFF                      0x0000
 I4    X  80398 # define SSL_SESS_CACHE_CLIENT                   0x0001
 I4    X  80399 # define SSL_SESS_CACHE_SERVER                   0x0002
 I4    X  80400 # define SSL_SESS_CACHE_BOTH     (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER)
 I4    X  80401 # define SSL_SESS_CACHE_NO_AUTO_CLEAR            0x0080
 I4    X  80402 /* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */
 I4    X  80403 # define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP       0x0100
 I4    X  80404 # define SSL_SESS_CACHE_NO_INTERNAL_STORE        0x0200
 I4    X  80405 # define SSL_SESS_CACHE_NO_INTERNAL \
 I4    X  80406         (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1486
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80407 # define SSL_SESS_CACHE_UPDATE_TIME              0x0400
 I4    X  80408 
 I4    X  80409 LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx);
 I4    X  80410 # define SSL_CTX_sess_number(ctx) \
 I4    X  80411         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL)
 I4    X  80412 # define SSL_CTX_sess_connect(ctx) \
 I4    X  80413         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL)
 I4    X  80414 # define SSL_CTX_sess_connect_good(ctx) \
 I4    X  80415         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL)
 I4    X  80416 # define SSL_CTX_sess_connect_renegotiate(ctx) \
 I4    X  80417         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL)
 I4    X  80418 # define SSL_CTX_sess_accept(ctx) \
 I4    X  80419         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL)
 I4    X  80420 # define SSL_CTX_sess_accept_renegotiate(ctx) \
 I4    X  80421         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL)
 I4    X  80422 # define SSL_CTX_sess_accept_good(ctx) \
 I4    X  80423         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL)
 I4    X  80424 # define SSL_CTX_sess_hits(ctx) \
 I4    X  80425         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL)
 I4    X  80426 # define SSL_CTX_sess_cb_hits(ctx) \
 I4    X  80427         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL)
 I4    X  80428 # define SSL_CTX_sess_misses(ctx) \
 I4    X  80429         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL)
 I4    X  80430 # define SSL_CTX_sess_timeouts(ctx) \
 I4    X  80431         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL)
 I4    X  80432 # define SSL_CTX_sess_cache_full(ctx) \
 I4    X  80433         SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL)
 I4    X  80434 
 I4    X  80435 void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx,
 I4    X  80436                              int (*new_session_cb) (struct ssl_st *ssl,
 I4    X  80437                                                     SSL_SESSION *sess));
 I4    X  80438 int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl,
 I4    X  80439                                               SSL_SESSION *sess);
 I4    X  80440 void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx,
 I4    X  80441                                 void (*remove_session_cb) (struct ssl_ctx_st
 I4    X  80442                                                            *ctx,
 I4    X  80443                                                            SSL_SESSION *sess));
 I4    X  80444 void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx,
 I4    X  80445                                                   SSL_SESSION *sess);
 I4    X  80446 void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx,
 I4    X  80447                              SSL_SESSION *(*get_session_cb) (struct ssl_st
 I4    X  80448                                                              *ssl,
 I4    X  80449                                                              const unsigned char
 I4    X  80450                                                              *data, int len,
 I4    X  80451                                                              int *copy));
 I4    X  80452 SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl,
 I4    X  80453                                                        const unsigned char *data,
 I4    X  80454                                                        int len, int *copy);
 I4    X  80455 void SSL_CTX_set_info_callback(SSL_CTX *ctx,
 I4    X  80456                                void (*cb) (const SSL *ssl, int type, int val));
 I4    X  80457 void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type,
 I4    X  80458                                                  int val);
 I4    X  80459 void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx,
 I4    X  80460                                 int (*client_cert_cb) (SSL *ssl, X509 **x509,
 I4    X  80461                                                        EVP_PKEY **pkey));
 I4    X  80462 int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509,
 I4    X  80463                                                  EVP_PKEY **pkey);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1487
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80464 # ifndef OPENSSL_NO_ENGINE
 I4    X  80465 __owur int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e);
 I4    X  80466 # endif
 I4    X  80467 void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,
 I4    X  80468                                     int (*app_gen_cookie_cb) (SSL *ssl,
 I4    X  80469                                                               unsigned char
 I4    X  80470                                                               *cookie,
 I4    X  80471                                                               unsigned int
 I4    X  80472                                                               *cookie_len));
 I4    X  80473 void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,
 I4    X  80474                                   int (*app_verify_cookie_cb) (SSL *ssl,
 I4    X  80475                                                                const unsigned
 I4    X  80476                                                                char *cookie,
 I4    X  80477                                                                unsigned int
 I4    X  80478                                                                cookie_len));
 I4    X  80479 
 I4    X  80480 void SSL_CTX_set_stateless_cookie_generate_cb(
 I4    X  80481     SSL_CTX *ctx,
 I4    X  80482     int (*gen_stateless_cookie_cb) (SSL *ssl,
 I4    X  80483                                     unsigned char *cookie,
 I4    X  80484                                     size_t *cookie_len));
 I4    X  80485 void SSL_CTX_set_stateless_cookie_verify_cb(
 I4    X  80486     SSL_CTX *ctx,
 I4    X  80487     int (*verify_stateless_cookie_cb) (SSL *ssl,
 I4    X  80488                                        const unsigned char *cookie,
 I4    X  80489                                        size_t cookie_len));
 I4    X  80490 # ifndef OPENSSL_NO_NEXTPROTONEG
 I4    X  80491 
 I4    X  80492 typedef int (*SSL_CTX_npn_advertised_cb_func)(SSL *ssl,
 I4    X  80493                                               const unsigned char **out,
 I4    X  80494                                               unsigned int *outlen,
 I4    X  80495                                               void *arg);
 I4    X  80496 void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s,
 I4    X  80497                                            SSL_CTX_npn_advertised_cb_func cb,
 I4    X  80498                                            void *arg);
 I4    X  80499 #  define SSL_CTX_set_npn_advertised_cb SSL_CTX_set_next_protos_advertised_cb
 I4    X  80500 
 I4    X  80501 typedef int (*SSL_CTX_npn_select_cb_func)(SSL *s,
 I4    X  80502                                           unsigned char **out,
 I4    X  80503                                           unsigned char *outlen,
 I4    X  80504                                           const unsigned char *in,
 I4    X  80505                                           unsigned int inlen,
 I4    X  80506                                           void *arg);
 I4    X  80507 void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s,
 I4    X  80508                                       SSL_CTX_npn_select_cb_func cb,
 I4    X  80509                                       void *arg);
 I4    X  80510 #  define SSL_CTX_set_npn_select_cb SSL_CTX_set_next_proto_select_cb
 I4    X  80511 
 I4    X  80512 void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data,
 I4    X  80513                                     unsigned *len);
 I4    X  80514 #  define SSL_get0_npn_negotiated SSL_get0_next_proto_negotiated
 I4    X  80515 # endif
 I4    X  80516 
 I4    X  80517 __owur int SSL_select_next_proto(unsigned char **out, unsigned char *outlen,
 I4    X  80518                                  const unsigned char *in, unsigned int inlen,
 I4    X  80519                                  const unsigned char *client,
 I4    X  80520                                  unsigned int client_len);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1488
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80521 
 I4    X  80522 # define OPENSSL_NPN_UNSUPPORTED 0
 I4    X  80523 # define OPENSSL_NPN_NEGOTIATED  1
 I4    X  80524 # define OPENSSL_NPN_NO_OVERLAP  2
 I4    X  80525 
 I4    X  80526 __owur int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos,
 I4    X  80527                                    unsigned int protos_len);
 I4    X  80528 __owur int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos,
 I4    X  80529                                unsigned int protos_len);
 I4    X  80530 typedef int (*SSL_CTX_alpn_select_cb_func)(SSL *ssl,
 I4    X  80531                                            const unsigned char **out,
 I4    X  80532                                            unsigned char *outlen,
 I4    X  80533                                            const unsigned char *in,
 I4    X  80534                                            unsigned int inlen,
 I4    X  80535                                            void *arg);
 I4    X  80536 void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx,
 I4    X  80537                                 SSL_CTX_alpn_select_cb_func cb,
 I4    X  80538                                 void *arg);
 I4    X  80539 void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data,
 I4    X  80540                             unsigned int *len);
 I4    X  80541 
 I4    X  80542 # ifndef OPENSSL_NO_PSK
 I4    X  80543 /*
 I4    X  80544  * the maximum length of the buffer given to callbacks containing the
 I4    X  80545  * resulting identity/psk
 I4    X  80546  */
 I4    X  80547 #  define PSK_MAX_IDENTITY_LEN 256
 I4    X  80548 #  define PSK_MAX_PSK_LEN 512
 I4    X  80549 typedef unsigned int (*SSL_psk_client_cb_func)(SSL *ssl,
 I4    X  80550                                                const char *hint,
 I4    X  80551                                                char *identity,
 I4    X  80552                                                unsigned int max_identity_len,
 I4    X  80553                                                unsigned char *psk,
 I4    X  80554                                                unsigned int max_psk_len);
 I4    X  80555 void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, SSL_psk_client_cb_func cb);
 I4    X  80556 void SSL_set_psk_client_callback(SSL *ssl, SSL_psk_client_cb_func cb);
 I4    X  80557 
 I4    X  80558 typedef unsigned int (*SSL_psk_server_cb_func)(SSL *ssl,
 I4    X  80559                                                const char *identity,
 I4    X  80560                                                unsigned char *psk,
 I4    X  80561                                                unsigned int max_psk_len);
 I4    X  80562 void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func cb);
 I4    X  80563 void SSL_set_psk_server_callback(SSL *ssl, SSL_psk_server_cb_func cb);
 I4    X  80564 
 I4    X  80565 __owur int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint);
 I4    X  80566 __owur int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint);
 I4    X  80567 const char *SSL_get_psk_identity_hint(const SSL *s);
 I4    X  80568 const char *SSL_get_psk_identity(const SSL *s);
 I4    X  80569 # endif
 I4    X  80570 
 I4    X  80571 typedef int (*SSL_psk_find_session_cb_func)(SSL *ssl,
 I4    X  80572                                             const unsigned char *identity,
 I4    X  80573                                             size_t identity_len,
 I4    X  80574                                             SSL_SESSION **sess);
 I4    X  80575 typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md,
 I4    X  80576                                            const unsigned char **id,
 I4    X  80577                                            size_t *idlen,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1489
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80578                                            SSL_SESSION **sess);
 I4    X  80579 
 I4    X  80580 void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb);
 I4    X  80581 void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx,
 I4    X  80582                                            SSL_psk_find_session_cb_func cb);
 I4    X  80583 void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb);
 I4    X  80584 void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx,
 I4    X  80585                                           SSL_psk_use_session_cb_func cb);
 I4    X  80586 
 I4    X  80587 /* Register callbacks to handle custom TLS Extensions for client or server. */
 I4    X  80588 
 I4    X  80589 __owur int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx,
 I4    X  80590                                          unsigned int ext_type);
 I4    X  80591 
 I4    X  80592 __owur int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx,
 I4    X  80593                                          unsigned int ext_type,
 I4    X  80594                                          custom_ext_add_cb add_cb,
 I4    X  80595                                          custom_ext_free_cb free_cb,
 I4    X  80596                                          void *add_arg,
 I4    X  80597                                          custom_ext_parse_cb parse_cb,
 I4    X  80598                                          void *parse_arg);
 I4    X  80599 
 I4    X  80600 __owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx,
 I4    X  80601                                          unsigned int ext_type,
 I4    X  80602                                          custom_ext_add_cb add_cb,
 I4    X  80603                                          custom_ext_free_cb free_cb,
 I4    X  80604                                          void *add_arg,
 I4    X  80605                                          custom_ext_parse_cb parse_cb,
 I4    X  80606                                          void *parse_arg);
 I4    X  80607 
 I4    X  80608 __owur int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
 I4    X  80609                                   unsigned int context,
 I4    X  80610                                   SSL_custom_ext_add_cb_ex add_cb,
 I4    X  80611                                   SSL_custom_ext_free_cb_ex free_cb,
 I4    X  80612                                   void *add_arg,
 I4    X  80613                                   SSL_custom_ext_parse_cb_ex parse_cb,
 I4    X  80614                                   void *parse_arg);
 I4    X  80615 
 I4    X  80616 __owur int SSL_extension_supported(unsigned int ext_type);
 I4    X  80617 
 I4    X  80618 # define SSL_NOTHING            1
 I4    X  80619 # define SSL_WRITING            2
 I4    X  80620 # define SSL_READING            3
 I4    X  80621 # define SSL_X509_LOOKUP        4
 I4    X  80622 # define SSL_ASYNC_PAUSED       5
 I4    X  80623 # define SSL_ASYNC_NO_JOBS      6
 I4    X  80624 # define SSL_CLIENT_HELLO_CB    7
 I4    X  80625 # define SSL_RETRY_VERIFY       8
 I4    X  80626 
 I4    X  80627 /* These will only be used when doing non-blocking IO */
 I4    X  80628 # define SSL_want_nothing(s)         (SSL_want(s) == SSL_NOTHING)
 I4    X  80629 # define SSL_want_read(s)            (SSL_want(s) == SSL_READING)
 I4    X  80630 # define SSL_want_write(s)           (SSL_want(s) == SSL_WRITING)
 I4    X  80631 # define SSL_want_x509_lookup(s)     (SSL_want(s) == SSL_X509_LOOKUP)
 I4    X  80632 # define SSL_want_retry_verify(s)    (SSL_want(s) == SSL_RETRY_VERIFY)
 I4    X  80633 # define SSL_want_async(s)           (SSL_want(s) == SSL_ASYNC_PAUSED)
 I4    X  80634 # define SSL_want_async_job(s)       (SSL_want(s) == SSL_ASYNC_NO_JOBS)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1490
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80635 # define SSL_want_client_hello_cb(s) (SSL_want(s) == SSL_CLIENT_HELLO_CB)
 I4    X  80636 
 I4    X  80637 # define SSL_MAC_FLAG_READ_MAC_STREAM 1
 I4    X  80638 # define SSL_MAC_FLAG_WRITE_MAC_STREAM 2
 I4    X  80639 # define SSL_MAC_FLAG_READ_MAC_TLSTREE 4
 I4    X  80640 # define SSL_MAC_FLAG_WRITE_MAC_TLSTREE 8
 I4    X  80641 
 I4    X  80642 /*
 I4    X  80643  * A callback for logging out TLS key material. This callback should log out
 I4    X  80644  * |line| followed by a newline.
 I4    X  80645  */
 I4    X  80646 typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line);
 I4    X  80647 
 I4    X  80648 /*
 I4    X  80649  * SSL_CTX_set_keylog_callback configures a callback to log key material. This
 I4    X  80650  * is intended for debugging use with tools like Wireshark. The cb function
 I4    X  80651  * should log line followed by a newline.
 I4    X  80652  */
 I4    X  80653 void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb);
 I4    X  80654 
 I4    X  80655 /*
 I4    X  80656  * SSL_CTX_get_keylog_callback returns the callback configured by
 I4    X  80657  * SSL_CTX_set_keylog_callback.
 I4    X  80658  */
 I4    X  80659 SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx);
 I4    X  80660 
 I4    X  80661 int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data);
 I4    X  80662 uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx);
 I4    X  80663 int SSL_set_max_early_data(SSL *s, uint32_t max_early_data);
 I4    X  80664 uint32_t SSL_get_max_early_data(const SSL *s);
 I4    X  80665 int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx, uint32_t recv_max_early_data);
 I4    X  80666 uint32_t SSL_CTX_get_recv_max_early_data(const SSL_CTX *ctx);
 I4    X  80667 int SSL_set_recv_max_early_data(SSL *s, uint32_t recv_max_early_data);
 I4    X  80668 uint32_t SSL_get_recv_max_early_data(const SSL *s);
 I4    X  80669 
 I4    X  80670 #ifdef __cplusplus
 I4    X  80671 }
 I4    X  80672 #endif
 I4    X  80673 
 I4    X  80674 # include <openssl/ssl2.h>
 I4    X  80675 # include <openssl/ssl3.h>
 I4    X  80676 # include <openssl/tls1.h>      /* This is mostly sslv3 with a few tweaks */
 I4    X  80677 # include <openssl/dtls1.h>     /* Datagram TLS */
 I4    X  80678 # include <openssl/srtp.h>      /* Support for the use_srtp extension */
 I4    X  80679 
 I4    X  80680 #ifdef  __cplusplus
 I4    X  80681 extern "C" {
 I4    X  80682 #endif
 I4    X  80683 
 I4    X  80684 /*
 I4    X  80685  * These need to be after the above set of includes due to a compiler bug
 I4    X  80686  * in VisualStudio 2015
 I4    X  80687  */
 I4    X  80688 SKM_DEFINE_STACK_OF_INTERNAL(SSL_CIPHER, const SSL_CIPHER, SSL_CIPHER)
 I4    X  80689 #define sk_SSL_CIPHER_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_CIPHER_sk_type(sk))
 I4    X  80690 #define sk_SSL_CIPHER_value(sk, idx) ((const SSL_CIPHER *)OPENSSL_sk_value(ossl_check_const_SSL_CIPHER_sk_type(sk), 
 I4    X  80690 (idx)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1491
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80691 #define sk_SSL_CIPHER_new(cmp) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new(ossl_check_SSL_CIPHER_compfunc_type(cmp)))
 I4    X  80692 #define sk_SSL_CIPHER_new_null() ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_null())
 I4    X  80693 #define sk_SSL_CIPHER_new_reserve(cmp, n) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_reserve(ossl_check_SSL_CIPHER_comp
 I4    X  80693 func_type(cmp), (n)))
 I4    X  80694 #define sk_SSL_CIPHER_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_CIPHER_sk_type(sk), (n))
 I4    X  80695 #define sk_SSL_CIPHER_free(sk) OPENSSL_sk_free(ossl_check_SSL_CIPHER_sk_type(sk))
 I4    X  80696 #define sk_SSL_CIPHER_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_CIPHER_sk_type(sk))
 I4    X  80697 #define sk_SSL_CIPHER_delete(sk, i) ((const SSL_CIPHER *)OPENSSL_sk_delete(ossl_check_SSL_CIPHER_sk_type(sk), (i)))
 I4    X  80698 #define sk_SSL_CIPHER_delete_ptr(sk, ptr) ((const SSL_CIPHER *)OPENSSL_sk_delete_ptr(ossl_check_SSL_CIPHER_sk_type(s
 I4    X  80698 k), ossl_check_SSL_CIPHER_type(ptr)))
 I4    X  80699 #define sk_SSL_CIPHER_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(pt
 I4    X  80699 r))
 I4    X  80700 #define sk_SSL_CIPHER_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_t
 I4    X  80700 ype(ptr))
 I4    X  80701 #define sk_SSL_CIPHER_pop(sk) ((const SSL_CIPHER *)OPENSSL_sk_pop(ossl_check_SSL_CIPHER_sk_type(sk)))
 I4    X  80702 #define sk_SSL_CIPHER_shift(sk) ((const SSL_CIPHER *)OPENSSL_sk_shift(ossl_check_SSL_CIPHER_sk_type(sk)))
 I4    X  80703 #define sk_SSL_CIPHER_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_CIPHER_sk_type(sk),ossl_check_SSL_CI
 I4    X  80703 PHER_freefunc_type(freefunc))
 I4    X  80704 #define sk_SSL_CIPHER_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHE
 I4    X  80704 R_type(ptr), (idx))
 I4    X  80705 #define sk_SSL_CIPHER_set(sk, idx, ptr) ((const SSL_CIPHER *)OPENSSL_sk_set(ossl_check_SSL_CIPHER_sk_type(sk), (idx)
 I4    X  80705 , ossl_check_SSL_CIPHER_type(ptr)))
 I4    X  80706 #define sk_SSL_CIPHER_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(pt
 I4    X  80706 r))
 I4    X  80707 #define sk_SSL_CIPHER_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_t
 I4    X  80707 ype(ptr))
 I4    X  80708 #define sk_SSL_CIPHER_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_
 I4    X  80708 CIPHER_type(ptr), pnum)
 I4    X  80709 #define sk_SSL_CIPHER_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_CIPHER_sk_type(sk))
 I4    X  80710 #define sk_SSL_CIPHER_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_CIPHER_sk_type(sk))
 I4    X  80711 #define sk_SSL_CIPHER_dup(sk) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_dup(ossl_check_const_SSL_CIPHER_sk_type(sk)))
 I4    X  80712 #define sk_SSL_CIPHER_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_deep_copy(ossl_check_con
 I4    X  80712 st_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_copyfunc_type(copyfunc), ossl_check_SSL_CIPHER_freefunc_type(freefu
 I4    X  80712 nc)))
 I4    X  80713 #define sk_SSL_CIPHER_set_cmp_func(sk, cmp) ((sk_SSL_CIPHER_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_CIPHER_s
 I4    X  80713 k_type(sk), ossl_check_SSL_CIPHER_compfunc_type(cmp)))
 I4    X  80714 SKM_DEFINE_STACK_OF_INTERNAL(SSL_COMP, SSL_COMP, SSL_COMP)
 I4    X  80715 #define sk_SSL_COMP_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_COMP_sk_type(sk))
 I4    X  80716 #define sk_SSL_COMP_value(sk, idx) ((SSL_COMP *)OPENSSL_sk_value(ossl_check_const_SSL_COMP_sk_type(sk), (idx)))
 I4    X  80717 #define sk_SSL_COMP_new(cmp) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new(ossl_check_SSL_COMP_compfunc_type(cmp)))
 I4    X  80718 #define sk_SSL_COMP_new_null() ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_null())
 I4    X  80719 #define sk_SSL_COMP_new_reserve(cmp, n) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_reserve(ossl_check_SSL_COMP_compfunc_t
 I4    X  80719 ype(cmp), (n)))
 I4    X  80720 #define sk_SSL_COMP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_COMP_sk_type(sk), (n))
 I4    X  80721 #define sk_SSL_COMP_free(sk) OPENSSL_sk_free(ossl_check_SSL_COMP_sk_type(sk))
 I4    X  80722 #define sk_SSL_COMP_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_COMP_sk_type(sk))
 I4    X  80723 #define sk_SSL_COMP_delete(sk, i) ((SSL_COMP *)OPENSSL_sk_delete(ossl_check_SSL_COMP_sk_type(sk), (i)))
 I4    X  80724 #define sk_SSL_COMP_delete_ptr(sk, ptr) ((SSL_COMP *)OPENSSL_sk_delete_ptr(ossl_check_SSL_COMP_sk_type(sk), ossl_che
 I4    X  80724 ck_SSL_COMP_type(ptr)))
 I4    X  80725 #define sk_SSL_COMP_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
 I4    X  80726 #define sk_SSL_COMP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(pt
 I4    X  80726 r))
 I4    X  80727 #define sk_SSL_COMP_pop(sk) ((SSL_COMP *)OPENSSL_sk_pop(ossl_check_SSL_COMP_sk_type(sk)))
 I4    X  80728 #define sk_SSL_COMP_shift(sk) ((SSL_COMP *)OPENSSL_sk_shift(ossl_check_SSL_COMP_sk_type(sk)))
 I4    X  80729 #define sk_SSL_COMP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_COMP_sk_type(sk),ossl_check_SSL_COMP_f
 I4    X  80729 reefunc_type(freefunc))
 I4    X  80730 #define sk_SSL_COMP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1492
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80730 (ptr), (idx))
 I4    X  80731 #define sk_SSL_COMP_set(sk, idx, ptr) ((SSL_COMP *)OPENSSL_sk_set(ossl_check_SSL_COMP_sk_type(sk), (idx), ossl_check
 I4    X  80731 _SSL_COMP_type(ptr)))
 I4    X  80732 #define sk_SSL_COMP_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
 I4    X  80733 #define sk_SSL_COMP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(pt
 I4    X  80733 r))
 I4    X  80734 #define sk_SSL_COMP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP
 I4    X  80734 _type(ptr), pnum)
 I4    X  80735 #define sk_SSL_COMP_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_COMP_sk_type(sk))
 I4    X  80736 #define sk_SSL_COMP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_COMP_sk_type(sk))
 I4    X  80737 #define sk_SSL_COMP_dup(sk) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_dup(ossl_check_const_SSL_COMP_sk_type(sk)))
 I4    X  80738 #define sk_SSL_COMP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_deep_copy(ossl_check_const_S
 I4    X  80738 SL_COMP_sk_type(sk), ossl_check_SSL_COMP_copyfunc_type(copyfunc), ossl_check_SSL_COMP_freefunc_type(freefunc)))
 I4    X  80739 #define sk_SSL_COMP_set_cmp_func(sk, cmp) ((sk_SSL_COMP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_COMP_sk_type
 I4    X  80739 (sk), ossl_check_SSL_COMP_compfunc_type(cmp)))
 I4    X  80740 
 I4    X  80741 
 I4    X  80742 /* compatibility */
 I4    X  80743 # define SSL_set_app_data(s,arg)         (SSL_set_ex_data(s,0,(char *)(arg)))
 I4    X  80744 # define SSL_get_app_data(s)             (SSL_get_ex_data(s,0))
 I4    X  80745 # define SSL_SESSION_set_app_data(s,a)   (SSL_SESSION_set_ex_data(s,0, \
 I4    X  80746                                                                   (char *)(a)))
 I4    X  80747 # define SSL_SESSION_get_app_data(s)     (SSL_SESSION_get_ex_data(s,0))
 I4    X  80748 # define SSL_CTX_get_app_data(ctx)       (SSL_CTX_get_ex_data(ctx,0))
 I4    X  80749 # define SSL_CTX_set_app_data(ctx,arg)   (SSL_CTX_set_ex_data(ctx,0, \
 I4    X  80750                                                               (char *)(arg)))
 I4    X  80751 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  80752 OSSL_DEPRECATEDIN_1_1_0 void SSL_set_debug(SSL *s, int debug);
 I4    X  80753 # endif
 I4    X  80754 
 I4    X  80755 /* TLSv1.3 KeyUpdate message types */
 I4    X  80756 /* -1 used so that this is an invalid value for the on-the-wire protocol */
 I4    X  80757 #define SSL_KEY_UPDATE_NONE             -1
 I4    X  80758 /* Values as defined for the on-the-wire protocol */
 I4    X  80759 #define SSL_KEY_UPDATE_NOT_REQUESTED     0
 I4    X  80760 #define SSL_KEY_UPDATE_REQUESTED         1
 I4    X  80761 
 I4    X  80762 /*
 I4    X  80763  * The valid handshake states (one for each type message sent and one for each
 I4    X  80764  * type of message received). There are also two "special" states:
 I4    X  80765  * TLS = TLS or DTLS state
 I4    X  80766  * DTLS = DTLS specific state
 I4    X  80767  * CR/SR = Client Read/Server Read
 I4    X  80768  * CW/SW = Client Write/Server Write
 I4    X  80769  *
 I4    X  80770  * The "special" states are:
 I4    X  80771  * TLS_ST_BEFORE = No handshake has been initiated yet
 I4    X  80772  * TLS_ST_OK = A handshake has been successfully completed
 I4    X  80773  */
 I4    X  80774 typedef enum {
 I4    X  80775     TLS_ST_BEFORE,
 I4    X  80776     TLS_ST_OK,
 I4    X  80777     DTLS_ST_CR_HELLO_VERIFY_REQUEST,
 I4    X  80778     TLS_ST_CR_SRVR_HELLO,
 I4    X  80779     TLS_ST_CR_CERT,
 I4    X  80780     TLS_ST_CR_CERT_STATUS,
 I4    X  80781     TLS_ST_CR_KEY_EXCH,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1493
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80782     TLS_ST_CR_CERT_REQ,
 I4    X  80783     TLS_ST_CR_SRVR_DONE,
 I4    X  80784     TLS_ST_CR_SESSION_TICKET,
 I4    X  80785     TLS_ST_CR_CHANGE,
 I4    X  80786     TLS_ST_CR_FINISHED,
 I4    X  80787     TLS_ST_CW_CLNT_HELLO,
 I4    X  80788     TLS_ST_CW_CERT,
 I4    X  80789     TLS_ST_CW_KEY_EXCH,
 I4    X  80790     TLS_ST_CW_CERT_VRFY,
 I4    X  80791     TLS_ST_CW_CHANGE,
 I4    X  80792     TLS_ST_CW_NEXT_PROTO,
 I4    X  80793     TLS_ST_CW_FINISHED,
 I4    X  80794     TLS_ST_SW_HELLO_REQ,
 I4    X  80795     TLS_ST_SR_CLNT_HELLO,
 I4    X  80796     DTLS_ST_SW_HELLO_VERIFY_REQUEST,
 I4    X  80797     TLS_ST_SW_SRVR_HELLO,
 I4    X  80798     TLS_ST_SW_CERT,
 I4    X  80799     TLS_ST_SW_KEY_EXCH,
 I4    X  80800     TLS_ST_SW_CERT_REQ,
 I4    X  80801     TLS_ST_SW_SRVR_DONE,
 I4    X  80802     TLS_ST_SR_CERT,
 I4    X  80803     TLS_ST_SR_KEY_EXCH,
 I4    X  80804     TLS_ST_SR_CERT_VRFY,
 I4    X  80805     TLS_ST_SR_NEXT_PROTO,
 I4    X  80806     TLS_ST_SR_CHANGE,
 I4    X  80807     TLS_ST_SR_FINISHED,
 I4    X  80808     TLS_ST_SW_SESSION_TICKET,
 I4    X  80809     TLS_ST_SW_CERT_STATUS,
 I4    X  80810     TLS_ST_SW_CHANGE,
 I4    X  80811     TLS_ST_SW_FINISHED,
 I4    X  80812     TLS_ST_SW_ENCRYPTED_EXTENSIONS,
 I4    X  80813     TLS_ST_CR_ENCRYPTED_EXTENSIONS,
 I4    X  80814     TLS_ST_CR_CERT_VRFY,
 I4    X  80815     TLS_ST_SW_CERT_VRFY,
 I4    X  80816     TLS_ST_CR_HELLO_REQ,
 I4    X  80817     TLS_ST_SW_KEY_UPDATE,
 I4    X  80818     TLS_ST_CW_KEY_UPDATE,
 I4    X  80819     TLS_ST_SR_KEY_UPDATE,
 I4    X  80820     TLS_ST_CR_KEY_UPDATE,
 I4    X  80821     TLS_ST_EARLY_DATA,
 I4    X  80822     TLS_ST_PENDING_EARLY_DATA_END,
 I4    X  80823     TLS_ST_CW_END_OF_EARLY_DATA,
 I4    X  80824     TLS_ST_SR_END_OF_EARLY_DATA
 I4    X  80825 } OSSL_HANDSHAKE_STATE;
 I4    X  80826 
 I4    X  80827 /*
 I4    X  80828  * Most of the following state values are no longer used and are defined to be
 I4    X  80829  * the closest equivalent value in the current state machine code. Not all
 I4    X  80830  * defines have an equivalent and are set to a dummy value (-1). SSL_ST_CONNECT
 I4    X  80831  * and SSL_ST_ACCEPT are still in use in the definition of SSL_CB_ACCEPT_LOOP,
 I4    X  80832  * SSL_CB_ACCEPT_EXIT, SSL_CB_CONNECT_LOOP and SSL_CB_CONNECT_EXIT.
 I4    X  80833  */
 I4    X  80834 
 I4    X  80835 # define SSL_ST_CONNECT                  0x1000
 I4    X  80836 # define SSL_ST_ACCEPT                   0x2000
 I4    X  80837 
 I4    X  80838 # define SSL_ST_MASK                     0x0FFF

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1494
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80839 
 I4    X  80840 # define SSL_CB_LOOP                     0x01
 I4    X  80841 # define SSL_CB_EXIT                     0x02
 I4    X  80842 # define SSL_CB_READ                     0x04
 I4    X  80843 # define SSL_CB_WRITE                    0x08
 I4    X  80844 # define SSL_CB_ALERT                    0x4000/* used in callback */
 I4    X  80845 # define SSL_CB_READ_ALERT               (SSL_CB_ALERT|SSL_CB_READ)
 I4    X  80846 # define SSL_CB_WRITE_ALERT              (SSL_CB_ALERT|SSL_CB_WRITE)
 I4    X  80847 # define SSL_CB_ACCEPT_LOOP              (SSL_ST_ACCEPT|SSL_CB_LOOP)
 I4    X  80848 # define SSL_CB_ACCEPT_EXIT              (SSL_ST_ACCEPT|SSL_CB_EXIT)
 I4    X  80849 # define SSL_CB_CONNECT_LOOP             (SSL_ST_CONNECT|SSL_CB_LOOP)
 I4    X  80850 # define SSL_CB_CONNECT_EXIT             (SSL_ST_CONNECT|SSL_CB_EXIT)
 I4    X  80851 # define SSL_CB_HANDSHAKE_START          0x10
 I4    X  80852 # define SSL_CB_HANDSHAKE_DONE           0x20
 I4    X  80853 
 I4    X  80854 /* Is the SSL_connection established? */
 I4    X  80855 # define SSL_in_connect_init(a)          (SSL_in_init(a) && !SSL_is_server(a))
 I4    X  80856 # define SSL_in_accept_init(a)           (SSL_in_init(a) && SSL_is_server(a))
 I4    X  80857 int SSL_in_init(const SSL *s);
 I4    X  80858 int SSL_in_before(const SSL *s);
 I4    X  80859 int SSL_is_init_finished(const SSL *s);
 I4    X  80860 
 I4    X  80861 /*
 I4    X  80862  * The following 3 states are kept in ssl->rlayer.rstate when reads fail, you
 I4    X  80863  * should not need these
 I4    X  80864  */
 I4    X  80865 # define SSL_ST_READ_HEADER                      0xF0
 I4    X  80866 # define SSL_ST_READ_BODY                        0xF1
 I4    X  80867 # define SSL_ST_READ_DONE                        0xF2
 I4    X  80868 
 I4    X  80869 /*-
 I4    X  80870  * Obtain latest Finished message
 I4    X  80871  *   -- that we sent (SSL_get_finished)
 I4    X  80872  *   -- that we expected from peer (SSL_get_peer_finished).
 I4    X  80873  * Returns length (0 == no Finished so far), copies up to 'count' bytes.
 I4    X  80874  */
 I4    X  80875 size_t SSL_get_finished(const SSL *s, void *buf, size_t count);
 I4    X  80876 size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);
 I4    X  80877 
 I4    X  80878 /*
 I4    X  80879  * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 3 options are
 I4    X  80880  * 'ored' with SSL_VERIFY_PEER if they are desired
 I4    X  80881  */
 I4    X  80882 # define SSL_VERIFY_NONE                 0x00
 I4    X  80883 # define SSL_VERIFY_PEER                 0x01
 I4    X  80884 # define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
 I4    X  80885 # define SSL_VERIFY_CLIENT_ONCE          0x04
 I4    X  80886 # define SSL_VERIFY_POST_HANDSHAKE       0x08
 I4    X  80887 
 I4    X  80888 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  80889 #  define OpenSSL_add_ssl_algorithms()   SSL_library_init()
 I4    X  80890 #  define SSLeay_add_ssl_algorithms()    SSL_library_init()
 I4    X  80891 # endif
 I4    X  80892 
 I4    X  80893 /* More backward compatibility */
 I4    X  80894 # define SSL_get_cipher(s) \
 I4    X  80895                 SSL_CIPHER_get_name(SSL_get_current_cipher(s))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1495
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80896 # define SSL_get_cipher_bits(s,np) \
 I4    X  80897                 SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np)
 I4    X  80898 # define SSL_get_cipher_version(s) \
 I4    X  80899                 SSL_CIPHER_get_version(SSL_get_current_cipher(s))
 I4    X  80900 # define SSL_get_cipher_name(s) \
 I4    X  80901                 SSL_CIPHER_get_name(SSL_get_current_cipher(s))
 I4    X  80902 # define SSL_get_time(a)         SSL_SESSION_get_time(a)
 I4    X  80903 # define SSL_set_time(a,b)       SSL_SESSION_set_time((a),(b))
 I4    X  80904 # define SSL_get_timeout(a)      SSL_SESSION_get_timeout(a)
 I4    X  80905 # define SSL_set_timeout(a,b)    SSL_SESSION_set_timeout((a),(b))
 I4    X  80906 
 I4    X  80907 # define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id)
 I4    X  80908 # define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id)
 I4    X  80909 
 I4    X  80910 DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
 I4    X  80911 # define SSL_AD_REASON_OFFSET            1000/* offset to get SSL_R_... value
 I4    X  80912                                               * from SSL_AD_... */
 I4    X  80913 /* These alert types are for SSLv3 and TLSv1 */
 I4    X  80914 # define SSL_AD_CLOSE_NOTIFY             SSL3_AD_CLOSE_NOTIFY
 I4    X  80915 /* fatal */
 I4    X  80916 # define SSL_AD_UNEXPECTED_MESSAGE       SSL3_AD_UNEXPECTED_MESSAGE
 I4    X  80917 /* fatal */
 I4    X  80918 # define SSL_AD_BAD_RECORD_MAC           SSL3_AD_BAD_RECORD_MAC
 I4    X  80919 # define SSL_AD_DECRYPTION_FAILED        TLS1_AD_DECRYPTION_FAILED
 I4    X  80920 # define SSL_AD_RECORD_OVERFLOW          TLS1_AD_RECORD_OVERFLOW
 I4    X  80921 /* fatal */
 I4    X  80922 # define SSL_AD_DECOMPRESSION_FAILURE    SSL3_AD_DECOMPRESSION_FAILURE
 I4    X  80923 /* fatal */
 I4    X  80924 # define SSL_AD_HANDSHAKE_FAILURE        SSL3_AD_HANDSHAKE_FAILURE
 I4    X  80925 /* Not for TLS */
 I4    X  80926 # define SSL_AD_NO_CERTIFICATE           SSL3_AD_NO_CERTIFICATE
 I4    X  80927 # define SSL_AD_BAD_CERTIFICATE          SSL3_AD_BAD_CERTIFICATE
 I4    X  80928 # define SSL_AD_UNSUPPORTED_CERTIFICATE  SSL3_AD_UNSUPPORTED_CERTIFICATE
 I4    X  80929 # define SSL_AD_CERTIFICATE_REVOKED      SSL3_AD_CERTIFICATE_REVOKED
 I4    X  80930 # define SSL_AD_CERTIFICATE_EXPIRED      SSL3_AD_CERTIFICATE_EXPIRED
 I4    X  80931 # define SSL_AD_CERTIFICATE_UNKNOWN      SSL3_AD_CERTIFICATE_UNKNOWN
 I4    X  80932 /* fatal */
 I4    X  80933 # define SSL_AD_ILLEGAL_PARAMETER        SSL3_AD_ILLEGAL_PARAMETER
 I4    X  80934 /* fatal */
 I4    X  80935 # define SSL_AD_UNKNOWN_CA               TLS1_AD_UNKNOWN_CA
 I4    X  80936 /* fatal */
 I4    X  80937 # define SSL_AD_ACCESS_DENIED            TLS1_AD_ACCESS_DENIED
 I4    X  80938 /* fatal */
 I4    X  80939 # define SSL_AD_DECODE_ERROR             TLS1_AD_DECODE_ERROR
 I4    X  80940 # define SSL_AD_DECRYPT_ERROR            TLS1_AD_DECRYPT_ERROR
 I4    X  80941 /* fatal */
 I4    X  80942 # define SSL_AD_EXPORT_RESTRICTION       TLS1_AD_EXPORT_RESTRICTION
 I4    X  80943 /* fatal */
 I4    X  80944 # define SSL_AD_PROTOCOL_VERSION         TLS1_AD_PROTOCOL_VERSION
 I4    X  80945 /* fatal */
 I4    X  80946 # define SSL_AD_INSUFFICIENT_SECURITY    TLS1_AD_INSUFFICIENT_SECURITY
 I4    X  80947 /* fatal */
 I4    X  80948 # define SSL_AD_INTERNAL_ERROR           TLS1_AD_INTERNAL_ERROR
 I4    X  80949 # define SSL_AD_USER_CANCELLED           TLS1_AD_USER_CANCELLED
 I4    X  80950 # define SSL_AD_NO_RENEGOTIATION         TLS1_AD_NO_RENEGOTIATION
 I4    X  80951 # define SSL_AD_MISSING_EXTENSION        TLS13_AD_MISSING_EXTENSION
 I4    X  80952 # define SSL_AD_CERTIFICATE_REQUIRED     TLS13_AD_CERTIFICATE_REQUIRED

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1496
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  80953 # define SSL_AD_UNSUPPORTED_EXTENSION    TLS1_AD_UNSUPPORTED_EXTENSION
 I4    X  80954 # define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE
 I4    X  80955 # define SSL_AD_UNRECOGNIZED_NAME        TLS1_AD_UNRECOGNIZED_NAME
 I4    X  80956 # define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
 I4    X  80957 # define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
 I4    X  80958 /* fatal */
 I4    X  80959 # define SSL_AD_UNKNOWN_PSK_IDENTITY     TLS1_AD_UNKNOWN_PSK_IDENTITY
 I4    X  80960 /* fatal */
 I4    X  80961 # define SSL_AD_INAPPROPRIATE_FALLBACK   TLS1_AD_INAPPROPRIATE_FALLBACK
 I4    X  80962 # define SSL_AD_NO_APPLICATION_PROTOCOL  TLS1_AD_NO_APPLICATION_PROTOCOL
 I4    X  80963 # define SSL_ERROR_NONE                  0
 I4    X  80964 # define SSL_ERROR_SSL                   1
 I4    X  80965 # define SSL_ERROR_WANT_READ             2
 I4    X  80966 # define SSL_ERROR_WANT_WRITE            3
 I4    X  80967 # define SSL_ERROR_WANT_X509_LOOKUP      4
 I4    X  80968 # define SSL_ERROR_SYSCALL               5/* look at error stack/return
 I4    X  80969                                            * value/errno */
 I4    X  80970 # define SSL_ERROR_ZERO_RETURN           6
 I4    X  80971 # define SSL_ERROR_WANT_CONNECT          7
 I4    X  80972 # define SSL_ERROR_WANT_ACCEPT           8
 I4    X  80973 # define SSL_ERROR_WANT_ASYNC            9
 I4    X  80974 # define SSL_ERROR_WANT_ASYNC_JOB       10
 I4    X  80975 # define SSL_ERROR_WANT_CLIENT_HELLO_CB 11
 I4    X  80976 # define SSL_ERROR_WANT_RETRY_VERIFY    12
 I4    X  80977 
 I4    X  80978 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  80979 #  define SSL_CTRL_SET_TMP_DH                    3
 I4    X  80980 #  define SSL_CTRL_SET_TMP_ECDH                  4
 I4    X  80981 #  define SSL_CTRL_SET_TMP_DH_CB                 6
 I4    X  80982 # endif
 I4    X  80983 
 I4    X  80984 # define SSL_CTRL_GET_CLIENT_CERT_REQUEST        9
 I4    X  80985 # define SSL_CTRL_GET_NUM_RENEGOTIATIONS         10
 I4    X  80986 # define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS       11
 I4    X  80987 # define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS       12
 I4    X  80988 # define SSL_CTRL_GET_FLAGS                      13
 I4    X  80989 # define SSL_CTRL_EXTRA_CHAIN_CERT               14
 I4    X  80990 # define SSL_CTRL_SET_MSG_CALLBACK               15
 I4    X  80991 # define SSL_CTRL_SET_MSG_CALLBACK_ARG           16
 I4    X  80992 /* only applies to datagram connections */
 I4    X  80993 # define SSL_CTRL_SET_MTU                17
 I4    X  80994 /* Stats */
 I4    X  80995 # define SSL_CTRL_SESS_NUMBER                    20
 I4    X  80996 # define SSL_CTRL_SESS_CONNECT                   21
 I4    X  80997 # define SSL_CTRL_SESS_CONNECT_GOOD              22
 I4    X  80998 # define SSL_CTRL_SESS_CONNECT_RENEGOTIATE       23
 I4    X  80999 # define SSL_CTRL_SESS_ACCEPT                    24
 I4    X  81000 # define SSL_CTRL_SESS_ACCEPT_GOOD               25
 I4    X  81001 # define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE        26
 I4    X  81002 # define SSL_CTRL_SESS_HIT                       27
 I4    X  81003 # define SSL_CTRL_SESS_CB_HIT                    28
 I4    X  81004 # define SSL_CTRL_SESS_MISSES                    29
 I4    X  81005 # define SSL_CTRL_SESS_TIMEOUTS                  30
 I4    X  81006 # define SSL_CTRL_SESS_CACHE_FULL                31
 I4    X  81007 # define SSL_CTRL_MODE                           33
 I4    X  81008 # define SSL_CTRL_GET_READ_AHEAD                 40
 I4    X  81009 # define SSL_CTRL_SET_READ_AHEAD                 41

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1497
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81010 # define SSL_CTRL_SET_SESS_CACHE_SIZE            42
 I4    X  81011 # define SSL_CTRL_GET_SESS_CACHE_SIZE            43
 I4    X  81012 # define SSL_CTRL_SET_SESS_CACHE_MODE            44
 I4    X  81013 # define SSL_CTRL_GET_SESS_CACHE_MODE            45
 I4    X  81014 # define SSL_CTRL_GET_MAX_CERT_LIST              50
 I4    X  81015 # define SSL_CTRL_SET_MAX_CERT_LIST              51
 I4    X  81016 # define SSL_CTRL_SET_MAX_SEND_FRAGMENT          52
 I4    X  81017 /* see tls1.h for macros based on these */
 I4    X  81018 # define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB       53
 I4    X  81019 # define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG      54
 I4    X  81020 # define SSL_CTRL_SET_TLSEXT_HOSTNAME            55
 I4    X  81021 # define SSL_CTRL_SET_TLSEXT_DEBUG_CB            56
 I4    X  81022 # define SSL_CTRL_SET_TLSEXT_DEBUG_ARG           57
 I4    X  81023 # define SSL_CTRL_GET_TLSEXT_TICKET_KEYS         58
 I4    X  81024 # define SSL_CTRL_SET_TLSEXT_TICKET_KEYS         59
 I4    X  81025 /*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT    60 */
 I4    X  81026 /*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 */
 I4    X  81027 /*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 */
 I4    X  81028 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB       63
 I4    X  81029 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG   64
 I4    X  81030 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE     65
 I4    X  81031 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS     66
 I4    X  81032 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS     67
 I4    X  81033 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS      68
 I4    X  81034 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS      69
 I4    X  81035 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP        70
 I4    X  81036 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP        71
 I4    X  81037 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81038 #  define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB      72
 I4    X  81039 # endif
 I4    X  81040 # define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB    75
 I4    X  81041 # define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB                76
 I4    X  81042 # define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB             77
 I4    X  81043 # define SSL_CTRL_SET_SRP_ARG            78
 I4    X  81044 # define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME               79
 I4    X  81045 # define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH               80
 I4    X  81046 # define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD               81
 I4    X  81047 # define DTLS_CTRL_GET_TIMEOUT           73
 I4    X  81048 # define DTLS_CTRL_HANDLE_TIMEOUT        74
 I4    X  81049 # define SSL_CTRL_GET_RI_SUPPORT                 76
 I4    X  81050 # define SSL_CTRL_CLEAR_MODE                     78
 I4    X  81051 # define SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB      79
 I4    X  81052 # define SSL_CTRL_GET_EXTRA_CHAIN_CERTS          82
 I4    X  81053 # define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS        83
 I4    X  81054 # define SSL_CTRL_CHAIN                          88
 I4    X  81055 # define SSL_CTRL_CHAIN_CERT                     89
 I4    X  81056 # define SSL_CTRL_GET_GROUPS                     90
 I4    X  81057 # define SSL_CTRL_SET_GROUPS                     91
 I4    X  81058 # define SSL_CTRL_SET_GROUPS_LIST                92
 I4    X  81059 # define SSL_CTRL_GET_SHARED_GROUP               93
 I4    X  81060 # define SSL_CTRL_SET_SIGALGS                    97
 I4    X  81061 # define SSL_CTRL_SET_SIGALGS_LIST               98
 I4    X  81062 # define SSL_CTRL_CERT_FLAGS                     99
 I4    X  81063 # define SSL_CTRL_CLEAR_CERT_FLAGS               100
 I4    X  81064 # define SSL_CTRL_SET_CLIENT_SIGALGS             101
 I4    X  81065 # define SSL_CTRL_SET_CLIENT_SIGALGS_LIST        102
 I4    X  81066 # define SSL_CTRL_GET_CLIENT_CERT_TYPES          103

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1498
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81067 # define SSL_CTRL_SET_CLIENT_CERT_TYPES          104
 I4    X  81068 # define SSL_CTRL_BUILD_CERT_CHAIN               105
 I4    X  81069 # define SSL_CTRL_SET_VERIFY_CERT_STORE          106
 I4    X  81070 # define SSL_CTRL_SET_CHAIN_CERT_STORE           107
 I4    X  81071 # define SSL_CTRL_GET_PEER_SIGNATURE_NID         108
 I4    X  81072 # define SSL_CTRL_GET_PEER_TMP_KEY               109
 I4    X  81073 # define SSL_CTRL_GET_RAW_CIPHERLIST             110
 I4    X  81074 # define SSL_CTRL_GET_EC_POINT_FORMATS           111
 I4    X  81075 # define SSL_CTRL_GET_CHAIN_CERTS                115
 I4    X  81076 # define SSL_CTRL_SELECT_CURRENT_CERT            116
 I4    X  81077 # define SSL_CTRL_SET_CURRENT_CERT               117
 I4    X  81078 # define SSL_CTRL_SET_DH_AUTO                    118
 I4    X  81079 # define DTLS_CTRL_SET_LINK_MTU                  120
 I4    X  81080 # define DTLS_CTRL_GET_LINK_MIN_MTU              121
 I4    X  81081 # define SSL_CTRL_GET_EXTMS_SUPPORT              122
 I4    X  81082 # define SSL_CTRL_SET_MIN_PROTO_VERSION          123
 I4    X  81083 # define SSL_CTRL_SET_MAX_PROTO_VERSION          124
 I4    X  81084 # define SSL_CTRL_SET_SPLIT_SEND_FRAGMENT        125
 I4    X  81085 # define SSL_CTRL_SET_MAX_PIPELINES              126
 I4    X  81086 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE     127
 I4    X  81087 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB       128
 I4    X  81088 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG   129
 I4    X  81089 # define SSL_CTRL_GET_MIN_PROTO_VERSION          130
 I4    X  81090 # define SSL_CTRL_GET_MAX_PROTO_VERSION          131
 I4    X  81091 # define SSL_CTRL_GET_SIGNATURE_NID              132
 I4    X  81092 # define SSL_CTRL_GET_TMP_KEY                    133
 I4    X  81093 # define SSL_CTRL_GET_NEGOTIATED_GROUP           134
 I4    X  81094 # define SSL_CTRL_SET_RETRY_VERIFY               136
 I4    X  81095 # define SSL_CTRL_GET_VERIFY_CERT_STORE          137
 I4    X  81096 # define SSL_CTRL_GET_CHAIN_CERT_STORE           138
 I4    X  81097 # define SSL_CERT_SET_FIRST                      1
 I4    X  81098 # define SSL_CERT_SET_NEXT                       2
 I4    X  81099 # define SSL_CERT_SET_SERVER                     3
 I4    X  81100 # define DTLSv1_get_timeout(ssl, arg) \
 I4    X  81101         SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)(arg))
 I4    X  81102 # define DTLSv1_handle_timeout(ssl) \
 I4    X  81103         SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL)
 I4    X  81104 # define SSL_num_renegotiations(ssl) \
 I4    X  81105         SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL)
 I4    X  81106 # define SSL_clear_num_renegotiations(ssl) \
 I4    X  81107         SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL)
 I4    X  81108 # define SSL_total_renegotiations(ssl) \
 I4    X  81109         SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL)
 I4    X  81110 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81111 #  define SSL_CTX_set_tmp_dh(ctx,dh) \
 I4    X  81112         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)(dh))
 I4    X  81113 # endif
 I4    X  81114 # define SSL_CTX_set_dh_auto(ctx, onoff) \
 I4    X  81115         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL)
 I4    X  81116 # define SSL_set_dh_auto(s, onoff) \
 I4    X  81117         SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL)
 I4    X  81118 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81119 #  define SSL_set_tmp_dh(ssl,dh) \
 I4    X  81120         SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)(dh))
 I4    X  81121 # endif
 I4    X  81122 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81123 #  define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1499
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81124         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh))
 I4    X  81125 #  define SSL_set_tmp_ecdh(ssl,ecdh) \
 I4    X  81126         SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh))
 I4    X  81127 # endif
 I4    X  81128 # define SSL_CTX_add_extra_chain_cert(ctx,x509) \
 I4    X  81129         SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)(x509))
 I4    X  81130 # define SSL_CTX_get_extra_chain_certs(ctx,px509) \
 I4    X  81131         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509)
 I4    X  81132 # define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \
 I4    X  81133         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509)
 I4    X  81134 # define SSL_CTX_clear_extra_chain_certs(ctx) \
 I4    X  81135         SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL)
 I4    X  81136 # define SSL_CTX_set0_chain(ctx,sk) \
 I4    X  81137         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk))
 I4    X  81138 # define SSL_CTX_set1_chain(ctx,sk) \
 I4    X  81139         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk))
 I4    X  81140 # define SSL_CTX_add0_chain_cert(ctx,x509) \
 I4    X  81141         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509))
 I4    X  81142 # define SSL_CTX_add1_chain_cert(ctx,x509) \
 I4    X  81143         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509))
 I4    X  81144 # define SSL_CTX_get0_chain_certs(ctx,px509) \
 I4    X  81145         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509)
 I4    X  81146 # define SSL_CTX_clear_chain_certs(ctx) \
 I4    X  81147         SSL_CTX_set0_chain(ctx,NULL)
 I4    X  81148 # define SSL_CTX_build_cert_chain(ctx, flags) \
 I4    X  81149         SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL)
 I4    X  81150 # define SSL_CTX_select_current_cert(ctx,x509) \
 I4    X  81151         SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509))
 I4    X  81152 # define SSL_CTX_set_current_cert(ctx, op) \
 I4    X  81153         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL)
 I4    X  81154 # define SSL_CTX_set0_verify_cert_store(ctx,st) \
 I4    X  81155         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st))
 I4    X  81156 # define SSL_CTX_set1_verify_cert_store(ctx,st) \
 I4    X  81157         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st))
 I4    X  81158 # define SSL_CTX_get0_verify_cert_store(ctx,st) \
 I4    X  81159         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_VERIFY_CERT_STORE,0,(char *)(st))
 I4    X  81160 # define SSL_CTX_set0_chain_cert_store(ctx,st) \
 I4    X  81161         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
 I4    X  81162 # define SSL_CTX_set1_chain_cert_store(ctx,st) \
 I4    X  81163         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
 I4    X  81164 # define SSL_CTX_get0_chain_cert_store(ctx,st) \
 I4    X  81165         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERT_STORE,0,(char *)(st))
 I4    X  81166 # define SSL_set0_chain(s,sk) \
 I4    X  81167         SSL_ctrl(s,SSL_CTRL_CHAIN,0,(char *)(sk))
 I4    X  81168 # define SSL_set1_chain(s,sk) \
 I4    X  81169         SSL_ctrl(s,SSL_CTRL_CHAIN,1,(char *)(sk))
 I4    X  81170 # define SSL_add0_chain_cert(s,x509) \
 I4    X  81171         SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,0,(char *)(x509))
 I4    X  81172 # define SSL_add1_chain_cert(s,x509) \
 I4    X  81173         SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,1,(char *)(x509))
 I4    X  81174 # define SSL_get0_chain_certs(s,px509) \
 I4    X  81175         SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERTS,0,px509)
 I4    X  81176 # define SSL_clear_chain_certs(s) \
 I4    X  81177         SSL_set0_chain(s,NULL)
 I4    X  81178 # define SSL_build_cert_chain(s, flags) \
 I4    X  81179         SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL)
 I4    X  81180 # define SSL_select_current_cert(s,x509) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1500
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81181         SSL_ctrl(s,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509))
 I4    X  81182 # define SSL_set_current_cert(s,op) \
 I4    X  81183         SSL_ctrl(s,SSL_CTRL_SET_CURRENT_CERT, op, NULL)
 I4    X  81184 # define SSL_set0_verify_cert_store(s,st) \
 I4    X  81185         SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st))
 I4    X  81186 # define SSL_set1_verify_cert_store(s,st) \
 I4    X  81187         SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st))
 I4    X  81188 #define SSL_get0_verify_cert_store(s,st) \
 I4    X  81189         SSL_ctrl(s,SSL_CTRL_GET_VERIFY_CERT_STORE,0,(char *)(st))
 I4    X  81190 # define SSL_set0_chain_cert_store(s,st) \
 I4    X  81191         SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
 I4    X  81192 # define SSL_set1_chain_cert_store(s,st) \
 I4    X  81193         SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
 I4    X  81194 #define SSL_get0_chain_cert_store(s,st) \
 I4    X  81195         SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERT_STORE,0,(char *)(st))
 I4    X  81196 
 I4    X  81197 # define SSL_get1_groups(s, glist) \
 I4    X  81198         SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist))
 I4    X  81199 # define SSL_CTX_set1_groups(ctx, glist, glistlen) \
 I4    X  81200         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(int *)(glist))
 I4    X  81201 # define SSL_CTX_set1_groups_list(ctx, s) \
 I4    X  81202         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s))
 I4    X  81203 # define SSL_set1_groups(s, glist, glistlen) \
 I4    X  81204         SSL_ctrl(s,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist))
 I4    X  81205 # define SSL_set1_groups_list(s, str) \
 I4    X  81206         SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str))
 I4    X  81207 # define SSL_get_shared_group(s, n) \
 I4    X  81208         SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL)
 I4    X  81209 # define SSL_get_negotiated_group(s) \
 I4    X  81210         SSL_ctrl(s,SSL_CTRL_GET_NEGOTIATED_GROUP,0,NULL)
 I4    X  81211 # define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \
 I4    X  81212         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
 I4    X  81213 # define SSL_CTX_set1_sigalgs_list(ctx, s) \
 I4    X  81214         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s))
 I4    X  81215 # define SSL_set1_sigalgs(s, slist, slistlen) \
 I4    X  81216         SSL_ctrl(s,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
 I4    X  81217 # define SSL_set1_sigalgs_list(s, str) \
 I4    X  81218         SSL_ctrl(s,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(str))
 I4    X  81219 # define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \
 I4    X  81220         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist))
 I4    X  81221 # define SSL_CTX_set1_client_sigalgs_list(ctx, s) \
 I4    X  81222         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s))
 I4    X  81223 # define SSL_set1_client_sigalgs(s, slist, slistlen) \
 I4    X  81224         SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist))
 I4    X  81225 # define SSL_set1_client_sigalgs_list(s, str) \
 I4    X  81226         SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(str))
 I4    X  81227 # define SSL_get0_certificate_types(s, clist) \
 I4    X  81228         SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist))
 I4    X  81229 # define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \
 I4    X  81230         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen, \
 I4    X  81231                      (char *)(clist))
 I4    X  81232 # define SSL_set1_client_certificate_types(s, clist, clistlen) \
 I4    X  81233         SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)(clist))
 I4    X  81234 # define SSL_get_signature_nid(s, pn) \
 I4    X  81235         SSL_ctrl(s,SSL_CTRL_GET_SIGNATURE_NID,0,pn)
 I4    X  81236 # define SSL_get_peer_signature_nid(s, pn) \
 I4    X  81237         SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1501
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81238 # define SSL_get_peer_tmp_key(s, pk) \
 I4    X  81239         SSL_ctrl(s,SSL_CTRL_GET_PEER_TMP_KEY,0,pk)
 I4    X  81240 # define SSL_get_tmp_key(s, pk) \
 I4    X  81241         SSL_ctrl(s,SSL_CTRL_GET_TMP_KEY,0,pk)
 I4    X  81242 # define SSL_get0_raw_cipherlist(s, plst) \
 I4    X  81243         SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst)
 I4    X  81244 # define SSL_get0_ec_point_formats(s, plst) \
 I4    X  81245         SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,plst)
 I4    X  81246 # define SSL_CTX_set_min_proto_version(ctx, version) \
 I4    X  81247         SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL)
 I4    X  81248 # define SSL_CTX_set_max_proto_version(ctx, version) \
 I4    X  81249         SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL)
 I4    X  81250 # define SSL_CTX_get_min_proto_version(ctx) \
 I4    X  81251         SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL)
 I4    X  81252 # define SSL_CTX_get_max_proto_version(ctx) \
 I4    X  81253         SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL)
 I4    X  81254 # define SSL_set_min_proto_version(s, version) \
 I4    X  81255         SSL_ctrl(s, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL)
 I4    X  81256 # define SSL_set_max_proto_version(s, version) \
 I4    X  81257         SSL_ctrl(s, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL)
 I4    X  81258 # define SSL_get_min_proto_version(s) \
 I4    X  81259         SSL_ctrl(s, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL)
 I4    X  81260 # define SSL_get_max_proto_version(s) \
 I4    X  81261         SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL)
 I4    X  81262 
 I4    X  81263 const char *SSL_group_to_name(SSL *s, int id);
 I4    X  81264 
 I4    X  81265 /* Backwards compatibility, original 1.1.0 names */
 I4    X  81266 # define SSL_CTRL_GET_SERVER_TMP_KEY \
 I4    X  81267          SSL_CTRL_GET_PEER_TMP_KEY
 I4    X  81268 # define SSL_get_server_tmp_key(s, pk) \
 I4    X  81269          SSL_get_peer_tmp_key(s, pk)
 I4    X  81270 
 I4    X  81271 int SSL_set0_tmp_dh_pkey(SSL *s, EVP_PKEY *dhpkey);
 I4    X  81272 int SSL_CTX_set0_tmp_dh_pkey(SSL_CTX *ctx, EVP_PKEY *dhpkey);
 I4    X  81273 
 I4    X  81274 /*
 I4    X  81275  * The following symbol names are old and obsolete. They are kept
 I4    X  81276  * for compatibility reasons only and should not be used anymore.
 I4    X  81277  */
 I4    X  81278 # define SSL_CTRL_GET_CURVES           SSL_CTRL_GET_GROUPS
 I4    X  81279 # define SSL_CTRL_SET_CURVES           SSL_CTRL_SET_GROUPS
 I4    X  81280 # define SSL_CTRL_SET_CURVES_LIST      SSL_CTRL_SET_GROUPS_LIST
 I4    X  81281 # define SSL_CTRL_GET_SHARED_CURVE     SSL_CTRL_GET_SHARED_GROUP
 I4    X  81282 
 I4    X  81283 # define SSL_get1_curves               SSL_get1_groups
 I4    X  81284 # define SSL_CTX_set1_curves           SSL_CTX_set1_groups
 I4    X  81285 # define SSL_CTX_set1_curves_list      SSL_CTX_set1_groups_list
 I4    X  81286 # define SSL_set1_curves               SSL_set1_groups
 I4    X  81287 # define SSL_set1_curves_list          SSL_set1_groups_list
 I4    X  81288 # define SSL_get_shared_curve          SSL_get_shared_group
 I4    X  81289 
 I4    X  81290 
 I4    X  81291 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81292 /* Provide some compatibility macros for removed functionality. */
 I4    X  81293 #  define SSL_CTX_need_tmp_RSA(ctx)                0
 I4    X  81294 #  define SSL_CTX_set_tmp_rsa(ctx,rsa)             1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1502
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81295 #  define SSL_need_tmp_RSA(ssl)                    0
 I4    X  81296 #  define SSL_set_tmp_rsa(ssl,rsa)                 1
 I4    X  81297 #  define SSL_CTX_set_ecdh_auto(dummy, onoff)      ((onoff) != 0)
 I4    X  81298 #  define SSL_set_ecdh_auto(dummy, onoff)          ((onoff) != 0)
 I4    X  81299 /*
 I4    X  81300  * We "pretend" to call the callback to avoid warnings about unused static
 I4    X  81301  * functions.
 I4    X  81302  */
 I4    X  81303 #  define SSL_CTX_set_tmp_rsa_callback(ctx, cb)    while(0) (cb)(NULL, 0, 0)
 I4    X  81304 #  define SSL_set_tmp_rsa_callback(ssl, cb)        while(0) (cb)(NULL, 0, 0)
 I4    X  81305 # endif
 I4    X  81306 __owur const BIO_METHOD *BIO_f_ssl(void);
 I4    X  81307 __owur BIO *BIO_new_ssl(SSL_CTX *ctx, int client);
 I4    X  81308 __owur BIO *BIO_new_ssl_connect(SSL_CTX *ctx);
 I4    X  81309 __owur BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx);
 I4    X  81310 __owur int BIO_ssl_copy_session_id(BIO *to, BIO *from);
 I4    X  81311 void BIO_ssl_shutdown(BIO *ssl_bio);
 I4    X  81312 
 I4    X  81313 __owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str);
 I4    X  81314 __owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
 I4    X  81315 __owur SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
 I4    X  81316                                const SSL_METHOD *meth);
 I4    X  81317 int SSL_CTX_up_ref(SSL_CTX *ctx);
 I4    X  81318 void SSL_CTX_free(SSL_CTX *);
 I4    X  81319 __owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t);
 I4    X  81320 __owur long SSL_CTX_get_timeout(const SSL_CTX *ctx);
 I4    X  81321 __owur X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *);
 I4    X  81322 void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *);
 I4    X  81323 void SSL_CTX_set1_cert_store(SSL_CTX *, X509_STORE *);
 I4    X  81324 __owur int SSL_want(const SSL *s);
 I4    X  81325 __owur int SSL_clear(SSL *s);
 I4    X  81326 
 I4    X  81327 void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm);
 I4    X  81328 
 I4    X  81329 __owur const SSL_CIPHER *SSL_get_current_cipher(const SSL *s);
 I4    X  81330 __owur const SSL_CIPHER *SSL_get_pending_cipher(const SSL *s);
 I4    X  81331 __owur int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits);
 I4    X  81332 __owur const char *SSL_CIPHER_get_version(const SSL_CIPHER *c);
 I4    X  81333 __owur const char *SSL_CIPHER_get_name(const SSL_CIPHER *c);
 I4    X  81334 __owur const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c);
 I4    X  81335 __owur const char *OPENSSL_cipher_name(const char *rfc_name);
 I4    X  81336 __owur uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c);
 I4    X  81337 __owur uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *c);
 I4    X  81338 __owur int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c);
 I4    X  81339 __owur int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c);
 I4    X  81340 __owur const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c);
 I4    X  81341 __owur int SSL_CIPHER_is_aead(const SSL_CIPHER *c);
 I4    X  81342 
 I4    X  81343 __owur int SSL_get_fd(const SSL *s);
 I4    X  81344 __owur int SSL_get_rfd(const SSL *s);
 I4    X  81345 __owur int SSL_get_wfd(const SSL *s);
 I4    X  81346 __owur const char *SSL_get_cipher_list(const SSL *s, int n);
 I4    X  81347 __owur char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size);
 I4    X  81348 __owur int SSL_get_read_ahead(const SSL *s);
 I4    X  81349 __owur int SSL_pending(const SSL *s);
 I4    X  81350 __owur int SSL_has_pending(const SSL *s);
 I4    X  81351 # ifndef OPENSSL_NO_SOCK

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1503
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81352 __owur int SSL_set_fd(SSL *s, int fd);
 I4    X  81353 __owur int SSL_set_rfd(SSL *s, int fd);
 I4    X  81354 __owur int SSL_set_wfd(SSL *s, int fd);
 I4    X  81355 # endif
 I4    X  81356 void SSL_set0_rbio(SSL *s, BIO *rbio);
 I4    X  81357 void SSL_set0_wbio(SSL *s, BIO *wbio);
 I4    X  81358 void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio);
 I4    X  81359 __owur BIO *SSL_get_rbio(const SSL *s);
 I4    X  81360 __owur BIO *SSL_get_wbio(const SSL *s);
 I4    X  81361 __owur int SSL_set_cipher_list(SSL *s, const char *str);
 I4    X  81362 __owur int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str);
 I4    X  81363 __owur int SSL_set_ciphersuites(SSL *s, const char *str);
 I4    X  81364 void SSL_set_read_ahead(SSL *s, int yes);
 I4    X  81365 __owur int SSL_get_verify_mode(const SSL *s);
 I4    X  81366 __owur int SSL_get_verify_depth(const SSL *s);
 I4    X  81367 __owur SSL_verify_cb SSL_get_verify_callback(const SSL *s);
 I4    X  81368 void SSL_set_verify(SSL *s, int mode, SSL_verify_cb callback);
 I4    X  81369 void SSL_set_verify_depth(SSL *s, int depth);
 I4    X  81370 void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg);
 I4    X  81371 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81372 OSSL_DEPRECATEDIN_3_0 __owur int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);
 I4    X  81373 OSSL_DEPRECATEDIN_3_0
 I4    X  81374 __owur int SSL_use_RSAPrivateKey_ASN1(SSL *ssl,
 I4    X  81375                                       const unsigned char *d, long len);
 I4    X  81376 # endif
 I4    X  81377 __owur int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);
 I4    X  81378 __owur int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d,
 I4    X  81379                                    long len);
 I4    X  81380 __owur int SSL_use_certificate(SSL *ssl, X509 *x);
 I4    X  81381 __owur int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len);
 I4    X  81382 __owur int SSL_use_cert_and_key(SSL *ssl, X509 *x509, EVP_PKEY *privatekey,
 I4    X  81383                                 STACK_OF(X509) *chain, int override);
 I4    X  81384 
 I4    X  81385 
 I4    X  81386 /* serverinfo file format versions */
 I4    X  81387 # define SSL_SERVERINFOV1   1
 I4    X  81388 # define SSL_SERVERINFOV2   2
 I4    X  81389 
 I4    X  81390 /* Set serverinfo data for the current active cert. */
 I4    X  81391 __owur int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,
 I4    X  81392                                   size_t serverinfo_length);
 I4    X  81393 __owur int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
 I4    X  81394                                      const unsigned char *serverinfo,
 I4    X  81395                                      size_t serverinfo_length);
 I4    X  81396 __owur int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file);
 I4    X  81397 
 I4    X  81398 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81399 OSSL_DEPRECATEDIN_3_0
 I4    X  81400 __owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);
 I4    X  81401 #endif
 I4    X  81402 
 I4    X  81403 __owur int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);
 I4    X  81404 __owur int SSL_use_certificate_file(SSL *ssl, const char *file, int type);
 I4    X  81405 
 I4    X  81406 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81407 OSSL_DEPRECATEDIN_3_0
 I4    X  81408 __owur int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1504
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81409                                           int type);
 I4    X  81410 #endif
 I4    X  81411 __owur int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file,
 I4    X  81412                                        int type);
 I4    X  81413 __owur int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file,
 I4    X  81414                                         int type);
 I4    X  81415 /* PEM type */
 I4    X  81416 __owur int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file);
 I4    X  81417 __owur int SSL_use_certificate_chain_file(SSL *ssl, const char *file);
 I4    X  81418 __owur STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);
 I4    X  81419 __owur STACK_OF(X509_NAME)
 I4    X  81420 *SSL_load_client_CA_file_ex(const char *file, OSSL_LIB_CTX *libctx,
 I4    X  81421                             const char *propq);
 I4    X  81422 __owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
 I4    X  81423                                                const char *file);
 I4    X  81424 int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
 I4    X  81425                                        const char *dir);
 I4    X  81426 int SSL_add_store_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
 I4    X  81427                                        const char *uri);
 I4    X  81428 
 I4    X  81429 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81430 #  define SSL_load_error_strings() \
 I4    X  81431     OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \
 I4    X  81432                      | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
 I4    X  81433 # endif
 I4    X  81434 
 I4    X  81435 __owur const char *SSL_state_string(const SSL *s);
 I4    X  81436 __owur const char *SSL_rstate_string(const SSL *s);
 I4    X  81437 __owur const char *SSL_state_string_long(const SSL *s);
 I4    X  81438 __owur const char *SSL_rstate_string_long(const SSL *s);
 I4    X  81439 __owur long SSL_SESSION_get_time(const SSL_SESSION *s);
 I4    X  81440 __owur long SSL_SESSION_set_time(SSL_SESSION *s, long t);
 I4    X  81441 __owur long SSL_SESSION_get_timeout(const SSL_SESSION *s);
 I4    X  81442 __owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);
 I4    X  81443 __owur int SSL_SESSION_get_protocol_version(const SSL_SESSION *s);
 I4    X  81444 __owur int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version);
 I4    X  81445 
 I4    X  81446 __owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s);
 I4    X  81447 __owur int SSL_SESSION_set1_hostname(SSL_SESSION *s, const char *hostname);
 I4    X  81448 void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s,
 I4    X  81449                                     const unsigned char **alpn,
 I4    X  81450                                     size_t *len);
 I4    X  81451 __owur int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s,
 I4    X  81452                                           const unsigned char *alpn,
 I4    X  81453                                           size_t len);
 I4    X  81454 __owur const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s);
 I4    X  81455 __owur int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher);
 I4    X  81456 __owur int SSL_SESSION_has_ticket(const SSL_SESSION *s);
 I4    X  81457 __owur unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s);
 I4    X  81458 void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned char **tick,
 I4    X  81459                              size_t *len);
 I4    X  81460 __owur uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s);
 I4    X  81461 __owur int SSL_SESSION_set_max_early_data(SSL_SESSION *s,
 I4    X  81462                                           uint32_t max_early_data);
 I4    X  81463 __owur int SSL_copy_session_id(SSL *to, const SSL *from);
 I4    X  81464 __owur X509 *SSL_SESSION_get0_peer(SSL_SESSION *s);
 I4    X  81465 __owur int SSL_SESSION_set1_id_context(SSL_SESSION *s,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1505
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81466                                        const unsigned char *sid_ctx,
 I4    X  81467                                        unsigned int sid_ctx_len);
 I4    X  81468 __owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid,
 I4    X  81469                                unsigned int sid_len);
 I4    X  81470 __owur int SSL_SESSION_is_resumable(const SSL_SESSION *s);
 I4    X  81471 
 I4    X  81472 __owur SSL_SESSION *SSL_SESSION_new(void);
 I4    X  81473 __owur SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src);
 I4    X  81474 const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s,
 I4    X  81475                                         unsigned int *len);
 I4    X  81476 const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s,
 I4    X  81477                                                  unsigned int *len);
 I4    X  81478 __owur unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s);
 I4    X  81479 # ifndef OPENSSL_NO_STDIO
 I4    X  81480 int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses);
 I4    X  81481 # endif
 I4    X  81482 int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses);
 I4    X  81483 int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x);
 I4    X  81484 int SSL_SESSION_up_ref(SSL_SESSION *ses);
 I4    X  81485 void SSL_SESSION_free(SSL_SESSION *ses);
 I4    X  81486 __owur int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp);
 I4    X  81487 __owur int SSL_set_session(SSL *to, SSL_SESSION *session);
 I4    X  81488 int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session);
 I4    X  81489 int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session);
 I4    X  81490 __owur int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb);
 I4    X  81491 __owur int SSL_set_generate_session_id(SSL *s, GEN_SESSION_CB cb);
 I4    X  81492 __owur int SSL_has_matching_session_id(const SSL *s,
 I4    X  81493                                        const unsigned char *id,
 I4    X  81494                                        unsigned int id_len);
 I4    X  81495 SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
 I4    X  81496                              long length);
 I4    X  81497 
 I4    X  81498 # ifdef OPENSSL_X509_H
 I4    X  81499 __owur X509 *SSL_get0_peer_certificate(const SSL *s);
 I4    X  81500 __owur X509 *SSL_get1_peer_certificate(const SSL *s);
 I4    X  81501 /* Deprecated in 3.0.0 */
 I4    X  81502 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81503 #   define SSL_get_peer_certificate SSL_get1_peer_certificate
 I4    X  81504 #  endif
 I4    X  81505 # endif
 I4    X  81506 
 I4    X  81507 __owur STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s);
 I4    X  81508 
 I4    X  81509 __owur int SSL_CTX_get_verify_mode(const SSL_CTX *ctx);
 I4    X  81510 __owur int SSL_CTX_get_verify_depth(const SSL_CTX *ctx);
 I4    X  81511 __owur SSL_verify_cb SSL_CTX_get_verify_callback(const SSL_CTX *ctx);
 I4    X  81512 void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, SSL_verify_cb callback);
 I4    X  81513 void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth);
 I4    X  81514 void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx,
 I4    X  81515                                       int (*cb) (X509_STORE_CTX *, void *),
 I4    X  81516                                       void *arg);
 I4    X  81517 void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg),
 I4    X  81518                          void *arg);
 I4    X  81519 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81520 OSSL_DEPRECATEDIN_3_0
 I4    X  81521 __owur int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);
 I4    X  81522 OSSL_DEPRECATEDIN_3_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1506
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81523 __owur int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d,
 I4    X  81524                                           long len);
 I4    X  81525 # endif
 I4    X  81526 __owur int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);
 I4    X  81527 __owur int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx,
 I4    X  81528                                        const unsigned char *d, long len);
 I4    X  81529 __owur int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
 I4    X  81530 __owur int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len,
 I4    X  81531                                         const unsigned char *d);
 I4    X  81532 __owur int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x509, EVP_PKEY *privatekey,
 I4    X  81533                                     STACK_OF(X509) *chain, int override);
 I4    X  81534 
 I4    X  81535 void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb);
 I4    X  81536 void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u);
 I4    X  81537 pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx);
 I4    X  81538 void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx);
 I4    X  81539 void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb);
 I4    X  81540 void SSL_set_default_passwd_cb_userdata(SSL *s, void *u);
 I4    X  81541 pem_password_cb *SSL_get_default_passwd_cb(SSL *s);
 I4    X  81542 void *SSL_get_default_passwd_cb_userdata(SSL *s);
 I4    X  81543 
 I4    X  81544 __owur int SSL_CTX_check_private_key(const SSL_CTX *ctx);
 I4    X  81545 __owur int SSL_check_private_key(const SSL *ctx);
 I4    X  81546 
 I4    X  81547 __owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx,
 I4    X  81548                                           const unsigned char *sid_ctx,
 I4    X  81549                                           unsigned int sid_ctx_len);
 I4    X  81550 
 I4    X  81551 SSL *SSL_new(SSL_CTX *ctx);
 I4    X  81552 int SSL_up_ref(SSL *s);
 I4    X  81553 int SSL_is_dtls(const SSL *s);
 I4    X  81554 __owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
 I4    X  81555                                       unsigned int sid_ctx_len);
 I4    X  81556 
 I4    X  81557 __owur int SSL_CTX_set_purpose(SSL_CTX *ctx, int purpose);
 I4    X  81558 __owur int SSL_set_purpose(SSL *ssl, int purpose);
 I4    X  81559 __owur int SSL_CTX_set_trust(SSL_CTX *ctx, int trust);
 I4    X  81560 __owur int SSL_set_trust(SSL *ssl, int trust);
 I4    X  81561 
 I4    X  81562 __owur int SSL_set1_host(SSL *s, const char *hostname);
 I4    X  81563 __owur int SSL_add1_host(SSL *s, const char *hostname);
 I4    X  81564 __owur const char *SSL_get0_peername(SSL *s);
 I4    X  81565 void SSL_set_hostflags(SSL *s, unsigned int flags);
 I4    X  81566 
 I4    X  81567 __owur int SSL_CTX_dane_enable(SSL_CTX *ctx);
 I4    X  81568 __owur int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md,
 I4    X  81569                                   uint8_t mtype, uint8_t ord);
 I4    X  81570 __owur int SSL_dane_enable(SSL *s, const char *basedomain);
 I4    X  81571 __owur int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector,
 I4    X  81572                              uint8_t mtype, const unsigned char *data, size_t dlen);
 I4    X  81573 __owur int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki);
 I4    X  81574 __owur int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector,
 I4    X  81575                               uint8_t *mtype, const unsigned char **data,
 I4    X  81576                               size_t *dlen);
 I4    X  81577 /*
 I4    X  81578  * Bridge opacity barrier between libcrypt and libssl, also needed to support
 I4    X  81579  * offline testing in test/danetest.c

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1507
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81580  */
 I4    X  81581 SSL_DANE *SSL_get0_dane(SSL *ssl);
 I4    X  81582 /*
 I4    X  81583  * DANE flags
 I4    X  81584  */
 I4    X  81585 unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx, unsigned long flags);
 I4    X  81586 unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx, unsigned long flags);
 I4    X  81587 unsigned long SSL_dane_set_flags(SSL *ssl, unsigned long flags);
 I4    X  81588 unsigned long SSL_dane_clear_flags(SSL *ssl, unsigned long flags);
 I4    X  81589 
 I4    X  81590 __owur int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm);
 I4    X  81591 __owur int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm);
 I4    X  81592 
 I4    X  81593 __owur X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx);
 I4    X  81594 __owur X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl);
 I4    X  81595 
 I4    X  81596 # ifndef OPENSSL_NO_SRP
 I4    X  81597 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81598 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name);
 I4    X  81599 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password);
 I4    X  81600 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength);
 I4    X  81601 OSSL_DEPRECATEDIN_3_0
 I4    X  81602 int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx,
 I4    X  81603                                         char *(*cb) (SSL *, void *));
 I4    X  81604 OSSL_DEPRECATEDIN_3_0
 I4    X  81605 int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx,
 I4    X  81606                                           int (*cb) (SSL *, void *));
 I4    X  81607 OSSL_DEPRECATEDIN_3_0
 I4    X  81608 int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx,
 I4    X  81609                                       int (*cb) (SSL *, int *, void *));
 I4    X  81610 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg);
 I4    X  81611 
 I4    X  81612 OSSL_DEPRECATEDIN_3_0
 I4    X  81613 int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g,
 I4    X  81614                              BIGNUM *sa, BIGNUM *v, char *info);
 I4    X  81615 OSSL_DEPRECATEDIN_3_0
 I4    X  81616 int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass,
 I4    X  81617                                 const char *grp);
 I4    X  81618 
 I4    X  81619 OSSL_DEPRECATEDIN_3_0 __owur BIGNUM *SSL_get_srp_g(SSL *s);
 I4    X  81620 OSSL_DEPRECATEDIN_3_0 __owur BIGNUM *SSL_get_srp_N(SSL *s);
 I4    X  81621 
 I4    X  81622 OSSL_DEPRECATEDIN_3_0 __owur char *SSL_get_srp_username(SSL *s);
 I4    X  81623 OSSL_DEPRECATEDIN_3_0 __owur char *SSL_get_srp_userinfo(SSL *s);
 I4    X  81624 #  endif
 I4    X  81625 # endif
 I4    X  81626 
 I4    X  81627 /*
 I4    X  81628  * ClientHello callback and helpers.
 I4    X  81629  */
 I4    X  81630 
 I4    X  81631 # define SSL_CLIENT_HELLO_SUCCESS 1
 I4    X  81632 # define SSL_CLIENT_HELLO_ERROR   0
 I4    X  81633 # define SSL_CLIENT_HELLO_RETRY   (-1)
 I4    X  81634 
 I4    X  81635 typedef int (*SSL_client_hello_cb_fn) (SSL *s, int *al, void *arg);
 I4    X  81636 void SSL_CTX_set_client_hello_cb(SSL_CTX *c, SSL_client_hello_cb_fn cb,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1508
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81637                                  void *arg);
 I4    X  81638 int SSL_client_hello_isv2(SSL *s);
 I4    X  81639 unsigned int SSL_client_hello_get0_legacy_version(SSL *s);
 I4    X  81640 size_t SSL_client_hello_get0_random(SSL *s, const unsigned char **out);
 I4    X  81641 size_t SSL_client_hello_get0_session_id(SSL *s, const unsigned char **out);
 I4    X  81642 size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out);
 I4    X  81643 size_t SSL_client_hello_get0_compression_methods(SSL *s,
 I4    X  81644                                                  const unsigned char **out);
 I4    X  81645 int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen);
 I4    X  81646 int SSL_client_hello_get0_ext(SSL *s, unsigned int type,
 I4    X  81647                               const unsigned char **out, size_t *outlen);
 I4    X  81648 
 I4    X  81649 void SSL_certs_clear(SSL *s);
 I4    X  81650 void SSL_free(SSL *ssl);
 I4    X  81651 # ifdef OSSL_ASYNC_FD
 I4    X  81652 /*
 I4    X  81653  * Windows application developer has to include windows.h to use these.
 I4    X  81654  */
 I4    X  81655 __owur int SSL_waiting_for_async(SSL *s);
 I4    X  81656 __owur int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds);
 I4    X  81657 __owur int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd,
 I4    X  81658                                      size_t *numaddfds, OSSL_ASYNC_FD *delfd,
 I4    X  81659                                      size_t *numdelfds);
 I4    X  81660 __owur int SSL_CTX_set_async_callback(SSL_CTX *ctx, SSL_async_callback_fn callback);
 I4    X  81661 __owur int SSL_CTX_set_async_callback_arg(SSL_CTX *ctx, void *arg);
 I4    X  81662 __owur int SSL_set_async_callback(SSL *s, SSL_async_callback_fn callback);
 I4    X  81663 __owur int SSL_set_async_callback_arg(SSL *s, void *arg);
 I4    X  81664 __owur int SSL_get_async_status(SSL *s, int *status);
 I4    X  81665 
 I4    X  81666 # endif
 I4    X  81667 __owur int SSL_accept(SSL *ssl);
 I4    X  81668 __owur int SSL_stateless(SSL *s);
 I4    X  81669 __owur int SSL_connect(SSL *ssl);
 I4    X  81670 __owur int SSL_read(SSL *ssl, void *buf, int num);
 I4    X  81671 __owur int SSL_read_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes);
 I4    X  81672 
 I4    X  81673 # define SSL_READ_EARLY_DATA_ERROR   0
 I4    X  81674 # define SSL_READ_EARLY_DATA_SUCCESS 1
 I4    X  81675 # define SSL_READ_EARLY_DATA_FINISH  2
 I4    X  81676 
 I4    X  81677 __owur int SSL_read_early_data(SSL *s, void *buf, size_t num,
 I4    X  81678                                size_t *readbytes);
 I4    X  81679 __owur int SSL_peek(SSL *ssl, void *buf, int num);
 I4    X  81680 __owur int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes);
 I4    X  81681 __owur ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size,
 I4    X  81682                                  int flags);
 I4    X  81683 __owur int SSL_write(SSL *ssl, const void *buf, int num);
 I4    X  81684 __owur int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written);
 I4    X  81685 __owur int SSL_write_early_data(SSL *s, const void *buf, size_t num,
 I4    X  81686                                 size_t *written);
 I4    X  81687 long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg);
 I4    X  81688 long SSL_callback_ctrl(SSL *, int, void (*)(void));
 I4    X  81689 long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg);
 I4    X  81690 long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void));
 I4    X  81691 
 I4    X  81692 # define SSL_EARLY_DATA_NOT_SENT    0
 I4    X  81693 # define SSL_EARLY_DATA_REJECTED    1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1509
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81694 # define SSL_EARLY_DATA_ACCEPTED    2
 I4    X  81695 
 I4    X  81696 __owur int SSL_get_early_data_status(const SSL *s);
 I4    X  81697 
 I4    X  81698 __owur int SSL_get_error(const SSL *s, int ret_code);
 I4    X  81699 __owur const char *SSL_get_version(const SSL *s);
 I4    X  81700 
 I4    X  81701 /* This sets the 'default' SSL version that SSL_new() will create */
 I4    X  81702 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81703 OSSL_DEPRECATEDIN_3_0
 I4    X  81704 __owur int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth);
 I4    X  81705 # endif
 I4    X  81706 
 I4    X  81707 # ifndef OPENSSL_NO_SSL3_METHOD
 I4    X  81708 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81709 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_method(void); /* SSLv3 */
 I4    X  81710 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_server_method(void);
 I4    X  81711 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_client_method(void);
 I4    X  81712 #  endif
 I4    X  81713 # endif
 I4    X  81714 
 I4    X  81715 #define SSLv23_method           TLS_method
 I4    X  81716 #define SSLv23_server_method    TLS_server_method
 I4    X  81717 #define SSLv23_client_method    TLS_client_method
 I4    X  81718 
 I4    X  81719 /* Negotiate highest available SSL/TLS version */
 I4    X  81720 __owur const SSL_METHOD *TLS_method(void);
 I4    X  81721 __owur const SSL_METHOD *TLS_server_method(void);
 I4    X  81722 __owur const SSL_METHOD *TLS_client_method(void);
 I4    X  81723 
 I4    X  81724 # ifndef OPENSSL_NO_TLS1_METHOD
 I4    X  81725 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81726 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */
 I4    X  81727 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_server_method(void);
 I4    X  81728 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_client_method(void);
 I4    X  81729 #  endif
 I4    X  81730 # endif
 I4    X  81731 
 I4    X  81732 # ifndef OPENSSL_NO_TLS1_1_METHOD
 I4    X  81733 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81734 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */
 I4    X  81735 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_server_method(void);
 I4    X  81736 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_client_method(void);
 I4    X  81737 #  endif
 I4    X  81738 # endif
 I4    X  81739 
 I4    X  81740 # ifndef OPENSSL_NO_TLS1_2_METHOD
 I4    X  81741 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81742 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */
 I4    X  81743 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_server_method(void);
 I4    X  81744 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_client_method(void);
 I4    X  81745 #  endif
 I4    X  81746 # endif
 I4    X  81747 
 I4    X  81748 # ifndef OPENSSL_NO_DTLS1_METHOD
 I4    X  81749 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81750 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1510
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81751 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_server_method(void);
 I4    X  81752 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_client_method(void);
 I4    X  81753 #  endif
 I4    X  81754 # endif
 I4    X  81755 
 I4    X  81756 # ifndef OPENSSL_NO_DTLS1_2_METHOD
 I4    X  81757 /* DTLSv1.2 */
 I4    X  81758 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81759 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_method(void);
 I4    X  81760 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_server_method(void);
 I4    X  81761 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_client_method(void);
 I4    X  81762 #  endif
 I4    X  81763 # endif
 I4    X  81764 
 I4    X  81765 __owur const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */
 I4    X  81766 __owur const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */
 I4    X  81767 __owur const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */
 I4    X  81768 
 I4    X  81769 __owur size_t DTLS_get_data_mtu(const SSL *s);
 I4    X  81770 
 I4    X  81771 __owur STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s);
 I4    X  81772 __owur STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx);
 I4    X  81773 __owur STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s);
 I4    X  81774 __owur STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s);
 I4    X  81775 
 I4    X  81776 __owur int SSL_do_handshake(SSL *s);
 I4    X  81777 int SSL_key_update(SSL *s, int updatetype);
 I4    X  81778 int SSL_get_key_update_type(const SSL *s);
 I4    X  81779 int SSL_renegotiate(SSL *s);
 I4    X  81780 int SSL_renegotiate_abbreviated(SSL *s);
 I4    X  81781 __owur int SSL_renegotiate_pending(const SSL *s);
 I4    X  81782 int SSL_new_session_ticket(SSL *s);
 I4    X  81783 int SSL_shutdown(SSL *s);
 I4    X  81784 __owur int SSL_verify_client_post_handshake(SSL *s);
 I4    X  81785 void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx, int val);
 I4    X  81786 void SSL_set_post_handshake_auth(SSL *s, int val);
 I4    X  81787 
 I4    X  81788 __owur const SSL_METHOD *SSL_CTX_get_ssl_method(const SSL_CTX *ctx);
 I4    X  81789 __owur const SSL_METHOD *SSL_get_ssl_method(const SSL *s);
 I4    X  81790 __owur int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
 I4    X  81791 __owur const char *SSL_alert_type_string_long(int value);
 I4    X  81792 __owur const char *SSL_alert_type_string(int value);
 I4    X  81793 __owur const char *SSL_alert_desc_string_long(int value);
 I4    X  81794 __owur const char *SSL_alert_desc_string(int value);
 I4    X  81795 
 I4    X  81796 void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list);
 I4    X  81797 void SSL_CTX_set0_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list);
 I4    X  81798 __owur const STACK_OF(X509_NAME) *SSL_get0_CA_list(const SSL *s);
 I4    X  81799 __owur const STACK_OF(X509_NAME) *SSL_CTX_get0_CA_list(const SSL_CTX *ctx);
 I4    X  81800 __owur int SSL_add1_to_CA_list(SSL *ssl, const X509 *x);
 I4    X  81801 __owur int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x);
 I4    X  81802 __owur const STACK_OF(X509_NAME) *SSL_get0_peer_CA_list(const SSL *s);
 I4    X  81803 
 I4    X  81804 void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list);
 I4    X  81805 void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list);
 I4    X  81806 __owur STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s);
 I4    X  81807 __owur STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1511
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81808 __owur int SSL_add_client_CA(SSL *ssl, X509 *x);
 I4    X  81809 __owur int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x);
 I4    X  81810 
 I4    X  81811 void SSL_set_connect_state(SSL *s);
 I4    X  81812 void SSL_set_accept_state(SSL *s);
 I4    X  81813 
 I4    X  81814 __owur long SSL_get_default_timeout(const SSL *s);
 I4    X  81815 
 I4    X  81816 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81817 #  define SSL_library_init() OPENSSL_init_ssl(0, NULL)
 I4    X  81818 # endif
 I4    X  81819 
 I4    X  81820 __owur char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size);
 I4    X  81821 __owur STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk);
 I4    X  81822 
 I4    X  81823 __owur SSL *SSL_dup(SSL *ssl);
 I4    X  81824 
 I4    X  81825 __owur X509 *SSL_get_certificate(const SSL *ssl);
 I4    X  81826 /*
 I4    X  81827  * EVP_PKEY
 I4    X  81828  */
 I4    X  81829 struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl);
 I4    X  81830 
 I4    X  81831 __owur X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);
 I4    X  81832 __owur EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx);
 I4    X  81833 
 I4    X  81834 void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode);
 I4    X  81835 __owur int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);
 I4    X  81836 void SSL_set_quiet_shutdown(SSL *ssl, int mode);
 I4    X  81837 __owur int SSL_get_quiet_shutdown(const SSL *ssl);
 I4    X  81838 void SSL_set_shutdown(SSL *ssl, int mode);
 I4    X  81839 __owur int SSL_get_shutdown(const SSL *ssl);
 I4    X  81840 __owur int SSL_version(const SSL *ssl);
 I4    X  81841 __owur int SSL_client_version(const SSL *s);
 I4    X  81842 __owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
 I4    X  81843 __owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx);
 I4    X  81844 __owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx);
 I4    X  81845 __owur int SSL_CTX_set_default_verify_store(SSL_CTX *ctx);
 I4    X  81846 __owur int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile);
 I4    X  81847 __owur int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath);
 I4    X  81848 __owur int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore);
 I4    X  81849 __owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx,
 I4    X  81850                                                         const char *CAfile,
 I4    X  81851                                                         const char *CApath);
 I4    X  81852 # define SSL_get0_session SSL_get_session/* just peek at pointer */
 I4    X  81853 __owur SSL_SESSION *SSL_get_session(const SSL *ssl);
 I4    X  81854 __owur SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */
 I4    X  81855 __owur SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);
 I4    X  81856 SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx);
 I4    X  81857 void SSL_set_info_callback(SSL *ssl,
 I4    X  81858                            void (*cb) (const SSL *ssl, int type, int val));
 I4    X  81859 void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type,
 I4    X  81860                                                int val);
 I4    X  81861 __owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl);
 I4    X  81862 
 I4    X  81863 void SSL_set_verify_result(SSL *ssl, long v);
 I4    X  81864 __owur long SSL_get_verify_result(const SSL *ssl);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1512
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81865 __owur STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s);
 I4    X  81866 
 I4    X  81867 __owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out,
 I4    X  81868                                     size_t outlen);
 I4    X  81869 __owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out,
 I4    X  81870                                     size_t outlen);
 I4    X  81871 __owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *sess,
 I4    X  81872                                          unsigned char *out, size_t outlen);
 I4    X  81873 __owur int SSL_SESSION_set1_master_key(SSL_SESSION *sess,
 I4    X  81874                                        const unsigned char *in, size_t len);
 I4    X  81875 uint8_t SSL_SESSION_get_max_fragment_length(const SSL_SESSION *sess);
 I4    X  81876 
 I4    X  81877 #define SSL_get_ex_new_index(l, p, newf, dupf, freef) \
 I4    X  81878     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, l, p, newf, dupf, freef)
 I4    X  81879 __owur int SSL_set_ex_data(SSL *ssl, int idx, void *data);
 I4    X  81880 void *SSL_get_ex_data(const SSL *ssl, int idx);
 I4    X  81881 #define SSL_SESSION_get_ex_new_index(l, p, newf, dupf, freef) \
 I4    X  81882     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, l, p, newf, dupf, freef)
 I4    X  81883 __owur int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data);
 I4    X  81884 void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx);
 I4    X  81885 #define SSL_CTX_get_ex_new_index(l, p, newf, dupf, freef) \
 I4    X  81886     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, l, p, newf, dupf, freef)
 I4    X  81887 __owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data);
 I4    X  81888 void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx);
 I4    X  81889 
 I4    X  81890 __owur int SSL_get_ex_data_X509_STORE_CTX_idx(void);
 I4    X  81891 
 I4    X  81892 # define SSL_CTX_sess_set_cache_size(ctx,t) \
 I4    X  81893         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL)
 I4    X  81894 # define SSL_CTX_sess_get_cache_size(ctx) \
 I4    X  81895         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL)
 I4    X  81896 # define SSL_CTX_set_session_cache_mode(ctx,m) \
 I4    X  81897         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL)
 I4    X  81898 # define SSL_CTX_get_session_cache_mode(ctx) \
 I4    X  81899         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL)
 I4    X  81900 
 I4    X  81901 # define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx)
 I4    X  81902 # define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m)
 I4    X  81903 # define SSL_CTX_get_read_ahead(ctx) \
 I4    X  81904         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL)
 I4    X  81905 # define SSL_CTX_set_read_ahead(ctx,m) \
 I4    X  81906         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL)
 I4    X  81907 # define SSL_CTX_get_max_cert_list(ctx) \
 I4    X  81908         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)
 I4    X  81909 # define SSL_CTX_set_max_cert_list(ctx,m) \
 I4    X  81910         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL)
 I4    X  81911 # define SSL_get_max_cert_list(ssl) \
 I4    X  81912         SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)
 I4    X  81913 # define SSL_set_max_cert_list(ssl,m) \
 I4    X  81914         SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL)
 I4    X  81915 
 I4    X  81916 # define SSL_CTX_set_max_send_fragment(ctx,m) \
 I4    X  81917         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL)
 I4    X  81918 # define SSL_set_max_send_fragment(ssl,m) \
 I4    X  81919         SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL)
 I4    X  81920 # define SSL_CTX_set_split_send_fragment(ctx,m) \
 I4    X  81921         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1513
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81922 # define SSL_set_split_send_fragment(ssl,m) \
 I4    X  81923         SSL_ctrl(ssl,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL)
 I4    X  81924 # define SSL_CTX_set_max_pipelines(ctx,m) \
 I4    X  81925         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_PIPELINES,m,NULL)
 I4    X  81926 # define SSL_set_max_pipelines(ssl,m) \
 I4    X  81927         SSL_ctrl(ssl,SSL_CTRL_SET_MAX_PIPELINES,m,NULL)
 I4    X  81928 # define SSL_set_retry_verify(ssl) \
 I4    X  81929         (SSL_ctrl(ssl,SSL_CTRL_SET_RETRY_VERIFY,0,NULL) > 0)
 I4    X  81930 
 I4    X  81931 void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len);
 I4    X  81932 void SSL_set_default_read_buffer_len(SSL *s, size_t len);
 I4    X  81933 
 I4    X  81934 # ifndef OPENSSL_NO_DH
 I4    X  81935 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I4    X  81936 /* NB: the |keylength| is only applicable when is_export is true */
 I4    X  81937 OSSL_DEPRECATEDIN_3_0
 I4    X  81938 void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx,
 I4    X  81939                                  DH *(*dh) (SSL *ssl, int is_export,
 I4    X  81940                                             int keylength));
 I4    X  81941 OSSL_DEPRECATEDIN_3_0
 I4    X  81942 void SSL_set_tmp_dh_callback(SSL *ssl,
 I4    X  81943                              DH *(*dh) (SSL *ssl, int is_export,
 I4    X  81944                                         int keylength));
 I4    X  81945 #  endif
 I4    X  81946 # endif
 I4    X  81947 
 I4    X  81948 __owur const COMP_METHOD *SSL_get_current_compression(const SSL *s);
 I4    X  81949 __owur const COMP_METHOD *SSL_get_current_expansion(const SSL *s);
 I4    X  81950 __owur const char *SSL_COMP_get_name(const COMP_METHOD *comp);
 I4    X  81951 __owur const char *SSL_COMP_get0_name(const SSL_COMP *comp);
 I4    X  81952 __owur int SSL_COMP_get_id(const SSL_COMP *comp);
 I4    X  81953 STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);
 I4    X  81954 __owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
 I4    X  81955                                                              *meths);
 I4    X  81956 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  81957 #  define SSL_COMP_free_compression_methods() while(0) continue
 I4    X  81958 # endif
 I4    X  81959 __owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm);
 I4    X  81960 
 I4    X  81961 const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr);
 I4    X  81962 int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c);
 I4    X  81963 int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c);
 I4    X  81964 int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len,
 I4    X  81965                              int isv2format, STACK_OF(SSL_CIPHER) **sk,
 I4    X  81966                              STACK_OF(SSL_CIPHER) **scsvs);
 I4    X  81967 
 I4    X  81968 /* TLS extensions functions */
 I4    X  81969 __owur int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len);
 I4    X  81970 
 I4    X  81971 __owur int SSL_set_session_ticket_ext_cb(SSL *s,
 I4    X  81972                                          tls_session_ticket_ext_cb_fn cb,
 I4    X  81973                                          void *arg);
 I4    X  81974 
 I4    X  81975 /* Pre-shared secret session resumption functions */
 I4    X  81976 __owur int SSL_set_session_secret_cb(SSL *s,
 I4    X  81977                                      tls_session_secret_cb_fn session_secret_cb,
 I4    X  81978                                      void *arg);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1514
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  81979 
 I4    X  81980 void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx,
 I4    X  81981                                                 int (*cb) (SSL *ssl,
 I4    X  81982                                                            int
 I4    X  81983                                                            is_forward_secure));
 I4    X  81984 
 I4    X  81985 void SSL_set_not_resumable_session_callback(SSL *ssl,
 I4    X  81986                                             int (*cb) (SSL *ssl,
 I4    X  81987                                                        int is_forward_secure));
 I4    X  81988 
 I4    X  81989 void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx,
 I4    X  81990                                          size_t (*cb) (SSL *ssl, int type,
 I4    X  81991                                                        size_t len, void *arg));
 I4    X  81992 void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg);
 I4    X  81993 void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx);
 I4    X  81994 int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size);
 I4    X  81995 
 I4    X  81996 int SSL_set_record_padding_callback(SSL *ssl,
 I4    X  81997                                     size_t (*cb) (SSL *ssl, int type,
 I4    X  81998                                                   size_t len, void *arg));
 I4    X  81999 void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg);
 I4    X  82000 void *SSL_get_record_padding_callback_arg(const SSL *ssl);
 I4    X  82001 int SSL_set_block_padding(SSL *ssl, size_t block_size);
 I4    X  82002 
 I4    X  82003 int SSL_set_num_tickets(SSL *s, size_t num_tickets);
 I4    X  82004 size_t SSL_get_num_tickets(const SSL *s);
 I4    X  82005 int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets);
 I4    X  82006 size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx);
 I4    X  82007 
 I4    X  82008 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I4    X  82009 #  define SSL_cache_hit(s) SSL_session_reused(s)
 I4    X  82010 # endif
 I4    X  82011 
 I4    X  82012 __owur int SSL_session_reused(const SSL *s);
 I4    X  82013 __owur int SSL_is_server(const SSL *s);
 I4    X  82014 
 I4    X  82015 __owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void);
 I4    X  82016 int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx);
 I4    X  82017 void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx);
 I4    X  82018 unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags);
 I4    X  82019 __owur unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx,
 I4    X  82020                                              unsigned int flags);
 I4    X  82021 __owur int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre);
 I4    X  82022 
 I4    X  82023 void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl);
 I4    X  82024 void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx);
 I4    X  82025 
 I4    X  82026 __owur int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value);
 I4    X  82027 __owur int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv);
 I4    X  82028 __owur int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd);
 I4    X  82029 
 I4    X  82030 void SSL_add_ssl_module(void);
 I4    X  82031 int SSL_config(SSL *s, const char *name);
 I4    X  82032 int SSL_CTX_config(SSL_CTX *ctx, const char *name);
 I4    X  82033 
 I4    X  82034 # ifndef OPENSSL_NO_SSL_TRACE
 I4    X  82035 void SSL_trace(int write_p, int version, int content_type,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1515
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  82036                const void *buf, size_t len, SSL *ssl, void *arg);
 I4    X  82037 # endif
 I4    X  82038 
 I4    X  82039 # ifndef OPENSSL_NO_SOCK
 I4    X  82040 int DTLSv1_listen(SSL *s, BIO_ADDR *client);
 I4    X  82041 # endif
 I4    X  82042 
 I4    X  82043 # ifndef OPENSSL_NO_CT
 I4    X  82044 
 I4    X  82045 /*
 I4    X  82046  * A callback for verifying that the received SCTs are sufficient.
 I4    X  82047  * Expected to return 1 if they are sufficient, otherwise 0.
 I4    X  82048  * May return a negative integer if an error occurs.
 I4    X  82049  * A connection should be aborted if the SCTs are deemed insufficient.
 I4    X  82050  */
 I4    X  82051 typedef int (*ssl_ct_validation_cb)(const CT_POLICY_EVAL_CTX *ctx,
 I4    X  82052                                     const STACK_OF(SCT) *scts, void *arg);
 I4    X  82053 
 I4    X  82054 /*
 I4    X  82055  * Sets a |callback| that is invoked upon receipt of ServerHelloDone to validate
 I4    X  82056  * the received SCTs.
 I4    X  82057  * If the callback returns a non-positive result, the connection is terminated.
 I4    X  82058  * Call this function before beginning a handshake.
 I4    X  82059  * If a NULL |callback| is provided, SCT validation is disabled.
 I4    X  82060  * |arg| is arbitrary userdata that will be passed to the callback whenever it
 I4    X  82061  * is invoked. Ownership of |arg| remains with the caller.
 I4    X  82062  *
 I4    X  82063  * NOTE: A side-effect of setting a CT callback is that an OCSP stapled response
 I4    X  82064  *       will be requested.
 I4    X  82065  */
 I4    X  82066 int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback,
 I4    X  82067                                    void *arg);
 I4    X  82068 int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx,
 I4    X  82069                                        ssl_ct_validation_cb callback,
 I4    X  82070                                        void *arg);
 I4    X  82071 #define SSL_disable_ct(s) \
 I4    X  82072         ((void) SSL_set_validation_callback((s), NULL, NULL))
 I4    X  82073 #define SSL_CTX_disable_ct(ctx) \
 I4    X  82074         ((void) SSL_CTX_set_validation_callback((ctx), NULL, NULL))
 I4    X  82075 
 I4    X  82076 /*
 I4    X  82077  * The validation type enumerates the available behaviours of the built-in SSL
 I4    X  82078  * CT validation callback selected via SSL_enable_ct() and SSL_CTX_enable_ct().
 I4    X  82079  * The underlying callback is a static function in libssl.
 I4    X  82080  */
 I4    X  82081 enum {
 I4    X  82082     SSL_CT_VALIDATION_PERMISSIVE = 0,
 I4    X  82083     SSL_CT_VALIDATION_STRICT
 I4    X  82084 };
 I4    X  82085 
 I4    X  82086 /*
 I4    X  82087  * Enable CT by setting up a callback that implements one of the built-in
 I4    X  82088  * validation variants.  The SSL_CT_VALIDATION_PERMISSIVE variant always
 I4    X  82089  * continues the handshake, the application can make appropriate decisions at
 I4    X  82090  * handshake completion.  The SSL_CT_VALIDATION_STRICT variant requires at
 I4    X  82091  * least one valid SCT, or else handshake termination will be requested.  The
 I4    X  82092  * handshake may continue anyway if SSL_VERIFY_NONE is in effect.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1516
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  82093  */
 I4    X  82094 int SSL_enable_ct(SSL *s, int validation_mode);
 I4    X  82095 int SSL_CTX_enable_ct(SSL_CTX *ctx, int validation_mode);
 I4    X  82096 
 I4    X  82097 /*
 I4    X  82098  * Report whether a non-NULL callback is enabled.
 I4    X  82099  */
 I4    X  82100 int SSL_ct_is_enabled(const SSL *s);
 I4    X  82101 int SSL_CTX_ct_is_enabled(const SSL_CTX *ctx);
 I4    X  82102 
 I4    X  82103 /* Gets the SCTs received from a connection */
 I4    X  82104 const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s);
 I4    X  82105 
 I4    X  82106 /*
 I4    X  82107  * Loads the CT log list from the default location.
 I4    X  82108  * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store,
 I4    X  82109  * the log information loaded from this file will be appended to the
 I4    X  82110  * CTLOG_STORE.
 I4    X  82111  * Returns 1 on success, 0 otherwise.
 I4    X  82112  */
 I4    X  82113 int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx);
 I4    X  82114 
 I4    X  82115 /*
 I4    X  82116  * Loads the CT log list from the specified file path.
 I4    X  82117  * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store,
 I4    X  82118  * the log information loaded from this file will be appended to the
 I4    X  82119  * CTLOG_STORE.
 I4    X  82120  * Returns 1 on success, 0 otherwise.
 I4    X  82121  */
 I4    X  82122 int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx, const char *path);
 I4    X  82123 
 I4    X  82124 /*
 I4    X  82125  * Sets the CT log list used by all SSL connections created from this SSL_CTX.
 I4    X  82126  * Ownership of the CTLOG_STORE is transferred to the SSL_CTX.
 I4    X  82127  */
 I4    X  82128 void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx, CTLOG_STORE *logs);
 I4    X  82129 
 I4    X  82130 /*
 I4    X  82131  * Gets the CT log list used by all SSL connections created from this SSL_CTX.
 I4    X  82132  * This will be NULL unless one of the following functions has been called:
 I4    X  82133  * - SSL_CTX_set_default_ctlog_list_file
 I4    X  82134  * - SSL_CTX_set_ctlog_list_file
 I4    X  82135  * - SSL_CTX_set_ctlog_store
 I4    X  82136  */
 I4    X  82137 const CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx);
 I4    X  82138 
 I4    X  82139 # endif /* OPENSSL_NO_CT */
 I4    X  82140 
 I4    X  82141 /* What the "other" parameter contains in security callback */
 I4    X  82142 /* Mask for type */
 I4    X  82143 # define SSL_SECOP_OTHER_TYPE    0xffff0000
 I4    X  82144 # define SSL_SECOP_OTHER_NONE    0
 I4    X  82145 # define SSL_SECOP_OTHER_CIPHER  (1 << 16)
 I4    X  82146 # define SSL_SECOP_OTHER_CURVE   (2 << 16)
 I4    X  82147 # define SSL_SECOP_OTHER_DH      (3 << 16)
 I4    X  82148 # define SSL_SECOP_OTHER_PKEY    (4 << 16)
 I4    X  82149 # define SSL_SECOP_OTHER_SIGALG  (5 << 16)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1517
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  82150 # define SSL_SECOP_OTHER_CERT    (6 << 16)
 I4    X  82151 
 I4    X  82152 /* Indicated operation refers to peer key or certificate */
 I4    X  82153 # define SSL_SECOP_PEER          0x1000
 I4    X  82154 
 I4    X  82155 /* Values for "op" parameter in security callback */
 I4    X  82156 
 I4    X  82157 /* Called to filter ciphers */
 I4    X  82158 /* Ciphers client supports */
 I4    X  82159 # define SSL_SECOP_CIPHER_SUPPORTED      (1 | SSL_SECOP_OTHER_CIPHER)
 I4    X  82160 /* Cipher shared by client/server */
 I4    X  82161 # define SSL_SECOP_CIPHER_SHARED         (2 | SSL_SECOP_OTHER_CIPHER)
 I4    X  82162 /* Sanity check of cipher server selects */
 I4    X  82163 # define SSL_SECOP_CIPHER_CHECK          (3 | SSL_SECOP_OTHER_CIPHER)
 I4    X  82164 /* Curves supported by client */
 I4    X  82165 # define SSL_SECOP_CURVE_SUPPORTED       (4 | SSL_SECOP_OTHER_CURVE)
 I4    X  82166 /* Curves shared by client/server */
 I4    X  82167 # define SSL_SECOP_CURVE_SHARED          (5 | SSL_SECOP_OTHER_CURVE)
 I4    X  82168 /* Sanity check of curve server selects */
 I4    X  82169 # define SSL_SECOP_CURVE_CHECK           (6 | SSL_SECOP_OTHER_CURVE)
 I4    X  82170 /* Temporary DH key */
 I4    X  82171 # define SSL_SECOP_TMP_DH                (7 | SSL_SECOP_OTHER_PKEY)
 I4    X  82172 /* SSL/TLS version */
 I4    X  82173 # define SSL_SECOP_VERSION               (9 | SSL_SECOP_OTHER_NONE)
 I4    X  82174 /* Session tickets */
 I4    X  82175 # define SSL_SECOP_TICKET                (10 | SSL_SECOP_OTHER_NONE)
 I4    X  82176 /* Supported signature algorithms sent to peer */
 I4    X  82177 # define SSL_SECOP_SIGALG_SUPPORTED      (11 | SSL_SECOP_OTHER_SIGALG)
 I4    X  82178 /* Shared signature algorithm */
 I4    X  82179 # define SSL_SECOP_SIGALG_SHARED         (12 | SSL_SECOP_OTHER_SIGALG)
 I4    X  82180 /* Sanity check signature algorithm allowed */
 I4    X  82181 # define SSL_SECOP_SIGALG_CHECK          (13 | SSL_SECOP_OTHER_SIGALG)
 I4    X  82182 /* Used to get mask of supported public key signature algorithms */
 I4    X  82183 # define SSL_SECOP_SIGALG_MASK           (14 | SSL_SECOP_OTHER_SIGALG)
 I4    X  82184 /* Use to see if compression is allowed */
 I4    X  82185 # define SSL_SECOP_COMPRESSION           (15 | SSL_SECOP_OTHER_NONE)
 I4    X  82186 /* EE key in certificate */
 I4    X  82187 # define SSL_SECOP_EE_KEY                (16 | SSL_SECOP_OTHER_CERT)
 I4    X  82188 /* CA key in certificate */
 I4    X  82189 # define SSL_SECOP_CA_KEY                (17 | SSL_SECOP_OTHER_CERT)
 I4    X  82190 /* CA digest algorithm in certificate */
 I4    X  82191 # define SSL_SECOP_CA_MD                 (18 | SSL_SECOP_OTHER_CERT)
 I4    X  82192 /* Peer EE key in certificate */
 I4    X  82193 # define SSL_SECOP_PEER_EE_KEY           (SSL_SECOP_EE_KEY | SSL_SECOP_PEER)
 I4    X  82194 /* Peer CA key in certificate */
 I4    X  82195 # define SSL_SECOP_PEER_CA_KEY           (SSL_SECOP_CA_KEY | SSL_SECOP_PEER)
 I4    X  82196 /* Peer CA digest algorithm in certificate */
 I4    X  82197 # define SSL_SECOP_PEER_CA_MD            (SSL_SECOP_CA_MD | SSL_SECOP_PEER)
 I4    X  82198 
 I4    X  82199 void SSL_set_security_level(SSL *s, int level);
 I4    X  82200 __owur int SSL_get_security_level(const SSL *s);
 I4    X  82201 void SSL_set_security_callback(SSL *s,
 I4    X  82202                                int (*cb) (const SSL *s, const SSL_CTX *ctx,
 I4    X  82203                                           int op, int bits, int nid,
 I4    X  82204                                           void *other, void *ex));
 I4    X  82205 int (*SSL_get_security_callback(const SSL *s)) (const SSL *s,
 I4    X  82206                                                 const SSL_CTX *ctx, int op,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1518
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  82207                                                 int bits, int nid, void *other,
 I4    X  82208                                                 void *ex);
 I4    X  82209 void SSL_set0_security_ex_data(SSL *s, void *ex);
 I4    X  82210 __owur void *SSL_get0_security_ex_data(const SSL *s);
 I4    X  82211 
 I4    X  82212 void SSL_CTX_set_security_level(SSL_CTX *ctx, int level);
 I4    X  82213 __owur int SSL_CTX_get_security_level(const SSL_CTX *ctx);
 I4    X  82214 void SSL_CTX_set_security_callback(SSL_CTX *ctx,
 I4    X  82215                                    int (*cb) (const SSL *s, const SSL_CTX *ctx,
 I4    X  82216                                               int op, int bits, int nid,
 I4    X  82217                                               void *other, void *ex));
 I4    X  82218 int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL *s,
 I4    X  82219                                                           const SSL_CTX *ctx,
 I4    X  82220                                                           int op, int bits,
 I4    X  82221                                                           int nid,
 I4    X  82222                                                           void *other,
 I4    X  82223                                                           void *ex);
 I4    X  82224 void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx, void *ex);
 I4    X  82225 __owur void *SSL_CTX_get0_security_ex_data(const SSL_CTX *ctx);
 I4    X  82226 
 I4    X  82227 /* OPENSSL_INIT flag 0x010000 reserved for internal use */
 I4    X  82228 # define OPENSSL_INIT_NO_LOAD_SSL_STRINGS    0x00100000L
 I4    X  82229 # define OPENSSL_INIT_LOAD_SSL_STRINGS       0x00200000L
 I4    X  82230 
 I4    X  82231 # define OPENSSL_INIT_SSL_DEFAULT \
 I4    X  82232         (OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS)
 I4    X  82233 
 I4    X  82234 int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
 I4    X  82235 
 I4    X  82236 # ifndef OPENSSL_NO_UNIT_TEST
 I4    X  82237 __owur const struct openssl_ssl_test_functions *SSL_test_functions(void);
 I4    X  82238 # endif
 I4    X  82239 
 I4    X  82240 __owur int SSL_free_buffers(SSL *ssl);
 I4    X  82241 __owur int SSL_alloc_buffers(SSL *ssl);
 I4    X  82242 
 I4    X  82243 /* Status codes passed to the decrypt session ticket callback. Some of these
 I4    X  82244  * are for internal use only and are never passed to the callback. */
 I4    X  82245 typedef int SSL_TICKET_STATUS;
 I4    X  82246 
 I4    X  82247 /* Support for ticket appdata */
 I4    X  82248 /* fatal error, malloc failure */
 I4    X  82249 # define SSL_TICKET_FATAL_ERR_MALLOC 0
 I4    X  82250 /* fatal error, either from parsing or decrypting the ticket */
 I4    X  82251 # define SSL_TICKET_FATAL_ERR_OTHER  1
 I4    X  82252 /* No ticket present */
 I4    X  82253 # define SSL_TICKET_NONE             2
 I4    X  82254 /* Empty ticket present */
 I4    X  82255 # define SSL_TICKET_EMPTY            3
 I4    X  82256 /* the ticket couldn't be decrypted */
 I4    X  82257 # define SSL_TICKET_NO_DECRYPT       4
 I4    X  82258 /* a ticket was successfully decrypted */
 I4    X  82259 # define SSL_TICKET_SUCCESS          5
 I4    X  82260 /* same as above but the ticket needs to be renewed */
 I4    X  82261 # define SSL_TICKET_SUCCESS_RENEW    6
 I4    X  82262 
 I4    X  82263 /* Return codes for the decrypt session ticket callback */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1519
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I4    X  82264 typedef int SSL_TICKET_RETURN;
 I4    X  82265 
 I4    X  82266 /* An error occurred */
 I4    X  82267 #define SSL_TICKET_RETURN_ABORT             0
 I4    X  82268 /* Do not use the ticket, do not send a renewed ticket to the client */
 I4    X  82269 #define SSL_TICKET_RETURN_IGNORE            1
 I4    X  82270 /* Do not use the ticket, send a renewed ticket to the client */
 I4    X  82271 #define SSL_TICKET_RETURN_IGNORE_RENEW      2
 I4    X  82272 /* Use the ticket, do not send a renewed ticket to the client */
 I4    X  82273 #define SSL_TICKET_RETURN_USE               3
 I4    X  82274 /* Use the ticket, send a renewed ticket to the client */
 I4    X  82275 #define SSL_TICKET_RETURN_USE_RENEW         4
 I4    X  82276 
 I4    X  82277 typedef int (*SSL_CTX_generate_session_ticket_fn)(SSL *s, void *arg);
 I4    X  82278 typedef SSL_TICKET_RETURN (*SSL_CTX_decrypt_session_ticket_fn)(SSL *s, SSL_SESSION *ss,
 I4    X  82279                                                                const unsigned char *keyname,
 I4    X  82280                                                                size_t keyname_length,
 I4    X  82281                                                                SSL_TICKET_STATUS status,
 I4    X  82282                                                                void *arg);
 I4    X  82283 int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx,
 I4    X  82284                                   SSL_CTX_generate_session_ticket_fn gen_cb,
 I4    X  82285                                   SSL_CTX_decrypt_session_ticket_fn dec_cb,
 I4    X  82286                                   void *arg);
 I4    X  82287 int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len);
 I4    X  82288 int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len);
 I4    X  82289 
 I4    X  82290 typedef unsigned int (*DTLS_timer_cb)(SSL *s, unsigned int timer_us);
 I4    X  82291 
 I4    X  82292 void DTLS_set_timer_cb(SSL *s, DTLS_timer_cb cb);
 I4    X  82293 
 I4    X  82294 
 I4    X  82295 typedef int (*SSL_allow_early_data_cb_fn)(SSL *s, void *arg);
 I4    X  82296 void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx,
 I4    X  82297                                      SSL_allow_early_data_cb_fn cb,
 I4    X  82298                                      void *arg);
 I4    X  82299 void SSL_set_allow_early_data_cb(SSL *s,
 I4    X  82300                                  SSL_allow_early_data_cb_fn cb,
 I4    X  82301                                  void *arg);
 I4    X  82302 
 I4    X  82303 /* store the default cipher strings inside the library */
 I4    X  82304 const char *OSSL_default_cipher_list(void);
 I4    X  82305 const char *OSSL_default_ciphersuites(void);
 I4    X  82306 
 I4    X  82307 # ifdef  __cplusplus
 I4    X  82308 }
 I4    X  82309 # endif
 I4    X  82310 #endif
 I3	  82311 
 I3    X  82312 #ifdef  __cplusplus
 I3    X  82313 extern "C" {
 I3    X  82314 #endif
 I3	  82315 
 I3	  82316 /*
 I3	  82317  * Signalling cipher suite value from RFC 5746
 I3	  82318  * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV)
 I3	  82319  */
 I3	  82320 # define SSL3_CK_SCSV                            0x030000FF

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1520
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL3.H;1

 I3	  82321 
 I3	  82322 /*
 I3	  82323  * Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00
 I3	  82324  * (TLS_FALLBACK_SCSV)
 I3	  82325  */
 I3	  82326 # define SSL3_CK_FALLBACK_SCSV                   0x03005600
 I3	  82327 
 I3	  82328 # define SSL3_CK_RSA_NULL_MD5                    0x03000001
 I3	  82329 # define SSL3_CK_RSA_NULL_SHA                    0x03000002
 I3	  82330 # define SSL3_CK_RSA_RC4_40_MD5                  0x03000003
 I3	  82331 # define SSL3_CK_RSA_RC4_128_MD5                 0x03000004
 I3	  82332 # define SSL3_CK_RSA_RC4_128_SHA                 0x03000005
 I3	  82333 # define SSL3_CK_RSA_RC2_40_MD5                  0x03000006
 I3	  82334 # define SSL3_CK_RSA_IDEA_128_SHA                0x03000007
 I3	  82335 # define SSL3_CK_RSA_DES_40_CBC_SHA              0x03000008
 I3	  82336 # define SSL3_CK_RSA_DES_64_CBC_SHA              0x03000009
 I3	  82337 # define SSL3_CK_RSA_DES_192_CBC3_SHA            0x0300000A
 I3	  82338 
 I3	  82339 # define SSL3_CK_DH_DSS_DES_40_CBC_SHA           0x0300000B
 I3	  82340 # define SSL3_CK_DH_DSS_DES_64_CBC_SHA           0x0300000C
 I3	  82341 # define SSL3_CK_DH_DSS_DES_192_CBC3_SHA         0x0300000D
 I3	  82342 # define SSL3_CK_DH_RSA_DES_40_CBC_SHA           0x0300000E
 I3	  82343 # define SSL3_CK_DH_RSA_DES_64_CBC_SHA           0x0300000F
 I3	  82344 # define SSL3_CK_DH_RSA_DES_192_CBC3_SHA         0x03000010
 I3	  82345 
 I3	  82346 # define SSL3_CK_DHE_DSS_DES_40_CBC_SHA          0x03000011
 I3	  82347 # define SSL3_CK_EDH_DSS_DES_40_CBC_SHA          SSL3_CK_DHE_DSS_DES_40_CBC_SHA
 I3	  82348 # define SSL3_CK_DHE_DSS_DES_64_CBC_SHA          0x03000012
 I3	  82349 # define SSL3_CK_EDH_DSS_DES_64_CBC_SHA          SSL3_CK_DHE_DSS_DES_64_CBC_SHA
 I3	  82350 # define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA        0x03000013
 I3	  82351 # define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA        SSL3_CK_DHE_DSS_DES_192_CBC3_SHA
 I3	  82352 # define SSL3_CK_DHE_RSA_DES_40_CBC_SHA          0x03000014
 I3	  82353 # define SSL3_CK_EDH_RSA_DES_40_CBC_SHA          SSL3_CK_DHE_RSA_DES_40_CBC_SHA
 I3	  82354 # define SSL3_CK_DHE_RSA_DES_64_CBC_SHA          0x03000015
 I3	  82355 # define SSL3_CK_EDH_RSA_DES_64_CBC_SHA          SSL3_CK_DHE_RSA_DES_64_CBC_SHA
 I3	  82356 # define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA        0x03000016
 I3	  82357 # define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA        SSL3_CK_DHE_RSA_DES_192_CBC3_SHA
 I3	  82358 
 I3	  82359 # define SSL3_CK_ADH_RC4_40_MD5                  0x03000017
 I3	  82360 # define SSL3_CK_ADH_RC4_128_MD5                 0x03000018
 I3	  82361 # define SSL3_CK_ADH_DES_40_CBC_SHA              0x03000019
 I3	  82362 # define SSL3_CK_ADH_DES_64_CBC_SHA              0x0300001A
 I3	  82363 # define SSL3_CK_ADH_DES_192_CBC_SHA             0x0300001B
 I3	  82364 
 I3	  82365 /* a bundle of RFC standard cipher names, generated from ssl3_ciphers[] */
 I3	  82366 # define SSL3_RFC_RSA_NULL_MD5                   "TLS_RSA_WITH_NULL_MD5"
 I3	  82367 # define SSL3_RFC_RSA_NULL_SHA                   "TLS_RSA_WITH_NULL_SHA"
 I3	  82368 # define SSL3_RFC_RSA_DES_192_CBC3_SHA           "TLS_RSA_WITH_3DES_EDE_CBC_SHA"
 I3	  82369 # define SSL3_RFC_DHE_DSS_DES_192_CBC3_SHA       "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
 I3	  82370 # define SSL3_RFC_DHE_RSA_DES_192_CBC3_SHA       "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"
 I3	  82371 # define SSL3_RFC_ADH_DES_192_CBC_SHA            "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"
 I3	  82372 # define SSL3_RFC_RSA_IDEA_128_SHA               "TLS_RSA_WITH_IDEA_CBC_SHA"
 I3	  82373 # define SSL3_RFC_RSA_RC4_128_MD5                "TLS_RSA_WITH_RC4_128_MD5"
 I3	  82374 # define SSL3_RFC_RSA_RC4_128_SHA                "TLS_RSA_WITH_RC4_128_SHA"
 I3	  82375 # define SSL3_RFC_ADH_RC4_128_MD5                "TLS_DH_anon_WITH_RC4_128_MD5"
 I3	  82376 
 I3	  82377 # define SSL3_TXT_RSA_NULL_MD5                   "NULL-MD5"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1521
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL3.H;1

 I3	  82378 # define SSL3_TXT_RSA_NULL_SHA                   "NULL-SHA"
 I3	  82379 # define SSL3_TXT_RSA_RC4_40_MD5                 "EXP-RC4-MD5"
 I3	  82380 # define SSL3_TXT_RSA_RC4_128_MD5                "RC4-MD5"
 I3	  82381 # define SSL3_TXT_RSA_RC4_128_SHA                "RC4-SHA"
 I3	  82382 # define SSL3_TXT_RSA_RC2_40_MD5                 "EXP-RC2-CBC-MD5"
 I3	  82383 # define SSL3_TXT_RSA_IDEA_128_SHA               "IDEA-CBC-SHA"
 I3	  82384 # define SSL3_TXT_RSA_DES_40_CBC_SHA             "EXP-DES-CBC-SHA"
 I3	  82385 # define SSL3_TXT_RSA_DES_64_CBC_SHA             "DES-CBC-SHA"
 I3	  82386 # define SSL3_TXT_RSA_DES_192_CBC3_SHA           "DES-CBC3-SHA"
 I3	  82387 
 I3	  82388 # define SSL3_TXT_DH_DSS_DES_40_CBC_SHA          "EXP-DH-DSS-DES-CBC-SHA"
 I3	  82389 # define SSL3_TXT_DH_DSS_DES_64_CBC_SHA          "DH-DSS-DES-CBC-SHA"
 I3	  82390 # define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA        "DH-DSS-DES-CBC3-SHA"
 I3	  82391 # define SSL3_TXT_DH_RSA_DES_40_CBC_SHA          "EXP-DH-RSA-DES-CBC-SHA"
 I3	  82392 # define SSL3_TXT_DH_RSA_DES_64_CBC_SHA          "DH-RSA-DES-CBC-SHA"
 I3	  82393 # define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA        "DH-RSA-DES-CBC3-SHA"
 I3	  82394 
 I3	  82395 # define SSL3_TXT_DHE_DSS_DES_40_CBC_SHA         "EXP-DHE-DSS-DES-CBC-SHA"
 I3	  82396 # define SSL3_TXT_DHE_DSS_DES_64_CBC_SHA         "DHE-DSS-DES-CBC-SHA"
 I3	  82397 # define SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA       "DHE-DSS-DES-CBC3-SHA"
 I3	  82398 # define SSL3_TXT_DHE_RSA_DES_40_CBC_SHA         "EXP-DHE-RSA-DES-CBC-SHA"
 I3	  82399 # define SSL3_TXT_DHE_RSA_DES_64_CBC_SHA         "DHE-RSA-DES-CBC-SHA"
 I3	  82400 # define SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA       "DHE-RSA-DES-CBC3-SHA"
 I3	  82401 
 I3	  82402 /*
 I3	  82403  * This next block of six "EDH" labels is for backward compatibility with
 I3	  82404  * older versions of OpenSSL.  New code should use the six "DHE" labels above
 I3	  82405  * instead:
 I3	  82406  */
 I3	  82407 # define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA         "EXP-EDH-DSS-DES-CBC-SHA"
 I3	  82408 # define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA         "EDH-DSS-DES-CBC-SHA"
 I3	  82409 # define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA       "EDH-DSS-DES-CBC3-SHA"
 I3	  82410 # define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA         "EXP-EDH-RSA-DES-CBC-SHA"
 I3	  82411 # define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA         "EDH-RSA-DES-CBC-SHA"
 I3	  82412 # define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA       "EDH-RSA-DES-CBC3-SHA"
 I3	  82413 
 I3	  82414 # define SSL3_TXT_ADH_RC4_40_MD5                 "EXP-ADH-RC4-MD5"
 I3	  82415 # define SSL3_TXT_ADH_RC4_128_MD5                "ADH-RC4-MD5"
 I3	  82416 # define SSL3_TXT_ADH_DES_40_CBC_SHA             "EXP-ADH-DES-CBC-SHA"
 I3	  82417 # define SSL3_TXT_ADH_DES_64_CBC_SHA             "ADH-DES-CBC-SHA"
 I3	  82418 # define SSL3_TXT_ADH_DES_192_CBC_SHA            "ADH-DES-CBC3-SHA"
 I3	  82419 
 I3	  82420 # define SSL3_SSL_SESSION_ID_LENGTH              32
 I3	  82421 # define SSL3_MAX_SSL_SESSION_ID_LENGTH          32
 I3	  82422 
 I3	  82423 # define SSL3_MASTER_SECRET_SIZE                 48
 I3	  82424 # define SSL3_RANDOM_SIZE                        32
 I3	  82425 # define SSL3_SESSION_ID_SIZE                    32
 I3	  82426 # define SSL3_RT_HEADER_LENGTH                   5
 I3	  82427 
 I3	  82428 # define SSL3_HM_HEADER_LENGTH                  4
 I3	  82429 
 I3	  82430 # ifndef SSL3_ALIGN_PAYLOAD
 I3	  82431  /*
 I3	  82432   * Some will argue that this increases memory footprint, but it's not
 I3	  82433   * actually true. Point is that malloc has to return at least 64-bit aligned
 I3	  82434   * pointers, meaning that allocating 5 bytes wastes 3 bytes in either case.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1522
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL3.H;1

 I3	  82435   * Suggested pre-gaping simply moves these wasted bytes from the end of
 I3	  82436   * allocated region to its front, but makes data payload aligned, which
 I3	  82437   * improves performance:-)
 I3	  82438   */
 I3	  82439 #  define SSL3_ALIGN_PAYLOAD                     8
 I3    X  82440 # else
 I3    X  82441 #  if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0
 I3    X  82442 #   error "insane SSL3_ALIGN_PAYLOAD"
 I3    X  82443 #   undef SSL3_ALIGN_PAYLOAD
 I3    X  82444 #  endif
 I3    X  82445 # endif
 I3	  82446 
 I3	  82447 /*
 I3	  82448  * This is the maximum MAC (digest) size used by the SSL library. Currently
 I3	  82449  * maximum of 20 is used by SHA1, but we reserve for future extension for
 I3	  82450  * 512-bit hashes.
 I3	  82451  */
 I3	  82452 
 I3	  82453 # define SSL3_RT_MAX_MD_SIZE                     64
 I3	  82454 
 I3	  82455 /*
 I3	  82456  * Maximum block size used in all ciphersuites. Currently 16 for AES.
 I3	  82457  */
 I3	  82458 
 I3	  82459 # define SSL_RT_MAX_CIPHER_BLOCK_SIZE            16
 I3	  82460 
 I3	  82461 # define SSL3_RT_MAX_EXTRA                       (16384)
 I3	  82462 
 I3	  82463 /* Maximum plaintext length: defined by SSL/TLS standards */
 I3	  82464 # define SSL3_RT_MAX_PLAIN_LENGTH                16384
 I3	  82465 /* Maximum compression overhead: defined by SSL/TLS standards */
 I3	  82466 # define SSL3_RT_MAX_COMPRESSED_OVERHEAD         1024
 I3	  82467 
 I3	  82468 /*
 I3	  82469  * The standards give a maximum encryption overhead of 1024 bytes. In
 I3	  82470  * practice the value is lower than this. The overhead is the maximum number
 I3	  82471  * of padding bytes (256) plus the mac size.
 I3	  82472  */
 I3	  82473 # define SSL3_RT_MAX_ENCRYPTED_OVERHEAD        (256 + SSL3_RT_MAX_MD_SIZE)
 I3	  82474 # define SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD  256
 I3	  82475 
 I3	  82476 /*
 I3	  82477  * OpenSSL currently only uses a padding length of at most one block so the
 I3	  82478  * send overhead is smaller.
 I3	  82479  */
 I3	  82480 
 I3	  82481 # define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
 I3	  82482                         (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE)
 I3	  82483 
 I3	  82484 /* If compression isn't used don't include the compression overhead */
 I3	  82485 
 I3    X  82486 # ifdef OPENSSL_NO_COMP
 I3    X  82487 #  define SSL3_RT_MAX_COMPRESSED_LENGTH           SSL3_RT_MAX_PLAIN_LENGTH
 I3    X  82488 # else
 I3	  82489 #  define SSL3_RT_MAX_COMPRESSED_LENGTH   \
 I3	  82490             (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD)
 I3	  82491 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1523
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL3.H;1

 I3	  82492 # define SSL3_RT_MAX_ENCRYPTED_LENGTH    \
 I3	  82493             (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH)
 I3	  82494 # define SSL3_RT_MAX_TLS13_ENCRYPTED_LENGTH \
 I3	  82495             (SSL3_RT_MAX_PLAIN_LENGTH + SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD)
 I3	  82496 # define SSL3_RT_MAX_PACKET_SIZE         \
 I3	  82497             (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH)
 I3	  82498 
 I3	  82499 # define SSL3_MD_CLIENT_FINISHED_CONST   "\x43\x4C\x4E\x54"
 I3	  82500 # define SSL3_MD_SERVER_FINISHED_CONST   "\x53\x52\x56\x52"
 I3	  82501 
 I3	  82502 /* SSL3_VERSION is defined in prov_ssl.h */
 I3	  82503 # define SSL3_VERSION_MAJOR              0x03
 I3	  82504 # define SSL3_VERSION_MINOR              0x00
 I3	  82505 
 I3	  82506 # define SSL3_RT_CHANGE_CIPHER_SPEC      20
 I3	  82507 # define SSL3_RT_ALERT                   21
 I3	  82508 # define SSL3_RT_HANDSHAKE               22
 I3	  82509 # define SSL3_RT_APPLICATION_DATA        23
 I3	  82510 
 I3	  82511 /* Pseudo content types to indicate additional parameters */
 I3	  82512 # define TLS1_RT_CRYPTO                  0x1000
 I3	  82513 # define TLS1_RT_CRYPTO_PREMASTER        (TLS1_RT_CRYPTO | 0x1)
 I3	  82514 # define TLS1_RT_CRYPTO_CLIENT_RANDOM    (TLS1_RT_CRYPTO | 0x2)
 I3	  82515 # define TLS1_RT_CRYPTO_SERVER_RANDOM    (TLS1_RT_CRYPTO | 0x3)
 I3	  82516 # define TLS1_RT_CRYPTO_MASTER           (TLS1_RT_CRYPTO | 0x4)
 I3	  82517 
 I3	  82518 # define TLS1_RT_CRYPTO_READ             0x0000
 I3	  82519 # define TLS1_RT_CRYPTO_WRITE            0x0100
 I3	  82520 # define TLS1_RT_CRYPTO_MAC              (TLS1_RT_CRYPTO | 0x5)
 I3	  82521 # define TLS1_RT_CRYPTO_KEY              (TLS1_RT_CRYPTO | 0x6)
 I3	  82522 # define TLS1_RT_CRYPTO_IV               (TLS1_RT_CRYPTO | 0x7)
 I3	  82523 # define TLS1_RT_CRYPTO_FIXED_IV         (TLS1_RT_CRYPTO | 0x8)
 I3	  82524 
 I3	  82525 /* Pseudo content types for SSL/TLS header info */
 I3	  82526 # define SSL3_RT_HEADER                  0x100
 I3	  82527 # define SSL3_RT_INNER_CONTENT_TYPE      0x101
 I3	  82528 
 I3	  82529 # define SSL3_AL_WARNING                 1
 I3	  82530 # define SSL3_AL_FATAL                   2
 I3	  82531 
 I3	  82532 # define SSL3_AD_CLOSE_NOTIFY             0
 I3	  82533 # define SSL3_AD_UNEXPECTED_MESSAGE      10/* fatal */
 I3	  82534 # define SSL3_AD_BAD_RECORD_MAC          20/* fatal */
 I3	  82535 # define SSL3_AD_DECOMPRESSION_FAILURE   30/* fatal */
 I3	  82536 # define SSL3_AD_HANDSHAKE_FAILURE       40/* fatal */
 I3	  82537 # define SSL3_AD_NO_CERTIFICATE          41
 I3	  82538 # define SSL3_AD_BAD_CERTIFICATE         42
 I3	  82539 # define SSL3_AD_UNSUPPORTED_CERTIFICATE 43
 I3	  82540 # define SSL3_AD_CERTIFICATE_REVOKED     44
 I3	  82541 # define SSL3_AD_CERTIFICATE_EXPIRED     45
 I3	  82542 # define SSL3_AD_CERTIFICATE_UNKNOWN     46
 I3	  82543 # define SSL3_AD_ILLEGAL_PARAMETER       47/* fatal */
 I3	  82544 
 I3	  82545 # define TLS1_HB_REQUEST         1
 I3	  82546 # define TLS1_HB_RESPONSE        2
 I3	  82547 
 I3	  82548 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1524
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL3.H;1

 I3	  82549 # define SSL3_CT_RSA_SIGN                        1
 I3	  82550 # define SSL3_CT_DSS_SIGN                        2
 I3	  82551 # define SSL3_CT_RSA_FIXED_DH                    3
 I3	  82552 # define SSL3_CT_DSS_FIXED_DH                    4
 I3	  82553 # define SSL3_CT_RSA_EPHEMERAL_DH                5
 I3	  82554 # define SSL3_CT_DSS_EPHEMERAL_DH                6
 I3	  82555 # define SSL3_CT_FORTEZZA_DMS                    20
 I3	  82556 /*
 I3	  82557  * SSL3_CT_NUMBER is used to size arrays and it must be large enough to
 I3	  82558  * contain all of the cert types defined for *either* SSLv3 and TLSv1.
 I3	  82559  */
 I3	  82560 # define SSL3_CT_NUMBER                  12
 I3	  82561 
 I3    X  82562 # if defined(TLS_CT_NUMBER)
 I3    X  82563 #  if TLS_CT_NUMBER != SSL3_CT_NUMBER
 I3    X  82564 #    error "SSL/TLS CT_NUMBER values do not match"
 I3    X  82565 #  endif
 I3    X  82566 # endif
 I3	  82567 
 I3	  82568 /* No longer used as of OpenSSL 1.1.1 */
 I3	  82569 # define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS       0x0001
 I3	  82570 
 I3	  82571 /* Removed from OpenSSL 1.1.0 */
 I3	  82572 # define TLS1_FLAGS_TLS_PADDING_BUG              0x0
 I3	  82573 
 I3	  82574 # define TLS1_FLAGS_SKIP_CERT_VERIFY             0x0010
 I3	  82575 
 I3	  82576 /* Set if we encrypt then mac instead of usual mac then encrypt */
 I3	  82577 # define TLS1_FLAGS_ENCRYPT_THEN_MAC_READ        0x0100
 I3	  82578 # define TLS1_FLAGS_ENCRYPT_THEN_MAC             TLS1_FLAGS_ENCRYPT_THEN_MAC_READ
 I3	  82579 
 I3	  82580 /* Set if extended master secret extension received from peer */
 I3	  82581 # define TLS1_FLAGS_RECEIVED_EXTMS               0x0200
 I3	  82582 
 I3	  82583 # define TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE       0x0400
 I3	  82584 
 I3	  82585 # define TLS1_FLAGS_STATELESS                    0x0800
 I3	  82586 
 I3	  82587 /* Set if extended master secret extension required on renegotiation */
 I3	  82588 # define TLS1_FLAGS_REQUIRED_EXTMS               0x1000
 I3	  82589 
 I3	  82590 # define SSL3_MT_HELLO_REQUEST                   0
 I3	  82591 # define SSL3_MT_CLIENT_HELLO                    1
 I3	  82592 # define SSL3_MT_SERVER_HELLO                    2
 I3	  82593 # define SSL3_MT_NEWSESSION_TICKET               4
 I3	  82594 # define SSL3_MT_END_OF_EARLY_DATA               5
 I3	  82595 # define SSL3_MT_ENCRYPTED_EXTENSIONS            8
 I3	  82596 # define SSL3_MT_CERTIFICATE                     11
 I3	  82597 # define SSL3_MT_SERVER_KEY_EXCHANGE             12
 I3	  82598 # define SSL3_MT_CERTIFICATE_REQUEST             13
 I3	  82599 # define SSL3_MT_SERVER_DONE                     14
 I3	  82600 # define SSL3_MT_CERTIFICATE_VERIFY              15
 I3	  82601 # define SSL3_MT_CLIENT_KEY_EXCHANGE             16
 I3	  82602 # define SSL3_MT_FINISHED                        20
 I3	  82603 # define SSL3_MT_CERTIFICATE_URL                 21
 I3	  82604 # define SSL3_MT_CERTIFICATE_STATUS              22
 I3	  82605 # define SSL3_MT_SUPPLEMENTAL_DATA               23

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1525
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL3.H;1

 I3	  82606 # define SSL3_MT_KEY_UPDATE                      24
 I3	  82607 # ifndef OPENSSL_NO_NEXTPROTONEG
 I3	  82608 #  define SSL3_MT_NEXT_PROTO                     67
 I3	  82609 # endif
 I3	  82610 # define SSL3_MT_MESSAGE_HASH                    254
 I3	  82611 # define DTLS1_MT_HELLO_VERIFY_REQUEST           3
 I3	  82612 
 I3	  82613 /* Dummy message type for handling CCS like a normal handshake message */
 I3	  82614 # define SSL3_MT_CHANGE_CIPHER_SPEC              0x0101
 I3	  82615 
 I3	  82616 # define SSL3_MT_CCS                             1
 I3	  82617 
 I3	  82618 /* These are used when changing over to a new cipher */
 I3	  82619 # define SSL3_CC_READ            0x001
 I3	  82620 # define SSL3_CC_WRITE           0x002
 I3	  82621 # define SSL3_CC_CLIENT          0x010
 I3	  82622 # define SSL3_CC_SERVER          0x020
 I3	  82623 # define SSL3_CC_EARLY           0x040
 I3	  82624 # define SSL3_CC_HANDSHAKE       0x080
 I3	  82625 # define SSL3_CC_APPLICATION     0x100
 I3	  82626 # define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE)
 I3	  82627 # define SSL3_CHANGE_CIPHER_SERVER_READ  (SSL3_CC_SERVER|SSL3_CC_READ)
 I3	  82628 # define SSL3_CHANGE_CIPHER_CLIENT_READ  (SSL3_CC_CLIENT|SSL3_CC_READ)
 I3	  82629 # define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE)
 I3	  82630 
 I3    X  82631 #ifdef  __cplusplus
 I3    X  82632 }
 I3    X  82633 #endif
 I3	  82634 #endif
 I2	  82635 # include <openssl/tls1.h>      /* This is mostly sslv3 with a few tweaks */
 I3	  82636 /*
 I3	  82637  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  82638  * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
 I3	  82639  * Copyright 2005 Nokia. All rights reserved.
 I3	  82640  *
 I3	  82641  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  82642  * this file except in compliance with the License.  You can obtain a copy
 I3	  82643  * in the file LICENSE in the source distribution or at
 I3	  82644  * https://www.openssl.org/source/license.html
 I3	  82645  */
 I3	  82646 
 I3	  82647 #ifndef OPENSSL_TLS1_H
 I3	  82648 # define OPENSSL_TLS1_H
 I3	  82649 # pragma once
 I3	  82650 
 I3    X  82651 # include <openssl/macros.h>
 I3	  82652 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  82653 #  define HEADER_TLS1_H
 I3	  82654 # endif
 I3	  82655 
 I3    X  82656 # include <openssl/buffer.h>
 I3    X  82657 # include <openssl/x509.h>
 I3    X  82658 # include <openssl/prov_ssl.h>
 I3	  82659 
 I3    X  82660 #ifdef  __cplusplus
 I3    X  82661 extern "C" {
 I3    X  82662 #endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1526
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  82663 
 I3	  82664 /* Default security level if not overridden at config time */
 I3	  82665 # ifndef OPENSSL_TLS_SECURITY_LEVEL
 I3	  82666 #  define OPENSSL_TLS_SECURITY_LEVEL 1
 I3	  82667 # endif
 I3	  82668 
 I3	  82669 /* TLS*_VERSION constants are defined in prov_ssl.h */
 I3	  82670 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  82671 #  define TLS_MAX_VERSION                TLS1_3_VERSION
 I3	  82672 # endif
 I3	  82673 
 I3	  82674 /* Special value for method supporting multiple versions */
 I3	  82675 # define TLS_ANY_VERSION                 0x10000
 I3	  82676 
 I3	  82677 # define TLS1_VERSION_MAJOR              0x03
 I3	  82678 # define TLS1_VERSION_MINOR              0x01
 I3	  82679 
 I3	  82680 # define TLS1_1_VERSION_MAJOR            0x03
 I3	  82681 # define TLS1_1_VERSION_MINOR            0x02
 I3	  82682 
 I3	  82683 # define TLS1_2_VERSION_MAJOR            0x03
 I3	  82684 # define TLS1_2_VERSION_MINOR            0x03
 I3	  82685 
 I3	  82686 # define TLS1_get_version(s) \
 I3	  82687         ((SSL_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_version(s) : 0)
 I3	  82688 
 I3	  82689 # define TLS1_get_client_version(s) \
 I3	  82690         ((SSL_client_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_client_version(s) : 0)
 I3	  82691 
 I3	  82692 # define TLS1_AD_DECRYPTION_FAILED       21
 I3	  82693 # define TLS1_AD_RECORD_OVERFLOW         22
 I3	  82694 # define TLS1_AD_UNKNOWN_CA              48/* fatal */
 I3	  82695 # define TLS1_AD_ACCESS_DENIED           49/* fatal */
 I3	  82696 # define TLS1_AD_DECODE_ERROR            50/* fatal */
 I3	  82697 # define TLS1_AD_DECRYPT_ERROR           51
 I3	  82698 # define TLS1_AD_EXPORT_RESTRICTION      60/* fatal */
 I3	  82699 # define TLS1_AD_PROTOCOL_VERSION        70/* fatal */
 I3	  82700 # define TLS1_AD_INSUFFICIENT_SECURITY   71/* fatal */
 I3	  82701 # define TLS1_AD_INTERNAL_ERROR          80/* fatal */
 I3	  82702 # define TLS1_AD_INAPPROPRIATE_FALLBACK  86/* fatal */
 I3	  82703 # define TLS1_AD_USER_CANCELLED          90
 I3	  82704 # define TLS1_AD_NO_RENEGOTIATION        100
 I3	  82705 /* TLSv1.3 alerts */
 I3	  82706 # define TLS13_AD_MISSING_EXTENSION      109 /* fatal */
 I3	  82707 # define TLS13_AD_CERTIFICATE_REQUIRED   116 /* fatal */
 I3	  82708 /* codes 110-114 are from RFC3546 */
 I3	  82709 # define TLS1_AD_UNSUPPORTED_EXTENSION   110
 I3	  82710 # define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111
 I3	  82711 # define TLS1_AD_UNRECOGNIZED_NAME       112
 I3	  82712 # define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113
 I3	  82713 # define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114
 I3	  82714 # define TLS1_AD_UNKNOWN_PSK_IDENTITY    115/* fatal */
 I3	  82715 # define TLS1_AD_NO_APPLICATION_PROTOCOL 120 /* fatal */
 I3	  82716 
 I3	  82717 /* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */
 I3	  82718 # define TLSEXT_TYPE_server_name                 0
 I3	  82719 # define TLSEXT_TYPE_max_fragment_length         1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1527
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  82720 # define TLSEXT_TYPE_client_certificate_url      2
 I3	  82721 # define TLSEXT_TYPE_trusted_ca_keys             3
 I3	  82722 # define TLSEXT_TYPE_truncated_hmac              4
 I3	  82723 # define TLSEXT_TYPE_status_request              5
 I3	  82724 /* ExtensionType values from RFC4681 */
 I3	  82725 # define TLSEXT_TYPE_user_mapping                6
 I3	  82726 /* ExtensionType values from RFC5878 */
 I3	  82727 # define TLSEXT_TYPE_client_authz                7
 I3	  82728 # define TLSEXT_TYPE_server_authz                8
 I3	  82729 /* ExtensionType values from RFC6091 */
 I3	  82730 # define TLSEXT_TYPE_cert_type           9
 I3	  82731 
 I3	  82732 /* ExtensionType values from RFC4492 */
 I3	  82733 /*
 I3	  82734  * Prior to TLSv1.3 the supported_groups extension was known as
 I3	  82735  * elliptic_curves
 I3	  82736  */
 I3	  82737 # define TLSEXT_TYPE_supported_groups            10
 I3	  82738 # define TLSEXT_TYPE_elliptic_curves             TLSEXT_TYPE_supported_groups
 I3	  82739 # define TLSEXT_TYPE_ec_point_formats            11
 I3	  82740 
 I3	  82741 
 I3	  82742 /* ExtensionType value from RFC5054 */
 I3	  82743 # define TLSEXT_TYPE_srp                         12
 I3	  82744 
 I3	  82745 /* ExtensionType values from RFC5246 */
 I3	  82746 # define TLSEXT_TYPE_signature_algorithms        13
 I3	  82747 
 I3	  82748 /* ExtensionType value from RFC5764 */
 I3	  82749 # define TLSEXT_TYPE_use_srtp    14
 I3	  82750 
 I3	  82751 /* ExtensionType value from RFC7301 */
 I3	  82752 # define TLSEXT_TYPE_application_layer_protocol_negotiation 16
 I3	  82753 
 I3	  82754 /*
 I3	  82755  * Extension type for Certificate Transparency
 I3	  82756  * https://tools.ietf.org/html/rfc6962#section-3.3.1
 I3	  82757  */
 I3	  82758 # define TLSEXT_TYPE_signed_certificate_timestamp    18
 I3	  82759 
 I3	  82760 /*
 I3	  82761  * ExtensionType value for TLS padding extension.
 I3	  82762  * http://tools.ietf.org/html/draft-agl-tls-padding
 I3	  82763  */
 I3	  82764 # define TLSEXT_TYPE_padding     21
 I3	  82765 
 I3	  82766 /* ExtensionType value from RFC7366 */
 I3	  82767 # define TLSEXT_TYPE_encrypt_then_mac    22
 I3	  82768 
 I3	  82769 /* ExtensionType value from RFC7627 */
 I3	  82770 # define TLSEXT_TYPE_extended_master_secret      23
 I3	  82771 
 I3	  82772 /* ExtensionType value from RFC4507 */
 I3	  82773 # define TLSEXT_TYPE_session_ticket              35
 I3	  82774 
 I3	  82775 /* As defined for TLS1.3 */
 I3	  82776 # define TLSEXT_TYPE_psk                         41

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1528
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  82777 # define TLSEXT_TYPE_early_data                  42
 I3	  82778 # define TLSEXT_TYPE_supported_versions          43
 I3	  82779 # define TLSEXT_TYPE_cookie                      44
 I3	  82780 # define TLSEXT_TYPE_psk_kex_modes               45
 I3	  82781 # define TLSEXT_TYPE_certificate_authorities     47
 I3	  82782 # define TLSEXT_TYPE_post_handshake_auth         49
 I3	  82783 # define TLSEXT_TYPE_signature_algorithms_cert   50
 I3	  82784 # define TLSEXT_TYPE_key_share                   51
 I3	  82785 
 I3	  82786 /* Temporary extension type */
 I3	  82787 # define TLSEXT_TYPE_renegotiate                 0xff01
 I3	  82788 
 I3	  82789 # ifndef OPENSSL_NO_NEXTPROTONEG
 I3	  82790 /* This is not an IANA defined extension number */
 I3	  82791 #  define TLSEXT_TYPE_next_proto_neg              13172
 I3	  82792 # endif
 I3	  82793 
 I3	  82794 /* NameType value from RFC3546 */
 I3	  82795 # define TLSEXT_NAMETYPE_host_name 0
 I3	  82796 /* status request value from RFC3546 */
 I3	  82797 # define TLSEXT_STATUSTYPE_ocsp 1
 I3	  82798 
 I3	  82799 /* ECPointFormat values from RFC4492 */
 I3	  82800 # define TLSEXT_ECPOINTFORMAT_first                      0
 I3	  82801 # define TLSEXT_ECPOINTFORMAT_uncompressed               0
 I3	  82802 # define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime  1
 I3	  82803 # define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2  2
 I3	  82804 # define TLSEXT_ECPOINTFORMAT_last                       2
 I3	  82805 
 I3	  82806 /* Signature and hash algorithms from RFC5246 */
 I3	  82807 # define TLSEXT_signature_anonymous                      0
 I3	  82808 # define TLSEXT_signature_rsa                            1
 I3	  82809 # define TLSEXT_signature_dsa                            2
 I3	  82810 # define TLSEXT_signature_ecdsa                          3
 I3	  82811 # define TLSEXT_signature_gostr34102001                  237
 I3	  82812 # define TLSEXT_signature_gostr34102012_256              238
 I3	  82813 # define TLSEXT_signature_gostr34102012_512              239
 I3	  82814 
 I3	  82815 /* Total number of different signature algorithms */
 I3	  82816 # define TLSEXT_signature_num                            7
 I3	  82817 
 I3	  82818 # define TLSEXT_hash_none                                0
 I3	  82819 # define TLSEXT_hash_md5                                 1
 I3	  82820 # define TLSEXT_hash_sha1                                2
 I3	  82821 # define TLSEXT_hash_sha224                              3
 I3	  82822 # define TLSEXT_hash_sha256                              4
 I3	  82823 # define TLSEXT_hash_sha384                              5
 I3	  82824 # define TLSEXT_hash_sha512                              6
 I3	  82825 # define TLSEXT_hash_gostr3411                           237
 I3	  82826 # define TLSEXT_hash_gostr34112012_256                   238
 I3	  82827 # define TLSEXT_hash_gostr34112012_512                   239
 I3	  82828 
 I3	  82829 /* Total number of different digest algorithms */
 I3	  82830 
 I3	  82831 # define TLSEXT_hash_num                                 10
 I3	  82832 
 I3	  82833 /* Flag set for unrecognised algorithms */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1529
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  82834 # define TLSEXT_nid_unknown                              0x1000000
 I3	  82835 
 I3	  82836 /* ECC curves */
 I3	  82837 
 I3	  82838 # define TLSEXT_curve_P_256                              23
 I3	  82839 # define TLSEXT_curve_P_384                              24
 I3	  82840 
 I3	  82841 /* OpenSSL value to disable maximum fragment length extension */
 I3	  82842 # define TLSEXT_max_fragment_length_DISABLED    0
 I3	  82843 /* Allowed values for max fragment length extension */
 I3	  82844 # define TLSEXT_max_fragment_length_512         1
 I3	  82845 # define TLSEXT_max_fragment_length_1024        2
 I3	  82846 # define TLSEXT_max_fragment_length_2048        3
 I3	  82847 # define TLSEXT_max_fragment_length_4096        4
 I3	  82848 
 I3	  82849 int SSL_CTX_set_tlsext_max_fragment_length(SSL_CTX *ctx, uint8_t mode);
 I3	  82850 int SSL_set_tlsext_max_fragment_length(SSL *ssl, uint8_t mode);
 I3	  82851 
 I3	  82852 # define TLSEXT_MAXLEN_host_name 255
 I3	  82853 
 I3	  82854 __owur const char *SSL_get_servername(const SSL *s, const int type);
       E	 
 I3	  82855 __owur int SSL_get_servername_type(const SSL *s);
       E	 
 I3	  82856 /*
 I3	  82857  * SSL_export_keying_material exports a value derived from the master secret,
 I3	  82858  * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and
 I3	  82859  * optional context. (Since a zero length context is allowed, the |use_context|
 I3	  82860  * flag controls whether a context is included.) It returns 1 on success and
 I3	  82861  * 0 or -1 otherwise.
 I3	  82862  */
 I3	  82863 __owur int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen,
       E	 
 I3	  82864                                       const char *label, size_t llen,
 I3	  82865                                       const unsigned char *context,
 I3	  82866                                       size_t contextlen, int use_context);
 I3	  82867 
 I3	  82868 /*
 I3	  82869  * SSL_export_keying_material_early exports a value derived from the
 I3	  82870  * early exporter master secret, as specified in
 I3	  82871  * https://tools.ietf.org/html/draft-ietf-tls-tls13-23. It writes
 I3	  82872  * |olen| bytes to |out| given a label and optional context. It
 I3	  82873  * returns 1 on success and 0 otherwise.
 I3	  82874  */
 I3	  82875 __owur int SSL_export_keying_material_early(SSL *s, unsigned char *out,
       E	 
 I3	  82876                                             size_t olen, const char *label,
 I3	  82877                                             size_t llen,
 I3	  82878                                             const unsigned char *context,
 I3	  82879                                             size_t contextlen);
 I3	  82880 
 I3	  82881 int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid);
 I3	  82882 int SSL_get_signature_type_nid(const SSL *s, int *pnid);
 I3	  82883 
 I3	  82884 int SSL_get_sigalgs(SSL *s, int idx,
 I3	  82885                     int *psign, int *phash, int *psignandhash,
 I3	  82886                     unsigned char *rsig, unsigned char *rhash);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1530
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  82887 
 I3	  82888 int SSL_get_shared_sigalgs(SSL *s, int idx,
 I3	  82889                            int *psign, int *phash, int *psignandhash,
 I3	  82890                            unsigned char *rsig, unsigned char *rhash);
 I3	  82891 
 I3	  82892 __owur int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain);
       E	 
       E	                                                           struct stack_st_X509
 I3	  82893 
 I3	  82894 # define SSL_set_tlsext_host_name(s,name) \
 I3	  82895         SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,\
 I3	  82896                 (void *)name)
 I3	  82897 
 I3	  82898 # define SSL_set_tlsext_debug_callback(ssl, cb) \
 I3	  82899         SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,\
 I3	  82900                 (void (*)(void))cb)
 I3	  82901 
 I3	  82902 # define SSL_set_tlsext_debug_arg(ssl, arg) \
 I3	  82903         SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0,arg)
 I3	  82904 
 I3	  82905 # define SSL_get_tlsext_status_type(ssl) \
 I3	  82906         SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL)
 I3	  82907 
 I3	  82908 # define SSL_set_tlsext_status_type(ssl, type) \
 I3	  82909         SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL)
 I3	  82910 
 I3	  82911 # define SSL_get_tlsext_status_exts(ssl, arg) \
 I3	  82912         SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0,arg)
 I3	  82913 
 I3	  82914 # define SSL_set_tlsext_status_exts(ssl, arg) \
 I3	  82915         SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0,arg)
 I3	  82916 
 I3	  82917 # define SSL_get_tlsext_status_ids(ssl, arg) \
 I3	  82918         SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0,arg)
 I3	  82919 
 I3	  82920 # define SSL_set_tlsext_status_ids(ssl, arg) \
 I3	  82921         SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0,arg)
 I3	  82922 
 I3	  82923 # define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \
 I3	  82924         SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0,arg)
 I3	  82925 
 I3	  82926 # define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \
 I3	  82927         SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen,arg)
 I3	  82928 
 I3	  82929 # define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \
 I3	  82930         SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,\
 I3	  82931                 (void (*)(void))cb)
 I3	  82932 
 I3	  82933 # define SSL_TLSEXT_ERR_OK 0
 I3	  82934 # define SSL_TLSEXT_ERR_ALERT_WARNING 1
 I3	  82935 # define SSL_TLSEXT_ERR_ALERT_FATAL 2
 I3	  82936 # define SSL_TLSEXT_ERR_NOACK 3
 I3	  82937 
 I3	  82938 # define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \
 I3	  82939         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0,arg)
 I3	  82940 
 I3	  82941 # define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1531
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  82942         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_TLSEXT_TICKET_KEYS,keylen,keys)
 I3	  82943 # define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \
 I3	  82944         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_TICKET_KEYS,keylen,keys)
 I3	  82945 
 I3	  82946 # define SSL_CTX_get_tlsext_status_cb(ssl, cb) \
 I3	  82947         SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB,0,(void *)cb)
 I3	  82948 # define SSL_CTX_set_tlsext_status_cb(ssl, cb) \
 I3	  82949         SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,\
 I3	  82950                 (void (*)(void))cb)
 I3	  82951 
 I3	  82952 # define SSL_CTX_get_tlsext_status_arg(ssl, arg) \
 I3	  82953         SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG,0,arg)
 I3	  82954 # define SSL_CTX_set_tlsext_status_arg(ssl, arg) \
 I3	  82955         SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0,arg)
 I3	  82956 
 I3	  82957 # define SSL_CTX_set_tlsext_status_type(ssl, type) \
 I3	  82958         SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL)
 I3	  82959 
 I3	  82960 # define SSL_CTX_get_tlsext_status_type(ssl) \
 I3	  82961         SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL)
 I3	  82962 
 I3	  82963 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  82964 #  define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \
 I3	  82965         SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,\
 I3	  82966                 (void (*)(void))cb)
 I3	  82967 # endif
 I3	  82968 int SSL_CTX_set_tlsext_ticket_key_evp_cb
 I3	  82969     (SSL_CTX *ctx, int (*fp)(SSL *, unsigned char *, unsigned char *,
 I3	  82970                              EVP_CIPHER_CTX *, EVP_MAC_CTX *, int));
 I3	  82971 
 I3	  82972 /* PSK ciphersuites from 4279 */
 I3	  82973 # define TLS1_CK_PSK_WITH_RC4_128_SHA                    0x0300008A
 I3	  82974 # define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA               0x0300008B
 I3	  82975 # define TLS1_CK_PSK_WITH_AES_128_CBC_SHA                0x0300008C
 I3	  82976 # define TLS1_CK_PSK_WITH_AES_256_CBC_SHA                0x0300008D
 I3	  82977 # define TLS1_CK_DHE_PSK_WITH_RC4_128_SHA                0x0300008E
 I3	  82978 # define TLS1_CK_DHE_PSK_WITH_3DES_EDE_CBC_SHA           0x0300008F
 I3	  82979 # define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA            0x03000090
 I3	  82980 # define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA            0x03000091
 I3	  82981 # define TLS1_CK_RSA_PSK_WITH_RC4_128_SHA                0x03000092
 I3	  82982 # define TLS1_CK_RSA_PSK_WITH_3DES_EDE_CBC_SHA           0x03000093
 I3	  82983 # define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA            0x03000094
 I3	  82984 # define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA            0x03000095
 I3	  82985 
 I3	  82986 /* PSK ciphersuites from 5487 */
 I3	  82987 # define TLS1_CK_PSK_WITH_AES_128_GCM_SHA256             0x030000A8
 I3	  82988 # define TLS1_CK_PSK_WITH_AES_256_GCM_SHA384             0x030000A9
 I3	  82989 # define TLS1_CK_DHE_PSK_WITH_AES_128_GCM_SHA256         0x030000AA
 I3	  82990 # define TLS1_CK_DHE_PSK_WITH_AES_256_GCM_SHA384         0x030000AB
 I3	  82991 # define TLS1_CK_RSA_PSK_WITH_AES_128_GCM_SHA256         0x030000AC
 I3	  82992 # define TLS1_CK_RSA_PSK_WITH_AES_256_GCM_SHA384         0x030000AD
 I3	  82993 # define TLS1_CK_PSK_WITH_AES_128_CBC_SHA256             0x030000AE
 I3	  82994 # define TLS1_CK_PSK_WITH_AES_256_CBC_SHA384             0x030000AF
 I3	  82995 # define TLS1_CK_PSK_WITH_NULL_SHA256                    0x030000B0
 I3	  82996 # define TLS1_CK_PSK_WITH_NULL_SHA384                    0x030000B1
 I3	  82997 # define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA256         0x030000B2
 I3	  82998 # define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA384         0x030000B3

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1532
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  82999 # define TLS1_CK_DHE_PSK_WITH_NULL_SHA256                0x030000B4
 I3	  83000 # define TLS1_CK_DHE_PSK_WITH_NULL_SHA384                0x030000B5
 I3	  83001 # define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA256         0x030000B6
 I3	  83002 # define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA384         0x030000B7
 I3	  83003 # define TLS1_CK_RSA_PSK_WITH_NULL_SHA256                0x030000B8
 I3	  83004 # define TLS1_CK_RSA_PSK_WITH_NULL_SHA384                0x030000B9
 I3	  83005 
 I3	  83006 /* NULL PSK ciphersuites from RFC4785 */
 I3	  83007 # define TLS1_CK_PSK_WITH_NULL_SHA                       0x0300002C
 I3	  83008 # define TLS1_CK_DHE_PSK_WITH_NULL_SHA                   0x0300002D
 I3	  83009 # define TLS1_CK_RSA_PSK_WITH_NULL_SHA                   0x0300002E
 I3	  83010 
 I3	  83011 /* AES ciphersuites from RFC3268 */
 I3	  83012 # define TLS1_CK_RSA_WITH_AES_128_SHA                    0x0300002F
 I3	  83013 # define TLS1_CK_DH_DSS_WITH_AES_128_SHA                 0x03000030
 I3	  83014 # define TLS1_CK_DH_RSA_WITH_AES_128_SHA                 0x03000031
 I3	  83015 # define TLS1_CK_DHE_DSS_WITH_AES_128_SHA                0x03000032
 I3	  83016 # define TLS1_CK_DHE_RSA_WITH_AES_128_SHA                0x03000033
 I3	  83017 # define TLS1_CK_ADH_WITH_AES_128_SHA                    0x03000034
 I3	  83018 # define TLS1_CK_RSA_WITH_AES_256_SHA                    0x03000035
 I3	  83019 # define TLS1_CK_DH_DSS_WITH_AES_256_SHA                 0x03000036
 I3	  83020 # define TLS1_CK_DH_RSA_WITH_AES_256_SHA                 0x03000037
 I3	  83021 # define TLS1_CK_DHE_DSS_WITH_AES_256_SHA                0x03000038
 I3	  83022 # define TLS1_CK_DHE_RSA_WITH_AES_256_SHA                0x03000039
 I3	  83023 # define TLS1_CK_ADH_WITH_AES_256_SHA                    0x0300003A
 I3	  83024 
 I3	  83025 /* TLS v1.2 ciphersuites */
 I3	  83026 # define TLS1_CK_RSA_WITH_NULL_SHA256                    0x0300003B
 I3	  83027 # define TLS1_CK_RSA_WITH_AES_128_SHA256                 0x0300003C
 I3	  83028 # define TLS1_CK_RSA_WITH_AES_256_SHA256                 0x0300003D
 I3	  83029 # define TLS1_CK_DH_DSS_WITH_AES_128_SHA256              0x0300003E
 I3	  83030 # define TLS1_CK_DH_RSA_WITH_AES_128_SHA256              0x0300003F
 I3	  83031 # define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256             0x03000040
 I3	  83032 
 I3	  83033 /* Camellia ciphersuites from RFC4132 */
 I3	  83034 # define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA           0x03000041
 I3	  83035 # define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA        0x03000042
 I3	  83036 # define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA        0x03000043
 I3	  83037 # define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA       0x03000044
 I3	  83038 # define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA       0x03000045
 I3	  83039 # define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA           0x03000046
 I3	  83040 
 I3	  83041 /* TLS v1.2 ciphersuites */
 I3	  83042 # define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256             0x03000067
 I3	  83043 # define TLS1_CK_DH_DSS_WITH_AES_256_SHA256              0x03000068
 I3	  83044 # define TLS1_CK_DH_RSA_WITH_AES_256_SHA256              0x03000069
 I3	  83045 # define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256             0x0300006A
 I3	  83046 # define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256             0x0300006B
 I3	  83047 # define TLS1_CK_ADH_WITH_AES_128_SHA256                 0x0300006C
 I3	  83048 # define TLS1_CK_ADH_WITH_AES_256_SHA256                 0x0300006D
 I3	  83049 
 I3	  83050 /* Camellia ciphersuites from RFC4132 */
 I3	  83051 # define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA           0x03000084
 I3	  83052 # define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA        0x03000085
 I3	  83053 # define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA        0x03000086
 I3	  83054 # define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA       0x03000087
 I3	  83055 # define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA       0x03000088

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1533
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83056 # define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA           0x03000089
 I3	  83057 
 I3	  83058 /* SEED ciphersuites from RFC4162 */
 I3	  83059 # define TLS1_CK_RSA_WITH_SEED_SHA                       0x03000096
 I3	  83060 # define TLS1_CK_DH_DSS_WITH_SEED_SHA                    0x03000097
 I3	  83061 # define TLS1_CK_DH_RSA_WITH_SEED_SHA                    0x03000098
 I3	  83062 # define TLS1_CK_DHE_DSS_WITH_SEED_SHA                   0x03000099
 I3	  83063 # define TLS1_CK_DHE_RSA_WITH_SEED_SHA                   0x0300009A
 I3	  83064 # define TLS1_CK_ADH_WITH_SEED_SHA                       0x0300009B
 I3	  83065 
 I3	  83066 /* TLS v1.2 GCM ciphersuites from RFC5288 */
 I3	  83067 # define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256             0x0300009C
 I3	  83068 # define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384             0x0300009D
 I3	  83069 # define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256         0x0300009E
 I3	  83070 # define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384         0x0300009F
 I3	  83071 # define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256          0x030000A0
 I3	  83072 # define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384          0x030000A1
 I3	  83073 # define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256         0x030000A2
 I3	  83074 # define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384         0x030000A3
 I3	  83075 # define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256          0x030000A4
 I3	  83076 # define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384          0x030000A5
 I3	  83077 # define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256             0x030000A6
 I3	  83078 # define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384             0x030000A7
 I3	  83079 
 I3	  83080 /* CCM ciphersuites from RFC6655 */
 I3	  83081 # define TLS1_CK_RSA_WITH_AES_128_CCM                    0x0300C09C
 I3	  83082 # define TLS1_CK_RSA_WITH_AES_256_CCM                    0x0300C09D
 I3	  83083 # define TLS1_CK_DHE_RSA_WITH_AES_128_CCM                0x0300C09E
 I3	  83084 # define TLS1_CK_DHE_RSA_WITH_AES_256_CCM                0x0300C09F
 I3	  83085 # define TLS1_CK_RSA_WITH_AES_128_CCM_8                  0x0300C0A0
 I3	  83086 # define TLS1_CK_RSA_WITH_AES_256_CCM_8                  0x0300C0A1
 I3	  83087 # define TLS1_CK_DHE_RSA_WITH_AES_128_CCM_8              0x0300C0A2
 I3	  83088 # define TLS1_CK_DHE_RSA_WITH_AES_256_CCM_8              0x0300C0A3
 I3	  83089 # define TLS1_CK_PSK_WITH_AES_128_CCM                    0x0300C0A4
 I3	  83090 # define TLS1_CK_PSK_WITH_AES_256_CCM                    0x0300C0A5
 I3	  83091 # define TLS1_CK_DHE_PSK_WITH_AES_128_CCM                0x0300C0A6
 I3	  83092 # define TLS1_CK_DHE_PSK_WITH_AES_256_CCM                0x0300C0A7
 I3	  83093 # define TLS1_CK_PSK_WITH_AES_128_CCM_8                  0x0300C0A8
 I3	  83094 # define TLS1_CK_PSK_WITH_AES_256_CCM_8                  0x0300C0A9
 I3	  83095 # define TLS1_CK_DHE_PSK_WITH_AES_128_CCM_8              0x0300C0AA
 I3	  83096 # define TLS1_CK_DHE_PSK_WITH_AES_256_CCM_8              0x0300C0AB
 I3	  83097 
 I3	  83098 /* CCM ciphersuites from RFC7251 */
 I3	  83099 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM            0x0300C0AC
 I3	  83100 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM            0x0300C0AD
 I3	  83101 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM_8          0x0300C0AE
 I3	  83102 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM_8          0x0300C0AF
 I3	  83103 
 I3	  83104 /* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */
 I3	  83105 # define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA256                0x030000BA
 I3	  83106 # define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256             0x030000BB
 I3	  83107 # define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256             0x030000BC
 I3	  83108 # define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256            0x030000BD
 I3	  83109 # define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256            0x030000BE
 I3	  83110 # define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA256                0x030000BF
 I3	  83111 
 I3	  83112 # define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA256                0x030000C0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1534
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83113 # define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256             0x030000C1
 I3	  83114 # define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256             0x030000C2
 I3	  83115 # define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256            0x030000C3
 I3	  83116 # define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256            0x030000C4
 I3	  83117 # define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA256                0x030000C5
 I3	  83118 
 I3	  83119 /* ECC ciphersuites from RFC4492 */
 I3	  83120 # define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA                0x0300C001
 I3	  83121 # define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA             0x0300C002
 I3	  83122 # define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA        0x0300C003
 I3	  83123 # define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA         0x0300C004
 I3	  83124 # define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA         0x0300C005
 I3	  83125 
 I3	  83126 # define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA               0x0300C006
 I3	  83127 # define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA            0x0300C007
 I3	  83128 # define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA       0x0300C008
 I3	  83129 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA        0x0300C009
 I3	  83130 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA        0x0300C00A
 I3	  83131 
 I3	  83132 # define TLS1_CK_ECDH_RSA_WITH_NULL_SHA                  0x0300C00B
 I3	  83133 # define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA               0x0300C00C
 I3	  83134 # define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA          0x0300C00D
 I3	  83135 # define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA           0x0300C00E
 I3	  83136 # define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA           0x0300C00F
 I3	  83137 
 I3	  83138 # define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA                 0x0300C010
 I3	  83139 # define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA              0x0300C011
 I3	  83140 # define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA         0x0300C012
 I3	  83141 # define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA          0x0300C013
 I3	  83142 # define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA          0x0300C014
 I3	  83143 
 I3	  83144 # define TLS1_CK_ECDH_anon_WITH_NULL_SHA                 0x0300C015
 I3	  83145 # define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA              0x0300C016
 I3	  83146 # define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA         0x0300C017
 I3	  83147 # define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA          0x0300C018
 I3	  83148 # define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA          0x0300C019
 I3	  83149 
 I3	  83150 /* SRP ciphersuites from RFC 5054 */
 I3	  83151 # define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA           0x0300C01A
 I3	  83152 # define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA       0x0300C01B
 I3	  83153 # define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA       0x0300C01C
 I3	  83154 # define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA            0x0300C01D
 I3	  83155 # define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA        0x0300C01E
 I3	  83156 # define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA        0x0300C01F
 I3	  83157 # define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA            0x0300C020
 I3	  83158 # define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA        0x0300C021
 I3	  83159 # define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA        0x0300C022
 I3	  83160 
 I3	  83161 /* ECDH HMAC based ciphersuites from RFC5289 */
 I3	  83162 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256         0x0300C023
 I3	  83163 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384         0x0300C024
 I3	  83164 # define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256          0x0300C025
 I3	  83165 # define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384          0x0300C026
 I3	  83166 # define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256           0x0300C027
 I3	  83167 # define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384           0x0300C028
 I3	  83168 # define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256            0x0300C029
 I3	  83169 # define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384            0x0300C02A

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1535
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83170 
 I3	  83171 /* ECDH GCM based ciphersuites from RFC5289 */
 I3	  83172 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256     0x0300C02B
 I3	  83173 # define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384     0x0300C02C
 I3	  83174 # define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256      0x0300C02D
 I3	  83175 # define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384      0x0300C02E
 I3	  83176 # define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256       0x0300C02F
 I3	  83177 # define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384       0x0300C030
 I3	  83178 # define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256        0x0300C031
 I3	  83179 # define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384        0x0300C032
 I3	  83180 
 I3	  83181 /* ECDHE PSK ciphersuites from RFC5489 */
 I3	  83182 # define TLS1_CK_ECDHE_PSK_WITH_RC4_128_SHA              0x0300C033
 I3	  83183 # define TLS1_CK_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA         0x0300C034
 I3	  83184 # define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA          0x0300C035
 I3	  83185 # define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA          0x0300C036
 I3	  83186 
 I3	  83187 # define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA256       0x0300C037
 I3	  83188 # define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA384       0x0300C038
 I3	  83189 
 I3	  83190 /* NULL PSK ciphersuites from RFC4785 */
 I3	  83191 # define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA                 0x0300C039
 I3	  83192 # define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA256              0x0300C03A
 I3	  83193 # define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA384              0x0300C03B
 I3	  83194 
 I3	  83195 /* Camellia-CBC ciphersuites from RFC6367 */
 I3	  83196 # define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C072
 I3	  83197 # define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C073
 I3	  83198 # define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  0x0300C074
 I3	  83199 # define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  0x0300C075
 I3	  83200 # define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   0x0300C076
 I3	  83201 # define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   0x0300C077
 I3	  83202 # define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    0x0300C078
 I3	  83203 # define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    0x0300C079
 I3	  83204 
 I3	  83205 # define TLS1_CK_PSK_WITH_CAMELLIA_128_CBC_SHA256         0x0300C094
 I3	  83206 # define TLS1_CK_PSK_WITH_CAMELLIA_256_CBC_SHA384         0x0300C095
 I3	  83207 # define TLS1_CK_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256     0x0300C096
 I3	  83208 # define TLS1_CK_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384     0x0300C097
 I3	  83209 # define TLS1_CK_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256     0x0300C098
 I3	  83210 # define TLS1_CK_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384     0x0300C099
 I3	  83211 # define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256   0x0300C09A
 I3	  83212 # define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384   0x0300C09B
 I3	  83213 
 I3	  83214 /* draft-ietf-tls-chacha20-poly1305-03 */
 I3	  83215 # define TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305         0x0300CCA8
 I3	  83216 # define TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305       0x0300CCA9
 I3	  83217 # define TLS1_CK_DHE_RSA_WITH_CHACHA20_POLY1305           0x0300CCAA
 I3	  83218 # define TLS1_CK_PSK_WITH_CHACHA20_POLY1305               0x0300CCAB
 I3	  83219 # define TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305         0x0300CCAC
 I3	  83220 # define TLS1_CK_DHE_PSK_WITH_CHACHA20_POLY1305           0x0300CCAD
 I3	  83221 # define TLS1_CK_RSA_PSK_WITH_CHACHA20_POLY1305           0x0300CCAE
 I3	  83222 
 I3	  83223 /* TLS v1.3 ciphersuites */
 I3	  83224 # define TLS1_3_CK_AES_128_GCM_SHA256                     0x03001301
 I3	  83225 # define TLS1_3_CK_AES_256_GCM_SHA384                     0x03001302
 I3	  83226 # define TLS1_3_CK_CHACHA20_POLY1305_SHA256               0x03001303

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1536
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83227 # define TLS1_3_CK_AES_128_CCM_SHA256                     0x03001304
 I3	  83228 # define TLS1_3_CK_AES_128_CCM_8_SHA256                   0x03001305
 I3	  83229 
 I3	  83230 /* Aria ciphersuites from RFC6209 */
 I3	  83231 # define TLS1_CK_RSA_WITH_ARIA_128_GCM_SHA256             0x0300C050
 I3	  83232 # define TLS1_CK_RSA_WITH_ARIA_256_GCM_SHA384             0x0300C051
 I3	  83233 # define TLS1_CK_DHE_RSA_WITH_ARIA_128_GCM_SHA256         0x0300C052
 I3	  83234 # define TLS1_CK_DHE_RSA_WITH_ARIA_256_GCM_SHA384         0x0300C053
 I3	  83235 # define TLS1_CK_DH_RSA_WITH_ARIA_128_GCM_SHA256          0x0300C054
 I3	  83236 # define TLS1_CK_DH_RSA_WITH_ARIA_256_GCM_SHA384          0x0300C055
 I3	  83237 # define TLS1_CK_DHE_DSS_WITH_ARIA_128_GCM_SHA256         0x0300C056
 I3	  83238 # define TLS1_CK_DHE_DSS_WITH_ARIA_256_GCM_SHA384         0x0300C057
 I3	  83239 # define TLS1_CK_DH_DSS_WITH_ARIA_128_GCM_SHA256          0x0300C058
 I3	  83240 # define TLS1_CK_DH_DSS_WITH_ARIA_256_GCM_SHA384          0x0300C059
 I3	  83241 # define TLS1_CK_DH_anon_WITH_ARIA_128_GCM_SHA256         0x0300C05A
 I3	  83242 # define TLS1_CK_DH_anon_WITH_ARIA_256_GCM_SHA384         0x0300C05B
 I3	  83243 # define TLS1_CK_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256     0x0300C05C
 I3	  83244 # define TLS1_CK_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384     0x0300C05D
 I3	  83245 # define TLS1_CK_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256      0x0300C05E
 I3	  83246 # define TLS1_CK_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384      0x0300C05F
 I3	  83247 # define TLS1_CK_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256       0x0300C060
 I3	  83248 # define TLS1_CK_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384       0x0300C061
 I3	  83249 # define TLS1_CK_ECDH_RSA_WITH_ARIA_128_GCM_SHA256        0x0300C062
 I3	  83250 # define TLS1_CK_ECDH_RSA_WITH_ARIA_256_GCM_SHA384        0x0300C063
 I3	  83251 # define TLS1_CK_PSK_WITH_ARIA_128_GCM_SHA256             0x0300C06A
 I3	  83252 # define TLS1_CK_PSK_WITH_ARIA_256_GCM_SHA384             0x0300C06B
 I3	  83253 # define TLS1_CK_DHE_PSK_WITH_ARIA_128_GCM_SHA256         0x0300C06C
 I3	  83254 # define TLS1_CK_DHE_PSK_WITH_ARIA_256_GCM_SHA384         0x0300C06D
 I3	  83255 # define TLS1_CK_RSA_PSK_WITH_ARIA_128_GCM_SHA256         0x0300C06E
 I3	  83256 # define TLS1_CK_RSA_PSK_WITH_ARIA_256_GCM_SHA384         0x0300C06F
 I3	  83257 
 I3	  83258 /* a bundle of RFC standard cipher names, generated from ssl3_ciphers[] */
 I3	  83259 # define TLS1_RFC_RSA_WITH_AES_128_SHA                   "TLS_RSA_WITH_AES_128_CBC_SHA"
 I3	  83260 # define TLS1_RFC_DHE_DSS_WITH_AES_128_SHA               "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"
 I3	  83261 # define TLS1_RFC_DHE_RSA_WITH_AES_128_SHA               "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
 I3	  83262 # define TLS1_RFC_ADH_WITH_AES_128_SHA                   "TLS_DH_anon_WITH_AES_128_CBC_SHA"
 I3	  83263 # define TLS1_RFC_RSA_WITH_AES_256_SHA                   "TLS_RSA_WITH_AES_256_CBC_SHA"
 I3	  83264 # define TLS1_RFC_DHE_DSS_WITH_AES_256_SHA               "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
 I3	  83265 # define TLS1_RFC_DHE_RSA_WITH_AES_256_SHA               "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
 I3	  83266 # define TLS1_RFC_ADH_WITH_AES_256_SHA                   "TLS_DH_anon_WITH_AES_256_CBC_SHA"
 I3	  83267 # define TLS1_RFC_RSA_WITH_NULL_SHA256                   "TLS_RSA_WITH_NULL_SHA256"
 I3	  83268 # define TLS1_RFC_RSA_WITH_AES_128_SHA256                "TLS_RSA_WITH_AES_128_CBC_SHA256"
 I3	  83269 # define TLS1_RFC_RSA_WITH_AES_256_SHA256                "TLS_RSA_WITH_AES_256_CBC_SHA256"
 I3	  83270 # define TLS1_RFC_DHE_DSS_WITH_AES_128_SHA256            "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"
 I3	  83271 # define TLS1_RFC_DHE_RSA_WITH_AES_128_SHA256            "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"
 I3	  83272 # define TLS1_RFC_DHE_DSS_WITH_AES_256_SHA256            "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"
 I3	  83273 # define TLS1_RFC_DHE_RSA_WITH_AES_256_SHA256            "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"
 I3	  83274 # define TLS1_RFC_ADH_WITH_AES_128_SHA256                "TLS_DH_anon_WITH_AES_128_CBC_SHA256"
 I3	  83275 # define TLS1_RFC_ADH_WITH_AES_256_SHA256                "TLS_DH_anon_WITH_AES_256_CBC_SHA256"
 I3	  83276 # define TLS1_RFC_RSA_WITH_AES_128_GCM_SHA256            "TLS_RSA_WITH_AES_128_GCM_SHA256"
 I3	  83277 # define TLS1_RFC_RSA_WITH_AES_256_GCM_SHA384            "TLS_RSA_WITH_AES_256_GCM_SHA384"
 I3	  83278 # define TLS1_RFC_DHE_RSA_WITH_AES_128_GCM_SHA256        "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
 I3	  83279 # define TLS1_RFC_DHE_RSA_WITH_AES_256_GCM_SHA384        "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"
 I3	  83280 # define TLS1_RFC_DHE_DSS_WITH_AES_128_GCM_SHA256        "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"
 I3	  83281 # define TLS1_RFC_DHE_DSS_WITH_AES_256_GCM_SHA384        "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"
 I3	  83282 # define TLS1_RFC_ADH_WITH_AES_128_GCM_SHA256            "TLS_DH_anon_WITH_AES_128_GCM_SHA256"
 I3	  83283 # define TLS1_RFC_ADH_WITH_AES_256_GCM_SHA384            "TLS_DH_anon_WITH_AES_256_GCM_SHA384"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1537
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83284 # define TLS1_RFC_RSA_WITH_AES_128_CCM                   "TLS_RSA_WITH_AES_128_CCM"
 I3	  83285 # define TLS1_RFC_RSA_WITH_AES_256_CCM                   "TLS_RSA_WITH_AES_256_CCM"
 I3	  83286 # define TLS1_RFC_DHE_RSA_WITH_AES_128_CCM               "TLS_DHE_RSA_WITH_AES_128_CCM"
 I3	  83287 # define TLS1_RFC_DHE_RSA_WITH_AES_256_CCM               "TLS_DHE_RSA_WITH_AES_256_CCM"
 I3	  83288 # define TLS1_RFC_RSA_WITH_AES_128_CCM_8                 "TLS_RSA_WITH_AES_128_CCM_8"
 I3	  83289 # define TLS1_RFC_RSA_WITH_AES_256_CCM_8                 "TLS_RSA_WITH_AES_256_CCM_8"
 I3	  83290 # define TLS1_RFC_DHE_RSA_WITH_AES_128_CCM_8             "TLS_DHE_RSA_WITH_AES_128_CCM_8"
 I3	  83291 # define TLS1_RFC_DHE_RSA_WITH_AES_256_CCM_8             "TLS_DHE_RSA_WITH_AES_256_CCM_8"
 I3	  83292 # define TLS1_RFC_PSK_WITH_AES_128_CCM                   "TLS_PSK_WITH_AES_128_CCM"
 I3	  83293 # define TLS1_RFC_PSK_WITH_AES_256_CCM                   "TLS_PSK_WITH_AES_256_CCM"
 I3	  83294 # define TLS1_RFC_DHE_PSK_WITH_AES_128_CCM               "TLS_DHE_PSK_WITH_AES_128_CCM"
 I3	  83295 # define TLS1_RFC_DHE_PSK_WITH_AES_256_CCM               "TLS_DHE_PSK_WITH_AES_256_CCM"
 I3	  83296 # define TLS1_RFC_PSK_WITH_AES_128_CCM_8                 "TLS_PSK_WITH_AES_128_CCM_8"
 I3	  83297 # define TLS1_RFC_PSK_WITH_AES_256_CCM_8                 "TLS_PSK_WITH_AES_256_CCM_8"
 I3	  83298 # define TLS1_RFC_DHE_PSK_WITH_AES_128_CCM_8             "TLS_PSK_DHE_WITH_AES_128_CCM_8"
 I3	  83299 # define TLS1_RFC_DHE_PSK_WITH_AES_256_CCM_8             "TLS_PSK_DHE_WITH_AES_256_CCM_8"
 I3	  83300 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM           "TLS_ECDHE_ECDSA_WITH_AES_128_CCM"
 I3	  83301 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM           "TLS_ECDHE_ECDSA_WITH_AES_256_CCM"
 I3	  83302 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM_8         "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8"
 I3	  83303 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM_8         "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8"
 I3	  83304 # define TLS1_3_RFC_AES_128_GCM_SHA256                   "TLS_AES_128_GCM_SHA256"
 I3	  83305 # define TLS1_3_RFC_AES_256_GCM_SHA384                   "TLS_AES_256_GCM_SHA384"
 I3	  83306 # define TLS1_3_RFC_CHACHA20_POLY1305_SHA256             "TLS_CHACHA20_POLY1305_SHA256"
 I3	  83307 # define TLS1_3_RFC_AES_128_CCM_SHA256                   "TLS_AES_128_CCM_SHA256"
 I3	  83308 # define TLS1_3_RFC_AES_128_CCM_8_SHA256                 "TLS_AES_128_CCM_8_SHA256"
 I3	  83309 # define TLS1_RFC_ECDHE_ECDSA_WITH_NULL_SHA              "TLS_ECDHE_ECDSA_WITH_NULL_SHA"
 I3	  83310 # define TLS1_RFC_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA      "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"
 I3	  83311 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CBC_SHA       "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"
 I3	  83312 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CBC_SHA       "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
 I3	  83313 # define TLS1_RFC_ECDHE_RSA_WITH_NULL_SHA                "TLS_ECDHE_RSA_WITH_NULL_SHA"
 I3	  83314 # define TLS1_RFC_ECDHE_RSA_WITH_DES_192_CBC3_SHA        "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"
 I3	  83315 # define TLS1_RFC_ECDHE_RSA_WITH_AES_128_CBC_SHA         "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
 I3	  83316 # define TLS1_RFC_ECDHE_RSA_WITH_AES_256_CBC_SHA         "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
 I3	  83317 # define TLS1_RFC_ECDH_anon_WITH_NULL_SHA                "TLS_ECDH_anon_WITH_NULL_SHA"
 I3	  83318 # define TLS1_RFC_ECDH_anon_WITH_DES_192_CBC3_SHA        "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"
 I3	  83319 # define TLS1_RFC_ECDH_anon_WITH_AES_128_CBC_SHA         "TLS_ECDH_anon_WITH_AES_128_CBC_SHA"
 I3	  83320 # define TLS1_RFC_ECDH_anon_WITH_AES_256_CBC_SHA         "TLS_ECDH_anon_WITH_AES_256_CBC_SHA"
 I3	  83321 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_SHA256        "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
 I3	  83322 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_SHA384        "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
 I3	  83323 # define TLS1_RFC_ECDHE_RSA_WITH_AES_128_SHA256          "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
 I3	  83324 # define TLS1_RFC_ECDHE_RSA_WITH_AES_256_SHA384          "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
 I3	  83325 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256    "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
 I3	  83326 # define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384    "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
 I3	  83327 # define TLS1_RFC_ECDHE_RSA_WITH_AES_128_GCM_SHA256      "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
 I3	  83328 # define TLS1_RFC_ECDHE_RSA_WITH_AES_256_GCM_SHA384      "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
 I3	  83329 # define TLS1_RFC_PSK_WITH_NULL_SHA                      "TLS_PSK_WITH_NULL_SHA"
 I3	  83330 # define TLS1_RFC_DHE_PSK_WITH_NULL_SHA                  "TLS_DHE_PSK_WITH_NULL_SHA"
 I3	  83331 # define TLS1_RFC_RSA_PSK_WITH_NULL_SHA                  "TLS_RSA_PSK_WITH_NULL_SHA"
 I3	  83332 # define TLS1_RFC_PSK_WITH_3DES_EDE_CBC_SHA              "TLS_PSK_WITH_3DES_EDE_CBC_SHA"
 I3	  83333 # define TLS1_RFC_PSK_WITH_AES_128_CBC_SHA               "TLS_PSK_WITH_AES_128_CBC_SHA"
 I3	  83334 # define TLS1_RFC_PSK_WITH_AES_256_CBC_SHA               "TLS_PSK_WITH_AES_256_CBC_SHA"
 I3	  83335 # define TLS1_RFC_DHE_PSK_WITH_3DES_EDE_CBC_SHA          "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA"
 I3	  83336 # define TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA           "TLS_DHE_PSK_WITH_AES_128_CBC_SHA"
 I3	  83337 # define TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA           "TLS_DHE_PSK_WITH_AES_256_CBC_SHA"
 I3	  83338 # define TLS1_RFC_RSA_PSK_WITH_3DES_EDE_CBC_SHA          "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA"
 I3	  83339 # define TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA           "TLS_RSA_PSK_WITH_AES_128_CBC_SHA"
 I3	  83340 # define TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA           "TLS_RSA_PSK_WITH_AES_256_CBC_SHA"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1538
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83341 # define TLS1_RFC_PSK_WITH_AES_128_GCM_SHA256            "TLS_PSK_WITH_AES_128_GCM_SHA256"
 I3	  83342 # define TLS1_RFC_PSK_WITH_AES_256_GCM_SHA384            "TLS_PSK_WITH_AES_256_GCM_SHA384"
 I3	  83343 # define TLS1_RFC_DHE_PSK_WITH_AES_128_GCM_SHA256        "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256"
 I3	  83344 # define TLS1_RFC_DHE_PSK_WITH_AES_256_GCM_SHA384        "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"
 I3	  83345 # define TLS1_RFC_RSA_PSK_WITH_AES_128_GCM_SHA256        "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256"
 I3	  83346 # define TLS1_RFC_RSA_PSK_WITH_AES_256_GCM_SHA384        "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384"
 I3	  83347 # define TLS1_RFC_PSK_WITH_AES_128_CBC_SHA256            "TLS_PSK_WITH_AES_128_CBC_SHA256"
 I3	  83348 # define TLS1_RFC_PSK_WITH_AES_256_CBC_SHA384            "TLS_PSK_WITH_AES_256_CBC_SHA384"
 I3	  83349 # define TLS1_RFC_PSK_WITH_NULL_SHA256                   "TLS_PSK_WITH_NULL_SHA256"
 I3	  83350 # define TLS1_RFC_PSK_WITH_NULL_SHA384                   "TLS_PSK_WITH_NULL_SHA384"
 I3	  83351 # define TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA256        "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256"
 I3	  83352 # define TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA384        "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384"
 I3	  83353 # define TLS1_RFC_DHE_PSK_WITH_NULL_SHA256               "TLS_DHE_PSK_WITH_NULL_SHA256"
 I3	  83354 # define TLS1_RFC_DHE_PSK_WITH_NULL_SHA384               "TLS_DHE_PSK_WITH_NULL_SHA384"
 I3	  83355 # define TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA256        "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256"
 I3	  83356 # define TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA384        "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384"
 I3	  83357 # define TLS1_RFC_RSA_PSK_WITH_NULL_SHA256               "TLS_RSA_PSK_WITH_NULL_SHA256"
 I3	  83358 # define TLS1_RFC_RSA_PSK_WITH_NULL_SHA384               "TLS_RSA_PSK_WITH_NULL_SHA384"
 I3	  83359 # define TLS1_RFC_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA        "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA"
 I3	  83360 # define TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA         "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA"
 I3	  83361 # define TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA         "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA"
 I3	  83362 # define TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA256      "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256"
 I3	  83363 # define TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA384      "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384"
 I3	  83364 # define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA                "TLS_ECDHE_PSK_WITH_NULL_SHA"
 I3	  83365 # define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA256             "TLS_ECDHE_PSK_WITH_NULL_SHA256"
 I3	  83366 # define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA384             "TLS_ECDHE_PSK_WITH_NULL_SHA384"
 I3	  83367 # define TLS1_RFC_SRP_SHA_WITH_3DES_EDE_CBC_SHA          "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA"
 I3	  83368 # define TLS1_RFC_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA      "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA"
 I3	  83369 # define TLS1_RFC_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA      "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA"
 I3	  83370 # define TLS1_RFC_SRP_SHA_WITH_AES_128_CBC_SHA           "TLS_SRP_SHA_WITH_AES_128_CBC_SHA"
 I3	  83371 # define TLS1_RFC_SRP_SHA_RSA_WITH_AES_128_CBC_SHA       "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA"
 I3	  83372 # define TLS1_RFC_SRP_SHA_DSS_WITH_AES_128_CBC_SHA       "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA"
 I3	  83373 # define TLS1_RFC_SRP_SHA_WITH_AES_256_CBC_SHA           "TLS_SRP_SHA_WITH_AES_256_CBC_SHA"
 I3	  83374 # define TLS1_RFC_SRP_SHA_RSA_WITH_AES_256_CBC_SHA       "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA"
 I3	  83375 # define TLS1_RFC_SRP_SHA_DSS_WITH_AES_256_CBC_SHA       "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA"
 I3	  83376 # define TLS1_RFC_DHE_RSA_WITH_CHACHA20_POLY1305         "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
 I3	  83377 # define TLS1_RFC_ECDHE_RSA_WITH_CHACHA20_POLY1305       "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
 I3	  83378 # define TLS1_RFC_ECDHE_ECDSA_WITH_CHACHA20_POLY1305     "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
 I3	  83379 # define TLS1_RFC_PSK_WITH_CHACHA20_POLY1305             "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256"
 I3	  83380 # define TLS1_RFC_ECDHE_PSK_WITH_CHACHA20_POLY1305       "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256"
 I3	  83381 # define TLS1_RFC_DHE_PSK_WITH_CHACHA20_POLY1305         "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256"
 I3	  83382 # define TLS1_RFC_RSA_PSK_WITH_CHACHA20_POLY1305         "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256"
 I3	  83383 # define TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA256       "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83384 # define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256   "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83385 # define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83386 # define TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA256       "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83387 # define TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA256       "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256"
 I3	  83388 # define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256   "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256"
 I3	  83389 # define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256   "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256"
 I3	  83390 # define TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA256       "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256"
 I3	  83391 # define TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA          "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"
 I3	  83392 # define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA      "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"
 I3	  83393 # define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA      "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"
 I3	  83394 # define TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA          "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"
 I3	  83395 # define TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA          "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"
 I3	  83396 # define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA      "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"
 I3	  83397 # define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA      "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1539
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83398 # define TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA          "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"
 I3	  83399 # define TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83400 # define TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"
 I3	  83401 # define TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83402 # define TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384"
 I3	  83403 # define TLS1_RFC_PSK_WITH_CAMELLIA_128_CBC_SHA256       "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83404 # define TLS1_RFC_PSK_WITH_CAMELLIA_256_CBC_SHA384       "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384"
 I3	  83405 # define TLS1_RFC_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256   "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83406 # define TLS1_RFC_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384   "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"
 I3	  83407 # define TLS1_RFC_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256   "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83408 # define TLS1_RFC_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384   "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384"
 I3	  83409 # define TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"
 I3	  83410 # define TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"
 I3	  83411 # define TLS1_RFC_RSA_WITH_SEED_SHA                      "TLS_RSA_WITH_SEED_CBC_SHA"
 I3	  83412 # define TLS1_RFC_DHE_DSS_WITH_SEED_SHA                  "TLS_DHE_DSS_WITH_SEED_CBC_SHA"
 I3	  83413 # define TLS1_RFC_DHE_RSA_WITH_SEED_SHA                  "TLS_DHE_RSA_WITH_SEED_CBC_SHA"
 I3	  83414 # define TLS1_RFC_ADH_WITH_SEED_SHA                      "TLS_DH_anon_WITH_SEED_CBC_SHA"
 I3	  83415 # define TLS1_RFC_ECDHE_PSK_WITH_RC4_128_SHA             "TLS_ECDHE_PSK_WITH_RC4_128_SHA"
 I3	  83416 # define TLS1_RFC_ECDH_anon_WITH_RC4_128_SHA             "TLS_ECDH_anon_WITH_RC4_128_SHA"
 I3	  83417 # define TLS1_RFC_ECDHE_ECDSA_WITH_RC4_128_SHA           "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"
 I3	  83418 # define TLS1_RFC_ECDHE_RSA_WITH_RC4_128_SHA             "TLS_ECDHE_RSA_WITH_RC4_128_SHA"
 I3	  83419 # define TLS1_RFC_PSK_WITH_RC4_128_SHA                   "TLS_PSK_WITH_RC4_128_SHA"
 I3	  83420 # define TLS1_RFC_RSA_PSK_WITH_RC4_128_SHA               "TLS_RSA_PSK_WITH_RC4_128_SHA"
 I3	  83421 # define TLS1_RFC_DHE_PSK_WITH_RC4_128_SHA               "TLS_DHE_PSK_WITH_RC4_128_SHA"
 I3	  83422 # define TLS1_RFC_RSA_WITH_ARIA_128_GCM_SHA256           "TLS_RSA_WITH_ARIA_128_GCM_SHA256"
 I3	  83423 # define TLS1_RFC_RSA_WITH_ARIA_256_GCM_SHA384           "TLS_RSA_WITH_ARIA_256_GCM_SHA384"
 I3	  83424 # define TLS1_RFC_DHE_RSA_WITH_ARIA_128_GCM_SHA256       "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256"
 I3	  83425 # define TLS1_RFC_DHE_RSA_WITH_ARIA_256_GCM_SHA384       "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384"
 I3	  83426 # define TLS1_RFC_DH_RSA_WITH_ARIA_128_GCM_SHA256        "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256"
 I3	  83427 # define TLS1_RFC_DH_RSA_WITH_ARIA_256_GCM_SHA384        "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384"
 I3	  83428 # define TLS1_RFC_DHE_DSS_WITH_ARIA_128_GCM_SHA256       "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256"
 I3	  83429 # define TLS1_RFC_DHE_DSS_WITH_ARIA_256_GCM_SHA384       "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384"
 I3	  83430 # define TLS1_RFC_DH_DSS_WITH_ARIA_128_GCM_SHA256        "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256"
 I3	  83431 # define TLS1_RFC_DH_DSS_WITH_ARIA_256_GCM_SHA384        "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384"
 I3	  83432 # define TLS1_RFC_DH_anon_WITH_ARIA_128_GCM_SHA256       "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256"
 I3	  83433 # define TLS1_RFC_DH_anon_WITH_ARIA_256_GCM_SHA384       "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384"
 I3	  83434 # define TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256   "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256"
 I3	  83435 # define TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384   "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384"
 I3	  83436 # define TLS1_RFC_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256    "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256"
 I3	  83437 # define TLS1_RFC_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384    "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384"
 I3	  83438 # define TLS1_RFC_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256     "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256"
 I3	  83439 # define TLS1_RFC_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384     "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384"
 I3	  83440 # define TLS1_RFC_ECDH_RSA_WITH_ARIA_128_GCM_SHA256      "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256"
 I3	  83441 # define TLS1_RFC_ECDH_RSA_WITH_ARIA_256_GCM_SHA384      "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384"
 I3	  83442 # define TLS1_RFC_PSK_WITH_ARIA_128_GCM_SHA256           "TLS_PSK_WITH_ARIA_128_GCM_SHA256"
 I3	  83443 # define TLS1_RFC_PSK_WITH_ARIA_256_GCM_SHA384           "TLS_PSK_WITH_ARIA_256_GCM_SHA384"
 I3	  83444 # define TLS1_RFC_DHE_PSK_WITH_ARIA_128_GCM_SHA256       "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256"
 I3	  83445 # define TLS1_RFC_DHE_PSK_WITH_ARIA_256_GCM_SHA384       "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384"
 I3	  83446 # define TLS1_RFC_RSA_PSK_WITH_ARIA_128_GCM_SHA256       "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256"
 I3	  83447 # define TLS1_RFC_RSA_PSK_WITH_ARIA_256_GCM_SHA384       "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384"
 I3	  83448 
 I3	  83449 
 I3	  83450 /*
 I3	  83451  * XXX Backward compatibility alert: Older versions of OpenSSL gave some DHE
 I3	  83452  * ciphers names with "EDH" instead of "DHE".  Going forward, we should be
 I3	  83453  * using DHE everywhere, though we may indefinitely maintain aliases for
 I3	  83454  * users or configurations that used "EDH"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1540
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83455  */
 I3	  83456 # define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA               "DHE-DSS-RC4-SHA"
 I3	  83457 
 I3	  83458 # define TLS1_TXT_PSK_WITH_NULL_SHA                      "PSK-NULL-SHA"
 I3	  83459 # define TLS1_TXT_DHE_PSK_WITH_NULL_SHA                  "DHE-PSK-NULL-SHA"
 I3	  83460 # define TLS1_TXT_RSA_PSK_WITH_NULL_SHA                  "RSA-PSK-NULL-SHA"
 I3	  83461 
 I3	  83462 /* AES ciphersuites from RFC3268 */
 I3	  83463 # define TLS1_TXT_RSA_WITH_AES_128_SHA                   "AES128-SHA"
 I3	  83464 # define TLS1_TXT_DH_DSS_WITH_AES_128_SHA                "DH-DSS-AES128-SHA"
 I3	  83465 # define TLS1_TXT_DH_RSA_WITH_AES_128_SHA                "DH-RSA-AES128-SHA"
 I3	  83466 # define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA               "DHE-DSS-AES128-SHA"
 I3	  83467 # define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA               "DHE-RSA-AES128-SHA"
 I3	  83468 # define TLS1_TXT_ADH_WITH_AES_128_SHA                   "ADH-AES128-SHA"
 I3	  83469 
 I3	  83470 # define TLS1_TXT_RSA_WITH_AES_256_SHA                   "AES256-SHA"
 I3	  83471 # define TLS1_TXT_DH_DSS_WITH_AES_256_SHA                "DH-DSS-AES256-SHA"
 I3	  83472 # define TLS1_TXT_DH_RSA_WITH_AES_256_SHA                "DH-RSA-AES256-SHA"
 I3	  83473 # define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA               "DHE-DSS-AES256-SHA"
 I3	  83474 # define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA               "DHE-RSA-AES256-SHA"
 I3	  83475 # define TLS1_TXT_ADH_WITH_AES_256_SHA                   "ADH-AES256-SHA"
 I3	  83476 
 I3	  83477 /* ECC ciphersuites from RFC4492 */
 I3	  83478 # define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA               "ECDH-ECDSA-NULL-SHA"
 I3	  83479 # define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA            "ECDH-ECDSA-RC4-SHA"
 I3	  83480 # define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA       "ECDH-ECDSA-DES-CBC3-SHA"
 I3	  83481 # define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA        "ECDH-ECDSA-AES128-SHA"
 I3	  83482 # define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA        "ECDH-ECDSA-AES256-SHA"
 I3	  83483 
 I3	  83484 # define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA              "ECDHE-ECDSA-NULL-SHA"
 I3	  83485 # define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA           "ECDHE-ECDSA-RC4-SHA"
 I3	  83486 # define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA      "ECDHE-ECDSA-DES-CBC3-SHA"
 I3	  83487 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA       "ECDHE-ECDSA-AES128-SHA"
 I3	  83488 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA       "ECDHE-ECDSA-AES256-SHA"
 I3	  83489 
 I3	  83490 # define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA                 "ECDH-RSA-NULL-SHA"
 I3	  83491 # define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA              "ECDH-RSA-RC4-SHA"
 I3	  83492 # define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA         "ECDH-RSA-DES-CBC3-SHA"
 I3	  83493 # define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA          "ECDH-RSA-AES128-SHA"
 I3	  83494 # define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA          "ECDH-RSA-AES256-SHA"
 I3	  83495 
 I3	  83496 # define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA                "ECDHE-RSA-NULL-SHA"
 I3	  83497 # define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA             "ECDHE-RSA-RC4-SHA"
 I3	  83498 # define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA        "ECDHE-RSA-DES-CBC3-SHA"
 I3	  83499 # define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA         "ECDHE-RSA-AES128-SHA"
 I3	  83500 # define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA         "ECDHE-RSA-AES256-SHA"
 I3	  83501 
 I3	  83502 # define TLS1_TXT_ECDH_anon_WITH_NULL_SHA                "AECDH-NULL-SHA"
 I3	  83503 # define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA             "AECDH-RC4-SHA"
 I3	  83504 # define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA        "AECDH-DES-CBC3-SHA"
 I3	  83505 # define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA         "AECDH-AES128-SHA"
 I3	  83506 # define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA         "AECDH-AES256-SHA"
 I3	  83507 
 I3	  83508 /* PSK ciphersuites from RFC 4279 */
 I3	  83509 # define TLS1_TXT_PSK_WITH_RC4_128_SHA                   "PSK-RC4-SHA"
 I3	  83510 # define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA              "PSK-3DES-EDE-CBC-SHA"
 I3	  83511 # define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA               "PSK-AES128-CBC-SHA"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1541
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83512 # define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA               "PSK-AES256-CBC-SHA"
 I3	  83513 
 I3	  83514 # define TLS1_TXT_DHE_PSK_WITH_RC4_128_SHA               "DHE-PSK-RC4-SHA"
 I3	  83515 # define TLS1_TXT_DHE_PSK_WITH_3DES_EDE_CBC_SHA          "DHE-PSK-3DES-EDE-CBC-SHA"
 I3	  83516 # define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA           "DHE-PSK-AES128-CBC-SHA"
 I3	  83517 # define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA           "DHE-PSK-AES256-CBC-SHA"
 I3	  83518 # define TLS1_TXT_RSA_PSK_WITH_RC4_128_SHA               "RSA-PSK-RC4-SHA"
 I3	  83519 # define TLS1_TXT_RSA_PSK_WITH_3DES_EDE_CBC_SHA          "RSA-PSK-3DES-EDE-CBC-SHA"
 I3	  83520 # define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA           "RSA-PSK-AES128-CBC-SHA"
 I3	  83521 # define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA           "RSA-PSK-AES256-CBC-SHA"
 I3	  83522 
 I3	  83523 /* PSK ciphersuites from RFC 5487 */
 I3	  83524 # define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256            "PSK-AES128-GCM-SHA256"
 I3	  83525 # define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384            "PSK-AES256-GCM-SHA384"
 I3	  83526 # define TLS1_TXT_DHE_PSK_WITH_AES_128_GCM_SHA256        "DHE-PSK-AES128-GCM-SHA256"
 I3	  83527 # define TLS1_TXT_DHE_PSK_WITH_AES_256_GCM_SHA384        "DHE-PSK-AES256-GCM-SHA384"
 I3	  83528 # define TLS1_TXT_RSA_PSK_WITH_AES_128_GCM_SHA256        "RSA-PSK-AES128-GCM-SHA256"
 I3	  83529 # define TLS1_TXT_RSA_PSK_WITH_AES_256_GCM_SHA384        "RSA-PSK-AES256-GCM-SHA384"
 I3	  83530 
 I3	  83531 # define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA256            "PSK-AES128-CBC-SHA256"
 I3	  83532 # define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA384            "PSK-AES256-CBC-SHA384"
 I3	  83533 # define TLS1_TXT_PSK_WITH_NULL_SHA256                   "PSK-NULL-SHA256"
 I3	  83534 # define TLS1_TXT_PSK_WITH_NULL_SHA384                   "PSK-NULL-SHA384"
 I3	  83535 
 I3	  83536 # define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA256        "DHE-PSK-AES128-CBC-SHA256"
 I3	  83537 # define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA384        "DHE-PSK-AES256-CBC-SHA384"
 I3	  83538 # define TLS1_TXT_DHE_PSK_WITH_NULL_SHA256               "DHE-PSK-NULL-SHA256"
 I3	  83539 # define TLS1_TXT_DHE_PSK_WITH_NULL_SHA384               "DHE-PSK-NULL-SHA384"
 I3	  83540 
 I3	  83541 # define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA256        "RSA-PSK-AES128-CBC-SHA256"
 I3	  83542 # define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA384        "RSA-PSK-AES256-CBC-SHA384"
 I3	  83543 # define TLS1_TXT_RSA_PSK_WITH_NULL_SHA256               "RSA-PSK-NULL-SHA256"
 I3	  83544 # define TLS1_TXT_RSA_PSK_WITH_NULL_SHA384               "RSA-PSK-NULL-SHA384"
 I3	  83545 
 I3	  83546 /* SRP ciphersuite from RFC 5054 */
 I3	  83547 # define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA          "SRP-3DES-EDE-CBC-SHA"
 I3	  83548 # define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA      "SRP-RSA-3DES-EDE-CBC-SHA"
 I3	  83549 # define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA      "SRP-DSS-3DES-EDE-CBC-SHA"
 I3	  83550 # define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA           "SRP-AES-128-CBC-SHA"
 I3	  83551 # define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA       "SRP-RSA-AES-128-CBC-SHA"
 I3	  83552 # define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA       "SRP-DSS-AES-128-CBC-SHA"
 I3	  83553 # define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA           "SRP-AES-256-CBC-SHA"
 I3	  83554 # define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA       "SRP-RSA-AES-256-CBC-SHA"
 I3	  83555 # define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA       "SRP-DSS-AES-256-CBC-SHA"
 I3	  83556 
 I3	  83557 /* Camellia ciphersuites from RFC4132 */
 I3	  83558 # define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA          "CAMELLIA128-SHA"
 I3	  83559 # define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA       "DH-DSS-CAMELLIA128-SHA"
 I3	  83560 # define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA       "DH-RSA-CAMELLIA128-SHA"
 I3	  83561 # define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA      "DHE-DSS-CAMELLIA128-SHA"
 I3	  83562 # define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA      "DHE-RSA-CAMELLIA128-SHA"
 I3	  83563 # define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA          "ADH-CAMELLIA128-SHA"
 I3	  83564 
 I3	  83565 # define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA          "CAMELLIA256-SHA"
 I3	  83566 # define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA       "DH-DSS-CAMELLIA256-SHA"
 I3	  83567 # define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA       "DH-RSA-CAMELLIA256-SHA"
 I3	  83568 # define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA      "DHE-DSS-CAMELLIA256-SHA"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1542
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83569 # define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA      "DHE-RSA-CAMELLIA256-SHA"
 I3	  83570 # define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA          "ADH-CAMELLIA256-SHA"
 I3	  83571 
 I3	  83572 /* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */
 I3	  83573 # define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA256               "CAMELLIA128-SHA256"
 I3	  83574 # define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256            "DH-DSS-CAMELLIA128-SHA256"
 I3	  83575 # define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256            "DH-RSA-CAMELLIA128-SHA256"
 I3	  83576 # define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256           "DHE-DSS-CAMELLIA128-SHA256"
 I3	  83577 # define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256           "DHE-RSA-CAMELLIA128-SHA256"
 I3	  83578 # define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA256               "ADH-CAMELLIA128-SHA256"
 I3	  83579 
 I3	  83580 # define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA256               "CAMELLIA256-SHA256"
 I3	  83581 # define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256            "DH-DSS-CAMELLIA256-SHA256"
 I3	  83582 # define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256            "DH-RSA-CAMELLIA256-SHA256"
 I3	  83583 # define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256           "DHE-DSS-CAMELLIA256-SHA256"
 I3	  83584 # define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256           "DHE-RSA-CAMELLIA256-SHA256"
 I3	  83585 # define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA256               "ADH-CAMELLIA256-SHA256"
 I3	  83586 
 I3	  83587 # define TLS1_TXT_PSK_WITH_CAMELLIA_128_CBC_SHA256               "PSK-CAMELLIA128-SHA256"
 I3	  83588 # define TLS1_TXT_PSK_WITH_CAMELLIA_256_CBC_SHA384               "PSK-CAMELLIA256-SHA384"
 I3	  83589 # define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256           "DHE-PSK-CAMELLIA128-SHA256"
 I3	  83590 # define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384           "DHE-PSK-CAMELLIA256-SHA384"
 I3	  83591 # define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256           "RSA-PSK-CAMELLIA128-SHA256"
 I3	  83592 # define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384           "RSA-PSK-CAMELLIA256-SHA384"
 I3	  83593 # define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256         "ECDHE-PSK-CAMELLIA128-SHA256"
 I3	  83594 # define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384         "ECDHE-PSK-CAMELLIA256-SHA384"
 I3	  83595 
 I3	  83596 /* SEED ciphersuites from RFC4162 */
 I3	  83597 # define TLS1_TXT_RSA_WITH_SEED_SHA                      "SEED-SHA"
 I3	  83598 # define TLS1_TXT_DH_DSS_WITH_SEED_SHA                   "DH-DSS-SEED-SHA"
 I3	  83599 # define TLS1_TXT_DH_RSA_WITH_SEED_SHA                   "DH-RSA-SEED-SHA"
 I3	  83600 # define TLS1_TXT_DHE_DSS_WITH_SEED_SHA                  "DHE-DSS-SEED-SHA"
 I3	  83601 # define TLS1_TXT_DHE_RSA_WITH_SEED_SHA                  "DHE-RSA-SEED-SHA"
 I3	  83602 # define TLS1_TXT_ADH_WITH_SEED_SHA                      "ADH-SEED-SHA"
 I3	  83603 
 I3	  83604 /* TLS v1.2 ciphersuites */
 I3	  83605 # define TLS1_TXT_RSA_WITH_NULL_SHA256                   "NULL-SHA256"
 I3	  83606 # define TLS1_TXT_RSA_WITH_AES_128_SHA256                "AES128-SHA256"
 I3	  83607 # define TLS1_TXT_RSA_WITH_AES_256_SHA256                "AES256-SHA256"
 I3	  83608 # define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256             "DH-DSS-AES128-SHA256"
 I3	  83609 # define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256             "DH-RSA-AES128-SHA256"
 I3	  83610 # define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256            "DHE-DSS-AES128-SHA256"
 I3	  83611 # define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256            "DHE-RSA-AES128-SHA256"
 I3	  83612 # define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256             "DH-DSS-AES256-SHA256"
 I3	  83613 # define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256             "DH-RSA-AES256-SHA256"
 I3	  83614 # define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256            "DHE-DSS-AES256-SHA256"
 I3	  83615 # define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256            "DHE-RSA-AES256-SHA256"
 I3	  83616 # define TLS1_TXT_ADH_WITH_AES_128_SHA256                "ADH-AES128-SHA256"
 I3	  83617 # define TLS1_TXT_ADH_WITH_AES_256_SHA256                "ADH-AES256-SHA256"
 I3	  83618 
 I3	  83619 /* TLS v1.2 GCM ciphersuites from RFC5288 */
 I3	  83620 # define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256            "AES128-GCM-SHA256"
 I3	  83621 # define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384            "AES256-GCM-SHA384"
 I3	  83622 # define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256        "DHE-RSA-AES128-GCM-SHA256"
 I3	  83623 # define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384        "DHE-RSA-AES256-GCM-SHA384"
 I3	  83624 # define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256         "DH-RSA-AES128-GCM-SHA256"
 I3	  83625 # define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384         "DH-RSA-AES256-GCM-SHA384"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1543
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83626 # define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256        "DHE-DSS-AES128-GCM-SHA256"
 I3	  83627 # define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384        "DHE-DSS-AES256-GCM-SHA384"
 I3	  83628 # define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256         "DH-DSS-AES128-GCM-SHA256"
 I3	  83629 # define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384         "DH-DSS-AES256-GCM-SHA384"
 I3	  83630 # define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256            "ADH-AES128-GCM-SHA256"
 I3	  83631 # define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384            "ADH-AES256-GCM-SHA384"
 I3	  83632 
 I3	  83633 /* CCM ciphersuites from RFC6655 */
 I3	  83634 # define TLS1_TXT_RSA_WITH_AES_128_CCM                   "AES128-CCM"
 I3	  83635 # define TLS1_TXT_RSA_WITH_AES_256_CCM                   "AES256-CCM"
 I3	  83636 # define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM               "DHE-RSA-AES128-CCM"
 I3	  83637 # define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM               "DHE-RSA-AES256-CCM"
 I3	  83638 
 I3	  83639 # define TLS1_TXT_RSA_WITH_AES_128_CCM_8                 "AES128-CCM8"
 I3	  83640 # define TLS1_TXT_RSA_WITH_AES_256_CCM_8                 "AES256-CCM8"
 I3	  83641 # define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM_8             "DHE-RSA-AES128-CCM8"
 I3	  83642 # define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM_8             "DHE-RSA-AES256-CCM8"
 I3	  83643 
 I3	  83644 # define TLS1_TXT_PSK_WITH_AES_128_CCM                   "PSK-AES128-CCM"
 I3	  83645 # define TLS1_TXT_PSK_WITH_AES_256_CCM                   "PSK-AES256-CCM"
 I3	  83646 # define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM               "DHE-PSK-AES128-CCM"
 I3	  83647 # define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM               "DHE-PSK-AES256-CCM"
 I3	  83648 
 I3	  83649 # define TLS1_TXT_PSK_WITH_AES_128_CCM_8                 "PSK-AES128-CCM8"
 I3	  83650 # define TLS1_TXT_PSK_WITH_AES_256_CCM_8                 "PSK-AES256-CCM8"
 I3	  83651 # define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM_8             "DHE-PSK-AES128-CCM8"
 I3	  83652 # define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM_8             "DHE-PSK-AES256-CCM8"
 I3	  83653 
 I3	  83654 /* CCM ciphersuites from RFC7251 */
 I3	  83655 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM       "ECDHE-ECDSA-AES128-CCM"
 I3	  83656 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM       "ECDHE-ECDSA-AES256-CCM"
 I3	  83657 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM_8     "ECDHE-ECDSA-AES128-CCM8"
 I3	  83658 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8     "ECDHE-ECDSA-AES256-CCM8"
 I3	  83659 
 I3	  83660 /* ECDH HMAC based ciphersuites from RFC5289 */
 I3	  83661 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256    "ECDHE-ECDSA-AES128-SHA256"
 I3	  83662 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384    "ECDHE-ECDSA-AES256-SHA384"
 I3	  83663 # define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256     "ECDH-ECDSA-AES128-SHA256"
 I3	  83664 # define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384     "ECDH-ECDSA-AES256-SHA384"
 I3	  83665 # define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256      "ECDHE-RSA-AES128-SHA256"
 I3	  83666 # define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384      "ECDHE-RSA-AES256-SHA384"
 I3	  83667 # define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256       "ECDH-RSA-AES128-SHA256"
 I3	  83668 # define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384       "ECDH-RSA-AES256-SHA384"
 I3	  83669 
 I3	  83670 /* ECDH GCM based ciphersuites from RFC5289 */
 I3	  83671 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256    "ECDHE-ECDSA-AES128-GCM-SHA256"
 I3	  83672 # define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384    "ECDHE-ECDSA-AES256-GCM-SHA384"
 I3	  83673 # define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256     "ECDH-ECDSA-AES128-GCM-SHA256"
 I3	  83674 # define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384     "ECDH-ECDSA-AES256-GCM-SHA384"
 I3	  83675 # define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256      "ECDHE-RSA-AES128-GCM-SHA256"
 I3	  83676 # define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384      "ECDHE-RSA-AES256-GCM-SHA384"
 I3	  83677 # define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256       "ECDH-RSA-AES128-GCM-SHA256"
 I3	  83678 # define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384       "ECDH-RSA-AES256-GCM-SHA384"
 I3	  83679 
 I3	  83680 /* TLS v1.2 PSK GCM ciphersuites from RFC5487 */
 I3	  83681 # define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256            "PSK-AES128-GCM-SHA256"
 I3	  83682 # define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384            "PSK-AES256-GCM-SHA384"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1544
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83683 
 I3	  83684 /* ECDHE PSK ciphersuites from RFC 5489 */
 I3	  83685 # define TLS1_TXT_ECDHE_PSK_WITH_RC4_128_SHA               "ECDHE-PSK-RC4-SHA"
 I3	  83686 # define TLS1_TXT_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA          "ECDHE-PSK-3DES-EDE-CBC-SHA"
 I3	  83687 # define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA           "ECDHE-PSK-AES128-CBC-SHA"
 I3	  83688 # define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA           "ECDHE-PSK-AES256-CBC-SHA"
 I3	  83689 
 I3	  83690 # define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA256        "ECDHE-PSK-AES128-CBC-SHA256"
 I3	  83691 # define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA384        "ECDHE-PSK-AES256-CBC-SHA384"
 I3	  83692 
 I3	  83693 # define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA                  "ECDHE-PSK-NULL-SHA"
 I3	  83694 # define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA256               "ECDHE-PSK-NULL-SHA256"
 I3	  83695 # define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA384               "ECDHE-PSK-NULL-SHA384"
 I3	  83696 
 I3	  83697 /* Camellia-CBC ciphersuites from RFC6367 */
 I3	  83698 # define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-ECDSA-CAMELLIA128-SHA256"
 I3	  83699 # define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-ECDSA-CAMELLIA256-SHA384"
 I3	  83700 # define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  "ECDH-ECDSA-CAMELLIA128-SHA256"
 I3	  83701 # define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  "ECDH-ECDSA-CAMELLIA256-SHA384"
 I3	  83702 # define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   "ECDHE-RSA-CAMELLIA128-SHA256"
 I3	  83703 # define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   "ECDHE-RSA-CAMELLIA256-SHA384"
 I3	  83704 # define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    "ECDH-RSA-CAMELLIA128-SHA256"
 I3	  83705 # define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    "ECDH-RSA-CAMELLIA256-SHA384"
 I3	  83706 
 I3	  83707 /* draft-ietf-tls-chacha20-poly1305-03 */
 I3	  83708 # define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305         "ECDHE-RSA-CHACHA20-POLY1305"
 I3	  83709 # define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305       "ECDHE-ECDSA-CHACHA20-POLY1305"
 I3	  83710 # define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305           "DHE-RSA-CHACHA20-POLY1305"
 I3	  83711 # define TLS1_TXT_PSK_WITH_CHACHA20_POLY1305               "PSK-CHACHA20-POLY1305"
 I3	  83712 # define TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305         "ECDHE-PSK-CHACHA20-POLY1305"
 I3	  83713 # define TLS1_TXT_DHE_PSK_WITH_CHACHA20_POLY1305           "DHE-PSK-CHACHA20-POLY1305"
 I3	  83714 # define TLS1_TXT_RSA_PSK_WITH_CHACHA20_POLY1305           "RSA-PSK-CHACHA20-POLY1305"
 I3	  83715 
 I3	  83716 /* Aria ciphersuites from RFC6209 */
 I3	  83717 # define TLS1_TXT_RSA_WITH_ARIA_128_GCM_SHA256             "ARIA128-GCM-SHA256"
 I3	  83718 # define TLS1_TXT_RSA_WITH_ARIA_256_GCM_SHA384             "ARIA256-GCM-SHA384"
 I3	  83719 # define TLS1_TXT_DHE_RSA_WITH_ARIA_128_GCM_SHA256         "DHE-RSA-ARIA128-GCM-SHA256"
 I3	  83720 # define TLS1_TXT_DHE_RSA_WITH_ARIA_256_GCM_SHA384         "DHE-RSA-ARIA256-GCM-SHA384"
 I3	  83721 # define TLS1_TXT_DH_RSA_WITH_ARIA_128_GCM_SHA256          "DH-RSA-ARIA128-GCM-SHA256"
 I3	  83722 # define TLS1_TXT_DH_RSA_WITH_ARIA_256_GCM_SHA384          "DH-RSA-ARIA256-GCM-SHA384"
 I3	  83723 # define TLS1_TXT_DHE_DSS_WITH_ARIA_128_GCM_SHA256         "DHE-DSS-ARIA128-GCM-SHA256"
 I3	  83724 # define TLS1_TXT_DHE_DSS_WITH_ARIA_256_GCM_SHA384         "DHE-DSS-ARIA256-GCM-SHA384"
 I3	  83725 # define TLS1_TXT_DH_DSS_WITH_ARIA_128_GCM_SHA256          "DH-DSS-ARIA128-GCM-SHA256"
 I3	  83726 # define TLS1_TXT_DH_DSS_WITH_ARIA_256_GCM_SHA384          "DH-DSS-ARIA256-GCM-SHA384"
 I3	  83727 # define TLS1_TXT_DH_anon_WITH_ARIA_128_GCM_SHA256         "ADH-ARIA128-GCM-SHA256"
 I3	  83728 # define TLS1_TXT_DH_anon_WITH_ARIA_256_GCM_SHA384         "ADH-ARIA256-GCM-SHA384"
 I3	  83729 # define TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256     "ECDHE-ECDSA-ARIA128-GCM-SHA256"
 I3	  83730 # define TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384     "ECDHE-ECDSA-ARIA256-GCM-SHA384"
 I3	  83731 # define TLS1_TXT_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256      "ECDH-ECDSA-ARIA128-GCM-SHA256"
 I3	  83732 # define TLS1_TXT_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384      "ECDH-ECDSA-ARIA256-GCM-SHA384"
 I3	  83733 # define TLS1_TXT_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256       "ECDHE-ARIA128-GCM-SHA256"
 I3	  83734 # define TLS1_TXT_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384       "ECDHE-ARIA256-GCM-SHA384"
 I3	  83735 # define TLS1_TXT_ECDH_RSA_WITH_ARIA_128_GCM_SHA256        "ECDH-ARIA128-GCM-SHA256"
 I3	  83736 # define TLS1_TXT_ECDH_RSA_WITH_ARIA_256_GCM_SHA384        "ECDH-ARIA256-GCM-SHA384"
 I3	  83737 # define TLS1_TXT_PSK_WITH_ARIA_128_GCM_SHA256             "PSK-ARIA128-GCM-SHA256"
 I3	  83738 # define TLS1_TXT_PSK_WITH_ARIA_256_GCM_SHA384             "PSK-ARIA256-GCM-SHA384"
 I3	  83739 # define TLS1_TXT_DHE_PSK_WITH_ARIA_128_GCM_SHA256         "DHE-PSK-ARIA128-GCM-SHA256"

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1545
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83740 # define TLS1_TXT_DHE_PSK_WITH_ARIA_256_GCM_SHA384         "DHE-PSK-ARIA256-GCM-SHA384"
 I3	  83741 # define TLS1_TXT_RSA_PSK_WITH_ARIA_128_GCM_SHA256         "RSA-PSK-ARIA128-GCM-SHA256"
 I3	  83742 # define TLS1_TXT_RSA_PSK_WITH_ARIA_256_GCM_SHA384         "RSA-PSK-ARIA256-GCM-SHA384"
 I3	  83743 
 I3	  83744 # define TLS_CT_RSA_SIGN                 1
 I3	  83745 # define TLS_CT_DSS_SIGN                 2
 I3	  83746 # define TLS_CT_RSA_FIXED_DH             3
 I3	  83747 # define TLS_CT_DSS_FIXED_DH             4
 I3	  83748 # define TLS_CT_ECDSA_SIGN               64
 I3	  83749 # define TLS_CT_RSA_FIXED_ECDH           65
 I3	  83750 # define TLS_CT_ECDSA_FIXED_ECDH         66
 I3	  83751 # define TLS_CT_GOST01_SIGN              22
 I3	  83752 # define TLS_CT_GOST12_IANA_SIGN         67
 I3	  83753 # define TLS_CT_GOST12_IANA_512_SIGN     68
 I3	  83754 # define TLS_CT_GOST12_LEGACY_SIGN       238
 I3	  83755 # define TLS_CT_GOST12_LEGACY_512_SIGN   239
 I3	  83756 
 I3	  83757 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  83758 #  define TLS_CT_GOST12_SIGN TLS_CT_GOST12_LEGACY_SIGN
 I3	  83759 #  define TLS_CT_GOST12_512_SIGN TLS_CT_GOST12_LEGACY_512_SIGN
 I3	  83760 # endif
 I3	  83761 
 I3	  83762 /*
 I3	  83763  * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see
 I3	  83764  * comment there)
 I3	  83765  */
 I3	  83766 # define TLS_CT_NUMBER                   12
 I3	  83767 
 I3	  83768 # if defined(SSL3_CT_NUMBER)
 I3    X  83769 #  if TLS_CT_NUMBER != SSL3_CT_NUMBER
 I3    X  83770 #    error "SSL/TLS CT_NUMBER values do not match"
 I3    X  83771 #  endif
 I3	  83772 # endif
 I3	  83773 
 I3	  83774 # define TLS1_FINISH_MAC_LENGTH          12
 I3	  83775 
 I3	  83776 # define TLS_MD_MAX_CONST_SIZE                   22
 I3	  83777 # define TLS_MD_CLIENT_FINISH_CONST              "client finished"
 I3	  83778 # define TLS_MD_CLIENT_FINISH_CONST_SIZE         15
 I3	  83779 # define TLS_MD_SERVER_FINISH_CONST              "server finished"
 I3	  83780 # define TLS_MD_SERVER_FINISH_CONST_SIZE         15
 I3	  83781 # define TLS_MD_KEY_EXPANSION_CONST              "key expansion"
 I3	  83782 # define TLS_MD_KEY_EXPANSION_CONST_SIZE         13
 I3	  83783 # define TLS_MD_CLIENT_WRITE_KEY_CONST           "client write key"
 I3	  83784 # define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE      16
 I3	  83785 # define TLS_MD_SERVER_WRITE_KEY_CONST           "server write key"
 I3	  83786 # define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE      16
 I3	  83787 # define TLS_MD_IV_BLOCK_CONST                   "IV block"
 I3	  83788 # define TLS_MD_IV_BLOCK_CONST_SIZE              8
 I3	  83789 # define TLS_MD_MASTER_SECRET_CONST              "master secret"
 I3	  83790 # define TLS_MD_MASTER_SECRET_CONST_SIZE         13
 I3	  83791 # define TLS_MD_EXTENDED_MASTER_SECRET_CONST     "extended master secret"
 I3	  83792 # define TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE        22
 I3	  83793 
 I3    X  83794 # ifdef CHARSET_EBCDIC
 I3    X  83795 #  undef TLS_MD_CLIENT_FINISH_CONST
 I3    X  83796 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1546
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3    X  83797  * client finished
 I3    X  83798  */
 I3    X  83799 #  define TLS_MD_CLIENT_FINISH_CONST    "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64"
 I3    X  83800 
 I3    X  83801 #  undef TLS_MD_SERVER_FINISH_CONST
 I3    X  83802 /*
 I3    X  83803  * server finished
 I3    X  83804  */
 I3    X  83805 #  define TLS_MD_SERVER_FINISH_CONST    "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64"
 I3    X  83806 
 I3    X  83807 #  undef TLS_MD_SERVER_WRITE_KEY_CONST
 I3    X  83808 /*
 I3    X  83809  * server write key
 I3    X  83810  */
 I3    X  83811 #  define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
 I3    X  83812 
 I3    X  83813 #  undef TLS_MD_KEY_EXPANSION_CONST
 I3    X  83814 /*
 I3    X  83815  * key expansion
 I3    X  83816  */
 I3    X  83817 #  define TLS_MD_KEY_EXPANSION_CONST    "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e"
 I3    X  83818 
 I3    X  83819 #  undef TLS_MD_CLIENT_WRITE_KEY_CONST
 I3    X  83820 /*
 I3    X  83821  * client write key
 I3    X  83822  */
 I3    X  83823 #  define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
 I3    X  83824 
 I3    X  83825 #  undef TLS_MD_SERVER_WRITE_KEY_CONST
 I3    X  83826 /*
 I3    X  83827  * server write key
 I3    X  83828  */
 I3    X  83829 #  define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
 I3    X  83830 
 I3    X  83831 #  undef TLS_MD_IV_BLOCK_CONST
 I3    X  83832 /*
 I3    X  83833  * IV block
 I3    X  83834  */
 I3    X  83835 #  define TLS_MD_IV_BLOCK_CONST         "\x49\x56\x20\x62\x6c\x6f\x63\x6b"
 I3    X  83836 
 I3    X  83837 #  undef TLS_MD_MASTER_SECRET_CONST
 I3    X  83838 /*
 I3    X  83839  * master secret
 I3    X  83840  */
 I3    X  83841 #  define TLS_MD_MASTER_SECRET_CONST    "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74"
 I3    X  83842 #  undef TLS_MD_EXTENDED_MASTER_SECRET_CONST
 I3    X  83843 /*
 I3    X  83844  * extended master secret
 I3    X  83845  */
 I3    X  83846 #  define TLS_MD_EXTENDED_MASTER_SECRET_CONST    "\x65\x78\x74\x65\x6e\x64\x65\x64\x20\x6d\x61\x73\x74\x65\x72\x20\x
 I3    X  83846 73\x65\x63\x72\x65\x74"
 I3    X  83847 # endif
 I3	  83848 
 I3	  83849 /* TLS Session Ticket extension struct */
 I3	  83850 struct tls_session_ticket_ext_st {
 I3	  83851     unsigned short length;
 I3	  83852     void *data;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1547
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]TLS1.H;1

 I3	  83853 };
 I3	  83854 
 I3    X  83855 #ifdef  __cplusplus
 I3    X  83856 }
 I3    X  83857 #endif
 I3	  83858 #endif
 I2	  83859 # include <openssl/dtls1.h>     /* Datagram TLS */
 I3	  83860 /*
 I3	  83861  * Copyright 2005-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  83862  *
 I3	  83863  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  83864  * this file except in compliance with the License.  You can obtain a copy
 I3	  83865  * in the file LICENSE in the source distribution or at
 I3	  83866  * https://www.openssl.org/source/license.html
 I3	  83867  */
 I3	  83868 
 I3	  83869 #ifndef OPENSSL_DTLS1_H
 I3	  83870 # define OPENSSL_DTLS1_H
 I3	  83871 # pragma once
 I3	  83872 
 I3    X  83873 # include <openssl/macros.h>
 I3	  83874 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  83875 #  define HEADER_DTLS1_H
 I3	  83876 # endif
 I3	  83877 
 I3    X  83878 # include <openssl/prov_ssl.h>
 I3	  83879 
 I3    X  83880 #ifdef  __cplusplus
 I3    X  83881 extern "C" {
 I3    X  83882 #endif
 I3	  83883 
 I3    X  83884 #include <openssl/opensslconf.h>
 I3	  83885 
 I3	  83886 /* DTLS*_VERSION constants are defined in prov_ssl.h */
 I3	  83887 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  83888 #  define DTLS_MIN_VERSION                DTLS1_VERSION
 I3	  83889 #  define DTLS_MAX_VERSION                DTLS1_2_VERSION
 I3	  83890 # endif
 I3	  83891 # define DTLS1_VERSION_MAJOR             0xFE
 I3	  83892 
 I3	  83893 /* Special value for method supporting multiple versions */
 I3	  83894 # define DTLS_ANY_VERSION                0x1FFFF
 I3	  83895 
 I3	  83896 /* lengths of messages */
 I3	  83897 
 I3	  83898 # define DTLS1_COOKIE_LENGTH                     255
 I3	  83899 
 I3	  83900 # define DTLS1_RT_HEADER_LENGTH                  13
 I3	  83901 
 I3	  83902 # define DTLS1_HM_HEADER_LENGTH                  12
 I3	  83903 
 I3	  83904 # define DTLS1_HM_BAD_FRAGMENT                   -2
 I3	  83905 # define DTLS1_HM_FRAGMENT_RETRY                 -3
 I3	  83906 
 I3	  83907 # define DTLS1_CCS_HEADER_LENGTH                  1
 I3	  83908 
 I3	  83909 # define DTLS1_AL_HEADER_LENGTH                   2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1548
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]DTLS1.H;1

 I3	  83910 
 I3	  83911 # define DTLS1_TMO_ALERT_COUNT                     12
 I3	  83912 
 I3    X  83913 #ifdef  __cplusplus
 I3    X  83914 }
 I3    X  83915 #endif
 I3	  83916 #endif
 I2	  83917 # include <openssl/srtp.h>      /* Support for the use_srtp extension */
 I3	  83918 /*
 I3	  83919  * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
 I3	  83920  *
 I3	  83921  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  83922  * this file except in compliance with the License.  You can obtain a copy
 I3	  83923  * in the file LICENSE in the source distribution or at
 I3	  83924  * https://www.openssl.org/source/license.html
 I3	  83925  */
 I3	  83926 
 I3	  83927 /*
 I3	  83928  * DTLS code by Eric Rescorla <ekr@rtfm.com>
 I3	  83929  *
 I3	  83930  * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc.
 I3	  83931  */
 I3	  83932 
 I3	  83933 #ifndef OPENSSL_SRTP_H
 I3	  83934 # define OPENSSL_SRTP_H
 I3	  83935 # pragma once
 I3	  83936 
 I3    X  83937 # include <openssl/macros.h>
 I3	  83938 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I3	  83939 #  define HEADER_D1_SRTP_H
 I3	  83940 # endif
 I3	  83941 
 I3    X  83942 # include <openssl/ssl.h>
 I3	  83943 
 I3    X  83944 #ifdef  __cplusplus
 I3    X  83945 extern "C" {
 I3    X  83946 #endif
 I3	  83947 
 I3	  83948 # define SRTP_AES128_CM_SHA1_80 0x0001
 I3	  83949 # define SRTP_AES128_CM_SHA1_32 0x0002
 I3	  83950 # define SRTP_AES128_F8_SHA1_80 0x0003
 I3	  83951 # define SRTP_AES128_F8_SHA1_32 0x0004
 I3	  83952 # define SRTP_NULL_SHA1_80      0x0005
 I3	  83953 # define SRTP_NULL_SHA1_32      0x0006
 I3	  83954 
 I3	  83955 /* AEAD SRTP protection profiles from RFC 7714 */
 I3	  83956 # define SRTP_AEAD_AES_128_GCM  0x0007
 I3	  83957 # define SRTP_AEAD_AES_256_GCM  0x0008
 I3	  83958 
 I3	  83959 # ifndef OPENSSL_NO_SRTP
 I3	  83960 
 I3	  83961 __owur int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles);
       E	 
 I3	  83962 __owur int SSL_set_tlsext_use_srtp(SSL *ssl, const char *profiles);
       E	 
 I3	  83963 
 I3	  83964 __owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1549
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]SRTP.H;1

       E	 
       E	        struct stack_st_SRTP_PROTECTION_PROFILE
 I3	  83965 __owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
       E	 
 I3	  83966 
 I3	  83967 # endif
 I3	  83968 
 I3    X  83969 #ifdef  __cplusplus
 I3    X  83970 }
 I3    X  83971 #endif
 I3	  83972 
 I3	  83973 #endif
 I2	  83974 
 I2    X  83975 #ifdef  __cplusplus
 I2    X  83976 extern "C" {
 I2    X  83977 #endif
 I2	  83978 
 I2	  83979 /*
 I2	  83980  * These need to be after the above set of includes due to a compiler bug
 I2	  83981  * in VisualStudio 2015
 I2	  83982  */
 I2   1	  83983 SKM_DEFINE_STACK_OF_INTERNAL(SSL_CIPHER, const SSL_CIPHER, SSL_CIPHER)
       E	 struct stack_st_SSL_CIPHER ; typedef int ( * sk_SSL_CIPHER_compfunc ) ( const SSL_CIPHER * const * a , const SSL_CI
       E	PHER * const * b ) ; typedef void ( * sk_SSL_CIPHER_freefunc ) ( SSL_CIPHER * a ) ; typedef SSL_CIPHER * ( * sk_SSL_
       E	CIPHER_copyfunc ) ( const SSL_CIPHER * a ) ; static __inline const SSL_CIPHER * ossl_check_SSL_CIPHER_type ( const S
       E	SL_CIPHER * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_SSL_CIPHER_sk_type ( const
       E	 struct stack_st_SSL_CIPHER * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_ch
       E	eck_SSL_CIPHER_sk_type ( struct stack_st_SSL_CIPHER * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENS
       E	SL_sk_compfunc ossl_check_SSL_CIPHER_compfunc_type ( sk_SSL_CIPHER_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) c
       E	mp ; } static __inline OPENSSL_sk_copyfunc ossl_check_SSL_CIPHER_copyfunc_type ( sk_SSL_CIPHER_copyfunc cpy ) { retu
       E	rn ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_SSL_CIPHER_freefunc_type ( sk_SSL_
       E	CIPHER_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  83984 #define sk_SSL_CIPHER_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_CIPHER_sk_type(sk))
 I2	  83985 #define sk_SSL_CIPHER_value(sk, idx) ((const SSL_CIPHER *)OPENSSL_sk_value(ossl_check_const_SSL_CIPHER_sk_type(sk), 
 I2	  83985 (idx)))
 I2	  83986 #define sk_SSL_CIPHER_new(cmp) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new(ossl_check_SSL_CIPHER_compfunc_type(cmp)))
 I2	  83987 #define sk_SSL_CIPHER_new_null() ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_null())
 I2	  83988 #define sk_SSL_CIPHER_new_reserve(cmp, n) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_reserve(ossl_check_SSL_CIPHER_comp
 I2	  83988 func_type(cmp), (n)))
 I2	  83989 #define sk_SSL_CIPHER_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_CIPHER_sk_type(sk), (n))
 I2	  83990 #define sk_SSL_CIPHER_free(sk) OPENSSL_sk_free(ossl_check_SSL_CIPHER_sk_type(sk))
 I2	  83991 #define sk_SSL_CIPHER_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_CIPHER_sk_type(sk))
 I2	  83992 #define sk_SSL_CIPHER_delete(sk, i) ((const SSL_CIPHER *)OPENSSL_sk_delete(ossl_check_SSL_CIPHER_sk_type(sk), (i)))
 I2	  83993 #define sk_SSL_CIPHER_delete_ptr(sk, ptr) ((const SSL_CIPHER *)OPENSSL_sk_delete_ptr(ossl_check_SSL_CIPHER_sk_type(s
 I2	  83993 k), ossl_check_SSL_CIPHER_type(ptr)))
 I2	  83994 #define sk_SSL_CIPHER_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(pt
 I2	  83994 r))
 I2	  83995 #define sk_SSL_CIPHER_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_t
 I2	  83995 ype(ptr))
 I2	  83996 #define sk_SSL_CIPHER_pop(sk) ((const SSL_CIPHER *)OPENSSL_sk_pop(ossl_check_SSL_CIPHER_sk_type(sk)))
 I2	  83997 #define sk_SSL_CIPHER_shift(sk) ((const SSL_CIPHER *)OPENSSL_sk_shift(ossl_check_SSL_CIPHER_sk_type(sk)))
 I2	  83998 #define sk_SSL_CIPHER_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_CIPHER_sk_type(sk),ossl_check_SSL_CI
 I2	  83998 PHER_freefunc_type(freefunc))
 I2	  83999 #define sk_SSL_CIPHER_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHE
 I2	  83999 R_type(ptr), (idx))
 I2	  84000 #define sk_SSL_CIPHER_set(sk, idx, ptr) ((const SSL_CIPHER *)OPENSSL_sk_set(ossl_check_SSL_CIPHER_sk_type(sk), (idx)
 I2	  84000 , ossl_check_SSL_CIPHER_type(ptr)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1550
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84001 #define sk_SSL_CIPHER_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(pt
 I2	  84001 r))
 I2	  84002 #define sk_SSL_CIPHER_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_t
 I2	  84002 ype(ptr))
 I2	  84003 #define sk_SSL_CIPHER_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_
 I2	  84003 CIPHER_type(ptr), pnum)
 I2	  84004 #define sk_SSL_CIPHER_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_CIPHER_sk_type(sk))
 I2	  84005 #define sk_SSL_CIPHER_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_CIPHER_sk_type(sk))
 I2	  84006 #define sk_SSL_CIPHER_dup(sk) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_dup(ossl_check_const_SSL_CIPHER_sk_type(sk)))
 I2	  84007 #define sk_SSL_CIPHER_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_deep_copy(ossl_check_con
 I2	  84007 st_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_copyfunc_type(copyfunc), ossl_check_SSL_CIPHER_freefunc_type(freefu
 I2	  84007 nc)))
 I2	  84008 #define sk_SSL_CIPHER_set_cmp_func(sk, cmp) ((sk_SSL_CIPHER_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_CIPHER_s
 I2	  84008 k_type(sk), ossl_check_SSL_CIPHER_compfunc_type(cmp)))
 I2   1	  84009 SKM_DEFINE_STACK_OF_INTERNAL(SSL_COMP, SSL_COMP, SSL_COMP)
       E	 struct stack_st_SSL_COMP ; typedef int ( * sk_SSL_COMP_compfunc ) ( const SSL_COMP * const * a , const SSL_COMP * c
       E	onst * b ) ; typedef void ( * sk_SSL_COMP_freefunc ) ( SSL_COMP * a ) ; typedef SSL_COMP * ( * sk_SSL_COMP_copyfunc 
       E	) ( const SSL_COMP * a ) ; static __inline SSL_COMP * ossl_check_SSL_COMP_type ( SSL_COMP * ptr ) { return ptr ; } s
       E	tatic __inline const OPENSSL_STACK * ossl_check_const_SSL_COMP_sk_type ( const struct stack_st_SSL_COMP * sk ) { ret
       E	urn ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_SSL_COMP_sk_type ( struct stack_st_S
       E	SL_COMP * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_SSL_COMP_compfunc_
       E	type ( sk_SSL_COMP_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_
       E	check_SSL_COMP_copyfunc_type ( sk_SSL_COMP_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline O
       E	PENSSL_sk_freefunc ossl_check_SSL_COMP_freefunc_type ( sk_SSL_COMP_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr
       E	 ; }
 I2	  84010 #define sk_SSL_COMP_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_COMP_sk_type(sk))
 I2	  84011 #define sk_SSL_COMP_value(sk, idx) ((SSL_COMP *)OPENSSL_sk_value(ossl_check_const_SSL_COMP_sk_type(sk), (idx)))
 I2	  84012 #define sk_SSL_COMP_new(cmp) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new(ossl_check_SSL_COMP_compfunc_type(cmp)))
 I2	  84013 #define sk_SSL_COMP_new_null() ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_null())
 I2	  84014 #define sk_SSL_COMP_new_reserve(cmp, n) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_reserve(ossl_check_SSL_COMP_compfunc_t
 I2	  84014 ype(cmp), (n)))
 I2	  84015 #define sk_SSL_COMP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_COMP_sk_type(sk), (n))
 I2	  84016 #define sk_SSL_COMP_free(sk) OPENSSL_sk_free(ossl_check_SSL_COMP_sk_type(sk))
 I2	  84017 #define sk_SSL_COMP_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_COMP_sk_type(sk))
 I2	  84018 #define sk_SSL_COMP_delete(sk, i) ((SSL_COMP *)OPENSSL_sk_delete(ossl_check_SSL_COMP_sk_type(sk), (i)))
 I2	  84019 #define sk_SSL_COMP_delete_ptr(sk, ptr) ((SSL_COMP *)OPENSSL_sk_delete_ptr(ossl_check_SSL_COMP_sk_type(sk), ossl_che
 I2	  84019 ck_SSL_COMP_type(ptr)))
 I2	  84020 #define sk_SSL_COMP_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
 I2	  84021 #define sk_SSL_COMP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(pt
 I2	  84021 r))
 I2	  84022 #define sk_SSL_COMP_pop(sk) ((SSL_COMP *)OPENSSL_sk_pop(ossl_check_SSL_COMP_sk_type(sk)))
 I2	  84023 #define sk_SSL_COMP_shift(sk) ((SSL_COMP *)OPENSSL_sk_shift(ossl_check_SSL_COMP_sk_type(sk)))
 I2	  84024 #define sk_SSL_COMP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_COMP_sk_type(sk),ossl_check_SSL_COMP_f
 I2	  84024 reefunc_type(freefunc))
 I2	  84025 #define sk_SSL_COMP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type
 I2	  84025 (ptr), (idx))
 I2	  84026 #define sk_SSL_COMP_set(sk, idx, ptr) ((SSL_COMP *)OPENSSL_sk_set(ossl_check_SSL_COMP_sk_type(sk), (idx), ossl_check
 I2	  84026 _SSL_COMP_type(ptr)))
 I2	  84027 #define sk_SSL_COMP_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))
 I2	  84028 #define sk_SSL_COMP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(pt
 I2	  84028 r))
 I2	  84029 #define sk_SSL_COMP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP
 I2	  84029 _type(ptr), pnum)
 I2	  84030 #define sk_SSL_COMP_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_COMP_sk_type(sk))
 I2	  84031 #define sk_SSL_COMP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_COMP_sk_type(sk))
 I2	  84032 #define sk_SSL_COMP_dup(sk) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_dup(ossl_check_const_SSL_COMP_sk_type(sk)))
 I2	  84033 #define sk_SSL_COMP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_deep_copy(ossl_check_const_S

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1551
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84033 SL_COMP_sk_type(sk), ossl_check_SSL_COMP_copyfunc_type(copyfunc), ossl_check_SSL_COMP_freefunc_type(freefunc)))
 I2	  84034 #define sk_SSL_COMP_set_cmp_func(sk, cmp) ((sk_SSL_COMP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_COMP_sk_type
 I2	  84034 (sk), ossl_check_SSL_COMP_compfunc_type(cmp)))
 I2	  84035 
 I2	  84036 
 I2	  84037 /* compatibility */
 I2	  84038 # define SSL_set_app_data(s,arg)         (SSL_set_ex_data(s,0,(char *)(arg)))
 I2	  84039 # define SSL_get_app_data(s)             (SSL_get_ex_data(s,0))
 I2	  84040 # define SSL_SESSION_set_app_data(s,a)   (SSL_SESSION_set_ex_data(s,0, \
 I2	  84041                                                                   (char *)(a)))
 I2	  84042 # define SSL_SESSION_get_app_data(s)     (SSL_SESSION_get_ex_data(s,0))
 I2	  84043 # define SSL_CTX_get_app_data(ctx)       (SSL_CTX_get_ex_data(ctx,0))
 I2	  84044 # define SSL_CTX_set_app_data(ctx,arg)   (SSL_CTX_set_ex_data(ctx,0, \
 I2	  84045                                                               (char *)(arg)))
 I2	  84046 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  84047 OSSL_DEPRECATEDIN_1_1_0 void SSL_set_debug(SSL *s, int debug);
       E	 extern
 I2	  84048 # endif
 I2	  84049 
 I2	  84050 /* TLSv1.3 KeyUpdate message types */
 I2	  84051 /* -1 used so that this is an invalid value for the on-the-wire protocol */
 I2	  84052 #define SSL_KEY_UPDATE_NONE             -1
 I2	  84053 /* Values as defined for the on-the-wire protocol */
 I2	  84054 #define SSL_KEY_UPDATE_NOT_REQUESTED     0
 I2	  84055 #define SSL_KEY_UPDATE_REQUESTED         1
 I2	  84056 
 I2	  84057 /*
 I2	  84058  * The valid handshake states (one for each type message sent and one for each
 I2	  84059  * type of message received). There are also two "special" states:
 I2	  84060  * TLS = TLS or DTLS state
 I2	  84061  * DTLS = DTLS specific state
 I2	  84062  * CR/SR = Client Read/Server Read
 I2	  84063  * CW/SW = Client Write/Server Write
 I2	  84064  *
 I2	  84065  * The "special" states are:
 I2	  84066  * TLS_ST_BEFORE = No handshake has been initiated yet
 I2	  84067  * TLS_ST_OK = A handshake has been successfully completed
 I2	  84068  */
 I2	  84069 typedef enum {
 I2	  84070     TLS_ST_BEFORE,
 I2	  84071     TLS_ST_OK,
 I2	  84072     DTLS_ST_CR_HELLO_VERIFY_REQUEST,
 I2	  84073     TLS_ST_CR_SRVR_HELLO,
 I2	  84074     TLS_ST_CR_CERT,
 I2	  84075     TLS_ST_CR_CERT_STATUS,
 I2	  84076     TLS_ST_CR_KEY_EXCH,
 I2	  84077     TLS_ST_CR_CERT_REQ,
 I2	  84078     TLS_ST_CR_SRVR_DONE,
 I2	  84079     TLS_ST_CR_SESSION_TICKET,
 I2	  84080     TLS_ST_CR_CHANGE,
 I2	  84081     TLS_ST_CR_FINISHED,
 I2	  84082     TLS_ST_CW_CLNT_HELLO,
 I2	  84083     TLS_ST_CW_CERT,
 I2	  84084     TLS_ST_CW_KEY_EXCH,
 I2	  84085     TLS_ST_CW_CERT_VRFY,
 I2	  84086     TLS_ST_CW_CHANGE,
 I2	  84087     TLS_ST_CW_NEXT_PROTO,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1552
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84088     TLS_ST_CW_FINISHED,
 I2	  84089     TLS_ST_SW_HELLO_REQ,
 I2	  84090     TLS_ST_SR_CLNT_HELLO,
 I2	  84091     DTLS_ST_SW_HELLO_VERIFY_REQUEST,
 I2	  84092     TLS_ST_SW_SRVR_HELLO,
 I2	  84093     TLS_ST_SW_CERT,
 I2	  84094     TLS_ST_SW_KEY_EXCH,
 I2	  84095     TLS_ST_SW_CERT_REQ,
 I2	  84096     TLS_ST_SW_SRVR_DONE,
 I2	  84097     TLS_ST_SR_CERT,
 I2	  84098     TLS_ST_SR_KEY_EXCH,
 I2	  84099     TLS_ST_SR_CERT_VRFY,
 I2	  84100     TLS_ST_SR_NEXT_PROTO,
 I2	  84101     TLS_ST_SR_CHANGE,
 I2	  84102     TLS_ST_SR_FINISHED,
 I2	  84103     TLS_ST_SW_SESSION_TICKET,
 I2	  84104     TLS_ST_SW_CERT_STATUS,
 I2	  84105     TLS_ST_SW_CHANGE,
 I2	  84106     TLS_ST_SW_FINISHED,
 I2	  84107     TLS_ST_SW_ENCRYPTED_EXTENSIONS,
 I2	  84108     TLS_ST_CR_ENCRYPTED_EXTENSIONS,
 I2	  84109     TLS_ST_CR_CERT_VRFY,
 I2	  84110     TLS_ST_SW_CERT_VRFY,
 I2	  84111     TLS_ST_CR_HELLO_REQ,
 I2	  84112     TLS_ST_SW_KEY_UPDATE,
 I2	  84113     TLS_ST_CW_KEY_UPDATE,
 I2	  84114     TLS_ST_SR_KEY_UPDATE,
 I2	  84115     TLS_ST_CR_KEY_UPDATE,
 I2	  84116     TLS_ST_EARLY_DATA,
 I2	  84117     TLS_ST_PENDING_EARLY_DATA_END,
 I2	  84118     TLS_ST_CW_END_OF_EARLY_DATA,
 I2	  84119     TLS_ST_SR_END_OF_EARLY_DATA
 I2	  84120 } OSSL_HANDSHAKE_STATE;
 I2	  84121 
 I2	  84122 /*
 I2	  84123  * Most of the following state values are no longer used and are defined to be
 I2	  84124  * the closest equivalent value in the current state machine code. Not all
 I2	  84125  * defines have an equivalent and are set to a dummy value (-1). SSL_ST_CONNECT
 I2	  84126  * and SSL_ST_ACCEPT are still in use in the definition of SSL_CB_ACCEPT_LOOP,
 I2	  84127  * SSL_CB_ACCEPT_EXIT, SSL_CB_CONNECT_LOOP and SSL_CB_CONNECT_EXIT.
 I2	  84128  */
 I2	  84129 
 I2	  84130 # define SSL_ST_CONNECT                  0x1000
 I2	  84131 # define SSL_ST_ACCEPT                   0x2000
 I2	  84132 
 I2	  84133 # define SSL_ST_MASK                     0x0FFF
 I2	  84134 
 I2	  84135 # define SSL_CB_LOOP                     0x01
 I2	  84136 # define SSL_CB_EXIT                     0x02
 I2	  84137 # define SSL_CB_READ                     0x04
 I2	  84138 # define SSL_CB_WRITE                    0x08
 I2	  84139 # define SSL_CB_ALERT                    0x4000/* used in callback */
 I2	  84140 # define SSL_CB_READ_ALERT               (SSL_CB_ALERT|SSL_CB_READ)
 I2	  84141 # define SSL_CB_WRITE_ALERT              (SSL_CB_ALERT|SSL_CB_WRITE)
 I2	  84142 # define SSL_CB_ACCEPT_LOOP              (SSL_ST_ACCEPT|SSL_CB_LOOP)
 I2	  84143 # define SSL_CB_ACCEPT_EXIT              (SSL_ST_ACCEPT|SSL_CB_EXIT)
 I2	  84144 # define SSL_CB_CONNECT_LOOP             (SSL_ST_CONNECT|SSL_CB_LOOP)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1553
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84145 # define SSL_CB_CONNECT_EXIT             (SSL_ST_CONNECT|SSL_CB_EXIT)
 I2	  84146 # define SSL_CB_HANDSHAKE_START          0x10
 I2	  84147 # define SSL_CB_HANDSHAKE_DONE           0x20
 I2	  84148 
 I2	  84149 /* Is the SSL_connection established? */
 I2	  84150 # define SSL_in_connect_init(a)          (SSL_in_init(a) && !SSL_is_server(a))
 I2	  84151 # define SSL_in_accept_init(a)           (SSL_in_init(a) && SSL_is_server(a))
 I2	  84152 int SSL_in_init(const SSL *s);
 I2	  84153 int SSL_in_before(const SSL *s);
 I2	  84154 int SSL_is_init_finished(const SSL *s);
 I2	  84155 
 I2	  84156 /*
 I2	  84157  * The following 3 states are kept in ssl->rlayer.rstate when reads fail, you
 I2	  84158  * should not need these
 I2	  84159  */
 I2	  84160 # define SSL_ST_READ_HEADER                      0xF0
 I2	  84161 # define SSL_ST_READ_BODY                        0xF1
 I2	  84162 # define SSL_ST_READ_DONE                        0xF2
 I2	  84163 
 I2	  84164 /*-
 I2	  84165  * Obtain latest Finished message
 I2	  84166  *   -- that we sent (SSL_get_finished)
 I2	  84167  *   -- that we expected from peer (SSL_get_peer_finished).
 I2	  84168  * Returns length (0 == no Finished so far), copies up to 'count' bytes.
 I2	  84169  */
 I2	  84170 size_t SSL_get_finished(const SSL *s, void *buf, size_t count);
 I2	  84171 size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);
 I2	  84172 
 I2	  84173 /*
 I2	  84174  * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 3 options are
 I2	  84175  * 'ored' with SSL_VERIFY_PEER if they are desired
 I2	  84176  */
 I2	  84177 # define SSL_VERIFY_NONE                 0x00
 I2	  84178 # define SSL_VERIFY_PEER                 0x01
 I2	  84179 # define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
 I2	  84180 # define SSL_VERIFY_CLIENT_ONCE          0x04
 I2	  84181 # define SSL_VERIFY_POST_HANDSHAKE       0x08
 I2	  84182 
 I2	  84183 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  84184 #  define OpenSSL_add_ssl_algorithms()   SSL_library_init()
 I2	  84185 #  define SSLeay_add_ssl_algorithms()    SSL_library_init()
 I2	  84186 # endif
 I2	  84187 
 I2	  84188 /* More backward compatibility */
 I2	  84189 # define SSL_get_cipher(s) \
 I2	  84190                 SSL_CIPHER_get_name(SSL_get_current_cipher(s))
 I2	  84191 # define SSL_get_cipher_bits(s,np) \
 I2	  84192                 SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np)
 I2	  84193 # define SSL_get_cipher_version(s) \
 I2	  84194                 SSL_CIPHER_get_version(SSL_get_current_cipher(s))
 I2	  84195 # define SSL_get_cipher_name(s) \
 I2	  84196                 SSL_CIPHER_get_name(SSL_get_current_cipher(s))
 I2	  84197 # define SSL_get_time(a)         SSL_SESSION_get_time(a)
 I2	  84198 # define SSL_set_time(a,b)       SSL_SESSION_set_time((a),(b))
 I2	  84199 # define SSL_get_timeout(a)      SSL_SESSION_get_timeout(a)
 I2	  84200 # define SSL_set_timeout(a,b)    SSL_SESSION_set_timeout((a),(b))
 I2	  84201 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1554
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84202 # define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id)
 I2	  84203 # define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id)
 I2	  84204 
 I2	  84205 DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
       E	 extern SSL_SESSION * PEM_read_bio_SSL_SESSION ( BIO * out , SSL_SESSION * * x , pem_password_cb * cb , void * u ) ;
       E	 extern SSL_SESSION * PEM_read_SSL_SESSION ( FILE * out , SSL_SESSION * * x , pem_password_cb * cb , void * u ) ; ex
       E	tern int PEM_write_bio_SSL_SESSION ( BIO * out , const SSL_SESSION * x ) ; extern int PEM_write_SSL_SESSION ( FILE *
       E	 out , const SSL_SESSION * x ) ;
 I2	  84206 # define SSL_AD_REASON_OFFSET            1000/* offset to get SSL_R_... value
 I2	  84207                                               * from SSL_AD_... */
 I2	  84208 /* These alert types are for SSLv3 and TLSv1 */
 I2	  84209 # define SSL_AD_CLOSE_NOTIFY             SSL3_AD_CLOSE_NOTIFY
 I2	  84210 /* fatal */
 I2	  84211 # define SSL_AD_UNEXPECTED_MESSAGE       SSL3_AD_UNEXPECTED_MESSAGE
 I2	  84212 /* fatal */
 I2	  84213 # define SSL_AD_BAD_RECORD_MAC           SSL3_AD_BAD_RECORD_MAC
 I2	  84214 # define SSL_AD_DECRYPTION_FAILED        TLS1_AD_DECRYPTION_FAILED
 I2	  84215 # define SSL_AD_RECORD_OVERFLOW          TLS1_AD_RECORD_OVERFLOW
 I2	  84216 /* fatal */
 I2	  84217 # define SSL_AD_DECOMPRESSION_FAILURE    SSL3_AD_DECOMPRESSION_FAILURE
 I2	  84218 /* fatal */
 I2	  84219 # define SSL_AD_HANDSHAKE_FAILURE        SSL3_AD_HANDSHAKE_FAILURE
 I2	  84220 /* Not for TLS */
 I2	  84221 # define SSL_AD_NO_CERTIFICATE           SSL3_AD_NO_CERTIFICATE
 I2	  84222 # define SSL_AD_BAD_CERTIFICATE          SSL3_AD_BAD_CERTIFICATE
 I2	  84223 # define SSL_AD_UNSUPPORTED_CERTIFICATE  SSL3_AD_UNSUPPORTED_CERTIFICATE
 I2	  84224 # define SSL_AD_CERTIFICATE_REVOKED      SSL3_AD_CERTIFICATE_REVOKED
 I2	  84225 # define SSL_AD_CERTIFICATE_EXPIRED      SSL3_AD_CERTIFICATE_EXPIRED
 I2	  84226 # define SSL_AD_CERTIFICATE_UNKNOWN      SSL3_AD_CERTIFICATE_UNKNOWN
 I2	  84227 /* fatal */
 I2	  84228 # define SSL_AD_ILLEGAL_PARAMETER        SSL3_AD_ILLEGAL_PARAMETER
 I2	  84229 /* fatal */
 I2	  84230 # define SSL_AD_UNKNOWN_CA               TLS1_AD_UNKNOWN_CA
 I2	  84231 /* fatal */
 I2	  84232 # define SSL_AD_ACCESS_DENIED            TLS1_AD_ACCESS_DENIED
 I2	  84233 /* fatal */
 I2	  84234 # define SSL_AD_DECODE_ERROR             TLS1_AD_DECODE_ERROR
 I2	  84235 # define SSL_AD_DECRYPT_ERROR            TLS1_AD_DECRYPT_ERROR
 I2	  84236 /* fatal */
 I2	  84237 # define SSL_AD_EXPORT_RESTRICTION       TLS1_AD_EXPORT_RESTRICTION
 I2	  84238 /* fatal */
 I2	  84239 # define SSL_AD_PROTOCOL_VERSION         TLS1_AD_PROTOCOL_VERSION
 I2	  84240 /* fatal */
 I2	  84241 # define SSL_AD_INSUFFICIENT_SECURITY    TLS1_AD_INSUFFICIENT_SECURITY
 I2	  84242 /* fatal */
 I2	  84243 # define SSL_AD_INTERNAL_ERROR           TLS1_AD_INTERNAL_ERROR
 I2	  84244 # define SSL_AD_USER_CANCELLED           TLS1_AD_USER_CANCELLED
 I2	  84245 # define SSL_AD_NO_RENEGOTIATION         TLS1_AD_NO_RENEGOTIATION
 I2	  84246 # define SSL_AD_MISSING_EXTENSION        TLS13_AD_MISSING_EXTENSION
 I2	  84247 # define SSL_AD_CERTIFICATE_REQUIRED     TLS13_AD_CERTIFICATE_REQUIRED
 I2	  84248 # define SSL_AD_UNSUPPORTED_EXTENSION    TLS1_AD_UNSUPPORTED_EXTENSION
 I2	  84249 # define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE
 I2	  84250 # define SSL_AD_UNRECOGNIZED_NAME        TLS1_AD_UNRECOGNIZED_NAME
 I2	  84251 # define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
 I2	  84252 # define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
 I2	  84253 /* fatal */
 I2	  84254 # define SSL_AD_UNKNOWN_PSK_IDENTITY     TLS1_AD_UNKNOWN_PSK_IDENTITY

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1555
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84255 /* fatal */
 I2	  84256 # define SSL_AD_INAPPROPRIATE_FALLBACK   TLS1_AD_INAPPROPRIATE_FALLBACK
 I2	  84257 # define SSL_AD_NO_APPLICATION_PROTOCOL  TLS1_AD_NO_APPLICATION_PROTOCOL
 I2	  84258 # define SSL_ERROR_NONE                  0
 I2	  84259 # define SSL_ERROR_SSL                   1
 I2	  84260 # define SSL_ERROR_WANT_READ             2
 I2	  84261 # define SSL_ERROR_WANT_WRITE            3
 I2	  84262 # define SSL_ERROR_WANT_X509_LOOKUP      4
 I2	  84263 # define SSL_ERROR_SYSCALL               5/* look at error stack/return
 I2	  84264                                            * value/errno */
 I2	  84265 # define SSL_ERROR_ZERO_RETURN           6
 I2	  84266 # define SSL_ERROR_WANT_CONNECT          7
 I2	  84267 # define SSL_ERROR_WANT_ACCEPT           8
 I2	  84268 # define SSL_ERROR_WANT_ASYNC            9
 I2	  84269 # define SSL_ERROR_WANT_ASYNC_JOB       10
 I2	  84270 # define SSL_ERROR_WANT_CLIENT_HELLO_CB 11
 I2	  84271 # define SSL_ERROR_WANT_RETRY_VERIFY    12
 I2	  84272 
 I2	  84273 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84274 #  define SSL_CTRL_SET_TMP_DH                    3
 I2	  84275 #  define SSL_CTRL_SET_TMP_ECDH                  4
 I2	  84276 #  define SSL_CTRL_SET_TMP_DH_CB                 6
 I2	  84277 # endif
 I2	  84278 
 I2	  84279 # define SSL_CTRL_GET_CLIENT_CERT_REQUEST        9
 I2	  84280 # define SSL_CTRL_GET_NUM_RENEGOTIATIONS         10
 I2	  84281 # define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS       11
 I2	  84282 # define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS       12
 I2	  84283 # define SSL_CTRL_GET_FLAGS                      13
 I2	  84284 # define SSL_CTRL_EXTRA_CHAIN_CERT               14
 I2	  84285 # define SSL_CTRL_SET_MSG_CALLBACK               15
 I2	  84286 # define SSL_CTRL_SET_MSG_CALLBACK_ARG           16
 I2	  84287 /* only applies to datagram connections */
 I2	  84288 # define SSL_CTRL_SET_MTU                17
 I2	  84289 /* Stats */
 I2	  84290 # define SSL_CTRL_SESS_NUMBER                    20
 I2	  84291 # define SSL_CTRL_SESS_CONNECT                   21
 I2	  84292 # define SSL_CTRL_SESS_CONNECT_GOOD              22
 I2	  84293 # define SSL_CTRL_SESS_CONNECT_RENEGOTIATE       23
 I2	  84294 # define SSL_CTRL_SESS_ACCEPT                    24
 I2	  84295 # define SSL_CTRL_SESS_ACCEPT_GOOD               25
 I2	  84296 # define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE        26
 I2	  84297 # define SSL_CTRL_SESS_HIT                       27
 I2	  84298 # define SSL_CTRL_SESS_CB_HIT                    28
 I2	  84299 # define SSL_CTRL_SESS_MISSES                    29
 I2	  84300 # define SSL_CTRL_SESS_TIMEOUTS                  30
 I2	  84301 # define SSL_CTRL_SESS_CACHE_FULL                31
 I2	  84302 # define SSL_CTRL_MODE                           33
 I2	  84303 # define SSL_CTRL_GET_READ_AHEAD                 40
 I2	  84304 # define SSL_CTRL_SET_READ_AHEAD                 41
 I2	  84305 # define SSL_CTRL_SET_SESS_CACHE_SIZE            42
 I2	  84306 # define SSL_CTRL_GET_SESS_CACHE_SIZE            43
 I2	  84307 # define SSL_CTRL_SET_SESS_CACHE_MODE            44
 I2	  84308 # define SSL_CTRL_GET_SESS_CACHE_MODE            45
 I2	  84309 # define SSL_CTRL_GET_MAX_CERT_LIST              50
 I2	  84310 # define SSL_CTRL_SET_MAX_CERT_LIST              51
 I2	  84311 # define SSL_CTRL_SET_MAX_SEND_FRAGMENT          52

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1556
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84312 /* see tls1.h for macros based on these */
 I2	  84313 # define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB       53
 I2	  84314 # define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG      54
 I2	  84315 # define SSL_CTRL_SET_TLSEXT_HOSTNAME            55
 I2	  84316 # define SSL_CTRL_SET_TLSEXT_DEBUG_CB            56
 I2	  84317 # define SSL_CTRL_SET_TLSEXT_DEBUG_ARG           57
 I2	  84318 # define SSL_CTRL_GET_TLSEXT_TICKET_KEYS         58
 I2	  84319 # define SSL_CTRL_SET_TLSEXT_TICKET_KEYS         59
 I2	  84320 /*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT    60 */
 I2	  84321 /*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 */
 I2	  84322 /*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 */
 I2	  84323 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB       63
 I2	  84324 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG   64
 I2	  84325 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE     65
 I2	  84326 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS     66
 I2	  84327 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS     67
 I2	  84328 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS      68
 I2	  84329 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS      69
 I2	  84330 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP        70
 I2	  84331 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP        71
 I2	  84332 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84333 #  define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB      72
 I2	  84334 # endif
 I2	  84335 # define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB    75
 I2	  84336 # define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB                76
 I2	  84337 # define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB             77
 I2	  84338 # define SSL_CTRL_SET_SRP_ARG            78
 I2	  84339 # define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME               79
 I2	  84340 # define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH               80
 I2	  84341 # define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD               81
 I2	  84342 # define DTLS_CTRL_GET_TIMEOUT           73
 I2	  84343 # define DTLS_CTRL_HANDLE_TIMEOUT        74
 I2	  84344 # define SSL_CTRL_GET_RI_SUPPORT                 76
 I2	  84345 # define SSL_CTRL_CLEAR_MODE                     78
 I2	  84346 # define SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB      79
 I2	  84347 # define SSL_CTRL_GET_EXTRA_CHAIN_CERTS          82
 I2	  84348 # define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS        83
 I2	  84349 # define SSL_CTRL_CHAIN                          88
 I2	  84350 # define SSL_CTRL_CHAIN_CERT                     89
 I2	  84351 # define SSL_CTRL_GET_GROUPS                     90
 I2	  84352 # define SSL_CTRL_SET_GROUPS                     91
 I2	  84353 # define SSL_CTRL_SET_GROUPS_LIST                92
 I2	  84354 # define SSL_CTRL_GET_SHARED_GROUP               93
 I2	  84355 # define SSL_CTRL_SET_SIGALGS                    97
 I2	  84356 # define SSL_CTRL_SET_SIGALGS_LIST               98
 I2	  84357 # define SSL_CTRL_CERT_FLAGS                     99
 I2	  84358 # define SSL_CTRL_CLEAR_CERT_FLAGS               100
 I2	  84359 # define SSL_CTRL_SET_CLIENT_SIGALGS             101
 I2	  84360 # define SSL_CTRL_SET_CLIENT_SIGALGS_LIST        102
 I2	  84361 # define SSL_CTRL_GET_CLIENT_CERT_TYPES          103
 I2	  84362 # define SSL_CTRL_SET_CLIENT_CERT_TYPES          104
 I2	  84363 # define SSL_CTRL_BUILD_CERT_CHAIN               105
 I2	  84364 # define SSL_CTRL_SET_VERIFY_CERT_STORE          106
 I2	  84365 # define SSL_CTRL_SET_CHAIN_CERT_STORE           107
 I2	  84366 # define SSL_CTRL_GET_PEER_SIGNATURE_NID         108
 I2	  84367 # define SSL_CTRL_GET_PEER_TMP_KEY               109
 I2	  84368 # define SSL_CTRL_GET_RAW_CIPHERLIST             110

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1557
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84369 # define SSL_CTRL_GET_EC_POINT_FORMATS           111
 I2	  84370 # define SSL_CTRL_GET_CHAIN_CERTS                115
 I2	  84371 # define SSL_CTRL_SELECT_CURRENT_CERT            116
 I2	  84372 # define SSL_CTRL_SET_CURRENT_CERT               117
 I2	  84373 # define SSL_CTRL_SET_DH_AUTO                    118
 I2	  84374 # define DTLS_CTRL_SET_LINK_MTU                  120
 I2	  84375 # define DTLS_CTRL_GET_LINK_MIN_MTU              121
 I2	  84376 # define SSL_CTRL_GET_EXTMS_SUPPORT              122
 I2	  84377 # define SSL_CTRL_SET_MIN_PROTO_VERSION          123
 I2	  84378 # define SSL_CTRL_SET_MAX_PROTO_VERSION          124
 I2	  84379 # define SSL_CTRL_SET_SPLIT_SEND_FRAGMENT        125
 I2	  84380 # define SSL_CTRL_SET_MAX_PIPELINES              126
 I2	  84381 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE     127
 I2	  84382 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB       128
 I2	  84383 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG   129
 I2	  84384 # define SSL_CTRL_GET_MIN_PROTO_VERSION          130
 I2	  84385 # define SSL_CTRL_GET_MAX_PROTO_VERSION          131
 I2	  84386 # define SSL_CTRL_GET_SIGNATURE_NID              132
 I2	  84387 # define SSL_CTRL_GET_TMP_KEY                    133
 I2	  84388 # define SSL_CTRL_GET_NEGOTIATED_GROUP           134
 I2	  84389 # define SSL_CTRL_SET_RETRY_VERIFY               136
 I2	  84390 # define SSL_CTRL_GET_VERIFY_CERT_STORE          137
 I2	  84391 # define SSL_CTRL_GET_CHAIN_CERT_STORE           138
 I2	  84392 # define SSL_CERT_SET_FIRST                      1
 I2	  84393 # define SSL_CERT_SET_NEXT                       2
 I2	  84394 # define SSL_CERT_SET_SERVER                     3
 I2	  84395 # define DTLSv1_get_timeout(ssl, arg) \
 I2	  84396         SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)(arg))
 I2	  84397 # define DTLSv1_handle_timeout(ssl) \
 I2	  84398         SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL)
 I2	  84399 # define SSL_num_renegotiations(ssl) \
 I2	  84400         SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL)
 I2	  84401 # define SSL_clear_num_renegotiations(ssl) \
 I2	  84402         SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL)
 I2	  84403 # define SSL_total_renegotiations(ssl) \
 I2	  84404         SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL)
 I2	  84405 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84406 #  define SSL_CTX_set_tmp_dh(ctx,dh) \
 I2	  84407         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)(dh))
 I2	  84408 # endif
 I2	  84409 # define SSL_CTX_set_dh_auto(ctx, onoff) \
 I2	  84410         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL)
 I2	  84411 # define SSL_set_dh_auto(s, onoff) \
 I2	  84412         SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL)
 I2	  84413 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84414 #  define SSL_set_tmp_dh(ssl,dh) \
 I2	  84415         SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)(dh))
 I2	  84416 # endif
 I2	  84417 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84418 #  define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \
 I2	  84419         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh))
 I2	  84420 #  define SSL_set_tmp_ecdh(ssl,ecdh) \
 I2	  84421         SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh))
 I2	  84422 # endif
 I2	  84423 # define SSL_CTX_add_extra_chain_cert(ctx,x509) \
 I2	  84424         SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)(x509))
 I2	  84425 # define SSL_CTX_get_extra_chain_certs(ctx,px509) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1558
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84426         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509)
 I2	  84427 # define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \
 I2	  84428         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509)
 I2	  84429 # define SSL_CTX_clear_extra_chain_certs(ctx) \
 I2	  84430         SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL)
 I2	  84431 # define SSL_CTX_set0_chain(ctx,sk) \
 I2	  84432         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk))
 I2	  84433 # define SSL_CTX_set1_chain(ctx,sk) \
 I2	  84434         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk))
 I2	  84435 # define SSL_CTX_add0_chain_cert(ctx,x509) \
 I2	  84436         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509))
 I2	  84437 # define SSL_CTX_add1_chain_cert(ctx,x509) \
 I2	  84438         SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509))
 I2	  84439 # define SSL_CTX_get0_chain_certs(ctx,px509) \
 I2	  84440         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509)
 I2	  84441 # define SSL_CTX_clear_chain_certs(ctx) \
 I2	  84442         SSL_CTX_set0_chain(ctx,NULL)
 I2	  84443 # define SSL_CTX_build_cert_chain(ctx, flags) \
 I2	  84444         SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL)
 I2	  84445 # define SSL_CTX_select_current_cert(ctx,x509) \
 I2	  84446         SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509))
 I2	  84447 # define SSL_CTX_set_current_cert(ctx, op) \
 I2	  84448         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL)
 I2	  84449 # define SSL_CTX_set0_verify_cert_store(ctx,st) \
 I2	  84450         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st))
 I2	  84451 # define SSL_CTX_set1_verify_cert_store(ctx,st) \
 I2	  84452         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st))
 I2	  84453 # define SSL_CTX_get0_verify_cert_store(ctx,st) \
 I2	  84454         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_VERIFY_CERT_STORE,0,(char *)(st))
 I2	  84455 # define SSL_CTX_set0_chain_cert_store(ctx,st) \
 I2	  84456         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
 I2	  84457 # define SSL_CTX_set1_chain_cert_store(ctx,st) \
 I2	  84458         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
 I2	  84459 # define SSL_CTX_get0_chain_cert_store(ctx,st) \
 I2	  84460         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERT_STORE,0,(char *)(st))
 I2	  84461 # define SSL_set0_chain(s,sk) \
 I2	  84462         SSL_ctrl(s,SSL_CTRL_CHAIN,0,(char *)(sk))
 I2	  84463 # define SSL_set1_chain(s,sk) \
 I2	  84464         SSL_ctrl(s,SSL_CTRL_CHAIN,1,(char *)(sk))
 I2	  84465 # define SSL_add0_chain_cert(s,x509) \
 I2	  84466         SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,0,(char *)(x509))
 I2	  84467 # define SSL_add1_chain_cert(s,x509) \
 I2	  84468         SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,1,(char *)(x509))
 I2	  84469 # define SSL_get0_chain_certs(s,px509) \
 I2	  84470         SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERTS,0,px509)
 I2	  84471 # define SSL_clear_chain_certs(s) \
 I2	  84472         SSL_set0_chain(s,NULL)
 I2	  84473 # define SSL_build_cert_chain(s, flags) \
 I2	  84474         SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL)
 I2	  84475 # define SSL_select_current_cert(s,x509) \
 I2	  84476         SSL_ctrl(s,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509))
 I2	  84477 # define SSL_set_current_cert(s,op) \
 I2	  84478         SSL_ctrl(s,SSL_CTRL_SET_CURRENT_CERT, op, NULL)
 I2	  84479 # define SSL_set0_verify_cert_store(s,st) \
 I2	  84480         SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st))
 I2	  84481 # define SSL_set1_verify_cert_store(s,st) \
 I2	  84482         SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1559
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84483 #define SSL_get0_verify_cert_store(s,st) \
 I2	  84484         SSL_ctrl(s,SSL_CTRL_GET_VERIFY_CERT_STORE,0,(char *)(st))
 I2	  84485 # define SSL_set0_chain_cert_store(s,st) \
 I2	  84486         SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
 I2	  84487 # define SSL_set1_chain_cert_store(s,st) \
 I2	  84488         SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
 I2	  84489 #define SSL_get0_chain_cert_store(s,st) \
 I2	  84490         SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERT_STORE,0,(char *)(st))
 I2	  84491 
 I2	  84492 # define SSL_get1_groups(s, glist) \
 I2	  84493         SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist))
 I2	  84494 # define SSL_CTX_set1_groups(ctx, glist, glistlen) \
 I2	  84495         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(int *)(glist))
 I2	  84496 # define SSL_CTX_set1_groups_list(ctx, s) \
 I2	  84497         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s))
 I2	  84498 # define SSL_set1_groups(s, glist, glistlen) \
 I2	  84499         SSL_ctrl(s,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist))
 I2	  84500 # define SSL_set1_groups_list(s, str) \
 I2	  84501         SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str))
 I2	  84502 # define SSL_get_shared_group(s, n) \
 I2	  84503         SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL)
 I2	  84504 # define SSL_get_negotiated_group(s) \
 I2	  84505         SSL_ctrl(s,SSL_CTRL_GET_NEGOTIATED_GROUP,0,NULL)
 I2	  84506 # define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \
 I2	  84507         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
 I2	  84508 # define SSL_CTX_set1_sigalgs_list(ctx, s) \
 I2	  84509         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s))
 I2	  84510 # define SSL_set1_sigalgs(s, slist, slistlen) \
 I2	  84511         SSL_ctrl(s,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
 I2	  84512 # define SSL_set1_sigalgs_list(s, str) \
 I2	  84513         SSL_ctrl(s,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(str))
 I2	  84514 # define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \
 I2	  84515         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist))
 I2	  84516 # define SSL_CTX_set1_client_sigalgs_list(ctx, s) \
 I2	  84517         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s))
 I2	  84518 # define SSL_set1_client_sigalgs(s, slist, slistlen) \
 I2	  84519         SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist))
 I2	  84520 # define SSL_set1_client_sigalgs_list(s, str) \
 I2	  84521         SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(str))
 I2	  84522 # define SSL_get0_certificate_types(s, clist) \
 I2	  84523         SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist))
 I2	  84524 # define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \
 I2	  84525         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen, \
 I2	  84526                      (char *)(clist))
 I2	  84527 # define SSL_set1_client_certificate_types(s, clist, clistlen) \
 I2	  84528         SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)(clist))
 I2	  84529 # define SSL_get_signature_nid(s, pn) \
 I2	  84530         SSL_ctrl(s,SSL_CTRL_GET_SIGNATURE_NID,0,pn)
 I2	  84531 # define SSL_get_peer_signature_nid(s, pn) \
 I2	  84532         SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn)
 I2	  84533 # define SSL_get_peer_tmp_key(s, pk) \
 I2	  84534         SSL_ctrl(s,SSL_CTRL_GET_PEER_TMP_KEY,0,pk)
 I2	  84535 # define SSL_get_tmp_key(s, pk) \
 I2	  84536         SSL_ctrl(s,SSL_CTRL_GET_TMP_KEY,0,pk)
 I2	  84537 # define SSL_get0_raw_cipherlist(s, plst) \
 I2	  84538         SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst)
 I2	  84539 # define SSL_get0_ec_point_formats(s, plst) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1560
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84540         SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,plst)
 I2	  84541 # define SSL_CTX_set_min_proto_version(ctx, version) \
 I2	  84542         SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL)
 I2	  84543 # define SSL_CTX_set_max_proto_version(ctx, version) \
 I2	  84544         SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL)
 I2	  84545 # define SSL_CTX_get_min_proto_version(ctx) \
 I2	  84546         SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL)
 I2	  84547 # define SSL_CTX_get_max_proto_version(ctx) \
 I2	  84548         SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL)
 I2	  84549 # define SSL_set_min_proto_version(s, version) \
 I2	  84550         SSL_ctrl(s, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL)
 I2	  84551 # define SSL_set_max_proto_version(s, version) \
 I2	  84552         SSL_ctrl(s, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL)
 I2	  84553 # define SSL_get_min_proto_version(s) \
 I2	  84554         SSL_ctrl(s, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL)
 I2	  84555 # define SSL_get_max_proto_version(s) \
 I2	  84556         SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL)
 I2	  84557 
 I2	  84558 const char *SSL_group_to_name(SSL *s, int id);
 I2	  84559 
 I2	  84560 /* Backwards compatibility, original 1.1.0 names */
 I2	  84561 # define SSL_CTRL_GET_SERVER_TMP_KEY \
 I2	  84562          SSL_CTRL_GET_PEER_TMP_KEY
 I2	  84563 # define SSL_get_server_tmp_key(s, pk) \
 I2	  84564          SSL_get_peer_tmp_key(s, pk)
 I2	  84565 
 I2	  84566 int SSL_set0_tmp_dh_pkey(SSL *s, EVP_PKEY *dhpkey);
 I2	  84567 int SSL_CTX_set0_tmp_dh_pkey(SSL_CTX *ctx, EVP_PKEY *dhpkey);
 I2	  84568 
 I2	  84569 /*
 I2	  84570  * The following symbol names are old and obsolete. They are kept
 I2	  84571  * for compatibility reasons only and should not be used anymore.
 I2	  84572  */
 I2	  84573 # define SSL_CTRL_GET_CURVES           SSL_CTRL_GET_GROUPS
 I2	  84574 # define SSL_CTRL_SET_CURVES           SSL_CTRL_SET_GROUPS
 I2	  84575 # define SSL_CTRL_SET_CURVES_LIST      SSL_CTRL_SET_GROUPS_LIST
 I2	  84576 # define SSL_CTRL_GET_SHARED_CURVE     SSL_CTRL_GET_SHARED_GROUP
 I2	  84577 
 I2	  84578 # define SSL_get1_curves               SSL_get1_groups
 I2	  84579 # define SSL_CTX_set1_curves           SSL_CTX_set1_groups
 I2	  84580 # define SSL_CTX_set1_curves_list      SSL_CTX_set1_groups_list
 I2	  84581 # define SSL_set1_curves               SSL_set1_groups
 I2	  84582 # define SSL_set1_curves_list          SSL_set1_groups_list
 I2	  84583 # define SSL_get_shared_curve          SSL_get_shared_group
 I2	  84584 
 I2	  84585 
 I2	  84586 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  84587 /* Provide some compatibility macros for removed functionality. */
 I2	  84588 #  define SSL_CTX_need_tmp_RSA(ctx)                0
 I2	  84589 #  define SSL_CTX_set_tmp_rsa(ctx,rsa)             1
 I2	  84590 #  define SSL_need_tmp_RSA(ssl)                    0
 I2	  84591 #  define SSL_set_tmp_rsa(ssl,rsa)                 1
 I2	  84592 #  define SSL_CTX_set_ecdh_auto(dummy, onoff)      ((onoff) != 0)
 I2	  84593 #  define SSL_set_ecdh_auto(dummy, onoff)          ((onoff) != 0)
 I2	  84594 /*
 I2	  84595  * We "pretend" to call the callback to avoid warnings about unused static
 I2	  84596  * functions.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1561
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84597  */
 I2	  84598 #  define SSL_CTX_set_tmp_rsa_callback(ctx, cb)    while(0) (cb)(NULL, 0, 0)
 I2	  84599 #  define SSL_set_tmp_rsa_callback(ssl, cb)        while(0) (cb)(NULL, 0, 0)
 I2	  84600 # endif
 I2	  84601 __owur const BIO_METHOD *BIO_f_ssl(void);
       E	 
 I2	  84602 __owur BIO *BIO_new_ssl(SSL_CTX *ctx, int client);
       E	 
 I2	  84603 __owur BIO *BIO_new_ssl_connect(SSL_CTX *ctx);
       E	 
 I2	  84604 __owur BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx);
       E	 
 I2	  84605 __owur int BIO_ssl_copy_session_id(BIO *to, BIO *from);
       E	 
 I2	  84606 void BIO_ssl_shutdown(BIO *ssl_bio);
 I2	  84607 
 I2	  84608 __owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str);
       E	 
 I2	  84609 __owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
       E	 
 I2	  84610 __owur SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
       E	 
 I2	  84611                                const SSL_METHOD *meth);
 I2	  84612 int SSL_CTX_up_ref(SSL_CTX *ctx);
 I2	  84613 void SSL_CTX_free(SSL_CTX *);
 I2	  84614 __owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t);
       E	 
 I2	  84615 __owur long SSL_CTX_get_timeout(const SSL_CTX *ctx);
       E	 
 I2	  84616 __owur X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *);
       E	 
 I2	  84617 void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *);
 I2	  84618 void SSL_CTX_set1_cert_store(SSL_CTX *, X509_STORE *);
 I2	  84619 __owur int SSL_want(const SSL *s);
       E	 
 I2	  84620 __owur int SSL_clear(SSL *s);
       E	 
 I2	  84621 
 I2	  84622 void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm);
 I2	  84623 
 I2	  84624 __owur const SSL_CIPHER *SSL_get_current_cipher(const SSL *s);
       E	 
 I2	  84625 __owur const SSL_CIPHER *SSL_get_pending_cipher(const SSL *s);
       E	 
 I2	  84626 __owur int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits);
       E	 
 I2	  84627 __owur const char *SSL_CIPHER_get_version(const SSL_CIPHER *c);
       E	 
 I2	  84628 __owur const char *SSL_CIPHER_get_name(const SSL_CIPHER *c);
       E	 
 I2	  84629 __owur const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c);
       E	 
 I2	  84630 __owur const char *OPENSSL_cipher_name(const char *rfc_name);
       E	 
 I2	  84631 __owur uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c);
       E	 
 I2	  84632 __owur uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *c);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1562
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

       E	 
 I2	  84633 __owur int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c);
       E	 
 I2	  84634 __owur int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c);
       E	 
 I2	  84635 __owur const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c);
       E	 
 I2	  84636 __owur int SSL_CIPHER_is_aead(const SSL_CIPHER *c);
       E	 
 I2	  84637 
 I2	  84638 __owur int SSL_get_fd(const SSL *s);
       E	 
 I2	  84639 __owur int SSL_get_rfd(const SSL *s);
       E	 
 I2	  84640 __owur int SSL_get_wfd(const SSL *s);
       E	 
 I2	  84641 __owur const char *SSL_get_cipher_list(const SSL *s, int n);
       E	 
 I2	  84642 __owur char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size);
       E	 
 I2	  84643 __owur int SSL_get_read_ahead(const SSL *s);
       E	 
 I2	  84644 __owur int SSL_pending(const SSL *s);
       E	 
 I2	  84645 __owur int SSL_has_pending(const SSL *s);
       E	 
 I2	  84646 # ifndef OPENSSL_NO_SOCK
 I2	  84647 __owur int SSL_set_fd(SSL *s, int fd);
       E	 
 I2	  84648 __owur int SSL_set_rfd(SSL *s, int fd);
       E	 
 I2	  84649 __owur int SSL_set_wfd(SSL *s, int fd);
       E	 
 I2	  84650 # endif
 I2	  84651 void SSL_set0_rbio(SSL *s, BIO *rbio);
 I2	  84652 void SSL_set0_wbio(SSL *s, BIO *wbio);
 I2	  84653 void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio);
 I2	  84654 __owur BIO *SSL_get_rbio(const SSL *s);
       E	 
 I2	  84655 __owur BIO *SSL_get_wbio(const SSL *s);
       E	 
 I2	  84656 __owur int SSL_set_cipher_list(SSL *s, const char *str);
       E	 
 I2	  84657 __owur int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str);
       E	 
 I2	  84658 __owur int SSL_set_ciphersuites(SSL *s, const char *str);
       E	 
 I2	  84659 void SSL_set_read_ahead(SSL *s, int yes);
 I2	  84660 __owur int SSL_get_verify_mode(const SSL *s);
       E	 
 I2	  84661 __owur int SSL_get_verify_depth(const SSL *s);
       E	 
 I2	  84662 __owur SSL_verify_cb SSL_get_verify_callback(const SSL *s);
       E	 
 I2	  84663 void SSL_set_verify(SSL *s, int mode, SSL_verify_cb callback);
 I2	  84664 void SSL_set_verify_depth(SSL *s, int depth);
 I2	  84665 void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1563
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84666 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84667 OSSL_DEPRECATEDIN_3_0 __owur int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);
       E	 extern
       E	                       
 I2	  84668 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84669 __owur int SSL_use_RSAPrivateKey_ASN1(SSL *ssl,
       E	 
 I2	  84670                                       const unsigned char *d, long len);
 I2	  84671 # endif
 I2	  84672 __owur int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);
       E	 
 I2	  84673 __owur int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d,
       E	 
 I2	  84674                                    long len);
 I2	  84675 __owur int SSL_use_certificate(SSL *ssl, X509 *x);
       E	 
 I2	  84676 __owur int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len);
       E	 
 I2	  84677 __owur int SSL_use_cert_and_key(SSL *ssl, X509 *x509, EVP_PKEY *privatekey,
       E	 
 I2	  84678                                 STACK_OF(X509) *chain, int override);
       E	                                 struct stack_st_X509
 I2	  84679 
 I2	  84680 
 I2	  84681 /* serverinfo file format versions */
 I2	  84682 # define SSL_SERVERINFOV1   1
 I2	  84683 # define SSL_SERVERINFOV2   2
 I2	  84684 
 I2	  84685 /* Set serverinfo data for the current active cert. */
 I2	  84686 __owur int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,
       E	 
 I2	  84687                                   size_t serverinfo_length);
 I2	  84688 __owur int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
       E	 
 I2	  84689                                      const unsigned char *serverinfo,
 I2	  84690                                      size_t serverinfo_length);
 I2	  84691 __owur int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file);
       E	 
 I2	  84692 
 I2	  84693 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84694 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84695 __owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);
       E	 
 I2	  84696 #endif
 I2	  84697 
 I2	  84698 __owur int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);
       E	 
 I2	  84699 __owur int SSL_use_certificate_file(SSL *ssl, const char *file, int type);
       E	 
 I2	  84700 
 I2	  84701 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84702 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84703 __owur int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file,
       E	 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1564
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84704                                           int type);
 I2	  84705 #endif
 I2	  84706 __owur int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file,
       E	 
 I2	  84707                                        int type);
 I2	  84708 __owur int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file,
       E	 
 I2	  84709                                         int type);
 I2	  84710 /* PEM type */
 I2	  84711 __owur int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file);
       E	 
 I2	  84712 __owur int SSL_use_certificate_chain_file(SSL *ssl, const char *file);
       E	 
 I2	  84713 __owur STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);
       E	 
       E	        struct stack_st_X509_NAME
 I2	  84714 __owur STACK_OF(X509_NAME)
       E	 
       E	        struct stack_st_X509_NAME
 I2	  84715 *SSL_load_client_CA_file_ex(const char *file, OSSL_LIB_CTX *libctx,
 I2	  84716                             const char *propq);
 I2	  84717 __owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
       E	 
       E	                                                struct stack_st_X509_NAME
 I2	  84718                                                const char *file);
 I2	  84719 int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
       E	                                        struct stack_st_X509_NAME
 I2	  84720                                        const char *dir);
 I2	  84721 int SSL_add_store_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
       E	                                          struct stack_st_X509_NAME
 I2	  84722                                        const char *uri);
 I2	  84723 
 I2	  84724 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  84725 #  define SSL_load_error_strings() \
 I2	  84726     OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \
 I2	  84727                      | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
 I2	  84728 # endif
 I2	  84729 
 I2	  84730 __owur const char *SSL_state_string(const SSL *s);
       E	 
 I2	  84731 __owur const char *SSL_rstate_string(const SSL *s);
       E	 
 I2	  84732 __owur const char *SSL_state_string_long(const SSL *s);
       E	 
 I2	  84733 __owur const char *SSL_rstate_string_long(const SSL *s);
       E	 
 I2	  84734 __owur long SSL_SESSION_get_time(const SSL_SESSION *s);
       E	 
 I2	  84735 __owur long SSL_SESSION_set_time(SSL_SESSION *s, long t);
       E	 
 I2	  84736 __owur long SSL_SESSION_get_timeout(const SSL_SESSION *s);
       E	 
 I2	  84737 __owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);
       E	 
 I2	  84738 __owur int SSL_SESSION_get_protocol_version(const SSL_SESSION *s);
       E	 
 I2	  84739 __owur int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1565
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

       E	 
 I2	  84740 
 I2	  84741 __owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s);
       E	 
 I2	  84742 __owur int SSL_SESSION_set1_hostname(SSL_SESSION *s, const char *hostname);
       E	 
 I2	  84743 void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s,
 I2	  84744                                     const unsigned char **alpn,
 I2	  84745                                     size_t *len);
 I2	  84746 __owur int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s,
       E	 
 I2	  84747                                           const unsigned char *alpn,
 I2	  84748                                           size_t len);
 I2	  84749 __owur const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s);
       E	 
 I2	  84750 __owur int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher);
       E	 
 I2	  84751 __owur int SSL_SESSION_has_ticket(const SSL_SESSION *s);
       E	 
 I2	  84752 __owur unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s);
       E	 
 I2	  84753 void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned char **tick,
 I2	  84754                              size_t *len);
 I2	  84755 __owur uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s);
       E	 
 I2	  84756 __owur int SSL_SESSION_set_max_early_data(SSL_SESSION *s,
       E	 
 I2	  84757                                           uint32_t max_early_data);
 I2	  84758 __owur int SSL_copy_session_id(SSL *to, const SSL *from);
       E	 
 I2	  84759 __owur X509 *SSL_SESSION_get0_peer(SSL_SESSION *s);
       E	 
 I2	  84760 __owur int SSL_SESSION_set1_id_context(SSL_SESSION *s,
       E	 
 I2	  84761                                        const unsigned char *sid_ctx,
 I2	  84762                                        unsigned int sid_ctx_len);
 I2	  84763 __owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid,
       E	 
 I2	  84764                                unsigned int sid_len);
 I2	  84765 __owur int SSL_SESSION_is_resumable(const SSL_SESSION *s);
       E	 
 I2	  84766 
 I2	  84767 __owur SSL_SESSION *SSL_SESSION_new(void);
       E	 
 I2	  84768 __owur SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src);
       E	 
 I2	  84769 const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s,
 I2	  84770                                         unsigned int *len);
 I2	  84771 const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s,
 I2	  84772                                                  unsigned int *len);
 I2	  84773 __owur unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s);
       E	 
 I2	  84774 # ifndef OPENSSL_NO_STDIO
 I2	  84775 int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses);
 I2	  84776 # endif
 I2	  84777 int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses);
 I2	  84778 int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1566
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84779 int SSL_SESSION_up_ref(SSL_SESSION *ses);
 I2	  84780 void SSL_SESSION_free(SSL_SESSION *ses);
 I2	  84781 __owur int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp);
       E	 
 I2	  84782 __owur int SSL_set_session(SSL *to, SSL_SESSION *session);
       E	 
 I2	  84783 int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session);
 I2	  84784 int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session);
 I2	  84785 __owur int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb);
       E	 
 I2	  84786 __owur int SSL_set_generate_session_id(SSL *s, GEN_SESSION_CB cb);
       E	 
 I2	  84787 __owur int SSL_has_matching_session_id(const SSL *s,
       E	 
 I2	  84788                                        const unsigned char *id,
 I2	  84789                                        unsigned int id_len);
 I2	  84790 SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
 I2	  84791                              long length);
 I2	  84792 
 I2	  84793 # ifdef OPENSSL_X509_H
 I2	  84794 __owur X509 *SSL_get0_peer_certificate(const SSL *s);
       E	 
 I2	  84795 __owur X509 *SSL_get1_peer_certificate(const SSL *s);
       E	 
 I2	  84796 /* Deprecated in 3.0.0 */
 I2	  84797 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84798 #   define SSL_get_peer_certificate SSL_get1_peer_certificate
 I2	  84799 #  endif
 I2	  84800 # endif
 I2	  84801 
 I2	  84802 __owur STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s);
       E	 
       E	        struct stack_st_X509
 I2	  84803 
 I2	  84804 __owur int SSL_CTX_get_verify_mode(const SSL_CTX *ctx);
       E	 
 I2	  84805 __owur int SSL_CTX_get_verify_depth(const SSL_CTX *ctx);
       E	 
 I2	  84806 __owur SSL_verify_cb SSL_CTX_get_verify_callback(const SSL_CTX *ctx);
       E	 
 I2	  84807 void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, SSL_verify_cb callback);
 I2	  84808 void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth);
 I2	  84809 void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx,
 I2	  84810                                       int (*cb) (X509_STORE_CTX *, void *),
 I2	  84811                                       void *arg);
 I2	  84812 void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg),
 I2	  84813                          void *arg);
 I2	  84814 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84815 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84816 __owur int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);
       E	 
 I2	  84817 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84818 __owur int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d,
       E	 
 I2	  84819                                           long len);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1567
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84820 # endif
 I2	  84821 __owur int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);
       E	 
 I2	  84822 __owur int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx,
       E	 
 I2	  84823                                        const unsigned char *d, long len);
 I2	  84824 __owur int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
       E	 
 I2	  84825 __owur int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len,
       E	 
 I2	  84826                                         const unsigned char *d);
 I2	  84827 __owur int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x509, EVP_PKEY *privatekey,
       E	 
 I2	  84828                                     STACK_OF(X509) *chain, int override);
       E	                                     struct stack_st_X509
 I2	  84829 
 I2	  84830 void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb);
 I2	  84831 void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u);
 I2	  84832 pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx);
 I2	  84833 void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx);
 I2	  84834 void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb);
 I2	  84835 void SSL_set_default_passwd_cb_userdata(SSL *s, void *u);
 I2	  84836 pem_password_cb *SSL_get_default_passwd_cb(SSL *s);
 I2	  84837 void *SSL_get_default_passwd_cb_userdata(SSL *s);
 I2	  84838 
 I2	  84839 __owur int SSL_CTX_check_private_key(const SSL_CTX *ctx);
       E	 
 I2	  84840 __owur int SSL_check_private_key(const SSL *ctx);
       E	 
 I2	  84841 
 I2	  84842 __owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx,
       E	 
 I2	  84843                                           const unsigned char *sid_ctx,
 I2	  84844                                           unsigned int sid_ctx_len);
 I2	  84845 
 I2	  84846 SSL *SSL_new(SSL_CTX *ctx);
 I2	  84847 int SSL_up_ref(SSL *s);
 I2	  84848 int SSL_is_dtls(const SSL *s);
 I2	  84849 __owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
       E	 
 I2	  84850                                       unsigned int sid_ctx_len);
 I2	  84851 
 I2	  84852 __owur int SSL_CTX_set_purpose(SSL_CTX *ctx, int purpose);
       E	 
 I2	  84853 __owur int SSL_set_purpose(SSL *ssl, int purpose);
       E	 
 I2	  84854 __owur int SSL_CTX_set_trust(SSL_CTX *ctx, int trust);
       E	 
 I2	  84855 __owur int SSL_set_trust(SSL *ssl, int trust);
       E	 
 I2	  84856 
 I2	  84857 __owur int SSL_set1_host(SSL *s, const char *hostname);
       E	 
 I2	  84858 __owur int SSL_add1_host(SSL *s, const char *hostname);
       E	 
 I2	  84859 __owur const char *SSL_get0_peername(SSL *s);
       E	 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1568
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84860 void SSL_set_hostflags(SSL *s, unsigned int flags);
 I2	  84861 
 I2	  84862 __owur int SSL_CTX_dane_enable(SSL_CTX *ctx);
       E	 
 I2	  84863 __owur int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md,
       E	 
 I2	  84864                                   uint8_t mtype, uint8_t ord);
 I2	  84865 __owur int SSL_dane_enable(SSL *s, const char *basedomain);
       E	 
 I2	  84866 __owur int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector,
       E	 
 I2	  84867                              uint8_t mtype, const unsigned char *data, size_t dlen);
 I2	  84868 __owur int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki);
       E	 
 I2	  84869 __owur int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector,
       E	 
 I2	  84870                               uint8_t *mtype, const unsigned char **data,
 I2	  84871                               size_t *dlen);
 I2	  84872 /*
 I2	  84873  * Bridge opacity barrier between libcrypt and libssl, also needed to support
 I2	  84874  * offline testing in test/danetest.c
 I2	  84875  */
 I2	  84876 SSL_DANE *SSL_get0_dane(SSL *ssl);
 I2	  84877 /*
 I2	  84878  * DANE flags
 I2	  84879  */
 I2	  84880 unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx, unsigned long flags);
 I2	  84881 unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx, unsigned long flags);
 I2	  84882 unsigned long SSL_dane_set_flags(SSL *ssl, unsigned long flags);
 I2	  84883 unsigned long SSL_dane_clear_flags(SSL *ssl, unsigned long flags);
 I2	  84884 
 I2	  84885 __owur int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm);
       E	 
 I2	  84886 __owur int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm);
       E	 
 I2	  84887 
 I2	  84888 __owur X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx);
       E	 
 I2	  84889 __owur X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl);
       E	 
 I2	  84890 
 I2	  84891 # ifndef OPENSSL_NO_SRP
 I2	  84892 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84893 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name);
       E	 extern
 I2	  84894 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password);
       E	 extern
 I2	  84895 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength);
       E	 extern
 I2	  84896 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84897 int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx,
 I2	  84898                                         char *(*cb) (SSL *, void *));
 I2	  84899 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84900 int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx,
 I2	  84901                                           int (*cb) (SSL *, void *));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1569
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84902 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84903 int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx,
 I2	  84904                                       int (*cb) (SSL *, int *, void *));
 I2	  84905 OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg);
       E	 extern
 I2	  84906 
 I2	  84907 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84908 int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g,
 I2	  84909                              BIGNUM *sa, BIGNUM *v, char *info);
 I2	  84910 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84911 int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass,
 I2	  84912                                 const char *grp);
 I2	  84913 
 I2	  84914 OSSL_DEPRECATEDIN_3_0 __owur BIGNUM *SSL_get_srp_g(SSL *s);
       E	 extern
       E	                       
 I2	  84915 OSSL_DEPRECATEDIN_3_0 __owur BIGNUM *SSL_get_srp_N(SSL *s);
       E	 extern
       E	                       
 I2	  84916 
 I2	  84917 OSSL_DEPRECATEDIN_3_0 __owur char *SSL_get_srp_username(SSL *s);
       E	 extern
       E	                       
 I2	  84918 OSSL_DEPRECATEDIN_3_0 __owur char *SSL_get_srp_userinfo(SSL *s);
       E	 extern
       E	                       
 I2	  84919 #  endif
 I2	  84920 # endif
 I2	  84921 
 I2	  84922 /*
 I2	  84923  * ClientHello callback and helpers.
 I2	  84924  */
 I2	  84925 
 I2	  84926 # define SSL_CLIENT_HELLO_SUCCESS 1
 I2	  84927 # define SSL_CLIENT_HELLO_ERROR   0
 I2	  84928 # define SSL_CLIENT_HELLO_RETRY   (-1)
 I2	  84929 
 I2	  84930 typedef int (*SSL_client_hello_cb_fn) (SSL *s, int *al, void *arg);
 I2	  84931 void SSL_CTX_set_client_hello_cb(SSL_CTX *c, SSL_client_hello_cb_fn cb,
 I2	  84932                                  void *arg);
 I2	  84933 int SSL_client_hello_isv2(SSL *s);
 I2	  84934 unsigned int SSL_client_hello_get0_legacy_version(SSL *s);
 I2	  84935 size_t SSL_client_hello_get0_random(SSL *s, const unsigned char **out);
 I2	  84936 size_t SSL_client_hello_get0_session_id(SSL *s, const unsigned char **out);
 I2	  84937 size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out);
 I2	  84938 size_t SSL_client_hello_get0_compression_methods(SSL *s,
 I2	  84939                                                  const unsigned char **out);
 I2	  84940 int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen);
 I2	  84941 int SSL_client_hello_get0_ext(SSL *s, unsigned int type,
 I2	  84942                               const unsigned char **out, size_t *outlen);
 I2	  84943 
 I2	  84944 void SSL_certs_clear(SSL *s);
 I2	  84945 void SSL_free(SSL *ssl);
 I2	  84946 # ifdef OSSL_ASYNC_FD

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1570
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  84947 /*
 I2	  84948  * Windows application developer has to include windows.h to use these.
 I2	  84949  */
 I2	  84950 __owur int SSL_waiting_for_async(SSL *s);
       E	 
 I2	  84951 __owur int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds);
       E	 
       E	                                          int
 I2	  84952 __owur int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd,
       E	 
       E	                                              int
 I2	  84953                                      size_t *numaddfds, OSSL_ASYNC_FD *delfd,
       E	                                                         int
 I2	  84954                                      size_t *numdelfds);
 I2	  84955 __owur int SSL_CTX_set_async_callback(SSL_CTX *ctx, SSL_async_callback_fn callback);
       E	 
 I2	  84956 __owur int SSL_CTX_set_async_callback_arg(SSL_CTX *ctx, void *arg);
       E	 
 I2	  84957 __owur int SSL_set_async_callback(SSL *s, SSL_async_callback_fn callback);
       E	 
 I2	  84958 __owur int SSL_set_async_callback_arg(SSL *s, void *arg);
       E	 
 I2	  84959 __owur int SSL_get_async_status(SSL *s, int *status);
       E	 
 I2	  84960 
 I2	  84961 # endif
 I2	  84962 __owur int SSL_accept(SSL *ssl);
       E	 
 I2	  84963 __owur int SSL_stateless(SSL *s);
       E	 
 I2	  84964 __owur int SSL_connect(SSL *ssl);
       E	 
 I2	  84965 __owur int SSL_read(SSL *ssl, void *buf, int num);
       E	 
 I2	  84966 __owur int SSL_read_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes);
       E	 
 I2	  84967 
 I2	  84968 # define SSL_READ_EARLY_DATA_ERROR   0
 I2	  84969 # define SSL_READ_EARLY_DATA_SUCCESS 1
 I2	  84970 # define SSL_READ_EARLY_DATA_FINISH  2
 I2	  84971 
 I2	  84972 __owur int SSL_read_early_data(SSL *s, void *buf, size_t num,
       E	 
 I2	  84973                                size_t *readbytes);
 I2	  84974 __owur int SSL_peek(SSL *ssl, void *buf, int num);
       E	 
 I2	  84975 __owur int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes);
       E	 
 I2	  84976 __owur ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size,
       E	 
       E	        ssize_t
 I2	  84977                                  int flags);
 I2	  84978 __owur int SSL_write(SSL *ssl, const void *buf, int num);
       E	 
 I2	  84979 __owur int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written);
       E	 
 I2	  84980 __owur int SSL_write_early_data(SSL *s, const void *buf, size_t num,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1571
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

       E	 
 I2	  84981                                 size_t *written);
 I2	  84982 long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg);
 I2	  84983 long SSL_callback_ctrl(SSL *, int, void (*)(void));
 I2	  84984 long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg);
 I2	  84985 long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void));
 I2	  84986 
 I2	  84987 # define SSL_EARLY_DATA_NOT_SENT    0
 I2	  84988 # define SSL_EARLY_DATA_REJECTED    1
 I2	  84989 # define SSL_EARLY_DATA_ACCEPTED    2
 I2	  84990 
 I2	  84991 __owur int SSL_get_early_data_status(const SSL *s);
       E	 
 I2	  84992 
 I2	  84993 __owur int SSL_get_error(const SSL *s, int ret_code);
       E	 
 I2	  84994 __owur const char *SSL_get_version(const SSL *s);
       E	 
 I2	  84995 
 I2	  84996 /* This sets the 'default' SSL version that SSL_new() will create */
 I2	  84997 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  84998 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  84999 __owur int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth);
       E	 
 I2	  85000 # endif
 I2	  85001 
 I2    X  85002 # ifndef OPENSSL_NO_SSL3_METHOD
 I2    X  85003 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2    X  85004 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_method(void); /* SSLv3 */
 I2    X  85005 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_server_method(void);
 I2    X  85006 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_client_method(void);
 I2    X  85007 #  endif
 I2    X  85008 # endif
 I2	  85009 
 I2	  85010 #define SSLv23_method           TLS_method
 I2	  85011 #define SSLv23_server_method    TLS_server_method
 I2	  85012 #define SSLv23_client_method    TLS_client_method
 I2	  85013 
 I2	  85014 /* Negotiate highest available SSL/TLS version */
 I2	  85015 __owur const SSL_METHOD *TLS_method(void);
       E	 
 I2	  85016 __owur const SSL_METHOD *TLS_server_method(void);
       E	 
 I2	  85017 __owur const SSL_METHOD *TLS_client_method(void);
       E	 
 I2	  85018 
 I2	  85019 # ifndef OPENSSL_NO_TLS1_METHOD
 I2	  85020 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  85021 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */
       E	 extern
       E	                         
 I2	  85022 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_server_method(void);
       E	 extern
       E	                         
 I2	  85023 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_client_method(void);
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1572
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

       E	                         
 I2	  85024 #  endif
 I2	  85025 # endif
 I2	  85026 
 I2	  85027 # ifndef OPENSSL_NO_TLS1_1_METHOD
 I2	  85028 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  85029 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */
       E	 extern
       E	                         
 I2	  85030 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_server_method(void);
       E	 extern
       E	                         
 I2	  85031 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_client_method(void);
       E	 extern
       E	                         
 I2	  85032 #  endif
 I2	  85033 # endif
 I2	  85034 
 I2	  85035 # ifndef OPENSSL_NO_TLS1_2_METHOD
 I2	  85036 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  85037 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */
       E	 extern
       E	                         
 I2	  85038 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_server_method(void);
       E	 extern
       E	                         
 I2	  85039 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_client_method(void);
       E	 extern
       E	                         
 I2	  85040 #  endif
 I2	  85041 # endif
 I2	  85042 
 I2	  85043 # ifndef OPENSSL_NO_DTLS1_METHOD
 I2	  85044 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  85045 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */
       E	 extern
       E	                         
 I2	  85046 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_server_method(void);
       E	 extern
       E	                         
 I2	  85047 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_client_method(void);
       E	 extern
       E	                         
 I2	  85048 #  endif
 I2	  85049 # endif
 I2	  85050 
 I2	  85051 # ifndef OPENSSL_NO_DTLS1_2_METHOD
 I2	  85052 /* DTLSv1.2 */
 I2	  85053 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  85054 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_method(void);
       E	 extern
       E	                         
 I2	  85055 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_server_method(void);
       E	 extern
       E	                         
 I2	  85056 OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_client_method(void);
       E	 extern

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1573
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

       E	                         
 I2	  85057 #  endif
 I2	  85058 # endif
 I2	  85059 
 I2	  85060 __owur const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */
       E	 
 I2	  85061 __owur const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */
       E	 
 I2	  85062 __owur const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */
       E	 
 I2	  85063 
 I2	  85064 __owur size_t DTLS_get_data_mtu(const SSL *s);
       E	 
 I2	  85065 
 I2	  85066 __owur STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s);
       E	 
       E	        struct stack_st_SSL_CIPHER
 I2	  85067 __owur STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx);
       E	 
       E	        struct stack_st_SSL_CIPHER
 I2	  85068 __owur STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s);
       E	 
       E	        struct stack_st_SSL_CIPHER
 I2	  85069 __owur STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s);
       E	 
       E	        struct stack_st_SSL_CIPHER
 I2	  85070 
 I2	  85071 __owur int SSL_do_handshake(SSL *s);
       E	 
 I2	  85072 int SSL_key_update(SSL *s, int updatetype);
 I2	  85073 int SSL_get_key_update_type(const SSL *s);
 I2	  85074 int SSL_renegotiate(SSL *s);
 I2	  85075 int SSL_renegotiate_abbreviated(SSL *s);
 I2	  85076 __owur int SSL_renegotiate_pending(const SSL *s);
       E	 
 I2	  85077 int SSL_new_session_ticket(SSL *s);
 I2	  85078 int SSL_shutdown(SSL *s);
 I2	  85079 __owur int SSL_verify_client_post_handshake(SSL *s);
       E	 
 I2	  85080 void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx, int val);
 I2	  85081 void SSL_set_post_handshake_auth(SSL *s, int val);
 I2	  85082 
 I2	  85083 __owur const SSL_METHOD *SSL_CTX_get_ssl_method(const SSL_CTX *ctx);
       E	 
 I2	  85084 __owur const SSL_METHOD *SSL_get_ssl_method(const SSL *s);
       E	 
 I2	  85085 __owur int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
       E	 
 I2	  85086 __owur const char *SSL_alert_type_string_long(int value);
       E	 
 I2	  85087 __owur const char *SSL_alert_type_string(int value);
       E	 
 I2	  85088 __owur const char *SSL_alert_desc_string_long(int value);
       E	 
 I2	  85089 __owur const char *SSL_alert_desc_string(int value);
       E	 
 I2	  85090 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1574
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85091 void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list);
       E	                               struct stack_st_X509_NAME
 I2	  85092 void SSL_CTX_set0_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list);
       E	                                         struct stack_st_X509_NAME
 I2	  85093 __owur const STACK_OF(X509_NAME) *SSL_get0_CA_list(const SSL *s);
       E	 
       E	              struct stack_st_X509_NAME
 I2	  85094 __owur const STACK_OF(X509_NAME) *SSL_CTX_get0_CA_list(const SSL_CTX *ctx);
       E	 
       E	              struct stack_st_X509_NAME
 I2	  85095 __owur int SSL_add1_to_CA_list(SSL *ssl, const X509 *x);
       E	 
 I2	  85096 __owur int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x);
       E	 
 I2	  85097 __owur const STACK_OF(X509_NAME) *SSL_get0_peer_CA_list(const SSL *s);
       E	 
       E	              struct stack_st_X509_NAME
 I2	  85098 
 I2	  85099 void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list);
       E	                                     struct stack_st_X509_NAME
 I2	  85100 void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list);
       E	                                               struct stack_st_X509_NAME
 I2	  85101 __owur STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s);
       E	 
       E	        struct stack_st_X509_NAME
 I2	  85102 __owur STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s);
       E	 
       E	        struct stack_st_X509_NAME
 I2	  85103 __owur int SSL_add_client_CA(SSL *ssl, X509 *x);
       E	 
 I2	  85104 __owur int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x);
       E	 
 I2	  85105 
 I2	  85106 void SSL_set_connect_state(SSL *s);
 I2	  85107 void SSL_set_accept_state(SSL *s);
 I2	  85108 
 I2	  85109 __owur long SSL_get_default_timeout(const SSL *s);
       E	 
 I2	  85110 
 I2	  85111 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  85112 #  define SSL_library_init() OPENSSL_init_ssl(0, NULL)
 I2	  85113 # endif
 I2	  85114 
 I2	  85115 __owur char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size);
       E	 
 I2	  85116 __owur STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk);
       E	 
       E	        struct stack_st_X509_NAME
       E	                                                   struct stack_st_X509_NAME
 I2	  85117 
 I2	  85118 __owur SSL *SSL_dup(SSL *ssl);
       E	 
 I2	  85119 
 I2	  85120 __owur X509 *SSL_get_certificate(const SSL *ssl);
       E	 
 I2	  85121 /*
 I2	  85122  * EVP_PKEY

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1575
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85123  */
 I2	  85124 struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl);
 I2	  85125 
 I2	  85126 __owur X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);
       E	 
 I2	  85127 __owur EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx);
       E	 
 I2	  85128 
 I2	  85129 void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode);
 I2	  85130 __owur int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);
       E	 
 I2	  85131 void SSL_set_quiet_shutdown(SSL *ssl, int mode);
 I2	  85132 __owur int SSL_get_quiet_shutdown(const SSL *ssl);
       E	 
 I2	  85133 void SSL_set_shutdown(SSL *ssl, int mode);
 I2	  85134 __owur int SSL_get_shutdown(const SSL *ssl);
       E	 
 I2	  85135 __owur int SSL_version(const SSL *ssl);
       E	 
 I2	  85136 __owur int SSL_client_version(const SSL *s);
       E	 
 I2	  85137 __owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
       E	 
 I2	  85138 __owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx);
       E	 
 I2	  85139 __owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx);
       E	 
 I2	  85140 __owur int SSL_CTX_set_default_verify_store(SSL_CTX *ctx);
       E	 
 I2	  85141 __owur int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile);
       E	 
 I2	  85142 __owur int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath);
       E	 
 I2	  85143 __owur int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore);
       E	 
 I2	  85144 __owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx,
       E	 
 I2	  85145                                                         const char *CAfile,
 I2	  85146                                                         const char *CApath);
 I2	  85147 # define SSL_get0_session SSL_get_session/* just peek at pointer */
 I2	  85148 __owur SSL_SESSION *SSL_get_session(const SSL *ssl);
       E	 
 I2	  85149 __owur SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */
       E	 
 I2	  85150 __owur SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);
       E	 
 I2	  85151 SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx);
 I2	  85152 void SSL_set_info_callback(SSL *ssl,
 I2	  85153                            void (*cb) (const SSL *ssl, int type, int val));
 I2	  85154 void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type,
 I2	  85155                                                int val);
 I2	  85156 __owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl);
       E	 
 I2	  85157 
 I2	  85158 void SSL_set_verify_result(SSL *ssl, long v);
 I2	  85159 __owur long SSL_get_verify_result(const SSL *ssl);
       E	 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1576
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85160 __owur STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s);
       E	 
       E	        struct stack_st_X509
 I2	  85161 
 I2	  85162 __owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out,
       E	 
 I2	  85163                                     size_t outlen);
 I2	  85164 __owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out,
       E	 
 I2	  85165                                     size_t outlen);
 I2	  85166 __owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *sess,
       E	 
 I2	  85167                                          unsigned char *out, size_t outlen);
 I2	  85168 __owur int SSL_SESSION_set1_master_key(SSL_SESSION *sess,
       E	 
 I2	  85169                                        const unsigned char *in, size_t len);
 I2	  85170 uint8_t SSL_SESSION_get_max_fragment_length(const SSL_SESSION *sess);
 I2	  85171 
 I2	  85172 #define SSL_get_ex_new_index(l, p, newf, dupf, freef) \
 I2	  85173     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, l, p, newf, dupf, freef)
 I2	  85174 __owur int SSL_set_ex_data(SSL *ssl, int idx, void *data);
       E	 
 I2	  85175 void *SSL_get_ex_data(const SSL *ssl, int idx);
 I2	  85176 #define SSL_SESSION_get_ex_new_index(l, p, newf, dupf, freef) \
 I2	  85177     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, l, p, newf, dupf, freef)
 I2	  85178 __owur int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data);
       E	 
 I2	  85179 void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx);
 I2	  85180 #define SSL_CTX_get_ex_new_index(l, p, newf, dupf, freef) \
 I2	  85181     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, l, p, newf, dupf, freef)
 I2	  85182 __owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data);
       E	 
 I2	  85183 void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx);
 I2	  85184 
 I2	  85185 __owur int SSL_get_ex_data_X509_STORE_CTX_idx(void);
       E	 
 I2	  85186 
 I2	  85187 # define SSL_CTX_sess_set_cache_size(ctx,t) \
 I2	  85188         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL)
 I2	  85189 # define SSL_CTX_sess_get_cache_size(ctx) \
 I2	  85190         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL)
 I2	  85191 # define SSL_CTX_set_session_cache_mode(ctx,m) \
 I2	  85192         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL)
 I2	  85193 # define SSL_CTX_get_session_cache_mode(ctx) \
 I2	  85194         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL)
 I2	  85195 
 I2	  85196 # define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx)
 I2	  85197 # define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m)
 I2	  85198 # define SSL_CTX_get_read_ahead(ctx) \
 I2	  85199         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL)
 I2	  85200 # define SSL_CTX_set_read_ahead(ctx,m) \
 I2	  85201         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL)
 I2	  85202 # define SSL_CTX_get_max_cert_list(ctx) \
 I2	  85203         SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)
 I2	  85204 # define SSL_CTX_set_max_cert_list(ctx,m) \
 I2	  85205         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL)
 I2	  85206 # define SSL_get_max_cert_list(ssl) \

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1577
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85207         SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)
 I2	  85208 # define SSL_set_max_cert_list(ssl,m) \
 I2	  85209         SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL)
 I2	  85210 
 I2	  85211 # define SSL_CTX_set_max_send_fragment(ctx,m) \
 I2	  85212         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL)
 I2	  85213 # define SSL_set_max_send_fragment(ssl,m) \
 I2	  85214         SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL)
 I2	  85215 # define SSL_CTX_set_split_send_fragment(ctx,m) \
 I2	  85216         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL)
 I2	  85217 # define SSL_set_split_send_fragment(ssl,m) \
 I2	  85218         SSL_ctrl(ssl,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL)
 I2	  85219 # define SSL_CTX_set_max_pipelines(ctx,m) \
 I2	  85220         SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_PIPELINES,m,NULL)
 I2	  85221 # define SSL_set_max_pipelines(ssl,m) \
 I2	  85222         SSL_ctrl(ssl,SSL_CTRL_SET_MAX_PIPELINES,m,NULL)
 I2	  85223 # define SSL_set_retry_verify(ssl) \
 I2	  85224         (SSL_ctrl(ssl,SSL_CTRL_SET_RETRY_VERIFY,0,NULL) > 0)
 I2	  85225 
 I2	  85226 void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len);
 I2	  85227 void SSL_set_default_read_buffer_len(SSL *s, size_t len);
 I2	  85228 
 I2	  85229 # ifndef OPENSSL_NO_DH
 I2	  85230 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  85231 /* NB: the |keylength| is only applicable when is_export is true */
 I2	  85232 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  85233 void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx,
 I2	  85234                                  DH *(*dh) (SSL *ssl, int is_export,
 I2	  85235                                             int keylength));
 I2	  85236 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  85237 void SSL_set_tmp_dh_callback(SSL *ssl,
 I2	  85238                              DH *(*dh) (SSL *ssl, int is_export,
 I2	  85239                                         int keylength));
 I2	  85240 #  endif
 I2	  85241 # endif
 I2	  85242 
 I2	  85243 __owur const COMP_METHOD *SSL_get_current_compression(const SSL *s);
       E	 
 I2	  85244 __owur const COMP_METHOD *SSL_get_current_expansion(const SSL *s);
       E	 
 I2	  85245 __owur const char *SSL_COMP_get_name(const COMP_METHOD *comp);
       E	 
 I2	  85246 __owur const char *SSL_COMP_get0_name(const SSL_COMP *comp);
       E	 
 I2	  85247 __owur int SSL_COMP_get_id(const SSL_COMP *comp);
       E	 
 I2	  85248 STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);
       E	 struct stack_st_SSL_COMP
 I2	  85249 __owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
       E	 
       E	        struct stack_st_SSL_COMP
       E	                                                              struct stack_st_SSL_COMP
 I2	  85250                                                              *meths);
 I2	  85251 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  85252 #  define SSL_COMP_free_compression_methods() while(0) continue

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1578
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85253 # endif
 I2	  85254 __owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm);
       E	 
 I2	  85255 
 I2	  85256 const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr);
 I2	  85257 int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c);
 I2	  85258 int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c);
 I2	  85259 int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len,
 I2	  85260                              int isv2format, STACK_OF(SSL_CIPHER) **sk,
       E	                                              struct stack_st_SSL_CIPHER
 I2	  85261                              STACK_OF(SSL_CIPHER) **scsvs);
       E	                              struct stack_st_SSL_CIPHER
 I2	  85262 
 I2	  85263 /* TLS extensions functions */
 I2	  85264 __owur int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len);
       E	 
 I2	  85265 
 I2	  85266 __owur int SSL_set_session_ticket_ext_cb(SSL *s,
       E	 
 I2	  85267                                          tls_session_ticket_ext_cb_fn cb,
 I2	  85268                                          void *arg);
 I2	  85269 
 I2	  85270 /* Pre-shared secret session resumption functions */
 I2	  85271 __owur int SSL_set_session_secret_cb(SSL *s,
       E	 
 I2	  85272                                      tls_session_secret_cb_fn session_secret_cb,
 I2	  85273                                      void *arg);
 I2	  85274 
 I2	  85275 void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx,
 I2	  85276                                                 int (*cb) (SSL *ssl,
 I2	  85277                                                            int
 I2	  85278                                                            is_forward_secure));
 I2	  85279 
 I2	  85280 void SSL_set_not_resumable_session_callback(SSL *ssl,
 I2	  85281                                             int (*cb) (SSL *ssl,
 I2	  85282                                                        int is_forward_secure));
 I2	  85283 
 I2	  85284 void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx,
 I2	  85285                                          size_t (*cb) (SSL *ssl, int type,
 I2	  85286                                                        size_t len, void *arg));
 I2	  85287 void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg);
 I2	  85288 void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx);
 I2	  85289 int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size);
 I2	  85290 
 I2	  85291 int SSL_set_record_padding_callback(SSL *ssl,
 I2	  85292                                     size_t (*cb) (SSL *ssl, int type,
 I2	  85293                                                   size_t len, void *arg));
 I2	  85294 void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg);
 I2	  85295 void *SSL_get_record_padding_callback_arg(const SSL *ssl);
 I2	  85296 int SSL_set_block_padding(SSL *ssl, size_t block_size);
 I2	  85297 
 I2	  85298 int SSL_set_num_tickets(SSL *s, size_t num_tickets);
 I2	  85299 size_t SSL_get_num_tickets(const SSL *s);
 I2	  85300 int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets);
 I2	  85301 size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx);
 I2	  85302 
 I2	  85303 # ifndef OPENSSL_NO_DEPRECATED_1_1_0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1579
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85304 #  define SSL_cache_hit(s) SSL_session_reused(s)
 I2	  85305 # endif
 I2	  85306 
 I2	  85307 __owur int SSL_session_reused(const SSL *s);
       E	 
 I2	  85308 __owur int SSL_is_server(const SSL *s);
       E	 
 I2	  85309 
 I2	  85310 __owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void);
       E	 
       E	        
 I2	  85311 int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx);
 I2	  85312 void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx);
 I2	  85313 unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags);
 I2	  85314 __owur unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx,
       E	 
 I2	  85315                                              unsigned int flags);
 I2	  85316 __owur int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre);
       E	 
 I2	  85317 
 I2	  85318 void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl);
 I2	  85319 void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx);
 I2	  85320 
 I2	  85321 __owur int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value);
       E	 
 I2	  85322 __owur int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv);
       E	 
 I2	  85323 __owur int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd);
       E	 
 I2	  85324 
 I2	  85325 void SSL_add_ssl_module(void);
 I2	  85326 int SSL_config(SSL *s, const char *name);
 I2	  85327 int SSL_CTX_config(SSL_CTX *ctx, const char *name);
 I2	  85328 
 I2	  85329 # ifndef OPENSSL_NO_SSL_TRACE
 I2	  85330 void SSL_trace(int write_p, int version, int content_type,
 I2	  85331                const void *buf, size_t len, SSL *ssl, void *arg);
 I2	  85332 # endif
 I2	  85333 
 I2	  85334 # ifndef OPENSSL_NO_SOCK
 I2	  85335 int DTLSv1_listen(SSL *s, BIO_ADDR *client);
 I2	  85336 # endif
 I2	  85337 
 I2	  85338 # ifndef OPENSSL_NO_CT
 I2	  85339 
 I2	  85340 /*
 I2	  85341  * A callback for verifying that the received SCTs are sufficient.
 I2	  85342  * Expected to return 1 if they are sufficient, otherwise 0.
 I2	  85343  * May return a negative integer if an error occurs.
 I2	  85344  * A connection should be aborted if the SCTs are deemed insufficient.
 I2	  85345  */
 I2	  85346 typedef int (*ssl_ct_validation_cb)(const CT_POLICY_EVAL_CTX *ctx,
 I2	  85347                                     const STACK_OF(SCT) *scts, void *arg);
       E	                                           struct stack_st_SCT
 I2	  85348 
 I2	  85349 /*
 I2	  85350  * Sets a |callback| that is invoked upon receipt of ServerHelloDone to validate

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1580
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85351  * the received SCTs.
 I2	  85352  * If the callback returns a non-positive result, the connection is terminated.
 I2	  85353  * Call this function before beginning a handshake.
 I2	  85354  * If a NULL |callback| is provided, SCT validation is disabled.
 I2	  85355  * |arg| is arbitrary userdata that will be passed to the callback whenever it
 I2	  85356  * is invoked. Ownership of |arg| remains with the caller.
 I2	  85357  *
 I2	  85358  * NOTE: A side-effect of setting a CT callback is that an OCSP stapled response
 I2	  85359  *       will be requested.
 I2	  85360  */
 I2	  85361 int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback,
 I2	  85362                                    void *arg);
 I2	  85363 int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx,
 I2	  85364                                        ssl_ct_validation_cb callback,
 I2	  85365                                        void *arg);
 I2	  85366 #define SSL_disable_ct(s) \
 I2	  85367         ((void) SSL_set_validation_callback((s), NULL, NULL))
 I2	  85368 #define SSL_CTX_disable_ct(ctx) \
 I2	  85369         ((void) SSL_CTX_set_validation_callback((ctx), NULL, NULL))
 I2	  85370 
 I2	  85371 /*
 I2	  85372  * The validation type enumerates the available behaviours of the built-in SSL
 I2	  85373  * CT validation callback selected via SSL_enable_ct() and SSL_CTX_enable_ct().
 I2	  85374  * The underlying callback is a static function in libssl.
 I2	  85375  */
 I2	  85376 enum {
 I2	  85377     SSL_CT_VALIDATION_PERMISSIVE = 0,
 I2	  85378     SSL_CT_VALIDATION_STRICT
 I2	  85379 };
 I2	  85380 
 I2	  85381 /*
 I2	  85382  * Enable CT by setting up a callback that implements one of the built-in
 I2	  85383  * validation variants.  The SSL_CT_VALIDATION_PERMISSIVE variant always
 I2	  85384  * continues the handshake, the application can make appropriate decisions at
 I2	  85385  * handshake completion.  The SSL_CT_VALIDATION_STRICT variant requires at
 I2	  85386  * least one valid SCT, or else handshake termination will be requested.  The
 I2	  85387  * handshake may continue anyway if SSL_VERIFY_NONE is in effect.
 I2	  85388  */
 I2	  85389 int SSL_enable_ct(SSL *s, int validation_mode);
 I2	  85390 int SSL_CTX_enable_ct(SSL_CTX *ctx, int validation_mode);
 I2	  85391 
 I2	  85392 /*
 I2	  85393  * Report whether a non-NULL callback is enabled.
 I2	  85394  */
 I2	  85395 int SSL_ct_is_enabled(const SSL *s);
 I2	  85396 int SSL_CTX_ct_is_enabled(const SSL_CTX *ctx);
 I2	  85397 
 I2	  85398 /* Gets the SCTs received from a connection */
 I2	  85399 const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s);
       E	       struct stack_st_SCT
 I2	  85400 
 I2	  85401 /*
 I2	  85402  * Loads the CT log list from the default location.
 I2	  85403  * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store,
 I2	  85404  * the log information loaded from this file will be appended to the
 I2	  85405  * CTLOG_STORE.
 I2	  85406  * Returns 1 on success, 0 otherwise.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1581
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85407  */
 I2	  85408 int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx);
 I2	  85409 
 I2	  85410 /*
 I2	  85411  * Loads the CT log list from the specified file path.
 I2	  85412  * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store,
 I2	  85413  * the log information loaded from this file will be appended to the
 I2	  85414  * CTLOG_STORE.
 I2	  85415  * Returns 1 on success, 0 otherwise.
 I2	  85416  */
 I2	  85417 int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx, const char *path);
 I2	  85418 
 I2	  85419 /*
 I2	  85420  * Sets the CT log list used by all SSL connections created from this SSL_CTX.
 I2	  85421  * Ownership of the CTLOG_STORE is transferred to the SSL_CTX.
 I2	  85422  */
 I2	  85423 void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx, CTLOG_STORE *logs);
 I2	  85424 
 I2	  85425 /*
 I2	  85426  * Gets the CT log list used by all SSL connections created from this SSL_CTX.
 I2	  85427  * This will be NULL unless one of the following functions has been called:
 I2	  85428  * - SSL_CTX_set_default_ctlog_list_file
 I2	  85429  * - SSL_CTX_set_ctlog_list_file
 I2	  85430  * - SSL_CTX_set_ctlog_store
 I2	  85431  */
 I2	  85432 const CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx);
 I2	  85433 
 I2	  85434 # endif /* OPENSSL_NO_CT */
 I2	  85435 
 I2	  85436 /* What the "other" parameter contains in security callback */
 I2	  85437 /* Mask for type */
 I2	  85438 # define SSL_SECOP_OTHER_TYPE    0xffff0000
 I2	  85439 # define SSL_SECOP_OTHER_NONE    0
 I2	  85440 # define SSL_SECOP_OTHER_CIPHER  (1 << 16)
 I2	  85441 # define SSL_SECOP_OTHER_CURVE   (2 << 16)
 I2	  85442 # define SSL_SECOP_OTHER_DH      (3 << 16)
 I2	  85443 # define SSL_SECOP_OTHER_PKEY    (4 << 16)
 I2	  85444 # define SSL_SECOP_OTHER_SIGALG  (5 << 16)
 I2	  85445 # define SSL_SECOP_OTHER_CERT    (6 << 16)
 I2	  85446 
 I2	  85447 /* Indicated operation refers to peer key or certificate */
 I2	  85448 # define SSL_SECOP_PEER          0x1000
 I2	  85449 
 I2	  85450 /* Values for "op" parameter in security callback */
 I2	  85451 
 I2	  85452 /* Called to filter ciphers */
 I2	  85453 /* Ciphers client supports */
 I2	  85454 # define SSL_SECOP_CIPHER_SUPPORTED      (1 | SSL_SECOP_OTHER_CIPHER)
 I2	  85455 /* Cipher shared by client/server */
 I2	  85456 # define SSL_SECOP_CIPHER_SHARED         (2 | SSL_SECOP_OTHER_CIPHER)
 I2	  85457 /* Sanity check of cipher server selects */
 I2	  85458 # define SSL_SECOP_CIPHER_CHECK          (3 | SSL_SECOP_OTHER_CIPHER)
 I2	  85459 /* Curves supported by client */
 I2	  85460 # define SSL_SECOP_CURVE_SUPPORTED       (4 | SSL_SECOP_OTHER_CURVE)
 I2	  85461 /* Curves shared by client/server */
 I2	  85462 # define SSL_SECOP_CURVE_SHARED          (5 | SSL_SECOP_OTHER_CURVE)
 I2	  85463 /* Sanity check of curve server selects */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1582
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85464 # define SSL_SECOP_CURVE_CHECK           (6 | SSL_SECOP_OTHER_CURVE)
 I2	  85465 /* Temporary DH key */
 I2	  85466 # define SSL_SECOP_TMP_DH                (7 | SSL_SECOP_OTHER_PKEY)
 I2	  85467 /* SSL/TLS version */
 I2	  85468 # define SSL_SECOP_VERSION               (9 | SSL_SECOP_OTHER_NONE)
 I2	  85469 /* Session tickets */
 I2	  85470 # define SSL_SECOP_TICKET                (10 | SSL_SECOP_OTHER_NONE)
 I2	  85471 /* Supported signature algorithms sent to peer */
 I2	  85472 # define SSL_SECOP_SIGALG_SUPPORTED      (11 | SSL_SECOP_OTHER_SIGALG)
 I2	  85473 /* Shared signature algorithm */
 I2	  85474 # define SSL_SECOP_SIGALG_SHARED         (12 | SSL_SECOP_OTHER_SIGALG)
 I2	  85475 /* Sanity check signature algorithm allowed */
 I2	  85476 # define SSL_SECOP_SIGALG_CHECK          (13 | SSL_SECOP_OTHER_SIGALG)
 I2	  85477 /* Used to get mask of supported public key signature algorithms */
 I2	  85478 # define SSL_SECOP_SIGALG_MASK           (14 | SSL_SECOP_OTHER_SIGALG)
 I2	  85479 /* Use to see if compression is allowed */
 I2	  85480 # define SSL_SECOP_COMPRESSION           (15 | SSL_SECOP_OTHER_NONE)
 I2	  85481 /* EE key in certificate */
 I2	  85482 # define SSL_SECOP_EE_KEY                (16 | SSL_SECOP_OTHER_CERT)
 I2	  85483 /* CA key in certificate */
 I2	  85484 # define SSL_SECOP_CA_KEY                (17 | SSL_SECOP_OTHER_CERT)
 I2	  85485 /* CA digest algorithm in certificate */
 I2	  85486 # define SSL_SECOP_CA_MD                 (18 | SSL_SECOP_OTHER_CERT)
 I2	  85487 /* Peer EE key in certificate */
 I2	  85488 # define SSL_SECOP_PEER_EE_KEY           (SSL_SECOP_EE_KEY | SSL_SECOP_PEER)
 I2	  85489 /* Peer CA key in certificate */
 I2	  85490 # define SSL_SECOP_PEER_CA_KEY           (SSL_SECOP_CA_KEY | SSL_SECOP_PEER)
 I2	  85491 /* Peer CA digest algorithm in certificate */
 I2	  85492 # define SSL_SECOP_PEER_CA_MD            (SSL_SECOP_CA_MD | SSL_SECOP_PEER)
 I2	  85493 
 I2	  85494 void SSL_set_security_level(SSL *s, int level);
 I2	  85495 __owur int SSL_get_security_level(const SSL *s);
       E	 
 I2	  85496 void SSL_set_security_callback(SSL *s,
 I2	  85497                                int (*cb) (const SSL *s, const SSL_CTX *ctx,
 I2	  85498                                           int op, int bits, int nid,
 I2	  85499                                           void *other, void *ex));
 I2	  85500 int (*SSL_get_security_callback(const SSL *s)) (const SSL *s,
 I2	  85501                                                 const SSL_CTX *ctx, int op,
 I2	  85502                                                 int bits, int nid, void *other,
 I2	  85503                                                 void *ex);
 I2	  85504 void SSL_set0_security_ex_data(SSL *s, void *ex);
 I2	  85505 __owur void *SSL_get0_security_ex_data(const SSL *s);
       E	 
 I2	  85506 
 I2	  85507 void SSL_CTX_set_security_level(SSL_CTX *ctx, int level);
 I2	  85508 __owur int SSL_CTX_get_security_level(const SSL_CTX *ctx);
       E	 
 I2	  85509 void SSL_CTX_set_security_callback(SSL_CTX *ctx,
 I2	  85510                                    int (*cb) (const SSL *s, const SSL_CTX *ctx,
 I2	  85511                                               int op, int bits, int nid,
 I2	  85512                                               void *other, void *ex));
 I2	  85513 int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL *s,
 I2	  85514                                                           const SSL_CTX *ctx,
 I2	  85515                                                           int op, int bits,
 I2	  85516                                                           int nid,
 I2	  85517                                                           void *other,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1583
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85518                                                           void *ex);
 I2	  85519 void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx, void *ex);
 I2	  85520 __owur void *SSL_CTX_get0_security_ex_data(const SSL_CTX *ctx);
       E	 
 I2	  85521 
 I2	  85522 /* OPENSSL_INIT flag 0x010000 reserved for internal use */
 I2	  85523 # define OPENSSL_INIT_NO_LOAD_SSL_STRINGS    0x00100000L
 I2	  85524 # define OPENSSL_INIT_LOAD_SSL_STRINGS       0x00200000L
 I2	  85525 
 I2	  85526 # define OPENSSL_INIT_SSL_DEFAULT \
 I2	  85527         (OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS)
 I2	  85528 
 I2	  85529 int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
 I2	  85530 
 I2    X  85531 # ifndef OPENSSL_NO_UNIT_TEST
 I2    X  85532 __owur const struct openssl_ssl_test_functions *SSL_test_functions(void);
 I2    X  85533 # endif
 I2	  85534 
 I2	  85535 __owur int SSL_free_buffers(SSL *ssl);
       E	 
 I2	  85536 __owur int SSL_alloc_buffers(SSL *ssl);
       E	 
 I2	  85537 
 I2	  85538 /* Status codes passed to the decrypt session ticket callback. Some of these
 I2	  85539  * are for internal use only and are never passed to the callback. */
 I2	  85540 typedef int SSL_TICKET_STATUS;
 I2	  85541 
 I2	  85542 /* Support for ticket appdata */
 I2	  85543 /* fatal error, malloc failure */
 I2	  85544 # define SSL_TICKET_FATAL_ERR_MALLOC 0
 I2	  85545 /* fatal error, either from parsing or decrypting the ticket */
 I2	  85546 # define SSL_TICKET_FATAL_ERR_OTHER  1
 I2	  85547 /* No ticket present */
 I2	  85548 # define SSL_TICKET_NONE             2
 I2	  85549 /* Empty ticket present */
 I2	  85550 # define SSL_TICKET_EMPTY            3
 I2	  85551 /* the ticket couldn't be decrypted */
 I2	  85552 # define SSL_TICKET_NO_DECRYPT       4
 I2	  85553 /* a ticket was successfully decrypted */
 I2	  85554 # define SSL_TICKET_SUCCESS          5
 I2	  85555 /* same as above but the ticket needs to be renewed */
 I2	  85556 # define SSL_TICKET_SUCCESS_RENEW    6
 I2	  85557 
 I2	  85558 /* Return codes for the decrypt session ticket callback */
 I2	  85559 typedef int SSL_TICKET_RETURN;
 I2	  85560 
 I2	  85561 /* An error occurred */
 I2	  85562 #define SSL_TICKET_RETURN_ABORT             0
 I2	  85563 /* Do not use the ticket, do not send a renewed ticket to the client */
 I2	  85564 #define SSL_TICKET_RETURN_IGNORE            1
 I2	  85565 /* Do not use the ticket, send a renewed ticket to the client */
 I2	  85566 #define SSL_TICKET_RETURN_IGNORE_RENEW      2
 I2	  85567 /* Use the ticket, do not send a renewed ticket to the client */
 I2	  85568 #define SSL_TICKET_RETURN_USE               3
 I2	  85569 /* Use the ticket, send a renewed ticket to the client */
 I2	  85570 #define SSL_TICKET_RETURN_USE_RENEW         4
 I2	  85571 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1584
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]SSL.H;1

 I2	  85572 typedef int (*SSL_CTX_generate_session_ticket_fn)(SSL *s, void *arg);
 I2	  85573 typedef SSL_TICKET_RETURN (*SSL_CTX_decrypt_session_ticket_fn)(SSL *s, SSL_SESSION *ss,
 I2	  85574                                                                const unsigned char *keyname,
 I2	  85575                                                                size_t keyname_length,
 I2	  85576                                                                SSL_TICKET_STATUS status,
 I2	  85577                                                                void *arg);
 I2	  85578 int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx,
 I2	  85579                                   SSL_CTX_generate_session_ticket_fn gen_cb,
 I2	  85580                                   SSL_CTX_decrypt_session_ticket_fn dec_cb,
 I2	  85581                                   void *arg);
 I2	  85582 int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len);
 I2	  85583 int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len);
 I2	  85584 
 I2	  85585 typedef unsigned int (*DTLS_timer_cb)(SSL *s, unsigned int timer_us);
 I2	  85586 
 I2	  85587 void DTLS_set_timer_cb(SSL *s, DTLS_timer_cb cb);
 I2	  85588 
 I2	  85589 
 I2	  85590 typedef int (*SSL_allow_early_data_cb_fn)(SSL *s, void *arg);
 I2	  85591 void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx,
 I2	  85592                                      SSL_allow_early_data_cb_fn cb,
 I2	  85593                                      void *arg);
 I2	  85594 void SSL_set_allow_early_data_cb(SSL *s,
 I2	  85595                                  SSL_allow_early_data_cb_fn cb,
 I2	  85596                                  void *arg);
 I2	  85597 
 I2	  85598 /* store the default cipher strings inside the library */
 I2	  85599 const char *OSSL_default_cipher_list(void);
 I2	  85600 const char *OSSL_default_ciphersuites(void);
 I2	  85601 
 I2    X  85602 # ifdef  __cplusplus
 I2    X  85603 }
 I2    X  85604 # endif
 I2	  85605 #endif
 I1	  85606 #include <openssl/x509v3.h>
 I2	  85607 /*
 I2	  85608  * WARNING: do not edit!
 I2	  85609  * Generated by descrip.mms from [-.include.openssl]x509v3.h.in
 I2	  85610  *
 I2	  85611  * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
 I2	  85612  *
 I2	  85613  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  85614  * this file except in compliance with the License.  You can obtain a copy
 I2	  85615  * in the file LICENSE in the source distribution or at
 I2	  85616  * https://www.openssl.org/source/license.html
 I2	  85617  */
 I2	  85618 
 I2	  85619 
 I2	  85620 
 I2	  85621 #ifndef OPENSSL_X509V3_H
 I2	  85622 # define OPENSSL_X509V3_H
 I2	  85623 # pragma once
 I2	  85624 
 I2    X  85625 # include <openssl/macros.h>
 I2	  85626 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  85627 #  define HEADER_X509V3_H
 I2	  85628 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1585
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  85629 
 I2    X  85630 # include <openssl/bio.h>
 I2    X  85631 # include <openssl/x509.h>
 I2    X  85632 # include <openssl/conf.h>
 I2	  85633 # include <openssl/x509v3err.h>
 I3	  85634 /*
 I3	  85635  * Generated by util/mkerr.pl DO NOT EDIT
 I3	  85636  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  85637  *
 I3	  85638  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  85639  * this file except in compliance with the License.  You can obtain a copy
 I3	  85640  * in the file LICENSE in the source distribution or at
 I3	  85641  * https://www.openssl.org/source/license.html
 I3	  85642  */
 I3	  85643 
 I3	  85644 #ifndef OPENSSL_X509V3ERR_H
 I3	  85645 # define OPENSSL_X509V3ERR_H
 I3	  85646 # pragma once
 I3	  85647 
 I3    X  85648 # include <openssl/opensslconf.h>
 I3    X  85649 # include <openssl/symhacks.h>
 I3    X  85650 # include <openssl/cryptoerr_legacy.h>
 I3	  85651 
 I3	  85652 
 I3	  85653 
 I3	  85654 /*
 I3	  85655  * X509V3 reason codes.
 I3	  85656  */
 I3	  85657 # define X509V3_R_BAD_IP_ADDRESS                          118
 I3	  85658 # define X509V3_R_BAD_OBJECT                              119
 I3	  85659 # define X509V3_R_BN_DEC2BN_ERROR                         100
 I3	  85660 # define X509V3_R_BN_TO_ASN1_INTEGER_ERROR                101
 I3	  85661 # define X509V3_R_DIRNAME_ERROR                           149
 I3	  85662 # define X509V3_R_DISTPOINT_ALREADY_SET                   160
 I3	  85663 # define X509V3_R_DUPLICATE_ZONE_ID                       133
 I3	  85664 # define X509V3_R_EMPTY_KEY_USAGE                         169
 I3	  85665 # define X509V3_R_ERROR_CONVERTING_ZONE                   131
 I3	  85666 # define X509V3_R_ERROR_CREATING_EXTENSION                144
 I3	  85667 # define X509V3_R_ERROR_IN_EXTENSION                      128
 I3	  85668 # define X509V3_R_EXPECTED_A_SECTION_NAME                 137
 I3	  85669 # define X509V3_R_EXTENSION_EXISTS                        145
 I3	  85670 # define X509V3_R_EXTENSION_NAME_ERROR                    115
 I3	  85671 # define X509V3_R_EXTENSION_NOT_FOUND                     102
 I3	  85672 # define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED         103
 I3	  85673 # define X509V3_R_EXTENSION_VALUE_ERROR                   116
 I3	  85674 # define X509V3_R_ILLEGAL_EMPTY_EXTENSION                 151
 I3	  85675 # define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG             152
 I3	  85676 # define X509V3_R_INVALID_ASNUMBER                        162
 I3	  85677 # define X509V3_R_INVALID_ASRANGE                         163
 I3	  85678 # define X509V3_R_INVALID_BOOLEAN_STRING                  104
 I3	  85679 # define X509V3_R_INVALID_CERTIFICATE                     158
 I3	  85680 # define X509V3_R_INVALID_EMPTY_NAME                      108
 I3	  85681 # define X509V3_R_INVALID_EXTENSION_STRING                105
 I3	  85682 # define X509V3_R_INVALID_INHERITANCE                     165
 I3	  85683 # define X509V3_R_INVALID_IPADDRESS                       166
 I3	  85684 # define X509V3_R_INVALID_MULTIPLE_RDNS                   161
 I3	  85685 # define X509V3_R_INVALID_NAME                            106

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1586
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3ERR.H;1

 I3	  85686 # define X509V3_R_INVALID_NULL_ARGUMENT                   107
 I3	  85687 # define X509V3_R_INVALID_NULL_VALUE                      109
 I3	  85688 # define X509V3_R_INVALID_NUMBER                          140
 I3	  85689 # define X509V3_R_INVALID_NUMBERS                         141
 I3	  85690 # define X509V3_R_INVALID_OBJECT_IDENTIFIER               110
 I3	  85691 # define X509V3_R_INVALID_OPTION                          138
 I3	  85692 # define X509V3_R_INVALID_POLICY_IDENTIFIER               134
 I3	  85693 # define X509V3_R_INVALID_PROXY_POLICY_SETTING            153
 I3	  85694 # define X509V3_R_INVALID_PURPOSE                         146
 I3	  85695 # define X509V3_R_INVALID_SAFI                            164
 I3	  85696 # define X509V3_R_INVALID_SECTION                         135
 I3	  85697 # define X509V3_R_INVALID_SYNTAX                          143
 I3	  85698 # define X509V3_R_ISSUER_DECODE_ERROR                     126
 I3	  85699 # define X509V3_R_MISSING_VALUE                           124
 I3	  85700 # define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS           142
 I3	  85701 # define X509V3_R_NEGATIVE_PATHLEN                        168
 I3	  85702 # define X509V3_R_NO_CONFIG_DATABASE                      136
 I3	  85703 # define X509V3_R_NO_ISSUER_CERTIFICATE                   121
 I3	  85704 # define X509V3_R_NO_ISSUER_DETAILS                       127
 I3	  85705 # define X509V3_R_NO_POLICY_IDENTIFIER                    139
 I3	  85706 # define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED   154
 I3	  85707 # define X509V3_R_NO_PUBLIC_KEY                           114
 I3	  85708 # define X509V3_R_NO_SUBJECT_DETAILS                      125
 I3	  85709 # define X509V3_R_OPERATION_NOT_DEFINED                   148
 I3	  85710 # define X509V3_R_OTHERNAME_ERROR                         147
 I3	  85711 # define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED         155
 I3	  85712 # define X509V3_R_POLICY_PATH_LENGTH                      156
 I3	  85713 # define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED      157
 I3	  85714 # define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159
 I3	  85715 # define X509V3_R_SECTION_NOT_FOUND                       150
 I3	  85716 # define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS            122
 I3	  85717 # define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID              123
 I3	  85718 # define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT             111
 I3	  85719 # define X509V3_R_UNKNOWN_EXTENSION                       129
 I3	  85720 # define X509V3_R_UNKNOWN_EXTENSION_NAME                  130
 I3	  85721 # define X509V3_R_UNKNOWN_OPTION                          120
 I3	  85722 # define X509V3_R_UNSUPPORTED_OPTION                      117
 I3	  85723 # define X509V3_R_UNSUPPORTED_TYPE                        167
 I3	  85724 # define X509V3_R_USER_TOO_LONG                           132
 I3	  85725 
 I3	  85726 #endif
 I2	  85727 
 I2    X  85728 #ifdef __cplusplus
 I2    X  85729 extern "C" {
 I2    X  85730 #endif
 I2	  85731 
 I2	  85732 /* Forward reference */
 I2	  85733 struct v3_ext_method;
 I2	  85734 struct v3_ext_ctx;
 I2	  85735 
 I2	  85736 /* Useful typedefs */
 I2	  85737 
 I2	  85738 typedef void *(*X509V3_EXT_NEW)(void);
 I2	  85739 typedef void (*X509V3_EXT_FREE) (void *);
 I2	  85740 typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long);
 I2	  85741 typedef int (*X509V3_EXT_I2D) (const void *, unsigned char **);
 I2	  85742 typedef STACK_OF(CONF_VALUE) *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1587
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

       E	         struct stack_st_CONF_VALUE
 I2	  85743     (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext,
 I2	  85744                        STACK_OF(CONF_VALUE) *extlist);
       E	                        struct stack_st_CONF_VALUE
 I2	  85745 typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method,
 I2	  85746                                 struct v3_ext_ctx *ctx,
 I2	  85747                                 STACK_OF(CONF_VALUE) *values);
       E	                                 struct stack_st_CONF_VALUE
 I2	  85748 typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method,
 I2	  85749                                 void *ext);
 I2	  85750 typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method,
 I2	  85751                                 struct v3_ext_ctx *ctx, const char *str);
 I2	  85752 typedef int (*X509V3_EXT_I2R) (const struct v3_ext_method *method, void *ext,
 I2	  85753                                BIO *out, int indent);
 I2	  85754 typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method,
 I2	  85755                                 struct v3_ext_ctx *ctx, const char *str);
 I2	  85756 
 I2	  85757 /* V3 extension structure */
 I2	  85758 
 I2	  85759 struct v3_ext_method {
 I2	  85760     int ext_nid;
 I2	  85761     int ext_flags;
 I2	  85762 /* If this is set the following four fields are ignored */
 I2	  85763     ASN1_ITEM_EXP *it;
 I2	  85764 /* Old style ASN1 calls */
 I2	  85765     X509V3_EXT_NEW ext_new;
 I2	  85766     X509V3_EXT_FREE ext_free;
 I2	  85767     X509V3_EXT_D2I d2i;
 I2	  85768     X509V3_EXT_I2D i2d;
 I2	  85769 /* The following pair is used for string extensions */
 I2	  85770     X509V3_EXT_I2S i2s;
 I2	  85771     X509V3_EXT_S2I s2i;
 I2	  85772 /* The following pair is used for multi-valued extensions */
 I2	  85773     X509V3_EXT_I2V i2v;
 I2	  85774     X509V3_EXT_V2I v2i;
 I2	  85775 /* The following are used for raw extensions */
 I2	  85776     X509V3_EXT_I2R i2r;
 I2	  85777     X509V3_EXT_R2I r2i;
 I2	  85778     void *usr_data;             /* Any extension specific data */
 I2	  85779 };
 I2	  85780 
 I2	  85781 typedef struct X509V3_CONF_METHOD_st {
 I2	  85782     char *(*get_string) (void *db, const char *section, const char *value);
 I2	  85783     STACK_OF(CONF_VALUE) *(*get_section) (void *db, const char *section);
       E	     struct stack_st_CONF_VALUE
 I2	  85784     void (*free_string) (void *db, char *string);
 I2	  85785     void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section);
       E	                                     struct stack_st_CONF_VALUE
 I2	  85786 } X509V3_CONF_METHOD;
 I2	  85787 
 I2	  85788 /* Context specific info for producing X509 v3 extensions*/
 I2	  85789 struct v3_ext_ctx {
 I2	  85790 # define X509V3_CTX_TEST 0x1
 I2	  85791 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  85792 #  define CTX_TEST X509V3_CTX_TEST
 I2	  85793 # endif
 I2	  85794 # define X509V3_CTX_REPLACE 0x2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1588
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  85795     int flags;
 I2	  85796     X509 *issuer_cert;
 I2	  85797     X509 *subject_cert;
 I2	  85798     X509_REQ *subject_req;
 I2	  85799     X509_CRL *crl;
 I2	  85800     X509V3_CONF_METHOD *db_meth;
 I2	  85801     void *db;
 I2	  85802     EVP_PKEY *issuer_pkey;
 I2	  85803 /* Maybe more here */
 I2	  85804 };
 I2	  85805 
 I2	  85806 typedef struct v3_ext_method X509V3_EXT_METHOD;
 I2	  85807 
 I2   1	  85808 SKM_DEFINE_STACK_OF_INTERNAL(X509V3_EXT_METHOD, X509V3_EXT_METHOD, X509V3_EXT_METHOD)
       E	 struct stack_st_X509V3_EXT_METHOD ; typedef int ( * sk_X509V3_EXT_METHOD_compfunc ) ( const X509V3_EXT_METHOD * con
       E	st * a , const X509V3_EXT_METHOD * const * b ) ; typedef void ( * sk_X509V3_EXT_METHOD_freefunc ) ( X509V3_EXT_METHO
       E	D * a ) ; typedef X509V3_EXT_METHOD * ( * sk_X509V3_EXT_METHOD_copyfunc ) ( const X509V3_EXT_METHOD * a ) ; static _
       E	_inline X509V3_EXT_METHOD * ossl_check_X509V3_EXT_METHOD_type ( X509V3_EXT_METHOD * ptr ) { return ptr ; } static __
       E	inline const OPENSSL_STACK * ossl_check_const_X509V3_EXT_METHOD_sk_type ( const struct stack_st_X509V3_EXT_METHOD * 
       E	sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509V3_EXT_METHOD_sk_type 
       E	( struct stack_st_X509V3_EXT_METHOD * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc o
       E	ssl_check_X509V3_EXT_METHOD_compfunc_type ( sk_X509V3_EXT_METHOD_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp
       E	 ; } static __inline OPENSSL_sk_copyfunc ossl_check_X509V3_EXT_METHOD_copyfunc_type ( sk_X509V3_EXT_METHOD_copyfunc 
       E	cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509V3_EXT_METHOD_free
       E	func_type ( sk_X509V3_EXT_METHOD_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  85809 #define sk_X509V3_EXT_METHOD_num(sk) OPENSSL_sk_num(ossl_check_const_X509V3_EXT_METHOD_sk_type(sk))
 I2	  85810 #define sk_X509V3_EXT_METHOD_value(sk, idx) ((X509V3_EXT_METHOD *)OPENSSL_sk_value(ossl_check_const_X509V3_EXT_METHO
 I2	  85810 D_sk_type(sk), (idx)))
 I2	  85811 #define sk_X509V3_EXT_METHOD_new(cmp) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_new(ossl_check_X509V3_EXT_METHOD_co
 I2	  85811 mpfunc_type(cmp)))
 I2	  85812 #define sk_X509V3_EXT_METHOD_new_null() ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_new_null())
 I2	  85813 #define sk_X509V3_EXT_METHOD_new_reserve(cmp, n) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_new_reserve(ossl_check_X
 I2	  85813 509V3_EXT_METHOD_compfunc_type(cmp), (n)))
 I2	  85814 #define sk_X509V3_EXT_METHOD_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509V3_EXT_METHOD_sk_type(sk), (n))
 I2	  85815 #define sk_X509V3_EXT_METHOD_free(sk) OPENSSL_sk_free(ossl_check_X509V3_EXT_METHOD_sk_type(sk))
 I2	  85816 #define sk_X509V3_EXT_METHOD_zero(sk) OPENSSL_sk_zero(ossl_check_X509V3_EXT_METHOD_sk_type(sk))
 I2	  85817 #define sk_X509V3_EXT_METHOD_delete(sk, i) ((X509V3_EXT_METHOD *)OPENSSL_sk_delete(ossl_check_X509V3_EXT_METHOD_sk_t
 I2	  85817 ype(sk), (i)))
 I2	  85818 #define sk_X509V3_EXT_METHOD_delete_ptr(sk, ptr) ((X509V3_EXT_METHOD *)OPENSSL_sk_delete_ptr(ossl_check_X509V3_EXT_M
 I2	  85818 ETHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr)))
 I2	  85819 #define sk_X509V3_EXT_METHOD_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509
 I2	  85819 V3_EXT_METHOD_type(ptr))
 I2	  85820 #define sk_X509V3_EXT_METHOD_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_chec
 I2	  85820 k_X509V3_EXT_METHOD_type(ptr))
 I2	  85821 #define sk_X509V3_EXT_METHOD_pop(sk) ((X509V3_EXT_METHOD *)OPENSSL_sk_pop(ossl_check_X509V3_EXT_METHOD_sk_type(sk)))
 I2	  85822 #define sk_X509V3_EXT_METHOD_shift(sk) ((X509V3_EXT_METHOD *)OPENSSL_sk_shift(ossl_check_X509V3_EXT_METHOD_sk_type(s
 I2	  85822 k)))
 I2	  85823 #define sk_X509V3_EXT_METHOD_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509V3_EXT_METHOD_sk_type(sk),oss
 I2	  85823 l_check_X509V3_EXT_METHOD_freefunc_type(freefunc))
 I2	  85824 #define sk_X509V3_EXT_METHOD_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_c
 I2	  85824 heck_X509V3_EXT_METHOD_type(ptr), (idx))
 I2	  85825 #define sk_X509V3_EXT_METHOD_set(sk, idx, ptr) ((X509V3_EXT_METHOD *)OPENSSL_sk_set(ossl_check_X509V3_EXT_METHOD_sk_
 I2	  85825 type(sk), (idx), ossl_check_X509V3_EXT_METHOD_type(ptr)))
 I2	  85826 #define sk_X509V3_EXT_METHOD_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509
 I2	  85826 V3_EXT_METHOD_type(ptr))
 I2	  85827 #define sk_X509V3_EXT_METHOD_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_chec
 I2	  85827 k_X509V3_EXT_METHOD_type(ptr))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1589
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  85828 #define sk_X509V3_EXT_METHOD_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509V3_EXT_METHOD_sk_type(sk), o
 I2	  85828 ssl_check_X509V3_EXT_METHOD_type(ptr), pnum)
 I2	  85829 #define sk_X509V3_EXT_METHOD_sort(sk) OPENSSL_sk_sort(ossl_check_X509V3_EXT_METHOD_sk_type(sk))
 I2	  85830 #define sk_X509V3_EXT_METHOD_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509V3_EXT_METHOD_sk_type(sk))
 I2	  85831 #define sk_X509V3_EXT_METHOD_dup(sk) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_dup(ossl_check_const_X509V3_EXT_METH
 I2	  85831 OD_sk_type(sk)))
 I2	  85832 #define sk_X509V3_EXT_METHOD_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_deep_copy(
 I2	  85832 ossl_check_const_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_copyfunc_type(copyfunc), ossl_check_X50
 I2	  85832 9V3_EXT_METHOD_freefunc_type(freefunc)))
 I2	  85833 #define sk_X509V3_EXT_METHOD_set_cmp_func(sk, cmp) ((sk_X509V3_EXT_METHOD_compfunc)OPENSSL_sk_set_cmp_func(ossl_chec
 I2	  85833 k_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_compfunc_type(cmp)))
 I2	  85834 
 I2	  85835 
 I2	  85836 /* ext_flags values */
 I2	  85837 # define X509V3_EXT_DYNAMIC      0x1
 I2	  85838 # define X509V3_EXT_CTX_DEP      0x2
 I2	  85839 # define X509V3_EXT_MULTILINE    0x4
 I2	  85840 
 I2	  85841 typedef BIT_STRING_BITNAME ENUMERATED_NAMES;
 I2	  85842 
 I2	  85843 typedef struct BASIC_CONSTRAINTS_st {
 I2	  85844     int ca;
 I2	  85845     ASN1_INTEGER *pathlen;
 I2	  85846 } BASIC_CONSTRAINTS;
 I2	  85847 
 I2	  85848 typedef struct PKEY_USAGE_PERIOD_st {
 I2	  85849     ASN1_GENERALIZEDTIME *notBefore;
 I2	  85850     ASN1_GENERALIZEDTIME *notAfter;
 I2	  85851 } PKEY_USAGE_PERIOD;
 I2	  85852 
 I2	  85853 typedef struct otherName_st {
 I2	  85854     ASN1_OBJECT *type_id;
 I2	  85855     ASN1_TYPE *value;
 I2	  85856 } OTHERNAME;
 I2	  85857 
 I2	  85858 typedef struct EDIPartyName_st {
 I2	  85859     ASN1_STRING *nameAssigner;
 I2	  85860     ASN1_STRING *partyName;
 I2	  85861 } EDIPARTYNAME;
 I2	  85862 
 I2	  85863 typedef struct GENERAL_NAME_st {
 I2	  85864 # define GEN_OTHERNAME   0
 I2	  85865 # define GEN_EMAIL       1
 I2	  85866 # define GEN_DNS         2
 I2	  85867 # define GEN_X400        3
 I2	  85868 # define GEN_DIRNAME     4
 I2	  85869 # define GEN_EDIPARTY    5
 I2	  85870 # define GEN_URI         6
 I2	  85871 # define GEN_IPADD       7
 I2	  85872 # define GEN_RID         8
 I2	  85873     int type;
 I2	  85874     union {
 I2	  85875         char *ptr;
 I2	  85876         OTHERNAME *otherName;   /* otherName */
 I2	  85877         ASN1_IA5STRING *rfc822Name;
 I2	  85878         ASN1_IA5STRING *dNSName;
 I2	  85879         ASN1_TYPE *x400Address;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1590
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  85880         X509_NAME *directoryName;
 I2	  85881         EDIPARTYNAME *ediPartyName;
 I2	  85882         ASN1_IA5STRING *uniformResourceIdentifier;
 I2	  85883         ASN1_OCTET_STRING *iPAddress;
 I2	  85884         ASN1_OBJECT *registeredID;
 I2	  85885         /* Old names */
 I2	  85886         ASN1_OCTET_STRING *ip;  /* iPAddress */
 I2	  85887         X509_NAME *dirn;        /* dirn */
 I2	  85888         ASN1_IA5STRING *ia5;    /* rfc822Name, dNSName,
 I2	  85889                                  * uniformResourceIdentifier */
 I2	  85890         ASN1_OBJECT *rid;       /* registeredID */
 I2	  85891         ASN1_TYPE *other;       /* x400Address */
 I2	  85892     } d;
 I2	  85893 } GENERAL_NAME;
 I2	  85894 
 I2	  85895 typedef struct ACCESS_DESCRIPTION_st {
 I2	  85896     ASN1_OBJECT *method;
 I2	  85897     GENERAL_NAME *location;
 I2	  85898 } ACCESS_DESCRIPTION;
 I2	  85899 
 I2   1	  85900 SKM_DEFINE_STACK_OF_INTERNAL(ACCESS_DESCRIPTION, ACCESS_DESCRIPTION, ACCESS_DESCRIPTION)
       E	 struct stack_st_ACCESS_DESCRIPTION ; typedef int ( * sk_ACCESS_DESCRIPTION_compfunc ) ( const ACCESS_DESCRIPTION * 
       E	const * a , const ACCESS_DESCRIPTION * const * b ) ; typedef void ( * sk_ACCESS_DESCRIPTION_freefunc ) ( ACCESS_DESC
       E	RIPTION * a ) ; typedef ACCESS_DESCRIPTION * ( * sk_ACCESS_DESCRIPTION_copyfunc ) ( const ACCESS_DESCRIPTION * a ) ;
       E	 static __inline ACCESS_DESCRIPTION * ossl_check_ACCESS_DESCRIPTION_type ( ACCESS_DESCRIPTION * ptr ) { return ptr ;
       E	 } static __inline const OPENSSL_STACK * ossl_check_const_ACCESS_DESCRIPTION_sk_type ( const struct stack_st_ACCESS_
       E	DESCRIPTION * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_ACCESS_DESCR
       E	IPTION_sk_type ( struct stack_st_ACCESS_DESCRIPTION * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENS
       E	SL_sk_compfunc ossl_check_ACCESS_DESCRIPTION_compfunc_type ( sk_ACCESS_DESCRIPTION_compfunc cmp ) { return ( OPENSSL
       E	_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_ACCESS_DESCRIPTION_copyfunc_type ( sk_ACCESS_D
       E	ESCRIPTION_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_AC
       E	CESS_DESCRIPTION_freefunc_type ( sk_ACCESS_DESCRIPTION_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  85901 #define sk_ACCESS_DESCRIPTION_num(sk) OPENSSL_sk_num(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk))
 I2	  85902 #define sk_ACCESS_DESCRIPTION_value(sk, idx) ((ACCESS_DESCRIPTION *)OPENSSL_sk_value(ossl_check_const_ACCESS_DESCRIP
 I2	  85902 TION_sk_type(sk), (idx)))
 I2	  85903 #define sk_ACCESS_DESCRIPTION_new(cmp) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_new(ossl_check_ACCESS_DESCRIPTION
 I2	  85903 _compfunc_type(cmp)))
 I2	  85904 #define sk_ACCESS_DESCRIPTION_new_null() ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_new_null())
 I2	  85905 #define sk_ACCESS_DESCRIPTION_new_reserve(cmp, n) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_new_reserve(ossl_check
 I2	  85905 _ACCESS_DESCRIPTION_compfunc_type(cmp), (n)))
 I2	  85906 #define sk_ACCESS_DESCRIPTION_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), (n))
 I2	  85907 #define sk_ACCESS_DESCRIPTION_free(sk) OPENSSL_sk_free(ossl_check_ACCESS_DESCRIPTION_sk_type(sk))
 I2	  85908 #define sk_ACCESS_DESCRIPTION_zero(sk) OPENSSL_sk_zero(ossl_check_ACCESS_DESCRIPTION_sk_type(sk))
 I2	  85909 #define sk_ACCESS_DESCRIPTION_delete(sk, i) ((ACCESS_DESCRIPTION *)OPENSSL_sk_delete(ossl_check_ACCESS_DESCRIPTION_s
 I2	  85909 k_type(sk), (i)))
 I2	  85910 #define sk_ACCESS_DESCRIPTION_delete_ptr(sk, ptr) ((ACCESS_DESCRIPTION *)OPENSSL_sk_delete_ptr(ossl_check_ACCESS_DES
 I2	  85910 CRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr)))
 I2	  85911 #define sk_ACCESS_DESCRIPTION_push(sk, ptr) OPENSSL_sk_push(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_AC
 I2	  85911 CESS_DESCRIPTION_type(ptr))
 I2	  85912 #define sk_ACCESS_DESCRIPTION_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_ch
 I2	  85912 eck_ACCESS_DESCRIPTION_type(ptr))
 I2	  85913 #define sk_ACCESS_DESCRIPTION_pop(sk) ((ACCESS_DESCRIPTION *)OPENSSL_sk_pop(ossl_check_ACCESS_DESCRIPTION_sk_type(sk
 I2	  85913 )))
 I2	  85914 #define sk_ACCESS_DESCRIPTION_shift(sk) ((ACCESS_DESCRIPTION *)OPENSSL_sk_shift(ossl_check_ACCESS_DESCRIPTION_sk_typ
 I2	  85914 e(sk)))
 I2	  85915 #define sk_ACCESS_DESCRIPTION_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ACCESS_DESCRIPTION_sk_type(sk),o
 I2	  85915 ssl_check_ACCESS_DESCRIPTION_freefunc_type(freefunc))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1591
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  85916 #define sk_ACCESS_DESCRIPTION_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl
 I2	  85916 _check_ACCESS_DESCRIPTION_type(ptr), (idx))
 I2	  85917 #define sk_ACCESS_DESCRIPTION_set(sk, idx, ptr) ((ACCESS_DESCRIPTION *)OPENSSL_sk_set(ossl_check_ACCESS_DESCRIPTION_
 I2	  85917 sk_type(sk), (idx), ossl_check_ACCESS_DESCRIPTION_type(ptr)))
 I2	  85918 #define sk_ACCESS_DESCRIPTION_find(sk, ptr) OPENSSL_sk_find(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_AC
 I2	  85918 CESS_DESCRIPTION_type(ptr))
 I2	  85919 #define sk_ACCESS_DESCRIPTION_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_ch
 I2	  85919 eck_ACCESS_DESCRIPTION_type(ptr))
 I2	  85920 #define sk_ACCESS_DESCRIPTION_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ACCESS_DESCRIPTION_sk_type(sk),
 I2	  85920  ossl_check_ACCESS_DESCRIPTION_type(ptr), pnum)
 I2	  85921 #define sk_ACCESS_DESCRIPTION_sort(sk) OPENSSL_sk_sort(ossl_check_ACCESS_DESCRIPTION_sk_type(sk))
 I2	  85922 #define sk_ACCESS_DESCRIPTION_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk))
 I2	  85923 #define sk_ACCESS_DESCRIPTION_dup(sk) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_dup(ossl_check_const_ACCESS_DESCRI
 I2	  85923 PTION_sk_type(sk)))
 I2	  85924 #define sk_ACCESS_DESCRIPTION_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_deep_cop
 I2	  85924 y(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_copyfunc_type(copyfunc), ossl_check
 I2	  85924 _ACCESS_DESCRIPTION_freefunc_type(freefunc)))
 I2	  85925 #define sk_ACCESS_DESCRIPTION_set_cmp_func(sk, cmp) ((sk_ACCESS_DESCRIPTION_compfunc)OPENSSL_sk_set_cmp_func(ossl_ch
 I2	  85925 eck_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_compfunc_type(cmp)))
 I2   1	  85926 SKM_DEFINE_STACK_OF_INTERNAL(GENERAL_NAME, GENERAL_NAME, GENERAL_NAME)
       E	 struct stack_st_GENERAL_NAME ; typedef int ( * sk_GENERAL_NAME_compfunc ) ( const GENERAL_NAME * const * a , const 
       E	GENERAL_NAME * const * b ) ; typedef void ( * sk_GENERAL_NAME_freefunc ) ( GENERAL_NAME * a ) ; typedef GENERAL_NAME
       E	 * ( * sk_GENERAL_NAME_copyfunc ) ( const GENERAL_NAME * a ) ; static __inline GENERAL_NAME * ossl_check_GENERAL_NAM
       E	E_type ( GENERAL_NAME * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_GENERAL_NAME_s
       E	k_type ( const struct stack_st_GENERAL_NAME * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL
       E	_STACK * ossl_check_GENERAL_NAME_sk_type ( struct stack_st_GENERAL_NAME * sk ) { return ( OPENSSL_STACK * ) sk ; } s
       E	tatic __inline OPENSSL_sk_compfunc ossl_check_GENERAL_NAME_compfunc_type ( sk_GENERAL_NAME_compfunc cmp ) { return (
       E	 OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_GENERAL_NAME_copyfunc_type ( sk_GENERA
       E	L_NAME_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_GENERA
       E	L_NAME_freefunc_type ( sk_GENERAL_NAME_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  85927 #define sk_GENERAL_NAME_num(sk) OPENSSL_sk_num(ossl_check_const_GENERAL_NAME_sk_type(sk))
 I2	  85928 #define sk_GENERAL_NAME_value(sk, idx) ((GENERAL_NAME *)OPENSSL_sk_value(ossl_check_const_GENERAL_NAME_sk_type(sk), 
 I2	  85928 (idx)))
 I2	  85929 #define sk_GENERAL_NAME_new(cmp) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_new(ossl_check_GENERAL_NAME_compfunc_type(cmp
 I2	  85929 )))
 I2	  85930 #define sk_GENERAL_NAME_new_null() ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_new_null())
 I2	  85931 #define sk_GENERAL_NAME_new_reserve(cmp, n) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_new_reserve(ossl_check_GENERAL_NAM
 I2	  85931 E_compfunc_type(cmp), (n)))
 I2	  85932 #define sk_GENERAL_NAME_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_GENERAL_NAME_sk_type(sk), (n))
 I2	  85933 #define sk_GENERAL_NAME_free(sk) OPENSSL_sk_free(ossl_check_GENERAL_NAME_sk_type(sk))
 I2	  85934 #define sk_GENERAL_NAME_zero(sk) OPENSSL_sk_zero(ossl_check_GENERAL_NAME_sk_type(sk))
 I2	  85935 #define sk_GENERAL_NAME_delete(sk, i) ((GENERAL_NAME *)OPENSSL_sk_delete(ossl_check_GENERAL_NAME_sk_type(sk), (i)))
 I2	  85936 #define sk_GENERAL_NAME_delete_ptr(sk, ptr) ((GENERAL_NAME *)OPENSSL_sk_delete_ptr(ossl_check_GENERAL_NAME_sk_type(s
 I2	  85936 k), ossl_check_GENERAL_NAME_type(ptr)))
 I2	  85937 #define sk_GENERAL_NAME_push(sk, ptr) OPENSSL_sk_push(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_t
 I2	  85937 ype(ptr))
 I2	  85938 #define sk_GENERAL_NAME_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_
 I2	  85938 NAME_type(ptr))
 I2	  85939 #define sk_GENERAL_NAME_pop(sk) ((GENERAL_NAME *)OPENSSL_sk_pop(ossl_check_GENERAL_NAME_sk_type(sk)))
 I2	  85940 #define sk_GENERAL_NAME_shift(sk) ((GENERAL_NAME *)OPENSSL_sk_shift(ossl_check_GENERAL_NAME_sk_type(sk)))
 I2	  85941 #define sk_GENERAL_NAME_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_GENERAL_NAME_sk_type(sk),ossl_check_GE
 I2	  85941 NERAL_NAME_freefunc_type(freefunc))
 I2	  85942 #define sk_GENERAL_NAME_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENER
 I2	  85942 AL_NAME_type(ptr), (idx))
 I2	  85943 #define sk_GENERAL_NAME_set(sk, idx, ptr) ((GENERAL_NAME *)OPENSSL_sk_set(ossl_check_GENERAL_NAME_sk_type(sk), (idx)
 I2	  85943 , ossl_check_GENERAL_NAME_type(ptr)))
 I2	  85944 #define sk_GENERAL_NAME_find(sk, ptr) OPENSSL_sk_find(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_t

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1592
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  85944 ype(ptr))
 I2	  85945 #define sk_GENERAL_NAME_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_
 I2	  85945 NAME_type(ptr))
 I2	  85946 #define sk_GENERAL_NAME_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_
 I2	  85946 GENERAL_NAME_type(ptr), pnum)
 I2	  85947 #define sk_GENERAL_NAME_sort(sk) OPENSSL_sk_sort(ossl_check_GENERAL_NAME_sk_type(sk))
 I2	  85948 #define sk_GENERAL_NAME_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_GENERAL_NAME_sk_type(sk))
 I2	  85949 #define sk_GENERAL_NAME_dup(sk) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_dup(ossl_check_const_GENERAL_NAME_sk_type(sk))
 I2	  85949 )
 I2	  85950 #define sk_GENERAL_NAME_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_deep_copy(ossl_check
 I2	  85950 _const_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_copyfunc_type(copyfunc), ossl_check_GENERAL_NAME_freefunc_t
 I2	  85950 ype(freefunc)))
 I2	  85951 #define sk_GENERAL_NAME_set_cmp_func(sk, cmp) ((sk_GENERAL_NAME_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_GENERAL_
 I2	  85951 NAME_sk_type(sk), ossl_check_GENERAL_NAME_compfunc_type(cmp)))
 I2	  85952 
 I2	  85953 
 I2	  85954 typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS;
       E	         struct stack_st_ACCESS_DESCRIPTION
 I2	  85955 typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE;
       E	         struct stack_st_ASN1_OBJECT
 I2	  85956 typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE;
       E	         struct stack_st_ASN1_INTEGER
 I2	  85957 typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES;
       E	         struct stack_st_GENERAL_NAME
 I2	  85958 
 I2   1	  85959 SKM_DEFINE_STACK_OF_INTERNAL(GENERAL_NAMES, GENERAL_NAMES, GENERAL_NAMES)
       E	 struct stack_st_GENERAL_NAMES ; typedef int ( * sk_GENERAL_NAMES_compfunc ) ( const GENERAL_NAMES * const * a , con
       E	st GENERAL_NAMES * const * b ) ; typedef void ( * sk_GENERAL_NAMES_freefunc ) ( GENERAL_NAMES * a ) ; typedef GENERA
       E	L_NAMES * ( * sk_GENERAL_NAMES_copyfunc ) ( const GENERAL_NAMES * a ) ; static __inline GENERAL_NAMES * ossl_check_G
       E	ENERAL_NAMES_type ( GENERAL_NAMES * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_GE
       E	NERAL_NAMES_sk_type ( const struct stack_st_GENERAL_NAMES * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __
       E	inline OPENSSL_STACK * ossl_check_GENERAL_NAMES_sk_type ( struct stack_st_GENERAL_NAMES * sk ) { return ( OPENSSL_ST
       E	ACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_GENERAL_NAMES_compfunc_type ( sk_GENERAL_NAMES_compfun
       E	c cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_GENERAL_NAMES_copyfu
       E	nc_type ( sk_GENERAL_NAMES_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefu
       E	nc ossl_check_GENERAL_NAMES_freefunc_type ( sk_GENERAL_NAMES_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  85960 #define sk_GENERAL_NAMES_num(sk) OPENSSL_sk_num(ossl_check_const_GENERAL_NAMES_sk_type(sk))
 I2	  85961 #define sk_GENERAL_NAMES_value(sk, idx) ((GENERAL_NAMES *)OPENSSL_sk_value(ossl_check_const_GENERAL_NAMES_sk_type(sk
 I2	  85961 ), (idx)))
 I2	  85962 #define sk_GENERAL_NAMES_new(cmp) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_new(ossl_check_GENERAL_NAMES_compfunc_type(
 I2	  85962 cmp)))
 I2	  85963 #define sk_GENERAL_NAMES_new_null() ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_new_null())
 I2	  85964 #define sk_GENERAL_NAMES_new_reserve(cmp, n) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_new_reserve(ossl_check_GENERAL_N
 I2	  85964 AMES_compfunc_type(cmp), (n)))
 I2	  85965 #define sk_GENERAL_NAMES_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_GENERAL_NAMES_sk_type(sk), (n))
 I2	  85966 #define sk_GENERAL_NAMES_free(sk) OPENSSL_sk_free(ossl_check_GENERAL_NAMES_sk_type(sk))
 I2	  85967 #define sk_GENERAL_NAMES_zero(sk) OPENSSL_sk_zero(ossl_check_GENERAL_NAMES_sk_type(sk))
 I2	  85968 #define sk_GENERAL_NAMES_delete(sk, i) ((GENERAL_NAMES *)OPENSSL_sk_delete(ossl_check_GENERAL_NAMES_sk_type(sk), (i)
 I2	  85968 ))
 I2	  85969 #define sk_GENERAL_NAMES_delete_ptr(sk, ptr) ((GENERAL_NAMES *)OPENSSL_sk_delete_ptr(ossl_check_GENERAL_NAMES_sk_typ
 I2	  85969 e(sk), ossl_check_GENERAL_NAMES_type(ptr)))
 I2	  85970 #define sk_GENERAL_NAMES_push(sk, ptr) OPENSSL_sk_push(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAME
 I2	  85970 S_type(ptr))
 I2	  85971 #define sk_GENERAL_NAMES_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERA
 I2	  85971 L_NAMES_type(ptr))
 I2	  85972 #define sk_GENERAL_NAMES_pop(sk) ((GENERAL_NAMES *)OPENSSL_sk_pop(ossl_check_GENERAL_NAMES_sk_type(sk)))
 I2	  85973 #define sk_GENERAL_NAMES_shift(sk) ((GENERAL_NAMES *)OPENSSL_sk_shift(ossl_check_GENERAL_NAMES_sk_type(sk)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1593
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  85974 #define sk_GENERAL_NAMES_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_GENERAL_NAMES_sk_type(sk),ossl_check_
 I2	  85974 GENERAL_NAMES_freefunc_type(freefunc))
 I2	  85975 #define sk_GENERAL_NAMES_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GEN
 I2	  85975 ERAL_NAMES_type(ptr), (idx))
 I2	  85976 #define sk_GENERAL_NAMES_set(sk, idx, ptr) ((GENERAL_NAMES *)OPENSSL_sk_set(ossl_check_GENERAL_NAMES_sk_type(sk), (i
 I2	  85976 dx), ossl_check_GENERAL_NAMES_type(ptr)))
 I2	  85977 #define sk_GENERAL_NAMES_find(sk, ptr) OPENSSL_sk_find(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAME
 I2	  85977 S_type(ptr))
 I2	  85978 #define sk_GENERAL_NAMES_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERA
 I2	  85978 L_NAMES_type(ptr))
 I2	  85979 #define sk_GENERAL_NAMES_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_chec
 I2	  85979 k_GENERAL_NAMES_type(ptr), pnum)
 I2	  85980 #define sk_GENERAL_NAMES_sort(sk) OPENSSL_sk_sort(ossl_check_GENERAL_NAMES_sk_type(sk))
 I2	  85981 #define sk_GENERAL_NAMES_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_GENERAL_NAMES_sk_type(sk))
 I2	  85982 #define sk_GENERAL_NAMES_dup(sk) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_dup(ossl_check_const_GENERAL_NAMES_sk_type(s
 I2	  85982 k)))
 I2	  85983 #define sk_GENERAL_NAMES_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_deep_copy(ossl_che
 I2	  85983 ck_const_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_copyfunc_type(copyfunc), ossl_check_GENERAL_NAMES_freef
 I2	  85983 unc_type(freefunc)))
 I2	  85984 #define sk_GENERAL_NAMES_set_cmp_func(sk, cmp) ((sk_GENERAL_NAMES_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_GENERA
 I2	  85984 L_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_compfunc_type(cmp)))
 I2	  85985 
 I2	  85986 
 I2	  85987 typedef struct DIST_POINT_NAME_st {
 I2	  85988     int type;
 I2	  85989     union {
 I2	  85990         GENERAL_NAMES *fullname;
 I2	  85991         STACK_OF(X509_NAME_ENTRY) *relativename;
       E	         struct stack_st_X509_NAME_ENTRY
 I2	  85992     } name;
 I2	  85993 /* If relativename then this contains the full distribution point name */
 I2	  85994     X509_NAME *dpname;
 I2	  85995 } DIST_POINT_NAME;
 I2	  85996 /* All existing reasons */
 I2	  85997 # define CRLDP_ALL_REASONS       0x807f
 I2	  85998 
 I2	  85999 # define CRL_REASON_NONE                         -1
 I2	  86000 # define CRL_REASON_UNSPECIFIED                  0
 I2	  86001 # define CRL_REASON_KEY_COMPROMISE               1
 I2	  86002 # define CRL_REASON_CA_COMPROMISE                2
 I2	  86003 # define CRL_REASON_AFFILIATION_CHANGED          3
 I2	  86004 # define CRL_REASON_SUPERSEDED                   4
 I2	  86005 # define CRL_REASON_CESSATION_OF_OPERATION       5
 I2	  86006 # define CRL_REASON_CERTIFICATE_HOLD             6
 I2	  86007 # define CRL_REASON_REMOVE_FROM_CRL              8
 I2	  86008 # define CRL_REASON_PRIVILEGE_WITHDRAWN          9
 I2	  86009 # define CRL_REASON_AA_COMPROMISE                10
 I2	  86010 
 I2	  86011 struct DIST_POINT_st {
 I2	  86012     DIST_POINT_NAME *distpoint;
 I2	  86013     ASN1_BIT_STRING *reasons;
 I2	  86014     GENERAL_NAMES *CRLissuer;
 I2	  86015     int dp_reasons;
 I2	  86016 };
 I2	  86017 
 I2   1	  86018 SKM_DEFINE_STACK_OF_INTERNAL(DIST_POINT, DIST_POINT, DIST_POINT)
       E	 struct stack_st_DIST_POINT ; typedef int ( * sk_DIST_POINT_compfunc ) ( const DIST_POINT * const * a , const DIST_P

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1594
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

       E	OINT * const * b ) ; typedef void ( * sk_DIST_POINT_freefunc ) ( DIST_POINT * a ) ; typedef DIST_POINT * ( * sk_DIST
       E	_POINT_copyfunc ) ( const DIST_POINT * a ) ; static __inline DIST_POINT * ossl_check_DIST_POINT_type ( DIST_POINT * 
       E	ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_DIST_POINT_sk_type ( const struct stac
       E	k_st_DIST_POINT * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_DIST_POI
       E	NT_sk_type ( struct stack_st_DIST_POINT * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfu
       E	nc ossl_check_DIST_POINT_compfunc_type ( sk_DIST_POINT_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } stati
       E	c __inline OPENSSL_sk_copyfunc ossl_check_DIST_POINT_copyfunc_type ( sk_DIST_POINT_copyfunc cpy ) { return ( OPENSSL
       E	_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_DIST_POINT_freefunc_type ( sk_DIST_POINT_freef
       E	unc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86019 #define sk_DIST_POINT_num(sk) OPENSSL_sk_num(ossl_check_const_DIST_POINT_sk_type(sk))
 I2	  86020 #define sk_DIST_POINT_value(sk, idx) ((DIST_POINT *)OPENSSL_sk_value(ossl_check_const_DIST_POINT_sk_type(sk), (idx))
 I2	  86020 )
 I2	  86021 #define sk_DIST_POINT_new(cmp) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_new(ossl_check_DIST_POINT_compfunc_type(cmp)))
 I2	  86022 #define sk_DIST_POINT_new_null() ((STACK_OF(DIST_POINT) *)OPENSSL_sk_new_null())
 I2	  86023 #define sk_DIST_POINT_new_reserve(cmp, n) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_new_reserve(ossl_check_DIST_POINT_comp
 I2	  86023 func_type(cmp), (n)))
 I2	  86024 #define sk_DIST_POINT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_DIST_POINT_sk_type(sk), (n))
 I2	  86025 #define sk_DIST_POINT_free(sk) OPENSSL_sk_free(ossl_check_DIST_POINT_sk_type(sk))
 I2	  86026 #define sk_DIST_POINT_zero(sk) OPENSSL_sk_zero(ossl_check_DIST_POINT_sk_type(sk))
 I2	  86027 #define sk_DIST_POINT_delete(sk, i) ((DIST_POINT *)OPENSSL_sk_delete(ossl_check_DIST_POINT_sk_type(sk), (i)))
 I2	  86028 #define sk_DIST_POINT_delete_ptr(sk, ptr) ((DIST_POINT *)OPENSSL_sk_delete_ptr(ossl_check_DIST_POINT_sk_type(sk), os
 I2	  86028 sl_check_DIST_POINT_type(ptr)))
 I2	  86029 #define sk_DIST_POINT_push(sk, ptr) OPENSSL_sk_push(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(pt
 I2	  86029 r))
 I2	  86030 #define sk_DIST_POINT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_t
 I2	  86030 ype(ptr))
 I2	  86031 #define sk_DIST_POINT_pop(sk) ((DIST_POINT *)OPENSSL_sk_pop(ossl_check_DIST_POINT_sk_type(sk)))
 I2	  86032 #define sk_DIST_POINT_shift(sk) ((DIST_POINT *)OPENSSL_sk_shift(ossl_check_DIST_POINT_sk_type(sk)))
 I2	  86033 #define sk_DIST_POINT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_DIST_POINT_sk_type(sk),ossl_check_DIST_P
 I2	  86033 OINT_freefunc_type(freefunc))
 I2	  86034 #define sk_DIST_POINT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POIN
 I2	  86034 T_type(ptr), (idx))
 I2	  86035 #define sk_DIST_POINT_set(sk, idx, ptr) ((DIST_POINT *)OPENSSL_sk_set(ossl_check_DIST_POINT_sk_type(sk), (idx), ossl
 I2	  86035 _check_DIST_POINT_type(ptr)))
 I2	  86036 #define sk_DIST_POINT_find(sk, ptr) OPENSSL_sk_find(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(pt
 I2	  86036 r))
 I2	  86037 #define sk_DIST_POINT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_t
 I2	  86037 ype(ptr))
 I2	  86038 #define sk_DIST_POINT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST
 I2	  86038 _POINT_type(ptr), pnum)
 I2	  86039 #define sk_DIST_POINT_sort(sk) OPENSSL_sk_sort(ossl_check_DIST_POINT_sk_type(sk))
 I2	  86040 #define sk_DIST_POINT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_DIST_POINT_sk_type(sk))
 I2	  86041 #define sk_DIST_POINT_dup(sk) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_dup(ossl_check_const_DIST_POINT_sk_type(sk)))
 I2	  86042 #define sk_DIST_POINT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_deep_copy(ossl_check_con
 I2	  86042 st_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_copyfunc_type(copyfunc), ossl_check_DIST_POINT_freefunc_type(freefu
 I2	  86042 nc)))
 I2	  86043 #define sk_DIST_POINT_set_cmp_func(sk, cmp) ((sk_DIST_POINT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_DIST_POINT_s
 I2	  86043 k_type(sk), ossl_check_DIST_POINT_compfunc_type(cmp)))
 I2	  86044 
 I2	  86045 
 I2	  86046 typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS;
       E	         struct stack_st_DIST_POINT
 I2	  86047 
 I2	  86048 struct AUTHORITY_KEYID_st {
 I2	  86049     ASN1_OCTET_STRING *keyid;
 I2	  86050     GENERAL_NAMES *issuer;
 I2	  86051     ASN1_INTEGER *serial;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1595
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86052 };
 I2	  86053 
 I2	  86054 /* Strong extranet structures */
 I2	  86055 
 I2	  86056 typedef struct SXNET_ID_st {
 I2	  86057     ASN1_INTEGER *zone;
 I2	  86058     ASN1_OCTET_STRING *user;
 I2	  86059 } SXNETID;
 I2	  86060 
 I2   1	  86061 SKM_DEFINE_STACK_OF_INTERNAL(SXNETID, SXNETID, SXNETID)
       E	 struct stack_st_SXNETID ; typedef int ( * sk_SXNETID_compfunc ) ( const SXNETID * const * a , const SXNETID * const
       E	 * b ) ; typedef void ( * sk_SXNETID_freefunc ) ( SXNETID * a ) ; typedef SXNETID * ( * sk_SXNETID_copyfunc ) ( cons
       E	t SXNETID * a ) ; static __inline SXNETID * ossl_check_SXNETID_type ( SXNETID * ptr ) { return ptr ; } static __inli
       E	ne const OPENSSL_STACK * ossl_check_const_SXNETID_sk_type ( const struct stack_st_SXNETID * sk ) { return ( const OP
       E	ENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_SXNETID_sk_type ( struct stack_st_SXNETID * sk ) {
       E	 return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_SXNETID_compfunc_type ( sk_SXNETID
       E	_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_SXNETID_copy
       E	func_type ( sk_SXNETID_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc o
       E	ssl_check_SXNETID_freefunc_type ( sk_SXNETID_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86062 #define sk_SXNETID_num(sk) OPENSSL_sk_num(ossl_check_const_SXNETID_sk_type(sk))
 I2	  86063 #define sk_SXNETID_value(sk, idx) ((SXNETID *)OPENSSL_sk_value(ossl_check_const_SXNETID_sk_type(sk), (idx)))
 I2	  86064 #define sk_SXNETID_new(cmp) ((STACK_OF(SXNETID) *)OPENSSL_sk_new(ossl_check_SXNETID_compfunc_type(cmp)))
 I2	  86065 #define sk_SXNETID_new_null() ((STACK_OF(SXNETID) *)OPENSSL_sk_new_null())
 I2	  86066 #define sk_SXNETID_new_reserve(cmp, n) ((STACK_OF(SXNETID) *)OPENSSL_sk_new_reserve(ossl_check_SXNETID_compfunc_type
 I2	  86066 (cmp), (n)))
 I2	  86067 #define sk_SXNETID_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SXNETID_sk_type(sk), (n))
 I2	  86068 #define sk_SXNETID_free(sk) OPENSSL_sk_free(ossl_check_SXNETID_sk_type(sk))
 I2	  86069 #define sk_SXNETID_zero(sk) OPENSSL_sk_zero(ossl_check_SXNETID_sk_type(sk))
 I2	  86070 #define sk_SXNETID_delete(sk, i) ((SXNETID *)OPENSSL_sk_delete(ossl_check_SXNETID_sk_type(sk), (i)))
 I2	  86071 #define sk_SXNETID_delete_ptr(sk, ptr) ((SXNETID *)OPENSSL_sk_delete_ptr(ossl_check_SXNETID_sk_type(sk), ossl_check_
 I2	  86071 SXNETID_type(ptr)))
 I2	  86072 #define sk_SXNETID_push(sk, ptr) OPENSSL_sk_push(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr))
 I2	  86073 #define sk_SXNETID_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr))
 I2	  86074 #define sk_SXNETID_pop(sk) ((SXNETID *)OPENSSL_sk_pop(ossl_check_SXNETID_sk_type(sk)))
 I2	  86075 #define sk_SXNETID_shift(sk) ((SXNETID *)OPENSSL_sk_shift(ossl_check_SXNETID_sk_type(sk)))
 I2	  86076 #define sk_SXNETID_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SXNETID_sk_type(sk),ossl_check_SXNETID_free
 I2	  86076 func_type(freefunc))
 I2	  86077 #define sk_SXNETID_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(pt
 I2	  86077 r), (idx))
 I2	  86078 #define sk_SXNETID_set(sk, idx, ptr) ((SXNETID *)OPENSSL_sk_set(ossl_check_SXNETID_sk_type(sk), (idx), ossl_check_SX
 I2	  86078 NETID_type(ptr)))
 I2	  86079 #define sk_SXNETID_find(sk, ptr) OPENSSL_sk_find(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr))
 I2	  86080 #define sk_SXNETID_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr))
 I2	  86081 #define sk_SXNETID_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_ty
 I2	  86081 pe(ptr), pnum)
 I2	  86082 #define sk_SXNETID_sort(sk) OPENSSL_sk_sort(ossl_check_SXNETID_sk_type(sk))
 I2	  86083 #define sk_SXNETID_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SXNETID_sk_type(sk))
 I2	  86084 #define sk_SXNETID_dup(sk) ((STACK_OF(SXNETID) *)OPENSSL_sk_dup(ossl_check_const_SXNETID_sk_type(sk)))
 I2	  86085 #define sk_SXNETID_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SXNETID) *)OPENSSL_sk_deep_copy(ossl_check_const_SXN
 I2	  86085 ETID_sk_type(sk), ossl_check_SXNETID_copyfunc_type(copyfunc), ossl_check_SXNETID_freefunc_type(freefunc)))
 I2	  86086 #define sk_SXNETID_set_cmp_func(sk, cmp) ((sk_SXNETID_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SXNETID_sk_type(sk
 I2	  86086 ), ossl_check_SXNETID_compfunc_type(cmp)))
 I2	  86087 
 I2	  86088 
 I2	  86089 
 I2	  86090 typedef struct SXNET_st {
 I2	  86091     ASN1_INTEGER *version;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1596
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86092     STACK_OF(SXNETID) *ids;
       E	     struct stack_st_SXNETID
 I2	  86093 } SXNET;
 I2	  86094 
 I2	  86095 typedef struct ISSUER_SIGN_TOOL_st {
 I2	  86096     ASN1_UTF8STRING *signTool;
 I2	  86097     ASN1_UTF8STRING *cATool;
 I2	  86098     ASN1_UTF8STRING *signToolCert;
 I2	  86099     ASN1_UTF8STRING *cAToolCert;
 I2	  86100 } ISSUER_SIGN_TOOL;
 I2	  86101 
 I2	  86102 typedef struct NOTICEREF_st {
 I2	  86103     ASN1_STRING *organization;
 I2	  86104     STACK_OF(ASN1_INTEGER) *noticenos;
       E	     struct stack_st_ASN1_INTEGER
 I2	  86105 } NOTICEREF;
 I2	  86106 
 I2	  86107 typedef struct USERNOTICE_st {
 I2	  86108     NOTICEREF *noticeref;
 I2	  86109     ASN1_STRING *exptext;
 I2	  86110 } USERNOTICE;
 I2	  86111 
 I2	  86112 typedef struct POLICYQUALINFO_st {
 I2	  86113     ASN1_OBJECT *pqualid;
 I2	  86114     union {
 I2	  86115         ASN1_IA5STRING *cpsuri;
 I2	  86116         USERNOTICE *usernotice;
 I2	  86117         ASN1_TYPE *other;
 I2	  86118     } d;
 I2	  86119 } POLICYQUALINFO;
 I2	  86120 
 I2   1	  86121 SKM_DEFINE_STACK_OF_INTERNAL(POLICYQUALINFO, POLICYQUALINFO, POLICYQUALINFO)
       E	 struct stack_st_POLICYQUALINFO ; typedef int ( * sk_POLICYQUALINFO_compfunc ) ( const POLICYQUALINFO * const * a , 
       E	const POLICYQUALINFO * const * b ) ; typedef void ( * sk_POLICYQUALINFO_freefunc ) ( POLICYQUALINFO * a ) ; typedef 
       E	POLICYQUALINFO * ( * sk_POLICYQUALINFO_copyfunc ) ( const POLICYQUALINFO * a ) ; static __inline POLICYQUALINFO * os
       E	sl_check_POLICYQUALINFO_type ( POLICYQUALINFO * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_ch
       E	eck_const_POLICYQUALINFO_sk_type ( const struct stack_st_POLICYQUALINFO * sk ) { return ( const OPENSSL_STACK * ) sk
       E	 ; } static __inline OPENSSL_STACK * ossl_check_POLICYQUALINFO_sk_type ( struct stack_st_POLICYQUALINFO * sk ) { ret
       E	urn ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_POLICYQUALINFO_compfunc_type ( sk_POLI
       E	CYQUALINFO_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_PO
       E	LICYQUALINFO_copyfunc_type ( sk_POLICYQUALINFO_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inli
       E	ne OPENSSL_sk_freefunc ossl_check_POLICYQUALINFO_freefunc_type ( sk_POLICYQUALINFO_freefunc fr ) { return ( OPENSSL_
       E	sk_freefunc ) fr ; }
 I2	  86122 #define sk_POLICYQUALINFO_num(sk) OPENSSL_sk_num(ossl_check_const_POLICYQUALINFO_sk_type(sk))
 I2	  86123 #define sk_POLICYQUALINFO_value(sk, idx) ((POLICYQUALINFO *)OPENSSL_sk_value(ossl_check_const_POLICYQUALINFO_sk_type
 I2	  86123 (sk), (idx)))
 I2	  86124 #define sk_POLICYQUALINFO_new(cmp) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_new(ossl_check_POLICYQUALINFO_compfunc_ty
 I2	  86124 pe(cmp)))
 I2	  86125 #define sk_POLICYQUALINFO_new_null() ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_new_null())
 I2	  86126 #define sk_POLICYQUALINFO_new_reserve(cmp, n) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_new_reserve(ossl_check_POLICYQ
 I2	  86126 UALINFO_compfunc_type(cmp), (n)))
 I2	  86127 #define sk_POLICYQUALINFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_POLICYQUALINFO_sk_type(sk), (n))
 I2	  86128 #define sk_POLICYQUALINFO_free(sk) OPENSSL_sk_free(ossl_check_POLICYQUALINFO_sk_type(sk))
 I2	  86129 #define sk_POLICYQUALINFO_zero(sk) OPENSSL_sk_zero(ossl_check_POLICYQUALINFO_sk_type(sk))
 I2	  86130 #define sk_POLICYQUALINFO_delete(sk, i) ((POLICYQUALINFO *)OPENSSL_sk_delete(ossl_check_POLICYQUALINFO_sk_type(sk), 
 I2	  86130 (i)))
 I2	  86131 #define sk_POLICYQUALINFO_delete_ptr(sk, ptr) ((POLICYQUALINFO *)OPENSSL_sk_delete_ptr(ossl_check_POLICYQUALINFO_sk_

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1597
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86131 type(sk), ossl_check_POLICYQUALINFO_type(ptr)))
 I2	  86132 #define sk_POLICYQUALINFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUAL
 I2	  86132 INFO_type(ptr))
 I2	  86133 #define sk_POLICYQUALINFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLI
 I2	  86133 CYQUALINFO_type(ptr))
 I2	  86134 #define sk_POLICYQUALINFO_pop(sk) ((POLICYQUALINFO *)OPENSSL_sk_pop(ossl_check_POLICYQUALINFO_sk_type(sk)))
 I2	  86135 #define sk_POLICYQUALINFO_shift(sk) ((POLICYQUALINFO *)OPENSSL_sk_shift(ossl_check_POLICYQUALINFO_sk_type(sk)))
 I2	  86136 #define sk_POLICYQUALINFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_POLICYQUALINFO_sk_type(sk),ossl_chec
 I2	  86136 k_POLICYQUALINFO_freefunc_type(freefunc))
 I2	  86137 #define sk_POLICYQUALINFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_P
 I2	  86137 OLICYQUALINFO_type(ptr), (idx))
 I2	  86138 #define sk_POLICYQUALINFO_set(sk, idx, ptr) ((POLICYQUALINFO *)OPENSSL_sk_set(ossl_check_POLICYQUALINFO_sk_type(sk),
 I2	  86138  (idx), ossl_check_POLICYQUALINFO_type(ptr)))
 I2	  86139 #define sk_POLICYQUALINFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUAL
 I2	  86139 INFO_type(ptr))
 I2	  86140 #define sk_POLICYQUALINFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLI
 I2	  86140 CYQUALINFO_type(ptr))
 I2	  86141 #define sk_POLICYQUALINFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_ch
 I2	  86141 eck_POLICYQUALINFO_type(ptr), pnum)
 I2	  86142 #define sk_POLICYQUALINFO_sort(sk) OPENSSL_sk_sort(ossl_check_POLICYQUALINFO_sk_type(sk))
 I2	  86143 #define sk_POLICYQUALINFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_POLICYQUALINFO_sk_type(sk))
 I2	  86144 #define sk_POLICYQUALINFO_dup(sk) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_dup(ossl_check_const_POLICYQUALINFO_sk_typ
 I2	  86144 e(sk)))
 I2	  86145 #define sk_POLICYQUALINFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_deep_copy(ossl_c
 I2	  86145 heck_const_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_copyfunc_type(copyfunc), ossl_check_POLICYQUALINFO_
 I2	  86145 freefunc_type(freefunc)))
 I2	  86146 #define sk_POLICYQUALINFO_set_cmp_func(sk, cmp) ((sk_POLICYQUALINFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_POLI
 I2	  86146 CYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_compfunc_type(cmp)))
 I2	  86147 
 I2	  86148 
 I2	  86149 
 I2	  86150 typedef struct POLICYINFO_st {
 I2	  86151     ASN1_OBJECT *policyid;
 I2	  86152     STACK_OF(POLICYQUALINFO) *qualifiers;
       E	     struct stack_st_POLICYQUALINFO
 I2	  86153 } POLICYINFO;
 I2	  86154 
 I2   1	  86155 SKM_DEFINE_STACK_OF_INTERNAL(POLICYINFO, POLICYINFO, POLICYINFO)
       E	 struct stack_st_POLICYINFO ; typedef int ( * sk_POLICYINFO_compfunc ) ( const POLICYINFO * const * a , const POLICY
       E	INFO * const * b ) ; typedef void ( * sk_POLICYINFO_freefunc ) ( POLICYINFO * a ) ; typedef POLICYINFO * ( * sk_POLI
       E	CYINFO_copyfunc ) ( const POLICYINFO * a ) ; static __inline POLICYINFO * ossl_check_POLICYINFO_type ( POLICYINFO * 
       E	ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_POLICYINFO_sk_type ( const struct stac
       E	k_st_POLICYINFO * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_POLICYIN
       E	FO_sk_type ( struct stack_st_POLICYINFO * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfu
       E	nc ossl_check_POLICYINFO_compfunc_type ( sk_POLICYINFO_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } stati
       E	c __inline OPENSSL_sk_copyfunc ossl_check_POLICYINFO_copyfunc_type ( sk_POLICYINFO_copyfunc cpy ) { return ( OPENSSL
       E	_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_POLICYINFO_freefunc_type ( sk_POLICYINFO_freef
       E	unc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86156 #define sk_POLICYINFO_num(sk) OPENSSL_sk_num(ossl_check_const_POLICYINFO_sk_type(sk))
 I2	  86157 #define sk_POLICYINFO_value(sk, idx) ((POLICYINFO *)OPENSSL_sk_value(ossl_check_const_POLICYINFO_sk_type(sk), (idx))
 I2	  86157 )
 I2	  86158 #define sk_POLICYINFO_new(cmp) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_new(ossl_check_POLICYINFO_compfunc_type(cmp)))
 I2	  86159 #define sk_POLICYINFO_new_null() ((STACK_OF(POLICYINFO) *)OPENSSL_sk_new_null())
 I2	  86160 #define sk_POLICYINFO_new_reserve(cmp, n) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_new_reserve(ossl_check_POLICYINFO_comp
 I2	  86160 func_type(cmp), (n)))
 I2	  86161 #define sk_POLICYINFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_POLICYINFO_sk_type(sk), (n))
 I2	  86162 #define sk_POLICYINFO_free(sk) OPENSSL_sk_free(ossl_check_POLICYINFO_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1598
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86163 #define sk_POLICYINFO_zero(sk) OPENSSL_sk_zero(ossl_check_POLICYINFO_sk_type(sk))
 I2	  86164 #define sk_POLICYINFO_delete(sk, i) ((POLICYINFO *)OPENSSL_sk_delete(ossl_check_POLICYINFO_sk_type(sk), (i)))
 I2	  86165 #define sk_POLICYINFO_delete_ptr(sk, ptr) ((POLICYINFO *)OPENSSL_sk_delete_ptr(ossl_check_POLICYINFO_sk_type(sk), os
 I2	  86165 sl_check_POLICYINFO_type(ptr)))
 I2	  86166 #define sk_POLICYINFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(pt
 I2	  86166 r))
 I2	  86167 #define sk_POLICYINFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_t
 I2	  86167 ype(ptr))
 I2	  86168 #define sk_POLICYINFO_pop(sk) ((POLICYINFO *)OPENSSL_sk_pop(ossl_check_POLICYINFO_sk_type(sk)))
 I2	  86169 #define sk_POLICYINFO_shift(sk) ((POLICYINFO *)OPENSSL_sk_shift(ossl_check_POLICYINFO_sk_type(sk)))
 I2	  86170 #define sk_POLICYINFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_POLICYINFO_sk_type(sk),ossl_check_POLICY
 I2	  86170 INFO_freefunc_type(freefunc))
 I2	  86171 #define sk_POLICYINFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINF
 I2	  86171 O_type(ptr), (idx))
 I2	  86172 #define sk_POLICYINFO_set(sk, idx, ptr) ((POLICYINFO *)OPENSSL_sk_set(ossl_check_POLICYINFO_sk_type(sk), (idx), ossl
 I2	  86172 _check_POLICYINFO_type(ptr)))
 I2	  86173 #define sk_POLICYINFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(pt
 I2	  86173 r))
 I2	  86174 #define sk_POLICYINFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_t
 I2	  86174 ype(ptr))
 I2	  86175 #define sk_POLICYINFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLI
 I2	  86175 CYINFO_type(ptr), pnum)
 I2	  86176 #define sk_POLICYINFO_sort(sk) OPENSSL_sk_sort(ossl_check_POLICYINFO_sk_type(sk))
 I2	  86177 #define sk_POLICYINFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_POLICYINFO_sk_type(sk))
 I2	  86178 #define sk_POLICYINFO_dup(sk) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_dup(ossl_check_const_POLICYINFO_sk_type(sk)))
 I2	  86179 #define sk_POLICYINFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_deep_copy(ossl_check_con
 I2	  86179 st_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_copyfunc_type(copyfunc), ossl_check_POLICYINFO_freefunc_type(freefu
 I2	  86179 nc)))
 I2	  86180 #define sk_POLICYINFO_set_cmp_func(sk, cmp) ((sk_POLICYINFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_POLICYINFO_s
 I2	  86180 k_type(sk), ossl_check_POLICYINFO_compfunc_type(cmp)))
 I2	  86181 
 I2	  86182 
 I2	  86183 typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES;
       E	         struct stack_st_POLICYINFO
 I2	  86184 
 I2	  86185 typedef struct POLICY_MAPPING_st {
 I2	  86186     ASN1_OBJECT *issuerDomainPolicy;
 I2	  86187     ASN1_OBJECT *subjectDomainPolicy;
 I2	  86188 } POLICY_MAPPING;
 I2	  86189 
 I2   1	  86190 SKM_DEFINE_STACK_OF_INTERNAL(POLICY_MAPPING, POLICY_MAPPING, POLICY_MAPPING)
       E	 struct stack_st_POLICY_MAPPING ; typedef int ( * sk_POLICY_MAPPING_compfunc ) ( const POLICY_MAPPING * const * a , 
       E	const POLICY_MAPPING * const * b ) ; typedef void ( * sk_POLICY_MAPPING_freefunc ) ( POLICY_MAPPING * a ) ; typedef 
       E	POLICY_MAPPING * ( * sk_POLICY_MAPPING_copyfunc ) ( const POLICY_MAPPING * a ) ; static __inline POLICY_MAPPING * os
       E	sl_check_POLICY_MAPPING_type ( POLICY_MAPPING * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_ch
       E	eck_const_POLICY_MAPPING_sk_type ( const struct stack_st_POLICY_MAPPING * sk ) { return ( const OPENSSL_STACK * ) sk
       E	 ; } static __inline OPENSSL_STACK * ossl_check_POLICY_MAPPING_sk_type ( struct stack_st_POLICY_MAPPING * sk ) { ret
       E	urn ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_POLICY_MAPPING_compfunc_type ( sk_POLI
       E	CY_MAPPING_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_PO
       E	LICY_MAPPING_copyfunc_type ( sk_POLICY_MAPPING_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inli
       E	ne OPENSSL_sk_freefunc ossl_check_POLICY_MAPPING_freefunc_type ( sk_POLICY_MAPPING_freefunc fr ) { return ( OPENSSL_
       E	sk_freefunc ) fr ; }
 I2	  86191 #define sk_POLICY_MAPPING_num(sk) OPENSSL_sk_num(ossl_check_const_POLICY_MAPPING_sk_type(sk))
 I2	  86192 #define sk_POLICY_MAPPING_value(sk, idx) ((POLICY_MAPPING *)OPENSSL_sk_value(ossl_check_const_POLICY_MAPPING_sk_type
 I2	  86192 (sk), (idx)))
 I2	  86193 #define sk_POLICY_MAPPING_new(cmp) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_new(ossl_check_POLICY_MAPPING_compfunc_ty
 I2	  86193 pe(cmp)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1599
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86194 #define sk_POLICY_MAPPING_new_null() ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_new_null())
 I2	  86195 #define sk_POLICY_MAPPING_new_reserve(cmp, n) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_new_reserve(ossl_check_POLICY_
 I2	  86195 MAPPING_compfunc_type(cmp), (n)))
 I2	  86196 #define sk_POLICY_MAPPING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_POLICY_MAPPING_sk_type(sk), (n))
 I2	  86197 #define sk_POLICY_MAPPING_free(sk) OPENSSL_sk_free(ossl_check_POLICY_MAPPING_sk_type(sk))
 I2	  86198 #define sk_POLICY_MAPPING_zero(sk) OPENSSL_sk_zero(ossl_check_POLICY_MAPPING_sk_type(sk))
 I2	  86199 #define sk_POLICY_MAPPING_delete(sk, i) ((POLICY_MAPPING *)OPENSSL_sk_delete(ossl_check_POLICY_MAPPING_sk_type(sk), 
 I2	  86199 (i)))
 I2	  86200 #define sk_POLICY_MAPPING_delete_ptr(sk, ptr) ((POLICY_MAPPING *)OPENSSL_sk_delete_ptr(ossl_check_POLICY_MAPPING_sk_
 I2	  86200 type(sk), ossl_check_POLICY_MAPPING_type(ptr)))
 I2	  86201 #define sk_POLICY_MAPPING_push(sk, ptr) OPENSSL_sk_push(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAP
 I2	  86201 PING_type(ptr))
 I2	  86202 #define sk_POLICY_MAPPING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLI
 I2	  86202 CY_MAPPING_type(ptr))
 I2	  86203 #define sk_POLICY_MAPPING_pop(sk) ((POLICY_MAPPING *)OPENSSL_sk_pop(ossl_check_POLICY_MAPPING_sk_type(sk)))
 I2	  86204 #define sk_POLICY_MAPPING_shift(sk) ((POLICY_MAPPING *)OPENSSL_sk_shift(ossl_check_POLICY_MAPPING_sk_type(sk)))
 I2	  86205 #define sk_POLICY_MAPPING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_POLICY_MAPPING_sk_type(sk),ossl_chec
 I2	  86205 k_POLICY_MAPPING_freefunc_type(freefunc))
 I2	  86206 #define sk_POLICY_MAPPING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_P
 I2	  86206 OLICY_MAPPING_type(ptr), (idx))
 I2	  86207 #define sk_POLICY_MAPPING_set(sk, idx, ptr) ((POLICY_MAPPING *)OPENSSL_sk_set(ossl_check_POLICY_MAPPING_sk_type(sk),
 I2	  86207  (idx), ossl_check_POLICY_MAPPING_type(ptr)))
 I2	  86208 #define sk_POLICY_MAPPING_find(sk, ptr) OPENSSL_sk_find(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAP
 I2	  86208 PING_type(ptr))
 I2	  86209 #define sk_POLICY_MAPPING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLI
 I2	  86209 CY_MAPPING_type(ptr))
 I2	  86210 #define sk_POLICY_MAPPING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_ch
 I2	  86210 eck_POLICY_MAPPING_type(ptr), pnum)
 I2	  86211 #define sk_POLICY_MAPPING_sort(sk) OPENSSL_sk_sort(ossl_check_POLICY_MAPPING_sk_type(sk))
 I2	  86212 #define sk_POLICY_MAPPING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_POLICY_MAPPING_sk_type(sk))
 I2	  86213 #define sk_POLICY_MAPPING_dup(sk) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_dup(ossl_check_const_POLICY_MAPPING_sk_typ
 I2	  86213 e(sk)))
 I2	  86214 #define sk_POLICY_MAPPING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_deep_copy(ossl_c
 I2	  86214 heck_const_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_copyfunc_type(copyfunc), ossl_check_POLICY_MAPPING_
 I2	  86214 freefunc_type(freefunc)))
 I2	  86215 #define sk_POLICY_MAPPING_set_cmp_func(sk, cmp) ((sk_POLICY_MAPPING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_POLI
 I2	  86215 CY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_compfunc_type(cmp)))
 I2	  86216 
 I2	  86217 
 I2	  86218 typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS;
       E	         struct stack_st_POLICY_MAPPING
 I2	  86219 
 I2	  86220 typedef struct GENERAL_SUBTREE_st {
 I2	  86221     GENERAL_NAME *base;
 I2	  86222     ASN1_INTEGER *minimum;
 I2	  86223     ASN1_INTEGER *maximum;
 I2	  86224 } GENERAL_SUBTREE;
 I2	  86225 
 I2   1	  86226 SKM_DEFINE_STACK_OF_INTERNAL(GENERAL_SUBTREE, GENERAL_SUBTREE, GENERAL_SUBTREE)
       E	 struct stack_st_GENERAL_SUBTREE ; typedef int ( * sk_GENERAL_SUBTREE_compfunc ) ( const GENERAL_SUBTREE * const * a
       E	 , const GENERAL_SUBTREE * const * b ) ; typedef void ( * sk_GENERAL_SUBTREE_freefunc ) ( GENERAL_SUBTREE * a ) ; ty
       E	pedef GENERAL_SUBTREE * ( * sk_GENERAL_SUBTREE_copyfunc ) ( const GENERAL_SUBTREE * a ) ; static __inline GENERAL_SU
       E	BTREE * ossl_check_GENERAL_SUBTREE_type ( GENERAL_SUBTREE * ptr ) { return ptr ; } static __inline const OPENSSL_STA
       E	CK * ossl_check_const_GENERAL_SUBTREE_sk_type ( const struct stack_st_GENERAL_SUBTREE * sk ) { return ( const OPENSS
       E	L_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_GENERAL_SUBTREE_sk_type ( struct stack_st_GENERAL_SUBT
       E	REE * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_GENERAL_SUBTREE_compfu
       E	nc_type ( sk_GENERAL_SUBTREE_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copy

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1600
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

       E	func ossl_check_GENERAL_SUBTREE_copyfunc_type ( sk_GENERAL_SUBTREE_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) c
       E	py ; } static __inline OPENSSL_sk_freefunc ossl_check_GENERAL_SUBTREE_freefunc_type ( sk_GENERAL_SUBTREE_freefunc fr
       E	 ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86227 #define sk_GENERAL_SUBTREE_num(sk) OPENSSL_sk_num(ossl_check_const_GENERAL_SUBTREE_sk_type(sk))
 I2	  86228 #define sk_GENERAL_SUBTREE_value(sk, idx) ((GENERAL_SUBTREE *)OPENSSL_sk_value(ossl_check_const_GENERAL_SUBTREE_sk_t
 I2	  86228 ype(sk), (idx)))
 I2	  86229 #define sk_GENERAL_SUBTREE_new(cmp) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_new(ossl_check_GENERAL_SUBTREE_compfunc
 I2	  86229 _type(cmp)))
 I2	  86230 #define sk_GENERAL_SUBTREE_new_null() ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_new_null())
 I2	  86231 #define sk_GENERAL_SUBTREE_new_reserve(cmp, n) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_new_reserve(ossl_check_GENER
 I2	  86231 AL_SUBTREE_compfunc_type(cmp), (n)))
 I2	  86232 #define sk_GENERAL_SUBTREE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_GENERAL_SUBTREE_sk_type(sk), (n))
 I2	  86233 #define sk_GENERAL_SUBTREE_free(sk) OPENSSL_sk_free(ossl_check_GENERAL_SUBTREE_sk_type(sk))
 I2	  86234 #define sk_GENERAL_SUBTREE_zero(sk) OPENSSL_sk_zero(ossl_check_GENERAL_SUBTREE_sk_type(sk))
 I2	  86235 #define sk_GENERAL_SUBTREE_delete(sk, i) ((GENERAL_SUBTREE *)OPENSSL_sk_delete(ossl_check_GENERAL_SUBTREE_sk_type(sk
 I2	  86235 ), (i)))
 I2	  86236 #define sk_GENERAL_SUBTREE_delete_ptr(sk, ptr) ((GENERAL_SUBTREE *)OPENSSL_sk_delete_ptr(ossl_check_GENERAL_SUBTREE_
 I2	  86236 sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr)))
 I2	  86237 #define sk_GENERAL_SUBTREE_push(sk, ptr) OPENSSL_sk_push(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_
 I2	  86237 SUBTREE_type(ptr))
 I2	  86238 #define sk_GENERAL_SUBTREE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GE
 I2	  86238 NERAL_SUBTREE_type(ptr))
 I2	  86239 #define sk_GENERAL_SUBTREE_pop(sk) ((GENERAL_SUBTREE *)OPENSSL_sk_pop(ossl_check_GENERAL_SUBTREE_sk_type(sk)))
 I2	  86240 #define sk_GENERAL_SUBTREE_shift(sk) ((GENERAL_SUBTREE *)OPENSSL_sk_shift(ossl_check_GENERAL_SUBTREE_sk_type(sk)))
 I2	  86241 #define sk_GENERAL_SUBTREE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_GENERAL_SUBTREE_sk_type(sk),ossl_ch
 I2	  86241 eck_GENERAL_SUBTREE_freefunc_type(freefunc))
 I2	  86242 #define sk_GENERAL_SUBTREE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check
 I2	  86242 _GENERAL_SUBTREE_type(ptr), (idx))
 I2	  86243 #define sk_GENERAL_SUBTREE_set(sk, idx, ptr) ((GENERAL_SUBTREE *)OPENSSL_sk_set(ossl_check_GENERAL_SUBTREE_sk_type(s
 I2	  86243 k), (idx), ossl_check_GENERAL_SUBTREE_type(ptr)))
 I2	  86244 #define sk_GENERAL_SUBTREE_find(sk, ptr) OPENSSL_sk_find(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_
 I2	  86244 SUBTREE_type(ptr))
 I2	  86245 #define sk_GENERAL_SUBTREE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GE
 I2	  86245 NERAL_SUBTREE_type(ptr))
 I2	  86246 #define sk_GENERAL_SUBTREE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_
 I2	  86246 check_GENERAL_SUBTREE_type(ptr), pnum)
 I2	  86247 #define sk_GENERAL_SUBTREE_sort(sk) OPENSSL_sk_sort(ossl_check_GENERAL_SUBTREE_sk_type(sk))
 I2	  86248 #define sk_GENERAL_SUBTREE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_GENERAL_SUBTREE_sk_type(sk))
 I2	  86249 #define sk_GENERAL_SUBTREE_dup(sk) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_dup(ossl_check_const_GENERAL_SUBTREE_sk_
 I2	  86249 type(sk)))
 I2	  86250 #define sk_GENERAL_SUBTREE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_deep_copy(ossl
 I2	  86250 _check_const_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_copyfunc_type(copyfunc), ossl_check_GENERAL_SUB
 I2	  86250 TREE_freefunc_type(freefunc)))
 I2	  86251 #define sk_GENERAL_SUBTREE_set_cmp_func(sk, cmp) ((sk_GENERAL_SUBTREE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_GE
 I2	  86251 NERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_compfunc_type(cmp)))
 I2	  86252 
 I2	  86253 
 I2	  86254 struct NAME_CONSTRAINTS_st {
 I2	  86255     STACK_OF(GENERAL_SUBTREE) *permittedSubtrees;
       E	     struct stack_st_GENERAL_SUBTREE
 I2	  86256     STACK_OF(GENERAL_SUBTREE) *excludedSubtrees;
       E	     struct stack_st_GENERAL_SUBTREE
 I2	  86257 };
 I2	  86258 
 I2	  86259 typedef struct POLICY_CONSTRAINTS_st {
 I2	  86260     ASN1_INTEGER *requireExplicitPolicy;
 I2	  86261     ASN1_INTEGER *inhibitPolicyMapping;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1601
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86262 } POLICY_CONSTRAINTS;
 I2	  86263 
 I2	  86264 /* Proxy certificate structures, see RFC 3820 */
 I2	  86265 typedef struct PROXY_POLICY_st {
 I2	  86266     ASN1_OBJECT *policyLanguage;
 I2	  86267     ASN1_OCTET_STRING *policy;
 I2	  86268 } PROXY_POLICY;
 I2	  86269 
 I2	  86270 typedef struct PROXY_CERT_INFO_EXTENSION_st {
 I2	  86271     ASN1_INTEGER *pcPathLengthConstraint;
 I2	  86272     PROXY_POLICY *proxyPolicy;
 I2	  86273 } PROXY_CERT_INFO_EXTENSION;
 I2	  86274 
 I2	  86275 DECLARE_ASN1_FUNCTIONS(PROXY_POLICY)
       E	 extern PROXY_POLICY * PROXY_POLICY_new ( void ) ; extern void PROXY_POLICY_free ( PROXY_POLICY * a ) ; extern PROXY
       E	_POLICY * d2i_PROXY_POLICY ( PROXY_POLICY * * a , const unsigned char * * in , long len ) ; extern int i2d_PROXY_POL
       E	ICY ( const PROXY_POLICY * a , unsigned char * * out ) ; extern const ASN1_ITEM * PROXY_POLICY_it ( void ) ;
 I2	  86276 DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION)
       E	 extern PROXY_CERT_INFO_EXTENSION * PROXY_CERT_INFO_EXTENSION_new ( void ) ; extern void PROXY_CERT_INFO_EXTENSION_f
       E	ree ( PROXY_CERT_INFO_EXTENSION * a ) ; extern PROXY_CERT_INFO_EXTENSION * d2i_PROXY_CERT_INFO_EXTENSION ( PROXY_CER
       E	T_INFO_EXTENSION * * a , const unsigned char * * in , long len ) ; extern int i2d_PROXY_CERT_INFO_EXTENSION ( const 
       E	PROXY_CERT_INFO_EXTENSION * a , unsigned char * * out ) ; extern const ASN1_ITEM * PROXY_CERT_INFO_EXTENSION_it ( vo
       E	id ) ;
 I2	  86277 
 I2	  86278 struct ISSUING_DIST_POINT_st {
 I2	  86279     DIST_POINT_NAME *distpoint;
 I2	  86280     int onlyuser;
 I2	  86281     int onlyCA;
 I2	  86282     ASN1_BIT_STRING *onlysomereasons;
 I2	  86283     int indirectCRL;
 I2	  86284     int onlyattr;
 I2	  86285 };
 I2	  86286 
 I2	  86287 /* Values in idp_flags field */
 I2	  86288 /* IDP present */
 I2	  86289 # define IDP_PRESENT     0x1
 I2	  86290 /* IDP values inconsistent */
 I2	  86291 # define IDP_INVALID     0x2
 I2	  86292 /* onlyuser true */
 I2	  86293 # define IDP_ONLYUSER    0x4
 I2	  86294 /* onlyCA true */
 I2	  86295 # define IDP_ONLYCA      0x8
 I2	  86296 /* onlyattr true */
 I2	  86297 # define IDP_ONLYATTR    0x10
 I2	  86298 /* indirectCRL true */
 I2	  86299 # define IDP_INDIRECT    0x20
 I2	  86300 /* onlysomereasons present */
 I2	  86301 # define IDP_REASONS     0x40
 I2	  86302 
 I2	  86303 # define X509V3_conf_err(val) ERR_add_error_data(6, \
 I2	  86304                         "section:", (val)->section, \
 I2	  86305                         ",name:", (val)->name, ",value:", (val)->value)
 I2	  86306 
 I2	  86307 # define X509V3_set_ctx_test(ctx) \
 I2	  86308     X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, X509V3_CTX_TEST)
 I2	  86309 # define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL;
 I2	  86310 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1602
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86311 # define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \
 I2	  86312                         0,0,0,0, \
 I2	  86313                         0,0, \
 I2	  86314                         (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \
 I2	  86315                         (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \
 I2	  86316                         NULL, NULL, \
 I2	  86317                         table}
 I2	  86318 
 I2	  86319 # define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \
 I2	  86320                         0,0,0,0, \
 I2	  86321                         (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \
 I2	  86322                         (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \
 I2	  86323                         0,0,0,0, \
 I2	  86324                         NULL}
 I2	  86325 
 I2	  86326 #define EXT_UTF8STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_UTF8STRING), \
 I2	  86327                         0,0,0,0, \
 I2	  86328                         (X509V3_EXT_I2S)i2s_ASN1_UTF8STRING, \
 I2	  86329                         (X509V3_EXT_S2I)s2i_ASN1_UTF8STRING, \
 I2	  86330                         0,0,0,0, \
 I2	  86331                         NULL}
 I2	  86332 
 I2	  86333 # define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 I2	  86334 
 I2	  86335 /* X509_PURPOSE stuff */
 I2	  86336 
 I2	  86337 # define EXFLAG_BCONS            0x1
 I2	  86338 # define EXFLAG_KUSAGE           0x2
 I2	  86339 # define EXFLAG_XKUSAGE          0x4
 I2	  86340 # define EXFLAG_NSCERT           0x8
 I2	  86341 
 I2	  86342 # define EXFLAG_CA               0x10
 I2	  86343 # define EXFLAG_SI               0x20 /* self-issued, maybe not self-signed */
 I2	  86344 # define EXFLAG_V1               0x40
 I2	  86345 # define EXFLAG_INVALID          0x80
 I2	  86346 /* EXFLAG_SET is set to indicate that some values have been precomputed */
 I2	  86347 # define EXFLAG_SET              0x100
 I2	  86348 # define EXFLAG_CRITICAL         0x200
 I2	  86349 # define EXFLAG_PROXY            0x400
 I2	  86350 
 I2	  86351 # define EXFLAG_INVALID_POLICY   0x800
 I2	  86352 # define EXFLAG_FRESHEST         0x1000
 I2	  86353 # define EXFLAG_SS               0x2000 /* cert is apparently self-signed */
 I2	  86354 
 I2	  86355 # define EXFLAG_BCONS_CRITICAL   0x10000
 I2	  86356 # define EXFLAG_AKID_CRITICAL    0x20000
 I2	  86357 # define EXFLAG_SKID_CRITICAL    0x40000
 I2	  86358 # define EXFLAG_SAN_CRITICAL     0x80000
 I2	  86359 # define EXFLAG_NO_FINGERPRINT   0x100000
 I2	  86360 
 I2	  86361 # define KU_DIGITAL_SIGNATURE    0x0080
 I2	  86362 # define KU_NON_REPUDIATION      0x0040
 I2	  86363 # define KU_KEY_ENCIPHERMENT     0x0020
 I2	  86364 # define KU_DATA_ENCIPHERMENT    0x0010
 I2	  86365 # define KU_KEY_AGREEMENT        0x0008
 I2	  86366 # define KU_KEY_CERT_SIGN        0x0004
 I2	  86367 # define KU_CRL_SIGN             0x0002

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1603
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86368 # define KU_ENCIPHER_ONLY        0x0001
 I2	  86369 # define KU_DECIPHER_ONLY        0x8000
 I2	  86370 
 I2	  86371 # define NS_SSL_CLIENT           0x80
 I2	  86372 # define NS_SSL_SERVER           0x40
 I2	  86373 # define NS_SMIME                0x20
 I2	  86374 # define NS_OBJSIGN              0x10
 I2	  86375 # define NS_SSL_CA               0x04
 I2	  86376 # define NS_SMIME_CA             0x02
 I2	  86377 # define NS_OBJSIGN_CA           0x01
 I2	  86378 # define NS_ANY_CA               (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA)
 I2	  86379 
 I2	  86380 # define XKU_SSL_SERVER          0x1
 I2	  86381 # define XKU_SSL_CLIENT          0x2
 I2	  86382 # define XKU_SMIME               0x4
 I2	  86383 # define XKU_CODE_SIGN           0x8
 I2	  86384 # define XKU_SGC                 0x10 /* Netscape or MS Server-Gated Crypto */
 I2	  86385 # define XKU_OCSP_SIGN           0x20
 I2	  86386 # define XKU_TIMESTAMP           0x40
 I2	  86387 # define XKU_DVCS                0x80
 I2	  86388 # define XKU_ANYEKU              0x100
 I2	  86389 
 I2	  86390 # define X509_PURPOSE_DYNAMIC    0x1
 I2	  86391 # define X509_PURPOSE_DYNAMIC_NAME       0x2
 I2	  86392 
 I2	  86393 typedef struct x509_purpose_st {
 I2	  86394     int purpose;
 I2	  86395     int trust;                  /* Default trust ID */
 I2	  86396     int flags;
 I2	  86397     int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int);
 I2	  86398     char *name;
 I2	  86399     char *sname;
 I2	  86400     void *usr_data;
 I2	  86401 } X509_PURPOSE;
 I2	  86402 
 I2   1	  86403 SKM_DEFINE_STACK_OF_INTERNAL(X509_PURPOSE, X509_PURPOSE, X509_PURPOSE)
       E	 struct stack_st_X509_PURPOSE ; typedef int ( * sk_X509_PURPOSE_compfunc ) ( const X509_PURPOSE * const * a , const 
       E	X509_PURPOSE * const * b ) ; typedef void ( * sk_X509_PURPOSE_freefunc ) ( X509_PURPOSE * a ) ; typedef X509_PURPOSE
       E	 * ( * sk_X509_PURPOSE_copyfunc ) ( const X509_PURPOSE * a ) ; static __inline X509_PURPOSE * ossl_check_X509_PURPOS
       E	E_type ( X509_PURPOSE * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_X509_PURPOSE_s
       E	k_type ( const struct stack_st_X509_PURPOSE * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL
       E	_STACK * ossl_check_X509_PURPOSE_sk_type ( struct stack_st_X509_PURPOSE * sk ) { return ( OPENSSL_STACK * ) sk ; } s
       E	tatic __inline OPENSSL_sk_compfunc ossl_check_X509_PURPOSE_compfunc_type ( sk_X509_PURPOSE_compfunc cmp ) { return (
       E	 OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_X509_PURPOSE_copyfunc_type ( sk_X509_P
       E	URPOSE_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_P
       E	URPOSE_freefunc_type ( sk_X509_PURPOSE_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86404 #define sk_X509_PURPOSE_num(sk) OPENSSL_sk_num(ossl_check_const_X509_PURPOSE_sk_type(sk))
 I2	  86405 #define sk_X509_PURPOSE_value(sk, idx) ((X509_PURPOSE *)OPENSSL_sk_value(ossl_check_const_X509_PURPOSE_sk_type(sk), 
 I2	  86405 (idx)))
 I2	  86406 #define sk_X509_PURPOSE_new(cmp) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_new(ossl_check_X509_PURPOSE_compfunc_type(cmp
 I2	  86406 )))
 I2	  86407 #define sk_X509_PURPOSE_new_null() ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_new_null())
 I2	  86408 #define sk_X509_PURPOSE_new_reserve(cmp, n) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_new_reserve(ossl_check_X509_PURPOS
 I2	  86408 E_compfunc_type(cmp), (n)))
 I2	  86409 #define sk_X509_PURPOSE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_PURPOSE_sk_type(sk), (n))
 I2	  86410 #define sk_X509_PURPOSE_free(sk) OPENSSL_sk_free(ossl_check_X509_PURPOSE_sk_type(sk))
 I2	  86411 #define sk_X509_PURPOSE_zero(sk) OPENSSL_sk_zero(ossl_check_X509_PURPOSE_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1604
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86412 #define sk_X509_PURPOSE_delete(sk, i) ((X509_PURPOSE *)OPENSSL_sk_delete(ossl_check_X509_PURPOSE_sk_type(sk), (i)))
 I2	  86413 #define sk_X509_PURPOSE_delete_ptr(sk, ptr) ((X509_PURPOSE *)OPENSSL_sk_delete_ptr(ossl_check_X509_PURPOSE_sk_type(s
 I2	  86413 k), ossl_check_X509_PURPOSE_type(ptr)))
 I2	  86414 #define sk_X509_PURPOSE_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_t
 I2	  86414 ype(ptr))
 I2	  86415 #define sk_X509_PURPOSE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PUR
 I2	  86415 POSE_type(ptr))
 I2	  86416 #define sk_X509_PURPOSE_pop(sk) ((X509_PURPOSE *)OPENSSL_sk_pop(ossl_check_X509_PURPOSE_sk_type(sk)))
 I2	  86417 #define sk_X509_PURPOSE_shift(sk) ((X509_PURPOSE *)OPENSSL_sk_shift(ossl_check_X509_PURPOSE_sk_type(sk)))
 I2	  86418 #define sk_X509_PURPOSE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_PURPOSE_sk_type(sk),ossl_check_X5
 I2	  86418 09_PURPOSE_freefunc_type(freefunc))
 I2	  86419 #define sk_X509_PURPOSE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_
 I2	  86419 PURPOSE_type(ptr), (idx))
 I2	  86420 #define sk_X509_PURPOSE_set(sk, idx, ptr) ((X509_PURPOSE *)OPENSSL_sk_set(ossl_check_X509_PURPOSE_sk_type(sk), (idx)
 I2	  86420 , ossl_check_X509_PURPOSE_type(ptr)))
 I2	  86421 #define sk_X509_PURPOSE_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_t
 I2	  86421 ype(ptr))
 I2	  86422 #define sk_X509_PURPOSE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PUR
 I2	  86422 POSE_type(ptr))
 I2	  86423 #define sk_X509_PURPOSE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_
 I2	  86423 X509_PURPOSE_type(ptr), pnum)
 I2	  86424 #define sk_X509_PURPOSE_sort(sk) OPENSSL_sk_sort(ossl_check_X509_PURPOSE_sk_type(sk))
 I2	  86425 #define sk_X509_PURPOSE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_PURPOSE_sk_type(sk))
 I2	  86426 #define sk_X509_PURPOSE_dup(sk) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_dup(ossl_check_const_X509_PURPOSE_sk_type(sk))
 I2	  86426 )
 I2	  86427 #define sk_X509_PURPOSE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_deep_copy(ossl_check
 I2	  86427 _const_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_copyfunc_type(copyfunc), ossl_check_X509_PURPOSE_freefunc_t
 I2	  86427 ype(freefunc)))
 I2	  86428 #define sk_X509_PURPOSE_set_cmp_func(sk, cmp) ((sk_X509_PURPOSE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_PUR
 I2	  86428 POSE_sk_type(sk), ossl_check_X509_PURPOSE_compfunc_type(cmp)))
 I2	  86429 
 I2	  86430 
 I2	  86431 
 I2	  86432 # define X509_PURPOSE_SSL_CLIENT         1
 I2	  86433 # define X509_PURPOSE_SSL_SERVER         2
 I2	  86434 # define X509_PURPOSE_NS_SSL_SERVER      3
 I2	  86435 # define X509_PURPOSE_SMIME_SIGN         4
 I2	  86436 # define X509_PURPOSE_SMIME_ENCRYPT      5
 I2	  86437 # define X509_PURPOSE_CRL_SIGN           6
 I2	  86438 # define X509_PURPOSE_ANY                7
 I2	  86439 # define X509_PURPOSE_OCSP_HELPER        8
 I2	  86440 # define X509_PURPOSE_TIMESTAMP_SIGN     9
 I2	  86441 
 I2	  86442 # define X509_PURPOSE_MIN                1
 I2	  86443 # define X509_PURPOSE_MAX                9
 I2	  86444 
 I2	  86445 /* Flags for X509V3_EXT_print() */
 I2	  86446 
 I2	  86447 # define X509V3_EXT_UNKNOWN_MASK         (0xfL << 16)
 I2	  86448 /* Return error for unknown extensions */
 I2	  86449 # define X509V3_EXT_DEFAULT              0
 I2	  86450 /* Print error for unknown extensions */
 I2	  86451 # define X509V3_EXT_ERROR_UNKNOWN        (1L << 16)
 I2	  86452 /* ASN1 parse unknown extensions */
 I2	  86453 # define X509V3_EXT_PARSE_UNKNOWN        (2L << 16)
 I2	  86454 /* BIO_dump unknown extensions */
 I2	  86455 # define X509V3_EXT_DUMP_UNKNOWN         (3L << 16)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1605
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86456 
 I2	  86457 /* Flags for X509V3_add1_i2d */
 I2	  86458 
 I2	  86459 # define X509V3_ADD_OP_MASK              0xfL
 I2	  86460 # define X509V3_ADD_DEFAULT              0L
 I2	  86461 # define X509V3_ADD_APPEND               1L
 I2	  86462 # define X509V3_ADD_REPLACE              2L
 I2	  86463 # define X509V3_ADD_REPLACE_EXISTING     3L
 I2	  86464 # define X509V3_ADD_KEEP_EXISTING        4L
 I2	  86465 # define X509V3_ADD_DELETE               5L
 I2	  86466 # define X509V3_ADD_SILENT               0x10
 I2	  86467 
 I2	  86468 DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS)
       E	 extern BASIC_CONSTRAINTS * BASIC_CONSTRAINTS_new ( void ) ; extern void BASIC_CONSTRAINTS_free ( BASIC_CONSTRAINTS 
       E	* a ) ; extern BASIC_CONSTRAINTS * d2i_BASIC_CONSTRAINTS ( BASIC_CONSTRAINTS * * a , const unsigned char * * in , lo
       E	ng len ) ; extern int i2d_BASIC_CONSTRAINTS ( const BASIC_CONSTRAINTS * a , unsigned char * * out ) ; extern const A
       E	SN1_ITEM * BASIC_CONSTRAINTS_it ( void ) ;
 I2	  86469 
 I2	  86470 DECLARE_ASN1_FUNCTIONS(SXNET)
       E	 extern SXNET * SXNET_new ( void ) ; extern void SXNET_free ( SXNET * a ) ; extern SXNET * d2i_SXNET ( SXNET * * a ,
       E	 const unsigned char * * in , long len ) ; extern int i2d_SXNET ( const SXNET * a , unsigned char * * out ) ; extern
       E	 const ASN1_ITEM * SXNET_it ( void ) ;
 I2	  86471 DECLARE_ASN1_FUNCTIONS(SXNETID)
       E	 extern SXNETID * SXNETID_new ( void ) ; extern void SXNETID_free ( SXNETID * a ) ; extern SXNETID * d2i_SXNETID ( S
       E	XNETID * * a , const unsigned char * * in , long len ) ; extern int i2d_SXNETID ( const SXNETID * a , unsigned char 
       E	* * out ) ; extern const ASN1_ITEM * SXNETID_it ( void ) ;
 I2	  86472 
 I2	  86473 DECLARE_ASN1_FUNCTIONS(ISSUER_SIGN_TOOL)
       E	 extern ISSUER_SIGN_TOOL * ISSUER_SIGN_TOOL_new ( void ) ; extern void ISSUER_SIGN_TOOL_free ( ISSUER_SIGN_TOOL * a 
       E	) ; extern ISSUER_SIGN_TOOL * d2i_ISSUER_SIGN_TOOL ( ISSUER_SIGN_TOOL * * a , const unsigned char * * in , long len 
       E	) ; extern int i2d_ISSUER_SIGN_TOOL ( const ISSUER_SIGN_TOOL * a , unsigned char * * out ) ; extern const ASN1_ITEM 
       E	* ISSUER_SIGN_TOOL_it ( void ) ;
 I2	  86474 
 I2	  86475 int SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user, int userlen);
 I2	  86476 int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char *user,
 I2	  86477                        int userlen);
 I2	  86478 int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, const char *user,
 I2	  86479                          int userlen);
 I2	  86480 
 I2	  86481 ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, const char *zone);
 I2	  86482 ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone);
 I2	  86483 ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone);
 I2	  86484 
 I2	  86485 DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID)
       E	 extern AUTHORITY_KEYID * AUTHORITY_KEYID_new ( void ) ; extern void AUTHORITY_KEYID_free ( AUTHORITY_KEYID * a ) ; 
       E	extern AUTHORITY_KEYID * d2i_AUTHORITY_KEYID ( AUTHORITY_KEYID * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_AUTHORITY_KEYID ( const AUTHORITY_KEYID * a , unsigned char * * out ) ; extern const ASN1_ITEM * AUTHORI
       E	TY_KEYID_it ( void ) ;
 I2	  86486 
 I2	  86487 DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD)
       E	 extern PKEY_USAGE_PERIOD * PKEY_USAGE_PERIOD_new ( void ) ; extern void PKEY_USAGE_PERIOD_free ( PKEY_USAGE_PERIOD 
       E	* a ) ; extern PKEY_USAGE_PERIOD * d2i_PKEY_USAGE_PERIOD ( PKEY_USAGE_PERIOD * * a , const unsigned char * * in , lo
       E	ng len ) ; extern int i2d_PKEY_USAGE_PERIOD ( const PKEY_USAGE_PERIOD * a , unsigned char * * out ) ; extern const A
       E	SN1_ITEM * PKEY_USAGE_PERIOD_it ( void ) ;
 I2	  86488 
 I2	  86489 DECLARE_ASN1_FUNCTIONS(GENERAL_NAME)
       E	 extern GENERAL_NAME * GENERAL_NAME_new ( void ) ; extern void GENERAL_NAME_free ( GENERAL_NAME * a ) ; extern GENER

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1606
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

       E	AL_NAME * d2i_GENERAL_NAME ( GENERAL_NAME * * a , const unsigned char * * in , long len ) ; extern int i2d_GENERAL_N
       E	AME ( const GENERAL_NAME * a , unsigned char * * out ) ; extern const ASN1_ITEM * GENERAL_NAME_it ( void ) ;
 I2	  86490 DECLARE_ASN1_DUP_FUNCTION(GENERAL_NAME)
       E	 extern GENERAL_NAME * GENERAL_NAME_dup ( const GENERAL_NAME * a ) ;
 I2	  86491 int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b);
 I2	  86492 
 I2	  86493 ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
 I2	  86494                                      X509V3_CTX *ctx,
 I2	  86495                                      STACK_OF(CONF_VALUE) *nval);
       E	                                      struct stack_st_CONF_VALUE
 I2	  86496 STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
       E	 struct stack_st_CONF_VALUE
 I2	  86497                                           ASN1_BIT_STRING *bits,
 I2	  86498                                           STACK_OF(CONF_VALUE) *extlist);
       E	                                           struct stack_st_CONF_VALUE
 I2	  86499 char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5);
 I2	  86500 ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
 I2	  86501                                    X509V3_CTX *ctx, const char *str);
 I2	  86502 char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method, ASN1_UTF8STRING *utf8);
 I2	  86503 ASN1_UTF8STRING *s2i_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,
 I2	  86504                                    X509V3_CTX *ctx, const char *str);
 I2	  86505 
 I2	  86506 STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method,
       E	 struct stack_st_CONF_VALUE
 I2	  86507                                        GENERAL_NAME *gen,
 I2	  86508                                        STACK_OF(CONF_VALUE) *ret);
       E	                                        struct stack_st_CONF_VALUE
 I2	  86509 int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen);
 I2	  86510 
 I2	  86511 DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES)
       E	 extern GENERAL_NAMES * GENERAL_NAMES_new ( void ) ; extern void GENERAL_NAMES_free ( GENERAL_NAMES * a ) ; extern G
       E	ENERAL_NAMES * d2i_GENERAL_NAMES ( GENERAL_NAMES * * a , const unsigned char * * in , long len ) ; extern int i2d_GE
       E	NERAL_NAMES ( const GENERAL_NAMES * a , unsigned char * * out ) ; extern const ASN1_ITEM * GENERAL_NAMES_it ( void )
       E	 ;
 I2	  86512 
 I2	  86513 STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method,
       E	 struct stack_st_CONF_VALUE
 I2	  86514                                         GENERAL_NAMES *gen,
 I2	  86515                                         STACK_OF(CONF_VALUE) *extlist);
       E	                                         struct stack_st_CONF_VALUE
 I2	  86516 GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method,
 I2	  86517                                  X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
       E	                                                   struct stack_st_CONF_VALUE
 I2	  86518 
 I2	  86519 DECLARE_ASN1_FUNCTIONS(OTHERNAME)
       E	 extern OTHERNAME * OTHERNAME_new ( void ) ; extern void OTHERNAME_free ( OTHERNAME * a ) ; extern OTHERNAME * d2i_O
       E	THERNAME ( OTHERNAME * * a , const unsigned char * * in , long len ) ; extern int i2d_OTHERNAME ( const OTHERNAME * 
       E	a , unsigned char * * out ) ; extern const ASN1_ITEM * OTHERNAME_it ( void ) ;
 I2	  86520 DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME)
       E	 extern EDIPARTYNAME * EDIPARTYNAME_new ( void ) ; extern void EDIPARTYNAME_free ( EDIPARTYNAME * a ) ; extern EDIPA
       E	RTYNAME * d2i_EDIPARTYNAME ( EDIPARTYNAME * * a , const unsigned char * * in , long len ) ; extern int i2d_EDIPARTYN
       E	AME ( const EDIPARTYNAME * a , unsigned char * * out ) ; extern const ASN1_ITEM * EDIPARTYNAME_it ( void ) ;
 I2	  86521 int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b);
 I2	  86522 void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value);
 I2	  86523 void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype);
 I2	  86524 int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,
 I2	  86525                                 ASN1_OBJECT *oid, ASN1_TYPE *value);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1607
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86526 int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen,
 I2	  86527                                 ASN1_OBJECT **poid, ASN1_TYPE **pvalue);
 I2	  86528 
 I2	  86529 char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
 I2	  86530                             const ASN1_OCTET_STRING *ia5);
 I2	  86531 ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
 I2	  86532                                          X509V3_CTX *ctx, const char *str);
 I2	  86533 
 I2	  86534 DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
       E	 extern EXTENDED_KEY_USAGE * EXTENDED_KEY_USAGE_new ( void ) ; extern void EXTENDED_KEY_USAGE_free ( EXTENDED_KEY_US
       E	AGE * a ) ; extern EXTENDED_KEY_USAGE * d2i_EXTENDED_KEY_USAGE ( EXTENDED_KEY_USAGE * * a , const unsigned char * * 
       E	in , long len ) ; extern int i2d_EXTENDED_KEY_USAGE ( const EXTENDED_KEY_USAGE * a , unsigned char * * out ) ; exter
       E	n const ASN1_ITEM * EXTENDED_KEY_USAGE_it ( void ) ;
 I2	  86535 int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a);
 I2	  86536 
 I2	  86537 DECLARE_ASN1_ALLOC_FUNCTIONS(TLS_FEATURE)
       E	 extern TLS_FEATURE * TLS_FEATURE_new ( void ) ; extern void TLS_FEATURE_free ( TLS_FEATURE * a ) ;
 I2	  86538 
 I2	  86539 DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES)
       E	 extern CERTIFICATEPOLICIES * CERTIFICATEPOLICIES_new ( void ) ; extern void CERTIFICATEPOLICIES_free ( CERTIFICATEP
       E	OLICIES * a ) ; extern CERTIFICATEPOLICIES * d2i_CERTIFICATEPOLICIES ( CERTIFICATEPOLICIES * * a , const unsigned ch
       E	ar * * in , long len ) ; extern int i2d_CERTIFICATEPOLICIES ( const CERTIFICATEPOLICIES * a , unsigned char * * out 
       E	) ; extern const ASN1_ITEM * CERTIFICATEPOLICIES_it ( void ) ;
 I2	  86540 DECLARE_ASN1_FUNCTIONS(POLICYINFO)
       E	 extern POLICYINFO * POLICYINFO_new ( void ) ; extern void POLICYINFO_free ( POLICYINFO * a ) ; extern POLICYINFO * 
       E	d2i_POLICYINFO ( POLICYINFO * * a , const unsigned char * * in , long len ) ; extern int i2d_POLICYINFO ( const POLI
       E	CYINFO * a , unsigned char * * out ) ; extern const ASN1_ITEM * POLICYINFO_it ( void ) ;
 I2	  86541 DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO)
       E	 extern POLICYQUALINFO * POLICYQUALINFO_new ( void ) ; extern void POLICYQUALINFO_free ( POLICYQUALINFO * a ) ; exte
       E	rn POLICYQUALINFO * d2i_POLICYQUALINFO ( POLICYQUALINFO * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_POLICYQUALINFO ( const POLICYQUALINFO * a , unsigned char * * out ) ; extern const ASN1_ITEM * POLICYQUALINFO_i
       E	t ( void ) ;
 I2	  86542 DECLARE_ASN1_FUNCTIONS(USERNOTICE)
       E	 extern USERNOTICE * USERNOTICE_new ( void ) ; extern void USERNOTICE_free ( USERNOTICE * a ) ; extern USERNOTICE * 
       E	d2i_USERNOTICE ( USERNOTICE * * a , const unsigned char * * in , long len ) ; extern int i2d_USERNOTICE ( const USER
       E	NOTICE * a , unsigned char * * out ) ; extern const ASN1_ITEM * USERNOTICE_it ( void ) ;
 I2	  86543 DECLARE_ASN1_FUNCTIONS(NOTICEREF)
       E	 extern NOTICEREF * NOTICEREF_new ( void ) ; extern void NOTICEREF_free ( NOTICEREF * a ) ; extern NOTICEREF * d2i_N
       E	OTICEREF ( NOTICEREF * * a , const unsigned char * * in , long len ) ; extern int i2d_NOTICEREF ( const NOTICEREF * 
       E	a , unsigned char * * out ) ; extern const ASN1_ITEM * NOTICEREF_it ( void ) ;
 I2	  86544 
 I2	  86545 DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS)
       E	 extern CRL_DIST_POINTS * CRL_DIST_POINTS_new ( void ) ; extern void CRL_DIST_POINTS_free ( CRL_DIST_POINTS * a ) ; 
       E	extern CRL_DIST_POINTS * d2i_CRL_DIST_POINTS ( CRL_DIST_POINTS * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_CRL_DIST_POINTS ( const CRL_DIST_POINTS * a , unsigned char * * out ) ; extern const ASN1_ITEM * CRL_DIS
       E	T_POINTS_it ( void ) ;
 I2	  86546 DECLARE_ASN1_FUNCTIONS(DIST_POINT)
       E	 extern DIST_POINT * DIST_POINT_new ( void ) ; extern void DIST_POINT_free ( DIST_POINT * a ) ; extern DIST_POINT * 
       E	d2i_DIST_POINT ( DIST_POINT * * a , const unsigned char * * in , long len ) ; extern int i2d_DIST_POINT ( const DIST
       E	_POINT * a , unsigned char * * out ) ; extern const ASN1_ITEM * DIST_POINT_it ( void ) ;
 I2	  86547 DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME)
       E	 extern DIST_POINT_NAME * DIST_POINT_NAME_new ( void ) ; extern void DIST_POINT_NAME_free ( DIST_POINT_NAME * a ) ; 
       E	extern DIST_POINT_NAME * d2i_DIST_POINT_NAME ( DIST_POINT_NAME * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_DIST_POINT_NAME ( const DIST_POINT_NAME * a , unsigned char * * out ) ; extern const ASN1_ITEM * DIST_PO
       E	INT_NAME_it ( void ) ;
 I2	  86548 DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT)
       E	 extern ISSUING_DIST_POINT * ISSUING_DIST_POINT_new ( void ) ; extern void ISSUING_DIST_POINT_free ( ISSUING_DIST_PO

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1608
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

       E	INT * a ) ; extern ISSUING_DIST_POINT * d2i_ISSUING_DIST_POINT ( ISSUING_DIST_POINT * * a , const unsigned char * * 
       E	in , long len ) ; extern int i2d_ISSUING_DIST_POINT ( const ISSUING_DIST_POINT * a , unsigned char * * out ) ; exter
       E	n const ASN1_ITEM * ISSUING_DIST_POINT_it ( void ) ;
 I2	  86549 
 I2	  86550 int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, const X509_NAME *iname);
 I2	  86551 
 I2	  86552 int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc);
 I2	  86553 int NAME_CONSTRAINTS_check_CN(X509 *x, NAME_CONSTRAINTS *nc);
 I2	  86554 
 I2	  86555 DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION)
       E	 extern ACCESS_DESCRIPTION * ACCESS_DESCRIPTION_new ( void ) ; extern void ACCESS_DESCRIPTION_free ( ACCESS_DESCRIPT
       E	ION * a ) ; extern ACCESS_DESCRIPTION * d2i_ACCESS_DESCRIPTION ( ACCESS_DESCRIPTION * * a , const unsigned char * * 
       E	in , long len ) ; extern int i2d_ACCESS_DESCRIPTION ( const ACCESS_DESCRIPTION * a , unsigned char * * out ) ; exter
       E	n const ASN1_ITEM * ACCESS_DESCRIPTION_it ( void ) ;
 I2	  86556 DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS)
       E	 extern AUTHORITY_INFO_ACCESS * AUTHORITY_INFO_ACCESS_new ( void ) ; extern void AUTHORITY_INFO_ACCESS_free ( AUTHOR
       E	ITY_INFO_ACCESS * a ) ; extern AUTHORITY_INFO_ACCESS * d2i_AUTHORITY_INFO_ACCESS ( AUTHORITY_INFO_ACCESS * * a , con
       E	st unsigned char * * in , long len ) ; extern int i2d_AUTHORITY_INFO_ACCESS ( const AUTHORITY_INFO_ACCESS * a , unsi
       E	gned char * * out ) ; extern const ASN1_ITEM * AUTHORITY_INFO_ACCESS_it ( void ) ;
 I2	  86557 
 I2	  86558 DECLARE_ASN1_ITEM(POLICY_MAPPING)
       E	 extern const ASN1_ITEM * POLICY_MAPPING_it ( void ) ;
 I2	  86559 DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING)
       E	 extern POLICY_MAPPING * POLICY_MAPPING_new ( void ) ; extern void POLICY_MAPPING_free ( POLICY_MAPPING * a ) ;
 I2	  86560 DECLARE_ASN1_ITEM(POLICY_MAPPINGS)
       E	 extern const ASN1_ITEM * POLICY_MAPPINGS_it ( void ) ;
 I2	  86561 
 I2	  86562 DECLARE_ASN1_ITEM(GENERAL_SUBTREE)
       E	 extern const ASN1_ITEM * GENERAL_SUBTREE_it ( void ) ;
 I2	  86563 DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE)
       E	 extern GENERAL_SUBTREE * GENERAL_SUBTREE_new ( void ) ; extern void GENERAL_SUBTREE_free ( GENERAL_SUBTREE * a ) ;
 I2	  86564 
 I2	  86565 DECLARE_ASN1_ITEM(NAME_CONSTRAINTS)
       E	 extern const ASN1_ITEM * NAME_CONSTRAINTS_it ( void ) ;
 I2	  86566 DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS)
       E	 extern NAME_CONSTRAINTS * NAME_CONSTRAINTS_new ( void ) ; extern void NAME_CONSTRAINTS_free ( NAME_CONSTRAINTS * a 
       E	) ;
 I2	  86567 
 I2	  86568 DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)
       E	 extern POLICY_CONSTRAINTS * POLICY_CONSTRAINTS_new ( void ) ; extern void POLICY_CONSTRAINTS_free ( POLICY_CONSTRAI
       E	NTS * a ) ;
 I2	  86569 DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS)
       E	 extern const ASN1_ITEM * POLICY_CONSTRAINTS_it ( void ) ;
 I2	  86570 
 I2	  86571 GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out,
 I2	  86572                                const X509V3_EXT_METHOD *method,
 I2	  86573                                X509V3_CTX *ctx, int gen_type,
 I2	  86574                                const char *value, int is_nc);
 I2	  86575 
 I2	  86576 # ifdef OPENSSL_CONF_H
 I2	  86577 GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method,
 I2	  86578                                X509V3_CTX *ctx, CONF_VALUE *cnf);
 I2	  86579 GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out,
 I2	  86580                                   const X509V3_EXT_METHOD *method,
 I2	  86581                                   X509V3_CTX *ctx, CONF_VALUE *cnf,
 I2	  86582                                   int is_nc);
 I2	  86583 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1609
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86584 void X509V3_conf_free(CONF_VALUE *val);
 I2	  86585 
 I2	  86586 X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid,
 I2	  86587                                      const char *value);
 I2	  86588 X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const char *name,
 I2	  86589                                  const char *value);
 I2	  86590 int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char *section,
 I2	  86591                             STACK_OF(X509_EXTENSION) **sk);
       E	                             struct stack_st_X509_EXTENSION
 I2	  86592 int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,
 I2	  86593                          X509 *cert);
 I2	  86594 int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,
 I2	  86595                              X509_REQ *req);
 I2	  86596 int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,
 I2	  86597                              X509_CRL *crl);
 I2	  86598 
 I2	  86599 X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf,
       E	                                     struct lhash_st_CONF_VALUE
 I2	  86600                                     X509V3_CTX *ctx, int ext_nid,
 I2	  86601                                     const char *value);
 I2	  86602 X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
       E	                                 struct lhash_st_CONF_VALUE
 I2	  86603                                 const char *name, const char *value);
 I2	  86604 int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
       E	                         struct lhash_st_CONF_VALUE
 I2	  86605                         const char *section, X509 *cert);
 I2	  86606 int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
       E	                             struct lhash_st_CONF_VALUE
 I2	  86607                             const char *section, X509_REQ *req);
 I2	  86608 int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
       E	                             struct lhash_st_CONF_VALUE
 I2	  86609                             const char *section, X509_CRL *crl);
 I2	  86610 
 I2	  86611 int X509V3_add_value_bool_nf(const char *name, int asn1_bool,
 I2	  86612                              STACK_OF(CONF_VALUE) **extlist);
       E	                              struct stack_st_CONF_VALUE
 I2	  86613 int X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool);
 I2	  86614 int X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint);
 I2	  86615 void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf);
 I2	  86616 void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash);
       E	                                             struct lhash_st_CONF_VALUE
 I2	  86617 # endif
 I2	  86618 
 I2	  86619 char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char *section);
 I2	  86620 STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, const char *section);
       E	 struct stack_st_CONF_VALUE
 I2	  86621 void X509V3_string_free(X509V3_CTX *ctx, char *str);
 I2	  86622 void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section);
       E	                                           struct stack_st_CONF_VALUE
 I2	  86623 void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject,
 I2	  86624                     X509_REQ *req, X509_CRL *crl, int flags);
 I2	  86625 /* For API backward compatibility, this is separate from X509V3_set_ctx(): */
 I2	  86626 int X509V3_set_issuer_pkey(X509V3_CTX *ctx, EVP_PKEY *pkey);
 I2	  86627 
 I2	  86628 int X509V3_add_value(const char *name, const char *value,
 I2	  86629                      STACK_OF(CONF_VALUE) **extlist);
       E	                      struct stack_st_CONF_VALUE

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1610
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86630 int X509V3_add_value_uchar(const char *name, const unsigned char *value,
 I2	  86631                            STACK_OF(CONF_VALUE) **extlist);
       E	                            struct stack_st_CONF_VALUE
 I2	  86632 int X509V3_add_value_bool(const char *name, int asn1_bool,
 I2	  86633                           STACK_OF(CONF_VALUE) **extlist);
       E	                           struct stack_st_CONF_VALUE
 I2	  86634 int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint,
 I2	  86635                          STACK_OF(CONF_VALUE) **extlist);
       E	                          struct stack_st_CONF_VALUE
 I2	  86636 char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const ASN1_INTEGER *aint);
 I2	  86637 ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const char *value);
 I2	  86638 char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, const ASN1_ENUMERATED *aint);
 I2	  86639 char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth,
 I2	  86640                                 const ASN1_ENUMERATED *aint);
 I2	  86641 int X509V3_EXT_add(X509V3_EXT_METHOD *ext);
 I2	  86642 int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist);
 I2	  86643 int X509V3_EXT_add_alias(int nid_to, int nid_from);
 I2	  86644 void X509V3_EXT_cleanup(void);
 I2	  86645 
 I2	  86646 const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext);
 I2	  86647 const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid);
 I2	  86648 int X509V3_add_standard_extensions(void);
 I2	  86649 STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line);
       E	 struct stack_st_CONF_VALUE
 I2	  86650 void *X509V3_EXT_d2i(X509_EXTENSION *ext);
 I2	  86651 void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit,
       E	                            struct stack_st_X509_EXTENSION
 I2	  86652                      int *idx);
 I2	  86653 
 I2	  86654 X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc);
 I2	  86655 int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value,
       E	                     struct stack_st_X509_EXTENSION
 I2	  86656                     int crit, unsigned long flags);
 I2	  86657 
 I2	  86658 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  86659 /* The new declarations are in crypto.h, but the old ones were here. */
 I2	  86660 # define hex_to_string OPENSSL_buf2hexstr
 I2	  86661 # define string_to_hex OPENSSL_hexstr2buf
 I2	  86662 #endif
 I2	  86663 
 I2	  86664 void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent,
       E	                                   struct stack_st_CONF_VALUE
 I2	  86665                         int ml);
 I2	  86666 int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag,
 I2	  86667                      int indent);
 I2	  86668 #ifndef OPENSSL_NO_STDIO
 I2	  86669 int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent);
 I2	  86670 #endif
 I2	  86671 int X509V3_extensions_print(BIO *out, const char *title,
 I2	  86672                             const STACK_OF(X509_EXTENSION) *exts,
       E	                                   struct stack_st_X509_EXTENSION
 I2	  86673                             unsigned long flag, int indent);
 I2	  86674 
 I2	  86675 int X509_check_ca(X509 *x);
 I2	  86676 int X509_check_purpose(X509 *x, int id, int ca);
 I2	  86677 int X509_supported_extension(X509_EXTENSION *ex);
 I2	  86678 int X509_PURPOSE_set(int *p, int purpose);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1611
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86679 int X509_check_issued(X509 *issuer, X509 *subject);
 I2	  86680 int X509_check_akid(const X509 *issuer, const AUTHORITY_KEYID *akid);
 I2	  86681 void X509_set_proxy_flag(X509 *x);
 I2	  86682 void X509_set_proxy_pathlen(X509 *x, long l);
 I2	  86683 long X509_get_proxy_pathlen(X509 *x);
 I2	  86684 
 I2	  86685 uint32_t X509_get_extension_flags(X509 *x);
 I2	  86686 uint32_t X509_get_key_usage(X509 *x);
 I2	  86687 uint32_t X509_get_extended_key_usage(X509 *x);
 I2	  86688 const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x);
 I2	  86689 const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x);
 I2	  86690 const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x);
 I2	  86691 const ASN1_INTEGER *X509_get0_authority_serial(X509 *x);
 I2	  86692 
 I2	  86693 int X509_PURPOSE_get_count(void);
 I2	  86694 X509_PURPOSE *X509_PURPOSE_get0(int idx);
 I2	  86695 int X509_PURPOSE_get_by_sname(const char *sname);
 I2	  86696 int X509_PURPOSE_get_by_id(int id);
 I2	  86697 int X509_PURPOSE_add(int id, int trust, int flags,
 I2	  86698                      int (*ck) (const X509_PURPOSE *, const X509 *, int),
 I2	  86699                      const char *name, const char *sname, void *arg);
 I2	  86700 char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp);
 I2	  86701 char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp);
 I2	  86702 int X509_PURPOSE_get_trust(const X509_PURPOSE *xp);
 I2	  86703 void X509_PURPOSE_cleanup(void);
 I2	  86704 int X509_PURPOSE_get_id(const X509_PURPOSE *);
 I2	  86705 
 I2	  86706 STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x);
       E	 struct stack_st_OPENSSL_STRING
 I2	  86707 STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x);
       E	 struct stack_st_OPENSSL_STRING
 I2	  86708 void X509_email_free(STACK_OF(OPENSSL_STRING) *sk);
       E	                      struct stack_st_OPENSSL_STRING
 I2	  86709 STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x);
       E	 struct stack_st_OPENSSL_STRING
 I2	  86710 /* Flags for X509_check_* functions */
 I2	  86711 
 I2	  86712 /*
 I2	  86713  * Always check subject name for host match even if subject alt names present
 I2	  86714  */
 I2	  86715 # define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT    0x1
 I2	  86716 /* Disable wildcard matching for dnsName fields and common name. */
 I2	  86717 # define X509_CHECK_FLAG_NO_WILDCARDS    0x2
 I2	  86718 /* Wildcards must not match a partial label. */
 I2	  86719 # define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4
 I2	  86720 /* Allow (non-partial) wildcards to match multiple labels. */
 I2	  86721 # define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8
 I2	  86722 /* Constraint verifier subdomain patterns to match a single labels. */
 I2	  86723 # define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10
 I2	  86724 /* Never check the subject CN */
 I2	  86725 # define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT    0x20
 I2	  86726 /*
 I2	  86727  * Match reference identifiers starting with "." to any sub-domain.
 I2	  86728  * This is a non-public flag, turned on implicitly when the subject
 I2	  86729  * reference identity is a DNS name.
 I2	  86730  */
 I2	  86731 # define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1612
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86732 
 I2	  86733 int X509_check_host(X509 *x, const char *chk, size_t chklen,
 I2	  86734                     unsigned int flags, char **peername);
 I2	  86735 int X509_check_email(X509 *x, const char *chk, size_t chklen,
 I2	  86736                      unsigned int flags);
 I2	  86737 int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,
 I2	  86738                   unsigned int flags);
 I2	  86739 int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags);
 I2	  86740 
 I2	  86741 ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc);
 I2	  86742 ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc);
 I2	  86743 int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk,
       E	                                             struct stack_st_CONF_VALUE
 I2	  86744                              unsigned long chtype);
 I2	  86745 
 I2	  86746 void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent);
 I2   1	  86747 SKM_DEFINE_STACK_OF_INTERNAL(X509_POLICY_NODE, X509_POLICY_NODE, X509_POLICY_NODE)
       E	 struct stack_st_X509_POLICY_NODE ; typedef int ( * sk_X509_POLICY_NODE_compfunc ) ( const X509_POLICY_NODE * const 
       E	* a , const X509_POLICY_NODE * const * b ) ; typedef void ( * sk_X509_POLICY_NODE_freefunc ) ( X509_POLICY_NODE * a 
       E	) ; typedef X509_POLICY_NODE * ( * sk_X509_POLICY_NODE_copyfunc ) ( const X509_POLICY_NODE * a ) ; static __inline X
       E	509_POLICY_NODE * ossl_check_X509_POLICY_NODE_type ( X509_POLICY_NODE * ptr ) { return ptr ; } static __inline const
       E	 OPENSSL_STACK * ossl_check_const_X509_POLICY_NODE_sk_type ( const struct stack_st_X509_POLICY_NODE * sk ) { return 
       E	( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_X509_POLICY_NODE_sk_type ( struct stack_
       E	st_X509_POLICY_NODE * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_X509_P
       E	OLICY_NODE_compfunc_type ( sk_X509_POLICY_NODE_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inli
       E	ne OPENSSL_sk_copyfunc ossl_check_X509_POLICY_NODE_copyfunc_type ( sk_X509_POLICY_NODE_copyfunc cpy ) { return ( OPE
       E	NSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_X509_POLICY_NODE_freefunc_type ( sk_X509_P
       E	OLICY_NODE_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86748 #define sk_X509_POLICY_NODE_num(sk) OPENSSL_sk_num(ossl_check_const_X509_POLICY_NODE_sk_type(sk))
 I2	  86749 #define sk_X509_POLICY_NODE_value(sk, idx) ((X509_POLICY_NODE *)OPENSSL_sk_value(ossl_check_const_X509_POLICY_NODE_s
 I2	  86749 k_type(sk), (idx)))
 I2	  86750 #define sk_X509_POLICY_NODE_new(cmp) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new(ossl_check_X509_POLICY_NODE_compf
 I2	  86750 unc_type(cmp)))
 I2	  86751 #define sk_X509_POLICY_NODE_new_null() ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new_null())
 I2	  86752 #define sk_X509_POLICY_NODE_new_reserve(cmp, n) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new_reserve(ossl_check_X50
 I2	  86752 9_POLICY_NODE_compfunc_type(cmp), (n)))
 I2	  86753 #define sk_X509_POLICY_NODE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_POLICY_NODE_sk_type(sk), (n))
 I2	  86754 #define sk_X509_POLICY_NODE_free(sk) OPENSSL_sk_free(ossl_check_X509_POLICY_NODE_sk_type(sk))
 I2	  86755 #define sk_X509_POLICY_NODE_zero(sk) OPENSSL_sk_zero(ossl_check_X509_POLICY_NODE_sk_type(sk))
 I2	  86756 #define sk_X509_POLICY_NODE_delete(sk, i) ((X509_POLICY_NODE *)OPENSSL_sk_delete(ossl_check_X509_POLICY_NODE_sk_type
 I2	  86756 (sk), (i)))
 I2	  86757 #define sk_X509_POLICY_NODE_delete_ptr(sk, ptr) ((X509_POLICY_NODE *)OPENSSL_sk_delete_ptr(ossl_check_X509_POLICY_NO
 I2	  86757 DE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr)))
 I2	  86758 #define sk_X509_POLICY_NODE_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_P
 I2	  86758 OLICY_NODE_type(ptr))
 I2	  86759 #define sk_X509_POLICY_NODE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_
 I2	  86759 X509_POLICY_NODE_type(ptr))
 I2	  86760 #define sk_X509_POLICY_NODE_pop(sk) ((X509_POLICY_NODE *)OPENSSL_sk_pop(ossl_check_X509_POLICY_NODE_sk_type(sk)))
 I2	  86761 #define sk_X509_POLICY_NODE_shift(sk) ((X509_POLICY_NODE *)OPENSSL_sk_shift(ossl_check_X509_POLICY_NODE_sk_type(sk))
 I2	  86761 )
 I2	  86762 #define sk_X509_POLICY_NODE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_POLICY_NODE_sk_type(sk),ossl_
 I2	  86762 check_X509_POLICY_NODE_freefunc_type(freefunc))
 I2	  86763 #define sk_X509_POLICY_NODE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_che
 I2	  86763 ck_X509_POLICY_NODE_type(ptr), (idx))
 I2	  86764 #define sk_X509_POLICY_NODE_set(sk, idx, ptr) ((X509_POLICY_NODE *)OPENSSL_sk_set(ossl_check_X509_POLICY_NODE_sk_typ
 I2	  86764 e(sk), (idx), ossl_check_X509_POLICY_NODE_type(ptr)))
 I2	  86765 #define sk_X509_POLICY_NODE_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_P

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1613
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86765 OLICY_NODE_type(ptr))
 I2	  86766 #define sk_X509_POLICY_NODE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_
 I2	  86766 X509_POLICY_NODE_type(ptr))
 I2	  86767 #define sk_X509_POLICY_NODE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_POLICY_NODE_sk_type(sk), oss
 I2	  86767 l_check_X509_POLICY_NODE_type(ptr), pnum)
 I2	  86768 #define sk_X509_POLICY_NODE_sort(sk) OPENSSL_sk_sort(ossl_check_X509_POLICY_NODE_sk_type(sk))
 I2	  86769 #define sk_X509_POLICY_NODE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_POLICY_NODE_sk_type(sk))
 I2	  86770 #define sk_X509_POLICY_NODE_dup(sk) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_dup(ossl_check_const_X509_POLICY_NODE_
 I2	  86770 sk_type(sk)))
 I2	  86771 #define sk_X509_POLICY_NODE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_deep_copy(os
 I2	  86771 sl_check_const_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_copyfunc_type(copyfunc), ossl_check_X509_PO
 I2	  86771 LICY_NODE_freefunc_type(freefunc)))
 I2	  86772 #define sk_X509_POLICY_NODE_set_cmp_func(sk, cmp) ((sk_X509_POLICY_NODE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_
 I2	  86772 X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_compfunc_type(cmp)))
 I2	  86773 
 I2	  86774 
 I2	  86775 
 I2	  86776 #ifndef OPENSSL_NO_RFC3779
 I2	  86777 typedef struct ASRange_st {
 I2	  86778     ASN1_INTEGER *min, *max;
 I2	  86779 } ASRange;
 I2	  86780 
 I2	  86781 # define ASIdOrRange_id          0
 I2	  86782 # define ASIdOrRange_range       1
 I2	  86783 
 I2	  86784 typedef struct ASIdOrRange_st {
 I2	  86785     int type;
 I2	  86786     union {
 I2	  86787         ASN1_INTEGER *id;
 I2	  86788         ASRange *range;
 I2	  86789     } u;
 I2	  86790 } ASIdOrRange;
 I2	  86791 
 I2   1	  86792 SKM_DEFINE_STACK_OF_INTERNAL(ASIdOrRange, ASIdOrRange, ASIdOrRange)
       E	 struct stack_st_ASIdOrRange ; typedef int ( * sk_ASIdOrRange_compfunc ) ( const ASIdOrRange * const * a , const ASI
       E	dOrRange * const * b ) ; typedef void ( * sk_ASIdOrRange_freefunc ) ( ASIdOrRange * a ) ; typedef ASIdOrRange * ( * 
       E	sk_ASIdOrRange_copyfunc ) ( const ASIdOrRange * a ) ; static __inline ASIdOrRange * ossl_check_ASIdOrRange_type ( AS
       E	IdOrRange * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_ASIdOrRange_sk_type ( cons
       E	t struct stack_st_ASIdOrRange * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_
       E	check_ASIdOrRange_sk_type ( struct stack_st_ASIdOrRange * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline O
       E	PENSSL_sk_compfunc ossl_check_ASIdOrRange_compfunc_type ( sk_ASIdOrRange_compfunc cmp ) { return ( OPENSSL_sk_compfu
       E	nc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_ASIdOrRange_copyfunc_type ( sk_ASIdOrRange_copyfunc cpy 
       E	) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_ASIdOrRange_freefunc_type 
       E	( sk_ASIdOrRange_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86793 #define sk_ASIdOrRange_num(sk) OPENSSL_sk_num(ossl_check_const_ASIdOrRange_sk_type(sk))
 I2	  86794 #define sk_ASIdOrRange_value(sk, idx) ((ASIdOrRange *)OPENSSL_sk_value(ossl_check_const_ASIdOrRange_sk_type(sk), (id
 I2	  86794 x)))
 I2	  86795 #define sk_ASIdOrRange_new(cmp) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new(ossl_check_ASIdOrRange_compfunc_type(cmp)))
 I2	  86796 #define sk_ASIdOrRange_new_null() ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new_null())
 I2	  86797 #define sk_ASIdOrRange_new_reserve(cmp, n) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new_reserve(ossl_check_ASIdOrRange_c
 I2	  86797 ompfunc_type(cmp), (n)))
 I2	  86798 #define sk_ASIdOrRange_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASIdOrRange_sk_type(sk), (n))
 I2	  86799 #define sk_ASIdOrRange_free(sk) OPENSSL_sk_free(ossl_check_ASIdOrRange_sk_type(sk))
 I2	  86800 #define sk_ASIdOrRange_zero(sk) OPENSSL_sk_zero(ossl_check_ASIdOrRange_sk_type(sk))
 I2	  86801 #define sk_ASIdOrRange_delete(sk, i) ((ASIdOrRange *)OPENSSL_sk_delete(ossl_check_ASIdOrRange_sk_type(sk), (i)))
 I2	  86802 #define sk_ASIdOrRange_delete_ptr(sk, ptr) ((ASIdOrRange *)OPENSSL_sk_delete_ptr(ossl_check_ASIdOrRange_sk_type(sk),
 I2	  86802  ossl_check_ASIdOrRange_type(ptr)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1614
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86803 #define sk_ASIdOrRange_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type
 I2	  86803 (ptr))
 I2	  86804 #define sk_ASIdOrRange_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRang
 I2	  86804 e_type(ptr))
 I2	  86805 #define sk_ASIdOrRange_pop(sk) ((ASIdOrRange *)OPENSSL_sk_pop(ossl_check_ASIdOrRange_sk_type(sk)))
 I2	  86806 #define sk_ASIdOrRange_shift(sk) ((ASIdOrRange *)OPENSSL_sk_shift(ossl_check_ASIdOrRange_sk_type(sk)))
 I2	  86807 #define sk_ASIdOrRange_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASIdOrRange_sk_type(sk),ossl_check_ASId
 I2	  86807 OrRange_freefunc_type(freefunc))
 I2	  86808 #define sk_ASIdOrRange_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrR
 I2	  86808 ange_type(ptr), (idx))
 I2	  86809 #define sk_ASIdOrRange_set(sk, idx, ptr) ((ASIdOrRange *)OPENSSL_sk_set(ossl_check_ASIdOrRange_sk_type(sk), (idx), o
 I2	  86809 ssl_check_ASIdOrRange_type(ptr)))
 I2	  86810 #define sk_ASIdOrRange_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type
 I2	  86810 (ptr))
 I2	  86811 #define sk_ASIdOrRange_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRang
 I2	  86811 e_type(ptr))
 I2	  86812 #define sk_ASIdOrRange_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_AS
 I2	  86812 IdOrRange_type(ptr), pnum)
 I2	  86813 #define sk_ASIdOrRange_sort(sk) OPENSSL_sk_sort(ossl_check_ASIdOrRange_sk_type(sk))
 I2	  86814 #define sk_ASIdOrRange_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASIdOrRange_sk_type(sk))
 I2	  86815 #define sk_ASIdOrRange_dup(sk) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_dup(ossl_check_const_ASIdOrRange_sk_type(sk)))
 I2	  86816 #define sk_ASIdOrRange_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_deep_copy(ossl_check_c
 I2	  86816 onst_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_copyfunc_type(copyfunc), ossl_check_ASIdOrRange_freefunc_type(f
 I2	  86816 reefunc)))
 I2	  86817 #define sk_ASIdOrRange_set_cmp_func(sk, cmp) ((sk_ASIdOrRange_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASIdOrRang
 I2	  86817 e_sk_type(sk), ossl_check_ASIdOrRange_compfunc_type(cmp)))
 I2	  86818 
 I2	  86819 
 I2	  86820 typedef STACK_OF(ASIdOrRange) ASIdOrRanges;
       E	         struct stack_st_ASIdOrRange
 I2	  86821 
 I2	  86822 # define ASIdentifierChoice_inherit              0
 I2	  86823 # define ASIdentifierChoice_asIdsOrRanges        1
 I2	  86824 
 I2	  86825 typedef struct ASIdentifierChoice_st {
 I2	  86826     int type;
 I2	  86827     union {
 I2	  86828         ASN1_NULL *inherit;
 I2	  86829         ASIdOrRanges *asIdsOrRanges;
 I2	  86830     } u;
 I2	  86831 } ASIdentifierChoice;
 I2	  86832 
 I2	  86833 typedef struct ASIdentifiers_st {
 I2	  86834     ASIdentifierChoice *asnum, *rdi;
 I2	  86835 } ASIdentifiers;
 I2	  86836 
 I2	  86837 DECLARE_ASN1_FUNCTIONS(ASRange)
       E	 extern ASRange * ASRange_new ( void ) ; extern void ASRange_free ( ASRange * a ) ; extern ASRange * d2i_ASRange ( A
       E	SRange * * a , const unsigned char * * in , long len ) ; extern int i2d_ASRange ( const ASRange * a , unsigned char 
       E	* * out ) ; extern const ASN1_ITEM * ASRange_it ( void ) ;
 I2	  86838 DECLARE_ASN1_FUNCTIONS(ASIdOrRange)
       E	 extern ASIdOrRange * ASIdOrRange_new ( void ) ; extern void ASIdOrRange_free ( ASIdOrRange * a ) ; extern ASIdOrRan
       E	ge * d2i_ASIdOrRange ( ASIdOrRange * * a , const unsigned char * * in , long len ) ; extern int i2d_ASIdOrRange ( co
       E	nst ASIdOrRange * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASIdOrRange_it ( void ) ;
 I2	  86839 DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice)
       E	 extern ASIdentifierChoice * ASIdentifierChoice_new ( void ) ; extern void ASIdentifierChoice_free ( ASIdentifierCho
       E	ice * a ) ; extern ASIdentifierChoice * d2i_ASIdentifierChoice ( ASIdentifierChoice * * a , const unsigned char * * 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1615
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

       E	in , long len ) ; extern int i2d_ASIdentifierChoice ( const ASIdentifierChoice * a , unsigned char * * out ) ; exter
       E	n const ASN1_ITEM * ASIdentifierChoice_it ( void ) ;
 I2	  86840 DECLARE_ASN1_FUNCTIONS(ASIdentifiers)
       E	 extern ASIdentifiers * ASIdentifiers_new ( void ) ; extern void ASIdentifiers_free ( ASIdentifiers * a ) ; extern A
       E	SIdentifiers * d2i_ASIdentifiers ( ASIdentifiers * * a , const unsigned char * * in , long len ) ; extern int i2d_AS
       E	Identifiers ( const ASIdentifiers * a , unsigned char * * out ) ; extern const ASN1_ITEM * ASIdentifiers_it ( void )
       E	 ;
 I2	  86841 
 I2	  86842 typedef struct IPAddressRange_st {
 I2	  86843     ASN1_BIT_STRING *min, *max;
 I2	  86844 } IPAddressRange;
 I2	  86845 
 I2	  86846 # define IPAddressOrRange_addressPrefix  0
 I2	  86847 # define IPAddressOrRange_addressRange   1
 I2	  86848 
 I2	  86849 typedef struct IPAddressOrRange_st {
 I2	  86850     int type;
 I2	  86851     union {
 I2	  86852         ASN1_BIT_STRING *addressPrefix;
 I2	  86853         IPAddressRange *addressRange;
 I2	  86854     } u;
 I2	  86855 } IPAddressOrRange;
 I2	  86856 
 I2   1	  86857 SKM_DEFINE_STACK_OF_INTERNAL(IPAddressOrRange, IPAddressOrRange, IPAddressOrRange)
       E	 struct stack_st_IPAddressOrRange ; typedef int ( * sk_IPAddressOrRange_compfunc ) ( const IPAddressOrRange * const 
       E	* a , const IPAddressOrRange * const * b ) ; typedef void ( * sk_IPAddressOrRange_freefunc ) ( IPAddressOrRange * a 
       E	) ; typedef IPAddressOrRange * ( * sk_IPAddressOrRange_copyfunc ) ( const IPAddressOrRange * a ) ; static __inline I
       E	PAddressOrRange * ossl_check_IPAddressOrRange_type ( IPAddressOrRange * ptr ) { return ptr ; } static __inline const
       E	 OPENSSL_STACK * ossl_check_const_IPAddressOrRange_sk_type ( const struct stack_st_IPAddressOrRange * sk ) { return 
       E	( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_IPAddressOrRange_sk_type ( struct stack_
       E	st_IPAddressOrRange * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_IPAddr
       E	essOrRange_compfunc_type ( sk_IPAddressOrRange_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inli
       E	ne OPENSSL_sk_copyfunc ossl_check_IPAddressOrRange_copyfunc_type ( sk_IPAddressOrRange_copyfunc cpy ) { return ( OPE
       E	NSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_IPAddressOrRange_freefunc_type ( sk_IPAddr
       E	essOrRange_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86858 #define sk_IPAddressOrRange_num(sk) OPENSSL_sk_num(ossl_check_const_IPAddressOrRange_sk_type(sk))
 I2	  86859 #define sk_IPAddressOrRange_value(sk, idx) ((IPAddressOrRange *)OPENSSL_sk_value(ossl_check_const_IPAddressOrRange_s
 I2	  86859 k_type(sk), (idx)))
 I2	  86860 #define sk_IPAddressOrRange_new(cmp) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_new(ossl_check_IPAddressOrRange_compf
 I2	  86860 unc_type(cmp)))
 I2	  86861 #define sk_IPAddressOrRange_new_null() ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_new_null())
 I2	  86862 #define sk_IPAddressOrRange_new_reserve(cmp, n) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_new_reserve(ossl_check_IPA
 I2	  86862 ddressOrRange_compfunc_type(cmp), (n)))
 I2	  86863 #define sk_IPAddressOrRange_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_IPAddressOrRange_sk_type(sk), (n))
 I2	  86864 #define sk_IPAddressOrRange_free(sk) OPENSSL_sk_free(ossl_check_IPAddressOrRange_sk_type(sk))
 I2	  86865 #define sk_IPAddressOrRange_zero(sk) OPENSSL_sk_zero(ossl_check_IPAddressOrRange_sk_type(sk))
 I2	  86866 #define sk_IPAddressOrRange_delete(sk, i) ((IPAddressOrRange *)OPENSSL_sk_delete(ossl_check_IPAddressOrRange_sk_type
 I2	  86866 (sk), (i)))
 I2	  86867 #define sk_IPAddressOrRange_delete_ptr(sk, ptr) ((IPAddressOrRange *)OPENSSL_sk_delete_ptr(ossl_check_IPAddressOrRan
 I2	  86867 ge_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr)))
 I2	  86868 #define sk_IPAddressOrRange_push(sk, ptr) OPENSSL_sk_push(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddr
 I2	  86868 essOrRange_type(ptr))
 I2	  86869 #define sk_IPAddressOrRange_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_
 I2	  86869 IPAddressOrRange_type(ptr))
 I2	  86870 #define sk_IPAddressOrRange_pop(sk) ((IPAddressOrRange *)OPENSSL_sk_pop(ossl_check_IPAddressOrRange_sk_type(sk)))
 I2	  86871 #define sk_IPAddressOrRange_shift(sk) ((IPAddressOrRange *)OPENSSL_sk_shift(ossl_check_IPAddressOrRange_sk_type(sk))
 I2	  86871 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1616
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86872 #define sk_IPAddressOrRange_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_IPAddressOrRange_sk_type(sk),ossl_
 I2	  86872 check_IPAddressOrRange_freefunc_type(freefunc))
 I2	  86873 #define sk_IPAddressOrRange_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_IPAddressOrRange_sk_type(sk), ossl_che
 I2	  86873 ck_IPAddressOrRange_type(ptr), (idx))
 I2	  86874 #define sk_IPAddressOrRange_set(sk, idx, ptr) ((IPAddressOrRange *)OPENSSL_sk_set(ossl_check_IPAddressOrRange_sk_typ
 I2	  86874 e(sk), (idx), ossl_check_IPAddressOrRange_type(ptr)))
 I2	  86875 #define sk_IPAddressOrRange_find(sk, ptr) OPENSSL_sk_find(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddr
 I2	  86875 essOrRange_type(ptr))
 I2	  86876 #define sk_IPAddressOrRange_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_
 I2	  86876 IPAddressOrRange_type(ptr))
 I2	  86877 #define sk_IPAddressOrRange_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_IPAddressOrRange_sk_type(sk), oss
 I2	  86877 l_check_IPAddressOrRange_type(ptr), pnum)
 I2	  86878 #define sk_IPAddressOrRange_sort(sk) OPENSSL_sk_sort(ossl_check_IPAddressOrRange_sk_type(sk))
 I2	  86879 #define sk_IPAddressOrRange_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_IPAddressOrRange_sk_type(sk))
 I2	  86880 #define sk_IPAddressOrRange_dup(sk) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_dup(ossl_check_const_IPAddressOrRange_
 I2	  86880 sk_type(sk)))
 I2	  86881 #define sk_IPAddressOrRange_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_deep_copy(os
 I2	  86881 sl_check_const_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_copyfunc_type(copyfunc), ossl_check_IPAddre
 I2	  86881 ssOrRange_freefunc_type(freefunc)))
 I2	  86882 #define sk_IPAddressOrRange_set_cmp_func(sk, cmp) ((sk_IPAddressOrRange_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_
 I2	  86882 IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_compfunc_type(cmp)))
 I2	  86883 
 I2	  86884 
 I2	  86885 typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges;
       E	         struct stack_st_IPAddressOrRange
 I2	  86886 
 I2	  86887 # define IPAddressChoice_inherit                 0
 I2	  86888 # define IPAddressChoice_addressesOrRanges       1
 I2	  86889 
 I2	  86890 typedef struct IPAddressChoice_st {
 I2	  86891     int type;
 I2	  86892     union {
 I2	  86893         ASN1_NULL *inherit;
 I2	  86894         IPAddressOrRanges *addressesOrRanges;
 I2	  86895     } u;
 I2	  86896 } IPAddressChoice;
 I2	  86897 
 I2	  86898 typedef struct IPAddressFamily_st {
 I2	  86899     ASN1_OCTET_STRING *addressFamily;
 I2	  86900     IPAddressChoice *ipAddressChoice;
 I2	  86901 } IPAddressFamily;
 I2	  86902 
 I2   1	  86903 SKM_DEFINE_STACK_OF_INTERNAL(IPAddressFamily, IPAddressFamily, IPAddressFamily)
       E	 struct stack_st_IPAddressFamily ; typedef int ( * sk_IPAddressFamily_compfunc ) ( const IPAddressFamily * const * a
       E	 , const IPAddressFamily * const * b ) ; typedef void ( * sk_IPAddressFamily_freefunc ) ( IPAddressFamily * a ) ; ty
       E	pedef IPAddressFamily * ( * sk_IPAddressFamily_copyfunc ) ( const IPAddressFamily * a ) ; static __inline IPAddressF
       E	amily * ossl_check_IPAddressFamily_type ( IPAddressFamily * ptr ) { return ptr ; } static __inline const OPENSSL_STA
       E	CK * ossl_check_const_IPAddressFamily_sk_type ( const struct stack_st_IPAddressFamily * sk ) { return ( const OPENSS
       E	L_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_IPAddressFamily_sk_type ( struct stack_st_IPAddressFam
       E	ily * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_IPAddressFamily_compfu
       E	nc_type ( sk_IPAddressFamily_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copy
       E	func ossl_check_IPAddressFamily_copyfunc_type ( sk_IPAddressFamily_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) c
       E	py ; } static __inline OPENSSL_sk_freefunc ossl_check_IPAddressFamily_freefunc_type ( sk_IPAddressFamily_freefunc fr
       E	 ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  86904 #define sk_IPAddressFamily_num(sk) OPENSSL_sk_num(ossl_check_const_IPAddressFamily_sk_type(sk))
 I2	  86905 #define sk_IPAddressFamily_value(sk, idx) ((IPAddressFamily *)OPENSSL_sk_value(ossl_check_const_IPAddressFamily_sk_t
 I2	  86905 ype(sk), (idx)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1617
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86906 #define sk_IPAddressFamily_new(cmp) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_new(ossl_check_IPAddressFamily_compfunc
 I2	  86906 _type(cmp)))
 I2	  86907 #define sk_IPAddressFamily_new_null() ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_new_null())
 I2	  86908 #define sk_IPAddressFamily_new_reserve(cmp, n) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_new_reserve(ossl_check_IPAdd
 I2	  86908 ressFamily_compfunc_type(cmp), (n)))
 I2	  86909 #define sk_IPAddressFamily_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_IPAddressFamily_sk_type(sk), (n))
 I2	  86910 #define sk_IPAddressFamily_free(sk) OPENSSL_sk_free(ossl_check_IPAddressFamily_sk_type(sk))
 I2	  86911 #define sk_IPAddressFamily_zero(sk) OPENSSL_sk_zero(ossl_check_IPAddressFamily_sk_type(sk))
 I2	  86912 #define sk_IPAddressFamily_delete(sk, i) ((IPAddressFamily *)OPENSSL_sk_delete(ossl_check_IPAddressFamily_sk_type(sk
 I2	  86912 ), (i)))
 I2	  86913 #define sk_IPAddressFamily_delete_ptr(sk, ptr) ((IPAddressFamily *)OPENSSL_sk_delete_ptr(ossl_check_IPAddressFamily_
 I2	  86913 sk_type(sk), ossl_check_IPAddressFamily_type(ptr)))
 I2	  86914 #define sk_IPAddressFamily_push(sk, ptr) OPENSSL_sk_push(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddres
 I2	  86914 sFamily_type(ptr))
 I2	  86915 #define sk_IPAddressFamily_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IP
 I2	  86915 AddressFamily_type(ptr))
 I2	  86916 #define sk_IPAddressFamily_pop(sk) ((IPAddressFamily *)OPENSSL_sk_pop(ossl_check_IPAddressFamily_sk_type(sk)))
 I2	  86917 #define sk_IPAddressFamily_shift(sk) ((IPAddressFamily *)OPENSSL_sk_shift(ossl_check_IPAddressFamily_sk_type(sk)))
 I2	  86918 #define sk_IPAddressFamily_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_IPAddressFamily_sk_type(sk),ossl_ch
 I2	  86918 eck_IPAddressFamily_freefunc_type(freefunc))
 I2	  86919 #define sk_IPAddressFamily_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_IPAddressFamily_sk_type(sk), ossl_check
 I2	  86919 _IPAddressFamily_type(ptr), (idx))
 I2	  86920 #define sk_IPAddressFamily_set(sk, idx, ptr) ((IPAddressFamily *)OPENSSL_sk_set(ossl_check_IPAddressFamily_sk_type(s
 I2	  86920 k), (idx), ossl_check_IPAddressFamily_type(ptr)))
 I2	  86921 #define sk_IPAddressFamily_find(sk, ptr) OPENSSL_sk_find(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddres
 I2	  86921 sFamily_type(ptr))
 I2	  86922 #define sk_IPAddressFamily_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IP
 I2	  86922 AddressFamily_type(ptr))
 I2	  86923 #define sk_IPAddressFamily_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_IPAddressFamily_sk_type(sk), ossl_
 I2	  86923 check_IPAddressFamily_type(ptr), pnum)
 I2	  86924 #define sk_IPAddressFamily_sort(sk) OPENSSL_sk_sort(ossl_check_IPAddressFamily_sk_type(sk))
 I2	  86925 #define sk_IPAddressFamily_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_IPAddressFamily_sk_type(sk))
 I2	  86926 #define sk_IPAddressFamily_dup(sk) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_dup(ossl_check_const_IPAddressFamily_sk_
 I2	  86926 type(sk)))
 I2	  86927 #define sk_IPAddressFamily_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_deep_copy(ossl
 I2	  86927 _check_const_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_copyfunc_type(copyfunc), ossl_check_IPAddressFa
 I2	  86927 mily_freefunc_type(freefunc)))
 I2	  86928 #define sk_IPAddressFamily_set_cmp_func(sk, cmp) ((sk_IPAddressFamily_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_IP
 I2	  86928 AddressFamily_sk_type(sk), ossl_check_IPAddressFamily_compfunc_type(cmp)))
 I2	  86929 
 I2	  86930 
 I2	  86931 
 I2	  86932 typedef STACK_OF(IPAddressFamily) IPAddrBlocks;
       E	         struct stack_st_IPAddressFamily
 I2	  86933 
 I2	  86934 DECLARE_ASN1_FUNCTIONS(IPAddressRange)
       E	 extern IPAddressRange * IPAddressRange_new ( void ) ; extern void IPAddressRange_free ( IPAddressRange * a ) ; exte
       E	rn IPAddressRange * d2i_IPAddressRange ( IPAddressRange * * a , const unsigned char * * in , long len ) ; extern int
       E	 i2d_IPAddressRange ( const IPAddressRange * a , unsigned char * * out ) ; extern const ASN1_ITEM * IPAddressRange_i
       E	t ( void ) ;
 I2	  86935 DECLARE_ASN1_FUNCTIONS(IPAddressOrRange)
       E	 extern IPAddressOrRange * IPAddressOrRange_new ( void ) ; extern void IPAddressOrRange_free ( IPAddressOrRange * a 
       E	) ; extern IPAddressOrRange * d2i_IPAddressOrRange ( IPAddressOrRange * * a , const unsigned char * * in , long len 
       E	) ; extern int i2d_IPAddressOrRange ( const IPAddressOrRange * a , unsigned char * * out ) ; extern const ASN1_ITEM 
       E	* IPAddressOrRange_it ( void ) ;
 I2	  86936 DECLARE_ASN1_FUNCTIONS(IPAddressChoice)
       E	 extern IPAddressChoice * IPAddressChoice_new ( void ) ; extern void IPAddressChoice_free ( IPAddressChoice * a ) ; 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1618
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

       E	extern IPAddressChoice * d2i_IPAddressChoice ( IPAddressChoice * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_IPAddressChoice ( const IPAddressChoice * a , unsigned char * * out ) ; extern const ASN1_ITEM * IPAddre
       E	ssChoice_it ( void ) ;
 I2	  86937 DECLARE_ASN1_FUNCTIONS(IPAddressFamily)
       E	 extern IPAddressFamily * IPAddressFamily_new ( void ) ; extern void IPAddressFamily_free ( IPAddressFamily * a ) ; 
       E	extern IPAddressFamily * d2i_IPAddressFamily ( IPAddressFamily * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_IPAddressFamily ( const IPAddressFamily * a , unsigned char * * out ) ; extern const ASN1_ITEM * IPAddre
       E	ssFamily_it ( void ) ;
 I2	  86938 
 I2	  86939 /*
 I2	  86940  * API tag for elements of the ASIdentifer SEQUENCE.
 I2	  86941  */
 I2	  86942 # define V3_ASID_ASNUM   0
 I2	  86943 # define V3_ASID_RDI     1
 I2	  86944 
 I2	  86945 /*
 I2	  86946  * AFI values, assigned by IANA.  It'd be nice to make the AFI
 I2	  86947  * handling code totally generic, but there are too many little things
 I2	  86948  * that would need to be defined for other address families for it to
 I2	  86949  * be worth the trouble.
 I2	  86950  */
 I2	  86951 # define IANA_AFI_IPV4   1
 I2	  86952 # define IANA_AFI_IPV6   2
 I2	  86953 
 I2	  86954 /*
 I2	  86955  * Utilities to construct and extract values from RFC3779 extensions,
 I2	  86956  * since some of the encodings (particularly for IP address prefixes
 I2	  86957  * and ranges) are a bit tedious to work with directly.
 I2	  86958  */
 I2	  86959 int X509v3_asid_add_inherit(ASIdentifiers *asid, int which);
 I2	  86960 int X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which,
 I2	  86961                                 ASN1_INTEGER *min, ASN1_INTEGER *max);
 I2	  86962 int X509v3_addr_add_inherit(IPAddrBlocks *addr,
 I2	  86963                             const unsigned afi, const unsigned *safi);
 I2	  86964 int X509v3_addr_add_prefix(IPAddrBlocks *addr,
 I2	  86965                            const unsigned afi, const unsigned *safi,
 I2	  86966                            unsigned char *a, const int prefixlen);
 I2	  86967 int X509v3_addr_add_range(IPAddrBlocks *addr,
 I2	  86968                           const unsigned afi, const unsigned *safi,
 I2	  86969                           unsigned char *min, unsigned char *max);
 I2	  86970 unsigned X509v3_addr_get_afi(const IPAddressFamily *f);
 I2	  86971 int X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi,
 I2	  86972                           unsigned char *min, unsigned char *max,
 I2	  86973                           const int length);
 I2	  86974 
 I2	  86975 /*
 I2	  86976  * Canonical forms.
 I2	  86977  */
 I2	  86978 int X509v3_asid_is_canonical(ASIdentifiers *asid);
 I2	  86979 int X509v3_addr_is_canonical(IPAddrBlocks *addr);
 I2	  86980 int X509v3_asid_canonize(ASIdentifiers *asid);
 I2	  86981 int X509v3_addr_canonize(IPAddrBlocks *addr);
 I2	  86982 
 I2	  86983 /*
 I2	  86984  * Tests for inheritance and containment.
 I2	  86985  */
 I2	  86986 int X509v3_asid_inherits(ASIdentifiers *asid);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1619
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  86987 int X509v3_addr_inherits(IPAddrBlocks *addr);
 I2	  86988 int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b);
 I2	  86989 int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b);
 I2	  86990 
 I2	  86991 /*
 I2	  86992  * Check whether RFC 3779 extensions nest properly in chains.
 I2	  86993  */
 I2	  86994 int X509v3_asid_validate_path(X509_STORE_CTX *);
 I2	  86995 int X509v3_addr_validate_path(X509_STORE_CTX *);
 I2	  86996 int X509v3_asid_validate_resource_set(STACK_OF(X509) *chain,
       E	                                       struct stack_st_X509
 I2	  86997                                       ASIdentifiers *ext,
 I2	  86998                                       int allow_inheritance);
 I2	  86999 int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain,
       E	                                       struct stack_st_X509
 I2	  87000                                       IPAddrBlocks *ext, int allow_inheritance);
 I2	  87001 
 I2	  87002 #endif                         /* OPENSSL_NO_RFC3779 */
 I2	  87003 
 I2   1	  87004 SKM_DEFINE_STACK_OF_INTERNAL(ASN1_STRING, ASN1_STRING, ASN1_STRING)
       E	 struct stack_st_ASN1_STRING ; typedef int ( * sk_ASN1_STRING_compfunc ) ( const ASN1_STRING * const * a , const ASN
       E	1_STRING * const * b ) ; typedef void ( * sk_ASN1_STRING_freefunc ) ( ASN1_STRING * a ) ; typedef ASN1_STRING * ( * 
       E	sk_ASN1_STRING_copyfunc ) ( const ASN1_STRING * a ) ; static __inline ASN1_STRING * ossl_check_ASN1_STRING_type ( AS
       E	N1_STRING * ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_ASN1_STRING_sk_type ( cons
       E	t struct stack_st_ASN1_STRING * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_
       E	check_ASN1_STRING_sk_type ( struct stack_st_ASN1_STRING * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline O
       E	PENSSL_sk_compfunc ossl_check_ASN1_STRING_compfunc_type ( sk_ASN1_STRING_compfunc cmp ) { return ( OPENSSL_sk_compfu
       E	nc ) cmp ; } static __inline OPENSSL_sk_copyfunc ossl_check_ASN1_STRING_copyfunc_type ( sk_ASN1_STRING_copyfunc cpy 
       E	) { return ( OPENSSL_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_ASN1_STRING_freefunc_type 
       E	( sk_ASN1_STRING_freefunc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  87005 #define sk_ASN1_STRING_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_STRING_sk_type(sk))
 I2	  87006 #define sk_ASN1_STRING_value(sk, idx) ((ASN1_STRING *)OPENSSL_sk_value(ossl_check_const_ASN1_STRING_sk_type(sk), (id
 I2	  87006 x)))
 I2	  87007 #define sk_ASN1_STRING_new(cmp) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_new(ossl_check_ASN1_STRING_compfunc_type(cmp)))
 I2	  87008 #define sk_ASN1_STRING_new_null() ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_new_null())
 I2	  87009 #define sk_ASN1_STRING_new_reserve(cmp, n) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_STRING_c
 I2	  87009 ompfunc_type(cmp), (n)))
 I2	  87010 #define sk_ASN1_STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_STRING_sk_type(sk), (n))
 I2	  87011 #define sk_ASN1_STRING_free(sk) OPENSSL_sk_free(ossl_check_ASN1_STRING_sk_type(sk))
 I2	  87012 #define sk_ASN1_STRING_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_STRING_sk_type(sk))
 I2	  87013 #define sk_ASN1_STRING_delete(sk, i) ((ASN1_STRING *)OPENSSL_sk_delete(ossl_check_ASN1_STRING_sk_type(sk), (i)))
 I2	  87014 #define sk_ASN1_STRING_delete_ptr(sk, ptr) ((ASN1_STRING *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_STRING_sk_type(sk),
 I2	  87014  ossl_check_ASN1_STRING_type(ptr)))
 I2	  87015 #define sk_ASN1_STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type
 I2	  87015 (ptr))
 I2	  87016 #define sk_ASN1_STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRIN
 I2	  87016 G_type(ptr))
 I2	  87017 #define sk_ASN1_STRING_pop(sk) ((ASN1_STRING *)OPENSSL_sk_pop(ossl_check_ASN1_STRING_sk_type(sk)))
 I2	  87018 #define sk_ASN1_STRING_shift(sk) ((ASN1_STRING *)OPENSSL_sk_shift(ossl_check_ASN1_STRING_sk_type(sk)))
 I2	  87019 #define sk_ASN1_STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_STRING_sk_type(sk),ossl_check_ASN1
 I2	  87019 _STRING_freefunc_type(freefunc))
 I2	  87020 #define sk_ASN1_STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_ST
 I2	  87020 RING_type(ptr), (idx))
 I2	  87021 #define sk_ASN1_STRING_set(sk, idx, ptr) ((ASN1_STRING *)OPENSSL_sk_set(ossl_check_ASN1_STRING_sk_type(sk), (idx), o
 I2	  87021 ssl_check_ASN1_STRING_type(ptr)))
 I2	  87022 #define sk_ASN1_STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type
 I2	  87022 (ptr))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1620
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  87023 #define sk_ASN1_STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRIN
 I2	  87023 G_type(ptr))
 I2	  87024 #define sk_ASN1_STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_AS
 I2	  87024 N1_STRING_type(ptr), pnum)
 I2	  87025 #define sk_ASN1_STRING_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_STRING_sk_type(sk))
 I2	  87026 #define sk_ASN1_STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_STRING_sk_type(sk))
 I2	  87027 #define sk_ASN1_STRING_dup(sk) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_dup(ossl_check_const_ASN1_STRING_sk_type(sk)))
 I2	  87028 #define sk_ASN1_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_deep_copy(ossl_check_c
 I2	  87028 onst_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_copyfunc_type(copyfunc), ossl_check_ASN1_STRING_freefunc_type(f
 I2	  87028 reefunc)))
 I2	  87029 #define sk_ASN1_STRING_set_cmp_func(sk, cmp) ((sk_ASN1_STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_STRIN
 I2	  87029 G_sk_type(sk), ossl_check_ASN1_STRING_compfunc_type(cmp)))
 I2	  87030 
 I2	  87031 
 I2	  87032 /*
 I2	  87033  * Admission Syntax
 I2	  87034  */
 I2	  87035 typedef struct NamingAuthority_st NAMING_AUTHORITY;
 I2	  87036 typedef struct ProfessionInfo_st PROFESSION_INFO;
 I2	  87037 typedef struct Admissions_st ADMISSIONS;
 I2	  87038 typedef struct AdmissionSyntax_st ADMISSION_SYNTAX;
 I2	  87039 DECLARE_ASN1_FUNCTIONS(NAMING_AUTHORITY)
       E	 extern NAMING_AUTHORITY * NAMING_AUTHORITY_new ( void ) ; extern void NAMING_AUTHORITY_free ( NAMING_AUTHORITY * a 
       E	) ; extern NAMING_AUTHORITY * d2i_NAMING_AUTHORITY ( NAMING_AUTHORITY * * a , const unsigned char * * in , long len 
       E	) ; extern int i2d_NAMING_AUTHORITY ( const NAMING_AUTHORITY * a , unsigned char * * out ) ; extern const ASN1_ITEM 
       E	* NAMING_AUTHORITY_it ( void ) ;
 I2	  87040 DECLARE_ASN1_FUNCTIONS(PROFESSION_INFO)
       E	 extern PROFESSION_INFO * PROFESSION_INFO_new ( void ) ; extern void PROFESSION_INFO_free ( PROFESSION_INFO * a ) ; 
       E	extern PROFESSION_INFO * d2i_PROFESSION_INFO ( PROFESSION_INFO * * a , const unsigned char * * in , long len ) ; ext
       E	ern int i2d_PROFESSION_INFO ( const PROFESSION_INFO * a , unsigned char * * out ) ; extern const ASN1_ITEM * PROFESS
       E	ION_INFO_it ( void ) ;
 I2	  87041 DECLARE_ASN1_FUNCTIONS(ADMISSIONS)
       E	 extern ADMISSIONS * ADMISSIONS_new ( void ) ; extern void ADMISSIONS_free ( ADMISSIONS * a ) ; extern ADMISSIONS * 
       E	d2i_ADMISSIONS ( ADMISSIONS * * a , const unsigned char * * in , long len ) ; extern int i2d_ADMISSIONS ( const ADMI
       E	SSIONS * a , unsigned char * * out ) ; extern const ASN1_ITEM * ADMISSIONS_it ( void ) ;
 I2	  87042 DECLARE_ASN1_FUNCTIONS(ADMISSION_SYNTAX)
       E	 extern ADMISSION_SYNTAX * ADMISSION_SYNTAX_new ( void ) ; extern void ADMISSION_SYNTAX_free ( ADMISSION_SYNTAX * a 
       E	) ; extern ADMISSION_SYNTAX * d2i_ADMISSION_SYNTAX ( ADMISSION_SYNTAX * * a , const unsigned char * * in , long len 
       E	) ; extern int i2d_ADMISSION_SYNTAX ( const ADMISSION_SYNTAX * a , unsigned char * * out ) ; extern const ASN1_ITEM 
       E	* ADMISSION_SYNTAX_it ( void ) ;
 I2   1	  87043 SKM_DEFINE_STACK_OF_INTERNAL(PROFESSION_INFO, PROFESSION_INFO, PROFESSION_INFO)
       E	 struct stack_st_PROFESSION_INFO ; typedef int ( * sk_PROFESSION_INFO_compfunc ) ( const PROFESSION_INFO * const * a
       E	 , const PROFESSION_INFO * const * b ) ; typedef void ( * sk_PROFESSION_INFO_freefunc ) ( PROFESSION_INFO * a ) ; ty
       E	pedef PROFESSION_INFO * ( * sk_PROFESSION_INFO_copyfunc ) ( const PROFESSION_INFO * a ) ; static __inline PROFESSION
       E	_INFO * ossl_check_PROFESSION_INFO_type ( PROFESSION_INFO * ptr ) { return ptr ; } static __inline const OPENSSL_STA
       E	CK * ossl_check_const_PROFESSION_INFO_sk_type ( const struct stack_st_PROFESSION_INFO * sk ) { return ( const OPENSS
       E	L_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_PROFESSION_INFO_sk_type ( struct stack_st_PROFESSION_I
       E	NFO * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfunc ossl_check_PROFESSION_INFO_compfu
       E	nc_type ( sk_PROFESSION_INFO_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } static __inline OPENSSL_sk_copy
       E	func ossl_check_PROFESSION_INFO_copyfunc_type ( sk_PROFESSION_INFO_copyfunc cpy ) { return ( OPENSSL_sk_copyfunc ) c
       E	py ; } static __inline OPENSSL_sk_freefunc ossl_check_PROFESSION_INFO_freefunc_type ( sk_PROFESSION_INFO_freefunc fr
       E	 ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  87044 #define sk_PROFESSION_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_PROFESSION_INFO_sk_type(sk))
 I2	  87045 #define sk_PROFESSION_INFO_value(sk, idx) ((PROFESSION_INFO *)OPENSSL_sk_value(ossl_check_const_PROFESSION_INFO_sk_t
 I2	  87045 ype(sk), (idx)))
 I2	  87046 #define sk_PROFESSION_INFO_new(cmp) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_new(ossl_check_PROFESSION_INFO_compfunc
 I2	  87046 _type(cmp)))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1621
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  87047 #define sk_PROFESSION_INFO_new_null() ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_new_null())
 I2	  87048 #define sk_PROFESSION_INFO_new_reserve(cmp, n) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_new_reserve(ossl_check_PROFE
 I2	  87048 SSION_INFO_compfunc_type(cmp), (n)))
 I2	  87049 #define sk_PROFESSION_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PROFESSION_INFO_sk_type(sk), (n))
 I2	  87050 #define sk_PROFESSION_INFO_free(sk) OPENSSL_sk_free(ossl_check_PROFESSION_INFO_sk_type(sk))
 I2	  87051 #define sk_PROFESSION_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_PROFESSION_INFO_sk_type(sk))
 I2	  87052 #define sk_PROFESSION_INFO_delete(sk, i) ((PROFESSION_INFO *)OPENSSL_sk_delete(ossl_check_PROFESSION_INFO_sk_type(sk
 I2	  87052 ), (i)))
 I2	  87053 #define sk_PROFESSION_INFO_delete_ptr(sk, ptr) ((PROFESSION_INFO *)OPENSSL_sk_delete_ptr(ossl_check_PROFESSION_INFO_
 I2	  87053 sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr)))
 I2	  87054 #define sk_PROFESSION_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSI
 I2	  87054 ON_INFO_type(ptr))
 I2	  87055 #define sk_PROFESSION_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PR
 I2	  87055 OFESSION_INFO_type(ptr))
 I2	  87056 #define sk_PROFESSION_INFO_pop(sk) ((PROFESSION_INFO *)OPENSSL_sk_pop(ossl_check_PROFESSION_INFO_sk_type(sk)))
 I2	  87057 #define sk_PROFESSION_INFO_shift(sk) ((PROFESSION_INFO *)OPENSSL_sk_shift(ossl_check_PROFESSION_INFO_sk_type(sk)))
 I2	  87058 #define sk_PROFESSION_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PROFESSION_INFO_sk_type(sk),ossl_ch
 I2	  87058 eck_PROFESSION_INFO_freefunc_type(freefunc))
 I2	  87059 #define sk_PROFESSION_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check
 I2	  87059 _PROFESSION_INFO_type(ptr), (idx))
 I2	  87060 #define sk_PROFESSION_INFO_set(sk, idx, ptr) ((PROFESSION_INFO *)OPENSSL_sk_set(ossl_check_PROFESSION_INFO_sk_type(s
 I2	  87060 k), (idx), ossl_check_PROFESSION_INFO_type(ptr)))
 I2	  87061 #define sk_PROFESSION_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSI
 I2	  87061 ON_INFO_type(ptr))
 I2	  87062 #define sk_PROFESSION_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PR
 I2	  87062 OFESSION_INFO_type(ptr))
 I2	  87063 #define sk_PROFESSION_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_
 I2	  87063 check_PROFESSION_INFO_type(ptr), pnum)
 I2	  87064 #define sk_PROFESSION_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_PROFESSION_INFO_sk_type(sk))
 I2	  87065 #define sk_PROFESSION_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PROFESSION_INFO_sk_type(sk))
 I2	  87066 #define sk_PROFESSION_INFO_dup(sk) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_dup(ossl_check_const_PROFESSION_INFO_sk_
 I2	  87066 type(sk)))
 I2	  87067 #define sk_PROFESSION_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_deep_copy(ossl
 I2	  87067 _check_const_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_copyfunc_type(copyfunc), ossl_check_PROFESSION_
 I2	  87067 INFO_freefunc_type(freefunc)))
 I2	  87068 #define sk_PROFESSION_INFO_set_cmp_func(sk, cmp) ((sk_PROFESSION_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_PR
 I2	  87068 OFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_compfunc_type(cmp)))
 I2   1	  87069 SKM_DEFINE_STACK_OF_INTERNAL(ADMISSIONS, ADMISSIONS, ADMISSIONS)
       E	 struct stack_st_ADMISSIONS ; typedef int ( * sk_ADMISSIONS_compfunc ) ( const ADMISSIONS * const * a , const ADMISS
       E	IONS * const * b ) ; typedef void ( * sk_ADMISSIONS_freefunc ) ( ADMISSIONS * a ) ; typedef ADMISSIONS * ( * sk_ADMI
       E	SSIONS_copyfunc ) ( const ADMISSIONS * a ) ; static __inline ADMISSIONS * ossl_check_ADMISSIONS_type ( ADMISSIONS * 
       E	ptr ) { return ptr ; } static __inline const OPENSSL_STACK * ossl_check_const_ADMISSIONS_sk_type ( const struct stac
       E	k_st_ADMISSIONS * sk ) { return ( const OPENSSL_STACK * ) sk ; } static __inline OPENSSL_STACK * ossl_check_ADMISSIO
       E	NS_sk_type ( struct stack_st_ADMISSIONS * sk ) { return ( OPENSSL_STACK * ) sk ; } static __inline OPENSSL_sk_compfu
       E	nc ossl_check_ADMISSIONS_compfunc_type ( sk_ADMISSIONS_compfunc cmp ) { return ( OPENSSL_sk_compfunc ) cmp ; } stati
       E	c __inline OPENSSL_sk_copyfunc ossl_check_ADMISSIONS_copyfunc_type ( sk_ADMISSIONS_copyfunc cpy ) { return ( OPENSSL
       E	_sk_copyfunc ) cpy ; } static __inline OPENSSL_sk_freefunc ossl_check_ADMISSIONS_freefunc_type ( sk_ADMISSIONS_freef
       E	unc fr ) { return ( OPENSSL_sk_freefunc ) fr ; }
 I2	  87070 #define sk_ADMISSIONS_num(sk) OPENSSL_sk_num(ossl_check_const_ADMISSIONS_sk_type(sk))
 I2	  87071 #define sk_ADMISSIONS_value(sk, idx) ((ADMISSIONS *)OPENSSL_sk_value(ossl_check_const_ADMISSIONS_sk_type(sk), (idx))
 I2	  87071 )
 I2	  87072 #define sk_ADMISSIONS_new(cmp) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_new(ossl_check_ADMISSIONS_compfunc_type(cmp)))
 I2	  87073 #define sk_ADMISSIONS_new_null() ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_new_null())
 I2	  87074 #define sk_ADMISSIONS_new_reserve(cmp, n) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_new_reserve(ossl_check_ADMISSIONS_comp
 I2	  87074 func_type(cmp), (n)))
 I2	  87075 #define sk_ADMISSIONS_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ADMISSIONS_sk_type(sk), (n))
 I2	  87076 #define sk_ADMISSIONS_free(sk) OPENSSL_sk_free(ossl_check_ADMISSIONS_sk_type(sk))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1622
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  87077 #define sk_ADMISSIONS_zero(sk) OPENSSL_sk_zero(ossl_check_ADMISSIONS_sk_type(sk))
 I2	  87078 #define sk_ADMISSIONS_delete(sk, i) ((ADMISSIONS *)OPENSSL_sk_delete(ossl_check_ADMISSIONS_sk_type(sk), (i)))
 I2	  87079 #define sk_ADMISSIONS_delete_ptr(sk, ptr) ((ADMISSIONS *)OPENSSL_sk_delete_ptr(ossl_check_ADMISSIONS_sk_type(sk), os
 I2	  87079 sl_check_ADMISSIONS_type(ptr)))
 I2	  87080 #define sk_ADMISSIONS_push(sk, ptr) OPENSSL_sk_push(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(pt
 I2	  87080 r))
 I2	  87081 #define sk_ADMISSIONS_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_t
 I2	  87081 ype(ptr))
 I2	  87082 #define sk_ADMISSIONS_pop(sk) ((ADMISSIONS *)OPENSSL_sk_pop(ossl_check_ADMISSIONS_sk_type(sk)))
 I2	  87083 #define sk_ADMISSIONS_shift(sk) ((ADMISSIONS *)OPENSSL_sk_shift(ossl_check_ADMISSIONS_sk_type(sk)))
 I2	  87084 #define sk_ADMISSIONS_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ADMISSIONS_sk_type(sk),ossl_check_ADMISS
 I2	  87084 IONS_freefunc_type(freefunc))
 I2	  87085 #define sk_ADMISSIONS_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSION
 I2	  87085 S_type(ptr), (idx))
 I2	  87086 #define sk_ADMISSIONS_set(sk, idx, ptr) ((ADMISSIONS *)OPENSSL_sk_set(ossl_check_ADMISSIONS_sk_type(sk), (idx), ossl
 I2	  87086 _check_ADMISSIONS_type(ptr)))
 I2	  87087 #define sk_ADMISSIONS_find(sk, ptr) OPENSSL_sk_find(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(pt
 I2	  87087 r))
 I2	  87088 #define sk_ADMISSIONS_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_t
 I2	  87088 ype(ptr))
 I2	  87089 #define sk_ADMISSIONS_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMI
 I2	  87089 SSIONS_type(ptr), pnum)
 I2	  87090 #define sk_ADMISSIONS_sort(sk) OPENSSL_sk_sort(ossl_check_ADMISSIONS_sk_type(sk))
 I2	  87091 #define sk_ADMISSIONS_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ADMISSIONS_sk_type(sk))
 I2	  87092 #define sk_ADMISSIONS_dup(sk) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_dup(ossl_check_const_ADMISSIONS_sk_type(sk)))
 I2	  87093 #define sk_ADMISSIONS_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_deep_copy(ossl_check_con
 I2	  87093 st_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_copyfunc_type(copyfunc), ossl_check_ADMISSIONS_freefunc_type(freefu
 I2	  87093 nc)))
 I2	  87094 #define sk_ADMISSIONS_set_cmp_func(sk, cmp) ((sk_ADMISSIONS_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ADMISSIONS_s
 I2	  87094 k_type(sk), ossl_check_ADMISSIONS_compfunc_type(cmp)))
 I2	  87095 
 I2	  87096 typedef STACK_OF(PROFESSION_INFO) PROFESSION_INFOS;
       E	         struct stack_st_PROFESSION_INFO
 I2	  87097 
 I2	  87098 const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId(
 I2	  87099     const NAMING_AUTHORITY *n);
 I2	  87100 const ASN1_IA5STRING *NAMING_AUTHORITY_get0_authorityURL(
 I2	  87101     const NAMING_AUTHORITY *n);
 I2	  87102 const ASN1_STRING *NAMING_AUTHORITY_get0_authorityText(
 I2	  87103     const NAMING_AUTHORITY *n);
 I2	  87104 void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n,
 I2	  87105     ASN1_OBJECT* namingAuthorityId);
 I2	  87106 void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n,
 I2	  87107     ASN1_IA5STRING* namingAuthorityUrl);
 I2	  87108 void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n,
 I2	  87109     ASN1_STRING* namingAuthorityText);
 I2	  87110 
 I2	  87111 const GENERAL_NAME *ADMISSION_SYNTAX_get0_admissionAuthority(
 I2	  87112     const ADMISSION_SYNTAX *as);
 I2	  87113 void ADMISSION_SYNTAX_set0_admissionAuthority(
 I2	  87114     ADMISSION_SYNTAX *as, GENERAL_NAME *aa);
 I2	  87115 const STACK_OF(ADMISSIONS) *ADMISSION_SYNTAX_get0_contentsOfAdmissions(
       E	       struct stack_st_ADMISSIONS
 I2	  87116     const ADMISSION_SYNTAX *as);
 I2	  87117 void ADMISSION_SYNTAX_set0_contentsOfAdmissions(
 I2	  87118     ADMISSION_SYNTAX *as, STACK_OF(ADMISSIONS) *a);
       E	                           struct stack_st_ADMISSIONS

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1623
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]X509V3.H;1

 I2	  87119 const GENERAL_NAME *ADMISSIONS_get0_admissionAuthority(const ADMISSIONS *a);
 I2	  87120 void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a, GENERAL_NAME *aa);
 I2	  87121 const NAMING_AUTHORITY *ADMISSIONS_get0_namingAuthority(const ADMISSIONS *a);
 I2	  87122 void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a, NAMING_AUTHORITY *na);
 I2	  87123 const PROFESSION_INFOS *ADMISSIONS_get0_professionInfos(const ADMISSIONS *a);
 I2	  87124 void ADMISSIONS_set0_professionInfos(ADMISSIONS *a, PROFESSION_INFOS *pi);
 I2	  87125 const ASN1_OCTET_STRING *PROFESSION_INFO_get0_addProfessionInfo(
 I2	  87126     const PROFESSION_INFO *pi);
 I2	  87127 void PROFESSION_INFO_set0_addProfessionInfo(
 I2	  87128     PROFESSION_INFO *pi, ASN1_OCTET_STRING *aos);
 I2	  87129 const NAMING_AUTHORITY *PROFESSION_INFO_get0_namingAuthority(
 I2	  87130     const PROFESSION_INFO *pi);
 I2	  87131 void PROFESSION_INFO_set0_namingAuthority(
 I2	  87132     PROFESSION_INFO *pi, NAMING_AUTHORITY *na);
 I2	  87133 const STACK_OF(ASN1_STRING) *PROFESSION_INFO_get0_professionItems(
       E	       struct stack_st_ASN1_STRING
 I2	  87134     const PROFESSION_INFO *pi);
 I2	  87135 void PROFESSION_INFO_set0_professionItems(
 I2	  87136     PROFESSION_INFO *pi, STACK_OF(ASN1_STRING) *as);
       E	                          struct stack_st_ASN1_STRING
 I2	  87137 const STACK_OF(ASN1_OBJECT) *PROFESSION_INFO_get0_professionOIDs(
       E	       struct stack_st_ASN1_OBJECT
 I2	  87138     const PROFESSION_INFO *pi);
 I2	  87139 void PROFESSION_INFO_set0_professionOIDs(
 I2	  87140     PROFESSION_INFO *pi, STACK_OF(ASN1_OBJECT) *po);
       E	                          struct stack_st_ASN1_OBJECT
 I2	  87141 const ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber(
 I2	  87142     const PROFESSION_INFO *pi);
 I2	  87143 void PROFESSION_INFO_set0_registrationNumber(
 I2	  87144     PROFESSION_INFO *pi, ASN1_PRINTABLESTRING *rn);
 I2	  87145 
 I2    X  87146 # ifdef  __cplusplus
 I2    X  87147 }
 I2    X  87148 # endif
 I2	  87149 #endif
 I1	  87150 #include <openssl/rand.h>
 I2	  87151 /*
 I2	  87152  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I2	  87153  *
 I2	  87154  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  87155  * this file except in compliance with the License.  You can obtain a copy
 I2	  87156  * in the file LICENSE in the source distribution or at
 I2	  87157  * https://www.openssl.org/source/license.html
 I2	  87158  */
 I2	  87159 
 I2	  87160 #ifndef OPENSSL_RAND_H
 I2	  87161 # define OPENSSL_RAND_H
 I2	  87162 # pragma once
 I2	  87163 
 I2    X  87164 # include <openssl/macros.h>
 I2	  87165 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87166 #  define HEADER_RAND_H
 I2	  87167 # endif
 I2	  87168 
 I2    X  87169 # include <stdlib.h>
 I2    X  87170 # include <openssl/types.h>
 I2    X  87171 # include <openssl/e_os2.h>

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1624
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]RAND.H;1

 I2	  87172 # include <openssl/randerr.h>
 I3	  87173 /*
 I3	  87174  * Generated by util/mkerr.pl DO NOT EDIT
 I3	  87175  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
 I3	  87176  *
 I3	  87177  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I3	  87178  * this file except in compliance with the License.  You can obtain a copy
 I3	  87179  * in the file LICENSE in the source distribution or at
 I3	  87180  * https://www.openssl.org/source/license.html
 I3	  87181  */
 I3	  87182 
 I3	  87183 #ifndef OPENSSL_RANDERR_H
 I3	  87184 # define OPENSSL_RANDERR_H
 I3	  87185 # pragma once
 I3	  87186 
 I3    X  87187 # include <openssl/opensslconf.h>
 I3    X  87188 # include <openssl/symhacks.h>
 I3    X  87189 # include <openssl/cryptoerr_legacy.h>
 I3	  87190 
 I3	  87191 
 I3	  87192 
 I3	  87193 /*
 I3	  87194  * RAND reason codes.
 I3	  87195  */
 I3	  87196 # define RAND_R_ADDITIONAL_INPUT_TOO_LONG                 102
 I3	  87197 # define RAND_R_ALREADY_INSTANTIATED                      103
 I3	  87198 # define RAND_R_ARGUMENT_OUT_OF_RANGE                     105
 I3	  87199 # define RAND_R_CANNOT_OPEN_FILE                          121
 I3	  87200 # define RAND_R_DRBG_ALREADY_INITIALIZED                  129
 I3	  87201 # define RAND_R_DRBG_NOT_INITIALISED                      104
 I3	  87202 # define RAND_R_ENTROPY_INPUT_TOO_LONG                    106
 I3	  87203 # define RAND_R_ENTROPY_OUT_OF_RANGE                      124
 I3	  87204 # define RAND_R_ERROR_ENTROPY_POOL_WAS_IGNORED            127
 I3	  87205 # define RAND_R_ERROR_INITIALISING_DRBG                   107
 I3	  87206 # define RAND_R_ERROR_INSTANTIATING_DRBG                  108
 I3	  87207 # define RAND_R_ERROR_RETRIEVING_ADDITIONAL_INPUT         109
 I3	  87208 # define RAND_R_ERROR_RETRIEVING_ENTROPY                  110
 I3	  87209 # define RAND_R_ERROR_RETRIEVING_NONCE                    111
 I3	  87210 # define RAND_R_FAILED_TO_CREATE_LOCK                     126
 I3	  87211 # define RAND_R_FUNC_NOT_IMPLEMENTED                      101
 I3	  87212 # define RAND_R_FWRITE_ERROR                              123
 I3	  87213 # define RAND_R_GENERATE_ERROR                            112
 I3	  87214 # define RAND_R_INSUFFICIENT_DRBG_STRENGTH                139
 I3	  87215 # define RAND_R_INTERNAL_ERROR                            113
 I3	  87216 # define RAND_R_IN_ERROR_STATE                            114
 I3	  87217 # define RAND_R_NOT_A_REGULAR_FILE                        122
 I3	  87218 # define RAND_R_NOT_INSTANTIATED                          115
 I3	  87219 # define RAND_R_NO_DRBG_IMPLEMENTATION_SELECTED           128
 I3	  87220 # define RAND_R_PARENT_LOCKING_NOT_ENABLED                130
 I3	  87221 # define RAND_R_PARENT_STRENGTH_TOO_WEAK                  131
 I3	  87222 # define RAND_R_PERSONALISATION_STRING_TOO_LONG           116
 I3	  87223 # define RAND_R_PREDICTION_RESISTANCE_NOT_SUPPORTED       133
 I3	  87224 # define RAND_R_PRNG_NOT_SEEDED                           100
 I3	  87225 # define RAND_R_RANDOM_POOL_OVERFLOW                      125
 I3	  87226 # define RAND_R_RANDOM_POOL_UNDERFLOW                     134
 I3	  87227 # define RAND_R_REQUEST_TOO_LARGE_FOR_DRBG                117
 I3	  87228 # define RAND_R_RESEED_ERROR                              118

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1625
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]RANDERR.H;1

 I3	  87229 # define RAND_R_SELFTEST_FAILURE                          119
 I3	  87230 # define RAND_R_TOO_LITTLE_NONCE_REQUESTED                135
 I3	  87231 # define RAND_R_TOO_MUCH_NONCE_REQUESTED                  136
 I3	  87232 # define RAND_R_UNABLE_TO_CREATE_DRBG                     143
 I3	  87233 # define RAND_R_UNABLE_TO_FETCH_DRBG                      144
 I3	  87234 # define RAND_R_UNABLE_TO_GET_PARENT_RESEED_PROP_COUNTER  141
 I3	  87235 # define RAND_R_UNABLE_TO_GET_PARENT_STRENGTH             138
 I3	  87236 # define RAND_R_UNABLE_TO_LOCK_PARENT                     140
 I3	  87237 # define RAND_R_UNSUPPORTED_DRBG_FLAGS                    132
 I3	  87238 # define RAND_R_UNSUPPORTED_DRBG_TYPE                     120
 I3	  87239 
 I3	  87240 #endif
 I2    X  87241 # include <openssl/evp.h>
 I2	  87242 
 I2    X  87243 #ifdef  __cplusplus
 I2    X  87244 extern "C" {
 I2    X  87245 #endif
 I2	  87246 
 I2	  87247 /*
 I2	  87248  * Default security strength (in the sense of [NIST SP 800-90Ar1])
 I2	  87249  *
 I2	  87250  * NIST SP 800-90Ar1 supports the strength of the DRBG being smaller than that
 I2	  87251  * of the cipher by collecting less entropy. The current DRBG implementation
 I2	  87252  * does not take RAND_DRBG_STRENGTH into account and sets the strength of the
 I2	  87253  * DRBG to that of the cipher.
 I2	  87254  */
 I2	  87255 # define RAND_DRBG_STRENGTH             256
 I2	  87256 
 I2	  87257 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87258 struct rand_meth_st {
 I2	  87259     int (*seed) (const void *buf, int num);
 I2	  87260     int (*bytes) (unsigned char *buf, int num);
 I2	  87261     void (*cleanup) (void);
 I2	  87262     int (*add) (const void *buf, int num, double randomness);
 I2	  87263     int (*pseudorand) (unsigned char *buf, int num);
 I2	  87264     int (*status) (void);
 I2	  87265 };
 I2	  87266 
 I2	  87267 OSSL_DEPRECATEDIN_3_0 int RAND_set_rand_method(const RAND_METHOD *meth);
       E	 extern
 I2	  87268 OSSL_DEPRECATEDIN_3_0 const RAND_METHOD *RAND_get_rand_method(void);
       E	 extern
 I2	  87269 #  ifndef OPENSSL_NO_ENGINE
 I2	  87270 OSSL_DEPRECATEDIN_3_0 int RAND_set_rand_engine(ENGINE *engine);
       E	 extern
 I2	  87271 #  endif
 I2	  87272 
 I2	  87273 OSSL_DEPRECATEDIN_3_0 RAND_METHOD *RAND_OpenSSL(void);
       E	 extern
 I2	  87274 # endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I2	  87275 
 I2	  87276 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  87277 #   define RAND_cleanup() while(0) continue
 I2	  87278 # endif
 I2	  87279 int RAND_bytes(unsigned char *buf, int num);
 I2	  87280 int RAND_priv_bytes(unsigned char *buf, int num);
 I2	  87281 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1626
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]RAND.H;1

 I2	  87282 /*
 I2	  87283  * Equivalent of RAND_priv_bytes() but additionally taking an OSSL_LIB_CTX and
 I2	  87284  * a strength.
 I2	  87285  */
 I2	  87286 int RAND_priv_bytes_ex(OSSL_LIB_CTX *ctx, unsigned char *buf, size_t num,
 I2	  87287                        unsigned int strength);
 I2	  87288 
 I2	  87289 /*
 I2	  87290  * Equivalent of RAND_bytes() but additionally taking an OSSL_LIB_CTX and
 I2	  87291  * a strength.
 I2	  87292  */
 I2	  87293 int RAND_bytes_ex(OSSL_LIB_CTX *ctx, unsigned char *buf, size_t num,
 I2	  87294                   unsigned int strength);
 I2	  87295 
 I2	  87296 # ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  87297 OSSL_DEPRECATEDIN_1_1_0 int RAND_pseudo_bytes(unsigned char *buf, int num);
       E	 extern
 I2	  87298 # endif
 I2	  87299 
 I2	  87300 EVP_RAND_CTX *RAND_get0_primary(OSSL_LIB_CTX *ctx);
 I2	  87301 EVP_RAND_CTX *RAND_get0_public(OSSL_LIB_CTX *ctx);
 I2	  87302 EVP_RAND_CTX *RAND_get0_private(OSSL_LIB_CTX *ctx);
 I2	  87303 
 I2	  87304 int RAND_set_DRBG_type(OSSL_LIB_CTX *ctx, const char *drbg, const char *propq,
 I2	  87305                        const char *cipher, const char *digest);
 I2	  87306 int RAND_set_seed_source_type(OSSL_LIB_CTX *ctx, const char *seed,
 I2	  87307                               const char *propq);
 I2	  87308 
 I2	  87309 void RAND_seed(const void *buf, int num);
 I2	  87310 void RAND_keep_random_devices_open(int keep);
 I2	  87311 
 I2    X  87312 # if defined(__ANDROID__) && defined(__NDK_FPABI__)
 I2    X  87313 __NDK_FPABI__   /* __attribute__((pcs("aapcs"))) on ARM */
 I2    X  87314 # endif
 I2	  87315 void RAND_add(const void *buf, int num, double randomness);
 I2	  87316 int RAND_load_file(const char *file, long max_bytes);
 I2	  87317 int RAND_write_file(const char *file);
 I2	  87318 const char *RAND_file_name(char *file, size_t num);
 I2	  87319 int RAND_status(void);
 I2	  87320 
 I2    X  87321 # ifndef OPENSSL_NO_EGD
 I2    X  87322 int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes);
 I2    X  87323 int RAND_egd(const char *path);
 I2    X  87324 int RAND_egd_bytes(const char *path, int bytes);
 I2    X  87325 # endif
 I2	  87326 
 I2	  87327 int RAND_poll(void);
 I2	  87328 
 I2    X  87329 # if defined(_WIN32) && (defined(BASETYPES) || defined(_WINDEF_H))
 I2    X  87330 /* application has to include <windows.h> in order to use these */
 I2    X  87331 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2    X  87332 OSSL_DEPRECATEDIN_1_1_0 void RAND_screen(void);
 I2    X  87333 OSSL_DEPRECATEDIN_1_1_0 int RAND_event(UINT, WPARAM, LPARAM);
 I2    X  87334 #  endif
 I2    X  87335 # endif
 I2	  87336 
 I2    X  87337 #ifdef  __cplusplus

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1627
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]RAND.H;1

 I2    X  87338 }
 I2    X  87339 #endif
 I2	  87340 
 I2	  87341 #endif
 I1    X  87342 #include <openssl/x509_vfy.h>
 I1	  87343 #include <openssl/err.h>
 I2	  87344 /*
 I2	  87345  * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
 I2	  87346  *
 I2	  87347  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  87348  * this file except in compliance with the License.  You can obtain a copy
 I2	  87349  * in the file LICENSE in the source distribution or at
 I2	  87350  * https://www.openssl.org/source/license.html
 I2	  87351  */
 I2	  87352 
 I2	  87353 
 I2	  87354 
 I2	  87355 #ifndef OPENSSL_ERR_H
 I2	  87356 # define OPENSSL_ERR_H
 I2	  87357 # pragma once
 I2	  87358 
 I2    X  87359 # include <openssl/macros.h>
 I2	  87360 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87361 #  define HEADER_ERR_H
 I2	  87362 # endif
 I2	  87363 
 I2    X  87364 # include <openssl/e_os2.h>
 I2	  87365 
 I2	  87366 # ifndef OPENSSL_NO_STDIO
 I2    X  87367 #  include <stdio.h>
 I2    X  87368 #  include <stdlib.h>
 I2	  87369 # endif
 I2	  87370 
 I2    X  87371 # include <openssl/types.h>
 I2    X  87372 # include <openssl/bio.h>
 I2    X  87373 # include <openssl/lhash.h>
 I2    X  87374 # include <openssl/cryptoerr_legacy.h>
 I2	  87375 
 I2    X  87376 #ifdef  __cplusplus
 I2    X  87377 extern "C" {
 I2    X  87378 #endif
 I2	  87379 
 I2	  87380 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87381 #  ifndef OPENSSL_NO_FILENAMES
 I2	  87382 #   define ERR_PUT_error(l,f,r,fn,ln)      ERR_put_error(l,f,r,fn,ln)
 I2    X  87383 #  else
 I2    X  87384 #   define ERR_PUT_error(l,f,r,fn,ln)      ERR_put_error(l,f,r,NULL,0)
 I2    X  87385 #  endif
 I2	  87386 # endif
 I2	  87387 
 I2    X  87388 # include <limits.h>
 I2    X  87389 # include <errno.h>
 I2	  87390 
 I2	  87391 # define ERR_TXT_MALLOCED        0x01
 I2	  87392 # define ERR_TXT_STRING          0x02
 I2	  87393 
 I2	  87394 # if !defined(OPENSSL_NO_DEPRECATED_3_0) || defined(OSSL_FORCE_ERR_STATE)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1628
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87395 #  define ERR_FLAG_MARK           0x01
 I2	  87396 #  define ERR_FLAG_CLEAR          0x02
 I2	  87397 
 I2	  87398 #  define ERR_NUM_ERRORS  16
 I2	  87399 struct err_state_st {
 I2	  87400     int err_flags[ERR_NUM_ERRORS];
       E	                   16
 I2	  87401     int err_marks[ERR_NUM_ERRORS];
       E	                   16
 I2	  87402     unsigned long err_buffer[ERR_NUM_ERRORS];
       E	                              16
 I2	  87403     char *err_data[ERR_NUM_ERRORS];
       E	                    16
 I2	  87404     size_t err_data_size[ERR_NUM_ERRORS];
       E	                          16
 I2	  87405     int err_data_flags[ERR_NUM_ERRORS];
       E	                        16
 I2	  87406     char *err_file[ERR_NUM_ERRORS];
       E	                    16
 I2	  87407     int err_line[ERR_NUM_ERRORS];
       E	                  16
 I2	  87408     char *err_func[ERR_NUM_ERRORS];
       E	                    16
 I2	  87409     int top, bottom;
 I2	  87410 };
 I2	  87411 # endif
 I2	  87412 
 I2	  87413 /* library */
 I2	  87414 # define ERR_LIB_NONE            1
 I2	  87415 # define ERR_LIB_SYS             2
 I2	  87416 # define ERR_LIB_BN              3
 I2	  87417 # define ERR_LIB_RSA             4
 I2	  87418 # define ERR_LIB_DH              5
 I2	  87419 # define ERR_LIB_EVP             6
 I2	  87420 # define ERR_LIB_BUF             7
 I2	  87421 # define ERR_LIB_OBJ             8
 I2	  87422 # define ERR_LIB_PEM             9
 I2	  87423 # define ERR_LIB_DSA             10
 I2	  87424 # define ERR_LIB_X509            11
 I2	  87425 /* #define ERR_LIB_METH         12 */
 I2	  87426 # define ERR_LIB_ASN1            13
 I2	  87427 # define ERR_LIB_CONF            14
 I2	  87428 # define ERR_LIB_CRYPTO          15
 I2	  87429 # define ERR_LIB_EC              16
 I2	  87430 # define ERR_LIB_SSL             20
 I2	  87431 /* #define ERR_LIB_SSL23        21 */
 I2	  87432 /* #define ERR_LIB_SSL2         22 */
 I2	  87433 /* #define ERR_LIB_SSL3         23 */
 I2	  87434 /* #define ERR_LIB_RSAREF       30 */
 I2	  87435 /* #define ERR_LIB_PROXY        31 */
 I2	  87436 # define ERR_LIB_BIO             32
 I2	  87437 # define ERR_LIB_PKCS7           33
 I2	  87438 # define ERR_LIB_X509V3          34
 I2	  87439 # define ERR_LIB_PKCS12          35
 I2	  87440 # define ERR_LIB_RAND            36
 I2	  87441 # define ERR_LIB_DSO             37
 I2	  87442 # define ERR_LIB_ENGINE          38

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1629
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87443 # define ERR_LIB_OCSP            39
 I2	  87444 # define ERR_LIB_UI              40
 I2	  87445 # define ERR_LIB_COMP            41
 I2	  87446 # define ERR_LIB_ECDSA           42
 I2	  87447 # define ERR_LIB_ECDH            43
 I2	  87448 # define ERR_LIB_OSSL_STORE      44
 I2	  87449 # define ERR_LIB_FIPS            45
 I2	  87450 # define ERR_LIB_CMS             46
 I2	  87451 # define ERR_LIB_TS              47
 I2	  87452 # define ERR_LIB_HMAC            48
 I2	  87453 /* # define ERR_LIB_JPAKE       49 */
 I2	  87454 # define ERR_LIB_CT              50
 I2	  87455 # define ERR_LIB_ASYNC           51
 I2	  87456 # define ERR_LIB_KDF             52
 I2	  87457 # define ERR_LIB_SM2             53
 I2	  87458 # define ERR_LIB_ESS             54
 I2	  87459 # define ERR_LIB_PROP            55
 I2	  87460 # define ERR_LIB_CRMF            56
 I2	  87461 # define ERR_LIB_PROV            57
 I2	  87462 # define ERR_LIB_CMP             58
 I2	  87463 # define ERR_LIB_OSSL_ENCODER    59
 I2	  87464 # define ERR_LIB_OSSL_DECODER    60
 I2	  87465 # define ERR_LIB_HTTP            61
 I2	  87466 
 I2	  87467 # define ERR_LIB_USER            128
 I2	  87468 
 I2	  87469 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87470 #  define ASN1err(f, r) ERR_raise_data(ERR_LIB_ASN1, (r), NULL)
 I2	  87471 #  define ASYNCerr(f, r) ERR_raise_data(ERR_LIB_ASYNC, (r), NULL)
 I2	  87472 #  define BIOerr(f, r) ERR_raise_data(ERR_LIB_BIO, (r), NULL)
 I2	  87473 #  define BNerr(f, r)  ERR_raise_data(ERR_LIB_BN, (r), NULL)
 I2	  87474 #  define BUFerr(f, r) ERR_raise_data(ERR_LIB_BUF, (r), NULL)
 I2	  87475 #  define CMPerr(f, r) ERR_raise_data(ERR_LIB_CMP, (r), NULL)
 I2	  87476 #  define CMSerr(f, r) ERR_raise_data(ERR_LIB_CMS, (r), NULL)
 I2	  87477 #  define COMPerr(f, r) ERR_raise_data(ERR_LIB_COMP, (r), NULL)
 I2	  87478 #  define CONFerr(f, r) ERR_raise_data(ERR_LIB_CONF, (r), NULL)
 I2	  87479 #  define CRMFerr(f, r) ERR_raise_data(ERR_LIB_CRMF, (r), NULL)
 I2	  87480 #  define CRYPTOerr(f, r) ERR_raise_data(ERR_LIB_CRYPTO, (r), NULL)
 I2	  87481 #  define CTerr(f, r) ERR_raise_data(ERR_LIB_CT, (r), NULL)
 I2	  87482 #  define DHerr(f, r)  ERR_raise_data(ERR_LIB_DH, (r), NULL)
 I2	  87483 #  define DSAerr(f, r) ERR_raise_data(ERR_LIB_DSA, (r), NULL)
 I2	  87484 #  define DSOerr(f, r) ERR_raise_data(ERR_LIB_DSO, (r), NULL)
 I2	  87485 #  define ECDHerr(f, r) ERR_raise_data(ERR_LIB_ECDH, (r), NULL)
 I2	  87486 #  define ECDSAerr(f, r) ERR_raise_data(ERR_LIB_ECDSA, (r), NULL)
 I2	  87487 #  define ECerr(f, r)  ERR_raise_data(ERR_LIB_EC, (r), NULL)
 I2	  87488 #  define ENGINEerr(f, r) ERR_raise_data(ERR_LIB_ENGINE, (r), NULL)
 I2	  87489 #  define ESSerr(f, r) ERR_raise_data(ERR_LIB_ESS, (r), NULL)
 I2	  87490 #  define EVPerr(f, r) ERR_raise_data(ERR_LIB_EVP, (r), NULL)
 I2	  87491 #  define FIPSerr(f, r) ERR_raise_data(ERR_LIB_FIPS, (r), NULL)
 I2	  87492 #  define HMACerr(f, r) ERR_raise_data(ERR_LIB_HMAC, (r), NULL)
 I2	  87493 #  define HTTPerr(f, r) ERR_raise_data(ERR_LIB_HTTP, (r), NULL)
 I2	  87494 #  define KDFerr(f, r) ERR_raise_data(ERR_LIB_KDF, (r), NULL)
 I2	  87495 #  define OBJerr(f, r) ERR_raise_data(ERR_LIB_OBJ, (r), NULL)
 I2	  87496 #  define OCSPerr(f, r) ERR_raise_data(ERR_LIB_OCSP, (r), NULL)
 I2	  87497 #  define OSSL_STOREerr(f, r) ERR_raise_data(ERR_LIB_OSSL_STORE, (r), NULL)
 I2	  87498 #  define PEMerr(f, r) ERR_raise_data(ERR_LIB_PEM, (r), NULL)
 I2	  87499 #  define PKCS12err(f, r) ERR_raise_data(ERR_LIB_PKCS12, (r), NULL)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1630
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87500 #  define PKCS7err(f, r) ERR_raise_data(ERR_LIB_PKCS7, (r), NULL)
 I2	  87501 #  define PROPerr(f, r) ERR_raise_data(ERR_LIB_PROP, (r), NULL)
 I2	  87502 #  define PROVerr(f, r) ERR_raise_data(ERR_LIB_PROV, (r), NULL)
 I2	  87503 #  define RANDerr(f, r) ERR_raise_data(ERR_LIB_RAND, (r), NULL)
 I2	  87504 #  define RSAerr(f, r) ERR_raise_data(ERR_LIB_RSA, (r), NULL)
 I2	  87505 #  define KDFerr(f, r) ERR_raise_data(ERR_LIB_KDF, (r), NULL)
 I2	  87506 #  define SM2err(f, r) ERR_raise_data(ERR_LIB_SM2, (r), NULL)
 I2	  87507 #  define SSLerr(f, r) ERR_raise_data(ERR_LIB_SSL, (r), NULL)
 I2	  87508 #  define SYSerr(f, r) ERR_raise_data(ERR_LIB_SYS, (r), NULL)
 I2	  87509 #  define TSerr(f, r) ERR_raise_data(ERR_LIB_TS, (r), NULL)
 I2	  87510 #  define UIerr(f, r) ERR_raise_data(ERR_LIB_UI, (r), NULL)
 I2	  87511 #  define X509V3err(f, r) ERR_raise_data(ERR_LIB_X509V3, (r), NULL)
 I2	  87512 #  define X509err(f, r) ERR_raise_data(ERR_LIB_X509, (r), NULL)
 I2	  87513 # endif
 I2	  87514 
 I2	  87515 /*-
 I2	  87516  * The error code packs differently depending on if it records a system
 I2	  87517  * error or an OpenSSL error.
 I2	  87518  *
 I2	  87519  * A system error packs like this (we follow POSIX and only allow positive
 I2	  87520  * numbers that fit in an |int|):
 I2	  87521  *
 I2	  87522  * +-+-------------------------------------------------------------+
 I2	  87523  * |1|                     system error number                     |
 I2	  87524  * +-+-------------------------------------------------------------+
 I2	  87525  *
 I2	  87526  * An OpenSSL error packs like this:
 I2	  87527  *
 I2	  87528  * <---------------------------- 32 bits -------------------------->
 I2	  87529  *    <--- 8 bits ---><------------------ 23 bits ----------------->
 I2	  87530  * +-+---------------+---------------------------------------------+
 I2	  87531  * |0|    library    |                    reason                   |
 I2	  87532  * +-+---------------+---------------------------------------------+
 I2	  87533  *
 I2	  87534  * A few of the reason bits are reserved as flags with special meaning:
 I2	  87535  *
 I2	  87536  *                    <5 bits-<>--------- 19 bits ----------------->
 I2	  87537  *                   +-------+-+-----------------------------------+
 I2	  87538  *                   | rflags| |          reason                   |
 I2	  87539  *                   +-------+-+-----------------------------------+
 I2	  87540  *                            ^
 I2	  87541  *                            |
 I2	  87542  *                           ERR_RFLAG_FATAL = ERR_R_FATAL
 I2	  87543  *
 I2	  87544  * The reason flags are part of the overall reason code for practical
 I2	  87545  * reasons, as they provide an easy way to place different types of
 I2	  87546  * reason codes in different numeric ranges.
 I2	  87547  *
 I2	  87548  * The currently known reason flags are:
 I2	  87549  *
 I2	  87550  * ERR_RFLAG_FATAL      Flags that the reason code is considered fatal.
 I2	  87551  *                      For backward compatibility reasons, this flag
 I2	  87552  *                      is also the code for ERR_R_FATAL (that reason
 I2	  87553  *                      code served the dual purpose of flag and reason
 I2	  87554  *                      code in one in pre-3.0 OpenSSL).
 I2	  87555  * ERR_RFLAG_COMMON     Flags that the reason code is common to all
 I2	  87556  *                      libraries.  All ERR_R_ macros must use this flag,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1631
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87557  *                      and no other _R_ macro is allowed to use it.
 I2	  87558  */
 I2	  87559 
 I2	  87560 /* Macros to help decode recorded system errors */
 I2	  87561 # define ERR_SYSTEM_FLAG                ((unsigned int)INT_MAX + 1)
 I2	  87562 # define ERR_SYSTEM_MASK                ((unsigned int)INT_MAX)
 I2	  87563 
 I2	  87564 /*
 I2	  87565  * Macros to help decode recorded OpenSSL errors
 I2	  87566  * As expressed above, RFLAGS and REASON overlap by one bit to allow
 I2	  87567  * ERR_R_FATAL to use ERR_RFLAG_FATAL as its reason code.
 I2	  87568  */
 I2	  87569 # define ERR_LIB_OFFSET                 23L
 I2	  87570 # define ERR_LIB_MASK                   0xFF
 I2	  87571 # define ERR_RFLAGS_OFFSET              18L
 I2	  87572 # define ERR_RFLAGS_MASK                0x1F
 I2	  87573 # define ERR_REASON_MASK                0X7FFFFF
 I2	  87574 
 I2	  87575 /*
 I2	  87576  * Reason flags are defined pre-shifted to easily combine with the reason
 I2	  87577  * number.
 I2	  87578  */
 I2	  87579 # define ERR_RFLAG_FATAL                (0x1 << ERR_RFLAGS_OFFSET)
 I2	  87580 # define ERR_RFLAG_COMMON               (0x2 << ERR_RFLAGS_OFFSET)
 I2	  87581 
 I2	  87582 # define ERR_SYSTEM_ERROR(errcode)      (((errcode) & ERR_SYSTEM_FLAG) != 0)
 I2	  87583 
 I2	  87584 static ossl_unused ossl_inline int ERR_GET_LIB(unsigned long errcode)
       E	        
       E	                    __inline
 I2   1	  87585 {
 I2   1	  87586     if (ERR_SYSTEM_ERROR(errcode))
       E	         ( ( ( errcode ) & ( ( unsigned int ) 2147483647 + 1 ) ) != 0 )
 I2   1	  87587         return ERR_LIB_SYS;
       E	                2
 I2   1	  87588     return (errcode >> ERR_LIB_OFFSET) & ERR_LIB_MASK;
       E	                        23L
       E	                                          0xFF
 I2   1	  87589 }
 I2	  87590 
 I2	  87591 static ossl_unused ossl_inline int ERR_GET_RFLAGS(unsigned long errcode)
       E	        
       E	                    __inline
 I2   1	  87592 {
 I2   1	  87593     if (ERR_SYSTEM_ERROR(errcode))
       E	         ( ( ( errcode ) & ( ( unsigned int ) 2147483647 + 1 ) ) != 0 )
 I2   1	  87594         return 0;
 I2   1	  87595     return errcode & (ERR_RFLAGS_MASK << ERR_RFLAGS_OFFSET);
       E	                       0x1F
       E	                                          18L
 I2   1	  87596 }
 I2	  87597 
 I2	  87598 static ossl_unused ossl_inline int ERR_GET_REASON(unsigned long errcode)
       E	        
       E	                    __inline
 I2   1	  87599 {
 I2   1	  87600     if (ERR_SYSTEM_ERROR(errcode))

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1632
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

       E	         ( ( ( errcode ) & ( ( unsigned int ) 2147483647 + 1 ) ) != 0 )
 I2   1	  87601         return errcode & ERR_SYSTEM_MASK;
       E	                          ( ( unsigned int ) 2147483647 )
 I2   1	  87602     return errcode & ERR_REASON_MASK;
       E	                      0X7FFFFF
 I2   1	  87603 }
 I2	  87604 
 I2	  87605 static ossl_unused ossl_inline int ERR_FATAL_ERROR(unsigned long errcode)
       E	        
       E	                    __inline
 I2   1	  87606 {
 I2   1	  87607     return (ERR_GET_RFLAGS(errcode) & ERR_RFLAG_FATAL) != 0;
       E	                                       ( 0x1 << 18L )
 I2   1	  87608 }
 I2	  87609 
 I2	  87610 static ossl_unused ossl_inline int ERR_COMMON_ERROR(unsigned long errcode)
       E	        
       E	                    __inline
 I2   1	  87611 {
 I2   1	  87612     return (ERR_GET_RFLAGS(errcode) & ERR_RFLAG_COMMON) != 0;
       E	                                       ( 0x2 << 18L )
 I2   1	  87613 }
 I2	  87614 
 I2	  87615 /*
 I2	  87616  * ERR_PACK is a helper macro to properly pack OpenSSL error codes and may
 I2	  87617  * only be used for that purpose.  System errors are packed internally.
 I2	  87618  * ERR_PACK takes reason flags and reason code combined in |reason|.
 I2	  87619  * ERR_PACK ignores |func|, that parameter is just legacy from pre-3.0 OpenSSL.
 I2	  87620  */
 I2	  87621 # define ERR_PACK(lib,func,reason)                                      \
 I2	  87622     ( (((unsigned long)(lib)    & ERR_LIB_MASK   ) << ERR_LIB_OFFSET) | \
 I2	  87623       (((unsigned long)(reason) & ERR_REASON_MASK)) )
 I2	  87624 
 I2	  87625 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87626 #  define SYS_F_FOPEN             0
 I2	  87627 #  define SYS_F_CONNECT           0
 I2	  87628 #  define SYS_F_GETSERVBYNAME     0
 I2	  87629 #  define SYS_F_SOCKET            0
 I2	  87630 #  define SYS_F_IOCTLSOCKET       0
 I2	  87631 #  define SYS_F_BIND              0
 I2	  87632 #  define SYS_F_LISTEN            0
 I2	  87633 #  define SYS_F_ACCEPT            0
 I2	  87634 #  define SYS_F_WSASTARTUP        0
 I2	  87635 #  define SYS_F_OPENDIR           0
 I2	  87636 #  define SYS_F_FREAD             0
 I2	  87637 #  define SYS_F_GETADDRINFO       0
 I2	  87638 #  define SYS_F_GETNAMEINFO       0
 I2	  87639 #  define SYS_F_SETSOCKOPT        0
 I2	  87640 #  define SYS_F_GETSOCKOPT        0
 I2	  87641 #  define SYS_F_GETSOCKNAME       0
 I2	  87642 #  define SYS_F_GETHOSTBYNAME     0
 I2	  87643 #  define SYS_F_FFLUSH            0
 I2	  87644 #  define SYS_F_OPEN              0
 I2	  87645 #  define SYS_F_CLOSE             0
 I2	  87646 #  define SYS_F_IOCTL             0
 I2	  87647 #  define SYS_F_STAT              0
 I2	  87648 #  define SYS_F_FCNTL             0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1633
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87649 #  define SYS_F_FSTAT             0
 I2	  87650 #  define SYS_F_SENDFILE          0
 I2	  87651 # endif
 I2	  87652 
 I2	  87653 /*
 I2	  87654  * All ERR_R_ codes must be combined with ERR_RFLAG_COMMON.
 I2	  87655  */
 I2	  87656 
 I2	  87657 /* "we came from here" global reason codes, range 1..255 */
 I2	  87658 # define ERR_R_SYS_LIB          (ERR_LIB_SYS/* 2 */ | ERR_RFLAG_COMMON)
 I2	  87659 # define ERR_R_BN_LIB           (ERR_LIB_BN/* 3 */ | ERR_RFLAG_COMMON)
 I2	  87660 # define ERR_R_RSA_LIB          (ERR_LIB_RSA/* 4 */ | ERR_RFLAG_COMMON)
 I2	  87661 # define ERR_R_DH_LIB           (ERR_LIB_DH/* 5 */ | ERR_RFLAG_COMMON)
 I2	  87662 # define ERR_R_EVP_LIB          (ERR_LIB_EVP/* 6 */ | ERR_RFLAG_COMMON)
 I2	  87663 # define ERR_R_BUF_LIB          (ERR_LIB_BUF/* 7 */ | ERR_RFLAG_COMMON)
 I2	  87664 # define ERR_R_OBJ_LIB          (ERR_LIB_OBJ/* 8 */ | ERR_RFLAG_COMMON)
 I2	  87665 # define ERR_R_PEM_LIB          (ERR_LIB_PEM/* 9 */ | ERR_RFLAG_COMMON)
 I2	  87666 # define ERR_R_DSA_LIB          (ERR_LIB_DSA/* 10 */ | ERR_RFLAG_COMMON)
 I2	  87667 # define ERR_R_X509_LIB         (ERR_LIB_X509/* 11 */ | ERR_RFLAG_COMMON)
 I2	  87668 # define ERR_R_ASN1_LIB         (ERR_LIB_ASN1/* 13 */ | ERR_RFLAG_COMMON)
 I2	  87669 # define ERR_R_CONF_LIB         (ERR_LIB_CONF/* 14 */ | ERR_RFLAG_COMMON)
 I2	  87670 # define ERR_R_CRYPTO_LIB       (ERR_LIB_CRYPTO/* 15 */ | ERR_RFLAG_COMMON)
 I2	  87671 # define ERR_R_EC_LIB           (ERR_LIB_EC/* 16 */ | ERR_RFLAG_COMMON)
 I2	  87672 # define ERR_R_SSL_LIB          (ERR_LIB_SSL/* 20 */ | ERR_RFLAG_COMMON)
 I2	  87673 # define ERR_R_BIO_LIB          (ERR_LIB_BIO/* 32 */ | ERR_RFLAG_COMMON)
 I2	  87674 # define ERR_R_PKCS7_LIB        (ERR_LIB_PKCS7/* 33 */ | ERR_RFLAG_COMMON)
 I2	  87675 # define ERR_R_X509V3_LIB       (ERR_LIB_X509V3/* 34 */ | ERR_RFLAG_COMMON)
 I2	  87676 # define ERR_R_PKCS12_LIB       (ERR_LIB_PKCS12/* 35 */ | ERR_RFLAG_COMMON)
 I2	  87677 # define ERR_R_RAND_LIB         (ERR_LIB_RAND/* 36 */ | ERR_RFLAG_COMMON)
 I2	  87678 # define ERR_R_DSO_LIB          (ERR_LIB_DSO/* 37 */ | ERR_RFLAG_COMMON)
 I2	  87679 # define ERR_R_ENGINE_LIB       (ERR_LIB_ENGINE/* 38 */ | ERR_RFLAG_COMMON)
 I2	  87680 # define ERR_R_UI_LIB           (ERR_LIB_UI/* 40 */ | ERR_RFLAG_COMMON)
 I2	  87681 # define ERR_R_ECDSA_LIB        (ERR_LIB_ECDSA/* 42 */ | ERR_RFLAG_COMMON)
 I2	  87682 # define ERR_R_OSSL_STORE_LIB   (ERR_LIB_OSSL_STORE/* 44 */ | ERR_RFLAG_COMMON)
 I2	  87683 # define ERR_R_CMS_LIB          (ERR_LIB_CMS/* 46 */ | ERR_RFLAG_COMMON)
 I2	  87684 # define ERR_R_TS_LIB           (ERR_LIB_TS/* 47 */ | ERR_RFLAG_COMMON)
 I2	  87685 # define ERR_R_CT_LIB           (ERR_LIB_CT/* 50 */ | ERR_RFLAG_COMMON)
 I2	  87686 # define ERR_R_PROV_LIB         (ERR_LIB_PROV/* 57 */ | ERR_RFLAG_COMMON)
 I2	  87687 # define ERR_R_ESS_LIB          (ERR_LIB_ESS/* 54 */ | ERR_RFLAG_COMMON)
 I2	  87688 # define ERR_R_CMP_LIB          (ERR_LIB_CMP/* 58 */ | ERR_RFLAG_COMMON)
 I2	  87689 # define ERR_R_OSSL_ENCODER_LIB (ERR_LIB_OSSL_ENCODER/* 59 */ | ERR_RFLAG_COMMON)
 I2	  87690 # define ERR_R_OSSL_DECODER_LIB (ERR_LIB_OSSL_DECODER/* 60 */ | ERR_RFLAG_COMMON)
 I2	  87691 
 I2	  87692 /* Other common error codes, range 256..2^ERR_RFLAGS_OFFSET-1 */
 I2	  87693 # define ERR_R_FATAL                             (ERR_RFLAG_FATAL|ERR_RFLAG_COMMON)
 I2	  87694 # define ERR_R_MALLOC_FAILURE                    (256|ERR_R_FATAL)
 I2	  87695 # define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED       (257|ERR_R_FATAL)
 I2	  87696 # define ERR_R_PASSED_NULL_PARAMETER             (258|ERR_R_FATAL)
 I2	  87697 # define ERR_R_INTERNAL_ERROR                    (259|ERR_R_FATAL)
 I2	  87698 # define ERR_R_DISABLED                          (260|ERR_R_FATAL)
 I2	  87699 # define ERR_R_INIT_FAIL                         (261|ERR_R_FATAL)
 I2	  87700 # define ERR_R_PASSED_INVALID_ARGUMENT           (262|ERR_RFLAG_COMMON)
 I2	  87701 # define ERR_R_OPERATION_FAIL                    (263|ERR_R_FATAL)
 I2	  87702 # define ERR_R_INVALID_PROVIDER_FUNCTIONS        (264|ERR_R_FATAL)
 I2	  87703 # define ERR_R_INTERRUPTED_OR_CANCELLED          (265|ERR_RFLAG_COMMON)
 I2	  87704 # define ERR_R_NESTED_ASN1_ERROR                 (266|ERR_RFLAG_COMMON)
 I2	  87705 # define ERR_R_MISSING_ASN1_EOS                  (267|ERR_RFLAG_COMMON)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1634
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87706 # define ERR_R_UNSUPPORTED                       (268|ERR_RFLAG_COMMON)
 I2	  87707 # define ERR_R_FETCH_FAILED                      (269|ERR_RFLAG_COMMON)
 I2	  87708 # define ERR_R_INVALID_PROPERTY_DEFINITION       (270|ERR_RFLAG_COMMON)
 I2	  87709 # define ERR_R_UNABLE_TO_GET_READ_LOCK           (271|ERR_R_FATAL)
 I2	  87710 # define ERR_R_UNABLE_TO_GET_WRITE_LOCK          (272|ERR_R_FATAL)
 I2	  87711 
 I2	  87712 typedef struct ERR_string_data_st {
 I2	  87713     unsigned long error;
 I2	  87714     const char *string;
 I2	  87715 } ERR_STRING_DATA;
 I2	  87716 
 I2   1	  87717 DEFINE_LHASH_OF_INTERNAL(ERR_STRING_DATA);
       E	 struct lhash_st_ERR_STRING_DATA { union lh_ERR_STRING_DATA_dummy { void * d1 ; unsigned long d2 ; int d3 ; } dummy 
       E	; } ; typedef int ( * lh_ERR_STRING_DATA_compfunc ) ( const ERR_STRING_DATA * a , const ERR_STRING_DATA * b ) ; type
       E	def unsigned long ( * lh_ERR_STRING_DATA_hashfunc ) ( const ERR_STRING_DATA * a ) ; typedef void ( * lh_ERR_STRING_D
       E	ATA_doallfunc ) ( ERR_STRING_DATA * a ) ; static __inline ERR_STRING_DATA * ossl_check_ERR_STRING_DATA_lh_plain_type
       E	 ( ERR_STRING_DATA * ptr ) { return ptr ; } static __inline const ERR_STRING_DATA * ossl_check_const_ERR_STRING_DATA
       E	_lh_plain_type ( const ERR_STRING_DATA * ptr ) { return ptr ; } static __inline const OPENSSL_LHASH * ossl_check_con
       E	st_ERR_STRING_DATA_lh_type ( const struct lhash_st_ERR_STRING_DATA * lh ) { return ( const OPENSSL_LHASH * ) lh ; } 
       E	static __inline OPENSSL_LHASH * ossl_check_ERR_STRING_DATA_lh_type ( struct lhash_st_ERR_STRING_DATA * lh ) { return
       E	 ( OPENSSL_LHASH * ) lh ; } static __inline OPENSSL_LH_COMPFUNC ossl_check_ERR_STRING_DATA_lh_compfunc_type ( lh_ERR
       E	_STRING_DATA_compfunc cmp ) { return ( OPENSSL_LH_COMPFUNC ) cmp ; } static __inline OPENSSL_LH_HASHFUNC ossl_check_
       E	ERR_STRING_DATA_lh_hashfunc_type ( lh_ERR_STRING_DATA_hashfunc hfn ) { return ( OPENSSL_LH_HASHFUNC ) hfn ; } static
       E	 __inline OPENSSL_LH_DOALL_FUNC ossl_check_ERR_STRING_DATA_lh_doallfunc_type ( lh_ERR_STRING_DATA_doallfunc dfn ) { 
       E	return ( OPENSSL_LH_DOALL_FUNC ) dfn ; } struct lhash_st_ERR_STRING_DATA
 I2	  87718 #define lh_ERR_STRING_DATA_new(hfn, cmp) ((LHASH_OF(ERR_STRING_DATA) *)OPENSSL_LH_new(ossl_check_ERR_STRING_DATA_lh_
 I2	  87718 hashfunc_type(hfn), ossl_check_ERR_STRING_DATA_lh_compfunc_type(cmp)))
 I2	  87719 #define lh_ERR_STRING_DATA_free(lh) OPENSSL_LH_free(ossl_check_ERR_STRING_DATA_lh_type(lh))
 I2	  87720 #define lh_ERR_STRING_DATA_flush(lh) OPENSSL_LH_flush(ossl_check_ERR_STRING_DATA_lh_type(lh))
 I2	  87721 #define lh_ERR_STRING_DATA_insert(lh, ptr) ((ERR_STRING_DATA *)OPENSSL_LH_insert(ossl_check_ERR_STRING_DATA_lh_type(
 I2	  87721 lh), ossl_check_ERR_STRING_DATA_lh_plain_type(ptr)))
 I2	  87722 #define lh_ERR_STRING_DATA_delete(lh, ptr) ((ERR_STRING_DATA *)OPENSSL_LH_delete(ossl_check_ERR_STRING_DATA_lh_type(
 I2	  87722 lh), ossl_check_const_ERR_STRING_DATA_lh_plain_type(ptr)))
 I2	  87723 #define lh_ERR_STRING_DATA_retrieve(lh, ptr) ((ERR_STRING_DATA *)OPENSSL_LH_retrieve(ossl_check_ERR_STRING_DATA_lh_t
 I2	  87723 ype(lh), ossl_check_const_ERR_STRING_DATA_lh_plain_type(ptr)))
 I2	  87724 #define lh_ERR_STRING_DATA_error(lh) OPENSSL_LH_error(ossl_check_ERR_STRING_DATA_lh_type(lh))
 I2	  87725 #define lh_ERR_STRING_DATA_num_items(lh) OPENSSL_LH_num_items(ossl_check_ERR_STRING_DATA_lh_type(lh))
 I2	  87726 #define lh_ERR_STRING_DATA_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_ERR_STRING_DATA_lh_typ
 I2	  87726 e(lh), out)
 I2	  87727 #define lh_ERR_STRING_DATA_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_ERR_STRING
 I2	  87727 _DATA_lh_type(lh), out)
 I2	  87728 #define lh_ERR_STRING_DATA_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_ERR_STRING_DATA_lh_type(lh), out
 I2	  87728 )
 I2	  87729 #define lh_ERR_STRING_DATA_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_ERR_STRING_DATA_lh_type(lh))
 I2	  87730 #define lh_ERR_STRING_DATA_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_ERR_STRING_DATA_lh_type(lh), dl
 I2	  87730 )
 I2	  87731 #define lh_ERR_STRING_DATA_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_ERR_STRING_DATA_lh_type(lh), ossl_check_ERR_ST
 I2	  87731 RING_DATA_lh_doallfunc_type(dfn))
 I2	  87732 
 I2	  87733 
 I2	  87734 /* 12 lines and some on an 80 column terminal */
 I2	  87735 #define ERR_MAX_DATA_SIZE       1024
 I2	  87736 
 I2	  87737 /* Building blocks */
 I2	  87738 void ERR_new(void);
 I2	  87739 void ERR_set_debug(const char *file, int line, const char *func);
 I2	  87740 void ERR_set_error(int lib, int reason, const char *fmt, ...);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1635
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87741 void ERR_vset_error(int lib, int reason, const char *fmt, va_list args);
 I2	  87742 
 I2	  87743 /* Main error raising functions */
 I2	  87744 # define ERR_raise(lib, reason) ERR_raise_data((lib),(reason),NULL)
 I2	  87745 # define ERR_raise_data                                         \
 I2	  87746     (ERR_new(),                                                 \
 I2	  87747      ERR_set_debug(OPENSSL_FILE,OPENSSL_LINE,OPENSSL_FUNC),     \
 I2	  87748      ERR_set_error)
 I2	  87749 
 I2	  87750 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87751 /* Backward compatibility */
 I2	  87752 #  define ERR_put_error(lib, func, reason, file, line)          \
 I2	  87753     (ERR_new(),                                                 \
 I2	  87754      ERR_set_debug((file), (line), OPENSSL_FUNC),               \
 I2	  87755      ERR_set_error((lib), (reason), NULL))
 I2	  87756 # endif
 I2	  87757 
 I2	  87758 void ERR_set_error_data(char *data, int flags);
 I2	  87759 
 I2	  87760 unsigned long ERR_get_error(void);
 I2	  87761 unsigned long ERR_get_error_all(const char **file, int *line,
 I2	  87762                                 const char **func,
 I2	  87763                                 const char **data, int *flags);
 I2	  87764 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87765 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  87766 unsigned long ERR_get_error_line(const char **file, int *line);
 I2	  87767 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  87768 unsigned long ERR_get_error_line_data(const char **file, int *line,
 I2	  87769                                       const char **data, int *flags);
 I2	  87770 #endif
 I2	  87771 unsigned long ERR_peek_error(void);
 I2	  87772 unsigned long ERR_peek_error_line(const char **file, int *line);
 I2	  87773 unsigned long ERR_peek_error_func(const char **func);
 I2	  87774 unsigned long ERR_peek_error_data(const char **data, int *flags);
 I2	  87775 unsigned long ERR_peek_error_all(const char **file, int *line,
 I2	  87776                                  const char **func,
 I2	  87777                                  const char **data, int *flags);
 I2	  87778 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87779 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  87780 unsigned long ERR_peek_error_line_data(const char **file, int *line,
 I2	  87781                                        const char **data, int *flags);
 I2	  87782 # endif
 I2	  87783 unsigned long ERR_peek_last_error(void);
 I2	  87784 unsigned long ERR_peek_last_error_line(const char **file, int *line);
 I2	  87785 unsigned long ERR_peek_last_error_func(const char **func);
 I2	  87786 unsigned long ERR_peek_last_error_data(const char **data, int *flags);
 I2	  87787 unsigned long ERR_peek_last_error_all(const char **file, int *line,
 I2	  87788                                       const char **func,
 I2	  87789                                       const char **data, int *flags);
 I2	  87790 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87791 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  87792 unsigned long ERR_peek_last_error_line_data(const char **file, int *line,
 I2	  87793                                             const char **data, int *flags);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1636
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87794 # endif
 I2	  87795 
 I2	  87796 void ERR_clear_error(void);
 I2	  87797 
 I2	  87798 char *ERR_error_string(unsigned long e, char *buf);
 I2	  87799 void ERR_error_string_n(unsigned long e, char *buf, size_t len);
 I2	  87800 const char *ERR_lib_error_string(unsigned long e);
 I2	  87801 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87802 OSSL_DEPRECATEDIN_3_0 const char *ERR_func_error_string(unsigned long e);
       E	 extern
 I2	  87803 # endif
 I2	  87804 const char *ERR_reason_error_string(unsigned long e);
 I2	  87805 
 I2	  87806 void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u),
 I2	  87807                          void *u);
 I2	  87808 # ifndef OPENSSL_NO_STDIO
 I2	  87809 void ERR_print_errors_fp(FILE *fp);
 I2	  87810 # endif
 I2	  87811 void ERR_print_errors(BIO *bp);
 I2	  87812 
 I2	  87813 void ERR_add_error_data(int num, ...);
 I2	  87814 void ERR_add_error_vdata(int num, va_list args);
 I2	  87815 void ERR_add_error_txt(const char *sepr, const char *txt);
 I2	  87816 void ERR_add_error_mem_bio(const char *sep, BIO *bio);
 I2	  87817 
 I2	  87818 int ERR_load_strings(int lib, ERR_STRING_DATA *str);
 I2	  87819 int ERR_load_strings_const(const ERR_STRING_DATA *str);
 I2	  87820 int ERR_unload_strings(int lib, ERR_STRING_DATA *str);
 I2	  87821 
 I2	  87822 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  87823 # define ERR_load_crypto_strings() \
 I2	  87824     OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
 I2	  87825 # define ERR_free_strings() while(0) continue
 I2	  87826 #endif
 I2	  87827 #ifndef OPENSSL_NO_DEPRECATED_1_1_0
 I2	  87828 OSSL_DEPRECATEDIN_1_1_0 void ERR_remove_thread_state(void *);
       E	 extern
 I2	  87829 #endif
 I2	  87830 #ifndef OPENSSL_NO_DEPRECATED_1_0_0
 I2	  87831 OSSL_DEPRECATEDIN_1_0_0 void ERR_remove_state(unsigned long pid);
       E	 extern
 I2	  87832 #endif
 I2	  87833 #ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87834 OSSL_DEPRECATEDIN_3_0 ERR_STATE *ERR_get_state(void);
       E	 extern
 I2	  87835 #endif
 I2	  87836 
 I2	  87837 int ERR_get_next_error_library(void);
 I2	  87838 
 I2	  87839 int ERR_set_mark(void);
 I2	  87840 int ERR_pop_to_mark(void);
 I2	  87841 int ERR_clear_last_mark(void);
 I2	  87842 
 I2    X  87843 #ifdef  __cplusplus
 I2    X  87844 }
 I2    X  87845 #endif
 I2	  87846 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1637
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]ERR.H;1

 I2	  87847 #endif
 I1    X  87848 #include <openssl/pem.h>
 I1    X  87849 #include <openssl/bn.h>
 I1	  87850 #include <openssl/blowfish.h>
 I2	  87851 /*
 I2	  87852  * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
 I2	  87853  *
 I2	  87854  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  87855  * this file except in compliance with the License.  You can obtain a copy
 I2	  87856  * in the file LICENSE in the source distribution or at
 I2	  87857  * https://www.openssl.org/source/license.html
 I2	  87858  */
 I2	  87859 
 I2	  87860 #ifndef OPENSSL_BLOWFISH_H
 I2	  87861 # define OPENSSL_BLOWFISH_H
 I2	  87862 # pragma once
 I2	  87863 
 I2    X  87864 # include <openssl/macros.h>
 I2	  87865 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87866 #  define HEADER_BLOWFISH_H
 I2	  87867 # endif
 I2	  87868 
 I2    X  87869 # include <openssl/opensslconf.h>
 I2	  87870 
 I2	  87871 # ifndef OPENSSL_NO_BF
 I2    X  87872 # include <openssl/e_os2.h>
 I2    X  87873 # ifdef  __cplusplus
 I2    X  87874 extern "C" {
 I2    X  87875 # endif
 I2	  87876 
 I2	  87877 # define BF_BLOCK        8
 I2	  87878 
 I2	  87879 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87880 
 I2	  87881 #  define BF_ENCRYPT      1
 I2	  87882 #  define BF_DECRYPT      0
 I2	  87883 
 I2	  87884 /*-
 I2	  87885  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 I2	  87886  * ! BF_LONG has to be at least 32 bits wide.                     !
 I2	  87887  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 I2	  87888  */
 I2	  87889 #  define BF_LONG unsigned int
 I2	  87890 
 I2	  87891 #  define BF_ROUNDS       16
 I2	  87892 
 I2	  87893 typedef struct bf_key_st {
 I2	  87894     BF_LONG P[BF_ROUNDS + 2];
       E	     unsigned int
       E	               16
 I2	  87895     BF_LONG S[4 * 256];
       E	     unsigned int
 I2	  87896 } BF_KEY;
 I2	  87897 
 I2	  87898 # endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I2	  87899 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87900 OSSL_DEPRECATEDIN_3_0 void BF_set_key(BF_KEY *key, int len,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1638
V1.0                                                            14-DEC-2022 18:32:33  SSL3$ROOT:[INCLUDE]BLOWFISH.H;1

       E	 extern
 I2	  87901                                       const unsigned char *data);
 I2	  87902 OSSL_DEPRECATEDIN_3_0 void BF_encrypt(BF_LONG *data, const BF_KEY *key);
       E	 extern
       E	                                       unsigned int
 I2	  87903 OSSL_DEPRECATEDIN_3_0 void BF_decrypt(BF_LONG *data, const BF_KEY *key);
       E	 extern
       E	                                       unsigned int
 I2	  87904 OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
       E	 extern
 I2	  87905                                           unsigned char *out, const BF_KEY *key,
 I2	  87906                                           int enc);
 I2	  87907 OSSL_DEPRECATEDIN_3_0 void BF_cbc_encrypt(const unsigned char *in,
       E	 extern
 I2	  87908                                           unsigned char *out, long length,
 I2	  87909                                           const BF_KEY *schedule,
 I2	  87910                                           unsigned char *ivec, int enc);
 I2	  87911 OSSL_DEPRECATEDIN_3_0 void BF_cfb64_encrypt(const unsigned char *in,
       E	 extern
 I2	  87912                                             unsigned char *out,
 I2	  87913                                             long length, const BF_KEY *schedule,
 I2	  87914                                             unsigned char *ivec, int *num,
 I2	  87915                                             int enc);
 I2	  87916 OSSL_DEPRECATEDIN_3_0 void BF_ofb64_encrypt(const unsigned char *in,
       E	 extern
 I2	  87917                                             unsigned char *out,
 I2	  87918                                             long length, const BF_KEY *schedule,
 I2	  87919                                             unsigned char *ivec, int *num);
 I2	  87920 OSSL_DEPRECATEDIN_3_0 const char *BF_options(void);
       E	 extern
 I2	  87921 # endif
 I2	  87922 
 I2    X  87923 # ifdef  __cplusplus
 I2    X  87924 }
 I2    X  87925 # endif
 I2	  87926 # endif
 I2	  87927 
 I2	  87928 #endif
 I1    X  87929 #include <openssl/dh.h>
 I1	  87930 #include <openssl/rc4.h>
 I2	  87931 /*
 I2	  87932  * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
 I2	  87933  *
 I2	  87934  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  87935  * this file except in compliance with the License.  You can obtain a copy
 I2	  87936  * in the file LICENSE in the source distribution or at
 I2	  87937  * https://www.openssl.org/source/license.html
 I2	  87938  */
 I2	  87939 
 I2	  87940 #ifndef OPENSSL_RC4_H
 I2	  87941 # define OPENSSL_RC4_H
 I2	  87942 # pragma once
 I2	  87943 
 I2    X  87944 # include <openssl/macros.h>
 I2	  87945 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87946 #  define HEADER_RC4_H
 I2	  87947 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1639
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]RC4.H;1

 I2	  87948 
 I2    X  87949 # include <openssl/opensslconf.h>
 I2	  87950 
 I2	  87951 # ifndef OPENSSL_NO_RC4
 I2    X  87952 #  include <stddef.h>
 I2    X  87953 #  ifdef  __cplusplus
 I2    X  87954 extern "C" {
 I2    X  87955 #  endif
 I2	  87956 
 I2	  87957 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87958 typedef struct rc4_key_st {
 I2	  87959     RC4_INT x, y;
       E	     unsigned int
 I2	  87960     RC4_INT data[256];
       E	     unsigned int
 I2	  87961 } RC4_KEY;
 I2	  87962 #  endif
 I2	  87963 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87964 OSSL_DEPRECATEDIN_3_0 const char *RC4_options(void);
       E	 extern
 I2	  87965 OSSL_DEPRECATEDIN_3_0 void RC4_set_key(RC4_KEY *key, int len,
       E	 extern
 I2	  87966                                        const unsigned char *data);
 I2	  87967 OSSL_DEPRECATEDIN_3_0 void RC4(RC4_KEY *key, size_t len,
       E	 extern
 I2	  87968                                const unsigned char *indata,
 I2	  87969                                unsigned char *outdata);
 I2	  87970 #  endif
 I2	  87971 
 I2    X  87972 #  ifdef  __cplusplus
 I2    X  87973 }
 I2    X  87974 #  endif
 I2	  87975 # endif
 I2	  87976 
 I2	  87977 #endif
 I1	  87978 #include <openssl/cast.h>
 I2	  87979 /*
 I2	  87980  * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
 I2	  87981  *
 I2	  87982  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  87983  * this file except in compliance with the License.  You can obtain a copy
 I2	  87984  * in the file LICENSE in the source distribution or at
 I2	  87985  * https://www.openssl.org/source/license.html
 I2	  87986  */
 I2	  87987 
 I2	  87988 #ifndef OPENSSL_CAST_H
 I2	  87989 # define OPENSSL_CAST_H
 I2	  87990 # pragma once
 I2	  87991 
 I2    X  87992 # include <openssl/macros.h>
 I2	  87993 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  87994 #  define HEADER_CAST_H
 I2	  87995 # endif
 I2	  87996 
 I2    X  87997 # include <openssl/opensslconf.h>
 I2	  87998 
 I2	  87999 # ifndef OPENSSL_NO_CAST

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1640
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CAST.H;1

 I2    X  88000 # ifdef  __cplusplus
 I2    X  88001 extern "C" {
 I2    X  88002 # endif
 I2	  88003 
 I2	  88004 # define CAST_BLOCK      8
 I2	  88005 # define CAST_KEY_LENGTH 16
 I2	  88006 
 I2	  88007 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  88008 
 I2	  88009 #  define CAST_ENCRYPT    1
 I2	  88010 #  define CAST_DECRYPT    0
 I2	  88011 
 I2	  88012 #  define CAST_LONG unsigned int
 I2	  88013 
 I2	  88014 typedef struct cast_key_st {
 I2	  88015     CAST_LONG data[32];
       E	     unsigned int
 I2	  88016     int short_key;              /* Use reduced rounds for short key */
 I2	  88017 } CAST_KEY;
 I2	  88018 
 I2	  88019 # endif /* OPENSSL_NO_DEPRECATED_3_0 */
 I2	  88020 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  88021 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  88022 void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data);
 I2	  88023 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  88024 void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out,
 I2	  88025                       const CAST_KEY *key, int enc);
 I2	  88026 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  88027 void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key);
       E	                   unsigned int
 I2	  88028 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  88029 void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key);
       E	                   unsigned int
 I2	  88030 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  88031 void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out,
 I2	  88032                       long length, const CAST_KEY *ks, unsigned char *iv,
 I2	  88033                       int enc);
 I2	  88034 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  88035 void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out,
 I2	  88036                         long length, const CAST_KEY *schedule,
 I2	  88037                         unsigned char *ivec, int *num, int enc);
 I2	  88038 OSSL_DEPRECATEDIN_3_0
       E	 extern
 I2	  88039 void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,
 I2	  88040                         long length, const CAST_KEY *schedule,
 I2	  88041                         unsigned char *ivec, int *num);
 I2	  88042 # endif
 I2	  88043 
 I2    X  88044 # ifdef  __cplusplus
 I2    X  88045 }
 I2    X  88046 # endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1641
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]CAST.H;1

 I2	  88047 # endif
 I2	  88048 
 I2	  88049 #endif
 I1    X  88050 #include <openssl/dsa.h>
 I1    X  88051 #include <openssl/rsa.h>
 I1	  88052 #include <openssl/md5.h>
 I2	  88053 /*
 I2	  88054  * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
 I2	  88055  *
 I2	  88056  * Licensed under the Apache License 2.0 (the "License").  You may not use
 I2	  88057  * this file except in compliance with the License.  You can obtain a copy
 I2	  88058  * in the file LICENSE in the source distribution or at
 I2	  88059  * https://www.openssl.org/source/license.html
 I2	  88060  */
 I2	  88061 
 I2	  88062 #ifndef OPENSSL_MD5_H
 I2	  88063 # define OPENSSL_MD5_H
 I2	  88064 # pragma once
 I2	  88065 
 I2    X  88066 # include <openssl/macros.h>
 I2	  88067 # ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  88068 #  define HEADER_MD5_H
 I2	  88069 # endif
 I2	  88070 
 I2    X  88071 # include <openssl/opensslconf.h>
 I2	  88072 
 I2	  88073 # ifndef OPENSSL_NO_MD5
 I2    X  88074 #  include <openssl/e_os2.h>
 I2    X  88075 #  include <stddef.h>
 I2    X  88076 #  ifdef  __cplusplus
 I2    X  88077 extern "C" {
 I2    X  88078 #  endif
 I2	  88079 
 I2	  88080 #  define MD5_DIGEST_LENGTH 16
 I2	  88081 
 I2	  88082 #  if !defined(OPENSSL_NO_DEPRECATED_3_0)
 I2	  88083 /*
 I2	  88084  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 I2	  88085  * ! MD5_LONG has to be at least 32 bits wide.                     !
 I2	  88086  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 I2	  88087  */
 I2	  88088 #   define MD5_LONG unsigned int
 I2	  88089 
 I2	  88090 #   define MD5_CBLOCK      64
 I2	  88091 #   define MD5_LBLOCK      (MD5_CBLOCK/4)
 I2	  88092 
 I2	  88093 typedef struct MD5state_st {
 I2	  88094     MD5_LONG A, B, C, D;
       E	     unsigned int
 I2	  88095     MD5_LONG Nl, Nh;
       E	     unsigned int
 I2	  88096     MD5_LONG data[MD5_LBLOCK];
       E	     unsigned int
       E	                   ( 64 / 4 )
 I2	  88097     unsigned int num;
 I2	  88098 } MD5_CTX;
 I2	  88099 #  endif

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1642
V1.0                                                            14-DEC-2022 18:32:32  SSL3$ROOT:[INCLUDE]MD5.H;1

 I2	  88100 #  ifndef OPENSSL_NO_DEPRECATED_3_0
 I2	  88101 OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
       E	 extern
 I2	  88102 OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
       E	 extern
 I2	  88103 OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
       E	 extern
 I2	  88104 OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
       E	 extern
 I2	  88105                                          unsigned char *md);
 I2	  88106 OSSL_DEPRECATEDIN_3_0 void MD5_Transform(MD5_CTX *c, const unsigned char *b);
       E	 extern
 I2	  88107 #  endif
 I2	  88108 
 I2    X  88109 #  ifdef  __cplusplus
 I2    X  88110 }
 I2    X  88111 #  endif
 I2	  88112 # endif
 I2	  88113 
 I2	  88114 #endif
 I1    X  88115 #include <openssl/sha.h>
 I1    X  88116 #include <openssl/evp.h>
 I1    X  88117 #include <openssl/hmac.h>
 I1    X  88118 #ifdef SSL_KRB5
 I1    X  88119 #include <openssl/kssl.h>
 I1    X  88120 #endif /* SSL_KRB5 */
 I1	  88121 
 I1	  88122 extern BIO *bio_err;
 I1	  88123 extern SSL *ssl_con;
 I1	  88124 extern SSL_CTX *ssl_ctx;
 I1	  88125 extern int ssl_debug_flag;
 I1	  88126 extern int ssl_only_flag;
 I1	  88127 extern int ssl_active_flag;
 I1	  88128 extern int ssl_verify_flag;
 I1	  88129 extern int ssl_verbose_flag;
 I1	  88130 extern int ssl_certsok_flag;
 I1	  88131 extern int ssl_dummy_flag;
 I1	  88132 extern int ssl_verify_depth;
 I1	  88133 
 I1	  88134 extern char *ssl_rsa_cert_file;
 I1	  88135 extern char *ssl_rsa_cert_chain_file;
 I1	  88136 extern char *ssl_rsa_key_file;
 I1	  88137 extern char *ssl_dsa_cert_file;
 I1	  88138 extern char *ssl_dsa_cert_chain_file;
 I1	  88139 extern char *ssl_dh_key_file;
 I1	  88140 extern char *ssl_cipher_list;
 I1	  88141 extern char *ssl_crl_file;
 I1	  88142 extern char *ssl_crl_dir;
 I1	  88143 extern char *ssl_verify_file;
 I1	  88144 extern char *ssl_verify_dir;
 I1	  88145 extern char *ssl_dh_param_file;
 I1	  88146 extern char *ssl_rnd_file;
 I1	  88147 
 I1	  88148 extern SSL_CTX *tls_ctx;
 I1	  88149 extern SSL *tls_con;
 I1	  88150 extern int tls_only_flag;
 I1	  88151 extern int tls_active_flag;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1643
V1.0                                                            14-DEC-2022 18:32:32  [UTILITY.SOURCE.KERMIT.x-20230622]ck_ssl.h;1

 I1	  88152 extern int x509_cert_valid;
 I1	  88153 extern X509_STORE *crl_store;
 I1	  88154 
 I1	  88155 extern int ssl_raw_flag;
 I1	  88156 extern int tls_raw_flag;
 I1	  88157 
 I1    X  88158 #ifndef NOHTTP
 I1    X  88159 extern SSL_CTX *tls_http_ctx;
 I1    X  88160 extern SSL *tls_http_con;
 I1    X  88161 extern int tls_http_active_flag;
 I1    X  88162 #endif /* NOHTTP */
 I1	  88163 
 I1	  88164 extern int ssl_initialized;
 I1	  88165 
 I1	  88166 _PROTOTYP(VOID ssl_once_init,(void));
       E	 void ssl_once_init ( void )
 I1	  88167 _PROTOTYP(int ssl_tn_init,(int));
       E	 int ssl_tn_init ( int )
 I1	  88168 _PROTOTYP(int ssl_http_init,(char *));
       E	 int ssl_http_init ( char * )
 I1	  88169 _PROTOTYP(int ck_ssl_http_client,(int,char *));
       E	 int ck_ssl_http_client ( int , char * )
 I1	  88170 _PROTOTYP(int ssl_display_connect_details,(SSL *,int,int));
       E	 int ssl_display_connect_details ( SSL * , int , int )
 I1	  88171 _PROTOTYP(int ssl_server_verify_callback,(int, X509_STORE_CTX *));
       E	 int ssl_server_verify_callback ( int , X509_STORE_CTX * )
 I1	  88172 _PROTOTYP(int ssl_client_verify_callback,(int, X509_STORE_CTX *));
       E	 int ssl_client_verify_callback ( int , X509_STORE_CTX * )
 I1	  88173 _PROTOTYP(int ssl_reply,(int, unsigned char *, int));
       E	 int ssl_reply ( int , unsigned char * , int )
 I1	  88174 _PROTOTYP(int ssl_is,(unsigned char *, int));
       E	 int ssl_is ( unsigned char * , int )
 I1	  88175 _PROTOTYP(int ck_ssl_incoming,(int));
       E	 int ck_ssl_incoming ( int )
 I1	  88176 _PROTOTYP(int ck_ssl_outgoing,(int));
       E	 int ck_ssl_outgoing ( int )
 I1	  88177 _PROTOTYP(int tls_is_user_valid,(SSL *, const char *));
       E	 int tls_is_user_valid ( SSL * , const char * )
 I1	  88178 _PROTOTYP(char * ssl_get_dnsName,(SSL *));
       E	 char * ssl_get_dnsName ( SSL * )
 I1	  88179 _PROTOTYP(char * ssl_get_commonName,(SSL *));
       E	 char * ssl_get_commonName ( SSL * )
 I1	  88180 _PROTOTYP(char * ssl_get_issuer_name,(SSL *));
       E	 char * ssl_get_issuer_name ( SSL * )
 I1	  88181 _PROTOTYP(char * ssl_get_subject_name,(SSL *));
       E	 char * ssl_get_subject_name ( SSL * )
 I1	  88182 _PROTOTYP(int ssl_get_client_finished,(char *, int));
       E	 int ssl_get_client_finished ( char * , int )
 I1	  88183 _PROTOTYP(int ssl_get_server_finished,(char *, int));
       E	 int ssl_get_server_finished ( char * , int )
 I1	  88184 _PROTOTYP(int ssl_passwd_callback,(char *, int, int, VOID *));
       E	 int ssl_passwd_callback ( char * , int , int , void * )
 I1	  88185 _PROTOTYP(VOID ssl_client_info_callback,(const SSL *,int, int));
       E	 void ssl_client_info_callback ( const SSL * , int , int )
 I1	  88186 _PROTOTYP(int ssl_anonymous_cipher,(SSL * ssl));
       E	 int ssl_anonymous_cipher ( SSL * ssl )
 I1	  88187 _PROTOTYP(int tls_load_certs,(SSL_CTX * ctx, SSL * con, int server));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1644
V1.0                                                            15-NOV-2022 14:09:07  [UTILITY.SOURCE.KERMIT.x-20230622]ck_ssl.h;1

       E	 int tls_load_certs ( SSL_CTX * ctx , SSL * con , int server )
 I1	  88188 _PROTOTYP(int ssl_verify_crl,(int, X509_STORE_CTX *));
       E	 int ssl_verify_crl ( int , X509_STORE_CTX * )
 I1	  88189 _PROTOTYP(int tls_is_krb5,(int));
       E	 int tls_is_krb5 ( int )
 I1	  88190 _PROTOTYP(int X509_userok,(X509 *,const char *));
       E	 int X509_userok ( X509 * , const char * )
 I1	  88191 _PROTOTYP(int ck_X509_save_cert_to_user_store,(X509 *));
       E	 int ck_X509_save_cert_to_user_store ( X509 * )
 I1	  88192 /* SMS 2007/02/15 */
 I1	  88193 _PROTOTYP(int ssl_check_server_name,(SSL * ssl, char * hostname));
       E	 int ssl_check_server_name ( SSL * ssl , char * hostname )
 I1    X  88194 #ifdef COMMENT
 I1    X  88195 /* [jt] 2013/11/21 - Kermit 95 is no longer a special case */
 I1    X  88196 #ifdef OS2
 I1    X  88197 #include "ckosslc.h"
 I1    X  88198 #include "ckossl.h"
 I1    X  88199 #endif /* OS2 */
 I1    X  88200 #endif /* COMMENT */
 I1	  88201 
 I1	  88202 #define SSL_CLIENT 0
 I1	  88203 #define SSL_SERVER 1
 I1	  88204 #define SSL_HTTP   2
 I1	  88205 
 I1	  88206 #define SSL_ERR_BFSZ 4096
 I1	  88207 
 I1    X  88208 #ifdef SSL_KRB5
 I1    X  88209 #define DEFAULT_CIPHER_LIST "HIGH:MEDIUM:LOW:+KRB5:+ADH:+EXP"
 I1    X  88210 #else
 I1	  88211 #define DEFAULT_CIPHER_LIST "HIGH:MEDIUM:LOW:+ADH:+EXP"
 I1	  88212 #endif /* SSL_KRB5 */
 I1	  88213 #endif /* CK_SSL */
	  88214 #endif /* CK_SSL */
	  88215 
       X  88216 #ifdef FTP_SRP
       X  88217 #ifdef HAVE_PWD_H
       X  88218 #include "pwd.h"
       X  88219 #endif /* HAVE_PWD_H */
       X  88220 #include "t_pwd.h"
       X  88221 #include "t_client.h"
       X  88222 #include "krypto.h"
       X  88223 #endif /* FTP_SRP */
	  88224 
       X  88225 #ifdef FTP_GSSAPI
       X  88226 #include <gssapi/gssapi.h>
       X  88227 /* #include <gssapi/gssapi_krb5.h> */
       X  88228 /*
       X  88229   Need to include the krb5 file, because we're doing manual fallback
       X  88230   from the v2 mech to the v1 mech.  Once there's real negotiation,
       X  88231   we can be generic again.
       X  88232 */
       X  88233 #include <gssapi/gssapi_generic.h>
       X  88234 #include <gssapi/gssapi_krb5.h>
       X  88235 static gss_ctx_id_t gcontext;
       X  88236 
       X  88237 #ifdef MACOSX
       X  88238 /** exported constants defined in gssapi_krb5{,_nx}.h **/

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1645
V1.0                                                            15-NOV-2022 14:09:07  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  88239 
       X  88240 /* these are bogus, but will compile */
       X  88241 
       X  88242 /*
       X  88243  * The OID of the draft krb5 mechanism, assigned by IETF, is:
       X  88244  *      iso(1) org(3) dod(5) internet(1) security(5)
       X  88245  *      kerberosv5(2) = 1.3.5.1.5.2
       X  88246  * The OID of the krb5_name type is:
       X  88247  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88248  *      krb5(2) krb5_name(1) = 1.2.840.113554.1.2.2.1
       X  88249  * The OID of the krb5_principal type is:
       X  88250  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88251  *      krb5(2) krb5_principal(2) = 1.2.840.113554.1.2.2.2
       X  88252  * The OID of the proposed standard krb5 mechanism is:
       X  88253  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88254  *      krb5(2) = 1.2.840.113554.1.2.2
       X  88255  * The OID of the proposed standard krb5 v2 mechanism is:
       X  88256  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88257  *      krb5v2(3) = 1.2.840.113554.1.2.3
       X  88258  *
       X  88259  */
       X  88260 
       X  88261 /*
       X  88262  * Encoding rules: The first two values are encoded in one byte as 40
       X  88263  * * value1 + value2.  Subsequent values are encoded base 128, most
       X  88264  * significant digit first, with the high bit (\200) set on all octets
       X  88265  * except the last in each value's encoding.
       X  88266  */
       X  88267 
       X  88268 static CONST gss_OID_desc
       X  88269 ck_krb5_gss_oid_array[] = {
       X  88270    /* this is the official, rfc-specified OID */
       X  88271    {9, "\052\206\110\206\367\022\001\002\002"},
       X  88272    /* this is the unofficial, wrong OID */
       X  88273    {5, "\053\005\001\005\002"},
       X  88274    /* this is the v2 assigned OID */
       X  88275    {9, "\052\206\110\206\367\022\001\002\003"},
       X  88276    /* these two are name type OID's */
       X  88277    {10, "\052\206\110\206\367\022\001\002\002\001"},
       X  88278    {10, "\052\206\110\206\367\022\001\002\002\002"},
       X  88279    { 0, 0 }
       X  88280 };
       X  88281 
       X  88282 static
       X  88283 CONST gss_OID_desc * CONST gss_mech_krb5_v2 = ck_krb5_gss_oid_array+2;
       X  88284 
       X  88285 #ifdef MACOSX103
       X  88286 static
       X  88287 CONST gss_OID_desc * CONST gss_mech_krb5 = ck_krb5_gss_oid_array+0;
       X  88288 #endif /* MACOSX103 */
       X  88289 
       X  88290 #ifndef MACOSX
       X  88291 static
       X  88292 CONST gss_OID_desc * CONST gss_mech_krb5 = ck_krb5_gss_oid_array+0;
       X  88293 static
       X  88294 CONST gss_OID_desc * CONST gss_mech_krb5_old = ck_krb5_gss_oid_array+1;
       X  88295 static

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1646
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  88296 CONST gss_OID_desc * CONST gss_nt_krb5_name = ck_krb5_gss_oid_array+3;
       X  88297 static
       X  88298 CONST gss_OID_desc * CONST gss_nt_krb5_principal = ck_krb5_gss_oid_array+4;
       X  88299 #endif	/* MACOSX */
       X  88300 
       X  88301 /*
       X  88302  * See krb5/gssapi_krb5.c for a description of the algorithm for
       X  88303  * encoding an object identifier.
       X  88304  */
       X  88305 
       X  88306 /*
       X  88307  * The OID of user_name is:
       X  88308  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88309  *      generic(1) user_name(1) = 1.2.840.113554.1.2.1.1
       X  88310  * machine_uid_name:
       X  88311  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88312  *      generic(1) machine_uid_name(2) = 1.2.840.113554.1.2.1.2
       X  88313  * string_uid_name:
       X  88314  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88315  *      generic(1) string_uid_name(3) = 1.2.840.113554.1.2.1.3
       X  88316  * service_name:
       X  88317  *      iso(1) member-body(2) US(840) mit(113554) infosys(1) gssapi(2)
       X  88318  *      generic(1) service_name(4) = 1.2.840.113554.1.2.1.4
       X  88319  * exported_name:
       X  88320  *      1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes),
       X  88321  *          4(gss-api-exported-name)
       X  88322  * host_based_service_name (v2):
       X  88323  *      iso (1) org (3), dod (6), internet (1), security (5), nametypes(6),
       X  88324  *      gss-host-based-services(2)
       X  88325  */
       X  88326 
       X  88327 static gss_OID_desc ck_oids[] = {
       X  88328    {10, "\052\206\110\206\367\022\001\002\001\001"},
       X  88329    {10, "\052\206\110\206\367\022\001\002\001\002"},
       X  88330    {10, "\052\206\110\206\367\022\001\002\001\003"},
       X  88331    {10, "\052\206\110\206\367\022\001\002\001\004"},
       X  88332    { 6, "\053\006\001\005\006\004"},
       X  88333    { 6, "\053\006\001\005\006\002"},
       X  88334 };
       X  88335 
       X  88336 static gss_OID ck_gss_nt_user_name = ck_oids+0;
       X  88337 static gss_OID ck_gss_nt_machine_uid_name = ck_oids+1;
       X  88338 static gss_OID ck_gss_nt_string_uid_name = ck_oids+2;
       X  88339 static gss_OID ck_gss_nt_service_name = ck_oids+3;
       X  88340 static gss_OID ck_gss_nt_exported_name = ck_oids+4;
       X  88341 static gss_OID ck_gss_nt_service_name_v2 = ck_oids+5;
       X  88342 #endif /* MACOSX */
       X  88343 #endif /* FTP_GSSAPI */
	  88344 
       X  88345 #ifdef OS2
       X  88346 #ifdef FTP_SRP
       X  88347 #define MAP_KRYPTO
       X  88348 #ifdef SRPDLL
       X  88349 #define MAP_SRP
       X  88350 #endif /* SRPDLL */
       X  88351 #endif /* FTP_SRP */
       X  88352 #ifdef FTP_KRB4

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1647
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  88353 #define MAP_KRB4
       X  88354 #ifdef CK_ENCRYPTION
       X  88355 #define MAP_DES
       X  88356 #endif /* CK_ENCRYPTION */
       X  88357 #endif /* FTP_KRB4 */
       X  88358 #ifdef FTP_GSSAPI
       X  88359 #define MAP_GSSAPI
       X  88360 #define GSS_OIDS
       X  88361 #endif /* FTP_GSSAPI */
       X  88362 #include "ckoath.h"
       X  88363 
       X  88364 #include "ckcfnp.h"                     /* Prototypes */
       X  88365 
       X  88366 extern int k95stdout, wherex[], wherey[];
       X  88367 extern unsigned char colorcmd;
       X  88368 #endif /* OS2 */
	  88369 
       X  88370 #ifdef FTP_KRB4
       X  88371 static char ftp_realm[REALM_SZ + 1];
       X  88372 static KTEXT_ST ftp_tkt;
       X  88373 #ifdef OS2
       X  88374 static LEASH_CREDENTIALS ftp_cred;
       X  88375 #else /* OS2 */
       X  88376 static CREDENTIALS ftp_cred;
       X  88377 #endif /* OS2 */
       X  88378 static MSG_DAT ftp_msg_data;
       X  88379 static des_key_schedule ftp_sched;
       X  88380 static int foo[4] = {99,99,99,99};
       X  88381 #endif /* FTP_KRB4 */
	  88382 
	  88383 /* getreply() function codes */
	  88384 
	  88385 #define GRF_AUTH 1			/* Reply to AUTH command */
	  88386 #define GRF_FEAT 2			/* Reply to FEAT command */
	  88387 
	  88388 /* Operational definitions */
	  88389 
	  88390 #define DEF_VBM 0                       /* Default verbose mode */
	  88391 /* #define SETVBM */                    /* (see getreply) */
	  88392 
	  88393 #define URL_ONEFILE                     /* GET, not MGET, for FTP URL */
	  88394 
	  88395 #define FTP_BUFSIZ 10240                /* Max size for FTP cmds & replies */
	  88396 #define SRVNAMLEN 32                    /* Max length for server type name */
	  88397 #define PWDSIZ 256
	  88398 #define PASSBUFSIZ 256
	  88399 #define PROMPTSIZ 256
	  88400 
	  88401 #ifndef MGETMAX                         /* Max operands for MGET command */
	  88402 #define MGETMAX 1000
	  88403 #endif /* MGETMAX */
	  88404 
       X  88405 #ifdef FTP_SRP
       X  88406 #define FUDGE_FACTOR 100
       X  88407 #endif /* FTP_SRP */
	  88408 
	  88409 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1648
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88410   Amount of growth from cleartext to ciphertext.  krb_mk_priv adds this
	  88411   number bytes.  Must be defined for each auth type.
	  88412   GSSAPI appears to add 52 bytes, but I'm not sure it is a constant--hartmans
	  88413   3DES requires 56 bytes.  Lets use 96 just to be sure.
	  88414 */
       X  88415 #ifdef FTP_GSSAPI
       X  88416 #ifndef FUDGE_FACTOR
       X  88417 #define FUDGE_FACTOR 96
       X  88418 #endif /* FUDGE_FACTOR */
       X  88419 #endif /* FTP_GSSAPI */
	  88420 
       X  88421 #ifdef FTP_KRB4
       X  88422 #ifndef FUDGE_FACTOR
       X  88423 #define FUDGE_FACTOR 32
       X  88424 #endif /* FUDGE_FACTOR */
       X  88425 #endif /* FTP_KRB4 */
	  88426 
	  88427 #ifndef FUDGE_FACTOR                    /* In case no auth types define it */
	  88428 #define FUDGE_FACTOR 0
	  88429 #endif /* FUDGE_FACTOR */
	  88430 
	  88431 #ifndef MAXHOSTNAMELEN
	  88432 #define MAXHOSTNAMELEN 64
	  88433 #endif /* MAXHOSTNAMELEN */
	  88434 #define MAX_DNS_NAMELEN (15*(MAXHOSTNAMELEN + 1)+1)
	  88435 
	  88436 /* Fascist compiler toadying */
	  88437 
	  88438 #ifndef SENDARG2TYPE
       X  88439 #ifdef COMMENT                          /* Might be needed here and there */
       X  88440 #define SENDARG2TYPE const char *
       X  88441 #else
	  88442 #define SENDARG2TYPE char *
	  88443 #endif /* COMMENT */
	  88444 #endif /* SENDARG2TYPE */
	  88445 
	  88446 /* Common text messages */
	  88447 
	  88448 static char *nocx = "?No FTP control connection\n";
	  88449 
	  88450 static char *fncnam[] = {
	  88451   "rename", "overwrite", "backup", "append", "discard", "ask", "update",
	  88452   "dates-differ", ""
	  88453 };
	  88454 
	  88455 /* Macro definitions */
	  88456 
	  88457 /* Used to speed up text-mode PUTs */
	  88458 #define zzout(fd,c) \
	  88459 ((fd<0)?(-1):((nout>=ucbufsiz)?(zzsend(fd,c)):(ucbuf[nout++]=c)))
	  88460 
	  88461 #define CHECKCONN() if(!connected){printf("%s\n",nocx);return(-9);}
	  88462 
	  88463 /* Externals */
	  88464 
	  88465 #ifdef CK_URL
	  88466 extern struct urldata g_url;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1649
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88467 #endif /* CK_URL */
	  88468 
	  88469 #ifdef DYNAMIC
	  88470 extern char *zinbuffer, *zoutbuffer;    /* Regular Kermit file i/o */
       X  88471 #else
       X  88472 extern char zinbuffer[], zoutbuffer[];
       X  88473 #endif /* DYNAMIC */
	  88474 extern char *zinptr, *zoutptr;
	  88475 extern int zincnt, zoutcnt, zobufsize, fncact;
	  88476 
	  88477 #ifdef CK_TMPDIR
	  88478 extern int f_tmpdir;                    /* Directory changed temporarily */
	  88479 extern char savdir[];                   /* For saving current directory */
	  88480 extern char * dldir;
	  88481 #endif /* CK_TMPDIR */
	  88482 
	  88483 extern char * rfspec, * sfspec, * srfspec, * rrfspec; /* For WHERE command */
	  88484 
	  88485 extern xx_strp xxstring;
	  88486 extern struct keytab onoff[], txtbin[], rpathtab[];
	  88487 extern int nrpathtab, xfiletype, patterns, gnferror, moving, what, pktnum;
	  88488 extern int success, nfils, sndsrc, quiet, nopush, recursive, inserver, binary;
	  88489 extern int filepeek, nscanfile, fsecs, xferstat, xfermode, lastxfer, tsecs;
	  88490 extern int backgrd, spackets, rpackets, spktl, rpktl, xaskmore, cmd_rows;
	  88491 extern int nolinks, msgflg, keep;
	  88492 extern CK_OFF_T fsize, ffc, tfc, sendstart, sndsmaller, sndlarger, rs_len;
       E	        off_t
	  88493 extern long filcnt, xfsecs, tfcps, cps, oldcps;
	  88494 
	  88495 #ifdef FTP_TIMEOUT
	  88496 int ftp_timed_out = 0;
	  88497 long ftp_timeout = 0;
	  88498 #endif	/* FTP_TIMEOUT */
	  88499 
	  88500 #ifdef GFTIMER
	  88501 extern CKFLOAT fptsecs, fpfsecs, fpxfsecs;
       E	        double
       X  88502 #else
       X  88503 extern long xfsecs;
       X  88504 #endif /* GFTIMER */
	  88505 
	  88506 extern char filnam[], * filefile, myhost[];
	  88507 extern char * snd_move, * rcv_move, * snd_rename, * rcv_rename;
	  88508 extern int g_skipbup, skipbup, sendmode;
	  88509 extern int g_displa, fdispla, displa;
	  88510 
	  88511 #ifdef LOCUS
	  88512 extern int locus, autolocus;
	  88513 #endif /* LOCUS */
	  88514 
	  88515 #ifndef NOCSETS
	  88516 extern int nfilc, dcset7, dcset8, fileorder;
	  88517 extern struct csinfo fcsinfo[];
	  88518 extern struct keytab fcstab[];
	  88519 extern int fcharset;
	  88520 #endif /* NOCSETS */
	  88521 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1650
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88522 extern char sndbefore[], sndafter[], *sndexcept[]; /* Selection criteria */
	  88523 extern char sndnbefore[], sndnafter[], *rcvexcept[];
	  88524 extern CHAR feol;
       E	        unsigned char
	  88525 
	  88526 extern char * remdest;
	  88527 extern int remfile, remappd, rempipe;
	  88528 
	  88529 #ifndef NOSPL
	  88530 extern int cmd_quoting;
	  88531 #ifdef PUTARRAY
	  88532 extern int sndxlo, sndxhi, sndxin;
	  88533 extern char sndxnam[];
	  88534 extern char **a_ptr[];                  /* Array pointers */
	  88535 extern int a_dim[];                     /* Array dimensions */
	  88536 #endif /* PUTARRAY */
	  88537 #endif /* NOSPL */
	  88538 
	  88539 #ifndef NOMSEND                         /* MPUT and ADD SEND-LIST lists */
	  88540 extern char *msfiles[];
	  88541 extern int filesinlist;
	  88542 extern struct filelist * filehead;
	  88543 extern struct filelist * filetail;
	  88544 extern struct filelist * filenext;
	  88545 extern int addlist;
	  88546 extern char fspec[];                    /* Most recent filespec */
	  88547 extern int fspeclen;                    /* Length of fspec[] buffer */
	  88548 #endif /* NOMSEND */
	  88549 
	  88550 extern int pipesend;
       X  88551 #ifdef PIPESEND
       X  88552 extern char * sndfilter, * rcvfilter;
       X  88553 #endif /* PIPESEND */
	  88554 
       X  88555 #ifdef CKROOT
       X  88556 extern int ckrooterr;
       X  88557 #endif /* CKROOT */
	  88558 
       X  88559 #ifdef KRB4
       X  88560 extern int krb4_autoget;
       X  88561 _PROTOTYP(char * ck_krb4_realmofhost,(char *));
       X  88562 #endif /* KRB4 */
	  88563 
       X  88564 #ifdef KRB5
       X  88565 extern int krb5_autoget;
       X  88566 extern int krb5_d_no_addresses;
       X  88567 _PROTOTYP(char * ck_krb5_realmofhost,(char *));
       X  88568 #endif /* KRB5 */
	  88569 
	  88570 #ifdef DCMDBUF
	  88571 extern char *atmbuf;                    /* Atom buffer (malloc'd) */
	  88572 extern char *cmdbuf;                    /* Command buffer (malloc'd) */
	  88573 extern char *line;                      /* Big string buffer #1 */
	  88574 extern char *tmpbuf;                    /* Big string buffer #2 */
       X  88575 #else
       X  88576 extern char atmbuf[];                   /* The same, but static */
       X  88577 extern char cmdbuf[];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1651
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  88578 extern char line[];
       X  88579 extern char tmpbuf[];
       X  88580 #endif /* DCMDBUF */
	  88581 
	  88582 extern char * cmarg, * cmarg2, ** cmlist; /* For setting up file lists */
	  88583 
	  88584 /* Public variables declared here */
	  88585 
       X  88586 #ifdef NOXFER
       X  88587 int ftpget  =  1;                       /* GET/PUT/REMOTE orientation FTP */
       X  88588 #else
	  88589 int ftpget  =  2;                       /* GET/PUT/REMOTE orientation AUTO */
	  88590 #endif /* NOXFER */
	  88591 int ftpcode = -1;                       /* Last FTP response code */
	  88592 int ftp_cmdlin = 0;                     /* FTP invoked from command line */
	  88593 int ftp_fai = 0;                        /* FTP failure count */
	  88594 int ftp_deb = 0;                        /* FTP debugging */
	  88595 int ftp_dis = -1;			/* FTP display style */
	  88596 int ftp_log = 1;                        /* FTP Auto-login */
	  88597 int sav_log = -1;
	  88598 int ftp_action = 0;                     /* FTP action from command line */
	  88599 int ftp_dates = 1;                      /* Set file dates from server */
	  88600 int ftp_xfermode = XMODE_A;		/* FTP-specific transfer mode */
       E	                    0
	  88601 
	  88602 char ftp_reply_str[FTP_BUFSIZ] = "";    /* Last line of previous reply */
       E	                    10240
	  88603 char ftp_srvtyp[SRVNAMLEN] = { NUL, NUL }; /* Server's system type */
       E	                 32
       E	                                '\0'
       E	                                     '\0'
	  88604 char ftp_user_host[MAX_DNS_NAMELEN]= ""; /* FTP hostname specified by user */
       E	                    ( 15 * ( 64 + 1 ) + 1 )
	  88605 char * ftp_host = NULL;                 /* FTP hostname */
       E	                   ( ( void * ) 0 )
	  88606 char * ftp_logname = NULL;              /* FTP username */
       E	                      ( ( void * ) 0 )
	  88607 char * ftp_rdir = NULL;                 /* Remote directory from cmdline */
       E	                   ( ( void * ) 0 )
	  88608 char * ftp_apw = NULL;			/* Anonymous password */
       E	                  ( ( void * ) 0 )
	  88609 
	  88610 /* Definitions and typedefs needed for prototypes */
	  88611 
	  88612 /*
	  88613   #define sig_t my_sig_t
	  88614 
	  88615   I don't understand the statement above, which has been in this code going
	  88616   back to at least C-Kermit 8.0, because my_sig_t is not defined anywhere.
	  88617   And yet sig_t is used below with no complaint.  However, if I #define sig_t
	  88618   SIGTYP (which is what it should be according to ckcdeb.h), all hell breaks
	  88619   loose.  Same if I replace all references to sig_t by SIGTYPE.  On the
	  88620   other hand, if I remove the sig_t definition, there is no complaint, so
	  88621   where is the sig_t definition coming from?  I find this in Ubuntu signal.h:
	  88622 
	  88623     <comment> 4.4 BSD uses the name ig_t' for this. </comment>
	  88624     typedef __sighandler_t sig_t;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1652
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88625 
	  88626   In NetBSD I find this in /usr/include/sys/signal.h:
	  88627 
	  88628     typedef    void (*sig_t)(int);
	  88629 
	  88630   Can we really count on sig_t being defined in some nook or cranny
	  88631   on every single Unix, VMS, and Windows system?
	  88632 
	  88633   Jeff Altman says to use sighandler_t, which is ok on Ubuntu but 
	  88634   not on (say) NetBSD.  So I can't do this:
	  88635 
	  88636     #ifndef sig_t
	  88637     #define sig_t sighandler_t
	  88638     #endif
	  88639 
	  88640   I think the only alternative is to leave my_sit_t undefined and then
	  88641   see who squawks.
	  88642 
	  88643   -fdc Fri Jun 23 06:53:23 2023
	  88644 */
	  88645 #define sigtype SIGTYP
	  88646 
	  88647 #ifdef CK_ANSIC
	  88648 typedef sigtype (*sig_t)(int);
       E	         void
       X  88649 #else
       X  88650 typedef sigtype (*sig_t)();
       X  88651 #endif /* CK_ANSIC */
	  88652 
	  88653 /* Made this global static -fdc 21 June 2023 */
	  88654 /* It's used in many ckcftp.c routines but wasn't declared in all of them */
	  88655 static sig_t oldintr;
	  88656 
	  88657 /* Prototypes for static functions defined in ckcftp.c */
	  88658 #ifdef CK_ANSIC
	  88659 
	  88660 static VOID bytswap( int *, int * );
       E	        void
	  88661 static VOID cancel_remote( int );
       E	        void
	  88662 static VOID changetype( int, int );
       E	        void
	  88663 static VOID dbtime( char *, struct tm * );
       E	        void
	  88664 static VOID ftscreen( int, char, CK_OFF_T, char * );
       E	        void
       E	                                  off_t
	  88665 static char * ftp_hookup( char *, int, int );
	  88666 static char * radix_error( int );
	  88667 static char * shopl( int );
	  88668 static char * strval( char *, char * );
	  88669 static int check_data_connection( int, int );
	  88670 static int chkmodtime( char *, char *, int );
	  88671 static int dataconn( char * );
	  88672 static int doftpcwd( char *, int );
	  88673 static int doftpdir( int );
	  88674 static int doftpxmkd( char *, int );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1653
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88675 static int ftp_login( char * );
	  88676 static int ftp_rename( char *, char * );
	  88677 static int ftp_umask( char * );
	  88678 static int ftp_user( char *, char *, char * );
	  88679 static int ftpcmd( char *, char *, int, int, int );
	  88680 static int fts_cpl( int );
	  88681 static int fts_dpl( int );
	  88682 static int getfile( char *, char *, int, int, char *, int, int, int );
	  88683 static int getreply( int, int, int, int, int );
	  88684 static int ispathsep( int );
	  88685 static int looping_read(int, register char *, register int );
	  88686 static int looping_write( int, register CONST char *, int );
       E	                                         const
	  88687 static int openftp( char *, int );
	  88688 static int putfile( int, char *, char *, int, int, char *, char *,
	  88689  char *, int, int, int, int, int, int, int );
	  88690 static int recvrequest(char *, char *, char *, char *, int, int,
	  88691  char *, int, int, int );
	  88692 static int secure_flush( int );
	  88693 static int secure_getbyte( int, int );
	  88694 static int secure_read( int fd, char *, int );
	  88695 static int sendrequest( char *, char *, char *, int, int, int, int );
	  88696 static int syncdir( char *, int );
	  88697 static int tmcompare( struct tm *, struct tm * );
	  88698 static int xlatec( int, int, int, int );
	  88699 static sigtype cancelrecv( int );
       E	        void
	  88700 static sigtype cancelsend( int );
       E	        void
	  88701 static sigtype cmdcancel( int );
       E	        void
	  88702 
	  88703 #endif  /* CK_ANSIC */
	  88704 
	  88705 
	  88706 /* Static global variables */
	  88707 
	  88708 static char ftpsndbuf[FTP_BUFSIZ+64];
       E	                       10240
	  88709 
	  88710 static char * fts_sto = NULL;
       E	                         ( ( void * ) 0 )
	  88711 
	  88712 static int ftpsndret = 0;
	  88713 static struct _ftpsnd {
	  88714     sig_t oldintr, oldintp;
	  88715     int            reply;
	  88716     int            incs,
	  88717                    outcs;
	  88718     char *         cmd, * local, * remote;
	  88719     int            bytes;
	  88720     int            restart;
	  88721     int            xlate;
	  88722     char *         lmode;
	  88723 } ftpsnd;
	  88724 
	  88725 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1654
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88726   This is just a first stab -- these strings should match how the
	  88727   corresponding FTP servers identify themselves.
	  88728 */
       X  88729 #ifdef UNIX
       X  88730 static char * myostype = "UNIX";
       X  88731 #else
	  88732 #ifdef VMS
	  88733 /* not yet... */
	  88734 static char * myostype = "VMS";
       X  88735 #else
       X  88736 #ifdef OS2
       X  88737 #ifdef NT
       X  88738 static char * myostype = "WIN32";
       X  88739 #else
       X  88740 static char * myostype = "OS/2";
       X  88741 #endif /* NT */
       X  88742 #else
       X  88743 static char * myostype = "UNSUPPORTED";
       X  88744 #endif /* OS2  */
       X  88745 #endif /* VMS */
	  88746 #endif /* UNIX */
	  88747 
	  88748 static int noinit = 0;                  /* Don't send REST, STRU, MODE */
	  88749 static int alike = 0;                   /* Client/server like platforms */
	  88750 static int local = 1;                   /* Shadows Kermit global 'local' */
	  88751 static int dout = -1;                   /* Data connection file descriptor */
	  88752 static int dpyactive = 0;               /* Data transfer is active */
	  88753 static int globaldin = -1;              /* Data connection f.d. */
	  88754 static int out2screen = 0;              /* GET output is to screen */
	  88755 static int forcetype = 0;               /* Force text or binary mode */
	  88756 static int cancelfile = 0;              /* File canceled */
	  88757 static int cancelgroup = 0;             /* Group canceled */
	  88758 static int anonymous = 0;               /* Logging in as anonymous */
	  88759 static int loggedin = 0;                /* Logged in (or not) */
	  88760 static int puterror = 0;                /* What to do on PUT error */
	  88761 static int geterror = 0;                /* What to do on GET error */
	  88762 static int rfrc = 0;                    /* remote_files() return code */
	  88763 static int okrestart = 0;               /* Server understands REST */
	  88764 static int printlines = 0;              /* getreply()should print data lines */
	  88765 static int haveurl = 0;                 /* Invoked by command-line FTP URL */
	  88766 static int mdtmok = 1;			/* Server supports MDTM */
	  88767 static int sizeok = 1;
	  88768 static int featok = 1;
	  88769 static int mlstok = 1;
	  88770 static int stouarg = 1;
	  88771 static int typesent = 0;
	  88772 static int havesigint = 0;
	  88773 static long havetype =  0;
	  88774 static CK_OFF_T havesize = (CK_OFF_T)-1;
       E	        off_t
       E	                             off_t
	  88775 static char * havemdtm = NULL;
       E	                          ( ( void * ) 0 )
	  88776 static int mgetmethod = 0;		/* NLST or MLSD */
	  88777 static int mgetforced = 0;
	  88778 
	  88779 static int i, /* j, k, */ x, y, z;      /* Volatile temporaries */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1655
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88780 static int c0, c1;                      /* Temp variables for characters */
	  88781 
	  88782 static char putpath[CKMAXPATH+1] = { NUL, NUL };
       E	                     4095
       E	                                      '\0'
       E	                                           '\0'
	  88783 static char asnambuf[CKMAXPATH+1] = { NUL, NUL };
       E	                      4095
       E	                                       '\0'
       E	                                            '\0'
	  88784 
	  88785 #define RFNBUFSIZ 4096			/* Remote filename buffer size */
	  88786 
	  88787 static unsigned int maxbuf = 0, actualbuf = 0;
	  88788 static CHAR *ucbuf = NULL;
       E	        unsigned char
       E	                      ( ( void * ) 0 )
	  88789 static int ucbufsiz = 0;
	  88790 static unsigned int nout = 0;           /* Number of chars in ucbuf */
	  88791 
	  88792 static jmp_buf recvcancel;
	  88793 static jmp_buf sendcancel;
	  88794 static jmp_buf ptcancel;
	  88795 static jmp_buf jcancel;
	  88796 static int ptabflg = 0;
	  88797 
	  88798 /* Protection level symbols */
	  88799 
	  88800 #define FPL_CLR 1                       /* Clear */
	  88801 #define FPL_SAF 2                       /* Safe */
	  88802 #define FPL_PRV 3                       /* Private */
	  88803 #define FPL_CON 4                       /* Confidential */
	  88804 
	  88805 /* Symbols for file types returned by MLST/MLSD */
	  88806 
	  88807 #define FTYP_FILE 1			/* Regular file */
	  88808 #define FTYP_DIR  2			/* Directory */
	  88809 #define FTYP_CDIR 3			/* Current directory */
	  88810 #define FTYP_PDIR 4			/* Parent directory */
	  88811 
	  88812 /* File type symbols keyed to the file-type symbols from ckcker.h */
	  88813 
	  88814 #define FTT_ASC XYFT_T                  /* ASCII (text) */
	  88815 #define FTT_BIN XYFT_B                  /* Binary (image) */
	  88816 #define FTT_TEN XYFT_X                  /* TENEX (TOPS-20) */
	  88817 
	  88818 /* Server feature table - sfttab[0] > 0 means server supports FEAT and OPTS */
	  88819 
	  88820 static int sfttab[16] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
	  88821 
	  88822 #define SFT_AUTH  1			/* FTP server feature codes */
	  88823 #define SFT_LANG  2
	  88824 #define SFT_MDTM  3
	  88825 #define SFT_MLST  4
	  88826 #define SFT_PBSZ  5
	  88827 #define SFT_PROT  6
	  88828 #define SFT_REST  7

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1656
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88829 #define SFT_SIZE  8
	  88830 #define SFT_TVFS  9
	  88831 #define SFT_UTF8 10
	  88832 
	  88833 #define CNV_AUTO  2			/* FTP filename conversion */
	  88834 #define CNV_CNV   1
	  88835 #define CNV_LIT   0
	  88836 
	  88837 /* SET FTP values */
	  88838 
	  88839 static int                              /* SET FTP values... */
	  88840   ftp_aut = 1,                          /* Auto-authentication */
	  88841 #ifdef FTP_SECURITY
	  88842   ftp_cry = 1,                          /* Auto-encryption */
	  88843   ftp_cfw = 0,                          /* Credential forwarding */
	  88844 #endif /* FTP_SECURITY */
	  88845   ftp_cpl = FPL_CLR,                    /* Command protection level */
       E	             1
	  88846   ftp_dpl = FPL_CLR,                    /* Data protection level */
       E	             1
       X  88847 #ifdef FTP_PROXY
       X  88848   ftp_prx = 0,                          /* Use proxy */
       X  88849 #endif /* FTP_PROXY */
	  88850   sav_psv = -1,                         /* For saving passive mode */
	  88851   ftp_psv = 1,                          /* Passive mode */
	  88852   ftp_spc = 1,                          /* Send port commands */
	  88853   ftp_typ = FTT_ASC,                    /* Type */
       E	             0
	  88854   get_auto = 1,                         /* Automatic type switching for GET */
	  88855   tenex = 0,                            /* Type is Tenex */
	  88856   ftp_usn = 0,                          /* Unique server names */
	  88857   ftp_prm = 0,                          /* Permissions */
	  88858   ftp_cnv = CNV_AUTO,			/* Filename conversion (2 = auto) */
       E	             2
	  88859   ftp_vbm = DEF_VBM,                    /* Verbose mode */
       E	             0
	  88860   ftp_vbx = DEF_VBM,                    /* Sticky version of same */
       E	             0
	  88861   ftp_err = 0,                          /* Error action */
	  88862   ftp_fnc = -1;                         /* Filename collision action */
	  88863 
	  88864 #ifdef CK_SSL
	  88865 static int ftp_bug_use_ssl_v2 = 0;      /* use SSLv2 for AUTH SSL */
	  88866 static int ftp_bug_use_ssl_v3 = 0;	/* use SSLv3 for AUTH SSL */
	  88867 #endif /* CK_SSL */
	  88868 
	  88869 static int
       X  88870 #ifdef NOCSETS
       X  88871   ftp_csr = -1,                         /* Remote (server) character set */
       X  88872 #else
	  88873   ftp_csr = FC_UTF8,
       E	             46
	  88874 #endif /* NOCSETS */
	  88875   ftp_xla = 0;                          /* Character-set translation on/off */
	  88876 int
	  88877   ftp_csx = -1,                         /* Remote charset currently in use */
	  88878   ftp_csl = -1;                         /* Local charset currently in use */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1657
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88879 
	  88880 static int g_ftp_typ = FTT_ASC;         /* For saving and restoring ftp_typ */
       E	                        0
	  88881 
	  88882 char * ftp_nml = NULL;                  /* /NAMELIST */
       E	                  ( ( void * ) 0 )
	  88883 char * ftp_tmp = NULL;                  /* Temporary string */
       E	                  ( ( void * ) 0 )
	  88884 static char * ftp_acc = NULL;           /* Account string */
       E	                         ( ( void * ) 0 )
	  88885 static char * auth_type = NULL;         /* Authentication type */
       E	                           ( ( void * ) 0 )
	  88886 static char * srv_renam = NULL;         /* Server-rename string */
       E	                           ( ( void * ) 0 )
	  88887 FILE * fp_nml = NULL;                   /* Namelist file pointer */
       E	                 ( ( void * ) 0 )
	  88888 
	  88889 static int csocket = -1;                /* Control socket */
	  88890 static int connected = 0;               /* Connected to FTP server */
	  88891 /* static unsigned short ftp_port = 0; */ /* FTP port */ 
	  88892 /* static int ftp_port = 0; */		/* SMS 2007/02/15 */
	  88893 static int ftp_port = 0;		/* fdc 2007/08/30 */
       X  88894 #ifdef FTPHOST
       X  88895 static int hostcmd = 0;                 /* Has HOST command been sent */
       X  88896 #endif /* FTPHOST */
	  88897 static int form, mode, stru, bytesize, curtype = FTT_ASC;
       E	                                                  0
	  88898 static char bytename[8];
	  88899 
	  88900 /* For parsing replies to FTP server command */
	  88901 static char *reply_parse, reply_buf[FTP_BUFSIZ], *reply_ptr;
       E	                                     10240
	  88902 
       X  88903 #ifdef FTP_PROXY
       X  88904 static int proxy, unix_proxy
       X  88905 #endif /* FTP_PROXY */
	  88906 
	  88907 static char pasv[64];                   /* Passive-mode port */
	  88908 static int passivemode = 0;
	  88909 static int sendport = 0;
	  88910 static int servertype = 0;              /* FTP server's OS type */
	  88911 
	  88912 static int testing = 0;
	  88913 static char ftpcmdbuf[FTP_BUFSIZ];
       E	                       10240
	  88914 
	  88915 /* Macro definitions */
	  88916 
	  88917 #define UC(b) ckitoa(((int)b)&0xff)
	  88918 #define nz(x) ((x) == 0 ? 1 : (x))
	  88919 
	  88920 /* Command tables and definitions */
	  88921 
	  88922 #define FTP_ACC  1                      /* FTP command keyword codes */
	  88923 #define FTP_APP  2
	  88924 #define FTP_CWD  3
	  88925 #define FTP_CHM  4

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1658
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  88926 #define FTP_CLS  5
	  88927 #define FTP_DEL  6
	  88928 #define FTP_DIR  7
	  88929 #define FTP_GET  8
	  88930 #define FTP_IDL  9
	  88931 #define FTP_MDE 10
	  88932 #define FTP_MDI 11
	  88933 #define FTP_MGE 12
	  88934 #define FTP_MKD 13
	  88935 #define FTP_MOD 14
	  88936 #define FTP_MPU 15
	  88937 #define FTP_OPN 16
	  88938 #define FTP_PUT 17
	  88939 #define FTP_PWD 18
	  88940 #define FTP_RGE 19
	  88941 #define FTP_REN 20
	  88942 #define FTP_RES 21
	  88943 #define FTP_HLP 22
	  88944 #define FTP_RMD 23
	  88945 #define FTP_STA 24
	  88946 #define FTP_SIT 25
	  88947 #define FTP_SIZ 26
	  88948 #define FTP_SYS 27
	  88949 #define FTP_UMA 28
	  88950 #define FTP_GUP 29
	  88951 #define FTP_USR 30
	  88952 #define FTP_QUO 31
	  88953 #define FTP_TYP 32
	  88954 #define FTP_FEA 33
	  88955 #define FTP_OPT 34
	  88956 #define FTP_CHK 35
	  88957 #define FTP_VDI 36
	  88958 #define FTP_ENA 37
	  88959 #define FTP_DIS 38
	  88960 #define FTP_REP 39
	  88961 
	  88962 struct keytab gprtab[] = {              /* GET-PUT-REMOTE keywords */
	  88963     { "auto",    2, 0 },
	  88964     { "ftp",     1, 0 },
	  88965     { "kermit",  0, 0  }
	  88966 };
	  88967 
	  88968 static struct keytab qorp[] = {         /* QUIT or PROCEED keywords */
	  88969     { "proceed", 0, 0 },                /* 0 = proceed */
	  88970     { "quit",    1, 0 }                 /* 1 = quit */
	  88971 };
	  88972 
	  88973 static struct keytab ftpcmdtab[] = {    /* FTP command table */
	  88974     { "account",   FTP_ACC, 0 },
       E	                    1
	  88975     { "append",    FTP_APP, 0 },
       E	                    2
	  88976     { "bye",       FTP_CLS, 0 },
       E	                    5
	  88977     { "cd",        FTP_CWD, 0 },
       E	                    3
	  88978     { "cdup",      FTP_GUP, 0 },

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1659
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                    29
	  88979     { "check",     FTP_CHK, 0 },
       E	                    35
	  88980     { "chmod",     FTP_CHM, 0 },
       E	                    4
	  88981     { "close",     FTP_CLS, 0 },
       E	                    5
	  88982     { "cwd",       FTP_CWD, CM_INV },
       E	                    3
       E	                             1
	  88983     { "delete",    FTP_MDE, 0 },
       E	                    10
	  88984     { "directory", FTP_DIR, 0 },
       E	                    7
	  88985     { "disable",   FTP_DIS, 0 },
       E	                    38
	  88986     { "enable",    FTP_ENA, 0 },
       E	                    37
	  88987     { "features",  FTP_FEA, 0 },
       E	                    33
	  88988     { "get",       FTP_GET, 0 },
       E	                    8
	  88989     { "help",      FTP_HLP, 0 },
       E	                    22
	  88990     { "idle",      FTP_IDL, 0 },
       E	                    9
	  88991     { "login",     FTP_USR, CM_INV },
       E	                    30
       E	                             1
	  88992     { "mdelete",   FTP_MDE, CM_INV },
       E	                    10
       E	                             1
	  88993     { "mget",      FTP_MGE, 0 },
       E	                    12
	  88994     { "mkdir",     FTP_MKD, 0 },
       E	                    13
	  88995     { "modtime",   FTP_MOD, 0 },
       E	                    14
	  88996     { "mput",      FTP_MPU, 0 },
       E	                    15
	  88997     { "open",      FTP_OPN, 0 },
       E	                    16
	  88998     { "opt",       FTP_OPT, CM_INV|CM_ABR },
       E	                    34
       E	                             1
       E	                                    2
	  88999     { "opts",      FTP_OPT, CM_INV },
       E	                    34
       E	                             1
	  89000     { "options",   FTP_OPT, 0 },
       E	                    34
	  89001     { "put",       FTP_PUT, 0 },
       E	                    17
	  89002     { "pwd",       FTP_PWD, 0 },
       E	                    18
	  89003     { "quit",      FTP_CLS, CM_INV },
       E	                    5

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1660
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                             1
	  89004     { "quote",     FTP_QUO, 0 },
       E	                    31
	  89005     { "reget",     FTP_RGE, 0 },
       E	                    19
	  89006     { "rename",    FTP_REN, 0 },
       E	                    20
	  89007     { "reput",     FTP_REP, 0 },
       E	                    39
	  89008     { "resend",    FTP_REP, CM_INV },
       E	                    39
       E	                             1
	  89009     { "reset",     FTP_RES, 0 },
       E	                    21
	  89010     { "rmdir",     FTP_RMD, 0 },
       E	                    23
	  89011     { "send",      FTP_PUT, CM_INV },
       E	                    17
       E	                             1
	  89012     { "site",      FTP_SIT, 0 },
       E	                    25
	  89013     { "size",      FTP_SIZ, 0 },
       E	                    26
	  89014     { "status",    FTP_STA, 0 },
       E	                    24
	  89015     { "system",    FTP_SYS, 0 },
       E	                    27
	  89016     { "type",      FTP_TYP, 0 },
       E	                    32
	  89017     { "umask",     FTP_UMA, 0 },
       E	                    28
	  89018     { "up",        FTP_GUP, CM_INV },
       E	                    29
       E	                             1
	  89019     { "user",      FTP_USR, 0 },
       E	                    30
	  89020     { "vdirectory",FTP_VDI, 0 },
       E	                    36
	  89021     { "", 0, 0 }
	  89022 };
	  89023 static int nftpcmd = (sizeof(ftpcmdtab) / sizeof(struct keytab)) - 1;
	  89024 
	  89025 #define OPN_ANO 1			/* FTP OPEN switch codes */
	  89026 #define OPN_PSW 2
	  89027 #define OPN_USR 3
	  89028 #define OPN_ACC 4
	  89029 #define OPN_ACT 5
	  89030 #define OPN_PSV 6
	  89031 #define OPN_TLS 7
	  89032 #define OPN_NIN 8
	  89033 #define OPN_NOL 9
	  89034 
	  89035 #ifdef FTP_SECURITY
	  89036 #ifdef CK_SSL
	  89037 #define USETLSTAB
	  89038 static struct keytab tlstab[] = {       /* FTP SSL/TLS switches */
	  89039     { "/ssl",       OPN_TLS, 0    },

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1661
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                     7
	  89040     { "/tls",       OPN_TLS, 0    },
       E	                     7
	  89041     { "", 0, 0 }
	  89042 };
	  89043 static int ntlstab = (sizeof(tlstab) / sizeof(struct keytab)) - 1;
	  89044 #endif /* CK_SSL */
	  89045 #endif /* FTP_SECURITY */
	  89046 
	  89047 static struct keytab ftpswitab[] = {    /* FTP command switches */
	  89048     { "/account",   OPN_ACC, CM_ARG },
       E	                     4
       E	                              8
	  89049     { "/active",    OPN_ACT, 0      },
       E	                     5
	  89050     { "/anonymous", OPN_ANO, 0      },
       E	                     1
	  89051     { "/noinit",    OPN_NIN, 0      },
       E	                     8
	  89052     { "/nologin",   OPN_NOL, 0      },
       E	                     9
	  89053     { "/passive",   OPN_PSV, 0      },
       E	                     6
	  89054     { "/password",  OPN_PSW, CM_ARG },
       E	                     2
       E	                              8
	  89055     { "/user",      OPN_USR, CM_ARG },
       E	                     3
       E	                              8
	  89056     { "", 0, 0 }
	  89057 };
	  89058 static int nftpswi = (sizeof(ftpswitab) / sizeof(struct keytab)) - 1;
	  89059 
	  89060 /* FTP { ENABLE, DISABLE } items */
	  89061 
	  89062 #define ENA_FEAT 1
	  89063 #define ENA_MDTM 2
	  89064 #define ENA_MLST 3
	  89065 #define ENA_SIZE 4
	  89066 #define ENA_AUTH 5
	  89067 
	  89068 static struct keytab ftpenatab[] = {
	  89069     { "AUTH",  ENA_AUTH, 0 },
       E	                5
	  89070     { "FEAT",  ENA_FEAT, 0 },
       E	                1
	  89071     { "MDTM",  ENA_MDTM, 0 },
       E	                2
	  89072     { "ML",    ENA_MLST, CM_INV|CM_ABR },
       E	                3
       E	                          1
       E	                                 2
	  89073     { "MLS",   ENA_MLST, CM_INV|CM_ABR },
       E	                3
       E	                          1
       E	                                 2
	  89074     { "MLSD",  ENA_MLST, CM_INV },

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1662
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                3
       E	                          1
	  89075     { "MLST",  ENA_MLST, 0 },
       E	                3
	  89076     { "SIZE",  ENA_SIZE, 0 },
       E	                4
	  89077     { "", 0, 0 }
	  89078 };
	  89079 static int nftpena = (sizeof(ftpenatab) / sizeof(struct keytab)) - 1;
	  89080 
	  89081 /* SET FTP command keyword indices */
	  89082 
	  89083 #define FTS_AUT  1                      /* Autoauthentication */
	  89084 #define FTS_CRY  2                      /* Encryption */
	  89085 #define FTS_LOG  3                      /* Autologin */
	  89086 #define FTS_CPL  4                      /* Command protection level */
	  89087 #define FTS_CFW  5                      /* Credentials forwarding */
	  89088 #define FTS_DPL  6                      /* Data protection level */
	  89089 #define FTS_DBG  7                      /* Debugging */
	  89090 #define FTS_PSV  8                      /* Passive mode */
	  89091 #define FTS_SPC  9                      /* Send port commands */
	  89092 #define FTS_TYP 10                      /* (file) Type */
	  89093 #define FTS_USN 11                      /* Unique server names (for files) */
	  89094 #define FTS_VBM 12                      /* Verbose mode */
	  89095 #define FTS_ATP 13                      /* Authentication type */
	  89096 #define FTS_CNV 14                      /* Filename conversion */
	  89097 #define FTS_TST 15                      /* Test (progress) messages */
	  89098 #define FTS_PRM 16                      /* (file) Permissions */
	  89099 #define FTS_XLA 17                      /* Charset translation */
	  89100 #define FTS_CSR 18                      /* Server charset */
	  89101 #define FTS_ERR 19                      /* Error action */
	  89102 #define FTS_FNC 20                      /* Collision */
	  89103 #define FTS_SRP 21                      /* SRP options */
	  89104 #define FTS_GFT 22                      /* GET automatic file-type switching */
	  89105 #define FTS_DAT 23                      /* Set file dates */
	  89106 #define FTS_STO 24			/* Server time offset */
	  89107 #define FTS_APW 25			/* Anonymous password */
	  89108 #define FTS_DIS 26			/* File-transfer display style */
	  89109 #define FTS_BUG 27                      /* Bug(s) */
	  89110 #define FTS_TMO 28			/* Timeout */
	  89111 
	  89112 /* FTP BUGS */
	  89113 
	  89114 #define FTB_SV2  1                      /* use SSLv2 */
	  89115 #define FTB_SV3  2                      /* use SSLv3 */
	  89116 
	  89117 static struct keytab ftpbugtab[] = {
	  89118     { "use-ssl-v2",     FTB_SV2,        0 },
       E	                         1
	  89119     { "use-ssl-v3",	FTB_SV3,	0 }
       E	                     2
	  89120 
	  89121 };
	  89122 static int nftpbug = (sizeof(ftpbugtab) / sizeof(struct keytab));
	  89123 
	  89124 /* FTP PUT options (mutually exclusive, not a bitmask) */
	  89125 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1663
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89126 #define PUT_UPD 1                       /* Update */
	  89127 #define PUT_RES 2                       /* Restart */
	  89128 #define PUT_SIM 4                       /* Simulation */
	  89129 #define PUT_DIF 8			/* Dates Differ */
	  89130 
	  89131 static struct keytab ftpcolxtab[] = { /* SET FTP COLLISION options */
	  89132 #ifndef MAC
	  89133     { "append",    XYFX_A, 0 },         /* append to old file */
       E	                    3
	  89134 #endif /* MAC */
       X  89135 #ifdef COMMENT
       X  89136     { "ask",       XYFX_Q, 0 },         /* ask what to do (not implemented) */
       X  89137 #endif
	  89138     { "backup",    XYFX_B, 0 },         /* rename old file */
       E	                    2
	  89139 #ifndef MAC
	  89140     { "dates-differ", XYFX_M, 0 },	/* accept if dates differ */
       E	                       7
	  89141     { "discard",   XYFX_D, 0 },         /* don't accept new file */
       E	                    4
	  89142     { "no-supersede", XYFX_D, CM_INV }, /* ditto (MSK compatibility) */
       E	                       4
       E	                               1
	  89143 #endif /* MAC */
	  89144     { "overwrite", XYFX_X, 0 },         /* overwrite the old file */
       E	                    1
	  89145     { "rename",    XYFX_R, 0 },         /* rename the incoming file */
       E	                    0
	  89146 #ifndef MAC                             /* This crashes Mac Kermit. */
	  89147     { "update",    XYFX_U, 0 },         /* replace if newer */
       E	                    6
	  89148 #endif /* MAC */
	  89149     { "", 0, 0 }
	  89150 };
	  89151 static int nftpcolx = (sizeof(ftpcolxtab) / sizeof(struct keytab)) - 1;
	  89152 
	  89153 
	  89154 #ifdef FTP_SECURITY
	  89155 /* FTP authentication options */
	  89156 
	  89157 #define FTA_AUTO 0                      /* Auto */
	  89158 #define FTA_SRP  1                      /* SRP */
	  89159 #define FTA_GK5  2                      /* Kerberos 5 */
	  89160 #define FTA_K4   3                      /* Kerberos 4 */
	  89161 #define FTA_SSL  4                      /* SSL */
	  89162 #define FTA_TLS  5                      /* TLS */
	  89163 
	  89164 /* FTP authentication types */
	  89165 
	  89166 #define FTPATYPS 8
	  89167 static int ftp_auth_type[FTPATYPS] = {
       E	                          8
       X  89168 #ifdef FTP_GSSAPI
       X  89169     FTA_GK5,                            /* GSSAPI Kerberos 5 */
       X  89170 #endif /* FTP_GK5 */
       X  89171 #ifdef FTP_SRP
       X  89172     FTA_SRP,                            /* SRP */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1664
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  89173 #endif /* FTP_SRP */
       X  89174 #ifdef FTP_KRB4
       X  89175     FTA_K4,                             /* Kerberos 4 */
       X  89176 #endif /* FTP_KRB4 */
	  89177 #ifdef CK_SSL
	  89178     FTA_TLS,                            /* TLS */
       E	     5
	  89179     FTA_SSL,                            /* SSL */
       E	     4
	  89180 #endif /* CK_SSL */
	  89181     0
	  89182 };
	  89183 
	  89184 static struct keytab ftpauth[] = {      /* SET FTP AUTHTYPE cmd table */
	  89185     { "automatic", FTA_AUTO,  CM_INV },
       E	                    0
       E	                               1
       X  89186 #ifdef FTP_GSSAPI
       X  89187     { "gssapi-krb5", FTA_GK5, 0 },
       X  89188 #endif /* FTP_GSSAPI */
       X  89189 #ifdef FTP_KRB4
       X  89190     { "k4",       FTA_K4,     CM_INV },
       X  89191 #endif /* FTP_KRB4 */
       X  89192 #ifdef FTP_GSSAPI
       X  89193     { "k5",        FTA_GK5,   CM_INV },
       X  89194 #endif /* FTP_GSSAPI */
       X  89195 #ifdef FTP_KRB4
       X  89196     { "kerberos4", FTA_K4,    0 },
       X  89197 #endif /* FTP_KRB4 */
       X  89198 #ifdef FTP_GSSAPI
       X  89199     { "kerberos5", FTA_GK5,   CM_INV },
       X  89200 #endif /* FTP_GSSAPI */
       X  89201 #ifdef FTP_KRB4
       X  89202     { "kerberos_iv",FTA_K4,   CM_INV },
       X  89203 #endif /* FTP_KRB4 */
       X  89204 #ifdef FTP_GSSAPI
       X  89205     { "kerberos_v", FTA_GK5,  CM_INV },
       X  89206 #endif /* FTP_GSSAPI */
       X  89207 #ifdef FTP_KRB4
       X  89208     { "krb4",     FTA_K4,     CM_INV },
       X  89209 #endif /* FTP_KRB4 */
       X  89210 #ifdef FTP_GSSAPI
       X  89211     { "krb5",     FTA_GK5,    CM_INV },
       X  89212 #endif /* FTP_GSSAPI */
       X  89213 #ifdef FTP_SRP
       X  89214     { "srp",      FTA_SRP,     0 },
       X  89215 #endif /* FTP_SRP */
	  89216 #ifdef CK_SSL
	  89217     { "ssl",      FTA_SSL,     0 },
       E	                   4
	  89218     { "tls",      FTA_TLS,     0 },
       E	                   5
	  89219 #endif /* CK_SSL */
	  89220     { "", 0, 0 }
	  89221 };
	  89222 static int nftpauth = (sizeof(ftpauth) / sizeof(struct keytab)) - 1;
	  89223 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1665
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  89224 #ifdef FTP_SRP
       X  89225 #define SRP_CIPHER 1
       X  89226 #define SRP_HASH   2
       X  89227 static struct keytab ftpsrp[] = {      /* SET FTP SRP command table */
       X  89228     { "cipher",   SRP_CIPHER,     0 },
       X  89229     { "hash",     SRP_HASH,       0 },
       X  89230     { "", 0, 0 }
       X  89231 };
       X  89232 static int nftpsrp = (sizeof(ftpsrp) / sizeof(struct keytab)) - 1;
       X  89233 #endif /* FTP_SRP */
	  89234 #endif /* FTP_SECURITY */
	  89235 
	  89236 static struct keytab ftpset[] = {       /* SET FTP commmand table */
	  89237     { "anonymous-password",       FTS_APW, 0 },
       E	                                   25
	  89238 #ifdef FTP_SECURITY
	  89239     { "authtype",                 FTS_ATP, 0 },
       E	                                   13
	  89240     { "autoauthentication",       FTS_AUT, 0 },
       E	                                   1
	  89241     { "autoencryption",           FTS_CRY, 0 },
       E	                                   2
	  89242 #endif /* FTP_SECURITY */
	  89243     { "autologin",                FTS_LOG, 0 },
       E	                                   3
	  89244     { "bug",                      FTS_BUG, 0 },
       E	                                   27
	  89245 #ifndef NOCSETS
	  89246     { "character-set-translation",FTS_XLA, 0 },
       E	                                   17
	  89247 #endif /* NOCSETS */
	  89248     { "collision",                FTS_FNC, 0 },
       E	                                   20
	  89249 #ifdef FTP_SECURITY
	  89250     { "command-protection-level", FTS_CPL, 0 },
       E	                                   4
	  89251     { "cpl",                      FTS_CPL, CM_INV },
       E	                                   4
       E	                                            1
	  89252     { "credential-forwarding",    FTS_CFW, 0 },
       E	                                   5
	  89253     { "da",                       FTS_DAT, CM_INV|CM_ABR },
       E	                                   23
       E	                                            1
       E	                                                   2
	  89254     { "data-protection-level",    FTS_DPL, 0 },
       E	                                   6
	  89255 #endif /* FTP_SECURITY */
	  89256     { "dates",                    FTS_DAT, 0 },
       E	                                   23
	  89257     { "debug",                    FTS_DBG, 0 },
       E	                                   7
	  89258     { "display",                  FTS_DIS, 0 },
       E	                                   26
	  89259 #ifdef FTP_SECURITY
	  89260     { "dpl",                      FTS_DPL, CM_INV },
       E	                                   6

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1666
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                            1
	  89261 #endif /* FTP_SECURITY */
	  89262     { "error-action",             FTS_ERR, 0 },
       E	                                   19
	  89263     { "filenames",                FTS_CNV, 0 },
       E	                                   14
	  89264     { "get-filetype-switching",   FTS_GFT, 0 },
       E	                                   22
	  89265     { "passive-mode",             FTS_PSV, 0 },
       E	                                   8
	  89266     { "pasv",                     FTS_PSV, CM_INV },
       E	                                   8
       E	                                            1
	  89267     { "permissions",              FTS_PRM, 0 },
       E	                                   16
	  89268     { "progress-messages",        FTS_TST, 0 },
       E	                                   15
	  89269     { "send-port-commands",       FTS_SPC, 0 },
       E	                                   9
	  89270 #ifndef NOCSETS
	  89271     { "server-character-set",     FTS_CSR, 0 },
       E	                                   18
	  89272 #endif /* NOCSETS */
	  89273     { "server-time-offset",       FTS_STO, 0 },
       E	                                   24
       X  89274 #ifdef FTP_SRP
       X  89275     { "srp",                      FTS_SRP, 0 },
       X  89276 #else
	  89277     { "srp",                      FTS_SRP, CM_INV },
       E	                                   21
       E	                                            1
	  89278 #endif /* FTP_SRP */
	  89279 #ifdef FTP_TIMEOUT
	  89280     { "timeout",                  FTS_TMO, 0 },
       E	                                   28
	  89281 #endif	/* FTP_TIMEOUT */
	  89282     { "type",                     FTS_TYP, 0 },
       E	                                   10
	  89283     { "unique-server-names",      FTS_USN, 0 },
       E	                                   11
	  89284     { "verbose-mode",             FTS_VBM, 0 },
       E	                                   12
	  89285     { "", 0, 0 }
	  89286 };
	  89287 static int nftpset = (sizeof(ftpset) / sizeof(struct keytab)) - 1;
	  89288 
	  89289 /*
	  89290   GET and PUT switches are approximately the same as Kermit GET and SEND,
	  89291   and use the same SND_xxx definitions, but hijack a couple for FTP use.
	  89292   Don't just make up new ones, since the number of SND_xxx options must be
	  89293   known in advance for the switch-parsing arrays.
	  89294 */
	  89295 #define SND_USN SND_PRO                 /* /UNIQUE instead of /PROTOCOL */
	  89296 #define SND_PRM SND_PIP                 /* /PERMISSIONS instead of /PIPES */
	  89297 #define SND_TEN SND_CAL                 /* /TENEX instead of /CALIBRATE */
	  89298 
	  89299 static struct keytab putswi[] = {       /* FTP PUT switch table */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1667
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89300     { "/after",                SND_AFT, CM_ARG },
       E	                                6
       E	                                         8
	  89301 #ifdef PUTARRAY
	  89302     { "/array",                SND_ARR, CM_ARG },
       E	                                31
       E	                                         8
	  89303 #endif /* PUTARRAY */
	  89304     { "/as",                   SND_ASN, CM_ARG|CM_INV|CM_ABR },
       E	                                16
       E	                                         8
       E	                                                1
       E	                                                       2
	  89305     { "/as-name",              SND_ASN, CM_ARG },
       E	                                16
       E	                                         8
	  89306     { "/ascii",                SND_TXT, CM_INV },
       E	                                12
       E	                                         1
	  89307     { "/b",                    SND_BIN, CM_INV|CM_ABR },
       E	                                0
       E	                                         1
       E	                                                2
	  89308     { "/before",               SND_BEF, CM_ARG },
       E	                                5
       E	                                         8
	  89309     { "/binary",               SND_BIN, 0 },
       E	                                0
       X  89310 #ifdef PUTPIPE
       X  89311     { "/command",              SND_CMD, CM_PSH },
       X  89312 #endif /* PUTPIPE */
       X  89313 #ifdef COMMENT
       X  89314 /* This works but it's dangerous */
       X  89315 #ifdef DOUPDATE
       X  89316     { "/dates-differ",         SND_DIF, CM_INV },
       X  89317 #endif /* DOUPDATE */
       X  89318 #endif /* COMMENT */
	  89319     { "/delete",               SND_DEL, 0 },
       E	                                1
       X  89320 #ifdef UNIXOROSK
       X  89321     { "/dotfiles",             SND_DOT, 0 },
       X  89322 #endif /* UNIXOROSK */
	  89323     { "/error-action",         SND_ERR, CM_ARG },
       E	                                35
       E	                                         8
	  89324     { "/except",               SND_EXC, CM_ARG },
       E	                                2
       E	                                         8
	  89325     { "/filenames",            SND_NAM, CM_ARG },
       E	                                23
       E	                                         8
       X  89326 #ifdef PIPESEND
       X  89327 #ifndef NOSPL
       X  89328     { "/filter",               SND_FLT, CM_ARG|CM_PSH },
       X  89329 #endif /* NOSPL */
       X  89330 #endif /* PIPESEND */
       X  89331 #ifdef CKSYMLINK

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1668
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  89332     { "/followlinks",          SND_LNK, 0 },
       X  89333 #endif /* CKSYMLINK */
	  89334 #ifdef VMS
	  89335     { "/image",                SND_IMG, 0 },
       E	                                17
       X  89336 #else
       X  89337     { "/image",                SND_BIN, CM_INV },
       X  89338 #endif /* VMS */
	  89339     { "/larger-than",          SND_LAR, CM_ARG },
       E	                                3
       E	                                         8
	  89340     { "/listfile",             SND_FIL, CM_ARG },
       E	                                27
       E	                                         8
	  89341 #ifndef NOCSETS
	  89342     { "/local-character-set",  SND_CSL, CM_ARG },
       E	                                36
       E	                                         8
	  89343 #endif /* NOCSETS */
	  89344 #ifdef CK_TMPDIR
	  89345     { "/move-to",              SND_MOV, CM_ARG },
       E	                                24
       E	                                         8
	  89346 #endif /* CK_TMPDIR */
	  89347     { "/nobackupfiles",        SND_NOB, 0 },
       E	                                28
       X  89348 #ifdef UNIXOROSK
       X  89349     { "/nodotfiles",           SND_NOD, 0 },
       X  89350 #endif /* UNIXOROSK */
       X  89351 #ifdef CKSYMLINK
       X  89352     { "/nofollowlinks",        SND_NLK, 0 },
       X  89353 #endif /* CKSYMLINK */
	  89354 
	  89355     { "/not-after",            SND_NAF, CM_ARG },
       E	                                19
       E	                                         8
	  89356     { "/not-before",           SND_NBE, CM_ARG },
       E	                                20
       E	                                         8
       X  89357 #ifdef UNIX
       X  89358     { "/permissions",          SND_PRM, CM_ARG },
       X  89359 #else
	  89360     { "/permissions",          SND_PRM, CM_ARG|CM_INV },
       E	                                34
       E	                                         8
       E	                                                1
	  89361 #endif /* UNIX */
	  89362     { "/quiet",                SND_SHH, 0 },
       E	                                8
	  89363 #ifdef FTP_RESTART
	  89364     { "/recover",              SND_RES, 0 },
       E	                                14
	  89365 #endif /* FTP_RESTART */
	  89366 #ifdef RECURSIVE
	  89367     { "/recursive",            SND_REC, 0 },
       E	                                9
	  89368 #endif /* RECURSIVE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1669
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89369     { "/rename-to",            SND_REN, CM_ARG },
       E	                                25
       E	                                         8
	  89370 #ifdef FTP_RESTART
	  89371     { "/restart",              SND_RES, CM_INV },
       E	                                14
       E	                                         1
	  89372 #endif /* FTP_RESTART */
	  89373 #ifndef NOCSETS
	  89374     { "/server-character-set", SND_CSR, CM_ARG },
       E	                                37
       E	                                         8
	  89375 #endif /* NOCSETS */
	  89376     { "/server-rename-to",     SND_SRN, CM_ARG },
       E	                                41
       E	                                         8
	  89377     { "/simulate",             SND_SIM, 0 },
       E	                                44
	  89378     { "/since",                SND_AFT, CM_INV|CM_ARG },
       E	                                6
       E	                                         1
       E	                                                8
	  89379     { "/smaller-than",         SND_SMA, CM_ARG },
       E	                                10
       E	                                         8
       X  89380 #ifdef COMMENT
       X  89381     { "/starting-at",          SND_STA, CM_ARG },
       X  89382 #endif /* COMMENT */
	  89383 #ifdef RECURSIVE
	  89384     { "/subdirectories",       SND_REC, CM_INV },
       E	                                9
       E	                                         1
	  89385 #endif /* RECURSIVE */
	  89386     { "/tenex",                SND_TEN, 0 },
       E	                                26
	  89387     { "/text",                 SND_TXT, 0 },
       E	                                12
	  89388 #ifndef NOCSETS
	  89389     { "/transparent",          SND_XPA, 0 },
       E	                                33
	  89390 #endif /* NOCSETS */
	  89391     { "/type",                 SND_TYP, CM_ARG },
       E	                                32
       E	                                         8
	  89392 #ifdef DOUPDATE
	  89393     { "/update",               SND_UPD, 0 },
       E	                                38
	  89394 #endif /* DOUPDATE */
	  89395     { "/unique-server-names",  SND_USN, 0 },
       E	                                15
	  89396     { "", 0, 0 }
	  89397 };
	  89398 static int nputswi = (sizeof(putswi) / sizeof(struct keytab)) - 1;
	  89399 
	  89400 static struct keytab getswi[] = {       /* FTP [M]GET switch table */
	  89401     { "/after",                SND_AFT, CM_INV },
       E	                                6

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1670
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                         1
	  89402     { "/as",                   SND_ASN, CM_ARG|CM_INV|CM_ABR },
       E	                                16
       E	                                         8
       E	                                                1
       E	                                                       2
	  89403     { "/as-name",              SND_ASN, CM_ARG },
       E	                                16
       E	                                         8
	  89404     { "/ascii",                SND_TXT, CM_INV },
       E	                                12
       E	                                         1
	  89405     { "/before",               SND_BEF, CM_INV },
       E	                                5
       E	                                         1
	  89406     { "/binary",               SND_BIN, 0 },
       E	                                0
	  89407     { "/collision",            SND_COL, CM_ARG },
       E	                                39
       E	                                         8
       X  89408 #ifdef PUTPIPE
       X  89409     { "/command",              SND_CMD, CM_PSH },
       X  89410 #endif /* PUTPIPE */
	  89411     { "/delete",               SND_DEL, 0 },
       E	                                1
	  89412     { "/error-action",         SND_ERR, CM_ARG },
       E	                                35
       E	                                         8
	  89413     { "/except",               SND_EXC, CM_ARG },
       E	                                2
       E	                                         8
	  89414     { "/filenames",            SND_NAM, CM_ARG },
       E	                                23
       E	                                         8
       X  89415 #ifdef PIPESEND
       X  89416 #ifndef NOSPL
       X  89417     { "/filter",               SND_FLT, CM_ARG|CM_PSH },
       X  89418 #endif /* NOSPL */
       X  89419 #endif /* PIPESEND */
	  89420 #ifdef VMS
	  89421     { "/image",                SND_IMG, 0 },
       E	                                17
       X  89422 #else
       X  89423     { "/image",                SND_BIN, CM_INV },
       X  89424 #endif /* VMS */
	  89425     { "/larger-than",          SND_LAR, CM_ARG },
       E	                                3
       E	                                         8
	  89426     { "/listfile",             SND_FIL, CM_ARG },
       E	                                27
       E	                                         8
	  89427 #ifndef NOCSETS
	  89428     { "/local-character-set",  SND_CSL, CM_ARG },
       E	                                36
       E	                                         8
	  89429 #endif /* NOCSETS */
	  89430     { "/match",                SND_PAT, CM_ARG },

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1671
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                46
       E	                                         8
	  89431     { "/ml",                   SND_MLS, CM_INV|CM_ABR },
       E	                                48
       E	                                         1
       E	                                                2
	  89432     { "/mls",                  SND_MLS, CM_INV|CM_ABR },
       E	                                48
       E	                                         1
       E	                                                2
	  89433     { "/mlsd",                 SND_MLS, 0 },
       E	                                48
	  89434     { "/mlst",                 SND_MLS, CM_INV },
       E	                                48
       E	                                         1
	  89435 #ifdef CK_TMPDIR
	  89436     { "/move-to",              SND_MOV, CM_ARG },
       E	                                24
       E	                                         8
	  89437 #endif /* CK_TMPDIR */
	  89438     { "/namelist",             SND_NML, CM_ARG },
       E	                                40
       E	                                         8
	  89439     { "/nlst",                 SND_NLS, 0 },
       E	                                47
	  89440     { "/nobackupfiles",        SND_NOB, 0 },
       E	                                28
	  89441     { "/nodotfiles",           SND_NOD, 0 },
       E	                                30
	  89442 #ifdef DOUPDATE
	  89443     { "/dates-differ",         SND_DIF, CM_INV },
       E	                                45
       E	                                         1
	  89444 #endif /* DOUPDATE */
	  89445     { "/not-after",            SND_NAF, CM_INV },
       E	                                19
       E	                                         1
	  89446     { "/not-before",           SND_NBE, CM_INV },
       E	                                20
       E	                                         1
	  89447     { "/permissions",          SND_PRM, CM_INV },
       E	                                34
       E	                                         1
	  89448     { "/quiet",                SND_SHH, 0 },
       E	                                8
	  89449 #ifdef FTP_RESTART
	  89450     { "/recover",              SND_RES, 0 },
       E	                                14
	  89451 #endif /* FTP_RESTART */
	  89452 #ifdef RECURSIVE
	  89453     { "/recursive",            SND_REC, 0 },
       E	                                9
	  89454 #endif /* RECURSIVE */
	  89455     { "/rename-to",            SND_REN, CM_ARG },
       E	                                25
       E	                                         8
	  89456 #ifdef FTP_RESTART

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1672
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89457     { "/restart",              SND_RES, CM_INV },
       E	                                14
       E	                                         1
	  89458 #endif /* FTP_RESTART */
	  89459 #ifndef NOCSETS
	  89460     { "/server-character-set", SND_CSR, CM_ARG },
       E	                                37
       E	                                         8
	  89461 #endif /* NOCSETS */
	  89462     { "/server-rename-to",     SND_SRN, CM_ARG },
       E	                                41
       E	                                         8
	  89463     { "/smaller-than",         SND_SMA, CM_ARG },
       E	                                10
       E	                                         8
	  89464 #ifdef RECURSIVE
	  89465     { "/subdirectories",       SND_REC, CM_INV },
       E	                                9
       E	                                         1
	  89466 #endif /* RECURSIVE */
	  89467     { "/text",                 SND_TXT, 0 },
       E	                                12
	  89468     { "/tenex",                SND_TEN, 0 },
       E	                                26
	  89469 #ifndef NOCSETS
	  89470     { "/transparent",          SND_XPA, 0 },
       E	                                33
	  89471 #endif /* NOCSETS */
	  89472     { "/to-screen",            SND_MAI, 0 },
       E	                                4
	  89473 #ifdef DOUPDATE
	  89474     { "/update",               SND_UPD, CM_INV },
       E	                                38
       E	                                         1
	  89475 #endif /* DOUPDATE */
	  89476     { "", 0, 0 }
	  89477 };
	  89478 static int ngetswi = (sizeof(getswi) / sizeof(struct keytab)) - 1;
	  89479 
	  89480 static struct keytab delswi[] = {       /* FTP [M]DELETE switch table */
	  89481     { "/error-action",         SND_ERR, CM_ARG },
       E	                                35
       E	                                         8
	  89482     { "/except",               SND_EXC, CM_ARG },
       E	                                2
       E	                                         8
	  89483     { "/filenames",            SND_NAM, CM_ARG },
       E	                                23
       E	                                         8
	  89484     { "/larger-than",          SND_LAR, CM_ARG },
       E	                                3
       E	                                         8
	  89485     { "/nobackupfiles",        SND_NOB, 0 },
       E	                                28
       X  89486 #ifdef UNIXOROSK
       X  89487     { "/nodotfiles",           SND_NOD, 0 },
       X  89488 #endif /* UNIXOROSK */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1673
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89489     { "/quiet",                SND_SHH, 0 },
       E	                                8
	  89490 #ifdef RECURSIVE
	  89491     { "/recursive",            SND_REC, 0 },
       E	                                9
	  89492 #endif /* RECURSIVE */
	  89493     { "/smaller-than",         SND_SMA, CM_ARG },
       E	                                10
       E	                                         8
	  89494 #ifdef RECURSIVE
	  89495     { "/subdirectories",       SND_REC, CM_INV },
       E	                                9
       E	                                         1
	  89496 #endif /* RECURSIVE */
	  89497     { "", 0, 0 }
	  89498 };
	  89499 static int ndelswi = (sizeof(delswi) / sizeof(struct keytab)) - 1;
	  89500 
	  89501 static struct keytab fntab[] = {        /* Filename conversion keyword table */
	  89502     { "automatic",    2, CNV_AUTO },
       E	                          2
	  89503     { "converted",    1, CNV_CNV  },
       E	                          1
	  89504     { "literal",      0, CNV_LIT  }
       E	                          0
	  89505 };
	  89506 static int nfntab = (sizeof(fntab) / sizeof(struct keytab));
	  89507 
	  89508 static struct keytab ftptyp[] = {       /* SET FTP TYPE table */
	  89509     { "ascii",        FTT_ASC, 0 },
       E	                       0
	  89510     { "binary",       FTT_BIN, 0 },
       E	                       1
	  89511     { "tenex",        FTT_TEN, 0 },
       E	                       6
	  89512     { "text",         FTT_ASC, CM_INV },
       E	                       0
       E	                                1
	  89513     { "", 0, 0 }
	  89514 };
	  89515 static int nftptyp = (sizeof(ftptyp) / sizeof(struct keytab)) - 1;
	  89516 
	  89517 #ifdef FTP_SECURITY
	  89518 static struct keytab ftppro[] = {       /* SET FTP PROTECTION-LEVEL table */
	  89519     { "clear",        FPL_CLR, 0 },
       E	                       1
	  89520     { "confidential", FPL_CON, 0 },
       E	                       4
	  89521     { "private",      FPL_PRV, 0 },
       E	                       3
	  89522     { "safe",         FPL_SAF, 0 },
       E	                       2
	  89523     { "", 0, 0 }
	  89524 };
	  89525 static int nftppro = (sizeof(ftppro) / sizeof(struct keytab)) - 1;
	  89526 #endif /* FTP_SECURITY */
	  89527 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1674
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89528 /* Definitions for FTP from RFC765. */
	  89529 
	  89530 /* Reply codes */
	  89531 
	  89532 #define REPLY_PRELIM    1               /* Positive preliminary */
	  89533 #define REPLY_COMPLETE  2               /* Positive completion */
	  89534 #define REPLY_CONTINUE  3               /* Positive intermediate */
	  89535 #define REPLY_TRANSIENT 4               /* Transient negative completion */
	  89536 #define REPLY_ERROR     5               /* Permanent negative completion */
	  89537 #define REPLY_SECURE    6               /* Security encoded message */
	  89538 
	  89539 /* Form codes and names */
	  89540 
	  89541 #define FORM_N 1                        /* Non-print */
	  89542 #define FORM_T 2                        /* Telnet format effectors */
	  89543 #define FORM_C 3                        /* Carriage control (ASA) */
	  89544 
	  89545 /* Structure codes and names */
	  89546 
	  89547 #define STRU_F 1                        /* File (no record structure) */
	  89548 #define STRU_R 2                        /* Record structure */
	  89549 #define STRU_P 3                        /* Page structure */
	  89550 
	  89551 /* Mode types and names */
	  89552 
	  89553 #define MODE_S 1                        /* Stream */
	  89554 #define MODE_B 2                        /* Block */
	  89555 #define MODE_C 3                        /* Compressed */
	  89556 
	  89557 /* Protection levels and names */
	  89558 
	  89559 #define PROT_C 1                        /* Clear */
	  89560 #define PROT_S 2                        /* Safe */
	  89561 #define PROT_P 3                        /* Private */
	  89562 #define PROT_E 4                        /* Confidential */
	  89563 
       X  89564 #ifdef COMMENT                          /* Not used */
       X  89565 #ifdef FTP_NAMES
       X  89566 char *strunames[]  =  {"0", "File",     "Record", "Page" };
       X  89567 char *formnames[]  =  {"0", "Nonprint", "Telnet", "Carriage-control" };
       X  89568 char *modenames[]  =  {"0", "Stream",   "Block",  "Compressed" };
       X  89569 char *levelnames[] =  {"0", "Clear",    "Safe",   "Private",  "Confidential" };
       X  89570 #endif /* FTP_NAMES */
       X  89571 
       X  89572 /* Record Tokens */
       X  89573 
       X  89574 #define REC_ESC '\377'                  /* Record-mode Escape */
       X  89575 #define REC_EOR '\001'                  /* Record-mode End-of-Record */
       X  89576 #define REC_EOF '\002'                  /* Record-mode End-of-File */
       X  89577 
       X  89578 /* Block Header */
       X  89579 
       X  89580 #define BLK_EOR           0x80          /* Block is End-of-Record */
       X  89581 #define BLK_EOF           0x40          /* Block is End-of-File */
       X  89582 #define BLK_REPLY_ERRORS  0x20          /* Block might have errors */
       X  89583 #define BLK_RESTART       0x10          /* Block is Restart Marker */
       X  89584 #define BLK_BYTECOUNT 2                 /* Bytes in this block */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1675
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  89585 #endif /* COMMENT */
	  89586 
	  89587 #define RADIX_ENCODE 0                  /* radix_encode() function codes */
	  89588 #define RADIX_DECODE 1
	  89589 
	  89590 /*
	  89591   The default setpbsz() value in the Unix FTP client is 1<<20 (1MB).  This
	  89592   results in a serious performance degradation due to the increased number
	  89593   of page faults and the inability to overlap encrypt/decrypt, file i/o, and
	  89594   network i/o.  So instead we set the value to 1<<13 (8K), about half the size
	  89595   of the typical TCP window.  Maybe we should add a command to allow the value
	  89596   to be changed.
	  89597 */
	  89598 #define DEFAULT_PBSZ 1<<13
	  89599 
	  89600 /* Prototypes */
	  89601 
	  89602 _PROTOTYP(int remtxt, (char **) );
       E	 int remtxt ( char * * )
	  89603 _PROTOTYP(char * gskreason, (int) );
       E	 char * gskreason ( int )
	  89604 _PROTOTYP(static int ftpclose,(void));
       E	 static int ftpclose ( void )
	  89605 _PROTOTYP(static int zzsend, (int, CHAR));
       E	 static int zzsend ( int , unsigned char )
	  89606 _PROTOTYP(static int getreply,(int,int,int,int,int));
       E	 static int getreply ( int , int , int , int , int )
	  89607 _PROTOTYP(static int radix_encode,(CHAR[], CHAR[], int, int *, int));
       E	 static int radix_encode ( unsigned char [ ] , unsigned char [ ] , int , int * , int )
	  89608 _PROTOTYP(static int setpbsz,(unsigned int));
       E	 static int setpbsz ( unsigned int )
	  89609 _PROTOTYP(static int recvrequest,(char *,char *,char *,char *,
       E	 static int recvrequest ( char * , char * , char * , char * , int , int , char * , int , int , int )
	  89610   int,int,char *,int,int,int));
	  89611 _PROTOTYP(static int ftpcmd,(char *,char *,int,int,int));
       E	 static int ftpcmd ( char * , char * , int , int , int )
	  89612 _PROTOTYP(static int fts_cpl,(int));
       E	 static int fts_cpl ( int )
	  89613 _PROTOTYP(static int fts_dpl,(int));
       E	 static int fts_dpl ( int )
	  89614 #ifdef FTP_SECURITY
	  89615 _PROTOTYP(static int ftp_auth, (void));
       E	 static int ftp_auth ( void )
	  89616 #endif /* FTP_SECURITY */
	  89617 _PROTOTYP(static int ftp_user, (char *, char *, char *));
       E	 static int ftp_user ( char * , char * , char * )
	  89618 _PROTOTYP(static int ftp_login, (char *));
       E	 static int ftp_login ( char * )
	  89619 _PROTOTYP(static int ftp_reset, (void));
       E	 static int ftp_reset ( void )
	  89620 _PROTOTYP(static int ftp_rename, (char *, char *));
       E	 static int ftp_rename ( char * , char * )
	  89621 _PROTOTYP(static int ftp_umask, (char *));
       E	 static int ftp_umask ( char * )
	  89622 _PROTOTYP(static int secure_flush, (int));
       E	 static int secure_flush ( int )
       X  89623 #ifdef COMMENT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1676
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  89624 _PROTOTYP(static int secure_putc, (char, int));
       X  89625 #endif /* COMMENT */
	  89626 _PROTOTYP(static int secure_write, (int, CHAR *, unsigned int));
       E	 static int secure_write ( int , unsigned char * , unsigned int )
	  89627 _PROTOTYP(static int scommand, (char *));
       E	 static int scommand ( char * )
	  89628 _PROTOTYP(static int secure_putbuf, (int, CHAR *, unsigned int));
       E	 static int secure_putbuf ( int , unsigned char * , unsigned int )
	  89629 _PROTOTYP(static int secure_getc, (int, int));
       E	 static int secure_getc ( int , int )
	  89630 _PROTOTYP(static int secure_getbyte, (int, int));
       E	 static int secure_getbyte ( int , int )
	  89631 _PROTOTYP(static int secure_read, (int, char *, int));
       E	 static int secure_read ( int , char * , int )
	  89632 _PROTOTYP(static int initconn, (void));
       E	 static int initconn ( void )
	  89633 _PROTOTYP(static int dataconn, (char *));
       E	 static int dataconn ( char * )
	  89634 _PROTOTYP(static int setprotbuf,(unsigned int));
       E	 static int setprotbuf ( unsigned int )
	  89635 _PROTOTYP(static int sendrequest, (char *, char *, char *, int,int,int,int));
       E	 static int sendrequest ( char * , char * , char * , int , int , int , int )
	  89636 
	  89637 _PROTOTYP(static char * radix_error,(int));
       E	 static char * radix_error ( int )
	  89638 _PROTOTYP(static char * ftp_hookup,(char *, int, int));
       E	 static char * ftp_hookup ( char * , int , int )
	  89639 _PROTOTYP(static CHAR * remote_files, (int, CHAR *, CHAR *, int));
       E	 static unsigned char * remote_files ( int , unsigned char * , unsigned char * , int )
	  89640 
	  89641 _PROTOTYP(static VOID mlsreset, (void));
       E	 static void mlsreset ( void )
	  89642 _PROTOTYP(static VOID secure_error, (char *fmt, ...));
       E	 static void secure_error ( char * fmt , ... )
	  89643 _PROTOTYP(static VOID lostpeer, (void));
       E	 static void lostpeer ( void )
	  89644 _PROTOTYP(static VOID cancel_remote, (int));
       E	 static void cancel_remote ( int )
	  89645 _PROTOTYP(static VOID changetype, (int, int));
       E	 static void changetype ( int , int )
	  89646 
	  89647 _PROTOTYP(static sigtype cmdcancel, (int));
       E	 static void cmdcancel ( int )
	  89648 
       X  89649 #ifdef FTP_SRP
       X  89650 _PROTOTYP(static int srp_reset, ());
       X  89651 _PROTOTYP(static int srp_ftp_auth, (char *,char *,char *));
       X  89652 _PROTOTYP(static int srp_put, (CHAR *, CHAR **, int, int *));
       X  89653 _PROTOTYP(static int srp_get, (CHAR **, CHAR **, int *, int *));
       X  89654 _PROTOTYP(static int srp_encode, (int, CHAR *, CHAR *, unsigned int));
       X  89655 _PROTOTYP(static int srp_decode, (int, CHAR *, CHAR *, unsigned int));
       X  89656 _PROTOTYP(static int srp_selcipher, (char *));
       X  89657 _PROTOTYP(static int srp_selhash, (char *));
       X  89658 #endif /* FTP_SRP */
	  89659 
       X  89660 #ifdef FTP_GSSAPI
       X  89661 _PROTOTYP(static void user_gss_error,(OM_uint32, OM_uint32,char *));

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1677
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  89662 #endif /* FTP_GSSAPI */
	  89663 
	  89664 /*  D O F T P A R G  --  Do an FTP command-line argument.  */
	  89665 
	  89666 #ifdef FTP_SECURITY
	  89667 #ifndef NOICP
	  89668 #define FT_NOGSS   1
	  89669 #define FT_NOK4    2
	  89670 #define FT_NOSRP   3
	  89671 #define FT_NOSSL   4
	  89672 #define FT_NOTLS   5
	  89673 #define FT_CERTFI  6
	  89674 #define FT_OKCERT  7
	  89675 #define FT_DEBUG   8
	  89676 #define FT_KEY     9
	  89677 #define FT_SECURE 10
	  89678 #define FT_VERIFY 11
	  89679 
	  89680 static struct keytab ftpztab[] = {
	  89681     { "!gss",    FT_NOGSS,  0 },
       E	                  1
	  89682     { "!krb4",   FT_NOK4,   0 },
       E	                  2
	  89683     { "!srp",    FT_NOSRP,  0 },
       E	                  3
	  89684     { "!ssl",    FT_NOSSL,  0 },
       E	                  4
	  89685     { "!tls",    FT_NOTLS,  0 },
       E	                  5
	  89686     { "cert",    FT_CERTFI, CM_ARG },
       E	                  6
       E	                             8
	  89687     { "certsok", FT_OKCERT, 0 },
       E	                  7
	  89688     { "debug",   FT_DEBUG,  0 },
       E	                  8
	  89689     { "key",     FT_KEY,    CM_ARG },
       E	                  9
       E	                             8
	  89690     { "nogss",   FT_NOGSS,  0 },
       E	                  1
	  89691     { "nokrb4",  FT_NOK4,   0 },
       E	                  2
	  89692     { "nosrp",   FT_NOSRP,  0 },
       E	                  3
	  89693     { "nossl",   FT_NOSSL,  0 },
       E	                  4
	  89694     { "notls",   FT_NOTLS,  0 },
       E	                  5
       X  89695 #ifdef COMMENT
       X  89696     { "secure",  FT_SECURE, 0 },
       X  89697 #endif /* COMMENT */
	  89698     { "verify",  FT_VERIFY, CM_ARG },
       E	                  11
       E	                             8
	  89699     { "", 0, 0 }
	  89700 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1678
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89701 static int nftpztab = sizeof(ftpztab) / sizeof(struct keytab) - 1;
	  89702 
	  89703 /*
	  89704   The following cipher and hash tables should be replaced with
	  89705   dynamicly created versions based upon the linked library.
	  89706 */
	  89707 #define SRP_BLOWFISH_ECB    1
	  89708 #define SRP_BLOWFISH_CBC    2
	  89709 #define SRP_BLOWFISH_CFB64  3
	  89710 #define SRP_BLOWFISH_OFB64  4
	  89711 #define SRP_CAST5_ECB       5
	  89712 #define SRP_CAST5_CBC       6
	  89713 #define SRP_CAST5_CFB64     7
	  89714 #define SRP_CAST5_OFB64     8
	  89715 #define SRP_DES_ECB         9
	  89716 #define SRP_DES_CBC        10
	  89717 #define SRP_DES_CFB64      11
	  89718 #define SRP_DES_OFB64      12
	  89719 #define SRP_DES3_ECB       13
	  89720 #define SRP_DES3_CBC       14
	  89721 #define SRP_DES3_CFB64     15
	  89722 #define SRP_DES3_OFB64     16
	  89723 
	  89724 static struct keytab ciphertab[] = {
	  89725     { "blowfish_ecb",   SRP_BLOWFISH_ECB,   0 },
       E	                         1
	  89726     { "blowfish_cbc",   SRP_BLOWFISH_CBC,   0 },
       E	                         2
	  89727     { "blowfish_cfb64", SRP_BLOWFISH_CFB64, 0 },
       E	                         3
	  89728     { "blowfish_ofb64", SRP_BLOWFISH_OFB64, 0 },
       E	                         4
	  89729     { "cast5_ecb",      SRP_CAST5_ECB,      0 },
       E	                         5
	  89730     { "cast5_cbc",      SRP_CAST5_CBC,      0 },
       E	                         6
	  89731     { "cast5_cfb64",    SRP_CAST5_CFB64,    0 },
       E	                         7
	  89732     { "cast5_ofb64",    SRP_CAST5_OFB64,    0 },
       E	                         8
	  89733     { "des_ecb",        SRP_DES_ECB,        0 },
       E	                         9
	  89734     { "des_cbc",        SRP_DES_CBC,        0 },
       E	                         10
	  89735     { "des_cfb64",      SRP_DES_CFB64,      0 },
       E	                         11
	  89736     { "des_ofb64",      SRP_DES_OFB64,      0 },
       E	                         12
	  89737     { "des3_ecb",       SRP_DES3_ECB,       0 },
       E	                         13
	  89738     { "des3_cbc",       SRP_DES3_CBC,       0 },
       E	                         14
	  89739     { "des3_cfb64",     SRP_DES3_CFB64,     0 },
       E	                         15
	  89740     { "des3_ofb64",     SRP_DES3_OFB64,     0 },
       E	                         16
	  89741     { "none",           0, 0 },

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1679
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  89742     { "", 0, 0 }
	  89743 };
	  89744 static int nciphertab = sizeof(ciphertab) / sizeof(struct keytab) - 1;
	  89745 
	  89746 #define SRP_MD5  1
	  89747 #define SRP_SHA  2
	  89748 static struct keytab hashtab[] = {
	  89749     { "md5",              SRP_MD5,        0 },
       E	                           1
	  89750     { "none",             0,              0 },
	  89751     { "sha",              SRP_SHA,        0 },
       E	                           2
	  89752     { "", 0, 0 }
	  89753 };
	  89754 static int nhashtab = sizeof(hashtab) / sizeof(struct keytab) - 1;
	  89755 #endif /* NOICP */
	  89756 #endif /* FTP_SECURITY */
	  89757 
	  89758 static char *
	  89759 #ifdef CK_ANSIC
	  89760 strval( char * s1, char * s2 )
       X  89761 #else
       X  89762 strval(s1,s2) char * s1, * s2;
       X  89763 #endif /* CK_ANSIC */
      1	  89764 {
      1	  89765     if (!s1) s1 = "";
      1	  89766     if (!s2) s2 = "";
      1	  89767     return(*s1 ? s1 : (*s2 ? s2 : "(none)"));
      1	  89768 }
	  89769 
	  89770 #ifndef NOCSETS
	  89771 static char * rfnptr = NULL;
       E	                        ( ( void * ) 0 )
	  89772 static int rfnlen = 0;
	  89773 static char rfnbuf[RFNBUFSIZ];          /* Remote filename translate buffer */
       E	                    4096
	  89774 static char * xgnbp = NULL;
       E	                       ( ( void * ) 0 )
	  89775 
	  89776 static int
      1	  89777 strgetc() {                             /* Helper function for xgnbyte() */
      1	  89778     int c;
      1	  89779     if (!xgnbp)
      1	  89780       return(-1);
      1	  89781     if (!*xgnbp)
      1	  89782       return(-1);
      1	  89783     c = (unsigned) *xgnbp++;
      1	  89784     return(((unsigned) c) & 0xff);
      1	  89785 }
	  89786 
	  89787 static int                              /* Helper function for xpnbyte() */
	  89788 #ifdef CK_ANSIC
	  89789 strputc(char c)
       X  89790 #else
       X  89791 strputc(c) char c;
       X  89792 #endif /* CK_ANSIC */
      1	  89793 {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1680
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  89794     rfnlen = rfnptr - rfnbuf;
      1	  89795     if (rfnlen >= (RFNBUFSIZ - 1))
       E	                    4096
      1	  89796       return(-1);
      1	  89797     *rfnptr++ = c;
      1	  89798     *rfnptr = NUL;
       E	               '\0'
      1	  89799     return(0);
      1	  89800 }
	  89801 
	  89802 static int
	  89803 #ifdef CK_ANSIC
	  89804 xprintc(char c)
       X  89805 #else
       X  89806 xprintc(c) char c;
       X  89807 #endif /* CK_ANSIC */
      1	  89808 {
      1	  89809     printf("%c",c);
      1	  89810     return(0);
      1	  89811 }
	  89812 
	  89813 static VOID
       E	        void
	  89814 #ifdef CK_ANSIC
	  89815 bytswap( int * c0, int * c1 )
       X  89816 #else
       X  89817 bytswap(c0,c1) int * c0, * c1;
       X  89818 #endif /* CK_ANSIC */
      1	  89819 {
      1	  89820     int t;
      1	  89821     t = *c0;
      1	  89822     *c0 = *c1;
      1	  89823     *c1 = t;
      1	  89824 }
	  89825 #endif /* NOCSETS */
	  89826 
	  89827 #ifdef CKLOGDIAL
	  89828 char ftplogbuf[CXLOGBUFL] = { NUL, NUL }; /* Connection Log */
       E	                1024
       E	                               '\0'
       E	                                    '\0'
	  89829 int ftplogactive = 0;
	  89830 long ftplogprev = 0L;
	  89831 
	  89832 VOID
       E	 void
      1	  89833 ftplogend() {
      1	  89834     extern int dialog;
      1	  89835     extern char diafil[];
      1	  89836     long d1, d2, t1, t2;
      1	  89837     char buf[32], * p;
      1	  89838 
      1	  89839     debug(F111,"ftp cx log active",ckitoa(dialog),ftplogactive);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp cx log active" , ( char * ) ( ckitoa ( dialog ) ) , ( off_t ) ( ftplog
       E	active ) ) : 0 ) )
      1	  89840     debug(F110,"ftp cx log buf",ftplogbuf,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp cx log buf" , ( char * ) ( ftplogbuf ) , ( off_t ) ( 0 ) ) : 0 ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1681
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  89841 
      1	  89842     if (!ftplogactive || !ftplogbuf[0]) /* No active record */
      1	  89843       return;
      1	  89844 
      1	  89845     ftplogactive = 0;                   /* Record is not active */
      1	  89846 
      1	  89847     d1 = mjd((char *)ftplogbuf);        /* Get start date of this session */
      1	  89848     ckstrncpy(buf,ckdate(),31);         /* Get current date */
      1	  89849     d2 = mjd(buf);                      /* Convert them to mjds */
      1	  89850     p = ftplogbuf;                      /* Get start time */
      1	  89851     p[11] = NUL;
       E	             '\0'
      1	  89852     p[14] = NUL;                        /* Convert to seconds */
       E	             '\0'
      1	  89853     t1 = atol(p+9) * 3600L + atol(p+12) * 60L + atol(p+15);
      1	  89854     p[11] = ':';
      1	  89855     p[14] = ':';
      1	  89856     p = buf;                            /* Get end time */
      1	  89857     p[11] = NUL;
       E	             '\0'
      1	  89858     p[14] = NUL;
       E	             '\0'
      1	  89859     t2 = atol(p+9) * 3600L + atol(p+12) * 60L + atol(p+15);
      1	  89860     t2 = ((d2 - d1) * 86400L) + (t2 - t1); /* Compute elapsed time */
      2	  89861     if (t2 > -1L) {
      2	  89862         ftplogprev = t2;
      2	  89863         p = hhmmss(t2);
      2	  89864         ckstrncat(ftplogbuf,"E=",CXLOGBUFL); /* Append to log record */
       E	                                  1024
      2	  89865         ckstrncat(ftplogbuf,p,CXLOGBUFL);
       E	                               1024
      1	  89866     } else
      1	  89867       ftplogprev = 0L;
      1	  89868     debug(F101,"ftp cx log dialog","",dialog);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp cx log dialog" , ( char * ) ( "" ) , ( off_t ) ( dialog ) ) : 0 ) )
      2	  89869     if (dialog) {                       /* If logging */
      2	  89870         int x;
      2	  89871         x = diaopn(diafil,1,1);         /* Open log in append mode */
      3	  89872         if (x > 0) {
      3	  89873             debug(F101,"ftp cx log open","",x);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp cx log open" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      3	  89874             x = zsoutl(ZDIFIL,ftplogbuf); /* Write the record */
       E	                        12
      3	  89875             debug(F101,"ftp cx log write","",x);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp cx log write" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      3	  89876             x = zclose(ZDIFIL);         /* Close the log */
       E	                        12
      3	  89877             debug(F101,"ftp cx log close","",x);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp cx log close" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      2	  89878         }
      1	  89879     }
      1	  89880 }
	  89881 
	  89882 VOID
       E	 void
      1	  89883 dologftp() {
      1	  89884     ftplogend();                        /* Previous session not closed out? */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1682
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  89885     ftplogprev = 0L;
      1	  89886     ftplogactive = 1;                   /* Record is active */
      1	  89887 
      1	  89888     ckmakxmsg(ftplogbuf,CXLOGBUFL,
       E	                         1024
      1	  89889               ckdate()," ",strval(ftp_logname,NULL)," ",ckgetpid(),
       E	                                               ( ( void * ) 0 )
      1	  89890               " T=FTP N=", strval(ftp_host,NULL)," H=",myhost,
       E	                                            ( ( void * ) 0 )
      1	  89891               " P=", ckitoa(ftp_port)," "); /* SMS 2007/02/15 */
      1	  89892     debug(F110,"ftp cx log begin",ftplogbuf,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp cx log begin" , ( char * ) ( ftplogbuf ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  89893 }
	  89894 #endif /* CKLOGDIAL */
	  89895 
	  89896 static char * dummy[2] = { NULL, NULL };
       E	                            ( ( void * ) 0 )
       E	                                  ( ( void * ) 0 )
	  89897 
	  89898 static struct keytab modetab[] = {
	  89899     { "active",  0, 0 },
	  89900     { "passive", 1, 0 }
	  89901 };
	  89902 
	  89903 #ifndef NOCMDL
	  89904 int                                     /* Called from ckuusy.c */
	  89905 #ifdef CK_ANSIC
	  89906 doftparg(char c)
       X  89907 #else
       X  89908 doftparg(c) char c;
       X  89909 #endif /* CK_ANSIC */
      1	  89910 /* doftparg */ {
      1	  89911     int x, z;
      1	  89912     char *xp;
      1	  89913     extern char **xargv, *xarg0;
      1	  89914     extern int xargc, stayflg, haveftpuid;
      1	  89915     extern char uidbuf[];
      1	  89916 
      1	  89917     xp = *xargv+1;                      /* Pointer for bundled args */
      2	  89918     while (c) {
      3	  89919         if (ckstrchr("MuDPkcHzm",c)) {  /* Options that take arguments */
      4	  89920             if (*(xp+1)) {
      4	  89921                 fatal("?Invalid argument bundling");
      3	  89922             }
      3	  89923             xargv++, xargc--;
      4	  89924             if ((xargc < 1) || (**xargv == '-')) {
      4	  89925                 fatal("?Required argument missing");
      3	  89926             }
      2	  89927         }
      3	  89928         switch (c) {                    /* Big switch on arg */
      3	  89929           case 'h':                     /* help */
      3	  89930            printf("C-Kermit's FTP client command-line personality.  Usage:\n");
      3	  89931             printf("  %s [ options ] host [ port ] [-pg files ]\n\n",xarg0);
      3	  89932             printf("Options:\n");
      3	  89933             printf("  -h           = help (this message)\n");
      3	  89934             printf("  -m mode      = \"passive\" (default) or \"active\"\n");
      3	  89935             printf("  -u name      = username for autologin (or -M)\n");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1683
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  89936             printf("  -P password  = password for autologin (RISKY)\n");
      3	  89937             printf("  -A           = autologin anonymously\n");
      3	  89938             printf("  -D directory = cd after autologin\n");
      3	  89939             printf("  -b           = force binary mode\n");
      3	  89940             printf("  -a           = force text (\"ascii\") mode (or -T)\n");
      3	  89941             printf("  -d           = debug (double to add timestamps)\n");
      3	  89942             printf("  -n           = no autologin\n");
      3	  89943             printf("  -v           = verbose (default)\n");
      3	  89944             printf("  -q           = quiet\n");
      3	  89945             printf("  -S           = Stay (issue command prompt when done)\n");
      3	  89946             printf("  -Y           = do not execute Kermit init file\n");
      3	  89947             printf("  -p files     = files to put after autologin (or -s)\n");
      3	  89948             printf("  -g files     = files to get after autologin\n");
      3	  89949             printf("  -R           = recursive (for use with -p)\n");
      3	  89950 
      3	  89951 #ifdef FTP_SECURITY
      3	  89952             printf("\nSecurity options:\n");
      3	  89953             printf("  -k realm     = Kerberos 4 realm\n");
      3	  89954             printf("  -f           = Kerboros 5 credentials forwarding\n");
      3	  89955             printf("  -x           = autoencryption mode\n");
      3	  89956             printf("  -c cipher    = SRP cipher type\n");
      3	  89957             printf("  -H hash      = SRP encryption hash\n");
      3	  89958             printf("  -z option    = Security options\n");
      3	  89959 #endif /* FTP_SECURITY */
      3	  89960 
      3	  89961             printf("\n-p or -g, if given, should be last.  Example:\n");
      3	  89962             printf("  ftp -A kermit.columbia.edu -D kermit -ag TESTFILE\n");
      3	  89963 
      3	  89964             doexit(GOOD_EXIT,-1);
       E	                    0
      3	  89965             break;
      3	  89966 
      3	  89967           case 'R':                     /* Recursive */
      3	  89968             recursive = 1;
      3	  89969             break;
      3	  89970 
      3	  89971           case 'd':                     /* Debug */
      3	  89972 #ifdef DEBUG
      4	  89973             if (deblog) {
      4	  89974                 extern int debtim;
      4	  89975                 debtim = 1;
      4	  89976             } else {
      4	  89977                 deblog = debopn("debug.log",0);
      4	  89978                 debok = 1;
      3	  89979             }
      3	  89980 #endif /* DEBUG */
      3	  89981             /* fall thru on purpose */
      3	  89982 
      3	  89983           case 't':                     /* Trace */
      3	  89984             ftp_deb++;
      3	  89985             break;
      3	  89986 
      3	  89987           case 'n':                     /* No autologin */
      3	  89988             ftp_log = 0;
      3	  89989             break;
      3	  89990 
      3	  89991           case 'i':                     /* No prompt */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1684
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  89992           case 'v':                     /* Verbose */
      3	  89993             break;                      /* (ignored) */
      3	  89994 
      3	  89995           case 'q':                     /* Quiet */
      3	  89996             quiet = 1;
      3	  89997             break;
      3	  89998 
      3	  89999           case 'S':                     /* Stay */
      3	  90000             stayflg = 1;
      3	  90001             break;
      3	  90002 
      3	  90003           case 'M':
      3	  90004           case 'u':                     /* My User Name */
      4	  90005             if ((int)strlen(*xargv) > 63) {
       E	                      __STRLEN ( * xargv )
      4	  90006                 fatal("username too long");
      3	  90007             }
      3	  90008             ckstrncpy(uidbuf,*xargv,UIDBUFLEN);
       E	                                     256
      3	  90009             haveftpuid = 1;
      3	  90010             break;
      3	  90011 
      3	  90012           case 'A':
      3	  90013             ckstrncpy(uidbuf,"anonymous",UIDBUFLEN);
       E	                                          256
      3	  90014             haveftpuid = 1;
      3	  90015             break;
      3	  90016 
      3	  90017           case 'T':                     /* Text */
      3	  90018           case 'a':                     /* "ascii" */
      3	  90019           case 'b':                     /* Binary */
      3	  90020             binary = (c == 'b') ? FTT_BIN : FTT_ASC;
       E	                                   1
       E	                                             0
      3	  90021             ftp_xfermode = XMODE_M;
       E	                            1
      3	  90022             filepeek = 0;
      3	  90023             patterns = 0;
      3	  90024             break;
      3	  90025 
      3	  90026           case 'g':                     /* Get */
      3	  90027           case 'p':                     /* Put */
      4	  90028           case 's': {                   /* Send (= Put) */
      4	  90029               int havefiles, rc;
      5	  90030               if (ftp_action) {
      5	  90031                   fatal("Only one FTP action at a time please");
      4	  90032               }
      5	  90033               if (*(xp+1)) {
      5	  90034                   fatal("invalid argument bundling after -s");
      4	  90035               }
      4	  90036               nfils = 0;                /* Initialize file counter */
      4	  90037               havefiles = 0;            /* Assume nothing to send  */
      4	  90038               cmlist = xargv + 1;       /* Remember this pointer */
      4	  90039 
      5	  90040               while (++xargv, --xargc > 0) { /* Traverse the list */
      6	  90041                   if (c == 'g') {
      6	  90042                       havefiles++;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1685
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      6	  90043                       nfils++;
      6	  90044                       continue;
      5	  90045                   }
      5	  90046 #ifdef RECURSIVE
      6	  90047                   if (!strcmp(*xargv,".")) {
      6	  90048                       havefiles = 1;
      6	  90049                       nfils++;
      6	  90050                       recursive = 1;
      5	  90051                   } else
      5	  90052 #endif /* RECURSIVE */
      6	  90053                     if ((rc = zchki(*xargv)) > -1 || (rc == -2)) {
      6	  90054                         if  (rc != -2)
      6	  90055                           havefiles = 1;
      6	  90056                         nfils++;
      6	  90057                     } else if (iswild(*xargv) && nzxpand(*xargv,0) > 0) {
      6	  90058                         havefiles = 1;
      6	  90059                         nfils++;
      5	  90060                     }
      4	  90061               }
      4	  90062               xargc++, xargv--;         /* Adjust argv/argc */
      5	  90063               if (!havefiles) {
      6	  90064                   if (c == 'g') {
      6	  90065                       fatal("No files to put");
      6	  90066                   } else {
      6	  90067                       fatal("No files to get");
      5	  90068                   }
      4	  90069               }
      4	  90070               ftp_action = c;
      4	  90071               break;
      3	  90072           }
      3	  90073           case 'D':                     /* Directory */
      3	  90074             makestr(&ftp_rdir,*xargv);
      3	  90075             break;
      3	  90076 
      3	  90077           case 'm':                     /* Mode (Active/Passive */
      3	  90078             ftp_psv = lookup(modetab,*xargv,2,NULL);
       E	                                               ( ( void * ) 0 )
      3	  90079             if (ftp_psv < 0) fatal("Invalid mode");
      3	  90080             break;
      3	  90081 
      3	  90082           case 'P':
      3	  90083             makestr(&ftp_tmp,*xargv);   /* You-Know-What */
      3	  90084             break;
      3	  90085 
      3	  90086           case 'Y':                     /* No initialization file */
      3	  90087             break;                      /* (already done in prescan) */
      3	  90088 
      3	  90089 #ifdef CK_URL
      4	  90090           case 'U': {                   /* URL */
      4	  90091               /* These are set by urlparse() - any not set are NULL */
      5	  90092               if (g_url.hos) {
      5	  90093 /*
      5	  90094   Kermit has accepted host:port notation since many years before URLs were
      5	  90095   invented.  Unfortunately, URLs conflict with this notation.  Thus "ftp
      5	  90096   host:449" looks like a URL and results in service = host and host = 449.
      5	  90097   Here we try to catch this situation transparently to the user.
      5	  90098 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1686
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	  90099                   if (ckstrcmp(g_url.svc,"ftp",-1,0)
      5	  90100 #ifdef CK_SSL
      5	  90101                        && ckstrcmp(g_url.svc,"ftps",-1,0)
      5	  90102 #endif /* CK_SSL */
      6	  90103                        ) {
      6	  90104                       if (!g_url.usr &&
      6	  90105                           !g_url.psw &&
      6	  90106                           !g_url.por &&
      7	  90107                           !g_url.pth) {
      7	  90108                           g_url.por = g_url.hos;
      7	  90109                           g_url.hos = g_url.svc;
      7	  90110                           g_url.svc = "ftp";
      7	  90111                       } else {
      7	  90112                           ckmakmsg(tmpbuf,TMPBUFSIZ,"Non-FTP URL: service=",
       E	                                           ( 32763 + 10 )
      7	  90113                                    g_url.svc," host=",g_url.hos);
      7	  90114                           fatal(tmpbuf);
      6	  90115                       }
      5	  90116                   }
      5	  90117                   makestr(&ftp_host,g_url.hos);
      6	  90118                   if (g_url.usr) {
      6	  90119                       haveftpuid = 1;
      6	  90120                       ckstrncpy(uidbuf,g_url.usr,UIDBUFLEN);
       E	                                                  256
      6	  90121                       makestr(&ftp_logname,uidbuf);
      5	  90122                   }
      6	  90123                   if (g_url.psw) {
      6	  90124                       makestr(&ftp_tmp,g_url.psw);
      5	  90125                   }
      6	  90126                   if (g_url.pth) {
      7	  90127                       if (!g_url.usr) {
      7	  90128                           haveftpuid = 1;
      7	  90129                           ckstrncpy(uidbuf,"anonymous",UIDBUFLEN);
       E	                                                        256
      7	  90130                           makestr(&ftp_logname,uidbuf);
      6	  90131                       }
      7	  90132                       if (ftp_action) {
      7	  90133                           fatal("Only one FTP action at a time please");
      6	  90134                       }
      6	  90135                       if (!stayflg)
      6	  90136                         quiet = 1;
      6	  90137                       nfils = 1;
      6	  90138                       dummy[0] = g_url.pth;
      6	  90139                       cmlist = dummy;
      6	  90140                       ftp_action = 'g';
      5	  90141                   }
      5	  90142                   xp = NULL;
       E	                        ( ( void * ) 0 )
      5	  90143                   haveurl = 1;
      4	  90144               }
      4	  90145               break;
      3	  90146           }
      3	  90147 #endif /* CK_URL */
      3	  90148 
      3	  90149 #ifdef FTP_SECURITY
      4	  90150           case 'k': {                   /* K4 Realm */
      4X  90151 #ifdef FTP_KRB4

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1687
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4X  90152               ckstrncpy(ftp_realm,*xargv, REALM_SZ);
      4X  90153 #endif /* FTP_KRB4 */
      4	  90154               if (ftp_deb) printf("K4 Realm = [%s]\n",*xargv);
      4	  90155               break;
      3	  90156           }
      4	  90157           case 'f': {
      4X  90158 #ifdef FTP_GSSAPI
      4X  90159               ftp_cfw = 1;
      4X  90160               if (ftp_deb) printf("K5 Credentials Forwarding\n");
      4X  90161 #else /* FTP_GSSAPI */
      4	  90162               printf("K5 Credentials Forwarding not supported\n");
      4	  90163 #endif /* FTP_GSSAPI */
      4	  90164               break;
      3	  90165           }
      4	  90166           case 'x': {
      4	  90167               ftp_cry = 1;
      4	  90168               if (ftp_deb) printf("Autoencryption\n");
      4	  90169               break;
      3	  90170           }
      4	  90171           case 'c': {                   /* Cipher */
      4X  90172 #ifdef FTP_SRP
      4X  90173               if (!srp_selcipher(*xargv)) {
      4X  90174                   if (ftp_deb) printf("SRP cipher type: \"%s\"\n",*xargv);
      4X  90175               } else
      4X  90176                 printf("?Invalid SRP cipher type: \"%s\"\n",*xargv);
      4X  90177 #else /* FTP_SRP */
      4	  90178               printf("?SRP not supported\n");
      4	  90179 #endif /* FTP_SRP */
      4	  90180               break;
      3	  90181           }
      4	  90182           case 'H': {
      4X  90183 #ifdef FTP_SRP
      4X  90184               if (!srp_selhash(*xargv)) {
      4X  90185                   if (ftp_deb) printf("SRP hash type: \"%s\"\n",*xargv);
      4X  90186               } else
      4X  90187                 printf("?Invalid SRP hash type: \"%s\"\n",*xargv);
      4X  90188 #else /* FTP_SRP */
      4	  90189               printf("?SRP not supported\n");
      4	  90190 #endif /* FTP_SRP */
      4	  90191               break;
      3	  90192           }
      4	  90193           case 'z': {
      4	  90194               /* *xargv contains a value of the form tag=value */
      4	  90195               /* we need to lookup the tag and save the value  */
      4	  90196               char * p = NULL, * q = NULL;
       E	                          ( ( void * ) 0 )
       E	                                      ( ( void * ) 0 )
      4	  90197               makestr(&p,*xargv);
      4	  90198               y = ckindex("=",p,0,0,1);
      4	  90199               if (y > 0)
      4	  90200                 p[y-1] = '\0';
      4	  90201               x = lookup(ftpztab,p,nftpztab,&z);
      5	  90202               if (x < 0) {
      5	  90203                   printf("?Invalid security option: \"%s\"\n",p);
      5	  90204               } else {
      5	  90205                   if (ftp_deb)
      5	  90206 		    printf("Security option: \"%s",p);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1688
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      6	  90207                   if (ftpztab[z].flgs & CM_ARG) {
       E	                                         8
      6	  90208                       if (y <= 0)
      6	  90209                         fatal("?Missing required value");
      6	  90210                       q = &p[y];
      6	  90211                       if (!*q)
      6	  90212                         fatal("?Missing required value");
      6	  90213                       if (ftp_deb)
      6	  90214 			printf("=%s\"",q);
      5	  90215                   }
      6	  90216                   switch (ftpztab[z].kwval) { /* -z options w/args */
      6	  90217                     case FT_NOGSS:
       E	                          1
      6X  90218 #ifdef FTP_GSSAPI
      6X  90219                       for (z = 0; z < FTPATYPS && ftp_auth_type[z]; z++) {
      6X  90220                           if (ftp_auth_type[z] == FTA_GK5) {
      6X  90221                               for (y = z;
      6X  90222                                    y < (FTPATYPS-1) && ftp_auth_type[y];
      6X  90223                                    y++
      6X  90224                                    )
      6X  90225                                 ftp_auth_type[y] = ftp_auth_type[y+1];
      6X  90226                               ftp_auth_type[FTPATYPS-1] = 0;
      6X  90227                               break;
      6X  90228                           }
      6X  90229                       }
      6X  90230 #endif /* FTP_GSSAPI */
      6	  90231                       break;
      6	  90232                     case FT_NOK4:
       E	                          2
      6X  90233 #ifdef FTP_KRB4
      6X  90234                       for (z = 0; z < FTPATYPS && ftp_auth_type[z]; z++) {
      6X  90235                           if (ftp_auth_type[z] == FTA_K4) {
      6X  90236                               for (y = z;
      6X  90237                                    y < (FTPATYPS-1) && ftp_auth_type[y];
      6X  90238                                    y++
      6X  90239                                    )
      6X  90240                                 ftp_auth_type[y] = ftp_auth_type[y+1];
      6X  90241                               ftp_auth_type[FTPATYPS-1] = 0;
      6X  90242                               break;
      6X  90243                           }
      6X  90244                       }
      6X  90245 #endif /* FTP_KRB4 */
      6	  90246                       break;
      6	  90247                     case FT_NOSRP:
       E	                          3
      6X  90248 #ifdef FTP_SRP
      6X  90249                       for (z = 0; z < FTPATYPS && ftp_auth_type[z]; z++) {
      6X  90250                           if (ftp_auth_type[z] == FTA_SRP) {
      6X  90251                               for (y = z;
      6X  90252                                    y < (FTPATYPS-1) && ftp_auth_type[y];
      6X  90253                                    y++
      6X  90254                                    )
      6X  90255                                 ftp_auth_type[y] = ftp_auth_type[y+1];
      6X  90256                               ftp_auth_type[FTPATYPS-1] = 0;
      6X  90257                               break;
      6X  90258                           }
      6X  90259                       }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1689
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      6X  90260 #endif /* FTP_SRP */
      6	  90261                       break;
      6	  90262                     case FT_NOSSL:
       E	                          4
      6	  90263 #ifdef CK_SSL
      7	  90264                       for (z = 0; z < FTPATYPS && ftp_auth_type[z]; z++) {
       E	                                       8
      8	  90265                           if (ftp_auth_type[z] == FTA_SSL) {
       E	                                                   4
      8	  90266                               for (y = z;
      8	  90267                                    y < (FTPATYPS-1) && ftp_auth_type[y];
       E	                                         8
      8	  90268                                    y++
      8	  90269                                    )
      8	  90270                                 ftp_auth_type[y] = ftp_auth_type[y+1];
      8	  90271                               ftp_auth_type[FTPATYPS-1] = 0;
       E	                                             8
      8	  90272                               break;
      7	  90273                           }
      6	  90274                       }
      6	  90275 #endif /* CK_SSL */
      6	  90276                       break;
      6	  90277                     case FT_NOTLS:
       E	                          5
      6	  90278 #ifdef CK_SSL
      7	  90279                       for (z = 0; z < FTPATYPS && ftp_auth_type[z]; z++) {
       E	                                       8
      8	  90280                           if (ftp_auth_type[z] == FTA_TLS) {
       E	                                                   5
      8	  90281                               for (y = z;
      8	  90282                                    y < (FTPATYPS-1) && ftp_auth_type[y];
       E	                                         8
      8	  90283                                    y++
      8	  90284                                    )
      8	  90285                                 ftp_auth_type[y] = ftp_auth_type[y+1];
      8	  90286                               ftp_auth_type[FTPATYPS-1] = 0;
       E	                                             8
      8	  90287                               break;
      7	  90288                           }
      6	  90289                       }
      6	  90290 #endif /* CK_SSL */
      6	  90291                       break;
      6	  90292                     case FT_CERTFI:
       E	                          6
      6	  90293 #ifdef CK_SSL
      6	  90294                       makestr(&ssl_rsa_cert_file,q);
      6	  90295 #endif /* CK_SSL */
      6	  90296                       break;
      6	  90297                     case FT_OKCERT:
       E	                          7
      6	  90298 #ifdef CK_SSL
      6	  90299                       ssl_certsok_flag = 1;
      6	  90300 #endif /* CK_SSL */
      6	  90301                       break;
      6	  90302                     case FT_DEBUG:
       E	                          8
      6	  90303 #ifdef DEBUG

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1690
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      7	  90304                       if (deblog) {
      7	  90305                           extern int debtim;
      7	  90306                           debtim = 1;
      7	  90307                       } else {
      7	  90308                           deblog = debopn("debug.log",0);
      6	  90309                       }
      6	  90310 #endif /* DEBUG */
      6	  90311                       break;
      6	  90312                     case FT_KEY:
       E	                          9
      6	  90313 #ifdef CK_SSL
      6	  90314                       makestr(&ssl_rsa_key_file,q);
      6	  90315 #endif /* CK_SSL */
      6	  90316                       break;
      6	  90317                     case FT_SECURE:
       E	                          10
      6	  90318                       /* no equivalent */
      6	  90319                       break;
      6	  90320                     case FT_VERIFY:
       E	                          11
      6	  90321 #ifdef CK_SSL
      6	  90322                       if (!rdigits(q))
      6	  90323                         printf("?Bad number: %s\n",q);
      6	  90324                       ssl_verify_flag = atoi(q);
      6	  90325 #endif /* CK_SSL */
      6	  90326                       break;
      5	  90327                   }
      4	  90328               }
      4	  90329               if (ftp_deb) printf("\"\n");
      4	  90330               free(p);
      4	  90331               break;
      3	  90332           }
      3	  90333 #endif /* FTP_SECURITY */
      3	  90334 
      3	  90335           default:
      3	  90336             fatal2(*xargv,
      3	  90337                    "unknown command-line option, type \"ftp -h\" for help"
      3	  90338                    );
      2	  90339         }
      2	  90340         if (!xp) break;
      2	  90341         c = *++xp;                      /* See if options are bundled */
      1	  90342     }
      1	  90343     return(0);
      1	  90344 }
	  90345 #endif /* NOCMDL */
	  90346 
	  90347 int
      1	  90348 ftpisconnected() {
      1	  90349     return(connected);
      1	  90350 }
	  90351 
	  90352 int
      1	  90353 ftpisloggedin() {
      1	  90354     return(connected ? loggedin : 0);
      1	  90355 }
	  90356 
	  90357 int

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1691
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  90358 ftpissecure() {
      1	  90359     return((ftp_dpl == FPL_CLR && !ssl_ftp_proxy) ? 0 : 1);
       E	                        1
      1	  90360 }
	  90361 
	  90362 static VOID
       E	        void
	  90363 #ifdef CK_ANSIC
	  90364 ftscreen(int n, char c, CK_OFF_T z, char *s)
       E	                         off_t
       X  90365 #else
       X  90366 ftscreen(n, c, z, s) int n; char c; CK_OFF_T z; char * s;
       X  90367 #endif  /* CK_ANSIC */
      1	  90368 {
      2	  90369     if (displa && fdispla && !backgrd && !quiet && !out2screen) {
      3	  90370         if (!dpyactive) {
      3	  90371             ckscreen(SCR_PT,'S',(CK_OFF_T)0,"");
       E	                      7
       E	                                  off_t
      3	  90372             dpyactive = 1;
      2	  90373         }
      2	  90374         ckscreen(n,c,z,s);
      1	  90375     }
      1	  90376 }
	  90377 
	  90378 #ifndef OS2
	  90379 /*  g m s t i m e r  --  Millisecond timer */
	  90380 
	  90381 long
      1	  90382 gmstimer() {
      1X  90383 #ifdef HAVE_MSECS
      1X  90384     /* For those versions of ztime() that also set global ztmsec. */
      1X  90385     char *p = NULL;
      1X  90386     long z;
      1X  90387     ztime(&p);
      1X  90388     if (!p) return(0L);
      1X  90389     if (!*p) return(0L);
      1X  90390     z = atol(p+11) * 3600L + atol(p+14) * 60L + atol(p+17);
      1X  90391     return(z * 1000 + ztmsec);
      1X  90392 #else
      1	  90393     return((long)time(NULL) * 1000L);
       E	                       ( ( void * ) 0 )
      1	  90394 #endif /* HAVE_MSECS */
      1	  90395 }
	  90396 #endif /* OS2 */
	  90397 
	  90398 /*  d o s e t f t p  --  The SET FTP command  */
	  90399 
	  90400 int
      1	  90401 dosetftp() {
      1	  90402     int cx;
      1	  90403     if ((cx = cmkey(ftpset,nftpset,"","",xxstring)) < 0) /* Set what? */
      1	  90404       return(cx);
      2	  90405     switch (cx) {
      2	  90406 
      2	  90407       case FTS_FNC:                     /* Filename collision action */
       E	            20

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1692
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  90408         if ((x = cmkey(ftpcolxtab,nftpcolx,"","",xxstring)) < 0)
      2	  90409           return(x);
      2	  90410         if ((y = cmcfm()) < 0)
      2	  90411           return(y);
      2	  90412         ftp_fnc = x;
      2	  90413         return(1);
      2	  90414 
      2	  90415       case FTS_CNV:                     /* Filename conversion */
       E	            14
      2	  90416         if ((x = cmkey(fntab,nfntab,"","automatic",xxstring)) < 0)
      2	  90417           return(x);
      2	  90418         if ((y = cmcfm()) < 0)
      2	  90419           return(y);
      2	  90420         ftp_cnv = x;
      2	  90421         return(1);
      2	  90422 
      2	  90423       case FTS_DBG:                     /* Debug messages */
       E	            7
      2	  90424         return(seton(&ftp_deb));
      2	  90425 
      2	  90426       case FTS_LOG:                     /* Auto-login */
       E	            3
      2	  90427         return(seton(&ftp_log));
      2	  90428 
      2	  90429       case FTS_PSV:                     /* Passive mode */
       E	            8
      2	  90430 	return(dosetftppsv());
      2	  90431 
      2	  90432       case FTS_SPC:                     /* Send port commands */
       E	            9
      2	  90433         x = seton(&ftp_spc);
      2	  90434         if (x > 0) sendport = ftp_spc;
      2	  90435         return(x);
      2	  90436 
      2	  90437       case FTS_TYP:                     /* Type */
       E	            10
      2	  90438         if ((x = cmkey(ftptyp,nftptyp,"","",xxstring)) < 0)
      2	  90439           return(x);
      2	  90440         if ((y = cmcfm()) < 0) return(y);
      2	  90441 	ftp_typ = x;
      2	  90442 	g_ftp_typ = x;
      2	  90443 	tenex = (ftp_typ == FTT_TEN);
       E	                      6
      2	  90444         return(1);
      2	  90445 
      2	  90446       case FTS_USN:                     /* Unique server names */
       E	            11
      2	  90447         return(seton(&ftp_usn));
      2	  90448 
      2	  90449       case FTS_VBM:                     /* Verbose mode */
       E	            12
      2	  90450         if ((x = seton(&ftp_vbm)) < 0)  /* Per-command copy */
      2	  90451           return(x);
      2	  90452         ftp_vbx = ftp_vbm;              /* Global sticky copy */
      2	  90453         return(x);
      2	  90454 
      2	  90455       case FTS_TST:                     /* "if (testing)" messages */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1693
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	            15
      2	  90456         return(seton(&testing));
      2	  90457 
      2	  90458       case FTS_PRM:                     /* Send permissions */
       E	            16
      2	  90459         return(setonaut(&ftp_prm));
      2	  90460 
      2	  90461       case FTS_AUT:                     /* Auto-authentication */
       E	            1
      2	  90462         return(seton(&ftp_aut));
      2	  90463 
      2	  90464       case FTS_ERR:                     /* Error action */
       E	            19
      2	  90465         if ((x = cmkey(qorp,2,"","",xxstring)) < 0)
      2	  90466           return(x);
      2	  90467         if ((y = cmcfm()) < 0)
      2	  90468           return(y);
      2	  90469         ftp_err = x;
      2	  90470         return(success = 1);
      2	  90471 
      2	  90472 #ifndef NOCSETS
      2	  90473       case FTS_XLA:                     /* Translation */
       E	            17
      2	  90474         return(seton(&ftp_xla));
      2	  90475 
      2	  90476       case FTS_CSR:                     /* Server charset */
       E	            18
      2	  90477         if ((x = cmkey(fcstab,nfilc,"character-set","utf8",xxstring)) < 0)
      2	  90478           return(x);
      2	  90479         if ((y = cmcfm()) < 0)
      2	  90480           return(y);
      2	  90481         ftp_csr = x;
      2	  90482         ftp_xla = 1;                    /* Also enable translation */
      2	  90483         return(success = 1);
      2	  90484 #endif /* NOCSETS */
      2	  90485 
      2	  90486       case FTS_GFT:
       E	            22
      2	  90487         return(seton(&get_auto));       /* GET-filetype-switching */
      2	  90488 
      2	  90489       case FTS_DAT:
       E	            23
      2	  90490         return(seton(&ftp_dates));      /* Set file dates */
      2	  90491 
      2	  90492 #ifdef FTP_TIMEOUT
      2	  90493       case FTS_TMO:			/* Timeout */
       E	            28
      2	  90494         if ((x = cmnum("Number of seconds","0",10,&z,xxstring)) < 0)
      2	  90495           return(x);
      2	  90496         if ((y = cmcfm()) < 0)
      2	  90497           return(y);
      2	  90498 	ftp_timeout = z;
      2	  90499 	return(success = 1);
      2	  90500 #endif	/* FTP_TIMEOUT */
      2	  90501 
      3	  90502       case FTS_STO: {			/* Server time offset */
       E	            24

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1694
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  90503 	  char * s, * p = NULL;
       E	                    ( ( void * ) 0 )
      3	  90504 	  long k;
      3	  90505 	  if ((x = cmfld("[+-]hh[:mm[:ss]]","+0",&s,xxstring)) < 0)
      3	  90506 	    return(x);
      4	  90507 	  if (!strcmp(s,"+0")) {
      4	  90508 	      s = NULL;
       E	            ( ( void * ) 0 )
      4	  90509 	  } else if ((x = delta2sec(s,&k)) < 0) { /* Check format */
      4	  90510 	      printf("?Invalid time offset\n");
      4	  90511 	      return(-9);
      3	  90512 	  }
      3	  90513 	  makestr(&p,s);		/* Make a safe copy the string */
      4	  90514 	  if ((x = cmcfm()) < 0) {	/* Get confirmation */
      4	  90515 	      if (p)
      4	  90516 		makestr(&p,NULL);
       E	              ( ( void * ) 0 )
      4	  90517 	      return(x);
      3	  90518 	  }
      3	  90519 	  fts_sto = p;			/* Confirmed - set the string. */
      3	  90520 	  return(success = 1);
      2	  90521       }
      3	  90522       case FTS_APW: {
       E	            25
      3	  90523 	  char * s;
      3	  90524 	  if ((x = cmtxt("Text", "", &s, xxstring)) < 0)
      3	  90525 	    return(x);
      3	  90526 	  makestr(&ftp_apw, *s ? s : NULL);
       E	                               ( ( void * ) 0 )
      3	  90527 	  return(success = 1);
      2	  90528       }
      2	  90529 
      3	  90530       case FTS_BUG: {
       E	            27
      3	  90531           if ((x = cmkey(ftpbugtab,nftpbug,"","",xxstring)) < 0) 
      3	  90532 	    return(x);
      4	  90533           switch (x) {
      4	  90534 #ifdef CK_SSL
      4	  90535           case FTB_SV2:
       E	                1
      4	  90536 	    return seton(&ftp_bug_use_ssl_v2);
      4	  90537           case FTB_SV3:
       E	                2
      4	  90538             return seton(&ftp_bug_use_ssl_v3);
      4	  90539 #endif /* CK_SSL */
      4	  90540           default:
      4	  90541 	    return(-2);
      3	  90542           }
      2	  90543       }
      2	  90544 
      2	  90545 #ifdef FTP_SECURITY
      2	  90546       case FTS_CRY:                     /* Auto-encryption */
       E	            2
      2	  90547         return(seton(&ftp_cry));
      2	  90548 
      2	  90549       case FTS_CFW:                     /* Credential-forwarding */
       E	            5

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1695
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  90550         return(seton(&ftp_cfw));
      2	  90551 
      2	  90552       case FTS_CPL:                     /* Command protection level */
       E	            4
      2	  90553         if ((x = cmkey(ftppro,nftppro,"","",xxstring)) < 0) return(x);
      2	  90554         if ((y = cmcfm()) < 0) return(y);
      2	  90555         success = fts_cpl(x);
      2	  90556         return(success);
      2	  90557 
      2	  90558       case FTS_DPL:                     /* Data protection level */
       E	            6
      2	  90559         if ((x = cmkey(ftppro,nftppro,"","",xxstring)) < 0) return(x);
      2	  90560         if ((y = cmcfm()) < 0) return(y);
      2	  90561           success = fts_dpl(x);
      2	  90562           return(success);
      2	  90563 
      3	  90564       case FTS_ATP: {                   /* FTP Auth Type */
       E	            13
      3	  90565           int i, j, atypes[8];
      3	  90566 
      4	  90567           for (i = 0; i < 8; i++) {
      4	  90568               if ((y = cmkey(ftpauth,nftpauth,"",
      4	  90569                              (i == 0) ? "automatic" : "",
      5	  90570                              xxstring)) < 0) {
      5	  90571                   if (y == -3)
      5	  90572                     break;
      5	  90573                   return(y);
      4	  90574               }
      5	  90575               if (i > 0 && (y == FTA_AUTO)) {
       E	                                  0
      5	  90576                   printf("?Choice may only be used in first position.\r\n");
      5	  90577                   return(-9);
      4	  90578               }
      5	  90579               for (j = 0; j < i; j++) {
      6	  90580                   if (atypes[j] == y) {
      6	  90581                       printf("\r\n?Choice has already been used.\r\n");
      6	  90582                       return(-9);
      5	  90583                   }
      4	  90584               }
      4	  90585               atypes[i] = y;
      5	  90586               if (y == FTA_AUTO) {
       E	                        0
      5	  90587                   i++;
      5	  90588                   break;
      4	  90589               }
      3	  90590           }
      3	  90591           if (i < 8)
      3	  90592             atypes[i] = 0;
      3	  90593           if ((z = cmcfm()) < 0)
      3	  90594             return(z);
      4	  90595           if (atypes[0] == FTA_AUTO) {
       E	                            0
      4	  90596               i = 0;
      4X  90597 #ifdef FTP_GSSAPI
      4X  90598               ftp_auth_type[i++] = FTA_GK5;
      4X  90599 #endif /* FTP_GSSAPI */
      4X  90600 #ifdef FTP_SRP

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1696
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4X  90601               ftp_auth_type[i++] = FTA_SRP;
      4X  90602 #endif /* FTP_SRP */
      4X  90603 #ifdef FTP_KRB4
      4X  90604               ftp_auth_type[i++] = FTA_K4;
      4X  90605 #endif /* FTP_KRB4 */
      4	  90606 #ifdef CK_SSL
      4	  90607               ftp_auth_type[i++] = FTA_TLS;
       E	                                    5
      4	  90608               ftp_auth_type[i++] = FTA_SSL;
       E	                                    4
      4	  90609 #endif /* CK_SSL */
      4	  90610               ftp_auth_type[i] = 0;
      4	  90611           } else {
      4	  90612               for (i = 0; i < 8; i++)
      4	  90613                 ftp_auth_type[i] = atypes[i];
      3	  90614           }
      3	  90615           return(success = 1);
      2	  90616       }
      2	  90617 
      2	  90618       case FTS_SRP:
       E	            21
      2X  90619 #ifdef FTP_SRP
      2X  90620         if ((x = cmkey(ftpsrp,nftpsrp,"","",xxstring)) < 0)
      2X  90621           return(x);
      2X  90622         switch (x) {
      2X  90623           case SRP_CIPHER:
      2X  90624             if ((x = cmkey(ciphertab,nciphertab,"","",xxstring)) < 0)
      2X  90625               return(x);
      2X  90626             if ((z = cmcfm()) < 0)
      2X  90627               return(z);
      2X  90628             success = !srp_selcipher(ciphertab[x].kwd);
      2X  90629             return(success);
      2X  90630           case SRP_HASH:
      2X  90631             if ((x = cmkey(hashtab,nhashtab,"","",xxstring)) < 0)
      2X  90632               return(x);
      2X  90633             if ((z = cmcfm()) < 0)
      2X  90634               return(z);
      2X  90635             success = !srp_selhash(hashtab[x].kwd);
      2X  90636             return(success = 1);
      2X  90637           default:
      2X  90638             if ((z = cmcfm()) < 0)
      2X  90639               return(z);
      2X  90640             return(-2);
      2X  90641         }
      2X  90642 #else /* FTP_SRP */
      2	  90643         if ((z = cmcfm()) < 0)
      2	  90644           return(z);
      2	  90645         return(-2);
      2	  90646 #endif /* FTP_SRP */
      2	  90647 #endif /* FTP_SECURITY */
      2	  90648 
      2	  90649       case FTS_DIS:
       E	            26
      2	  90650 	doxdis(2);			/* 2 == ftp */
      2	  90651         return(success = 1);
      2	  90652 
      2	  90653       default:

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1697
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  90654         return(-2);
      1	  90655     }
      1	  90656 }
	  90657 
	  90658 int
      1	  90659 ftpbye() {
      1	  90660     int x;
      1	  90661     if (!connected)
      1	  90662       return(1);
      1	  90663     if (testing)
      1	  90664       printf(" ftp closing %s...\n",ftp_host);
      1	  90665     x = ftpclose();
      1	  90666     return((x > -1) ? 1 : 0);
      1	  90667 }
	  90668 
	  90669 /*  o p e n f t p  --  Parse FTP hostname & port and open */
	  90670 
	  90671 static int
	  90672 #ifdef CK_ANSIC
	  90673 openftp( char * s, int opn_tls )
       X  90674 #else
       X  90675 openftp(s,opn_tls) char * s; int opn_tls;
       X  90676 #endif /* CK_ANSIC */
      1	  90677 {
      1	  90678     char c, * p, * hostname = NULL, *hostsave = NULL, * service = NULL;
       E	                               ( ( void * ) 0 )
       E	                                                 ( ( void * ) 0 )
       E	                                                                   ( ( void * ) 0 )
      1	  90679     int i, n, havehost = 0, getval = 0, rc = -9, opn_psv = -1, nologin = 0;
      1	  90680     int haveuser = 0;
      1	  90681     struct FDB sw, fl, cm;
      1	  90682     extern int nnetdir;                 /* Network services directory */
      1	  90683     extern int nhcount;                 /* Lookup result */
      1	  90684     extern char *nh_p[];                /* Network directory entry pointers */
      1	  90685     extern char *nh_p2[];               /* Network directory entry nettype */
      1	  90686 
      1	  90687     if (!s) return(-2);
      1	  90688     if (!*s) return(-2);
      1	  90689 
      1	  90690     makestr(&hostname,s);
      1	  90691     hostsave = hostname;
      1	  90692     makestr(&ftp_logname,NULL);
       E	                          ( ( void * ) 0 )
      1	  90693     anonymous = 0;
      1	  90694     noinit = 0;
      1	  90695 
      1	  90696     debug(F110,"ftp open",hostname,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp open" , ( char * ) ( hostname ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  90697 
      2	  90698     if (sav_psv > -1) {                 /* Restore prevailing active/passive */
      2	  90699         ftp_psv = sav_psv;              /* selection in case it was */
      2	  90700         sav_psv = -1;                   /* temporarily overriden by a switch */
      1	  90701     }
      2	  90702     if (sav_log > -1) {                 /* Ditto for autologin */
      2	  90703         ftp_log = sav_log;
      2	  90704         sav_log = -1;
      1	  90705     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1698
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  90706     cmfdbi(&sw,                         /* Switches */
      1	  90707            _CMKEY,
       E	            5
      1	  90708            "Service name or port;\n or switch",
      1	  90709            "",                          /* default */
      1	  90710            "",                          /* addtl string data */
      1	  90711            nftpswi,                     /* addtl numeric data 1: tbl size */
      1	  90712            4,                           /* addtl numeric data 2: none */
      1	  90713            xxstring,                    /* Processing function */
      1	  90714            ftpswitab,                   /* Keyword table */
      1	  90715            &fl                          /* Pointer to next FDB */
      1	  90716            );
      1	  90717     cmfdbi(&fl,                         /* A host name or address */
      1	  90718            _CMFLD,                      /* fcode */
       E	            3
      1	  90719            "",                          /* help */
      1	  90720            "xYzBoo",                    /* default */
      1	  90721            "",                          /* addtl string data */
      1	  90722            0,                           /* addtl numeric data 1 */
      1	  90723            0,                           /* addtl numeric data 2 */
      1	  90724            xxstring,
      1	  90725            NULL,
       E	            ( ( void * ) 0 )
      1	  90726            &cm
      1	  90727            );
      1	  90728     cmfdbi(&cm,                         /* Command confirmation */
      1	  90729            _CMCFM,
       E	            6
      1	  90730            "",
      1	  90731            "",
      1	  90732            "",
      1	  90733            0,
      1	  90734            0,
      1	  90735            NULL,
       E	            ( ( void * ) 0 )
      1	  90736            NULL,
       E	            ( ( void * ) 0 )
      1	  90737            NULL
       E	            ( ( void * ) 0 )
      1	  90738            );
      1	  90739 
      2	  90740     for (n = 0;; n++) {
      2	  90741         rc = cmfdb(&sw);                /* Parse a service name or a switch */
      2	  90742         if (rc < 0)
      2	  90743           goto xopenftp;
      2	  90744 
      3	  90745         if (cmresult.fcode == _CMCFM) { /* Done? */
       E	                               6
      3	  90746             break;
      3	  90747         } else if (cmresult.fcode == _CMFLD) {  /* Port */
       E	                                      3
      3	  90748             if (ckstrcmp("xYzBoo",cmresult.sresult,-1,1))
      3	  90749               makestr(&service,cmresult.sresult);
      3	  90750             else
      3	  90751               makestr(&service,opn_tls?"ftps":"ftp");
      3	  90752         } else if (cmresult.fcode == _CMKEY) { /* Have a switch */
       E	                                      5

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1699
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  90753             c = cmgbrk();               /* get break character */
      3	  90754             getval = (c == ':' || c == '=');
      3	  90755             rc = -9;
      4	  90756             if (getval && !(cmresult.kflags & CM_ARG)) {
       E	                                               8
      4	  90757                 printf("?This switch does not take arguments\n");
      4	  90758                 goto xopenftp;
      3	  90759             }
      4	  90760             if (!getval && (cmresult.kflags & CM_ARG)) {
       E	                                               8
      4	  90761                 printf("?This switch requires an argument\n");
      4	  90762                 goto xopenftp;
      3	  90763             }
      4	  90764             switch (cmresult.nresult) { /* Switch */
      4	  90765               case OPN_ANO:             /* /ANONYMOUS */
       E	                    1
      4	  90766                 anonymous++;
      4	  90767 		nologin = 0;
      4	  90768                 break;
      4	  90769               case OPN_NIN:             /* /NOINIT */
       E	                    8
      4	  90770                 noinit++;
      4	  90771                 break;
      4	  90772               case OPN_NOL:             /* /NOLOGIN */
       E	                    9
      4	  90773                 nologin++;
      4	  90774 		anonymous = 0;
      4	  90775 		makestr(&ftp_logname,NULL);
       E	                        ( ( void * ) 0 )
      4	  90776                 break;
      4	  90777               case OPN_PSW:             /* /PASSWORD */
       E	                    2
      4	  90778                 if (!anonymous)         /* Don't log real passwords */
      4	  90779                   debok = 0;
      4	  90780                 rc = cmfld("Password for FTP server","",&p,xxstring);
      5	  90781                 if (rc == -3) {
      5	  90782                     makestr(&ftp_tmp,NULL);
       E	                                      ( ( void * ) 0 )
      5	  90783                 } else if (rc < 0) {
      5	  90784                     goto xopenftp;
      5	  90785                 } else {
      5	  90786                     makestr(&ftp_tmp,brstrip(p));
      5	  90787 		    nologin = 0;
      4	  90788                 }
      4	  90789                 break;
      4	  90790               case OPN_USR:             /* /USER */
       E	                    3
      4	  90791                 rc = cmfld("Username for FTP server","",&p,xxstring);
      5	  90792                 if (rc == -3) {
      5	  90793                     makestr(&ftp_logname,NULL);
       E	                                          ( ( void * ) 0 )
      5	  90794                 } else if (rc < 0) {
      5	  90795                     goto xopenftp;
      5	  90796                 } else {
      5	  90797 		    nologin = 0;
      5	  90798                     anonymous = 0;
      5	  90799 		    haveuser = 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1700
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	  90800                     makestr(&ftp_logname,brstrip(p));
      4	  90801                 }
      4	  90802                 break;
      4	  90803               case OPN_ACC:
       E	                    4
      4	  90804                 rc = cmfld("Account for FTP server","",&p,xxstring);
      5	  90805                 if (rc == -3) {
      5	  90806                     makestr(&ftp_acc,NULL);
       E	                                      ( ( void * ) 0 )
      5	  90807                 } else if (rc < 0) {
      5	  90808                     goto xopenftp;
      5	  90809                 } else {
      5	  90810                     makestr(&ftp_acc,brstrip(p));
      4	  90811                 }
      4	  90812                 break;
      4	  90813               case OPN_ACT:
       E	                    5
      4	  90814                 opn_psv = 0;
      4	  90815                 break;
      4	  90816               case OPN_PSV:
       E	                    6
      4	  90817                 opn_psv = 1;
      4	  90818                 break;
      4	  90819               case OPN_TLS:
       E	                    7
      4	  90820                 opn_tls = 1;
      4	  90821                 break;
      4	  90822               default:
      4	  90823                 break;
      3	  90824             }
      2	  90825         }
      3	  90826         if (n == 0) {                   /* After first time through */
      3	  90827             cmfdbi(&sw,                 /* accept only switches */
      3	  90828                    _CMKEY,
       E	                    5
      3	  90829                    "\nCarriage return to confirm to command, or switch",
      3	  90830                    "",
      3	  90831                    "",
      3	  90832                    nftpswi,
      3	  90833                    4,
      3	  90834                    xxstring,
      3	  90835                    ftpswitab,
      3	  90836                    &cm
      3	  90837                    );
      2	  90838         }
      1	  90839     }
      1X  90840 #ifdef COMMENT
      1X  90841     debug(F100,"ftp openftp while exit","",0);
      1X  90842     rc = cmcfm();
      1X  90843     debug(F101,"ftp openftp cmcfm rc","",rc);
      1X  90844     if (rc < 0)
      1X  90845       goto xopenftp;
      1X  90846 #endif /* COMMENT */
      1	  90847 
      2	  90848     if (opn_psv > -1) {                 /* /PASSIVE or /ACTIVE switch given */
      2	  90849         sav_psv = ftp_psv;
      2	  90850         ftp_psv = opn_psv;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1701
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  90851     }
      2	  90852     if (nologin || haveuser) {		/* /NOLOGIN or /USER switch given */
      2	  90853 	sav_log = ftp_log;
      2	  90854 	ftp_log = haveuser ? 1 : 0;
      1	  90855     }
      2	  90856     if (*hostname == '=') {             /* Bypass directory lookup */
      2	  90857         hostname++;                     /* if hostname starts with '=' */
      2	  90858         havehost++;
      2	  90859     } else if (isdigit(*hostname)) {    /* or if it starts with a digit */
       E	                ( ( decc$$gl___ctypea ) ? ( decc$$ga___ctypet ) [ ( int ) ( * hostname ) ] & 0x4 : ( isdigit ) ( * h
       E	ostname ) )
      2	  90860         havehost++;
      1	  90861     }
      1	  90862     if (!service)
      1	  90863       makestr(&service,opn_tls?"ftps":"ftp");
      1	  90864 
      1	  90865 #ifndef NODIAL
      2	  90866     if (!havehost && nnetdir > 0) {     /* If there is a networks directory */
      2	  90867         lunet(hostname);                /* Look up the name */
      2	  90868         debug(F111,"ftp openftp lunet",hostname,nhcount);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp openftp lunet" , ( char * ) ( hostname ) , ( off_t ) ( nhcount ) )
       E	 : 0 ) )
      3	  90869         if (nhcount == 0) {
      3	  90870             if (testing)
      3	  90871               printf(" ftp open trying \"%s %s\"...\n",hostname,service);
      3	  90872             success = ftpopen(hostname,service,opn_tls);
      3	  90873             debug(F101,"ftp openftp A ftpopen success","",success);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp openftp A ftpopen success" , ( char * ) ( "" ) , ( off_t ) ( s
       E	uccess ) ) : 0 ) )
      3	  90874             rc = success;
      3	  90875         } else {
      3	  90876             int found = 0;
      4	  90877             for (i = 0; i < nhcount; i++) {
      4	  90878                 if (nh_p2[i])           /* If network type specified */
      4	  90879                   if (ckstrcmp(nh_p2[i],"tcp/ip",strlen(nh_p2[i]),0))
       E	                                                  __STRLEN ( nh_p2 [ i ] )
      4	  90880                     continue;
      4	  90881                 found++;
      4	  90882                 makestr(&hostname,nh_p[i]);
      4	  90883                 debug(F111,"ftpopen lunet substitution",hostname,i);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftpopen lunet substitution" , ( char * ) ( hostname ) , ( off_
       E	t ) ( i ) ) : 0 ) )
      4	  90884                 if (testing)
      4	  90885                   printf(" ftp open trying \"%s %s\"...\n",hostname,service);
      4	  90886                 success = ftpopen(hostname,service,opn_tls);
      4	  90887                 debug(F101,"ftp openftp B ftpopen success","",success);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp openftp B ftpopen success" , ( char * ) ( "" ) , ( off_t )
       E	 ( success ) ) : 0 ) )
      4	  90888                 rc = success;
      4	  90889                 if (success)
      4	  90890                   break;
      3	  90891             }
      4	  90892             if (!found) {               /* E.g. if no network types match */
      4	  90893                 if (testing)
      4	  90894                   printf(" ftp open trying \"%s %s\"...\n",hostname,service);
      4	  90895                 success = ftpopen(hostname,service,opn_tls);
      4	  90896                 debug(F101,"ftp openftp C ftpopen success","",success);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1702
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp openftp C ftpopen success" , ( char * ) ( "" ) , ( off_t )
       E	 ( success ) ) : 0 ) )
      4	  90897                 rc = success;
      3	  90898             }
      2	  90899         }
      2	  90900     } else {
      2	  90901 #endif /* NODIAL */
      2	  90902         if (testing)
      2	  90903           printf(" ftp open trying \"%s %s\"...\n",hostname,service);
      2	  90904         success = ftpopen(hostname,service,opn_tls);
      2	  90905         debug(F111,"ftp openftp D ftpopen success",hostname,success);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp openftp D ftpopen success" , ( char * ) ( hostname ) , ( off_t ) (
       E	 success ) ) : 0 ) )
      2	  90906         debug(F111,"ftp openftp D ftpopen connected",hostname,connected);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp openftp D ftpopen connected" , ( char * ) ( hostname ) , ( off_t )
       E	 ( connected ) ) : 0 ) )
      2	  90907         rc = success;
      2	  90908 #ifndef NODIAL
      1	  90909     }
      1	  90910 #endif /* NODIAL */
      1	  90911 
      1	  90912   xopenftp:
      1	  90913     debug(F101,"ftp openftp xopenftp rc","",rc);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp openftp xopenftp rc" , ( char * ) ( "" ) , ( off_t ) ( rc ) ) : 0 ) )
      1	  90914     if (hostsave) free(hostsave);
      1	  90915     if (service) free(service);
      2	  90916     if (rc < 0 && ftp_logname) {
      2	  90917         free(ftp_logname);
      2	  90918         ftp_logname = NULL;
       E	                       ( ( void * ) 0 )
      1	  90919     }
      2	  90920     if (ftp_tmp) {
      2	  90921         free(ftp_tmp);
      2	  90922         ftp_tmp = NULL;
       E	                   ( ( void * ) 0 )
      1	  90923     }
      1	  90924     return(rc);
      1	  90925 }
	  90926 
	  90927 VOID					/* 12 Aug 2007 */
       E	 void
	  90928 #ifdef CK_ANSIC
	  90929 doftpglobaltype( int x )
       X  90930 #else
       X  90931 doftpglobaltype(x) int x;
       X  90932 #endif /* CK_ANSIC */
      1	  90933 {
      1	  90934     ftp_xfermode = XMODE_M;		/* Set manual FTP transfer mode */
       E	                    1
      1	  90935     ftp_typ = x;			/* Used by top-level BINARY and */
      1	  90936     g_ftp_typ = x;			/* ASCII commands. */
      1	  90937     get_auto = 0;
      1	  90938     forcetype = 1;
      1	  90939 }
	  90940 
	  90941 int
      1	  90942 doftpacct() {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1703
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  90943     int x;
      1	  90944     char * s;
      1	  90945     if ((x = cmtxt("Remote account", "", &s, xxstring)) < 0)
      1	  90946       return(x);
      1	  90947     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  90948     makestr(&ftp_acc,brstrip(s));
      1	  90949     if (testing)
      1	  90950       printf(" ftp account: \"%s\"\n",ftp_acc);
      1	  90951     success = (ftpcmd("ACCT",ftp_acc,-1,-1,ftp_vbm) == REPLY_COMPLETE);
       E	                                                        2
      1	  90952     return(success);
      1	  90953 }
	  90954 
	  90955 int
      1	  90956 doftpusr() {                            /* Log in as USER */
      1	  90957     extern char uidbuf[];
      1	  90958     extern char pwbuf[];
      1	  90959     extern int  pwflg, pwcrypt;
      1	  90960     int x;
      1	  90961     char *s, * acct = "";
      1	  90962 
      1	  90963     debok = 0;                          /* Don't log */
      1	  90964 
      1	  90965     if ((x = cmfld("Remote username or ID",uidbuf,&s,xxstring)) < 0)
      1	  90966       return(x);
      1	  90967     ckstrncpy(line,brstrip(s),LINBUFSIZ); /* brstrip: 15 Jan 2003 */
       E	                               ( 32763 + 10 )
      2	  90968     if ((x = cmfld("Remote password","",&s,xxstring)) < 0) {
      3	  90969         if (x == -3) { /* no input */
      4	  90970             if ( pwbuf[0] && pwflg ) {
      4	  90971                 ckstrncpy(tmpbuf,(char *)pwbuf,TMPBUFSIZ);
       E	                                                ( 32763 + 10 )
      4X  90972 #ifdef OS2
      4X  90973                 if ( pwcrypt )
      4X  90974                     ck_encrypt((char *)tmpbuf);
      4X  90975 #endif /* OS2 */
      3	  90976             }
      3	  90977         } else {
      3	  90978             return(x);
      2	  90979         }
      2	  90980     } else {
      2	  90981         ckstrncpy(tmpbuf,brstrip(s),TMPBUFSIZ);
       E	                                     ( 32763 + 10 )
      1	  90982     }
      1	  90983     if ((x = cmtxt("Remote account\n or Enter or CR to confirm the command",
      1	  90984                    "", &s, xxstring)) < 0)
      1	  90985       return(x);
      1	  90986     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  90987     if (*s) {
      2	  90988         x = strlen(tmpbuf);
       E	             __STRLEN ( tmpbuf )
      3	  90989         if (x > 0) {
      3	  90990             acct = &tmpbuf[x+2];
      3	  90991             ckstrncpy(acct,brstrip(s),TMPBUFSIZ - x - 2);
       E	                                       ( 32763 + 10 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1704
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  90992         }
      1	  90993     }
      1	  90994     if (testing)
      1	  90995       printf(" ftp user \"%s\" password \"%s\"...\n",line,tmpbuf);
      1	  90996     success = ftp_user(line,tmpbuf,acct);
      1	  90997 #ifdef CKLOGDIAL
      1	  90998     dologftp();
      1	  90999 #endif /* CKLOGDIAL */
      1	  91000     return(success);
      1	  91001 }
	  91002 
	  91003 /* DO (various FTP commands)... */
	  91004 
	  91005 int
	  91006 #ifdef CK_ANSIC
	  91007 doftptyp( int type )                    /* TYPE */
       X  91008 #else
       X  91009 doftptyp(type) int type;
       X  91010 #endif /* CK_ANSIC */
      1	  91011 {
      1	  91012     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  91013     ftp_typ = type;
      1	  91014     changetype(ftp_typ,ftp_vbm);
      1	  91015     debug(F101,"doftptyp changed type","",type);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "doftptyp changed type" , ( char * ) ( "" ) , ( off_t ) ( type ) ) : 0 ) )
      1	  91016     return(1);
      1	  91017 }
	  91018 
	  91019 static int
	  91020 #ifdef CK_ANSIC
	  91021 doftpxmkd( char * s, int vbm )          /* MKDIR action */
       X  91022 #else
       X  91023 doftpxmkd(s,vbm) char * s; int vbm;
       X  91024 #endif /* CK_ANSIC */
      1	  91025 {
      1	  91026     int lcs = -1, rcs = -1;
      1	  91027 #ifndef NOCSETS
      2	  91028     if (ftp_xla) {
      2	  91029         lcs = ftp_csl;
      2	  91030         if (lcs < 0) lcs = fcharset;
      2	  91031         rcs = ftp_csx;
      2	  91032         if (rcs < 0) rcs = ftp_csr;
      1	  91033     }
      1	  91034 #endif /* NOCSETS */
      1	  91035     debug(F110,"ftp doftpmkd",s,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp doftpmkd" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91036     if (ftpcmd("MKD",s,lcs,rcs,vbm) == REPLY_COMPLETE)
       E	                                        2
      1	  91037       return(success = 1);
      2	  91038     if (ftpcode == 500 || ftpcode == 502) {
      2	  91039         if (!quiet)
      2	  91040           printf("MKD command not recognized, trying XMKD\n");
      2	  91041         if (ftpcmd("XMKD",s,lcs,rcs,vbm) == REPLY_COMPLETE)
       E	                                             2
      2	  91042           return(success = 1);
      1	  91043     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1705
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91044     return(success = 0);
      1	  91045 }
	  91046 
	  91047 static int
	  91048 #ifdef CK_ANSIC
	  91049 doftpmkd( void )                        /* MKDIR parse */
       X  91050 #else
       X  91051 doftpmkd()
       X  91052 #endif /* CK_ANSIC */
      1	  91053 {
      1	  91054     int x;
      1	  91055     char * s;
      1	  91056     if ((x = cmtxt("Remote directory name", "", &s, xxstring)) < 0)
      1	  91057       return(x);
      1	  91058     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  91059     ckstrncpy(line,s,LINBUFSIZ);
       E	                      ( 32763 + 10 )
      1	  91060     if (testing)
      1	  91061       printf(" ftp mkdir \"%s\"...\n",line);
      1	  91062     return(success = doftpxmkd(line,-1));
      1	  91063 }
	  91064 
	  91065 static int
      1	  91066 doftprmd() {                            /* RMDIR */
      1	  91067     int x, lcs = -1, rcs = -1;
      1	  91068     char * s;
      1	  91069     if ((x = cmtxt("Remote directory", "", &s, xxstring)) < 0)
      1	  91070       return(x);
      1	  91071     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  91072     ckstrncpy(line,s,LINBUFSIZ);
       E	                      ( 32763 + 10 )
      1	  91073     if (testing)
      1	  91074       printf(" ftp rmdir \"%s\"...\n",line);
      1	  91075 #ifndef NOCSETS
      2	  91076     if (ftp_xla) {
      2	  91077         lcs = ftp_csl;
      2	  91078         if (lcs < 0) lcs = fcharset;
      2	  91079         rcs = ftp_csx;
      2	  91080         if (rcs < 0) rcs = ftp_csr;
      1	  91081     }
      1	  91082 #endif /* NOCSETS */
      1	  91083     if (ftpcmd("RMD",line,lcs,rcs,ftp_vbm) == REPLY_COMPLETE)
       E	                                               2
      1	  91084       return(success = 1);
      2	  91085     if (ftpcode == 500 || ftpcode == 502) {
      2	  91086         if (!quiet)
      2	  91087           printf("RMD command not recognized, trying XMKD\n");
      2	  91088         success = (ftpcmd("XRMD",line,lcs,rcs,ftp_vbm) == REPLY_COMPLETE);
       E	                                                           2
      1	  91089     } else
      1	  91090       success = 0;
      1	  91091     return(success);
      1	  91092 }
	  91093 
	  91094 static int

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1706
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91095 doftpren() {                            /* RENAME */
      1	  91096     int x;
      1	  91097     char * s;
      1	  91098     if ((x = cmfld("Remote filename","",&s,xxstring)) < 0)
      1	  91099       return(x);
      1	  91100     ckstrncpy(line,s,LINBUFSIZ);
       E	                      ( 32763 + 10 )
      1	  91101     if ((x = cmfld("New name for remote file","",&s,xxstring)) < 0)
      1	  91102       return(x);
      1	  91103     ckstrncpy(tmpbuf,s,TMPBUFSIZ);
       E	                        ( 32763 + 10 )
      1	  91104     if ((x = cmcfm()) < 0)
      1	  91105       return(x);
      1	  91106     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  91107     if (testing)
      1	  91108       printf(" ftp rename \"%s\" (to) \"%s\"...\n",line,tmpbuf);
      1	  91109     success = ftp_rename(line,tmpbuf);
      1	  91110     return(success);
      1	  91111 }
	  91112 
	  91113 int
      1	  91114 doftpres() {                            /* RESET (log out without close) */
      1	  91115     int x;
      1	  91116     if ((x = cmcfm()) < 0)
      1	  91117       return(x);
      1	  91118     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  91119     if (testing)
      1	  91120       printf(" ftp reset...\n");
      1	  91121     return(success = ftp_reset());
      1	  91122 }
	  91123 
	  91124 static int
      1	  91125 doftpxhlp() {                           /* HELP */
      1	  91126     int x;
      1	  91127     char * s;
      1	  91128     if ((x = cmtxt("Command name", "", &s, xxstring)) < 0)
      1	  91129       return(x);
      1	  91130     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  91131     ckstrncpy(line,s,LINBUFSIZ);
       E	                      ( 32763 + 10 )
      1	  91132     if (testing)
      1	  91133       printf(" ftp help \"%s\"...\n",line);
      1	  91134     /* No need to translate -- all FTP commands are ASCII */
      1	  91135     return(success = (ftpcmd("HELP",line,0,0,1) == REPLY_COMPLETE));
       E	                                                    2
      1	  91136 }
	  91137 
	  91138 static int
	  91139 #ifdef CK_ANSIC
	  91140 doftpdir( int cx )                      /* [V]DIRECTORY */
       X  91141 #else
       X  91142 doftpdir(cx) int cx;
       X  91143 #endif /* CK_ANSIC */
      1	  91144 {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1707
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91145     int x, lcs = 0, rcs = 0, xlate = 0;
      1	  91146     char * p, * s, * m = "";
      2	  91147     if (cx == FTP_VDI) {
       E	               36
      3	  91148         switch (servertype) {
      3	  91149           case SYS_VMS:
       E	                3
      3	  91150           case SYS_DOS:
       E	                5
      3	  91151           case SYS_TOPS10:
       E	                6
      3	  91152           case SYS_TOPS20:
       E	                7
      3	  91153             m = "*.*";
      3	  91154             break;
      3	  91155           default:
      3	  91156             m = "*";
      2	  91157         }
      1	  91158     }
      1	  91159     if ((x = cmtxt("Remote filespec",m,&s,xxstring)) < 0)
      1	  91160       return(x);
      1	  91161     if ((x = remtxt(&s)) < 0)
      1	  91162       return(x);
      1X  91163 #ifdef NOCSETS
      1X  91164     xlate = 0;
      1X  91165 #else
      1	  91166     xlate = ftp_xla;
      1	  91167 #endif /* NOCSETS */
      1	  91168     line[0] = NUL;
       E	               '\0'
      1	  91169     ckstrncpy(line,s,LINBUFSIZ);
       E	                      ( 32763 + 10 )
      1	  91170     s = line;
      1	  91171     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  91172 
      1	  91173 #ifndef NOCSETS
      2	  91174     if (xlate) {                        /* SET FTP CHARACTER-SET-TRANSLATION */
      2	  91175         lcs = ftp_csl;                  /* Local charset */
      2	  91176         if (lcs < 0) lcs = fcharset;
      2	  91177         if (lcs < 0) xlate = 0;
      1	  91178     }
      2	  91179     if (xlate) {                        /* Still ON? */
      2	  91180         rcs = ftp_csx;                  /* Remote (Server) charset */
      2	  91181         if (rcs < 0) rcs = ftp_csr;
      2	  91182         if (rcs < 0) xlate = 0;
      1	  91183     }
      1	  91184 #endif /* NOCSETS */
      1	  91185 
      2	  91186     if (testing) {
      2	  91187         p = s;
      2	  91188         if (!p) p = "";
      2	  91189         if (*p)
      2	  91190           printf("Directory of files %s at %s:\n", line, ftp_host);
      2	  91191         else
      2	  91192           printf("Directory of files at %s:\n", ftp_host);
      1	  91193     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1708
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91194     debug(F111,"doftpdir",s,cx);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "doftpdir" , ( char * ) ( s ) , ( off_t ) ( cx ) ) : 0 ) )
      1	  91195 
      2	  91196     if (cx == FTP_DIR) {
       E	               7
      2	  91197         /* Translation of line[] is done inside recvrequest() */
      2	  91198         /* when it calls ftpcmd(). */
      2	  91199         return(success =
      2	  91200           (recvrequest("LIST","-",s,"wb",0,0,NULL,xlate,lcs,rcs) == 0));
       E	                                              ( ( void * ) 0 )
      1	  91201     }
      1	  91202     success = 1;                        /* VDIR - one file at a time... */
      1	  91203     p = (char *)remote_files(1,(CHAR *)s,NULL,0); /* Get the file list */
       E	                                 unsigned char
       E	                                          ( ( void * ) 0 )
      1	  91204     cancelgroup = 0;
      1	  91205     if (!ftp_vbm && !quiet)
      1	  91206       printlines = 1;
      2	  91207     while (p && !cancelfile && !cancelgroup) { /* STAT one file */
      3	  91208         if (ftpcmd("STAT",p,lcs,rcs,ftp_vbm) < 0) {
      3	  91209             success = 0;
      3	  91210             break;
      2	  91211         }
      2	  91212         p = (char *)remote_files(0,NULL,NULL,0); /* Get next file */
       E	                                    ( ( void * ) 0 )
       E	                                         ( ( void * ) 0 )
      2	  91213         debug(F110,"ftp vdir file",s,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp vdir file" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91214     }
      1	  91215     return(success);
      1	  91216 }
	  91217 
	  91218 static int
      1	  91219 doftppwd() {                            /* PWD */
      1	  91220     int x, lcs = -1, rcs = -1;
      1	  91221 #ifndef NOCSETS
      2	  91222     if (ftp_xla) {
      2	  91223         lcs = ftp_csl;
      2	  91224         if (lcs < 0) lcs = fcharset;
      2	  91225         rcs = ftp_csx;
      2	  91226         if (rcs < 0) rcs = ftp_csr;
      1	  91227     }
      1	  91228 #endif /* NOCSETS */
      1	  91229     if ((x = cmcfm()) < 0)
      1	  91230       return(x);
      1	  91231     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  91232     if (ftpcmd("PWD",NULL,lcs,rcs,1) == REPLY_COMPLETE) {
       E	                      ( ( void * ) 0 )
       E	                                         2
      2	  91233         success = 1;
      2	  91234     } else if (ftpcode == 500 || ftpcode == 502) {
      2	  91235         if (ftp_deb)
      2	  91236           printf("PWD command not recognized, trying XPWD\n");
      2	  91237         success = (ftpcmd("XPWD",NULL,lcs,rcs,1) == REPLY_COMPLETE);
       E	                                  ( ( void * ) 0 )
       E	                                                     2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1709
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91238     }
      1	  91239     return(success);
      1	  91240 }
	  91241 
	  91242 static int
	  91243 #ifdef CK_ANSIC
	  91244 doftpcwd( char * s, int vbm )           /* CD (CWD) */
       X  91245 #else
       X  91246 doftpcwd(s,vbm) char * s; int vbm;
       X  91247 #endif /* CK_ANSIC */
      1	  91248 {
      1	  91249     int lcs = -1, rcs = -1;
      1	  91250 #ifndef NOCSETS
      2	  91251     if (ftp_xla) {
      2	  91252         lcs = ftp_csl;
      2	  91253         if (lcs < 0) lcs = fcharset;
      2	  91254         rcs = ftp_csx;
      2	  91255         if (rcs < 0) rcs = ftp_csr;
      1	  91256     }
      1	  91257 #endif /* NOCSETS */
      1	  91258 
      1	  91259     debug(F110,"ftp doftpcwd",s,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp doftpcwd" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91260     if (ftpcmd("CWD",s,lcs,rcs,vbm) == REPLY_COMPLETE)
       E	                                        2
      1	  91261       return(success = 1);
      2	  91262     if (ftpcode == 500 || ftpcode == 502) {
      2	  91263         if (!quiet)
      2	  91264           printf("CWD command not recognized, trying XCWD\n");
      2	  91265         if (ftpcmd("XCWD",s,lcs,rcs,vbm) == REPLY_COMPLETE)
       E	                                             2
      2	  91266           return(success = 1);
      1	  91267     }
      1	  91268     return(success = 0);
      1	  91269 }
	  91270 
	  91271 static int
      1	  91272 doftpcdup() {                           /* CDUP */
      1	  91273     debug(F100,"ftp doftpcdup","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp doftpcdup" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91274     if (ftpcmd("CDUP",NULL,0,0,1) == REPLY_COMPLETE)
       E	                       ( ( void * ) 0 )
       E	                                      2
      1	  91275       return(success = 1);
      2	  91276     if (ftpcode == 500 || ftpcode == 502) {
      2	  91277         if (!quiet)
      2	  91278           printf("CDUP command not recognized, trying XCUP\n");
      2	  91279         if (ftpcmd("XCUP",NULL,0,0,1) == REPLY_COMPLETE)
       E	                           ( ( void * ) 0 )
       E	                                          2
      2	  91280           return(success = 1);
      1	  91281     }
      1	  91282     return(success = 0);
      1	  91283 }
	  91284 
	  91285 /* s y n c d i r  --  Synchronizes client & server directories */
	  91286 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1710
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  91287 /*
	  91288   Call with:
	  91289     local = pointer to pathname of local file to be sent.
	  91290     sim   = 1 for simulation, 0 for real uploading.
	  91291   Returns 0 on failure, 1 on success.
	  91292 
	  91293   The 'local' argument is relative to the initial directory of the MPUT,
	  91294   i.e. the root of the tree being uploaded.  If the directory of the
	  91295   argument file is different from the directory of the previous file
	  91296   (which is stored in global putpath[]), this routine does the appropriate
	  91297   CWDs, CDUPs, and/or MKDIRs to position the FTP server in the same place.
	  91298 */
	  91299 static int cdlevel = 0, cdsimlvl = 0;	/* Tree-level trackers */
	  91300 
	  91301 static int
	  91302 #ifdef CK_ANSIC
	  91303 syncdir( char * local, int sim )
       X  91304 #else
       X  91305 syncdir(local,sim) char * local; int sim;
       X  91306 #endif /* CK_ANSIC */
      1	  91307 {
      1	  91308     char buf[CKMAXPATH+1];
       E	              4095
      1	  91309     char tmp[CKMAXPATH+1];
       E	              4095
      1	  91310     char msgbuf[CKMAXPATH+64];
       E	                 4095
      1	  91311     char c, * p = local, * s = buf, * q = buf, * psep, * ssep;
      1	  91312     int i, k = 0, done = 0, itsadir = 0, saveq;
      1	  91313 
      1	  91314     debug(F110,"ftp syncdir local (new)",local,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir local (new)" , ( char * ) ( local ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      1	  91315     debug(F110,"ftp syncdir putpath (old)",putpath,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir putpath (old)" , ( char * ) ( putpath ) , ( off_t ) ( 0 ) ) : 
       E	0 ) )
      1	  91316 
      1	  91317     itsadir = isdir(local);		/* Is the local file a directory? */
      1	  91318     saveq = quiet;
      1	  91319 
      2	  91320     while ((*s = *p)) {                 /* Copy the argument filename */
      2	  91321         if (++k == CKMAXPATH)           /* so we can poke it. */
       E	                    4095
      2	  91322           return(-1);
      2	  91323         if (*s == '/')                  /* Pointer to rightmost dirsep */
      2	  91324           q = s;
      2	  91325         s++;
      2	  91326         p++;
      1	  91327     }
      1	  91328     if (!itsadir)			/* If it's a regular file */
      1	  91329       *q = NUL;                         /* keep just the path part */
       E	            '\0'
      1	  91330 
      1	  91331     debug(F110,"ftp syncdir buf",buf,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir buf" , ( char * ) ( buf ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  91332     if (!strcmp(buf,putpath)) {         /* Same path as previous file? */
      3	  91333         if (itsadir) {                  /* This file is a directory? */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1711
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  91334             if (doftpcwd(local,0)) {    /* Try to CD to it */
      4	  91335                 doftpcdup();            /* Worked - CD back up */
      4	  91336             } else if (sim) {           /* Simulating... */
      5	  91337                 if (fdispla == XYFD_B) {
       E	                                4
      5	  91338                     printf("WOULD CREATE DIRECTORY %s\n",local);
      5	  91339                 } else if (fdispla) {
      5	  91340                     ckmakmsg(msgbuf,CKMAXPATH,
       E	                                     4095
      5	  91341                              "WOULD CREATE DIRECTORY",local,NULL,NULL);
       E	                                                             ( ( void * ) 0 )
       E	                                                                  ( ( void * ) 0 )
      5	  91342                     ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,msgbuf);
       E	                              5
       E	                                     7
       E	                                             off_t
      4	  91343                 }
      4	  91344                 /* See note above */
      4	  91345                 return(0);
      4	  91346             } else if (!doftpxmkd(local,0)) { /* Can't CD - try to create */
      4	  91347                 return(0);
      4	  91348             } else {			/* Remote directory created OK */
      5	  91349                 if (fdispla == XYFD_B) {
       E	                                4
      5	  91350                     printf("CREATED DIRECTORY %s\n",local);
      5	  91351                 } else if (fdispla) {
      5	  91352                     ckmakmsg(msgbuf,CKMAXPATH+64,
       E	                                     4095
      5	  91353                              "CREATED DIRECTORY ",local,NULL,NULL);
       E	                                                         ( ( void * ) 0 )
       E	                                                              ( ( void * ) 0 )
      5	  91354                     ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,msgbuf);
       E	                              5
       E	                                     7
       E	                                             off_t
      4	  91355                 }
      3	  91356             }
      2	  91357         }
      2	  91358         debug(F110,"ftp syncdir no change",buf,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir no change" , ( char * ) ( buf ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      2	  91359         return(1);                      /* Yes, done. */
      1	  91360     }
      1	  91361     ckstrncpy(tmp,buf,CKMAXPATH+1);     /* Make a safe (pre-poked) copy */
       E	                       4095
      1	  91362     debug(F110,"ftp syncdir new path",buf,0); /* for later (see end) */
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir new path" , ( char * ) ( buf ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91363 
      1	  91364     p = buf;                            /* New */
      1	  91365     s = putpath;                        /* Old */
      1	  91366 
      1	  91367     debug(F110,"ftp syncdir A (old) s",s,0); /* Previous */
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir A (old) s" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91368     debug(F110,"ftp syncdir A (new) p",p,0); /* New */
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir A (new) p" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91369 
      1	  91370     psep = buf;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1712
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91371     ssep = putpath;
      2	  91372     while (*p != NUL && *s != NUL && *p == *s) {
       E	                  '\0'
       E	                               '\0'
      2	  91373 	if (*p == '/') { psep = p+1; ssep = s+1; }
      2	  91374 	p++,s++;
      1	  91375     }
      1	  91376     /*
      1	  91377       psep and ssep point to the first path segment that differs.
      1	  91378       We have to do as many CDUPs as there are path segments in ssep.
      1	  91379       then we have to do as many MKDs and CWDs as there are segments in psep.
      1	  91380     */
      1	  91381     s = ssep;
      1	  91382     p = psep;
      1	  91383 
      1	  91384     debug(F110,"ftp syncdir B (old) s",s,0); /* Previous */
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir B (old) s" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91385     debug(F110,"ftp syncdir B (new) p",p,0); /* New */
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir B (new) p" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91386 
      1	  91387     /* p and s now point to the leftmost spot where the paths differ */
      1	  91388 
      2	  91389     if (*s) {                           /* We have to back up */
      2	  91390         k = 1;                          /* How many levels counting this one */
      3	  91391         while ((c = *s++)) {            /* Count dirseps remaining in prev */
      3	  91392             if (c == '/' && *s)
      3	  91393               k++;
      2	  91394         }
      2	  91395 	debug(F101,"ftp syncdir levels up","",k);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp syncdir levels up" , ( char * ) ( "" ) , ( off_t ) ( k ) ) : 0 ) )
      2	  91396 
      3	  91397         for (i = 1; i <= k; i++) {       /* Do that many CDUPs */
      3	  91398             debug(F111,"ftp syncdir CDUP A",p,i);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp syncdir CDUP A" , ( char * ) ( p ) , ( off_t ) ( i ) ) : 0 ) )
      3	  91399 	    if (fdispla == XYFD_B)
       E	                     4
      3	  91400 	      printf(" CDUP\n");
      4	  91401             if (sim && cdsimlvl) {
      4	  91402                 cdsimlvl--;
      4	  91403             } else {
      5	  91404                 if (!doftpcdup()) {
      5	  91405                     quiet = saveq;
      5	  91406                     return(0);
      4	  91407                 }
      3	  91408             }
      3	  91409             cdlevel--;
      2	  91410         }
      2	  91411         if (!*p)                        /* If we don't have to go down */
      2	  91412           goto xcwd;                    /* we're done. */
      1	  91413     }
      1X  91414 #ifdef COMMENT
      1X  91415     while (p > buf && *p && *p != '/')  /* If in middle of segment */
      1X  91416       p--;                              /* back up to beginning */
      1X  91417     if (*p == '/')                      /* and terminate there */
      1X  91418       p++;
      1X  91419 #endif	/* COMMENT */
      1	  91420 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1713
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91421     debug(F110,"ftp syncdir NEW PATH",p,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir NEW PATH" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91422 
      1	  91423     s = p;                              /* Point to start of new down path. */
      2	  91424     while (1) {                         /* Loop through characters. */
      3	  91425         if (*s == '/' || !*s) {         /* Have a segment. */
      3	  91426             if (!*s)                    /* If end of string, */
      3	  91427               done++;                   /* after this segment we're done. */
      3	  91428             else
      3	  91429               *s = NUL;                 /* NUL out the separator. */
       E	                    '\0'
      4	  91430             if (*p) {                   /* If segment is not empty */
      4	  91431                 debug(F110,"ftp syncdir down segment",p,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir down segment" , ( char * ) ( p ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      5	  91432                 if (!doftpcwd(p,0)) {   /* Try to CD to it */
      6	  91433                     if (sim) {
      7	  91434                         if (fdispla == XYFD_B) {
       E	                                        4
      7	  91435                             printf(" WOULD CREATE DIRECTORY %s\n",local);
      7	  91436                         } else if (fdispla) {
      7	  91437                             ckmakmsg(msgbuf,CKMAXPATH,
       E	                                             4095
      7	  91438 				     "WOULD CREATE DIRECTORY",
      7	  91439                                      local,NULL,NULL);
       E	                                            ( ( void * ) 0 )
       E	                                                 ( ( void * ) 0 )
      7	  91440                             ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,msgbuf);
       E	                                      5
       E	                                             7
       E	                                                     off_t
      6	  91441                         }
      6	  91442                         cdsimlvl++;
      6	  91443                     } else {
      7	  91444                         if (!doftpxmkd(p,0)) { /* Can't CD - try to create */
      7	  91445 			    debug(F110,"ftp syncdir mkdir failed",p,0); 
       E	        ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir mkdir failed" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      7	  91446 /*
      7	  91447   Suppose we are executing SEND /RECURSIVE.  Locally we have a directory
      7	  91448   FOO but the remote has a regular file with the same name.  We can't CD
      7	  91449   to it, can't MKDIR it either.  There's no way out but to fail and let
      7	  91450   the user handle the problem.
      7	  91451 */
      7	  91452                             quiet = saveq;
      7	  91453                             return(0);
      6	  91454                         }
      6	  91455 			debug(F110,"ftp syncdir mkdir OK",p,0); 
       E	    ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir mkdir OK" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      7	  91456                         if (fdispla == XYFD_B) {
       E	                                        4
      7	  91457                             printf(" CREATED DIRECTORY %s\n",p);
      7	  91458                         } else if (fdispla) {
      7	  91459                             ckmakmsg(msgbuf,CKMAXPATH,
       E	                                             4095
      7	  91460                                      "CREATED DIRECTORY ",p,NULL,NULL);
       E	                                                             ( ( void * ) 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1714
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                                                  ( ( void * ) 0 )
      7	  91461                             ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,msgbuf);
       E	                                      5
       E	                                             7
       E	                                                     off_t
      6	  91462                         }
      7	  91463                         if (!doftpcwd(p,0)) { /* Try again to CD */
      7	  91464 			    debug(F110,"ftp syncdir CD failed",p,0); 
       E	        ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir CD failed" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      7	  91465                             quiet = saveq;
      7	  91466                             return(0);
      6	  91467                         }
      6	  91468                         if (fdispla == XYFD_B) printf(" CWD %s\n",p);
       E	                                        4
      6	  91469 			debug(F110,"ftp syncdir CD OK",p,0); 
       E	    ( ( void ) ( deblog ? dodebug ( 6 , "ftp syncdir CD OK" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      5	  91470                     }
      4	  91471                 }
      4	  91472                 cdlevel++;
      3	  91473             }
      3	  91474             if (done)                   /* Quit if no next segment */
      3	  91475               break;
      3	  91476             p = s+1;                    /* Point to next segment */
      2	  91477         }
      2	  91478         s++;                            /* Point to next source char */
      1	  91479     }
      1	  91480 
      1	  91481   xcwd:
      1	  91482     ckstrncpy(putpath,tmp,CKMAXPATH+1); /* All OK - make this the new path */
       E	                           4095
      1	  91483     quiet = saveq;
      1	  91484     return(1);
      1	  91485 }
	  91486 
	  91487 #ifdef DOUPDATE
	  91488 #ifdef DEBUG
	  91489 static VOID
       E	        void
	  91490 #ifdef CK_ANSIC
	  91491 dbtime( char * s, struct tm * xx )  /* Write struct tm to debug log */
       X  91492 #else
       X  91493 dbtime(s,xx) char * s; struct tm * xx;
       X  91494 #endif /* CK_ANSIC */
      1	  91495 {
      2	  91496     if (deblog) {
      2	  91497         debug(F111,"ftp year ",s,xx->tm_year);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp year " , ( char * ) ( s ) , ( off_t ) ( xx -> tm_year ) ) : 0 ) )
      2	  91498         debug(F111,"ftp month",s,xx->tm_mon);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp month" , ( char * ) ( s ) , ( off_t ) ( xx -> tm_mon ) ) : 0 ) )
      2	  91499         debug(F111,"ftp day  ",s,xx->tm_mday);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp day  " , ( char * ) ( s ) , ( off_t ) ( xx -> tm_mday ) ) : 0 ) )
      2	  91500         debug(F111,"ftp hour ",s,xx->tm_hour);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp hour " , ( char * ) ( s ) , ( off_t ) ( xx -> tm_hour ) ) : 0 ) )
      2	  91501         debug(F111,"ftp min  ",s,xx->tm_min);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp min  " , ( char * ) ( s ) , ( off_t ) ( xx -> tm_min ) ) : 0 ) )
      2	  91502         debug(F111,"ftp sec  ",s,xx->tm_sec);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp sec  " , ( char * ) ( s ) , ( off_t ) ( xx -> tm_sec ) ) : 0 ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1715
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91503     }
      1	  91504 }
	  91505 #endif /* DEBUG */
	  91506 
	  91507 /*  t m c o m p a r e  --  Compare two struct tm's */
	  91508 
	  91509 /*  Like strcmp() but for struct tm's  */
	  91510 /*  Returns -1 if xx < yy, 0 if they are equal, 1 if xx > yy */
	  91511 
	  91512 static int
	  91513 #ifdef CK_ANSIC
	  91514 tmcompare( struct tm * xx, struct tm * yy )
       X  91515 #else
       X  91516 tmcompare(xx,yy) struct tm * xx, * yy;
       X  91517 #endif /* CK_ANSIC */
      1	  91518 {
      1	  91519     if (xx->tm_year < yy->tm_year)      /* First year less than second */
      1	  91520       return(-1);
      1	  91521     if (xx->tm_year > yy->tm_year)      /* First year greater than second */
      1	  91522       return(1);
      1	  91523 
      1	  91524     /* Years are equal so compare months */
      1	  91525 
      1	  91526     if (xx->tm_mon  < yy->tm_mon)       /* And so on... */
      1	  91527       return(-1);
      1	  91528     if (xx->tm_mon  > yy->tm_mon)
      1	  91529       return(1);
      1	  91530 
      1	  91531     if (xx->tm_mday < yy->tm_mday)
      1	  91532       return(-1);
      1	  91533     if (xx->tm_mday > yy->tm_mday)
      1	  91534       return(1);
      1	  91535 
      1	  91536     if (xx->tm_hour < yy->tm_hour)
      1	  91537       return(-1);
      1	  91538     if (xx->tm_hour > yy->tm_hour)
      1	  91539       return(1);
      1	  91540 
      1	  91541     if (xx->tm_min  < yy->tm_min)
      1	  91542       return(-1);
      1	  91543     if (xx->tm_min  > yy->tm_min)
      1	  91544       return(1);
      1	  91545 
      1	  91546     if (xx->tm_sec  < yy->tm_sec)
      1	  91547       return(-1);
      1	  91548     if (xx->tm_sec  > yy->tm_sec)
      1	  91549       return(1);
      1	  91550 
      1	  91551     return(0);
      1	  91552 }
	  91553 #endif /* DOUPDATE */
	  91554 
	  91555 #ifndef HAVE_TIMEGM             /* For platforms that do not have timegm() */
	  91556 static CONST int MONTHDAYS[] = { /* Number of days in each month. */
       E	        const
	  91557     31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
	  91558 };

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1716
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  91559 
	  91560 /* Macro for whether a given year is a leap year. */
	  91561 #define ISLEAP(year) \
	  91562 (((year) % 4) == 0 && (((year) % 100) != 0 || ((year) % 400) == 0))
	  91563 #endif /* HAVE_TIMEGM */
	  91564 
	  91565 /*  m k u t i m e  --  Like mktime() but argument is already UTC */
	  91566 
	  91567 static time_t
	  91568 #ifdef CK_ANSIC
	  91569 mkutime(struct tm * tm)
       X  91570 #else
       X  91571 mkutime(tm) struct tm * tm;
       X  91572 #endif /* CK_ANSIC */
      1	  91573 /* mkutime */ {
      1X  91574 #ifdef HAVE_TIMEGM
      1X  91575     return(timegm(tm));                 /* Have system service, use it. */
      1X  91576 #else
      1	  91577 /*
      1	  91578   Contributed by Russ Allbery (rra@stanford.edu), used by permission.
      1	  91579   Given a struct tm representing a calendar time in UTC, convert it to
      1	  91580   seconds since epoch.  Returns (time_t) -1 if the time is not
      1	  91581   convertable.  Note that this function does not canonicalize the provided
      1	  91582   struct tm, nor does it allow out-of-range values or years before 1970.
      1	  91583   Result should be identical with timegm().
      1	  91584 */
      1	  91585     time_t result = 0;
      1	  91586     int i;
      1	  91587     /*
      1	  91588       We do allow some ill-formed dates, but we don't do anything special
      1	  91589       with them and our callers really shouldn't pass them to us.  Do
      1	  91590       explicitly disallow the ones that would cause invalid array accesses
      1	  91591       or other algorithm problems.
      1	  91592     */
      1	  91593 #ifdef DEBUG
      2	  91594     if (deblog) {
      2	  91595         debug(F101,"mkutime tm_mon","",tm->tm_mon);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "mkutime tm_mon" , ( char * ) ( "" ) , ( off_t ) ( tm -> tm_mon ) ) : 0
       E	 ) )
      2	  91596         debug(F101,"mkutime tm_year","",tm->tm_year);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "mkutime tm_year" , ( char * ) ( "" ) , ( off_t ) ( tm -> tm_year ) ) :
       E	 0 ) )
      1	  91597     }
      1	  91598 #endif /* DEBUG */
      1	  91599     if (tm->tm_mon < 0 || tm->tm_mon > 11 || tm->tm_year < 70)
      1	  91600       return((time_t) -1);
      1	  91601 
      1	  91602     /* Convert to time_t. */
      1	  91603     for (i = 1970; i < tm->tm_year + 1900; i++)
      1	  91604       result += 365 + ISLEAP(i);
       E	                       ( ( ( i ) % 4 ) == 0 && ( ( ( i ) % 100 ) != 0 || ( ( i ) % 400 ) == 0 ) )
      1	  91605     for (i = 0; i < tm->tm_mon; i++)
      1	  91606       result += MONTHDAYS[i];
      1	  91607     if (tm->tm_mon > 1 && ISLEAP(tm->tm_year + 1900))
       E	                           ( ( ( tm -> tm_year + 1900 ) % 4 ) == 0 && ( ( ( tm -> tm_year + 1900 ) % 100 ) != 0 || (
       E	 ( tm -> tm_year + 1900 ) % 400 ) == 0 ) )
      1	  91608       result++;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1717
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91609     result = 24 * (result + tm->tm_mday - 1) + tm->tm_hour;
      1	  91610     result = 60 * result + tm->tm_min;
      1	  91611     result = 60 * result + tm->tm_sec;
      1	  91612     debug(F101,"mkutime result","",result);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "mkutime result" , ( char * ) ( "" ) , ( off_t ) ( result ) ) : 0 ) )
      1	  91613     return(result);
      1	  91614 #endif /* HAVE_TIMEGM */
      1	  91615 }
	  91616 
	  91617 
	  91618 /*
	  91619   s e t m o d t i m e  --  Set file modification time.
	  91620 
	  91621   f = char * filename;
	  91622   t = time_t date/time to set (Secs since 19700101 0:00:00 UTC, NOT local)
	  91623 
	  91624   UNIX-specific; isolates mainline code from hideous #ifdefs.
	  91625   Returns:
	  91626     0 on success,
	  91627    -1 on error.
	  91628 
	  91629 */
	  91630 static int
	  91631 #ifdef CK_ANSIC
	  91632 setmodtime(char * f, time_t t)
       X  91633 #else
       X  91634 setmodtime(f,t) char * f; time_t t;
       X  91635 #endif /* CK_ANSIC */
      1	  91636 /* setmodtime */ {
      1X  91637 #ifdef NT
      1X  91638     struct _stat sb;
      1X  91639 #else /* NT */
      1	  91640     struct stat sb;
      1	  91641 #endif /* NT */
      1	  91642     int x, rc = 0;
      1X  91643 #ifdef BSD44
      1X  91644     struct timeval tp[2];
      1X  91645 #else  /* def BSD44 */
      1X  91646 #ifdef V7
      1X  91647     struct utimbuf {
      1X  91648         time_t timep[2];
      1X  91649     } tp;
      1X  91650 #else  /* def V7 */
      1X  91651 #ifdef SYSUTIMEH
      1X  91652 #ifdef NT
      1X  91653     struct _utimbuf tp;
      1X  91654 #else /* NT */
      1X  91655     struct utimbuf tp;
      1X  91656 #endif /* NT */
      1X  91657 #else /* def SYSUTIMEH */
      1	  91658 #ifdef VMS
      1	  91659     struct utimbuf tp;
      1	  91660 #define SYSUTIMEH               /* Our utimbuf matches this one. */
      1X  91661 #else /* def VMS */
      1X  91662     struct utimbuf {
      1X  91663         time_t atime;
      1X  91664         time_t mtime;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1718
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  91665     } tp;
      1X  91666 #endif /* def VMS [else] */
      1	  91667 #endif /* def SYSUTIMEH [else] */
      1	  91668 #endif /* def V7 [else] */
      1	  91669 #endif /* def BSD44 [else] */
      1	  91670 
      2	  91671     if (stat(f,&sb) < 0) {
      2	  91672         debug(F111,"setmodtime stat failure",f,errno);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "setmodtime stat failure" , ( char * ) ( f ) , ( off_t ) ( ( * CMA$TIS_
       E	ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      2	  91673         return(-1);
      1	  91674     }
      1X  91675 #ifdef BSD44
      1X  91676     tp[0].tv_sec = sb.st_atime;         /* Access time first */
      1X  91677     tp[1].tv_sec = t;                   /* Update time second */
      1X  91678     debug(F111,"setmodtime BSD44",f,t);
      1X  91679 #else
      1X  91680 #ifdef V7
      1X  91681     tp.timep[0] = t;                    /* Set modif. time to creation date */
      1X  91682     tp.timep[1] = sb.st_atime;          /* Don't change the access time */
      1X  91683     debug(F111,"setmodtime V7",f,t);
      1X  91684 #else
      1	  91685 #ifdef SYSUTIMEH
      1	  91686     tp.modtime = t;                     /* Set modif. time to creation date */
      1	  91687     tp.actime = sb.st_atime;            /* Don't change the access time */
      1	  91688     debug(F111,"setmodtime SYSUTIMEH",f,t);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "setmodtime SYSUTIMEH" , ( char * ) ( f ) , ( off_t ) ( t ) ) : 0 ) )
      1X  91689 #else
      1X  91690     tp.mtime = t;                       /* Set modif. time to creation date */
      1X  91691     tp.atime = sb.st_atime;             /* Don't change the access time */
      1X  91692     debug(F111,"setmodtime (other)",f,t);
      1X  91693 #endif /* SYSUTIMEH */
      1	  91694 #endif /* V7 */
      1	  91695 #endif /* BSD44 */
      1	  91696 
      1	  91697     /* Try to set the file date */
      1	  91698 
      1X  91699 #ifdef BSD44
      1X  91700     x = utimes(f,tp);
      1X  91701     debug(F111,"setmodtime utimes()","BSD44",x);
      1X  91702 #else
      1X  91703 #ifdef IRIX65
      1X  91704     {
      1X  91705       /*
      1X  91706         The following produces the nonsensical warning:
      1X  91707         Argument  of type "const struct utimbuf *" is incompatible with
      1X  91708         parameter of type "const struct utimbuf *".  If you can make it
      1X  91709         go away, be my guest.
      1X  91710       */
      1X  91711         const struct utimbuf * t2 = &tp;
      1X  91712         x = utime(f,t2);
      1X  91713     }
      1X  91714 #else
      1	  91715     x = utime(f,&tp);
      1	  91716     debug(F111,"setmodtime utime()","other",x);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "setmodtime utime()" , ( char * ) ( "other" ) , ( off_t ) ( x ) ) : 0 ) )
      1	  91717 #endif /* IRIX65 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1719
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91718 #endif /* BSD44 */
      1	  91719     if (x)
      1	  91720       rc = -1;
      1	  91721 
      1	  91722     debug(F101,"setmodtime result","",rc);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "setmodtime result" , ( char * ) ( "" ) , ( off_t ) ( rc ) ) : 0 ) )
      1	  91723     return(rc);
      1	  91724 }
	  91725 
	  91726 
	  91727 /*
	  91728   c h k m o d t i m e  --  Check/Set file modification time.
	  91729 
	  91730   fc = function code:
	  91731     0 = Check; returns:
	  91732       -1 on error,
	  91733        0 if local older than remote,
	  91734        1 if modtimes are equal,
	  91735        2 if local newer than remote.
	  91736     1 = Set (local file's modtime from remote's); returns:
	  91737       -1 on error,
	  91738        0 on success.
	  91739 */
	  91740 static int
	  91741 #ifdef CK_ANSIC
	  91742 chkmodtime( char * local, char * remote, int fc ) 
       X  91743 #else
       X  91744 chkmodtime(local,remote,fc) char * local, * remote; int fc;
       X  91745 #endif /* CK_ANSIC */
      1	  91746 {
      1X  91747 #ifdef NT
      1X  91748     struct _stat statbuf;
      1X  91749 #else /* NT */
      1	  91750     struct stat statbuf;
      1	  91751 #endif /* NT */
      1	  91752     struct tm * tmlocal = NULL;
       E	                           ( ( void * ) 0 )
      1	  91753     struct tm tmremote;
      1	  91754     int rc = 0, havedate = 0, lcs = -1, rcs = -1, flag = 0;
      1	  91755     char * s, timebuf[64];
      1	  91756 
      1	  91757     debug(F111,"chkmodtime",local,mdtmok);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "chkmodtime" , ( char * ) ( local ) , ( off_t ) ( mdtmok ) ) : 0 ) )
      1	  91758     if (!mdtmok)			/* Server supports MDTM? */
      1	  91759       return(-1);			/* No don't bother. */
      1	  91760 
      1	  91761 #ifndef NOCSETS
      2	  91762     if (ftp_xla) {
      2	  91763         lcs = ftp_csl;
      2	  91764         if (lcs < 0) lcs = fcharset;
      2	  91765         rcs = ftp_csx;
      2	  91766         if (rcs < 0) rcs = ftp_csr;
      1	  91767     }
      1	  91768 #endif /* NOCSETS */
      1	  91769 
      2	  91770     if (fc == 0) {
      2	  91771         rc = stat(local,&statbuf);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1720
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  91772         if (rc == 0) {                  /* Get local file's mod time */
      3	  91773 	    /* Convert to struct tm */
      3	  91774             tmlocal = gmtime((time_t *)&statbuf.st_mtime);
      3	  91775 #ifdef DEBUG
      4	  91776             if (tmlocal) {
      4	  91777                 dbtime(local,tmlocal);
      3	  91778             }
      3	  91779 #endif /* DEBUG */
      2	  91780         }
      1	  91781     }
      1	  91782     /* Get remote file's mod time as yyyymmddhhmmss */
      1	  91783 
      2	  91784     if (havemdtm) {			/* Already got it from MLSD? */
      2	  91785 	s = havemdtm;
      2	  91786 	flag++;
      2	  91787     } else if (ftpcmd("MDTM",remote,lcs,rcs,0) == REPLY_COMPLETE) {
       E	                                                   2
      2	  91788         char c;
      2	  91789         bzero((char *)&tmremote, sizeof(struct tm));
       E	         __MEMSET ( ( char * ) & tmremote , 0 , sizeof ( struct tm ) )
      2	  91790         s = ftp_reply_str;
      3	  91791         while ((c = *s++)) {            /* Skip past response code */
      4	  91792             if (c == SP) {
       E	                      32
      4	  91793                 flag++;
      4	  91794                 break;
      3	  91795             }
      2	  91796         }
      1	  91797     }
      2	  91798     if (flag) {
      2	  91799 	debug(F111,"ftp chkmodtime string",s,flag);
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "ftp chkmodtime string" , ( char * ) ( s ) , ( off_t ) ( flag ) ) : 0 ) )
      3	  91800 	if (fts_sto) {			/* User gave server time offset? */
      3	  91801 	    char * p;
      3	  91802 	    debug(F110,"ftp chkmodtime offset",fts_sto,0);
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "ftp chkmodtime offset" , ( char * ) ( fts_sto ) , ( off_t ) ( 0 ) ) : 0 )
       E	 )
      3	  91803 	    ckmakmsg(timebuf,64,s," ",fts_sto,NULL); /* Build delta time */
       E	                                        ( ( void * ) 0 )
      4	  91804 	    if ((p = cmcvtdate(timebuf,1))) { /* Apply delta time */
      4	  91805 		ckstrncpy(timebuf,p,64);      /* Convert to MDTM format */
      4	  91806 		timebuf[8]  = timebuf[9];  /* h */
      4	  91807 		timebuf[9]  = timebuf[10]; /* h */
      4	  91808 		timebuf[10] = timebuf[12]; /* m */
      4	  91809 		timebuf[11] = timebuf[13]; /* m */
      4	  91810 		timebuf[12] = timebuf[12]; /* s */
      4	  91811 		timebuf[13] = timebuf[13]; /* s */
      4	  91812 		timebuf[14] = NUL;
       E	                 '\0'
      4	  91813 		s = timebuf;
      4	  91814 		debug(F110,"ftp chkmodtime adjust",s,0);
       E	   ( ( void ) ( deblog ? dodebug ( 6 , "ftp chkmodtime adjust" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  91815 	    }
      2	  91816 	}
      3	  91817         if (flag) {                     /* Convert to struct tm */
      3	  91818             char * pat;
      3	  91819             int y2kbug = 0;             /* Seen in Kerberos 4 FTP servers */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1721
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  91820             if (!ckstrcmp(s,"191",3,0)) {
      4	  91821                 pat = "%05d%02d%02d%02d%02d%02d";
      4	  91822                 y2kbug++;
      4	  91823                 debug(F110,"ftp chkmodtime Y2K BUG detected",s,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp chkmodtime Y2K BUG detected" , ( char * ) ( s ) , ( off_t 
       E	) ( 0 ) ) : 0 ) )
      4	  91824             } else {
      4	  91825                 pat = "%04d%02d%02d%02d%02d%02d";
      3	  91826             }
      3	  91827             if (sscanf(s,               /* Parse into struct tm */
      3	  91828                        pat,
      3	  91829                        &(tmremote.tm_year),
      3	  91830                        &(tmremote.tm_mon),
      3	  91831                        &(tmremote.tm_mday),
      3	  91832                        &(tmremote.tm_hour),
      3	  91833                        &(tmremote.tm_min),
      3	  91834                        &(tmremote.tm_sec)
      4	  91835                        ) == 6) {
      4	  91836                 tmremote.tm_year -= (y2kbug ? 19000 : 1900);
      4	  91837                 debug(F101,"ftp chkmodtime year","",tmremote.tm_year);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp chkmodtime year" , ( char * ) ( "" ) , ( off_t ) ( tmremot
       E	e . tm_year ) ) : 0 ) )
      4	  91838                 tmremote.tm_mon--;
      4	  91839 
      4	  91840 #ifdef DEBUG
      4	  91841 		debug(F100,"SERVER TIME FOLLOWS:","",0);
       E	   ( ( void ) ( deblog ? dodebug ( 4 , "SERVER TIME FOLLOWS:" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      4	  91842                 dbtime(remote,&tmremote);
      4	  91843 #endif /* DEBUG */
      4	  91844 
      4	  91845                 if (havedate > -1)
      4	  91846 		  havedate = 1;
      3	  91847             }
      2	  91848         }
      2	  91849     } else {				/* Failed */
      2	  91850 	debug(F101,"ftp chkmodtime ftpcode","",ftpcode);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp chkmodtime ftpcode" , ( char * ) ( "" ) , ( off_t ) ( ftpcode ) ) : 0 ) )
      2	  91851 	if (ftpcode == 500 ||		/* Command unrecognized */
      2	  91852 	    ftpcode == 502 ||		/* Command not implemented */
      2	  91853 	    ftpcode == 202)		/* Command superfluous */
      2	  91854 	  mdtmok = 0;			/* Don't ask this server again */
      2	  91855 	return(-1);
      1	  91856     }
      2	  91857     if (fc == 0) {                      /* Compare */
      3	  91858         if (havedate == 1) {		/* Only if we have both file dates */
      3	  91859             /*
      3	  91860               Compare with local file's time.  We don't use
      3	  91861               clock time (time_t) here in case of signed/unsigned
      3	  91862               confusion, etc.
      3	  91863             */
      3	  91864 	    int xx;
      3X  91865 #ifdef COMMENT
      3X  91866 #ifdef DEBUG	    
      3X  91867 	    if (deblog) {
      3X  91868 		dbtime("LOCAL",tmlocal);
      3X  91869 		dbtime("REMOT",&tmremote);
      3X  91870 	    }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1722
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3X  91871 #endif /* DEBUG */
      3X  91872 #endif /* COMMENT */
      3	  91873 	    xx = tmcompare(tmlocal,&tmremote);
      3	  91874 	    debug(F101,"chkmodtime tmcompare","",xx);
       E	      ( ( void ) ( deblog ? dodebug ( 5 , "chkmodtime tmcompare" , ( char * ) ( "" ) , ( off_t ) ( xx ) ) : 0 ) )
      3	  91875             return(xx + 1);
      2	  91876         }
      2	  91877     } else if (ftp_dates) {             /* Set */
      2	  91878         /*
      2	  91879           Here we must convert struct tm to time_t
      2	  91880           without applying timezone conversion, for which
      2	  91881           there is no portable API.  The method is hidden
      2	  91882           in mkutime(), defined above.
      2	  91883         */
      2	  91884         time_t utc;
      2	  91885         utc = mkutime(&tmremote);
      2	  91886         debug(F111,"ftp chkmodtime mkutime",remote,utc);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp chkmodtime mkutime" , ( char * ) ( remote ) , ( off_t ) ( utc ) ) 
       E	: 0 ) )
      2	  91887         if (utc != (time_t)-1)
      2	  91888           return(setmodtime(local,utc));
      1	  91889     }
      1	  91890     return(-1);
      1	  91891 }
	  91892 
	  91893 /* getfile() returns: -1 on error, 0 if file received, 1 if file skipped */
	  91894 
	  91895 static int
	  91896 #ifdef CK_ANSIC
	  91897 getfile( char * remote, char * local, int recover, int append,
	  91898  char * pipename, int xlate, int fcs, int rcs )
       X  91899 #else
       X  91900 getfile(remote,local,recover,append,pipename,xlate,fcs,rcs)
       X  91901   char * local, * remote, * pipename; int recover, append, xlate, fcs, rcs;
       X  91902 #endif /* CK_ANSIC */
      1	  91903 {
      1	  91904     int rc = -1;
      1	  91905     ULONG t0, t1;
       E	     unsigned long
      1	  91906 
      1	  91907 #ifdef GFTIMER
      1	  91908     CKFLOAT sec;
       E	     double
      1X  91909 #else
      1X  91910     int sec = 0;
      1X  91911 #endif /* GFTIMER */
      1	  91912     char fullname[CKMAXPATH+1];
       E	                   4095
      1	  91913 
      1	  91914     debug(F110,"ftp getfile remote A",remote,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp getfile remote A" , ( char * ) ( remote ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91915     debug(F110,"ftp getfile local A",local,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp getfile local A" , ( char * ) ( local ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  91916     debug(F110,"ftp getfile pipename",pipename,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp getfile pipename" , ( char * ) ( pipename ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      1	  91917     if (!remote) remote = "";

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1723
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  91918 
      1X  91919 #ifdef PATTERNS
      1X  91920     /* Automatic type switching? */
      1X  91921     if (ftp_xfermode == XMODE_A && patterns && get_auto && !forcetype) {
      1X  91922         int x;
      1X  91923         x = matchname(remote,0,servertype);
      1X  91924         debug(F111,"ftp getfile matchname",remote,x);
      1X  91925         switch (x) {
      1X  91926           case 0: ftp_typ = FTT_ASC; break;
      1X  91927           case 1: ftp_typ = tenex ? FTT_TEN : FTT_BIN; break;
      1X  91928           default: if (g_ftp_typ > -1) ftp_typ = g_ftp_typ;
      1X  91929         }
      1X  91930         changetype(ftp_typ,ftp_vbm);
      1X  91931         binary = ftp_typ;               /* For file-transfer display */
      1X  91932     }
      1X  91933 #endif /* PATTERNS */
      1	  91934 
      1	  91935 #ifndef NOCSETS
      1	  91936     ftp_csx = -1;                       /* For file-transfer display */
      1	  91937     ftp_csl = -1;                       /* ... */
      1	  91938 
      1	  91939     if (rcs > -1)                       /* -1 means no translation */
      1	  91940       if (ftp_typ == FTT_ASC)           /* File type is "ascii"? */
       E	                      0
      1	  91941         if (fcs < 0)                    /* File charset not forced? */
      1	  91942           fcs = fcharset;               /* use prevailing FILE CHARACTER-SET */
      2	  91943     if (fcs > -1 && rcs > -1) {         /* Set up translation functions */
      2	  91944         debug(F110,"ftp getfile","initxlate",0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp getfile" , ( char * ) ( "initxlate" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  91945         initxlate(rcs,fcs);             /* NB: opposite order of PUT */
      2	  91946         ftp_csx = rcs;
      2	  91947         ftp_csl = fcs;
      1	  91948     } else
      1	  91949       xlate = 0;
      1	  91950 #endif /* NOCSETS */
      1	  91951 
      1	  91952     if (!local) local = "";
      1	  91953     if (!pipename && !*local)
      1	  91954       local = remote;
      1	  91955 
      1	  91956     out2screen = !strcmp(local,"-");
      1	  91957 
      1	  91958     fullname[0] = NUL;
       E	                   '\0'
      2	  91959     if (pipename) {
      2	  91960         ckstrncpy(fullname,pipename,CKMAXPATH+1);
       E	                                     4095
      2	  91961     } else {
      2	  91962         zfnqfp(local,CKMAXPATH,fullname);
       E	                      4095
      2	  91963         if (!fullname[0])
      2	  91964           ckstrncpy(fullname,local,CKMAXPATH+1);
       E	                                    4095
      1	  91965     }
      2	  91966     if (!out2screen && displa && fdispla) { /* Screen */
      2	  91967         ftscreen(SCR_FN,'F',(CK_OFF_T)pktnum,remote);
       E	                  1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1724
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                              off_t
      2	  91968         ftscreen(SCR_AN,0,(CK_OFF_T)0,fullname);
       E	                  2
       E	                            off_t
      2	  91969         ftscreen(SCR_FS,0,fsize,"");
       E	                  3
      1	  91970     }
      1	  91971     tlog(F110,ftp_typ ? "ftp get BINARY:" : "ftp get TEXT:", remote, 0);
       E	     if ( tralog && tlogfmt ) dotlog ( 6 , ftp_typ ? "ftp get BINARY:" : "ftp get TEXT:" , remote , ( off_t ) 0 )
      1	  91972     tlog(F110," as",fullname,0);
       E	     if ( tralog && tlogfmt ) dotlog ( 6 , " as" , fullname , ( off_t ) 0 )
      1	  91973     debug(F111,"ftp getfile size",remote,fsize);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp getfile size" , ( char * ) ( remote ) , ( off_t ) ( fsize ) ) : 0 ) )
      1	  91974     debug(F111,"ftp getfile local",local,out2screen);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp getfile local" , ( char * ) ( local ) , ( off_t ) ( out2screen ) ) : 0
       E	 ) )
      1	  91975 
      1	  91976     ckstrncpy(filnam, pipename ? remote : local, CKMAXPATH);
       E	                                                  4095
      1	  91977 
      1	  91978     t0 = gmstimer();                    /* Start time */
      1	  91979     debug(F111,"ftp getfile t0",remote,t0); /* ^^^ */
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp getfile t0" , ( char * ) ( remote ) , ( off_t ) ( t0 ) ) : 0 ) )
      1	  91980     rc = recvrequest("RETR",
      1	  91981                      local,
      1	  91982                      remote,
      1	  91983                      append ? "ab" : "wb",
      1	  91984                      0,
      1	  91985                      recover,
      1	  91986                      pipename,
      1	  91987                      xlate,
      1	  91988                      fcs,
      1	  91989                      rcs
      1	  91990                      );
      1	  91991     t1 = gmstimer();                    /* End time */
      1	  91992     debug(F111,"ftp getfile t1",remote,t1);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp getfile t1" , ( char * ) ( remote ) , ( off_t ) ( t1 ) ) : 0 ) )
      1	  91993     debug(F111,"ftp getfile sec",remote,(t1-t0)/1000);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp getfile sec" , ( char * ) ( remote ) , ( off_t ) ( ( t1 - t0 ) / 1000 
       E	) ) : 0 ) )
      1	  91994 #ifdef GFTIMER
      1	  91995     sec = (CKFLOAT)((CKFLOAT)(t1 - t0) / 1000.0); /* Stats */
       E	            double
       E	                      double
      1	  91996     fpxfsecs = sec;                     /* (for doxlog()) */
      1X  91997 #else
      1X  91998     sec = (t1 - t0) / 1000;
      1X  91999     xfsecs = (int)sec;
      1X  92000 #endif /* GFTIMER */
      1	  92001 
      1	  92002 #ifdef FTP_TIMEOUT
      1	  92003     if (ftp_timed_out)
      1	  92004       rc = -4;
      1	  92005 #endif	/* FTP_TIMEOUT */
      1	  92006 
      1	  92007     debug(F111,"ftp recvrequest rc",remote,rc);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest rc" , ( char * ) ( remote ) , ( off_t ) ( rc ) ) : 0 ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1725
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  92008     if (cancelfile || cancelgroup) {
      2	  92009         debug(F111,"ftp get canceled",ckitoa(cancelfile),cancelgroup);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp get canceled" , ( char * ) ( ckitoa ( cancelfile ) ) , ( off_t ) (
       E	 cancelgroup ) ) : 0 ) )
      2	  92010         ftscreen(SCR_ST,ST_INT,(CK_OFF_T)0,"");
       E	                  5
       E	                         2
       E	                                 off_t
      2	  92011     } else if (rc > 0) {
      2	  92012         debug(F111,"ftp get skipped",ckitoa(cancelfile),cancelgroup);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp get skipped" , ( char * ) ( ckitoa ( cancelfile ) ) , ( off_t ) ( 
       E	cancelgroup ) ) : 0 ) )
      2	  92013         ftscreen(SCR_ST,ST_SKIP,(CK_OFF_T)0,cmarg);
       E	                  5
       E	                         3
       E	                                  off_t
      2	  92014     } else if (rc < 0) {
      3	  92015         switch (ftpcode) {
      3	  92016           case -4:                      /* Network error */
      3	  92017           case -2:                      /* File error */
      3	  92018             ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,ck_errstr());
       E	                      5
       E	                             7
       E	                                     off_t
      3	  92019             break;
      3	  92020           case -3:
      3	  92021             ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,
       E	                      5
       E	                             7
       E	                                     off_t
      3	  92022 		     "Failure to make data connection");
      3	  92023             break;
      3	  92024           case -1:			/* (should be covered above) */
      3	  92025             ftscreen(SCR_ST,ST_INT,(CK_OFF_T)0,"");
       E	                      5
       E	                             2
       E	                                     off_t
      3	  92026             break;
      3	  92027           default:
      3	  92028             ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,&ftp_reply_str[4]);
       E	                      5
       E	                             7
       E	                                     off_t
      2	  92029         }
      2	  92030     } else {                            /* Tudo bem */
      2	  92031         ftscreen(SCR_PT,'Z',(CK_OFF_T)0,"");
       E	                  7
       E	                              off_t
      3	  92032         if (rc == 0) {
      3	  92033             ftscreen(SCR_ST,ST_OK,(CK_OFF_T)0,""); /* For screen */
       E	                      5
       E	                             0
       E	                                    off_t
      3	  92034             makestr(&rrfspec,remote);     /* For WHERE command */
      3	  92035             makestr(&rfspec,fullname);
      2	  92036         }
      1	  92037     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1726
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  92038     if (rc > -1) {
      2	  92039 	if (ftp_dates)			/* If FTP DATES ON... */
      2	  92040 	  if (!pipename && !out2screen)	/* and it's a real file */
      2	  92041 	    if (rc < 1 && rc != -3)	/* and it wasn't skipped */
      2	  92042 	      if (connected)		/* and we still have a connection */
      3	  92043 		if (zchki(local) > -1) { /* and the file wasn't discarded */
      3	  92044 		    chkmodtime(local,remote,1); /* set local file date */
      3	  92045 		    debug(F110,"ftp get set date",local,0);
       E	       ( ( void ) ( deblog ? dodebug ( 6 , "ftp get set date" , ( char * ) ( local ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  92046 		}
      2	  92047 	filcnt++;			/* Used by \v(filenum) */
      1	  92048     }
      1	  92049 #ifdef TLOG
      2	  92050     if (tralog) {
      3	  92051         if (rc > 0) {
      3	  92052             tlog(F100," recovery skipped","",0);
       E	             if ( tralog && tlogfmt ) dotlog ( 4 , " recovery skipped" , "" , ( off_t ) 0 )
      3	  92053         } else if (rc == 0) {
      3	  92054             tlog(F101," complete, size", "", fsize);
       E	             if ( tralog && tlogfmt ) dotlog ( 5 , " complete, size" , "" , ( off_t ) fsize )
      3	  92055         } else if (cancelfile) {
      3	  92056             tlog(F100," canceled by user","",0);
       E	             if ( tralog && tlogfmt ) dotlog ( 4 , " canceled by user" , "" , ( off_t ) 0 )
      3	  92057 #ifdef FTP_TIMEOUT
      3	  92058         } else if (ftp_timed_out) {
      3	  92059             tlog(F100," timed out","",0);
       E	             if ( tralog && tlogfmt ) dotlog ( 4 , " timed out" , "" , ( off_t ) 0 )
      3	  92060 #endif	/* FTP_TIMEOUT */
      3	  92061         } else {
      3	  92062             tlog(F110," failed:",ftp_reply_str,0);
       E	             if ( tralog && tlogfmt ) dotlog ( 6 , " failed:" , ftp_reply_str , ( off_t ) 0 )
      2	  92063         }
      2	  92064         if (!tlogfmt)
      2	  92065           doxlog(what,local,fsize,ftp_typ,rc,"");
      1	  92066     }
      1	  92067 #endif /* TLOG */
      1	  92068     return(rc);
      1	  92069 }
	  92070 
	  92071 /* putfile() returns: -1 on error, >0 if file not selected, 0 on success. */
	  92072 /* Positive return value is Skip Reason, SKP_xxx, from ckcker.h. */
	  92073 
	  92074 static int
	  92075 #ifdef CK_ANSIC
	  92076 putfile(int cx,
	  92077         char * local,
	  92078         char * remote,
	  92079         int force,
	  92080         int moving,
	  92081         char * mvto,
	  92082         char * rnto,
	  92083         char * srvrn,
	  92084         int x_cnv,
	  92085         int x_usn,
	  92086         int xft,
	  92087         int prm,
	  92088         int fcs,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1727
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  92089         int rcs,
	  92090         int flg )
       X  92091 #else
       X  92092 putfile(cx,
       X  92093  local,remote,force,moving,mvto,rnto,srvrn,x_cnv,x_usn,xft,prm,fcs,rcs,flg)
       X  92094  char * local, * remote, * mvto, *rnto, *srvrn; int cx, force, moving, x_cnv,
       X  92095  x_usn, xft, fcs, rcs, flg, prm;
       X  92096 #endif /* CK_ANSIC */
      1	  92097 {
      1	  92098     char asname[CKMAXPATH+1];
       E	                 4095
      1	  92099     char fullname[CKMAXPATH+1];
       E	                   4095
      1	  92100     int k = -1, x = 0, y = 0, o = -1, rc = 0, nc = 0;
      1	  92101     int xlate = 0, restart = 0, mt = -1;
      1	  92102     char * s = NULL, * cmd = NULL;
       E	                ( ( void * ) 0 )
       E	                              ( ( void * ) 0 )
      1	  92103     ULONG t0 = 0, t1 = 0;		/* Times for stats */
       E	     unsigned long
      1	  92104     int ofcs = 0, orcs = 0;
      1	  92105 
      1	  92106 #ifdef GFTIMER
      1	  92107     CKFLOAT sec = 0.0;
       E	     double
      1X  92108 #else
      1X  92109     int sec = 0;
      1X  92110 #endif /* GFTIMER */
      1	  92111     debug(F111,"ftp putfile flg",local,flg);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp putfile flg" , ( char * ) ( local ) , ( off_t ) ( flg ) ) : 0 ) )
      1	  92112     debug(F110,"ftp putfile srv_renam",srvrn,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp putfile srv_renam" , ( char * ) ( srvrn ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  92113     debug(F101,"ftp putfile fcs","",fcs);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp putfile fcs" , ( char * ) ( "" ) , ( off_t ) ( fcs ) ) : 0 ) )
      1	  92114     debug(F101,"ftp putfile rcs","",rcs);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp putfile rcs" , ( char * ) ( "" ) , ( off_t ) ( rcs ) ) : 0 ) )
      1	  92115 
      1	  92116     ofcs = fcs;                         /* Save charset args */
      1	  92117     orcs = rcs;
      1	  92118 
      1	  92119     sendstart = (CK_OFF_T)0;
       E	                  off_t
      1	  92120     restart = flg & PUT_RES;
       E	                     2
      1	  92121     if (!remote)
      1	  92122       remote = "";
      1	  92123 
      1	  92124     /* FTP protocol command to send to server */
      1	  92125     cmd = (cx == FTP_APP) ? "APPE" : (x_usn ? "STOU" : "STOR");
       E	                  2
      1	  92126 
      2	  92127     if (x_cnv == SET_AUTO) {            /* Name conversion is auto */
       E	                  2
      3	  92128         if (alike) {                    /* If server & client are alike */
      3	  92129             nc = 0;                     /* no conversion */
      3	  92130         } else {                        /* If they are different */
      3	  92131             if (servertype == SYS_UNIX || servertype == SYS_WIN32)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1728
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                               1
       E	                                                         2
      3	  92132               nc = -1;                  /* only minimal conversions needed */
      3	  92133             else                        /* otherwise */
      3	  92134               nc = 1;                   /* full conversion */
      2	  92135         }
      1	  92136     } else                              /* Not auto - do what user said */
      1	  92137       nc = x_cnv;
      1	  92138 
      1	  92139     /* If Transfer Mode is Automatic, determine file type */
      2	  92140     if (ftp_xfermode == XMODE_A && filepeek && !pipesend) {
       E	                         0
      3	  92141         if (isdir(local)) {             /* If it's a directory */
      3	  92142             k = FT_BIN;                 /* skip the file scan */
       E	                 5
      3	  92143         } else {
      3	  92144             debug(F110,"FTP PUT calling scanfile",local,0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "FTP PUT calling scanfile" , ( char * ) ( local ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      3	  92145             k = scanfile(local,&o,nscanfile); /* Scan the file */
      2	  92146         }
      2	  92147         debug(F111,"FTP PUT scanfile",local,k);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "FTP PUT scanfile" , ( char * ) ( local ) , ( off_t ) ( k ) ) : 0 ) )
      3	  92148         if (k > -1 && !forcetype) {
      3	  92149             ftp_typ = (k == FT_BIN) ? 1 : 0;
       E	                             5
      4	  92150             if (xft > -1 && ftp_typ != xft) {
      4	  92151                 if (flg & PUT_SIM)
       E	                           4
      4	  92152                   tlog(F110,"ftp put SKIP (Type):", local, 0);
       E	                   if ( tralog && tlogfmt ) dotlog ( 6 , "ftp put SKIP (Type):" , local , ( off_t ) 0 )
      4	  92153                 return(SKP_TYP);
       E	                        3
      3	  92154             }
      3	  92155             if (ftp_typ == 1 && tenex)  /* User said TENEX? */
      3	  92156               ftp_typ = FTT_TEN;
       E	                         6
      2	  92157         }
      1	  92158     }
      1	  92159 #ifndef NOCSETS
      1	  92160     ftp_csx = -1;                       /* For file-transfer display */
      1	  92161     ftp_csl = -1;                       /* ... */
      1	  92162 
      2	  92163     if (rcs > -1) {                     /* -1 means no translation */
      3	  92164         if (ftp_typ == 0) {             /* File type is "ascii"? */
      4	  92165             if (fcs < 0) {              /* File charset not forced? */
      5	  92166                 if (k < 0) {            /* If we didn't scan */
      5	  92167                     fcs = fcharset;     /* use prevailing FILE CHARACTER-SET */
      5	  92168                 } else {                /* If we did scan, use scan result */
      6	  92169                     switch (k) {
      6	  92170                       case FT_TEXT:     /* Unknown text */
       E	                            4
      6	  92171                         fcs = fcharset;
      6	  92172                         break;
      6	  92173                       case FT_7BIT:     /* 7-bit text */
       E	                            0
      6	  92174                         fcs = dcset7;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1729
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      6	  92175                         break;
      6	  92176                       case FT_8BIT:     /* 8-bit text */
       E	                            1
      6	  92177                         fcs = dcset8;
      6	  92178                         break;
      6	  92179                       case FT_UTF8:     /* UTF-8 */
       E	                            2
      6	  92180                         fcs = FC_UTF8;
       E	                               46
      6	  92181                         break;
      6	  92182                       case FT_UCS2:     /* UCS-2 */
       E	                            3
      6	  92183                         fcs = FC_UCS2;
       E	                               45
      6	  92184                         if (o > -1)     /* Input file byte order */
      6	  92185                           fileorder = o;
      6	  92186                         break;
      6	  92187                       default:
      6	  92188                         rcs = -1;
      5	  92189                     }
      4	  92190                 }
      3	  92191             }
      2	  92192         }
      1	  92193     }
      2	  92194     if (fcs > -1 && rcs > -1) {         /* Set up translation functions */
      2	  92195         debug(F110,"ftp putfile","initxlate",0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp putfile" , ( char * ) ( "initxlate" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  92196         initxlate(fcs,rcs);
      2	  92197         debug(F111,"ftp putfile rcs",fcsinfo[rcs].keyword,rcs);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp putfile rcs" , ( char * ) ( fcsinfo [ rcs ] . keyword ) , ( off_t 
       E	) ( rcs ) ) : 0 ) )
      2	  92198         xlate = 1;
      2	  92199         ftp_csx = rcs;
      2	  92200         ftp_csl = fcs;
      1	  92201     }
      1	  92202 #endif /* NOCSETS */
      1	  92203 
      1	  92204     binary = ftp_typ;                   /* For file-transfer display */
      1	  92205     asname[0] = NUL;
       E	                 '\0'
      1	  92206 
      2	  92207     if (recursive) {                    /* If sending recursively, */
      2	  92208         if (!syncdir(local,flg & PUT_SIM)) /* synchronize directories. */
       E	                                  4
      2	  92209           return(-1);                   /* Don't PUT if it fails. */
      2	  92210         else if (isdir(local))          /* It's a directory */
      2	  92211           return(0);                    /* Don't send it! */
      1	  92212     }
      2	  92213     if (*remote) {                      /* If an as-name template was given */
      2	  92214 #ifndef NOSPL
      3	  92215         if (cmd_quoting) {              /* and COMMAND QUOTING is ON */
      3	  92216             y = CKMAXPATH;              /* evaluate it for this file */
       E	                 4095
      3	  92217             s = asname;
      3	  92218             zzstring(remote,&s,&y);
      2	  92219         } else
      2	  92220 #endif /* NOSPL */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1730
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  92221           ckstrncpy(asname,remote,CKMAXPATH);   /* (or take it literally) */
       E	                                   4095
      2	  92222     } else {                                    /* No as-name */
      2	  92223         nzltor(local,asname,nc,0,CKMAXPATH);    /* use local name strip path */
       E	                                  4095
      2	  92224         debug(F110,"FTP PUT nzltor",asname,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "FTP PUT nzltor" , ( char * ) ( asname ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  92225     }
      1	  92226     /* Preliminary messages and log entries */
      1	  92227 
      1	  92228     fullname[0] = NUL;
       E	                   '\0'
      1	  92229     zfnqfp(local,CKMAXPATH,fullname);
       E	                  4095
      1	  92230     if (!fullname[0]) ckstrncpy(fullname,local,CKMAXPATH+1);
       E	                                                4095
      1	  92231     fullname[CKMAXPATH] = NUL;
       E	              4095
       E	                           '\0'
      1	  92232 
      2	  92233     if (displa && fdispla) {            /* Screen */
      2	  92234         ftscreen(SCR_FN,'F',(CK_OFF_T)pktnum,local);
       E	                  1
       E	                              off_t
      2	  92235         ftscreen(SCR_AN,0,(CK_OFF_T)0,asname);
       E	                  2
       E	                            off_t
      2	  92236         ftscreen(SCR_FS,0,fsize,"");
       E	                  3
      1	  92237     }
      1	  92238 #ifdef DOUPDATE
      2	  92239     if (flg & (PUT_UPD|PUT_DIF)) {	/* Date-checking modes... */
       E	                1
       E	                        8
      2	  92240         mt = chkmodtime(fullname,asname,0);
      2	  92241         debug(F111,"ftp putfile chkmodtime",asname,mt);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp putfile chkmodtime" , ( char * ) ( asname ) , ( off_t ) ( mt ) ) :
       E	 0 ) )
      3	  92242         if (mt == 0 && ((flg & PUT_DIF) == 0)) { /* Local is older */
       E	                                8
      3	  92243             tlog(F110,"ftp put /update SKIP (Older modtime): ",fullname,0);
       E	             if ( tralog && tlogfmt ) dotlog ( 6 , "ftp put /update SKIP (Older modtime): " , fullname , ( off_t ) 0
       E	 )
      3	  92244 	    /* Skip this one */
      3	  92245             ftscreen(SCR_ST,ST_SKIP,(CK_OFF_T)SKP_DAT,fullname);
       E	                      5
       E	                             3
       E	                                      off_t
       E	                                               1
      3	  92246             filcnt++;
      3	  92247             return(SKP_DAT);
       E	                    1
      3	  92248         } else if (mt == 1) {           /* Times are equal */
      3	  92249             tlog(F110,"ftp put /update SKIP (Equal modtime): ",fullname,0);
       E	             if ( tralog && tlogfmt ) dotlog ( 6 , "ftp put /update SKIP (Equal modtime): " , fullname , ( off_t ) 0
       E	 )
      3	  92250             ftscreen(SCR_ST,ST_SKIP,(CK_OFF_T)SKP_EQU,fullname); /* Skip it */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1731
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                      5
       E	                             3
       E	                                      off_t
       E	                                               2
      3	  92251             filcnt++;
      3	  92252             return(SKP_DAT);
       E	                    1
      2	  92253         }
      2	  92254 	/* Local file is newer */
      2	  92255         tlog(F110,ftp_typ ? "ftp put /update BINARY:" :
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , ftp_typ ? "ftp put /update BINARY:" : "ftp put /update TEXT:" , fulln
       E	ame , ( off_t ) 0 )
      2	  92256              "ftp put /update TEXT:", fullname, 0);
      2	  92257     } else if (flg & PUT_RES) {
       E	                      2
      2	  92258         tlog(F110,ftp_typ ? "ftp put /recover BINARY:" :
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , ftp_typ ? "ftp put /recover BINARY:" : "ftp put /recover TEXT:" , ful
       E	lname , ( off_t ) 0 )
      2	  92259              "ftp put /recover TEXT:", fullname, 0);
      2	  92260     } else {
      2	  92261         tlog(F110,ftp_typ ? "ftp put BINARY:" : "ftp put TEXT:", fullname, 0);
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , ftp_typ ? "ftp put BINARY:" : "ftp put TEXT:" , fullname , ( off_t ) 
       E	0 )
      1	  92262     }
      1X  92263 #else
      1X  92264     tlog(F110,ftp_typ ? "ftp put BINARY:" : "ftp put TEXT:", fullname, 0);
      1X  92265 #endif /* DOUPDATE */
      1	  92266     tlog(F110," as",asname,0);
       E	     if ( tralog && tlogfmt ) dotlog ( 6 , " as" , asname , ( off_t ) 0 )
      1	  92267 
      1	  92268 #ifndef NOCSETS
      2	  92269     if (xlate) {
      2	  92270         debug(F111,"ftp putfile fcs",fcsinfo[fcs].keyword,fcs);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp putfile fcs" , ( char * ) ( fcsinfo [ fcs ] . keyword ) , ( off_t 
       E	) ( fcs ) ) : 0 ) )
      2	  92271         tlog(F110," file character set:",fcsinfo[fcs].keyword,0);
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , " file character set:" , fcsinfo [ fcs ] . keyword , ( off_t ) 0 )
      2	  92272         tlog(F110," server character set:",fcsinfo[rcs].keyword,0);
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , " server character set:" , fcsinfo [ rcs ] . keyword , ( off_t ) 0 )
      2	  92273     } else if (!ftp_typ) {
      2	  92274         tlog(F110," character sets:","no conversion",0);
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , " character sets:" , "no conversion" , ( off_t ) 0 )
      2	  92275         fcs = ofcs;                     /* Binary file but we still must */
      2	  92276         rcs = orcs;                     /* translate its name */
      1	  92277     }
      1	  92278 #endif /* NOCSETS */
      1	  92279 
      1	  92280     /* PUT THE FILE */
      1	  92281 
      1	  92282     t0 = gmstimer();                    /* Start time */
      2	  92283     if (flg & PUT_SIM) {                /* rc > 0 is a skip reason code */
       E	               4
      3	  92284         if (flg & (PUT_UPD|PUT_DIF)) {	/* (see SKP_xxx in ckcker.h) */
       E	                    1
       E	                            8
      3	  92285             rc = (mt < 0) ?             /* Update mode... */
      3	  92286               SKP_XNX :                 /* Remote file doesn't exist */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1732
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	               14
      3	  92287                 SKP_XUP;                /* Remote file is older */
       E	                 13
      3	  92288         } else {
      3	  92289             rc = SKP_SIM;               /* "Would be sent", period. */
       E	                  12
      2	  92290         }
      2	  92291     } else {
      2	  92292         rc = sendrequest(cmd,local,asname,xlate,fcs,rcs,restart);
      1	  92293     }
      1	  92294     t1 = gmstimer();                    /* End time */
      1	  92295     filcnt++;                           /* File number */
      1	  92296 
      1	  92297 #ifdef GFTIMER
      1	  92298     sec = (CKFLOAT)((CKFLOAT)(t1 - t0) / 1000.0); /* Stats */
       E	            double
       E	                      double
      1	  92299     fpxfsecs = sec;                     /* (for doxlog()) */
      1X  92300 #else
      1X  92301     sec = (t1 - t0) / 1000;
      1X  92302     xfsecs = (int)sec;
      1X  92303 #endif /* GFTIMER */
      1	  92304 
      1	  92305     debug(F111,"ftp sendrequest rc",local,rc);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp sendrequest rc" , ( char * ) ( local ) , ( off_t ) ( rc ) ) : 0 ) )
      1	  92306 
      2	  92307     if (cancelfile || cancelgroup) {
      2	  92308         debug(F111,"ftp put canceled",ckitoa(cancelfile),cancelgroup);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp put canceled" , ( char * ) ( ckitoa ( cancelfile ) ) , ( off_t ) (
       E	 cancelgroup ) ) : 0 ) )
      2	  92309         ftscreen(SCR_ST,ST_INT,(CK_OFF_T)0,"");
       E	                  5
       E	                         2
       E	                                 off_t
      2	  92310     } else if (rc > 0) {
      2	  92311         debug(F101,"ftp put skipped",local,rc);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp put skipped" , ( char * ) ( local ) , ( off_t ) ( rc ) ) : 0 ) )
      2	  92312         ftscreen(SCR_ST,ST_SKIP,(CK_OFF_T)rc,fullname);
       E	                  5
       E	                         3
       E	                                  off_t
      2	  92313     } else if (rc < 0) {
      2	  92314         debug(F111,"ftp put error",local,ftpcode);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp put error" , ( char * ) ( local ) , ( off_t ) ( ftpcode ) ) : 0 ) 
       E	)
      2	  92315         ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,&ftp_reply_str[4]);
       E	                  5
       E	                         7
       E	                                 off_t
      2	  92316     } else {
      2	  92317         debug(F111,"ftp put not canceled",ckitoa(displa),fdispla);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp put not canceled" , ( char * ) ( ckitoa ( displa ) ) , ( off_t ) (
       E	 fdispla ) ) : 0 ) )
      2	  92318         ftscreen(SCR_PT,'Z',(CK_OFF_T)0,"");
       E	                  7
       E	                              off_t
      2	  92319         debug(F111,"ftp put ST_OK",local,rc);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1733
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp put ST_OK" , ( char * ) ( local ) , ( off_t ) ( rc ) ) : 0 ) )
      2	  92320         ftscreen(SCR_ST,ST_OK,(CK_OFF_T)0,"");
       E	                  5
       E	                         0
       E	                                off_t
      2	  92321         debug(F110,"ftp put old sfspec",sfspec,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp put old sfspec" , ( char * ) ( sfspec ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      2	  92322         makestr(&sfspec,fullname);      /* For WHERE command */
      2	  92323         debug(F110,"ftp put new sfspec",sfspec,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp put new sfspec" , ( char * ) ( sfspec ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      2	  92324         debug(F110,"ftp put old srfspec",srfspec,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp put old srfspec" , ( char * ) ( srfspec ) , ( off_t ) ( 0 ) ) : 0 
       E	) )
      2	  92325         makestr(&srfspec,asname);
      2	  92326         debug(F110,"ftp put new srfspec",srfspec,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp put new srfspec" , ( char * ) ( srfspec ) , ( off_t ) ( 0 ) ) : 0 
       E	) )
      1	  92327     }
      1	  92328 
      1	  92329     /* Final log entries */
      1	  92330 
      1	  92331 #ifdef TLOG
      2	  92332     if (tralog) {
      3	  92333         if (rc > 0) {
      4	  92334           switch (rc) {
      4	  92335             case SKP_XNX:
       E	                  14
      4	  92336               tlog(F100," /simulate: WOULD BE SENT:","no remote file",0);
       E	               if ( tralog && tlogfmt ) dotlog ( 4 , " /simulate: WOULD BE SENT:" , "no remote file" , ( off_t ) 0 )
      4	  92337               break;
      4	  92338             case SKP_XUP:
       E	                  13
      4	  92339               tlog(F100," /simulate: WOULD BE SENT:","remote file older",0);
       E	               if ( tralog && tlogfmt ) dotlog ( 4 , " /simulate: WOULD BE SENT:" , "remote file older" , ( off_t ) 
       E	0 )
      4	  92340               break;
      4	  92341             case SKP_SIM:
       E	                  12
      4	  92342               tlog(F100," /simulate: WOULD BE SENT","",0);
       E	               if ( tralog && tlogfmt ) dotlog ( 4 , " /simulate: WOULD BE SENT" , "" , ( off_t ) 0 )
      4	  92343               break;
      4	  92344             default:
      4	  92345               tlog(F110," skipped:",gskreason(rc),0);
       E	               if ( tralog && tlogfmt ) dotlog ( 6 , " skipped:" , gskreason ( rc ) , ( off_t ) 0 )
      3	  92346             }
      3	  92347         } else if (rc == 0) {
      3	  92348             tlog(F101," complete, size", "", fsize);
       E	             if ( tralog && tlogfmt ) dotlog ( 5 , " complete, size" , "" , ( off_t ) fsize )
      3	  92349         } else if (cancelfile) {
      3	  92350             tlog(F100," canceled by user","",0);
       E	             if ( tralog && tlogfmt ) dotlog ( 4 , " canceled by user" , "" , ( off_t ) 0 )
      3	  92351         } else {
      3	  92352             tlog(F110," failed:",ftp_reply_str,0);
       E	             if ( tralog && tlogfmt ) dotlog ( 6 , " failed:" , ftp_reply_str , ( off_t ) 0 )
      2	  92353         }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1734
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  92354         if (!tlogfmt)
      2	  92355           doxlog(what,local,fsize,ftp_typ,rc,"");
      1	  92356     }
      1	  92357 #endif /* TLOG */
      1	  92358 
      1	  92359     if (rc < 0)                         /* PUT did not succeed */
      1	  92360       return(-1);                       /* so done. */
      1	  92361 
      1	  92362     if (flg & PUT_SIM)                  /* Simulating, skip the rest. */
       E	               4
      1	  92363       return(SKP_SIM);
       E	              12
      1	  92364 
      1X  92365 #ifdef UNIX
      1X  92366     /* Set permissions too? */
      1X  92367 
      1X  92368     if (prm) {                          /* Change permissions? */
      1X  92369         s = zgperm(local);              /* Get perms of local file */
      1X  92370         if (!s) s = "";
      1X  92371         x = strlen(s);
      1X  92372         if (x > 3) s += (x - 3);
      1X  92373         if (rdigits(s)) {
      1X  92374             ckmakmsg(ftpcmdbuf,FTP_BUFSIZ,s," ",asname,NULL);
      1X  92375             x =
      1X  92376               ftpcmd("SITE CHMOD",ftpcmdbuf,fcs,rcs,ftp_vbm) == REPLY_COMPLETE;
      1X  92377             tlog(F110, x ? " chmod" : " chmod failed",
      1X  92378                  s,
      1X  92379                  0
      1X  92380                  );
      1X  92381             if (!x)
      1X  92382               return(-1);
      1X  92383         }
      1X  92384     }
      1X  92385 #endif /* UNIX */
      1	  92386 
      1	  92387     /* Disposition of source file */
      1	  92388 
      2	  92389     if (moving) {
      2	  92390         x = zdelet(local);
      2	  92391         tlog(F110, (x > -1) ?
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , ( x > - 1 ) ? " deleted" : " failed to delete" , local , ( off_t ) 0 
       E	)
      2	  92392              " deleted" : " failed to delete",
      2	  92393              local,
      2	  92394              0
      2	  92395              );
      2	  92396         if (x < 0)
      2	  92397           return(-1);
      2	  92398     } else if (mvto) {
      2	  92399         x = zrename(local,mvto);
      2	  92400         tlog(F110, (x > -1) ?
       E	         if ( tralog && tlogfmt ) dotlog ( 6 , ( x > - 1 ) ? " moved source to" : " failed to move source to" , mvto
       E	 , ( off_t ) 0 )
      2	  92401              " moved source to" : " failed to move source to",
      2	  92402              mvto,
      2	  92403              0
      2	  92404              );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1735
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  92405         if (x < 0)
      2	  92406           return(-1);
      2	  92407         /* ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,mvto); */
      2	  92408 
      2	  92409     } else if (rnto) {
      2	  92410         char * s = rnto;
      2	  92411 #ifndef NOSPL
      2	  92412         int y;                          /* Pass it thru the evaluator */
      2	  92413         extern int cmd_quoting;         /* for \v(filename) */
      3	  92414         if (cmd_quoting) {              /* But only if cmd_quoting is on */
      3	  92415             y = CKMAXPATH;
       E	                 4095
      3	  92416             s = (char *)asname;
      3	  92417             zzstring(rnto,&s,&y);
      3	  92418             s = (char *)asname;
      2	  92419         }
      2	  92420 #endif /* NOSPL */
      3	  92421         if (s) if (*s) {
      3	  92422             int x;
      3	  92423             x = zrename(local,s);
      3	  92424             tlog(F110, (x > -1) ?
       E	             if ( tralog && tlogfmt ) dotlog ( 6 , ( x > - 1 ) ? " renamed source file to" : " failed to rename sour
       E	ce file to" , s , ( off_t ) 0 )
      3	  92425                  " renamed source file to" :
      3	  92426                  " failed to rename source file to",
      3	  92427                  s,
      3	  92428                  0
      3	  92429                  );
      3	  92430             if (x < 0)
      3	  92431               return(-1);
      3	  92432             /* ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,s); */
      2	  92433         }
      1	  92434     }
      1	  92435 
      1	  92436     /* Disposition of destination file */
      1	  92437 
      2	  92438     if (srvrn) {                        /* /SERVER-RENAME: */
      2	  92439         char * s = srvrn;
      2	  92440 #ifndef NOSPL
      2	  92441         int y;                          /* Pass it thru the evaluator */
      2	  92442         extern int cmd_quoting; /* for \v(filename) */
      2	  92443         debug(F111,"ftp putfile srvrn",s,1);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp putfile srvrn" , ( char * ) ( s ) , ( off_t ) ( 1 ) ) : 0 ) )
      2	  92444 
      3	  92445         if (cmd_quoting) {              /* But only if cmd_quoting is on */
      3	  92446             y = CKMAXPATH;
       E	                 4095
      3	  92447             s = (char *)fullname;       /* We can recycle this buffer now */
      3	  92448             zzstring(srvrn,&s,&y);
      3	  92449             s = (char *)fullname;
      2	  92450         }
      2	  92451 #endif /* NOSPL */
      2	  92452         debug(F111,"ftp putfile srvrn",s,2);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp putfile srvrn" , ( char * ) ( s ) , ( off_t ) ( 2 ) ) : 0 ) )
      3	  92453         if (s) if (*s) {
      3	  92454             int x;
      3	  92455             x = ftp_rename(asname,s);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1736
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  92456             debug(F111,"ftp putfile ftp_rename",asname,x);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp putfile ftp_rename" , ( char * ) ( asname ) , ( off_t ) ( x ) 
       E	) : 0 ) )
      3	  92457             tlog(F110, (x > 0) ?
       E	             if ( tralog && tlogfmt ) dotlog ( 6 , ( x > 0 ) ? " renamed destination file to" : " failed to rename d
       E	estination file to" , s , ( off_t ) 0 )
      3	  92458                  " renamed destination file to" :
      3	  92459                  " failed to rename destination file to",
      3	  92460                  s,
      3	  92461                  0
      3	  92462                  );
      3	  92463             if (x < 1)
      3	  92464               return(-1);
      2	  92465         }
      1	  92466     }
      1	  92467     return(0);
      1	  92468 }
	  92469 
	  92470 /* xxout must only be used for ASCII transfers */
	  92471 static int
	  92472 #ifdef CK_ANSIC
	  92473 xxout(char c)
       X  92474 #else
       X  92475 xxout(c) char c;
       X  92476 #endif /* CK_ANSIC */
      1	  92477 {
      1	  92478 #ifndef OS2
      1X  92479 #ifndef VMS
      1X  92480 #ifndef MAC
      1X  92481 #ifndef OSK
      1X  92482     /* For Unix, DG, Stratus, Amiga, Gemdos, other */
      1X  92483     if (c == '\012') {
      1X  92484 	if (zzout(dout,(CHAR)'\015') < 0)
      1X  92485 	  return(-1);
      1X  92486 	ftpsnd.bytes++;
      1X  92487     }
      1X  92488 #else /* OSK */
      1X  92489     if (c == '\015') {
      1X  92490 	c = '\012';
      1X  92491 	if (zzout(dout,(CHAR)'\015') < 0)
      1X  92492 	  return(-1);
      1X  92493 	ftpsnd.bytes++;
      1X  92494     }
      1X  92495 #endif /* OSK */
      1X  92496 #else /* MAC */
      1X  92497     if (c == '\015') {
      1X  92498 	c = '\012';
      1X  92499 	if (zzout(dout,(CHAR)'\015') < 0)
      1X  92500 	  return(-1);
      1X  92501 	ftpsnd.bytes++;
      1X  92502     }
      1X  92503 #endif /* MAC */
      1X  92504 #endif /* VMS */
      1	  92505 #endif /* OS2 */
      1	  92506     if (zzout(dout,(CHAR)c) < 0)
       E	         ( ( dout < 0 ) ? ( - 1 ) : ( ( nout >= ucbufsiz ) ? ( zzsend ( dout , ( unsigned char ) c ) ) : ( ucbuf [ n
       E	out ++ ] = ( unsigned char ) c ) ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1737
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  92507       return(-1);
      1	  92508     ftpsnd.bytes++;
      1	  92509     return(0);
      1	  92510 }
	  92511 
	  92512 static int
	  92513 #ifdef CK_ANSIC
	  92514 scrnout(char c)
       X  92515 #else
       X  92516 scrnout(c) char c;
       X  92517 #endif /* CK_ANSIC */
      1	  92518 {
      1	  92519     return(putchar(c));
      1	  92520 }
	  92521 
	  92522 static int
	  92523 #ifdef CK_ANSIC
	  92524 pipeout(char c)
       X  92525 #else
       X  92526 pipeout(c) char c;
       X  92527 #endif /* CK_ANSIC */
      1	  92528 {
      1	  92529     return(zmchout(c));
       E	            ( ( * zoutptr ++ = ( char ) ( c ) ) , ( ( ( ++ zoutcnt ) >= zobufsize ) ? zoutdump ( ) : 0 ) )
      1	  92530 }
	  92531 
	  92532 static int
	  92533 #ifdef CK_ANSIC
	  92534 ispathsep( int c )
       X  92535 #else
       X  92536 ispathsep(c) int c;
       X  92537 #endif /* CK_ANSIC */
      1	  92538 {
      2	  92539     switch (servertype) {
      2	  92540       case SYS_VMS:
       E	            3
      2	  92541       case SYS_TOPS10:
       E	            6
      2	  92542       case SYS_TOPS20:
       E	            7
      2	  92543         return(((c == ']') || (c == '>') || (c == ':')) ? 1 : 0);
      2	  92544       case SYS_OS2:
       E	            4
      2	  92545       case SYS_WIN32:
       E	            2
      2	  92546       case SYS_DOS:
       E	            5
      2	  92547         return(((c == '\\') || (c == '/') || (c == ':')) ? 1 : 0);
      2	  92548       case SYS_VOS:
       E	            8
      2	  92549         return((c == '>') ? 1 : 0);
      2	  92550       default:
      2	  92551         return((c == '/') ? 1 : 0);
      1	  92552     }
      1	  92553 }
	  92554 
	  92555 static int

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1738
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  92556 iscanceled() {
      1	  92557 #ifdef CK_CURSES
      1	  92558     extern int ck_repaint();
      1	  92559 #endif /* CK_CURSES */
      1	  92560     int x, rc = 0;
      1	  92561     char c = 0;
      1	  92562     if (cancelfile)
      1	  92563       return(1);
      1	  92564     x = conchk();                       /* Any chars waiting at console? */
      2	  92565     if (x-- > 0) {                      /* Yes...  */
      2	  92566         c = coninc(5);                  /* Get one */
      3	  92567         switch (c) {
      3	  92568           case 032:                     /* Ctrl-X or X */
      3	  92569           case 'z':
      3	  92570           case 'Z': cancelgroup++;      /* fall thru on purpose */
      3	  92571           case 030:                     /* Ctrl-Z or Z */
      3	  92572           case 'x':
      3	  92573           case 'X': cancelfile++; rc++; break;
      3	  92574 #ifdef CK_CURSES
      3	  92575           case 'L':
      3	  92576           case 'l':
      3	  92577           case 014:                     /* Ctrl-L or L or Ctrl-W */
      3	  92578           case 027:
      3	  92579             ck_repaint();               /* Refresh screen */
      3	  92580 #endif /* CK_CURSES */
      2	  92581         }
      1	  92582     }
      1	  92583     while (x-- > 0)                     /* Soak up any rest */
      1	  92584       c = coninc(1);
      1	  92585     return(rc);
      1	  92586 }
	  92587 
	  92588 #ifdef FTP_TIMEOUT
	  92589 /* fc = 0 for read; 1 for write */
	  92590 static int
	  92591 #ifdef CK_ANSIC
	  92592 check_data_connection( int fd, int fc )
       X  92593 #else
       X  92594 check_data_connection(fd,fc) int fd, fc;
       X  92595 #endif /* CK_ANSIC */
      1	  92596 {
      1	  92597     int x;
      1	  92598     struct timeval tv;
      1	  92599     fd_set in, out, err;
      1	  92600 
      1	  92601     if (ftp_timeout < 1L)
      1	  92602       return(0);
      1	  92603 
      1	  92604     FD_ZERO(&in);
       E	     __MEMSET ( ( & in ) , 0 , sizeof ( * ( & in ) ) )
      1	  92605     FD_ZERO(&out);
       E	     __MEMSET ( ( & out ) , 0 , sizeof ( * ( & out ) ) )
      1	  92606     FD_ZERO(&err);
       E	     __MEMSET ( ( & err ) , 0 , sizeof ( * ( & err ) ) )
      1	  92607     FD_SET(fd,fc ? &out : &in);
       E	     ( ( fc ? & out : & in ) -> fds_bits [ ( fd ) / ( sizeof ( fd_mask ) * 8 ) ] |= ( 1 << ( ( fd ) % ( sizeof ( fd_
       E	mask ) * 8 ) ) ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1739
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  92608     tv.tv_sec = ftp_timeout;		/* Time limit */
      1	  92609     tv.tv_usec = 0L;
      1	  92610 
      1X  92611 #ifdef INTSELECT
      1X  92612     x = select(FD_SETSIZE,(int *)&in,(int *)&out,(int *)&err,&tv);
      1X  92613 #else
      1	  92614     x = select(FD_SETSIZE,&in,&out,&err,&tv);
       E	                1024
      1	  92615 #endif /* INTSELECT */
      1	  92616 
      2	  92617     if (x == 0) {
      2	  92618 #ifdef EWOULDBLOCK
      2	  92619 	errno = EWOULDBLOCK;
       E	  ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	          35
      2X  92620 #else
      2X  92621 #ifdef EAGAIN
      2X  92622 	errno = EAGAIN;
      2X  92623 #else
      2X  92624 	errno = 11;
      2X  92625 #endif	/* EAGAIN */
      2X  92626 #endif	/* EWOULDBLOCK */
      2	  92627 	debug(F100,"ftp check_data_connection TIMOUT","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp check_data_connection TIMOUT" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0
       E	 ) )
      2	  92628 	return(-3);
      1	  92629     }
      1	  92630     return(0);
      1	  92631 }
	  92632 #endif	/* FTP_TIMEOUT */
	  92633 
	  92634 /* zzsend - used by buffered output macros. */
	  92635 
	  92636 static int
	  92637 #ifdef CK_ANSIC
	  92638 zzsend(int fd, CHAR c)
       E	                unsigned char
       X  92639 #else
       X  92640 zzsend(fd,c) int fd; CHAR c;
       X  92641 #endif /* CK_ANSIC */
      1	  92642 {
      1	  92643     int rc;
      1	  92644 
      1	  92645     debug(F101,"zzsend ucbufsiz","",ucbufsiz);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "zzsend ucbufsiz" , ( char * ) ( "" ) , ( off_t ) ( ucbufsiz ) ) : 0 ) )
      1	  92646     debug(F101,"zzsend nout","",nout);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "zzsend nout" , ( char * ) ( "" ) , ( off_t ) ( nout ) ) : 0 ) )
      1	  92647     debug(F111,"zzsend","secure?",ftpissecure());
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "zzsend" , ( char * ) ( "secure?" ) , ( off_t ) ( ftpissecure ( ) ) ) : 0 )
       E	 )
      1	  92648 
      1	  92649     if (iscanceled())                   /* Check for cancellation */
      1	  92650       return(-9);
      1	  92651 
      1	  92652 #ifdef FTP_TIMEOUT    
      1	  92653     ftp_timed_out = 0;
      2	  92654     if (check_data_connection(fd,1) < 0) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1740
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  92655 	ftp_timed_out = 1;
      2	  92656 	return(-3);
      1	  92657     }
      1	  92658 #endif	/* FTP_TIMEOUT */
      1	  92659 
      1	  92660     rc = (!ftpissecure()) ?
      1	  92661       send(fd, (SENDARG2TYPE)ucbuf, nout, 0) :
       E	                 char *
      1	  92662         secure_putbuf(fd, ucbuf, nout);
      1	  92663     ucbuf[nout] = NUL;
       E	                   '\0'
      1	  92664     nout = 0;
      1	  92665     ucbuf[nout++] = c;
      1	  92666     spackets++;
      1	  92667     pktnum++;
      2	  92668     if (rc > -1 && fdispla != XYFD_B) {
       E	                               4
      2	  92669         spktl = nout;
      2	  92670         ftscreen(SCR_PT,'D',(CK_OFF_T)spackets,NULL);
       E	                  7
       E	                              off_t
       E	                                                ( ( void * ) 0 )
      1	  92671     }
      1	  92672     return(rc);
      1	  92673 }
	  92674 
	  92675 /* c m d l i n p u t  --  Command-line PUT */
	  92676 
	  92677 int
	  92678 #ifdef CK_ANSIC
	  92679 cmdlinput( int stay )
       X  92680 #else
       X  92681 cmdlinput(stay) int stay;
       X  92682 #endif /* CK_ANSIC */
      1	  92683 {
      1	  92684     int x, rc = 0, done = 0, good = 0, status = 0;
      1	  92685     ULONG t0, t1;                       /* Times for stats */
       E	     unsigned long
      1	  92686 #ifdef GFTIMER
      1	  92687     CKFLOAT sec;
       E	     double
      1X  92688 #else
      1X  92689     int sec = 0;
      1X  92690 #endif /* GFTIMER */
      1	  92691 
      2	  92692     if (quiet) {                        /* -q really means quiet */
      2	  92693         displa = 0;
      2	  92694         fdispla = 0;
      2	  92695     } else {
      2	  92696         displa = 1;
      2	  92697         fdispla = XYFD_B;
       E	                   4
      1	  92698     }
      1	  92699     testing = 0;
      1	  92700     out2screen = 0;
      1	  92701     dpyactive = 0;
      1	  92702     what = W_FTP|W_SEND;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1741
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	            128
       E	                  2
      1	  92703 
      1	  92704 #ifndef NOSPL
      1	  92705     cmd_quoting = 0;
      1	  92706 #endif /* NOSPL */
      1	  92707     sndsrc = nfils;
      1	  92708 
      1	  92709     t0 = gmstimer();                    /* Record starting time */
      1	  92710 
      2	  92711     while (!done && !cancelgroup) {     /* Loop for all files */
      2	  92712 
      2	  92713         cancelfile = 0;
      2	  92714         x = gnfile();                   /* Get next file from list(s) */
      2	  92715         if (x == 0)                     /* (see gnfile() comments...) */
      2	  92716           x = gnferror;
      2	  92717 
      3	  92718         switch (x) {
      3	  92719           case 1:                       /* File to send */
      3	  92720             rc = putfile(FTP_PUT,       /* Function (PUT, APPEND) */
       E	                          17
      3	  92721                          filnam,        /* Local file to send */
      3	  92722                          filnam,        /* Remote name for file */
      3	  92723                          forcetype,     /* Text/binary mode forced */
      3	  92724                          0,             /* Not moving */
      3	  92725                          NULL,          /* No move-to */
       E	                          ( ( void * ) 0 )
      3	  92726                          NULL,          /* No rename-to */
       E	                          ( ( void * ) 0 )
      3	  92727                          NULL,          /* No server-rename */
       E	                          ( ( void * ) 0 )
      3	  92728                          ftp_cnv,       /* Filename conversion */
      3	  92729                          0,             /* Unique-server-names */
      3	  92730                          -1,            /* All file types */
      3	  92731                          0,             /* No permissions */
      3	  92732                          -1,            /* No character sets */
      3	  92733                          -1,            /* No character sets */
      3	  92734                          0              /* No update or restart */
      3	  92735                          );
      4	  92736             if (rc > -1) {
      4	  92737                 good++;
      4	  92738                 status = 1;
      3	  92739             }
      4	  92740             if (cancelfile) {
      4	  92741                 continue;               /* Or break? */
      3	  92742             }
      4	  92743             if (rc < 0) {
      4	  92744                 ftp_fai++;
      3	  92745             }
      3	  92746             continue;                   /* Or break? */
      3	  92747 
      3	  92748           case 0:                       /* No more files, done */
      3	  92749             done++;
      3	  92750             continue;
      3	  92751 
      3	  92752           case -2:
      3	  92753           case -1:

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1742
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  92754             printf("?%s: file not found - \"%s\"\n",
      3	  92755                    puterror ? "Fatal" : "Warning",
      3	  92756                    filnam
      3	  92757                    );
      3	  92758             continue;                   /* or break? */
      3	  92759           case -3:
      3	  92760             printf("?Warning access denied - \"%s\"\n", filnam);
      3	  92761             continue;                   /* or break? */
      3	  92762           case -5:
      3	  92763             printf("?Too many files match\n");
      3	  92764             done++;
      3	  92765             break;
      3	  92766           case -6:
      3	  92767             if (good < 1)
      3	  92768               printf("?No files selected\n");
      3	  92769             done++;
      3	  92770             break;
      3	  92771           default:
      3	  92772             printf("?getnextfile() - unknown failure\n");
      3	  92773             done++;
      2	  92774         }
      1	  92775     }
      2	  92776     if (status > 0) {
      2	  92777         if (cancelgroup)
      2	  92778           status = 0;
      2	  92779         else if (cancelfile && good < 1)
      2	  92780           status = 0;
      1	  92781     }
      1	  92782     success = status;
      1	  92783     x = success;
      2	  92784     if (x > -1) {
      2	  92785         lastxfer = W_FTP|W_SEND;
       E	                    128
       E	                          2
      2	  92786         xferstat = success;
      1	  92787     }
      1	  92788     t1 = gmstimer();                    /* End time */
      1	  92789 #ifdef GFTIMER
      1	  92790     sec = (CKFLOAT)((CKFLOAT)(t1 - t0) / 1000.0); /* Stats */
       E	            double
       E	                      double
      1	  92791     if (!sec) sec = 0.001;
      1	  92792     fptsecs = sec;
      1X  92793 #else
      1X  92794     sec = (t1 - t0) / 1000;
      1X  92795     if (!sec) sec = 1;
      1X  92796 #endif /* GFTIMER */
      1	  92797     tfcps = (long) (tfc / sec);
      1	  92798     tsecs = (int)sec;
      1	  92799     lastxfer = W_FTP|W_SEND;
       E	                128
       E	                      2
      1	  92800     xferstat = success;
      1	  92801     if (dpyactive)
      1	  92802       ftscreen(status > 0 ? SCR_TC : SCR_CW, 0, (CK_OFF_T)0, "");
       E	                             8
       E	                                      15

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1743
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                                  off_t
      1	  92803     if (!stay)
      1	  92804       doexit(success ? GOOD_EXIT : BAD_EXIT, -1);
       E	                        0
       E	                                    1
      1	  92805     return(success);
      1	  92806 }
	  92807 
	  92808 
	  92809 /*  d o f t p p u t  --  Parse and execute PUT, MPUT, and APPEND  */
	  92810 
	  92811 int
	  92812 #ifdef CK_ANSIC
	  92813 doftpput(int cx, int who)               /* who == 1 for ftp, 0 for kermit */
       X  92814 #else
       X  92815 doftpput(cx,who) int cx, who;
       X  92816 #endif /* CK_ANSIC */
      1	  92817 {
      1	  92818     struct FDB sf, fl, sw, cm;
      1	  92819     int n, rc, confirmed = 0, wild = 0, getval = 0, mput = 0, done = 0;
      1	  92820     int x_cnv = 0, x_usn = 0, x_prm = 0, putflags = 0, status = 0, good = 0;
      1	  92821     char * s, * s2;
      1	  92822 
      1	  92823     int x_csl, x_csr = -1;              /* Local and remote charsets */
      1	  92824     int x_xla = 0;
      1	  92825     int x_recurse = 0;
      1	  92826     char c, * p;                        /* Workers */
      1	  92827 #ifdef PUTARRAY
      1	  92828     int range[2];                       /* Array range */
      1	  92829     char ** ap = NULL;                  /* Array pointer */
       E	                  ( ( void * ) 0 )
      1	  92830     int arrayx = -1;                    /* Array index */
      1	  92831 #endif /* PUTARRAY */
      1	  92832     ULONG t0 = 0L, t1 = 0L;             /* Times for stats */
       E	     unsigned long
      1	  92833 #ifdef GFTIMER
      1	  92834     CKFLOAT sec;
       E	     double
      1X  92835 #else
      1X  92836     int sec = 0;
      1X  92837 #endif /* GFTIMER */
      1	  92838 
      1	  92839     struct stringint pv[SND_MAX+1];    /* Temporary array for switch values */
       E	                         48
      1	  92840     success = 0;                        /* Assume failure */
      1	  92841     forcetype = 0;                      /* No /TEXT or /BINARY given yet */
      1	  92842     out2screen = 0;                     /* Not outputting file to screen */
      1	  92843     putflags = 0;                       /* PUT options */
      1	  92844     x_cnv = ftp_cnv;                    /* Filename conversion */
      1	  92845     x_usn = ftp_usn;                    /* Unique server names */
      1	  92846     x_prm = ftp_prm;                    /* Permissions */
      1	  92847     if (x_prm == SET_AUTO)              /* Permissions AUTO */
       E	                  2
      1	  92848       x_prm = alike;
      1	  92849 
      1	  92850 #ifndef NOCSETS
      1	  92851     x_csr = ftp_csr;                    /* Inherit global server charset */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1744
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  92852     x_csl = ftp_csl;
      1	  92853     if (x_csl < 0)
      1	  92854       x_csl = fcharset;
      1	  92855     x_xla = ftp_xla;
      1	  92856 #endif /* NOCSETS */
      1	  92857 
      1	  92858     makestr(&filefile,NULL);            /* No filename list file yet. */
       E	                       ( ( void * ) 0 )
      1	  92859     makestr(&srv_renam,NULL);		/* Clear /SERVER-RENAME: */
       E	                        ( ( void * ) 0 )
      1	  92860     makestr(&snd_rename,NULL);		/*  PUT /RENAME */
       E	                         ( ( void * ) 0 )
      1	  92861     makestr(&snd_move,NULL);		/*  PUT /MOVE */
       E	                       ( ( void * ) 0 )
      1	  92862     putpath[0] = NUL;                   /* Initialize for syncdir(). */
       E	                  '\0'
      1	  92863     puterror = ftp_err;                 /* Inherit global error action. */
      1	  92864     what = W_SEND|W_FTP;                /* What we're doing (sending w/FTP) */
       E	            2
       E	                   128
      1	  92865     asnambuf[0] = NUL;                  /* Clear as-name buffer */
       E	                   '\0'
      1	  92866 
      2	  92867     if (g_ftp_typ > -1) {               /* Restore TYPE if saved */
      2	  92868         ftp_typ = g_ftp_typ;
      2	  92869         /* g_ftp_typ = -1; */
      1	  92870     }
      2	  92871     for (i = 0; i <= SND_MAX; i++) {    /* Initialize switch values */
       E	                      48
      2	  92872         pv[i].sval = NULL;              /* to null pointers */
       E	                      ( ( void * ) 0 )
      2	  92873         pv[i].ival = -1;                /* and -1 int values */
      2	  92874         pv[i].wval = (CK_OFF_T)-1;	/* and -1 wide values */
       E	                       off_t
      1	  92875     }
      2	  92876     if (who == 0) {                     /* Called with unprefixed command */
      3	  92877         switch (cx) {
      3	  92878           case XXRSEN:  pv[SND_RES].ival = 1; break;
       E	                101
       E	                            14
      3	  92879           case XXCSEN:  pv[SND_CMD].ival = 1; break;
       E	                137
       E	                            13
      3	  92880           case XXMOVE:  pv[SND_DEL].ival = 1; break;
       E	                108
       E	                            1
      3	  92881           case XXMMOVE: pv[SND_DEL].ival = 1; /* fall thru */
       E	                109
       E	                            1
      3	  92882           case XXMSE:   mput++; break;
       E	                80
      2	  92883         }
      2	  92884     } else {
      2	  92885 	if (cx == FTP_REP)
       E	            39
      2	  92886 	  pv[SND_RES].ival = 1;
       E	       14

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1745
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  92887         if (cx == FTP_MPU)
       E	                   15
      2	  92888           mput++;
      1	  92889     }
      1	  92890     cmfdbi(&sw,                         /* First FDB - command switches */
      1	  92891            _CMKEY,                      /* fcode */
       E	            5
      1	  92892            "Filename, or switch",       /* hlpmsg */
      1	  92893            "",                          /* default */
      1	  92894            "",                          /* addtl string data */
      1	  92895            nputswi,                     /* addtl numeric data 1: tbl size */
      1	  92896            4,                           /* addtl numeric data 2: 4 = cmswi */
      1	  92897            xxstring,                    /* Processing function */
      1	  92898            putswi,                      /* Keyword table */
      1	  92899            &sf                          /* Pointer to next FDB */
      1	  92900            );
      1	  92901     cmfdbi(&fl,                         /* 3rd FDB - local filespec */
      1	  92902            _CMFLD,                      /* fcode */
       E	            3
      1	  92903            "",                          /* hlpmsg */
      1	  92904            "",                          /* default */
      1	  92905            "",                          /* addtl string data */
      1	  92906            0,                           /* addtl numeric data 1 */
      1	  92907            0,                           /* addtl numeric data 2 */
      1	  92908            xxstring,
      1	  92909            NULL,
       E	            ( ( void * ) 0 )
      1	  92910            &cm
      1	  92911            );
      1	  92912     cmfdbi(&cm,                         /* 4th FDB - Confirmation */
      1	  92913            _CMCFM,                      /* fcode */
       E	            6
      1	  92914            "",                          /* hlpmsg */
      1	  92915            "",                          /* default */
      1	  92916            "",                          /* addtl string data */
      1	  92917            0,                           /* addtl numeric data 1 */
      1	  92918            0,                           /* addtl numeric data 2 */
      1	  92919            NULL,
       E	            ( ( void * ) 0 )
      1	  92920            NULL,
       E	            ( ( void * ) 0 )
      1	  92921            NULL
       E	            ( ( void * ) 0 )
      1	  92922            );
      1	  92923 
      1	  92924   again:
      1	  92925     cmfdbi(&sf,                         /* 2nd FDB - file to send */
      1	  92926            _CMIFI,                      /* fcode */
       E	            2
      1	  92927            "",                          /* hlpmsg */
      1	  92928            "",                          /* default */
      1	  92929            "",                          /* addtl string data */
      1	  92930            /* 0 = parse files, 1 = parse files or dirs, 2 = skip symlinks */
      1	  92931            nolinks | x_recurse,         /* addtl numeric data 1 */
      1	  92932            0,                           /* dirflg 0 means "not dirs only" */
      1	  92933            xxstring,
      1	  92934            NULL,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1746
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	            ( ( void * ) 0 )
      1X  92935 #ifdef COMMENT
      1X  92936            mput ? &cm : &fl
      1X  92937 #else
      1	  92938 	   &fl
      1	  92939 #endif /* COMMENT */
      1	  92940            );
      1	  92941 
      2	  92942     while (1) {                         /* Parse zero or more switches */
      2	  92943         x = cmfdb(&sw);                 /* Parse something */
      2	  92944         debug(F101,"ftp put cmfdb A","",x);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp put cmfdb A" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      2	  92945         debug(F101,"ftp put fcode A","",cmresult.fcode);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp put fcode A" , ( char * ) ( "" ) , ( off_t ) ( cmresult . fcode ) 
       E	) : 0 ) )
      2	  92946         if (x < 0)                      /* Error */
      2	  92947           goto xputx;                   /* or reparse needed */
      2	  92948         if (cmresult.fcode != _CMKEY)   /* Break out of loop if not a switch */
       E	                               5
      2	  92949           break;
      2	  92950         c = cmgbrk();                   /* Get break character */
      2	  92951         getval = (c == ':' || c == '='); /* to see how they ended the switch */
      3	  92952         if (getval && !(cmresult.kflags & CM_ARG)) {
       E	                                           8
      3	  92953             printf("?This switch does not take arguments\n");
      3	  92954             x = -9;
      3	  92955             goto xputx;
      2	  92956         }
      3	  92957         if (!getval && (cmgkwflgs() & CM_ARG)) {
       E	                                       8
      3	  92958             printf("?This switch requires an argument\n");
      3	  92959             x = -9;
      3	  92960             goto xputx;
      2	  92961         }
      2	  92962         n = cmresult.nresult;           /* Numeric result = switch value */
      2	  92963         debug(F101,"ftp put switch","",n);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp put switch" , ( char * ) ( "" ) , ( off_t ) ( n ) ) : 0 ) )
      2	  92964 
      3	  92965         switch (n) {                    /* Process the switch */
      3	  92966           case SND_AFT:                 /* Send /AFTER:date-time */
       E	                6
      3	  92967           case SND_BEF:                 /* Send /BEFORE:date-time */
       E	                5
      3	  92968           case SND_NAF:                 /* Send /NOT-AFTER:date-time */
       E	                19
      3	  92969           case SND_NBE:                 /* Send /NOT-BEFORE:date-time */
       E	                20
      3	  92970             if (!getval) break;
      4	  92971             if ((x = cmdate("File date-time","",&s,0,xxstring)) < 0) {
      5	  92972                 if (x == -3) {
      5	  92973                     printf("?Date-time required\n");
      5	  92974                     x = -9;
      4	  92975                 }
      4	  92976                 goto xputx;
      3	  92977             }
      3	  92978             pv[n].ival = 1;
      3	  92979             makestr(&(pv[n].sval),s);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1747
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  92980             break;
      3	  92981 
      3	  92982           case SND_ASN:                 /* /AS-NAME: */
       E	                16
      3	  92983             debug(F101,"ftp put /as-name getval","",getval);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp put /as-name getval" , ( char * ) ( "" ) , ( off_t ) ( getval 
       E	) ) : 0 ) )
      3	  92984             if (!getval) break;
      4	  92985             if ((x = cmfld("Name to send under","",&s,NULL)) < 0) {
       E	                                                       ( ( void * ) 0 )
      5	  92986                 if (x == -3) {
      5	  92987                     printf("?name required\n");
      5	  92988                     x = -9;
      4	  92989                 }
      4	  92990                 goto xputx;
      3	  92991             }
      3	  92992             makestr(&(pv[n].sval),brstrip(s));
      3	  92993             debug(F110,"ftp put /as-name 1",pv[n].sval,0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "ftp put /as-name 1" , ( char * ) ( pv [ n ] . sval ) , ( off_t ) (
       E	 0 ) ) : 0 ) )
      3	  92994             if (pv[n].sval) pv[n].ival = 1;
      3	  92995             break;
      3	  92996 
      3	  92997 #ifdef PUTARRAY
      3	  92998           case SND_ARR:                 /* /ARRAY */
       E	                31
      3	  92999             if (!getval) break;
      3	  93000             ap = NULL;
       E	                  ( ( void * ) 0 )
      3	  93001             if ((x = cmfld("Array name (a single letter will do)",
      3	  93002                            "",
      3	  93003                            &s,
      3	  93004                            NULL
       E	                            ( ( void * ) 0 )
      4	  93005                            )) < 0) {
      4	  93006                 if (x == -3)
      4	  93007 		  break;
      4	  93008 		else
      4	  93009 		  return(x);
      3	  93010             }
      4	  93011             if ((x = arraybounds(s,&(range[0]),&(range[1]))) < 0) {
      4	  93012                 printf("?Bad array: %s\n",s);
      4	  93013                 return(-9);
      3	  93014             }
      4	  93015             if (!(ap = a_ptr[x])) {
      4	  93016                 printf("?No such array: %s\n",s);
      4	  93017                 return(-9);
      3	  93018             }
      3	  93019             pv[n].ival = 1;
      3	  93020             pv[SND_CMD].ival = 0;       /* Undo any conflicting ones... */
       E	                13
      3	  93021             pv[SND_RES].ival = 0;
       E	                14
      3	  93022             pv[SND_FIL].ival = 0;
       E	                27
      3	  93023             arrayx = x;
      3	  93024             break;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1748
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  93025 #endif /* PUTARRAY */
      3	  93026 
      3	  93027           case SND_BIN:                 /* /BINARY */
       E	                0
      3	  93028           case SND_TXT:                 /* /TEXT or /ASCII */
       E	                12
      3	  93029           case SND_TEN:                 /* /TENEX */
       E	                26
      3	  93030             pv[SND_BIN].ival = 0;
       E	                0
      3	  93031             pv[SND_TXT].ival = 0;
       E	                12
      3	  93032             pv[SND_TEN].ival = 0;
       E	                26
      3	  93033             pv[n].ival = 1;
      3	  93034             break;
      3	  93035 
      3X  93036 #ifdef PUTPIPE
      3X  93037           case SND_CMD:                 /* These take no args */
      3X  93038             if (nopush) {
      3X  93039                 printf("?Sorry, system command access is disabled\n");
      3X  93040                 x = -9;
      3X  93041                 goto xputx;
      3X  93042             }
      3X  93043 #ifdef PIPESEND
      3X  93044             else if (sndfilter) {
      3X  93045                 printf("?Sorry, no PUT /COMMAND when SEND FILTER selected\n");
      3X  93046                 x = -9;
      3X  93047                 goto xputx;
      3X  93048             }
      3X  93049 #endif /* PIPESEND */
      3X  93050             sw.hlpmsg = "Command, or switch"; /* Change help message */
      3X  93051             pv[n].ival = 1;             /* Just set the flag */
      3X  93052             pv[SND_ARR].ival = 0;
      3X  93053             break;
      3X  93054 #endif /* PUTPIPE */
      3	  93055 
      3X  93056 #ifdef CKSYMLINK
      3X  93057           case SND_LNK:
      3X  93058             nolinks = 0;
      3X  93059             goto again;			/* Because CMIFI params changed... */
      3X  93060           case SND_NLK:
      3X  93061             nolinks = 2;
      3X  93062             goto again;
      3X  93063 #endif /* CKSYMLINK */
      3	  93064 
      3	  93065 #ifdef FTP_RESTART
      3	  93066           case SND_RES:                 /* /RECOVER (resend) */
       E	                14
      3	  93067             pv[SND_ARR].ival = 0;       /* fall thru on purpose... */
       E	                31
      3	  93068 #endif /* FTP_RESTART */
      3	  93069 
      3	  93070           case SND_NOB:
       E	                28
      3	  93071           case SND_DEL:                 /* /DELETE */
       E	                1

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1749
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  93072           case SND_SHH:                 /* /QUIET */
       E	                8
      3	  93073           case SND_UPD:                 /* /UPDATE */
       E	                38
      3	  93074           case SND_SIM:                 /* /UPDATE */
       E	                44
      3	  93075           case SND_USN:                 /* /UNIQUE */
       E	                15
      3	  93076             pv[n].ival = 1;             /* Just set the flag */
      3	  93077             break;
      3	  93078 
      3	  93079           case SND_REC:                 /* /RECURSIVE */
       E	                9
      3	  93080             recursive = 2;              /* Must be set before cmifi() */
      3	  93081             x_recurse = 1;
      3	  93082             goto again;			/* Because CMIFI params changed... */
      3	  93083             break;
      3	  93084 
      3X  93085 #ifdef UNIXOROSK
      3X  93086           case SND_DOT:                 /* /DOTFILES */
      3X  93087             matchdot = 1;
      3X  93088             break;
      3X  93089           case SND_NOD:                 /* /NODOTFILES */
      3X  93090             matchdot = 0;
      3X  93091             break;
      3X  93092 #endif /* UNIXOROSK */
      3	  93093 
      3	  93094           case SND_ERR:                 /* /ERROR-ACTION */
       E	                35
      3	  93095             if ((x = cmkey(qorp,2,"","",xxstring)) < 0)
      3	  93096               goto xputx;
      3	  93097             pv[n].ival = x;
      3	  93098             break;
      3	  93099 
      3	  93100           case SND_EXC:                 /* Excludes */
       E	                2
      3	  93101             if (!getval) break;
      4	  93102             if ((x = cmfld("Pattern","",&s,xxstring)) < 0) {
      5	  93103                 if (x == -3) {
      5	  93104                     printf("?Pattern required\n");
      5	  93105                     x = -9;
      4	  93106                 }
      4	  93107                 goto xputx;
      3	  93108             }
      3	  93109             if (s) if (!*s) s = NULL;
       E	                                 ( ( void * ) 0 )
      3	  93110             makestr(&(pv[n].sval),s);
      3	  93111             if (pv[n].sval)
      3	  93112               pv[n].ival = 1;
      3	  93113             break;
      3	  93114 
      3	  93115           case SND_PRM:                 /* /PERMISSIONS */
       E	                34
      3	  93116             if (!getval)
      3	  93117               x = 1;
      3	  93118             else if ((x = cmkey(onoff,2,"","on",xxstring)) < 0)
      3	  93119               goto xputx;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1750
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  93120             pv[SND_PRM].ival = x;
       E	                34
      3	  93121             break;
      3	  93122 
      3X  93123 #ifdef PIPESEND
      3X  93124           case SND_FLT:                 /* /FILTER */
      3X  93125             debug(F101,"ftp put /filter getval","",getval);
      3X  93126             if (!getval) break;
      3X  93127             if ((x = cmfld("Filter program to send through","",&s,NULL)) < 0) {
      3X  93128                 if (x == -3)
      3X  93129                   s = "";
      3X  93130                 else
      3X  93131                   goto xputx;
      3X  93132             }
      3X  93133             if (*s) s = brstrip(s);
      3X  93134             y = strlen(s);
      3X  93135             for (x = 0; x < y; x++) {   /* Make sure they included "\v(...)" */
      3X  93136                 if (s[x] != '\\') continue;
      3X  93137                 if (s[x+1] == 'v') break;
      3X  93138             }
      3X  93139             if (x == y) {
      3X  93140                 printf(
      3X  93141                 "?Filter must contain a replacement variable for filename.\n"
      3X  93142                        );
      3X  93143                 x = -9;
      3X  93144                 goto xputx;
      3X  93145             }
      3X  93146             if (s) if (!*s) s = NULL;
      3X  93147             makestr(&(pv[n].sval),s);
      3X  93148             if (pv[n].sval)
      3X  93149               pv[n].ival = 1;
      3X  93150             break;
      3X  93151 #endif /* PIPESEND */
      3	  93152 
      3	  93153           case SND_NAM:                 /* /FILENAMES */
       E	                23
      3	  93154             if (!getval) break;
      3	  93155             if ((x = cmkey(fntab,nfntab,"","automatic",xxstring)) < 0)
      3	  93156               goto xputx;
      3	  93157             debug(F101,"ftp put /filenames","",x);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp put /filenames" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) 
       E	)
      3	  93158             pv[n].ival = x;
      3	  93159             break;
      3	  93160 
      3	  93161           case SND_SMA:                 /* Smaller / larger than */
       E	                10
      4	  93162           case SND_LAR: {
       E	                3
      4	  93163 	      CK_OFF_T y;
       E	        off_t
      4	  93164 	      if (!getval) break;
      4	  93165 	      if ((x = cmnumw("Size in bytes","0",10,&y,xxstring)) < 0)
      4	  93166 		goto xputx;
      4	  93167 	      pv[n].wval = y;
      4	  93168 	      break;
      3	  93169 	  }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1751
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  93170           case SND_FIL:                 /* Name of file containing filenames */
       E	                27
      3	  93171             if (!getval) break;
      3	  93172             if ((x = cmifi("Name of file containing list of filenames",
      4	  93173                                "",&s,&y,xxstring)) < 0) {
      5	  93174                 if (x == -3) {
      5	  93175                     printf("?Filename required\n");
      5	  93176                     x = -9;
      4	  93177                 }
      4	  93178                 goto xputx;
      4	  93179             } else if (y && iswild(s)) {
      4	  93180                 printf("?Wildcards not allowed\n");
      4	  93181                 x = -9;
      4	  93182                 goto xputx;
      3	  93183             }
      3	  93184             if (s) if (!*s) s = NULL;
       E	                                 ( ( void * ) 0 )
      3	  93185             makestr(&(pv[n].sval),s);
      4	  93186             if (pv[n].sval) {
      4	  93187                 pv[n].ival = 1;
      4	  93188                 pv[SND_ARR].ival = 0;
       E	                    31
      4	  93189             } else {
      4	  93190                 pv[n].ival = 0;
      3	  93191             }
      3	  93192             mput = 0;
      3	  93193             break;
      3	  93194 
      3	  93195           case SND_MOV:                 /* MOVE after */
       E	                24
      3	  93196           case SND_REN:                 /* RENAME after */
       E	                25
      4	  93197           case SND_SRN: {               /* SERVER-RENAME after */
       E	                41
      4	  93198               char * m = "";
      5	  93199               switch (n) {
      5	  93200                 case SND_MOV:
       E	                      24
      5	  93201                   m = "device and/or directory for source file after sending";
      5	  93202                   break;
      5	  93203                 case SND_REN:
       E	                      25
      5	  93204                   m = "new name for source file after sending";
      5	  93205                   break;
      5	  93206                 case SND_SRN:
       E	                      41
      5	  93207                   m = "new name for destination file after sending";
      5	  93208                   break;
      4	  93209               }
      4	  93210               if (!getval) break;
      5	  93211               if ((x = cmfld(m, "", &s, n == SND_MOV ? xxstring : NULL)) < 0) {
       E	                                              24
       E	                                                                   ( ( void * ) 0 )
      6	  93212                   if (x == -3) {
      6	  93213                       printf("%s\n", n == SND_MOV ?
       E	                                           24
      6	  93214                              "?Destination required" :

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1752
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      6	  93215                              "?New name required"
      6	  93216                              );
      6	  93217                       x = -9;
      5	  93218                   }
      5	  93219                   goto xputx;
      4	  93220               }
      4	  93221               if (s) if (!*s) s = NULL;
       E	                                   ( ( void * ) 0 )
      4	  93222               makestr(&(pv[n].sval),s ? brstrip(s) : NULL);
       E	                                                      ( ( void * ) 0 )
      4	  93223               pv[n].ival = (pv[n].sval) ? 1 : 0;
      4	  93224               break;
      3	  93225           }
      3	  93226           case SND_STA:                 /* Starting position (= PSEND) */
       E	                11
      3	  93227             if (!getval) break;
      3	  93228             if ((x = cmnum("0-based position","0",10,&y,xxstring)) < 0)
      3	  93229               goto xputx;
      3	  93230             pv[n].ival = y;
      3	  93231             break;
      3	  93232 
      3	  93233           case SND_TYP:                 /* /TYPE */
       E	                32
      3	  93234             if (!getval) break;
      3	  93235             if ((x = cmkey(txtbin,3,"","all",xxstring)) < 0)
      3	  93236               goto xputx;
      3	  93237             pv[n].ival = (x == 2) ? -1 : x;
      3	  93238             break;
      3	  93239 
      3	  93240 #ifndef NOCSETS
      3	  93241           case SND_CSL:                 /* Local character set */
       E	                36
      3	  93242           case SND_CSR:                 /* Remote (server) charset */
       E	                37
      4	  93243             if ((x = cmkey(fcstab,nfilc,"","",xxstring)) < 0) {
      4	  93244 		return((x == -3) ? -2 : x);
      3	  93245             }
      3	  93246 	    if (n == SND_CSL)
       E	               36
      3	  93247               x_csl = x;
      3	  93248             else
      3	  93249               x_csr = x;
      3	  93250             x_xla = 1;                  /* Overrides global OFF setting */
      3	  93251             break;
      3	  93252 
      3	  93253           case SND_XPA:                 /* Transparent */
       E	                33
      3	  93254             x_xla = 0;
      3	  93255             x_csr = -1;
      3	  93256             x_csl = -1;
      3	  93257             break;
      3	  93258 #endif /* NOCSETS */
      2	  93259         }
      1	  93260     }
      1X  93261 #ifdef PIPESEND
      1X  93262     if (pv[SND_RES].ival > 0) { /* /RECOVER */
      1X  93263         if (sndfilter || pv[SND_FLT].ival > 0) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1753
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  93264             printf("?Sorry, no /RECOVER or /START if SEND FILTER selected\n");
      1X  93265             x = -9;
      1X  93266             goto xputx;
      1X  93267         }
      1X  93268 	if (sfttab[0] > 0 && sfttab[SFT_REST] == 0)
      1X  93269 	  printf("WARNING: Server says it doesn't support REST.\n");
      1X  93270     }
      1X  93271 #endif /* PIPESEND */
      1	  93272 
      1	  93273     cmarg = "";
      1	  93274     cmarg2 = asnambuf;
      1	  93275     line[0] = NUL;
       E	               '\0'
      1	  93276     s = line;
      1	  93277     wild = 0;
      1	  93278 
      2	  93279     switch (cmresult.fcode) {           /* How did we get out of switch loop */
      2	  93280       case _CMIFI:                      /* Input filename */
       E	            2
      3	  93281         if (pv[SND_FIL].ival > 0) {
       E	                27
      3	  93282             printf("?You may not give a PUT filespec and a /LISTFILE\n");
      3	  93283             x = -9;
      3	  93284             goto xputx;
      2	  93285         }
      2	  93286         ckstrncpy(line,cmresult.sresult,LINBUFSIZ); /* Name */
       E	                                         ( 32763 + 10 )
      2	  93287         if (pv[SND_ARR].ival > 0)
       E	                31
      2	  93288           ckstrncpy(asnambuf,line,CKMAXPATH);
       E	                                   4095
      2	  93289         else
      2	  93290           wild = cmresult.nresult;      /* Wild flag */
      2	  93291         debug(F111,"ftp put wild",line,wild);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp put wild" , ( char * ) ( line ) , ( off_t ) ( wild ) ) : 0 ) )
      2	  93292         if (!wild && !recursive && !mput)
      2	  93293           nolinks = 0;
      2	  93294         break;
      2	  93295       case _CMFLD:                      /* Field */
       E	            3
      2	  93296         /* Only allowed with /COMMAND and /ARRAY */
      3	  93297         if (pv[SND_FIL].ival > 0) {
       E	                27
      3	  93298             printf("?You may not give a PUT filespec and a /LISTFILE\n");
      3	  93299             x = -9;
      3	  93300             goto xputx;
      2	  93301         }
      2	  93302 	/* For MPUT it's OK to have filespecs that don't match any files */
      2	  93303 	if (mput)
      2	  93304 	  break;
      3	  93305         if (pv[SND_CMD].ival < 1 && pv[SND_ARR].ival < 1) {
       E	                13
       E	                                        31
      3X  93306 #ifdef CKROOT
      3X  93307             if (ckrooterr)
      3X  93308               printf("?Off limits: %s\n",cmresult.sresult);
      3X  93309             else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1754
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3X  93310 #endif /* CKROOT */
      3	  93311               printf("?%s - \"%s\"\n",
      3	  93312                    iswild(cmresult.sresult) ?
      3	  93313                    "No files match" : "File not found",
      3	  93314                    cmresult.sresult
      3	  93315                    );
      3	  93316             x = -9;
      3	  93317             goto xputx;
      2	  93318         }
      2	  93319         ckstrncpy(line,cmresult.sresult,LINBUFSIZ);
       E	                                         ( 32763 + 10 )
      2	  93320         if (pv[SND_ARR].ival > 0)
       E	                31
      2	  93321           ckstrncpy(asnambuf,line,CKMAXPATH);
       E	                                   4095
      2	  93322         break;
      2	  93323       case _CMCFM:                      /* Confirmation */
       E	            6
      2	  93324         confirmed = 1;
      2	  93325         break;
      2	  93326       default:
      2	  93327         printf("?Unexpected function code: %d\n",cmresult.fcode);
      2	  93328         x = -9;
      2	  93329         goto xputx;
      1	  93330     }
      1	  93331     debug(F110,"ftp put string",s,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp put string" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  93332     debug(F101,"ftp put confirmed","",confirmed);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp put confirmed" , ( char * ) ( "" ) , ( off_t ) ( confirmed ) ) : 0 ) )
      1	  93333 
      1	  93334     /* Save and change protocol and transfer mode */
      1	  93335     /* Global values are restored in main parse loop */
      1	  93336 
      1	  93337     g_displa = fdispla;
      1	  93338     if (ftp_dis > -1)
      1	  93339       fdispla = ftp_dis;
      1	  93340     g_skipbup = skipbup;
      1	  93341 
      2	  93342     if (pv[SND_NOB].ival > -1) {        /* /NOBACKUP (skip backup file) */
       E	            28
      2	  93343         g_skipbup = skipbup;
      2	  93344         skipbup = 1;
      1	  93345     }
      2	  93346     if (pv[SND_TYP].ival > -1) {        /* /TYPE */
       E	            32
      2	  93347         xfiletype = pv[SND_TYP].ival;
       E	                        32
      2	  93348         if (xfiletype == 2)
      2	  93349           xfiletype = -1;
      1	  93350     }
      2	  93351     if (pv[SND_BIN].ival > 0) {         /* /BINARY really means binary... */
       E	            0
      2	  93352         forcetype = 1;                  /* So skip file scan */
      2	  93353         ftp_typ = FTT_BIN;              /* Set binary */
       E	                   1
      2	  93354     } else if (pv[SND_TXT].ival > 0) {  /* Similarly for /TEXT... */
       E	                   12

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1755
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  93355         forcetype = 1;
      2	  93356         ftp_typ = FTT_ASC;
       E	                   0
      2	  93357     } else if (pv[SND_TEN].ival > 0) {  /* and /TENEX*/
       E	                   26
      2	  93358         forcetype = 1;
      2	  93359         ftp_typ = FTT_TEN;
       E	                   6
      2	  93360     } else if (ftp_cmdlin && ftp_xfermode == XMODE_M) {
       E	                                              1
      2	  93361         forcetype = 1;
      2	  93362         ftp_typ = binary;
      2	  93363         g_ftp_typ = binary;
      1	  93364     }
      1	  93365 
      1X  93366 #ifdef PIPESEND
      1X  93367     if (pv[SND_CMD].ival > 0) {         /* /COMMAND - strip any braces */
      1X  93368         debug(F110,"PUT /COMMAND before stripping",s,0);
      1X  93369         s = brstrip(s);
      1X  93370         debug(F110,"PUT /COMMAND after stripping",s,0);
      1X  93371         if (!*s) {
      1X  93372             printf("?Sorry, a command to send from is required\n");
      1X  93373             x = -9;
      1X  93374             goto xputx;
      1X  93375         }
      1X  93376         cmarg = s;
      1X  93377     }
      1X  93378 #endif /* PIPESEND */
      1	  93379 
      1	  93380 /* Set up /MOVE and /RENAME */
      1	  93381 
      1	  93382     if (pv[SND_DEL].ival > 0 &&
       E	            1
      2	  93383         (pv[SND_MOV].ival > 0 || pv[SND_REN].ival > 0)) {
       E	             24
       E	                                     25
      2	  93384         printf("?Sorry, /DELETE conflicts with /MOVE or /RENAME\n");
      2	  93385         x = -9;
      2	  93386         goto xputx;
      1	  93387     }
      1	  93388 #ifdef CK_TMPDIR
      2	  93389     if (pv[SND_MOV].ival > 0) {
       E	            24
      2	  93390         int len;
      2	  93391         char * p = pv[SND_MOV].sval;
       E	                       24
      2	  93392         len = strlen(p);
       E	               __STRLEN ( p )
      3	  93393         if (!isdir(p)) {                /* Check directory */
      3	  93394 #ifdef CK_MKDIR
      3	  93395             char * s = NULL;
       E	                        ( ( void * ) 0 )
      3	  93396             s = (char *)malloc(len + 4);
      4	  93397             if (s) {
      4	  93398                 strcpy(s,p);            /* safe */
       E	                 __STRCPY ( s , p )
      4X  93399 #ifdef datageneral

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1756
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4X  93400                 if (s[len-1] != ':') { s[len++] = ':'; s[len] = NUL; }
      4X  93401 #else
      4	  93402                 if (s[len-1] != '/') { s[len++] = '/'; s[len] = NUL; }
       E	                                                                 '\0'
      4	  93403 #endif /* datageneral */
      4	  93404                 s[len++] = 'X';
      4	  93405                 s[len] = NUL;
       E	                          '\0'
      4X  93406 #ifdef NOMKDIR
      4X  93407                 x = -1;
      4X  93408 #else
      4	  93409                 x = zmkdir(s);
      4	  93410 #endif /* NOMKDIR */
      4	  93411                 free(s);
      5	  93412                 if (x < 0) {
      5	  93413                     printf("?Can't create \"%s\"\n",p);
      5	  93414                     x = -9;
      5	  93415                     goto xputx;
      4	  93416                 }
      3	  93417             }
      3X  93418 #else
      3X  93419             printf("?Directory \"%s\" not found\n",p);
      3X  93420             x = -9;
      3X  93421             goto xputx;
      3X  93422 #endif /* CK_MKDIR */
      2	  93423         }
      2	  93424         makestr(&snd_move,p);
      1	  93425     }
      1	  93426 #endif /* CK_TMPDIR */
      1	  93427 
      2	  93428     if (pv[SND_REN].ival > 0) {         /* /RENAME */
       E	            25
      2	  93429         char * p = pv[SND_REN].sval;
       E	                       25
      2	  93430         if (!p) p = "";
      3	  93431         if (!*p) {
      3	  93432             printf("?New name required for /RENAME\n");
      3	  93433             x = -9;
      3	  93434             goto xputx;
      2	  93435         }
      2	  93436         p = brstrip(p);
      2	  93437 #ifndef NOSPL
      2	  93438     /* If name given is wild, rename string must contain variables */
      3	  93439         if (wild) {
      3	  93440             char * s = tmpbuf;
      3	  93441             x = TMPBUFSIZ;
       E	                 ( 32763 + 10 )
      3	  93442             zzstring(p,&s,&x);
      4	  93443             if (!strcmp(tmpbuf,p)) {
      4	  93444                 printf(
      4	  93445     "?/RENAME for file group must contain variables such as \\v(filename)\n"
      4	  93446                        );
      4	  93447                 x = -9;
      4	  93448                 goto xputx;
      3	  93449             }
      2	  93450         }
      2	  93451 #endif /* NOSPL */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1757
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  93452         makestr(&snd_rename,p);
      2	  93453         debug(F110,"FTP snd_rename",snd_rename,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "FTP snd_rename" , ( char * ) ( snd_rename ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      1	  93454     }
      2	  93455     if (pv[SND_SRN].ival > 0) {         /* /SERVER-RENAME */
       E	            41
      2	  93456         char * p = pv[SND_SRN].sval;
       E	                       41
      2	  93457         if (!p) p = "";
      3	  93458         if (!*p) {
      3	  93459             printf("?New name required for /SERVER-RENAME\n");
      3	  93460             x = -9;
      3	  93461             goto xputx;
      2	  93462         }
      2	  93463         p = brstrip(p);
      2	  93464 #ifndef NOSPL
      3	  93465         if (wild) {
      3	  93466             char * s = tmpbuf;
      3	  93467             x = TMPBUFSIZ;
       E	                 ( 32763 + 10 )
      3	  93468             zzstring(p,&s,&x);
      4	  93469             if (!strcmp(tmpbuf,p)) {
      4	  93470                 printf(
      4	  93471 "?/SERVER-RENAME for file group must contain variables such as \\v(filename)\n"
      4	  93472                        );
      4	  93473                 x = -9;
      4	  93474                 goto xputx;
      3	  93475             }
      2	  93476         }
      2	  93477 #endif /* NOSPL */
      2	  93478         makestr(&srv_renam,p);
      2	  93479         debug(F110,"ftp put srv_renam",srv_renam,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp put srv_renam" , ( char * ) ( srv_renam ) , ( off_t ) ( 0 ) ) : 0 
       E	) )
      1	  93480     }
      2	  93481     if (!confirmed) {                   /* CR not typed yet, get more fields */
      2	  93482         char * lp;
      3	  93483         if (mput) {                     /* MPUT or MMOVE */
      3	  93484             nfils = 0;                  /* We already have the first one */
      3	  93485 #ifndef NOMSEND
      4	  93486 	    if (cmresult.fcode == _CMIFI) {
       E	                            2
      4	  93487 		/* First filespec is valid */
      4	  93488 		msfiles[nfils++] = line;    /* Store pointer */
      4	  93489 		lp = line + (int)strlen(line) + 1; /* Point past it */
       E	                    __STRLEN ( line )
      4	  93490 		debug(F111,"ftp put mput",msfiles[nfils-1],nfils-1);
       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp put mput" , ( char * ) ( msfiles [ nfils - 1 ] ) , ( off_t ) ( nfils - 1
       E	 ) ) : 0 ) )
      4	  93491 	    } else {
      4	  93492 		/* First filespec matches no files */
      4	  93493 		debug(F110,"ftp put mput skipping first filespec",
       E	   ( ( void ) ( deblog ? dodebug ( 6 , "ftp put mput skipping first filespec" , ( char * ) ( cmresult . sresult ) , 
       E	( off_t ) ( 0 ) ) : 0 ) )
      4	  93494 		      cmresult.sresult,
      4	  93495 		      0

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1758
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  93496 		      );
      4	  93497 		lp = line;
      3	  93498 	    }
      3	  93499 	    /* Parse a filespec, a "field", or confirmation */
      3	  93500 
      3	  93501 	    cmfdbi(&sf,			/* 1st FDB - file to send */
      3	  93502 		   _CMIFI,		/* fcode */
       E	      2
      3	  93503 		   "",			/* hlpmsg */
      3	  93504 		   "",			/* default */
      3	  93505 		   "",			/* addtl string data */
      3	  93506 		   nolinks | x_recurse,	/* addtl numeric data 1 */
      3	  93507 		   0,			/* dirflg 0 means "not dirs only" */
      3	  93508 		   xxstring,
      3	  93509 		   NULL,
       E	      ( ( void * ) 0 )
      3	  93510 		   &fl
      3	  93511 		   );
      3	  93512 	    cmfdbi(&fl,			/* 2nd FDB - local filespec */
      3	  93513 		   _CMFLD,		/* fcode */
       E	      3
      3	  93514 		   "",			/* hlpmsg */
      3	  93515 		   "",			/* default */
      3	  93516 		   "",			/* addtl string data */
      3	  93517 		   0,			/* addtl numeric data 1 */
      3	  93518 		   0,			/* addtl numeric data 2 */
      3	  93519 		   xxstring,
      3	  93520 		   NULL,
       E	      ( ( void * ) 0 )
      3	  93521 		   &cm
      3	  93522 		   );
      3	  93523 	    cmfdbi(&cm,			/* 3rd FDB - Confirmation */
      3	  93524 		   _CMCFM,		/* fcode */
       E	      6
      3	  93525 		   "",
      3	  93526 		   "",
      3	  93527 		   "",
      3	  93528 		   0,
      3	  93529 		   0,
      3	  93530 		   NULL,
       E	      ( ( void * ) 0 )
      3	  93531 		   NULL,
       E	      ( ( void * ) 0 )
      3	  93532 		   NULL
       E	      ( ( void * ) 0 )
      3	  93533 		   );
      3	  93534 
      4	  93535             while (!confirmed) {	/* Get more filenames */
      4	  93536 		x = cmfdb(&sf);		/* Parse something */
      4	  93537 		debug(F101,"ftp put cmfdb B","",x);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "ftp put cmfdb B" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      4	  93538 		debug(F101,"ftp put fcode B","",cmresult.fcode);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "ftp put fcode B" , ( char * ) ( "" ) , ( off_t ) ( cmresult . fcode ) ) : 0 
       E	) )
      4	  93539 		if (x < 0)		/* Error */
      4	  93540 		  goto xputx;		/* or reparse needed */
      5	  93541 		switch (cmresult.fcode) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1759
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	  93542 		  case _CMCFM:		/* End of command */
       E	          6
      5	  93543 		    confirmed++;
      6	  93544 		    if (nfils < 1) {
      6	  93545 			debug(F100,"ftp put mput no files match","",0);
       E	    ( ( void ) ( deblog ? dodebug ( 4 , "ftp put mput no files match" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      6	  93546 			printf("?No files match MPUT list\n");
      6	  93547 			x = -9;
      6	  93548 			goto xputx;
      5	  93549 		    }
      5	  93550 		    break;
      5	  93551 		  case _CMFLD:		/* No match */
       E	          3
      5	  93552 		    debug(F110,"ftp put mput skipping",cmresult.sresult,0);
       E	       ( ( void ) ( deblog ? dodebug ( 6 , "ftp put mput skipping" , ( char * ) ( cmresult . sresult ) , ( off_t ) (
       E	 0 ) ) : 0 ) )
      5	  93553 		    continue;
      5	  93554 		  case _CMIFI:		/* Good match */
       E	          2
      5	  93555 		    s = cmresult.sresult;
      5	  93556 		    msfiles[nfils++] = lp; /* Got one, count, point to it, */
      5	  93557 		    p = lp;		   /* remember pointer, */
      5	  93558 		    while ((*lp++ = *s++)) /* and copy it into buffer */
      6	  93559 		      if (lp > (line + LINBUFSIZ)) { /* Avoid memory leak */
       E	                          ( 32763 + 10 )
      6	  93560 			  printf("?MPUT list too long\n");
      6	  93561 			  line[0] = NUL;
       E	                '\0'
      6	  93562 			  x = -9;
      6	  93563 			  goto xputx;
      5	  93564 		      }
      5	  93565 		    debug(F111,"ftp put mput adding",msfiles[nfils-1],nfils-1);
       E	       ( ( void ) ( deblog ? dodebug ( 7 , "ftp put mput adding" , ( char * ) ( msfiles [ nfils - 1 ] ) , ( off_t ) 
       E	( nfils - 1 ) ) : 0 ) )
      5	  93566 		    if (nfils == 1)	/* Take care of \v(filespec) */
      5	  93567 		      fspec[0] = NUL;
       E	                    '\0'
      5	  93568 #ifdef ZFNQFP
      5	  93569 		    zfnqfp(p,TMPBUFSIZ,tmpbuf);
       E	                ( 32763 + 10 )
      5	  93570 		    p = tmpbuf;
      5	  93571 #endif /* ZFNQFP */
      6	  93572 		    if (((int)strlen(fspec) + (int)strlen(p) + 1) < fspeclen) {
       E	                 __STRLEN ( fspec )
       E	                                      __STRLEN ( p )
      6	  93573 			strcat(fspec,p);    /* safe */
      6	  93574 			strcat(fspec," ");  /* safe */
      6	  93575 		    } else {
      6X  93576 #ifdef COMMENT
      6X  93577 			printf("WARNING - \\v(filespec) buffer overflow\n");
      6X  93578 #else
      6	  93579 			debug(F101,"doxput filespec buffer overflow","",0);
       E	    ( ( void ) ( deblog ? dodebug ( 5 , "doxput filespec buffer overflow" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 
       E	0 ) )
      6	  93580 #endif /* COMMENT */
      5	  93581 		    }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1760
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  93582 		}
      3	  93583 	    }
      3	  93584 #endif /* NOMSEND */
      3	  93585         } else {                        /* Regular PUT */
      3	  93586             nfils = -1;
      3	  93587             if ((x = cmtxt(wild ?
      3	  93588 "\nOptional as-name template containing replacement variables \
      3	  93589 like \\v(filename)" :
      3	  93590                            "Optional name to send it with",
      3	  93591                            "",&p,NULL)) < 0)
       E	                                  ( ( void * ) 0 )
      3	  93592               goto xputx;
      3	  93593 
      3	  93594             if (p) if (!*p) p = NULL;
       E	                                 ( ( void * ) 0 )
      3	  93595             p = brstrip(p);
      3	  93596 
      4	  93597             if (p && *p) {
      4	  93598                 makestr(&(pv[SND_ASN].sval),p);
       E	                              16
      4	  93599                 if (pv[SND_ASN].sval)
       E	                        16
      4	  93600                   pv[SND_ASN].ival = 1;
       E	                      16
      4	  93601                 debug(F110,"ftp put /as-name 2",pv[SND_ASN].sval,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp put /as-name 2" , ( char * ) ( pv [ 16 ] . sval ) , ( off_
       E	t ) ( 0 ) ) : 0 ) )
      3	  93602             }
      2	  93603         }
      1	  93604     }
      1	  93605     /* Set cmarg2 from as-name, however we got it. */
      1	  93606 
      1	  93607     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  93608     if (pv[SND_ASN].ival > 0 && pv[SND_ASN].sval && !asnambuf[0]) {
       E	            16
       E	                                    16
      2	  93609         char * p;
      2	  93610         p = brstrip(pv[SND_ASN].sval);
       E	                        16
      2	  93611         ckstrncpy(asnambuf,p,CKMAXPATH+1);
       E	                              4095
      1	  93612     }
      1	  93613     debug(F110,"ftp put asnambuf",asnambuf,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp put asnambuf" , ( char * ) ( asnambuf ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  93614 
      2	  93615     if (pv[SND_FIL].ival > 0) {
       E	            27
      3	  93616         if (confirmed) {
      4	  93617             if (zopeni(ZMFILE,pv[SND_FIL].sval) < 1) {
       E	                        11
       E	                                  27
      4	  93618                 debug(F110,"ftp put can't open",pv[SND_FIL].sval,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp put can't open" , ( char * ) ( pv [ 27 ] . sval ) , ( off_
       E	t ) ( 0 ) ) : 0 ) )
      4	  93619                 printf("?Failure to open %s\n",pv[SND_FIL].sval);
       E	                                                   27

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1761
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  93620                 x = -9;
      4	  93621                 goto xputx;
      3	  93622             }
      3	  93623             makestr(&filefile,pv[SND_FIL].sval); /* Open, remember name */
       E	                                  27
      3	  93624             debug(F110,"ftp PUT /LISTFILE opened",filefile,0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "ftp PUT /LISTFILE opened" , ( char * ) ( filefile ) , ( off_t ) ( 
       E	0 ) ) : 0 ) )
      3	  93625             wild = 1;
      2	  93626         }
      1	  93627     }
      2	  93628     if (confirmed && !line[0] && !filefile) {
      2	  93629 #ifndef NOMSEND
      3	  93630         if (filehead) {                 /* OK if we have a SEND-LIST */
      3	  93631             nfils = filesinlist;
      3	  93632             sndsrc = nfils;             /* Like MSEND */
      3	  93633             addlist = 1;                /* But using a different list... */
      3	  93634             filenext = filehead;
      3	  93635             goto doput;
      2	  93636         }
      2	  93637 #endif /* NOMSEND */
      2	  93638         printf("?Filename required but not given\n");
      2	  93639         x = -9;
      2	  93640         goto xputx;
      1	  93641     }
      1	  93642 #ifndef NOMSEND
      1	  93643     addlist = 0;                        /* Don't use SEND-LIST. */
      1	  93644 #endif /* NOMSEND */
      1	  93645 
      2	  93646     if (mput) {                         /* MPUT (rather than PUT) */
      2	  93647 #ifndef NOMSEND
      2	  93648         cmlist = msfiles;               /* List of filespecs */
      2	  93649         sndsrc = nfils;                 /* rather filespec and as-name */
      2	  93650 #endif /* NOMSEND */
      2	  93651         pipesend = 0;
      2	  93652     } else if (filefile) {              /* File contains list of filenames */
      2	  93653         s = "";
      2	  93654         cmarg = "";
      2	  93655         line[0] = NUL;
       E	                   '\0'
      2	  93656         nfils = 1;
      2	  93657         sndsrc = 1;
      2	  93658 
      2	  93659     } else if (pv[SND_ARR].ival < 1 && pv[SND_CMD].ival < 1) {
       E	                   31
       E	                                           13
      2	  93660 
      2	  93661         /* Not MSEND, MMOVE, /LIST, or /ARRAY */
      2	  93662         nfils = sndsrc = -1;
      3	  93663         if (!wild) {
      4	  93664             if (zchki(s) < 0) {
      4	  93665                 printf("?Read access denied - \"%s\"\n", s);
      4	  93666                 x = -9;
      4	  93667                 goto xputx;
      3	  93668             }
      2	  93669         }
      2	  93670         if (s != line)                  /* We might already have done this. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1762
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  93671           ckstrncpy(line,s,LINBUFSIZ);  /* Copy of string just parsed. */
       E	                            ( 32763 + 10 )
      2	  93672 #ifdef DEBUG
      2	  93673         else
      2	  93674           debug(F110,"doxput line=s",line,0);
       E	           ( ( void ) ( deblog ? dodebug ( 6 , "doxput line=s" , ( char * ) ( line ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  93675 #endif /* DEBUG */
      2	  93676         cmarg = line;                   /* File to send */
      1	  93677     }
      1	  93678 #ifndef NOMSEND
      1	  93679     zfnqfp(cmarg,fspeclen,fspec);       /* Get full name */
      1	  93680 #endif /* NOMSEND */
      1	  93681 
      2	  93682     if (!mput) {                        /* For all but MPUT... */
      2X  93683 #ifdef PIPESEND
      2X  93684         if (pv[SND_CMD].ival > 0)       /* /COMMAND sets pipesend flag */
      2X  93685           pipesend = 1;
      2X  93686         debug(F101,"ftp put /COMMAND pipesend","",pipesend);
      2X  93687         if (pipesend && filefile) {
      2X  93688             printf("?Invalid switch combination\n");
      2X  93689             x = -9;
      2X  93690             goto xputx;
      2X  93691         }
      2X  93692 #endif /* PIPESEND */
      2	  93693 
      2	  93694 #ifndef NOSPL
      2	  93695     /* If as-name given and filespec is wild, as-name must contain variables */
      3	  93696         if ((wild || mput) && asnambuf[0]) {
      3	  93697             char * s = tmpbuf;
      3	  93698             x = TMPBUFSIZ;
       E	                 ( 32763 + 10 )
      3	  93699             zzstring(asnambuf,&s,&x);
      4	  93700             if (!strcmp(tmpbuf,asnambuf)) {
      4	  93701                 printf(
      4	  93702     "?As-name for file group must contain variables such as \\v(filename)\n"
      4	  93703                        );
      4	  93704                 x = -9;
      4	  93705                 goto xputx;
      3	  93706             }
      2	  93707         }
      2	  93708 #endif /* NOSPL */
      1	  93709     }
      1	  93710 
      1	  93711   doput:
      1	  93712 
      2	  93713     if (pv[SND_SHH].ival > 0) {         /* SEND /QUIET... */
       E	            8
      2	  93714         fdispla = 0;
      2	  93715         debug(F101,"ftp put display","",fdispla);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp put display" , ( char * ) ( "" ) , ( off_t ) ( fdispla ) ) : 0 ) )
      2	  93716     } else {
      2	  93717         displa = 1;
      2	  93718         if (ftp_deb)
      2	  93719 	  fdispla = XYFD_B;
       E	              4
      1	  93720     }
      1	  93721 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1763
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  93722 #ifdef PUTARRAY                         /* SEND /ARRAY... */
      2	  93723     if (pv[SND_ARR].ival > 0) {
       E	            31
      2	  93724         if (!ap) { x = -2; goto xputx; } /* (shouldn't happen) */
      2	  93725         if (range[0] == -1)             /* If low end of range not specified */
      2	  93726           range[0] = 1;                 /* default to 1 */
      2	  93727         if (range[1] == -1)             /* If high not specified */
      2	  93728           range[1] = a_dim[arrayx];     /* default to size of array */
      2	  93729         if ((range[0] < 0) ||           /* Check range */
      2	  93730             (range[0] > a_dim[arrayx]) ||
      2	  93731             (range[1] < range[0]) ||
      3	  93732             (range[1] > a_dim[arrayx])) {
      3	  93733             printf("?Bad array range - [%d:%d]\n",range[0],range[1]);
      3	  93734             x = -9;
      3	  93735             goto xputx;
      2	  93736         }
      2	  93737         sndarray = ap;                  /* Array pointer */
      2	  93738         sndxin = arrayx;                /* Array index */
      2	  93739         sndxlo = range[0];              /* Array range */
      2	  93740         sndxhi = range[1];
      2	  93741         sndxnam[7] = (char)((sndxin == 1) ? 64 : sndxin + ARRAYBASE);
       E	                                                           95
      2	  93742         if (!asnambuf[0])
      2	  93743           ckstrncpy(asnambuf,sndxnam,CKMAXPATH);
       E	                                      4095
      2	  93744         cmarg = "";
      1	  93745     }
      1	  93746 #endif /* PUTARRAY */
      1	  93747 
      1	  93748     moving = 0;
      1	  93749 
      2	  93750     if (pv[SND_ARR].ival < 1) {         /* File selection & disposition... */
       E	            31
      2	  93751         if (pv[SND_DEL].ival > 0)       /* /DELETE was specified */
       E	                1
      2	  93752           moving = 1;
      2	  93753         if (pv[SND_AFT].ival > 0)       /* Copy SEND criteria */
       E	                6
      2	  93754           ckstrncpy(sndafter,pv[SND_AFT].sval,19);
       E	                                 6
      2	  93755         if (pv[SND_BEF].ival > 0)
       E	                5
      2	  93756           ckstrncpy(sndbefore,pv[SND_BEF].sval,19);
       E	                                  5
      2	  93757         if (pv[SND_NAF].ival > 0)
       E	                19
      2	  93758           ckstrncpy(sndnafter,pv[SND_NAF].sval,19);
       E	                                  19
      2	  93759         if (pv[SND_NBE].ival > 0)
       E	                20
      2	  93760           ckstrncpy(sndnbefore,pv[SND_NBE].sval,19);
       E	                                   20
      2	  93761         if (pv[SND_EXC].ival > 0)
       E	                2
      2	  93762           makelist(pv[SND_EXC].sval,sndexcept,NSNDEXCEPT);
       E	                       2
       E	                                               64

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1764
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  93763         if (pv[SND_SMA].ival > -1)
       E	                10
      2	  93764           sndsmaller = pv[SND_SMA].wval;
       E	                           10
      2	  93765         if (pv[SND_LAR].ival > -1)
       E	                3
      2	  93766           sndlarger = pv[SND_LAR].wval;
       E	                          3
      2	  93767         if (pv[SND_NAM].ival > -1)
       E	                23
      2	  93768           x_cnv = pv[SND_NAM].ival;
       E	                      23
      2	  93769         if (pv[SND_USN].ival > -1)
       E	                15
      2	  93770           x_usn = pv[SND_USN].ival;
       E	                      15
      2	  93771         if (pv[SND_ERR].ival > -1)
       E	                35
      2	  93772           puterror = pv[SND_ERR].ival;
       E	                         35
      2	  93773 
      2	  93774 #ifdef DOUPDATE
      3	  93775         if (pv[SND_UPD].ival > 0) {
       E	                38
      4	  93776             if (x_usn) {
      4	  93777                 printf("?Conflicting switches: /UPDATE /UNIQUE\n");
      4	  93778                 x = -9;
      4	  93779                 goto xputx;
      3	  93780             }
      3	  93781             putflags |= PUT_UPD;
       E	                         1
      3	  93782 	    ftp_dates |= 2;
      2	  93783         }
      2X  93784 #ifdef COMMENT
      2X  93785 	/* This works but it's useless, maybe dangerous */
      2X  93786         if (pv[SND_DIF].ival > 0) {
      2X  93787             if (x_usn) {
      2X  93788                 printf("?Conflicting switches: /DATES-DIFFER /UNIQUE\n");
      2X  93789                 x = -9;
      2X  93790                 goto xputx;
      2X  93791             }
      2X  93792             putflags |= PUT_DIF;
      2X  93793 	    ftp_dates |= 2;
      2X  93794         }
      2X  93795 #endif /* COMMENT */
      2	  93796 #endif /* DOUPDATE */
      2	  93797 
      2	  93798         if (pv[SND_SIM].ival > 0)
       E	                44
      2	  93799           putflags |= PUT_SIM;
       E	                       4
      2	  93800 
      3	  93801         if (pv[SND_PRM].ival > -1) {
       E	                34
      3X  93802 #ifdef UNIX
      3X  93803             if (x_usn) {
      3X  93804                 printf("?Conflicting switches: /PERMISSIONS /UNIQUE\n");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1765
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3X  93805                 x = -9;
      3X  93806                 goto xputx;
      3X  93807             }
      3X  93808             x_prm = pv[SND_PRM].ival;
      3X  93809 #else /* UNIX */
      3	  93810             printf("?/PERMISSIONS switch is not supported\n");
      3	  93811 #endif /* UNIX */
      2	  93812         }
      2	  93813 #ifdef FTP_RESTART
      3	  93814         if (pv[SND_RES].ival > 0) {
       E	                14
      4	  93815 	    if (!sizeok) {
      4	  93816 		printf("?PUT /RESTART can't be used because SIZE disabled.\n");
      4	  93817                 x = -9;
      4	  93818                 goto xputx;
      3	  93819 	    }
      4	  93820             if (x_usn || putflags) {
      4	  93821                 printf("?Conflicting switches: /RECOVER %s\n",
      4	  93822                        x_usn && putflags ? "/UNIQUE /UPDATE" :
      4	  93823                        (x_usn ? "/UNIQUE" : "/UPDATE")
      4	  93824                        );
      4	  93825                 x = -9;
      4	  93826                 goto xputx;
      3	  93827             }
      3	  93828 #ifndef NOCSETS
      3	  93829             if (x_xla &&
      3	  93830                 (x_csl == FC_UCS2 ||
       E	                           45
      3	  93831                  x_csl == FC_UTF8 ||
       E	                           46
      3	  93832                  x_csr == FC_UCS2 ||
       E	                           45
      4	  93833                  x_csr == FC_UTF8)) {
       E	                           46
      4	  93834                 printf("?/RECOVER can not be used with Unicode translation\n");
      4	  93835                 x = -9;
      4	  93836                 goto xputx;
      3	  93837             }
      3	  93838 #endif /* NOCSETS */
      3	  93839             putflags = PUT_RES;
       E	                        2
      2	  93840         }
      2	  93841 #endif /* FTP_RESTART */
      1	  93842     }
      1	  93843     debug(F101,"ftp PUT restart","",putflags & PUT_RES);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp PUT restart" , ( char * ) ( "" ) , ( off_t ) ( putflags & 2 ) ) : 0 ) 
       E	)
      1	  93844     debug(F101,"ftp PUT update","",putflags & PUT_UPD);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp PUT update" , ( char * ) ( "" ) , ( off_t ) ( putflags & 1 ) ) : 0 ) )
      1	  93845 
      1X  93846 #ifdef PIPESEND
      1X  93847     if (pv[SND_FLT].ival > 0) {         /* Have SEND FILTER? */
      1X  93848         if (!pv[SND_FLT].sval) {
      1X  93849             sndfilter = NULL;
      1X  93850         } else {
      1X  93851             sndfilter = (char *) malloc((int) strlen(pv[SND_FLT].sval) + 1);
      1X  93852             if (sndfilter) strcpy(sndfilter,pv[SND_FLT].sval); /* safe */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1766
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  93853         }
      1X  93854         debug(F110,"ftp put /FILTER", sndfilter, 0);
      1X  93855     }
      1X  93856     if (sndfilter || pipesend)          /* No /UPDATE or /RESTART */
      1X  93857       if (putflags)                     /* with pipes or filters */
      1X  93858         putflags = 0;
      1X  93859 #endif /* PIPESEND */
      1	  93860 
      1	  93861     tfc = (CK_OFF_T)0;			/* Initialize stats and counters */
       E	            off_t
      1	  93862     filcnt = 0;
      1	  93863     pktnum = 0;
      1	  93864     spackets = 0L;
      1	  93865 
      1	  93866     if (wild)                           /* (is this necessary?) */
      1	  93867       cx = FTP_MPU;
       E	            15
      1	  93868 
      1	  93869     t0 = gmstimer();                    /* Record starting time */
      1	  93870 
      1	  93871     done = 0;                           /* Loop control */
      1	  93872     cancelgroup = 0;
      1	  93873 
      1	  93874     cdlevel = 0;
      1	  93875     cdsimlvl = 0;
      2	  93876     while (!done && !cancelgroup) {     /* Loop for all files */
      2	  93877                                         /* or until canceled. */
      2X  93878 #ifdef FTP_PROXY
      2	  93879         /*
      2	  93880            If we are using a proxy, we don't use the local file list;
      2	  93881            instead we use the list on the remote machine which we want
      2	  93882            sent to someone else, and we use remglob() to get the names.
      2	  93883            But in that case we shouldn't even be executing this routine;
      2	  93884            see ftp_mput().
      2X  93885         */
      2X  93886 #endif /* FTP_PROXY */
      2	  93887 
      2	  93888         cancelfile = 0;
      2	  93889         x = gnfile();                   /* Get next file from list(s) */
      2	  93890 
      2	  93891         if (x == 0)                     /* (see gnfile() comments...) */
      2	  93892           x = gnferror;
      2	  93893         debug(F111,"FTP PUT gnfile",filnam,x);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "FTP PUT gnfile" , ( char * ) ( filnam ) , ( off_t ) ( x ) ) : 0 ) )
      2	  93894         debug(F111,"FTP PUT binary",filnam,binary);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "FTP PUT binary" , ( char * ) ( filnam ) , ( off_t ) ( binary ) ) : 0 )
       E	 )
      2	  93895 
      3	  93896         switch (x) {
      3	  93897           case 1:                       /* File to send */
      3	  93898             s2 = asnambuf;
      3	  93899 #ifndef NOSPL
      4	  93900             if (asnambuf[0]) {          /* As-name */
      4	  93901                 int n; char *p;         /* to be evaluated... */
      4	  93902                 n = TMPBUFSIZ;
       E	                     ( 32763 + 10 )
      4	  93903                 p = tmpbuf;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1767
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  93904                 zzstring(asnambuf,&p,&n);
      4	  93905                 s2 = tmpbuf;
      4	  93906                 debug(F110,"ftp put asname",s2,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp put asname" , ( char * ) ( s2 ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      3	  93907             }
      3	  93908 #endif /* NOSPL */
      3	  93909             rc = putfile(cx,            /* Function (PUT, APPEND) */
      3	  93910                     filnam, s2,         /* Name to send, as-name */
      3	  93911                     forcetype, moving,  /* Parameters from switches... */
      3	  93912                     snd_move, snd_rename, srv_renam,
      3	  93913                     x_cnv, x_usn, xfiletype, x_prm,
      3	  93914 #ifndef NOCSETS
      3	  93915                     x_csl, (!x_xla ? -1 : x_csr),
      3X  93916 #else
      3X  93917                     -1, -1,
      3X  93918 #endif /* NOCSETS */
      3	  93919                     putflags
      3	  93920                     );
      3	  93921             debug(F111,"ftp put putfile rc",filnam,rc);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp put putfile rc" , ( char * ) ( filnam ) , ( off_t ) ( rc ) ) :
       E	 0 ) )
      3	  93922             debug(F111,"ftp put putfile cancelfile",filnam,cancelfile);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp put putfile cancelfile" , ( char * ) ( filnam ) , ( off_t ) ( 
       E	cancelfile ) ) : 0 ) )
      3	  93923             debug(F111,"ftp put putfile cancelgroup",filnam,cancelgroup);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp put putfile cancelgroup" , ( char * ) ( filnam ) , ( off_t ) (
       E	 cancelgroup ) ) : 0 ) )
      4	  93924             if (rc > -1) {
      4	  93925                 good++;
      4	  93926                 status = 1;
      3	  93927             }
      3	  93928             if (cancelfile)
      3	  93929               continue;
      4	  93930             if (rc < 0) {
      4	  93931                 ftp_fai++;
      5	  93932                 if (puterror) {
      5	  93933                     status = 0;
      5	  93934                     printf("?Fatal upload error: %s\n",filnam);
      5	  93935                     done++;
      4	  93936                 }
      3	  93937             }
      3	  93938             continue;
      3	  93939           case 0:                       /* No more files, done */
      3	  93940             done++;
      3	  93941             continue;
      3	  93942           case -1:
      3	  93943             printf("?%s: file not found - \"%s\"\n",
      3	  93944                    puterror ? "Fatal" : "Warning",
      3	  93945                    filnam
      3	  93946                    );
      4	  93947             if (puterror) {
      4	  93948                 status = 0;
      4	  93949                 done++;
      4	  93950                 break;
      3	  93951             }
      3	  93952             continue;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1768
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  93953           case -2:
      4	  93954             if (puterror) {
      4	  93955                 printf("?Fatal: file not found - \"%s\"\n", filnam);
      4	  93956                 status = 0;
      4	  93957                 done++;
      4	  93958                 break;
      3	  93959             }
      3	  93960             continue;                   /* Not readable, keep going */
      3	  93961           case -3:
      4	  93962             if (puterror) {
      4	  93963                 printf("?Fatal: Read access denied - \"%s\"\n", filnam);
      4	  93964                 status = 0;
      4	  93965                 done++;
      4	  93966                 break;
      3	  93967             }
      3	  93968             printf("?Warning access denied - \"%s\"\n", filnam);
      3	  93969             continue;
      3X  93970 #ifdef COMMENT
      3X  93971           case -4:                      /* Canceled */
      3X  93972             done++;
      3X  93973             break;
      3X  93974 #endif /* COMMENT */
      3	  93975           case -5:
      3	  93976             printf("?Too many files match\n");
      3	  93977             done++;
      3	  93978             break;
      3	  93979           case -6:
      3	  93980             if (good < 1)
      3	  93981               printf("?No files selected\n");
      3	  93982             done++;
      3	  93983             break;
      3	  93984           default:
      3	  93985             printf("?getnextfile() - unknown failure\n");
      3	  93986             done++;
      2	  93987         }
      1	  93988     }
      2	  93989     if (cdlevel > 0) {
      3	  93990         while (cdlevel--) {
      4	  93991             if (cdsimlvl) {
      4	  93992                 cdsimlvl--;
      3	  93993             } else if (!doftpcdup())
      3	  93994               break;
      2	  93995         }
      1	  93996     }
      2	  93997     if (status > 0) {
      2	  93998         if (cancelgroup)
      2	  93999           status = 0;
      2	  94000         else if (cancelfile && good < 1)
      2	  94001           status = 0;
      1	  94002     }
      1	  94003     success = status;
      1	  94004     x = success;
      1	  94005 
      1	  94006   xputx:
      2	  94007     if (x > -1) {
      2	  94008 #ifdef GFTIMER
      2	  94009         t1 = gmstimer();                /* End time */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1769
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  94010         sec = (CKFLOAT)((CKFLOAT)(t1 - t0) / 1000.0); /* Stats */
       E	                double
       E	                          double
      2	  94011         if (!sec) sec = 0.001;
      2	  94012         fptsecs = sec;
      2X  94013 #else
      2X  94014         sec = (t1 - t0) / 1000;
      2X  94015         if (!sec) sec = 1;
      2X  94016 #endif /* GFTIMER */
      2	  94017         tfcps = (long) (tfc / sec);
      2	  94018         tsecs = (int)sec;
      2	  94019         lastxfer = W_FTP|W_SEND;
       E	                    128
       E	                          2
      2	  94020         xferstat = success;
      2	  94021         if (dpyactive)
      2	  94022 	  ftscreen(status > 0 ? SCR_TC : SCR_CW, 0, (CK_OFF_T)0, "");
       E	                          8
       E	                                   15
       E	                                               off_t
      1	  94023     }
      2	  94024     for (i = 0; i <= SND_MAX; i++) {    /* Free malloc'd memory */
       E	                      48
      2	  94025         if (pv[i].sval)
      2	  94026           free(pv[i].sval);
      1	  94027     }
      1	  94028     ftreset();                          /* Undo switch effects */
      1	  94029     dpyactive = 0;
      1	  94030     return(x);
      1	  94031 }
	  94032 
	  94033 
	  94034 static char ** mgetlist = NULL;         /* For MGET */
       E	                           ( ( void * ) 0 )
	  94035 static int mgetn = 0, mgetx = 0;
	  94036 static char xtmpbuf[4096];
	  94037 
	  94038 /*
	  94039   c m d l i n g e t
	  94040 
	  94041   Get files specified by -g command-line option.
	  94042   File list is set up in cmlist[] by ckuusy.c; nfils is length of list.
	  94043 */
	  94044 int
	  94045 #ifdef CK_ANSIC
	  94046 cmdlinget( int stay )
       X  94047 #else
       X  94048 cmdlinget(stay) int stay;
       X  94049 #endif /* CK_ANSIC */
      1	  94050 {
      1	  94051     int i, x, rc = 0, done = 0, good = 0, status = 0, append = 0;
      1	  94052     int lcs = -1, rcs = -1, xlate = 0;
      1	  94053     int first = 1;
      1	  94054     int mget = 1;
      1	  94055     int nc;
      1	  94056     char * s, * s2, * s3;
      1	  94057     ULONG t0, t1;                       /* Times for stats */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1770
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	     unsigned long
      1	  94058 #ifdef GFTIMER
      1	  94059     CKFLOAT sec;
       E	     double
      1X  94060 #else
      1X  94061     int sec = 0;
      1X  94062 #endif /* GFTIMER */
      1	  94063 
      2	  94064     if (quiet) {                        /* -q really means quiet */
      2	  94065         displa = 0;
      2	  94066         fdispla = 0;
      2	  94067     } else {
      2	  94068         displa = 1;
      2	  94069         fdispla = XYFD_B;
       E	                   4
      1	  94070     }
      1	  94071     testing = 0;
      1	  94072     dpyactive = 0;
      1	  94073     out2screen = 0;
      1	  94074     what = W_FTP|W_RECV;
       E	            128
       E	                  4
      1	  94075     mgetmethod = 0;
      1	  94076     mgetforced = 0;
      1	  94077 
      1	  94078     havetype = 0;
      1	  94079     havesize = (CK_OFF_T)-1;
       E	                 off_t
      1	  94080     makestr(&havemdtm,NULL);
       E	                       ( ( void * ) 0 )
      1	  94081 
      1	  94082     if (ftp_fnc < 0)
      1	  94083       ftp_fnc = fncact;
      1	  94084 
      1	  94085 #ifndef NOSPL
      1	  94086     cmd_quoting = 0;
      1	  94087 #endif /* NOSPL */
      1	  94088     debug(F101,"ftp cmdlinget nfils","",nfils);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp cmdlinget nfils" , ( char * ) ( "" ) , ( off_t ) ( nfils ) ) : 0 ) )
      1	  94089 
      2	  94090     if (ftp_cnv == CNV_AUTO) {          /* Name conversion is auto */
       E	                    2
      3	  94091         if (alike) {                    /* If server & client are alike */
      3	  94092             nc = 0;                     /* no conversion */
      3	  94093         } else {                        /* If they are different */
      3	  94094             if (servertype == SYS_UNIX || servertype == SYS_WIN32)
       E	                               1
       E	                                                         2
      3	  94095               nc = -1;                  /* only minimal conversions needed */
      3	  94096             else                        /* otherwise */
      3	  94097               nc = 1;                   /* full conversion */
      2	  94098         }
      1	  94099     } else                              /* Not auto - do what user said */
      1	  94100       nc = ftp_cnv;
      1	  94101 
      1	  94102     if (nfils < 1)
      1	  94103       doexit(BAD_EXIT,-1);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1771
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	              1
      1	  94104 
      1	  94105     t0 = gmstimer();                    /* Starting time for this batch */
      1	  94106 
      1	  94107 #ifndef NOCSETS
      2	  94108     if (xlate) {                        /* SET FTP CHARACTER-SET-TRANSLATION */
      2	  94109         lcs = ftp_csl;                  /* Local charset */
      2	  94110         if (lcs < 0) lcs = fcharset;
      2	  94111         if (lcs < 0) xlate = 0;
      1	  94112     }
      2	  94113     if (xlate) {                        /* Still ON? */
      2	  94114         rcs = ftp_csx;                  /* Remote (Server) charset */
      2	  94115         if (rcs < 0) rcs = ftp_csr;
      2	  94116         if (rcs < 0) xlate = 0;
      1	  94117     }
      1	  94118 #endif /* NOCSETS */
      1	  94119     /*
      1	  94120       If we have only one file and it is a directory, then we ask for a
      1	  94121       listing of its contents, rather than retrieving the directory file
      1	  94122       itself.  This is what (e.g.) Netscape does.
      1	  94123     */
      2	  94124     if (nfils == 1) {
      3	  94125         if (doftpcwd((char *)cmlist[mgetx],-1)) {
      3	  94126             /* If we can CD to it, it must be a directory */
      4	  94127             if (recursive) {
      4	  94128                 cmlist[mgetx] = "*";
      4	  94129             } else {
      4	  94130                 status =
      4	  94131                   (recvrequest("LIST","-","","wb",0,0,NULL,xlate,lcs,rcs)==0);
       E	                                                       ( ( void * ) 0 )
      4	  94132                 done = 1;
      3	  94133             }
      2	  94134         }
      1	  94135     }
      1	  94136 /*
      1	  94137   The following is to work around UNIX servers which, when given a command
      1	  94138   like "NLST path/blah" (not wild) returns the basename without the path.
      1	  94139 */
      2	  94140     if (!done && servertype == SYS_UNIX && nfils == 1) {
       E	                                1
      2	  94141         mget = iswild(cmlist[mgetx]);
      1	  94142     }
      2	  94143     if (!mget && !done) {               /* Invoked by command-line FTP URL */
      2	  94144         if (ftp_deb)
      2	  94145           printf("DOING GET...\n");
      2	  94146         done++;
      2	  94147         cancelfile = 0;                 /* This file not canceled yet */
      2	  94148         s = cmlist[mgetx];
      2	  94149         rc = 0;                         /* Initial return code */
      2	  94150 	fsize = (CK_OFF_T)-1;
       E	           off_t
      3	  94151 	if (sizeok) {
      3	  94152 	    x = ftpcmd("SIZE",s,lcs,rcs,ftp_vbm); /* Get remote file's size */
      3	  94153 	    if (x == REPLY_COMPLETE)
       E	               2
      3	  94154 	      fsize = ckatofs(&ftp_reply_str[4]);
      2	  94155 	}

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1772
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  94156         ckstrncpy(filnam,s,CKMAXPATH);  /* For \v(filename) */
       E	                            4095
      2	  94157         debug(F111,"ftp cmdlinget filnam",filnam,fsize);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget filnam" , ( char * ) ( filnam ) , ( off_t ) ( fsize ) ) 
       E	: 0 ) )
      2	  94158 
      2	  94159         nzrtol(s,tmpbuf,nc,0,CKMAXPATH); /* Strip path and maybe convert */
       E	                              4095
      2	  94160         s2 = tmpbuf;
      2	  94161 
      2	  94162         /* If local file already exists, take collision action */
      2	  94163 
      3	  94164         if (zchki(s2) > -1) {
      4	  94165             switch (ftp_fnc) {
      4	  94166               case XYFX_A:              /* Append */
       E	                    3
      4	  94167                 append = 1;
      4	  94168                 break;
      4	  94169               case XYFX_R:              /* Rename */
       E	                    0
      5	  94170               case XYFX_B: {            /* Backup */
       E	                    2
      5	  94171                   char * p = NULL;
       E	                              ( ( void * ) 0 )
      5	  94172                   int x = -1;
      5	  94173                   znewn(s2,&p);         /* Make unique name */
      5	  94174                   debug(F110,"ftp cmdlinget znewn",p,0);
       E	                   ( ( void ) ( deblog ? dodebug ( 6 , "ftp cmdlinget znewn" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) 
       E	: 0 ) )
      6	  94175                   if (ftp_fnc == XYFX_B) { /* Backup existing file */
       E	                                  2
      6	  94176                       x = zrename(s2,p);
      6	  94177                       debug(F111,"ftp cmdlinget backup zrename",p,x);
       E	                       ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget backup zrename" , ( char * ) ( p ) , ( off
       E	_t ) ( x ) ) : 0 ) )
      6	  94178                   } else {              /* Rename incoming file */
      6	  94179                       x = ckstrncpy(tmpbuf,p,CKMAXPATH+1);
       E	                                              4095
      6	  94180                       s2 = tmpbuf;
      6	  94181                       debug(F111,"ftp cmdlinget rename incoming",p,x);
       E	                       ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget rename incoming" , ( char * ) ( p ) , ( of
       E	f_t ) ( x ) ) : 0 ) )
      5	  94182                   }
      6	  94183                   if (x < 0) {
      6	  94184                       printf("?Backup/Rename failed\n");
      6	  94185                       return(success = 0);
      5	  94186                   }
      5	  94187                   break;
      4	  94188               }
      4	  94189               case XYFX_D:              /* Discard */
       E	                    4
      4	  94190                 ftscreen(SCR_FN,'F',(CK_OFF_T)0,s);
       E	                          1
       E	                                      off_t
      4	  94191                 ftscreen(SCR_ST,ST_SKIP,(CK_OFF_T)SKP_NAM,s);
       E	                          5
       E	                                 3

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1773
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                          off_t
       E	                                                   5
      4	  94192                 tlog(F100," refused: name","",0);
       E	                 if ( tralog && tlogfmt ) dotlog ( 4 , " refused: name" , "" , ( off_t ) 0 )
      4	  94193                 debug(F110,"ftp cmdlinget skip name",s2,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp cmdlinget skip name" , ( char * ) ( s2 ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      4	  94194                 goto xclget;
      4	  94195 
      4	  94196               case XYFX_X:              /* Overwrite */
       E	                    1
      4	  94197               case XYFX_U:              /* Update (already handled above) */
       E	                    6
      4	  94198 	      case XYFX_M:		/* ditto */
       E	             7
      4	  94199                 break;
      3	  94200             }
      2	  94201         }
      2	  94202         rc = getfile(s,                 /* Remote name */
      2	  94203                      s2,                /* Local name */
      2	  94204                      0,                 /* Recover/Restart */
      2	  94205                      append,            /* Append */
      2	  94206                      NULL,              /* Pipename */
       E	                      ( ( void * ) 0 )
      2	  94207                      0,                 /* Translate charsets */
      2	  94208                      -1,                /* File charset (none) */
      2	  94209                      -1                 /* Server charset (none) */
      2	  94210                      );
      2	  94211         debug(F111,"ftp cmdlinget rc",s,rc);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget rc" , ( char * ) ( s ) , ( off_t ) ( rc ) ) : 0 ) )
      2	  94212         debug(F111,"ftp cmdlinget cancelfile",s,cancelfile);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget cancelfile" , ( char * ) ( s ) , ( off_t ) ( cancelfile 
       E	) ) : 0 ) )
      2	  94213         debug(F111,"ftp cmdlinget cancelgroup",s,cancelgroup);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget cancelgroup" , ( char * ) ( s ) , ( off_t ) ( cancelgrou
       E	p ) ) : 0 ) )
      2	  94214 
      2	  94215         if (rc < 0 && haveurl && s[0] == '/') /* URL failed - try again */
      2	  94216             rc = getfile(&s[1],         /* Remote name without leading '/' */
      2	  94217                          s2,            /* Local name */
      2	  94218                          0,             /* Recover/Restart */
      2	  94219                          append,        /* Append */
      2	  94220                          NULL,          /* Pipename */
       E	                          ( ( void * ) 0 )
      2	  94221                          0,             /* Translate charsets */
      2	  94222                          -1,            /* File charset (none) */
      2	  94223                          -1             /* Server charset (none) */
      2	  94224                          );
      3	  94225         if (rc > -1) {
      3	  94226             good++;
      3	  94227             status = 1;
      2	  94228         }
      2	  94229         if (cancelfile)
      2	  94230           goto xclget;
      3	  94231         if (rc < 0) {
      3	  94232             ftp_fai++;
      3	  94233 #ifdef FTP_TIMEOUT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1774
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  94234 	    if (ftp_timed_out)
      3	  94235 	      status = 0;
      3	  94236 #endif	/* FTP_TIMEOUT */
      4	  94237             if (geterror) {
      4	  94238                 status = 0;
      4	  94239                 done++;
      3	  94240             }
      2	  94241         }
      1	  94242     }
      1	  94243     if (ftp_deb && !done)
      1	  94244       printf("DOING MGET...\n");
      2	  94245     while (!done && !cancelgroup) {
      2	  94246         cancelfile = 0;                 /* This file not canceled yet */
      2	  94247         s = (char *)remote_files(first,(CHAR *)cmlist[mgetx],NULL,0);
       E	                                         unsigned char
       E	                                                              ( ( void * ) 0 )
      2	  94248         if (!s) s = "";
      3	  94249         if (!*s) {
      3	  94250             first = 1;
      3	  94251             mgetx++;
      3	  94252             if (mgetx < nfils)
      3	  94253               s = (char *)remote_files(first,(CHAR *)cmlist[mgetx],NULL,0);
       E	                                               unsigned char
       E	                                                                    ( ( void * ) 0 )
      3	  94254             else
      3	  94255               s = NULL;
       E	                   ( ( void * ) 0 )
      3	  94256             debug(F111,"ftp cmdlinget remote_files B",s,0);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget remote_files B" , ( char * ) ( s ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      4	  94257             if (!s) {
      4	  94258                 done = 1;
      4	  94259                 break;
      3	  94260             }
      2	  94261         }
      2	  94262         /*
      2	  94263           The semantics of NLST are ill-defined.  Suppose we have just sent
      2	  94264           NLST /path/[a-z]*.  Most servers send back names like /path/foo,
      2	  94265           /path/bar, etc.  But some send back only foo and bar, and subsequent
      2	  94266           RETR commands based on the pathless names are not going to work.
      2	  94267         */
      3	  94268         if (servertype == SYS_UNIX && !ckstrchr(s,'/')) {
       E	                           1
      4	  94269             if ((s3 = ckstrrchr(cmlist[mgetx],'/'))) {
      4	  94270                 int len, left = 4096;
      4	  94271                 char * tmp = xtmpbuf;
      4	  94272                 len = s3 - cmlist[mgetx] + 1;
      4	  94273                 ckstrncpy(tmp,cmlist[mgetx],left);
      4	  94274                 tmp += len;
      4	  94275                 left -= len;
      4	  94276                 ckstrncpy(tmp,s,left);
      4	  94277                 s = xtmpbuf;
      4	  94278 		debug(F111,"ftp cmdlinget remote_files X",s,0);
       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget remote_files X" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  94279             }
      2	  94280         }
      2	  94281         first = 0;                      /* Not first any more */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1775
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  94282 
      2	  94283 	debug(F111,"ftp cmdlinget havetype",s,havetype);
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget havetype" , ( char * ) ( s ) , ( off_t ) ( havetype ) ) : 0 ) )
      3	  94284 	if (havetype > 0 && havetype != FTYP_FILE) { /* Server says not file */
       E	                                  1
      3	  94285 	    debug(F110,"ftp cmdlinget not-a-file",s,0);
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "ftp cmdlinget not-a-file" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  94286 	    continue;
      2	  94287 	}
      2	  94288         rc = 0;                         /* Initial return code */
      3	  94289 	if (havesize > (CK_OFF_T)-1) {	/* Already have file size? */
       E	                  off_t
      3	  94290 	    fsize = havesize;
      3	  94291 	} else {			/* No - must ask server */
      3	  94292 	    /*
      3	  94293 	      Prior to sending the NLST command we necessarily put the
      3	  94294 	      server into ASCII mode.  We must now put it back into the
      3	  94295 	      the requested mode so the upcoming SIZE command returns
      3	  94296 	      right kind of size; this is especially important for
      3	  94297 	      GET /RECOVER; otherwise the server returns the "ASCII" size
      3	  94298 	      of the file, rather than its true size.
      3	  94299 	    */
      3	  94300 	    changetype(ftp_typ,0);	/* Change to requested type */
      3	  94301 	    fsize = (CK_OFF_T)-1;
       E	               off_t
      4	  94302 	    if (sizeok) {
      4	  94303 		x = ftpcmd("SIZE",s,lcs,rcs,ftp_vbm);
      4	  94304 		if (x == REPLY_COMPLETE)
       E	            2
      4	  94305 		  fsize = ckatofs(&ftp_reply_str[4]);
      3	  94306 	    }
      2	  94307 	}
      2	  94308         ckstrncpy(filnam,s,CKMAXPATH);  /* For \v(filename) */
       E	                            4095
      2	  94309         debug(F111,"ftp cmdlinget filnam",filnam,fsize);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget filnam" , ( char * ) ( filnam ) , ( off_t ) ( fsize ) ) 
       E	: 0 ) )
      2	  94310 
      2	  94311         nzrtol(s,tmpbuf,nc,0,CKMAXPATH); /* Strip path and maybe convert */
       E	                              4095
      2	  94312         s2 = tmpbuf;
      2	  94313 
      2	  94314         /* If local file already exists, take collision action */
      2	  94315 
      3	  94316         if (zchki(s2) > -1) {
      4	  94317             switch (ftp_fnc) {
      4	  94318               case XYFX_A:              /* Append */
       E	                    3
      4	  94319                 append = 1;
      4	  94320                 break;
      4	  94321               case XYFX_R:              /* Rename */
       E	                    0
      5	  94322               case XYFX_B: {            /* Backup */
       E	                    2
      5	  94323                   char * p = NULL;
       E	                              ( ( void * ) 0 )
      5	  94324                   int x = -1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1776
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	  94325                   znewn(s2,&p);         /* Make unique name */
      5	  94326                   debug(F110,"ftp cmdlinget znewn",p,0);
       E	                   ( ( void ) ( deblog ? dodebug ( 6 , "ftp cmdlinget znewn" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) 
       E	: 0 ) )
      6	  94327                   if (ftp_fnc == XYFX_B) { /* Backup existing file */
       E	                                  2
      6	  94328                       x = zrename(s2,p);
      6	  94329                       debug(F111,"ftp cmdlinget backup zrename",p,x);
       E	                       ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget backup zrename" , ( char * ) ( p ) , ( off
       E	_t ) ( x ) ) : 0 ) )
      6	  94330                   } else {              /* Rename incoming file */
      6	  94331                       x = ckstrncpy(tmpbuf,p,CKMAXPATH+1);
       E	                                              4095
      6	  94332                       s2 = tmpbuf;
      6	  94333                       debug(F111,"ftp cmdlinget rename incoming",p,x);
       E	                       ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget rename incoming" , ( char * ) ( p ) , ( of
       E	f_t ) ( x ) ) : 0 ) )
      5	  94334                   }
      6	  94335                   if (x < 0) {
      6	  94336                       printf("?Backup/Rename failed\n");
      6	  94337                       return(success = 0);
      5	  94338                   }
      5	  94339                   break;
      4	  94340               }
      4	  94341               case XYFX_D:      /* Discard */
       E	                    4
      4	  94342                 ftscreen(SCR_FN,'F',(CK_OFF_T)0,s);
       E	                          1
       E	                                      off_t
      4	  94343                 ftscreen(SCR_ST,ST_SKIP,(CK_OFF_T)SKP_NAM,s);
       E	                          5
       E	                                 3
       E	                                          off_t
       E	                                                   5
      4	  94344                 tlog(F100," refused: name","",0);
       E	                 if ( tralog && tlogfmt ) dotlog ( 4 , " refused: name" , "" , ( off_t ) 0 )
      4	  94345                 debug(F110,"ftp cmdlinget skip name",s2,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp cmdlinget skip name" , ( char * ) ( s2 ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      4	  94346                 continue;
      4	  94347               case XYFX_X:              /* Overwrite */
       E	                    1
      4	  94348               case XYFX_U:              /* Update (already handled above) */
       E	                    6
      4	  94349               case XYFX_M:              /* ditto */
       E	                    7
      4	  94350                 break;
      3	  94351             }
      2	  94352         }
      2	  94353                                         /* ^^^ ADD CHARSET STUFF HERE ^^^ */
      2	  94354         rc = getfile(s,                 /* Remote name */
      2	  94355                      s2,                /* Local name */
      2	  94356                      0,                 /* Recover/Restart */
      2	  94357                      append,            /* Append */
      2	  94358                      NULL,              /* Pipename */
       E	                      ( ( void * ) 0 )
      2	  94359                      0,                 /* Translate charsets */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1777
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  94360                      -1,                /* File charset (none) */
      2	  94361                      -1                 /* Server charset (none) */
      2	  94362                      );
      2	  94363         debug(F111,"ftp cmdlinget rc",s,rc);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget rc" , ( char * ) ( s ) , ( off_t ) ( rc ) ) : 0 ) )
      2	  94364         debug(F111,"ftp cmdlinget cancelfile",s,cancelfile);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget cancelfile" , ( char * ) ( s ) , ( off_t ) ( cancelfile 
       E	) ) : 0 ) )
      2	  94365         debug(F111,"ftp cmdlinget cancelgroup",s,cancelgroup);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cmdlinget cancelgroup" , ( char * ) ( s ) , ( off_t ) ( cancelgrou
       E	p ) ) : 0 ) )
      2	  94366 
      3	  94367         if (rc > -1) {
      3	  94368             good++;
      3	  94369             status = 1;
      2	  94370         }
      2	  94371         if (cancelfile)
      2	  94372           continue;
      3	  94373         if (rc < 0) {
      3	  94374             ftp_fai++;
      3	  94375 #ifdef FTP_TIMEOUT
      3	  94376 	    if (ftp_timed_out)
      3	  94377 	      status = 0;
      3	  94378 #endif	/* FTP_TIMEOUT */
      4	  94379             if (geterror) {
      4	  94380                 status = 0;
      4	  94381                 done++;
      3	  94382             }
      2	  94383         }
      1	  94384     }
      1	  94385 
      1	  94386   xclget:
      1	  94387     if (cancelgroup)
      1	  94388       mlsreset();
      2	  94389     if (status > 0) {
      2	  94390         if (cancelgroup)
      2	  94391           status = 0;
      2	  94392         else if (cancelfile && good < 1)
      2	  94393           status = 0;
      1	  94394     }
      1	  94395     success = status;
      1	  94396 
      1	  94397 #ifdef GFTIMER
      1	  94398     t1 = gmstimer();                    /* End time */
      1	  94399     sec = (CKFLOAT)((CKFLOAT)(t1 - t0) / 1000.0); /* Stats */
       E	            double
       E	                      double
      1	  94400     if (!sec) sec = 0.001;
      1	  94401     fptsecs = sec;
      1X  94402 #else
      1X  94403     sec = (t1 - t0) / 1000;
      1X  94404     if (!sec) sec = 1;
      1X  94405 #endif /* GFTIMER */
      1	  94406 
      1	  94407     tfcps = (long) (tfc / sec);
      1	  94408     tsecs = (int)sec;
      1	  94409     lastxfer = W_FTP|W_RECV;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1778
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                128
       E	                      4
      1	  94410     xferstat = success;
      1	  94411     if (dpyactive)
      1	  94412       ftscreen(status > 0 ? SCR_TC : SCR_CW, 0, (CK_OFF_T)0, "");
       E	                             8
       E	                                      15
       E	                                                  off_t
      1	  94413     if (!stay)
      1	  94414       doexit(success ? GOOD_EXIT : BAD_EXIT, -1);
       E	                        0
       E	                                    1
      1	  94415     return(success);
      1	  94416 }
	  94417 
	  94418 /*  d o f t p g e t  --  Parse and execute GET, MGET, MDELETE, ...  */
	  94419 
	  94420 /*
	  94421   Note: if we wanted to implement /AFTER:, /BEFORE:, etc, we could use
	  94422   zstrdat() to convert to UTC-based time_t.  But it doesn't make sense from
	  94423   the user-interface perspective, since the server's directory listings show
	  94424   its own local times and since we don't know what timezone it's in, there's
	  94425   no way to reconcile our local times with the server's.
	  94426 */
	  94427 int
	  94428 #ifdef CK_ANSIC
	  94429 doftpget( int cx, int who )       /* who == 1 for ftp, 0 for kermit */
       X  94430 #else
       X  94431 doftpget(cx,who) int cx, who;
       X  94432 #endif /* CK_ANSIC */
      1	  94433 {
      1	  94434     struct FDB fl, sw, cm;
      1	  94435     int i, n, rc, getval = 0, mget = 0, done = 0, pipesave = 0;
      1	  94436     int x_cnv = 0, x_prm = 0, restart = 0, status = 0, good = 0;
      1	  94437     int x_fnc = 0, first = 0, skipthis = 0, append = 0, selected = 0;
      1	  94438     int renaming = 0, mdel = 0, listfile = 0, updating = 0, getone = 0;
      1	  94439     int moving = 0, deleting = 0, toscreen = 0, haspath = 0;
      1	  94440     int gotsize = 0;
      1	  94441     int matchdot = 0;
      1	  94442     CK_OFF_T getlarger = (CK_OFF_T)-1;
       E	     off_t
       E	                           off_t
      1	  94443     CK_OFF_T getsmaller = (CK_OFF_T)-1;
       E	     off_t
       E	                            off_t
      1	  94444     char * msg, * s, * s2, * nam, * pipename = NULL, * pn = NULL;
       E	                                                ( ( void * ) 0 )
       E	                                                             ( ( void * ) 0 )
      1	  94445     char * src = "", * local = "";
      1	  94446     char * pat = "";
      1	  94447 
      1	  94448     int x_csl = -1, x_csr = -1;         /* Local and remote charsets */
      1	  94449     int x_xla = 0;
      1	  94450     char c;                             /* Worker char */
      1	  94451     ULONG t0 = 0L, t1;                  /* Times for stats */
       E	     unsigned long
      1	  94452 #ifdef GFTIMER

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1779
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  94453     CKFLOAT sec;
       E	     double
      1X  94454 #else
      1X  94455     int sec = 0;
      1X  94456 #endif /* GFTIMER */
      1	  94457 
      1	  94458     struct stringint pv[SND_MAX+1];    /* Temporary array for switch values */
       E	                         48
      1	  94459 
      1	  94460     success = 0;                        /* Assume failure */
      1	  94461     forcetype = 0;                      /* No /TEXT or /BINARY given yet */
      1	  94462     restart = 0;                        /* No restart yet */
      1	  94463     out2screen = 0;			/* No TO-SCREEN switch given yet */
      1	  94464     mgetmethod = 0;			/* No NLST or MLSD switch yet */
      1	  94465     mgetforced = 0;
      1	  94466 
      1	  94467     g_displa = fdispla;
      1	  94468     if (ftp_dis > -1)
      1	  94469       fdispla = ftp_dis;
      1	  94470 
      1	  94471     x_cnv = ftp_cnv;                    /* Filename conversion */
      2	  94472     if (x_cnv == CNV_AUTO) {		/* Name conversion is auto */
       E	                  2
      3	  94473         if (alike) {                    /* If server & client are alike */
      3	  94474             x_cnv = 0;			/* no conversion */
      3	  94475         } else {                        /* If they are different */
      3	  94476             if (servertype == SYS_UNIX || servertype == SYS_WIN32)
       E	                               1
       E	                                                         2
      3	  94477               x_cnv = -1;		/* only minimal conversions needed */
      3	  94478             else                        /* otherwise */
      3	  94479               x_cnv = 1;		/* full conversion */
      2	  94480         }
      1	  94481     } else                              /* Not auto - do what user said */
      1	  94482       x_cnv = ftp_cnv;
      1	  94483 
      1	  94484     x_prm = ftp_prm;                    /* Permissions */
      1	  94485     if (x_prm == SET_AUTO)              /* Permissions AUTO */
       E	                  2
      1	  94486       x_prm = alike;
      1	  94487 
      1	  94488 #ifndef NOCSETS
      1	  94489     x_csr = ftp_csr;                    /* Inherit global server charset */
      1	  94490     x_csl = ftp_csl;                    /* Inherit global local charset */
      1	  94491     if (x_csl < 0)                      /* If none, use current */
      1	  94492       x_csl = fcharset;                 /* file character-set. */
      1	  94493     x_xla = ftp_xla;                    /* Translation On/Off */
      1	  94494 #endif /* NOCSETS */
      1	  94495 
      1	  94496     geterror = ftp_err;                 /* Inherit global error action. */
      1	  94497     asnambuf[0] = NUL;                  /* No as-name yet. */
       E	                   '\0'
      1	  94498     pipesave = pipesend;
      1	  94499     pipesend = 0;
      1	  94500 
      1	  94501     havetype = 0;
      1	  94502     havesize = (CK_OFF_T)-1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1780
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                 off_t
      1	  94503     makestr(&havemdtm,NULL);
       E	                       ( ( void * ) 0 )
      1	  94504 
      2	  94505     if (g_ftp_typ > -1) {               /* Restore TYPE if saved */
      2	  94506         ftp_typ = g_ftp_typ;
      2	  94507         /* g_ftp_typ = -1; */
      1	  94508     }
      2	  94509     for (i = 0; i <= SND_MAX; i++) {    /* Initialize switch values */
       E	                      48
      2	  94510         pv[i].sval = NULL;              /* to null pointers */
       E	                      ( ( void * ) 0 )
      2	  94511         pv[i].ival = -1;                /* and -1 int values */
      2	  94512         pv[i].wval = (CK_OFF_T)-1;	/* and -1 wide values */
       E	                       off_t
      1	  94513     }
      1	  94514     zclose(ZMFILE);                     /* In case it was left open */
       E	            11
      1	  94515 
      1	  94516     x_fnc = ftp_fnc > -1 ? ftp_fnc : fncact; /* Filename collision action */
      1	  94517 
      2	  94518     if (fp_nml) {                       /* Reset /NAMELIST */
      2	  94519         if (fp_nml != stdout)
       E	                       ( decc$ga_stdout )
      2	  94520           fclose(fp_nml);
      2	  94521         fp_nml = NULL;
       E	                  ( ( void * ) 0 )
      1	  94522     }
      1	  94523     makestr(&ftp_nml,NULL);
       E	                      ( ( void * ) 0 )
      1	  94524 
      1	  94525     /* Initialize list of remote filespecs */
      1	  94526 
      2	  94527     if (!mgetlist) {
      2	  94528         mgetlist = (char **)malloc(MGETMAX * sizeof(char *));
       E	                                    1000
      3	  94529         if (!mgetlist) {
      3	  94530             printf("?Memory allocation failure - MGET list\n");
      3	  94531             return(-9);
      2	  94532         }
      2	  94533         for (i = 0; i < MGETMAX; i++)
       E	                         1000
      2	  94534           mgetlist[i] = NULL;
       E	                         ( ( void * ) 0 )
      1	  94535     }
      1	  94536     mgetn = 0;                          /* Number of mget arguments */
      1	  94537     mgetx = 0;                          /* Current arg */
      1	  94538 
      2	  94539     if (who == 0) {                     /* Called with unprefixed command */
      2	  94540         if (cx == XXGET || cx == XXREGET || cx == XXRETR)
       E	                   13
       E	                                  110
       E	                                                   134
      2	  94541           getone++;
      3	  94542         switch (cx) {
      3	  94543           case XXREGET: pv[SND_RES].ival = 1; break;
       E	                110

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1781
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                            14
      3	  94544           case XXRETR:  pv[SND_DEL].ival = 1; break;
       E	                134
       E	                            1
      3	  94545           case XXGET:
       E	                13
      3	  94546           case XXMGET:  mget++; break;
       E	                146
      2	  94547         }
      2	  94548     } else {                            /* FTP command */
      2	  94549         if (cx == FTP_GET || cx == FTP_RGE)
       E	                   8
       E	                                    19
      2	  94550           getone++;
      3	  94551         switch (cx) {
      3	  94552           case FTP_DEL:                 /* (fall thru on purpose) */
       E	                6
      3	  94553           case FTP_MDE: mdel++;         /* (ditto) */
       E	                10
      3	  94554           case FTP_GET:                 /* (ditto) */
       E	                8
      3	  94555           case FTP_MGE: mget++; break;
       E	                12
      3	  94556           case FTP_RGE: pv[SND_RES].ival = 1; break;
       E	                19
       E	                            14
      2	  94557         }
      1	  94558     }
      1	  94559     cmfdbi(&sw,                         /* First FDB - command switches */
      1	  94560            _CMKEY,                      /* fcode */
       E	            5
      1	  94561            "Remote filename;\n or switch", /* hlpmsg */
      1	  94562            "",                          /* default */
      1	  94563            "",                          /* addtl string data */
      1	  94564            mdel ? ndelswi : ngetswi,    /* addtl numeric data 1: tbl size */
      1	  94565            4,                           /* addtl numeric data 2: 4 = cmswi */
      1	  94566            xxstring,                    /* Processing function */
      1	  94567            mdel ? delswi : getswi,      /* Keyword table */
      1	  94568            &fl                          /* Pointer to next FDB */
      1	  94569            );
      1	  94570     cmfdbi(&fl,                         /* 2nd FDB - remote filename */
      1	  94571            _CMFLD,                      /* fcode */
       E	            3
      1	  94572            "",                          /* hlpmsg */
      1	  94573            "",                          /* default */
      1	  94574            "",                          /* addtl string data */
      1	  94575            0,                           /* addtl numeric data 1 */
      1	  94576            0,                           /* addtl numeric data 2 */
      1	  94577            xxstring,
      1	  94578            NULL,
       E	            ( ( void * ) 0 )
      1	  94579            &cm
      1	  94580            );
      1	  94581     cmfdbi(&cm,                         /* 3rd FDB - Confirmation */
      1	  94582            _CMCFM,                      /* fcode */
       E	            6
      1	  94583            "",                          /* hlpmsg */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1782
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  94584            "",                          /* default */
      1	  94585            "",                          /* addtl string data */
      1	  94586            0,                           /* addtl numeric data 1 */
      1	  94587            0,                           /* addtl numeric data 2 */
      1	  94588            NULL,
       E	            ( ( void * ) 0 )
      1	  94589            NULL,
       E	            ( ( void * ) 0 )
      1	  94590            NULL
       E	            ( ( void * ) 0 )
      1	  94591            );
      1	  94592 
      2	  94593     while (1) {                         /* Parse 0 or more switches */
      2	  94594         x = cmfdb(&sw);                 /* Parse something */
      2	  94595         debug(F101,"ftp get cmfdb","",x);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp get cmfdb" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      2	  94596         if (x < 0)                      /* Error */
      2	  94597           goto xgetx;                   /* or reparse needed */
      2	  94598         if (cmresult.fcode != _CMKEY)   /* Break out of loop if not a switch */
       E	                               5
      2	  94599           break;
      2	  94600         c = cmgbrk();                   /* Get break character */
      2	  94601         getval = (c == ':' || c == '='); /* to see how they ended the switch */
      3	  94602         if (getval && !(cmresult.kflags & CM_ARG)) {
       E	                                           8
      3	  94603             printf("?This switch does not take arguments\n");
      3	  94604             x = -9;
      3	  94605             goto xgetx;
      2	  94606         }
      2	  94607         n = cmresult.nresult;           /* Numeric result = switch value */
      2	  94608         debug(F101,"ftp get switch","",n);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp get switch" , ( char * ) ( "" ) , ( off_t ) ( n ) ) : 0 ) )
      2	  94609 
      3	  94610         if (!getval && (cmgkwflgs() & CM_ARG)) {
       E	                                       8
      3	  94611             printf("?This switch requires an argument\n");
      3	  94612             x = -9;
      3	  94613             goto xgetx;
      2	  94614         }
      3	  94615         switch (n) {                    /* Process the switch */
      3	  94616           case SND_ASN:                 /* /AS-NAME: */
       E	                16
      3	  94617             debug(F101,"ftp get /as-name getval","",getval);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp get /as-name getval" , ( char * ) ( "" ) , ( off_t ) ( getval 
       E	) ) : 0 ) )
      3	  94618             if (!getval) break;
      4	  94619             if ((x = cmfld("Name to store it under","",&s,NULL)) < 0) {
       E	                                                           ( ( void * ) 0 )
      5	  94620                 if (x == -3) {
      5	  94621                     printf("?name required\n");
      5	  94622                     x = -9;
      4	  94623                 }
      4	  94624                 goto xgetx;
      3	  94625             }
      3	  94626             s = brstrip(s);
      3	  94627             if (!*s) s = NULL;
       E	                          ( ( void * ) 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1783
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  94628             makestr(&(pv[n].sval),s);
      3	  94629             pv[n].ival = 1;
      3	  94630             break;
      3	  94631 
      3	  94632           case SND_BIN:                 /* /BINARY */
       E	                0
      3	  94633           case SND_TXT:                 /* /TEXT or /ASCII */
       E	                12
      3	  94634           case SND_TEN:                 /* /TENEX */
       E	                26
      3	  94635             pv[SND_BIN].ival = 0;
       E	                0
      3	  94636             pv[SND_TXT].ival = 0;
       E	                12
      3	  94637             pv[SND_TEN].ival = 0;
       E	                26
      3	  94638             pv[n].ival = 1;
      3	  94639             break;
      3	  94640 
      3X  94641 #ifdef PUTPIPE
      3X  94642           case SND_CMD:                 /* These take no args */
      3X  94643             if (nopush) {
      3X  94644                 printf("?Sorry, system command access is disabled\n");
      3X  94645                 x = -9;
      3X  94646                 goto xgetx;
      3X  94647             }
      3X  94648 #ifdef PIPESEND
      3X  94649             else if (rcvfilter) {
      3X  94650                 printf("?Sorry, no PUT /COMMAND when SEND FILTER selected\n");
      3X  94651                 x = -9;
      3X  94652                 goto xgetx;
      3X  94653             }
      3X  94654 #endif /* PIPESEND */
      3X  94655             sw.hlpmsg = "Command, or switch"; /* Change help message */
      3X  94656             pv[n].ival = 1;             /* Just set the flag */
      3X  94657             pv[SND_ARR].ival = 0;
      3X  94658             break;
      3X  94659 #endif /* PUTPIPE */
      3	  94660 
      3	  94661           case SND_SHH:                 /* /QUIET */
       E	                8
      3	  94662           case SND_RES:                 /* /RECOVER (reget) */
       E	                14
      3	  94663           case SND_NOB:                 /* /NOBACKUPFILES */
       E	                28
      3	  94664           case SND_DEL:                 /* /DELETE */
       E	                1
      3	  94665           case SND_UPD:                 /* /UPDATE */
       E	                38
      3	  94666           case SND_USN:                 /* /UNIQUE */
       E	                15
      3	  94667           case SND_NOD:                 /* /NODOTFILES */
       E	                30
      3	  94668           case SND_REC:                 /* /RECOVER */
       E	                9
      3	  94669           case SND_MAI:                 /* /TO-SCREEN */
       E	                4

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1784
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  94670             pv[n].ival = 1;             /* Just set the flag */
      3	  94671             break;
      3	  94672 
      3	  94673           case SND_DIF:                 /* /DATES-DIFFER */
       E	                45
      3	  94674 	    pv[SND_COL].ival = XYFX_M;	/* Now it's a collision option */
       E	         39
       E	                         7
      3	  94675 	    pv[n].ival = 1;
      3	  94676 	    break;
      3	  94677 
      3	  94678           case SND_COL:                 /* /COLLISION: */
       E	                39
      3	  94679             if ((x = cmkey(ftpcolxtab,nftpcolx,"","",xxstring)) < 0)
      3	  94680               goto xgetx;
      3	  94681 	    if (x == XYFX_M)
       E	               7
      3	  94682 	      pv[SND_DIF].ival = 1;	/* (phase this out) */
       E	           45
      3	  94683 	    pv[n].ival = x;		/* this should be sufficient */
      3	  94684             break;
      3	  94685 
      3	  94686           case SND_ERR:                 /* /ERROR-ACTION */
       E	                35
      3	  94687             if ((x = cmkey(qorp,2,"","",xxstring)) < 0)
      3	  94688               goto xgetx;
      3	  94689             pv[n].ival = x;
      3	  94690             break;
      3	  94691 
      3	  94692           case SND_EXC:                 /* Exception list */
       E	                2
      3	  94693             if (!getval) break;
      4	  94694             if ((x = cmfld("Pattern","",&s,xxstring)) < 0) {
      5	  94695                 if (x == -3) {
      5	  94696                     printf("?Pattern required\n");
      5	  94697                     x = -9;
      4	  94698                 }
      4	  94699                 goto xgetx;
      3	  94700             }
      3	  94701             if (s) if (!*s) s = NULL;
       E	                                 ( ( void * ) 0 )
      3	  94702             makestr(&(pv[n].sval),s);
      3	  94703             if (pv[n].sval)
      3	  94704               pv[n].ival = 1;
      3	  94705             break;
      3	  94706 
      3X  94707 #ifdef PIPESEND
      3X  94708           case SND_FLT:
      3X  94709             debug(F101,"ftp get /filter getval","",getval);
      3X  94710             if (!getval) break;
      3X  94711             if ((x = cmfld("Filter program to send through","",&s,NULL)) < 0) {
      3X  94712                 if (x == -3)
      3X  94713                   s = "";
      3X  94714                 else
      3X  94715                   goto xgetx;
      3X  94716             }
      3X  94717             s = brstrip(s);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1785
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3X  94718             if (pv[SND_MAI].ival < 1) {
      3X  94719                 y = strlen(s);
      3X  94720                 /* Make sure they included "\v(...)" */
      3X  94721                 for (x = 0; x < y; x++) {
      3X  94722                     if (s[x] != '\\') continue;
      3X  94723                     if (s[x+1] == 'v') break;
      3X  94724                 }
      3X  94725                 if (x == y) {
      3X  94726                     printf(
      3X  94727                 "?Filter must contain a replacement variable for filename.\n"
      3X  94728                            );
      3X  94729                     x = -9;
      3X  94730                     goto xgetx;
      3X  94731                 }
      3X  94732             }
      3X  94733             if (*s) {
      3X  94734                 pv[n].ival = 1;
      3X  94735                 makestr(&(pv[n].sval),s);
      3X  94736             } else {
      3X  94737                 pv[n].ival = 0;
      3X  94738                 makestr(&(pv[n].sval),NULL);
      3X  94739             }
      3X  94740             break;
      3X  94741 #endif /* PIPESEND */
      3	  94742 
      3	  94743           case SND_NAM:
       E	                23
      3	  94744             if (!getval) break;
      3	  94745             if ((x = cmkey(fntab,nfntab,"","automatic",xxstring)) < 0)
      3	  94746               goto xgetx;
      3	  94747             debug(F101,"ftp get /filenames","",x);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp get /filenames" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) 
       E	)
      3	  94748             pv[n].ival = x;
      3	  94749             break;
      3	  94750 
      3	  94751           case SND_SMA:                 /* Smaller / larger than */
       E	                10
      4	  94752           case SND_LAR: {
       E	                3
      4	  94753 	      CK_OFF_T y;
       E	        off_t
      4	  94754 	      if (!getval) break;
      4	  94755 	      if ((x = cmnumw("Size in bytes","0",10,&y,xxstring)) < 0)
      4	  94756 		goto xgetx;
      4	  94757 	      pv[n].wval = y;
      4	  94758 	      break;
      3	  94759 	  }
      3	  94760           case SND_FIL:                 /* Name of file containing filnames */
       E	                27
      3	  94761             if (!getval) break;
      3	  94762             if ((x = cmifi("Name of file containing list of filenames",
      4	  94763                                "",&s,&y,xxstring)) < 0) {
      5	  94764                 if (x == -3) {
      5	  94765                     printf("?Filename required\n");
      5	  94766                     x = -9;
      4	  94767                 }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1786
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  94768                 goto xgetx;
      4	  94769             } else if (y && iswild(s)) {
      4	  94770                 printf("?Wildcards not allowed BBB\n");
      4	  94771                 x = -9;
      4	  94772                 goto xgetx;
      3	  94773             }
      3	  94774             if (s) if (!*s) s = NULL;
       E	                                 ( ( void * ) 0 )
      3	  94775             makestr(&(pv[n].sval),s);
      3	  94776             if (pv[n].sval)
      3	  94777               pv[n].ival = 1;
      3	  94778             break;
      3	  94779 
      3	  94780           case SND_MOV:                 /* MOVE after */
       E	                24
      3	  94781           case SND_REN:                 /* RENAME after */
       E	                25
      4	  94782           case SND_SRN: {               /* SERVER-RENAME */
       E	                41
      4	  94783               char * m = "";
      5	  94784               switch (n) {
      5	  94785                 case SND_MOV:
       E	                      24
      5	  94786                   m =
      5	  94787                    "Device and/or directory for incoming file after reception";
      5	  94788                   break;
      5	  94789                 case SND_REN:
       E	                      25
      5	  94790                   m = "New name for incoming file after reception";
      5	  94791                   break;
      5	  94792                 case SND_SRN:
       E	                      41
      5	  94793                   m = "New name for source file on server after reception";
      5	  94794                   break;
      4	  94795               }
      4	  94796               if (!getval) break;
      5	  94797               if ((x = cmfld(m, "", &s, n == SND_MOV ? xxstring : NULL)) < 0) {
       E	                                              24
       E	                                                                   ( ( void * ) 0 )
      6	  94798                   if (x == -3) {
      6	  94799                       printf("%s\n", n == SND_MOV ?
       E	                                           24
      6	  94800                              "?Destination required" :
      6	  94801                              "?New name required"
      6	  94802                              );
      6	  94803                       x = -9;
      5	  94804                   }
      5	  94805                   goto xgetx;
      4	  94806               }
      4	  94807               makestr(&(pv[n].sval),*s ? brstrip(s) : NULL);
       E	                                                       ( ( void * ) 0 )
      4	  94808               pv[n].ival = (pv[n].sval) ? 1 : 0;
      4	  94809               break;
      3	  94810           }
      3	  94811 #ifndef NOCSETS
      3	  94812           case SND_CSL:                 /* Local character set */
       E	                36

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1787
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  94813           case SND_CSR:                 /* Remote (server) charset */
       E	                37
      3	  94814             if ((x = cmkey(fcstab,nfilc,"","",xxstring)) < 0)
      3	  94815               return((x == -3) ? -2 : x);
      3	  94816             if (n == SND_CSL)
       E	                      36
      3	  94817               x_csl = x;
      3	  94818             else
      3	  94819               x_csr = x;
      3	  94820             x_xla = 1;                  /* Overrides global OFF setting */
      3	  94821             break;
      3	  94822 
      3	  94823           case SND_XPA:                 /* Transparent */
       E	                33
      3	  94824             x_xla =  0;
      3	  94825             x_csr = -1;
      3	  94826             x_csl = -1;
      3	  94827             break;
      3	  94828 #endif /* NOCSETS */
      3	  94829 
      3	  94830           case SND_NML:
       E	                40
      3	  94831             if ((x = cmofi("Local filename","-",&s,xxstring)) < 0)
      3	  94832               goto xgetx;
      3	  94833             makestr(&ftp_nml,s);
      3	  94834             break;
      3	  94835 
      3	  94836 	  case SND_PAT:			/* /PATTERN: */
       E	         46
      3	  94837 	    if (!getval) break;
      3	  94838 	    if ((x = cmfld("Pattern","*", &s, xxstring)) < 0)
      3	  94839 	      goto xgetx;
      3	  94840 	    makestr(&(pv[n].sval),*s ? brstrip(s) : NULL);
       E	                                              ( ( void * ) 0 )
      3	  94841 	    pv[n].ival = (pv[n].sval) ? 1 : 0;
      3	  94842 	    break;
      3	  94843 
      3	  94844 	  case SND_NLS:			/* /NLST */
       E	         47
      3	  94845             pv[n].ival = 1;		/* Use NLST */
      3	  94846 	    pv[SND_MLS].ival = 0;	/* Don't use MLSD */
       E	         48
      3	  94847 	    break;
      3	  94848 
      3	  94849 	  case SND_MLS:			/* /MLSD */
       E	         48
      3	  94850             pv[n].ival = 1;		/* Use MLSD */
      3	  94851 	    pv[SND_NLS].ival = 0;	/* Don't use NLST */
       E	         47
      3	  94852 	    break;
      3	  94853 
      3	  94854           default:                      /* /AFTER, /PERMISSIONS, etc... */
      3	  94855             printf("?Sorry, \"%s\" works only with [M]PUT\n",atmbuf);
      3	  94856             x = -9;
      3	  94857             goto xgetx;
      2	  94858         }
      1	  94859     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1788
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  94860     line[0] = NUL;
       E	               '\0'
      1	  94861     cmarg = line;
      1	  94862     cmarg2 = asnambuf;
      1	  94863     s = line;
      1	  94864 /*
      1	  94865   For GET, we want to parse an optional as-name, like with PUT.
      1	  94866   For MGET, we must parse a list of names, and then send NLST or MLSD
      1	  94867   commands for each name separately.
      1	  94868 */
      2	  94869     switch (cmresult.fcode) {           /* How did we get out of switch loop */
      2	  94870       case _CMFLD:                      /* Field */
       E	            3
      3	  94871         if (!getone) {
      3	  94872             s = brstrip(cmresult.sresult);
      3	  94873             makestr(&(mgetlist[mgetn++]),s);
      4	  94874             while ((x = cmfld("Remote filename","",&s,xxstring)) != -3) {
      4	  94875                 if (x < 0)
      4	  94876                   goto xgetx;
      4	  94877                 makestr(&(mgetlist[mgetn++]),brstrip(s));
      5	  94878                 if (mgetn >= MGETMAX) {
       E	                              1000
      5	  94879                     printf("?Too many items in MGET list\n");
      5	  94880                     goto xgetx;
      4	  94881                 }
      3	  94882             }
      3	  94883             if ((x = cmcfm()) < 0)
      3	  94884               goto xgetx;
      3	  94885         } else {
      3	  94886             s = brstrip(cmresult.sresult);
      3	  94887             ckstrncpy(line,s,LINBUFSIZ);
       E	                              ( 32763 + 10 )
      3	  94888             if ((x = cmfld("Name to store it under","",&s,xxstring)) < 0)
      3	  94889               if (x != -3)
      3	  94890                 goto xgetx;
      3	  94891             s = brstrip(s);
      3	  94892             ckstrncpy(asnambuf,s,CKMAXPATH+1);
       E	                                  4095
      3	  94893             if ((x = cmcfm()) < 0)
      3	  94894               goto xgetx;
      2	  94895         }
      2	  94896         break;
      2	  94897       case _CMCFM:                      /* Confirmation */
       E	            6
      2	  94898         break;
      2	  94899       default:
      2	  94900         printf("?Unexpected function code: %d\n",cmresult.fcode);
      2	  94901         x = -9;
      2	  94902         goto xgetx;
      1	  94903     }
      1	  94904     if (pv[SND_REC].ival > 0)           /* /RECURSIVE */
       E	            9
      1	  94905       recursive = 2;
      1	  94906 
      2	  94907     if (pv[SND_BIN].ival > 0) {         /* /BINARY really means binary... */
       E	            0
      2	  94908         forcetype = 1;                  /* So skip the name-pattern match */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1789
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  94909         ftp_typ = XYFT_B;               /* Set binary */
       E	                   1
      2	  94910     } else if (pv[SND_TXT].ival > 0) {  /* Similarly for /TEXT... */
       E	                   12
      2	  94911         forcetype = 1;
      2	  94912         ftp_typ = XYFT_T;
       E	                   0
      2	  94913     } else if (pv[SND_TEN].ival > 0) {  /* and /TENEX*/
       E	                   26
      2	  94914         forcetype = 1;
      2	  94915         ftp_typ = FTT_TEN;
       E	                   6
      2	  94916     } else if (ftp_cmdlin && ftp_xfermode == XMODE_M) {
       E	                                              1
      2	  94917         forcetype = 1;
      2	  94918         ftp_typ = binary;
      2	  94919         g_ftp_typ = binary;
      1	  94920     }
      2	  94921     if (pv[SND_ASN].ival > 0 && pv[SND_ASN].sval && !asnambuf[0]) {
       E	            16
       E	                                    16
      2	  94922         char * p;
      2	  94923         p = brstrip(pv[SND_ASN].sval);  /* As-name */
       E	                        16
      2	  94924         ckstrncpy(asnambuf,p,CKMAXPATH+1);
       E	                              4095
      1	  94925     }
      1	  94926     debug(F110,"ftp get asnambuf",asnambuf,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp get asnambuf" , ( char * ) ( asnambuf ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  94927 
      1X  94928 #ifdef PIPESEND
      1X  94929     if (pv[SND_CMD].ival > 0) {         /* /COMMAND - strip any braces */
      1X  94930         char * p;
      1X  94931         p = asnambuf;
      1X  94932         debug(F110,"GET /COMMAND before stripping",p,0);
      1X  94933         p = brstrip(p);
      1X  94934         debug(F110,"GET /COMMAND after stripping",p,0);
      1X  94935         if (!*p) {
      1X  94936             printf("?Sorry, a command to write to is required\n");
      1X  94937             x = -9;
      1X  94938             goto xgetx;
      1X  94939         }
      1X  94940         pipename = p;
      1X  94941         pipesend = 1;
      1X  94942     }
      1X  94943 #endif /* PIPESEND */
      1	  94944 
      1	  94945 /* Set up /MOVE and /RENAME */
      1	  94946 
      1X  94947 #ifdef COMMENT
      1X  94948     /* Conflict exists only for PUT - removed 13 Mar 2006 - fdc */
      1X  94949     if (pv[SND_DEL].ival > 0 &&
      1X  94950         (pv[SND_MOV].ival > 0 || pv[SND_REN].ival > 0)) {
      1X  94951         printf("?Sorry, /DELETE conflicts with /MOVE or /RENAME\n");
      1X  94952         x = -9;
      1X  94953         goto xgetx;
      1X  94954     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1790
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  94955 #endif	/* COMMENT */
      1	  94956 #ifdef CK_TMPDIR
      2	  94957     if (pv[SND_MOV].ival > 0 && pv[SND_MOV].sval) {
       E	            24
       E	                                    24
      2	  94958         int len;
      2	  94959         char * p = pv[SND_MOV].sval;
       E	                       24
      2	  94960         len = strlen(p);
       E	               __STRLEN ( p )
      3	  94961         if (!isdir(p)) {                /* Check directory */
      3	  94962 #ifdef CK_MKDIR
      3	  94963             char * s = NULL;
       E	                        ( ( void * ) 0 )
      3	  94964             s = (char *)malloc(len + 4);
      4	  94965             if (s) {
      4	  94966                 strcpy(s,p);            /* safe */
       E	                 __STRCPY ( s , p )
      4X  94967 #ifdef datageneral
      4X  94968                 if (s[len-1] != ':') { s[len++] = ':'; s[len] = NUL; }
      4X  94969 #else
      4	  94970                 if (s[len-1] != '/') { s[len++] = '/'; s[len] = NUL; }
       E	                                                                 '\0'
      4	  94971 #endif /* datageneral */
      4	  94972                 s[len++] = 'X';
      4	  94973                 s[len] = NUL;
       E	                          '\0'
      4X  94974 #ifdef NOMKDIR
      4X  94975                 x = -1;
      4X  94976 #else
      4	  94977                 x = zmkdir(s);
      4	  94978 #endif /* NOMKDIR */
      4	  94979                 free(s);
      5	  94980                 if (x < 0) {
      5	  94981                     printf("?Can't create \"%s\"\n",p);
      5	  94982                     x = -9;
      5	  94983                     goto xgetx;
      4	  94984                 }
      3	  94985             }
      3X  94986 #else
      3X  94987             printf("?Directory \"%s\" not found\n",p);
      3X  94988             x = -9;
      3X  94989             goto xgetx;
      3X  94990 #endif /* CK_MKDIR */
      2	  94991         }
      2	  94992         makestr(&rcv_move,p);
      2	  94993         moving = 1;
      1	  94994     }
      1	  94995 #endif /* CK_TMPDIR */
      1	  94996 
      2	  94997     if (pv[SND_REN].ival > 0) {         /* /RENAME */
       E	            25
      2	  94998         char * p = pv[SND_REN].sval;
       E	                       25
      2	  94999         if (!p) p = "";
      3	  95000         if (!*p) {
      3	  95001             printf("?New name required for /RENAME\n");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1791
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  95002             x = -9;
      3	  95003             goto xgetx;
      2	  95004         }
      2	  95005         p = brstrip(p);
      2	  95006 #ifndef NOSPL
      2	  95007     /* If name given is wild, rename string must contain variables */
      3	  95008         if (mget && !getone) {
      3	  95009             char * s = tmpbuf;
      3	  95010             x = TMPBUFSIZ;
       E	                 ( 32763 + 10 )
      3	  95011             zzstring(p,&s,&x);
      4	  95012             if (!strcmp(tmpbuf,p)) {
      4	  95013                 printf(
      4	  95014     "?/RENAME for file group must contain variables such as \\v(filename)\n"
      4	  95015                        );
      4	  95016                 x = -9;
      4	  95017                 goto xgetx;
      3	  95018             }
      2	  95019         }
      2	  95020 #endif /* NOSPL */
      2	  95021         renaming = 1;
      2	  95022         makestr(&rcv_rename,p);
      2	  95023         debug(F110,"FTP rcv_rename",rcv_rename,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "FTP rcv_rename" , ( char * ) ( rcv_rename ) , ( off_t ) ( 0 ) ) : 0 ) 
       E	)
      1	  95024     }
      2	  95025     if (!cmarg[0] && mgetn == 0 && getone && pv[SND_FIL].ival < 1) {
       E	                                                 27
      2	  95026         printf("?Filename required but not given\n");
      2	  95027         x = -9;
      2	  95028         goto xgetx;
      2	  95029     } else if ((cmarg[0] || mgetn > 0) && pv[SND_FIL].ival > 0) {
       E	                                              27
      2	  95030         printf("?You can't give both /LISTFILE and a remote filename\n");
      2	  95031         x = -9;
      2	  95032         goto xgetx;
      1	  95033     }
      1	  95034     CHECKCONN();                        /* Check connection */
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  95035 
      1	  95036     if (pv[SND_COL].ival > -1)
       E	            39
      1	  95037       x_fnc = pv[SND_COL].ival;
       E	                  39
      1	  95038 
      1	  95039 #ifndef NOSPL
      1	  95040     /* If as-name given for MGET, as-name must contain variables */
      2	  95041     if (mget && !getone && asnambuf[0] && x_fnc != XYFX_A) {
       E	                                                    3
      2	  95042         char * s = tmpbuf;
      2	  95043         x = TMPBUFSIZ;
       E	             ( 32763 + 10 )
      2	  95044         zzstring(asnambuf,&s,&x);
      3	  95045         if (!strcmp(tmpbuf,asnambuf)) {
      3	  95046             printf(
      3	  95047     "?As-name for MGET must contain variables such as \\v(filename)\n"
      3	  95048                    );

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1792
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  95049             x = -9;
      3	  95050             goto xgetx;
      2	  95051         }
      1	  95052     }
      1	  95053 #endif /* NOSPL */
      1	  95054 
      1	  95055 /* doget: */
      1	  95056 
      2	  95057     if (pv[SND_SHH].ival > 0 || ftp_nml) { /* GET /QUIET... */
       E	            8
      2	  95058         fdispla = 0;
      2	  95059     } else {
      2	  95060         displa = 1;
      2	  95061         if (mdel || ftp_deb)
      2	  95062 	  fdispla = XYFD_B;
       E	              4
      1	  95063     }
      1	  95064     deleting = 0;
      1	  95065     if (pv[SND_DEL].ival > 0)           /* /DELETE was specified */
       E	            1
      1	  95066       deleting = 1;
      1	  95067     if (pv[SND_EXC].ival > 0)
       E	            2
      1	  95068       makelist(pv[SND_EXC].sval,rcvexcept,NSNDEXCEPT);
       E	                   2
       E	                                           64
      1	  95069     if (pv[SND_SMA].wval > -1)
       E	            10
      1	  95070       getsmaller = pv[SND_SMA].wval;
       E	                       10
      1	  95071     if (pv[SND_LAR].wval > -1)
       E	            3
      1	  95072       getlarger = pv[SND_LAR].wval;
       E	                      3
      1	  95073     if (pv[SND_NAM].ival > -1)
       E	            23
      1	  95074       x_cnv = pv[SND_NAM].ival;
       E	                  23
      1	  95075     if (pv[SND_ERR].ival > -1)
       E	            35
      1	  95076       geterror = pv[SND_ERR].ival;
       E	                     35
      1	  95077     if (pv[SND_MAI].ival > -1)
       E	            4
      1	  95078       toscreen = 1;
      1	  95079 
      2	  95080     if (pv[SND_NLS].ival > 0) {		/* Force NLST or MLSD? */
       E	            47
      2	  95081 	mgetmethod = SND_NLS;
       E	               47
      2	  95082 	mgetforced = 1;
      2	  95083     } else if (pv[SND_MLS].ival > 0) {
       E	                   48
      2	  95084 	mgetmethod = SND_MLS;
       E	               48
      2	  95085 	mgetforced = 1;
      1	  95086     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1793
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  95087 
      1	  95088 #ifdef FTP_RESTART
      2	  95089     if (pv[SND_RES].ival > 0) {
       E	            14
      3	  95090         if (!ftp_typ) {
      3	  95091             printf("?Sorry, GET /RECOVER requires binary mode\n");
      3	  95092             x = -9;
      3	  95093             goto xgetx;
      3X  95094 #ifdef COMMENT
      3X  95095         /* Not true - the fact that the initial REST fails does not mean */
      3X  95096         /* it will fail here.  */
      3X  95097         } else if (!okrestart) {
      3X  95098             printf("WARNING: Server might not support restart...\n");
      3X  95099 #endif /* COMMENT */
      2	  95100         }
      2	  95101         restart = 1;
      1	  95102     }
      1	  95103 #endif /* FTP_RESTART */
      1	  95104 
      1X  95105 #ifdef PIPESEND
      1X  95106     if (pv[SND_FLT].ival > 0) {         /* Have SEND FILTER? */
      1X  95107         if (pipesend) {
      1X  95108             printf("?Switch conflict: /FILTER and /COMMAND\n");
      1X  95109             x = -9;
      1X  95110             goto xgetx;
      1X  95111         }
      1X  95112         makestr(&rcvfilter,pv[SND_FLT].sval);
      1X  95113         debug(F110,"ftp get /FILTER", rcvfilter, 0);
      1X  95114     }
      1X  95115     if (rcvfilter || pipesend) {        /* /RESTART */
      1X  95116 #ifdef FTP_RESTART
      1X  95117         if (restart) {                  /* with pipes or filters */
      1X  95118             printf("?Switch conflict: /FILTER or /COMMAND and /RECOVER\n");
      1X  95119             x = -9;
      1X  95120             goto xgetx;
      1X  95121         }
      1X  95122 #endif /* FTP_RESTART */
      1X  95123         if (pv[SND_UPD].ival > 0 || x_fnc == XYFX_M || x_fnc == XYFX_U) {
      1X  95124             printf(
      1X  95125 		"?Switch conflict: /FILTER or /COMMAND and Date Checking\n");
      1X  95126             x = -9;
      1X  95127             goto xgetx;
      1X  95128         }
      1X  95129     }
      1X  95130 #endif /* PIPESEND */
      1	  95131 
      1	  95132     tfc = (CK_OFF_T)0;			/* Initialize stats and counters */
       E	            off_t
      1	  95133     filcnt = 0;
      1	  95134     pktnum = 0;
      1	  95135     rpackets = 0L;
      1	  95136 
      2	  95137     if (pv[SND_FIL].ival > 0) {
       E	            27
      3	  95138         if (zopeni(ZMFILE,pv[SND_FIL].sval) < 1) {
       E	                    11
       E	                              27

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1794
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  95139             debug(F111,"ftp get can't open listfile",pv[SND_FIL].sval,errno);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp get can't open listfile" , ( char * ) ( pv [ 27 ] . sval ) , (
       E	 off_t ) ( ( * CMA$TIS_ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      3	  95140             printf("?Failure to open listfile - \"%s\"\n",pv[SND_FIL].sval);
       E	                                                              27
      3	  95141             x = -9;
      3	  95142             goto xgetx;
      2	  95143         }
      3	  95144         if (zsinl(ZMFILE,tmpbuf,CKMAXPATH) < 0) { /* Read a line */
       E	                   11
       E	                                 4095
      3	  95145             zclose(ZMFILE);                       /* Failed */
       E	                    11
      3	  95146             debug(F110,"ftp get listfile EOF",pv[SND_FIL].sval,0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "ftp get listfile EOF" , ( char * ) ( pv [ 27 ] . sval ) , ( off_t 
       E	) ( 0 ) ) : 0 ) )
      3	  95147             printf("?Empty listfile - \"%s\"\n",pv[SND_FIL].sval);
       E	                                                    27
      3	  95148             x = -9;
      3	  95149             goto xgetx;
      2	  95150         }
      2	  95151         listfile = 1;
      2	  95152         debug(F110,"ftp get listfile first",tmpbuf,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp get listfile first" , ( char * ) ( tmpbuf ) , ( off_t ) ( 0 ) ) : 
       E	0 ) )
      2	  95153         makestr(&(mgetlist[0]),tmpbuf);
      1	  95154     }
      1	  95155     t0 = gmstimer();                    /* Record starting time */
      1	  95156 
      1	  95157     updating = 0;			/* Checking dates? */
      1	  95158     if (pv[SND_UPD].ival > 0 || (!mdel && x_fnc == XYFX_U))
       E	            38
       E	                                                    6
      1	  95159       updating = 1;
      1	  95160     if (pv[SND_DIF].ival > 0 || x_fnc == XYFX_M)
       E	            45
       E	                                          7
      1	  95161       updating = 2;
      1	  95162     if (updating)			/* These switches force FTP DATES ON */
      1	  95163       ftp_dates |= 2;
      1	  95164 
      1	  95165     what = mdel ? W_FTP|W_FT_DELE : W_RECV|W_FTP; /* What we're doing */
       E	                   128
       E	                         64
       E	                                     4
       E	                                            128
      1	  95166 
      1	  95167     cancelgroup = 0;                    /* Group not canceled yet */
      1	  95168     if (!(ftp_xfermode == XMODE_A && patterns && get_auto && !forcetype))
       E	                           0
      1	  95169       changetype(ftp_typ,0);		/* Change to requested type */
      1	  95170     binary = ftp_typ;                   /* For file-transfer display */
      1	  95171     first = 1;                          /* For MGET list */
      1	  95172     done = 0;                           /* Loop control */
      1	  95173 
      1	  95174 #ifdef CK_TMPDIR
      2	  95175     if (dldir && !f_tmpdir) {           /* If they have a download directory */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1795
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  95176         if ((s = zgtdir())) {           /* Get current directory */
      4	  95177             if (zchdir(dldir)) {        /* Change to download directory */
      4	  95178                 ckstrncpy(savdir,s,TMPDIRLEN);
       E	                                    256
      4	  95179                 f_tmpdir = 1;           /* Remember that we did this */
      3	  95180             }
      2	  95181         }
      1	  95182     }
      1	  95183 #endif /* CK_TMPDIR */
      1	  95184 
      2	  95185     if (ftp_nml) {                      /* /NAMELIST */
      2	  95186         debug(F110,"ftp GET ftp_nml",ftp_nml,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp GET ftp_nml" , ( char * ) ( ftp_nml ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  95187         if (ftp_nml[0] == '-' && ftp_nml[1] == 0)
      2	  95188           fp_nml = stdout;
       E	                    ( decc$ga_stdout )
      2	  95189         else
      2	  95190           fp_nml = fopen(ftp_nml, "wb");
      3	  95191         if (!fp_nml) {
      3	  95192             printf("?%s: %s\n",ftp_nml,ck_errstr());
      3	  95193             goto xgetx;
      2	  95194         }
      1	  95195     }
      2	  95196     while (!done && !cancelgroup) {     /* Loop for all files */
      2	  95197                                         /* or until canceled. */
      2X  95198 #ifdef FTP_PROXY
      2X  95199         /* do something here if proxy */
      2X  95200 #endif /* FTP_PROXY */
      2	  95201 
      2	  95202         rs_len = (CK_OFF_T)0;		/* REGET position */
       E	                   off_t
      2	  95203         cancelfile = 0;                 /* This file not canceled yet */
      2	  95204         haspath = 0;                    /* Recalculate this each time thru */
      2	  95205 
      3	  95206         if (getone) {                   /* GET */
      3	  95207             char * p;
      3	  95208             s = line;
      3	  95209             src = line;                 /* Server name */
      3	  95210             done = 1;
      3	  95211             debug(F111,"ftp get file",s,0);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp get file" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  95212         } else if (mget) {              /* MGET */
      3	  95213             src = mgetlist[mgetx];
      3	  95214             debug(F111,"ftp mget remote_files A",src,first);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp mget remote_files A" , ( char * ) ( src ) , ( off_t ) ( first 
       E	) ) : 0 ) )
      3	  95215             s = (char *)remote_files(first,
      3	  95216 				     (CHAR *)mgetlist[mgetx],
       E	           unsigned char
      3	  95217 				     (CHAR *)pv[SND_PAT].sval,
       E	           unsigned char
       E	                     46
      3	  95218 				     0
      3	  95219 				     );
      3	  95220             debug(F110,"ftp mget remote_files B",s,0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "ftp mget remote_files B" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 
       E	0 ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1796
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  95221             if (!s) s = "";
      4	  95222             if (!*s) {
      4	  95223                 first = 1;
      5	  95224                 if (listfile) {		/* Names from listfile */
      5	  95225                   again:
      5	  95226                     tmpbuf[0] = NUL;
       E	                                 '\0'
      6	  95227                     while (!tmpbuf[0]) {
      7	  95228                         if (zsinl(ZMFILE,tmpbuf,CKMAXPATH) < 0) {
       E	                                   11
       E	                                                 4095
      7	  95229                             zclose(ZMFILE);
       E	                                    11
      7	  95230                             debug(F110,"ftp get listfile EOF",
       E	                             ( ( void ) ( deblog ? dodebug ( 6 , "ftp get listfile EOF" , ( char * ) ( pv [ 27 ] . s
       E	val ) , ( off_t ) ( 0 ) ) : 0 ) )
      7	  95231                                   pv[SND_FIL].sval,0);
      7	  95232                             makestr(&(mgetlist[0]),NULL);
       E	                                                    ( ( void * ) 0 )
      7	  95233                             s = NULL;
       E	                                 ( ( void * ) 0 )
      7	  95234                             done = 1;
      7	  95235                             break;
      6	  95236                         }
      5	  95237                     }
      5	  95238                     if (done)
      5	  95239                       continue;
      5	  95240 
      5	  95241                     makestr(&(mgetlist[0]),tmpbuf);
      5	  95242 		    debug(F110,"ftp get listfile next",tmpbuf,0);
       E	       ( ( void ) ( deblog ? dodebug ( 6 , "ftp get listfile next" , ( char * ) ( tmpbuf ) , ( off_t ) ( 0 ) ) : 0 )
       E	 )
      5	  95243                     s = (char *)remote_files(first,
      5	  95244 					     (CHAR *)mgetlist[0],
       E	            unsigned char
      5	  95245 					     (CHAR *)pv[SND_PAT].sval,
       E	            unsigned char
       E	                      46
      5	  95246 					     0
      5	  95247 					     );
      5	  95248 		    debug(F110,"ftp mget remote_files C",s,0);
       E	       ( ( void ) ( deblog ? dodebug ( 6 , "ftp mget remote_files C" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      6	  95249                     if (!s) {
      6	  95250                         ftscreen(SCR_FN,'F',(CK_OFF_T)0,s);
       E	                                  1
       E	                                              off_t
      6	  95251                         ftscreen(SCR_ST,ST_MSG,(CK_OFF_T)0,"File not found");
       E	                                  5
       E	                                         7
       E	                                                 off_t
      6	  95252                         tlog(F110,"ftp get file not found:",s,0);
       E	                         if ( tralog && tlogfmt ) dotlog ( 6 , "ftp get file not found:" , s , ( off_t ) 0 )
      6	  95253                         goto again;
      5	  95254                     }
      5	  95255                 } else {		/* Names from command line */
      5	  95256                     mgetx++;
      5	  95257                     if (mgetx < mgetn)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1797
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	  95258 		      s = (char *)remote_files(first,
      5	  95259 					       (CHAR *)mgetlist[mgetx],
       E	              unsigned char
      5	  95260 					       (CHAR *)pv[SND_PAT].sval,
       E	              unsigned char
       E	                        46
      5	  95261 					       0
      5	  95262 					       );
      5	  95263                     else
      5	  95264 		      s = NULL;
       E	             ( ( void * ) 0 )
      5	  95265 		    if (!s) mgetx++;
      5	  95266 		    debug(F111,"ftp mget remote_files D",s,mgetx);
       E	       ( ( void ) ( deblog ? dodebug ( 7 , "ftp mget remote_files D" , ( char * ) ( s ) , ( off_t ) ( mgetx ) ) : 0 
       E	) )
      4	  95267                 }
      5	  95268                 if (!s) {
      6	  95269 		    if (!first || mgetx >= mgetn) {
      6	  95270 			done = 1;
      6	  95271 			break;
      6	  95272 		    } else if (geterror) {
      6	  95273 			status = 0;
      6	  95274 			done = 1;
      6	  95275 			break;
      6	  95276 		    } else {
      6	  95277 			continue;
      5	  95278 		    }
      4	  95279                 }
      3	  95280             }
      2	  95281         }
      2	  95282 	debug(F111,"ftp mget remote_files E",s,0);
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "ftp mget remote_files E" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  95283         /*
      2	  95284           The semantics of NLST are ill-defined.  Suppose we have just sent
      2	  95285           NLST /path/[a-z]*.  Most servers send back names like /path/foo,
      2	  95286           /path/bar, etc.  But some send back only foo and bar, and subsequent
      2	  95287           RETR commands based on the pathless names are not going to work.
      2	  95288         */
      3	  95289         if (servertype == SYS_UNIX && !ckstrchr(s,'/')) {
       E	                           1
      3	  95290             char * s3;
      4	  95291             if ((s3 = ckstrrchr(mgetlist[mgetx],'/'))) {
      4	  95292                 int len, left = 4096;
      4	  95293                 char * tmp = xtmpbuf;
      4	  95294                 len = s3 - mgetlist[mgetx] + 1;
      4	  95295                 ckstrncpy(tmp,mgetlist[mgetx],left);
      4	  95296                 tmp += len;
      4	  95297                 left -= len;
      4	  95298                 ckstrncpy(tmp,s,left);
      4	  95299                 s = xtmpbuf;
      4	  95300 		debug(F111,"ftp mget remote_files F",s,0);
       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp mget remote_files F" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  95301             }
      2	  95302         }
      2	  95303         first = 0;
      2	  95304         skipthis = 0;                   /* File selection... */
      2	  95305         msg = "";

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1798
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  95306         nam = s;                        /* Filename (without path) */
      2	  95307         rc = 0;                         /* Initial return code */
      2	  95308         s2 = "";
      2	  95309 
      3	  95310         if (!getone && !skipthis) {     /* For MGET and MDELETE... */
      3	  95311             char c, * p = s;
      3	  95312             int srvpath = 0;
      3	  95313             int usrpath = 0;
      3	  95314             int i, k = 0;
      3	  95315 
      3	  95316 	    debug(F111,"ftp mget havetype",s,havetype);
       E	      ( ( void ) ( deblog ? dodebug ( 7 , "ftp mget havetype" , ( char * ) ( s ) , ( off_t ) ( havetype ) ) : 0 ) )
      4	  95317 	    if (havetype > 0 && havetype != FTYP_FILE) {
       E	                                      1
      4	  95318 		/* Server says it's not file... */
      4	  95319 		debug(F110,"ftp mget not-a-file",s,0);
       E	   ( ( void ) ( deblog ? dodebug ( 6 , "ftp mget not-a-file" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      4	  95320 		continue;
      3	  95321 	    }
      3	  95322 /*
      3	  95323   Explanation: Some ftp servers (such as wu-ftpd) return a recursive list.
      3	  95324   But if the client did not ask for a recursive list, we have to ignore any
      3	  95325   server files that include a pathname that extends beyond any path that
      3	  95326   was included in the user's request.
      3	  95327 
      3	  95328   User's filespec is blah or path/blah (or other non-UNIX syntax).  We need to
      3	  95329   get the user's path segment.  Then, for each incoming file, if it begins
      3	  95330   with the same path segment, we must strip it (point past it).
      3	  95331 */
      3	  95332             src = mgetlist[mgetx];      /* In case it moved! */
      4	  95333 	    if (src) {
      5	  95334 		for (i = 0; src[i]; i++) { /* Find rightmost path separator */
      5	  95335 		    if (ispathsep(src[i])) /* in user's pathname */
      5	  95336 		      k = i + 1;
      4	  95337 		}
      4	  95338 	    } else {
      4	  95339 		src = "";
      3	  95340 	    }
      3	  95341             usrpath = k;                /* User path segment length */
      3	  95342             debug(F111,"ftp get usrpath",src,usrpath);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp get usrpath" , ( char * ) ( src ) , ( off_t ) ( usrpath ) ) : 
       E	0 ) )
      3	  95343 
      3	  95344             p = s;                      /* Server filename */
      4	  95345             while ((c = *p++)) {        /* Look for path in server filename */
      5	  95346                 if (ispathsep(c)) {
      5	  95347 		    /* haspath++; */
      5	  95348                     nam = p;            /* Pathless name (for ckmatch) */
      5	  95349                     srvpath = p - s;    /* Server path segment length */
      4	  95350                 }
      3	  95351             }
      3	  95352             debug(F111,"ftp get srvpath",s,srvpath);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp get srvpath" , ( char * ) ( s ) , ( off_t ) ( srvpath ) ) : 0 
       E	) )
      3	  95353 
      4	  95354 	    if (usrpath == 0) {
      4	  95355 /*

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1799
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  95356   Here we handle the case where the user said "mget foo" where foo is a
      4	  95357   directory name, and the server is sending back names like "foo/file1",
      4	  95358   "foo/file2", etc.  This is a nasty trick but it's necessary because the
      4	  95359   user can't compensate by typing "mget foo/" because then the server is
      4	  95360   likely to send back "foo//file1, foo//file2" etc, and we still won't
      4	  95361   get a match...
      4	  95362 */
      4	  95363 		int srclen = 0, srvlen = 0;
      4	  95364 		if (src) srclen = strlen(src);
       E	                     __STRLEN ( src )
      4	  95365 		if (s) srvlen = strlen(s);
       E	                   __STRLEN ( s )
      5	  95366 		if (src && (srvlen > srclen)) {
      6	  95367 		    if (!strncmp(src,s,srclen) && ispathsep(s[srclen])) {
      6	  95368 			char * tmpsrc = NULL;
       E	                    ( ( void * ) 0 )
      6	  95369 			tmpsrc = (char *)malloc(srclen + 2);
      6	  95370 			strncpy(tmpsrc,src,srclen);
      6	  95371 			tmpsrc[srclen] = s[srclen];
      6	  95372 			tmpsrc[srclen+1] = NUL;
       E	                       '\0'
      6	  95373 			free(mgetlist[mgetx]);
      6	  95374 			mgetlist[mgetx] = tmpsrc;
      6	  95375 			tmpsrc = NULL;
       E	             ( ( void * ) 0 )
      6	  95376 			src = mgetlist[mgetx];
      6	  95377 			usrpath = srclen+1;
      5	  95378 		    }			      
      4	  95379 		}
      3	  95380 	    }
      3	  95381 /*
      3	  95382   If as-name not given and server filename includes path that matches
      3	  95383   the pathname from the user's file specification, we must trim the common
      3	  95384   path prefix from the server's name when constructing the local name.
      3	  95385 */
      3	  95386             if (src &&			/* Wed Sep 25 17:27:48 2002 */
      3	  95387 		!asnambuf[0] &&
      3	  95388 		!recursive &&		/* Thu Sep 19 16:11:59 2002 */
      3	  95389 		(srvpath > 0) &&
      4	  95390 		!strncmp(src,s,usrpath)) {
      4	  95391                 s2 = s + usrpath;       /* Local name skips past remote path */
      3	  95392             }
      3X  95393 #ifdef COMMENT
      3X  95394 	    /* This doesn't work if the path prefix contains wildcards! */
      3X  95395 	    haspath = (srvpath > usrpath);
      3X  95396 #else
      4	  95397 	    {				/* Count path segments instead */
      4	  95398 		int x1 = 0, x2 = 0;
      4	  95399 		char *p;
      4	  95400 		for (p = s; *p; p++)
      4	  95401 		  if (ispathsep(*p)) x1++;
      5	  95402 		for (p = src; *p; p++) {
      5	  95403 		    if (ispathsep(*p)) x2++;
      4	  95404 		}
      4	  95405 		haspath = recursive ? x1 || x2 : x1 > x2;
      4	  95406 		debug(F111,"ftp get server path segments",s,x1);
       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp get server path segments" , ( char * ) ( s ) , ( off_t ) ( x1 ) ) : 0 ) 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1800
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	)
      4	  95407 		debug(F111,"ftp get user   path segments",src,x2);
       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp get user   path segments" , ( char * ) ( src ) , ( off_t ) ( x2 ) ) : 0 
       E	) )
      3	  95408 	    }
      3	  95409 
      3	  95410 #endif /* COMMENT */
      3	  95411             debug(F111,"ftp get haspath",s+usrpath,haspath);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp get haspath" , ( char * ) ( s + usrpath ) , ( off_t ) ( haspat
       E	h ) ) : 0 ) )
      3	  95412 
      4	  95413             if (haspath) {              /* Server file has path segments? */
      5	  95414                 if (!recursive) {       /* [M]GET /RECURSIVE? */
      5	  95415 /*
      5	  95416   We did not ask for a recursive listing, but the server is sending us one
      5	  95417   anyway (as wu-ftpd is wont to do).  We get here if the current filename
      5	  95418   includes a path segment beyond any path segment we asked for in our
      5	  95419   non-recursive [M]GET command.  We MUST skip this file.
      5	  95420 */
      5	  95421                     debug(F111,"ftp get skipping because of path",s,0);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get skipping because of path" , ( char * ) ( s ) , ( o
       E	ff_t ) ( 0 ) ) : 0 ) )
      5	  95422                     continue;
      4	  95423                 }
      3	  95424             }
      3	  95425         } else if (getone && !skipthis) { /* GET (not MGET) */
      3	  95426             char * p = nam;
      4	  95427 	    while ((c = *p++)) {	/* Handle path in local name */
      5	  95428 		if (ispathsep(c)) {
      6	  95429 		    if (recursive) {	/* If recursive, keep it */
      6	  95430 			haspath = 1;
      6	  95431 			break;
      6	  95432 		    } else {		/* Otherwise lose it. */
      6	  95433 		      nam = p;
      5	  95434 		    }
      4	  95435 		}
      3	  95436             }
      3	  95437             s2 = nam;
      2	  95438         }
      2	  95439         if (!*nam)                      /* Name without path */
      2	  95440           nam = s;
      2	  95441 
      3	  95442         if (!skipthis && pv[SND_NOD].ival > 0) { /* /NODOTFILES */
       E	                             30
      3	  95443             if (nam[0] == '.')
      3	  95444 	      continue;
      2	  95445         }
      3	  95446         if (!skipthis && rcvexcept[0]) { /* /EXCEPT: list */
      3	  95447 	    int xx;
      4	  95448             for (i = 0; i < NSNDEXCEPT; i++) {
       E	                             64
      5	  95449                 if (!rcvexcept[i]) {
      5	  95450                     break;
      4	  95451                 }
      4	  95452 		xx = ckmatch(rcvexcept[i], nam, servertype == SYS_UNIX, 1);
       E	                                                 1
      4	  95453 		debug(F111,"ftp mget /except match",rcvexcept[i],xx);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1801
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp mget /except match" , ( char * ) ( rcvexcept [ i ] ) , ( off_t ) ( xx ) 
       E	) : 0 ) )
      5	  95454                 if (xx) {
      5	  95455                     tlog(F100," refused: exception list","",0);
       E	                     if ( tralog && tlogfmt ) dotlog ( 4 , " refused: exception list" , "" , ( off_t ) 0 )
      5	  95456 		    msg = "Refused: Exception List";
      5	  95457                     skipthis++;
      5	  95458                     break;
      4	  95459                 }
      3	  95460             }
      2	  95461         }
      3	  95462         if (!skipthis && pv[SND_NOB].ival > 0) { /* /NOBACKUPFILES */
       E	                             28
      3	  95463             if (ckmatch(
      3	  95464 #ifdef CKREGEX
      3	  95465                         "*.~[0-9]*~"
      3X  95466 #else
      3X  95467                         "*.~*~"
      3X  95468 #endif /* CKREGEX */
      3	  95469                         ,nam,0,1) > 0)
      3	  95470               continue;
      2	  95471         }
      3	  95472         if (!x_xla) {                   /* If translation is off */
      3	  95473             x_csl = -2;                 /* unset the charsets */
      3	  95474             x_csr = -2;
      2	  95475         }
      2	  95476         ckstrncpy(filnam,s,CKMAXPATH);  /* For \v(filename) */
       E	                            4095
      2	  95477         if (!*s2)                       /* Local name */
      2	  95478           s2 = asnambuf;                /* As-name */
      2	  95479 
      2	  95480 	if (!*s2)			/* Sat Nov 16 19:19:39 2002 */
      2	  95481 	  s2 = recursive ? s : nam;	/* Fri Jan 10 13:15:19 2003 */
      2	  95482 
      2	  95483         debug(F110,"ftp get filnam  ",s,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp get filnam  " , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  95484         debug(F110,"ftp get asname A",s2,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp get asname A" , ( char * ) ( s2 ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  95485 
      2	  95486         /* Receiving to real file */
      2	  95487         if (!pipesend &&
      2X  95488 #ifdef PIPESEND
      2X  95489             !rcvfilter &&
      2X  95490 #endif /* PIPESEND */
      3	  95491             !toscreen) {
      3	  95492 #ifndef NOSPL
      3	  95493             /* Do this here so we can decide whether to skip */
      4	  95494             if (cmd_quoting && !skipthis && asnambuf[0]) {
      4	  95495                 int n; char *p;
      4	  95496                 n = TMPBUFSIZ;
       E	                     ( 32763 + 10 )
      4	  95497                 p = tmpbuf;
      4	  95498                 zzstring(asnambuf,&p,&n);
      4	  95499                 s2 = tmpbuf;
      4	  95500                 debug(F111,"ftp get asname B",s2,updating);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get asname B" , ( char * ) ( s2 ) , ( off_t ) ( updating )
       E	 ) : 0 ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1802
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  95501             }
      3	  95502 #endif /* NOSPL */
      3	  95503 
      3	  95504 	    local = *s2 ? s2 : s;
      3	  95505 
      4	  95506 	    if (!skipthis && x_fnc == XYFX_D) { /* File Collision = Discard */
       E	                                4
      4	  95507 		CK_OFF_T x;
       E	   off_t
      4	  95508 		x = zchki(local);
      4	  95509 		debug(F111,"ftp get DISCARD zchki",local,x);
       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp get DISCARD zchki" , ( char * ) ( local ) , ( off_t ) ( x ) ) : 0 ) )
      5	  95510 		if (x > -1) {
      5	  95511 		    skipthis++;
      5	  95512 		    debug(F110,"ftp get skip name",local,0);
       E	       ( ( void ) ( deblog ? dodebug ( 6 , "ftp get skip name" , ( char * ) ( local ) , ( off_t ) ( 0 ) ) : 0 ) )
      5	  95513 		    tlog(F100," refused: name","",0);
       E	       if ( tralog && tlogfmt ) dotlog ( 4 , " refused: name" , "" , ( off_t ) 0 )
      5	  95514 		    msg = "Refused: Name";
      4	  95515 		}
      3	  95516 	    }
      3	  95517 
      3	  95518 #ifdef DOUPDATE
      4	  95519             if (!skipthis && updating) { /* If updating and not yet skipping */
      5	  95520                 if (zchki(local) > -1) {
      5	  95521                     x = chkmodtime(local,s,0);
      5	  95522 #ifdef DEBUG
      6	  95523 		    if (deblog) {
      6	  95524 			if (updating == 2)
      6	  95525 			  debug(F111,"ftp get /dates-diff chkmodtime",local,x);
       E	      ( ( void ) ( deblog ? dodebug ( 7 , "ftp get /dates-diff chkmodtime" , ( char * ) ( local ) , ( off_t ) ( x ) 
       E	) : 0 ) )
      6	  95526 			else
      6	  95527 			  debug(F111,"ftp get /update chkmodtime",local,x);
       E	      ( ( void ) ( deblog ? dodebug ( 7 , "ftp get /update chkmodtime" , ( char * ) ( local ) , ( off_t ) ( x ) ) : 
       E	0 ) )
      5	  95528 		    }
      5	  95529 #endif /* DEBUG */
      5	  95530 		    if ((updating == 1 && x > 0) ||  /* /UPDATE */
      6	  95531 			(updating == 2 && x == 1)) { /* /DATES-DIFFER */
      6	  95532 			skipthis++;
      6	  95533 			tlog(F100," refused: date","",0);
       E	    if ( tralog && tlogfmt ) dotlog ( 4 , " refused: date" , "" , ( off_t ) 0 )
      6	  95534 			msg = "Refused: Date";
      6	  95535                         debug(F110,"ftp get skip date",local,0);
       E	                         ( ( void ) ( deblog ? dodebug ( 6 , "ftp get skip date" , ( char * ) ( local ) , ( off_t ) 
       E	( 0 ) ) : 0 ) )
      5	  95536                     }
      4	  95537                 }
      3	  95538             }
      3	  95539 #endif /* DOUPDATE */
      2	  95540         }
      2	  95541         /* Initialize file size to -1 in case server doesn't understand */
      2	  95542         /* SIZE command, so xxscreen() will know we don't know the size */
      2	  95543 
      2	  95544         fsize = (CK_OFF_T)-1;
       E	                  off_t

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1803
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  95545 
      2	  95546 	/* Ask for size now only if we need it for selection */
      2	  95547 	/* because if you're going thru a list 100,000 files to select */
      2	  95548 	/* a small subset, 100,000 SIZE commands can take hours... */
      2	  95549 
      2	  95550 	gotsize = 0;
      2	  95551         if (!mdel && !skipthis &&        /* Don't need size for DELE... */
      3	  95552 	    (getsmaller >= (CK_OFF_T)0  || getlarger >= (CK_OFF_T)0)) {
       E	                      off_t
       E	                                                   off_t
      4	  95553 	    if (havesize >= (CK_OFF_T)0) { /* Already have file size? */
       E	                       off_t
      4	  95554 		fsize = havesize;
      4	  95555 		gotsize = 1;
      4	  95556 	    } else {			/* No - must ask server */
      4	  95557 		/*
      4	  95558 		  Prior to sending the NLST command we necessarily put the
      4	  95559 		  server into ASCII mode.  We must now put it back into the
      4	  95560 		  the requested mode so the upcoming SIZE command returns
      4	  95561 		  right kind of size; this is especially important for
      4	  95562 		  GET /RECOVER; otherwise the server returns the "ASCII" size
      4	  95563 		  of the file, rather than its true size.
      4	  95564 		*/
      4	  95565 		changetype(ftp_typ,0);	/* Change to requested type */
      4	  95566 		fsize = (CK_OFF_T)-1;
       E	            off_t
      5	  95567 		if (sizeok) {
      5	  95568 		    x = ftpcmd("SIZE",s,x_csl,x_csr,ftp_vbm);
      6	  95569 		    if (x == REPLY_COMPLETE) {
       E	                2
      6	  95570 			fsize = ckatofs(&ftp_reply_str[4]);
      6	  95571 			gotsize = 1;
      5	  95572 		    }
      4	  95573 		}
      3	  95574 	    }
      4	  95575             if (gotsize) {
      4	  95576                 if (getsmaller >= (CK_OFF_T)0 && fsize >= getsmaller)
       E	                                    off_t
      4	  95577                   skipthis++;
      4	  95578                 if (getlarger >= (CK_OFF_T)0 && fsize <= getlarger)
       E	                                   off_t
      4	  95579                   skipthis++;
      5	  95580                 if (skipthis) {
      5	  95581                     debug(F111,"ftp get skip size",s,fsize);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get skip size" , ( char * ) ( s ) , ( off_t ) ( fsize 
       E	) ) : 0 ) )
      5	  95582                     tlog(F100," refused: size","",0);
       E	                     if ( tralog && tlogfmt ) dotlog ( 4 , " refused: size" , "" , ( off_t ) 0 )
      5	  95583                     msg = "Refused: Size";
      4	  95584                 }
      4X  95585 #ifdef COMMENT
      4X  95586             } else if (getone) {
      4X  95587                 /* SIZE can fail for many reasons.  Does the file exist? */
      4X  95588                 x = ftpcmd("NLST",s,x_csl,x_csr,ftp_vbm);
      4X  95589                 if (x != REPLY_COMPLETE) {
      4X  95590                     printf(">>> FILE NOT FOUND: %s\n",s);
      4X  95591                     break;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1804
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4X  95592                 }
      4X  95593 #endif /* COMMENT */
      3	  95594             }
      2	  95595         }
      3	  95596         if (skipthis) {                 /* Skipping this file? */
      3	  95597             ftscreen(SCR_FN,'F',(CK_OFF_T)0,s);
       E	                      1
       E	                                  off_t
      3	  95598             if (msg)
      3	  95599               ftscreen(SCR_ST,ST_ERR,(CK_OFF_T)0,msg);
       E	                        5
       E	                               4
       E	                                       off_t
      3	  95600             else
      3	  95601               ftscreen(SCR_ST,ST_SKIP,(CK_OFF_T)0,s);
       E	                        5
       E	                               3
       E	                                        off_t
      3	  95602             continue;
      2	  95603         }
      3	  95604         if (fp_nml) {                   /* /NAMELIST only - no transfer */
      3	  95605             fprintf(fp_nml,"%s\n",s);
      3	  95606             continue;
      2	  95607         }
      2	  95608         if (recursive && haspath && !pipesend
      2X  95609 #ifdef PIPESEND
      2X  95610             && !rcvfilter
      2X  95611 #endif /* PIPESEND */
      3	  95612             ) {
      3	  95613 	    int x;
      3	  95614 
      3X  95615 #ifdef NOMKDIR
      3X  95616 	    x = -1;
      3X  95617 #else
      3	  95618             x = zmkdir(s);		/* Try to make the directory */
      3	  95619 #endif /* NOMKDIR */
      3	  95620 
      4	  95621             if (x < 0) {
      4	  95622                 rc = -1;                /* Failure is fatal */
      5	  95623                 if (geterror) {
      5	  95624                     status = 0;
      5	  95625                     ftscreen(SCR_EM,0,(CK_OFF_T)0,
       E	                              9
       E	                                        off_t
      5	  95626 			     "Directory creation failure");
      5	  95627                     break;
      4	  95628                 }
      3	  95629             }
      2	  95630         }
      2	  95631 
      2	  95632         /* Not skipping */
      2	  95633 
      2	  95634 	selected++;			/* Count this file as selected */
      2	  95635         pn = NULL;
       E	              ( ( void * ) 0 )
      2	  95636 
      3	  95637 	if (!gotsize && !mdel) {	/* Didn't get size yet */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1805
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  95638 	    if (havesize > (CK_OFF_T)-1) { /* Already have file size? */
       E	                      off_t
      4	  95639 		fsize = havesize;
      4	  95640 		gotsize = 1;
      4	  95641 	    } else {			/* No - must ask server */
      4	  95642 		fsize = (CK_OFF_T)-1;
       E	            off_t
      5	  95643 		if (sizeok) {
      5	  95644 		    x = ftpcmd("SIZE",s,x_csl,x_csr,ftp_vbm);
      6	  95645 		    if (x == REPLY_COMPLETE) {
       E	                2
      6	  95646 			fsize = ckatofs(&ftp_reply_str[4]);
      6	  95647 			gotsize = 1;
      5	  95648 		    }
      4	  95649 		}
      3	  95650 	    }
      2	  95651 	}
      3	  95652         if (mdel) {                     /* [M]DELETE */
      3	  95653             if (displa && !ftp_vbm)
      3	  95654               printf(" %s...",s);
      3	  95655             rc =
      3	  95656              (ftpcmd("DELE",s,x_csl,x_csr,ftp_vbm) == REPLY_COMPLETE) ? 1 : -1;
       E	                                                       2
      4	  95657             if (rc > -1) {
      4	  95658                 tlog(F110,"ftp mdelete",s,0);
       E	                 if ( tralog && tlogfmt ) dotlog ( 6 , "ftp mdelete" , s , ( off_t ) 0 )
      4	  95659                 if (displa && !ftp_vbm)
      4	  95660                   printf("OK\n");
      4	  95661             } else {
      4	  95662                 tlog(F110,"ftp mdelete failed:",s,0);
       E	                 if ( tralog && tlogfmt ) dotlog ( 6 , "ftp mdelete failed:" , s , ( off_t ) 0 )
      4	  95663                 if (displa)
      4	  95664                   printf("Failed\n");
      3	  95665             }
      3	  95666 #ifndef NOSPL
      3X  95667 #ifdef PIPESEND
      3X  95668         } else if (rcvfilter) {         /* [M]GET with filter */
      3X  95669             int n; char * p;
      3X  95670             n = CKMAXPATH;
      3X  95671             p = tmpbuf;                 /* Safe - no asname with filter */
      3X  95672             zzstring(rcvfilter,&p,&n);
      3X  95673             if (n > -1)
      3X  95674               pn = tmpbuf;
      3X  95675             debug(F111,"ftp get rcvfilter",pn,n);
      3X  95676 #endif /* PIPESEND */
      3	  95677 #endif /* NOSPL */
      3	  95678             if (toscreen) s2 = "-";
      3	  95679         } else if (pipesend) {          /* [M]GET /COMMAND */
      3	  95680             int n; char * p;
      3	  95681             n = CKMAXPATH;
       E	                 4095
      3	  95682             p = tmpbuf;                 /* Safe - no asname with filter */
      3	  95683             zzstring(pipename,&p,&n);
      3	  95684             if (n > -1)
      3	  95685               pn = tmpbuf;
      3	  95686             debug(F111,"ftp get pipename",pipename,n);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp get pipename" , ( char * ) ( pipename ) , ( off_t ) ( n ) ) : 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1806
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	0 ) )
      3	  95687             if (toscreen) s2 = "-";
      3	  95688         } else {                        /* [M]GET with no pipes or filters */
      3	  95689             debug(F111,"ftp get s2 A",s2,x_cnv);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp get s2 A" , ( char * ) ( s2 ) , ( off_t ) ( x_cnv ) ) : 0 ) )
      4	  95690             if (toscreen) {
      4	  95691                 s2 = "-";               /* (hokey convention for stdout) */
      4	  95692             } else if (!*s2) {          /* No asname? */
      5	  95693                 if (x_cnv) {            /* If converting */
      5	  95694                     nzrtol(s,tmpbuf,x_cnv,1,CKMAXPATH); /* convert */
       E	                                             4095
      5	  95695                     s2 = tmpbuf;
      5	  95696                     debug(F110,"ftp get nzrtol",s2,0);
       E	                     ( ( void ) ( deblog ? dodebug ( 6 , "ftp get nzrtol" , ( char * ) ( s2 ) , ( off_t ) ( 0 ) ) : 
       E	0 ) )
      4	  95697                 } else                  /* otherwise */
      4	  95698                   s2 = s;               /* use incoming file's name */
      3	  95699             }
      3	  95700             debug(F110,"ftp get s2 B",s2,0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "ftp get s2 B" , ( char * ) ( s2 ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  95701 
      3	  95702             /* If local file already exists, take collision action */
      3	  95703 
      3	  95704             if (!pipesend &&
      3X  95705 #ifdef PIPESEND
      3X  95706                 !rcvfilter &&
      3X  95707 #endif /* PIPESEND */
      4	  95708                 !toscreen) {
      4	  95709 		CK_OFF_T x;
       E	   off_t
      4	  95710                 x = zchki(s2);
      4	  95711                 debug(F111,"ftp get zchki",s2,x);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get zchki" , ( char * ) ( s2 ) , ( off_t ) ( x ) ) : 0 ) )
      4	  95712                 debug(F111,"ftp get x_fnc",s2,x_fnc);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get x_fnc" , ( char * ) ( s2 ) , ( off_t ) ( x_fnc ) ) : 0
       E	 ) )
      4	  95713 
      5	  95714                 if (x > (CK_OFF_T)-1 && !restart) {
       E	                          off_t
      5	  95715 		    int x = -1;
      5	  95716 		    char * newname = NULL;
       E	                        ( ( void * ) 0 )
      5	  95717 
      6	  95718                     switch (x_fnc) {
      6	  95719                       case XYFX_A:      /* Append */
       E	                            3
      6	  95720                         append = 1;
      6	  95721                         break;
      6	  95722                       case XYFX_R:      /* Rename */
       E	                            0
      6	  95723                       case XYFX_B:	/* Backup */
       E	                            2
      6	  95724 			znewn(s2,&newname); /* Make unique name */
      6	  95725 			debug(F110,"ftp get znewn",newname,0);
       E	    ( ( void ) ( deblog ? dodebug ( 6 , "ftp get znewn" , ( char * ) ( newname ) , ( off_t ) ( 0 ) ) : 0 ) )
      7	  95726 			if (x_fnc == XYFX_B) { /* Backup existing file */
       E	                 2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1807
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      7	  95727 			    x = zrename(s2,newname);
      7	  95728 			    debug(F111,"ftp get backup zrename",newname,x);
       E	        ( ( void ) ( deblog ? dodebug ( 7 , "ftp get backup zrename" , ( char * ) ( newname ) , ( off_t ) ( x ) ) : 
       E	0 ) )
      7	  95729 			} else {      /* Rename incoming file */
      7	  95730 			    x = ckstrncpy(tmpbuf,newname,CKMAXPATH+1);
       E	                                     4095
      7	  95731 			    s2 = tmpbuf;
      7	  95732 			    debug(F111,"ftp get rename incoming",newname,x);
       E	        ( ( void ) ( deblog ? dodebug ( 7 , "ftp get rename incoming" , ( char * ) ( newname ) , ( off_t ) ( x ) ) :
       E	 0 ) )
      6	  95733 			}
      7	  95734 			if (x < 0) {
      7	  95735 			    ftscreen(SCR_EM,0,(CK_OFF_T)0,
       E	                 9
       E	                           off_t
      7	  95736 				     "Backup/Rename failed");
      7	  95737 			    x = 0;
      7	  95738 			    goto xgetx;
      6	  95739 			}
      6	  95740 			break;
      6	  95741                       case XYFX_D:      /* Discard (already handled above) */
       E	                            4
      6	  95742                       case XYFX_U:      /* Update (ditto) */
       E	                            6
      6	  95743                       case XYFX_M:      /* Update (ditto) */
       E	                            7
      6	  95744                       case XYFX_X:      /* Overwrite */
       E	                            1
      6	  95745                         break;
      5	  95746                     }
      4	  95747                 }
      3	  95748             }
      2	  95749         }
      3	  95750         if (!mdel) {
      3X  95751 #ifdef PIPESEND
      3X  95752             debug(F111,"ftp get pn",pn,rcvfilter ? 1 : 0);
      3X  95753 #endif /* PIPESEND */
      3	  95754             if (pipesend && !toscreen)
      3	  95755               s2 = NULL;
       E	                    ( ( void * ) 0 )
      3	  95756 #ifdef DEBUG
      4	  95757             if (deblog) {
      4	  95758                 debug(F101,"ftp get x_xla","",x_xla);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp get x_xla" , ( char * ) ( "" ) , ( off_t ) ( x_xla ) ) : 0
       E	 ) )
      4	  95759                 debug(F101,"ftp get x_csl","",x_csl);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp get x_csl" , ( char * ) ( "" ) , ( off_t ) ( x_csl ) ) : 0
       E	 ) )
      4	  95760                 debug(F101,"ftp get x_csr","",x_csr);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp get x_csr" , ( char * ) ( "" ) , ( off_t ) ( x_csr ) ) : 0
       E	 ) )
      4	  95761                 debug(F101,"ftp get append","",append);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp get append" , ( char * ) ( "" ) , ( off_t ) ( append ) ) :
       E	 0 ) )
      3	  95762             }
      3	  95763 #endif /* DEBUG */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1808
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  95764 
      3	  95765             rc = getfile(s,s2,restart,append,pn,x_xla,x_csl,x_csr);
      3	  95766 
      3	  95767 #ifdef DEBUG
      4	  95768             if (deblog) {
      4	  95769                 debug(F111,"ftp get rc",s,rc);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get rc" , ( char * ) ( s ) , ( off_t ) ( rc ) ) : 0 ) )
      4	  95770                 debug(F111,"ftp get ftp_timed_out",s,ftp_timed_out);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get ftp_timed_out" , ( char * ) ( s ) , ( off_t ) ( ftp_ti
       E	med_out ) ) : 0 ) )
      4	  95771                 debug(F111,"ftp get cancelfile",s,cancelfile);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get cancelfile" , ( char * ) ( s ) , ( off_t ) ( cancelfil
       E	e ) ) : 0 ) )
      4	  95772                 debug(F111,"ftp get cancelgroup",s,cancelgroup);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get cancelgroup" , ( char * ) ( s ) , ( off_t ) ( cancelgr
       E	oup ) ) : 0 ) )
      4	  95773                 debug(F111,"ftp get renaming",s,renaming);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get renaming" , ( char * ) ( s ) , ( off_t ) ( renaming ) 
       E	) : 0 ) )
      4	  95774                 debug(F111,"ftp get moving",s,moving);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp get moving" , ( char * ) ( s ) , ( off_t ) ( moving ) ) : 
       E	0 ) )
      3	  95775             }
      3	  95776 #endif /* DEBUG */
      2	  95777         }
      3	  95778         if (rc > -1) {
      3	  95779             good++;
      3	  95780             status = 1;
      4	  95781             if (!cancelfile) {
      5	  95782                 if (deleting) {         /* GET /DELETE (source file) */
      5	  95783                     rc =
      5	  95784                       (ftpcmd("DELE",s,x_csl,x_csr,ftp_vbm) == REPLY_COMPLETE)
       E	                                                                2
      5	  95785                         ? 1 : -1;
      5	  95786                     tlog(F110, (rc > -1) ?
       E	                     if ( tralog && tlogfmt ) dotlog ( 6 , ( rc > - 1 ) ? " deleted" : " failed to delete" , s , ( o
       E	ff_t ) 0 )
      5	  95787                          " deleted" : " failed to delete", s, 0);
      4	  95788                 }
      5	  95789 		if (renaming && rcv_rename && !toscreen) {
      5	  95790                     char *p;            /* Rename downloaded file */
      5	  95791 #ifndef NOSPL
      5	  95792                     char tmpbuf[CKMAXPATH+1];
       E	                                 4095
      5	  95793                     int n;
      5	  95794                     n = CKMAXPATH;
       E	                         4095
      5	  95795                     p = tmpbuf;
      5	  95796                     debug(F111,"ftp get /rename",rcv_rename,0);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get /rename" , ( char * ) ( rcv_rename ) , ( off_t ) (
       E	 0 ) ) : 0 ) )
      5	  95797                     zzstring(rcv_rename,&p,&n);
      5	  95798                     debug(F111,"ftp get /rename",rcv_rename,0);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get /rename" , ( char * ) ( rcv_rename ) , ( off_t ) (
       E	 0 ) ) : 0 ) )
      5	  95799                     p = tmpbuf;
      5X  95800 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1809
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5X  95801                     p = rcv_rename;
      5X  95802 #endif /* NOSPL */
      5	  95803                     rc = (zrename(s2,p) < 0) ? -1 : 1;
      5	  95804                     debug(F111,"doftpget /RENAME zrename",p,rc);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "doftpget /RENAME zrename" , ( char * ) ( p ) , ( off_t ) (
       E	 rc ) ) : 0 ) )
      5	  95805                     tlog(F110, (rc > -1) ?
       E	                     if ( tralog && tlogfmt ) dotlog ( 6 , ( rc > - 1 ) ? " renamed to" : " failed to rename to" , p
       E	 , ( off_t ) 0 )
      5	  95806                          " renamed to" :
      5	  95807                          " failed to rename to",
      5	  95808                          p,
      5	  95809                          0
      5	  95810                          );
      5	  95811                 } else if (moving && rcv_move && !toscreen) {
      5	  95812                     char *p;            /* Move downloaded file */
      5	  95813 #ifndef NOSPL
      5	  95814                     char tmpbuf[CKMAXPATH+1];
       E	                                 4095
      5	  95815                     int n;
      5	  95816                     n = TMPBUFSIZ;
       E	                         ( 32763 + 10 )
      5	  95817                     p = tmpbuf;
      5	  95818                     debug(F111,"ftp get /move-to",rcv_move,0);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get /move-to" , ( char * ) ( rcv_move ) , ( off_t ) ( 
       E	0 ) ) : 0 ) )
      5	  95819                     zzstring(rcv_move,&p,&n);
      5	  95820                     p = tmpbuf;
      5X  95821 #else
      5X  95822                     p = rcv_move;
      5X  95823 #endif /* NOSPL */
      5	  95824                     debug(F111,"ftp get /move-to",p,0);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get /move-to" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) :
       E	 0 ) )
      5	  95825                     rc = (zrename(s2,p) < 0) ? -1 : 1;
      5	  95826                     debug(F111,"doftpget /MOVE zrename",p,rc);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "doftpget /MOVE zrename" , ( char * ) ( p ) , ( off_t ) ( r
       E	c ) ) : 0 ) )
      5	  95827                     tlog(F110, (rc > -1) ?
       E	                     if ( tralog && tlogfmt ) dotlog ( 6 , ( rc > - 1 ) ? " moved to" : " failed to move to" , p , (
       E	 off_t ) 0 )
      5	  95828                          " moved to" : " failed to move to", p, 0);
      4	  95829                 }
      5	  95830                 if (pv[SND_SRN].ival > 0 && pv[SND_SRN].sval) {
       E	                        41
       E	                                                41
      5	  95831                     char * s = pv[SND_SRN].sval;
       E	                                   41
      5	  95832                     char * srvrn = pv[SND_SRN].sval;
       E	                                       41
      5	  95833                     char tmpbuf[CKMAXPATH+1];
       E	                                 4095
      5	  95834 #ifndef NOSPL
      5	  95835                     int y;              /* Pass it thru the evaluator */
      5	  95836                     extern int cmd_quoting; /* for \v(filename) */
      5	  95837                     debug(F111,"ftp get srv_renam",s,1);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get srv_renam" , ( char * ) ( s ) , ( off_t ) ( 1 ) ) 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1810
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	: 0 ) )
      5	  95838 
      6	  95839                     if (cmd_quoting) {
      6	  95840                         y = CKMAXPATH;
       E	                             4095
      6	  95841                         s = (char *)tmpbuf;
      6	  95842                         zzstring(srvrn,&s,&y);
      6	  95843                         s = (char *)tmpbuf;
      5	  95844                     }
      5	  95845 #endif /* NOSPL */
      5	  95846                     debug(F111,"ftp get srv_renam",s,1);
       E	                     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get srv_renam" , ( char * ) ( s ) , ( off_t ) ( 1 ) ) 
       E	: 0 ) )
      6	  95847                     if (s) if (*s) {
      6	  95848                         int x;
      6	  95849                         x = ftp_rename(s2,s);
      6	  95850                         debug(F111,"ftp get ftp_rename",s2,x);
       E	                         ( ( void ) ( deblog ? dodebug ( 7 , "ftp get ftp_rename" , ( char * ) ( s2 ) , ( off_t ) ( 
       E	x ) ) : 0 ) )
      6	  95851                         tlog(F110, (x > 0) ?
       E	                         if ( tralog && tlogfmt ) dotlog ( 6 , ( x > 0 ) ? " renamed source file to" : " failed to r
       E	ename source file to" , s , ( off_t ) 0 )
      6	  95852                              " renamed source file to" :
      6	  95853                              " failed to rename source file to",
      6	  95854                              s,
      6	  95855                              0
      6	  95856                              );
      6	  95857                         if (x < 1)
      6	  95858 			  return(-1);
      5	  95859                     }
      4	  95860                 }
      3	  95861             }
      2	  95862         }
      2	  95863         if (cancelfile)
      2	  95864           continue;
      3	  95865         if (rc < 0) {
      3	  95866             ftp_fai++;
      3	  95867 #ifdef FTP_TIMEOUT
      3	  95868 	    debug(F101,"ftp get ftp_timed_out","",ftp_timed_out);
       E	      ( ( void ) ( deblog ? dodebug ( 5 , "ftp get ftp_timed_out" , ( char * ) ( "" ) , ( off_t ) ( ftp_timed_out ) 
       E	) : 0 ) )
      4	  95869 	    if (ftp_timed_out) {
      4	  95870 		status = 0;
      4	  95871                 ftscreen(SCR_EM,0,(CK_OFF_T)0,"GET timed out");
       E	                          9
       E	                                    off_t
      3	  95872 	    }
      3	  95873 #endif	/* FTP_TIMEOUT */
      4	  95874             if (geterror) {
      4	  95875                 status = 0;
      4	  95876                 ftscreen(SCR_EM,0,(CK_OFF_T)0,"Fatal download error");
       E	                          9
       E	                                    off_t
      4	  95877                 done++;
      3	  95878             }
      2	  95879         }
      1	  95880     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1811
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  95881 #ifdef DEBUG
      2	  95882     if (deblog) {
      2	  95883 	debug(F101,"ftp get status","",status);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp get status" , ( char * ) ( "" ) , ( off_t ) ( status ) ) : 0 ) )
      2	  95884 	debug(F101,"ftp get cancelgroup","",cancelgroup);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp get cancelgroup" , ( char * ) ( "" ) , ( off_t ) ( cancelgroup ) ) : 0 ) 
       E	)
      2	  95885 	debug(F101,"ftp get cancelfile","",cancelfile);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp get cancelfile" , ( char * ) ( "" ) , ( off_t ) ( cancelfile ) ) : 0 ) )
      2	  95886 	debug(F101,"ftp get selected","",selected);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp get selected" , ( char * ) ( "" ) , ( off_t ) ( selected ) ) : 0 ) )
      2	  95887 	debug(F101,"ftp get good","",good);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp get good" , ( char * ) ( "" ) , ( off_t ) ( good ) ) : 0 ) )
      1	  95888     }
      1	  95889 #endif /* DEBUG */
      1	  95890 
      2	  95891     if (selected == 0) {		/* No files met selection criteria */
      2	  95892 	status = 1;			/* which is a kind of success. */
      2	  95893     } else if (status > 0) {		/* Some files were selected */
      2	  95894         if (cancelgroup)		/* but MGET was canceled */
      2	  95895           status = 0;			/* so MGET failed */
      2	  95896         else if (cancelfile && good < 1) /* If file was canceled */
      2	  95897           status = 0;			/* MGET failed if it got no files */
      1	  95898     }
      1	  95899     success = status;
      1	  95900     x = success;
      1	  95901     debug(F101,"ftp get success","",success);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp get success" , ( char * ) ( "" ) , ( off_t ) ( success ) ) : 0 ) )
      1	  95902 
      1	  95903   xgetx:
      1	  95904     pipesend = pipesave;                /* Restore global pipe selection */
      2	  95905     if (fp_nml) {                       /* Close /NAMELIST */
      2	  95906         if (fp_nml != stdout)
       E	                       ( decc$ga_stdout )
      2	  95907           fclose(fp_nml);
      2	  95908         fp_nml = NULL;
       E	                  ( ( void * ) 0 )
      1	  95909     }
      1	  95910     if (
      1X  95911 #ifdef COMMENT
      1X  95912 	x > -1
      1X  95913 #else
      1	  95914 	success
      1	  95915 #endif	/* COMMENT */
      2	  95916 	) {				/* Download successful */
      2	  95917 #ifdef GFTIMER
      2	  95918         t1 = gmstimer();                /* End time */
      2	  95919         sec = (CKFLOAT)((CKFLOAT)(t1 - t0) / 1000.0); /* Stats */
       E	                double
       E	                          double
      2	  95920         if (!sec) sec = 0.001;
      2	  95921         fptsecs = sec;
      2X  95922 #else
      2X  95923         sec = (t1 - t0) / 1000;
      2X  95924         if (!sec) sec = 1;
      2X  95925 #endif /* GFTIMER */
      2	  95926         tfcps = (long) (tfc / sec);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1812
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  95927         tsecs = (int)sec;
      2	  95928         lastxfer = W_FTP|W_RECV;
       E	                    128
       E	                          4
      2	  95929         xferstat = success;
      1	  95930     }
      1	  95931     if (dpyactive)
      1	  95932       ftscreen(success > 0 ? SCR_TC : SCR_CW, 0, (CK_OFF_T)0, "");
       E	                              8
       E	                                       15
       E	                                                   off_t
      1	  95933 #ifdef CK_TMPDIR
      2	  95934     if (f_tmpdir) {                     /* If we changed to download dir */
      2	  95935         zchdir((char *) savdir);        /* Go back where we came from */
      2	  95936         f_tmpdir = 0;
      1	  95937     }
      1	  95938 #endif /* CK_TMPDIR */
      1	  95939 
      2	  95940     for (i = 0; i <= SND_MAX; i++) {    /* Free malloc'd memory */
       E	                      48
      2	  95941         if (pv[i].sval)
      2	  95942           free(pv[i].sval);
      1	  95943     }
      1	  95944     for (i = 0; i < mgetn; i++)         /* MGET list too */
      1	  95945       makestr(&(mgetlist[i]),NULL);
       E	                              ( ( void * ) 0 )
      1	  95946 
      1	  95947     if (cancelgroup)			/* Clear temp-file stack */
      1	  95948       mlsreset();
      1	  95949 
      1	  95950     ftreset();                          /* Undo switch effects */
      1	  95951     dpyactive = 0;
      1	  95952     return(x);
      1	  95953 }
	  95954 
	  95955 static struct keytab ftprmt[] = {
	  95956     { "cd",        XZCWD, 0 },
       E	                    1
	  95957     { "cdup",      XZCDU, 0 },
       E	                    25
	  95958     { "cwd",       XZCWD, CM_INV },
       E	                    1
       E	                           1
	  95959     { "delete",    XZDEL, 0 },
       E	                    2
	  95960     { "directory", XZDIR, 0 },
       E	                    3
	  95961     { "exit",      XZXIT, 0 },
       E	                    24
	  95962     { "help",      XZHLP, 0 },
       E	                    4
	  95963     { "login",     XZLGI, 0 },
       E	                    7
	  95964     { "logout",    XZLGO, 0 },
       E	                    8
	  95965     { "mkdir",     XZMKD, 0 },
       E	                    22

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1813
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  95966     { "pwd",       XZPWD, 0 },
       E	                    19
	  95967     { "rename",    XZREN, 0 },
       E	                    13
	  95968     { "rmdir",     XZRMD, 0 },
       E	                    23
	  95969     { "type",      XZTYP, 0 },
       E	                    17
	  95970     { "", 0, 0 }
	  95971 };
	  95972 static int nftprmt = (sizeof(ftprmt) / sizeof(struct keytab)) - 1;
	  95973 
	  95974 int
      1	  95975 doftpsite() {				/* Send a SITE command */
      1	  95976     int reply;
      1	  95977     char * s;
      1	  95978     int lcs = -1, rcs = -1;
      1	  95979     int save_vbm = ftp_vbm;
      1	  95980 
      1	  95981 #ifndef NOCSETS
      2	  95982     if (ftp_xla) {
      2	  95983         lcs = ftp_csl;
      2	  95984         if (lcs < 0) lcs = fcharset;
      2	  95985         rcs = ftp_csx;
      2	  95986         if (rcs < 0) rcs = ftp_csr;
      1	  95987     }
      1	  95988 #endif /* NOCSETS */
      1	  95989     if ((x = cmtxt("Command", "", &s, xxstring)) < 0)
      1	  95990       return(x);
      1	  95991     CHECKCONN();
       E	     if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      1	  95992     ckstrncpy(line,s,LINBUFSIZ);
       E	                      ( 32763 + 10 )
      1	  95993     if (testing) printf(" ftp site \"%s\"...\n",line);
      1	  95994     if (!ftp_vbm)
      1	  95995         ftp_vbm = !ckstrcmp("HELP",line,4,0);
      2	  95996     if ((reply = ftpcmd("SITE",line,lcs,rcs,ftp_vbm)) == REPLY_PRELIM) {
       E	                                                          1
      3	  95997 	do {
      3	  95998 	    reply = getreply(0,lcs,rcs,ftp_vbm,0);
      2	  95999 	} while (reply == REPLY_PRELIM);
       E	                    1
      1	  96000     }
      1	  96001     ftp_vbm = save_vbm;
      1	  96002     return(success = (reply == REPLY_COMPLETE));
       E	                                2
      1	  96003 }
	  96004 
	  96005 
	  96006 int
      1	  96007 dosetftppsv() {				/* Passive mode */
      1	  96008     x = seton(&ftp_psv);
      1	  96009     if (x > 0) passivemode = ftp_psv;
      1	  96010     return(x);
      1	  96011 }
	  96012 
	  96013 /*  d o f t p r m t  --  Parse and execute REMOTE commands  */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1814
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  96014 
	  96015 int
	  96016 #ifdef CK_ANSIC
	  96017 doftprmt( int cx, int who )       /* who == 1 for ftp, 0 for kermit */
       X  96018 #else
       X  96019 doftprmt(cx,who) int cx, who;
       X  96020 #endif /* CK_ANSIC */
      1	  96021 {
      1	  96022     /* cx == 0 means REMOTE */
      1	  96023     /* cx != 0 is a XZxxx value */
      1	  96024     char * s;
      1	  96025 
      1	  96026     if (who != 0)
      1	  96027       return(0);
      1	  96028 
      2	  96029     if (cx == 0) {
      2	  96030         if ((x = cmkey(ftprmt,nftprmt,"","",xxstring)) < 0)
      2	  96031           return(x);
      2	  96032         cx = x;
      1	  96033     }
      2	  96034     switch (cx) {
      2	  96035       case XZCDU:                       /* CDUP */
       E	            25
      2	  96036         if ((x = cmcfm()) < 0) return(x);
      2	  96037         return(doftpcdup());
      2	  96038 
      2	  96039       case XZCWD:                       /* RCD */
       E	            1
      2	  96040         if ((x = cmtxt("Remote directory", "", &s, xxstring)) < 0)
      2	  96041           return(x);
      2	  96042         ckstrncpy(line,s,LINBUFSIZ);
       E	                          ( 32763 + 10 )
      2	  96043 	s = brstrip(line);
      2	  96044         return(doftpcwd(s,1));
      2	  96045       case XZPWD:                       /* RPWD */
       E	            19
      2	  96046         return(doftppwd());
      2	  96047       case XZDEL:                       /* RDEL */
       E	            2
      2	  96048         return(doftpget(FTP_MDE,1));
       E	                         10
      2	  96049       case XZDIR:                       /* RDIR */
       E	            3
      2	  96050         return(doftpdir(FTP_DIR));
       E	                         7
      2	  96051       case XZHLP:                       /* RHELP */
       E	            4
      2	  96052         return(doftpxhlp());
      2	  96053       case XZMKD:                       /* RMKDIR */
       E	            22
      2	  96054         return(doftpmkd());
      2	  96055       case XZREN:                       /* RRENAME */
       E	            13
      2	  96056         return(doftpren());
      2	  96057       case XZRMD:                       /* RRMDIR */
       E	            23
      2	  96058         return(doftprmd());

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1815
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  96059       case XZLGO:                       /* LOGOUT */
       E	            8
      2	  96060         return(doftpres());
      2	  96061       case XZXIT:                       /* EXIT */
       E	            24
      2	  96062         return(ftpbye());
      1	  96063     }
      1	  96064     printf("?Not usable with FTP - \"%s\"\n", atmbuf);
      1	  96065     return(-9);
      1	  96066 }
	  96067 
	  96068 int
      1	  96069 doxftp() {                              /* Command parser for built-in FTP */
      1	  96070     int cx, n;
      1	  96071     struct FDB kw, fl;
      1	  96072     char * s;
      1	  96073     int usetls = 0;
      1	  96074     int lcs = -1, rcs = -1;
      1	  96075 
      1	  96076 #ifndef NOCSETS
      2	  96077     if (ftp_xla) {
      2	  96078         lcs = ftp_csl;
      2	  96079         if (lcs < 0) lcs = fcharset;
      2	  96080         rcs = ftp_csx;
      2	  96081         if (rcs < 0) rcs = ftp_csr;
      1	  96082     }
      1	  96083 #endif /* NOCSETS */
      1	  96084 
      1	  96085     if (inserver)                       /* FTP not allowed in IKSD. */
      1	  96086       return(-2);
      1	  96087 
      2	  96088     if (g_ftp_typ > -1) {               /* Restore TYPE if saved */
      2	  96089         ftp_typ = g_ftp_typ;
      2	  96090         /* g_ftp_typ = -1; */
      1	  96091     }
      1X  96092 #ifdef COMMENT
      1	  96093 /*
      1	  96094   We'll set the collision action locally in doftpget() based on whether
      1	  96095   ftp_fnc was ever set to a value.  if not, we'll use the fncact value.
      1X  96096 */
      1X  96097     if (ftp_fnc < 0)                    /* Inherit global collision action */
      1X  96098       ftp_fnc = fncact;                 /* if none specified for FTP */
      1X  96099 #endif /* COMMENT */
      1	  96100 
      1	  96101     /* Restore global verbose mode */
      1	  96102     if (ftp_deb)
      1	  96103       ftp_vbm = 1;
      1	  96104     else if (quiet)
      1	  96105       ftp_vbm = 0;
      1	  96106     else
      1	  96107       ftp_vbm = ftp_vbx;
      1	  96108 
      1	  96109     ftp_dates &= 1;			/* Undo any previous /UPDATE switch */
      1	  96110 
      1	  96111     dpyactive = 0;                      /* Reset global transfer-active flag */
      1	  96112     printlines = 0;                     /* Reset printlines */
      1	  96113 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1816
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  96114     if (fp_nml) {                       /* Reset /NAMELIST */
      2	  96115         if (fp_nml != stdout)
       E	                       ( decc$ga_stdout )
      2	  96116           fclose(fp_nml);
      2	  96117         fp_nml = NULL;
       E	                  ( ( void * ) 0 )
      1	  96118     }
      1	  96119     makestr(&ftp_nml,NULL);
       E	                      ( ( void * ) 0 )
      1	  96120 
      1	  96121     cmfdbi(&kw,                         /* First FDB - commands */
      1	  96122            _CMKEY,                      /* fcode */
       E	            5
      1	  96123            "Hostname; or FTP command",  /* help */
      1	  96124            "",                          /* default */
      1	  96125            "",                          /* addtl string data */
      1	  96126            nftpcmd,                     /* addtl numeric data 1: tbl size */
      1	  96127            0,                           /* addtl numeric data 2: none */
      1	  96128            xxstring,                    /* Processing function */
      1	  96129            ftpcmdtab,                   /* Keyword table */
      1	  96130            &fl                          /* Pointer to next FDB */
      1	  96131            );
      1	  96132     cmfdbi(&fl,                         /* A host name or address */
      1	  96133            _CMFLD,                      /* fcode */
       E	            3
      1	  96134            "Hostname or address",       /* help */
      1	  96135            "",                          /* default */
      1	  96136            "",                          /* addtl string data */
      1	  96137            0,                           /* addtl numeric data 1 */
      1	  96138            0,                           /* addtl numeric data 2 */
      1	  96139            xxstring,
      1	  96140            NULL,
       E	            ( ( void * ) 0 )
      1	  96141            NULL
       E	            ( ( void * ) 0 )
      1	  96142            );
      1	  96143     x = cmfdb(&kw);                     /* Parse a hostname or a keyword */
      2	  96144     if (x == -3) {
      2	  96145         printf("?ftp what? \"help ftp\" for hints\n");
      2	  96146         return(-9);
      1	  96147     }
      1	  96148     if (x < 0)
      1	  96149       return(x);
      2	  96150     if (cmresult.fcode == _CMFLD) {     /* If hostname */
       E	                           3
      2	  96151         return(openftp(cmresult.sresult,0)); /* go open the connection */
      2	  96152     } else {
      2	  96153         cx = cmresult.nresult;
      1	  96154     }
      2	  96155     switch (cx) {
      2	  96156       case FTP_ACC:                     /* ACCOUNT */
       E	            1
      2	  96157         if ((x = cmtxt("Remote account", "", &s, xxstring)) < 0)
      2	  96158           return(x);
      2	  96159         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96160         makestr(&ftp_acc,s);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1817
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  96161         if (testing)
      2	  96162           printf(" ftp account: \"%s\"\n",ftp_acc);
      2	  96163         success = (ftpcmd("ACCT",ftp_acc,-1,-1,ftp_vbm) == REPLY_COMPLETE);
       E	                                                            2
      2	  96164         return(success);
      2	  96165 
      2	  96166       case FTP_GUP:                     /* Go UP */
       E	            29
      2	  96167         if ((x = cmcfm()) < 0) return(x);
      2	  96168         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96169         if (testing) printf(" ftp cd: \"(up)\"\n");
      2	  96170         return(success = doftpcdup());
      2	  96171 
      2	  96172       case FTP_CWD:                     /* CD */
       E	            3
      2	  96173         if ((x = cmtxt("Remote directory", "", &s, xxstring)) < 0)
      2	  96174           return(x);
      2	  96175         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96176         ckstrncpy(line,s,LINBUFSIZ);
       E	                          ( 32763 + 10 )
      2	  96177         if (testing)
      2	  96178           printf(" ftp cd: \"%s\"\n", line);
      2	  96179         return(success = doftpcwd(line,1));
      2	  96180 
      2	  96181       case FTP_CHM:                     /* CHMOD */
       E	            4
      2	  96182         if ((x = cmfld("Permissions or protection code","",&s,xxstring)) < 0)
      2	  96183           return(x);
      2	  96184         ckstrncpy(tmpbuf,s,TMPBUFSIZ);
       E	                            ( 32763 + 10 )
      2	  96185         if ((x = cmtxt("Remote filename", "", &s, xxstring)) < 0)
      2	  96186           return(x);
      2	  96187         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96188         ckmakmsg(ftpcmdbuf,FTP_BUFSIZ,tmpbuf," ",s,NULL);
       E	                            10240
       E	                                                    ( ( void * ) 0 )
      2	  96189         if (testing)
      2	  96190           printf(" ftp chmod: %s\n",ftpcmdbuf);
      2	  96191         success =
      2	  96192           (ftpcmd("SITE CHMOD",ftpcmdbuf,lcs,rcs,ftp_vbm) == REPLY_COMPLETE);
       E	                                                              2
      2	  96193         return(success);
      2	  96194 
      2	  96195       case FTP_CLS:                     /* CLOSE FTP connection */
       E	            5
      2	  96196         if ((y = cmcfm()) < 0)
      2	  96197           return(y);
      2	  96198         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96199         if (testing)
      2	  96200           printf(" ftp closing...\n");
      2	  96201         ftpclose();
      2	  96202         return(success = 1);
      2	  96203 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1818
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  96204       case FTP_DIR:                     /* DIRECTORY of remote files */
       E	            7
      2	  96205       case FTP_VDI:
       E	            36
      2	  96206         return(doftpdir(cx));
      2	  96207 
      2	  96208       case FTP_GET:                     /* GET a remote file */
       E	            8
      2	  96209       case FTP_RGE:                     /* REGET */
       E	            19
      2	  96210       case FTP_MGE:                     /* MGET */
       E	            12
      2	  96211       case FTP_MDE:                     /* MDELETE */
       E	            10
      2	  96212         return(doftpget(cx,1));
      2	  96213 
      2	  96214       case FTP_IDL:                     /* IDLE */
       E	            9
      2	  96215         if ((x = cmnum("Number of seconds","-1",10,&z,xxstring)) < 0)
      2	  96216           return(x);
      2	  96217         if ((y = cmcfm()) < 0)
      2	  96218           return(y);
      2	  96219         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      3	  96220         if (z < 0)  {                   /* Display idle timeout */
      3	  96221             if (testing)
      3	  96222               printf(" ftp query idle timeout...\n");
      3	  96223             success = (ftpcmd("SITE IDLE",NULL,0,0,1) == REPLY_COMPLETE);
       E	                                           ( ( void * ) 0 )
       E	                                                          2
      3	  96224         } else {                        /* Set idle timeout */
      3	  96225             if (testing)
      3	  96226               printf(" ftp idle timeout set: %d...\n",z);
      3	  96227             success =
      3	  96228               (ftpcmd("SITE IDLE",ckitoa(z),0,0,1) == REPLY_COMPLETE);
       E	                                                       2
      2	  96229         }
      2	  96230         return(success);
      2	  96231 
      2	  96232       case FTP_MKD:                     /* MKDIR */
       E	            13
      2	  96233         return(doftpmkd());
      2	  96234 
      2	  96235       case FTP_MOD:                     /* MODTIME */
       E	            14
      2	  96236         if ((x = cmtxt("Remote filename", "", &s, xxstring)) < 0)
      2	  96237           return(x);
      2	  96238         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96239         ckstrncpy(line,s,LINBUFSIZ);
       E	                          ( 32763 + 10 )
      2	  96240         if (testing)
      2	  96241           printf(" ftp modtime \"%s\"...\n",line);
      2	  96242         success = 0;
      3	  96243         if (ftpcmd("MDTM",line,lcs,rcs,ftp_vbm) == REPLY_COMPLETE) {
       E	                                                    2
      3	  96244 	    success = 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1819
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  96245 	    mdtmok = 1;
      4	  96246 	    if (!quiet) {
      4	  96247 		int flag = 0;
      4	  96248 		char c, * s;
      4	  96249 		struct tm tmremote;
      4	  96250 
      4	  96251 		bzero((char *)&tmremote, sizeof(struct tm));
       E	   __MEMSET ( ( char * ) & tmremote , 0 , sizeof ( struct tm ) )
      4	  96252 		s = ftp_reply_str;
      5	  96253 		while ((c = *s++)) {
      6	  96254 		    if (c == SP) {
       E	                32
      6	  96255 			flag++;
      6	  96256 			break;
      5	  96257 		    }
      4	  96258 		}
      5	  96259 		if (flag) {
      5	  96260 		    if (sscanf(s, "%04d%02d%02d%02d%02d%02d",
      5	  96261 			       &tmremote.tm_year,
      5	  96262 			       &tmremote.tm_mon,
      5	  96263 			       &tmremote.tm_mday,
      5	  96264 			       &tmremote.tm_hour,
      5	  96265 			       &tmremote.tm_min,
      5	  96266 			       &tmremote.tm_sec
      6	  96267 			       ) == 6) {
      6	  96268 			printf(" %s %04d-%02d-%02d %02d:%02d:%02d GMT\n",
      6	  96269 			       line,
      6	  96270 			       tmremote.tm_year,
      6	  96271 			       tmremote.tm_mon,
      6	  96272 			       tmremote.tm_mday,
      6	  96273 			       tmremote.tm_hour,
      6	  96274 			       tmremote.tm_min,
      6	  96275 			       tmremote.tm_sec
      6	  96276 			       );
      6	  96277 		    } else {
      6	  96278 			success = 0;
      5	  96279 		    }
      4	  96280 		}
      3	  96281 	    }
      2	  96282         }
      2	  96283         return(success);
      2	  96284 
      2	  96285       case FTP_OPN:                     /* OPEN connection */
       E	            16
      2X  96286 #ifdef COMMENT
      2X  96287         x = cmfld("IP hostname or address","",&s,xxstring);
      2X  96288         if (x < 0) {
      2X  96289             success = 0;
      2X  96290             return(x);
      2X  96291         }
      2X  96292         ckstrncpy(line,s,LINBUFSIZ);
      2X  96293         s = line;
      2X  96294         return(openftp(s,0));
      2X  96295 #else
      3	  96296         {                               /* OPEN connection */
      3	  96297             char name[TTNAMLEN+1], *p;
       E	                       512

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1820
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  96298             extern int network;
      3	  96299             extern char ttname[];
      3	  96300             if (network)                /* If we have a current connection */
      3	  96301               ckstrncpy(name,ttname,LINBUFSIZ); /* get the host name */
       E	                                     ( 32763 + 10 )
      3	  96302             else
      3	  96303               *name = '\0';             /* as default host */
      3	  96304             for (p = name; *p; p++)     /* Remove ":service" from end. */
      3	  96305               if (*p == ':') { *p = '\0'; break; }
      3X  96306 #ifndef USETLSTAB
      3X  96307             x = cmfld("IP hostname or address",name,&s,xxstring);
      3X  96308 #else
      3	  96309             cmfdbi(&kw,                 /* First FDB - commands */
      3	  96310                    _CMKEY,              /* fcode */
       E	                    5
      3	  96311                    "Hostname or switch", /* help */
      3	  96312                    "",                  /* default */
      3	  96313                    "",                  /* addtl string data */
      3	  96314                    ntlstab,             /* addtl numeric data 1: tbl size */
      3	  96315                    0,                   /* addtl numeric data 2: none */
      3	  96316                    xxstring,            /* Processing function */
      3	  96317                    tlstab,              /* Keyword table */
      3	  96318                    &fl                  /* Pointer to next FDB */
      3	  96319                    );
      3	  96320             cmfdbi(&fl,                 /* A host name or address */
      3	  96321                    _CMFLD,              /* fcode */
       E	                    3
      3	  96322                    "Hostname or address", /* help */
      3	  96323                    "",                  /* default */
      3	  96324                    "",                  /* addtl string data */
      3	  96325                    0,                   /* addtl numeric data 1 */
      3	  96326                    0,                   /* addtl numeric data 2 */
      3	  96327                    xxstring,
      3	  96328                    NULL,
       E	                    ( ( void * ) 0 )
      3	  96329                    NULL
       E	                    ( ( void * ) 0 )
      3	  96330                    );
      3	  96331 
      4	  96332             for (n = 0;; n++) {
      4	  96333                 x = cmfdb(&kw);         /* Parse a hostname or a keyword */
      5	  96334                 if (x == -3) {
      5	  96335                   printf("?ftp open what? \"help ftp\" for hints\n");
      5	  96336                   return(-9);
      4	  96337                 }
      4	  96338                 if (x < 0)
      4	  96339                   break;
      5	  96340                 if (cmresult.fcode == _CMFLD) { /* Hostname */
       E	                                       3
      5	  96341                     s = cmresult.sresult;
      5	  96342                     break;
      5	  96343                 } else if (cmresult.nresult == OPN_TLS) {
       E	                                                7
      5	  96344                     usetls = 1;
      4	  96345                 }
      3	  96346             }
      3	  96347 #endif /* USETLSTAB */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1821
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  96348             if (x < 0) {
      4	  96349                 success = 0;
      4	  96350                 return(x);
      3	  96351             }
      3	  96352             ckstrncpy(line,s,LINBUFSIZ);
       E	                              ( 32763 + 10 )
      3	  96353             s = line;
      3	  96354             return(openftp(s,usetls));
      2	  96355         }
      2	  96356 #endif /* COMMENT */
      2	  96357 
      2	  96358       case FTP_PUT:                     /* PUT */
       E	            17
      2	  96359       case FTP_MPU:                     /* MPUT */
       E	            15
      2	  96360       case FTP_APP:                     /* APPEND */
       E	            2
      2	  96361       case FTP_REP:			/* REPUT */
       E	            39
      2	  96362         return(doftpput(cx,1));
      2	  96363 
      2	  96364       case FTP_PWD:                     /* PWD */
       E	            18
      2	  96365         x = doftppwd();
      2	  96366         if (x > -1) success = x;
      2	  96367         return(x);
      2	  96368 
      2	  96369       case FTP_REN:                     /* RENAME */
       E	            20
      2	  96370         return(doftpren());
      2	  96371 
      2	  96372       case FTP_RES:                     /* RESET */
       E	            21
      2	  96373         return(doftpres());
      2	  96374 
      2	  96375       case FTP_HLP:                     /* (remote) HELP */
       E	            22
      2	  96376         return(doftpxhlp());
      2	  96377 
      2	  96378       case FTP_RMD:                     /* RMDIR */
       E	            23
      2	  96379         return(doftprmd());
      2	  96380 
      2	  96381       case FTP_STA:                     /* STATUS */
       E	            24
      2	  96382         if ((x = cmtxt("Command", "", &s, xxstring)) < 0)
      2	  96383           return(x);
      2	  96384         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96385         ckstrncpy(line,s,LINBUFSIZ);
       E	                          ( 32763 + 10 )
      2	  96386         if (testing) printf(" ftp status \"%s\"...\n",line);
      2	  96387         success = (ftpcmd("STAT",line,lcs,rcs,1) == REPLY_COMPLETE);
       E	                                                     2
      2	  96388         return(success);
      2	  96389 
      3	  96390       case FTP_SIT: {                   /* SITE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1822
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	            25
      3	  96391 	  return(doftpsite());
      2	  96392       }
      2	  96393 
      2	  96394       case FTP_SIZ:                     /* (ask for) SIZE */
       E	            26
      2	  96395         if ((x = cmtxt("Remote filename", "", &s, xxstring)) < 0)
      2	  96396           return(x);
      2	  96397         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96398         ckstrncpy(line,s,LINBUFSIZ);
       E	                          ( 32763 + 10 )
      2	  96399         if (testing)
      2	  96400           printf(" ftp size \"%s\"...\n",line);
      2	  96401         success = (ftpcmd("SIZE",line,lcs,rcs,1) == REPLY_COMPLETE);
       E	                                                     2
      2	  96402 	if (success)
      2	  96403 	  sizeok = 1;
      2	  96404         return(success);
      2	  96405 
      2	  96406       case FTP_SYS:                     /* Ask for server's SYSTEM type */
       E	            27
      2	  96407         if ((x = cmcfm()) < 0) return(x);
      2	  96408         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96409         if (testing)
      2	  96410           printf(" ftp system...\n");
      2	  96411         success = (ftpcmd("SYST",NULL,0,0,1) == REPLY_COMPLETE);
       E	                                  ( ( void * ) 0 )
       E	                                                 2
      2	  96412         return(success);
      2	  96413 
      2	  96414       case FTP_UMA:                     /* Set/query UMASK */
       E	            28
      2	  96415         if ((x = cmfld("Umask to set or nothing to query","",&s,xxstring)) < 0)
      2	  96416           if (x != -3)
      2	  96417             return(x);
      2	  96418         ckstrncpy(tmpbuf,s,TMPBUFSIZ);
       E	                            ( 32763 + 10 )
      2	  96419         if ((x = cmcfm()) < 0) return(x);
      2	  96420         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      3	  96421         if (testing) {
      3	  96422             if (tmpbuf[0])
      3	  96423               printf(" ftp umask \"%s\"...\n",tmpbuf);
      3	  96424             else
      3	  96425               printf(" ftp query umask...\n");
      2	  96426         }
      2	  96427         success = ftp_umask(tmpbuf);
      2	  96428         return(success);
      2	  96429 
      2	  96430       case FTP_USR:
       E	            30
      2	  96431         return(doftpusr());
      2	  96432 
      2	  96433       case FTP_QUO:
       E	            31

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1823
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  96434         if ((x = cmtxt("FTP protocol command", "", &s, xxstring)) < 0)
      2	  96435           return(x);
      2	  96436         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96437         success = (ftpcmd(s,NULL,0,0,ftp_vbm) == REPLY_COMPLETE);
       E	                             ( ( void * ) 0 )
       E	                                                  2
      2	  96438         return(success);
      2	  96439 
      2	  96440       case FTP_TYP:                     /* Type */
       E	            32
      2	  96441         if ((x = cmkey(ftptyp,nftptyp,"","",xxstring)) < 0)
      2	  96442           return(x);
      2	  96443         if ((y = cmcfm()) < 0) return(y);
      2	  96444         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96445         ftp_typ = x;
      2	  96446         g_ftp_typ = x;
      2	  96447         tenex = (ftp_typ == FTT_TEN);
       E	                             6
      2	  96448         changetype(ftp_typ,ftp_vbm);
      2	  96449         return(1);
      2	  96450 
      2	  96451       case FTP_CHK:                     /* Check if remote file(s) exist(s) */
       E	            35
      2	  96452         if ((x = cmtxt("remote filename", "", &s, xxstring)) < 0)
      2	  96453           return(x);
      2	  96454         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96455         success = remote_files(1,(CHAR *)s,(CHAR *)s,0) ? 1 : 0;
       E	                                   unsigned char
       E	                                             unsigned char
      2	  96456         return(success);
      2	  96457 
      2	  96458       case FTP_FEA:                     /* RFC2389 */
       E	            33
      2	  96459         if ((y = cmcfm()) < 0)
      2	  96460           return(y);
      2	  96461         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96462 	success = (ftpcmd("FEAT",NULL,0,0,1) == REPLY_COMPLETE);
       E	                           ( ( void * ) 0 )
       E	                                          2
      3	  96463 	if (success) {
      4	  96464 	    if (sfttab[0] > 0) {
      4	  96465 		ftp_aut = sfttab[SFT_AUTH];
       E	                    1
      4	  96466 		sizeok  = sfttab[SFT_SIZE];
       E	                    8
      4	  96467 		mdtmok  = sfttab[SFT_MDTM];
       E	                    3
      4	  96468 		mlstok  = sfttab[SFT_MLST];
       E	                    4
      3	  96469 	    }
      2	  96470 	}
      2	  96471 	return(success);
      2	  96472 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1824
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  96473       case FTP_OPT:                     /* RFC2389 */
       E	            34
      2	  96474         /* Perhaps this should be a keyword list... */
      2	  96475         if ((x = cmfld("FTP command","",&s,xxstring)) < 0)
      2	  96476           return(x);
      2	  96477         CHECKCONN();
       E	         if ( ! connected ) { printf ( "%s\n" , nocx ) ; return ( - 9 ) ; }
      2	  96478         ckstrncpy(line,s,LINBUFSIZ);
       E	                          ( 32763 + 10 )
      2	  96479         if ((x = cmtxt("Options for this command", "", &s, xxstring)) < 0)
      2	  96480           return(x);
      2	  96481         success = (ftpcmd("OPTS",line,lcs,rcs,ftp_vbm) == REPLY_COMPLETE);
       E	                                                           2
      2	  96482         return(success);
      2	  96483 
      2	  96484       case FTP_ENA:			/* FTP ENABLE */
       E	            37
      2	  96485       case FTP_DIS:			/* FTP DISABLE */
       E	            38
      2	  96486         if ((x = cmkey(ftpenatab,nftpena,"","",xxstring)) < 0)
      2	  96487           return(x);
      2	  96488         if ((y = cmcfm()) < 0) return(y);
      3	  96489 	switch (x) {
      3	  96490 	  case ENA_AUTH:		/* OK to use autoauthentication */
       E	         5
      3	  96491 	    ftp_aut = (cx == FTP_ENA) ? 1 : 0;
       E	                       37
      3	  96492 	    sfttab[SFT_AUTH] = ftp_aut;
       E	             1
      3	  96493 	    break;
      3	  96494 	  case ENA_FEAT:		/* OK to send FEAT command */
       E	         1
      3	  96495 	    featok = (cx == FTP_ENA) ? 1 : 0;
       E	                      37
      3	  96496 	    break;
      3	  96497 	  case ENA_MLST:		/* OK to use MLST/MLSD */
       E	         3
      3	  96498 	    mlstok = (cx == FTP_ENA) ? 1 : 0;
       E	                      37
      3	  96499 	    sfttab[SFT_MLST] = mlstok;
       E	             4
      3	  96500 	    break;
      3	  96501 	  case ENA_MDTM:		/* OK to use MDTM */
       E	         2
      3	  96502 	    mdtmok = (cx == FTP_ENA) ? 1 : 0;
       E	                      37
      3	  96503 	    sfttab[SFT_MDTM] = mdtmok;
       E	             3
      3	  96504 	    break;
      3	  96505 	  case ENA_SIZE:		/* OK to use SIZE */
       E	         4
      3	  96506 	    sizeok = (cx == FTP_ENA) ? 1 : 0;
       E	                      37
      3	  96507 	    sfttab[SFT_SIZE] = sizeok;
       E	             8
      3	  96508 	    break;
      2	  96509 	}

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1825
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  96510 	return(success = 1);
      1	  96511     }
      1	  96512     return(-2);
      1	  96513 }
	  96514 
	  96515 #ifndef NOSHOW
	  96516 static char *
	  96517 #ifdef CK_ANSIC
	  96518 shopl( int x )
       X  96519 #else
       X  96520 shopl(x) int x;
       X  96521 #endif /* CK_ANSIC */
      1	  96522 {
      2	  96523     switch (x) {
      2	  96524       case FPL_CLR: return("clear");
       E	            1
      2	  96525       case FPL_PRV: return("private");
       E	            3
      2	  96526       case FPL_SAF: return("safe");
       E	            2
      2	  96527       case 0:  return("(not set)");
      2	  96528       default: return("(unknown)");
      1	  96529     }
      1	  96530 }
	  96531 
	  96532 int
	  96533 #ifdef CK_ANSIC
	  96534 shoftp( int brief )
       X  96535 #else
       X  96536 shoftp(brief) int brief;
       X  96537 #endif /* CK_ANSIC */
      1	  96538 {
      1	  96539     char * s = "?";
      1	  96540     int n, x;
      1	  96541 
      2	  96542     if (g_ftp_typ > -1) {               /* Restore TYPE if saved */
      2	  96543         ftp_typ = g_ftp_typ;
      2	  96544         /* g_ftp_typ = -1; */
      1	  96545     }
      1	  96546     printf("\n");
      1	  96547     printf("FTP connection:                 %s\n",connected ?
      1	  96548            ftp_host :
      1	  96549            "(none)"
      1	  96550            );
      1	  96551     n = 2;
      2	  96552     if (connected) {
      2	  96553         n++;
      2	  96554         printf("FTP server type:                %s\n",
      2	  96555                ftp_srvtyp[0] ? ftp_srvtyp : "(unknown)");
      1	  96556     }
      1	  96557     if (loggedin)
      1	  96558       printf("Logged in as:                   %s\n",
      1	  96559              strval(ftp_logname,"(unknown)"));
      1	  96560     else
      1	  96561       printf("Not logged in\n");
      1	  96562     n++;
      1	  96563     if (brief) return(0);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1826
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  96564 
      1	  96565     printf("\nSET FTP values:\n\n");
      1	  96566     n += 3;
      1	  96567 
      1	  96568     printf(" ftp anonymous-password:        %s\n",
      1	  96569 	   ftp_apw ? ftp_apw : "(default)"
      1	  96570 	   );
      1	  96571     printf(" ftp auto-login:                %s\n",showoff(ftp_log));
      1	  96572     printf(" ftp auto-authentication:       %s\n",showoff(ftp_aut));
      2	  96573     switch (ftp_typ) {
      2	  96574       case FTT_ASC: s = "text"; break;
       E	            0
      2	  96575       case FTT_BIN: s = "binary"; break;
       E	            1
      2	  96576       case FTT_TEN: s = "tenex"; break;
       E	            6
      1	  96577     }
      1	  96578 #ifdef FTP_TIMEOUT
      1	  96579     printf(" ftp timeout:                   %ld\n",ftp_timeout);
      1	  96580 #endif	/* FTP_TIMEOUT */
      1	  96581     printf(" ftp type:                      %s\n",s);
      1	  96582     printf(" ftp get-filetype-switching:    %s\n",showoff(get_auto));
      1	  96583     printf(" ftp dates:                     %s\n",showoff(ftp_dates));
      1	  96584     printf(" ftp error-action:              %s\n",ftp_err ? "quit":"proceed");
      1	  96585     printf(" ftp filenames:                 %s\n",
      1	  96586            ftp_cnv == CNV_AUTO ? "auto" : (ftp_cnv ? "converted" : "literal")
       E	                       2
      1	  96587            );
      1	  96588     printf(" ftp debug                      %s\n",showoff(ftp_deb));
      1	  96589 
      1	  96590     printf(" ftp passive-mode:              %s\n",showoff(ftp_psv));
      1	  96591     printf(" ftp permissions:               %s\n",showooa(ftp_prm));
      1	  96592     printf(" ftp verbose-mode:              %s\n",showoff(ftp_vbx));
      1	  96593     printf(" ftp send-port-commands:        %s\n",showoff(ftp_psv));
      1	  96594     printf(" ftp unique-server-names:       %s\n",showoff(ftp_usn));
      1X  96595 #ifdef COMMENT
      1X  96596     /* See note in doxftp() */
      1X  96597     if (ftp_fnc < 0)
      1X  96598       ftp_fnc = fncact;
      1X  96599 #endif /* COMMENT */
      1	  96600     printf(" ftp collision:                 %s\n",
      1	  96601 	   fncnam[ftp_fnc > -1 ? ftp_fnc : fncact]);
      1	  96602     printf(" ftp server-time-offset:        %s\n",
      1	  96603 	   fts_sto ? fts_sto : "(none)");
      1	  96604     n += 15;
      1	  96605 
      1	  96606 #ifndef NOCSETS
      1	  96607     printf(" ftp character-set-translation: %s\n",showoff(ftp_xla));
      1	  96608     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96609 
      1	  96610     printf(" ftp server-character-set:      %s\n",fcsinfo[ftp_csr].keyword);
      1	  96611     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96612 
      1	  96613     printf(" file character-set:            %s\n",fcsinfo[fcharset].keyword);
      1	  96614     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96615 #endif /* NOCSETS */
      1	  96616 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1827
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  96617     x = ftp_dis;
      1	  96618     if (x < 0)
      1	  96619       x = fdispla;
      2	  96620     switch (x) {
      2	  96621       case XYFD_N: s = "none"; break;
       E	            0
      2	  96622       case XYFD_R: s = "serial"; break;
       E	            1
      2	  96623       case XYFD_C: s = "fullscreen"; break;
       E	            2
      2	  96624       case XYFD_S: s = "crt"; break;
       E	            3
      2	  96625       case XYFD_B: s = "brief"; break;
       E	            4
      1	  96626     }
      1	  96627     printf(" ftp display:                   %s\n",s);
      1	  96628     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96629 
      2	  96630     if (mlstok || featok || mdtmok || sizeok || ftp_aut) {
      2	  96631 	printf(" enabled:                      ");
      2	  96632 	if (ftp_aut) printf(" AUTH");
      2	  96633 	if (featok)  printf(" FEAT");
      2	  96634 	if (mdtmok)  printf(" MDTM");
      2	  96635 	if (mlstok)  printf(" MLST");
      2	  96636 	if (sizeok)  printf(" SIZE");
      2	  96637 	printf("\n");
      2	  96638 	if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96639     }
      2	  96640     if (!mlstok || !featok || !mdtmok || !sizeok || !ftp_aut) {
      2	  96641 	printf(" disabled:                     ");
      2	  96642 	if (!ftp_aut) printf(" AUTH");
      2	  96643 	if (!featok)  printf(" FEAT");
      2	  96644 	if (!mdtmok)  printf(" MDTM");
      2	  96645 	if (!mlstok)  printf(" MLST");
      2	  96646 	if (!sizeok)  printf(" SIZE");
      2	  96647 	printf("\n");
      2	  96648 	if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96649     }
      2	  96650     switch (ftpget) {
      2	  96651       case 0: s = "kermit"; break;
      2	  96652       case 1: s = "ftp"; break;
      2	  96653       case 2: s = "auto"; break;
      2	  96654       default: s = "?";
      1	  96655     }
      1	  96656     printf(" get-put-remote:                %s\n",s);
      1	  96657     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96658 
      1	  96659     printf("\n");
      1	  96660     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96661 
      1	  96662 #ifdef FTP_SECURITY
      1	  96663     printf("Available security methods:    ");
      1X  96664 #ifdef FTP_GSSAPI
      1X  96665     printf("GSSAPI ");
      1X  96666 #endif /* FTP_GSSAPI */
      1X  96667 #ifdef FTP_KRB4
      1X  96668     printf("Kerberos4 ");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1828
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  96669 #endif /* FTP_KRB4 */
      1X  96670 #ifdef FTP_SRP
      1X  96671     printf("SRP ");
      1X  96672 #endif /* FTP_SRP */
      1X  96673 #ifdef FTP_SSL
      1X  96674     printf("SSL ");
      1X  96675 #endif /* FTP_SSL */
      1	  96676 
      1	  96677     n++;
      1	  96678     printf("\n\n");
      1	  96679     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96680     printf(" ftp authtype:                  %s\n",strval(auth_type,NULL));
       E	                                                                    ( ( void * ) 0 )
      1	  96681     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96682     printf(" ftp auto-encryption:           %s\n",showoff(ftp_cry));
      1	  96683     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96684     printf(" ftp credential-forwarding:     %s\n",showoff(ftp_cfw));
      1	  96685     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96686     printf(" ftp command-protection-level:  %s\n",shopl(ftp_cpl));
      1	  96687     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96688     printf(" ftp data-protection-level:     %s\n",shopl(ftp_dpl));
      1	  96689     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1	  96690     printf(" ftp secure proxy:              %s\n",shopl(ssl_ftp_proxy));
      1	  96691     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1X  96692 #else
      1X  96693     printf("Available security methods:     (none)\n");
      1X  96694     if (++ n > cmd_rows-3) { if (!askmore()) return 0; else n = 0; }
      1X  96695 #endif /* FTP_SECURITY */
      1	  96696 
      1	  96697     if (n <= cmd_rows - 3)
      1	  96698       printf("\n");
      1	  96699     return(0);
      1	  96700 }
	  96701 #endif /* NOSHOW */
	  96702 
	  96703 #ifndef NOHELP
	  96704 /* FTP HELP text strings */
	  96705 
	  96706 static char * fhs_ftp[] = {
	  96707     "Syntax: FTP subcommand [ operands ]",
	  96708     "  Makes an FTP connection, or sends a command to the FTP server.",
	  96709     "  To see a list of available FTP subcommands, type \"ftp ?\".",
	  96710     "  and then use HELP FTP xxx to get help about subcommand xxx.",
	  96711     "  Also see HELP SET FTP, HELP SET GET-PUT-REMOTE, and HELP FIREWALL.",
	  96712     ""
	  96713 };
	  96714 
	  96715 static char * fhs_acc[] = {             /* ACCOUNT */
	  96716     "Syntax: FTP ACCOUNT text",
	  96717     "  Sends an account designator to an FTP server that needs one.",
	  96718     "  Most FTP servers do not use accounts; some use them for other",
	  96719     "  other purposes, such as disk-access passwords.",
	  96720     ""
	  96721 };
	  96722 static char * fhs_app[] = {             /* APPEND */
	  96723     "Syntax: FTP APPEND filname",
	  96724     "  Equivalent to [ FTP ] PUT /APPEND.  See HELP FTP PUT.",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1829
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  96725     ""
	  96726 };
	  96727 static char * fhs_cls[] = {             /* BYE, CLOSE */
	  96728     "Syntax: [ FTP ] BYE",
	  96729     "  Logs out from the FTP server and closes the FTP connection.",
	  96730     "  Also see HELP SET GET-PUT-REMOTE.  Synonym: [ FTP ] CLOSE.",
	  96731     ""
	  96732 };
	  96733 static char * fhs_cwd[] = {             /* CD, CWD */
	  96734     "Syntax: [ FTP ] CD directory",
	  96735     "  Asks the FTP server to change to the given directory.",
	  96736     "  Also see HELP SET GET-PUT-REMOTE.  Synonyms: [ FTP ] CWD, RCD, RCWD.",
	  96737     ""
	  96738 };
	  96739 static char * fhs_gup[] = {             /* CDUP, UP */
	  96740     "Syntax: FTP CDUP",
	  96741     "  Asks the FTP server to change to the parent directory of its current",
	  96742     "  directory.  Also see HELP SET GET-PUT-REMOTE.  Synonym: FTP UP.",
	  96743     ""
	  96744 };
	  96745 static char * fhs_chm[] = {             /* CHMOD */
	  96746     "Syntax: FTP CHMOD filename permissions",
	  96747     "  Asks the FTP server to change the permissions, protection, or mode of",
	  96748     "  the given file.  The given permissions must be in the syntax of the",
	  96749     "  the server's file system, e.g. an octal number for UNIX.  Also see",
	  96750     "  FTP PUT /PERMISSIONS",
	  96751     ""
	  96752 };
	  96753 static char * fhs_mde[] = {             /* DELETE */
	  96754     "Syntax: FTP DELETE [ switches ] filespec",
	  96755     "  Asks the FTP server to delete the given file or files.",
	  96756     "  Synonym: MDELETE (Kermit makes no distinction between single and",
	  96757     "  multiple file deletion).  Optional switches:",
	  96758     " ",
	  96759     "  /ERROR-ACTION:{PROCEED,QUIT}",
	  96760     "  /EXCEPT:pattern",
	  96761     "  /FILENAMES:{AUTO,CONVERTED,LITERAL}",
	  96762     "  /LARGER-THAN:number",
       X  96763 #ifdef UNIXOROSK
       X  96764     "  /NODOTFILES",
       X  96765 #endif /* UNIXOROSK */
	  96766     "  /QUIET",
	  96767 #ifdef RECURSIVE
	  96768     "  /RECURSIVE (depends on server)",
	  96769     "  /SUBDIRECTORIES",
	  96770 #endif /* RECURSIVE */
	  96771     "  /SMALLER-THAN:number",
	  96772     ""
	  96773 };
	  96774 static char * fhs_dir[] = {             /* DIRECTORY */
	  96775     "Syntax: FTP DIRECTORY [ filespec ]",
	  96776     "  Asks the server to send a directory listing of the files that match",
	  96777     "  the given filespec, or if none is given, all the files in its current",
	  96778     "  directory.  The filespec, including any wildcards, must be in the",
	  96779     "  syntax of the server's file system.  Also see HELP SET GET-PUT-REMOTE.",
	  96780     "  Synonym: RDIRECTORY.",
	  96781     ""

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1830
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  96782 };
	  96783 static char * fhs_vdi[] = {             /* VDIRECTORY */
	  96784     "Syntax: FTP VDIRECTORY [ filespec ]",
	  96785     "  Asks the server to send a directory listing of the files that match",
	  96786     "  the given filespec, or if none is given, all the files in its current",
	  96787     "  directory.  VDIRECTORY is needed for getting verbose directory",
	  96788     "  listings from certain FTP servers, such as on TOPS-20.  Try it if",
	  96789     "  FTP DIRECTORY lists only filenames without details.",
	  96790     ""
	  96791 };
	  96792 static char * fhs_fea[] = {             /* FEATURES */
	  96793     "Syntax: FTP FEATURES",
	  96794     "  Asks the FTP server to list its special features.  Most FTP servers",
	  96795     "  do not recognize this command.",
	  96796     ""
	  96797 };
	  96798 static char * fhs_mge[] = {             /* MGET */
	  96799     "Syntax: [ FTP ] MGET [ options ] filespec [ filespec [ filespec ... ] ]",
	  96800     "  Download a single file or multiple files.  Asks the FTP server to send",
	  96801     "  the given file or files.  Also see FTP GET.  Optional switches:",
	  96802     " ",
	  96803     "  /AS-NAME:text",
	  96804     "    Name under which to store incoming file.",
	  96805     "    Pattern required for for multiple files.",
	  96806     "  /BINARY",                        /* /IMAGE */
	  96807     "    Force binary mode.  Synonym: /IMAGE.",
	  96808     "  /COLLISION:{BACKUP,RENAME,UPDATE,DISCARD,APPEND,OVERWRITE}",
	  96809    "    What to do if an incoming file has the same name as an existing file.",
	  96810 
       X  96811 #ifdef PUTPIPE
       X  96812     "  /COMMAND",
       X  96813     "    Specifies that the as-name is a command to which the incoming file",
       X  96814     "    is to be piped as standard input.",
       X  96815 #endif /* PUTPIPE */
	  96816 
	  96817 #ifdef DOUPDATE
	  96818     "  /DATES-DIFFER",
	  96819     "    Download only those files whose modification date-times differ from",
	  96820     "    those of the corresponding local files, or that do not already",
	  96821     "    exist on the local computer.",
	  96822 #endif /* DOUPDATE */
	  96823 
	  96824     "  /DELETE",
	  96825     "    Specifies that each file is to be deleted from the server after,",
	  96826     "    and only if, it is successfully downloaded.",
	  96827     "  /ERROR-ACTION:{PROCEED,QUIT}",
	  96828     "    When downloading a group of files, what to do upon failure to",
	  96829     "    transfer a file: quit or proceed to the next one.",
	  96830     "  /EXCEPT:pattern",
	  96831     "    Exception list: don't download any files that match this pattern.",
	  96832     "    See HELP WILDCARD for pattern syntax.",
	  96833     "  /FILENAMES:{AUTOMATIC,CONVERTED,LITERAL}",
	  96834     "    Whether to convert incoming filenames to local syntax.",
       X  96835 #ifdef PIPESEND
       X  96836 #ifndef NOSPL
       X  96837     "  /FILTER:command",
       X  96838     "    Pass incoming files through the given command.",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1831
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  96839 #endif /* NOSPL */
       X  96840 #endif /* PIPESEND */
	  96841     "  /LARGER-THAN:number",
	  96842     "    Only download files that are larger than the given number of bytes.",
	  96843     "  /LISTFILE:filename",
	  96844     "    Obtain the list of files to download from the given file.",
	  96845 #ifndef NOCSETS
	  96846     "  /LOCAL-CHARACTER-SET:name",
	  96847     "    When downloading in text mode and character-set conversion is",
	  96848     "    desired, this specifies the target set.",
	  96849 #endif /* NOCSETS */
	  96850     "  /MATCH:pattern",
	  96851     "    Specifies a pattern to be used to select filenames locally from the",
	  96852     "    server's list.",
	  96853     "  /MLSD",
	  96854     "    Forces sending of MLSD (rather than NLST) to get the file list.",
	  96855 #ifdef CK_TMPDIR
	  96856     "  /MOVE-TO:directory",
	  96857     "    Each file that is downloaded is to be moved to the given local",
	  96858     "    directory immediately after, and only if, it has been received",
	  96859     "    successfully.",
	  96860 #endif /* CK_TMPDIR */
	  96861     "  /NAMELIST:filename",
	  96862     "    Instead of downloading the files, stores the list of files that",
	  96863     "    would be downloaded in the given local file, one filename per line.",
	  96864     "  /NLST",
	  96865     "    Forces sending of NLST (rather than MLSD) to get the file list.",
	  96866     "  /NOBACKUPFILES",
	  96867     "    Don't download any files whose names end with .~<number>~.",
	  96868     "  /NODOTFILES",
	  96869     "    Don't download any files whose names begin with period (.).",
	  96870     "  /QUIET",
	  96871     "    Suppress the file-transfer display.",
	  96872 #ifdef FTP_RESTART
	  96873     "  /RECOVER",                       /* /RESTART */
	  96874     "    Resume a download that was previously interrupted from the point of",
	  96875     "    failure.  Works only in binary mode.  Not supported by all servers.",
	  96876     "    Synonym: /RESTART.",
	  96877 #endif /* FTP_RESTART */
	  96878 #ifdef RECURSIVE
	  96879     "  /RECURSIVE",                     /* /SUBDIRECTORIES */
	  96880     "    Create subdirectories automatically if the server sends files",
	  96881     "    recursively and includes pathnames (most don't).",
	  96882 #endif /* RECURSIVE */
	  96883     "  /RENAME-TO:text",
	  96884     "    Each file that is downloaded is to be renamed as indicated just,",
	  96885     "    after, and only if, it has arrived successfully.",
	  96886 #ifndef NOCSETS
	  96887     "  /SERVER-CHARACTER-SET:name",
	  96888     "    When downloading in text mode and character-set conversion is desired"
	  96889 ,   "    this specifies the original file's character set on the server.",
	  96890 #endif /* NOCSETS */
	  96891     "  /SERVER-RENAME:text",
	  96892     "    Each server source file is to be renamed on the server as indicated",
	  96893     "    immediately after, but only if, it has arrived successfully.",
	  96894     "  /SMALLER-THAN:number",
	  96895     "    Download only those files smaller than the given number of bytes.",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1832
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  96896     "  /TEXT",                          /* /ASCII */
	  96897     "    Force text mode.  Synonym: /ASCII.",
	  96898     "  /TENEX",
	  96899     "    Force TENEX (TOPS-20) mode (see HELP SET FTP TYPE).",
	  96900 #ifndef NOCSETS
	  96901     "  /TRANSPARENT",
	  96902     "    When downloading in text mode, do not convert chracter-sets.",
	  96903 #endif /* NOCSETS */
	  96904     "  /TO-SCREEN",
	  96905     "    The downloaded file is to be displayed on the screen.",
	  96906 #ifdef DOUPDATE
	  96907     "  /UPDATE",
	  96908     "    Equivalent to /COLLISION:UPDATE.  Download only those files that are",
	  96909     "    newer than than their local counterparts, or that do not exist on",
	  96910     "    the local computer.",
	  96911 #endif /* DOUPDATE */
	  96912     ""
	  96913 };
	  96914 static char * fhs_hlp[] = {             /* HELP */
	  96915     "Syntax: FTP HELP [ command [ subcommand... ] ]",
	  96916     "  Asks the FTP server for help about the given command.  First use",
	  96917     "  FTP HELP by itself to get a list of commands, then use HELP FTP xxx",
	  96918     "  to get help for command \"xxx\".  Synonyms: REMOTE HELP, RHELP.",
	  96919     ""
	  96920 };
	  96921 static char * fhs_idl[] = {             /* IDLE */
	  96922     "Syntax: FTP IDLE [ number ]",
	  96923     "  If given without a number, this asks the FTP server to tell its",
	  96924     "  current idle-time limit.  If given with a number, it asks the server",
	  96925     "  to change its idle-time limit to the given number of seconds.",
	  96926     ""
	  96927 };
	  96928 static char * fhs_usr[] = {             /* USER, LOGIN */
	  96929     "Syntax: FTP USER username [ password [ account ] ]",
	  96930     "  Log in to the FTP server.  To be used when connected but not yet",
	  96931     "  logged in, e.g. when SET FTP AUTOLOGIN is OFF or autologin failed.",
	  96932     "  If you omit the password, and one is required by the server, you are",
	  96933     "  prompted for it.  If you omit the account, no account is sent.",
	  96934     "  Synonym: FTP LOGIN.",
	  96935     ""
	  96936 };
	  96937 static char * fhs_get[] = {             /* GET */
	  96938     "Syntax: [ FTP ] GET [ options ] filename [ as-name ]",
	  96939     "  Download a single file.  Asks the FTP server to send the given file.",
	  96940     "  The optional as-name is the name to store it under when it arrives;",
	  96941     "  if omitted, the file is stored with the name it arrived with, as",
	  96942     "  modified according to the FTP FILENAMES setting or /FILENAMES: switch",
	  96943     "  value.  Aside from the file list and as-name, syntax and options are",
	  96944     "  the same as for FTP MGET, which is used for downloading multiple files."
	  96945 ,   ""
	  96946 };
	  96947 static char * fhs_mkd[] = {             /* MKDIR */
	  96948     "Syntax: FTP MKDIR directory",
	  96949     "  Asks the FTP server to create a directory with the given name,",
	  96950     "  which must be in the syntax of the server's file system.  Synonyms:",
	  96951     "  REMOTE MKDIR, RMKDIR.",
	  96952     ""

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1833
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  96953 };
	  96954 static char * fhs_mod[] = {             /* MODTIME */
	  96955     "Syntax: FTP MODTIME filename",
	  96956     "  Asks the FTP server to send the modification time of the given file,",
	  96957     "  to be displayed on the screen.  The date-time format is all numeric:",
	  96958     "  yyyymmddhhmmssxxx... (where xxx... is 0 or more digits indicating",
	  96959     "  fractions of seconds).",
	  96960     ""
	  96961 };
	  96962 static char * fhs_mpu[] = {             /* MPUT */
	  96963     "Syntax: [ FTP ] MPUT [ switches ] filespec [ filespec [ filespec ... ] ]",
	  96964     "  Uploads files.  Sends the given file or files to the FTP server.",
	  96965     "  Also see FTP PUT.  Optional switches are:",
	  96966     " ",
	  96967     "  /AFTER:date-time",
	  96968     "    Uploads only those files newer than the given date-time.",
	  96969     "    HELP DATE for info about date-time formats.  Synonym: /SINCE.",
	  96970 #ifdef PUTARRAY
	  96971     "  /ARRAY:array-designator",
	  96972     "    Tells Kermit to upload the contents of the given array, rather than",
	  96973     "    a file.",
	  96974 #endif /* PUTARRAY */
	  96975     "  /AS-NAME:text",
	  96976     "    Name under which to send files.",
	  96977     "    Pattern required for for multiple files.",
	  96978     "  /BEFORE:date-time",
	  96979     "    Upload only those files older than the given date-time.",
	  96980     "  /BINARY",
	  96981     "    Force binary mode.  Synonym: /IMAGE.",
       X  96982 #ifdef PUTPIPE
       X  96983     "  /COMMAND",
       X  96984     "    Specifies that the filespec is a command whose standard output is",
       X  96985     "    to be sent.",
       X  96986 #endif /* PUTPIPE */
	  96987 
       X  96988 #ifdef COMMENT
       X  96989 #ifdef DOUPDATE
       X  96990     "  /DATES-DIFFER",
       X  96991     "    Upload only those files whose modification date-times differ from",
       X  96992     "    those on the server, or that don't exist on the server at all.",
       X  96993 #endif /* DOUPDATE */
       X  96994 #endif /* COMMENT */
	  96995 
	  96996     "  /DELETE",
	  96997     "    Specifies that each source file is to be deleted after, and only if,",
	  96998     "    it is successfully uploaded.",
	  96999     "  /DOTFILES",
	  97000     "    Include files whose names begin with period (.).",
	  97001     "  /ERROR-ACTION:{PROCEED,QUIT}",
	  97002     "    When uploading a group of files, what to do upon failure to",
	  97003     "    transfer a file: quit or proceed to the next one.",
	  97004     "  /EXCEPT:pattern",
	  97005     "    Exception list: don't upload any files that match this pattern.",
	  97006     "    See HELP WILDCARD for pattern syntax.",
	  97007     "  /FILENAMES:{AUTOMATIC,CONVERTED,LITERAL}",
	  97008     "    Whether to convert outbound filenames to common syntax.",
       X  97009 #ifdef PIPESEND

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1834
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  97010 #ifndef NOSPL
       X  97011     "  /FILTER:command",
       X  97012     "    Pass outbound files through the given command.",
       X  97013 #endif /* NOSPL */
       X  97014 #endif /* PIPESEND */
       X  97015 #ifdef CKSYMLINK
       X  97016     "  /FOLLOWINKS",
       X  97017     "    Send files that are pointed to by symbolic links.",
       X  97018     "  /NOFOLLOWINKS",
       X  97019     "    Skip over symbolic links (default).",
       X  97020 #endif /* CKSYMLINK */
	  97021     "  /LARGER-THAN:number",
	  97022     "    Only upload files that are larger than the given number of bytes.",
	  97023     "  /LISTFILE:filename",
	  97024     "    Obtain the list of files to upload from the given file.",
	  97025 #ifndef NOCSETS
	  97026     "  /LOCAL-CHARACTER-SET:name",
	  97027     "    When uploading in text mode and character-set conversion is",
	  97028     "    desired, this specifies the source-file character set.",
	  97029 #endif /* NOCSETS */
	  97030 #ifdef CK_TMPDIR
	  97031     "  /MOVE-TO:directory",
	  97032     "    Each source file that is uploaded is to be moved to the given local",
	  97033     "    directory when, and only if, the transfer is successful.",
	  97034 #endif /* CK_TMPDIR */
	  97035     "  /NOBACKUPFILES",
	  97036     "    Don't upload any files whose names end with .~<number>~.",
       X  97037 #ifdef UNIXOROSK
       X  97038     "  /NODOTFILES",
       X  97039     "    Don't upload any files whose names begin with period (.).",
       X  97040 #endif /* UNIXOROSK */
	  97041     "  /NOT-AFTER:date-time",
	  97042     "    Upload only files that are not newer than the given date-time",
	  97043     "  /NOT-BEFORE:date-time",
	  97044     "    Upload only files that are not older than the given date-time",
       X  97045 #ifdef UNIX
       X  97046     "  /PERMISSIONS",
       X  97047     "    Ask the server to set the permissions of each file it receives",
       X  97048     "    according to the source file's permissions.",
       X  97049 #endif /* UNIX */
	  97050     "  /QUIET",
	  97051     "    Suppress the file-transfer display.",
	  97052 #ifdef FTP_RESTART
	  97053     "  /RECOVER",
	  97054     "    Resume an upload that was previously interrupted from the point of",
	  97055     "    failure.  Synonym: /RESTART.",
	  97056 #endif /* FTP_RESTART */
	  97057 #ifdef RECURSIVE
	  97058     "  /RECURSIVE",
	  97059     "    Send files from the given directory and all the directories beneath",
	  97060     "    it.  Synonym: /SUBDIRECTORIES.",
	  97061 #endif /* RECURSIVE */
	  97062     "  /RENAME-TO:text",
	  97063     "    Each source file that is uploaded is to be renamed on the local",
	  97064     "    local computer as indicated when and only if, the transfer completes",
	  97065     "    successfully.",
	  97066 #ifndef NOCSETS

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1835
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  97067     "  /SERVER-CHARACTER-SET:name",
	  97068     "    When uploading in text mode and character-set conversion is desired,",
	  97069     "    this specifies the character set to which the file should be",
	  97070     "    converted for storage on the server.",
	  97071 #endif /* NOCSETS */
	  97072     "  /SERVER-RENAME:text",
	  97073     "    Each file that is uploaded is to be renamed as indicated on the",
	  97074     "    server after, and only if, if arrives successfully.",
	  97075     "  /SIMULATE",
	  97076     "    Show which files would be sent without actually sending them.",
	  97077     "  /SMALLER-THAN:number",
	  97078     "    Upload only those files smaller than the given number of bytes.",
	  97079     "  /TEXT",
	  97080     "    Force text mode.  Synonym: /ASCII.",
	  97081     "  /TENEX",
	  97082     "    Force TENEX (TOPS-20) mode (see HELP SET FTP TYPE).",
	  97083 #ifndef NOCSETS
	  97084     "  /TRANSPARENT",
	  97085     "    When uploading in text mode, do not convert chracter-sets.",
	  97086 #endif /* NOCSETS */
	  97087     "  /TYPE:{TEXT,BINARY}",
	  97088     "    Upload only files of the given type.",
	  97089 #ifdef DOUPDATE
	  97090     "  /UPDATE",
	  97091     "    If a file of the same name exists on the server, upload only if",
	  97092     "    the local file is newer.",
	  97093 #endif /* DOUPDATE */
	  97094     "  /UNIQUE-SERVER-NAMES",
	  97095     "    Ask the server to compute new names for any incoming file that has",
	  97096     "    the same name as an existing file.",
	  97097     ""
	  97098 };
	  97099 static char * fhs_opn[] = {             /* OPEN */
	  97100 #ifdef CK_SSL
	  97101     "Syntax: FTP [ OPEN ] [ { /SSL, /TLS } ] hostname [ port ] [ switches ]",
	  97102     "  Opens a connection to the FTP server on the given host.  The default",
	  97103     "  TCP port is 21 (990 if SSL/TLS is used), but a different port number",
	  97104     "  can be supplied if necessary.  Optional switches are:",
       X  97105 #else /* CK_SSL */
       X  97106     "Syntax: FTP [ OPEN ] hostname [ port ] [ switches ]",
       X  97107     "  Opens a connection to the FTP server on the given host.  The default",
       X  97108     "  TCP port is 21, but a different port number can be supplied if",
       X  97109     "  necessary.  Optional switches are:",
       X  97110 #endif /* CK_SSL */
	  97111     " ",
	  97112     "  /ANONYMOUS",
	  97113     "    Logs you in anonymously.",
	  97114     "  /USER:text",
	  97115     "    Supplies the given text as your username.",
	  97116     "  /PASSWORD:text",
	  97117     "    Supplies the given text as your password.  If you include a username",
	  97118     "    but omit this switch and the server requires a password, you are",
	  97119     "    prompted for it.",
	  97120     "  /ACCOUNT:text",
	  97121     "    Supplies the given text as your account, if required by the server.",
	  97122     "  /ACTIVE",
	  97123     "    Forces an active (rather than passive) connection.",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1836
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  97124     "  /PASSIVE",
	  97125     "    Forces a passive (rather than active) connection.",
	  97126     "  /NOINIT",
	  97127     "    Inhibits sending initial REST, STRU, and MODE commands, which are",
	  97128     "    well-known standard commands, but to which some servers react badly.",
	  97129     "  /NOLOGIN",
	  97130     "    Inhibits autologin for this connection only.",
	  97131     ""
	  97132 };
	  97133 static char * fhs_opt[] = {             /* OPTS, OPTIONS */
	  97134     "Syntax: FTP OPTIONS",
	  97135     "  Asks the FTP server to list its current options.  Advanced, new,",
	  97136     "  not supported by most FTP servers.",
	  97137     ""
	  97138 };
	  97139 static char * fhs_put[] = {             /* PUT, SEND */
	  97140     "Syntax: [ FTP ] PUT [ switches ] filespec [ as-name ]",
	  97141     "  Like FTP MPUT, but only one filespec is allowed, and if it is followed",
	  97142     "  by an additional field, this is interpreted as the name under which",
	  97143     "  to send the file or files.  See HELP FTP MPUT.",
	  97144     ""
	  97145 };
	  97146 static char * fhs_reput[] = {		/* REPUT, RESEND */
	  97147     "Syntax: [ FTP ] REPUT [ switches ] filespec [ as-name ]",
	  97148     "  Synonym for FTP PUT /RECOVER.  Recovers an interrupted binary-mode",
	  97149     "  upload from the point of failure if the FTP server supports recovery.",
	  97150     "  Synonym: [ FTP ] RESEND.  For details see HELP FTP MPUT.",
	  97151     ""
	  97152 };
	  97153 static char * fhs_pwd[] = {             /* PWD */
	  97154     "Syntax: FTP PWD",
	  97155     "  Asks the FTP server to reveal its current working directory.",
	  97156     "  Synonyms: REMOTE PWD, RPWD.",
	  97157     ""
	  97158 };
	  97159 static char * fhs_quo[] = {             /* QUOTE */
	  97160     "Syntax: FTP QUOTE text",
	  97161     "  Sends an FTP protocol command to the FTP server.  Use this command",
	  97162     "  for sending commands that Kermit might not support.",
	  97163     ""
	  97164 };
	  97165 static char * fhs_rge[] = {             /* REGET */
	  97166     "Syntax: FTP REGET",
	  97167     "  Synonym for FTP GET /RECOVER.",
	  97168     ""
	  97169 };
	  97170 static char * fhs_ren[] = {             /* RENAME */
	  97171     "Syntax: FTP RENAME name1 name1",
	  97172     "  Asks the FTP server to change the name of the file whose name is name1",
	  97173     "  and which resides in the FTP server's file system, to name2.  Works",
	  97174     "  only for single files; wildcards are not accepted.",
	  97175     ""
	  97176 };
	  97177 static char * fhs_res[] = {             /* RESET */
	  97178     "Syntax: FTP RESET",
	  97179     "  Asks the server to log out your session, terminating your access",
	  97180     "  rights, without closing the connection.",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1837
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  97181     ""
	  97182 };
	  97183 static char * fhs_rmd[] = {             /* RMDIR */
	  97184     "Syntax: FTP RMDIR directory",
	  97185     "  Asks the FTP server to remove the directory whose name is given.",
	  97186     "  This usually requires the directory to be empty.  Synonyms: REMOTE",
	  97187     "  RMDIR, RRMDIR.",
	  97188     ""
	  97189 };
	  97190 static char * fhs_sit[] = {             /* SITE */
	  97191     "Syntax: FTP SITE text",
	  97192     "  Sends a site-specific command to the FTP server.",
	  97193     ""
	  97194 };
	  97195 static char * fhs_siz[] = {             /* SIZE */
	  97196     "Syntax: FTP SIZE filename",
	  97197     "  Asks the FTP server to send a numeric string representing the size",
	  97198     "  of the given file.",
	  97199     ""
	  97200 };
	  97201 static char * fhs_sta[] = {             /* STATUS */
	  97202     "Syntax: FTP STATUS [ filename ]",
	  97203     "  Asks the FTP server to report its status.  If a filename is given,",
	  97204     "  the FTP server should report details about the file.",
	  97205     ""
	  97206 };
	  97207 static char * fhs_sys[] = {             /* SYSTEM */
	  97208     "Syntax: FTP SYSTEM",
	  97209     "  Asks the FTP server to report its operating system type.",
	  97210     ""
	  97211 };
	  97212 static char * fhs_typ[] = {             /* TYPE */
	  97213     "Syntax: FTP TYPE { TEXT, BINARY, TENEX }",
	  97214     "  Puts the client and server in the indicated transfer mode.",
	  97215     "  ASCII is a synonym for TEXT.  TENEX is used only for uploading 8-bit",
	  97216     "  binary files to a 36-bit platforms such as TENEX or TOPS-20 and/or",
	  97217     "  downloading files from TENEX or TOPS-20 that have been uploaded in",
	  97218     "  TENEX mode.",
	  97219     ""
	  97220 };
	  97221 static char * fhs_uma[] = {             /* UMASK */
	  97222     "Syntax: FTP UMASK number",
	  97223     "  Asks the FTP server to set its file creation mode mask.  Applies",
	  97224     "  only (or mainly) to UNIX-based FTP servers.",
	  97225     ""
	  97226 };
	  97227 static char * fhs_chk[] = {             /* CHECK */
	  97228     "Syntax: FTP CHECK remote-filespec",
	  97229     "  Asks the FTP server if the given file or files exist.  If the",
	  97230     "  remote-filespec contains wildcards, this command fails if no server",
	  97231     "  files match, and succeeds if at least one file matches.  If the",
	  97232     "  remote-filespec does not contain wildcards, this command succeeds if",
	  97233     "  the given file exists and fails if it does not.",
	  97234     ""
	  97235 };
	  97236 static char * fhs_ena[] = {		/* ENABLE */
	  97237     "Syntax: FTP ENABLE { AUTH, FEAT, MDTM, MLST, SIZE }",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1838
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  97238     "  Enables the use of the given FTP protocol command in case it has been",
	  97239     "  disabled (but this is no guarantee that the FTP server understands it)."
	  97240 ,
	  97241     "  Use SHOW FTP to see which of these commands is enabled and disabled.",
	  97242     "  Also see FTP DISABLE.",
	  97243     ""
	  97244 };
	  97245 static char * fhs_dis[] = {		/* DISABLE */
	  97246     "Syntax: FTP DISABLE { AUTH, FEAT, MDTM, MLST, SIZE }",
	  97247     "  Disables the use of the given FTP protocol command.",
	  97248     "  Also see FTP ENABLE.",
	  97249     ""
	  97250 };
	  97251 
	  97252 #endif /* NOHELP */
	  97253 
	  97254 int
      1	  97255 doftphlp() {
      1	  97256     int cx;
      1	  97257     if ((cx = cmkey(ftpcmdtab,nftpcmd,"","",xxstring)) < 0)
      1	  97258       if (cx != -3)
      1	  97259         return(cx);
      1	  97260     if ((x = cmcfm()) < 0)
      1	  97261       return(x);
      1	  97262 
      1X  97263 #ifdef NOHELP
      1X  97264     printf("Sorry, no help available\n");
      1X  97265 #else
      2	  97266     switch (cx) {
      2	  97267       case -3:
      2	  97268         return(hmsga(fhs_ftp));
      2	  97269       case FTP_ACC:                     /* ACCOUNT */
       E	            1
      2	  97270         return(hmsga(fhs_acc));
      2	  97271       case FTP_APP:                     /* APPEND */
       E	            2
      2	  97272         return(hmsga(fhs_app));
      2	  97273       case FTP_CLS:                     /* BYE, CLOSE */
       E	            5
      2	  97274         return(hmsga(fhs_cls));
      2	  97275       case FTP_CWD:                     /* CD, CWD */
       E	            3
      2	  97276         return(hmsga(fhs_cwd));
      2	  97277       case FTP_GUP:                     /* CDUP, UP */
       E	            29
      2	  97278         return(hmsga(fhs_gup));
      2	  97279       case FTP_CHM:                     /* CHMOD */
       E	            4
      2	  97280         return(hmsga(fhs_chm));
      2	  97281       case FTP_MDE:                     /* DELETE, MDELETE */
       E	            10
      2	  97282         return(hmsga(fhs_mde));
      2	  97283       case FTP_DIR:                     /* DIRECTORY */
       E	            7
      2	  97284         return(hmsga(fhs_dir));
      2	  97285       case FTP_VDI:                     /* VDIRECTORY */
       E	            36

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1839
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97286         return(hmsga(fhs_vdi));
      2	  97287       case FTP_FEA:                     /* FEATURES */
       E	            33
      2	  97288         return(hmsga(fhs_fea));
      2	  97289       case FTP_GET:                     /* GET */
       E	            8
      2	  97290         return(hmsga(fhs_get));
      2	  97291       case FTP_HLP:                     /* HELP */
       E	            22
      2	  97292         return(hmsga(fhs_hlp));
      2	  97293       case FTP_IDL:                     /* IDLE */
       E	            9
      2	  97294         return(hmsga(fhs_idl));
      2	  97295       case FTP_USR:                     /* USER, LOGIN */
       E	            30
      2	  97296         return(hmsga(fhs_usr));
      2	  97297       case FTP_MGE:                     /* MGET */
       E	            12
      2	  97298         return(hmsga(fhs_mge));
      2	  97299       case FTP_MKD:                     /* MKDIR */
       E	            13
      2	  97300         return(hmsga(fhs_mkd));
      2	  97301       case FTP_MOD:                     /* MODTIME */
       E	            14
      2	  97302         return(hmsga(fhs_mod));
      2	  97303       case FTP_MPU:                     /* MPUT */
       E	            15
      2	  97304         return(hmsga(fhs_mpu));
      2	  97305       case FTP_OPN:                     /* OPEN */
       E	            16
      2	  97306         return(hmsga(fhs_opn));
      2	  97307       case FTP_OPT:                     /* OPTS, OPTIONS */
       E	            34
      2	  97308         return(hmsga(fhs_opt));
      2	  97309       case FTP_PUT:                     /* PUT, SEND */
       E	            17
      2	  97310         return(hmsga(fhs_put));
      2	  97311       case FTP_REP:                     /* REPUT, RESEND */
       E	            39
      2	  97312         return(hmsga(fhs_reput));
      2	  97313       case FTP_PWD:                     /* PWD */
       E	            18
      2	  97314         return(hmsga(fhs_pwd));
      2	  97315       case FTP_QUO:                     /* QUOTE */
       E	            31
      2	  97316         return(hmsga(fhs_quo));
      2	  97317       case FTP_RGE:                     /* REGET */
       E	            19
      2	  97318         return(hmsga(fhs_rge));
      2	  97319       case FTP_REN:                     /* RENAME */
       E	            20
      2	  97320         return(hmsga(fhs_ren));
      2	  97321       case FTP_RES:                     /* RESET */
       E	            21
      2	  97322         return(hmsga(fhs_res));
      2	  97323       case FTP_RMD:                     /* RMDIR */
       E	            23

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1840
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97324         return(hmsga(fhs_rmd));
      2	  97325       case FTP_SIT:                     /* SITE */
       E	            25
      2	  97326         return(hmsga(fhs_sit));
      2	  97327       case FTP_SIZ:                     /* SIZE */
       E	            26
      2	  97328         return(hmsga(fhs_siz));
      2	  97329       case FTP_STA:                     /* STATUS */
       E	            24
      2	  97330         return(hmsga(fhs_sta));
      2	  97331       case FTP_SYS:                     /* SYSTEM */
       E	            27
      2	  97332         return(hmsga(fhs_sys));
      2	  97333       case FTP_TYP:                     /* TYPE */
       E	            32
      2	  97334         return(hmsga(fhs_typ));
      2	  97335       case FTP_UMA:                     /* UMASK */
       E	            28
      2	  97336         return(hmsga(fhs_uma));
      2	  97337       case FTP_CHK:                     /* CHECK */
       E	            35
      2	  97338         return(hmsga(fhs_chk));
      2	  97339       case FTP_ENA:
       E	            37
      2	  97340         return(hmsga(fhs_ena));
      2	  97341       case FTP_DIS:
       E	            38
      2	  97342         return(hmsga(fhs_dis));
      2	  97343       default:
      2	  97344         printf("Sorry, help available for this command.\n");
      2	  97345         break;
      1	  97346     }
      1	  97347 #endif /* NOHELP */
      1	  97348     return(success = 0);
      1	  97349 }
	  97350 
	  97351 int
      1	  97352 dosetftphlp() {
      1	  97353     int cx;
      1	  97354     if ((cx = cmkey(ftpset,nftpset,"","",xxstring)) < 0)
      1	  97355       if (cx != -3)
      1	  97356         return(cx);
      1	  97357     if (cx != -3)
      1	  97358       ckstrncpy(tmpbuf,atmbuf,TMPBUFSIZ);
       E	                               ( 32763 + 10 )
      1	  97359     if ((x = cmcfm()) < 0)
      1	  97360       return(x);
      1	  97361 
      1X  97362 #ifdef NOHELP
      1X  97363     printf("Sorry, no help available\n");
      1X  97364 #else
      2	  97365     switch (cx) {
      2	  97366       case -3:
      2	  97367         printf("\nSyntax: SET FTP parameter value\n");
      2	  97368         printf("  Type \"help set ftp ?\" for a list of parameters.\n");
      2	  97369         printf("  Type \"help set ftp xxx\" for information about setting\n");
      2	  97370         printf("  parameter xxx.  Type \"show ftp\" for current values.\n\n");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1841
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97371         return(0);
      2	  97372 
      2	  97373       case FTS_BUG:
       E	            27
      2	  97374 	printf("\nSyntax: SET FTP BUG <name> {ON, OFF}\n");
      2	  97375 	printf(
      2	  97376 	    "  Activates a workaround for the named bug in the FTP server.\n");
      2	  97377 	printf("  Type SET FTP BUG ? for a list of names.\n");
      2	  97378 	printf("  For each bug, the default is OFF\n\n");
      2	  97379 	return(0);
      2	  97380 
      2	  97381 #ifdef FTP_SECURITY
      2	  97382       case FTS_ATP:                     /* "authtype" */
       E	            13
      2	  97383         printf("\nSyntax: SET FTP AUTHTYPE list\n");
      2	  97384         printf("  Specifies an ordered list of authentication methods to be\n"
      2	  97385                );
      2	  97386         printf("  when FTP AUTOAUTHENTICATION is ON.  The default list is:\n");
      2	  97387         printf("  GSSAPI-KRB5, SRP, KERBEROS_V4, TLS, SSL.\n\n");
      2	  97388         return(0);
      2	  97389 
      2	  97390       case FTS_AUT:                     /* "autoauthentication" */
       E	            1
      2	  97391         printf("\nSyntax:SET FTP AUTOAUTHENTICATION { ON, OFF }\n");
      2	  97392         printf("  Tells whether authentication should be negotiated by the\n");
      2	  97393         printf("  FTP OPEN command.  Default is ON.\n\n");
      2	  97394         break;
      2	  97395 
      2	  97396       case FTS_CRY:                     /* "autoencryption" */
       E	            2
      2	  97397         printf("\nSET FTP AUTOENCRYPTION { ON, OFF }\n");
      2	  97398         printf("  Tells whether encryption (privacy) should be negotiated\n");
      2	  97399         printf("  by the FTP OPEN command.  Default is ON.\n\n");
      2	  97400         break;
      2	  97401 #endif /* FTP_SECURITY */
      2	  97402 
      2	  97403       case FTS_LOG:                     /* "autologin" */
       E	            3
      2	  97404         printf("\nSET FTP AUTOLOGIN { ON, OFF }\n");
      2	  97405         printf("  Tells Kermit whether to try to log you in automatically\n");
      2	  97406         printf("  as part of the connection process.\n\n");
      2	  97407         break;
      2	  97408 
      2	  97409       case FTS_DIS:
       E	            26
      2	  97410         printf("\nSET FTP DISPLAY { BRIEF, FULLSCREEN, CRT, ... }\n");
      2	  97411 	printf("  Chooses the file-transfer display style for FTP.\n");
      2	  97412         printf("  Like SET TRANSFER DISPLAY but applies only to FTP.\n\n");
      2	  97413         break;
      2	  97414 
      2	  97415 #ifndef NOCSETS
      2	  97416       case FTS_XLA:                     /* "character-set-translation" */
       E	            17
      2	  97417         printf("\nSET FTP CHARACTER-SET-TRANSLATION { ON, OFF }\n");
      2	  97418         printf("  Whether to translate character sets when transferring\n");
      2	  97419         printf("  text files with FTP.  OFF by default.\n\n");
      2	  97420         break;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1842
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97421 
      2	  97422 #endif /* NOCSETS */
      2	  97423       case FTS_FNC:                     /* "collision" */
       E	            20
      2	  97424         printf("\n");
      2	  97425         printf(
      2	  97426 "Syntax: SET FTP COLLISION { BACKUP,RENAME,UPDATE,DISCARD,APPEND,OVERWRITE }\n"
      2	  97427                );
      2	  97428         printf("  Tells what do when an incoming file has the same name as\n");
      2	  97429         printf("  an existing file when downloading with FTP.\n\n");
      2	  97430         break;
      2	  97431 
      2	  97432 #ifdef FTP_SECURITY
      2	  97433       case FTS_CPL:                     /* "command-protection-level" */
       E	            4
      2	  97434         printf("\n");
      2	  97435         printf(
      2	  97436 "Syntax: SET FTP COMMAND-PROTECTION-LEVEL { CLEAR,CONFIDENTIAL,PRIVATE,SAFE }"
      2	  97437                );
      2	  97438         printf("\n");
      2	  97439         printf(
      2	  97440 "  Tells what level of protection is applied to the FTP command channel.\n\n");
      2	  97441         break;
      2	  97442       case FTS_CFW:                     /* "credential-forwarding" */
       E	            5
      2	  97443         printf("\nSyntax: SET FTP CREDENTIAL-FORWARDING { ON, OFF }\n");
      2	  97444         printf("  Tells whether end-user credentials are to be forwarded\n");
      2	  97445         printf("  to the server if supported by the authentication method\n");
      2	  97446         printf("  (GSSAPI-KRB5 only).\n\n");
      2	  97447         break;
      2	  97448       case FTS_DPL:                     /* "data-protection-level" */
       E	            6
      2	  97449         printf("\n");
      2	  97450         printf(
      2	  97451 "Syntax: SET FTP DATA-PROTECTION-LEVEL { CLEAR,CONFIDENTIAL,PRIVATE,SAFE }"
      2	  97452                );
      2	  97453         printf("\n");
      2	  97454         printf(
      2	  97455 "  Tells what level of protection is applied to the FTP data channel.\n\n");
      2	  97456         break;
      2	  97457 #endif /* FTP_SECURITY */
      2	  97458 
      2	  97459       case FTS_DBG:                     /* "debug" */
       E	            7
      2	  97460         printf("\nSyntax: SET FTP DEBUG { ON, OFF }\n");
      2	  97461         printf("  Whether to print FTP protocol messages.\n\n");
      2	  97462         return(0);
      2	  97463 
      2	  97464       case FTS_ERR:                     /* "error-action" */
       E	            19
      2	  97465         printf("\nSyntax: SET FTP ERROR-ACTION { QUIT, PROCEED }\n");
      2	  97466         printf("  What to do when an error occurs when transferring a group\n")
      2	  97467           ;
      2	  97468         printf("  of files: quit and fail, or proceed to the next file.\n\n");
      2	  97469         return(0);
      2	  97470 
      2	  97471       case FTS_CNV:                     /* "filenames" */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1843
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	            14
      2	  97472         printf("\nSyntax: SET FTP FILENAMES { AUTO, CONVERTED, LITERAL }\n");
      2	  97473         printf("  What to do with filenames: convert them, take and use them\n"
      2	  97474                );
      2	  97475         printf("  literally; or choose what to do automatically based on the\n"
      2	  97476                );
      2	  97477         printf("  OS type of the server.  The default is AUTO.\n\n");
      2	  97478         return(0);
      2	  97479 
      2	  97480       case FTS_PSV:                     /* "passive-mode" */
       E	            8
      2	  97481         printf("\nSyntax: SET FTP PASSIVE-MODE { ON, OFF }\n");
      2	  97482         printf("  Whether to use passive mode, which helps to get through\n");
      2	  97483         printf("  firewalls.  ON by default.\n\n");
      2	  97484         return(0);
      2	  97485 
      2	  97486       case FTS_PRM:                     /* "permissions" */
       E	            16
      2	  97487         printf("\nSyntax: SET FTP PERMISSIONS { AUTO, ON, OFF }\n");
      2	  97488         printf("  Whether to try to send file permissions when uploading.\n");
      2	  97489         printf("  OFF by default.  AUTO means only if client and server\n");
      2	  97490         printf("  have the same OS type.\n\n");
      2	  97491         return(0);
      2	  97492 
      2	  97493       case FTS_TST:                     /* "progress-messages" */
       E	            15
      2	  97494         printf("\nSyntax: SET FTP PROGRESS-MESSAGES { ON, OFF }\n");
      2	  97495         printf("  Whether Kermit should print locally-generated feedback\n");
      2	  97496         printf("  messages for each non-file-transfer command.");
      2	  97497         printf("  ON by default.\n\n");
      2	  97498         return(0);
      2	  97499 
      2	  97500       case FTS_SPC:                     /* "send-port-commands" */
       E	            9
      2	  97501         printf("\nSyntax: SET FTP SEND-PORT-COMMANDS { ON, OFF }\n");
      2	  97502         printf("  Whether Kermit should send a new PORT command for each");
      2	  97503         printf("  task.\n\n");
      2	  97504         return(0);
      2	  97505 
      2	  97506 #ifndef NOCSETS
      2	  97507       case FTS_CSR:                     /* "server-character-set" */
       E	            18
      2	  97508         printf("\nSyntax: SET FTP SERVER-CHARACTER-SET name\n");
      2	  97509         printf("  The name of the character set used for text files on the\n");
      2	  97510         printf("  server.  Enter a name of '?' for a menu.\n\n");
      2	  97511         return(0);
      2	  97512 #endif /* NOCSETS */
      2	  97513 
      2	  97514       case FTS_STO:			/* "server-time-offset */
       E	            24
      2	  97515 	printf(
      2	  97516 "\nSyntax: SET FTP SERVER-TIME-OFFSET +hh[:mm[:ss]] or -hh[:mm[:ss]]\n");
      2	  97517         printf(
      2	  97518 "  Specifies an offset to apply to the server's file timestamps.\n");
      2	  97519         printf(
      2	  97520 "  Use this to correct for misconfigured server time or timezone.\n");
      2	  97521         printf(

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1844
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97522 "  Format: must begin with + or - sign.  Hours must be given; minutes\n");
      2	  97523         printf(
      2	  97524 "  and seconds are optional: +4 = +4:00 = +4:00:00 (add 4 hours).\n\n");
      2	  97525         return(0);
      2	  97526 
      2	  97527       case FTS_TYP:                     /* "type" */
       E	            10
      2	  97528         printf("\nSyntax: SET FTP TYPE { TEXT, BINARY, TENEX }\n");
      2	  97529         printf("  Establishes the default transfer mode.\n");
      2	  97530         printf("  TENEX is used for uploading 8-bit binary files to 36-bit\n");
      2	  97531         printf("  platforms such as TENEX and TOPS-20 and for downloading\n");
      2	  97532         printf("  them again.  ASCII is a synonym for TEXT.  Normally each\n");
      2	  97533         printf("  file's type is determined automatically from its contents\n"
      2	  97534 	       );
      2	  97535         printf("  or its name; SET FTP TYPE does not prevent that, it only\n");
      2	  97536         printf("  tells which mode to use when the type can't be determined\n"
      2	  97537 	       );
      2	  97538         printf("  automatically.  To completely disable automatic transfer-\n"
      2	  97539 	       );
      2	  97540         printf("  mode switching and force either text or binary mode, give\n"
      2	  97541 	       );
      2	  97542         printf("  the top-level command ASCII or BINARY, as in traditional\n");
      2	  97543         printf("  FTP clients.\n\n");
      2	  97544         return(0);
      2	  97545 
      2	  97546 #ifdef FTP_TIMEOUT
      2	  97547       case FTS_TMO:
       E	            28
      2	  97548        printf("\nSyntax: SET FTP TIMEOUT number-of-seconds\n");
      2	  97549        printf("  Establishes a timeout for FTP transfers.\n");
      2	  97550        printf("  The timeout applies per network read or write on the data\n");
      2	  97551        printf("  connection, not to the whole transfer.  By default the\n");
      2	  97552        printf("  timeout value is 0, meaning no timeout.  Use a positive\n");
      2	  97553        printf("  number to escape gracefully from hung data connections or\n");
      2	  97554        printf("  directory listings.\n\n");
      2	  97555         return(0);
      2	  97556 #endif	/* FTP_TIMEOUT */
      2	  97557 
      2X  97558 #ifdef PATTERNS
      2X  97559       case FTS_GFT:
      2X  97560         printf("\nSyntax: SET FTP GET-FILETYPE-SWITCHING { ON, OFF }\n");
      2X  97561         printf("  Tells whether GET and MGET should automatically switch\n");
      2X  97562         printf("  the appropriate file type, TEXT, BINARY, or TENEX, by\n");
      2X  97563         printf("  matching the name of each incoming file with its list of\n");
      2X  97564         printf("  FILE TEXT-PATTERNS and FILE BINARY-PATTERNS.  ON by\n");
      2X  97565         printf("  default.  SHOW PATTERNS displays the current pattern\n");
      2X  97566         printf("  list.  HELP SET FILE to see how to change it.\n");
      2X  97567         break;
      2X  97568 #endif /* PATTERNS */
      2	  97569 
      2	  97570       case FTS_USN:                     /* "unique-server-names" */
       E	            11
      2	  97571         printf("\nSyntax: SET FTP UNIQUE-SERVER-NAMES { ON, OFF }\n");
      2	  97572         printf("  Tells whether to ask the server to create unique names\n");
      2	  97573         printf("  for any uploaded file that has the same name as an\n");
      2	  97574         printf("  existing file.  Default is OFF.\n\n");
      2	  97575         return(0);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1845
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97576 
      2	  97577       case FTS_VBM:                     /* "verbose-mode" */
       E	            12
      2	  97578         printf("\nSyntax: SET FTP VERBOSE-MODE { ON, OFF }\n");
      2	  97579         printf("  Whether to display all responses from the FTP server.\n");
      2	  97580         printf("  OFF by default.\n\n");
      2	  97581         return(0);
      2	  97582 
      2	  97583       case FTS_DAT:
       E	            23
      2	  97584         printf("\nSyntax: SET FTP DATES { ON, OFF }\n");
      2	  97585         printf("  Whether to set date of incoming files from the file date\n");
      2	  97586         printf("  on the server.  ON by default.  Note: there is no way to\n")
      2	  97587           ;
      2	  97588         printf("  set the date on files uploaded to the server.  Also note\n");
      2	  97589 	printf("  that not all servers support this feature.\n\n");
      2	  97590         return(0);
      2	  97591 
      2	  97592       case FTS_APW:
       E	            25
      2	  97593 	printf("\nSyntax: SET FTP ANONYMOUS-PASSWORD [ text ]\n");
      2	  97594 	printf("  Password to supply automatically on anonymous FTP\n");
      2	  97595 	printf("  connections instead of the default user@host.\n");
      2	  97596 	printf("  Omit optional text to restore default.\n\n");
      2	  97597 	return(0);
      2	  97598 
      2	  97599       default:
      2	  97600         printf("Sorry, help not available for \"set ftp %s\"\n",tmpbuf);
      1	  97601     }
      1	  97602 #endif /* NOHELP */
      1	  97603     return(0);
      1	  97604 }
	  97605 
	  97606 #ifndef L_SET
	  97607 #define L_SET 0
	  97608 #endif /* L_SET */
	  97609 #ifndef L_INCR
	  97610 #define L_INCR 1
	  97611 #endif /* L_INCR */
	  97612 
       X  97613 #ifdef FTP_SRP
       X  97614 char srp_user[BUFSIZ];                  /* where is BUFSIZ defined? */
       X  97615 char *srp_pass;
       X  97616 char *srp_acct;
       X  97617 #endif /* FTP_SRP */
	  97618 
	  97619 static int kerror;                      /* Needed for all auth types */
	  97620 
	  97621 static struct   sockaddr_in hisctladdr;
	  97622 static struct   sockaddr_in hisdataaddr;
	  97623 static struct   sockaddr_in data_addr;
	  97624 static int      data = -1;
	  97625 static int      ptflag = 0;
	  97626 static struct   sockaddr_in myctladdr;
	  97627 
       X  97628 #ifdef COMMENT
       X  97629 #ifndef OS2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1846
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X  97630 UID_T getuid();
       X  97631 #endif /* OS2 */
       X  97632 #endif /* COMMENT */
	  97633 
	  97634 
	  97635 static int cpend = 0;                   /* No pending replies */
	  97636 
	  97637 #ifdef CK_SSL
	  97638 extern SSL *ssl_ftp_con;
	  97639 extern SSL_CTX *ssl_ftp_ctx;
	  97640 extern SSL *ssl_ftp_data_con;
	  97641 extern int ssl_ftp_active_flag;
	  97642 extern int ssl_ftp_data_active_flag;
	  97643 #endif /* CK_SSL */
	  97644 
	  97645 /*  f t p c m d  --  Send a command to the FTP server  */
	  97646 /*
	  97647   Call with:
	  97648     char * cmd: The command to send.
	  97649     char * arg: The argument (e.g. a filename).
	  97650     int lcs: The local character set index.
	  97651     int rcs: The remote (server) character set index.
	  97652     int vbm: Verbose mode:
	  97653       0 = force verbosity off
	  97654      >0 = force verbosity on
	  97655 
	  97656   If arg is given (not NULL or empty) and lcs != rcs and both are > -1,
	  97657   and neither lcs or rcs is UCS-2, the arg is translated from the local
	  97658   character set to the remote one before sending the result to the server.
	  97659 
	  97660    Returns:
	  97661     0 on failure with ftpcode = -1
	  97662     >= 0 on success (getreply() result) with ftpcode = 0.
	  97663 */
	  97664 static char xcmdbuf[RFNBUFSIZ];
       E	                     4096
	  97665 
	  97666 static int
	  97667 #ifdef CK_ANSIC
	  97668 ftpcmd( char * cmd, char * arg, int lcs, int rcs, int vbm )
       X  97669 #else
       X  97670 ftpcmd(cmd,arg,lcs,rcs,vbm) char * cmd, * arg; int lcs, rcs, vbm;
       X  97671 #endif /* CK_ANSIC */
      1	  97672 {
      1	  97673     char * s = NULL;
       E	                ( ( void * ) 0 )
      1	  97674     int r = 0, x = 0, fc = 0, len = 0, cmdlen = 0, q = -1;
      1	  97675 
      1	  97676     if (ftp_deb)                        /* DEBUG */
      1	  97677       vbm = 1;
      1	  97678     else if (quiet || dpyactive)        /* QUIET or File Transfer Active */
      1	  97679       vbm = 0;
      1	  97680     else if (vbm < 0)                   /* VERBOSE */
      1	  97681       vbm = ftp_vbm;
      1	  97682 
      1	  97683     cancelfile = 0;
      1	  97684     if (!cmd) cmd = "";

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1847
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  97685     if (!arg) arg = "";
      1	  97686     cmdlen = (int)strlen(cmd);
       E	                   __STRLEN ( cmd )
      1	  97687     len = cmdlen + (int)strlen(arg) + 1;
       E	                         __STRLEN ( arg )
      1	  97688 
      2	  97689     if (ftp_deb /* && !dpyactive */ ) {
      2X  97690 #ifdef FTP_PROXY
      2X  97691         if (ftp_prx) printf("%s ", ftp_host);
      2X  97692 #endif /* FTP_PROXY */
      2	  97693         printf("---> ");
      2	  97694         if (!anonymous && strcmp("PASS",cmd) == 0)
      2	  97695           printf("PASS XXXX");
      2	  97696         else
      2	  97697           printf("%s %s",cmd,arg);
      2	  97698         printf("\n");
      1	  97699     }
      1	  97700     /* bzero(xcmdbuf,RFNBUFSIZ); */
      1	  97701     ckmakmsg(xcmdbuf,RFNBUFSIZ, cmd, *arg ? " " : "", arg, NULL);
       E	                      4096
       E	                                                            ( ( void * ) 0 )
      1	  97702 
      1	  97703 #ifdef DEBUG
      2	  97704     if (deblog) {
      2	  97705         debug(F110,"ftpcmd cmd",cmd,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftpcmd cmd" , ( char * ) ( cmd ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  97706         debug(F110,"ftpcmd arg",arg,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftpcmd arg" , ( char * ) ( arg ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  97707         debug(F101,"ftpcmd lcs","",lcs);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftpcmd lcs" , ( char * ) ( "" ) , ( off_t ) ( lcs ) ) : 0 ) )
      2	  97708         debug(F101,"ftpcmd rcs","",rcs);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftpcmd rcs" , ( char * ) ( "" ) , ( off_t ) ( rcs ) ) : 0 ) )
      1	  97709     }
      1	  97710 #endif /* DEBUG */
      1	  97711 
      2	  97712     if (csocket == -1) {
      2	  97713         perror("No control connection for command");
      2	  97714         ftpcode = -1;
      2	  97715         return(0);
      1	  97716     }
      1	  97717     havesigint = 0;
      1	  97718     oldintr = signal(SIGINT, cmdcancel);
       E	                      2
      1	  97719 
      1	  97720 #ifndef NOCSETS
      1	  97721     if (*arg &&                         /* If an arg was given */
      1	  97722         lcs > -1 &&                     /* and a local charset */
      1	  97723         rcs > -1 &&                     /* and a remote charset */
      1	  97724         lcs != rcs &&                   /* and the two are not the same */
      1	  97725         lcs != FC_UCS2 &&               /* and neither one is UCS-2 */
       E	                45
      1	  97726         rcs != FC_UCS2                  /* ... */
       E	                45
      2	  97727         ) {
      2	  97728         initxlate(lcs,rcs);             /* Translate arg from lcs to rcs */
      2	  97729         xgnbp = arg;                    /* Global pointer to input string */
      2	  97730         rfnptr = rfnbuf;                /* Global pointer to output buffer */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1848
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97731 
      3	  97732         while (1) {
      3	  97733             if ((c0 = xgnbyte(FC_UCS2,lcs,strgetc)) < 0) break;
       E	                               45
      3	  97734             if (xpnbyte(c0,TC_UCS2,rcs,strputc) < 0) break;
       E	                            9
      2	  97735         }
      2	  97736         /*
      2	  97737           We have to copy here instead of translating directly into
      2	  97738           xcmdbuf[] so strputc() can check length.  Alternatively we could
      2	  97739           write yet another xpnbyte() output function.
      2	  97740         */
      3	  97741         if ((int)strlen(rfnbuf) > (RFNBUFSIZ - (cmdlen+1))) {
       E	                  __STRLEN ( rfnbuf )
       E	                                    4096
      3	  97742             printf("?FTP command too long: %s + arg\n",cmd);
      3	  97743             ftpcode = -1;
      3	  97744             return(0);
      2	  97745         }
      2	  97746         x = ckstrncpy(&xcmdbuf[cmdlen+1], rfnbuf, RFNBUFSIZ - (cmdlen+1));
       E	                                                   4096
      1	  97747     }
      1	  97748 #endif /* NOCSETS */
      1	  97749 
      1	  97750     s = xcmdbuf;                        /* Command to send to server */
      1	  97751 
      1	  97752 #ifdef DEBUG
      2	  97753     if (deblog) {			/* Log it */
      3	  97754 	if (!anonymous && !ckstrcmp(s,"PASS ",5,0)) {
      3	  97755 	    /* But don't log passwords */
      3	  97756 	    debug(F110,"FTP SENT ","PASS XXXX",0);
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "FTP SENT " , ( char * ) ( "PASS XXXX" ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  97757 	} else {
      3	  97758 	    debug(F110,"FTP SENT ",s,0);
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "FTP SENT " , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  97759 	}
      1	  97760     }
      1	  97761 #endif /* DEBUG */
      1	  97762 
      1X  97763 #ifdef CK_ENCRYPTION
      1X  97764   again:
      1X  97765 #endif /* CK_ENCRYPTION */
      2	  97766     if (scommand(s) == 0) {              /* Send it. */
      2	  97767       signal(SIGINT, oldintr);
       E	              2
      2	  97768       return(0);
      1	  97769     }
      1	  97770     cpend = 1;
      1	  97771     x = !strcmp(cmd,"QUIT");		/* Is it the QUIT command? */
      1	  97772     if (x)				/* In case we're interrupted */
      1	  97773       connected = 0;			/* while waiting for the reply... */
      1	  97774 
      1	  97775     fc = 0;				/* Function code for getreply() */
      1	  97776     if (!strncmp(cmd,"AUTH ",5)		/* Must parse AUTH reply */
      1X  97777 #ifdef FTPHOST
      1X  97778 	&& strncmp(cmd, "HOST ",5)
      1X  97779 #endif /* FTPHOST */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1849
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  97780 	) {
      2	  97781 	fc = GRF_AUTH;
       E	       1
      2	  97782     } else if (!ckstrcmp(cmd,"FEAT",-1,0)) { /* Must parse FEAT reply */
      2	  97783 	fc = GRF_FEAT;			/* But FEAT not widely understood */
       E	       2
      2	  97784 	if (!ftp_deb)			/* So suppress error messages */
      2	  97785 	  vbm = 9;
      1	  97786     }
      1	  97787     r = getreply(x,			/* Expect connection to close */
      1	  97788 		 lcs,rcs,		/* Charsets */
      1	  97789 		 vbm,			/* Verbosity */
      1	  97790 		 fc			/* Function code */
      1	  97791 		 );
      1	  97792     if (q > -1)
      1	  97793       quiet = q;
      1	  97794 
      1X  97795 #ifdef CK_ENCRYPTION
      1X  97796     if (ftpcode == 533 && ftp_cpl == FPL_PRV) {
      1X  97797         fprintf(stderr,
      1X  97798                "ENC command not supported at server; retrying under MIC...\n");
      1X  97799         ftp_cpl = FPL_SAF;
      1X  97800         goto again;
      1X  97801     }
      1X  97802 #endif /* CK_ENCRYPTION */
      1X  97803 #ifdef COMMENT
      1X  97804     if (cancelfile && oldintr != SIG_IGN)
      1X  97805       (*oldintr)(SIGINT);
      1X  97806 #endif /* COMMENT */
      1	  97807     signal(SIGINT, oldintr);
       E	            2
      1	  97808     return(r);
      1	  97809 }
	  97810 
	  97811 static VOID
       E	        void
      1	  97812 lostpeer() {
      1	  97813     debug(F100,"lostpeer","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "lostpeer" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  97814     if (connected) {
      3	  97815         if (csocket != -1) {
      3	  97816 #ifdef CK_SSL
      4	  97817             if (ssl_ftp_active_flag) {
      4	  97818                 SSL_shutdown(ssl_ftp_con);
      4	  97819                 SSL_free(ssl_ftp_con);
      4	  97820                 ssl_ftp_proxy = 0;
      4	  97821                 ssl_ftp_active_flag = 0;
      4	  97822                 ssl_ftp_con = NULL;
       E	                               ( ( void * ) 0 )
      3	  97823             }
      3	  97824 #endif /* CK_SSL */
      3	  97825 #ifdef TCPIPLIB
      3	  97826             socket_close(csocket);
       E	             close
      3X  97827 #else /* TCPIPLIB */
      3X  97828 #ifdef USE_SHUTDOWN
      3X  97829             shutdown(csocket, 1+1);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1850
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3X  97830 #endif /* USE_SHUTDOWN */
      3X  97831             close(csocket);
      3X  97832 #endif /* TCPIPLIB */
      3	  97833             csocket = -1;
      2	  97834         }
      3	  97835         if (data != -1) {
      3	  97836 #ifdef CK_SSL
      4	  97837             if (ssl_ftp_data_active_flag) {
      4	  97838                 SSL_shutdown(ssl_ftp_data_con);
      4	  97839                 SSL_free(ssl_ftp_data_con);
      4	  97840                 ssl_ftp_data_active_flag = 0;
      4	  97841                 ssl_ftp_data_con = NULL;
       E	                                    ( ( void * ) 0 )
      3	  97842             }
      3	  97843 #endif /* CK_SSL */
      3	  97844 #ifdef TCPIPLIB
      3	  97845             socket_close(data);
       E	             close
      3X  97846 #else /* TCPIPLIB */
      3X  97847 #ifdef USE_SHUTDOWN
      3X  97848             shutdown(data, 1+1);
      3X  97849 #endif /* USE_SHUTDOWN */
      3X  97850             close(data);
      3X  97851 #endif /* TCPIPLIB */
      3	  97852             data = -1;
      3	  97853             globaldin = -1;
      2	  97854         }
      2	  97855         connected = 0;
      2	  97856         anonymous = 0;
      2	  97857         loggedin = 0;
      2	  97858         auth_type = NULL;
       E	                     ( ( void * ) 0 )
      2	  97859         ftp_cpl = ftp_dpl = FPL_CLR;
       E	                             1
      2	  97860 #ifdef CKLOGDIAL
      2	  97861         ftplogend();
      2	  97862 #endif /* CKLOGDIAL */
      2	  97863 
      2	  97864 #ifdef LOCUS
      2	  97865 	if (autolocus)			/* Auotomatic locus switching... */
      2	  97866 	  setlocus(1,1);		/* Switch locus to local. */
      2	  97867 #endif /* LOCUS */
      2X  97868 #ifdef OS2
      2X  97869         DialerSend(OPT_KERMIT_HANGUP, 0);
      2X  97870 #endif /* OS2 */
      1	  97871     }
      1X  97872 #ifdef FTP_PROXY
      1X  97873     pswitch(1);
      1X  97874     if (connected) {
      1X  97875         if (csocket != -1) {
      1X  97876 #ifdef TCPIPLIB
      1X  97877             socket_close(csocket);
      1X  97878 #else /* TCPIPLIB */
      1X  97879 #ifdef USE_SHUTDOWN
      1X  97880             shutdown(csocket, 1+1);
      1X  97881 #endif /* USE_SHUTDOWN */
      1X  97882             close(csocket);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1851
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  97883 #endif /* TCPIPLIB */
      1X  97884             csocket = -1;
      1X  97885         }
      1X  97886         connected = 0;
      1X  97887         anonymous = 0;
      1X  97888         loggedin = 0;
      1X  97889         auth_type = NULL;
      1X  97890         ftp_cpl = ftp_dpl = FPL_CLR;
      1X  97891     }
      1X  97892     proxflag = 0;
      1X  97893     pswitch(0);
      1X  97894 #endif /* FTP_PROXY */
      1	  97895 }
	  97896 
	  97897 int
      1	  97898 ftpisopen() {
      1	  97899     return(connected);
      1	  97900 }
	  97901 
	  97902 static int
      1	  97903 ftpclose() {
      1	  97904     extern int quitting;
      1	  97905     if (!connected)
      1	  97906       return(0);
      1	  97907     ftp_xfermode = xfermode;
      1	  97908     if (!ftp_vbm && !quiet)
      1	  97909       printlines = 1;
      1	  97910     ftpcmd("QUIT",NULL,0,0,ftp_vbm);
       E	                   ( ( void * ) 0 )
      2	  97911     if (csocket) {
      2	  97912 #ifdef CK_SSL
      3	  97913         if (ssl_ftp_active_flag) {
      3	  97914             SSL_shutdown(ssl_ftp_con);
      3	  97915             SSL_free(ssl_ftp_con);
      3	  97916             ssl_ftp_proxy = 0;
      3	  97917             ssl_ftp_active_flag = 0;
      3	  97918             ssl_ftp_con = NULL;
       E	                           ( ( void * ) 0 )
      2	  97919         }
      2	  97920 #endif /* CK_SSL */
      2	  97921 #ifdef TCPIPLIB
      2	  97922         socket_close(csocket);
       E	         close
      2X  97923 #else /* TCPIPLIB */
      2X  97924 #ifdef USE_SHUTDOWN
      2X  97925         shutdown(csocket, 1+1);
      2X  97926 #endif /* USE_SHUTDOWN */
      2X  97927         close(csocket);
      2X  97928 #endif /* TCPIPLIB */
      1	  97929     }
      1	  97930     csocket = -1;
      1	  97931     connected = 0;
      1	  97932     anonymous = 0;
      1	  97933     loggedin = 0;
      1	  97934     mdtmok = 1;
      1	  97935     sizeok = 1;
      1	  97936     featok = 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1852
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  97937     stouarg = 1;
      1	  97938     typesent = 0;
      1	  97939     data = -1;
      1	  97940     globaldin = -1;
      1X  97941 #ifdef FTP_PROXY
      1X  97942     if (!proxy)
      1X  97943       macnum = 0;
      1X  97944 #endif /* FTP_PROXY */
      1	  97945     auth_type = NULL;
       E	                 ( ( void * ) 0 )
      1	  97946     ftp_dpl = FPL_CLR;
       E	               1
      1	  97947 #ifdef CKLOGDIAL
      1	  97948     ftplogend();
      1	  97949 #endif /* CKLOGDIAL */
      1	  97950 #ifdef LOCUS
      1	  97951     /* Unprefixed file management commands are executed locally */
      2	  97952     if (autolocus && !ftp_cmdlin && !quitting) {
      2	  97953         setlocus(1,1);
      1	  97954     }
      1	  97955 #endif /* LOCUS */
      1X  97956 #ifdef OS2
      1X  97957     DialerSend(OPT_KERMIT_HANGUP, 0);
      1X  97958 #endif /* OS2 */
      1	  97959     return(0);
      1	  97960 }
	  97961 
	  97962 int
	  97963 #ifdef CK_ANSIC
	  97964 ftpopen( char * remote, char * service, int use_tls )
       X  97965 #else
       X  97966 ftpopen(remote, service, use_tls) char * remote, * service; int use_tls;
       X  97967 #endif /* CK_ANSIC */
      1	  97968 {
      1	  97969     char * host;
      1	  97970 
      2	  97971     if (connected) {
      2	  97972         printf("?Already connected to %s, use FTP CLOSE first.\n", ftp_host);
      2	  97973         ftpcode = -1;
      2	  97974         return(0);
      1	  97975     }
      1X  97976 #ifdef FTPHOST
      1X  97977     hostcmd = 0;
      1X  97978 #endif /* FTPHOST */
      1	  97979     alike = 0;
      1	  97980     ftp_srvtyp[0] = NUL;
       E	                     '\0'
      1	  97981     if (!service) service = "";
      1	  97982     if (!*service) service = use_tls ? "ftps" : "ftp";
      1	  97983 
      2	  97984     if (!isdigit(service[0])) {
       E	          ( ( decc$$gl___ctypea ) ? ( decc$$ga___ctypet ) [ ( int ) ( service [ 0 ] ) ] & 0x4 : ( isdigit ) ( servic
       E	e [ 0 ] ) )
      2	  97985         struct servent *destsp;
      2	  97986         destsp = getservbyname(service, "tcp");
      3	  97987         if (!destsp) {
      4	  97988             if (!ckstrcmp(service,"ftp",-1,0)) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1853
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  97989                 ftp_port = 21;
      4	  97990             } else if (!ckstrcmp(service,"ftps",-1,0)) {
      4	  97991                 ftp_port = 990;
      4	  97992             } else {
      4	  97993                 printf("?Bad port name - \"%s\"\n", service);
      4	  97994                 ftpcode = -1;
      4	  97995                 return(0);
      3	  97996             }
      3	  97997         } else {
      3	  97998             ftp_port = destsp->s_port;
      3	  97999             ftp_port = ntohs((unsigned short)ftp_port);	/* SMS 2007/02/15 */
      2	  98000         }
      1	  98001     } else
      1	  98002         ftp_port = atoi(service);
      2	  98003     if (ftp_port <= 0) {
      2	  98004         printf("?Bad port name - \"%s\"\n", service);
      2	  98005         ftpcode = -1;
      2	  98006         return(0);
      1	  98007     }
      1	  98008     host = ftp_hookup(remote, ftp_port, use_tls);
      2	  98009     if (host) {
      2	  98010         ckstrncpy(ftp_user_host,remote,MAX_DNS_NAMELEN);
       E	                                        ( 15 * ( 64 + 1 ) + 1 )
      2	  98011         connected = 1;                  /* Set FTP defaults */
      2	  98012         ftp_cpl = ftp_dpl = FPL_CLR;
       E	                             1
      2	  98013         curtype = FTT_ASC;              /* Server uses ASCII mode */
       E	                   0
      2	  98014         form = FORM_N;
       E	                1
      2	  98015         mode = MODE_S;
       E	                1
      2	  98016         stru = STRU_F;
       E	                1
      2	  98017         strcpy(bytename, "8");
       E	         __STRCPY ( bytename , "8" )
      2	  98018         bytesize = 8;
      2	  98019 
      2	  98020 #ifdef FTP_SECURITY
      3	  98021         if (ftp_aut) {
      4	  98022             if (ftp_auth()) {
      4	  98023                 if (ftp_cry 
      4X  98024 #ifdef OS2
      4X  98025                      && ck_crypt_is_installed()
      4X  98026 #endif /* OS2 */
      5	  98027                      ) {
      5	  98028                     if (!quiet)
      5	  98029                       printf("FTP Command channel is Private (encrypted)\n");
      5	  98030                     ftp_cpl = FPL_PRV;
       E	                               3
      6	  98031                     if (setpbsz(DEFAULT_PBSZ) < 0) {
       E	                                 1 << 13
      6	  98032                         /* a failure here is most likely caused by a mixup */
      6	  98033                         /* in the session key used by client and server    */
      6	  98034 			printf("?Protection buffer size negotiation failed\n");
      6	  98035                         return(0);
      5	  98036                     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1854
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      6	  98037                     if (ftpcmd("PROT P",NULL,0,0,ftp_vbm) == REPLY_COMPLETE) {
       E	                                         ( ( void * ) 0 )
       E	                                                              2
      6	  98038                         if (!quiet)
      6	  98039                           printf("FTP Data channel is Private (encrypted)\n");
      6	  98040                         ftp_dpl = FPL_PRV;
       E	                                   3
      5	  98041                     } else
      5	  98042                       printf("?Unable to enable encryption on data channel\n");
      5	  98043                 } else {
      5	  98044                     ftp_cpl = FPL_SAF;
       E	                               2
      4	  98045                 }
      3	  98046             }
      3	  98047             if (!connected)
      3	  98048 	      goto fail;
      2	  98049         }
      2	  98050 #endif /* FTP_SECURITY */
      2	  98051         if (ftp_log)			/* ^^^ */
      2	  98052           ftp_login(remote);
      2	  98053 
      2	  98054         if (!connected)
      2	  98055 	  goto fail;
      2	  98056 
      2	  98057 	ftp_xfermode = xfermode;
      2	  98058 
      2	  98059 #ifdef CKLOGDIAL
      2	  98060         dologftp();
      2	  98061 #endif /* CKLOGDIAL */
      2X  98062 #ifdef OS2
      2X  98063         DialerSend(OPT_KERMIT_CONNECT, 0);
      2X  98064 #endif /* OS2 */
      2	  98065         passivemode = ftp_psv;
      2	  98066         sendport = ftp_spc;
      2	  98067 	mdtmok = 1;
      2	  98068 	sizeok = 1;
      2	  98069 	stouarg = 1;
      2	  98070 	typesent = 0;
      2	  98071 
      3	  98072         if (ucbuf == NULL) {
       E	                      ( ( void * ) 0 )
      3	  98073             actualbuf = DEFAULT_PBSZ;
       E	                         1 << 13
      3	  98074             while (actualbuf && (ucbuf = (CHAR *)malloc(actualbuf)) == NULL)
       E	                                           unsigned char
       E	                                                                        ( ( void * ) 0 )
      3	  98075               actualbuf >>= 2;
      2	  98076         }
      2	  98077         if (!maxbuf)
      2	  98078           ucbufsiz = actualbuf - FUDGE_FACTOR;
       E	                                  0
      2	  98079 	debug(F101,"ftpopen ucbufsiz","",ucbufsiz);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftpopen ucbufsiz" , ( char * ) ( "" ) , ( off_t ) ( ucbufsiz ) ) : 0 ) )
      2	  98080         return(1);
      1	  98081     }
      1	  98082   fail:
      1	  98083     printf("?Can't FTP connect to %s:%s\n",remote,service);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1855
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  98084     ftpcode = -1;
      1	  98085     return(0);
      1	  98086 }
	  98087 
	  98088 #ifdef CK_SSL
	  98089 int
      1	  98090 ssl_auth() {
      1	  98091     int i;
      1	  98092     char* p;
      1	  98093     CONST SSL_METHOD *client_method;
       E	     const
      1	  98094 
      2	  98095     if (ssl_debug_flag) {
      2	  98096         fprintf(stderr,"SSL DEBUG ACTIVE\n");
       E	                 ( decc$ga_stderr )
      2	  98097         fflush(stderr);
       E	                ( decc$ga_stderr )
      2	  98098         /* for the moment I want the output on screen */
      1	  98099     }
      2	  98100     if (ssl_ftp_data_con != NULL) {
       E	                             ( ( void * ) 0 )
      2	  98101         SSL_free(ssl_ftp_data_con);
      2	  98102         ssl_ftp_data_con = NULL;
       E	                            ( ( void * ) 0 )
      1	  98103     }
      2	  98104     if (ssl_ftp_con != NULL) {
       E	                        ( ( void * ) 0 )
      2	  98105         SSL_free(ssl_ftp_con);
      2	  98106         ssl_ftp_con=NULL;
       E	                     ( ( void * ) 0 )
      1	  98107     }
      2	  98108     if (ssl_ftp_ctx != NULL) {
       E	                        ( ( void * ) 0 )
      2	  98109         SSL_CTX_free(ssl_ftp_ctx);
      2	  98110         ssl_ftp_ctx = NULL;
       E	                       ( ( void * ) 0 )
      1	  98111     }
      1	  98112 
      1	  98113     /* The SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 
      1	  98114      * was added to OpenSSL 0.9.6e and 0.9.7.  It does not exist in previous
      1	  98115      * versions
      1	  98116      */
      1X  98117 #ifndef SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
      1X  98118 #define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0L
      1X  98119 #endif
      1	  98120 /*
      1	  98121   Pick allowed SSL/TLS versions according to enabled bugs.
      1	  98122   Modified 5 Feb 2015 to default to TLS 1.0 if no bugs are enabled,
      1	  98123   instead of to SSL 3.0, which has the POODLE vulnerability.
      1	  98124 
      1	  98125   Modified 7 Sep 2022 to use the best version of TLS available (DG)
      1	  98126 */
      2	  98127     if (ftp_bug_use_ssl_v2) {
      2	  98128         /* allow SSL 2.0 or later */
      2	  98129         client_method = SSLv23_client_method();
       E	                         TLS_client_method
      2X  98130 #ifndef OPENSSL_NO_SSL3

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1856
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X  98131     } else if (ftp_bug_use_ssl_v3) {
      2X  98132         /* allow SSL 3.0 ONLY - previous default */
      2X  98133         client_method = SSLv3_client_method();
      2X  98134 #endif /* OPENSSL_NO_SSL3 */
      2	  98135     } else {
      2	  98136         /* default - use the best version of TLS we can */
      2	  98137 
      2	  98138 #if OPENSSL_VERSION_NUMBER >= 0x10100000L
      2	  98139         /* OpenSSL >= 1.1.0: Negotiate the best TLS version possible */
      2	  98140         client_method = TLS_client_method();
      2X  98141 #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
      2X  98142 #if OPENSSL_VERSION_NUMBER >= 0x10001000L
      2X  98143         /* OpenSSL >= 1.0.1: Use TLS 1.2 - not yet deprecated as of 2022-09-06 */
      2X  98144         client_method = TLSv1_2_client_method();
      2X  98145 #else
      2X  98146         /* OpenSSL 0.9.8 and 1.0.0 can't handle anything newer than TSL 1.0 */
      2X  98147         client_method = TLSv1_client_method();
      2X  98148 #endif /* OPENSSL_VERSION_NUMBER >= 0x10001000L */
      2X  98149 #endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
      1	  98150     }
      2	  98151     if (auth_type && !strcmp(auth_type,"TLS")) {
      2	  98152         ssl_ftp_ctx=SSL_CTX_new(client_method);
      2	  98153         if (!ssl_ftp_ctx)
      2	  98154           return(0);
      2	  98155         SSL_CTX_set_options(ssl_ftp_ctx,
      2	  98156                             SSL_OP_SINGLE_DH_USE|SSL_OP_EPHEMERAL_RSA
       E	                             0x0
       E	                                                  0x0
      2	  98157                             );
      2	  98158     } else {
      2	  98159         ssl_ftp_ctx = SSL_CTX_new(client_method);
      2	  98160         if (!ssl_ftp_ctx)
      2	  98161           return(0);
      2	  98162         SSL_CTX_set_options(ssl_ftp_ctx,
      2	  98163                             (ftp_bug_use_ssl_v2 ? 0 : SSL_OP_NO_SSLv2)|
       E	                                                       0x0
      2	  98164                             SSL_OP_SINGLE_DH_USE|SSL_OP_EPHEMERAL_RSA
       E	                             0x0
       E	                                                  0x0
      2	  98165                             );
      1	  98166     }
      1	  98167     SSL_CTX_set_default_passwd_cb(ssl_ftp_ctx,
      1	  98168                                   (pem_password_cb *)ssl_passwd_callback);
      1	  98169     SSL_CTX_set_info_callback(ssl_ftp_ctx,ssl_client_info_callback);
      1	  98170     SSL_CTX_set_session_cache_mode(ssl_ftp_ctx,SSL_SESS_CACHE_CLIENT);
       E	     SSL_CTX_ctrl ( ssl_ftp_ctx , 44 , 0x0001 , ( ( void * ) 0 ) )
      1	  98171 
      1X  98172 #ifdef OS2
      1X  98173 #ifdef NT
      1X  98174     /* The defaults in the SSL crypto library are not appropriate for OS/2 */
      1X  98175     {
      1X  98176         char path[CKMAXPATH];
      1X  98177         extern char exedir[];
      1X  98178 
      1X  98179         ckmakmsg(path,CKMAXPATH,exedir,"certs",NULL,NULL);
      1X  98180         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,NULL,path) == 0)  {
      1X  98181             debug(F110,"ftp ssl_auth unable to load path",path,0);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1857
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  98182             if (ssl_debug_flag)
      1X  98183                 printf("?Unable to load verify-dir: %s\r\n",path);
      1X  98184         }
      1X  98185 
      1X  98186         ckmakmsg(path,CKMAXPATH,
      1X  98187                  GetAppData(1),"kermit 95/certs",NULL,NULL);
      1X  98188         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,NULL,path) == 0)  {
      1X  98189             debug(F110,"ftp ssl_auth unable to load path",path,0);
      1X  98190             if (ssl_debug_flag)
      1X  98191                 printf("?Unable to load verify-dir: %s\r\n",path);
      1X  98192         }
      1X  98193 
      1X  98194         ckmakmsg(path,CKMAXPATH,
      1X  98195                  GetAppData(0),"kermit 95/certs",NULL,NULL);
      1X  98196         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,NULL,path) == 0)  {
      1X  98197             debug(F110,"ftp ssl_auth unable to load path",path,0);
      1X  98198             if (ssl_debug_flag)
      1X  98199                 printf("?Unable to load verify-dir: %s\r\n",path);
      1X  98200         }
      1X  98201 
      1X  98202         ckmakmsg(path,CKMAXPATH,exedir,"ca_certs.pem",NULL,NULL);
      1X  98203         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,path,NULL) == 0) {
      1X  98204             debug(F110,"ftp ssl_auth unable to load path",path,0);
      1X  98205             if (ssl_debug_flag)
      1X  98206                 printf("?Unable to load verify-file: %s\r\n",path);
      1X  98207         }
      1X  98208 
      1X  98209         ckmakmsg(path,CKMAXPATH,GetAppData(1),
      1X  98210 		 "kermit 95/ca_certs.pem",NULL,NULL);
      1X  98211         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,path,NULL) == 0) {
      1X  98212             debug(F110,"ftp ssl_auth unable to load path",path,0);
      1X  98213             if (ssl_debug_flag)
      1X  98214                 printf("?Unable to load verify-file: %s\r\n",path);
      1X  98215         }
      1X  98216 
      1X  98217         ckmakmsg(path,CKMAXPATH,GetAppData(0),
      1X  98218 		 "kermit 95/ca_certs.pem",NULL,NULL);
      1X  98219         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,path,NULL) == 0) {
      1X  98220             debug(F110,"ftp ssl_auth unable to load path",path,0);
      1X  98221             if (ssl_debug_flag)
      1X  98222                 printf("?Unable to load verify-file: %s\r\n",path);
      1X  98223         }
      1X  98224     }
      1X  98225 #else /* NT */
      1X  98226     /* The defaults in the SSL crypto library are not appropriate for OS/2 */
      1X  98227     {
      1X  98228 
      1X  98229         char path[CKMAXPATH];
      1X  98230         extern char exedir[];
      1X  98231 
      1X  98232         ckmakmsg(path,CKMAXPATH,exedir,"certs",NULL,NULL);
      1X  98233         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,NULL,path) == 0)  {
      1X  98234             debug(F110,"ftp ssl_auth unable to load path",path,0);
      1X  98235             if (ssl_debug_flag)
      1X  98236                 printf("?Unable to load verify-dir: %s\r\n",path);
      1X  98237         }
      1X  98238         ckmakmsg(path,CKMAXPATH,exedir,"ca_certs.pem",NULL,NULL);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1858
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  98239         if (SSL_CTX_load_verify_locations(ssl_ftp_ctx,path,NULL) == 0) {
      1X  98240             debug(F110,"ftp ssl_auth unable to load path",path,0);
      1X  98241             if (ssl_debug_flag)
      1X  98242                 printf("?Unable to load verify-file: %s\r\n",path);
      1X  98243         }
      1X  98244     }
      1X  98245 #endif /* NT */
      1X  98246 #else /* OS2 */
      1	  98247     SSL_CTX_set_default_verify_paths(ssl_ftp_ctx);
      1	  98248 #endif /* OS2 */
      1	  98249 
      1	  98250     if (ssl_verify_file &&
      2	  98251         SSL_CTX_load_verify_locations(ssl_ftp_ctx,ssl_verify_file,NULL) == 0) {
       E	                                                                   ( ( void * ) 0 )
      2	  98252         debug(F110,
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp ssl auth unable to load ssl_verify_file" , ( char * ) ( ssl_verify
       E	_file ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  98253               "ftp ssl auth unable to load ssl_verify_file",
      2	  98254               ssl_verify_file,
      2	  98255               0
      2	  98256               );
      2	  98257         if (ssl_debug_flag)
      2	  98258           printf("?Unable to load verify-file: %s\r\n",ssl_verify_file);
      1	  98259     }
      1	  98260     if (ssl_verify_dir &&
      2	  98261         SSL_CTX_load_verify_locations(ssl_ftp_ctx,NULL,ssl_verify_dir) == 0) {
       E	                                                   ( ( void * ) 0 )
      2	  98262         debug(F110,
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp ssl auth unable to load ssl_verify_dir" , ( char * ) ( ssl_verify_
       E	dir ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  98263               "ftp ssl auth unable to load ssl_verify_dir",
      2	  98264               ssl_verify_dir,
      2	  98265               0
      2	  98266               );
      2	  98267         if (ssl_debug_flag)
      2	  98268           printf("?Unable to load verify-dir: %s\r\n",ssl_verify_dir);
      1	  98269     }
      1	  98270 
      1	  98271     /* set up the new CRL Store */
      1	  98272     crl_store = (X509_STORE *)X509_STORE_new();
      2	  98273     if (crl_store) {
      2X  98274 #ifdef OS2
      2X  98275         char path[CKMAXPATH];
      2X  98276         extern char exedir[];
      2X  98277 
      2X  98278         ckmakmsg(path,CKMAXPATH,exedir,"crls",NULL,NULL);
      2X  98279         if (X509_STORE_load_locations(crl_store,NULL,path) == 0) {
      2X  98280             debug(F110,"ftp ssl auth unable to load dir",path,0);
      2X  98281             if (ssl_debug_flag)
      2X  98282                 printf("?Unable to load crl-dir: %s\r\n",path);
      2X  98283         }
      2X  98284 #ifdef NT
      2X  98285         ckmakmsg(path,CKMAXPATH,
      2X  98286 		 (char *)GetAppData(1),"kermit 95/crls",NULL,NULL);
      2X  98287         if (X509_STORE_load_locations(crl_store,NULL,path) == 0) {
      2X  98288             debug(F110,"ftp ssl auth unable to load dir",path,0);
      2X  98289             if (ssl_debug_flag)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1859
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X  98290                 printf("?Unable to load crl-dir: %s\r\n",path);
      2X  98291         }
      2X  98292         ckmakmsg(path,CKMAXPATH,
      2X  98293 		 (char *)GetAppData(0),"kermit 95/crls",NULL,NULL);
      2X  98294         if (X509_STORE_load_locations(crl_store,NULL,path) == 0) {
      2X  98295             debug(F110,"ftp ssl auth unable to load dir",path,0);
      2X  98296             if (ssl_debug_flag)
      2X  98297                 printf("?Unable to load crl-dir: %s\r\n",path);
      2X  98298         }
      2X  98299 #endif /* NT */
      2X  98300         
      2X  98301         ckmakmsg(path,CKMAXPATH,exedir,"ca_crls.pem",NULL,NULL);
      2X  98302         if (X509_STORE_load_locations(crl_store,path,NULL) == 0) {
      2X  98303             debug(F110,"ftp ssl auth unable to load file",path,0);
      2X  98304             if (ssl_debug_flag)
      2X  98305                 printf("?Unable to load crl-file: %s\r\n",path);
      2X  98306         }
      2X  98307 #ifdef NT
      2X  98308         ckmakmsg(path,CKMAXPATH,(char *)GetAppData(1),
      2X  98309 		 "kermit 95/ca_crls.pem",NULL,NULL);
      2X  98310         if (X509_STORE_load_locations(crl_store,path,NULL) == 0) {
      2X  98311             debug(F110,"ftp ssl auth unable to load file",path,0);
      2X  98312             if (ssl_debug_flag)
      2X  98313                 printf("?Unable to load crl-file: %s\r\n",path);
      2X  98314         }
      2X  98315         ckmakmsg(path,CKMAXPATH,(char *)GetAppData(0),
      2X  98316 		 "kermit 95/ca_crls.pem",NULL,NULL);
      2X  98317         if (X509_STORE_load_locations(crl_store,path,NULL) == 0) {
      2X  98318             debug(F110,"ftp ssl auth unable to load file",path,0);
      2X  98319             if (ssl_debug_flag)
      2X  98320                 printf("?Unable to load crl-file: %s\r\n",path);
      2X  98321         }
      2X  98322 #endif /* NT */
      2X  98323 #endif /* OS2 */
      2	  98324 
      3	  98325         if (ssl_crl_file || ssl_crl_dir) {
      3	  98326             if (ssl_crl_file &&
      4	  98327                 X509_STORE_load_locations(crl_store,ssl_crl_file,NULL) == 0) {
       E	                                                                  ( ( void * ) 0 )
      4	  98328                 debug(F110,
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp ssl auth unable to load ssl_crl_file" , ( char * ) ( ssl_c
       E	rl_file ) , ( off_t ) ( 0 ) ) : 0 ) )
      4	  98329                       "ftp ssl auth unable to load ssl_crl_file",
      4	  98330                       ssl_crl_file,
      4	  98331                       0
      4	  98332                       );
      4	  98333                 if (ssl_debug_flag)
      4	  98334                   printf("?Unable to load crl-file: %s\r\n",ssl_crl_file);
      3	  98335             }
      3	  98336             if (ssl_crl_dir &&
      4	  98337                 X509_STORE_load_locations(crl_store,NULL,ssl_crl_dir) == 0) {
       E	                                                     ( ( void * ) 0 )
      4	  98338                 debug(F110,
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp ssl auth unable to load ssl_crl_dir" , ( char * ) ( ssl_cr
       E	l_dir ) , ( off_t ) ( 0 ) ) : 0 ) )
      4	  98339                       "ftp ssl auth unable to load ssl_crl_dir",
      4	  98340                       ssl_crl_dir,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1860
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  98341                       0
      4	  98342                       );
      4	  98343                 if (ssl_debug_flag)
      4	  98344                   printf("?Unable to load crl-dir: %s\r\n",ssl_crl_dir);
      3	  98345             }
      3	  98346         } else {
      3	  98347             X509_STORE_set_default_paths(crl_store);
      2	  98348         }
      1	  98349     }
      1	  98350     SSL_CTX_set_verify(ssl_ftp_ctx,ssl_verify_flag,
      1	  98351                        ssl_client_verify_callback);
      1	  98352     ssl_verify_depth = -1;
      1	  98353     ssl_ftp_con=(SSL *)SSL_new(ssl_ftp_ctx);
      1	  98354     tls_load_certs(ssl_ftp_ctx,ssl_ftp_con,0);
      1	  98355     SSL_set_fd(ssl_ftp_con,csocket);
      1	  98356     SSL_set_verify(ssl_ftp_con,ssl_verify_flag,NULL);
       E	                                                ( ( void * ) 0 )
      2	  98357     if (ssl_cipher_list) {
      2	  98358         SSL_set_cipher_list(ssl_ftp_con,ssl_cipher_list);
      2	  98359     } else {
      2	  98360         char * p;
      3	  98361         if (p = getenv("SSL_CIPHER")) {
      3	  98362             SSL_set_cipher_list(ssl_ftp_con,p);
      3	  98363         } else {
      3	  98364             SSL_set_cipher_list(ssl_ftp_con,DEFAULT_CIPHER_LIST);
       E	                                             "HIGH:MEDIUM:LOW:+ADH:+EXP"
      2	  98365         }
      1	  98366     }
      2	  98367     if (ssl_debug_flag) {
      2	  98368         fprintf(stderr,"=>START SSL/TLS connect on COMMAND\n");
       E	                 ( decc$ga_stderr )
      2	  98369         fflush(stderr);
       E	                ( decc$ga_stderr )
      1	  98370     }
      2	  98371     if (SSL_connect(ssl_ftp_con) <= 0) {
      2	  98372         static char errbuf[1024];
      2	  98373         ckmakmsg(errbuf,1024,"ftp: SSL/TLS connect COMMAND error: ",
      2	  98374                  ERR_error_string(ERR_get_error(),NULL),NULL,NULL);
       E	                                                   ( ( void * ) 0 )
       E	                                                         ( ( void * ) 0 )
       E	                                                              ( ( void * ) 0 )
      2	  98375         fprintf(stderr,"%s\n", errbuf);
       E	                 ( decc$ga_stderr )
      2	  98376         fflush(stderr);
       E	                ( decc$ga_stderr )
      2	  98377         ssl_ftp_active_flag=0;
      2	  98378         SSL_free(ssl_ftp_con);
      2	  98379         ssl_ftp_con = NULL;
       E	                       ( ( void * ) 0 )
      2	  98380     } else {
      2	  98381         ssl_ftp_active_flag = 1;
      2	  98382 
      2	  98383         if (!ssl_certsok_flag &&
      2	  98384 	    (ssl_verify_flag & SSL_VERIFY_PEER) && /* JEA 2013-12-10 */
       E	                         0x01
      3	  98385 	    !tls_is_krb5(1)) {
      3	  98386             char *subject = ssl_get_subject_name(ssl_ftp_con);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1861
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  98387 
      4	  98388             if (!subject) {
      5	  98389                 if (ssl_verify_flag & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) {
       E	                                       0x02
      5	  98390                     debug(F110,"ssl_auth","[SSL - FAILED]",0);
       E	                     ( ( void ) ( deblog ? dodebug ( 6 , "ssl_auth" , ( char * ) ( "[SSL - FAILED]" ) , ( off_t ) ( 
       E	0 ) ) : 0 ) )
      5	  98391                     return(ssl_ftp_active_flag = 0);
      5	  98392                 } else {
      5	  98393                     if (uq_ok("Warning: Server didn't provide a certificate\n",
      6	  98394                                "Continue? (Y/N)",3,NULL,0) <= 0) {
       E	                                                    ( ( void * ) 0 )
      6	  98395                         debug(F110, "ssl_auth","[SSL - FAILED]",0);
       E	                         ( ( void ) ( deblog ? dodebug ( 6 , "ssl_auth" , ( char * ) ( "[SSL - FAILED]" ) , ( off_t 
       E	) ( 0 ) ) : 0 ) )
      6	  98396                         return(ssl_ftp_active_flag = 0);
      5	  98397                     }
      4	  98398                 }
      4	  98399             } else if (ssl_check_server_name(ssl_ftp_con, ftp_user_host)) {
      4	  98400                 debug(F110,"ssl_auth","[SSL - FAILED]",0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ssl_auth" , ( char * ) ( "[SSL - FAILED]" ) , ( off_t ) ( 0 ) 
       E	) : 0 ) )
      4	  98401                 return(ssl_ftp_active_flag = 0);
      3	  98402             }
      2	  98403         }
      2	  98404         debug(F110,"ssl_auth","[SSL - OK]",0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ssl_auth" , ( char * ) ( "[SSL - OK]" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  98405         ssl_display_connect_details(ssl_ftp_con,0,ssl_verbose_flag);
      1	  98406     }
      2	  98407     if (ssl_debug_flag) {
      2	  98408         fprintf(stderr,"=>DONE SSL/TLS connect on COMMAND\n");
       E	                 ( decc$ga_stderr )
      2	  98409         fflush(stderr);
       E	                ( decc$ga_stderr )
      1	  98410     }
      1	  98411     return(ssl_ftp_active_flag);
      1	  98412 }
	  98413 #endif /* CK_SSL */
	  98414 
	  98415 static sigtype
       E	        void
	  98416 #ifdef CK_ANSIC
	  98417 cmdcancel( int sig )
       X  98418 #else
       X  98419 cmdcancel(sig) int sig;
       X  98420 #endif /* CK_ANSIC */
      1	  98421 {
      1X  98422 #ifdef OS2
      1X  98423     /* In Unix we "chain" to trap(), which prints this */
      1X  98424     printf("^C...\n");
      1X  98425 #endif /* OS2 */
      1	  98426     debug(F100,"ftp cmdcancel caught SIGINT ","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp cmdcancel caught SIGINT " , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 
       E	) )
      1	  98427     fflush(stdout);
       E	            ( decc$ga_stdout )
      1	  98428     secure_getc(0,1);			/* Initialize net input buffers */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1862
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  98429     cancelfile++;
      1	  98430     cancelgroup++;
      1	  98431     mlsreset();
      1	  98432 #ifndef OS2
      1X  98433 #ifdef FTP_PROXY
      1X  98434     if (ptflag)                         /* proxy... */
      1X  98435       longjmp(ptcancel,1);
      1X  98436 #endif /* FTP_PROXY */
      1	  98437     debug(F100,"ftp cmdcancel chain to trap()...","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp cmdcancel chain to trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) 
       E	: 0 ) )
      1	  98438     trap(SIGINT);
       E	          2
      1	  98439     /* NOTREACHED */
      1	  98440     debug(F100,"ftp cmdcancel return from trap()...","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp cmdcancel return from trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      1X  98441 #else
      1X  98442     debug(F100,"ftp cmdcancel PostCtrlCSem()...","",0);
      1X  98443     PostCtrlCSem();
      1X  98444 #endif /* OS2 */
      1	  98445 }
	  98446 
	  98447 static int
	  98448 #ifdef CK_ANSIC
	  98449 scommand(char * s)                      /* Was secure_command() */
       X  98450 #else
       X  98451 scommand(s) char * s;
       X  98452 #endif /* CK_ANSIC */
      1	  98453 {
      1	  98454     int length = 0, len2;
      1	  98455     char in[FTP_BUFSIZ], out[FTP_BUFSIZ];
       E	             10240
       E	                              10240
      1	  98456 #ifdef CK_SSL
      2	  98457     if (ssl_ftp_active_flag) {
      2	  98458         int error, rc;
      2	  98459         length = strlen(s) + 2;
       E	                  __STRLEN ( s )
      2	  98460         length = ckmakmsg(out,FTP_BUFSIZ,s,"\r\n",NULL,NULL);
       E	                               10240
       E	                                                   ( ( void * ) 0 )
       E	                                                        ( ( void * ) 0 )
      2	  98461         rc = SSL_write(ssl_ftp_con,out,length);
      2	  98462         error = SSL_get_error(ssl_ftp_con,rc);
      3	  98463         switch (error) {
      3	  98464           case SSL_ERROR_NONE:
       E	                0
      3	  98465             return(1);
      3	  98466           case SSL_ERROR_WANT_WRITE:
       E	                3
      3	  98467           case SSL_ERROR_WANT_READ:
       E	                2
      3	  98468           case SSL_ERROR_SYSCALL:
       E	                5
      3X  98469 #ifdef NT
      3X  98470             {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1863
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3X  98471                 int gle = GetLastError();
      3X  98472             }
      3X  98473 #endif /* NT */
      3	  98474           case SSL_ERROR_WANT_X509_LOOKUP:
       E	                4
      3	  98475           case SSL_ERROR_SSL:
       E	                1
      3	  98476           case SSL_ERROR_ZERO_RETURN:
       E	                6
      3	  98477           default:
      3	  98478             lostpeer();
      2	  98479         }
      2	  98480         return(0);
      1	  98481     }
      1	  98482 #endif /* CK_SSL */
      1	  98483 
      2	  98484     if (auth_type && ftp_cpl != FPL_CLR) {
       E	                                 1
      2X  98485 #ifdef FTP_SRP
      2X  98486         if (ck_srp_is_installed() && (strcmp(auth_type,"SRP") == 0))
      2X  98487           if ((length = srp_encode(ftp_cpl == FPL_PRV,
      2X  98488                                    (CHAR *)s,
      2X  98489                                    (CHAR *)out,
      2X  98490                                    strlen(s))) < 0) {
      2X  98491               fprintf(stderr, "SRP failed to encode message\n");
      2X  98492               return(0);
      2X  98493           }
      2X  98494 #endif /* FTP_SRP */
      2X  98495 #ifdef FTP_KRB4
      2X  98496         if (ck_krb4_is_installed() &&
      2X  98497             (strcmp(auth_type, "KERBEROS_V4") == 0)) {
      2X  98498             if (ftp_cpl == FPL_PRV) {
      2X  98499                 length =
      2X  98500                   krb_mk_priv((CHAR *)s, (CHAR *)out,
      2X  98501                               strlen(s), ftp_sched,
      2X  98502 #ifdef KRB524
      2X  98503                               ftp_cred.session,
      2X  98504 #else /* KRB524 */
      2X  98505                               &ftp_cred.session,
      2X  98506 #endif /* KRB524 */
      2X  98507                               &myctladdr, &hisctladdr);
      2X  98508             } else {
      2X  98509                 length =
      2X  98510                   krb_mk_safe((CHAR *)s,
      2X  98511                               (CHAR *)out,
      2X  98512                               strlen(s),
      2X  98513 #ifdef KRB524
      2X  98514                               ftp_cred.session,
      2X  98515 #else /* KRB524 */
      2X  98516                               &ftp_cred.session,
      2X  98517 #endif /* KRB524 */
      2X  98518                               &myctladdr, &hisctladdr);
      2X  98519             }
      2X  98520             if (length == -1) {
      2X  98521                 fprintf(stderr, "krb_mk_%s failed for KERBEROS_V4\n",
      2X  98522                         ftp_cpl == FPL_PRV ? "priv" : "safe");
      2X  98523                 return(0);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1864
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X  98524             }
      2X  98525         }
      2X  98526 #endif /* FTP_KRB4 */
      2X  98527 #ifdef FTP_GSSAPI
      2X  98528         /* Scommand (based on level) */
      2X  98529         if (ck_gssapi_is_installed() && (strcmp(auth_type, "GSSAPI") == 0)) {
      2X  98530             gss_buffer_desc in_buf, out_buf;
      2X  98531             OM_uint32 maj_stat, min_stat;
      2X  98532             int conf_state;
      2X  98533             in_buf.value = s;
      2X  98534             in_buf.length = strlen(s) + 1;
      2X  98535             maj_stat = gss_seal(&min_stat, gcontext,
      2X  98536                                 (ftp_cpl==FPL_PRV), /* private */
      2X  98537                                 GSS_C_QOP_DEFAULT,
      2X  98538                                 &in_buf, &conf_state,
      2X  98539                                 &out_buf);
      2X  98540             if (maj_stat != GSS_S_COMPLETE) { /* Generally need to deal */
      2X  98541                 user_gss_error(maj_stat, min_stat,
      2X  98542                                (ftp_cpl==FPL_PRV)?
      2X  98543                                "gss_seal ENC didn't complete":
      2X  98544                                "gss_seal MIC didn't complete");
      2X  98545             } else if ((ftp_cpl == FPL_PRV) && !conf_state) {
      2X  98546                 fprintf(stderr, "GSSAPI didn't encrypt message");
      2X  98547             } else {
      2X  98548                 if (ftp_deb)
      2X  98549                   fprintf(stderr, "sealed (%s) %d bytes\n",
      2X  98550                           ftp_cpl==FPL_PRV?"ENC":"MIC",
      2X  98551                           out_buf.length);
      2X  98552                 memcpy(out, out_buf.value,
      2X  98553                        length=out_buf.length);
      2X  98554                 gss_release_buffer(&min_stat, &out_buf);
      2X  98555             }
      2X  98556         }
      2X  98557 #endif /* FTP_GSSAPI */
      2	  98558         /* Other auth types go here ... */
      2	  98559 
      2	  98560         len2 = FTP_BUFSIZ;
       E	                10240
      2	  98561         if ((kerror = radix_encode((CHAR *)out, (CHAR *)in,
       E	                                     unsigned char
       E	                                                  unsigned char
      2	  98562                                    length, &len2, RADIX_ENCODE))
       E	                                                   0
      3	  98563             ) {
      3	  98564             fprintf(stderr,"Couldn't base 64 encode command (%s)\n",
       E	                     ( decc$ga_stderr )
      3	  98565                     radix_error(kerror));
      3	  98566             return(0);
      2	  98567         }
      2	  98568         if (ftp_deb)
      2	  98569           fprintf(stderr, "scommand(%s)\nencoding %d bytes\n", s, length);
       E	                   ( decc$ga_stderr )
      2	  98570         len2 = ckmakmsg(out,
      2	  98571 			FTP_BUFSIZ,
       E	    10240
      2	  98572 			ftp_cpl == FPL_PRV ? "ENC " : "MIC ",
       E	               3

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1865
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  98573                         in,
      2	  98574 			"\r\n",
      2	  98575 			NULL
       E	    ( ( void * ) 0 )
      2	  98576 			);
      2	  98577         send(csocket,(SENDARG2TYPE)out,len2,0);
       E	                       char *
      2	  98578     } else {
      2	  98579         char out[FTP_BUFSIZ];
       E	                  10240
      2	  98580         int len = ckmakmsg(out,FTP_BUFSIZ,s,"\r\n",NULL,NULL);
       E	                                10240
       E	                                                    ( ( void * ) 0 )
       E	                                                         ( ( void * ) 0 )
      2	  98581         send(csocket,(SENDARG2TYPE)out,len,0);
       E	                       char *
      1	  98582     }
      1	  98583     return(1);
      1	  98584 }
	  98585 
	  98586 static int
      1	  98587 mygetc() {
      1	  98588     static char inbuf[4096];
      1	  98589     static int bp = 0, ep = 0;
      1	  98590     int rc;
      1	  98591 
      2	  98592     if (bp == ep) {
      2	  98593         bp = ep = 0;
      2	  98594 #ifdef CK_SSL
      3	  98595         if (ssl_ftp_active_flag) {
      3	  98596             int error;
      3	  98597             rc = SSL_read(ssl_ftp_con,inbuf,4096);
      3	  98598             error = SSL_get_error(ssl_ftp_con,rc);
      4	  98599             switch (error) {
      4	  98600               case SSL_ERROR_NONE:
       E	                    0
      4	  98601                 break;
      4	  98602               case SSL_ERROR_WANT_WRITE:
       E	                    3
      4	  98603               case SSL_ERROR_WANT_READ:
       E	                    2
      4	  98604                 return(0);
      4	  98605               case SSL_ERROR_SYSCALL:
       E	                    5
      5	  98606                 if (rc == 0) {          /* EOF */
      5	  98607                     break;
      5	  98608                 } else {
      5X  98609 #ifdef NT
      5X  98610                     int gle = GetLastError();
      5X  98611 #endif /* NT */
      5	  98612                     break;
      4	  98613                 }
      4	  98614               case SSL_ERROR_WANT_X509_LOOKUP:
       E	                    4
      4	  98615               case SSL_ERROR_SSL:
       E	                    1
      4	  98616               case SSL_ERROR_ZERO_RETURN:

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1866
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                    6
      4	  98617               default:
      4	  98618                 break;
      3	  98619             }
      2	  98620         } else
      2	  98621 #endif /* CK_SSL */
      2	  98622           rc = recv(csocket,(char *)inbuf,4096,0);
      2	  98623         if (rc <= 0)
      2	  98624           return(EOF);
       E	                  ( - 1 )
      2	  98625         ep = rc;
      1	  98626     }
      1	  98627     return(inbuf[bp++]);
      1	  98628 }
	  98629 
	  98630 /*  x l a t e c  --  Translate a character  */
	  98631 /*
	  98632     Call with:
	  98633       fc    = Function code: 0 = translate, 1 = initialize.
	  98634       c     = Character (as int).
	  98635       incs  = Index of charset to translate from.
	  98636       outcs = Index of charset to translate to.
	  98637 
	  98638     Returns:
	  98639       0: OK
	  98640      -1: Error
	  98641 */
	  98642 static int
	  98643 #ifdef CK_ANSIC
	  98644 xlatec( int fc, int c, int incs, int outcs )
       X  98645 #else
       X  98646 xlatec(fc,c,incs,outcs) int fc, c, incs, outcs;
       X  98647 #endif /* CK_ANSIC */
      1	  98648 {
      1X  98649 #ifdef NOCSETS
      1X  98650     return(c);
      1X  98651 #else
      1	  98652     static char buf[128];
      1	  98653     static int cx;
      1	  98654     int c0, c1;
      1	  98655 
      2	  98656     if (fc == 1) {                      /* Initialize */
      2	  98657         cx = 0;                         /* Catch-up buffer write index */
      2	  98658         xgnbp = buf;                    /* Catch-up buffer read pointer */
      2	  98659         buf[0] = NUL;                   /* Buffer is empty */
       E	                  '\0'
      2	  98660         return(0);
      1	  98661     }
      2	  98662     if (cx >= 127) {                    /* Catch-up buffer full */
      2	  98663         debug(F100,"xlatec overflow","",0); /* (shouldn't happen) */
       E	         ( ( void ) ( deblog ? dodebug ( 4 , "xlatec overflow" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  98664         printf("?Translation buffer overflow\n");
      2	  98665         return(-1);
      1	  98666     }
      1	  98667     /* Add char to buffer. */
      1	  98668     /* The buffer won't grow unless incs is a multibyte set, e.g. UTF-8. */
      1	  98669 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1867
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  98670     debug(F000,"xlatec buf",ckitoa(cx),c);
       E	     ( ( void ) ( deblog ? dodebug ( 0 , "xlatec buf" , ( char * ) ( ckitoa ( cx ) ) , ( off_t ) ( c ) ) : 0 ) )
      1	  98671     buf[cx++] = c;
      1	  98672     buf[cx] = NUL;
       E	               '\0'
      1	  98673 
      2	  98674     while ((c0 = xgnbyte(FC_UCS2,incs,strgetc)) > -1) {
       E	                          45
      2	  98675         if (xpnbyte(c0,TC_UCS2,outcs,NULL) < 0)	/* (NULL was xprintc) */
       E	                        9
       E	                                      ( ( void * ) 0 )
      2	  98676           return(-1);
      1	  98677     }
      1	  98678     /* If we're caught up, reinitialize the buffer */
      1	  98679     return((cx == (xgnbp - buf)) ? xlatec(1,0,0,0) : 0);
      1	  98680 #endif /* NOCSETS */
      1	  98681 }
	  98682 
	  98683 
	  98684 /*  p a r s e f e a t  */
	  98685 
	  98686 /* Note: for convenience we align keyword values with table indices */
	  98687 /* If you need to insert a new keyword, adjust the SFT_xxx definitions */
	  98688 
	  98689 static struct keytab feattab[] = {
	  98690     { "$$$$", 0,        0 },		/* Dummy for sfttab[0] */
	  98691     { "AUTH", SFT_AUTH, 0 },
       E	               1
	  98692     { "LANG", SFT_LANG, 0 },
       E	               2
	  98693     { "MDTM", SFT_MDTM, 0 },
       E	               3
	  98694     { "MLST", SFT_MLST, 0 },
       E	               4
	  98695     { "PBSZ", SFT_PBSZ, 0 },
       E	               5
	  98696     { "PROT", SFT_PROT, 0 },
       E	               6
	  98697     { "REST", SFT_REST, 0 },
       E	               7
	  98698     { "SIZE", SFT_SIZE, 0 },
       E	               8
	  98699     { "TVFS", SFT_TVFS, 0 },
       E	               9
	  98700     { "UTF8", SFT_UTF8, 0 }
       E	               10
	  98701 };
	  98702 static int nfeattab = (sizeof(feattab) / sizeof(struct keytab));
	  98703 
	  98704 #define FACT_CSET  1
	  98705 #define FACT_CREA  2
	  98706 #define FACT_LANG  3
	  98707 #define FACT_MTYP  4
	  98708 #define FACT_MDTM  5
	  98709 #define FACT_PERM  6
	  98710 #define FACT_SIZE  7
	  98711 #define FACT_TYPE  8

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1868
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	  98712 #define FACT_UNIQ  9
	  98713 
	  98714 static struct keytab facttab[] = {
	  98715     { "CHARSET",    FACT_CSET, 0 },
       E	                     1
	  98716     { "CREATE",     FACT_CREA, 0 },
       E	                     2
	  98717     { "LANG",       FACT_LANG, 0 },
       E	                     3
	  98718     { "MEDIA-TYPE", FACT_MTYP, 0 },
       E	                     4
	  98719     { "MODIFY",     FACT_MDTM, 0 },
       E	                     5
	  98720     { "PERM",       FACT_PERM, 0 },
       E	                     6
	  98721     { "SIZE",       FACT_SIZE, 0 },
       E	                     7
	  98722     { "TYPE",       FACT_TYPE, 0 },
       E	                     8
	  98723     { "UNIQUE",     FACT_UNIQ, 0 }
       E	                     9
	  98724 };
	  98725 static int nfacttab = (sizeof(facttab) / sizeof(struct keytab));
	  98726 
	  98727 static struct keytab ftyptab[] = {
	  98728     { "CDIR", FTYP_CDIR, 0 },
       E	               3
	  98729     { "DIR",  FTYP_DIR,  0 },
       E	               2
	  98730     { "FILE", FTYP_FILE, 0 },
       E	               1
	  98731     { "PDIR", FTYP_PDIR, 0 }
       E	               4
	  98732 };
	  98733 static int nftyptab = (sizeof(ftyptab) / sizeof(struct keytab));
	  98734 
	  98735 static VOID
       E	        void
	  98736 #ifdef CK_ANSIC
	  98737 parsefeat( char * s )                   /* Parse a FEATURE response */
       X  98738 #else
       X  98739 parsefeat(s) char * s;
       X  98740 #endif /* CK_ANSIC */
      1	  98741 {
      1	  98742     char kwbuf[8];
      1	  98743     int i, x;
      1	  98744     if (!s) return;
      1	  98745     if (!*s) return;
      1	  98746     while (*s < '!')
      1	  98747       s++;
      2	  98748     for (i = 0; i < 4; i++) {
      2	  98749 	if (s[i] < '!')
      2	  98750 	  break;
      2	  98751 	kwbuf[i] = s[i];
      1	  98752     }
      1	  98753     if (s[i] && s[i] != SP && s[i] != CK_CR && s[i] != LF)
       E	                         32

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1869
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                       13
       E	                                                        10
      1	  98754       return;
      1	  98755     kwbuf[i] = NUL;
       E	                '\0'
      1	  98756     /* xlookup requires a full (but case independent) match */
      1	  98757     i = xlookup(feattab,kwbuf,nfeattab,&x);
      1	  98758     debug(F111,"ftp parsefeat",s,i);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp parsefeat" , ( char * ) ( s ) , ( off_t ) ( i ) ) : 0 ) )
      1	  98759     if (i < 0 || i > 15)
      1	  98760       return;
      1	  98761 
      2	  98762     switch (i) {
      2	  98763       case SFT_MDTM:			/* Controlled by ENABLE/DISABLE */
       E	            3
      2	  98764 	sfttab[i] = mdtmok;
      2	  98765 	if (mdtmok) sfttab[0]++;
      2	  98766 	break;
      2	  98767       case SFT_MLST:			/* ditto */
       E	            4
      2	  98768 	sfttab[i] = mlstok;
      2	  98769 	if (mlstok) sfttab[0]++;
      2	  98770 	break;
      2	  98771       case SFT_SIZE:			/* ditto */
       E	            8
      2	  98772 	sfttab[i] = sizeok;
      2	  98773 	if (sizeok) sfttab[0]++;
      2	  98774 	break;
      2	  98775       case SFT_AUTH:			/* ditto */
       E	            1
      2	  98776 	sfttab[i] = ftp_aut;
      2	  98777 	if (ftp_aut) sfttab[0]++;
      2	  98778 	break;
      2	  98779       default:				/* Others */
      2	  98780 	sfttab[0]++;
      2	  98781 	sfttab[i]++;
      1	  98782     }
      1	  98783 }
	  98784 
	  98785 static char *
	  98786 #ifdef CK_ANSIC
	  98787 parsefacts( char * s )                  /* Parse MLS[DT] File Facts */
       X  98788 #else
       X  98789 parsefacts(s) char * s;
       X  98790 #endif /* CK_ANSIC */
      1	  98791 {
      1	  98792     char * p;
      1	  98793     int i, j, x;
      1	  98794     if (!s) return(NULL);
       E	                    ( ( void * ) 0 )
      1	  98795     if (!*s) return(NULL);
       E	                     ( ( void * ) 0 )
      1	  98796 
      1	  98797     /* Maybe we should make a copy of s so we can poke it... */
      1	  98798 
      2	  98799     while ((p = ckstrchr(s,'='))) {
      2	  98800 	*p = NUL;			/* s points to fact */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1870
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	       '\0'
      2	  98801 	i = xlookup(facttab,s,nfacttab,&x); 
      2	  98802 	debug(F111,"ftp parsefact fact",s,i);
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "ftp parsefact fact" , ( char * ) ( s ) , ( off_t ) ( i ) ) : 0 ) )
      2	  98803 	*p = '=';
      2	  98804 	s = p+1;			/* Now s points to arg */
      2	  98805 	p = ckstrchr(s,';');
      2	  98806         if (!p)
      2	  98807 	  p = ckstrchr(s,SP);
       E	                   32
      3	  98808 	if (!p) {
      3	  98809 	    debug(F110,"ftp parsefact end-of-val search fail",s,0);
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "ftp parsefact end-of-val search fail" , ( char * ) ( s ) , ( off_t ) ( 0 
       E	) ) : 0 ) )
      3	  98810 	    break;
      2	  98811 	}
      2	  98812 	*p = NUL;
       E	       '\0'
      2	  98813 	debug(F110,"ftp parsefact valu",s,0);
       E	  ( ( void ) ( deblog ? dodebug ( 6 , "ftp parsefact valu" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  98814 	switch (i) {
      3	  98815 	  case FACT_CSET:		/* Ignore these for now */
       E	         1
      3	  98816 	  case FACT_CREA:
       E	         2
      3	  98817 	  case FACT_LANG:
       E	         3
      3	  98818 	  case FACT_PERM:
       E	         6
      3	  98819 	  case FACT_MTYP:
       E	         4
      3	  98820 	  case FACT_UNIQ:
       E	         9
      3	  98821 	    break;
      3	  98822 	  case FACT_MDTM:		/* Modtime */
       E	         5
      3	  98823 	    makestr(&havemdtm,s);
      3	  98824 	    debug(F110,"ftp parsefact mdtm",havemdtm,0);
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "ftp parsefact mdtm" , ( char * ) ( havemdtm ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	  98825 	    break;
      3	  98826 	  case FACT_SIZE:		/* Size */
       E	         7
      3	  98827 	    havesize = ckatofs(s);
      3	  98828 	    debug(F101,"ftp parsefact size","",havesize);
       E	      ( ( void ) ( deblog ? dodebug ( 5 , "ftp parsefact size" , ( char * ) ( "" ) , ( off_t ) ( havesize ) ) : 0 ) 
       E	)
      3	  98829 	    break;
      3	  98830 	  case FACT_TYPE:		/* Type */
       E	         8
      3	  98831 	    j = xlookup(ftyptab,s,nftyptab,NULL);
       E	                                     ( ( void * ) 0 )
      3	  98832 	    debug(F111,"ftp parsefact type",s,j);
       E	      ( ( void ) ( deblog ? dodebug ( 7 , "ftp parsefact type" , ( char * ) ( s ) , ( off_t ) ( j ) ) : 0 ) )
      3	  98833 	    havetype = (j < 1) ? 0 : j;
      3	  98834 	    break;
      2	  98835 	}
      2	  98836 	*p = ';';

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1871
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  98837 	s = p+1;			/* s points next fact or name */
      1	  98838     }
      1	  98839     while (*s == SP)			/* Skip past spaces. */
       E	                  32
      1	  98840       s++;
      1	  98841     if (!*s)				/* Make sure we still have a name */
      1	  98842       s = NULL;
       E	           ( ( void * ) 0 )
      1	  98843     debug(F110,"ftp parsefact name",s,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp parsefact name" , ( char * ) ( s ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	  98844     return(s);
      1	  98845 }
	  98846 
	  98847 /*  g e t r e p l y  --  (to an FTP command sent to server)  */
	  98848 
	  98849 /* vbm = 1 (verbose); 0 (quiet except for error messages); 9 (super quiet) */
	  98850 
	  98851 static int
	  98852 #ifdef CK_ANSIC
	  98853 getreply( int expecteof, int lcs, int rcs, int vbm, int fc )
       X  98854 #else
       X  98855 getreply(expecteof,lcs,rcs,vbm,fc) int expecteof, lcs, rcs, vbm, fc;
       X  98856 #endif /* CK_ANSIC */
      1	  98857 {
      1	  98858     /* lcs, rcs, vbm parameters as in ftpcmd() */
      1	  98859     register int i, c, n;
      1	  98860     register int dig;
      1	  98861     register char *cp;
      1	  98862     int xlate = 0;
      1	  98863     int count = 0;
      1	  98864     int auth = 0;
      1	  98865     int originalcode = 0, continuation = 0;
      1	  98866     int pflag = 0;
      1	  98867     char *pt = pasv;
      1	  98868     char ibuf[FTP_BUFSIZ], obuf[FTP_BUFSIZ]; /* (these are pretty big...) */
       E	               10240
       E	                                 10240
      1	  98869     int safe = 0;
      1	  98870     int xquiet = 0;
      1	  98871 
      1	  98872     auth = (fc == GRF_AUTH);
       E	                   1
      1	  98873 
      1	  98874 #ifndef NOCSETS
      1	  98875     debug(F101,"ftp getreply lcs","",lcs);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp getreply lcs" , ( char * ) ( "" ) , ( off_t ) ( lcs ) ) : 0 ) )
      1	  98876     debug(F101,"ftp getreply rcs","",rcs);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp getreply rcs" , ( char * ) ( "" ) , ( off_t ) ( rcs ) ) : 0 ) )
      2	  98877     if (lcs > -1 && rcs > -1 && lcs != rcs) {
      2	  98878         xlate = 1;
      2	  98879         initxlate(rcs,lcs);
      2	  98880         xlatec(1,0,rcs,lcs);
      1	  98881     }
      1	  98882 #endif /* NOCSETS */
      1	  98883     debug(F101,"ftp getreply fc","",fc);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp getreply fc" , ( char * ) ( "" ) , ( off_t ) ( fc ) ) : 0 ) )
      1	  98884 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1872
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  98885     if (quiet)
      1	  98886       xquiet = 1;
      2	  98887     if (vbm == 9) {
      2	  98888         xquiet = 1;
      2	  98889         vbm = 0;
      1	  98890     }
      1	  98891     if (ftp_deb)                        /* DEBUG */
      1	  98892       vbm = 1;
      1	  98893     else if (quiet || dpyactive)        /* QUIET or File Transfer Active */
      1	  98894       vbm = 0;
      1	  98895     else if (vbm < 0)                   /* VERBOSE */
      1	  98896       vbm = ftp_vbm;
      1	  98897 
      1	  98898     ibuf[0] = '\0';
      1	  98899     if (reply_parse)
      1	  98900       reply_ptr = reply_buf;
      1	  98901     havesigint = 0;
      1	  98902     oldintr = signal(SIGINT, cmdcancel);
       E	                      2
      2	  98903     for (count = 0;; count++) {
      2	  98904         obuf[0] = '\0';
      2	  98905         dig = n = ftpcode = i = 0;
      2	  98906         cp = ftp_reply_str;
      3	  98907         while ((c = ibuf[0] ? ibuf[i++] : mygetc()) != '\n') {
      4	  98908             if (c == IAC) {             /* Handle telnet commands */
       E	                      0xff
      5	  98909                 switch (c = mygetc()) {
      5	  98910                   case WILL:
       E	                        0xfb
      5	  98911                   case WONT:
       E	                        0xfc
      5	  98912                     c = mygetc();
      5	  98913                     obuf[0] = IAC;
       E	                               0xff
      5	  98914                     obuf[1] = DONT;
       E	                               0xfe
      5	  98915                     obuf[2] = c;
      5	  98916                     obuf[3] = NUL;
       E	                               '\0'
      5	  98917 #ifdef CK_SSL
      6	  98918                     if (ssl_ftp_active_flag) {
      6	  98919                         int error, rc;
      6	  98920                         rc = SSL_write(ssl_ftp_con,obuf,3);
      6	  98921                         error = SSL_get_error(ssl_ftp_con,rc);
      7	  98922                         switch (error) {
      7	  98923                           case SSL_ERROR_NONE:
       E	                                0
      7	  98924                             break;
      7	  98925                           case SSL_ERROR_WANT_WRITE:
       E	                                3
      7	  98926                           case SSL_ERROR_WANT_READ:
       E	                                2
      7	  98927                             return(0);
      7	  98928                           case SSL_ERROR_SYSCALL:
       E	                                5
      8	  98929                             if (rc == 0) { /* EOF */
      8	  98930                                 break;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1873
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      8	  98931                             } else {
      8X  98932 #ifdef NT
      8X  98933                                 int gle = GetLastError();
      8X  98934 #endif /* NT */
      8	  98935                                 break;
      7	  98936                             }
      7	  98937                           case SSL_ERROR_WANT_X509_LOOKUP:
       E	                                4
      7	  98938                           case SSL_ERROR_SSL:
       E	                                1
      7	  98939                           case SSL_ERROR_ZERO_RETURN:
       E	                                6
      7	  98940                           default:
      7	  98941                             break;
      6	  98942                         }
      5	  98943                     } else
      5	  98944 #endif /* CK_SSL */
      5	  98945                       send(csocket,(SENDARG2TYPE)obuf,3,0);
       E	                                     char *
      5	  98946                     break;
      5	  98947                   case DO:
       E	                        0xfd
      5	  98948                   case DONT:
       E	                        0xfe
      5	  98949                     c = mygetc();
      5	  98950                     obuf[0] = IAC;
       E	                               0xff
      5	  98951                     obuf[1] = WONT;
       E	                               0xfc
      5	  98952                     obuf[2] = c;
      5	  98953                     obuf[3] = NUL;
       E	                               '\0'
      5	  98954 #ifdef CK_SSL
      6	  98955                     if (ssl_ftp_active_flag) {
      6	  98956                         int error, rc;
      6	  98957                         rc = SSL_write(ssl_ftp_con,obuf,3);
      6	  98958                         error = SSL_get_error(ssl_ftp_con,rc);
      7	  98959                         switch (error) {
      7	  98960                           case SSL_ERROR_NONE:
       E	                                0
      7	  98961                             break;
      7	  98962                           case SSL_ERROR_WANT_WRITE:
       E	                                3
      7	  98963                           case SSL_ERROR_WANT_READ:
       E	                                2
      7	  98964                               signal(SIGINT,oldintr);
       E	                                      2
      7	  98965                               return(0);
      7	  98966                           case SSL_ERROR_SYSCALL:
       E	                                5
      8	  98967                             if (rc == 0) { /* EOF */
      8	  98968                                 break;
      8	  98969                             } else {
      8X  98970 #ifdef NT
      8X  98971                                 int gle = GetLastError();
      8X  98972 #endif /* NT */
      8	  98973                                 break;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1874
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      7	  98974                             }
      7	  98975                           case SSL_ERROR_WANT_X509_LOOKUP:
       E	                                4
      7	  98976                           case SSL_ERROR_SSL:
       E	                                1
      7	  98977                           case SSL_ERROR_ZERO_RETURN:
       E	                                6
      7	  98978                           default:
      7	  98979                             break;
      6	  98980                         }
      5	  98981                     } else
      5	  98982 #endif /* CK_SSL */
      5	  98983                       send(csocket,(SENDARG2TYPE)obuf,3,0);
       E	                                     char *
      5	  98984                     break;
      5	  98985                   default:
      5	  98986                     break;
      4	  98987                 }
      4	  98988                 continue;
      3	  98989             }
      3	  98990             dig++;
      4	  98991             if (c == EOF) {
       E	                      ( - 1 )
      5	  98992                 if (expecteof) {
      5	  98993                     signal(SIGINT,oldintr);
       E	                            2
      5	  98994                     ftpcode = 221;
      5	  98995                     debug(F101,"ftp getreply EOF","",ftpcode);
       E	                     ( ( void ) ( deblog ? dodebug ( 5 , "ftp getreply EOF" , ( char * ) ( "" ) , ( off_t ) ( ftpcod
       E	e ) ) : 0 ) )
      5	  98996                     return(0);
      4	  98997                 }
      4	  98998                 lostpeer();
      5	  98999                 if (!xquiet) {
      5	  99000                     if (ftp_deb)
      5	  99001                       printf("421 ");
      5	  99002                     printf(
      5	  99003                       "Service not available, connection closed by server\n");
      5	  99004                     fflush(stdout);
       E	                            ( decc$ga_stdout )
      4	  99005                 }
      4	  99006                 signal(SIGINT,oldintr);
       E	                        2
      4	  99007                 ftpcode = 421;
      4	  99008                 debug(F101,"ftp getreply EOF","",ftpcode);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "ftp getreply EOF" , ( char * ) ( "" ) , ( off_t ) ( ftpcode ) 
       E	) : 0 ) )
      4	  99009                 return(4);
      3	  99010             }
      4	  99011             if (n == 0) {		/* First digit */
      4	  99012 		n = c;			/* Save it */
      3	  99013 	    }
      3	  99014             if (auth_type &&
      3	  99015 #ifdef CK_SSL
      3	  99016                 !ssl_ftp_active_flag &&
      3	  99017 #endif /* CK_SSL */
      4	  99018                 !ibuf[0] && (n == '6' || continuation)) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1875
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  99019                 if (c != '\r' && dig > 4)
      4	  99020                   obuf[i++] = c;
      4	  99021             } else {
      4	  99022                 if (auth_type &&
      4	  99023 #ifdef CK_SSL
      4	  99024                     !ssl_ftp_active_flag &&
      4	  99025 #endif /* CK_SSL */
      4	  99026                     !ibuf[0] && dig == 1 && vbm)
      4	  99027                   printf("Unauthenticated reply received from server:\n");
      5	  99028                 if (reply_parse) {
      5	  99029                     *reply_ptr++ = c;
      5	  99030                     *reply_ptr = NUL;
       E	                                  '\0'
      4	  99031                 }
      4	  99032                 if ((!dpyactive || ftp_deb) && /* Don't mess up xfer display */
      5	  99033                     ftp_cmdlin < 2) {
      5	  99034                     if ((c != '\r') &&
      5	  99035                         (ftp_deb || ((vbm || (!auth && n == '5')) &&
      5	  99036                         (dig > 4 || ( dig <= 4 && !isdigit(c) && ftpcode == 0
       E	                                                    ( ( decc$$gl___ctypea ) ? ( decc$$ga___ctypet ) [ ( int ) ( c ) 
       E	] & 0x4 : ( isdigit ) ( c ) )
      5	  99037                         )))))
      6	  99038                     {
      6X  99039 #ifdef FTP_PROXY
      6X  99040                         if (ftp_prx && (dig == 1 || (dig == 5 && vbm == 0)))
      6X  99041                           printf("%s:",ftp_host);
      6X  99042 #endif /* FTP_PROXY */
      6	  99043 
      7	  99044                         if (!xquiet) {
      7X  99045 #ifdef NOCSETS
      7X  99046                             printf("%c",c);
      7X  99047 #else
      8	  99048                             if (xlate) {
      8	  99049                                 xlatec(0,c,rcs,lcs);
      8	  99050                             } else {
      8	  99051                                 printf("%c",c);
      7	  99052                             }
      7	  99053 #endif /* NOCSETS */
      6	  99054                         }
      5	  99055                     }
      4	  99056                 }
      3	  99057             }
      3	  99058             if (auth_type &&
      3	  99059 #ifdef CK_SSL
      3	  99060                 !ssl_ftp_active_flag &&
      3	  99061 #endif /* CK_SSL */
      3	  99062                 !ibuf[0] && n != '6')
      3	  99063               continue;
      3	  99064             if (dig < 4 && isdigit(c))
       E	                            ( ( decc$$gl___ctypea ) ? ( decc$$ga___ctypet ) [ ( int ) ( c ) ] & 0x4 : ( isdigit ) ( 
       E	c ) )
      3	  99065               ftpcode = ftpcode * 10 + (c - '0');
      3	  99066             if (!pflag && ftpcode == 227)
      3	  99067               pflag = 1;
      3	  99068             if (dig > 4 && pflag == 1 && isdigit(c))
       E	                                          ( ( decc$$gl___ctypea ) ? ( decc$$ga___ctypet ) [ ( int ) ( c ) ] & 0x4 : 
       E	( isdigit ) ( c ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1876
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  99069               pflag = 2;
      4	  99070             if (pflag == 2) {
      4	  99071                 if (c != '\r' && c != ')')
      4	  99072                   *pt++ = c;
      5	  99073                 else {
      5	  99074                     *pt = '\0';
      5	  99075                     pflag = 3;
      4	  99076                 }
      3	  99077             }
      4	  99078             if (dig == 4 && c == '-' && n != '6') {
      4	  99079                 if (continuation)
      4	  99080                   ftpcode = 0;
      4	  99081                 continuation++;
      3	  99082             }
      4	  99083             if (cp < &ftp_reply_str[FTP_BUFSIZ - 1]) {
       E	                                     10240
      4	  99084                 *cp++ = c;
      4	  99085                 *cp = NUL;
       E	                       '\0'
      3	  99086             }
      2	  99087         }
      2	  99088         if (deblog ||
      2X  99089 #ifdef COMMENT
      2	  99090 /*
      2	  99091   Sometimes we need to print the server reply.  printlines is nonzero for any
      2	  99092   command where the results are sent back on the control connection rather
      2	  99093   than the data connection, e.g. STAT.  In the TOPS-20 case, each file line
      2	  99094   has ftpcode 213.  But if you do this with a UNIX server, it sends "213-Start
      2	  99095   STAT", <line with ftpcode == 0>, "213-End" or somesuch.  So when printlines
      2	  99096   is nonzero, we want the 213 lines from TOPS-20 and we DON'T want the 213
      2	  99097   lines from UNIX.  Further experimentation needed with other servers.  Of
      2	  99098   course RFC959 is mute as to the format of the server reply.
      2	  99099 
      2	  99100   'printlines' is also true for PWD and BYE.
      2X  99101 */
      2X  99102 	    (printlines && ((ftpcode == 0) || (servertype == SYS_TOPS20)))
      2X  99103 #else
      2	  99104 /* No, we can't be that clever -- it breaks other things like RPWD... */
      2	  99105             (printlines &&
      2	  99106              (ftpcode != 631 && ftpcode != 632 && ftpcode != 633))
      2	  99107 #endif /* COMMENT */
      3	  99108             ) {
      3	  99109             char * q = cp;
      3	  99110             char *r = ftp_reply_str;
      3	  99111             *q-- = NUL;                 /* NUL-terminate */
       E	                    '\0'
      3	  99112             while (*q < '!' && q > r)   /* Strip CR, etc */
      3	  99113               *q-- = NUL;
       E	                      '\0'
      4	  99114             if (!ftp_deb && printlines) { /* If printing */
      4	  99115                 if (ftpcode != 0)       /* strip ftpcode if any */
      4	  99116                   r += 4;
      4X  99117 #ifdef NOCSETS
      4X  99118                 printf("%s\n",r);       /* and print */
      4X  99119 #else
      5	  99120                 if (!xlate) {
      5	  99121                     printf("%s\n",r);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1877
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	  99122                 } else {		/* Translating */
      5	  99123                     xgnbp = r;		/* Set up strgetc() */
      6	  99124                     while ((c0 = xgnbyte(FC_UCS2,rcs,strgetc)) > -1) {
       E	                                          45
      7	  99125                         if (xpnbyte(c0,TC_UCS2,lcs,NULL) < 0) {	/* (xprintc) */
       E	                                        9
       E	                                                    ( ( void * ) 0 )
      7	  99126                             signal(SIGINT,oldintr);
       E	                                    2
      7	  99127                             return(-1);
      6	  99128                         }
      5	  99129                     }
      5	  99130                     printf("\n");
      4	  99131                 }
      4	  99132 #endif /* NOCSETS */
      3	  99133             }
      2	  99134         }
      2	  99135 	debug(F110,"FTP RCVD ",ftp_reply_str,0);
       E	  ( ( void ) ( deblog ? dodebug ( 6 , "FTP RCVD " , ( char * ) ( ftp_reply_str ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	  99136 
      3	  99137 	if (fc == GRF_FEAT) {		/* Parsing FEAT command response? */
       E	            2
      4	  99138 	    if (count == 0 && n == '2') {
      4	  99139 		int i;			/* (Re)-init server FEATure table */
      4	  99140 		debug(F100,"ftp getreply clearing feature table","",0);
       E	   ( ( void ) ( deblog ? dodebug ( 4 , "ftp getreply clearing feature table" , ( char * ) ( "" ) , ( off_t ) ( 0 ) )
       E	 : 0 ) )
      4	  99141 		for (i = 0; i < 16; i++)
      4	  99142 		  sfttab[i] = 0;
      4	  99143 	    } else {
      4	  99144 		parsefeat((char *)ftp_reply_str);
      3	  99145 	    }
      2	  99146 	}
      2	  99147         if (auth_type &&
      2	  99148 #ifdef CK_SSL
      2	  99149             !ssl_ftp_active_flag &&
      2	  99150 #endif /* CK_SSL */
      3	  99151              !ibuf[0] && n != '6') {
      3	  99152             signal(SIGINT,oldintr);
       E	                    2
      3	  99153             return(getreply(expecteof,lcs,rcs,vbm,auth));
      2	  99154         }
      2	  99155         ibuf[0] = obuf[i] = '\0';
      3	  99156         if (ftpcode && n == '6') {
      4	  99157             if (ftpcode != 631 && ftpcode != 632 && ftpcode != 633) {
      4	  99158                 printf("Unknown reply: %d %s\n", ftpcode, obuf);
      4	  99159                 n = '5';
      3	  99160             } else safe = (ftpcode == 631);
      2	  99161         }
      2	  99162         if (obuf[0]                     /* if there is a string to decode */
      2	  99163 #ifdef CK_SSL
      2	  99164             && !ssl_ftp_active_flag     /* and not SSL/TLS */
      2	  99165 #endif /* CK_SSL */
      3	  99166             ) {
      4	  99167             if (!auth_type) {
      4	  99168                 printf("Cannot decode reply:\n%d %s\n", ftpcode, obuf);
      4	  99169                 n = '5';

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1878
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  99170             }
      3	  99171 #ifndef CK_ENCRYPTION
      4	  99172             else if (ftpcode == 632) {
      4	  99173                 printf("Cannot decrypt %d reply: %s\n", ftpcode, obuf);
      4	  99174                 n = '5';
      3	  99175             }
      3	  99176 #endif /* CK_ENCRYPTION */
      3X  99177 #ifdef NOCONFIDENTIAL
      3X  99178             else if (ftpcode == 633) {
      3X  99179                 printf("Cannot decrypt %d reply: %s\n", ftpcode, obuf);
      3X  99180                 n = '5';
      3X  99181             }
      3X  99182 #endif /* NOCONFIDENTIAL */
      4	  99183             else {
      4	  99184                 int len = FTP_BUFSIZ;
       E	                           10240
      4	  99185                 if ((kerror = radix_encode((CHAR *)obuf,
       E	                                             unsigned char
      4	  99186                                            (CHAR *)ibuf,
       E	                                             unsigned char
      4	  99187                                            0,
      4	  99188                                            &len,
      4	  99189                                            RADIX_DECODE))
       E	                                            1
      5	  99190                     ) {
      5	  99191                     printf("Can't decode base 64 reply %d (%s)\n\"%s\"\n",
      5	  99192                            ftpcode, radix_error(kerror), obuf);
      5	  99193                     n = '5';
      4	  99194                 }
      4X  99195 #ifdef FTP_SRP
      4X  99196                 else if (strcmp(auth_type, "SRP") == 0) {
      4X  99197                     int outlen;
      4X  99198                     outlen = srp_decode(!safe, (CHAR *)ibuf,
      4X  99199                                         (CHAR *) ibuf, len);
      4X  99200                     if (outlen < 0) {
      4X  99201                         printf("Warning: %d reply %s!\n",
      4X  99202                                ftpcode, safe ? "modified" : "garbled");
      4X  99203                         n = '5';
      4X  99204                     } else {
      4X  99205                         ckstrncpy(&ibuf[outlen], "\r\n",FTP_BUFSIZ-outlen);
      4X  99206                         if (ftp_deb)
      4X  99207                           printf("%c:", safe ? 'S' : 'P');
      4X  99208                         continue;
      4X  99209                     }
      4X  99210                 }
      4X  99211 #endif /* FTP_SRP */
      4X  99212 #ifdef FTP_KRB4
      4X  99213                 else if (strcmp(auth_type, "KERBEROS_V4") == 0) {
      4X  99214                     if (safe) {
      4X  99215                         kerror = krb_rd_safe((CHAR *)ibuf, len,
      4X  99216 #ifdef KRB524
      4X  99217                                              ftp_cred.session,
      4X  99218 #else /* KRB524 */
      4X  99219                                              &ftp_cred.session,
      4X  99220 #endif /* KRB524 */
      4X  99221                                              &hisctladdr,
      4X  99222                                              &myctladdr,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1879
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4X  99223                                              &ftp_msg_data
      4X  99224                                              );
      4X  99225                     } else {
      4X  99226                         kerror = krb_rd_priv((CHAR *)ibuf, len,
      4X  99227                                              ftp_sched,
      4X  99228 #ifdef KRB524
      4X  99229                                              ftp_cred.session,
      4X  99230 #else /* KRB524 */
      4X  99231                                              &ftp_cred.session,
      4X  99232 #endif /* KRB524 */
      4X  99233                                              &hisctladdr,
      4X  99234                                              &myctladdr,
      4X  99235                                              &ftp_msg_data
      4X  99236                                              );
      4X  99237                     }
      4X  99238                     if (kerror != KSUCCESS) {
      4X  99239                         printf("%d reply %s! (krb_rd_%s: %s)\n", ftpcode,
      4X  99240                                safe ? "modified" : "garbled",
      4X  99241                                safe ? "safe" : "priv",
      4X  99242                                krb_get_err_text(kerror));
      4X  99243                         n = '5';
      4X  99244                     } else if (ftp_msg_data.app_length >= FTP_BUFSIZ - 3) {
      4X  99245                         kerror = KFAILURE;
      4X  99246                         n = '5';
      4X  99247                         printf("reply data too large for buffer\n");
      4X  99248                     } else {
      4X  99249                         if (ftp_deb)
      4X  99250                           printf("%c:", safe ? 'S' : 'P');
      4X  99251                         memcpy(ibuf,ftp_msg_data.app_data,
      4X  99252                                ftp_msg_data.app_length);
      4X  99253                         ckstrncpy(&ibuf[ftp_msg_data.app_length], "\r\n",
      4X  99254                                   FTP_BUFSIZ - ftp_msg_data.app_length);
      4X  99255                         continue;
      4X  99256                     }
      4X  99257                 }
      4X  99258 #endif /* FTP_KRB4 */
      4X  99259 #ifdef FTP_GSSAPI
      4X  99260                 else if (strcmp(auth_type, "GSSAPI") == 0) {
      4X  99261                     gss_buffer_desc xmit_buf, msg_buf;
      4X  99262                     OM_uint32 maj_stat, min_stat;
      4X  99263                     int conf_state;
      4X  99264                     xmit_buf.value = ibuf;
      4X  99265                     xmit_buf.length = len;
      4X  99266                     /* decrypt/verify the message */
      4X  99267                     conf_state = safe;
      4X  99268                     maj_stat = gss_unseal(&min_stat, gcontext,
      4X  99269                                           &xmit_buf, &msg_buf,
      4X  99270                                           &conf_state, NULL);
      4X  99271                     if (maj_stat != GSS_S_COMPLETE) {
      4X  99272                         user_gss_error(maj_stat, min_stat,
      4X  99273                                        "failed unsealing reply");
      4X  99274                         n = '5';
      4X  99275                     } else {
      4X  99276                         memcpy(ibuf, msg_buf.value, msg_buf.length);
      4X  99277                         ckstrncpy(&ibuf[msg_buf.length], "\r\n",
      4X  99278                                   FTP_BUFSIZ-msg_buf.length);
      4X  99279                         gss_release_buffer(&min_stat,&msg_buf);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1880
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4X  99280                         if (ftp_deb)
      4X  99281                           printf("%c:", safe ? 'S' : 'P');
      4X  99282                         continue;
      4X  99283                     }
      4X  99284                 }
      4X  99285 #endif /* FTP_GSSAPI */
      4	  99286                 /* Other auth types go here... */
      3	  99287             }
      2	  99288         } else if ((!dpyactive || ftp_deb) && ftp_cmdlin < 2 &&
      3	  99289                    !xquiet && (vbm || (!auth && (n == '4' || n == '5')))) {
      3X  99290 #ifdef NOCSETS
      3X  99291             printf("%c",c);
      3X  99292 #else
      4	  99293             if (xlate) {
      4	  99294                 xlatec(0,c,rcs,lcs);
      4	  99295             } else {
      4	  99296                 printf("%c",c);
      3	  99297             }
      3	  99298 #endif /* NOCSETS */
      3	  99299             fflush (stdout);
       E	                     ( decc$ga_stdout )
      2	  99300         }
      3	  99301         if (continuation && ftpcode != originalcode) {
      3	  99302             if (originalcode == 0)
      3	  99303               originalcode = ftpcode;
      3	  99304             continue;
      2	  99305         }
      2	  99306         *cp = '\0';
      2	  99307         if (n != '1')
      2	  99308           cpend = 0;
      2	  99309         signal(SIGINT,oldintr);
       E	                2
      3	  99310         if (ftpcode == 421 || originalcode == 421) {
      3	  99311 	    lostpeer();
      3	  99312 	    if (!xquiet && !ftp_deb)
      3	  99313 	      printf("%s\n",reply_buf);
      2	  99314         }
      2	  99315         if ((cancelfile != 0) &&
      2	  99316 #ifndef ULTRIX3
      2	  99317             /* Ultrix 3.0 cc objects violently to this clause */
      2	  99318             (oldintr != cmdcancel) &&
      2	  99319 #endif /* ULTRIX3 */
      3	  99320             (oldintr != SIG_IGN)) {
       E	                         ( ( __sighnd_t ) 1 )
      3	  99321             if (oldintr)
      3	  99322               (*oldintr)(SIGINT);
       E	                          2
      2	  99323         }
      3	  99324         if (reply_parse) {
      3	  99325             *reply_ptr = '\0';
      4	  99326             if ((reply_ptr = ckstrstr(reply_buf, reply_parse))) {
      4	  99327                 reply_parse = reply_ptr + strlen(reply_parse);
       E	                                           __STRLEN ( reply_parse )
      4	  99328                 if ((reply_ptr = ckstrpbrk(reply_parse, " \r")))
      4	  99329                   *reply_ptr = '\0';
      3	  99330             } else
      3	  99331               reply_parse = reply_ptr;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1881
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  99332         }
      2	  99333         while (*cp < '!' && cp > ftp_reply_str) /* Remove trailing junk */
      2	  99334           *cp-- = NUL;
       E	                   '\0'
      2	  99335         debug(F111,"ftp getreply",ftp_reply_str,n - '0');
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp getreply" , ( char * ) ( ftp_reply_str ) , ( off_t ) ( n - '0' ) )
       E	 : 0 ) )
      2	  99336         return(n - '0');
      1	  99337     } /* for (;;) */
      1	  99338 }
	  99339 
	  99340 #ifdef BSDSELECT
	  99341 static int
	  99342 #ifdef CK_ANSIC
	  99343 empty(fd_set * mask, int sec)
       X  99344 #else
       X  99345 empty(mask, sec) fd_set * mask; int sec;
       X  99346 #endif /* CK_ANSIC */
      1	  99347 {
      1	  99348     struct timeval t;
      1	  99349     t.tv_sec = (long) sec;
      1	  99350     t.tv_usec = 0L;
      1	  99351     debug(F100,"ftp empty calling select...","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp empty calling select..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 )
       E	 )
      1X  99352 #ifdef INTSELECT
      1X  99353     x = select(32, (int *)mask, NULL, NULL, &t);
      1X  99354 #else
      1	  99355     x = select(32, mask, (fd_set *) 0, (fd_set *) 0, &t);
      1	  99356 #endif /* INTSELECT */
      1	  99357     debug(F101,"ftp empty select","",x);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp empty select" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      1	  99358     return(x);
      1	  99359 }
       X  99360 #else /* BSDSELECT */
       X  99361 #ifdef IBMSELECT
       X  99362 static int
       X  99363 empty(mask, cnt, sec) int * mask, sec;
       X  99364                       int   cnt;
       X  99365 {
       X  99366     return(select(mask,cnt,0,0,sec*1000));
       X  99367 }
       X  99368 #endif /* IBMSELECT */
       X  99369 #endif /* BSDSELECT */
	  99370 
	  99371 static sigtype
       E	        void
	  99372 #ifdef CK_ANSIC
	  99373 cancelsend( int sig )
       X  99374 #else
       X  99375 cancelsend(sig) int sig;
       X  99376 #endif /* CK_ANSIC */
      1	  99377 {
      1	  99378     havesigint++;
      1	  99379     cancelgroup++;
      1	  99380     cancelfile = 0;
      1	  99381     printf(" Canceled...\n");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1882
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  99382     secure_getc(0,1);			/* Initialize net input buffers */
      1	  99383     debug(F100,"ftp cancelsend caught SIGINT ","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp cancelsend caught SIGINT " , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0
       E	 ) )
      1	  99384     fflush(stdout);
       E	            ( decc$ga_stdout )
      1	  99385 #ifndef OS2
      1	  99386     longjmp(sendcancel, 1);
      1X  99387 #else
      1X  99388     PostCtrlCSem();
      1X  99389 #endif /* OS2 */
      1	  99390 }
	  99391 
	  99392 static VOID
       E	        void
	  99393 #ifdef CK_ANSIC
	  99394 secure_error(char *fmt, ...)
       X  99395 #else
       X  99396 /* VARARGS1 */
       X  99397 secure_error(fmt, p1, p2, p3, p4, p5)
       X  99398    char *fmt; int p1, p2, p3, p4, p5;
       X  99399 #endif /* CK_ANSIC */
      1	  99400 {
      1	  99401 #ifdef CK_ANSIC
      1	  99402     va_list ap;
      1	  99403 
      1	  99404     va_start(ap, fmt);
       E	     ap = ( __va_list ) ( ( __char_ptr32 ) __VA_START_BUILTIN ( fmt ) + ( ( ( __IS_X_FLOAT_BUILTIN ( fmt ) ? sizeof 
       E	( long double * ) : sizeof ( fmt ) ) + 7 ) & ~ 7 ) )
      1	  99405     vfprintf(stderr, fmt, ap);
       E	              ( decc$ga_stderr )
      1	  99406     va_end(ap);
       E	     ap = ( __va_list ) 0
      1X  99407 #else
      1X  99408     fprintf(stderr, fmt, p1, p2, p3, p4, p5);
      1X  99409 #endif
      1	  99410     fprintf(stderr, "\n");
       E	             ( decc$ga_stderr )
      1	  99411 }
	  99412 
	  99413 /*
	  99414  * Internal form of settype; changes current type in use with server
	  99415  * without changing our notion of the type for data transfers.
	  99416  * Used to change to and from ascii for listings.
	  99417  */
	  99418 static VOID
       E	        void
	  99419 #ifdef CK_ANSIC
	  99420 changetype( int newtype, int show )
       X  99421 #else
       X  99422 changetype(newtype, show) int newtype, show;
       X  99423 #endif /* CK_ANSIC */
      1	  99424 {
      1	  99425     int rc;
      1	  99426     char * s;
      1	  99427 
      1	  99428     if ((newtype == curtype) && typesent++)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1883
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  99429       return;
      2	  99430     switch (newtype) {
      2	  99431       case FTT_ASC:
       E	            0
      2	  99432         s = "A";
      2	  99433         break;
      2	  99434       case FTT_BIN:
       E	            1
      2	  99435         s = "I";
      2	  99436         break;
      2	  99437       case FTT_TEN:
       E	            6
      2	  99438         s = "L 8";
      2	  99439         break;
      2	  99440       default:
      2	  99441         s = "I";
      2	  99442         break;
      1	  99443     }
      1	  99444     rc = ftpcmd("TYPE",s,-1,-1,show);
      1	  99445     if (rc == REPLY_COMPLETE)
       E	               2
      1	  99446       curtype = newtype;
      1	  99447 }
	  99448 
	  99449 /* PUT a file.  Returns -1 on error, 0 on success, 1 if file skipped */
	  99450 
	  99451 static VOID
       E	        void
	  99452 #ifdef CK_ANSIC
	  99453 doftpsend(void * threadinfo)
       X  99454 #else
       X  99455 doftpsend(threadinfo) VOID * threadinfo;
       X  99456 #endif
      1	  99457 {
      1X  99458 #ifdef NTSIG
      1X  99459     if (threadinfo) {                   /* Thread local storage... */
      1X  99460         TlsSetValue(TlsIndex,threadinfo);
      1X  99461         debug(F100, "doftpsend called with threadinfo block","", 0);
      1X  99462     } else debug(F100, "doftpsend - threadinfo is NULL", "", 0);
      1X  99463 #endif /* NTSIG */
      1X  99464 #ifdef CK_LOGIN
      1X  99465 #ifdef IKSD
      1X  99466 #ifdef NT
      1X  99467     if (inserver)
      1X  99468       setntcreds();
      1X  99469 #endif /* NT */
      1X  99470 #endif /* IKSD */
      1X  99471 #endif /* CK_LOGIN */
      1	  99472 
      2	  99473     if (initconn()) {
      2X  99474 #ifndef NOHTTP
      2X  99475         int y = -1;
      2X  99476         /* debug(F101,"doftpsend","tcp_http_proxy",tcp_http_proxy); */
      2X  99477 
      2X  99478        /*  If the connection failed and we are using an HTTP Proxy
      2X  99479         *  and the reason for the failure was an authentication
      2X  99480         *  error, then we need to give the user to ability to

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1884
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X  99481         *  enter a username and password, just like a browser.
      2X  99482         *
      2X  99483         *  I tried to do all of this within the netopen() call
      2X  99484         *  but it is much too much work.
      2X  99485         */
      2X  99486         while (y != 0 && tcp_http_proxy != NULL ) {
      2X  99487 
      2X  99488             if (tcp_http_proxy_errno == 401 ||
      2X  99489                  tcp_http_proxy_errno == 407 ) {
      2X  99490                 char uid[UIDBUFLEN];
      2X  99491                 char pwd[PWDSIZ];
      2X  99492                 struct txtbox tb[2];
      2X  99493                 int ok;
      2X  99494 
      2X  99495                 tb[0].t_buf = uid;
      2X  99496                 tb[0].t_len = UIDBUFLEN;
      2X  99497                 tb[0].t_lbl = "Proxy Userid: ";
      2X  99498                 tb[0].t_dflt = NULL;
      2X  99499                 tb[0].t_echo = 1;
      2X  99500                 tb[1].t_buf = pwd;
      2X  99501                 tb[1].t_len = 256;
      2X  99502                 tb[1].t_lbl = "Proxy Passphrase: ";
      2X  99503                 tb[1].t_dflt = NULL;
      2X  99504                 tb[1].t_echo = 2;
      2X  99505 
      2X  99506                 ok = uq_mtxt("Proxy Server Authentication Required\n",
      2X  99507                               NULL, 2, tb);
      2X  99508                 if (ok && uid[0]) {
      2X  99509                     char * proxy_user, * proxy_pwd;
      2X  99510 
      2X  99511                     proxy_user = tcp_http_proxy_user;
      2X  99512                     proxy_pwd  = tcp_http_proxy_pwd;
      2X  99513 
      2X  99514                     tcp_http_proxy_user = uid;
      2X  99515                     tcp_http_proxy_pwd = pwd;
      2X  99516 
      2X  99517                     y = initconn();
      2X  99518 
      2X  99519                     debug(F101,"doftpsend","initconn",y);
      2X  99520                     memset(pwd,0,PWDSIZ);
      2X  99521                     tcp_http_proxy_user = proxy_user;
      2X  99522                     tcp_http_proxy_pwd = proxy_pwd;
      2X  99523                 } else
      2X  99524                     break;
      2X  99525             } else
      2X  99526                 break;
      2X  99527         }
      2X  99528 
      2X  99529         if ( y != 0 ) {
      2X  99530 #endif /* NOHTTP */
      2	  99531             signal(SIGINT, ftpsnd.oldintr);
       E	                    2
      2	  99532 #ifdef SIGPIPE
      2	  99533             if (ftpsnd.oldintp)
      2	  99534               signal(SIGPIPE, ftpsnd.oldintp);
       E	                      13
      2	  99535 #endif /* SIGPIPE */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1885
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  99536             ftpcode = -1;
      2	  99537             zclose(ZIFILE);
       E	                    2
      2	  99538             ftpsndret = -1;
      2X  99539 #ifdef NTSIG
      2X  99540             ckThreadEnd(threadinfo);
      2X  99541 #endif /* NTSIG */
      2	  99542             return;
      2X  99543 #ifndef NOHTTP
      2X  99544         }
      2X  99545 #endif /* NOHTTP */
      1	  99546     }
      1	  99547     ftpsndret = 0;
      1X  99548 #ifdef NTSIG
      1X  99549      ckThreadEnd(threadinfo);
      1X  99550 #endif /* NTSIG */
      1	  99551 }
	  99552 
	  99553 static VOID
       E	        void
	  99554 #ifdef CK_ANSIC
	  99555 failftpsend(void * threadinfo)
       X  99556 #else
       X  99557 failftpsend(threadinfo) VOID * threadinfo;
       X  99558 #endif /* CK_ANSIC */
      1	  99559 {
      1X  99560 #ifdef NTSIG
      1X  99561     if (threadinfo) {                   /* Thread local storage... */
      1X  99562         TlsSetValue(TlsIndex,threadinfo);
      1X  99563         debug(F100, "docmdfile called with threadinfo block","", 0);
      1X  99564     } else debug(F100, "docmdfile - threadinfo is NULL", "", 0);
      1X  99565 #endif /* NTSIG */
      1X  99566 #ifdef CK_LOGIN
      1X  99567 #ifdef IKSD
      1X  99568 #ifdef NT
      1X  99569     if (inserver)
      1X  99570       setntcreds();
      1X  99571 #endif /* NT */
      1X  99572 #endif /* IKSD */
      1X  99573 #endif /* CK_LOGIN */
      1	  99574 
      2	  99575     while (cpend) {
      2	  99576         ftpsnd.reply = getreply(0,ftpsnd.incs,ftpsnd.outcs,ftp_vbm,0);
      2	  99577         debug(F111,"ftp sendrequest getreply","null command",ftpsnd.reply);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp sendrequest getreply" , ( char * ) ( "null command" ) , ( off_t ) 
       E	( ftpsnd . reply ) ) : 0 ) )
      1	  99578     }
      2	  99579     if (data >= 0) {
      2	  99580 #ifdef CK_SSL
      3	  99581         if (ssl_ftp_data_active_flag) {
      3	  99582             SSL_shutdown(ssl_ftp_data_con);
      3	  99583             SSL_free(ssl_ftp_data_con);
      3	  99584             ssl_ftp_data_active_flag = 0;
      3	  99585             ssl_ftp_data_con = NULL;
       E	                                ( ( void * ) 0 )
      2	  99586         }
      2	  99587 #endif /* CK_SSL */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1886
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  99588 #ifdef TCPIPLIB
      2	  99589         socket_close(data);
       E	         close
      2X  99590 #else /* TCPIPLIB */
      2X  99591 #ifdef USE_SHUTDOWN
      2X  99592         shutdown(data, 1+1);
      2X  99593 #endif /* USE_SHUTDOWN */
      2X  99594         close(data);
      2X  99595 #endif /* TCPIPLIB */
      2	  99596         data = -1;
      2	  99597         globaldin = -1;
      1	  99598     }
      1	  99599     if (ftpsnd.oldintr)
      1	  99600         signal(SIGINT,ftpsnd.oldintr);
       E	                2
      1	  99601 #ifdef SIGPIPE
      1	  99602     if (ftpsnd.oldintp)
      1	  99603         signal(SIGPIPE,ftpsnd.oldintp);
       E	                13
      1	  99604 #endif /* SIGPIPE */
      1	  99605     ftpcode = -1;
      1	  99606 #ifndef OS2
      1	  99607     /* TEST ME IN K95 */
      2	  99608     if (havesigint) {
      2	  99609 	havesigint = 0;
      2	  99610 	debug(F100,"ftp failftpsend chain to trap()...","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp failftpsend chain to trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) :
       E	 0 ) )
      2	  99611 	if (ftpsnd.oldintr != SIG_IGN)
       E	                        ( ( __sighnd_t ) 1 )
      2	  99612 	  (*ftpsnd.oldintr)(SIGINT);
       E	                      2
      2	  99613 	/* NOTREACHED (I hope!) */
      2	  99614 	debug(F100,"ftp failftpsend return from trap()...","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp failftpsend return from trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) 
       E	) : 0 ) )
      1	  99615     }
      1	  99616 #endif /* OS2 */
      1	  99617 }
	  99618 
	  99619 static VOID
       E	        void
	  99620 #ifdef CK_ANSIC
	  99621 failftpsend2(void * threadinfo)
       X  99622 #else
       X  99623 failftpsend2(threadinfo) VOID * threadinfo;
       X  99624 #endif /* CK_ANSIC */
      1	  99625 {
      1X  99626 #ifdef NTSIG
      1X  99627     if (threadinfo) {                   /* Thread local storage... */
      1X  99628         TlsSetValue(TlsIndex,threadinfo);
      1X  99629         debug(F100, "docmdfile called with threadinfo block","", 0);
      1X  99630     } else debug(F100, "docmdfile - threadinfo is NULL", "", 0);
      1X  99631 #endif /* NTSIG */
      1X  99632 #ifdef CK_LOGIN
      1X  99633 #ifdef IKSD
      1X  99634 #ifdef NT

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1887
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  99635     if (inserver)
      1X  99636       setntcreds();
      1X  99637 #endif /* NT */
      1X  99638 #endif /* IKSD */
      1X  99639 #endif /* CK_LOGIN */
      1	  99640 
      1	  99641     debug(F101,"ftp sendrequest canceled","",ftpsnd.bytes);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp sendrequest canceled" , ( char * ) ( "" ) , ( off_t ) ( ftpsnd . bytes
       E	 ) ) : 0 ) )
      1	  99642     tfc += ffc;
      1	  99643 #ifdef GFTIMER
      1	  99644     fpfsecs = gftimer();
      1	  99645 #endif /* GFTIMER */
      1	  99646     zclose(ZIFILE);
       E	            2
      1X  99647 #ifdef PIPESEND
      1X  99648     if (sndfilter)
      1X  99649       pipesend = 0;
      1X  99650 #endif /* PIPESEND */
      1	  99651     signal(SIGINT, ftpsnd.oldintr);
       E	            2
      1	  99652 #ifdef SIGPIPE
      1	  99653     if (ftpsnd.oldintp)
      1	  99654       signal(SIGPIPE, ftpsnd.oldintp);
       E	              13
      1	  99655 #endif /* SIGPIPE */
      2	  99656     if (!cpend) {
      2	  99657         ftpcode = -1;
      2	  99658         ftpsndret = -1;
      2X  99659 #ifdef NTSIG
      2X  99660         ckThreadEnd(threadinfo);
      2X  99661 #endif /* NTSIG */
      2	  99662         return;
      1	  99663     }
      2	  99664     if (data >= 0) {
      2	  99665 #ifdef CK_SSL
      3	  99666         if (ssl_ftp_data_active_flag) {
      3	  99667             SSL_shutdown(ssl_ftp_data_con);
      3	  99668             SSL_free(ssl_ftp_data_con);
      3	  99669             ssl_ftp_data_active_flag = 0;
      3	  99670             ssl_ftp_data_con = NULL;
       E	                                ( ( void * ) 0 )
      2	  99671         }
      2	  99672 #endif /* CK_SSL */
      2	  99673 #ifdef TCPIPLIB
      2	  99674         socket_close(data);
       E	         close
      2X  99675 #else /* TCPIPLIB */
      2X  99676 #ifdef USE_SHUTDOWN
      2X  99677         shutdown(data, 1+1);
      2X  99678 #endif /* USE_SHUTDOWN */
      2X  99679         close(data);
      2X  99680 #endif /* TCPIPLIB */
      2	  99681         data = -1;
      2	  99682         globaldin = -1;
      1	  99683     }
      2	  99684     if (dout) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1888
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	  99685 #ifdef TCPIPLIB
      2	  99686         socket_close(dout);
       E	         close
      2X  99687 #else /* TCPIPLIB */
      2X  99688 #ifdef USE_SHUTDOWN
      2X  99689         shutdown(dout, 1+1);
      2X  99690 #endif /* USE_SHUTDOWN */
      2X  99691         close(dout);
      2X  99692 #endif /* TCPIPLIB */
      1	  99693     }
      1	  99694     ftpsnd.reply = getreply(0,ftpsnd.incs,ftpsnd.outcs,ftp_vbm,0);
      1	  99695     ftpcode = -1;
      1	  99696     ftpsndret = -1;
      1	  99697 
      1	  99698 #ifndef OS2
      1	  99699     /* TEST ME IN K95 */
      2	  99700     if (havesigint) {
      2	  99701 	havesigint = 0;
      2	  99702 	debug(F100,"ftp failftpsend2 chain to trap()...","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp failftpsend2 chain to trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) 
       E	: 0 ) )
      2	  99703 	if (ftpsnd.oldintr != SIG_IGN)
       E	                        ( ( __sighnd_t ) 1 )
      2	  99704 	  (*ftpsnd.oldintr)(SIGINT);
       E	                      2
      2	  99705 	/* NOTREACHED (I hope!) */
      2	  99706 	debug(F100,"ftp failftpsend2 return from trap()...","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp failftpsend2 return from trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      1	  99707     }
      1	  99708 #endif /* OS2 */
      1	  99709 }
	  99710 
	  99711 static VOID
       E	        void
	  99712 #ifdef CK_ANSIC
	  99713 doftpsend2(void * threadinfo)
       X  99714 #else
       X  99715 doftpsend2(threadinfo) VOID * threadinfo;
       X  99716 #endif
      1	  99717 {
      1	  99718     register int c, d = 0;
      1	  99719     int n, t, x, notafile, unique = 0;
      1	  99720     char *buf, *bufp;
      1	  99721     
      1X  99722 #ifdef NTSIG
      1X  99723     if (threadinfo) {                   /* Thread local storage... */
      1X  99724         TlsSetValue(TlsIndex,threadinfo);
      1X  99725         debug(F100, "doftpsend2 called with threadinfo block","", 0);
      1X  99726     } else debug(F100, "doftpsend2 - threadinfo is NULL", "", 0);
      1X  99727 #endif /* NTSIG */
      1X  99728 #ifdef CK_LOGIN
      1X  99729 #ifdef IKSD
      1X  99730 #ifdef NT
      1X  99731     if (inserver)
      1X  99732       setntcreds();
      1X  99733 #endif /* NT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1889
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X  99734 #endif /* IKSD */
      1X  99735 #endif /* CK_LOGIN */
      1	  99736 
      1	  99737     buf = ftpsndbuf;			/* (not on stack) */
      1	  99738 
      1	  99739     unique = strcmp(ftpsnd.cmd,"STOU") ? 0 : 1;
      1	  99740     notafile = sndarray || pipesend;
      1	  99741 
      1	  99742 #ifdef FTP_RESTART
      2	  99743     if (ftpsnd.restart && ((curtype == FTT_BIN) || (alike > 0))) {
       E	                                        1
      2	  99744         char * p;
      2	  99745         changetype(FTT_BIN,0);          /* Change to binary */
       E	                    1
      2	  99746 
      2	  99747         /* Ask for remote file's size */
      2	  99748         x = ftpcmd("SIZE",ftpsnd.remote,ftpsnd.incs,ftpsnd.outcs,ftp_vbm);
      2	  99749 
      3	  99750         if (x == REPLY_COMPLETE) {      /* Have ftpsnd.reply */
       E	                  2
      3	  99751             p = &ftp_reply_str[4];      /* Parse it */
      4	  99752             while (isdigit(*p)) {
       E	                    ( ( decc$$gl___ctypea ) ? ( decc$$ga___ctypet ) [ ( int ) ( * p ) ] & 0x4 : ( isdigit ) ( * p ) 
       E	)
      4	  99753                 sendstart = sendstart * 10 + (int)(*p - '0');
      4	  99754                 p++;
      3	  99755             }
      4	  99756             if (*p && *p != CK_CR) {    /* Bad number */
       E	                             13
      4	  99757                 debug(F110,"doftpsend2 bad size",ftp_reply_str,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "doftpsend2 bad size" , ( char * ) ( ftp_reply_str ) , ( off_t 
       E	) ( 0 ) ) : 0 ) )
      4	  99758                 sendstart = (CK_OFF_T)0;
       E	                              off_t
      4	  99759             } else if (sendstart > fsize) { /* Remote file bigger than local */
      4	  99760                 debug(F110,"doftpsend2 big size",ckfstoa(fsize),sendstart);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "doftpsend2 big size" , ( char * ) ( ckfstoa ( fsize ) ) , ( of
       E	f_t ) ( sendstart ) ) : 0 ) )
      4	  99761                 sendstart = (CK_OFF_T)0;
       E	                              off_t
      3	  99762             }
      3	  99763 	    /* Local is newer */
      3	  99764             debug(F111,"doftpsend2 size",ftpsnd.remote,sendstart);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "doftpsend2 size" , ( char * ) ( ftpsnd . remote ) , ( off_t ) ( se
       E	ndstart ) ) : 0 ) )
      4	  99765             if (chkmodtime(ftpsnd.local,ftpsnd.remote,0) == 2) {
      4	  99766                 debug(F110,"doftpsend2 date mismatch",ftp_reply_str,0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "doftpsend2 date mismatch" , ( char * ) ( ftp_reply_str ) , ( o
       E	ff_t ) ( 0 ) ) : 0 ) )
      4	  99767                 sendstart = (CK_OFF_T)0; /* Send the whole file */
       E	                              off_t
      3	  99768             }
      2	  99769         }
      2	  99770         changetype(ftp_typ,0);          /* Change back to appropriate type */
      3	  99771         if (sendstart > (CK_OFF_T)0) {	/* Still restarting? */
       E	                          off_t
      4	  99772             if (sendstart == fsize) {   /* Same size - no need to send */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1890
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	  99773                 debug(F111,"doftpsend2 /restart SKIP",
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "doftpsend2 /restart SKIP" , ( char * ) ( ckfstoa ( fsize ) ) ,
       E	 ( off_t ) ( sendstart ) ) : 0 ) )
      4	  99774 		      ckfstoa(fsize),sendstart);
      4	  99775                 zclose(ZIFILE);
       E	                        2
      4	  99776                 ftpsndret = SKP_RES;
       E	                             9
      4X  99777 #ifdef NTSIG
      4X  99778                 ckThreadEnd(threadinfo);
      4X  99779 #endif /* NTSIG */
      4	  99780                 return;
      3	  99781             }
      3	  99782             errno = 0;                  /* Restart needed, seek to the spot */
       E	             ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      4	  99783             if (zfseek((long)sendstart) < 0) {
      4	  99784                 debug(F111,"doftpsend2 zfseek fails",
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "doftpsend2 zfseek fails" , ( char * ) ( ftpsnd . local ) , ( o
       E	ff_t ) ( sendstart ) ) : 0 ) )
      4	  99785 		      ftpsnd.local,sendstart);
      4	  99786                 fprintf(stderr, "FSEEK: %s: %s\n", ftpsnd.local, ck_errstr());
       E	                         ( decc$ga_stderr )
      4	  99787                 sendstart = 0;
      4	  99788                 zclose(ZIFILE);
       E	                        2
      4	  99789                 ftpsndret = -1;
      4X  99790 #ifdef NTSIG
      4X  99791                 ckThreadEnd(threadinfo);
      4X  99792 #endif /* NTSIG */
      4	  99793                 return;
      3	  99794             }
      3X  99795 #ifdef COMMENT
      3X  99796             debug(F111,"doftpsend2 zfseek ok",ftpsnd.local,sendstart);
      3X  99797             x = ftpcmd("REST",ckltoa(sendstart),-1,-1,ftp_vbm);
      3X  99798             if (x != REPLY_CONTINUE) {
      3X  99799                 sendstart = 0;
      3X  99800                 zclose(ZIFILE);
      3X  99801                 ftpsndret = -1;
      3X  99802 #ifdef NTSIG
      3X  99803                 ckThreadEnd(threadinfo);
      3X  99804 #endif /* NTSIG */
      3X  99805                 return;
      3X  99806             } else {
      3X  99807                 ftpsnd.cmd = "STOR";
      3X  99808             }
      3X  99809 #else
      3	  99810             sendmode = SM_RESEND;
       E	                        2
      3	  99811             ftpsnd.cmd = "APPE";
      3	  99812 #endif /* COMMENT */
      3	  99813             /* sendstart = (CK_OFF_T)0; */
      2	  99814         }
      1	  99815     }
      1	  99816 #endif /* FTP_RESTART */
      1	  99817 
      1	  99818     if (unique && !stouarg)		/* If we know STOU accepts no arg */
      1	  99819       ftpsnd.remote = NULL;		/* don't include one. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1891
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                       ( ( void * ) 0 )
      1	  99820 
      1	  99821     x = ftpcmd(ftpsnd.cmd, ftpsnd.remote, ftpsnd.incs, ftpsnd.outcs, ftp_vbm);
      1	  99822     debug(F111,"doftpsend2 ftpcode",ftpsnd.cmd,ftpcode);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "doftpsend2 ftpcode" , ( char * ) ( ftpsnd . cmd ) , ( off_t ) ( ftpcode ) 
       E	) : 0 ) )
      1	  99823     debug(F101,"doftpsend2 ftpcmd","",x);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "doftpsend2 ftpcmd" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      1	  99824 
      2	  99825     if (x != REPLY_PRELIM && unique) {
       E	              1
      2	  99826 	/*
      2	  99827 	  RFC959 says STOU does not take an argument.  But every FTP server
      2	  99828 	  I've encountered but one accepts the arg and constructs the unique
      2	  99829 	  name from it, which is better than making up a totally random name
      2	  99830 	  for the file, which is what RFC959 calls for.  Especially because
      2	  99831 	  there is no way for the client to find out the name chosen by the
      2	  99832 	  server.  So we try STOU with the argument first, which works with
      2	  99833 	  most servers, and if it fails we retry it without the arg, for
      2	  99834 	  the benefit of the one picky server that is not "liberal in what
      2	  99835 	  it accepts" UNLESS the first STOU got a 502 code ("not implemented")
      2	  99836 	  which means STOU is not accepted, period.
      2	  99837 	*/
      3	  99838 	if ((x == 5) && stouarg && (ftpcode != 502)) {
      3	  99839 	    x = ftpcmd(ftpsnd.cmd,NULL,ftpsnd.incs,ftpsnd.outcs,ftp_vbm); 
       E	                            ( ( void * ) 0 )
      3	  99840 	    if (x == REPLY_PRELIM)	/* If accepted */
       E	               1
      3	  99841 	      stouarg = 0;		/* flag no STOU arg for this server */
      2	  99842 	}
      1	  99843     }
      2	  99844     if (x != REPLY_PRELIM) {
       E	              1
      2	  99845         signal(SIGINT, ftpsnd.oldintr);
       E	                2
      2	  99846 #ifdef SIGPIPE
      2	  99847         if (ftpsnd.oldintp)
      2	  99848           signal(SIGPIPE, ftpsnd.oldintp);
       E	                  13
      2	  99849 #endif /* SIGPIPE */
      2	  99850 	debug(F101,"doftpsend2 not REPLY_PRELIM","",x);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "doftpsend2 not REPLY_PRELIM" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) )
      2	  99851         zclose(ZIFILE);
       E	                2
      2X  99852 #ifdef PIPESEND
      2X  99853         if (sndfilter)
      2X  99854           pipesend = 0;
      2X  99855 #endif /* PIPESEND */
      2	  99856         ftpsndret = -1;
      2X  99857 #ifdef NTSIG
      2X  99858         ckThreadEnd(threadinfo);
      2X  99859 #endif /* NTSIG */
      2	  99860         return;
      1	  99861     }
      1	  99862     debug(F100,"doftpsend2 getting data connection...","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "doftpsend2 getting data connection..." , ( char * ) ( "" ) , ( off_t ) ( 0
       E	 ) ) : 0 ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1892
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	  99863     dout = dataconn(ftpsnd.lmode);             /* Get data connection */
      1	  99864     debug(F101,"doftpsend2 dataconn","",dout);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "doftpsend2 dataconn" , ( char * ) ( "" ) , ( off_t ) ( dout ) ) : 0 ) )
      2	  99865     if (dout == -1) {
      2	  99866         failftpsend2(threadinfo);
      2X  99867 #ifdef NTSIG
      2X  99868         ckThreadEnd(threadinfo);
      2X  99869 #endif /* NTSIG */
      2	  99870         return;
      1	  99871     }
      1	  99872     /* Initialize per-file stats */
      1	  99873     ffc = (CK_OFF_T)0;			/* Character counter */
       E	            off_t
      1	  99874     cps = oldcps = 0L;                  /* Thruput */
      1	  99875     n = 0;
      1	  99876 #ifdef GFTIMER
      1	  99877     rftimer();                          /* reset f.p. timer */
      1	  99878 #endif /* GFTIMER */
      1	  99879 
      1	  99880 #ifdef SIGPIPE
      1	  99881     ftpsnd.oldintp = signal(SIGPIPE, SIG_IGN);
       E	                             13
       E	                                      ( ( __sighnd_t ) 1 )
      1	  99882 #endif /* SIGPIPE */
      1	  99883     debug(F101,"doftpsend2 curtype","",curtype);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "doftpsend2 curtype" , ( char * ) ( "" ) , ( off_t ) ( curtype ) ) : 0 ) )
      2	  99884     switch (curtype) {
      2	  99885       case FTT_BIN:                     /* Binary mode */
       E	            1
      2	  99886       case FTT_TEN:
       E	            6
      2	  99887         errno = d = 0;
       E	         ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      2	  99888 #ifdef VMS
      2	  99889 	/*
      2	  99890 	  This is because VMS zxin() is C-Library fread() 
      2	  99891           but the file was opened with zopeni(), which is RMS.
      2	  99892 	*/
      3	  99893 	while (((c = zminchar()) > -1) && !cancelfile) {
       E	               ( sndarray ? agnbyte ( ) : ( ( ( -- zincnt ) >= 0 ) ? ( ( int ) ( * zinptr ++ ) & 0377 ) : zinfill ( 
       E	) ) )
      3	  99894 	    ffc++;
      3	  99895 	    if (zzout(dout,c) < 0)
       E	          ( ( dout < 0 ) ? ( - 1 ) : ( ( nout >= ucbufsiz ) ? ( zzsend ( dout , c ) ) : ( ucbuf [ nout ++ ] = c ) ) 
       E	)
      3	  99896 	      break;
      2	  99897 	}
      2X  99898 #else  /* VMS */
      2X  99899         while ((n = zxin(ZIFILE,buf,FTP_BUFSIZ - 1)) > 0 && !cancelfile) {
      2X  99900             ftpsnd.bytes += n;
      2X  99901             ffc += n;
      2X  99902             debug(F111,"doftpsend2 zxin",ckltoa(n),ffc);
      2X  99903             ckhexdump("doftpsend2 zxin",buf,16);
      2X  99904 #ifdef CK_SSL
      2X  99905             if (ssl_ftp_data_active_flag) {
      2X  99906                 for (bufp = buf; n > 0; n -= d, bufp += d) {
      2X  99907                     if ((d = SSL_write(ssl_ftp_data_con, bufp, n)) <= 0)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1893
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X  99908                       break;
      2X  99909                     spackets++;
      2X  99910                     pktnum++;
      2X  99911                     if (fdispla != XYFD_B) {
      2X  99912                         spktl = d;
      2X  99913                         ftscreen(SCR_PT,'D',(CK_OFF_T)spackets,NULL);
      2X  99914                     }
      2X  99915                 }
      2X  99916             } else {
      2X  99917 #endif /* CK_SSL */
      2X  99918                 for (bufp = buf; n > 0; n -= d, bufp += d) {
      2X  99919                     if (((d = secure_write(dout, (CHAR *)bufp, n)) <= 0)
      2X  99920                         || iscanceled())
      2X  99921                       break;
      2X  99922                     spackets++;
      2X  99923                     pktnum++;
      2X  99924                     if (fdispla != XYFD_B) {
      2X  99925                         spktl = d;
      2X  99926                         ftscreen(SCR_PT,'D',(CK_OFF_T)spackets,NULL);
      2X  99927                     }
      2X  99928                 }
      2X  99929 #ifdef CK_SSL
      2X  99930             }
      2X  99931 #endif /* CK_SSL */
      2X  99932             if (d <= 0)
      2X  99933               break;
      2X  99934         }
      2X  99935 #endif	/* VMS */
      2	  99936 
      2	  99937 	debug(F111,"doftpsend2 XX zxin",ckltoa(n),ffc);
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "doftpsend2 XX zxin" , ( char * ) ( ckltoa ( n ) ) , ( off_t ) ( ffc ) ) : 0 )
       E	 )
      2	  99938         if (n < 0)
      2	  99939           fprintf(stderr, "local: %s: %s\n", ftpsnd.local, ck_errstr());
       E	                   ( decc$ga_stderr )
      3	  99940         if (d < 0 || (d = secure_flush(dout)) < 0) {
      3	  99941             if (d == -1 && errno && errno != EPIPE)
       E	                            ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                                     ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                                              32
      3	  99942               perror("netout");
      3	  99943             ftpsnd.bytes = -1;
      2	  99944         }
      2	  99945         break;
      2	  99946 
      2	  99947       case FTT_ASC:                     /* Text mode */
       E	            0
      2	  99948 #ifndef NOCSETS
      3	  99949         if (ftpsnd.xlate) {             /* With translation */
      3	  99950             initxlate(ftpsnd.incs,ftpsnd.outcs);
      4	  99951             while (!cancelfile) {
      4	  99952                 if ((c0 = xgnbyte(FC_UCS2,ftpsnd.incs,NULL)) < 0) break;
       E	                                   45
       E	                                                       ( ( void * ) 0 )
      4	  99953                 if ((x = xpnbyte(c0,TC_UCS2,ftpsnd.outcs,xxout)) < 0) break;
       E	                                     9
      3	  99954             }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1894
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	  99955         } else {
      3	  99956 #endif /* NOCSETS */
      3	  99957             /* Text mode, no translation */
      4	  99958             while (((c = zminchar()) > -1) && !cancelfile) {
       E	                          ( sndarray ? agnbyte ( ) : ( ( ( -- zincnt ) >= 0 ) ? ( ( int ) ( * zinptr ++ ) & 0377 ) :
       E	 zinfill ( ) ) )
      4	  99959                 ffc++;
      4	  99960 		if (xxout(c) < 0)
      4	  99961 		  break;
      3	  99962             }
      3	  99963             d = 0;
      3	  99964 #ifndef NOCSETS
      2	  99965         }
      2	  99966 #endif /* NOCSETS */
      3	  99967         if (dout == -1 || (d = secure_flush(dout)) < 0) {
      3	  99968             if (d == -1 && errno && errno != EPIPE)
       E	                            ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                                     ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                                              32
      3	  99969               perror("netout");
      3	  99970             ftpsnd.bytes = -1;
      2	  99971         }
      2	  99972         break;
      1	  99973     }
      1	  99974     tfc += ffc;                         /* Total file chars */
      1	  99975 #ifdef GFTIMER
      1	  99976     fpfsecs = gftimer();
      1	  99977 #endif /* GFTIMER */
      1	  99978     zclose(ZIFILE);                     /* Close input file */
       E	            2
      1X  99979 #ifdef PIPESEND
      1X  99980     if (sndfilter)                      /* Undo this (it's per file) */
      1X  99981       pipesend = 0;
      1X  99982 #endif /* PIPESEND */
      1	  99983 
      1	  99984 #ifdef CK_SSL
      2	  99985         if (ssl_ftp_data_active_flag) {
      2	  99986             SSL_shutdown(ssl_ftp_data_con);
      2	  99987             SSL_free(ssl_ftp_data_con);
      2	  99988             ssl_ftp_data_active_flag = 0;
      2	  99989             ssl_ftp_data_con = NULL;
       E	                                ( ( void * ) 0 )
      1	  99990         }
      1	  99991 #endif /* CK_SSL */
      1	  99992 
      1	  99993 #ifdef TCPIPLIB
      1	  99994     socket_close(dout);                 /* Close data connection */
       E	     close
      1X  99995 #else /* TCPIPLIB */
      1X  99996 #ifdef USE_SHUTDOWN
      1X  99997     shutdown(dout, 1+1);
      1X  99998 #endif /* USE_SHUTDOWN */
      1X  99999     close(dout);
      1X 100000 #endif /* TCPIPLIB */
      1	 100001     ftpsnd.reply = getreply(0,ftpsnd.incs,ftpsnd.outcs,ftp_vbm,0);
      1	 100002     signal(SIGINT, ftpsnd.oldintr);            /* Put back interrupts */
       E	            2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1895
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 100003 #ifdef SIGPIPE
      1	 100004     if (ftpsnd.oldintp)
      1	 100005       signal(SIGPIPE, ftpsnd.oldintp);
       E	              13
      1	 100006 #endif /* SIGPIPE */
      2	 100007     if (ftpsnd.reply == REPLY_TRANSIENT || ftpsnd.reply == REPLY_ERROR) {
       E	                         4
       E	                                                            5
      2	 100008         debug(F101,"doftpsend2 ftpsnd.reply","",ftpsnd.reply);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "doftpsend2 ftpsnd.reply" , ( char * ) ( "" ) , ( off_t ) ( ftpsnd . re
       E	ply ) ) : 0 ) )
      2	 100009         ftpsndret = -1;
      2X 100010 #ifdef NTSIG
      2X 100011         ckThreadEnd(threadinfo);
      2X 100012 #endif /* NTSIG */
      2	 100013         return;
      2	 100014     } else if (cancelfile) {
      2	 100015         debug(F101,"doftpsend2 canceled","",ftpsnd.bytes);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "doftpsend2 canceled" , ( char * ) ( "" ) , ( off_t ) ( ftpsnd . bytes 
       E	) ) : 0 ) )
      2	 100016         ftpsndret = -1;
      2X 100017 #ifdef NTSIG
      2X 100018         ckThreadEnd(threadinfo);
      2X 100019 #endif /* NTSIG */
      2	 100020         return;
      1	 100021     }
      1	 100022     debug(F101,"doftpsend2 ok","",ftpsnd.bytes);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "doftpsend2 ok" , ( char * ) ( "" ) , ( off_t ) ( ftpsnd . bytes ) ) : 0 ) 
       E	)
      1	 100023     ftpsndret = 0;
      1X 100024 #ifdef NTSIG
      1X 100025      ckThreadEnd(threadinfo);
      1X 100026 #endif /* NTSIG */
      1	 100027 }
	 100028 
	 100029 static int
	 100030 #ifdef CK_ANSIC
	 100031 sendrequest( char *cmd, char *local, char *remote,
	 100032              int xlate, int incs, int outcs, int restart )
       X 100033 #else
       X 100034 sendrequest( cmd, local, remote, xlate, incs, outcs, restart )
       X 100035              char *cmd, *local, *remote; int xlate, incs, outcs, restart;
       X 100036 #endif /* CK_ANSIC */
      1	 100037 {
      1	 100038     if (!remote) remote = "";           /* Check args */
      1	 100039     if (!*remote) remote = local;
      1	 100040     if (!local) local = "";
      1	 100041     if (!*local) return(-1);
      1	 100042     if (!cmd) cmd = "";
      1	 100043     if (!*cmd) cmd = "STOR";
      1	 100044 
      1	 100045     debug(F111,"ftp sendrequest restart",local,restart);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp sendrequest restart" , ( char * ) ( local ) , ( off_t ) ( restart ) ) 
       E	: 0 ) )
      1	 100046 
      1	 100047     nout = 0;                           /* Init output buffer count */
      1	 100048     ftpsnd.bytes = 0;                   /* File input byte count */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1896
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 100049     dout = -1;
      1	 100050 
      1X 100051 #ifdef FTP_PROXY
      1X 100052     if (proxy) {
      1X 100053         proxtrans(cmd, local, remote, !strcmp(cmd,"STOU"));
      1X 100054         return(0);
      1X 100055     }
      1X 100056 #endif /* FTP_PROXY */
      1	 100057 
      1	 100058     changetype(ftp_typ,0);              /* Change type for this file */
      1	 100059 
      1	 100060     ftpsnd.oldintr = NULL;		/* Set up interrupt handler */
       E	                      ( ( void * ) 0 )
      1	 100061     ftpsnd.oldintp = NULL;
       E	                      ( ( void * ) 0 )
      1	 100062     ftpsnd.restart = restart;
      1	 100063     ftpsnd.xlate = xlate;
      1	 100064     ftpsnd.lmode = "wb";
      1	 100065 
      1X 100066 #ifdef PIPESEND                         /* Use Kermit API for file i/o... */
      1X 100067     if (sndfilter) {
      1X 100068         char * p = NULL, * q;
      1X 100069 #ifndef NOSPL
      1X 100070         int n = CKMAXPATH;
      1X 100071         if (cmd_quoting && (p = (char *) malloc(n + 1))) {
      1X 100072             q = p;
      1X 100073             debug(F110,"sendrequest pipesend filter",sndfilter,0);
      1X 100074             zzstring(sndfilter,&p,&n);
      1X 100075             debug(F111,"sendrequest pipename",q,n);
      1X 100076             if (n <= 0) {
      1X 100077                 printf("?Sorry, send filter + filename too long, %d max.\n",
      1X 100078                        CKMAXPATH
      1X 100079                        );
      1X 100080                 free(q);
      1X 100081                 return(-1);
      1X 100082             }
      1X 100083             ckstrncpy(filnam,q,CKMAXPATH+1);
      1X 100084             free(q);
      1X 100085             local = filnam;
      1X 100086         }
      1X 100087 #endif /* NOSPL */
      1X 100088     }
      1X 100089 
      1X 100090     if (sndfilter)                      /* If sending thru a filter */
      1X 100091       pipesend = 1;                     /* set this for open and i/o */
      1X 100092 #endif /* PIPESEND */
      1	 100093     
      1	 100094 #ifdef VMS
      1	 100095     debug(F101,"XXX before openi binary","",binary);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "XXX before openi binary" , ( char * ) ( "" ) , ( off_t ) ( binary ) ) : 0 
       E	) )
      1	 100096     debug(F101,"XXX before openi ftp_typ","",ftp_typ);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "XXX before openi ftp_typ" , ( char * ) ( "" ) , ( off_t ) ( ftp_typ ) ) : 
       E	0 ) )
      1	 100097 #endif	/* VMS */
      1	 100098 
      1	 100099     if (openi(local) == 0)		/* Try to open the input file */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1897
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 100100       return(-1);
      1	 100101 
      1	 100102 #ifdef VMS
      1	 100103     debug(F101,"XXX after openi binary","",binary);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "XXX after openi binary" , ( char * ) ( "" ) , ( off_t ) ( binary ) ) : 0 )
       E	 )
      1	 100104     debug(F101,"XXX after openi ftp_typ","",ftp_typ);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "XXX after openi ftp_typ" , ( char * ) ( "" ) , ( off_t ) ( ftp_typ ) ) : 0
       E	 ) )
      2	 100105     if (!forcetype) {
      3	 100106 	if (binary != ftp_typ) {	/* VMS zopeni() sets binary */
      3	 100107 	    debug(F101,"XXX changing type","",binary);
       E	      ( ( void ) ( deblog ? dodebug ( 5 , "XXX changing type" , ( char * ) ( "" ) , ( off_t ) ( binary ) ) : 0 ) )
      3	 100108 	    doftptyp(binary);
      3	 100109 	    debug(F101,"XXX after doftptyp","",ftp_typ);
       E	      ( ( void ) ( deblog ? dodebug ( 5 , "XXX after doftptyp" , ( char * ) ( "" ) , ( off_t ) ( ftp_typ ) ) : 0 ) )
      3	 100110 
      3	 100111 	    /* **** */
      4	 100112 	    if (displa && fdispla) {	/* Update file type display */
      4	 100113 		ftscreen(SCR_FN,'F',(CK_OFF_T)0,local);
       E	            1
       E	                        off_t
      3	 100114 	    }
      2	 100115 	}
      1	 100116     }
      1	 100117 #endif	/* VMS */
      1	 100118     ftpsndret = 0;
      1	 100119     ftpsnd.incs = incs;
      1	 100120     ftpsnd.outcs = outcs;
      1	 100121     ftpsnd.cmd = cmd;
      1	 100122     ftpsnd.local = local;
      1	 100123     ftpsnd.remote = remote;
      1	 100124     ftpsnd.oldintr = signal(SIGINT, cancelsend);
       E	                             2
      1	 100125     havesigint = 0;
      1	 100126 
      1	 100127     if (cc_execute(ckjaddr(sendcancel), doftpsend, failftpsend) < 0)
       E	                    sendcancel
      1	 100128       return(-1);
      1	 100129     if (ftpsndret < 0)
      1	 100130       return(-1);
      1	 100131     if (cc_execute(ckjaddr(sendcancel), doftpsend2, failftpsend2) < 0)
       E	                    sendcancel
      1	 100132       return(-1);
      1	 100133 
      1	 100134     return(ftpsndret);
      1	 100135 }
	 100136 
	 100137 static sigtype
       E	        void
	 100138 #ifdef CK_ANSIC
	 100139 cancelrecv( int sig )
       X 100140 #else
       X 100141 cancelrecv(sig) int sig;
       X 100142 #endif /* CK_ANSIC */
      1	 100143 {
      1	 100144     havesigint++;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1898
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 100145     cancelfile = 0;
      1	 100146     cancelgroup++;
      1	 100147     secure_getc(0,1);			/* Initialize net input buffers */
      1	 100148     printf(" Canceling...\n");
      1	 100149     debug(F100,"ftp cancelrecv caught SIGINT","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp cancelrecv caught SIGINT" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 
       E	) )
      1	 100150     fflush(stdout);
       E	            ( decc$ga_stdout )
      2	 100151     if (fp_nml) {
      2	 100152         if (fp_nml != stdout)
       E	                       ( decc$ga_stdout )
      2	 100153           fclose(fp_nml);
      2	 100154         fp_nml = NULL;
       E	                  ( ( void * ) 0 )
      1	 100155     }
      1	 100156 #ifndef OS2
      1	 100157     longjmp(recvcancel, 1);
      1X 100158 #else
      1X 100159     PostCtrlCSem();
      1X 100160 #endif /* OS2 */
      1	 100161 }
	 100162 
	 100163 /* Argumentless front-end for secure_getc() */
	 100164 
	 100165 static int
      1	 100166 netgetc() {
      1	 100167     return(secure_getc(globaldin,0));
      1	 100168 }
	 100169 
	 100170 /* Returns -1 on failure, 0 on success, 1 if file skipped */
	 100171 
	 100172 /*
	 100173   Sets ftpcode < 0 on failure if failure reason is not server reply code:
	 100174     -1: interrupted by user.
	 100175     -2: error opening or writing output file (reason in errno).
	 100176     -3: failure to make data connection.
	 100177     -4: network read error (reason in errno).
	 100178 */
	 100179 
	 100180 struct xx_ftprecv {
	 100181     int reply;
	 100182     int fcs;
	 100183     int rcs;
	 100184     int recover;
	 100185     int xlate;
	 100186     int din;
	 100187     int is_retr;
	 100188     sig_t oldintr, oldintp;
	 100189     char * cmd;
	 100190     char * local;
	 100191     char * remote;
	 100192     char * lmode;
	 100193     char * pipename;
	 100194     int    tcrflag;
	 100195     CK_OFF_T localsize;
       E	     off_t

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1899
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 100196 };
	 100197 static struct xx_ftprecv ftprecv;
	 100198 
	 100199 static int ftprecvret = 0;
	 100200 
	 100201 static VOID
       E	        void
	 100202 #ifdef CK_ANSIC
	 100203 failftprecv(VOID * threadinfo)
       E	             void
       X 100204 #else
       X 100205 failftprecv(threadinfo) VOID * threadinfo;
       X 100206 #endif /* CK_ANSIC */
      1	 100207 {
      1X 100208 #ifdef NTSIG
      1X 100209     if (threadinfo) {                   /* Thread local storage... */
      1X 100210         TlsSetValue(TlsIndex,threadinfo);
      1X 100211         debug(F100, "docmdfile called with threadinfo block","", 0);
      1X 100212     } else debug(F100, "docmdfile - threadinfo is NULL", "", 0);
      1X 100213 #endif /* NTSIG */
      1	 100214 
      1X 100215 #ifdef CK_LOGIN
      1X 100216 #ifdef IKSD
      1X 100217 #ifdef NT
      1X 100218     if (inserver)
      1X 100219       setntcreds();
      1X 100220 #endif /* NT */
      1X 100221 #endif /* IKSD */
      1X 100222 #endif /* CK_LOGIN */
      1	 100223 
      2	 100224     while (cpend) {
      2	 100225         ftprecv.reply = getreply(0,ftprecv.fcs,ftprecv.rcs,ftp_vbm,0);
      1	 100226     }
      2	 100227     if (data >= 0) {
      2	 100228 #ifdef CK_SSL
      3	 100229         if (ssl_ftp_data_active_flag) {
      3	 100230             SSL_shutdown(ssl_ftp_data_con);
      3	 100231             SSL_free(ssl_ftp_data_con);
      3	 100232             ssl_ftp_data_active_flag = 0;
      3	 100233             ssl_ftp_data_con = NULL;
       E	                                ( ( void * ) 0 )
      2	 100234         }
      2	 100235 #endif /* CK_SSL */
      2	 100236 #ifdef TCPIPLIB
      2	 100237         socket_close(data);
       E	         close
      2X 100238 #else /* TCPIPLIB */
      2X 100239 #ifdef USE_SHUTDOWN
      2X 100240         shutdown(data, 1+1);
      2X 100241 #endif /* USE_SHUTDOWN */
      2X 100242         close(data);
      2X 100243 #endif /* TCPIPLIB */
      2	 100244         data = -1;
      2	 100245         globaldin = -1;
      1	 100246     }
      1	 100247     if (ftprecv.oldintr)
      1	 100248       signal(SIGINT, ftprecv.oldintr);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1900
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	              2
      1	 100249     ftpcode = -1;
      1	 100250     ftprecvret = -1;
      1	 100251 
      1	 100252 #ifndef OS2
      1	 100253     /* TEST ME IN K95 */
      2	 100254     if (havesigint) {
      2	 100255 	havesigint = 0;
      2	 100256 	debug(F100,"ftp failftprecv chain to trap()...","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp failftprecv chain to trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) :
       E	 0 ) )
      2	 100257 	if (ftprecv.oldintr != SIG_IGN)
       E	                         ( ( __sighnd_t ) 1 )
      2	 100258 	  (*ftprecv.oldintr)(SIGINT);
       E	                       2
      2	 100259 	/* NOTREACHED (I hope!) */
      2	 100260 	debug(F100,"ftp failftprecv return from trap()...","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp failftprecv return from trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) 
       E	) : 0 ) )
      1	 100261     }
      1	 100262 #endif /* OS2 */
      1	 100263     return;
      1	 100264 }
	 100265 
	 100266 static VOID
       E	        void
	 100267 #ifdef CK_ANSIC
	 100268 doftprecv(VOID * threadinfo)
       E	           void
       X 100269 #else
       X 100270 doftprecv(threadinfo) VOID * threadinfo;
       X 100271 #endif /* CK_ANSIC */
      1	 100272 {
      1X 100273 #ifdef NTSIG
      1X 100274     if (threadinfo) {                   /* Thread local storage... */
      1X 100275         TlsSetValue(TlsIndex,threadinfo);
      1X 100276         debug(F100, "docmdfile called with threadinfo block","", 0);
      1X 100277     } else debug(F100, "docmdfile - threadinfo is NULL", "", 0);
      1X 100278 #endif /* NTSIG */
      1X 100279 #ifdef CK_LOGIN
      1X 100280 #ifdef IKSD
      1X 100281 #ifdef NT
      1X 100282     if (inserver)
      1X 100283       setntcreds();
      1X 100284 #endif /* NT */
      1X 100285 #endif /* IKSD */
      1X 100286 #endif /* CK_LOGIN */
      1	 100287 
      1	 100288 #ifndef COMMENT
      2	 100289     if (!out2screen && !ftprecv.pipename) {
      2	 100290 	int x;
      2	 100291 	char * local;
      2	 100292 	local = ftprecv.local;
      2	 100293 	x = zchko(local);
      3	 100294         if (x < 0) {
      3	 100295             if ((!dpyactive || ftp_deb))
      3	 100296               fprintf(stderr,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1901
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                       ( decc$ga_stderr )
      3	 100297 		      "Temporary file %s: %s\n", ftprecv.local, ck_errstr());
      3	 100298             signal(SIGINT, ftprecv.oldintr);
       E	                    2
      3	 100299             ftpcode = -2;
      3	 100300             ftprecvret = -1;
      3X 100301 #ifdef NTSIG
      3X 100302             ckThreadEnd(threadinfo);
      3X 100303 #endif /* NTSIG */
      3	 100304             return;
      2	 100305         }
      1	 100306     }
      1	 100307 #endif /* COMMENT */
      1	 100308     changetype((!ftprecv.is_retr) ? FTT_ASC : ftp_typ, 0);
       E	                                     0
      2	 100309     if (initconn()) {                   /* Initialize the data connection */
      2	 100310         signal(SIGINT, ftprecv.oldintr);
       E	                2
      2	 100311         ftpcode = -1;
      2	 100312         ftprecvret = -3;
      2X 100313 #ifdef NTSIG
      2X 100314         ckThreadEnd(threadinfo);
      2X 100315 #endif /* NTSIG */
      2	 100316         return;
      1	 100317     }
      1	 100318     secure_getc(0,1);			/* Initialize net input buffers */
      1	 100319     ftprecvret = 0;
      1	 100320 
      1X 100321 #ifdef NTSIG
      1X 100322     ckThreadEnd(threadinfo);
      1X 100323 #endif /* NTSIG */
      1	 100324 }
	 100325 
	 100326 static VOID
       E	        void
	 100327 #ifdef CK_ANSIC
	 100328 failftprecv2(VOID * threadinfo)
       E	              void
       X 100329 #else
       X 100330 failftprecv2(threadinfo) VOID * threadinfo;
       X 100331 #endif /* CK_ANSIC */
      1	 100332 {
      1X 100333 #ifdef NTSIG
      1X 100334     if (threadinfo) {                   /* Thread local storage... */
      1X 100335         TlsSetValue(TlsIndex,threadinfo);
      1X 100336         debug(F100, "docmdfile called with threadinfo block","", 0);
      1X 100337     } else debug(F100, "docmdfile - threadinfo is NULL", "", 0);
      1X 100338 #endif /* NTSIG */
      1X 100339 #ifdef CK_LOGIN
      1X 100340 #ifdef IKSD
      1X 100341 #ifdef NT
      1X 100342     if (inserver)
      1X 100343       setntcreds();
      1X 100344 #endif /* NT */
      1X 100345 #endif /* IKSD */
      1X 100346 #endif /* CK_LOGIN */
      1	 100347 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1902
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 100348     /* Cancel using RFC959 recommended IP,SYNC sequence  */
      1	 100349 
      1	 100350     debug(F100,"ftp recvrequest CANCEL","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp recvrequest CANCEL" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 100351 #ifdef GFTIMER
      1	 100352     fpfsecs = gftimer();
      1	 100353 #endif /* GFTIMER */
      1	 100354 #ifdef SIGPIPE
      1	 100355     if (ftprecv.oldintp)
      1	 100356       signal(SIGPIPE, ftprecv.oldintr);
       E	              13
      1	 100357 #endif /* SIGPIPE */
      1	 100358     signal(SIGINT, SIG_IGN);
       E	            2
       E	                    ( ( __sighnd_t ) 1 )
      2	 100359     if (!cpend) {
      2	 100360         ftpcode = -1;
      2	 100361         signal(SIGINT, ftprecv.oldintr);
       E	                2
      2	 100362         ftprecvret = -1;
      2X 100363 #ifdef NTSIG
      2X 100364         ckThreadEnd(threadinfo);
      2X 100365 #endif /* NTSIG */
      2	 100366         return;
      1	 100367     }
      1	 100368     cancel_remote(ftprecv.din);
      1	 100369 
      1	 100370 #ifdef FTP_TIMEOUT
      1	 100371     if (ftp_timed_out && out2screen && !quiet)
      1	 100372       printf("\n?Timed out.\n");
      1	 100373 #endif	/* FTP_TIMEOUT */
      1	 100374 
      1	 100375     if (ftpcode > -1)
      1	 100376       ftpcode = -1;
      2	 100377     if (data >= 0) {
      2	 100378 #ifdef CK_SSL
      3	 100379         if (ssl_ftp_data_active_flag) {
      3	 100380             SSL_shutdown(ssl_ftp_data_con);
      3	 100381             SSL_free(ssl_ftp_data_con);
      3	 100382             ssl_ftp_data_active_flag = 0;
      3	 100383             ssl_ftp_data_con = NULL;
       E	                                ( ( void * ) 0 )
      2	 100384         }
      2	 100385 #endif /* CK_SSL */
      2	 100386 #ifdef TCPIPLIB
      2	 100387         socket_close(data);
       E	         close
      2X 100388 #else /* TCPIPLIB */
      2X 100389 #ifdef USE_SHUTDOWN
      2X 100390         shutdown(data, 1+1);
      2X 100391 #endif /* USE_SHUTDOWN */
      2X 100392         close(data);
      2X 100393 #endif /* TCPIPLIB */
      2	 100394         data = -1;
      2	 100395         globaldin = -1;
      1	 100396     }
      2	 100397     if (!out2screen) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1903
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 100398 	int x = 0;
      2	 100399 	debug(F111,"ftp failrecv2 zclose",ftprecv.local,keep);
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "ftp failrecv2 zclose" , ( char * ) ( ftprecv . local ) , ( off_t ) ( keep ) )
       E	 : 0 ) )
      2	 100400 	zclose(ZOFILE);
       E	         3
      3	 100401 	switch (keep) {			/* which is... */
      3	 100402 	  case SET_AUTO:		/* AUTO */
       E	         2
      3	 100403 	    if (curtype == FTT_ASC)	/* Delete file if TYPE A. */
       E	                     0
      3	 100404 	      x = 1;
      3	 100405 	    break;
      3	 100406 	  case SET_OFF:			/* DISCARD */
       E	         0
      3	 100407 	    x = 1;			/* Delete file, period. */
      3	 100408 	    break;
      3	 100409 	  default:			/* KEEP */
      3	 100410 	    break;
      2	 100411 	}
      3	 100412 	if (x) {
      3	 100413 	    x = zdelet(ftprecv.local);
      3	 100414 	    debug(F111,"ftp failrecv2 delete incomplete",ftprecv.local,x);
       E	      ( ( void ) ( deblog ? dodebug ( 7 , "ftp failrecv2 delete incomplete" , ( char * ) ( ftprecv . local ) , ( off
       E	_t ) ( x ) ) : 0 ) )
      2	 100415 	}
      1	 100416     }
      2	 100417     if (ftprecv.din) {
      2	 100418 #ifdef TCPIPLIB
      2	 100419         socket_close(ftprecv.din);
       E	         close
      2X 100420 #else /* TCPIPLIB */
      2X 100421 #ifdef USE_SHUTDOWN
      2X 100422         shutdown(ftprecv.din, 1+1);
      2X 100423 #endif /* USE_SHUTDOWN */
      2X 100424         close(ftprecv.din);
      2X 100425 #endif /* TCPIPLIB */
      1	 100426     }
      1	 100427     signal(SIGINT, ftprecv.oldintr);
       E	            2
      1	 100428     ftprecvret = -1;
      1	 100429 
      2	 100430     if (havesigint) {
      2	 100431 	havesigint = 0;
      2	 100432 	debug(F100,"FTP failftprecv2 chain to trap()...","",0);
       E	  ( ( void ) ( deblog ? dodebug ( 4 , "FTP failftprecv2 chain to trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) 
       E	: 0 ) )
      2X 100433 #ifdef OS2
      2X 100434         debug(F100,"FTP failftprecv2 PostCtrlCSem()...","",0);
      2X 100435         PostCtrlCSem();
      2X 100436 #else /* OS2 */
      2	 100437 	if (ftprecv.oldintr != SIG_IGN)
       E	                         ( ( __sighnd_t ) 1 )
      2	 100438 	  (*ftprecv.oldintr)(SIGINT);
       E	                       2
      2	 100439 	/* NOTREACHED (I hope!) */
      2	 100440 	debug(F100,"ftp failftprecv2 return from trap()...","",0);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1904
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	  ( ( void ) ( deblog ? dodebug ( 4 , "ftp failftprecv2 return from trap()..." , ( char * ) ( "" ) , ( off_t ) ( 0 )
       E	 ) : 0 ) )
      2	 100441 #endif /* OS2 */
      1	 100442     }
      1	 100443 }
	 100444 
	 100445 static VOID
       E	        void
	 100446 #ifdef CK_ANSIC
	 100447 doftprecv2(VOID * threadinfo)
       E	            void
       X 100448 #else
       X 100449 doftprecv2(threadinfo) VOID * threadinfo;
       X 100450 #endif /* CK_ANSIC */
      1	 100451 {
      1	 100452     register int c, d;
      1	 100453     CK_OFF_T bytes = (CK_OFF_T)0;
       E	     off_t
       E	                       off_t
      1	 100454     int bare_lfs = 0;
      1	 100455     int blksize = 0;
      1	 100456     ULONG start = 0L, stop;
       E	     unsigned long
      1	 100457     char * p;
      1	 100458     static char * rcvbuf = NULL;
       E	                            ( ( void * ) 0 )
      1	 100459     static int rcvbufsiz = 0;
      1	 100460 #ifdef CK_URL
      1	 100461     char newname[CKMAXPATH+1];		/* For file dialog */
       E	                  4095
      1	 100462 #endif /* CK_URL */
      1	 100463     extern int adl_ask;
      1	 100464 
      1	 100465 #ifdef FTP_TIMEOUT
      1	 100466     ftp_timed_out = 0;
      1	 100467 #endif	/* FTP_TIMEOUT */
      1	 100468 
      1	 100469     ftprecv.din = -1;
      1X 100470 #ifdef NTSIG
      1X 100471     if (threadinfo) {                   /* Thread local storage... */
      1X 100472         TlsSetValue(TlsIndex,threadinfo);
      1X 100473         debug(F100, "docmdfile called with threadinfo block","", 0);
      1X 100474     } else debug(F100, "docmdfile - threadinfo is NULL", "", 0);
      1X 100475 #endif /* NTSIG */
      1X 100476 #ifdef CK_LOGIN
      1X 100477 #ifdef IKSD
      1X 100478 #ifdef NT
      1X 100479     if (inserver)
      1X 100480       setntcreds();
      1X 100481 #endif /* NT */
      1X 100482 #endif /* IKSD */
      1X 100483 #endif /* CK_LOGIN */
      1	 100484 
      2	 100485     if (ftprecv.recover) {                      /* Initiate recovery */
      2	 100486         x = ftpcmd("REST",ckfstoa(ftprecv.localsize),-1,-1,ftp_vbm);
      2	 100487         debug(F111,"ftp reply","REST",x);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp reply" , ( char * ) ( "REST" ) , ( off_t ) ( x ) ) : 0 ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1905
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 100488         if (x == REPLY_CONTINUE) {
       E	                  3
      3	 100489             ftprecv.lmode = "ab";
      3	 100490             rs_len = ftprecv.localsize;
      3	 100491         } else {
      3	 100492             ftprecv.recover = 0;
      2	 100493         }
      1	 100494     }
      1	 100495     /* IMPORTANT: No FTP commands can come between REST and RETR! */
      1	 100496 
      1	 100497     debug(F111,"ftp recvrequest recover E",ftprecv.remote,ftprecv.recover);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest recover E" , ( char * ) ( ftprecv . remote ) , ( off_t ) (
       E	 ftprecv . recover ) ) : 0 ) )
      1	 100498 
      1	 100499     /* Send the command and get reply */
      1	 100500     debug(F110,"ftp recvrequest cmd",ftprecv.cmd,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp recvrequest cmd" , ( char * ) ( ftprecv . cmd ) , ( off_t ) ( 0 ) ) : 
       E	0 ) )
      1	 100501     debug(F110,"ftp recvrequest remote",ftprecv.remote,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp recvrequest remote" , ( char * ) ( ftprecv . remote ) , ( off_t ) ( 0 
       E	) ) : 0 ) )
      1	 100502 
      1	 100503     if (ftpcmd(ftprecv.cmd,ftprecv.remote,ftprecv.fcs,ftprecv.rcs,ftp_vbm)
      2	 100504 	!= REPLY_PRELIM) {
       E	     1
      2	 100505         signal(SIGINT, ftprecv.oldintr); /* Bad reply, fail. */
       E	                2
      2	 100506         ftprecvret = -1;		/* ftpcode is set by ftpcmd() */
      2X 100507 #ifdef NTSIG
      2X 100508         ckThreadEnd(threadinfo);
      2X 100509 #endif /* NTSIG */
      2	 100510         return;
      1	 100511     }
      1	 100512     ftprecv.din = dataconn("r");        /* Good reply, open data connection */
      1	 100513     globaldin = ftprecv.din;            /* Global copy of file descriptor */
      2	 100514     if (ftprecv.din == -1) {            /* Check for failure */
      2	 100515         ftpcode = -3;                   /* Code for no data connection */
      2	 100516         ftprecvret = -1;
      2X 100517 #ifdef NTSIG
      2X 100518         ckThreadEnd(threadinfo);
      2X 100519 #endif /* NTSIG */
      2	 100520         return;
      1	 100521     }
      1	 100522 #ifdef CK_URL
      1	 100523     /* In K95 GUI put up a file box */
      2	 100524     if (haveurl && g_url.pth && adl_ask	) { /* Downloading from a URL */
      2	 100525 	int x;
      2	 100526 	char * preface =
      2	 100527 "\r\nIncoming file from FTP server...\r\n\
      2	 100528 Please confirm output file specification or supply an alternative:";
      2	 100529 
      2	 100530 	x = uq_file(preface,		/* K95 GUI: Put up file box. */
      2	 100531 		    NULL,
       E	       ( ( void * ) 0 )
      2	 100532 		    4,
      2	 100533 		    NULL,
       E	       ( ( void * ) 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1906
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 100534 		    ftprecv.local ? ftprecv.local : ftprecv.remote,
      2	 100535 		    newname,
      2	 100536 		    CKMAXPATH+1
       E	       4095
      2	 100537 		    );
      3	 100538 	if (x > 0) {
      3	 100539 	    ftprecv.local = newname;	/* Substitute user's file name */
      3	 100540 	    if (x == 2)			/* And append if user said to */
      3	 100541 	      ftprecv.lmode = "ab";
      2	 100542 	}
      1	 100543     }
      1	 100544 #endif /* CK_URL */
      1	 100545     x = 1;                              /* Output file open OK? */
      2	 100546     if (ftprecv.pipename) {		/* Command */
      2	 100547         x = zxcmd(ZOFILE,ftprecv.pipename);
       E	                   3
      2	 100548         debug(F111,"ftp recvrequest zxcmd",ftprecv.pipename,x);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest zxcmd" , ( char * ) ( ftprecv . pipename ) , ( off_t )
       E	 ( x ) ) : 0 ) )
      2	 100549     } else if (!out2screen) {           /* File */
      2	 100550         struct filinfo xx;
      2	 100551         xx.bs = 0; xx.cs = 0; xx.rl = 0; xx.org = 0; xx.cc = 0;
      2	 100552         xx.typ = 0; xx.os_specific = ""; xx.lblopts = 0;
      2	 100553 	/* Append or New */
      2	 100554         xx.dsp = !strcmp(ftprecv.lmode,"ab") ? XYFZ_A : XYFZ_N;
       E	                                                1
       E	                                                         0
      2	 100555         x = zopeno(ZOFILE,ftprecv.local,NULL,&xx);
       E	                    3
       E	                                         ( ( void * ) 0 )
      2	 100556         debug(F111,"ftp recvrequest zopeno",ftprecv.local,x);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest zopeno" , ( char * ) ( ftprecv . local ) , ( off_t ) (
       E	 x ) ) : 0 ) )
      1	 100557     }
      2	 100558     if (x < 1) {                        /* Failure to open output file */
      2	 100559         if ((!dpyactive || ftp_deb))
      2	 100560           fprintf(stderr, "local(2): %s: %s\n", ftprecv.local, ck_errstr());
       E	                   ( decc$ga_stderr )
      2	 100561         ftprecvret = -1;
      2X 100562 #ifdef NTSIG
      2X 100563         ckThreadEnd(threadinfo);
      2X 100564 #endif /* NTSIG */
      2	 100565         return;
      1	 100566     }
      1	 100567     blksize = FTP_BUFSIZ;               /* Allocate input buffer */
       E	               10240
      1	 100568 
      1	 100569     debug(F101,"ftp recvrequest blksize","",blksize);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest blksize" , ( char * ) ( "" ) , ( off_t ) ( blksize ) ) : 0
       E	 ) )
      1	 100570     debug(F101,"ftp recvrequest rcvbufsiz","",rcvbufsiz);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest rcvbufsiz" , ( char * ) ( "" ) , ( off_t ) ( rcvbufsiz ) )
       E	 : 0 ) )
      1	 100571 
      2	 100572     if (rcvbufsiz < blksize) {          /* if necessary */
      3	 100573         if (rcvbuf) {
      3	 100574             free(rcvbuf);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1907
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 100575             rcvbuf = NULL;
       E	                      ( ( void * ) 0 )
      2	 100576         }
      2	 100577         rcvbuf = (char *)malloc((unsigned)blksize);
      3	 100578         if (!rcvbuf) {
      3	 100579 	    debug(F100,"ftp get rcvbuf malloc failed","",0);
       E	      ( ( void ) ( deblog ? dodebug ( 4 , "ftp get rcvbuf malloc failed" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0
       E	 ) )
      3	 100580             ftpcode = -2;
      3	 100581 #ifdef ENOMEM
      3	 100582             errno = ENOMEM;
       E	             ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                     12
      3	 100583 #endif /* ENOMEM */
      3	 100584             if ((!dpyactive || ftp_deb))
      3	 100585               perror("malloc");
      3	 100586             rcvbufsiz = 0;
      3	 100587             ftprecvret = -1;
      3X 100588 #ifdef NTSIG
      3X 100589             ckThreadEnd(threadinfo);
      3X 100590 #endif /* NTSIG */
      3	 100591             return;
      2	 100592         }
      2	 100593 	debug(F101,"ftp get rcvbuf malloc ok","",blksize);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp get rcvbuf malloc ok" , ( char * ) ( "" ) , ( off_t ) ( blksize ) ) : 0 )
       E	 )
      2	 100594         rcvbufsiz = blksize;
      1	 100595     }
      1	 100596     debug(F111,"ftp get rcvbufsiz",ftprecv.local,rcvbufsiz);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get rcvbufsiz" , ( char * ) ( ftprecv . local ) , ( off_t ) ( rcvbufsi
       E	z ) ) : 0 ) )
      1	 100597 
      1	 100598     ffc = (CK_OFF_T)0;			/* Character counter */
       E	            off_t
      1	 100599     cps = oldcps = 0L;                  /* Thruput */
      1	 100600     start = gmstimer();                 /* Start time (msecs) */
      1	 100601 #ifdef GFTIMER
      1	 100602     rftimer();                          /* Start time (float) */
      1	 100603 #endif /* GFTIMER */
      1	 100604 
      1	 100605     debug(F111,"ftp get type",ftprecv.local,curtype);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp get type" , ( char * ) ( ftprecv . local ) , ( off_t ) ( curtype ) ) :
       E	 0 ) )
      1	 100606     debug(F101,"ftp recvrequest ftp_dpl","",ftp_dpl);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest ftp_dpl" , ( char * ) ( "" ) , ( off_t ) ( ftp_dpl ) ) : 0
       E	 ) )
      2	 100607     switch (curtype) {
      2	 100608       case FTT_BIN:                     /* Binary mode */
       E	            1
      2	 100609       case FTT_TEN:                     /* TENEX mode */
       E	            6
      2	 100610         d = 0;
      3	 100611         while (1) {
      3	 100612             errno = 0;
       E	             ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      3	 100613             c = secure_read(ftprecv.din, rcvbuf, rcvbufsiz);
      4	 100614             if (cancelfile) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1908
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	 100615                 failftprecv2(threadinfo);
      4X 100616 #ifdef NTSIG
      4X 100617                 ckThreadEnd(threadinfo);
      4X 100618 #endif /* NTSIG */
      4	 100619                 return;
      3	 100620             }
      3	 100621             if (c < 1)
      3	 100622               break;
      3X 100623 #ifdef printf                           /* (What if it isn't?) */
      3X 100624             if (out2screen && !ftprecv.pipename) {
      3X 100625                 int i;
      3X 100626                 for (i = 0; i < c; i++)
      3X 100627                   printf("%c",rcvbuf[i]);
      3X 100628             } else
      3X 100629 #endif /* printf */
      4	 100630               {
      4	 100631                 register int i;
      4	 100632                 i = 0;
      4	 100633                 errno = 0;
       E	                 ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      5	 100634                 while (i < c) {
      6	 100635                     if (zmchout(rcvbuf[i++]) < 0) {
       E	                         ( ( * zoutptr ++ = ( char ) ( rcvbuf [ i ++ ] ) ) , ( ( ( ++ zoutcnt ) >= zobufsize ) ? zou
       E	tdump ( ) : 0 ) )
      6	 100636                         d = i;
      6	 100637                         break;
      5	 100638                     }
      4	 100639                 }
      3	 100640             }
      3	 100641             bytes += c;
      3	 100642             ffc += c;
      2	 100643         }
      2	 100644 #ifdef FTP_TIMEOUT
      3	 100645 	if (c == -3) {
      3	 100646             debug(F100,"ftp recvrequest timeout","",0); 
       E	             ( ( void ) ( deblog ? dodebug ( 4 , "ftp recvrequest timeout" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) :
       E	 0 ) )
      3	 100647             bytes = (CK_OFF_T)-1;
       E	                      off_t
      3	 100648 	    ftp_timed_out = 1;
      3	 100649 	    ftpcode = -3;
      2	 100650 	} else
      2	 100651 #endif	/* FTP_TIMEOUT */
      3	 100652         if (c < 0) {
      3	 100653             debug(F111,"ftp recvrequest errno",ckitoa(c),errno);
       E	             ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest errno" , ( char * ) ( ckitoa ( c ) ) , ( off_t ) (
       E	 ( * CMA$TIS_ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      3	 100654             if (c == -1 && errno != EPIPE)
       E	                            ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                                     32
      3	 100655               if ((!dpyactive || ftp_deb))
      3	 100656                 perror("netin");
      3	 100657             bytes = (CK_OFF_T)-1;
       E	                      off_t
      3	 100658             ftpcode = -4;
      2	 100659         }
      3	 100660         if (d < c) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1909
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 100661             ftpcode = -2;
      4	 100662             if ((!dpyactive || ftp_deb)) {
      4	 100663                 char * p;
      4	 100664                 p = ftprecv.local ? ftprecv.local : ftprecv.pipename;
      4	 100665                 if (d < 0)
      4	 100666                   fprintf(stderr,
       E	                           ( decc$ga_stderr )
      4	 100667 			  "local(3): %s: %s\n", ftprecv.local, ck_errstr());
      4	 100668                 else
      4	 100669                   fprintf(stderr,
       E	                           ( decc$ga_stderr )
      4	 100670 			  "%s: short write\n", ftprecv.local);
      3	 100671             }
      2	 100672         }
      2	 100673         break;
      2	 100674 
      2	 100675       case FTT_ASC:                     /* Text mode */
       E	            0
      2	 100676 	debug(F101,"ftp recvrequest TYPE A xlate","",ftprecv.xlate);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest TYPE A xlate" , ( char * ) ( "" ) , ( off_t ) ( ftprecv . xla
       E	te ) ) : 0 ) )
      2	 100677 #ifndef NOCSETS
      3	 100678         if (ftprecv.xlate) {
      3	 100679             int t;
      3	 100680 #ifdef CK_ANSIC
      3	 100681             int (*fn)(char);
      3X 100682 #else
      3X 100683             int (*fn)();
      3X 100684 #endif /* CK_ANSIC */
      3	 100685             debug(F110,"ftp recvrequest (data)","initxlate",0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "ftp recvrequest (data)" , ( char * ) ( "initxlate" ) , ( off_t ) (
       E	 0 ) ) : 0 ) )
      3	 100686             initxlate(ftprecv.rcs,ftprecv.fcs);         /* (From,To) */
      4	 100687             if (ftprecv.pipename) {
      4	 100688                 fn = pipeout;
      4	 100689                 debug(F110,"ftp recvrequest ASCII","pipeout",0);
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp recvrequest ASCII" , ( char * ) ( "pipeout" ) , ( off_t ) 
       E	( 0 ) ) : 0 ) )
      4	 100690             } else {
      4	 100691                 fn = out2screen ? scrnout : putfil;
      4	 100692                 debug(F110,"ftp recvrequest ASCII",
       E	                 ( ( void ) ( deblog ? dodebug ( 6 , "ftp recvrequest ASCII" , ( char * ) ( out2screen ? "scrnout" :
       E	 "putfil" ) , ( off_t ) ( 0 ) ) : 0 ) )
      4	 100693                       out2screen ? "scrnout" : "putfil",0);
      3	 100694             }
      4	 100695             while (1) {
      4	 100696 		/* Get byte from net */
      4	 100697                 c0 = xgnbyte(FC_UCS2,ftprecv.rcs,netgetc);
       E	                              45
      5	 100698                 if (cancelfile) {
      5	 100699                     failftprecv2(threadinfo);
      5X 100700 #ifdef NTSIG
      5X 100701                     ckThreadEnd(threadinfo);
      5X 100702 #endif /* NTSIG */
      5	 100703                     return;
      4	 100704                 }
      4	 100705                 if (c0 < 0)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1910
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	 100706                   break;
      4	 100707 		/* Second byte from net */
      4	 100708                 c1 = xgnbyte(FC_UCS2,ftprecv.rcs,netgetc);
       E	                              45
      5	 100709                 if (cancelfile) {
      5	 100710                     failftprecv2(threadinfo);
      5X 100711 #ifdef NTSIG
      5X 100712                     ckThreadEnd(threadinfo);
      5X 100713 #endif /* NTSIG */
      5	 100714                     return;
      4	 100715                 }
      4	 100716                 if (c1 < 0)
      4	 100717                   break;
      4X 100718 #ifdef COMMENT
      4X 100719 		/* K95: Check whether we need this */
      4X 100720 		if (fileorder > 0)	/* Little Endian */
      4X 100721 		  bytswap(&c0,&c1);	/* swap bytes*/
      4X 100722 #endif /* COMMENT */
      4	 100723 
      4X 100724 #ifdef OS2
      4X 100725                 if ( out2screen &&            /* we're translating to UCS-2 */ 
      4X 100726                      !k95stdout && !inserver) /* for the real screen... */     
      4X 100727                 {
      4X 100728                     union {
      4X 100729                         USHORT ucs2;
      4X 100730                         UCHAR  bytes[2];
      4X 100731                     } output;
      4X 100732 
      4X 100733                     output.bytes[0] = c1;
      4X 100734                     output.bytes[1] = c0;
      4X 100735 
      4X 100736                     VscrnWrtUCS2StrAtt(VCMD,
      4X 100737                                        &output.ucs2,
      4X 100738                                        1,
      4X 100739                                        wherey[VCMD],
      4X 100740                                        wherex[VCMD],
      4X 100741                                        &colorcmd
      4X 100742                                        );
      4X 100743 
      4X 100744                 } else 
      4X 100745 #endif /* OS2 */
      5	 100746                 {
      5	 100747                     if ((x = xpnbyte(c0,TC_UCS2,ftprecv.fcs,fn)) < 0) break;
       E	                                         9
      5	 100748                     if ((x = xpnbyte(c1,TC_UCS2,ftprecv.fcs,fn)) < 0) break;
       E	                                         9
      4	 100749                 }
      3	 100750             }
      3	 100751         } else {
      3	 100752 #endif /* NOCSETS */
      4	 100753             while (1) {
      4	 100754                 c = secure_getc(ftprecv.din,0);
      4	 100755                 if (cancelfile
      4	 100756 #ifdef FTP_TIMEOUT
      4	 100757 		    || ftp_timed_out
      4	 100758 #endif	/* FTP_TIMEOUT */
      5	 100759 		    ) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1911
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	 100760                     failftprecv2(threadinfo);
      5X 100761 #ifdef NTSIG
      5X 100762                     ckThreadEnd(threadinfo);
      5X 100763 #endif /* NTSIG */
      5	 100764                     return;
      4	 100765                 }
      4	 100766                 if (c < 0 || c == EOF)
       E	                                   ( - 1 )
      4	 100767                   break;
      4X 100768 #ifdef UNIX
      4X 100769 		/* Record format conversion for Unix */
      4X 100770 		/* SKIP THIS FOR WINDOWS! */
      4X 100771                 if (c == '\n')
      4X 100772                   bare_lfs++;
      4X 100773                 while (c == '\r') {
      4X 100774                     bytes++;
      4X 100775                     if ((c = secure_getc(ftprecv.din,0)) != '\n' ||
      4X 100776 			ftprecv.tcrflag) {
      4X 100777                         if (cancelfile) {
      4X 100778                             failftprecv2(threadinfo);
      4X 100779 #ifdef NTSIG
      4X 100780                             ckThreadEnd(threadinfo);
      4X 100781 #endif /* NTSIG */
      4X 100782                             return;
      4X 100783                         }
      4X 100784                         if (c < 0 || c == EOF)
      4X 100785                           goto break2;
      4X 100786                         if (c == '\0') {
      4X 100787                             bytes++;
      4X 100788                             goto contin2;
      4X 100789                         }
      4X 100790                     }
      4X 100791                 }
      4X 100792                 if (c < 0)
      4X 100793                   break;
      4X 100794 #endif /* UNX */
      4	 100795 
      4	 100796                 if (out2screen && !ftprecv.pipename)
      4X 100797 #ifdef printf
      4X 100798                   printf("%c",(char)c);
      4X 100799 #else
      4	 100800                   putchar((char)c);
      4	 100801 #endif /* printf */
      4	 100802                 else
      4	 100803                   if ((d = zmchout(c)) < 0)
       E	                            ( ( * zoutptr ++ = ( char ) ( c ) ) , ( ( ( ++ zoutcnt ) >= zobufsize ) ? zoutdump ( ) :
       E	 0 ) )
      4	 100804                     break;
      4	 100805                 bytes++;
      4	 100806                 ffc++;
      4	 100807               contin2:
      4	 100808                 ;
      3	 100809             }
      3	 100810           break2:
      4	 100811             if (bare_lfs && (!dpyactive || ftp_deb)) {
      4	 100812                 printf("WARNING! %d bare linefeeds received in ASCII mode\n",
      4	 100813                        bare_lfs);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1912
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	 100814                 printf("File might not have transferred correctly.\n");
      3	 100815             }
      4	 100816             if (ftprecv.din == -1) {
      4	 100817                 bytes = (CK_OFF_T)-1;
       E	                          off_t
      3	 100818             }
      3	 100819             if (c == -2)
      3	 100820               bytes = (CK_OFF_T)-1;
       E	                        off_t
      3	 100821             break;
      3	 100822 #ifndef NOCSETS
      2	 100823         }
      2	 100824 #endif /* NOCSETS */
      1	 100825     }
      2	 100826     if (ftprecv.pipename || !out2screen) {
      2	 100827 	zclose(ZOFILE);			/* Close the file */
       E	         3
      2	 100828 	debug(F111,"doftprecv2 zclose ftpcode",ftprecv.local,ftpcode);
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "doftprecv2 zclose ftpcode" , ( char * ) ( ftprecv . local ) , ( off_t ) ( ftp
       E	code ) ) : 0 ) )
      3	 100829 	if (ftpcode < 0) {		/* If download failed */
      3	 100830 	    int x = 0;
      4	 100831 	    switch (keep) {		/* which is... */
      4	 100832 	      case SET_AUTO:		/* AUTO */
       E	             2
      4	 100833 		if (curtype == FTT_ASC) /* Delete file if TYPE A. */
       E	                  0
      4	 100834 		  x = 1;
      4	 100835 		break;
      4	 100836 	      case SET_OFF:		/* DISCARD */
       E	             0
      4	 100837 		x = 1;			/* Delete file, period. */
      4	 100838 		break;
      4	 100839 	      default:			/* KEEP */
      4	 100840 		break;
      3	 100841 	    }
      4	 100842 	    if (x) {
      4	 100843 		x = zdelet(ftprecv.local);
      4	 100844 		debug(F111,"ftp get delete incomplete",ftprecv.local,x);
       E	   ( ( void ) ( deblog ? dodebug ( 7 , "ftp get delete incomplete" , ( char * ) ( ftprecv . local ) , ( off_t ) ( x 
       E	) ) : 0 ) )
      3	 100845 	    }
      2	 100846 	}
      1	 100847     }
      1	 100848     signal(SIGINT, ftprecv.oldintr);
       E	            2
      1	 100849 #ifdef SIGPIPE
      1	 100850     if (ftprecv.oldintp)
      1	 100851       signal(SIGPIPE, ftprecv.oldintp);
       E	              13
      1	 100852 #endif /* SIGPIPE */
      1	 100853     stop = gmstimer();
      1	 100854 #ifdef GFTIMER
      1	 100855     fpfsecs = gftimer();
      1	 100856 #endif /* GFTIMER */
      1	 100857     tfc += ffc;
      1	 100858 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1913
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 100859 #ifdef TCPIPLIB
      1	 100860     socket_close(ftprecv.din);
       E	     close
      1X 100861 #else /* TCPIPLIB */
      1X 100862 #ifdef USE_SHUTDOWN
      1X 100863     shutdown(ftprecv.din, 1+1);
      1X 100864 #endif /* USE_SHUTDOWN */
      1X 100865     close(ftprecv.din);
      1X 100866 #endif /* TCPIPLIB */
      1	 100867     ftprecv.reply = getreply(0,ftprecv.fcs,ftprecv.rcs,ftp_vbm,0);
      1	 100868     ftprecvret = ((ftpcode < 0 || ftprecv.reply == REPLY_TRANSIENT || 
       E	                                                    4
      1	 100869                    ftprecv.reply == REPLY_ERROR) ? -1 : 0);
       E	                                     5
      1X 100870 #ifdef NTSIG
      1X 100871      ckThreadEnd(threadinfo);
      1X 100872 #endif /* NTSIG */
      1	 100873 }
	 100874 
	 100875 static int
	 100876 #ifdef CK_ANSIC
	 100877 recvrequest(
	 100878     char * cmd, 
	 100879     char * local, 
	 100880     char * remote, 
	 100881     char * lmode, 
	 100882     int printnames, 
	 100883     int recover, 
	 100884     char * pipename, 
	 100885     int xlate, 
	 100886     int fcs, 
	 100887     int rcs)
       X 100888 #else
       X 100889 recvrequest(cmd,local,remote,lmode,printnames,recover,pipename,xlate,fcs,rcs)
       X 100890  char *cmd, *local, *remote, *lmode, *pipename; int printnames, recover,
       X 100891  xlate, fcs, rcs;
       X 100892 #endif /* CK_ANSIC */
      1	 100893 {
      1X 100894 #ifdef NT
      1X 100895     struct _stat stbuf;
      1X 100896 #else /* NT */
      1	 100897     struct stat stbuf;
      1	 100898 #endif /* NT */
      1	 100899 
      1	 100900 #ifdef DEBUG
      2	 100901     if (deblog) {
      2	 100902         debug(F111,"ftp recvrequest cmd",cmd,recover);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest cmd" , ( char * ) ( cmd ) , ( off_t ) ( recover ) ) : 
       E	0 ) )
      2	 100903         debug(F110,"ftp recvrequest local ",local,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp recvrequest local " , ( char * ) ( local ) , ( off_t ) ( 0 ) ) : 0
       E	 ) )
      2	 100904         debug(F111,"ftp recvrequest remote",remote,ftp_typ);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest remote" , ( char * ) ( remote ) , ( off_t ) ( ftp_typ 
       E	) ) : 0 ) )
      2	 100905         debug(F110,"ftp recvrequest pipename ",pipename,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp recvrequest pipename " , ( char * ) ( pipename ) , ( off_t ) ( 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1914
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	 ) : 0 ) )
      2	 100906         debug(F101,"ftp recvrequest xlate","",xlate);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest xlate" , ( char * ) ( "" ) , ( off_t ) ( xlate ) ) : 0
       E	 ) )
      2	 100907         debug(F101,"ftp recvrequest fcs","",fcs);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest fcs" , ( char * ) ( "" ) , ( off_t ) ( fcs ) ) : 0 ) )
      2	 100908         debug(F101,"ftp recvrequest rcs","",rcs);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest rcs" , ( char * ) ( "" ) , ( off_t ) ( rcs ) ) : 0 ) )
      1	 100909     }
      1	 100910 #endif /* DEBUG */
      1	 100911 
      1	 100912     ftprecv.localsize = (CK_OFF_T)0;
       E	                          off_t
      1	 100913 
      2	 100914     if (remfile) {                      /* See remcfm(), remtxt() */
      3	 100915         if (rempipe) {
      3	 100916             pipename = remdest;
      3	 100917         } else {
      3	 100918             local = remdest;
      3	 100919             if (remappd) lmode = "ab";
      2	 100920         }
      1	 100921     }
      1	 100922     out2screen = 0;
      1	 100923     if (!cmd) cmd = "";                 /* Core dump prevention */
      1	 100924     if (!remote) remote = "";
      1	 100925     if (!lmode) lmode = "";
      1	 100926 
      2	 100927     if (pipename) {                     /* No recovery for pipes. */
      2	 100928         recover = 0;
      2	 100929         if (!local)
      2	 100930           local = pipename;
      2	 100931     } else {
      2	 100932         if (!local)                     /* Output to screen? */
      2	 100933           local = "-";
      2	 100934         out2screen = !strcmp(local,"-");
      1	 100935     }
      1	 100936     debug(F101,"ftp recvrequest out2screen","",out2screen);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest out2screen" , ( char * ) ( "" ) , ( off_t ) ( out2screen )
       E	 ) : 0 ) )
      1	 100937 
      1X 100938 #ifdef OS2
      1X 100939     if ( ftp_xla && out2screen && !k95stdout && !inserver )
      1X 100940         fcs = FC_UCS2;
      1X 100941 #endif /* OS2 */
      1	 100942 
      1	 100943     if (out2screen)                     /* No recovery to screen */
      1	 100944       recover = 0;
      1	 100945     if (!ftp_typ)                       /* No recovery in text mode */
      1	 100946       recover = 0;
      1	 100947     ftprecv.is_retr = (strcmp(cmd, "RETR") == 0);
      1	 100948 
      1	 100949     if (!ftprecv.is_retr)               /* No recovery except for RETRieve */
      1	 100950       recover = 0;
      1	 100951 
      1X 100952 #ifdef COMMENT
      1X 100953     if (!out2screen && !pipename && ftprecv.is_retr) { /* To real file */
      1X 100954         if (recursive && ckstrchr(local,'/')) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1915
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 100955 	    
      1X 100956         }
      1X 100957     }
      1X 100958 #endif /* COMMENT */
      1	 100959 
      1	 100960     ftprecv.localsize = (CK_OFF_T)0;	/* Local file size */
       E	                          off_t
      1	 100961     rs_len = (CK_OFF_T)0;		/* Recovery point */
       E	               off_t
      1	 100962 
      1	 100963     debug(F101,"ftp recvrequest recover","",recover);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest recover" , ( char * ) ( "" ) , ( off_t ) ( recover ) ) : 0
       E	 ) )
      2	 100964     if (recover) {                      /* Recovering... */
      3	 100965         if (stat(local, &stbuf) < 0) {  /* Can't stat local file */
      3	 100966 	    debug(F101,"ftp recvrequest recover stat failed","",errno);
       E	      ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest recover stat failed" , ( char * ) ( "" ) , ( off_t ) ( ( 
       E	* CMA$TIS_ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      3	 100967             recover = 0;                /* So cancel recovery */
      3	 100968         } else {                        /* Have local file info */
      3	 100969             ftprecv.localsize = stbuf.st_size;  /* Get size */
      3	 100970 	    /* Remote file smaller than local */
      4	 100971             if (fsize < ftprecv.localsize) {
      4	 100972 		debug(F101,"ftp recvrequest recover remote smaller","",fsize);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "ftp recvrequest recover remote smaller" , ( char * ) ( "" ) , ( off_t ) ( fs
       E	ize ) ) : 0 ) )
      4	 100973                 recover = 0;            /* Recovery can't work */
      4	 100974             } else if (fsize == ftprecv.localsize) { /* Sizes are equal */
      4	 100975                 debug(F111,"ftp recvrequest recover equal size",
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest recover equal size" , ( char * ) ( remote ) , 
       E	( off_t ) ( ftprecv . localsize ) ) : 0 ) )
      4	 100976 		      remote,ftprecv.localsize);
      4	 100977                 return(1);
      3	 100978             }
      3X 100979 #ifdef COMMENT
      3	 100980 /*
      3	 100981   The problem here is that the original partial file never got its date
      3	 100982   set, either because FTP DATES was OFF, or because the partial file was
      3	 100983   downloaded by some other program that doesn't set local file dates, or
      3	 100984   because Kermit only sets the file's date when the download was complete
      3	 100985   and successful.  In all these cases, the local file has a later time
      3	 100986   than the remote.
      3X 100987 */
      3X 100988             if (recover) {              /* Remote is bigger */
      3X 100989                 x = chkmodtime(local,remote,0); /* Check file dates */
      3X 100990                 debug(F111,"ftp recvrequest chkmodtime",remote,x);
      3X 100991                 if (x != 1)		/* Dates must be equal! */
      3X 100992                   recover = 0;          /* If not, get whole file */
      3X 100993             }
      3X 100994 #endif /* COMMENT */
      2	 100995         }
      2	 100996         debug(F111,"ftp recvrequest recover",remote,recover);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest recover" , ( char * ) ( remote ) , ( off_t ) ( recover
       E	 ) ) : 0 ) )
      1	 100997     }
      1	 100998 
      1X 100999 #ifdef FTP_PROXY

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1916
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 101000     if (proxy && ftprecv.is_retr)
      1X 101001       return(proxtrans(cmd, local ? local : remote, remote));
      1X 101002 #endif /* FTP_PROXY */
      1	 101003 
      1	 101004     ftprecv.tcrflag = (feol != CK_CR) && ftprecv.is_retr;
       E	                                13
      1	 101005 
      1	 101006     ftprecv.reply = 0;
      1	 101007     ftprecv.fcs = fcs;
      1	 101008     ftprecv.rcs = rcs;
      1	 101009     ftprecv.recover = recover;
      1	 101010     ftprecv.xlate = xlate;
      1	 101011     ftprecv.cmd = cmd;
      1	 101012     ftprecv.local = local;
      1	 101013     ftprecv.remote = remote;
      1	 101014     ftprecv.lmode = lmode;
      1	 101015     ftprecv.pipename = pipename;
      1	 101016     ftprecv.oldintp = NULL;
       E	                       ( ( void * ) 0 )
      1	 101017     ftpcode = 0;
      1	 101018 
      1	 101019     havesigint = 0;
      1	 101020     ftprecv.oldintr = signal(SIGINT, cancelrecv);
       E	                              2
      1	 101021     if (cc_execute(ckjaddr(recvcancel), doftprecv, failftprecv) < 0)
       E	                    recvcancel
      1	 101022       return -1;
      1	 101023 
      1	 101024 #ifdef FTP_TIMEOUT
      1	 101025     debug(F111,"ftp recvrequest ftprecvret",remote,ftprecvret);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest ftprecvret" , ( char * ) ( remote ) , ( off_t ) ( ftprecvr
       E	et ) ) : 0 ) )
      1	 101026     debug(F111,"ftp recvrequest ftp_timed_out",remote,ftp_timed_out);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp recvrequest ftp_timed_out" , ( char * ) ( remote ) , ( off_t ) ( ftp_t
       E	imed_out ) ) : 0 ) )
      1	 101027     if (ftp_timed_out)
      1	 101028       ftprecvret = -1;
      1	 101029 #endif	/* FTP_TIMEOUT */
      1	 101030 
      1	 101031     if (ftprecvret < 0)
      1	 101032       return -1;
      1	 101033 
      1	 101034     if (cc_execute(ckjaddr(recvcancel), doftprecv2, failftprecv2) < 0)
       E	                    recvcancel
      1	 101035       return -1;
      1	 101036     return ftprecvret;
      1	 101037 }
	 101038 
	 101039 /*
	 101040  * Need to start a listen on the data channel before we send the command,
	 101041  * otherwise the server's connect may fail.
	 101042  */
	 101043 static int
      1	 101044 initconn() {
      1	 101045     register char *p, *a;
      1	 101046     int result, tmpno = 0;
      1	 101047     int on = 1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1917
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 101048     GSOCKNAME_T len;
       E	     size_t
      1	 101049 
      1	 101050 #ifndef NO_PASSIVE_MODE
      1	 101051     int a1,a2,a3,a4,p1,p2;
      1	 101052 
      2	 101053     if (passivemode) {
      2	 101054         data = socket(AF_INET, SOCK_STREAM, 0);
       E	                       2
       E	                                1
      2	 101055         globaldin = data;
      3	 101056         if (data < 0) {
      3	 101057             perror("ftp: socket");
      3	 101058             return(-1);
      2	 101059         }
      3	 101060         if (ftpcmd("PASV",NULL,0,0,ftp_vbm) != REPLY_COMPLETE) {
       E	                           ( ( void * ) 0 )
       E	                                                2
      3	 101061             printf("Passive mode refused\n");
      3	 101062             passivemode = 0;
      3	 101063             return(initconn());
      2	 101064         }
      2	 101065 /*
      2	 101066   Now we have a string of comma-separated one-byte unsigned integer values,
      2	 101067   The first four are the an IP address.  The fifth is the MSB of the port
      2	 101068   number, the sixth is the LSB.  From that we can make a sockaddr_in.
      2	 101069 */
      3	 101070         if (sscanf(pasv,"%d,%d,%d,%d,%d,%d",&a1,&a2,&a3,&a4,&p1,&p2) != 6) {
      3	 101071             printf("Passive mode address scan failure\n");
      3	 101072             return(-1);
      2	 101073         };
      2X 101074 #ifndef NOHTTP
      2X 101075         if (tcp_http_proxy) {
      2X 101076 #ifdef OS2
      2X 101077             char * agent = "Kermit 95"; /* Default user agent */
      2X 101078 #else
      2X 101079             char * agent = "C-Kermit";
      2X 101080 #endif /* OS2 */
      2X 101081             register struct hostent *hp = 0;
      2X 101082             struct servent *destsp;
      2X 101083             char host[512], *p, *q;
      2X 101084 #ifdef IP_TOS
      2X 101085 #ifdef IPTOS_THROUGHPUT
      2X 101086             int tos;
      2X 101087 #endif /* IPTOS_THROUGHPUT */
      2X 101088 #endif /* IP_TOS */
      2X 101089             int s;
      2X 101090 #ifdef DEBUG
      2X 101091             extern int debtim;
      2X 101092             int xdebtim;
      2X 101093             xdebtim = debtim;
      2X 101094             debtim = 1;
      2X 101095 #endif /* DEBUG */
      2X 101096 
      2X 101097             ckmakxmsg(proxyhost,HTTPCPYL,ckuitoa(a1),".",ckuitoa(a2),
      2X 101098                       ".",ckuitoa(a3),".",ckuitoa(a4),":",ckuitoa((p1<<8)|p2),
      2X 101099                       NULL,NULL,NULL

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1918
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 101100                       );
      2X 101101             memset((char *)&hisctladdr, 0, sizeof (hisctladdr));
      2X 101102             for (p = tcp_http_proxy, q=host; *p != '\0' && *p != ':'; p++, q++)
      2X 101103               *q = *p;
      2X 101104             *q = '\0';
      2X 101105 
      2X 101106             hisctladdr.sin_addr.s_addr = inet_addr(host);
      2X 101107             if (hisctladdr.sin_addr.s_addr != INADDR_NONE) /* 2010-03-29 */
      2X 101108 	    {
      2X 101109                 debug(F110,"initconn A",host,0);
      2X 101110                 hisctladdr.sin_family = AF_INET;
      2X 101111             } else {
      2X 101112                 debug(F110,"initconn B",host,0);
      2X 101113                 hp = gethostbyname(host);
      2X 101114 #ifdef HADDRLIST
      2X 101115                 hp = ck_copyhostent(hp); /* make safe copy that won't change */
      2X 101116 #endif /* HADDRLIST */
      2X 101117                 if (hp == NULL) {
      2X 101118                     fprintf(stderr, "ftp: %s: Unknown host\n", host);
      2X 101119                     ftpcode = -1;
      2X 101120 #ifdef DEBUG
      2X 101121                     debtim = xdebtim;
      2X 101122 #endif /* DEBUG */
      2X 101123                     return(0);
      2X 101124                 }
      2X 101125                 hisctladdr.sin_family = hp->h_addrtype;
      2X 101126 #ifdef HADDRLIST
      2X 101127                 memcpy((char *)&hisctladdr.sin_addr, hp->h_addr_list[0],
      2X 101128                        sizeof(hisctladdr.sin_addr));
      2X 101129 #else /* HADDRLIST */
      2X 101130                 memcpy((char *)&hisctladdr.sin_addr, hp->h_addr,
      2X 101131                        sizeof(hisctladdr.sin_addr));
      2X 101132 #endif /* HADDRLIST */
      2X 101133             }
      2X 101134             data = socket(hisctladdr.sin_family, SOCK_STREAM, 0);
      2X 101135             debug(F101,"initconn socket","",data);
      2X 101136             if (data < 0) {
      2X 101137                 perror("ftp: socket");
      2X 101138                 ftpcode = -1;
      2X 101139 #ifdef DEBUG
      2X 101140                 debtim = xdebtim;
      2X 101141 #endif /* DEBUG */
      2X 101142                 return(0);
      2X 101143             }
      2X 101144             if (*p == ':')
      2X 101145               p++;
      2X 101146             else
      2X 101147               p = "http";
      2X 101148 
      2X 101149             destsp = getservbyname(p,"tcp");
      2X 101150             if (destsp)
      2X 101151               hisctladdr.sin_port = destsp->s_port;
      2X 101152             else if (p)
      2X 101153               hisctladdr.sin_port = htons(atoi(p));
      2X 101154             else
      2X 101155               hisctladdr.sin_port = htons(80);
      2X 101156             errno = 0;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1919
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 101157 #ifdef HADDRLIST
      2X 101158             debug(F100,"initconn HADDRLIST","",0);
      2X 101159             while
      2X 101160 #else
      2X 101161             debug(F100,"initconn no HADDRLIST","",0);
      2X 101162             if
      2X 101163 #endif /* HADDRLIST */
      2X 101164               (connect(data, (struct sockaddr *)&hisctladdr,
      2X 101165                        sizeof (hisctladdr)) < 0) {
      2X 101166                   debug(F101,"initconn connect failed","",errno);
      2X 101167 #ifdef HADDRLIST
      2X 101168                   if (hp && hp->h_addr_list[1]) {
      2X 101169                       int oerrno = errno;
      2X 101170 
      2X 101171                       fprintf(stderr,
      2X 101172                               "ftp: connect to address %s: ",
      2X 101173                               inet_ntoa(hisctladdr.sin_addr)
      2X 101174                               );
      2X 101175                       errno = oerrno;
      2X 101176                       perror("ftphookup");
      2X 101177                       hp->h_addr_list++;
      2X 101178                       memcpy((char *)&hisctladdr.sin_addr,
      2X 101179                              hp->h_addr_list[0],
      2X 101180                              sizeof(hisctladdr.sin_addr));
      2X 101181                       fprintf(stdout, "Trying %s...\n",
      2X 101182                               inet_ntoa(hisctladdr.sin_addr));
      2X 101183 #ifdef TCPIPLIB
      2X 101184                       socket_close(data);
      2X 101185 #else /* TCPIPLIB */
      2X 101186                       close(data);
      2X 101187 #endif /* TCPIPLIB */
      2X 101188                       data = socket(hisctladdr.sin_family, SOCK_STREAM, 0);
      2X 101189                       if (data < 0) {
      2X 101190                           perror("ftp: socket");
      2X 101191                           ftpcode = -1;
      2X 101192 #ifdef DEBUG
      2X 101193                           debtim = xdebtim;
      2X 101194 #endif /* DEBUG */
      2X 101195                           return(0);
      2X 101196                       }
      2X 101197                       continue;
      2X 101198                   }
      2X 101199 #endif /* HADDRLIST */
      2X 101200                   perror("ftp: connect");
      2X 101201                   ftpcode = -1;
      2X 101202                   goto bad;
      2X 101203               }
      2X 101204             if (http_connect(data,
      2X 101205                              tcp_http_proxy_agent ?
      2X 101206 			       tcp_http_proxy_agent :
      2X 101207 			         agent,
      2X 101208 			     NULL,
      2X 101209                              tcp_http_proxy_user,
      2X 101210                              tcp_http_proxy_pwd,
      2X 101211                              0,
      2X 101212                              proxyhost
      2X 101213                              ) < 0) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1920
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 101214 #ifdef TCPIPLIB
      2X 101215                 socket_close(data);
      2X 101216 #else /* TCPIPLIB */
      2X 101217                 close(data);
      2X 101218 #endif /* TCPIPLIB */
      2X 101219                 perror("ftp: connect");
      2X 101220                 ftpcode = -1;
      2X 101221                 goto bad;
      2X 101222             }
      2X 101223         } else
      2X 101224 #endif /* NOHTTP */
      3	 101225         {
      3	 101226             data_addr.sin_family = AF_INET;
       E	                                    2
      3	 101227             data_addr.sin_addr.s_addr = htonl((a1<<24)|(a2<<16)|(a3<<8)|a4);
       E	                                S_un . S_addr
      3	 101228             data_addr.sin_port = htons((p1<<8)|p2);
      3	 101229 
      3	 101230             if (connect(data,
      3	 101231                         (struct sockaddr *)&data_addr,
      3	 101232                         sizeof(data_addr)) < 0
      4	 101233                 ) {
      4	 101234                 perror("ftp: connect");
      4	 101235                 return(-1);
      3	 101236             }
      2	 101237         }
      2	 101238         debug(F100,"initconn connect ok","",0);
       E	         ( ( void ) ( deblog ? dodebug ( 4 , "initconn connect ok" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 101239 #ifdef IP_TOS
      2X 101240 #ifdef IPTOS_THROUGHPUT
      2X 101241         on = IPTOS_THROUGHPUT;
      2X 101242         if (setsockopt(data, IPPROTO_IP, IP_TOS, (char *)&on, sizeof(int)) < 0)
      2X 101243           perror("ftp: setsockopt TOS (ignored)");
      2X 101244 #endif /* IPTOS_THROUGHPUT */
      2	 101245 #endif /* IP_TOS */
      2	 101246         memcpy(&hisdataaddr,&data_addr,sizeof(struct sockaddr_in));
       E	         __MEMCPY ( & hisdataaddr , & data_addr , sizeof ( struct sockaddr_in ) )
      2	 101247         return(0);
      1	 101248     }
      1	 101249 #endif /* NO_PASSIVE_MODE */
      1	 101250 
      1	 101251   noport:
      1	 101252     memcpy(&data_addr,&myctladdr,sizeof(struct sockaddr_in));
       E	     __MEMCPY ( & data_addr , & myctladdr , sizeof ( struct sockaddr_in ) )
      1	 101253     if (sendport)
      1	 101254       data_addr.sin_port = 0;   /* let system pick one */
      2	 101255     if (data != -1) {
      2	 101256 #ifdef TCPIPLIB
      2	 101257         socket_close(data);
       E	         close
      2X 101258 #else /* TCPIPLIB */
      2X 101259 #ifdef USE_SHUTDOWN
      2X 101260         shutdown(data, 1+1);
      2X 101261 #endif /* USE_SHUTDOWN */
      2X 101262         close(data);
      2X 101263 #endif /* TCPIPLIB */
      1	 101264     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1921
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 101265     data = socket(AF_INET, SOCK_STREAM, 0);
       E	                   2
       E	                            1
      1	 101266     globaldin = data;
      2	 101267     if (data < 0) {
      2	 101268         perror("ftp: socket");
      2	 101269         if (tmpno)
      2	 101270           sendport = 1;
      2	 101271         return(-1);
      1	 101272     }
      2	 101273     if (!sendport) {
      2	 101274         if (setsockopt(data,
      2	 101275                        SOL_SOCKET,
       E	                        0xffff
      2	 101276                        SO_REUSEADDR,
       E	                        0x0004
      2	 101277                        (char *)&on,
      2	 101278                        sizeof (on)
      2	 101279                        ) < 0
      3	 101280             ) {
      3	 101281             perror("ftp: setsockopt (reuse address)");
      3	 101282             goto bad;
      2	 101283         }
      1	 101284     }
      2	 101285     if (bind(data, (struct sockaddr *)&data_addr, sizeof (data_addr)) < 0) {
      2	 101286         perror("ftp: bind");
      2	 101287         goto bad;
      1	 101288     }
      1	 101289     len = sizeof (data_addr);
      2	 101290     if (getsockname(data, (struct sockaddr *)&data_addr, &len) < 0) {
      2	 101291         perror("ftp: getsockname");
      2	 101292         goto bad;
      1	 101293     }
      2	 101294     if (listen(data, 1) < 0) {
      2	 101295         perror("ftp: listen");
      2	 101296         goto bad;
      1	 101297     }
      2	 101298     if (sendport) {
      2	 101299         a = (char *)&data_addr.sin_addr;
      2	 101300         p = (char *)&data_addr.sin_port;
      2	 101301         ckmakxmsg(ftpcmdbuf,FTP_BUFSIZ,"PORT ",
       E	                             10240
      2	 101302                   UC(a[0]),",",UC(a[1]),",", UC(a[2]),",", UC(a[3]),",",
       E	                   ckitoa ( ( ( int ) a [ 0 ] ) & 0xff )
       E	                                ckitoa ( ( ( int ) a [ 1 ] ) & 0xff )
       E	                                              ckitoa ( ( ( int ) a [ 2 ] ) & 0xff )
       E	                                                            ckitoa ( ( ( int ) a [ 3 ] ) & 0xff )
      2	 101303                   UC(p[0]),",", UC(p[1]));
       E	                   ckitoa ( ( ( int ) p [ 0 ] ) & 0xff )
       E	                                 ckitoa ( ( ( int ) p [ 1 ] ) & 0xff )
      2	 101304         result = ftpcmd(ftpcmdbuf,NULL,0,0,ftp_vbm);
       E	                                   ( ( void * ) 0 )
      3	 101305         if (result == REPLY_ERROR && sendport) {
       E	                       5
      3	 101306             sendport = 0;
      3	 101307             tmpno = 1;
      3	 101308             goto noport;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1922
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 101309         }
      2	 101310         return(result != REPLY_COMPLETE);
       E	                          2
      1	 101311     }
      1	 101312     if (tmpno)
      1	 101313       sendport = 1;
      1	 101314 #ifdef IP_TOS
      1X 101315 #ifdef IPTOS_THROUGHPUT
      1X 101316     on = IPTOS_THROUGHPUT;
      1X 101317     if (setsockopt(data, IPPROTO_IP, IP_TOS, (char *)&on, sizeof(int)) < 0)
      1X 101318       perror("ftp: setsockopt TOS (ignored)");
      1X 101319 #endif
      1	 101320 #endif
      1	 101321     return(0);
      1	 101322   bad:
      1	 101323 #ifdef TCPIPLIB
      1	 101324     socket_close(data);
       E	     close
      1X 101325 #else /* TCPIPLIB */
      1X 101326 #ifdef USE_SHUTDOWN
      1X 101327     shutdown(data, 1+1);
      1X 101328 #endif /* USE_SHUTDOWN */
      1X 101329     close(data);
      1X 101330 #endif /* TCPIPLIB */
      1	 101331     data = -1;
      1	 101332     globaldin = data;
      1	 101333     if (tmpno)
      1	 101334       sendport = 1;
      1	 101335     return(-1);
      1	 101336 }
	 101337 
	 101338 #ifdef CK_SSL
	 101339 static int
      1	 101340 ssl_dataconn() {
      2	 101341     if (ssl_ftp_data_con!=NULL) {       /* Do SSL */
       E	                           ( ( void * ) 0 )
      2	 101342         SSL_free(ssl_ftp_data_con);
      2	 101343         ssl_ftp_data_con=NULL;
       E	                          ( ( void * ) 0 )
      1	 101344     }
      1	 101345     ssl_ftp_data_con=(SSL *)SSL_new(ssl_ftp_ctx);
      1	 101346 
      1	 101347     SSL_set_fd(ssl_ftp_data_con,data);
      1	 101348     SSL_set_verify(ssl_ftp_data_con,ssl_verify_flag,NULL);
       E	                                                     ( ( void * ) 0 )
      1	 101349 
      1	 101350     SSL_copy_session_id(ssl_ftp_data_con,ssl_ftp_con);
      1	 101351 
      2	 101352     if (ssl_debug_flag) {
      2	 101353         fprintf(stderr,"=>START SSL connect on DATA\n");
       E	                 ( decc$ga_stderr )
      2	 101354         fflush(stderr);
       E	                ( decc$ga_stderr )
      1	 101355     }
      2	 101356     if (SSL_connect(ssl_ftp_data_con) <= 0) {
      2	 101357         static char errbuf[1024];
      2	 101358         ckmakmsg(errbuf,1024,"ftp: SSL_connect DATA error: ",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1923
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 101359                   ERR_error_string(ERR_get_error(),NULL),NULL,NULL);
       E	                                                    ( ( void * ) 0 )
       E	                                                          ( ( void * ) 0 )
       E	                                                               ( ( void * ) 0 )
      2	 101360         fprintf(stderr,"%s\n", errbuf);
       E	                 ( decc$ga_stderr )
      2	 101361         fflush(stderr);
       E	                ( decc$ga_stderr )
      2	 101362 #ifdef TCPIPLIB
      2	 101363         socket_close(data);
       E	         close
      2X 101364 #else /* TCPIPLIB */
      2X 101365 #ifdef USE_SHUTDOWN
      2X 101366         shutdown(data, 1+1);
      2X 101367 #endif /* USE_SHUTDOWN */
      2X 101368         close(data);
      2X 101369 #endif /* TCPIPLIB */
      2	 101370         data = -1;
      2	 101371         globaldin = data;
      2	 101372         return(-1);
      2	 101373     } else {
      2	 101374         ssl_ftp_data_active_flag=1;
      2	 101375 
      2	 101376         if (!ssl_certsok_flag &&
      2	 101377 	    (ssl_verify_flag & SSL_VERIFY_PEER) && /* JEA 2013-12-10 */
       E	                         0x01
      3	 101378 	    !tls_is_krb5(2)) {
      3	 101379             char *subject = ssl_get_subject_name(ssl_ftp_data_con);
      3	 101380 
      4	 101381             if (!subject) {
      5	 101382                 if (ssl_verify_flag & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) {
       E	                                       0x02
      5	 101383                     debug(F110,"dataconn","[SSL _- FAILED]",0);
       E	                     ( ( void ) ( deblog ? dodebug ( 6 , "dataconn" , ( char * ) ( "[SSL _- FAILED]" ) , ( off_t ) (
       E	 0 ) ) : 0 ) )
      5	 101384 
      5	 101385                     ssl_ftp_data_active_flag = 0;
      5	 101386 #ifdef TCPIPLIB
      5	 101387                     socket_close(data);
       E	                     close
      5X 101388 #else /* TCPIPLIB */
      5X 101389 #ifdef USE_SHUTDOWN
      5X 101390                     shutdown(data, 1+1);
      5X 101391 #endif /* USE_SHUTDOWN */
      5X 101392                     close(data);
      5X 101393 #endif /* TCPIPLIB */
      5	 101394                     data = -1;
      5	 101395                     globaldin = data;
      5	 101396                     return(-1);
      5	 101397                 } else {
      6	 101398                     if (!out2screen && displa && fdispla) {
      6	 101399                         ftscreen(SCR_TC,0,(CK_OFF_T)0,"Display canceled");
       E	                                  8
       E	                                            off_t
      6	 101400                         /* fdispla = XYFD_B; */
      5	 101401                     }
      5	 101402 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1924
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	 101403                     if (uq_ok(
      5	 101404           "Warning: Server didn't provide a certificate on data connection\n",
      5	 101405                                "Continue with file transfer? (Y/N)",
      6	 101406                               3,NULL,0) <= 0) {
       E	                                 ( ( void * ) 0 )
      6	 101407                         debug(F110, "dataconn","[SSL - FAILED]",0);
       E	                         ( ( void ) ( deblog ? dodebug ( 6 , "dataconn" , ( char * ) ( "[SSL - FAILED]" ) , ( off_t 
       E	) ( 0 ) ) : 0 ) )
      6	 101408                         ssl_ftp_data_active_flag = 0;
      6	 101409 #ifdef TCPIPLIB
      6	 101410                         socket_close(data);
       E	                         close
      6X 101411 #else /* TCPIPLIB */
      6X 101412 #ifdef USE_SHUTDOWN
      6X 101413                         shutdown(data, 1+1);
      6X 101414 #endif /* USE_SHUTDOWN */
      6X 101415                         close(data);
      6X 101416 #endif /* TCPIPLIB */
      6	 101417                         data = -1;
      6	 101418                         globaldin = data;
      6	 101419                         return(-1);
      5	 101420                     }
      4	 101421                 }
      4	 101422             } else {
      5	 101423                 if (!out2screen && displa && fdispla == XYFD_C) {
       E	                                                         2
      5	 101424                     ftscreen(SCR_TC,0,(CK_OFF_T)0,"Display canceled");
       E	                              8
       E	                                        off_t
      5	 101425                     /* fdispla = XYFD_B; */
      4	 101426                 }
      4	 101427 
      5	 101428                 if (ssl_check_server_name(ssl_ftp_data_con,ftp_user_host)) {
      5	 101429                     debug(F110,"dataconn","[SSL - FAILED]",0);
       E	                     ( ( void ) ( deblog ? dodebug ( 6 , "dataconn" , ( char * ) ( "[SSL - FAILED]" ) , ( off_t ) ( 
       E	0 ) ) : 0 ) )
      5	 101430                     ssl_ftp_data_active_flag = 0;
      5	 101431 #ifdef TCPIPLIB
      5	 101432                     socket_close(data);
       E	                     close
      5X 101433 #else /* TCPIPLIB */
      5X 101434 #ifdef USE_SHUTDOWN
      5X 101435                     shutdown(data, 1+1);
      5X 101436 #endif /* USE_SHUTDOWN */
      5X 101437                     close(data);
      5X 101438 #endif /* TCPIPLIB */
      5	 101439                     data = -1;
      5	 101440                     globaldin = data;
      5	 101441                     return(-1);
      4	 101442                 }
      3	 101443             }
      2	 101444         }
      2	 101445         debug(F110,"dataconn","[SSL - OK]",0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "dataconn" , ( char * ) ( "[SSL - OK]" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2X 101446 #ifdef COMMENT
      2X 101447         /* This messes up the full screen file transfer display */
      2X 101448         ssl_display_connect_details(ssl_ftp_con,0,ssl_verbose_flag);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1925
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 101449 #endif /* COMMENT */
      1	 101450     }
      2	 101451     if (ssl_debug_flag) {
      2	 101452         fprintf(stderr,"=>DONE SSL connect on DATA\n");
       E	                 ( decc$ga_stderr )
      2	 101453         fflush(stderr);
       E	                ( decc$ga_stderr )
      1	 101454     }
      1	 101455     return(data);
      1	 101456 }
	 101457 #endif /* CK_SSL */
	 101458 
	 101459 static int
	 101460 #ifdef CK_ANSIC
	 101461 dataconn( char *lmode )
       X 101462 #else
       X 101463 dataconn(lmode) char *lmode;
       X 101464 #endif /* CK_ANSIC */
      1	 101465 {
      1	 101466     int s;
      1	 101467 #ifdef IP_TOS
      1	 101468     int tos;
      1	 101469 #endif /* IP_TOS */
      1	 101470 #ifdef UCX50
      1	 101471     static u_int fromlen;
      1X 101472 #else
      1X 101473     static SOCKOPT_T fromlen;
      1X 101474 #endif /* UCX50 */
      1	 101475 
      1	 101476     fromlen = sizeof(hisdataaddr);
      1	 101477 
      1	 101478 #ifndef NO_PASSIVE_MODE
      2	 101479     if (passivemode) {
      2	 101480 #ifdef CK_SSL
      2	 101481         ssl_ftp_data_active_flag=0;
      2	 101482         if (ssl_ftp_active_flag &&
      2	 101483             (ssl_ftp_proxy || ftp_dpl == FPL_PRV))
       E	                                          3
      2	 101484           return(ssl_dataconn());
      2	 101485 #endif /* CK_SSL */
      2	 101486         return(data);
      1	 101487     }
      1	 101488 #endif /* NO_PASSIVE_MODE */
      1	 101489 
      1	 101490     s = accept(data, (struct sockaddr *) &hisdataaddr, &fromlen);
      2	 101491     if (s < 0) {
      2	 101492         perror("ftp: accept");
      2	 101493 #ifdef TCPIPLIB
      2	 101494         socket_close(data);
       E	         close
      2X 101495 #else /* TCPIPLIB */
      2X 101496 #ifdef USE_SHUTDOWN
      2X 101497         shutdown(data, 1+1);
      2X 101498 #endif /* USE_SHUTDOWN */
      2X 101499         close(data);
      2X 101500 #endif /* TCPIPLIB */
      2	 101501         data = -1;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1926
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 101502         globaldin = data;
      2	 101503         return(-1);
      1	 101504     }
      1	 101505 #ifdef TCPIPLIB
      1	 101506     socket_close(data);
       E	     close
      1X 101507 #else /* TCPIPLIB */
      1X 101508 #ifdef USE_SHUTDOWN
      1X 101509     shutdown(data, 1+1);
      1X 101510 #endif /* USE_SHUTDOWN */
      1X 101511     close(data);
      1X 101512 #endif /* TCPIPLIB */
      1	 101513     data = s;
      1	 101514     globaldin = data;
      1	 101515 #ifdef IP_TOS
      1X 101516 #ifdef IPTOS_THROUGHPUT
      1X 101517     tos = IPTOS_THROUGHPUT;
      1X 101518     if (setsockopt(data, IPPROTO_IP, IP_TOS, (char *)&tos, sizeof(int)) < 0)
      1X 101519       perror("ftp: setsockopt TOS (ignored)");
      1X 101520 #endif /* IPTOS_THROUGHPUT */
      1	 101521 #endif /* IP_TOS */
      1	 101522 
      1	 101523 #ifdef CK_SSL
      1	 101524     ssl_ftp_data_active_flag=0;
      1	 101525     if (ssl_ftp_active_flag &&
      1	 101526         (ssl_ftp_proxy || ftp_dpl == FPL_PRV))
       E	                                      3
      1	 101527       return(ssl_dataconn());
      1	 101528 #endif /* CK_SSL */
      1	 101529     return(data);
      1	 101530 }
	 101531 
       X 101532 #ifdef FTP_PROXY
       X 101533 static sigtype
       X 101534 pscancel(sig) int sig; {
       X 101535     cancelfile++;
       X 101536 }
       X 101537 
       X 101538 static VOID
       X 101539 pswitch(flag) int flag; {
       X 101540     extern int proxy;
       X 101541     static struct comvars {
       X 101542         int connect;
       X 101543         char name[MAXHOSTNAMELEN];
       X 101544         struct sockaddr_in mctl;
       X 101545         struct sockaddr_in hctl;
       X 101546         FILE *in;
       X 101547         FILE *out;
       X 101548         int tpe;
       X 101549         int curtpe;
       X 101550         int cpnd;
       X 101551         int sunqe;
       X 101552         int runqe;
       X 101553         int mcse;
       X 101554         int ntflg;
       X 101555         char nti[17];
       X 101556         char nto[17];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1927
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 101557         int mapflg;
       X 101558         char mi[CKMAXPATH];
       X 101559         char mo[CKMAXPATH];
       X 101560         char *authtype;
       X 101561         int clvl;
       X 101562         int dlvl;
       X 101563 #ifdef FTP_KRB4
       X 101564         des_cblock session;
       X 101565         des_key_schedule ftp_sched;
       X 101566 #endif /* FTP_KRB4 */
       X 101567 #ifdef FTP_GSSAPI
       X 101568         gss_ctx_id_t gcontext;
       X 101569 #endif /* GSSAPI */
       X 101570     } proxstruct, tmpstruct;
       X 101571     struct comvars *ip, *op;
       X 101572 
       X 101573     cancelfile = 0;
       X 101574     oldintr = signal(SIGINT, pscancel);
       X 101575     if (flag) {
       X 101576         if (proxy)
       X 101577           return;
       X 101578         ip = &tmpstruct;
       X 101579         op = &proxstruct;
       X 101580         proxy++;
       X 101581     } else {
       X 101582         if (!proxy)
       X 101583           return;
       X 101584         ip = &proxstruct;
       X 101585         op = &tmpstruct;
       X 101586         proxy = 0;
       X 101587     }
       X 101588     ip->connect = connected;
       X 101589     connected = op->connect;
       X 101590     if (ftp_host) {
       X 101591         strncpy(ip->name, ftp_host, MAXHOSTNAMELEN - 1);
       X 101592         ip->name[MAXHOSTNAMELEN - 1] = '\0';
       X 101593         ip->name[strlen(ip->name)] = '\0';
       X 101594     } else
       X 101595       ip->name[0] = 0;
       X 101596     ftp_host = op->name;
       X 101597     ip->hctl = hisctladdr;
       X 101598     hisctladdr = op->hctl;
       X 101599     ip->mctl = myctladdr;
       X 101600     myctladdr = op->mctl;
       X 101601     ip->in = csocket;
       X 101602     csocket = op->in;
       X 101603     ip->out = csocket;
       X 101604     csocket = op->out;
       X 101605     ip->tpe = ftp_typ;
       X 101606     ftp_typ = op->tpe;
       X 101607     ip->curtpe = curtype;
       X 101608     curtype = op->curtpe;
       X 101609     ip->cpnd = cpend;
       X 101610     cpend = op->cpnd;
       X 101611     ip->sunqe = ftp_usn;
       X 101612     ftp_usn = op->sunqe;
       X 101613     ip->mcse = mcase;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1928
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 101614     mcase = op->mcse;
       X 101615     ip->ntflg = ntflag;
       X 101616     ntflag = op->ntflg;
       X 101617     strncpy(ip->nti, ntin, 16);
       X 101618     (ip->nti)[strlen(ip->nti)] = '\0';
       X 101619     strcpy(ntin, op->nti);
       X 101620     strncpy(ip->nto, ntout, 16);
       X 101621     (ip->nto)[strlen(ip->nto)] = '\0';
       X 101622     strcpy(ntout, op->nto);
       X 101623     ip->mapflg = mapflag;
       X 101624     mapflag = op->mapflg;
       X 101625     strncpy(ip->mi, mapin, CKMAXPATH - 1);
       X 101626     (ip->mi)[strlen(ip->mi)] = '\0';
       X 101627     strcpy(mapin, op->mi);
       X 101628     strncpy(ip->mo, mapout, CKMAXPATH - 1);
       X 101629     (ip->mo)[strlen(ip->mo)] = '\0';
       X 101630     strcpy(mapout, op->mo);
       X 101631     ip->authtype = auth_type;
       X 101632     auth_type = op->authtype;
       X 101633     ip->clvl = ftp_cpl;
       X 101634     ftp_cpl = op->clvl;
       X 101635     ip->dlvl = ftp_dpl;
       X 101636     ftp_dpl = op->dlvl;
       X 101637     if (!ftp_cpl)
       X 101638       ftp_cpl = FPL_CLR;
       X 101639     if (!ftp_dpl)
       X 101640       ftp_dpl = FPL_CLR;
       X 101641 #ifdef FTP_KRB4
       X 101642     memcpy(ip->session, ftp_cred.session, sizeof(ftp_cred.session));
       X 101643     memcpy(ftp_cred.session, op->session, sizeof(ftp_cred.session));
       X 101644     memcpy(ip->schedule, ftp_sched, sizeof(ftp_sched));
       X 101645     memcpy(ftp_sched, op->schedule, sizeof(ftp_sched));
       X 101646 #endif /* FTP_KRB4 */
       X 101647 #ifdef FTP_GSSAPI
       X 101648     ip->gcontext = gcontext;
       X 101649     gcontext = op->gcontext;
       X 101650 #endif /* GSSAPI */
       X 101651     signal(SIGINT, oldintr);
       X 101652     if (cancelfile) {
       X 101653         cancelfile = 0;
       X 101654         debug(F101,"pswitch cancelfile B","",cancelfile);
       X 101655         (*oldintr)(SIGINT);
       X 101656     }
       X 101657 }
       X 101658 
       X 101659 static sigtype
       X 101660 #ifdef CK_ANSIC
       X 101661 cancelpt( int sig )
       X 101662 #else
       X 101663 cancelpt(sig) int sig;
       X 101664 #endif /* CK_ANSIC */
       X 101665 {
       X 101666     printf("\n");
       X 101667     fflush(stdout);
       X 101668     ptabflg++;
       X 101669     cancelfile = 0;
       X 101670 #ifndef OS2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1929
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 101671     longjmp(ptcancel, 1);
       X 101672 #else
       X 101673     PostCtrlCSem();
       X 101674 #endif /* OS2 */
       X 101675 }
       X 101676 
       X 101677 void
       X 101678 proxtrans(cmd, local, remote, unique) char *cmd, *local, *remote; int unique; {
       X 101679     int secndflag = 0, prox_type, nfnd;
       X 101680     char *cmd2;
       X 101681 #ifdef BSDSELECT
       X 101682     fd_set mask;
       X 101683 #endif /* BSDSELECT */
       X 101684     sigtype cancelpt();
       X 101685 
       X 101686     if (strcmp(cmd, "RETR"))
       X 101687       cmd2 = "RETR";
       X 101688     else
       X 101689       cmd2 = unique ? "STOU" : "STOR";
       X 101690     if ((prox_type = type) == 0) {
       X 101691         if (servertype == SYS_UNIX && unix_proxy)
       X 101692           prox_type = FTT_BIN;
       X 101693         else
       X 101694           prox_type = FTT_ASC;
       X 101695     }
       X 101696     if (curtype != prox_type)
       X 101697       changetype(prox_type, 1);
       X 101698     if (ftpcmd("PASV",NULL,0,0,ftp_vbm) != REPLY_COMPLETE) {
       X 101699         printf("Proxy server does not support third party transfers.\n");
       X 101700         return;
       X 101701     }
       X 101702     pswitch(0);
       X 101703     if (!connected) {
       X 101704         printf("No primary connection\n");
       X 101705         pswitch(1);
       X 101706         ftpcode = -1;
       X 101707         return;
       X 101708     }
       X 101709     if (curtype != prox_type)
       X 101710       changetype(prox_type, 1);
       X 101711 
       X 101712     if (ftpcmd("PORT",pasv,-1,-1,ftp_vbm) != REPLY_COMPLETE) {
       X 101713         pswitch(1);
       X 101714         return;
       X 101715     }
       X 101716 
       X 101717     /* Replace with calls to cc_execute() */
       X 101718     if (setjmp(ptcancel))
       X 101719       goto cancel;
       X 101720     oldintr = signal(SIGINT, cancelpt);
       X 101721     if (ftpcmd(cmd,remote,-1,-1,ftp_vbm) != PRELIM) {
       X 101722         signal(SIGINT, oldintr);
       X 101723         pswitch(1);
       X 101724         return;
       X 101725     }
       X 101726     sleep(2000);
       X 101727     pswitch(1);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1930
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 101728     secndflag++;
       X 101729     if (ftpcmd(cmd2,local,-1,-1,ftp_vbm) != PRELIM)
       X 101730       goto cancel;
       X 101731     ptflag++;
       X 101732     getreply(0,-1,-1,ftp_vbm,0);
       X 101733     pswitch(0);
       X 101734     getreply(0,-1,-1,ftp_vbm,0);
       X 101735     signal(SIGINT, oldintr);
       X 101736     pswitch(1);
       X 101737     ptflag = 0;
       X 101738     return;
       X 101739 
       X 101740   cancel:
       X 101741     signal(SIGINT, SIG_IGN);
       X 101742     ptflag = 0;
       X 101743     if (strcmp(cmd, "RETR") && !proxy)
       X 101744       pswitch(1);
       X 101745     else if (!strcmp(cmd, "RETR") && proxy)
       X 101746       pswitch(0);
       X 101747     if (!cpend && !secndflag) {  /* only here if cmd = "STOR" (proxy=1) */
       X 101748         if (ftpcmd(cmd2,local,-1,-1,ftp_vbm) != PRELIM) {
       X 101749             pswitch(0);
       X 101750             if (cpend)
       X 101751               cancel_remote(0);
       X 101752         }
       X 101753         pswitch(1);
       X 101754         if (ptabflg)
       X 101755           ftpcode = -1;
       X 101756         signal(SIGINT, oldintr);
       X 101757         return;
       X 101758     }
       X 101759     if (cpend)
       X 101760       cancel_remote(0);
       X 101761     pswitch(!proxy);
       X 101762     if (!cpend && !secndflag) {  /* only if cmd = "RETR" (proxy=1) */
       X 101763         if (ftpcmd(cmd2,local,-1,-1,ftp_vbm) != PRELIM) {
       X 101764             pswitch(0);
       X 101765             if (cpend)
       X 101766               cancel_remote(0);
       X 101767             pswitch(1);
       X 101768             if (ptabflg)
       X 101769               ftpcode = -1;
       X 101770             signal(SIGINT, oldintr);
       X 101771             return;
       X 101772         }
       X 101773     }
       X 101774     if (cpend)
       X 101775       cancel_remote(0);
       X 101776     pswitch(!proxy);
       X 101777     if (cpend) {
       X 101778 #ifdef BSDSELECT
       X 101779         FD_ZERO(&mask);
       X 101780         FD_SET(csocket, &mask);
       X 101781         if ((nfnd = empty(&mask, 10)) <= 0) {
       X 101782             if (nfnd < 0) {
       X 101783                 perror("cancel");
       X 101784             }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1931
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 101785             if (ptabflg)
       X 101786               ftpcode = -1;
       X 101787             lostpeer();
       X 101788         }
       X 101789 #else /* BSDSELECT */
       X 101790 #ifdef IBMSELECT
       X 101791         if ((nfnd = empty(&csocket, 1, 10)) <= 0) {
       X 101792             if (nfnd < 0) {
       X 101793                 perror("cancel");
       X 101794             }
       X 101795             if (ptabflg)
       X 101796               ftpcode = -1;
       X 101797             lostpeer();
       X 101798         }
       X 101799 #endif /* IBMSELECT */
       X 101800 #endif /* BSDSELECT */
       X 101801         getreply(0,-1,-1,ftp_vbm,0);
       X 101802         getreply(0,-1,-1,ftp_vbm,0);
       X 101803     }
       X 101804     if (proxy)
       X 101805       pswitch(0);
       X 101806     pswitch(1);
       X 101807     if (ptabflg)
       X 101808       ftpcode = -1;
       X 101809     signal(SIGINT, oldintr);
       X 101810 }
       X 101811 #endif /* FTP_PROXY */
	 101812 
	 101813 #ifdef FTP_SECURITY
       X 101814 #ifdef FTP_GSSAPI
       X 101815 
       X 101816 #ifdef COMMENT
       X 101817 /* ck_gss_mech_krb5 is not declared anywhere */
       X 101818 struct {
       X 101819     CONST gss_OID_desc * CONST * mech_type;
       X 101820     char *service_name;
       X 101821 } gss_trials[] = {
       X 101822     { &ck_gss_mech_krb5, "ftp" },
       X 101823     { &ck_gss_mech_krb5, "host" },
       X 101824 };
       X 101825 #else
       X 101826 /* This matches what is declared above */
       X 101827 struct {
       X 101828     CONST gss_OID_desc * CONST * mech_type;
       X 101829     char *service_name;
       X 101830 } gss_trials[] = {
       X 101831     { &gss_mech_krb5, "ftp" },
       X 101832     { &gss_mech_krb5, "host" },
       X 101833 };
       X 101834 #endif	/* COMMENT */
       X 101835 
       X 101836 
       X 101837 int n_gss_trials = sizeof(gss_trials)/sizeof(gss_trials[0]);
       X 101838 #endif /* FTP_GSSAPI */
	 101839 
	 101840 static int
      1	 101841 ftp_auth() {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1932
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 101842     extern int setsafe();
      1	 101843     int j = 0, n;
      1X 101844 #ifdef FTP_KRB4
      1X 101845     char *service, inst[INST_SZ];
      1X 101846     ULONG cksum;
      1X 101847     ULONG checksum = (ULONG) getpid();
      1X 101848     CHAR out_buf[FTP_BUFSIZ];
      1X 101849     int i;
      1X 101850 #else /* FTP_KRB4 */
      1X 101851 #ifdef FTP_GSSAPI
      1X 101852     CHAR out_buf[FTP_BUFSIZ];
      1X 101853     int i;
      1X 101854 #endif /* FTP_GSSAPI */
      1	 101855 #endif /* FTP_KRB4 */
      1	 101856 
      1	 101857     if (ssl_ftp_proxy)                  /* Do not allow AUTH over SSL proxy */
      1	 101858         return(0);
      1	 101859 
      1	 101860     if (auth_type)
      1	 101861       return(1);                        /* auth already succeeded */
      1	 101862 
      1	 101863     /* Try each auth type as specified by the end user */
      2	 101864     for (j = 0; j < 8 && ftp_auth_type[j] != 0; j++) {
      2X 101865 #ifdef FTP_GSSAPI
      2X 101866         if (ftp_auth_type[j] == FTA_GK5 && ck_gssapi_is_installed()) {
      2X 101867             n = ftpcmd("AUTH GSSAPI",NULL,0,0,ftp_vbm);
      2X 101868             if (n == REPLY_CONTINUE) {
      2X 101869                 OM_uint32 maj_stat, min_stat;
      2X 101870                 gss_name_t target_name;
      2X 101871                 gss_buffer_desc send_tok, recv_tok, *token_ptr;
      2X 101872                 char stbuf[FTP_BUFSIZ];
      2X 101873                 int comcode, trial;
      2X 101874                 struct gss_channel_bindings_struct chan;
      2X 101875                 char * realm = NULL;
      2X 101876                 char tgt[256];
      2X 101877 
      2X 101878                 chan.initiator_addrtype = GSS_C_AF_INET; /* OM_uint32  */
      2X 101879                 chan.initiator_address.length = 4;
      2X 101880                 chan.initiator_address.value = &myctladdr.sin_addr.s_addr;
      2X 101881                 chan.acceptor_addrtype = GSS_C_AF_INET; /* OM_uint32 */
      2X 101882                 chan.acceptor_address.length = 4;
      2X 101883                 chan.acceptor_address.value = &hisctladdr.sin_addr.s_addr;
      2X 101884                 chan.application_data.length = 0;
      2X 101885                 chan.application_data.value = 0;
      2X 101886 
      2X 101887                 if (!quiet)
      2X 101888                   printf("GSSAPI accepted as authentication type\n");
      2X 101889 
      2X 101890                 realm = ck_krb5_realmofhost(ftp_user_host);
      2X 101891                 if (realm) {
      2X 101892                     ckmakmsg(tgt,sizeof(tgt),"krbtgt/",realm,"@",realm);
      2X 101893                     debug(F110,"ftp_auth(GSSAPI) TGT",tgt,0);
      2X 101894                     if ( krb5_autoget &&
      2X 101895                          !((ck_krb5_tkt_isvalid(NULL,tgt) > 0) ||
      2X 101896                             (ck_krb5_is_tgt_valid() > 0)) )
      2X 101897                         ck_krb5_autoget_TGT(realm);
      2X 101898                 }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1933
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 101899 
      2X 101900                 /* Blob from gss-client */
      2X 101901                 for (trial = 0; trial < n_gss_trials; trial++) {
      2X 101902                     /* ftp@hostname first, the host@hostname */
      2X 101903                     /* the V5 GSSAPI binding canonicalizes this for us... */
      2X 101904                     ckmakmsg(stbuf,FTP_BUFSIZ,
      2X 101905                              gss_trials[trial].service_name,
      2X 101906                              "@",
      2X 101907                              ftp_user_host,
      2X 101908                              NULL
      2X 101909                              );
      2X 101910                     if (ftp_deb)
      2X 101911                       fprintf(stderr,
      2X 101912                               "Authenticating to <%s>...\n", stbuf);
      2X 101913                     send_tok.value = stbuf;
      2X 101914                     send_tok.length = strlen(stbuf);
      2X 101915                     maj_stat = gss_import_name(&min_stat, &send_tok,
      2X 101916                                                gss_nt_service_name,
      2X 101917                                                &target_name
      2X 101918                                                );
      2X 101919                     if (maj_stat != GSS_S_COMPLETE) {
      2X 101920                         user_gss_error(maj_stat, min_stat, "parsing name");
      2X 101921                         secure_error("name parsed <%s>\n", stbuf);
      2X 101922                         continue;
      2X 101923                     }
      2X 101924                     token_ptr = GSS_C_NO_BUFFER;
      2X 101925                     gcontext = GSS_C_NO_CONTEXT; /* structure copy */
      2X 101926 
      2X 101927                     do {
      2X 101928                         if (ftp_deb)
      2X 101929                           fprintf(stderr, "calling gss_init_sec_context\n");
      2X 101930                         maj_stat =
      2X 101931                           gss_init_sec_context(&min_stat,
      2X 101932                                                GSS_C_NO_CREDENTIAL,
      2X 101933                                                &gcontext,
      2X 101934                                                target_name,
      2X 101935                                                (gss_OID) *
      2X 101936                                                  gss_trials[trial].mech_type,
      2X 101937                                                GSS_C_MUTUAL_FLAG |
      2X 101938                                                GSS_C_REPLAY_FLAG |
      2X 101939                                                (ftp_cfw ?
      2X 101940                                                 GSS_C_DELEG_FLAG : 0),
      2X 101941                                                0,
      2X 101942                                                 /* channel bindings */
      2X 101943                                                 (krb5_d_no_addresses ?
      2X 101944                                                   GSS_C_NO_CHANNEL_BINDINGS :
      2X 101945                                                   &chan),
      2X 101946                                                 token_ptr,
      2X 101947                                                NULL,    /* ignore mech type */
      2X 101948                                                &send_tok,
      2X 101949                                                NULL,    /* ignore ret_flags */
      2X 101950                                                NULL
      2X 101951                                                );       /* ignore time_rec */
      2X 101952 
      2X 101953                         if (maj_stat != GSS_S_COMPLETE &&
      2X 101954                             maj_stat != GSS_S_CONTINUE_NEEDED) {
      2X 101955                             if (trial == n_gss_trials-1)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1934
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 101956                               user_gss_error(maj_stat,
      2X 101957                                              min_stat,
      2X 101958                                              "initializing context"
      2X 101959                                              );
      2X 101960                             gss_release_name(&min_stat, &target_name);
      2X 101961                             /* maybe we missed on the service name */
      2X 101962                             goto outer_loop;
      2X 101963                         }
      2X 101964                         if (send_tok.length != 0) {
      2X 101965                             int len;
      2X 101966                             reply_parse = "ADAT="; /* for ftpcmd() later */
      2X 101967                             len = FTP_BUFSIZ;
      2X 101968                             kerror =
      2X 101969                               radix_encode(send_tok.value,
      2X 101970                                            out_buf,
      2X 101971                                            send_tok.length,
      2X 101972                                            &len,
      2X 101973                                            RADIX_ENCODE
      2X 101974                                            );
      2X 101975                             if (kerror)  {
      2X 101976                                 fprintf(stderr,
      2X 101977                                         "Base 64 encoding failed: %s\n",
      2X 101978                                         radix_error(kerror)
      2X 101979                                         );
      2X 101980                                 goto gss_complete_loop;
      2X 101981                             }
      2X 101982                             comcode = ftpcmd("ADAT",out_buf,-1,-1,0);
      2X 101983                             if (comcode != REPLY_COMPLETE
      2X 101984                                 && comcode != REPLY_CONTINUE /* (335) */
      2X 101985                                 ) {
      2X 101986                                 if (trial == n_gss_trials-1) {
      2X 101987                                     fprintf(stderr, "GSSAPI ADAT failed\n");
      2X 101988                                     /* force out of loop */
      2X 101989                                     maj_stat = GSS_S_FAILURE;
      2X 101990                                 }
      2X 101991                                 /*
      2X 101992                                   Backoff to the v1 gssapi is still possible.
      2X 101993                                   Send a new AUTH command.  If that fails,
      2X 101994                                   terminate the loop.
      2X 101995                                 */
      2X 101996                                 if (ftpcmd("AUTH GSSAPI",NULL,0,0,ftp_vbm)
      2X 101997                                     != REPLY_CONTINUE) {
      2X 101998                                     fprintf(stderr,
      2X 101999                                 "GSSAPI ADAT failed, AUTH restart failed\n");
      2X 102000                                     /* force out of loop */
      2X 102001                                     maj_stat = GSS_S_FAILURE;
      2X 102002                                 }
      2X 102003                                 goto outer_loop;
      2X 102004                             }
      2X 102005                             if (!reply_parse) {
      2X 102006                                 fprintf(stderr,
      2X 102007                               "No authentication data received from server\n");
      2X 102008                                 if (maj_stat == GSS_S_COMPLETE) {
      2X 102009                                     fprintf(stderr,
      2X 102010                                             "...but no more was needed\n");
      2X 102011                                     goto gss_complete_loop;
      2X 102012                                 } else {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1935
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 102013                                     user_gss_error(maj_stat,
      2X 102014                                                    min_stat,
      2X 102015                                                    "no reply, huh?"
      2X 102016                                                    );
      2X 102017                                     goto gss_complete_loop;
      2X 102018                                 }
      2X 102019                             }
      2X 102020                             len = FTP_BUFSIZ;
      2X 102021                             kerror = radix_encode(reply_parse,out_buf,i,&len,
      2X 102022                                                   RADIX_DECODE);
      2X 102023                             if (kerror) {
      2X 102024                                 fprintf(stderr,
      2X 102025                                         "Base 64 decoding failed: %s\n",
      2X 102026                                         radix_error(kerror));
      2X 102027                                 goto gss_complete_loop;
      2X 102028                             }
      2X 102029 
      2X 102030                             /* everything worked */
      2X 102031                             token_ptr = &recv_tok;
      2X 102032                             recv_tok.value = out_buf;
      2X 102033                             recv_tok.length = len;
      2X 102034                             continue;
      2X 102035 
      2X 102036                             /* get out of loop clean */
      2X 102037                           gss_complete_loop:
      2X 102038                             trial = n_gss_trials-1;
      2X 102039                             gss_release_buffer(&min_stat, &send_tok);
      2X 102040                             gss_release_name(&min_stat, &target_name);
      2X 102041                             goto outer_loop;
      2X 102042                         }
      2X 102043                     } while (maj_stat == GSS_S_CONTINUE_NEEDED);
      2X 102044 
      2X 102045                   outer_loop:
      2X 102046                     if (maj_stat == GSS_S_COMPLETE)
      2X 102047                       break;
      2X 102048                 }
      2X 102049                 if (maj_stat == GSS_S_COMPLETE) {
      2X 102050                     printf("GSSAPI authentication succeeded\n");
      2X 102051                     reply_parse = NULL;
      2X 102052                     auth_type = "GSSAPI";
      2X 102053                     return(1);
      2X 102054                 } else {
      2X 102055                     fprintf(stderr, "GSSAPI authentication failed\n");
      2X 102056                     reply_parse = NULL;
      2X 102057                 }
      2X 102058             } else {
      2X 102059                 if (ftp_deb)
      2X 102060                 fprintf(stderr, "GSSAPI rejected as an authentication type\n");
      2X 102061                 if (ftpcode == 500 || ftpcode == 502)
      2X 102062                     return(0);
      2X 102063             }
      2X 102064         }
      2X 102065 #endif /* FTP_GSSAPI */
      2X 102066 #ifdef FTP_SRP
      2X 102067         if (ftp_auth_type[j] == FTA_SRP && ck_srp_is_installed()) {
      2X 102068             if (srp_ftp_auth(ftp_user_host,NULL,NULL))
      2X 102069               return(1);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1936
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 102070             else if (ftpcode == 500 || ftpcode == 502)
      2X 102071               return(0);
      2X 102072         }
      2X 102073 #endif /* FTP_SRP */
      2X 102074 #ifdef FTP_KRB4
      2X 102075         if (ftp_auth_type[j] == FTA_K4 && ck_krb4_is_installed()) {
      2X 102076             n = ftpcmd("AUTH KERBEROS_V4",NULL,0,0,ftp_vbm);
      2X 102077             if (n == REPLY_CONTINUE) {
      2X 102078                 char tgt[4*REALM_SZ+1];
      2X 102079                 int rc;
      2X 102080 
      2X 102081                 if (!quiet)
      2X 102082                   printf("KERBEROS_V4 accepted as authentication type\n");
      2X 102083                 ckstrncpy(inst, (char *) krb_get_phost(ftp_user_host),INST_SZ);
      2X 102084                 ckstrncpy(ftp_realm,
      2X 102085                           (char *)ck_krb4_realmofhost(ftp_user_host),
      2X 102086                           REALM_SZ
      2X 102087                           );
      2X 102088 
      2X 102089                 ckmakmsg(tgt,sizeof(tgt),"krbtgt.",ftp_realm,"@",ftp_realm);
      2X 102090                 rc = ck_krb4_tkt_isvalid(tgt);
      2X 102091 
      2X 102092                 if (rc <= 0 && krb4_autoget)
      2X 102093                   ck_krb4_autoget_TGT(ftp_realm);
      2X 102094 
      2X 102095                 service = "ftp";
      2X 102096                 kerror = krb_mk_req(&ftp_tkt,service,inst,ftp_realm,checksum);
      2X 102097                 if (kerror == KDC_PR_UNKNOWN) {
      2X 102098                     service = "rcmd";
      2X 102099                     kerror = krb_mk_req(&ftp_tkt,
      2X 102100                                         service,
      2X 102101                                         inst,
      2X 102102                                         ftp_realm,
      2X 102103                                         checksum
      2X 102104                                         );
      2X 102105                 }
      2X 102106                 if (kerror)
      2X 102107                   fprintf(stderr, "Kerberos V4 krb_mk_req failed: %s\n",
      2X 102108                           krb_get_err_text(kerror));
      2X 102109                 if (!kerror) {
      2X 102110                     kerror = krb_get_cred(service, inst, ftp_realm,&ftp_cred);
      2X 102111                     if (kerror)
      2X 102112                       fprintf(stderr, "Kerberos V4 krb_get_cred failed: %s\n",
      2X 102113                               krb_get_err_text(kerror));
      2X 102114                 }
      2X 102115                 if (!kerror) {
      2X 102116                     int rc;
      2X 102117                     rc = des_key_sched(ftp_cred.session, ftp_sched);
      2X 102118                     if (rc == -1) {
      2X 102119                        printf("?Invalid DES key specified in credentials\r\n");
      2X 102120                        debug(F110,"ftp_auth",
      2X 102121                              "invalid DES Key specified in credentials",0);
      2X 102122                     } else if ( rc == -2 ) {
      2X 102123                         printf("?Weak DES key specified in credentials\r\n");
      2X 102124                         debug(F110,"ftp_auth",
      2X 102125                               "weak DES Key specified in credentials",0);
      2X 102126                     } else if ( rc != 0 ) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1937
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 102127                         printf("?DES Key Schedule not set by credentials\r\n");
      2X 102128                         debug(F110,"ftp_auth",
      2X 102129                               "DES Key Schedule not set by credentials",0);
      2X 102130                     }
      2X 102131                     reply_parse = "ADAT=";
      2X 102132                     i = FTP_BUFSIZ;
      2X 102133                     kerror = radix_encode(ftp_tkt.dat, out_buf, ftp_tkt.length,
      2X 102134                                           &i, RADIX_ENCODE);
      2X 102135                     if (kerror) {
      2X 102136                         fprintf(stderr, "Base 64 encoding failed: %s\n",
      2X 102137                                 radix_error(kerror));
      2X 102138                         goto krb4_err;
      2X 102139                     }
      2X 102140                     if (i > FTP_BUFSIZ - 6)
      2X 102141                       printf("?ADAT data too long\n");
      2X 102142                     if (ftpcmd("ADAT",out_buf,-1,-1,0) !=
      2X 102143                         REPLY_COMPLETE) {
      2X 102144                         fprintf(stderr, "Kerberos V4 authentication failed\n");
      2X 102145                         goto krb4_err;
      2X 102146                     }
      2X 102147                     if (!reply_parse) {
      2X 102148                         fprintf(stderr,
      2X 102149                              "No authentication data received from server\n");
      2X 102150                         goto krb4_err;
      2X 102151                     }
      2X 102152                     i = sizeof(out_buf);
      2X 102153                     kerror =
      2X 102154                       radix_encode(reply_parse, out_buf, 0, &i, RADIX_DECODE);
      2X 102155                     if (kerror) {
      2X 102156                         fprintf(stderr, "Base 64 decoding failed: %s\n",
      2X 102157                                 radix_error(kerror));
      2X 102158                         goto krb4_err;
      2X 102159                     }
      2X 102160                     kerror = krb_rd_safe(out_buf, i,
      2X 102161 #ifdef KRB524
      2X 102162                                          ftp_cred.session,
      2X 102163 #else /* KRB524 */
      2X 102164                                          &ftp_cred.session,
      2X 102165 #endif /* KRB524 */
      2X 102166                                          &hisctladdr,
      2X 102167                                          &myctladdr,
      2X 102168                                          &ftp_msg_data
      2X 102169                                          );
      2X 102170                     if (kerror) {
      2X 102171                         fprintf(stderr, "Kerberos V4 krb_rd_safe failed: %s\n",
      2X 102172                                 krb_get_err_text(kerror));
      2X 102173                         goto krb4_err;
      2X 102174                     }
      2X 102175 
      2X 102176                     /* fetch the (modified) checksum */
      2X 102177                     memcpy(&cksum, ftp_msg_data.app_data, sizeof(cksum));
      2X 102178                     if (ntohl(cksum) == checksum + 1) {
      2X 102179                         if (ftp_vbm)
      2X 102180                           printf("Kerberos V4 authentication succeeded\n");
      2X 102181                         reply_parse = NULL;
      2X 102182                         auth_type = "KERBEROS_V4";
      2X 102183                         return(1);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1938
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 102184                     } else
      2X 102185                       fprintf(stderr,
      2X 102186                               "Kerberos V4 mutual authentication failed\n");
      2X 102187                   krb4_err:
      2X 102188                     reply_parse = NULL;
      2X 102189                 }
      2X 102190             } else {
      2X 102191                 if (ftp_deb)
      2X 102192 		  fprintf(stderr,
      2X 102193                       "KERBEROS_V4 rejected as an authentication type\n");
      2X 102194                 if (ftpcode == 500 || ftpcode == 502)
      2X 102195                     return(0);
      2X 102196             }
      2X 102197         }
      2X 102198 #endif /* FTP_KRB4 */
      2	 102199 #ifdef CK_SSL
      3	 102200         if (ftp_auth_type[j] == FTA_TLS && ck_ssleay_is_installed()) {
       E	                                 5
      3X 102201 #ifdef FTPHOST
      3X 102202             if (!hostcmd) {
      3X 102203                 ftpcmd("HOST",ftp_user_host,0,0,0);
      3X 102204                 hostcmd = 1;
      3X 102205             }
      3X 102206 #endif /* FTPHOST */
      3	 102207             n = ftpcmd("AUTH TLS",NULL,0,0,ftp_vbm);
       E	                                   ( ( void * ) 0 )
      3	 102208             if (n != REPLY_COMPLETE)
       E	                      2
      3	 102209               n = ftpcmd("AUTH TLS-P",NULL,0,0,ftp_vbm);
       E	                                       ( ( void * ) 0 )
      4	 102210             if (n == REPLY_COMPLETE) {
       E	                      2
      4	 102211                 if (!quiet)
      4	 102212                   printf("TLS accepted as authentication type\n");
      4	 102213 
      4	 102214                 auth_type = "TLS";
      4	 102215                 ssl_auth();
      5	 102216                 if (ssl_ftp_active_flag ) {
      5	 102217                     ftp_dpl = FPL_CLR;
       E	                               1
      5	 102218                     ftp_cpl = FPL_PRV;
       E	                               3
      5	 102219                     return(1);
      5	 102220                 } else {
      5	 102221                     fprintf(stderr,"TLS authentication failed\n");
       E	                             ( decc$ga_stderr )
      5	 102222                     auth_type = NULL;
       E	                                 ( ( void * ) 0 )
      5	 102223 #ifdef TCPIPLIB
      5	 102224                     socket_close(csocket);
       E	                     close
      5X 102225 #else /* TCPIPLIB */
      5X 102226 #ifdef USE_SHUTDOWN
      5X 102227                     shutdown(csocket, 1+1);
      5X 102228 #endif /* USE_SHUTDOWN */
      5X 102229                     close(csocket);
      5X 102230 #endif /* TCPIPLIB */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1939
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      5	 102231                     csocket = -1;
      5	 102232                     if (ftp_hookup(ftp_user_host,ftp_port,0) == NULL)
       E	                                                                 ( ( void * ) 0 )
      5	 102233                       return(0);
      4	 102234                 }
      4	 102235             } else {
      4	 102236                 if (ftp_deb)
      4	 102237 		  fprintf(stderr,"TLS rejected as an authentication type\n");
       E	             ( decc$ga_stderr )
      4	 102238                 if (ftpcode == 500 || ftpcode == 502)
      4	 102239                     return(0);
      3	 102240             }
      2	 102241         }
      3	 102242         if (ftp_auth_type[j] == FTA_SSL && ck_ssleay_is_installed()) {
       E	                                 4
      3X 102243 #ifdef FTPHOST
      3X 102244             if (!hostcmd) {
      3X 102245                 ftpcmd("HOST",ftp_user_host,0,0,0);
      3X 102246                 hostcmd = 1;
      3X 102247             }
      3X 102248 #endif /* FTPHOST */
      3	 102249             n = ftpcmd("AUTH SSL",NULL,0,0,ftp_vbm);
       E	                                   ( ( void * ) 0 )
      4	 102250             if (n == REPLY_CONTINUE || n == REPLY_COMPLETE) {
       E	                      3
       E	                                             2
      4	 102251                 if (!quiet)
      4	 102252                   printf("SSL accepted as authentication type\n");
      4	 102253                 auth_type = "SSL";
      4	 102254                 ssl_auth();
      5	 102255                 if (ssl_ftp_active_flag) {
      5	 102256                     ftp_dpl = FPL_PRV;
       E	                               3
      5	 102257                     ftp_cpl = FPL_PRV;
       E	                               3
      5	 102258                     setprotbuf(1<<20);
      5	 102259                     return(1);
      5	 102260                 } else {
      5	 102261                     fprintf(stderr,"SSL authentication failed\n");
       E	                             ( decc$ga_stderr )
      5	 102262                     auth_type = NULL;
       E	                                 ( ( void * ) 0 )
      5	 102263 #ifdef TCPIPLIB
      5	 102264                     socket_close(csocket);
       E	                     close
      5X 102265 #else /* TCPIPLIB */
      5X 102266 #ifdef USE_SHUTDOWN
      5X 102267                     shutdown(csocket, 1+1);
      5X 102268 #endif /* USE_SHUTDOWN */
      5X 102269                     close(csocket);
      5X 102270 #endif /* TCPIPLIB */
      5	 102271                     csocket = -1;
      5	 102272                     if (ftp_hookup(ftp_user_host,ftp_port,0) == NULL)
       E	                                                                 ( ( void * ) 0 )
      5	 102273                       return(0);
      4	 102274                 }
      4	 102275 	    } else {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1940
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	 102276                 if (ftp_deb)
      4	 102277 		  fprintf(stderr, "SSL rejected as an authentication type\n");
       E	             ( decc$ga_stderr )
      4	 102278                 if (ftpcode == 500 || ftpcode == 502)
      4	 102279 		  return(0);
      3	 102280             }
      2	 102281         }
      2	 102282 #endif /* CK_SSL */
      2	 102283         /* Other auth types go here ... */
      1	 102284     } /* for (j;;) */
      1	 102285     return(0);
      1	 102286 }
	 102287 #endif /* FTP_SECURITY */
	 102288 
	 102289 static int
	 102290 #ifdef CK_ANSIC
	 102291 setprotbuf(unsigned int size)
       X 102292 #else
       X 102293 setprotbuf(size) unsigned int size;
       X 102294 #endif /* CK_ANSIC */
      1	 102295 /* setprotbuf */ {
      1	 102296     if (ucbuf)
      1	 102297       free(ucbuf);
      1	 102298     ucbuf = NULL;
       E	             ( ( void * ) 0 )
      1	 102299     ucbufsiz = 0;
      1	 102300     actualbuf = size;
      2	 102301     while ((ucbuf = (CHAR *)malloc(actualbuf)) == NULL) {
       E	                      unsigned char
       E	                                                   ( ( void * ) 0 )
      2	 102302         if (actualbuf)
      2	 102303           actualbuf /= 2;
      2	 102304         else
      2	 102305           return(0);
      1	 102306     }
      1	 102307     ucbufsiz = actualbuf - FUDGE_FACTOR;
       E	                            0
      1	 102308     debug(F101,"setprotbuf ucbufsiz","",ucbufsiz);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "setprotbuf ucbufsiz" , ( char * ) ( "" ) , ( off_t ) ( ucbufsiz ) ) : 0 ) 
       E	)
      2	 102309     if (ucbufsiz < 128) {
      2	 102310         printf("WARNING: tiny ucbufsiz: %d\n",ucbufsiz);
      2	 102311     } else if (ucbufsiz < 0) {
      2	 102312         printf("ERROR: ucbuf allocation failure\n");
      2	 102313         return(-1);
      1	 102314     }
      1	 102315     maxbuf = actualbuf;
      1	 102316     return(1);
      1	 102317 }
	 102318 
	 102319 static int
	 102320 #ifdef CK_ANSIC
	 102321 setpbsz(unsigned int size)
       X 102322 #else
       X 102323 setpbsz(size) unsigned int size;
       X 102324 #endif /* CK_ANSIC */
      1	 102325 /* setpbsz */ {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1941
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 102326     if (!setprotbuf(size)) {
      2	 102327         perror("?Error while trying to malloc PROT buffer:");
      2X 102328 #ifdef FTP_SRP
      2X 102329         srp_reset();
      2X 102330 #endif /* FTP_SRP */
      2	 102331         ftpclose();
      2	 102332         return(-1);
      1	 102333     }
      1	 102334     reply_parse = "PBSZ=";
      1	 102335     ckmakmsg(ftpcmdbuf,FTP_BUFSIZ,"PBSZ ",
       E	                        10240
      1	 102336 #ifdef CK_SSL
      1	 102337              ssl_ftp_active_flag ? "0" :
      1	 102338 #endif /* CK_SSL */
      1	 102339              ckuitoa(actualbuf),NULL,NULL);
       E	                                 ( ( void * ) 0 )
       E	                                      ( ( void * ) 0 )
      2	 102340     if (ftpcmd(ftpcmdbuf,NULL,0,0,0) != REPLY_COMPLETE) {
       E	                          ( ( void * ) 0 )
       E	                                         2
      3	 102341         if (connected) {
      3	 102342             printf("?Unable to negotiate PROT buffer size with FTP server\n");
      3	 102343             ftpclose();
      2	 102344         }
      2	 102345         return(-1);
      1	 102346     }
      2	 102347     if (reply_parse) {
      2	 102348         if ((maxbuf = (unsigned int) atol(reply_parse)) > actualbuf)
      2	 102349           maxbuf = actualbuf;
      1	 102350     } else
      1	 102351       maxbuf = actualbuf;
      1	 102352     ucbufsiz = maxbuf - FUDGE_FACTOR;
       E	                         0
      1	 102353     debug(F101,"setpbsz ucbufsiz","",ucbufsiz);    
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "setpbsz ucbufsiz" , ( char * ) ( "" ) , ( off_t ) ( ucbufsiz ) ) : 0 ) )
      1	 102354     reply_parse = NULL;
       E	                   ( ( void * ) 0 )
      1	 102355     return(0);
      1	 102356 }
	 102357 
	 102358 static VOID
       E	        void
	 102359 #ifdef CK_ANSIC
	 102360 cancel_remote( int din )
       X 102361 #else
       X 102362 cancel_remote(din) int din;
       X 102363 #endif /* CK_ANSIC */
      1	 102364 {
      1	 102365     CHAR buf[FTP_BUFSIZ];
       E	     unsigned char
       E	              10240
      1	 102366     int x, nfnd;
      1	 102367 #ifdef BSDSELECT
      1	 102368     fd_set mask;
      1	 102369 #endif /* BSDSELECT */
      1X 102370 #ifdef IBMSELECT
      1X 102371     int fds[2], fdcnt = 0;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1942
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 102372 #endif /* IBMSELECT */
      1	 102373 #ifdef DEBUG
      1	 102374     extern int debtim;
      1	 102375     int xdebtim;
      1	 102376     xdebtim = debtim;
      1	 102377     debtim = 1;
      1	 102378 #endif /* DEBUG */
      1	 102379     debug(F100,"ftp cancel_remote entry","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp cancel_remote entry" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102380 #ifdef CK_SSL
      2	 102381     if (ssl_ftp_active_flag) {
      2	 102382         /*
      2	 102383          * Send Telnet IP, Telnet DM but do so inline and within the
      2	 102384          * TLS channel
      2	 102385          */
      2	 102386         int count, error;
      2	 102387 
      2	 102388         buf[0] = IAC;
       E	                  0xff
      2	 102389         buf[1] = TN_IP;
       E	                  0xf4
      2	 102390         buf[2] = IAC;
       E	                  0xff
      2	 102391         buf[3] = TN_DM;
       E	                  0xf2
      2	 102392         buf[4] = NUL;
       E	                  '\0'
      2	 102393 
      2	 102394         count = SSL_write(ssl_ftp_con, buf, 4);
      2	 102395         debug(F111,"ftp cancel_remote","SSL_write(IAC IP IAC DM)",count);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cancel_remote" , ( char * ) ( "SSL_write(IAC IP IAC DM)" ) , ( off
       E	_t ) ( count ) ) : 0 ) )
      2	 102396         error = SSL_get_error(ssl_ftp_con,count);
      2	 102397         debug(F111,"ftp cancel_remote","SSL_get_error()",error);
       E	         ( ( void ) ( deblog ? dodebug ( 7 , "ftp cancel_remote" , ( char * ) ( "SSL_get_error()" ) , ( off_t ) ( er
       E	ror ) ) : 0 ) )
      3	 102398         switch (error) {
      3	 102399           case SSL_ERROR_NONE:
       E	                0
      3	 102400             break;
      3	 102401           case SSL_ERROR_WANT_WRITE:
       E	                3
      3	 102402           case SSL_ERROR_WANT_READ:
       E	                2
      3	 102403           case SSL_ERROR_SYSCALL:
       E	                5
      3X 102404 #ifdef NT
      3X 102405             {
      3X 102406                 int gle = GetLastError();
      3X 102407             }
      3X 102408 #endif /* NT */
      3	 102409           case SSL_ERROR_WANT_X509_LOOKUP:
       E	                4
      3	 102410           case SSL_ERROR_SSL:
       E	                1
      3	 102411           case SSL_ERROR_ZERO_RETURN:
       E	                6

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1943
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 102412           default:
      3	 102413             lostpeer();
      3	 102414             return;
      2	 102415         }
      1	 102416     } else
      1	 102417 #endif /* CK_SSL */
      2	 102418     {
      2	 102419         /*
      2	 102420          * send IAC in urgent mode instead of DM because 4.3BSD places oob mark
      2	 102421          * after urgent byte rather than before as is protocol now.
      2	 102422          */
      2	 102423         buf[0] = IAC;
       E	                  0xff
      2	 102424         buf[1] = TN_IP;
       E	                  0xf4
      2	 102425         buf[2] = IAC;
       E	                  0xff
      2	 102426         buf[3] = NUL;
       E	                  '\0'
      2	 102427         if ((x = send(csocket, (SENDARG2TYPE)buf, 3, MSG_OOB)) != 3)
       E	                                 char *
       E	                                                      0x1
      2	 102428           perror("cancel");
      2	 102429         debug(F101,"ftp cancel_remote send 1","",x);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp cancel_remote send 1" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 
       E	) )
      2	 102430         buf[0] = TN_DM;
       E	                  0xf2
      2	 102431         x = send(csocket,(SENDARG2TYPE)buf,1,0);
       E	                           char *
      2	 102432         debug(F101,"ftp cancel_remote send 2","",x);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp cancel_remote send 2" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 
       E	) )
      1	 102433     }
      1	 102434     x = scommand("ABOR");
      1	 102435     debug(F101,"ftp cancel_remote scommand","",x);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp cancel_remote scommand" , ( char * ) ( "" ) , ( off_t ) ( x ) ) : 0 ) 
       E	)
      1	 102436 #ifdef BSDSELECT
      1	 102437     FD_ZERO(&mask);
       E	     __MEMSET ( ( & mask ) , 0 , sizeof ( * ( & mask ) ) )
      1	 102438     FD_SET(csocket, &mask);
       E	     ( ( & mask ) -> fds_bits [ ( csocket ) / ( sizeof ( fd_mask ) * 8 ) ] |= ( 1 << ( ( csocket ) % ( sizeof ( fd_m
       E	ask ) * 8 ) ) ) )
      2	 102439     if (din) {
      2	 102440         FD_SET(din, &mask);
       E	         ( ( & mask ) -> fds_bits [ ( din ) / ( sizeof ( fd_mask ) * 8 ) ] |= ( 1 << ( ( din ) % ( sizeof ( fd_mask 
       E	) * 8 ) ) ) )
      1	 102441     }
      1	 102442     nfnd = empty(&mask, 10);
      1	 102443     debug(F101,"ftp cancel_remote empty","",nfnd);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp cancel_remote empty" , ( char * ) ( "" ) , ( off_t ) ( nfnd ) ) : 0 ) 
       E	)
      2	 102444     if ((nfnd) <= 0) {
      3	 102445         if (nfnd < 0) {
      3	 102446             perror("cancel");
      2	 102447         }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1944
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 102448 #ifdef FTP_PROXY
      2X 102449         if (ptabflg)
      2X 102450           ftpcode = -1;
      2X 102451 #endif /* FTP_PROXY */
      2	 102452         lostpeer();
      1	 102453     }
      1	 102454     debug(F110,"ftp cancel_remote","D",0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp cancel_remote" , ( char * ) ( "D" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 102455     if (din && FD_ISSET(din, &mask)) {
       E	                ( ( & mask ) -> fds_bits [ ( din ) / ( sizeof ( fd_mask ) * 8 ) ] & ( 1 << ( ( din ) % ( sizeof ( fd
       E	_mask ) * 8 ) ) ) )
      2	 102456         /* Security: No threat associated with this read. */
      2	 102457         /* But you can't simply read the TLS data stream  */
      2	 102458 #ifdef CK_SSL
      3	 102459         if (ssl_ftp_data_active_flag) {
      3	 102460             int count, error;
      3	 102461             while ((count = SSL_read(ssl_ftp_data_con, buf, FTP_BUFSIZ)) > 0)
       E	                                                             10240
      3	 102462                     /* LOOP */ ;
      2	 102463         } else
      2	 102464 #endif /* CK_SSL */
      3	 102465         {
      3	 102466             while (recv(din, (SENDARG2TYPE)buf, FTP_BUFSIZ,0) > 0)
       E	                               char *
       E	                                                 10240
      3	 102467                 /* LOOP */ ;
      2	 102468         }
      1	 102469     }
      1	 102470     debug(F110,"ftp cancel_remote","E",0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp cancel_remote" , ( char * ) ( "E" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1X 102471 #else /* BSDSELECT */
      1X 102472 #ifdef IBMSELECT
      1X 102473     fds[0] = csocket;
      1X 102474     fdcnt++;
      1X 102475     if (din) {
      1X 102476         fds[1] = din;
      1X 102477         fdcnt++;
      1X 102478     }
      1X 102479     nfnd = empty(fds, fdcnt, 10);
      1X 102480     debug(F101,"ftp cancel_remote empty","",nfnd);
      1X 102481     if ((nfnd) <= 0) {
      1X 102482         if (nfnd < 0) {
      1X 102483             perror("cancel");
      1X 102484         }
      1X 102485 #ifdef FTP_PROXY
      1X 102486         if (ptabflg)
      1X 102487           ftpcode = -1;
      1X 102488 #endif /* FTP_PROXY */
      1X 102489         lostpeer();
      1X 102490     }
      1X 102491     debug(F110,"ftp cancel_remote","D",0);
      1X 102492     if (din && select(&din, 1,0,0,1) ) {
      1X 102493 #ifdef CK_SSL
      1X 102494         if (ssl_ftp_data_active_flag) {
      1X 102495             int count, error;
      1X 102496             while ((count = SSL_read(ssl_ftp_data_con, buf, FTP_BUFSIZ)) > 0)
      1X 102497                     /* LOOP */ ;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1945
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 102498         } else
      1X 102499 #endif /* CK_SSL */
      1X 102500         {
      1X 102501             while (recv(din, (SENDARG2TYPE)buf, FTP_BUFSIZ,0) > 0)
      1X 102502                 /* LOOP */ ;
      1X 102503         }
      1X 102504     }
      1X 102505     debug(F110,"ftp cancel_remote","E",0);
      1X 102506 #else /* IBMSELECT */
      1X 102507     Some form of select is required.
      1X 102508 #endif /* IBMSELECT */
      1X 102509 #endif /* BSDSELECT */
      2	 102510     if (getreply(0,-1,-1,ftp_vbm,0) == REPLY_ERROR && ftpcode == 552) {
       E	                                        5
      2	 102511         debug(F110,"ftp cancel_remote","F",0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp cancel_remote" , ( char * ) ( "F" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 102512         /* 552 needed for NIC style cancel */
      2	 102513         getreply(0,-1,-1,ftp_vbm,0);
      2	 102514         debug(F110,"ftp cancel_remote","G",0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp cancel_remote" , ( char * ) ( "G" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102515     }
      1	 102516     debug(F110,"ftp cancel_remote","H",0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp cancel_remote" , ( char * ) ( "H" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102517     getreply(0,-1,-1,ftp_vbm,0);
      1	 102518     debug(F110,"ftp cancel_remote","I",0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp cancel_remote" , ( char * ) ( "I" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102519 #ifdef DEBUG
      1	 102520     debtim = xdebtim;
      1	 102521 #endif /* DEBUG */
      1	 102522 }
	 102523 
	 102524 static int
	 102525 #ifdef CK_ANSIC
	 102526 fts_dpl( int x )
       X 102527 #else
       X 102528 fts_dpl(x) int x;
       X 102529 #endif /* CK_ANSIC */
      1	 102530 {
      1	 102531     if (!auth_type
      1X 102532 #ifdef OS2
      1X 102533          || !ck_crypt_is_installed()
      1X 102534 #endif /* OS2 */
      2	 102535          ) {
      3	 102536         switch ( x ) {
      3	 102537           case FPL_PRV:
       E	                3
      3	 102538             printf("?Cannot set protection level to PRIVATE\n");
      3	 102539             return(0);
      3	 102540           case FPL_SAF:
       E	                2
      3	 102541             printf("?Cannot set protection level to SAFE\n");
      3	 102542             return(0);
      2	 102543         }
      2	 102544         ftp_dpl = x;
      2	 102545         return(1);
      1	 102546     }
      1	 102547 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1946
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 102548 #ifdef CK_SSL
      1	 102549     if (x == FPL_SAF &&
       E	              2
      2	 102550         (!strcmp(auth_type,"SSL") || !strcmp(auth_type,"TLS"))) {
      2	 102551         printf("Cannot set protection level to safe\n");
      2	 102552         return(0);
      1	 102553     }
      1	 102554 #endif /* CK_SSL */
      1	 102555     /* Start with a PBSZ of 1 meg */
      2	 102556     if (x != FPL_CLR) {
       E	              1
      2	 102557         if (setpbsz(DEFAULT_PBSZ) < 0)
       E	                     1 << 13
      2	 102558           return(0);
      1	 102559     }
      1	 102560     y = ftpcmd(x == FPL_CLR ? "PROT C" :
       E	                     1
      1	 102561                (x == FPL_SAF ? "PROT S" : "PROT P"), NULL, 0, 0,ftp_vbm);
       E	                      2
       E	                                                      ( ( void * ) 0 )
      2	 102562     if (y == REPLY_COMPLETE) {
       E	              2
      2	 102563         ftp_dpl = x;
      2	 102564         return(1);
      1	 102565     }
      1	 102566     return(0);
      1	 102567 }
	 102568 
	 102569 static int
	 102570 #ifdef CK_ANSIC
	 102571 fts_cpl( int x )
       X 102572 #else
       X 102573 fts_cpl(x) int x;
       X 102574 #endif /* CK_ANSIC */
      1	 102575 {
      1	 102576     if (!auth_type 
      1X 102577 #ifdef OS2
      1X 102578          || !ck_crypt_is_installed()
      1X 102579 #endif /* OS2 */
      2	 102580          ) {
      3	 102581         switch ( x ) {
      3	 102582           case FPL_PRV:
       E	                3
      3	 102583             printf("?Cannot set protection level to PRIVATE\n");
      3	 102584             return(0);
      3	 102585           case FPL_SAF:
       E	                2
      3	 102586             printf("?Cannot set protection level to SAFE\n");
      3	 102587             return(0);
      2	 102588         }
      2	 102589         ftp_cpl = x;
      2	 102590         return(1);
      1	 102591     }
      2	 102592     if (x == FPL_CLR) {
       E	              1
      2	 102593         y = ftpcmd("CCC",NULL,0,0,ftp_vbm);
       E	                          ( ( void * ) 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1947
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 102594         if (y == REPLY_COMPLETE) {
       E	                  2
      3	 102595             ftp_cpl = x;
      3	 102596             return(1);
      2	 102597         }
      2	 102598         return(0);
      1	 102599     }
      1	 102600     ftp_cpl = x;
      1	 102601     return(1);
      1	 102602 }
	 102603 
       X 102604 #ifdef FTP_GSSAPI
       X 102605 static VOID
       X 102606 user_gss_error(maj_stat, min_stat, s)
       X 102607     OM_uint32 maj_stat, min_stat;
       X 102608     char *s;
       X 102609 {
       X 102610     /* a lot of work just to report the error */
       X 102611     OM_uint32 gmaj_stat, gmin_stat, msg_ctx;
       X 102612     gss_buffer_desc msg;
       X 102613     msg_ctx = 0;
       X 102614     while (!msg_ctx) {
       X 102615         gmaj_stat = gss_display_status(&gmin_stat, maj_stat,
       X 102616                                        GSS_C_GSS_CODE,
       X 102617                                        GSS_C_NULL_OID,
       X 102618                                        &msg_ctx,
       X 102619                                        &msg
       X 102620                                        );
       X 102621         if ((gmaj_stat == GSS_S_COMPLETE)||
       X 102622             (gmaj_stat == GSS_S_CONTINUE_NEEDED)) {
       X 102623             fprintf(stderr, "GSSAPI error major: %s\n",
       X 102624                     (char*)msg.value);
       X 102625             gss_release_buffer(&gmin_stat, &msg);
       X 102626         }
       X 102627         if (gmaj_stat != GSS_S_CONTINUE_NEEDED)
       X 102628           break;
       X 102629     }
       X 102630     msg_ctx = 0;
       X 102631     while (!msg_ctx) {
       X 102632         gmaj_stat = gss_display_status(&gmin_stat, min_stat,
       X 102633                                        GSS_C_MECH_CODE,
       X 102634                                        GSS_C_NULL_OID,
       X 102635                                        &msg_ctx,
       X 102636                                        &msg
       X 102637                                        );
       X 102638         if ((gmaj_stat == GSS_S_COMPLETE)||
       X 102639             (gmaj_stat == GSS_S_CONTINUE_NEEDED)) {
       X 102640             fprintf(stderr, "GSSAPI error minor: %s\n", (char*)msg.value);
       X 102641             gss_release_buffer(&gmin_stat, &msg);
       X 102642         }
       X 102643         if (gmaj_stat != GSS_S_CONTINUE_NEEDED)
       X 102644           break;
       X 102645     }
       X 102646     fprintf(stderr, "GSSAPI error: %s\n", s);
       X 102647 }
       X 102648 #endif /* FTP_GSSAPI */
	 102649 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1948
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 102650 #ifndef NOMHHOST
       X 102651 #ifdef datageneral
       X 102652 #define NOMHHOST
       X 102653 #else
       X 102654 #ifdef HPUX5WINTCP
       X 102655 #define NOMHHOST
       X 102656 #endif /* HPUX5WINTCP */
	 102657 #endif /* datageneral */
	 102658 #endif /* NOMHHOST */
	 102659 
       X 102660 #ifdef INADDRX
       X 102661 static struct in_addr inaddrx;
       X 102662 #endif /* INADDRX */
	 102663 
	 102664 #ifdef CK_ANSIC
	 102665 
       X 102666 #else
       X 102667 
       X 102668 #endif /* CK_ANSIC */
	 102669 
	 102670 static char *
	 102671 #ifdef CK_ANSIC
	 102672 ftp_hookup( char * host, int port, int tls )
       X 102673 #else
       X 102674 ftp_hookup(host, port, tls) char * host; int port; int tls;
       X 102675 #endif /* CK_ANSIC */
      1	 102676 {
      1	 102677     register struct hostent *hp = 0;
      1	 102678 #ifdef IP_TOS
      1X 102679 #ifdef IPTOS_THROUGHPUT
      1X 102680     int tos;
      1X 102681 #endif /* IPTOS_THROUGHPUT */
      1	 102682 #endif /* IP_TOS */
      1	 102683     int s;
      1	 102684     GSOCKNAME_T len;
       E	     size_t
      1	 102685     static char hostnamebuf[MAXHOSTNAMELEN];
       E	                             64
      1	 102686     char hostname[MAXHOSTNAMELEN] /* , *p, *q */ ;
       E	                   64
      1	 102687     int  cport;
      1	 102688 #ifdef DEBUG
      1	 102689     extern int debtim;
      1	 102690     int xdebtim;
      1	 102691     xdebtim = debtim;
      1	 102692     debtim = 1;
      1	 102693 #endif /* DEBUG */
      1	 102694 
      1	 102695     debug(F111,"ftp_hookup",host,port);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp_hookup" , ( char * ) ( host ) , ( off_t ) ( port ) ) : 0 ) )
      1	 102696 
      1X 102697 #ifndef NOHTTP
      1X 102698     if (tcp_http_proxy) {
      1X 102699         struct servent *destsp;
      1X 102700         char *p, *q;
      1X 102701 
      1X 102702         ckmakmsg(proxyhost,HTTPCPYL,host,":",ckuitoa(port),NULL);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1949
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 102703         for (p = tcp_http_proxy, q = hostname;
      1X 102704              *p != '\0' && *p != ':';
      1X 102705              p++, q++
      1X 102706              )
      1X 102707           *q = *p;
      1X 102708         *q = '\0';
      1X 102709 
      1X 102710         if (*p == ':')
      1X 102711           p++;
      1X 102712         else
      1X 102713           p = "http";
      1X 102714 
      1X 102715         destsp = getservbyname(p,"tcp");
      1X 102716         if (destsp)
      1X 102717           cport = ntohs(destsp->s_port);
      1X 102718         else if (p) {
      1X 102719           cport = atoi(p);
      1X 102720         } else
      1X 102721           cport = 80;
      1X 102722     } else
      1X 102723 #endif /* NOHTTP */
      2	 102724     {
      2	 102725         ckstrncpy(hostname,host,MAXHOSTNAMELEN);
       E	                                 64
      2	 102726         cport = port;
      1	 102727     }
      1	 102728     memset((char *)&hisctladdr, 0, sizeof (hisctladdr));
       E	     __MEMSET ( ( char * ) & hisctladdr , 0 , sizeof ( hisctladdr ) )
      1	 102729     hisctladdr.sin_addr.s_addr = inet_addr(host);
       E	                         S_un . S_addr
      1	 102730     if (hisctladdr.sin_addr.s_addr != INADDR_NONE) /* 2010-03-29 */
       E	                             S_un . S_addr
       E	                                       0xffffffff
      2	 102731     {
      2	 102732         debug(F110,"ftp hookup A",hostname,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp hookup A" , ( char * ) ( hostname ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 102733         hisctladdr.sin_family = AF_INET;
       E	                                 2
      2	 102734         ckstrncpy(hostnamebuf, hostname, MAXHOSTNAMELEN);
       E	                                          64
      2	 102735     } else {
      2	 102736         debug(F110,"ftp hookup B",hostname,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp hookup B" , ( char * ) ( hostname ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 102737         hp = gethostbyname(hostname);
      2	 102738 #ifdef HADDRLIST
      2	 102739         hp = ck_copyhostent(hp);        /* make safe copy that won't change */
      2	 102740 #endif /* HADDRLIST */
      3	 102741         if (hp == NULL) {
       E	                   ( ( void * ) 0 )
      3	 102742             fprintf(stderr, "ftp: %s: Unknown host\n", host);
       E	                     ( decc$ga_stderr )
      3	 102743             ftpcode = -1;
      3	 102744 #ifdef DEBUG
      3	 102745             debtim = xdebtim;
      3	 102746 #endif /* DEBUG */
      3	 102747             return((char *) 0);
      2	 102748         }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1950
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 102749         hisctladdr.sin_family = hp->h_addrtype;
      2	 102750 #ifdef HADDRLIST
      2	 102751         memcpy((char *)&hisctladdr.sin_addr, hp->h_addr_list[0],
       E	         __MEMCPY ( ( char * ) & hisctladdr . sin_addr , hp -> h_addr_list [ 0 ] , sizeof ( hisctladdr . sin_addr ) 
       E	)
      2	 102752                sizeof(hisctladdr.sin_addr));
      2X 102753 #else /* HADDRLIST */
      2X 102754         memcpy((char *)&hisctladdr.sin_addr, hp->h_addr,
      2X 102755                sizeof(hisctladdr.sin_addr));
      2X 102756 #endif /* HADDRLIST */
      2	 102757         ckstrncpy(hostnamebuf, hp->h_name, MAXHOSTNAMELEN);
       E	                                            64
      1	 102758     }
      1	 102759     debug(F110,"ftp hookup C",hostnamebuf,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp hookup C" , ( char * ) ( hostnamebuf ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102760     ftp_host = hostnamebuf;
      1	 102761     s = socket(hisctladdr.sin_family, SOCK_STREAM, 0);
       E	                                       1
      1	 102762     debug(F101,"ftp hookup socket","",s);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp hookup socket" , ( char * ) ( "" ) , ( off_t ) ( s ) ) : 0 ) )
      2	 102763     if (s < 0) {
      2	 102764         perror("ftp: socket");
      2	 102765         ftpcode = -1;
      2	 102766 #ifdef DEBUG
      2	 102767         debtim = xdebtim;
      2	 102768 #endif /* DEBUG */
      2	 102769         return(0);
      1	 102770     }
      1	 102771     hisctladdr.sin_port = htons(cport);
      1	 102772     errno = 0;
       E	     ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      1	 102773 
      1X 102774 #ifdef COMMENT
      1X 102775   printf("hisctladdr=%d\n",sizeof(hisctladdr));
      1X 102776   printf("hisctladdr.sin_addr=%d\n",sizeof(hisctladdr.sin_addr));
      1X 102777   printf("sockaddr_in=%d\n",sizeof(struct sockaddr_in));
      1X 102778   printf("hisctladdr.sin_addr.s_addr=%d\n",sizeof(hisctladdr.sin_addr.s_addr));
      1X 102779 #endif	/* COMMENT */
      1	 102780 
      1	 102781 #ifdef HADDRLIST
      1	 102782     debug(F100,"ftp hookup HADDRLIST","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup HADDRLIST" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102783     while
      1X 102784 #else
      1X 102785     debug(F100,"ftp hookup no HADDRLIST","",0);
      1X 102786     if
      1X 102787 #endif /* HADDRLIST */
      2	 102788       (connect(s, (struct sockaddr *)&hisctladdr, sizeof (hisctladdr)) < 0) {
      2	 102789           debug(F101,"ftp hookup connect failed","",errno);
       E	           ( ( void ) ( deblog ? dodebug ( 5 , "ftp hookup connect failed" , ( char * ) ( "" ) , ( off_t ) ( ( * CMA
       E	$TIS_ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      2	 102790 #ifdef HADDRLIST
      3	 102791           if (hp && hp->h_addr_list[1]) {
      3	 102792               int oerrno = errno;
       E	                            ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      3	 102793 
      3	 102794               fprintf(stderr, "ftp: connect to address %s: ",

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1951
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                       ( decc$ga_stderr )
      3	 102795                       inet_ntoa(hisctladdr.sin_addr));
      3	 102796               errno = oerrno;
       E	               ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      3	 102797               perror((char *) 0);
      3	 102798               hp->h_addr_list++;
      3	 102799               memcpy((char *)&hisctladdr.sin_addr,
       E	               __MEMCPY ( ( char * ) & hisctladdr . sin_addr , hp -> h_addr_list [ 0 ] , sizeof ( hisctladdr . sin_a
       E	ddr ) )
      3	 102800                      hp->h_addr_list[0],
      3	 102801                      sizeof(hisctladdr.sin_addr));
      3	 102802               fprintf(stdout, "Trying %s...\n",
       E	                       ( decc$ga_stdout )
      3	 102803                       inet_ntoa(hisctladdr.sin_addr));
      3	 102804 #ifdef TCPIPLIB
      3	 102805               socket_close(s);
       E	               close
      3X 102806 #else /* TCPIPLIB */
      3X 102807               close(s);
      3X 102808 #endif /* TCPIPLIB */
      3	 102809               s = socket(hisctladdr.sin_family, SOCK_STREAM, 0);
       E	                                                 1
      4	 102810               if (s < 0) {
      4	 102811                   perror("ftp: socket");
      4	 102812                   ftpcode = -1;
      4	 102813 #ifdef DEBUG
      4	 102814                   debtim = xdebtim;
      4	 102815 #endif /* DEBUG */
      4	 102816                   return(0);
      3	 102817               }
      3	 102818               continue;
      2	 102819           }
      2	 102820 #endif /* HADDRLIST */
      2	 102821           perror("ftp: connect");
      2	 102822           ftpcode = -1;
      2	 102823           goto bad;
      1	 102824       }
      1	 102825     debug(F100,"ftp hookup connect ok","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup connect ok" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102826 
      1	 102827     len = sizeof (myctladdr);
      1	 102828     errno = 0;
       E	     ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      2	 102829     if (getsockname(s, (struct sockaddr *)&myctladdr, &len) < 0) {
      2	 102830         debug(F101,"ftp hookup getsockname failed","",errno);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp hookup getsockname failed" , ( char * ) ( "" ) , ( off_t ) ( ( * C
       E	MA$TIS_ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      2	 102831         perror("ftp: getsockname");
      2	 102832         ftpcode = -1;
      2	 102833         goto bad;
      1	 102834     }
      1	 102835     debug(F100,"ftp hookup getsockname ok","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup getsockname ok" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102836 
      1X 102837 #ifndef NOHTTP
      1X 102838     if (tcp_http_proxy) {
      1X 102839 #ifdef OS2

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1952
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 102840         char * agent = "Kermit 95";     /* Default user agent */
      1X 102841 #else
      1X 102842         char * agent = "C-Kermit";
      1X 102843 #endif /* OS2 */
      1X 102844 
      1X 102845         if (http_connect(s,agent,NULL,
      1X 102846                          tcp_http_proxy_user,
      1X 102847                          tcp_http_proxy_pwd,
      1X 102848                          0,
      1X 102849                          proxyhost
      1X 102850                          ) < 0) {
      1X 102851             char * foo = NULL;
      1X 102852 #ifdef TCPIPLIB
      1X 102853             socket_close(s);
      1X 102854 #else /* TCPIPLIB */
      1X 102855             close(s);
      1X 102856 #endif /* TCPIPLIB */
      1X 102857 
      1X 102858             while (foo == NULL && tcp_http_proxy != NULL ) {
      1X 102859 
      1X 102860                 if (tcp_http_proxy_errno == 401 ||
      1X 102861                      tcp_http_proxy_errno == 407 ) {
      1X 102862                     char uid[UIDBUFLEN];
      1X 102863                     char pwd[PWDSIZ];
      1X 102864                     struct txtbox tb[2];
      1X 102865                     int ok;
      1X 102866 
      1X 102867                     tb[0].t_buf = uid;
      1X 102868                     tb[0].t_len = UIDBUFLEN;
      1X 102869                     tb[0].t_lbl = "Proxy Userid: ";
      1X 102870                     tb[0].t_dflt = NULL;
      1X 102871                     tb[0].t_echo = 1;
      1X 102872                     tb[1].t_buf = pwd;
      1X 102873                     tb[1].t_len = 256;
      1X 102874                     tb[1].t_lbl = "Proxy Passphrase: ";
      1X 102875                     tb[1].t_dflt = NULL;
      1X 102876                     tb[1].t_echo = 2;
      1X 102877 
      1X 102878                     ok = uq_mtxt("Proxy Server Authentication Required\n",
      1X 102879                                   NULL, 2, tb);
      1X 102880 
      1X 102881                     if (ok && uid[0]) {
      1X 102882                         char * proxy_user, * proxy_pwd;
      1X 102883 
      1X 102884                         proxy_user = tcp_http_proxy_user;
      1X 102885                         proxy_pwd  = tcp_http_proxy_pwd;
      1X 102886 
      1X 102887                         tcp_http_proxy_user = uid;
      1X 102888                         tcp_http_proxy_pwd = pwd;
      1X 102889 
      1X 102890                         foo = ftp_hookup(host, port, 0);
      1X 102891 
      1X 102892                         debug(F110,"ftp_hookup()",foo,0);
      1X 102893                         memset(pwd,0,PWDSIZ);
      1X 102894                         tcp_http_proxy_user = proxy_user;
      1X 102895                         tcp_http_proxy_pwd = proxy_pwd;
      1X 102896                     } else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1953
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 102897                         break;
      1X 102898                 } else
      1X 102899                     break;
      1X 102900             }
      1X 102901             if (foo != NULL)
      1X 102902               return(foo);
      1X 102903             perror("ftp: connect");
      1X 102904             ftpcode = -1;
      1X 102905             goto bad;
      1X 102906         }
      1X 102907         ckstrncpy(hostnamebuf, proxyhost, MAXHOSTNAMELEN);
      1X 102908     }
      1X 102909 #endif /* NOHTTP */
      1	 102910 
      1	 102911     csocket = s;
      1	 102912 
      1	 102913 #ifdef CK_SSL
      2	 102914     if (tls) {
      2	 102915         /* FTP over SSL
      2	 102916          * If the connection is over an SSL proxy then the
      2	 102917          * auth_type will be NULL.  However, I'm not sure
      2	 102918          * whether we should protect the data channel in
      2	 102919          * that case or not.
      2	 102920          */
      2	 102921 
      2	 102922         debug(F100,"ftp hookup use_tls","",0);
       E	         ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup use_tls" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	 102923         if (!ssl_auth()) {
      3	 102924             debug(F100,"ftp hookup ssl_auth failed","",0);
       E	             ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup ssl_auth failed" , ( char * ) ( "" ) , ( off_t ) ( 0 ) 
       E	) : 0 ) )
      3	 102925             auth_type = NULL;
       E	                         ( ( void * ) 0 )
      3	 102926             ftpcode = -1;
      3	 102927             csocket = -1;
      3	 102928             goto bad;
      2	 102929         }
      2	 102930         ssl_ftp_proxy = 1;
      1	 102931     }
      1	 102932 #endif /* CK_SSL */
      1	 102933 
      1	 102934 #ifdef IP_TOS
      1X 102935 #ifdef IPTOS_LOWDELAY
      1X 102936     tos = IPTOS_LOWDELAY;
      1X 102937     if (setsockopt(csocket, IPPROTO_IP, IP_TOS, (char *)&tos, sizeof(int)) < 0)
      1X 102938       perror("ftp: setsockopt TOS (ignored)");
      1X 102939 #endif
      1	 102940 #endif
      1	 102941     if (!quiet)
      1	 102942       printf("Connected to %s.\n", host);
      1	 102943 
      1	 102944     /* Read greeting from server */
      2	 102945     if (getreply(0,ftp_csl,ftp_csr,ftp_vbm,0) > 2) {
      2	 102946         debug(F100,"ftp hookup bad reply","",0);
       E	         ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup bad reply" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 102947 #ifdef TCPIPLIB
      2	 102948         socket_close(csocket);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1954
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	         close
      2X 102949 #else /* TCPIPLIB */
      2X 102950         close(csocket);
      2X 102951 #endif /* TCPIPLIB */
      2	 102952         ftpcode = -1;
      2	 102953         goto bad;
      1	 102954     }
      1	 102955 #ifdef SO_OOBINLINE
      2	 102956     {
      2	 102957         int on = 1;
      2	 102958         errno = 0;
       E	         ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
      2	 102959         if (setsockopt(s, SOL_SOCKET, SO_OOBINLINE, (char *)&on,
       E	                           0xffff
       E	                                       0x0100
      3	 102960 		       sizeof(on)) < 0) {
      3	 102961             perror("ftp: setsockopt");
      3	 102962             debug(F101,"ftp hookup setsockopt failed","",errno);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp hookup setsockopt failed" , ( char * ) ( "" ) , ( off_t ) ( ( 
       E	* CMA$TIS_ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      2	 102963         }
      2	 102964 #ifdef DEBUG
      2	 102965         else
      2	 102966           debug(F100,"ftp hookup setsockopt ok","",0);
       E	           ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup setsockopt ok" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 
       E	0 ) )
      2	 102967 #endif /* DEBUG */
      1	 102968     }
      1	 102969 #endif /* SO_OOBINLINE */
      1	 102970 
      1	 102971 #ifdef DEBUG
      1	 102972     debtim = xdebtim;
      1	 102973 #endif /* DEBUG */
      1	 102974     return(ftp_host);
      1	 102975 
      1	 102976   bad:
      1	 102977     debug(F100,"ftp hookup bad","",0);
       E	     ( ( void ) ( deblog ? dodebug ( 4 , "ftp hookup bad" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 102978 #ifdef TCPIPLIB
      1	 102979     socket_close(s);
       E	     close
      1X 102980 #else /* TCPIPLIB */
      1X 102981     close(s);
      1X 102982 #endif /* TCPIPLIB */
      1	 102983 #ifdef DEBUG
      1	 102984     debtim = xdebtim;
      1	 102985 #endif /* DEBUG */
      1	 102986     csocket = -1;
      1	 102987     return((char *)0);
      1	 102988 }
	 102989 
	 102990 static VOID
       E	        void
      1	 102991 ftp_init() {
      1	 102992     int i, n;
      1	 102993 
      1	 102994     /* The purpose of the initial REST 0 is not clear, but other FTP */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1955
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 102995     /* clients do it.  In any case, failure of this command is not a */
      1	 102996     /* reliable indication that the server does not support Restart. */
      1	 102997 
      1	 102998     okrestart = 0;
      2	 102999     if (!noinit) {
      2	 103000         n = ftpcmd("REST 0",NULL,0,0,0);
       E	                             ( ( void * ) 0 )
      2	 103001         if (n == REPLY_COMPLETE)
       E	                  2
      2	 103002           okrestart = 1;
      2X 103003 #ifdef COMMENT
      2X 103004         else if (ftp_deb)
      2X 103005           printf("WARNING: Unable to restore file pointer.\n");
      2X 103006 #endif /* COMMENT */
      1	 103007     }
      1	 103008     n = ftpcmd("SYST",NULL,0,0,0);      /* Get server system type */
       E	                       ( ( void * ) 0 )
      2	 103009     if (n == REPLY_COMPLETE) {
       E	              2
      2	 103010         register char *cp, c = NUL;
       E	                                '\0'
      2	 103011         cp = ckstrchr(ftp_reply_str+4,' '); /* Get first word of reply */
      2	 103012         if (cp == NULL)
       E	                   ( ( void * ) 0 )
      2	 103013           cp = ckstrchr(ftp_reply_str+4,'\r');
      3	 103014         if (cp) {
      3	 103015             if (cp[-1] == '.')
      3	 103016               cp--;
      3	 103017             c = *cp;                    /* Save this char */
      3	 103018             *cp = '\0';                 /* Replace it with NUL */
      2	 103019         }
      2	 103020         if (!quiet)
      2	 103021           printf("Remote system type is %s.\n",ftp_reply_str+4);
      2	 103022         ckstrncpy(ftp_srvtyp,ftp_reply_str+4,SRVNAMLEN);
       E	                                              32
      2	 103023         if (cp)                         /* Put back saved char */
      2	 103024           *cp = c;
      1	 103025     }
      1	 103026     alike = !ckstrcmp(ftp_srvtyp,myostype,-1,0);
      1	 103027 
      1	 103028     if (!ckstrcmp(ftp_srvtyp,"UNIX",-1,0)) servertype = SYS_UNIX;
       E	                                                         1
      1	 103029     else if (!ckstrcmp(ftp_srvtyp,"WIN32",-1,0)) servertype = SYS_WIN32;
       E	                                                               2
      1	 103030     else if (!ckstrcmp(ftp_srvtyp,"OS/2",-1,0)) servertype = SYS_WIN32;
       E	                                                              2
      1	 103031     else if (!ckstrcmp(ftp_srvtyp,"VMS",-1,0)) servertype = SYS_VMS;
       E	                                                             3
      1	 103032     else if (!ckstrcmp(ftp_srvtyp,"DOS",-1,0)) servertype = SYS_DOS;
       E	                                                             5
      1	 103033     else if (!ckstrcmp(ftp_srvtyp,"TOPS20",-1,0)) servertype = SYS_TOPS20;
       E	                                                                7
      1	 103034     else if (!ckstrcmp(ftp_srvtyp,"TOPS10",-1,0)) servertype = SYS_TOPS10;
       E	                                                                6
      1	 103035 
      1X 103036 #ifdef FTP_PROXY
      1X 103037     unix_proxy = 0;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1956
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 103038     if (servertype == SYS_UNIX && proxy) unix_proxy = 1;
      1X 103039 #endif /* FTP_PROXY */
      1	 103040 
      1	 103041     if (ftp_cmdlin && ftp_xfermode == XMODE_M)
       E	                                       1
      1	 103042       ftp_typ = binary;                 /* Type given on command line */
      1	 103043     else                                /* Otherwise set it automatically */
      1	 103044       ftp_typ = alike ? FTT_BIN : FTT_ASC;
       E	                         1
       E	                                   0
      1	 103045     changetype(ftp_typ,0);              /* Change to this type */
      1	 103046     g_ftp_typ = ftp_typ;                /* Make it the global type */
      1	 103047     if (!quiet)
      1	 103048       printf("Default transfer mode is %s\n",
      1	 103049              ftp_typ ? "BINARY" : "TEXT (\"ASCII\")"
      1	 103050              );
      1	 103051     for (i = 0; i < 16; i++)		/* Init server FEATure table */
      1	 103052       sfttab[i] = 0;
      2	 103053     if (!noinit) {
      2	 103054         n = ftpcmd("MODE S",NULL,0,0,0); /* We always send in Stream mode */
       E	                             ( ( void * ) 0 )
      2X 103055 #ifdef COMMENT
      2X 103056         if (n != REPLY_COMPLETE)
      2X 103057           printf("WARNING: Server does not accept MODE S(TREAM)\n");
      2X 103058 #endif /* COMMENT */
      2	 103059         n = ftpcmd("STRU F",NULL,0,0,0); /* STRU File (not Record or Page) */
       E	                             ( ( void * ) 0 )
      2X 103060 #ifdef COMMENT
      2X 103061         if (n != REPLY_COMPLETE)
      2X 103062           printf("WARNING: Server does not accept STRU F(ILE)\n");
      2X 103063 #endif /* COMMENT */
      3	 103064 	if (featok) {
      3	 103065 	    n = ftpcmd("FEAT",NULL,0,0,0); /* Ask server about features */
       E	                        ( ( void * ) 0 )
      4	 103066 	    if (n == REPLY_COMPLETE) {
       E	               2
      4	 103067 		debug(F101,"ftp_init FEAT","",sfttab[0]);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "ftp_init FEAT" , ( char * ) ( "" ) , ( off_t ) ( sfttab [ 0 ] ) ) : 0 ) )
      5	 103068 		if (deblog || ftp_deb) {
      5	 103069 		    int i;
      6	 103070 		    for (i = 1; i < 16 && i < nfeattab; i++) {
      6	 103071 			debug(F111,"ftp_init FEAT",feattab[i].kwd,sfttab[i]);
       E	    ( ( void ) ( deblog ? dodebug ( 7 , "ftp_init FEAT" , ( char * ) ( feattab [ i ] . kwd ) , ( off_t ) ( sfttab [ 
       E	i ] ) ) : 0 ) )
      6	 103072 			if (ftp_deb)
      6	 103073 			  printf("  Server %s %s\n",
      6	 103074 				 sfttab[i] ? "supports" : "does not support",
      6	 103075 				 feattab[i].kwd
      6	 103076 				 );
      5	 103077 		    }
      5	 103078 		    /* Deal with disabled MLST opts here if necessary */
      5	 103079 		    /* But why would it be? */
      4	 103080 		}
      3	 103081 	    }
      2	 103082 	}
      1	 103083     }
      1	 103084 }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1957
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 103085 
	 103086 static int
	 103087 #ifdef CK_ANSIC
	 103088 ftp_login( char * host )             /* (also called from ckuusy.c) */
       X 103089 #else
       X 103090 ftp_login(host) char * host;
       X 103091 #endif /* CK_ANSIC */
      1	 103092 {
      1	 103093     static char ftppass[PASSBUFSIZ]="";
       E	                         256
      1	 103094     char tmp[PASSBUFSIZ];
       E	              256
      1	 103095     char *user = NULL, *pass = NULL, *acct = NULL;
       E	                  ( ( void * ) 0 )
       E	                                ( ( void * ) 0 )
       E	                                              ( ( void * ) 0 )
      1	 103096     int n, aflag = 0;
      1	 103097     extern char uidbuf[];
      1	 103098     extern char pwbuf[];
      1	 103099     extern int  pwflg, pwcrypt;
      1	 103100 
      1	 103101     debug(F111,"ftp_login",ftp_logname,ftp_log);
       E	     ( ( void ) ( deblog ? dodebug ( 7 , "ftp_login" , ( char * ) ( ftp_logname ) , ( off_t ) ( ftp_log ) ) : 0 ) )
      1	 103102 
      1	 103103     if (!ckstrcmp(ftp_logname,"anonymous",-1,0))
      1	 103104       anonymous = 1;
      1	 103105     if (!ckstrcmp(ftp_logname,"ftp",-1,0))
      1	 103106       anonymous = 1;
      1	 103107 
      1X 103108 #ifdef FTP_SRP
      1X 103109     if (auth_type && !strcmp(auth_type, "SRP")) {
      1X 103110         user = srp_user;
      1X 103111         pass = srp_pass;
      1X 103112         acct = srp_acct;
      1X 103113     } else
      1X 103114 #endif /* FTP_SRP */
      2	 103115       if (anonymous) {
      2	 103116           user = "anonymous";
      3	 103117           if (ftp_tmp) {		/* They gave a password */
      3	 103118               pass = ftp_tmp;
      3	 103119           } else if (ftp_apw) {		/* SET FTP ANONYMOUS-PASSWORD */
      3	 103120 	      pass = ftp_apw;
      3	 103121 	  } else {			/* Supply user@host */
      3	 103122 	      ckmakmsg(tmp,PASSBUFSIZ,whoami(),"@",myhost,NULL);
       E	                     256
       E	                                                    ( ( void * ) 0 )
      3	 103123 	      pass = tmp;
      2	 103124           }
      2	 103125 	  debug(F110,"ftp anonymous",pass,0);
       E	    ( ( void ) ( deblog ? dodebug ( 6 , "ftp anonymous" , ( char * ) ( pass ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 103126       } else {
      2X 103127 #ifdef USE_RUSERPASS
      2X 103128           if (ruserpass(host, &user, &pass, &acct) < 0) {
      2X 103129               ftpcode = -1;
      2X 103130               return(0);
      2X 103131           }
      2X 103132 #endif /* USE_RUSERPASS */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1958
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 103133           if (ftp_logname) {
      3	 103134               user = ftp_logname;
      3	 103135               pass = ftp_tmp;
      3	 103136           } else if (uidbuf[0] && (ftp_tmp || pwbuf[0] && pwflg)) {
      3	 103137               user = uidbuf;
      4	 103138               if (ftp_tmp) {
      4	 103139                   pass = ftp_tmp;
      4	 103140               } else if (pwbuf[0] && pwflg) {
      4	 103141                   ckstrncpy(ftppass,pwbuf,PASSBUFSIZ);
       E	                                           256
      4X 103142 #ifdef OS2
      4X 103143                   if ( pwcrypt )
      4X 103144                       ck_encrypt((char *)ftppass);
      4X 103145 #endif /* OS2 */
      4	 103146                   pass = ftppass;
      3	 103147               }
      2	 103148           }
      2	 103149           acct = ftp_acc;
      3	 103150           while (user == NULL) {
       E	                          ( ( void * ) 0 )
      3	 103151               char *myname, prompt[PROMPTSIZ];
       E	                                    256
      3	 103152               int ok;
      3	 103153 
      3	 103154               myname = whoami();
      3	 103155               if (myname)
      3	 103156                 ckmakxmsg(prompt,PROMPTSIZ," Name (",host,":",myname,"): ",
       E	                                  256
      3	 103157                           NULL,NULL,NULL,NULL,NULL,NULL,NULL);
       E	                           ( ( void * ) 0 )
       E	                                ( ( void * ) 0 )
       E	                                     ( ( void * ) 0 )
       E	                                          ( ( void * ) 0 )
       E	                                               ( ( void * ) 0 )
       E	                                                    ( ( void * ) 0 )
       E	                                                         ( ( void * ) 0 )
      3	 103158               else
      3	 103159                 ckmakmsg(prompt,PROMPTSIZ," Name (",host,"): ",NULL);
       E	                                 256
       E	                                                                ( ( void * ) 0 )
      3	 103160               tmp[0] = '\0';
      3	 103161               
      3	 103162               ok = uq_txt(NULL,prompt,1,NULL,tmp,PASSBUFSIZ,NULL,
       E	                           ( ( void * ) 0 )
       E	                                         ( ( void * ) 0 )
       E	                                                  256
       E	                                                             ( ( void * ) 0 )
      3	 103163                           DEFAULT_UQ_TIMEOUT);
       E	                           0
      3	 103164               if (!ok || *tmp == '\0')
      3	 103165                 user = myname;
      3	 103166               else
      3	 103167                 user = brstrip(tmp);
      2	 103168           }
      1	 103169       }
      1	 103170     n = ftpcmd("USER",user,-1,-1,ftp_vbm);
      2	 103171     if (n == REPLY_COMPLETE) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1959
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	              2
      2	 103172         /* determine if we need to send a dummy password */
      2	 103173         if (ftpcmd("PWD",NULL,0,0,0) != REPLY_COMPLETE)
       E	                          ( ( void * ) 0 )
       E	                                         2
      2	 103174           ftpcmd("PASS dummy",NULL,0,0,1);
       E	                               ( ( void * ) 0 )
      2	 103175     } else if (n == REPLY_CONTINUE) {
       E	                     3
      2X 103176 #ifdef CK_ENCRYPTION
      2X 103177         int oldftp_cpl;
      2X 103178 #endif /* CK_ENCRYPTION */
      2	 103179 
      3	 103180         if (pass == NULL) {
       E	                     ( ( void * ) 0 )
      3	 103181             int ok;
      3	 103182             setint();
      3	 103183             ok = uq_txt(NULL," Password: ",2,NULL,ftppass,PASSBUFSIZ,NULL,
       E	                         ( ( void * ) 0 )
       E	                                              ( ( void * ) 0 )
       E	                                                           256
       E	                                                                      ( ( void * ) 0 )
      3	 103184                         DEFAULT_UQ_TIMEOUT);
       E	                         0
      3	 103185             if (ok)
      3	 103186                 pass = brstrip(ftppass);
      2	 103187         }
      2	 103188 
      2X 103189 #ifdef CK_ENCRYPTION
      2X 103190         oldftp_cpl = ftp_cpl;
      2X 103191         ftp_cpl = FPL_PRV;
      2X 103192 #endif /* CK_ENCRYPTION */
      2	 103193         n = ftpcmd("PASS",pass,-1,-1,1);
      3	 103194         if (!anonymous && pass) {
      3	 103195             char * p = pass;
      3	 103196             while (*p++) *(p-1) = NUL;
       E	                                   '\0'
      3	 103197             makestr(&ftp_tmp,NULL);
       E	                              ( ( void * ) 0 )
      2	 103198         }
      2X 103199 #ifdef CK_ENCRYPTION
      2X 103200         /* level may have changed */
      2X 103201         if (ftp_cpl == FPL_PRV)
      2X 103202           ftp_cpl = oldftp_cpl;
      2X 103203 #endif /* CK_ENCRYPTION */
      1	 103204     }
      2	 103205     if (n == REPLY_CONTINUE) {
       E	              3
      2	 103206         aflag++;
      3	 103207         if (acct == NULL) {
       E	                     ( ( void * ) 0 )
      3	 103208             static char ftpacct[80];
      3	 103209             int ok;
      3	 103210             setint();
      3	 103211             ok = uq_txt(NULL," Account: ",2,NULL,ftpacct,80,NULL,
       E	                         ( ( void * ) 0 )
       E	                                             ( ( void * ) 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1960
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                                             ( ( void * ) 0 )
      3	 103212                         DEFAULT_UQ_TIMEOUT);
       E	                         0
      3	 103213             if (ok)
      3	 103214                 acct = brstrip(ftpacct);
      2	 103215         }
      2	 103216         n = ftpcmd("ACCT",acct,-1,-1,ftp_vbm);
      1	 103217     }
      2	 103218     if (n != REPLY_COMPLETE) {
       E	              2
      2	 103219         fprintf(stderr, "FTP login failed.\n");
       E	                 ( decc$ga_stderr )
      2	 103220         if (haveurl)
      2	 103221           doexit(BAD_EXIT,-1);
       E	                  1
      2	 103222         return(0);
      1	 103223     }
      2	 103224     if (!aflag && acct != NULL) {
       E	                           ( ( void * ) 0 )
      2	 103225         ftpcmd("ACCT",acct,-1,-1,ftp_vbm);
      1	 103226     }
      1	 103227     makestr(&ftp_logname,user);
      1	 103228     loggedin = 1;
      1	 103229 #ifdef LOCUS
      1	 103230     /* Unprefixed file management commands go to server */
      2	 103231     if (autolocus && !ftp_cmdlin) {
      2	 103232 	setlocus(0,1);
      1	 103233     }
      1	 103234 #endif /* LOCUS */
      1	 103235     ftp_init();
      1	 103236 
      2	 103237     if (anonymous && !quiet) {
      2	 103238         printf(" Logged in as anonymous (%s)\n",pass);
      2	 103239         memset(pass, 0, strlen(pass));
       E	         __MEMSET ( pass , 0 , __STRLEN ( pass ) )
      1	 103240     }
      2	 103241     if (ftp_rdir) {
      2	 103242         if (doftpcwd(ftp_rdir,-1) < 1)
      2	 103243           doexit(BAD_EXIT,-1);
       E	                  1
      1	 103244     }
      1	 103245 
      1X 103246 #ifdef FTP_PROXY
      1X 103247     if (proxy)
      1X 103248       return(1);
      1X 103249 #endif /* FTP_PROXY */
      1	 103250     return(1);
      1	 103251 }
	 103252 
	 103253 static int
      1	 103254 ftp_reset() {
      1	 103255     int rc;
      1	 103256 #ifdef BSDSELECT
      1	 103257     int nfnd = 1;
      1	 103258     fd_set mask;
      1	 103259     FD_ZERO(&mask);
       E	     __MEMSET ( ( & mask ) , 0 , sizeof ( * ( & mask ) ) )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1961
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 103260     while (nfnd > 0) {
      2	 103261         FD_SET(csocket, &mask);
       E	         ( ( & mask ) -> fds_bits [ ( csocket ) / ( sizeof ( fd_mask ) * 8 ) ] |= ( 1 << ( ( csocket ) % ( sizeof ( 
       E	fd_mask ) * 8 ) ) ) )
      3	 103262         if ((nfnd = empty(&mask,0)) < 0) {
      3	 103263             perror("reset");
      3	 103264             ftpcode = -1;
      3	 103265             lostpeer();
      3	 103266             return(0);
      3	 103267         } else if (nfnd) {
      3	 103268             getreply(0,-1,-1,ftp_vbm,0);
      2	 103269         }
      1	 103270     }
      1X 103271 #else /* BSDSELECT */
      1X 103272 #ifdef IBMSELECT
      1X 103273     int nfnd = 1;
      1X 103274     while (nfnd > 0) {
      1X 103275         if ((nfnd = empty(&csocket,1,0)) < 0) {
      1X 103276             perror("reset");
      1X 103277             ftpcode = -1;
      1X 103278             lostpeer();
      1X 103279             return(0);
      1X 103280         } else if (nfnd) {
      1X 103281             getreply(0,-1,-1,ftp_vbm,0);
      1X 103282         }
      1X 103283     }
      1X 103284 #endif /* IBMSELECT */
      1X 103285 #endif /* BSDSELECT */
      1	 103286     rc = (ftpcmd("REIN",NULL,0,0,ftp_vbm) == REPLY_COMPLETE);
       E	                         ( ( void * ) 0 )
       E	                                              2
      1	 103287     if (rc > 0)
      1	 103288       loggedin = 0;
      1	 103289     return(rc);
      1	 103290 }
	 103291 
	 103292 static int
	 103293 #ifdef CK_ANSIC
	 103294 ftp_rename( char * from, char * to )
       X 103295 #else
       X 103296 ftp_rename(from, to) char * from, * to;
       X 103297 #endif /* CK_ANSIC */
      1	 103298 {
      1	 103299     int lcs = -1, rcs = -1;
      1	 103300 #ifndef NOCSETS
      2	 103301     if (ftp_xla) {
      2	 103302         lcs = ftp_csl;
      2	 103303         if (lcs < 0) lcs = fcharset;
      2	 103304         rcs = ftp_csx;
      2	 103305         if (rcs < 0) rcs = ftp_csr;
      1	 103306     }
      1	 103307 #endif /* NOCSETS */
      2	 103308     if (ftpcmd("RNFR",from,lcs,rcs,ftp_vbm) == REPLY_CONTINUE) {
       E	                                                3
      2	 103309         return(ftpcmd("RNTO",to,lcs,rcs,ftp_vbm) == REPLY_COMPLETE);
       E	                                                     2
      1	 103310     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1962
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 103311     return(0);                          /* Failure */
      1	 103312 }
	 103313 
	 103314 static int
	 103315 #ifdef CK_ANSIC
	 103316 ftp_umask( char * mask )
       X 103317 #else
       X 103318 ftp_umask(mask) char * mask;
       X 103319 #endif /* CK_ANSIC */
      1	 103320 {
      1	 103321     int rc;
      1	 103322     rc = (ftpcmd("SITE UMASK",mask,-1,-1,1) == REPLY_COMPLETE);
       E	                                                2
      1	 103323     return(rc);
      1	 103324 }
	 103325 
	 103326 static int
	 103327 #ifdef CK_ANSIC
	 103328 ftp_user( char * user, char * pass, char * acct )
       X 103329 #else
       X 103330 ftp_user(user,pass,acct) char * user, * pass, * acct;
       X 103331 #endif /* CK_ANSIC */
      1	 103332 {
      1	 103333     int n = 0, aflag = 0;
      1	 103334     char pwd[PWDSIZ];
       E	              256
      1	 103335 
      2	 103336     if (!auth_type && ftp_aut) {
      2X 103337 #ifdef FTP_SRP
      2X 103338         if (ck_srp_is_installed()) {
      2X 103339             if (srp_ftp_auth( NULL, user, pass)) {
      2X 103340                 makestr(&pass,srp_pass);
      2X 103341             }
      2X 103342         }
      2X 103343 #endif /* FTP_SRP */
      1	 103344     }
      1	 103345     n = ftpcmd("USER",user,-1,-1,ftp_vbm);
      1	 103346     if (n == REPLY_COMPLETE)
       E	              2
      1	 103347       n = ftpcmd("PASS dummy",NULL,0,0,1);
       E	                               ( ( void * ) 0 )
      2	 103348     else if (n == REPLY_CONTINUE) {
       E	                   3
      2X 103349 #ifdef CK_ENCRYPTION
      2X 103350         int oldftp_cpl;
      2X 103351 #endif /* CK_ENCRYPTION */
      3	 103352         if (pass == NULL || !pass[0]) {
       E	                     ( ( void * ) 0 )
      3	 103353             int ok;
      3	 103354             pwd[0] = '\0';
      3	 103355             setint();
      3	 103356             ok = uq_txt(NULL," Password: ",2,NULL,pwd,PWDSIZ,NULL,
       E	                         ( ( void * ) 0 )
       E	                                              ( ( void * ) 0 )
       E	                                                       256
       E	                                                              ( ( void * ) 0 )
      3	 103357                         DEFAULT_UQ_TIMEOUT);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1963
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                         0
      3	 103358             if (ok)
      3	 103359                 pass = brstrip(pwd);
      2	 103360         }
      2	 103361 
      2X 103362 #ifdef CK_ENCRYPTION
      2X 103363         if ((oldftp_cpl = ftp_cpl) == PROT_S)
      2X 103364           ftp_cpl = PROT_P;
      2X 103365 #endif /* CK_ENCRYPTION */
      2	 103366         n = ftpcmd("PASS",pass,-1,-1,1);
      2	 103367         memset(pass, 0, strlen(pass));
       E	         __MEMSET ( pass , 0 , __STRLEN ( pass ) )
      2X 103368 #ifdef CK_ENCRYPTION
      2X 103369         /* level may have changed */
      2X 103370         if (ftp_cpl == PROT_P)
      2X 103371           ftp_cpl = oldftp_cpl;
      2X 103372 #endif /* CK_ENCRYPTION */
      1	 103373     }
      2	 103374     if (n == REPLY_CONTINUE) {
       E	              3
      3	 103375         if (acct == NULL || !acct[0]) {
       E	                     ( ( void * ) 0 )
      3	 103376             int ok;
      3	 103377             pwd[0] = '\0';
      3	 103378             setint();
      3	 103379             ok = uq_txt(NULL," Account: ",2,NULL,pwd,PWDSIZ,NULL,
       E	                         ( ( void * ) 0 )
       E	                                             ( ( void * ) 0 )
       E	                                                      256
       E	                                                             ( ( void * ) 0 )
      3	 103380                         DEFAULT_UQ_TIMEOUT);
       E	                         0
      3	 103381             if (ok)
      3	 103382                 acct = pwd;
      2	 103383         }
      2	 103384         n = ftpcmd("ACCT",acct,-1,-1,ftp_vbm);
      2	 103385         aflag++;
      1	 103386     }
      2	 103387     if (n != REPLY_COMPLETE) {
       E	              2
      2	 103388         printf("Login failed.\n");
      2	 103389         return(0);
      1	 103390     }
      2	 103391     if (!aflag && acct != NULL && acct[0]) {
       E	                           ( ( void * ) 0 )
      2	 103392         n = ftpcmd("ACCT",acct,-1,-1,ftp_vbm);
      1	 103393     }
      2	 103394     if (n == REPLY_COMPLETE) {
       E	              2
      2	 103395         makestr(&ftp_logname,user);
      2	 103396         loggedin = 1;
      2	 103397         ftp_init();
      2	 103398         return(1);
      1	 103399     }
      1	 103400     return(0);
      1	 103401 }
	 103402 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1964
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 103403 char *
      1	 103404 ftp_authtype() {
      1	 103405     if (!connected)
      1	 103406       return("NULL");
      1	 103407     return(auth_type ? auth_type : "NULL");
      1	 103408 }
	 103409 
	 103410 char *
      1	 103411 ftp_cpl_mode() {
      2	 103412     switch (ftp_cpl) {
      2	 103413       case FPL_CLR:
       E	            1
      2	 103414         return("clear");
      2	 103415       case FPL_SAF:
       E	            2
      2	 103416         return("safe");
      2	 103417       case FPL_PRV:
       E	            3
      2	 103418         return("private");
      2	 103419       case FPL_CON:
       E	            4
      2	 103420         return("confidential");
      2	 103421       default:
      2	 103422         return("(error)");
      1	 103423     }
      1	 103424 }
	 103425 
	 103426 char *
      1	 103427 ftp_dpl_mode() {
      2	 103428     switch (ftp_dpl) {
      2	 103429       case FPL_CLR:
       E	            1
      2	 103430         return("clear");
      2	 103431       case FPL_SAF:
       E	            2
      2	 103432         return("safe");
      2	 103433       case FPL_PRV:
       E	            3
      2	 103434         return("private");
      2	 103435       case FPL_CON:
       E	            4
      2	 103436         return("confidential");
      2	 103437       default:
      2	 103438         return("(error)");
      1	 103439     }
      1	 103440 }
	 103441 
	 103442 
	 103443 /* remote_files() */
	 103444 /*
	 103445    Returns next remote filename on success;
	 103446    NULL on error or no more files with global rfrc set to:
	 103447      -1: Bad argument
	 103448      -2: Server error response to NLST, e.g. file not found
	 103449      -3: No more files
	 103450      -9: Internal error
	 103451 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1965
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 103452 #define FTPNAMBUFLEN CKMAXPATH+1024
	 103453 
	 103454 /* Check: ckmaxfiles CKMAXOPEN */
	 103455 
	 103456 #define MLSDEPTH 128			/* Stack of open temp files */
	 103457 static int mlsdepth = 0;		/* Temp file stack depth */
	 103458 static FILE * tmpfilptr[MLSDEPTH+1] = { NULL, NULL }; /* Temp file pointers */
       E	                         128
       E	                                         ( ( void * ) 0 )
       E	                                               ( ( void * ) 0 )
	 103459 static char * tmpfilnam[MLSDEPTH+1] = { NULL, NULL }; /* Temp file names */
       E	                         128
       E	                                         ( ( void * ) 0 )
       E	                                               ( ( void * ) 0 )
	 103460 
	 103461 static VOID
       E	        void
      1	 103462 mlsreset() {				/* Reset MGET temp-file stack */
      1	 103463     int i;
      2	 103464     for (i = 0; i <= mlsdepth; i++) {
      3	 103465 	if (tmpfilptr[i]) {
      3	 103466 	    fclose(tmpfilptr[i]);
      3	 103467 	    tmpfilptr[i] = NULL;
       E	                     ( ( void * ) 0 )
      4	 103468 	    if (tmpfilnam[i]) {
      4X 103469 #ifdef OS2
      4X 103470 		unlink(tmpfilnam[i]);
      4X 103471 #endif /* OS2 */
      4	 103472 		free(tmpfilnam[i]);
      3	 103473 	    }
      2	 103474 	}
      1	 103475     }
      1	 103476     mlsdepth = 0;
      1	 103477 }
	 103478 
	 103479 static CHAR *
       E	        unsigned char
	 103480 #ifdef CK_ANSIC
	 103481 remote_files(int new_query, CHAR * arg, CHAR * pattern, int proxy_switch)
       E	                             unsigned char
       E	                                         unsigned char
       X 103482 #else /* CK_ANSIC */
       X 103483 remote_files(new_query, arg, pattern, proxy_switch)
       X 103484     int new_query;
       X 103485     CHAR * arg;				/* That we send to the server */
       X 103486     CHAR * pattern;			/* That we use locally */
       X 103487     int proxy_switch;
       X 103488 #endif /* CK_ANSIC */
      1	 103489 /* remote_files */ {
      1	 103490     static CHAR buf[FTPNAMBUFLEN];
       E	            unsigned char
       E	                     4095 + 1024
      1	 103491     CHAR *cp, *whicharg;
       E	     unsigned char
      1	 103492     char * cdto = NULL;
       E	                   ( ( void * ) 0 )
      1	 103493     char * p;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1966
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1	 103494     int i, x, forced = 0;
      1	 103495     int lcs = 0, rcs = 0, xlate = 0;
      1	 103496 
      1	 103497     debug(F101,"ftp remote_files new_query","",new_query);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "ftp remote_files new_query" , ( char * ) ( "" ) , ( off_t ) ( new_query ) 
       E	) : 0 ) )
      1	 103498     debug(F110,"ftp remote_files arg",arg,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files arg" , ( char * ) ( arg ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 103499     debug(F110,"ftp remote_files pattern",pattern,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files pattern" , ( char * ) ( pattern ) , ( off_t ) ( 0 ) ) : 0
       E	 ) )
      1	 103500 
      1	 103501     rfrc = -1;
      1	 103502     if (pattern)			/* Treat empty pattern same as NULL */
      1	 103503       if (!*pattern)
      1	 103504 	pattern = NULL;
       E	            ( ( void * ) 0 )
      1	 103505     if (arg)				/* Ditto for arg */
      1	 103506       if (!*arg)
      1	 103507 	arg = NULL;
       E	        ( ( void * ) 0 )
      1	 103508 
      1	 103509   again:
      1	 103510 
      2	 103511     if (new_query) {
      3	 103512         if (tmpfilptr[mlsdepth]) {
      3	 103513             fclose(tmpfilptr[mlsdepth]);
      3	 103514             tmpfilptr[mlsdepth] = NULL;
       E	                                   ( ( void * ) 0 )
      3X 103515 #ifdef OS2
      3X 103516             if (!ftp_deb && !deblog)
      3X 103517               unlink(tmpfilnam[mlsdepth]);
      3X 103518 #endif /* OS2 */
      2	 103519         }
      1	 103520     }
      2	 103521     if (tmpfilptr[mlsdepth] == NULL) {
       E	                                ( ( void * ) 0 )
      2	 103522         extern char * tempdir;
      2	 103523         char * p;
      2	 103524         debug(F110,"ftp remote_files tempdir",tempdir,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files tempdir" , ( char * ) ( tempdir ) , ( off_t ) ( 0 ) )
       E	 : 0 ) )
      3	 103525         if (tempdir) {
      3	 103526             p = tempdir;
      3	 103527         } else {
      3X 103528 #ifdef OS2
      3X 103529 #ifdef NT
      3X 103530             p = getenv("K95TMP");
      3X 103531 #else
      3X 103532             p = getenv("K2TMP");
      3X 103533 #endif /* NT */
      3X 103534             if (!p)
      3X 103535 #endif /* OS2 */
      3	 103536               p = getenv("CK_TMP");
      3	 103537             if (!p)
      3	 103538               p = getenv("TMPDIR");
      3	 103539             if (!p) p = getenv("TEMP");

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1967
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 103540             if (!p) p = getenv("TMP");
      3X 103541 #ifdef OS2ORUNIX
      3X 103542             if (p) {
      3X 103543                 int len = strlen(p);
      3X 103544                 if (p[len-1] != '/'
      3X 103545 #ifdef OS2
      3X 103546                     && p[len-1] != '\\'
      3X 103547 #endif /* OS2 */
      3X 103548                      ) {
      3X 103549                     static char foo[CKMAXPATH];
      3X 103550                     ckstrncpy(foo,p,CKMAXPATH);
      3X 103551                     ckstrncat(foo,"/",CKMAXPATH);
      3X 103552                     p = foo;
      3X 103553                 }
      3X 103554             } else
      3X 103555 #else /* OS2ORUNIX */
      3	 103556             if (!p)
      3	 103557 #endif /* OS2ORUNIX */
      3X 103558 #ifdef UNIX                             /* Systems that have a standard */
      3X 103559                 p = "/tmp/";            /* temporary directory... */
      3X 103560 #else
      3X 103561 #ifdef datageneral
      3X 103562             p = ":TMP:";
      3X 103563 #else
      3	 103564             p = "";
      3	 103565 #endif /* datageneral */
      3	 103566 #endif /* UNIX */
      2	 103567         }
      2	 103568         debug(F110,"ftp remote_files p",p,0);
       E	         ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files p" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 103569 
      2	 103570 	/* Get temp file */
      2	 103571 
      3	 103572 	if ((tmpfilnam[mlsdepth] = (char *)malloc(CKMAXPATH+1))) {
       E	                                            4095
      3	 103573 	    ckmakmsg((char *)tmpfilnam[mlsdepth],
      3	 103574 		     CKMAXPATH+1,p,"ckXXXXXX",NULL,NULL);
       E	        4095
       E	                                 ( ( void * ) 0 )
       E	                                      ( ( void * ) 0 )
      3	 103575 	} else {
      3	 103576 	    printf("?Malloc failure: remote_files()\n");
      3	 103577 	    return(NULL);
       E	             ( ( void * ) 0 )
      2	 103578 	}
      2	 103579 
      2X 103580 #ifdef NT
      2X 103581 	{
      2X 103582 	    char * tmpfil = mktemp((char *)tmpfilnam[mlsdepth]);
      2X 103583 	    if ( tmpfil )
      2X 103584 		ckstrncpy(tmpfilnam[mlsdepth],tmpfil,CKMAXPATH+1);
      2X 103585 	}
      2X 103586 #else /* NT */
      2X 103587 #ifdef MKTEMP
      2X 103588 #ifdef MKSTEMP
      2X 103589 	x = mkstemp((char *)tmpfilnam[mlsdepth]);
      2X 103590 	if (x > -1) close(x);		/* We just want the name. */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1968
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2X 103591 #else
      2X 103592         mktemp((char *)tmpfilnam[mlsdepth]);
      2X 103593 #endif /* MKSTEMP */
      2X 103594         /* if no mktmpnam() the name will just be "ckXXXXXX"... */
      2X 103595 #endif /* MKTEMP */
      2	 103596 #endif /* NT */
      2	 103597 
      2	 103598 	debug(F111,"ftp remote_files tmpfilnam[mlsdepth]",
       E	  ( ( void ) ( deblog ? dodebug ( 7 , "ftp remote_files tmpfilnam[mlsdepth]" , ( char * ) ( tmpfilnam [ mlsdepth ] )
       E	 , ( off_t ) ( mlsdepth ) ) : 0 ) )
      2	 103599 	      tmpfilnam[mlsdepth],mlsdepth);
      2	 103600 
      2X 103601 #ifdef FTP_PROXY
      2X 103602         if (proxy_switch) {
      2X 103603             pswitch(!proxy);
      2X 103604         }
      2X 103605 #endif /* FTP_PROXY */
      2	 103606 
      2	 103607         debug(F101,"ftp remote_files ftp_xla","",ftp_xla);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp remote_files ftp_xla" , ( char * ) ( "" ) , ( off_t ) ( ftp_xla ) 
       E	) : 0 ) )
      2	 103608         debug(F101,"ftp remote_files ftp_csl","",ftp_csl);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp remote_files ftp_csl" , ( char * ) ( "" ) , ( off_t ) ( ftp_csl ) 
       E	) : 0 ) )
      2	 103609         debug(F101,"ftp remote_files ftp_csr","",ftp_csr);
       E	         ( ( void ) ( deblog ? dodebug ( 5 , "ftp remote_files ftp_csr" , ( char * ) ( "" ) , ( off_t ) ( ftp_csr ) 
       E	) : 0 ) )
      2	 103610 
      2	 103611 #ifndef NOCSETS
      2	 103612         xlate = ftp_xla;                /* SET FTP CHARACTER-SET-TRANSLATION */
      3	 103613         if (xlate) {                    /* ON? */
      3	 103614             lcs = ftp_csl;              /* Local charset */
      3	 103615             if (lcs < 0) lcs = fcharset;
      3	 103616             if (lcs < 0) xlate = 0;
      2	 103617         }
      3	 103618         if (xlate) {                    /* Still ON? */
      3	 103619             rcs = ftp_csx;              /* Remote (Server) charset */
      3	 103620             if (rcs < 0) rcs = ftp_csr;
      3	 103621             if (rcs < 0) xlate = 0;
      2	 103622         }
      2	 103623 #endif /* NOCSETS */
      2	 103624 
      2	 103625 	forced = mgetforced;		/* MGET method forced? */
      2	 103626 	if (!forced || !mgetmethod)	/* Not forced... */
      2	 103627 	  mgetmethod = (sfttab[0] && sfttab[SFT_MLST]) ? /* so pick one */
       E	                                      4
      2	 103628 	      SND_MLS :
       E	        48
      2	 103629 	      SND_NLS; 
       E	        47
      2	 103630 /*                                           
      2	 103631   User's Command:                 Result:
      2	 103632     mget /nlst                     NLST (NULL)
      2	 103633     mget /nlst foo                 NLST foo
      2	 103634     mget /nlst *.txt               NLST *.txt 
      2	 103635     mget /nlst /match:*.txt        NLST (NULL)
      2	 103636     mget /nlst /match:*.txt  foo   NLST foo   

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1969
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      2	 103637     mget /mlsd                     MLSD (NULL)
      2	 103638     mget /mlsd foo                 MLSD foo
      2	 103639     mget /mlsd *.txt               MLSD (NULL)
      2	 103640     mget /mlsd /match:*.txt        MLSD (NULL)
      2	 103641     mget /mlsd /match:*.txt  foo   MLSD foo
      2	 103642 */
      2	 103643 	x = -1;
      3	 103644 	while (x < 0) {
      4	 103645 	    if (pattern) {		/* Don't simplify this! */
      4	 103646 		whicharg = arg;
      4	 103647 	    } else if (mgetmethod == SND_MLS) {
       E	                               48
      4	 103648 		if (arg)
      4	 103649 		  whicharg = iswild((char *)arg) ? NULL : arg;
       E	                                      ( ( void * ) 0 )
      4	 103650 		else
      4	 103651 		  whicharg = NULL;
       E	                ( ( void * ) 0 )
      4	 103652 	    } else {
      4	 103653 		whicharg = arg;
      3	 103654 	    }
      3	 103655 	    debug(F110,"ftp remote_files mgetmethod",
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files mgetmethod" , ( char * ) ( mgetmethod == 48 ? "MLSD" : "
       E	NLST" ) , ( off_t ) ( 0 ) ) : 0 ) )
      3	 103656 		  mgetmethod == SND_MLS ? "MLSD" : "NLST", 0);
      3	 103657 	    debug(F110,"ftp remote_files whicharg",whicharg,0);
       E	      ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files whicharg" , ( char * ) ( whicharg ) , ( off_t ) ( 0 ) ) 
       E	: 0 ) )
      3	 103658 
      3	 103659 	    x = recvrequest((mgetmethod == SND_MLS) ? "MLSD" : "NLST",
       E	                                     48
      3	 103660 			    (char *)tmpfilnam[mlsdepth],
      3	 103661 			    (char *)whicharg,
      3	 103662 			    "wb",
      3	 103663 			    0,
      3	 103664 			    0,
      3	 103665 			    NULL,
       E	        ( ( void * ) 0 )
      3	 103666 			    xlate,
      3	 103667 			    lcs,
      3	 103668 			    rcs
      3	 103669 			    );
      4	 103670 	    if (x < 0) {		/* Chosen method wasn't accepted */
      5	 103671 		if (forced) {
      5	 103672 		    if (ftpcode > 500 && ftpcode < 505 && !quiet)
      5	 103673 		      printf("?%s: Not supported by server\n",
      5	 103674 			     mgetmethod == SND_MLS ? "MLSD" : "NLST"
       E	                       48
      5	 103675 			     );
      5	 103676 		    rfrc = -2;		/* Fail */
      5	 103677 		    return(NULL);
       E	              ( ( void * ) 0 )
      4	 103678 		}
      4	 103679 		/* Not forced - if MLSD failed, try NLST */
      5	 103680 		if (mgetmethod == SND_MLS) {  /* Server lied about MLST */
       E	                     48
      5	 103681 		    sfttab[SFT_MLST] = 0;     /* So disable it */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1970
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	              4
      5	 103682 		    mlstok = 0;		      /* and */
      5	 103683 		    mgetmethod = SND_NLS;     /* try NLST */
       E	                    47
      5	 103684 		    continue;
      4	 103685 		}
      4	 103686 		rfrc = -2;
      4	 103687 		return(NULL);
       E	          ( ( void * ) 0 )
      3	 103688 	    }
      2	 103689 	}
      2X 103690 #ifdef FTP_PROXY
      2X 103691         if (proxy_switch) {
      2X 103692             pswitch(!proxy);
      2X 103693         }
      2X 103694 #endif /* FTP_PROXY */
      2	 103695         tmpfilptr[mlsdepth] = fopen((char *)tmpfilnam[mlsdepth], "r");
      2	 103696 #ifndef OS2
      3	 103697 	if (tmpfilptr[mlsdepth]) {
      3	 103698 	    if (!ftp_deb && !deblog)
      3	 103699 	      unlink(tmpfilnam[mlsdepth]);
      2	 103700 	}
      2	 103701 #endif /* OS2 */
      2	 103702       notemp:
      3	 103703         if (!tmpfilptr[mlsdepth]) {
      3	 103704             debug(F110,"ftp remote_files open fail",tmpfilnam[mlsdepth],0);
       E	             ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files open fail" , ( char * ) ( tmpfilnam [ mlsdepth ] 
       E	) , ( off_t ) ( 0 ) ) : 0 ) )
      3	 103705             if ((!dpyactive || ftp_deb))
      3	 103706               printf("?Can't find list of remote files, oops\n");
      3	 103707             rfrc = -9;
      3	 103708             return(NULL);
       E	                    ( ( void * ) 0 )
      2	 103709         }
      2	 103710 	if (ftp_deb)
      2	 103711 	  printf("LISTFILE: %s\n",tmpfilnam[mlsdepth]);
      1	 103712     }
      1	 103713     buf[0] = NUL;
       E	              '\0'
      1	 103714     buf[FTPNAMBUFLEN-1] = NUL;
       E	         4095 + 1024
       E	                           '\0'
      1	 103715     buf[FTPNAMBUFLEN-2] = NUL;
       E	         4095 + 1024
       E	                           '\0'
      1	 103716 
      1	 103717     /* We have to redo all this because the first time was only for */
      1	 103718     /* for getting the file list, now it's for getting each file */
      1	 103719 
      2	 103720     if (arg && mgetmethod == SND_MLS) {	/* MLSD */
       E	                              48
      3	 103721 	if (!pattern && iswild((char *)arg)) {
      3	 103722 	    pattern = arg;		/* Wild arg is really a pattern */
      3	 103723 	    if (pattern)
      3	 103724 	      if (!*pattern)
      3	 103725 		pattern = NULL;
       E	             ( ( void * ) 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1971
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 103726 	    arg = NULL;			/* and not an arg */
       E	            ( ( void * ) 0 )
      2	 103727 	}
      3	 103728 	if (new_query) {		/* Initial query? */
      3	 103729 	    cdto = (char *)arg;		/* (nonwild) arg given? */
      3	 103730 	    if (cdto)
      3	 103731 	      if (!*cdto)
      3	 103732 		cdto = NULL;
       E	          ( ( void * ) 0 )
      3	 103733 	    if (cdto)			/* If so, then CD to it */
      3	 103734 	      doftpcwd(cdto,0);
      2	 103735 	}
      1	 103736     }
      1	 103737     new_query = 0;
      1	 103738 
      2	 103739     if (fgets((char *)buf, FTPNAMBUFLEN, tmpfilptr[mlsdepth]) == NULL) {
       E	                            4095 + 1024
       E	                                                                  ( ( void * ) 0 )
      2	 103740         fclose(tmpfilptr[mlsdepth]);
      2	 103741         tmpfilptr[mlsdepth] = NULL;
       E	                               ( ( void * ) 0 )
      2	 103742 
      2X 103743 #ifdef OS2
      2X 103744         if (!ftp_deb && !deblog)
      2X 103745           unlink(tmpfilnam[mlsdepth]);
      2X 103746 #endif /* OS2 */
      3	 103747         if (ftp_deb && !deblog) {
      3	 103748             printf("(Temporary file %s NOT deleted)\n",
      3	 103749 		   (char *)tmpfilnam[mlsdepth]);
      2	 103750         }
      3	 103751 	if (mlsdepth <= 0) {		/* EOF at depth 0 */
      3	 103752 	    rfrc = -3;			/* means we're done */
      3	 103753 	    return(NULL);
       E	             ( ( void * ) 0 )
      2	 103754 	}
      2	 103755 	printf("POPPING(%d)...\n",mlsdepth-1); 
      2	 103756 	if (tmpfilnam[mlsdepth]) free(tmpfilnam[mlsdepth]);
      2	 103757 	mlsdepth--;
      2	 103758 	doftpcdup();
      2	 103759 	zchdir("..");			/* <-- Not portable */
      2	 103760 	goto again;
      1	 103761     }
      2	 103762     if (buf[FTPNAMBUFLEN-1]) {
       E	             4095 + 1024
      2	 103763 	printf("?BUFFER OVERFLOW -- FTP NLST or MLSD string longer than %d\n",
      2	 103764 	       FTPNAMBUFLEN
       E	         4095 + 1024
      2	 103765 	       );
      2	 103766 	debug(F101,"remote_files buffer overrun","",FTPNAMBUFLEN);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "remote_files buffer overrun" , ( char * ) ( "" ) , ( off_t ) ( 4095 + 1024 ) 
       E	) : 0 ) )
      2	 103767 	return(NULL);
       E	         ( ( void * ) 0 )
      1	 103768     }
      1	 103769     /* debug(F110,"ftp remote_files buf 1",buf,0); */
      1	 103770     if ((cp = (CHAR *)ckstrchr((char *)buf,'\n')) != NULL)
       E	                unsigned char

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1972
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                                                      ( ( void * ) 0 )
      1	 103771       *cp = '\0';
      1	 103772     if ((cp = (CHAR *)ckstrchr((char *)buf,'\r')) != NULL)
       E	                unsigned char
       E	                                                      ( ( void * ) 0 )
      1	 103773       *cp = '\0';
      1	 103774     debug(F110,"ftp remote_files buf",buf,0);
       E	     ( ( void ) ( deblog ? dodebug ( 6 , "ftp remote_files buf" , ( char * ) ( buf ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 103775     rfrc = 0;
      1	 103776 
      1	 103777     if (ftp_deb)
      1	 103778       printf("[%s]\n",(char *)buf);
      1	 103779 
      1	 103780     havesize = (CK_OFF_T)-1;		/* Initialize file facts... */
       E	                 off_t
      1	 103781     havetype = 0;
      1	 103782     makestr(&havemdtm,NULL);
       E	                       ( ( void * ) 0 )
      1	 103783     p = (char *)buf;
      1	 103784 
      2	 103785     if (mgetmethod == SND_NLS) {	/* NLST... */
       E	                       47
      3	 103786 	if (pattern) {
      3	 103787 	    if (!ckmatch((char *)pattern,p,(servertype == SYS_UNIX),1))
       E	                                                    1
      3	 103788 	      goto again;
      2	 103789 	}
      2	 103790     } else {				/* MLSD... */
      2	 103791 	p = parsefacts((char *)buf);
      3	 103792 	switch (havetype) {
      3	 103793 	  case FTYP_FILE:		/* File: Get it if it matches */
       E	         1
      4	 103794 	    if (pattern) {
      4	 103795 		if (!ckmatch((char *)pattern,p,(servertype == SYS_UNIX),1))
       E	                                                 1
      4	 103796 		  goto again;
      3	 103797 	    }
      3	 103798 	    break;
      3	 103799 	  case FTYP_CDIR:		/* Current directory */
       E	         3
      3	 103800 	  case FTYP_PDIR:		/* Parent directory */
       E	         4
      3	 103801 	    goto again;			/* Skip */
      3	 103802 	  case FTYP_DIR:		/* (Sub)Directory */
       E	         2
      3	 103803 	    if (!recursive)		/* If not /RECURSIVE */
      3	 103804 	      goto again;		/* Skip */
      4	 103805 	    if (mlsdepth < MLSDEPTH) {
       E	                     128
      4	 103806 		char * p2 = NULL;
       E	               ( ( void * ) 0 )
      4	 103807 		mlsdepth++;
      4	 103808 		printf("RECURSING [%s](%d)...\n",p,mlsdepth); 
      5	 103809 		if (doftpcwd(p,0) > 0) {
      5	 103810 		    int x;
      6	 103811 		    if (!ckstrchr(p,'/')) {
      6	 103812 			/* zmkdir() needs dirsep */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1973
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      7	 103813 			if ((p2 = (char *)malloc((int)strlen(p) + 2))) {
       E	                                  __STRLEN ( p )
      7	 103814 			    strcpy(p2,p);	/* SAFE */
       E	        __STRCPY ( p2 , p )
      7	 103815 			    strcat(p2,"/");	/* SAFE */
      7	 103816 			    p = p2;
      6	 103817 			}
      5	 103818 		    }
      5X 103819 #ifdef NOMKDIR
      5X 103820 		    x = -1;
      5X 103821 #else
      5	 103822 		    x = zmkdir(p);
      5	 103823 #endif /* NOMKDIR */
      6	 103824 		    if (x > -1) {
      6	 103825 			zchdir(p);
      6	 103826 			p = (char *)remote_files(1,arg,pattern,0);
      6	 103827 			if (p2) free(p2);
      6	 103828 		    } else {
      6	 103829 			printf("?mkdir failed: [%s] Depth=%d\n",
      6	 103830 			       p,
      6	 103831 			       mlsdepth
      6	 103832 			       );
      6	 103833 			mlsreset();
      6	 103834 			if (p2) free(p2);
      6	 103835 			return(NULL);
       E	           ( ( void * ) 0 )
      5	 103836 		    }
      5	 103837 		} else {
      5	 103838 		    printf("?CWD failed: [%s] Depth=%d\n",p,mlsdepth);
      5	 103839 		    mlsreset();
      5	 103840 		    return(NULL);
       E	              ( ( void * ) 0 )
      4	 103841 		}
      4	 103842 	    } else {
      4	 103843 		printf("MAX DIRECTORY STACK DEPTH EXCEEDED: %d\n",
      4	 103844 		       mlsdepth
      4	 103845 		       );
      4	 103846 		mlsreset();
      4	 103847 		return(NULL);
       E	          ( ( void * ) 0 )
      3	 103848 	    }
      2	 103849 	}
      1	 103850     }
      1	 103851 
      1	 103852 #ifdef DEBUG
      2	 103853     if (deblog) {
      2	 103854 	debug(F101,"remote_files havesize","",havesize);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "remote_files havesize" , ( char * ) ( "" ) , ( off_t ) ( havesize ) ) : 0 ) )
      2	 103855 	debug(F101,"remote_files havetype","",havetype);
       E	  ( ( void ) ( deblog ? dodebug ( 5 , "remote_files havetype" , ( char * ) ( "" ) , ( off_t ) ( havetype ) ) : 0 ) )
      2	 103856 	debug(F110,"remote_files havemdtm",havemdtm,0);	
       E	  ( ( void ) ( deblog ? dodebug ( 6 , "remote_files havemdtm" , ( char * ) ( havemdtm ) , ( off_t ) ( 0 ) ) : 0 ) )
      2	 103857 	debug(F110,"remote_files name",p,0);	
       E	  ( ( void ) ( deblog ? dodebug ( 6 , "remote_files name" , ( char * ) ( p ) , ( off_t ) ( 0 ) ) : 0 ) )
      1	 103858     }
      1	 103859 #endif /* DEBUG */
      1	 103860     return((CHAR *)p);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1974
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	             unsigned char
      1	 103861 }
	 103862 
	 103863 /* N O T  P O R T A B L E !!! */
	 103864 
       X 103865 #if (SIZEOF_SHORT == 4)
       X 103866 typedef unsigned short ftp_uint32;
       X 103867 typedef short ftp_int32;
       X 103868 #else
       X 103869 #if (SIZEOF_INT == 4)
       X 103870 typedef unsigned int ftp_uint32;
       X 103871 typedef int ftp_int32;
       X 103872 #else
       X 103873 #if (SIZEOF_LONG == 4)
       X 103874 typedef ULONG ftp_uint32;
       X 103875 typedef long ftp_int32;
       X 103876 #endif
	 103877 #endif
	 103878 #endif
	 103879 
	 103880 /* Perhaps use these in general, certainly use them for GSSAPI */
	 103881 
	 103882 #ifndef looping_write
	 103883 #define ftp_int32 int
	 103884 #define ftp_uint32 unsigned int
	 103885 static int
	 103886 #ifdef CK_ANSIC
	 103887 looping_write( int fd, register CONST char *buf,  int len )
       E	                                 const
       X 103888 #else
       X 103889 looping_write(fd, buf, len) int fd; register CONST char *buf;  int len;
       X 103890 #endif /* CK_ANSIC */
      1	 103891 {
      1	 103892     int cc;
      1	 103893     register int wrlen = len;
      2	 103894     do {
      2	 103895         cc = send(fd, (SENDARG2TYPE)buf, wrlen, 0);
       E	                        char *
      3	 103896         if (cc < 0) {
      3	 103897             if (errno == EINTR)
       E	                 ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                          4
      3	 103898               continue;
      3	 103899             return(cc);
      3	 103900         } else {
      3	 103901             buf += cc;
      3	 103902             wrlen -= cc;
      2	 103903         }
      1	 103904     } while (wrlen > 0);
      1	 103905     return(len);
      1	 103906 }
	 103907 #endif
	 103908 #ifndef looping_read
	 103909 static int
	 103910 #ifdef CK_ANSIC
	 103911 looping_read( int fd, register char *buf, register int len )
       X 103912 #else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1975
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 103913 looping_read(fd, buf, len) int fd; register char *buf; register int len;
       X 103914 #endif /* CK_ANSIC */
      1	 103915 {
      1	 103916     int cc, len2 = 0;
      1	 103917 
      2	 103918     do {
      2	 103919         cc = recv(fd, (char *)buf, len,0);
      3	 103920         if (cc < 0) {
      3	 103921             if (errno == EINTR)
       E	                 ( * CMA$TIS_ERRNO_GET_ADDR ( ) )
       E	                          4
      3	 103922               continue;
      3	 103923             return(cc);                 /* errno is already set */
      3	 103924         } else if (cc == 0) {
      3	 103925             return(len2);
      3	 103926         } else {
      3	 103927             buf += cc;
      3	 103928             len2 += cc;
      3	 103929             len -= cc;
      2	 103930         }
      1	 103931     } while (len > 0);
      1	 103932     return(len2);
      1	 103933 }
	 103934 #endif /* looping_read */
	 103935 
	 103936 #define ERR -2
	 103937 
       X 103938 #ifdef COMMENT
       X 103939 static
       X 103940 #ifdef CK_ANSIC
       X 103941 secure_putbyte( int fd, CHAR c )
       X 103942 #else
       X 103943 secure_putbyte(fd, c) int fd; CHAR c;
       X 103944 #endif /* CK_ANSIC */
       X 103945 {
       X 103946     int ret;
       X 103947 
       X 103948     ucbuf[nout++] = c;
       X 103949     if (nout == (maxbuf ? maxbuf : actualbuf) - FUDGE_FACTOR) {
       X 103950         nout = 0;
       X 103951         if (!ftpissecure())
       X 103952           ret = send(fd, (SENDARG2TYPE)ucbuf,
       X 103953                      (maxbuf ? maxbuf : actualbuf) - FUDGE_FACTOR, 0);
       X 103954         else
       X 103955           ret = secure_putbuf(fd,
       X 103956                               ucbuf,
       X 103957                               (maxbuf ? maxbuf : actualbuf) - FUDGE_FACTOR
       X 103958                               );
       X 103959         return(ret?ret:c);
       X 103960     }
       X 103961     return(c);
       X 103962 }
       X 103963 #endif /* COMMENT */
	 103964 
	 103965 /* returns:
	 103966  *       0  on success
	 103967  *      -1  on error (errno set)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1976
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 103968  *      -2  on security error
	 103969  */
	 103970 static int
	 103971 #ifdef CK_ANSIC
	 103972 secure_flush( int fd )
       X 103973 #else
       X 103974 secure_flush(fd) int fd;
       X 103975 #endif /* CK_ANSIC */
      1	 103976 {
      1	 103977     int rc = 0;
      1	 103978     int len = 0;
      1	 103979 
      2	 103980     if (nout > 0) {
      2	 103981         len = nout;
      3	 103982         if (!ftpissecure()) {
      3	 103983             rc = send(fd, (SENDARG2TYPE)ucbuf, nout, 0);
       E	                            char *
      3	 103984             nout = 0;
      3	 103985             goto xflush;
      3	 103986         } else {
      3	 103987             rc = secure_putbuf(fd, ucbuf, nout);
      3	 103988             if (rc)
      3	 103989               goto xflush;
      2	 103990         }
      1	 103991     }
      1	 103992     rc = (!ftpissecure()) ? 0 : secure_putbuf(fd, (CHAR *)"", nout = 0);
       E	                                                    unsigned char
      1	 103993 
      1	 103994   xflush:
      2	 103995     if (rc > -1 && len > 0 && fdispla != XYFD_B) {
       E	                                          4
      2	 103996 	spackets++;
      2	 103997         spktl = len;
      2	 103998         ftscreen(SCR_PT,'D',(CK_OFF_T)spackets,NULL);
       E	                  7
       E	                              off_t
       E	                                                ( ( void * ) 0 )
      1	 103999     }
      1	 104000     return(rc);
      1	 104001 }
	 104002 
       X 104003 #ifdef COMMENT                          /* (not used) */
	 104004 /* returns:
	 104005  *      c>=0  on success
	 104006  *      -1    on error
	 104007  *      -2    on security error
       X 104008  */
       X 104009 static int
       X 104010 #ifdef CK_ANSIC
       X 104011 secure_putc(char c, int fd)
       X 104012 #else
       X 104013 secure_putc(c, fd) char c; int fd;
       X 104014 #endif /* CK_ANSIC */
       X 104015 /* secure_putc */ {
       X 104016     return(secure_putbyte(fd, (CHAR) c));
       X 104017 }
       X 104018 #endif /* COMMENT */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1977
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 104019 
	 104020 /* returns:
	 104021  *      nbyte on success
	 104022  *      -1  on error (errno set)
	 104023  *      -2  on security error
	 104024  */
	 104025 static int
	 104026 #ifdef CK_ANSIC
	 104027 secure_write(int fd, CHAR * buf, unsigned int nbyte)
       E	                      unsigned char
       X 104028 #else
       X 104029 secure_write(fd, buf, nbyte)
       X 104030     int fd;
       X 104031     CHAR * buf;
       X 104032     unsigned int nbyte;
       X 104033 #endif /* CK_ANSIC */
      1	 104034 {
      1	 104035     int ret;
      1	 104036 
      1	 104037 #ifdef FTP_TIMEOUT    
      1	 104038     ftp_timed_out = 0;
      2	 104039     if (check_data_connection(fd,1) < 0) {
      2	 104040 	ftp_timed_out = 1;
      2	 104041 	return(-3);
      1	 104042     }
      1	 104043 #endif	/* FTP_TIMEOUT */
      1	 104044 
      2	 104045     if (!ftpissecure()) {
      3	 104046         if (nout > 0) {
      3	 104047             if ((ret = send(fd, (SENDARG2TYPE)ucbuf, nout, 0)) < 0)
       E	                                  char *
      3	 104048               return(ret);
      3	 104049             nout = 0;
      2	 104050         }
      2	 104051         return(send(fd,(SENDARG2TYPE)buf,nbyte,0));
       E	                         char *
      2	 104052     } else {
      2	 104053         int ucbuflen = (maxbuf ? maxbuf : actualbuf) - FUDGE_FACTOR;
       E	                                                        0
      2	 104054         int bsent = 0;
      2	 104055 
      3	 104056         while (bsent < nbyte) {
      3	 104057             int b2cp = ((nbyte - bsent) > (ucbuflen - nout) ?
      3	 104058                         (ucbuflen - nout) : (nbyte - bsent));
      3	 104059 #ifdef DEBUG
      4	 104060 	    if (deblog) {
      4	 104061 		debug(F101,"secure_write ucbuflen","",ucbuflen);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "secure_write ucbuflen" , ( char * ) ( "" ) , ( off_t ) ( ucbuflen ) ) : 0 ) 
       E	)
      4	 104062 		debug(F101,"secure_write ucbufsiz","",ucbufsiz);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "secure_write ucbufsiz" , ( char * ) ( "" ) , ( off_t ) ( ucbufsiz ) ) : 0 ) 
       E	)
      4	 104063 		debug(F101,"secure_write bsent","",bsent);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "secure_write bsent" , ( char * ) ( "" ) , ( off_t ) ( bsent ) ) : 0 ) )
      4	 104064 		debug(F101,"secure_write b2cp","",b2cp);
       E	   ( ( void ) ( deblog ? dodebug ( 5 , "secure_write b2cp" , ( char * ) ( "" ) , ( off_t ) ( b2cp ) ) : 0 ) )
      3	 104065 	    }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1978
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 104066 #endif /* DEBUG */
      3	 104067             memcpy(&ucbuf[nout],&buf[bsent],b2cp);
       E	             __MEMCPY ( & ucbuf [ nout ] , & buf [ bsent ] , b2cp )
      3	 104068             nout += b2cp;
      3	 104069             bsent += b2cp;
      3	 104070 
      4	 104071             if (nout == ucbuflen) {
      4	 104072                 nout = 0;
      4	 104073                 ret = secure_putbuf(fd, ucbuf, ucbuflen);
      4	 104074                 if (ret < 0)
      4	 104075                   return(ret);
      3	 104076             }
      2	 104077         }
      2	 104078         return(bsent);
      1	 104079     }
      1	 104080 }
	 104081 
	 104082 /* returns:
	 104083  *       0  on success
	 104084  *      -1  on error (errno set)
	 104085  *      -2  on security error
	 104086  */
	 104087 static int
	 104088 #ifdef CK_ANSIC
	 104089 secure_putbuf(int fd, CHAR * buf, unsigned int nbyte)
       E	                       unsigned char
       X 104090 #else
       X 104091 secure_putbuf(fd, buf, nbyte) int fd; CHAR * buf; unsigned int nbyte;
       X 104092 #endif /* CK_ANSIC */
      1	 104093 {
      1	 104094     static char *outbuf = NULL;         /* output ciphertext */
       E	                           ( ( void * ) 0 )
      1	 104095 #ifdef FTP_SECURITY
      1	 104096     static unsigned int bufsize = 0;    /* size of outbuf */
      1	 104097 #endif /* FTP_SECURITY */
      1	 104098     ftp_int32 length   = 0;
       E	     int
      1	 104099     ftp_uint32 net_len = 0;
       E	     unsigned int
      1	 104100 
      1	 104101     /* Other auth types go here ... */
      1	 104102 #ifdef CK_SSL
      2	 104103     if (ssl_ftp_data_active_flag) {
      2	 104104         int count, error;
      2	 104105 
      2	 104106         /* there is no need to send an empty buffer when using SSL/TLS */
      2	 104107         if ( nbyte == 0 )
      2	 104108 	  return(0);
      2	 104109 
      2	 104110         count = SSL_write(ssl_ftp_data_con, buf, nbyte);
      2	 104111         error = SSL_get_error(ssl_ftp_data_con,count);
      3	 104112         switch (error) {
      3	 104113           case SSL_ERROR_NONE:
       E	                0
      3	 104114             return(0);
      3	 104115           case SSL_ERROR_WANT_WRITE:
       E	                3

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1979
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 104116           case SSL_ERROR_WANT_READ:
       E	                2
      3	 104117           case SSL_ERROR_SYSCALL:
       E	                5
      3X 104118 #ifdef NT
      3X 104119             {
      3X 104120                 int gle = GetLastError();
      3X 104121 		if (gle == 0)
      3X 104122 		  return(0);
      3X 104123 		debug(F111,"secure_putbuf","SSL_ERROR_SYSCALL",gle);
      3X 104124             }
      3X 104125 #endif /* NT */
      3	 104126           case SSL_ERROR_WANT_X509_LOOKUP:
       E	                4
      3	 104127           case SSL_ERROR_SSL:
       E	                1
      3	 104128           case SSL_ERROR_ZERO_RETURN:
       E	                6
      3	 104129           default:
      3	 104130             SSL_shutdown(ssl_ftp_data_con);
      3	 104131             SSL_free(ssl_ftp_data_con);
      3	 104132             ssl_ftp_data_active_flag = 0;
      3	 104133             ssl_ftp_data_con = NULL;
       E	                                ( ( void * ) 0 )
      3	 104134 #ifdef TCPIPLIB
      3	 104135             socket_close(data);
       E	             close
      3X 104136 #else /* TCPIPLIB */
      3X 104137 #ifdef USE_SHUTDOWN
      3X 104138             shutdown(data, 1+1);
      3X 104139 #endif /* USE_SHUTDOWN */
      3X 104140             close(data);
      3X 104141 #endif /* TCPIPLIB */
      3	 104142             data = -1;
      3	 104143             globaldin = data;
      3	 104144             return(-1);
      2	 104145         }
      2	 104146         return(-1);
      1	 104147     }
      1	 104148 #endif /* CK_SSL */
      1	 104149 
      1X 104150 #ifdef FTP_SRP
      1X 104151     if (ck_srp_is_installed() && (strcmp(auth_type, "SRP") == 0)) {
      1X 104152         if (bufsize < nbyte + FUDGE_FACTOR) {
      1X 104153             if (outbuf?
      1X 104154                 (outbuf = realloc(outbuf, (unsigned) (nbyte + FUDGE_FACTOR))):
      1X 104155                 (outbuf = malloc((unsigned) (nbyte + FUDGE_FACTOR)))) {
      1X 104156                 bufsize = nbyte + FUDGE_FACTOR;
      1X 104157             } else {
      1X 104158                 bufsize = 0;
      1X 104159                 secure_error("%s (in malloc of PROT buffer)", ck_errstr());
      1X 104160                 return(ERR);
      1X 104161             }
      1X 104162         }
      1X 104163         if ((length =
      1X 104164              srp_encode(ftp_dpl == FPL_PRV,
      1X 104165                         (CHAR *) buf,

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1980
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 104166                         (CHAR *) outbuf,
      1X 104167                         nbyte
      1X 104168                         )
      1X 104169              ) < 0) {
      1X 104170             secure_error ("srp_encode failed");
      1X 104171             return ERR;
      1X 104172         }
      1X 104173     }
      1X 104174 #endif /* FTP_SRP */
      1X 104175 #ifdef FTP_KRB4
      1X 104176     if (ck_krb4_is_installed() && (strcmp(auth_type, "KERBEROS_V4") == 0)) {
      1X 104177         struct sockaddr_in myaddr, hisaddr;
      1X 104178         GSOCKNAME_T len;
      1X 104179         len = sizeof(myaddr);
      1X 104180         if (getsockname(fd, (struct sockaddr*)&myaddr, &len) < 0) {
      1X 104181             secure_error("secure_putbuf: getsockname failed");
      1X 104182             return(ERR);
      1X 104183         }
      1X 104184         len = sizeof(hisaddr);
      1X 104185         if (getpeername(fd, (struct sockaddr*)&hisaddr, &len) < 0) {
      1X 104186             secure_error("secure_putbuf: getpeername failed");
      1X 104187             return(ERR);
      1X 104188         }
      1X 104189         if (bufsize < nbyte + FUDGE_FACTOR) {
      1X 104190             if (outbuf ?
      1X 104191                 (outbuf = realloc(outbuf, (unsigned) (nbyte + FUDGE_FACTOR))):
      1X 104192                  (outbuf = malloc((unsigned) (nbyte + FUDGE_FACTOR)))) {
      1X 104193                 bufsize = nbyte + FUDGE_FACTOR;
      1X 104194             } else {
      1X 104195                 bufsize = 0;
      1X 104196                 secure_error("%s (in malloc of PROT buffer)", ck_errstr());
      1X 104197                 return(ERR);
      1X 104198             }
      1X 104199         }
      1X 104200         if (ftp_dpl == FPL_PRV) {
      1X 104201             length = krb_mk_priv(buf, (CHAR *) outbuf, nbyte,
      1X 104202                                  ftp_sched,
      1X 104203 #ifdef KRB524
      1X 104204                                  ftp_cred.session,
      1X 104205 #else /* KRB524 */
      1X 104206                                  &ftp_cred.session,
      1X 104207 #endif /* KRB524 */
      1X 104208                                  &myaddr,
      1X 104209                                  &hisaddr
      1X 104210                                  );
      1X 104211         } else {
      1X 104212             length = krb_mk_safe(buf, (CHAR *) outbuf, nbyte,
      1X 104213 #ifdef KRB524
      1X 104214                                  ftp_cred.session,
      1X 104215 #else /* KRB524 */
      1X 104216                                  &ftp_cred.session,
      1X 104217 #endif /* KRB524 */
      1X 104218                                  &myaddr,
      1X 104219                                  &hisaddr
      1X 104220                                  );
      1X 104221         }
      1X 104222         if (length == -1) {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1981
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      1X 104223             secure_error("krb_mk_%s failed for KERBEROS_V4",
      1X 104224                          ftp_dpl == FPL_PRV ? "priv" : "safe");
      1X 104225             return(ERR);
      1X 104226         }
      1X 104227     }
      1X 104228 #endif /* FTP_KRB4 */
      1X 104229 #ifdef FTP_GSSAPI
      1X 104230     if (ck_gssapi_is_installed() && (strcmp(auth_type, "GSSAPI") == 0)) {
      1X 104231         gss_buffer_desc in_buf, out_buf;
      1X 104232         OM_uint32 maj_stat, min_stat;
      1X 104233         int conf_state;
      1X 104234 
      1X 104235         in_buf.value = buf;
      1X 104236         in_buf.length = nbyte;
      1X 104237         maj_stat = gss_seal(&min_stat, gcontext,
      1X 104238                             (ftp_dpl == FPL_PRV), /* confidential */
      1X 104239                             GSS_C_QOP_DEFAULT,
      1X 104240                             &in_buf,
      1X 104241                             &conf_state,
      1X 104242                             &out_buf
      1X 104243                             );
      1X 104244         if (maj_stat != GSS_S_COMPLETE) {
      1X 104245             /* generally need to deal */
      1X 104246             /* ie. should loop, but for now just fail */
      1X 104247             user_gss_error(maj_stat, min_stat,
      1X 104248                            ftp_dpl == FPL_PRV?
      1X 104249                            "GSSAPI seal failed":
      1X 104250                            "GSSAPI sign failed");
      1X 104251             return(ERR);
      1X 104252         }
      1X 104253         if (bufsize < out_buf.length) {
      1X 104254             if (outbuf ?
      1X 104255                 (outbuf = realloc(outbuf, (unsigned) out_buf.length)):
      1X 104256                 (outbuf = malloc((unsigned) out_buf.length))) {
      1X 104257                 bufsize = out_buf.length;
      1X 104258             } else {
      1X 104259                 bufsize = 0;
      1X 104260                 secure_error("%s (in malloc of PROT buffer)",
      1X 104261                              ck_errstr());
      1X 104262                 return(ERR);
      1X 104263             }
      1X 104264         }
      1X 104265         memcpy(outbuf, out_buf.value, length=out_buf.length);
      1X 104266         gss_release_buffer(&min_stat, &out_buf);
      1X 104267     }
      1X 104268 #endif /* FTP_GSSAPI */
      1	 104269     net_len = htonl((ULONG) length);
       E	                      unsigned long
      1	 104270     if (looping_write(fd, (char *)&net_len, 4) == -1)
      1	 104271       return(-1);
      1	 104272     if (looping_write(fd, outbuf, length) != length)
      1	 104273       return(-1);
      1	 104274     return(0);
      1	 104275 }
	 104276 
	 104277 
	 104278 /* fc = 0 means to get a byte; nonzero means to initialize buffer pointers */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1982
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 104279 
	 104280 static int
	 104281 #ifdef CK_ANSIC
	 104282 secure_getbyte( int fd, int fc )
       X 104283 #else
       X 104284 secure_getbyte(fd,fc) int fd,fc;
       X 104285 #endif /* CK_ANSIC */
      1	 104286 {
      1	 104287     /* number of chars in ucbuf, pointer into ucbuf */
      1	 104288     static unsigned int nin = 0, bufp = 0;
      1	 104289     int kerror;
      1	 104290     ftp_uint32 length;
       E	     unsigned int
      1	 104291 
      2	 104292     if (fc) {
      2	 104293 	nin = bufp = 0;
      2	 104294 	ucbuf[0] = NUL;
       E	             '\0'
      2	 104295 	return(0);
      1	 104296     }
      2	 104297     if (nin == 0) {
      2	 104298         if (iscanceled())
      2	 104299           return(-9);
      2	 104300 
      2	 104301 #ifdef FTP_TIMEOUT
      2	 104302 	if (check_data_connection(fd,0) < 0)
      2	 104303 	  return(-3);
      2	 104304 #endif	/* FTP_TIMEOUT */
      2	 104305 
      2	 104306 #ifdef CK_SSL
      3	 104307         if (ssl_ftp_data_active_flag) {
      3	 104308             int count, error;
      3	 104309             count = SSL_read(ssl_ftp_data_con, ucbuf, ucbufsiz);
      3	 104310             error = SSL_get_error(ssl_ftp_data_con,count);
      3	 104311 #ifdef DEBUG
      3	 104312 	    if (error != SSL_ERROR_NONE)
       E	                   0
      3	 104313 	      debug(F101,"ftp secure_getbyte error","",error);
       E	        ( ( void ) ( deblog ? dodebug ( 5 , "ftp secure_getbyte error" , ( char * ) ( "" ) , ( off_t ) ( error ) ) :
       E	 0 ) )
      3	 104314 	    if (count == 0)
      3	 104315 	      debug(F101,"ftp secure_getbyte count","",count);
       E	        ( ( void ) ( deblog ? dodebug ( 5 , "ftp secure_getbyte count" , ( char * ) ( "" ) , ( off_t ) ( count ) ) :
       E	 0 ) )
      3	 104316 #endif	/* DEBUG */
      4	 104317             switch (error) {
      4	 104318               case SSL_ERROR_NONE:
       E	                    0
      5	 104319 		if (count > 0) {
      5	 104320 		    nin = bufp = count;
      5	 104321 		    rpackets++;
      5	 104322 		    pktnum++;
      6	 104323 		    if (fdispla != XYFD_B) {
       E	                      4
      6	 104324 			rpktl = count;
      6	 104325 			ftscreen(SCR_PT,'D',(CK_OFF_T)rpackets,NULL);
       E	             7

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1983
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	                         off_t
       E	                                           ( ( void * ) 0 )
      5	 104326 		    }
      5	 104327 		    break;
      4	 104328 		}
      4	 104329               case SSL_ERROR_WANT_WRITE:
       E	                    3
      4	 104330               case SSL_ERROR_WANT_READ:
       E	                    2
      4	 104331               case SSL_ERROR_SYSCALL:
       E	                    5
      4X 104332 #ifdef NT
      4X 104333                 {
      4X 104334                     int gle = GetLastError();
      4X 104335                 }
      4X 104336 #endif /* NT */
      4	 104337               case SSL_ERROR_WANT_X509_LOOKUP:
       E	                    4
      4	 104338               case SSL_ERROR_SSL:
       E	                    1
      4	 104339               case SSL_ERROR_ZERO_RETURN:
       E	                    6
      4	 104340               default:
      4	 104341                 nin = bufp = count = 0;
      4	 104342                 SSL_shutdown(ssl_ftp_data_con);
      4	 104343                 SSL_free(ssl_ftp_data_con);
      4	 104344                 ssl_ftp_data_active_flag = 0;
      4	 104345                 ssl_ftp_data_con = NULL;
       E	                                    ( ( void * ) 0 )
      4	 104346 #ifdef TCPIPLIB
      4	 104347                 socket_close(data);
       E	                 close
      4X 104348 #else /* TCPIPLIB */
      4X 104349 #ifdef USE_SHUTDOWN
      4X 104350                 shutdown(data, 1+1);
      4X 104351 #endif /* USE_SHUTDOWN */
      4X 104352                 close(data);
      4X 104353 #endif /* TCPIPLIB */
      4	 104354                 data = -1;
      4	 104355                 globaldin = data;
      4	 104356                 break;
      3	 104357             }
      2	 104358         } else
      2	 104359 #endif /* CK_SSL */
      3	 104360           {
      3	 104361               kerror = looping_read(fd, (char *)&length, sizeof(length));
      4	 104362               if (kerror != sizeof(length)) {
      4	 104363                   secure_error("Couldn't read PROT buffer length: %d/%s",
      4	 104364                                kerror,
      4	 104365                                kerror == -1 ? ck_errstr()
      4	 104366                                : "premature EOF"
      4	 104367                                );
      4	 104368                   return(ERR);
       E	                          - 2
      3	 104369               }
      3	 104370               debug(F101,"secure_getbyte length","",length);
       E	               ( ( void ) ( deblog ? dodebug ( 5 , "secure_getbyte length" , ( char * ) ( "" ) , ( off_t ) ( length 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1984
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	) ) : 0 ) )
      3	 104371               debug(F101,"secure_getbyte ntohl(length)","",ntohl(length));
       E	               ( ( void ) ( deblog ? dodebug ( 5 , "secure_getbyte ntohl(length)" , ( char * ) ( "" ) , ( off_t ) ( 
       E	ntohl ( length ) ) ) : 0 ) )
      3	 104372 
      3	 104373               length = (ULONG) ntohl(length);
       E	                         unsigned long
      4	 104374               if (length > maxbuf) {
      4	 104375                   secure_error("Length (%d) of PROT buffer > PBSZ=%u",
      4	 104376                                length,
      4	 104377                                maxbuf
      4	 104378                                );
      4	 104379                   return(ERR);
       E	                          - 2
      3	 104380               }
      4	 104381               if ((kerror = looping_read(fd,(char *)ucbuf,length)) != length) {
      4	 104382                   secure_error("Couldn't read %u byte PROT buffer: %s",
      4	 104383                                length,
      4	 104384                                kerror == -1 ? ck_errstr() : "premature EOF"
      4	 104385                                );
      4	 104386                   return(ERR);
       E	                          - 2
      3	 104387               }
      3	 104388 
      3	 104389               /* Other auth types go here ... */
      3X 104390 #ifdef FTP_SRP
      3X 104391               if (strcmp(auth_type, "SRP") == 0) {
      3X 104392                   if ((nin = bufp = srp_decode (ftp_dpl == FPL_PRV,
      3X 104393                                                 (CHAR *) ucbuf,
      3X 104394                                                 ucbuf,
      3X 104395                                                 length
      3X 104396                                                 )
      3X 104397                        ) == -1) {
      3X 104398                       secure_error ("srp_encode failed" );
      3X 104399                       return ERR;
      3X 104400                   }
      3X 104401               }
      3X 104402 #endif /* FTP_SRP */
      3X 104403 #ifdef FTP_KRB4
      3X 104404               if (strcmp(auth_type, "KERBEROS_V4") == 0) {
      3X 104405                   struct sockaddr_in myaddr, hisaddr;
      3X 104406                   GSOCKNAME_T len;
      3X 104407                   len = sizeof(myaddr);
      3X 104408                   if (getsockname(fd, (struct sockaddr*)&myaddr, &len) < 0) {
      3X 104409                       secure_error("secure_putbuf: getsockname failed");
      3X 104410                       return(ERR);
      3X 104411                   }
      3X 104412                   len = sizeof(hisaddr);
      3X 104413                   if (getpeername(fd, (struct sockaddr*)&hisaddr, &len) < 0) {
      3X 104414                       secure_error("secure_putbuf: getpeername failed");
      3X 104415                       return(ERR);
      3X 104416                   }
      3X 104417                   if (ftp_dpl) {
      3X 104418                       kerror = krb_rd_priv(ucbuf, length, ftp_sched,
      3X 104419 #ifdef KRB524
      3X 104420                                            ftp_cred.session,
      3X 104421 #else /* KRB524 */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1985
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3X 104422                                            &ftp_cred.session,
      3X 104423 #endif /* KRB524 */
      3X 104424                                            &hisaddr, &myaddr, &ftp_msg_data);
      3X 104425                   } else {
      3X 104426                       kerror = krb_rd_safe(ucbuf, length,
      3X 104427 #ifdef KRB524
      3X 104428                                            ftp_cred.session,
      3X 104429 #else /* KRB524 */
      3X 104430                                            &ftp_cred.session,
      3X 104431 #endif /* KRB524 */
      3X 104432                                            &hisaddr, &myaddr, &ftp_msg_data);
      3X 104433                   }
      3X 104434                   if (kerror) {
      3X 104435                       secure_error("krb_rd_%s failed for KERBEROS_V4 (%s)",
      3X 104436                                    ftp_dpl == FPL_PRV ? "priv" : "safe",
      3X 104437                                    krb_get_err_text(kerror));
      3X 104438                       return(ERR);
      3X 104439                   }
      3X 104440                   memcpy(ucbuf,ftp_msg_data.app_data,ftp_msg_data.app_length);
      3X 104441                   nin = bufp = ftp_msg_data.app_length;
      3X 104442               }
      3X 104443 #endif /* FTP_KRB4 */
      3X 104444 #ifdef FTP_GSSAPI
      3X 104445               if (strcmp(auth_type, "GSSAPI") == 0) {
      3X 104446                   gss_buffer_desc xmit_buf, msg_buf;
      3X 104447                   OM_uint32 maj_stat, min_stat;
      3X 104448                   int conf_state;
      3X 104449 
      3X 104450                   xmit_buf.value = ucbuf;
      3X 104451                   xmit_buf.length = length;
      3X 104452                   conf_state = (ftp_dpl == FPL_PRV);
      3X 104453                   /* decrypt/verify the message */
      3X 104454                   maj_stat = gss_unseal(&min_stat, gcontext, &xmit_buf,
      3X 104455                                         &msg_buf, &conf_state, NULL);
      3X 104456                   if (maj_stat != GSS_S_COMPLETE) {
      3X 104457                       user_gss_error(maj_stat, min_stat,
      3X 104458                                      (ftp_dpl == FPL_PRV)?
      3X 104459                                      "failed unsealing ENC message":
      3X 104460                                      "failed unsealing MIC message");
      3X 104461                       return ERR;
      3X 104462                   }
      3X 104463                   memcpy(ucbuf, msg_buf.value, nin = bufp = msg_buf.length);
      3X 104464                   gss_release_buffer(&min_stat, &msg_buf);
      3X 104465               }
      3X 104466 #endif /* FTP_GSSAPI */
      3	 104467               /* Other auth types go here ... */
      3	 104468 
      3	 104469               /* Update file transfer display */
      3	 104470               rpackets++;
      3	 104471               pktnum++;
      4	 104472               if (fdispla != XYFD_B) {
       E	                              4
      4	 104473                   rpktl = nin;
      4	 104474                   ftscreen(SCR_PT,'D',(CK_OFF_T)rpackets,NULL);
       E	                            7
       E	                                        off_t
       E	                                                          ( ( void * ) 0 )

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1986
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 104475               }
      2	 104476           }
      1	 104477     }
      1	 104478     if (nin == 0)
      1	 104479       return(EOF);
       E	              ( - 1 )
      1	 104480     else
      1	 104481       return(ucbuf[bufp - nin--]);
      1	 104482 }
	 104483 
	 104484 /* secure_getc(fd,fc)
	 104485  * Call with:
	 104486  *   fd = file descriptor for connection.
	 104487  *   fc = 0 to get a character, fc != 0 to initialize buffer pointers.
	 104488  * Returns:
	 104489  *   c>=0 on success (character value)
	 104490  *   -1   on EOF
	 104491  *   -2   on security error
	 104492  *   -3   on timeout (if built with FTP_TIMEOUT defined)
	 104493  */
	 104494 static int
	 104495 #ifdef CK_ANSIC
	 104496 secure_getc( int fd, int fc )		/* file descriptor, function code */
       X 104497 #else
       X 104498 secure_getc(fd,fc) int fd,fc;
       X 104499 #endif /* CK_ANSIC */
      1	 104500 {
      2	 104501     if (!ftpissecure()) {
      2	 104502         static unsigned int nin = 0, bufp = 0;
      3	 104503 	if (fc) {
      3	 104504 	    nin = bufp = 0;
      3	 104505 	    ucbuf[0] = NUL;
       E	                 '\0'
      3	 104506 	    return(0);
      2	 104507 	}
      3	 104508         if (nin == 0) {
      3	 104509             if (iscanceled())
      3	 104510               return(-9);
      3	 104511 
      3	 104512 #ifdef FTP_TIMEOUT
      4	 104513 	    if (check_data_connection(fd,0) < 0) {
      4	 104514                 debug(F100,"secure_getc TIMEOUT","",0);
       E	                 ( ( void ) ( deblog ? dodebug ( 4 , "secure_getc TIMEOUT" , ( char * ) ( "" ) , ( off_t ) ( 0 ) ) :
       E	 0 ) )
      4	 104515                 nin = bufp = 0;
      4	 104516 		ftp_timed_out = 1;
      4	 104517 		return(-3);
      3	 104518 	    }		
      3	 104519 #endif	/* FTP_TIMEOUT */
      3	 104520 
      3	 104521             nin = bufp = recv(fd,(char *)ucbuf,actualbuf,0);
      4	 104522             if ((nin == 0) || (nin == (unsigned int)-1)) {
      4	 104523                 debug(F111,"secure_getc recv errno",ckitoa(nin),errno);
       E	                 ( ( void ) ( deblog ? dodebug ( 7 , "secure_getc recv errno" , ( char * ) ( ckitoa ( nin ) ) , ( of
       E	f_t ) ( ( * CMA$TIS_ERRNO_GET_ADDR ( ) ) ) ) : 0 ) )
      4	 104524                 debug(F101,"secure_getc returns EOF","",EOF);
       E	                 ( ( void ) ( deblog ? dodebug ( 5 , "secure_getc returns EOF" , ( char * ) ( "" ) , ( off_t ) ( ( -

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1987
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       E	 1 ) ) ) : 0 ) )
      4	 104525                 nin = bufp = 0;
      4	 104526                 return(EOF);
       E	                        ( - 1 )
      3	 104527             }
      3	 104528             debug(F101,"ftp secure_getc recv","",nin);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp secure_getc recv" , ( char * ) ( "" ) , ( off_t ) ( nin ) ) : 
       E	0 ) )
      3	 104529             ckhexdump("ftp secure_getc recv",ucbuf,16);
       E	             ( ( void ) ( deblog ? dohexdump ( ( unsigned char * ) ( "ftp secure_getc recv" ) , ( unsigned char * ) 
       E	( ucbuf ) , 16 ) : 0 ) )
      3	 104530             rpackets++;
      3	 104531             pktnum++;
      4	 104532             if (fdispla != XYFD_B) {
       E	                            4
      4	 104533                 rpktl = nin;
      4	 104534                 ftscreen(SCR_PT,'D',(CK_OFF_T)rpackets,NULL);
       E	                          7
       E	                                      off_t
       E	                                                        ( ( void * ) 0 )
      3	 104535             }
      2	 104536         }
      2	 104537         return(ucbuf[bufp - nin--]);
      1	 104538     } else
      1	 104539       return(secure_getbyte(fd,fc));
      1	 104540 }
	 104541 
	 104542 /* returns:
	 104543  *     n>0  on success (n == # of bytes read)
	 104544  *       0  on EOF
	 104545  *      -1  on error (errno set), only for FPL_CLR
	 104546  *      -2  on security error
	 104547  */
	 104548 static int
	 104549 #ifdef CK_ANSIC
	 104550 secure_read( int fd, char *buf, int nbyte )
       X 104551 #else
       X 104552 secure_read(fd, buf, nbyte) int fd; char *buf; int nbyte;
       X 104553 #endif /* CK_ANSIC */
      1	 104554 {
      1	 104555     static int c = 0;
      1	 104556     int i;
      1	 104557 
      1	 104558     debug(F101,"secure_read bytes requested","",nbyte);
       E	     ( ( void ) ( deblog ? dodebug ( 5 , "secure_read bytes requested" , ( char * ) ( "" ) , ( off_t ) ( nbyte ) ) :
       E	 0 ) )
      1	 104559     if (c == EOF)
       E	              ( - 1 )
      1	 104560       return(c = 0);
      2	 104561     for (i = 0; nbyte > 0; nbyte--) {
      2	 104562         c = secure_getc(fd,0);
      3	 104563         switch (c) {
      3	 104564           case -9:                      /* Canceled from keyboard */
      3	 104565             debug(F101,"ftp secure_read interrupted","",c);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp secure_read interrupted" , ( char * ) ( "" ) , ( off_t ) ( c )
       E	 ) : 0 ) )
      3	 104566             return(0);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1988
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      3	 104567           case ERR:
       E	                - 2
      3	 104568             debug(F101,"ftp secure_read error","",c);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp secure_read error" , ( char * ) ( "" ) , ( off_t ) ( c ) ) : 0
       E	 ) )
      3	 104569             return(c);
      3	 104570           case EOF:
       E	                ( - 1 )
      3	 104571             debug(F101,"ftp secure_read EOF","",c);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp secure_read EOF" , ( char * ) ( "" ) , ( off_t ) ( c ) ) : 0 )
       E	 )
      3	 104572             if (!i)
      3	 104573               c = 0;
      3	 104574             return(i);
      3	 104575 #ifdef FTP_TIMEOUT
      3	 104576           case -3:
      3	 104577             debug(F101,"ftp secure_read timeout","",c);
       E	             ( ( void ) ( deblog ? dodebug ( 5 , "ftp secure_read timeout" , ( char * ) ( "" ) , ( off_t ) ( c ) ) :
       E	 0 ) )
      3	 104578 	    return(c);
      3	 104579 #endif	/* FTP_TIMEOUT */
      3	 104580           default:
      3	 104581             buf[i++] = c;
      2	 104582         }
      1	 104583     }
      1	 104584     return(i);
      1	 104585 }
	 104586 
       X 104587 #ifdef USE_RUSERPASS
	 104588 /* BEGIN_RUSERPASS
	 104589  *
	 104590  * Copyright (c) 1985 Regents of the University of California.
	 104591  * All rights reserved.
	 104592  *
	 104593  * Redistribution and use in source and binary forms, with or without
	 104594  * modification, are permitted provided that the following conditions
	 104595  * are met:
	 104596  * 1. Redistributions of source code must retain the above copyright
	 104597  *    notice, this list of conditions and the following disclaimer.
	 104598  * 2. Redistributions in binary form must reproduce the above copyright
	 104599  *    notice, this list of conditions and the following disclaimer in the
	 104600  *    documentation and/or other materials provided with the distribution.
	 104601  * 3. All advertising materials mentioning features or use of this software
	 104602  *    must display the following acknowledgement:
	 104603  *      This product includes software developed by the University of
	 104604  *      California, Berkeley and its contributors.
	 104605  * 4. Neither the name of the University nor the names of its contributors
	 104606  *    may be used to endorse or promote products derived from this software
	 104607  *    without specific prior written permission.
	 104608  *
	 104609  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
	 104610  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
	 104611  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
	 104612  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
	 104613  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
	 104614  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
	 104615  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1989
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 104616  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
	 104617  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
	 104618  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
	 104619  * SUCH DAMAGE.
       X 104620  */
       X 104621 
       X 104622 #ifndef lint
       X 104623 static char sccsid[] = "@(#)ruserpass.c 5.3 (Berkeley) 3/1/91";
       X 104624 #endif /* not lint */
       X 104625 
       X 104626 #ifndef MAXHOSTNAMELEN
       X 104627 #define MAXHOSTNAMELEN 64
       X 104628 #endif
       X 104629 
       X 104630 char * renvlook();
       X 104631 static FILE * cfile;
       X 104632 
       X 104633 #define DEFAULT 1
       X 104634 #define LOGIN   2
       X 104635 #define PASSWD  3
       X 104636 #define ACCOUNT 4
       X 104637 #define MACDEF  5
       X 104638 #define ID      10
       X 104639 #define MACH    11
       X 104640 
       X 104641 static char tokval[100];
       X 104642 
       X 104643 static struct toktab {
       X 104644     char *tokstr;
       X 104645     int tval;
       X 104646 } toktab[]= {
       X 104647     "default",  DEFAULT,
       X 104648     "login",    LOGIN,
       X 104649     "password", PASSWD,
       X 104650     "passwd",   PASSWD,
       X 104651     "account",  ACCOUNT,
       X 104652     "machine",  MACH,
       X 104653     "macdef",   MACDEF,
       X 104654     0,          0
       X 104655 };
       X 104656 
       X 104657 static int
       X 104658 token() {
       X 104659     char *cp;
       X 104660     int c;
       X 104661     struct toktab *t;
       X 104662 
       X 104663     if (feof(cfile))
       X 104664       return(0);
       X 104665     while ((c = getc(cfile)) != EOF &&
       X 104666            (c == '\n' || c == '\t' || c == ' ' || c == ','))
       X 104667       continue;
       X 104668     if (c == EOF)
       X 104669       return(0);
       X 104670     cp = tokval;
       X 104671     if (c == '"') {
       X 104672         while ((c = getc(cfile)) != EOF && c != '"') {

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1990
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 104673             if (c == '\\')
       X 104674               c = getc(cfile);
       X 104675             *cp++ = c;
       X 104676         }
       X 104677     } else {
       X 104678         *cp++ = c;
       X 104679         while ((c = getc(cfile)) != EOF
       X 104680                && c != '\n' && c != '\t' && c != ' ' && c != ',') {
       X 104681             if (c == '\\')
       X 104682               c = getc(cfile);
       X 104683             *cp++ = c;
       X 104684         }
       X 104685     }
       X 104686     *cp = 0;
       X 104687     if (tokval[0] == 0)
       X 104688       return(0);
       X 104689     for (t = toktab; t->tokstr; t++)
       X 104690       if (!strcmp(t->tokstr, tokval))
       X 104691         return(t->tval);
       X 104692     return(ID);
       X 104693 }
       X 104694 
       X 104695 ruserpass(host, aname, apass, aacct)
       X 104696     char *host, **aname, **apass, **aacct;
       X 104697 {
       X 104698     char *hdir, buf[FTP_BUFSIZ], *tmp;
       X 104699     char myname[MAXHOSTNAMELEN], *mydomain;
       X 104700     int t, i, c, usedefault = 0;
       X 104701 #ifdef NT
       X 104702     struct _stat stb;
       X 104703 #else /* NT */
       X 104704     struct stat stb;
       X 104705 #endif /* NT */
       X 104706 
       X 104707     hdir = getenv("HOME");
       X 104708     if (hdir == NULL)
       X 104709         hdir = ".";
       X 104710     ckmakmsg(buf,FTP_BUFSIZ,hdir,"/.netrc",NULL,NULL);
       X 104711     cfile = fopen(buf, "r");
       X 104712     if (cfile == NULL) {
       X 104713         if (errno != ENOENT)
       X 104714           perror(buf);
       X 104715         return(0);
       X 104716     }
       X 104717     if (gethostname(myname, MAXHOSTNAMELEN) < 0)
       X 104718       myname[0] = '\0';
       X 104719     if ((mydomain = ckstrchr(myname, '.')) == NULL)
       X 104720       mydomain = "";
       X 104721 
       X 104722   next:
       X 104723     while ((t = token())) switch(t) {
       X 104724 
       X 104725       case DEFAULT:
       X 104726         usedefault = 1;
       X 104727         /* FALL THROUGH */
       X 104728 
       X 104729       case MACH:

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1991
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 104730         if (!usedefault) {
       X 104731             if (token() != ID)
       X 104732               continue;
       X 104733             /*
       X 104734              * Allow match either for user's input host name
       X 104735              * or official hostname.  Also allow match of
       X 104736              * incompletely-specified host in local domain.
       X 104737              */
       X 104738             if (ckstrcmp(host, tokval,-1,1) == 0)
       X 104739               goto match;
       X 104740             if (ckstrcmp(ftp_host, tokval,-1,0) == 0)
       X 104741               goto match;
       X 104742             if ((tmp = ckstrchr(ftp_host, '.')) != NULL &&
       X 104743                 ckstrcmp(tmp, mydomain,-1,1) == 0 &&
       X 104744                 ckstrcmp(ftp_host, tokval, tmp-ftp_host,0) == 0 &&
       X 104745                 tokval[tmp - ftp_host] == '\0')
       X 104746               goto match;
       X 104747             if ((tmp = ckstrchr(host, '.')) != NULL &&
       X 104748                 ckstrcmp(tmp, mydomain,-1,1) == 0 &&
       X 104749                 ckstrcmp(host, tokval, tmp - host, 0) == 0 &&
       X 104750                 tokval[tmp - host] == '\0')
       X 104751               goto match;
       X 104752             continue;
       X 104753         }
       X 104754 
       X 104755       match:
       X 104756         while ((t = token()) && t != MACH && t != DEFAULT) switch(t) {
       X 104757 
       X 104758           case LOGIN:
       X 104759             if (token())
       X 104760               if (*aname == 0) {
       X 104761                   *aname = malloc((unsigned) strlen(tokval) + 1);
       X 104762                   strcpy(*aname, tokval);      /* safe */
       X 104763               } else {
       X 104764                   if (strcmp(*aname, tokval))
       X 104765                     goto next;
       X 104766               }
       X 104767             break;
       X 104768           case PASSWD:
       X 104769             if (strcmp(*aname, "anonymous") &&
       X 104770                 fstat(fileno(cfile), &stb) >= 0 &&
       X 104771                 (stb.st_mode & 077) != 0) {
       X 104772                 fprintf(stderr, "Error - .netrc file not correct mode.\n");
       X 104773                 fprintf(stderr, "Remove password or correct mode.\n");
       X 104774                 goto bad;
       X 104775             }
       X 104776             if (token() && *apass == 0) {
       X 104777                 *apass = malloc((unsigned) strlen(tokval) + 1);
       X 104778                 strcpy(*apass, tokval);          /* safe */
       X 104779             }
       X 104780             break;
       X 104781           case ACCOUNT:
       X 104782             if (fstat(fileno(cfile), &stb) >= 0
       X 104783                 && (stb.st_mode & 077) != 0) {
       X 104784                 fprintf(stderr, "Error - .netrc file not correct mode.\n");
       X 104785                 fprintf(stderr, "Remove account or correct mode.\n");
       X 104786                 goto bad;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1992
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 104787             }
       X 104788             if (token() && *aacct == 0) {
       X 104789                 *aacct = malloc((unsigned) strlen(tokval) + 1);
       X 104790                 strcpy(*aacct, tokval);          /* safe */
       X 104791             }
       X 104792             break;
       X 104793 
       X 104794           default:
       X 104795             fprintf(stderr, "Unknown .netrc keyword %s\n", tokval);
       X 104796             break;
       X 104797         }
       X 104798         goto done;
       X 104799     }
       X 104800 
       X 104801   done:
       X 104802     fclose(cfile);
       X 104803     return(0);
       X 104804 
       X 104805   bad:
       X 104806     fclose(cfile);
       X 104807     return(-1);
       X 104808 }
       X 104809 #endif /* USE_RUSERPASS */
	 104810 
	 104811 static char *radixN =
	 104812   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	 104813 
	 104814 static char pad = '=';
	 104815 
	 104816 static int
	 104817 #ifdef CK_ANSIC
	 104818 
       X 104819 #else
       X 104820 
       X 104821 #endif /* CK_ANSIC */
	 104822 
	 104823 #ifdef CK_ANSIC
	 104824 radix_encode( CHAR inbuf[],CHAR outbuf[], int inlen, int *outlen, int decode )
       E	               unsigned char
       E	                            unsigned char
       X 104825 #else
       X 104826 radix_encode(inbuf, outbuf, inlen, outlen, decode)
       X 104827  CHAR inbuf[], outbuf[]; int inlen, *outlen, decode;
       X 104828 #endif /* CK_ANSIC */
      1	 104829 {
      1	 104830     int i, j, D = 0;
      1	 104831     char *p;
      1	 104832     CHAR c = NUL;
       E	     unsigned char
       E	              '\0'
      1	 104833 
      2	 104834     if (decode) {
      3	 104835         for (i = 0, j = 0; inbuf[i] && inbuf[i] != pad; i++) {
      3	 104836             if ((p = ckstrchr(radixN, inbuf[i])) == NULL)
       E	                                                     ( ( void * ) 0 )
      3	 104837               return(1);
      3	 104838             D = p - radixN;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1993
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

      4	 104839             switch (i&3) {
      4	 104840               case 0:
      4	 104841                 outbuf[j] = D<<2;
      4	 104842                 break;
      4	 104843               case 1:
      4	 104844                 outbuf[j++] |= D>>4;
      4	 104845                 outbuf[j] = (D&15)<<4;
      4	 104846                 break;
      4	 104847               case 2:
      4	 104848                 outbuf[j++] |= D>>2;
      4	 104849                 outbuf[j] = (D&3)<<6;
      4	 104850                 break;
      4	 104851               case 3:
      4	 104852                 outbuf[j++] |= D;
      3	 104853             }
      3	 104854             if (j == *outlen)
      3	 104855               return(4);
      2	 104856         }
      3	 104857         switch (i&3) {
      3	 104858           case 1: return(3);
      3	 104859           case 2: if (D&15) return(3);
      3	 104860             if (strcmp((char *)&inbuf[i], "==")) return(2);
      3	 104861             break;
      3	 104862           case 3: if (D&3) return(3);
      3	 104863             if (strcmp((char *)&inbuf[i], "="))  return(2);
      2	 104864         }
      2	 104865         *outlen = j;
      2	 104866     } else {
      3	 104867         for (i = 0, j = 0; i < inlen; i++) {
      4	 104868             switch (i%3) {
      4	 104869               case 0:
      4	 104870                 outbuf[j++] = radixN[inbuf[i]>>2];
      4	 104871                 c = (inbuf[i]&3)<<4;
      4	 104872                 break;
      4	 104873               case 1:
      4	 104874                 outbuf[j++] = radixN[c|inbuf[i]>>4];
      4	 104875                 c = (inbuf[i]&15)<<2;
      4	 104876                 break;
      4	 104877               case 2:
      4	 104878                 outbuf[j++] = radixN[c|inbuf[i]>>6];
      4	 104879                 outbuf[j++] = radixN[inbuf[i]&63];
      4	 104880                 c = 0;
      3	 104881             }
      3	 104882             if (j == *outlen)
      3	 104883               return(4);
      2	 104884         }
      2	 104885         if (i%3) outbuf[j++] = radixN[c];
      3	 104886         switch (i%3) {
      3	 104887           case 1: outbuf[j++] = pad;
      3	 104888           case 2: outbuf[j++] = pad;
      2	 104889         }
      2	 104890         outbuf[*outlen = j] = '\0';
      1	 104891     }
      1	 104892     return(0);
      1	 104893 }
	 104894 
	 104895 static char *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1994
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

	 104896 #ifdef CK_ANSIC
	 104897 radix_error( int e )
       X 104898 #else
       X 104899 radix_error(e) int e;
       X 104900 #endif /* CK_ANSIC */
      1	 104901 {
      2	 104902     switch (e) {
      2	 104903       case 0:  return("Success");
      2	 104904       case 1:  return("Bad character in encoding");
      2	 104905       case 2:  return("Encoding not properly padded");
      2	 104906       case 3:  return("Decoded # of bits not a multiple of 8");
      2	 104907       case 4:  return("Output buffer too small");
      2	 104908       default: return("Unknown error");
      1	 104909     }
      1	 104910 }
	 104911 /* END_RUSERPASS */
	 104912 
       X 104913 #ifdef FTP_SRP
	 104914 /*---------------------------------------------------------------------------+
	 104915  |                                                                           |
	 104916  |   Package: srpftp                                                         |
	 104917  |   Author: Eugene Jhong                                                    |
	 104918  |                                                                           |
       X 104919  +---------------------------------------------------------------------------*/
       X 104920 
       X 104921 /*
       X 104922  * Copyright (c) 1997-1999  The Stanford SRP Authentication Project
       X 104923  * All Rights Reserved.
       X 104924  *
       X 104925  * Permission is hereby granted, free of charge, to any person obtaining
       X 104926  * a copy of this software and associated documentation files (the
       X 104927  * "Software"), to deal in the Software without restriction, including
       X 104928  * without limitation the rights to use, copy, modify, merge, publish,
       X 104929  * distribute, sublicense, and/or sell copies of the Software, and to
       X 104930  * permit persons to whom the Software is furnished to do so, subject to
       X 104931  * the following conditions:
       X 104932  *
       X 104933  * The above copyright notice and this permission notice shall be
       X 104934  * included in all copies or substantial portions of the Software.
       X 104935  *
       X 104936  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
       X 104937  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
       X 104938  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
       X 104939  *
       X 104940  * IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
       X 104941  * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
       X 104942  * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
       X 104943  * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
       X 104944  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
       X 104945  *
       X 104946  * In addition, the following conditions apply:
       X 104947  *
       X 104948  * 1. Any software that incorporates the SRP authentication technology
       X 104949  *    must display the following acknowlegment:
       X 104950  *    "This product uses the 'Secure Remote Password' cryptographic
       X 104951  *     authentication system developed by Tom Wu (tjw@CS.Stanford.EDU)."
       X 104952  *

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1995
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 104953  * 2. Any software that incorporates all or part of the SRP distribution
       X 104954  *    itself must also display the following acknowledgment:
       X 104955  *    "This product includes software developed by Tom Wu and Eugene
       X 104956  *     Jhong for the SRP Distribution (http://srp.stanford.edu/srp/)."
       X 104957  *
       X 104958  * 3. Redistributions in source or binary form must retain an intact copy
       X 104959  *    of this copyright notice and list of conditions.
       X 104960  */
       X 104961 
       X 104962 #define SRP_PROT_VERSION        1
       X 104963 
       X 104964 #ifdef CK_ENCRYPTION
       X 104965 #define SRP_DEFAULT_CIPHER      CIPHER_ID_CAST5_CBC
       X 104966 #else
       X 104967 #define SRP_DEFAULT_CIPHER      CIPHER_ID_NONE
       X 104968 #endif /* CK_ENCRYPTION */
       X 104969 
       X 104970 #define SRP_DEFAULT_HASH        HASH_ID_SHA
       X 104971 
       X 104972 CHAR srp_pref_cipher = CIPHER_ID_DES3_ECB;
       X 104973 CHAR srp_pref_hash = HASH_ID_SHA;
       X 104974 
       X 104975 static struct t_client *tc = NULL;
       X 104976 static CHAR *skey = NULL;
       X 104977 static krypto_context *incrypt = NULL;
       X 104978 static krypto_context *outcrypt = NULL;
       X 104979 
       X 104980 typedef unsigned int srp_uint32;
       X 104981 
       X 104982 /*--------------------------------------------------------------+
       X 104983  | srp_selcipher: select cipher                                 |
       X 104984  +--------------------------------------------------------------*/
       X 104985 static int
       X 104986 srp_selcipher (cname) char *cname; {
       X 104987     cipher_desc *cd;
       X 104988 
       X 104989     if (!(cd = cipher_getdescbyname (cname))) {
       X 104990         int i;
       X 104991         CHAR *list = cipher_getlist ();
       X 104992 
       X 104993         fprintf (stderr, "ftp: supported ciphers:\n\n");
       X 104994         for (i = 0; i < strlen (list); i++)
       X 104995           fprintf (stderr, "    %s\n", (cipher_getdescbyid(list[i]))->name);
       X 104996         fprintf (stderr, "\n");
       X 104997         return -1;
       X 104998     }
       X 104999     srp_pref_cipher = cd->id;
       X 105000     return 0;
       X 105001 }
       X 105002 
       X 105003 /*--------------------------------------------------------------+
       X 105004  | srp_selhash: select hash                                     |
       X 105005  +--------------------------------------------------------------*/
       X 105006 static int
       X 105007 srp_selhash (hname) char *hname; {
       X 105008     hash_desc *hd;
       X 105009 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1996
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105010     if (!(hd = hash_getdescbyname (hname))) {
       X 105011         int i;
       X 105012         CHAR *list = hash_getlist ();
       X 105013 
       X 105014         fprintf (stderr, "ftp: supported hash functions:\n\n");
       X 105015         for (i = 0; i < strlen (list); i++)
       X 105016           fprintf (stderr, "    %s\n", (hash_getdescbyid(list[i]))->name);
       X 105017         fprintf (stderr, "\n");
       X 105018         return -1;
       X 105019     }
       X 105020     srp_pref_hash = hd->id;
       X 105021     return 0;
       X 105022 }
       X 105023 
       X 105024 /*--------------------------------------------------------------+
       X 105025  | srp_userpass: get username and password                      |
       X 105026  +--------------------------------------------------------------*/
       X 105027 static int
       X 105028 srp_userpass (host) char *host; {
       X 105029     char tmp[BUFSIZ], prompt[PROMPTSIZ];
       X 105030     char *user;
       X 105031 
       X 105032     user = NULL;
       X 105033 #ifdef USE_RUSERPASS
       X 105034     ruserpass (host, &user, &srp_pass, &srp_acct);
       X 105035 #endif /* USE_RUSERPASS */
       X 105036 
       X 105037     while (user == NULL)     {
       X 105038         char *myname;
       X 105039         int ok;
       X 105040 
       X 105041         myname = whoami();
       X 105042         if (!myname) myname = "";
       X 105043         if (myname[0])
       X 105044           ckmakxmsg(prompt,PROMPTSIZ," Name (",host,":",myname,"): ",
       X 105045                     NULL,NULL,NULL,NULL,NULL,NULL,NULL);
       X 105046         else
       X 105047           ckmakmsg(prompt,PROMPTSIZ," Name (",host,"): ",NULL);
       X 105048         tmp[0] = '\0';
       X 105049         ok = uq_txt(NULL,prompt,1,NULL,tmp,BUFSIZ,NULL,
       X 105050                     DEFAULT_UQ_TIMEOUT);
       X 105051         if (!ok || *tmp == '\0')
       X 105052           user = myname;
       X 105053         else
       X 105054           user = brstrip(tmp);
       X 105055     }
       X 105056     ckstrncpy (srp_user, user,BUFSIZ);
       X 105057     return(0);
       X 105058 }
       X 105059 
       X 105060 /*--------------------------------------------------------------+
       X 105061  | srp_reset: reset srp information                             |
       X 105062  +--------------------------------------------------------------*/
       X 105063 static int
       X 105064 srp_reset () {
       X 105065     if (tc) { t_clientclose (tc); tc = NULL; }
       X 105066     if (incrypt) { krypto_delete (incrypt); incrypt = NULL; }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1997
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105067     if (outcrypt) { krypto_delete (outcrypt); outcrypt = NULL; }
       X 105068     return(0);
       X 105069 }
       X 105070 
       X 105071 /*--------------------------------------------------------------+
       X 105072  | srp_ftp_auth: perform srp authentication                         |
       X 105073  +--------------------------------------------------------------*/
       X 105074 static int
       X 105075 srp_ftp_auth(host, user, pass)
       X 105076     char *host;
       X 105077     char *user;
       X 105078     char *pass;
       X 105079 {
       X 105080     struct t_num *wp;
       X 105081     struct t_num N;
       X 105082     struct t_num g;
       X 105083     struct t_num s;
       X 105084     struct t_num yp;
       X 105085     CHAR buf[FTP_BUFSIZ];
       X 105086     CHAR tmp[FTP_BUFSIZ];
       X 105087     CHAR *bp, *cp;
       X 105088     int n, e, clen, blen, len, i;
       X 105089     CHAR cid = 0;
       X 105090     CHAR hid = 0;
       X 105091 
       X 105092     srp_pass = srp_acct = 0;
       X 105093 
       X 105094     n = ftpcmd("AUTH SRP",NULL,0,0,ftp_vbm);
       X 105095     if (n != REPLY_CONTINUE) {
       X 105096         if (ftp_deb)
       X 105097             fprintf(stderr, "SRP rejected as an authentication type\n");
       X 105098         return(0);
       X 105099     } else {                            /* Send protocol version */
       X 105100         CHAR vers[4];
       X 105101         memset (vers, 0, 4);
       X 105102         vers[3] = SRP_PROT_VERSION;
       X 105103         if (!quiet)
       X 105104           printf ("SRP accepted as authentication type.\n");
       X 105105         bp = tmp; blen = 0;
       X 105106         srp_put (vers, &bp, 4, &blen);
       X 105107         len = FTP_BUFSIZ;
       X 105108         if (e = radix_encode (tmp, buf, blen, &len, RADIX_ENCODE))
       X 105109           goto encode_error;
       X 105110         reply_parse = "ADAT=";
       X 105111         n = ftpcmd("ADAT",buf,-1,-1,0);
       X 105112     }
       X 105113     if (n == REPLY_CONTINUE) {          /* Get protocol version */
       X 105114         bp = buf;
       X 105115         if (!reply_parse)
       X 105116           goto data_error;
       X 105117         blen = FTP_BUFSIZ;
       X 105118         if (e = radix_encode(reply_parse, bp, 0, &blen, RADIX_DECODE))
       X 105119           goto decode_error;
       X 105120         if (srp_get (&bp, &cp, &blen, &clen) != 4)
       X 105121           goto data_error;
       X 105122 
       X 105123         if (host) {                     /* Get username/password if needed */

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1998
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105124             srp_userpass (host);
       X 105125         } else {
       X 105126             ckstrncpy (srp_user, user, BUFSIZ);
       X 105127             srp_pass = pass;
       X 105128         }
       X 105129         bp = tmp; blen = 0;             /* Send username */
       X 105130         srp_put (srp_user, &bp, strlen (srp_user), &blen);
       X 105131         len = FTP_BUFSIZ;
       X 105132         if (e = radix_encode (tmp, buf, blen, &len, RADIX_ENCODE))
       X 105133           goto encode_error;
       X 105134         reply_parse = "ADAT=";
       X 105135         n = ftpcmd("ADAT",buf,-1,-1,0);
       X 105136     }
       X 105137     if (n == REPLY_CONTINUE) {          /* Get N, g and s */
       X 105138         bp = buf;
       X 105139         if (!reply_parse)
       X 105140           goto data_error;
       X 105141         blen = FTP_BUFSIZ;
       X 105142         if (e = radix_encode (reply_parse, bp, 0, &blen, RADIX_DECODE))
       X 105143           goto decode_error;
       X 105144         if (srp_get (&bp, &(N.data), &blen, &(N.len)) < 0)
       X 105145           goto data_error;
       X 105146         if (srp_get (&bp, &(g.data), &blen, &(g.len)) < 0)
       X 105147           goto data_error;
       X 105148         if (srp_get (&bp, &(s.data), &blen, &(s.len)) < 0)
       X 105149           goto data_error;
       X 105150         if ((tc = t_clientopen (srp_user, &N, &g, &s)) == NULL) {
       X 105151             fprintf (stderr, "Unable to open SRP client structure.\n");
       X 105152             goto bad;
       X 105153         }
       X 105154         wp = t_clientgenexp (tc);       /* Send wp */
       X 105155         bp = tmp; blen = 0;
       X 105156         srp_put (wp->data, &bp, wp->len, &blen);
       X 105157         len = FTP_BUFSIZ;
       X 105158         if (e = radix_encode (tmp, buf, blen, &len, RADIX_ENCODE))
       X 105159           goto encode_error;
       X 105160         reply_parse = "ADAT=";
       X 105161         n = ftpcmd("ADAT",buf,-1,-1,0);
       X 105162     }
       X 105163     if (n == REPLY_CONTINUE) {          /* Get yp */
       X 105164         bp = buf;
       X 105165         if (!reply_parse)
       X 105166           goto data_error;
       X 105167         blen = FTP_BUFSIZ;
       X 105168         if (e = radix_encode (reply_parse, bp, 0, &blen, RADIX_DECODE))
       X 105169           goto decode_error;
       X 105170         if (srp_get (&bp, &(yp.data), &blen, &(yp.len)) < 0)
       X 105171           goto data_error;
       X 105172         if (!srp_pass) {
       X 105173             static char ftppass[PASSBUFSIZ];
       X 105174             int ok;
       X 105175             setint();
       X 105176             ok = uq_txt(NULL," SRP Password: ",2,NULL,ftppass,PASSBUFSIZ,NULL,
       X 105177                         DEFAULT_UQ_TIMEOUT);
       X 105178             if (ok)
       X 105179 	      srp_pass = brstrip(ftppass);
       X 105180         }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 1999
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105181         t_clientpasswd (tc, srp_pass);
       X 105182         memset (srp_pass, 0, strlen (srp_pass));
       X 105183         skey = t_clientgetkey (tc, &yp); /* Send response */
       X 105184         bp = tmp; blen = 0;
       X 105185         srp_put (t_clientresponse (tc), &bp, 20, &blen);
       X 105186         len = FTP_BUFSIZ;
       X 105187         if (e = radix_encode (tmp, buf, blen, &len, RADIX_ENCODE))
       X 105188           goto encode_error;
       X 105189         reply_parse = "ADAT=";
       X 105190         n = ftpcmd("ADAT",buf,-1,-1,0);
       X 105191     }
       X 105192     if (n == REPLY_CONTINUE) {          /* Get response */
       X 105193         bp = buf;
       X 105194         if (!reply_parse)
       X 105195           goto data_error;
       X 105196         blen = FTP_BUFSIZ;
       X 105197         if (e = radix_encode (reply_parse, bp, 0, &blen, RADIX_DECODE))
       X 105198           goto encode_error;
       X 105199         if (srp_get (&bp, &cp, &blen, &clen) != 20)
       X 105200           goto data_error;
       X 105201         if (t_clientverify (tc, cp)) {
       X 105202             fprintf (stderr, "WARNING: bad response to client challenge.\n");
       X 105203             goto bad;
       X 105204         }
       X 105205         bp = tmp; blen = 0;             /* Send nothing */
       X 105206         srp_put ("\0", &bp, 1, &blen);
       X 105207         len = FTP_BUFSIZ;
       X 105208         if (e = radix_encode (tmp, buf, blen, &len, RADIX_ENCODE))
       X 105209           goto encode_error;
       X 105210         reply_parse = "ADAT=";
       X 105211         n = ftpcmd("ADAT",buf,-1,-1,0);
       X 105212     }
       X 105213     if (n == REPLY_CONTINUE) {          /* Get cipher & hash lists, seqnum */
       X 105214         CHAR seqnum[4];
       X 105215         CHAR *clist;
       X 105216         CHAR *hlist;
       X 105217         CHAR *p1;
       X 105218         int clist_len, hlist_len;
       X 105219         bp = buf;
       X 105220         if (!reply_parse)
       X 105221           goto data_error;
       X 105222         blen = FTP_BUFSIZ;
       X 105223         if (e = radix_encode (reply_parse, bp, 0, &blen, RADIX_DECODE))
       X 105224           goto encode_error;
       X 105225         if (srp_get (&bp, &clist, &blen, &clist_len) < 0)
       X 105226           goto data_error;
       X 105227         if (srp_get (&bp, &hlist, &blen, &hlist_len) < 0)
       X 105228           goto data_error;
       X 105229         if (srp_get (&bp, &cp, &blen, &clen) != 4)
       X 105230           goto data_error;
       X 105231         memcpy (seqnum, cp, 4);
       X 105232         if (cipher_supported (clist, srp_pref_cipher)) /* Choose cipher */
       X 105233           cid = srp_pref_cipher;
       X 105234         if (!cid && cipher_supported (clist, SRP_DEFAULT_CIPHER))
       X 105235           cid = SRP_DEFAULT_CIPHER;
       X 105236         if (!cid) {
       X 105237             CHAR *loclist = cipher_getlist ();

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2000
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105238             for (i = 0; i < strlen (loclist); i++)
       X 105239               if (cipher_supported (clist, loclist[i])) {
       X 105240                   cid = loclist[i];
       X 105241                   break;
       X 105242               }
       X 105243         }
       X 105244         if (!cid) {
       X 105245             fprintf (stderr, "Unable to agree on cipher.\n");
       X 105246             goto bad;
       X 105247         }
       X 105248         /* Choose hash */
       X 105249 
       X 105250         if (srp_pref_hash && hash_supported (hlist, srp_pref_hash))
       X 105251           hid = srp_pref_hash;
       X 105252 
       X 105253         if (!hid && hash_supported (hlist, SRP_DEFAULT_HASH))
       X 105254           hid = SRP_DEFAULT_HASH;
       X 105255 
       X 105256         if (!hid) {
       X 105257             CHAR *loclist = hash_getlist ();
       X 105258             for (i = 0; i < strlen (loclist); i++)
       X 105259               if (hash_supported (hlist, loclist[i])) {
       X 105260                   hid = loclist[i];
       X 105261                   break;
       X 105262               }
       X 105263         }
       X 105264         if (!hid) {
       X 105265             fprintf (stderr, "Unable to agree on hash.\n");
       X 105266             goto bad;
       X 105267         }
       X 105268         /* Set incrypt */
       X 105269 
       X 105270         if (!(incrypt = krypto_new (cid, hid, skey, 20, NULL, 0, seqnum,
       X 105271                                     KRYPTO_DECODE)))
       X 105272           goto bad;
       X 105273 
       X 105274         /* Generate random number for outkey and outseqnum */
       X 105275 
       X 105276         t_random (seqnum, 4);
       X 105277 
       X 105278         /* Send cid, hid, outkey, outseqnum */
       X 105279 
       X 105280         bp = tmp; blen = 0;
       X 105281         srp_put (&cid, &bp, 1, &blen);
       X 105282         srp_put (&hid, &bp, 1, &blen);
       X 105283         srp_put (seqnum, &bp, 4, &blen);
       X 105284         len = FTP_BUFSIZ;
       X 105285         if (e = radix_encode (tmp, buf, blen, &len, RADIX_ENCODE))
       X 105286           goto encode_error;
       X 105287         reply_parse = "ADAT=";
       X 105288         n = ftpcmd("ADAT",buf,-1,-1,0);
       X 105289 
       X 105290         /* Set outcrypt */
       X 105291 
       X 105292         if (!(outcrypt = krypto_new (cid, hid, skey+20, 20, NULL, 0, seqnum,
       X 105293                                      KRYPTO_ENCODE)))
       X 105294           goto bad;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2001
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105295 
       X 105296         t_clientclose (tc);
       X 105297         tc = NULL;
       X 105298     }
       X 105299     if (n != REPLY_COMPLETE)
       X 105300       goto bad;
       X 105301 
       X 105302     if (ftp_vbm) {
       X 105303         if (ftp_deb)
       X 105304           printf("\n");
       X 105305         printf ("SRP authentication succeeded.\n");
       X 105306         printf ("Using cipher %s and hash function %s.\n",
       X 105307                 (cipher_getdescbyid(cid))->name,
       X 105308                 (hash_getdescbyid(hid))->name
       X 105309                 );
       X 105310     }
       X 105311     reply_parse = NULL;
       X 105312     auth_type = "SRP";
       X 105313     return(1);
       X 105314 
       X 105315   encode_error:
       X 105316     fprintf (stderr, "Base 64 encoding failed: %s.\n", radix_error (e));
       X 105317     goto bad;
       X 105318 
       X 105319   decode_error:
       X 105320     fprintf (stderr, "Base 64 decoding failed: %s.\n", radix_error (e));
       X 105321     goto bad;
       X 105322 
       X 105323   data_error:
       X 105324     fprintf (stderr, "Unable to unmarshal authentication data.\n");
       X 105325     goto bad;
       X 105326 
       X 105327   bad:
       X 105328     fprintf (stderr, "SRP authentication failed, trying regular login.\n");
       X 105329     reply_parse = NULL;
       X 105330     return(0);
       X 105331 }
       X 105332 
       X 105333 /*--------------------------------------------------------------+
       X 105334  | srp_put: put item to send buffer                             |
       X 105335  +--------------------------------------------------------------*/
       X 105336 static int
       X 105337 srp_put (in, out, inlen, outlen)
       X 105338     CHAR *in;
       X 105339     CHAR **out;
       X 105340     int inlen;
       X 105341     int *outlen;
       X 105342 {
       X 105343     srp_uint32 net_len;
       X 105344 
       X 105345     net_len = htonl (inlen);
       X 105346     memcpy (*out, &net_len, 4);
       X 105347 
       X 105348     *out += 4; *outlen += 4;
       X 105349 
       X 105350     memcpy (*out, in, inlen);
       X 105351 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2002
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105352     *out += inlen; *outlen += inlen;
       X 105353     return(0);
       X 105354 }
       X 105355 
       X 105356 /*--------------------------------------------------------------+
       X 105357  | srp_get: get item from receive buffer                        |
       X 105358  +--------------------------------------------------------------*/
       X 105359 static int
       X 105360 srp_get (in, out, inlen, outlen)
       X 105361     CHAR **in;
       X 105362     CHAR **out;
       X 105363     int *inlen;
       X 105364     int *outlen;
       X 105365 {
       X 105366     srp_uint32 net_len;
       X 105367 
       X 105368     if (*inlen < 4) return -1;
       X 105369 
       X 105370     memcpy (&net_len, *in, 4); *inlen -= 4; *in += 4;
       X 105371     *outlen = ntohl (net_len);
       X 105372 
       X 105373     if (*inlen < *outlen) return -1;
       X 105374 
       X 105375     *out = *in; *inlen -= *outlen; *in += *outlen;
       X 105376 
       X 105377     return *outlen;
       X 105378 }
       X 105379 
       X 105380 /*--------------------------------------------------------------+
       X 105381  | srp_encode: encode control message                           |
       X 105382  +--------------------------------------------------------------*/
       X 105383 static int
       X 105384 srp_encode (private, in, out, len)
       X 105385     int private;
       X 105386     CHAR *in;
       X 105387     CHAR *out;
       X 105388     unsigned len;
       X 105389 {
       X 105390     if (private)
       X 105391       return krypto_msg_priv (outcrypt, in, out, len);
       X 105392     else
       X 105393       return krypto_msg_safe (outcrypt, in, out, len);
       X 105394 }
       X 105395 
       X 105396 /*--------------------------------------------------------------+
       X 105397  | srp_decode: decode control message                           |
       X 105398  +--------------------------------------------------------------*/
       X 105399 static int
       X 105400 srp_decode (private, in, out, len)
       X 105401     int private;
       X 105402     CHAR *in;
       X 105403     CHAR *out;
       X 105404     unsigned len;
       X 105405 {
       X 105406     if (private)
       X 105407       return krypto_msg_priv (incrypt, in, out, len);
       X 105408     else

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2003
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105409       return krypto_msg_safe (incrypt, in, out, len);
       X 105410 }
       X 105411 
       X 105412 #endif /* FTP_SRP */
	 105413 
	 105414 
	 105415 
       X 105416 #ifdef NOT_USED
	 105417 /*
	 105418   The following code is from the Unix FTP client.  Be sure to
	 105419   make sure that the functionality is not lost.  Especially
	 105420   the Proxy stuff even though we have not yet implemented it.
       X 105421 */
       X 105422 
       X 105423 /* Send multiple files  */
       X 105424 
       X 105425 static int
       X 105426 ftp_mput(argc, argv) int argc; char **argv; {
       X 105427     register int i;
       X 105428     int ointer;
       X 105429     char *tp;
       X 105430     sigtype mcancel();
       X 105431 
       X 105432     if (argc < 2 && !another(&argc, &argv, "local-files")) {
       X 105433         printf("usage: %s local-files\n", argv[0]);
       X 105434         ftpcode = -1;
       X 105435         return;
       X 105436     }
       X 105437     mname = argv[0];
       X 105438     mflag = 1;
       X 105439     oldintr = signal(SIGINT, mcancel);
       X 105440 
       X 105441     /* Replace with calls to cc_execute() */
       X 105442     setjmp(jcancel);
       X 105443 #ifdef FTP_PROXY
       X 105444     if (proxy) {
       X 105445         char *cp, *tp2, tmpbuf[CKMAXPATH];
       X 105446 
       X 105447         while ((cp = remglob(argv,0)) != NULL) {
       X 105448             if (*cp == 0) {
       X 105449                 mflag = 0;
       X 105450                 continue;
       X 105451             }
       X 105452             if (mflag && confirm(argv[0], cp)) {
       X 105453                 tp = cp;
       X 105454                 if (mcase) {
       X 105455                     while (*tp && !islower(*tp)) {
       X 105456                         tp++;
       X 105457                     }
       X 105458                     if (!*tp) {
       X 105459                         tp = cp;
       X 105460                         tp2 = tmpbuf;
       X 105461                         while ((*tp2 = *tp) != 0) {
       X 105462                             if (isupper(*tp2)) {
       X 105463                                 *tp2 = 'a' + *tp2 - 'A';
       X 105464                             }
       X 105465                             tp++;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2004
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105466                             tp2++;
       X 105467                         }
       X 105468                     }
       X 105469                     tp = tmpbuf;
       X 105470                 }
       X 105471                 if (ntflag) {
       X 105472                     tp = dotrans(tp);
       X 105473                 }
       X 105474                 if (mapflag) {
       X 105475                     tp = domap(tp);
       X 105476                 }
       X 105477                 sendrequest((sunique) ? "STOU" : "STOR", cp, tp, 0, -1, -1, 0);
       X 105478                 if (!mflag && fromatty) {
       X 105479                     ointer = interactive;
       X 105480                     interactive = 1;
       X 105481                     if (confirm("Continue with","mput")) {
       X 105482                         mflag++;
       X 105483                     }
       X 105484                     interactive = ointer;
       X 105485                 }
       X 105486             }
       X 105487         }
       X 105488         signal(SIGINT, oldintr);
       X 105489         mflag = 0;
       X 105490         return;
       X 105491     }
       X 105492 #endif /* FTP_PROXY */
       X 105493     for (i = 1; i < argc; i++) {
       X 105494         register char **cpp, **gargs;
       X 105495 
       X 105496         if (mflag && confirm(argv[0], argv[i])) {
       X 105497             tp = argv[i];
       X 105498             sendrequest((ftp_usn) ? "STOU" : "STOR", argv[i], tp, 0,-1,-1, 0);
       X 105499             if (!mflag && fromatty) {
       X 105500                 ointer = interactive;
       X 105501                 interactive = 1;
       X 105502                 if (confirm("Continue with","mput")) {
       X 105503                     mflag++;
       X 105504                 }
       X 105505                 interactive = ointer;
       X 105506             }
       X 105507         }
       X 105508         continue;
       X 105509 
       X 105510         gargs = ftpglob(argv[i]);
       X 105511         if (globerr != NULL) {
       X 105512             printf("%s\n", globerr);
       X 105513             if (gargs) {
       X 105514                 blkfree(gargs);
       X 105515                 free((char *)gargs);
       X 105516             }
       X 105517             continue;
       X 105518         }
       X 105519         for (cpp = gargs; cpp && *cpp != NULL; cpp++) {
       X 105520             if (mflag && confirm(argv[0], *cpp)) {
       X 105521                 tp = *cpp;
       X 105522                 sendrequest((sunique) ? "STOU":"STOR", *cpp, tp, 0, -1, -1, 0);

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2005
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105523                 if (!mflag && fromatty) {
       X 105524                     ointer = interactive;
       X 105525                     interactive = 1;
       X 105526                     if (confirm("Continue with","mput")) {
       X 105527                         mflag++;
       X 105528                     }
       X 105529                     interactive = ointer;
       X 105530                 }
       X 105531             }
       X 105532         }
       X 105533         if (gargs != NULL) {
       X 105534             blkfree(gargs);
       X 105535             free((char *)gargs);
       X 105536         }
       X 105537     }
       X 105538     signal(SIGINT, oldintr);
       X 105539     mflag = 0;
       X 105540 }
       X 105541 
       X 105542 /* Get multiple files */
       X 105543 
       X 105544 static int
       X 105545 ftp_mget(argc, argv) int argc; char **argv; {
       X 105546     int rc = -1;
       X 105547     int ointer;
       X 105548     char *cp, *tp, *tp2, tmpbuf[CKMAXPATH];
       X 105549     sigtype mcancel();
       X 105550 
       X 105551     if (argc < 2 && !another(&argc, &argv, "remote-files")) {
       X 105552         printf("usage: %s remote-files\n", argv[0]);
       X 105553         ftpcode = -1;
       X 105554         return(-1);
       X 105555     }
       X 105556     mname = argv[0];
       X 105557     mflag = 1;
       X 105558     oldintr = signal(SIGINT,mcancel);
       X 105559     /* Replace with calls to cc_execute() */
       X 105560     setjmp(jcancel);
       X 105561     while ((cp = remglob(argv,proxy)) != NULL) {
       X 105562         if (*cp == '\0') {
       X 105563             mflag = 0;
       X 105564             continue;
       X 105565         }
       X 105566         if (mflag && confirm(argv[0], cp)) {
       X 105567             tp = cp;
       X 105568             if (mcase) {
       X 105569                 while (*tp && !islower(*tp)) {
       X 105570                     tp++;
       X 105571                 }
       X 105572                 if (!*tp) {
       X 105573                     tp = cp;
       X 105574                     tp2 = tmpbuf;
       X 105575                     while ((*tp2 = *tp) != 0) {
       X 105576                         if (isupper(*tp2)) {
       X 105577                             *tp2 = 'a' + *tp2 - 'A';
       X 105578                         }
       X 105579                         tp++;

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2006
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105580                         tp2++;
       X 105581                     }
       X 105582                 }
       X 105583                 tp = tmpbuf;
       X 105584             }
       X 105585             rc = (recvrequest("RETR", tp, cp, "wb",
       X 105586                                tp != cp || !interactive) == 0,0,NULL,0,0,0);
       X 105587             if (!mflag && fromatty) {
       X 105588                 ointer = interactive;
       X 105589                 interactive = 1;
       X 105590                 if (confirm("Continue with","mget")) {
       X 105591                     mflag++;
       X 105592                 }
       X 105593                 interactive = ointer;
       X 105594             }
       X 105595         }
       X 105596     }
       X 105597     signal(SIGINT,oldintr);
       X 105598     mflag = 0;
       X 105599     return(rc);
       X 105600 }
       X 105601 
       X 105602 /* Delete multiple files */
       X 105603 
       X 105604 static int
       X 105605 mdelete(argc, argv) int argc; char **argv; {
       X 105606     int ointer;
       X 105607     char *cp;
       X 105608     sigtype mcancel();
       X 105609 
       X 105610     if (argc < 2 && !another(&argc, &argv, "remote-files")) {
       X 105611         printf("usage: %s remote-files\n", argv[0]);
       X 105612         ftpcode = -1;
       X 105613         return(-1);
       X 105614     }
       X 105615     mname = argv[0];
       X 105616     mflag = 1;
       X 105617     oldintr = signal(SIGINT, mcancel);
       X 105618     /* Replace with calls to cc_execute() */
       X 105619     setjmp(jcancel);
       X 105620     while ((cp = remglob(argv,0)) != NULL) {
       X 105621         if (*cp == '\0') {
       X 105622             mflag = 0;
       X 105623             continue;
       X 105624         }
       X 105625         if (mflag && confirm(argv[0], cp)) {
       X 105626             rc = (ftpcmd("DELE",cp,-1,-1,ftp_vbm) == REPLY_COMPLETE);
       X 105627             if (!mflag && fromatty) {
       X 105628                 ointer = interactive;
       X 105629                 interactive = 1;
       X 105630                 if (confirm("Continue with", "mdelete")) {
       X 105631                     mflag++;
       X 105632                 }
       X 105633                 interactive = ointer;
       X 105634             }
       X 105635         }
       X 105636     }

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2007
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105637     signal(SIGINT, oldintr);
       X 105638     mflag = 0;
       X 105639     return(rc);
       X 105640 }
       X 105641 
       X 105642 /* Get a directory listing of multiple remote files */
       X 105643 
       X 105644 static int
       X 105645 mls(argc, argv) int argc; char **argv; {
       X 105646     int ointer, i;
       X 105647     char *cmd, mode[1], *dest;
       X 105648     sigtype mcancel();
       X 105649     int rc = -1;
       X 105650 
       X 105651     if (argc < 2 && !another(&argc, &argv, "remote-files"))
       X 105652       goto usage;
       X 105653     if (argc < 3 && !another(&argc, &argv, "local-file")) {
       X 105654       usage:
       X 105655         printf("usage: %s remote-files local-file\n", argv[0]);
       X 105656         ftpcode = -1;
       X 105657         return(-1);
       X 105658     }
       X 105659     dest = argv[argc - 1];
       X 105660     argv[argc - 1] = NULL;
       X 105661     if (strcmp(dest, "-") && *dest != '|')
       X 105662       if (!globulize(&dest) ||
       X 105663           !confirm("output to local-file:", dest)) {
       X 105664           ftpcode = -1;
       X 105665           return(-1);
       X 105666       }
       X 105667     cmd = argv[0][1] == 'l' ? "NLST" : "LIST";
       X 105668     mname = argv[0];
       X 105669     mflag = 1;
       X 105670     oldintr = signal(SIGINT, mcancel);
       X 105671     /* Replace with calls to cc_execute() */
       X 105672     setjmp(jcancel);
       X 105673     for (i = 1; mflag && i < argc-1; ++i) {
       X 105674         *mode = (i == 1) ? 'w' : 'a';
       X 105675         rc = recvrequest(cmd, dest, argv[i], mode, 0,0,NULL,0,0,0);
       X 105676         if (!mflag && fromatty) {
       X 105677             ointer = interactive;
       X 105678             interactive = 1;
       X 105679             if (confirm("Continue with", argv[0])) {
       X 105680                 mflag ++;
       X 105681             }
       X 105682             interactive = ointer;
       X 105683         }
       X 105684     }
       X 105685     signal(SIGINT, oldintr);
       X 105686     mflag = 0;
       X 105687     return(rc);
       X 105688 }
       X 105689 
       X 105690 static char *
       X 105691 remglob(argv,doswitch) char *argv[]; int doswitch; {
       X 105692     char temp[16];
       X 105693     static char buf[CKMAXPATH];

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2008
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105694     static FILE *ftemp = NULL;
       X 105695     static char **args;
       X 105696     int oldhash;
       X 105697     char *cp, *mode;
       X 105698 
       X 105699     if (!mflag) {
       X 105700         if (!doglob) {
       X 105701             args = NULL;
       X 105702         } else {
       X 105703             if (ftemp) {
       X 105704                 (void) fclose(ftemp);
       X 105705                 ftemp = NULL;
       X 105706             }
       X 105707         }
       X 105708         return(NULL);
       X 105709     }
       X 105710     if (!doglob) {
       X 105711         if (args == NULL)
       X 105712           args = argv;
       X 105713         if ((cp = *++args) == NULL)
       X 105714           args = NULL;
       X 105715         return(cp);
       X 105716     }
       X 105717     if (ftemp == NULL) {
       X 105718         (void) strcpy(temp, _PATH_TMP);
       X 105719 #ifdef MKTEMP
       X 105720 #ifndef MKSTEMP
       X 105721         (void) mktemp(temp);
       X 105722 #endif /* MKSTEMP */
       X 105723 #endif /* MKTEMP */
       X 105724         verbose = 0;
       X 105725         oldhash = hash, hash = 0;
       X 105726 #ifdef FTP_PROXY
       X 105727         if (doswitch) {
       X 105728             pswitch(!proxy);
       X 105729         }
       X 105730 #endif /* FTP_PROXY */
       X 105731         for (mode = "wb"; *++argv != NULL; mode = "ab")
       X 105732           recvrequest ("NLST", temp, *argv, mode, 0);
       X 105733 #ifdef FTP_PROXY
       X 105734         if (doswitch) {
       X 105735             pswitch(!proxy);
       X 105736         }
       X 105737 #endif /* FTP_PROXY */
       X 105738         hash = oldhash;
       X 105739         ftemp = fopen(temp, "r");
       X 105740         unlink(temp);
       X 105741         if (ftemp == NULL && (!dpyactive || ftp_deb)) {
       X 105742             printf("Can't find list of remote files, oops\n");
       X 105743             return(NULL);
       X 105744         }
       X 105745     }
       X 105746     if (fgets(buf, CKMAXPATH, ftemp) == NULL) {
       X 105747         fclose(ftemp), ftemp = NULL;
       X 105748         return(NULL);
       X 105749     }
       X 105750     if ((cp = ckstrchr(buf,'\n')) != NULL)

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2009
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

       X 105751       *cp = '\0';
       X 105752     return(buf);
       X 105753 }
       X 105754 #endif /* NOT_USED */
	 105755 #endif /* TCPSOCKET (top of file) */
	 105756 #endif /* SYSFTP (top of file) */
	 105757 #endif /* NOFTP (top of file) */

                                        +------------+
                                        | SYMBOL MAP |
                                        +------------+

MACRO DECLARATIONS
__________________


Macro name                      Line            References                                                                       
__________                      ____            __________                                                                       

AF_INET                         30071           Ref: 102733, 101265, 101226, 101054
ARRAYBASE                       25540           Ref: 93741
BAD_EXIT                        15362           Ref: 103243, 103221, 94414, 94103, 92804
BF_LONG                         87889           Ref: 87903, 87902, 87895, 87894
BF_ROUNDS                       87891           Ref: 87894
BIGBUFOK                        15238           Ref: 27227, 26800, 25530, 25495, 25476, 25241, 25226, 25217, 24738, 24145, 24121
                                                , 24109, 24099, 24088, 23728, 16456, 15341, 15295, 15282
BN_ULONG                        60073           Ref: 60380, 60340, 60324, 60323, 60322, 60321, 60320, 60319, 60319, 60318, 60318
                                                , 60264, 60222, 60219
BOOL                            41851           Ref: 41928, 41927, 41926
BSDSELECT                       42361           Ref: 103256, 102436, 102367, 99340
CADDR_T                         3184            Ref: 32999, 29852
CAST_LONG                       88012           Ref: 88029, 88027, 88015
CHAR                            41730           Ref: 104832, 104824, 104824, 104529, 104529, 104089, 104027, 103992, 103860, 
                                                103772, 103770, 103491, 103490, 103481, 103481, 103479, 102365, 102301, 99186, 
                                                99185, 98561, 98561, 98074, 96455, 96455, 95260, 95259, 95245, 95244, 95217, 
                                                95216, 94253, 94247, 92638, 92506, 92506, 91203, 89639, 89639, 89639, 89628, 
                                                89626, 89607, 89607, 89605, 88788, 88524, 41751, 41751, 41749, 41747, 41746, 
                                                41734
CHECKCONN                       88461           Ref: 96477, 96461, 96454, 96444, 96436, 96420, 96408, 96397, 96384, 96238, 96219
                                                , 96198, 96187, 96175, 96168, 96159, 95991, 95034, 93607, 91231, 91171, 91130, 
                                                91118, 91106, 91071, 91058, 91012, 90986, 90947
CKCFTP_C                        22005           -No References
CKCHANNELIO                     12729           Ref: 28503, 28013, 27780, 26156, 24256
CKFLOAT                         13024           Ref: 95919, 95919, 94453, 94399, 94399, 94059, 94010, 94010, 92834, 92790, 92790
                                                , 92687, 92298, 92298, 92107, 91995, 91995, 91908, 88501, 27992, 27217, 21949, 
                                                21945, 16209
CKLEARN                         16507           Ref: 16513
CKLOGDIAL                       14397           Ref: 98059, 97947, 97860, 90997, 89827
CKMAXPATH                       21126           Ref: 103766, 103764, 103762, 103739, 103715, 103714, 103574, 103572, 103490, 
                                                100536, 100461, 95840, 95833, 95814, 95794, 95792, 95730, 95694, 95681, 95476, 
                                                95228, 95144, 94924, 94892, 94331, 94311, 94308, 94179, 94159, 94156, 93743, 
                                                93611, 93321, 93288, 92446, 92415, 92231, 92230, 92229, 92223, 92221, 92216, 
                                                92099, 92098, 91976, 91964, 91962, 91960, 91912, 91482, 91459, 91437, 91361, 
                                                91352, 91340, 91321, 91310, 91309, 91308, 88783, 88782
CKREALPATH                      12622           Ref: 12627
CKREGEX                         16480           Ref: 95464
CK_ANSIC                        11695           Ref: 104896, 104823, 104817, 104549, 104495, 104281, 104088, 104026, 103971, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2010
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                103910, 103886, 103480, 103327, 103315, 103293, 103087, 102671, 102664, 102570, 
                                                102525, 102359, 102320, 102290, 101460, 100876, 100680, 100446, 100327, 100267, 
                                                100202, 100138, 100030, 99712, 99620, 99554, 99452, 99419, 99401, 99393, 99372, 
                                                99342, 98852, 98786, 98736, 98643, 98448, 98416, 97963, 97667, 96533, 96517, 
                                                96016, 94428, 94045, 92812, 92678, 92637, 92591, 92533, 92523, 92513, 92472, 
                                                92075, 91896, 91741, 91631, 91568, 91513, 91490, 91302, 91243, 91139, 91048, 
                                                91020, 91006, 90928, 90672, 90363, 89905, 89814, 89803, 89788, 89759, 88658, 
                                                88647, 42568, 41733, 25313, 22413, 22010, 21927, 21880, 15767, 12010, 11986, 
                                                11969, 11798, 11784
CK_ANSILIBS                     11701           Ref: 16535
CK_APC                          23930           Ref: 25074, 23935
CK_AUTHENTICATION               13553           Ref: 28464, 21523
CK_CR                           23652           Ref: 101004, 99756, 98753
CK_CURSES                       13666           Ref: 92574, 92557, 28084, 25703, 16384
CK_ENVIRONMENT                  13577           Ref: 40027
CK_KEYTAB                       21624           Ref: 25299
CK_MKDIR                        13714           Ref: 94962, 93394
CK_NAWS                         39968           Ref: 40919, 40548, 40009
CK_OFF_T                        15673           Ref: 104577, 104571, 104568, 104565, 104558, 104534, 104528, 104524, 104523, 
                                                104514, 104474, 104371, 104370, 104325, 104315, 104313, 104064, 104063, 104062, 
                                                104061, 103998, 103857, 103856, 103855, 103854, 103780, 103774, 103766, 103704, 
                                                103657, 103655, 103609, 103608, 103607, 103598, 103568, 103524, 103499, 103498, 
                                                103497, 103125, 103101, 103071, 103067, 102977, 102966, 102962, 102946, 102924, 
                                                102922, 102835, 102830, 102825, 102789, 102782, 102762, 102759, 102736, 102732, 
                                                102695, 102518, 102516, 102514, 102511, 102470, 102454, 102443, 102435, 102432, 
                                                102429, 102397, 102395, 102379, 102353, 102308, 101445, 101429, 101424, 101407, 
                                                101399, 101383, 101238, 101026, 101025, 100996, 100975, 100972, 100966, 100963, 
                                                100961, 100960, 100936, 100912, 100908, 100907, 100906, 100905, 100904, 100903, 
                                                100902, 100844, 100828, 100820, 100817, 100692, 100689, 100685, 100676, 100657, 
                                                100653, 100647, 100646, 100606, 100605, 100598, 100596, 100593, 100579, 100570, 
                                                100569, 100556, 100548, 100501, 100500, 100497, 100487, 100453, 100453, 100440, 
                                                100432, 100414, 100399, 100350, 100260, 100256, 100195, 100149, 100113, 100109, 
                                                100107, 100104, 100103, 100096, 100095, 100045, 100022, 100015, 100008, 99937, 
                                                99883, 99873, 99864, 99862, 99850, 99823, 99822, 99784, 99773, 99771, 99767, 
                                                99766, 99764, 99761, 99760, 99758, 99757, 99706, 99702, 99641, 99614, 99610, 
                                                99577, 99383, 99357, 99351, 99335, 99140, 99135, 99008, 98995, 98883, 98876, 
                                                98875, 98843, 98832, 98828, 98824, 98813, 98809, 98802, 98758, 98670, 98663, 
                                                98440, 98437, 98426, 98404, 98400, 98395, 98390, 98338, 98328, 98262, 98252, 
                                                98079, 97813, 97758, 97756, 97708, 97707, 97706, 97705, 95932, 95901, 95887, 
                                                95886, 95885, 95884, 95883, 95876, 95871, 95868, 95851, 95850, 95846, 95837, 
                                                95827, 95826, 95824, 95818, 95805, 95804, 95798, 95796, 95786, 95774, 95773, 
                                                95772, 95771, 95770, 95769, 95761, 95760, 95759, 95758, 95735, 95732, 95728, 
                                                95725, 95714, 95712, 95711, 95709, 95700, 95696, 95689, 95686, 95662, 95658, 
                                                95642, 95638, 95625, 95601, 95599, 95597, 95582, 95581, 95578, 95576, 95566, 
                                                95553, 95552, 95552, 95544, 95535, 95533, 95527, 95525, 95513, 95512, 95509, 
                                                95507, 95500, 95484, 95483, 95455, 95453, 95421, 95411, 95407, 95406, 95352, 
                                                95342, 95319, 95316, 95300, 95282, 95266, 95252, 95251, 95250, 95248, 95242, 
                                                95230, 95220, 95214, 95211, 95202, 95186, 95152, 95146, 95139, 95132, 95023, 
                                                94926, 94753, 94747, 94617, 94608, 94595, 94512, 94502, 94443, 94443, 94442, 
                                                94442, 94412, 94365, 94364, 94363, 94345, 94344, 94343, 94342, 94333, 94329, 
                                                94326, 94309, 94301, 94289, 94285, 94283, 94278, 94256, 94213, 94212, 94211, 
                                                94193, 94192, 94191, 94190, 94181, 94177, 94174, 94157, 94150, 94088, 94079, 
                                                94022, 93923, 93922, 93921, 93906, 93894, 93893, 93861, 93844, 93843, 93715, 
                                                93674, 93624, 93618, 93613, 93601, 93579, 93565, 93552, 93545, 93538, 93537, 
                                                93493, 93490, 93479, 93453, 93332, 93331, 93291, 93163, 93157, 92993, 92983, 
                                                92963, 92945, 92944, 92874, 92802, 92670, 92647, 92646, 92645, 92627, 92457, 
                                                92456, 92452, 92443, 92424, 92400, 92391, 92352, 92350, 92348, 92345, 92342, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2011
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                92339, 92336, 92326, 92324, 92323, 92321, 92320, 92319, 92318, 92317, 92315, 
                                                92314, 92312, 92311, 92309, 92308, 92305, 92274, 92272, 92271, 92270, 92266, 
                                                92261, 92258, 92255, 92250, 92249, 92245, 92243, 92241, 92235, 92234, 92224, 
                                                92197, 92195, 92152, 92147, 92144, 92119, 92114, 92113, 92112, 92111, 92062, 
                                                92059, 92056, 92054, 92052, 92045, 92033, 92031, 92028, 92025, 92021, 92018, 
                                                92013, 92012, 92010, 92009, 92007, 91993, 91992, 91979, 91974, 91973, 91972, 
                                                91971, 91968, 91967, 91944, 91916, 91915, 91914, 91886, 91874, 91850, 91841, 
                                                91837, 91823, 91814, 91802, 91799, 91757, 91722, 91716, 91688, 91672, 91612, 
                                                91596, 91595, 91502, 91501, 91500, 91499, 91498, 91497, 91469, 91464, 91461, 
                                                91455, 91445, 91440, 91431, 91421, 91398, 91395, 91385, 91384, 91368, 91367, 
                                                91362, 91358, 91354, 91342, 91331, 91315, 91314, 91273, 91259, 91213, 91194, 
                                                91035, 91015, 90913, 90906, 90905, 90896, 90887, 90883, 90873, 90868, 90696, 
                                                90371, 90364, 89892, 89877, 89875, 89873, 89868, 89840, 89839, 88774, 88774, 
                                                88664, 88492, 28342, 28320, 25582, 25424, 25424, 25379, 25343, 25066, 25066, 
                                                24386, 24304, 24303, 24302, 24299, 24298, 21906, 21905, 16043, 16022, 15983, 
                                                15981, 15811, 15795, 15759, 15750, 15748, 15733
CK_PCT_BAR                      25706           Ref: 28098
CK_PERMS                        13631           Ref: 16030, 13636
CK_RECALL                       25167           Ref: 25413, 25254
CK_SNDLOC                       13585           Ref: 40554, 40039
CK_SSL                          0               Ref: 104306, 104102, 102913, 102548, 102458, 102380, 102336, 102199, 101523, 
                                                101480, 101338, 100378, 100228, 99984, 99665, 99580, 99163, 99148, 99059, 99023, 
                                                99015, 98954, 98917, 98594, 98456, 98088, 97912, 97836, 97816, 97637, 97100, 
                                                90606, 90534, 90321, 90313, 90298, 90293, 90278, 90263, 90100, 89216, 89177, 
                                                89036, 88864, 42567, 42545, 42503, 41949, 41828, 40016, 28637, 13552
CK_TIMERS                       13673           Ref: 25031
CK_TMPDIR                       12311           Ref: 97030, 96855, 95933, 95174, 94956, 93388, 89435, 89344, 88477, 12344
CK_TRIGGER                      13157           Ref: 13167
CK_TTGWSIZ                      13965           Ref: 40920, 40914, 39967
CK_URL                          13147           Ref: 100522, 100460, 90089, 88465, 25102
CK_XDISPLOC                     13590           Ref: 40551, 40033
CMDATE2TM                       21667           Ref: 21683
CMDBL                           25242           Ref: 97358, 96478, 96418, 96398, 96385, 96352, 96301, 96239, 96184, 96176, 96042
                                                , 95992, 95816, 95496, 95043, 95010, 94887, 93902, 93698, 93671, 93569, 93559, 
                                                93467, 93441, 93319, 93286, 91169, 91131, 91103, 91100, 91072, 91059, 90991, 
                                                90981, 90971, 90967, 90112
CM_ABR                          25263           Ref: 89432, 89431, 89402, 89307, 89304, 89253, 89073, 89072, 88998
CM_ARG                          25265           Ref: 94610, 94602, 92957, 92952, 90760, 90756, 90207, 89698, 89689, 89686, 89493
                                                , 89484, 89483, 89482, 89481, 89463, 89462, 89460, 89455, 89438, 89436, 89430, 
                                                89428, 89426, 89425, 89414, 89413, 89412, 89407, 89403, 89402, 89391, 89379, 
                                                89378, 89376, 89374, 89369, 89360, 89356, 89355, 89345, 89342, 89340, 89339, 
                                                89325, 89324, 89323, 89308, 89305, 89304, 89302, 89300, 89055, 89054, 89048
CM_INV                          25262           Ref: 95958, 89512, 89495, 89474, 89465, 89457, 89447, 89446, 89445, 89443, 89434
                                                , 89432, 89431, 89405, 89404, 89402, 89401, 89384, 89378, 89371, 89360, 89307, 
                                                89306, 89304, 89277, 89266, 89260, 89253, 89251, 89185, 89142, 89074, 89073, 
                                                89072, 89018, 89011, 89008, 89003, 88999, 88998, 88992, 88991, 88982
CNV_AUTO                        88833           Ref: 96586, 94472, 94090, 89502, 88858
CNV_CNV                         88834           Ref: 89503
CNV_LIT                         88835           Ref: 89504
CONGSPD                         14798           Ref: 16181
CONST                           12011           Ref: 103887, 98093, 91556, 88686, 40770
CRYPTO_ONCE_STATIC_INIT         57409           Ref: 57413
CXLOGBUFL                       14398           Ref: 89888, 89865, 89864, 89828
DCMDBUF                         14307           Ref: 88570, 25432, 25160
DEBUG                           12459           Ref: 104311, 104059, 103852, 102983, 102971, 102964, 102813, 102766, 102744, 
                                                102688, 102519, 102373, 100900, 97752, 97703, 95881, 95767, 95756, 95522, 93672, 
                                                91840, 91775, 91593, 91488, 90303, 89972, 15753, 15281

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2012
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

DECC                            0               -No References
DECLARE_ASN1_ALLOC_FUNCTIONS    66701           Ref: 86568, 86566, 86563, 86559, 86537, 70859, 70857
DECLARE_ASN1_ALLOC_FUNCTIONS_attr                                                                                                
                                66699           Ref: 86568, 86566, 86563, 86559, 86537, 70859, 70857
DECLARE_ASN1_ALLOC_FUNCTIONS_name                                                                                                
                                66735           Ref: 67028
DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr                                                                                           
                                66732           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86568, 86566, 86563, 86559, 86556, 86555, 86548, 86547, 86546, 86545, 
                                                86543, 86542, 86541, 86540, 86539, 86537, 86534, 86520, 86519, 86511, 86489, 
                                                86487, 86485, 86473, 86471, 86470, 86468, 86276, 86275, 76445, 76405, 76403, 
                                                76402, 76401, 75998, 75997, 75996, 75985, 75984, 75983, 75951, 75949, 75948, 
                                                75944, 75942, 75939, 75936, 75933, 75932, 75926, 75901, 75899, 75897, 75166, 
                                                75165, 75164, 75163, 75162, 75161, 75160, 75159, 75158, 75143, 71974, 71963, 
                                                70859, 70857, 67242, 67241, 67240, 67239, 67238, 67237, 67236, 67235, 67234, 
                                                67232, 67199, 67198, 67197, 67196, 67195, 67160, 67140, 67134, 67092, 67067, 
                                                67028
DECLARE_ASN1_DUP_FUNCTION       66740           Ref: 86490, 75876, 75875, 75866, 75865, 75864, 75863, 75862, 75861, 75860, 75859
                                                , 75152, 71964, 67246, 67245, 67244, 67161, 67137, 67073
DECLARE_ASN1_DUP_FUNCTION_attr  66738           Ref: 86490, 75876, 75875, 75866, 75865, 75864, 75863, 75862, 75861, 75860, 75859
                                                , 75152, 71964, 67246, 67245, 67244, 67161, 67137, 67073
DECLARE_ASN1_DUP_FUNCTION_name  66745           Ref: 67609
DECLARE_ASN1_DUP_FUNCTION_name_attr                                                                                              
                                66743           Ref: 86490, 75876, 75875, 75866, 75865, 75864, 75863, 75862, 75861, 75860, 75859
                                                , 75152, 72784, 72542, 72088, 72087, 71964, 67609, 67246, 67245, 67244, 67161, 
                                                67137, 67073
DECLARE_ASN1_ENCODE_FUNCTIONS   66713           Ref: 75940, 75898, 67029
DECLARE_ASN1_ENCODE_FUNCTIONS_attr                                                                                               
                                66710           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86556, 86555, 86548, 86547, 86546, 86545, 86543, 86542, 86541, 86540, 
                                                86539, 86534, 86520, 86519, 86511, 86489, 86487, 86485, 86473, 86471, 86470, 
                                                86468, 86276, 86275, 76445, 76405, 76403, 76402, 76401, 75998, 75997, 75996, 
                                                75985, 75984, 75983, 75951, 75949, 75948, 75944, 75942, 75940, 75939, 75936, 
                                                75933, 75932, 75926, 75901, 75899, 75898, 75897, 75166, 75165, 75164, 75163, 
                                                75162, 75161, 75160, 75159, 75158, 75143, 71974, 71963, 71948, 71946, 67242, 
                                                67241, 67240, 67239, 67238, 67237, 67236, 67235, 67234, 67232, 67199, 67198, 
                                                67197, 67196, 67195, 67160, 67140, 67134, 67092, 67067, 67029, 66990, 66989
DECLARE_ASN1_ENCODE_FUNCTIONS_name                                                                                               
                                66718           Ref: 66990, 66989
DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr                                                                                          
                                66716           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86556, 86555, 86548, 86547, 86546, 86545, 86543, 86542, 86541, 86540, 
                                                86539, 86534, 86520, 86519, 86511, 86489, 86487, 86485, 86473, 86471, 86470, 
                                                86468, 86276, 86275, 76445, 76405, 76403, 76402, 76401, 75998, 75997, 75996, 
                                                75985, 75984, 75983, 75951, 75949, 75948, 75944, 75942, 75939, 75936, 75933, 
                                                75932, 75926, 75901, 75899, 75897, 75166, 75165, 75164, 75163, 75162, 75161, 
                                                75160, 75159, 75158, 75143, 71974, 71963, 71948, 71946, 67242, 67241, 67240, 
                                                67239, 67238, 67237, 67236, 67235, 67234, 67232, 67199, 67198, 67197, 67196, 
                                                67195, 67160, 67140, 67134, 67092, 67067, 66990, 66989
DECLARE_ASN1_ENCODE_FUNCTIONS_only                                                                                               
                                66724           Ref: 75957, 75909, 72736, 71283
DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr                                                                                          
                                66721           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86556, 86555, 86548, 86547, 86546, 86545, 86543, 86542, 86541, 86540, 
                                                86539, 86534, 86520, 86519, 86511, 86489, 86487, 86485, 86473, 86471, 86470, 
                                                86468, 86276, 86275, 76445, 76405, 76403, 76402, 76401, 75998, 75997, 75996, 
                                                75985, 75984, 75983, 75957, 75951, 75949, 75948, 75944, 75942, 75940, 75939, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2013
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                75936, 75933, 75932, 75926, 75922, 75917, 75913, 75909, 75901, 75899, 75898, 
                                                75897, 75166, 75165, 75164, 75163, 75162, 75161, 75160, 75159, 75158, 75143, 
                                                72824, 72822, 72820, 72736, 72582, 72581, 71974, 71963, 71948, 71946, 71283, 
                                                67242, 67241, 67240, 67239, 67238, 67237, 67236, 67235, 67234, 67232, 67199, 
                                                67198, 67197, 67196, 67195, 67160, 67140, 67134, 67092, 67067, 67029, 66990, 
                                                66989
DECLARE_ASN1_FUNCTIONS          66696           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86556, 86555, 86548, 86547, 86546, 86545, 86543, 86542, 86541, 86540, 
                                                86539, 86534, 86520, 86519, 86511, 86489, 86487, 86485, 86473, 86471, 86470, 
                                                86468, 86276, 86275, 76445, 76405, 76403, 76402, 76401, 75998, 75997, 75996, 
                                                75985, 75984, 75983, 75951, 75949, 75948, 75944, 75942, 75939, 75936, 75933, 
                                                75932, 75926, 75901, 75899, 75897, 75166, 75165, 75164, 75163, 75162, 75161, 
                                                75160, 75159, 75158, 75143, 71974, 71963, 67242, 67241, 67240, 67239, 67238, 
                                                67237, 67236, 67199, 67198, 67197, 67196, 67195, 67160, 67140, 67134, 67092, 
                                                67067
DECLARE_ASN1_FUNCTIONS_attr     66694           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86556, 86555, 86548, 86547, 86546, 86545, 86543, 86542, 86541, 86540, 
                                                86539, 86534, 86520, 86519, 86511, 86489, 86487, 86485, 86473, 86471, 86470, 
                                                86468, 86276, 86275, 76445, 76405, 76403, 76402, 76401, 75998, 75997, 75996, 
                                                75985, 75984, 75983, 75951, 75949, 75948, 75944, 75942, 75939, 75936, 75933, 
                                                75932, 75926, 75901, 75899, 75897, 75166, 75165, 75164, 75163, 75162, 75161, 
                                                75160, 75159, 75158, 75143, 71974, 71963, 67242, 67241, 67240, 67239, 67238, 
                                                67237, 67236, 67199, 67198, 67197, 67196, 67195, 67160, 67140, 67134, 67092, 
                                                67067
DECLARE_ASN1_FUNCTIONS_name     66707           Ref: 67235, 67234, 67232
DECLARE_ASN1_FUNCTIONS_name_attr                                                                                                 
                                66704           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86556, 86555, 86548, 86547, 86546, 86545, 86543, 86542, 86541, 86540, 
                                                86539, 86534, 86520, 86519, 86511, 86489, 86487, 86485, 86473, 86471, 86470, 
                                                86468, 86276, 86275, 76445, 76405, 76403, 76402, 76401, 75998, 75997, 75996, 
                                                75985, 75984, 75983, 75951, 75949, 75948, 75944, 75942, 75939, 75936, 75933, 
                                                75932, 75926, 75901, 75899, 75897, 75166, 75165, 75164, 75163, 75162, 75161, 
                                                75160, 75159, 75158, 75143, 71974, 71963, 67242, 67241, 67240, 67239, 67238, 
                                                67237, 67236, 67235, 67234, 67232, 67199, 67198, 67197, 67196, 67195, 67160, 
                                                67140, 67134, 67092, 67067
DECLARE_ASN1_ITEM               66835           Ref: 86569, 86565, 86562, 86560, 86558, 75170, 75169, 72485, 70858, 70856, 67248
DECLARE_ASN1_ITEM_attr          66833           Ref: 87042, 87041, 87040, 87039, 86937, 86936, 86935, 86934, 86840, 86839, 86838
                                                , 86837, 86569, 86565, 86562, 86560, 86558, 86556, 86555, 86548, 86547, 86546, 
                                                86545, 86543, 86542, 86541, 86540, 86539, 86534, 86520, 86519, 86511, 86489, 
                                                86487, 86485, 86473, 86471, 86470, 86468, 86276, 86275, 76445, 76405, 76403, 
                                                76402, 76401, 75998, 75997, 75996, 75985, 75984, 75983, 75951, 75949, 75948, 
                                                75944, 75942, 75940, 75939, 75936, 75933, 75932, 75926, 75901, 75899, 75898, 
                                                75897, 75170, 75169, 75166, 75165, 75164, 75163, 75162, 75161, 75160, 75159, 
                                                75158, 75143, 72485, 71974, 71963, 71948, 71946, 70858, 70856, 67248, 67242, 
                                                67241, 67240, 67239, 67238, 67237, 67236, 67235, 67234, 67232, 67199, 67198, 
                                                67197, 67196, 67195, 67160, 67140, 67134, 67092, 67067, 67029, 66990, 66989
DECLARE_ASN1_NDEF_FUNCTION      66729           Ref: 75172
DECLARE_ASN1_NDEF_FUNCTION_attr 66727           Ref: 75172
DECLARE_ASN1_PRINT_FUNCTION     66750           Ref: 75173
DECLARE_ASN1_PRINT_FUNCTION_attr                                                                                                 
                                66748           Ref: 75173
DECLARE_ASN1_PRINT_FUNCTION_fname_attr                                                                                           
                                66753           Ref: 75173
DECLARE_PEM_read_attr           76873           Ref: 84205, 77011, 77005, 77004, 77003, 76997, 76996, 76995, 76991, 76990, 76989
                                                , 76987, 76986, 76985, 76984, 76983, 76982, 76980, 76979, 76978
DECLARE_PEM_read_bio_attr       76809           Ref: 84205, 77011, 77005, 77004, 77003, 76997, 76996, 76995, 76991, 76990, 76989
                                                , 76987, 76986, 76985, 76984, 76983, 76982, 76980, 76979, 76978

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2014
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

DECLARE_PEM_read_bio_ex_attr    76811           Ref: 77016, 77015
DECLARE_PEM_read_ex_attr        76876           Ref: 77016, 77015
DECLARE_PEM_read_fp_attr        76775           Ref: 84205, 77011, 77005, 77004, 77003, 76997, 76996, 76995, 76991, 76990, 76989
                                                , 76987, 76986, 76985, 76984, 76983, 76982, 76980, 76979, 76978
DECLARE_PEM_read_fp_ex_attr     76777           Ref: 77016, 77015
DECLARE_PEM_rw                  76889           Ref: 84205, 76987, 76986, 76985, 76984, 76983, 76982, 76980, 76979, 76978
DECLARE_PEM_rw_attr             76883           Ref: 84205, 77011, 77005, 77003, 76997, 76996, 76991, 76990, 76987, 76986, 76985
                                                , 76984, 76983, 76982, 76980, 76979, 76978
DECLARE_PEM_rw_cb_attr          76900           Ref: 77004, 76995, 76989
DECLARE_PEM_rw_cb_ex            76908           Ref: 77015
DECLARE_PEM_rw_cb_ex_attr       76903           Ref: 77015
DECLARE_PEM_rw_ex               76891           Ref: 77016
DECLARE_PEM_rw_ex_attr          76886           Ref: 77016
DECLARE_PEM_write               76852           Ref: 76981
DECLARE_PEM_write_attr          76846           Ref: 84205, 77012, 77011, 77005, 77003, 76997, 76996, 76991, 76990, 76987, 76986
                                                , 76985, 76984, 76983, 76982, 76981, 76980, 76979, 76978
DECLARE_PEM_write_bio_attr      76819           Ref: 84205, 77012, 77011, 77005, 77003, 76997, 76996, 76991, 76990, 76987, 76986
                                                , 76985, 76984, 76983, 76982, 76981, 76980, 76979, 76978
DECLARE_PEM_write_bio_ex_attr   76821           Ref: 77016
DECLARE_PEM_write_cb_attr       76863           Ref: 77004, 76995, 76989
DECLARE_PEM_write_cb_bio_attr   76836           Ref: 77004, 76995, 76989
DECLARE_PEM_write_cb_bio_ex_attr                                                                                                 
                                76838           Ref: 77015
DECLARE_PEM_write_cb_ex_attr    76866           Ref: 77015
DECLARE_PEM_write_cb_fp_attr    76790           Ref: 77004, 76995, 76989
DECLARE_PEM_write_cb_fp_ex_attr 76792           Ref: 77015
DECLARE_PEM_write_ex_attr       76849           Ref: 77016
DECLARE_PEM_write_fp_attr       76781           Ref: 84205, 77012, 77011, 77005, 77003, 76997, 76996, 76991, 76990, 76987, 76986
                                                , 76985, 76984, 76983, 76982, 76981, 76980, 76979, 76978
DECLARE_PEM_write_fp_ex_attr    76783           Ref: 77016
DEC_TCPIP                       0               Ref: 41064, 41021, 36501, 29544, 28994
DEFAULT_CIPHER_LIST             88211           Ref: 98364
DEFAULT_PBSZ                    89598           Ref: 102557, 98073, 98031
DEFAULT_UQ_TIMEOUT              25096           Ref: 103380, 103357, 103212, 103184, 103163
DEFINE_LHASH_OF_INTERNAL        73758           Ref: 87717, 75480, 73894, 73879
DEF_VBM                         88390           Ref: 88860, 88859
DO                              39590           Ref: 98947
DONT                            39587           Ref: 98948, 98914
DOUPDATE                        42425           Ref: 97089, 96906, 96817, 95518, 93774, 92238, 91487, 89473, 89442, 89392
DYNAMIC                         13662           Ref: 88469, 25156, 24107, 24069, 24052, 14306, 14299
EINTR                           22654           Ref: 103921, 103897
ENA_AUTH                        89066           Ref: 96490, 89069
ENA_FEAT                        89062           Ref: 96494, 89070
ENA_MDTM                        89063           Ref: 96501, 89071
ENA_MLST                        89064           Ref: 96497, 89075, 89074, 89073, 89072
ENA_SIZE                        89065           Ref: 96505, 89076
ENOMEM                          22662           Ref: 100582, 100581
EOF                             1758            Ref: 104570, 104559, 104526, 104524, 104479, 100766, 98991, 98624
EPIPE                           22682           Ref: 100654, 99968, 99941, 23615
ERR                             103936          Ref: 104567, 104386, 104379, 104368
ERR_LIB_MASK                    87570           Ref: 87588
ERR_LIB_OFFSET                  87569           Ref: 87588
ERR_LIB_SYS                     87415           Ref: 87587
ERR_NUM_ERRORS                  87398           Ref: 87408, 87407, 87406, 87405, 87404, 87403, 87402, 87401, 87400
ERR_REASON_MASK                 87573           Ref: 87602
ERR_RFLAGS_MASK                 87572           Ref: 87595
ERR_RFLAGS_OFFSET               87571           Ref: 87612, 87607, 87595

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2015
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

ERR_RFLAG_COMMON                87580           Ref: 87612
ERR_RFLAG_FATAL                 87579           Ref: 87607
ERR_SYSTEM_ERROR                87582           Ref: 87600, 87593, 87586
ERR_SYSTEM_FLAG                 87561           Ref: 87600, 87593, 87586
ERR_SYSTEM_MASK                 87562           Ref: 87601
ERR_load_CRYPTO_strings         44638           Ref: 44695
EVP_MAX_IV_LENGTH               60759           Ref: 68163
EWOULDBLOCK                     22685           Ref: 92619, 92618
F000                            12535           Ref: 98670
F100                            12539           Ref: 104514, 102977, 102966, 102946, 102924, 102922, 102835, 102825, 102782, 
                                                102379, 101238, 100646, 100579, 100440, 100432, 100350, 100260, 100256, 100149, 
                                                99862, 99706, 99702, 99614, 99610, 99383, 99351, 99140, 98663, 98440, 98437, 
                                                98426, 97813, 95582, 95533, 95513, 95455, 94344, 94192, 93545, 92627, 92350, 
                                                92342, 92339, 92336, 92059, 92056, 92052, 91841, 91273
F101                            12540           Ref: 104577, 104571, 104568, 104565, 104558, 104528, 104524, 104371, 104370, 
                                                104315, 104313, 104064, 104063, 104062, 104061, 103855, 103854, 103766, 103609, 
                                                103608, 103607, 103497, 103067, 102962, 102830, 102789, 102762, 102443, 102435, 
                                                102432, 102429, 102353, 102308, 100972, 100966, 100963, 100936, 100908, 100907, 
                                                100906, 100676, 100606, 100593, 100570, 100569, 100109, 100107, 100104, 100103, 
                                                100096, 100095, 100022, 100015, 100008, 99883, 99864, 99850, 99823, 99641, 99357
                                                , 99008, 98995, 98883, 98876, 98875, 98828, 98079, 97708, 97707, 95901, 95887, 
                                                95886, 95885, 95884, 95883, 95868, 95761, 95760, 95759, 95758, 94747, 94617, 
                                                94608, 94595, 94088, 93844, 93843, 93715, 93579, 93538, 93537, 93332, 93157, 
                                                92983, 92963, 92945, 92944, 92646, 92645, 92348, 92311, 92114, 92113, 92054, 
                                                91874, 91850, 91837, 91722, 91612, 91596, 91595, 91395, 91015, 90913, 90896, 
                                                90887, 90873, 89877, 89875, 89873, 89868
F110                            12541           Ref: 103857, 103856, 103774, 103704, 103657, 103655, 103568, 103524, 103499, 
                                                103498, 103125, 102759, 102736, 102732, 102518, 102516, 102514, 102511, 102470, 
                                                102454, 101445, 101429, 101407, 101383, 100905, 100903, 100692, 100689, 100685, 
                                                100501, 100500, 99766, 99760, 99757, 99135, 98843, 98824, 98813, 98809, 98404, 
                                                98400, 98395, 98390, 98338, 98328, 98262, 98252, 97758, 97756, 97706, 97705, 
                                                95851, 95827, 95805, 95786, 95725, 95700, 95696, 95662, 95658, 95535, 95512, 
                                                95484, 95483, 95319, 95252, 95248, 95242, 95230, 95220, 95186, 95152, 95146, 
                                                95023, 94926, 94345, 94326, 94285, 94193, 94174, 93906, 93674, 93624, 93618, 
                                                93613, 93601, 93552, 93493, 93479, 93453, 93331, 92993, 92457, 92424, 92400, 
                                                92391, 92352, 92345, 92326, 92324, 92323, 92321, 92274, 92272, 92271, 92266, 
                                                92261, 92258, 92255, 92249, 92243, 92224, 92195, 92152, 92144, 92112, 92062, 
                                                92045, 91972, 91971, 91944, 91916, 91915, 91914, 91823, 91814, 91802, 91469, 
                                                91464, 91455, 91445, 91431, 91421, 91385, 91384, 91368, 91367, 91362, 91358, 
                                                91331, 91315, 91314, 91259, 91213, 91035, 90696, 89892, 89840
F111                            12542           Ref: 104523, 103598, 103101, 103071, 102695, 102397, 102395, 101026, 101025, 
                                                100996, 100975, 100904, 100902, 100844, 100828, 100653, 100605, 100596, 100556, 
                                                100548, 100497, 100487, 100414, 100399, 100045, 99937, 99822, 99784, 99773, 99764
                                                , 99577, 99335, 98832, 98802, 98758, 95850, 95846, 95837, 95826, 95824, 95818, 
                                                95804, 95798, 95796, 95774, 95773, 95772, 95771, 95770, 95769, 95732, 95728, 
                                                95712, 95711, 95689, 95686, 95581, 95527, 95525, 95509, 95500, 95453, 95421, 
                                                95411, 95407, 95406, 95352, 95342, 95316, 95300, 95282, 95266, 95214, 95211, 
                                                95139, 94365, 94364, 94363, 94333, 94329, 94309, 94283, 94278, 94256, 94213, 
                                                94212, 94211, 94181, 94177, 94157, 93923, 93922, 93921, 93894, 93893, 93565, 
                                                93490, 93291, 92647, 92456, 92452, 92443, 92319, 92317, 92314, 92308, 92305, 
                                                92270, 92241, 92197, 92147, 92111, 92012, 92009, 92007, 91993, 91992, 91979, 
                                                91974, 91973, 91886, 91799, 91757, 91716, 91688, 91672, 91502, 91501, 91500, 
                                                91499, 91498, 91497, 91398, 91194, 90906, 90905, 90883, 90868, 89839
FAB                             5586            Ref: 5594
FACT_CREA                       98705           Ref: 98816, 98716
FACT_CSET                       98704           Ref: 98815, 98715
FACT_LANG                       98706           Ref: 98817, 98717

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2016
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FACT_MDTM                       98708           Ref: 98822, 98719
FACT_MTYP                       98707           Ref: 98819, 98718
FACT_PERM                       98709           Ref: 98818, 98720
FACT_SIZE                       98710           Ref: 98826, 98721
FACT_TYPE                       98711           Ref: 98830, 98722
FACT_UNIQ                       98712           Ref: 98820, 98723
FC_UCS2                         41465           Ref: 100708, 100697, 99952, 99124, 98674, 97733, 97726, 97725, 93832, 93830, 
                                                92183
FC_UTF8                         41466           Ref: 93833, 93831, 92180, 88873
FD_ISSET                        23491           Ref: 102455
FD_SET                          23489           Ref: 103261, 102440, 102438, 92607
FD_SETSIZE                      23484           Ref: 92614, 23495
FD_ZERO                         23503           Ref: 103259, 102437, 92606, 92605, 92604
FNFLOAT                         13051           Ref: 28499
FORM_C                          89543           -No References
FORM_N                          89541           Ref: 98014
FORM_T                          89542           -No References
FORWARD                         42070           Ref: 42071
FPL_CLR                         88800           Ref: 103429, 103413, 102592, 102560, 102556, 102217, 98484, 98012, 97946, 97859, 
                                                96524, 90359, 89519, 88846, 88845
FPL_CON                         88803           Ref: 103435, 103419, 89520
FPL_PRV                         88802           Ref: 103433, 103417, 102582, 102537, 102257, 102256, 102218, 101526, 101483, 
                                                98572, 98040, 98030, 96525, 89521
FPL_SAF                         88801           Ref: 103431, 103415, 102585, 102561, 102549, 102540, 98044, 96526, 89522
FTA_AUTO                        89157           Ref: 90595, 90586, 90575, 89185
FTA_GK5                         89159           -No References
FTA_K4                          89160           -No References
FTA_SRP                         89158           -No References
FTA_SSL                         89161           Ref: 102242, 90608, 90265, 89217, 89179
FTA_TLS                         89162           Ref: 102200, 90607, 90280, 89218, 89178
FTB_SV2                         89114           Ref: 90535, 89118
FTB_SV3                         89115           Ref: 90537, 89119
FTPATYPS                        89166           Ref: 90286, 90282, 90279, 90271, 90267, 90264, 89167
FTPNAMBUFLEN                    103452          Ref: 103766, 103764, 103762, 103739, 103715, 103714, 103490
FTP_ACC                         88922           Ref: 97269, 96156, 88974
FTP_APP                         88923           Ref: 97271, 96360, 92125, 88975
FTP_BUFSIZ                      88395           Ref: 102466, 102461, 102365, 102335, 101301, 100567, 99184, 99083, 98868, 98868, 
                                                98580, 98579, 98571, 98560, 98460, 98455, 98455, 96188, 88913, 88901, 88708, 
                                                88602
FTP_CHK                         88956           Ref: 97337, 96451, 88979
FTP_CHM                         88925           Ref: 97279, 96181, 88980
FTP_CLS                         88926           Ref: 97273, 96195, 89003, 88981, 88976
FTP_CWD                         88924           Ref: 97275, 96172, 88982, 88977
FTP_DEL                         88927           Ref: 94552
FTP_DIR                         88928           Ref: 97283, 96204, 96050, 91196, 88984
FTP_DIS                         88959           Ref: 97341, 96485, 88985
FTP_ENA                         88958           Ref: 97339, 96506, 96502, 96498, 96495, 96491, 96484, 88986
FTP_FEA                         88954           Ref: 97287, 96458, 88987
FTP_GET                         88929           Ref: 97289, 96208, 94554, 94549, 88988
FTP_GUP                         88950           Ref: 97277, 96166, 89018, 88978
FTP_HLP                         88943           Ref: 97291, 96375, 88989
FTP_IDL                         88930           Ref: 97293, 96214, 88990
FTP_MDE                         88931           Ref: 97281, 96211, 96048, 94553, 88992, 88983
FTP_MDI                         88932           -No References
FTP_MGE                         88933           Ref: 97297, 96210, 94555, 88993
FTP_MKD                         88934           Ref: 97299, 96232, 88994
FTP_MOD                         88935           Ref: 97301, 96235, 88995

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2017
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FTP_MPU                         88936           Ref: 97303, 96359, 93867, 92887, 88996
FTP_OPN                         88937           Ref: 97305, 96285, 88997
FTP_OPT                         88955           Ref: 97307, 96473, 89000, 88999, 88998
FTP_PUT                         88938           Ref: 97309, 96358, 92720, 89011, 89001
FTP_PWD                         88939           Ref: 97313, 96364, 89002
FTP_QUO                         88952           Ref: 97315, 96433, 89004
FTP_REN                         88941           Ref: 97319, 96369, 89006
FTP_REP                         88960           Ref: 97311, 96361, 92885, 89008, 89007
FTP_RES                         88942           Ref: 97321, 96372, 89009
FTP_RESTART                     42418           Ref: 99742, 97052, 96872, 95088, 93813, 93065, 89456, 89449, 89370, 89363
FTP_RGE                         88940           Ref: 97317, 96209, 94556, 94549, 89005
FTP_RMD                         88944           Ref: 97323, 96378, 89010
FTP_SECURITY                    42504           Ref: 104095, 101813, 98020, 97432, 97381, 96662, 90545, 90149, 89951, 89666, 
                                                89614, 89517, 89259, 89249, 89238, 89154, 89035, 88841
FTP_SIT                         88946           Ref: 97325, 96390, 89012
FTP_SIZ                         88947           Ref: 97327, 96394, 89013
FTP_STA                         88945           Ref: 97329, 96381, 89014
FTP_SYS                         88948           Ref: 97331, 96406, 89015
FTP_TIMEOUT                     1               Ref: 104575, 104512, 104301, 104037, 101024, 100756, 100644, 100465, 100370, 
                                                97546, 96578, 95867, 94375, 94233, 92652, 92588, 92057, 92002, 90492, 89279, 
                                                88495
FTP_TYP                         88953           Ref: 97333, 96440, 89016
FTP_UMA                         88949           Ref: 97335, 96414, 89017
FTP_USR                         88951           Ref: 97295, 96430, 89019, 88991
FTP_VDI                         88957           Ref: 97285, 96205, 91147, 89020
FTS_APW                         89107           Ref: 97592, 90522, 89237
FTS_ATP                         89095           Ref: 97382, 90564, 89239
FTS_AUT                         89083           Ref: 97390, 90461, 89240
FTS_BUG                         89109           Ref: 97373, 90530, 89244
FTS_CFW                         89087           Ref: 97442, 90549, 89252
FTS_CNV                         89096           Ref: 97471, 90415, 89263
FTS_CPL                         89086           Ref: 97433, 90552, 89251, 89250
FTS_CRY                         89084           Ref: 97396, 90546, 89241
FTS_CSR                         89100           Ref: 97507, 90476, 89271
FTS_DAT                         89105           Ref: 97583, 90489, 89256, 89253
FTS_DBG                         89089           Ref: 97459, 90423, 89257
FTS_DIS                         89108           Ref: 97409, 90649, 89258
FTS_DPL                         89088           Ref: 97448, 90558, 89260, 89254
FTS_ERR                         89101           Ref: 97464, 90464, 89262
FTS_FNC                         89102           Ref: 97423, 90407, 89248
FTS_GFT                         89104           Ref: 90486, 89264
FTS_LOG                         89085           Ref: 97403, 90426, 89243
FTS_PRM                         89098           Ref: 97486, 90458, 89267
FTS_PSV                         89090           Ref: 97480, 90429, 89266, 89265
FTS_SPC                         89091           Ref: 97500, 90432, 89269
FTS_SRP                         89103           Ref: 90618, 89277
FTS_STO                         89106           Ref: 97514, 90502, 89273
FTS_TMO                         89110           Ref: 97547, 90493, 89280
FTS_TST                         89097           Ref: 97493, 90455, 89268
FTS_TYP                         89092           Ref: 97527, 90437, 89282
FTS_USN                         89093           Ref: 97570, 90446, 89283
FTS_VBM                         89094           Ref: 97577, 90449, 89284
FTS_XLA                         89099           Ref: 97416, 90473, 89246
FTT_ASC                         88814           Ref: 103044, 100833, 100675, 100403, 100308, 99947, 99431, 98013, 96574, 93356, 
                                                91940, 90020, 89512, 89509, 88897, 88880, 88853
FTT_BIN                         88815           Ref: 103044, 100608, 99885, 99745, 99743, 99434, 96575, 93353, 90020, 89510
FTT_TEN                         88816           Ref: 100609, 99886, 99437, 96576, 96447, 94915, 93359, 92156, 90443, 89511

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2018
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FTYP_CDIR                       88809           Ref: 103799, 98728
FTYP_DIR                        88808           Ref: 103802, 98729
FTYP_FILE                       88807           Ref: 103793, 98730, 95317, 94284
FTYP_PDIR                       88810           Ref: 103800, 98731
FT_7BIT                         24724           Ref: 92173
FT_8BIT                         24725           Ref: 92176
FT_BIN                          24729           Ref: 92149, 92142
FT_CERTFI                       89673           Ref: 90292, 89686
FT_DEBUG                        89675           Ref: 90302, 89688
FT_KEY                          89676           Ref: 90312, 89689
FT_NOGSS                        89668           Ref: 90217, 89690, 89681
FT_NOK4                         89669           Ref: 90232, 89691, 89682
FT_NOSRP                        89670           Ref: 90247, 89692, 89683
FT_NOSSL                        89671           Ref: 90262, 89693, 89684
FT_NOTLS                        89672           Ref: 90277, 89694, 89685
FT_OKCERT                       89674           Ref: 90297, 89687
FT_SECURE                       89677           Ref: 90317
FT_TEXT                         24728           Ref: 92170
FT_UCS2                         24727           Ref: 92182
FT_UTF8                         24726           Ref: 92179
FT_VERIFY                       89678           Ref: 90320, 89698
FUDGE_FACTOR                    88428           Ref: 104053, 102352, 102307, 98078
GFTIMER                         13036           Ref: 100854, 100601, 100351, 99975, 99876, 99643, 95917, 94452, 94397, 94058, 
                                                94008, 92833, 92789, 92686, 92297, 92106, 91994, 91907, 88500, 16207, 13076
GID_T                           15854           Ref: 15888
GOOD_EXIT                       15361           Ref: 94414, 92804, 89964
GRF_AUTH                        88385           Ref: 98872, 97781
GRF_FEAT                        88386           Ref: 99137, 97783
GSOCKNAME_T                     41067           Ref: 102684, 101048
HADDRLIST                       39468           Ref: 102790, 102781, 102750, 102738
IAC                             39584           Ref: 102425, 102423, 102390, 102388, 98950, 98913, 98908
IFDEBUG                         12481           Ref: 15761, 15283
IFNAMSIZ                        31817           Ref: 34659, 32616, 31951, 31935, 31865, 31854, 31848, 31818
IFR6_MAX_DATA                   34647           Ref: 34666
IFR6_MAX_LLADDR                 34648           Ref: 34675
IF_DOT_H                        0               Ref: 29551, 29546
IKS_OPTION                      39478           Ref: 40544, 39994
IN6ADDR_ANY_INIT                34567           Ref: 35726
IN6_HAS_64BIT_INTTYPE           34207           Ref: 34599, 34433, 34402, 34233, 34215
INADDR_NONE                     32964           Ref: 102730, 42326
INTMAX_MAX                      33805           Ref: 43859
INT_MAX                         17443           Ref: 87601, 87600, 87593, 87586
IP_TOS                          33030           Ref: 102934, 102678, 101515, 101467, 101314, 101239
ISLEAP                          91561           Ref: 91607, 91604
KANJI                           41234           Ref: 41797, 41753
KERMRCL                         25661           Ref: 25692
LF                              23648           Ref: 98753
LHASH_OF                        73755           Ref: 87717, 87717, 87717, 87717, 86616, 86608, 86606, 86604, 86602, 86599, 79392
                                                , 75587, 75585, 75583, 75581, 75579, 75577, 75575, 75575, 75572, 75572, 75569, 
                                                75569, 75568, 75539, 75480, 75480, 75480, 75480, 73894, 73894, 73894, 73894, 
                                                73879, 73879, 73879, 73879
LINBUFSIZ                       25515           Ref: 96478, 96398, 96385, 96352, 96301, 96239, 96176, 96042, 95992, 94887, 93671
                                                , 93559, 93319, 93286, 91169, 91131, 91100, 91072, 91059, 90967
LOCUS                           25470           Ref: 103229, 97950, 97864, 88511, 28363
L_INCR                          97610           -No References
L_SET                           97607           -No References
MAXDNSRCH                       35669           Ref: 35691

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2019
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

MAXHOSTNAMELEN                  88432           Ref: 102757, 102734, 102725, 102686, 102685, 98010, 88604
MAXNS                           35667           Ref: 35713, 35712, 35688
MAXRESOLVSORT                   35673           Ref: 35700
MAXTXSETS                       41677           Ref: 41740, 41735, 41734
MAX_DNS_NAMELEN                 88434           Ref: 98010, 88604
MAX_URL_OPTS                    25107           Ref: 25117
MD5_CBLOCK                      88090           Ref: 88096
MD5_LBLOCK                      88091           Ref: 88096
MD5_LONG                        88088           Ref: 88096, 88095, 88094
MDMINF                          24555           Ref: 24557
MGETMAX                         88402           Ref: 94878, 94533, 94528
MLSDEPTH                        103456          Ref: 103805, 103459, 103458
MODE_B                          89554           -No References
MODE_C                          89555           -No References
MODE_S                          89553           Ref: 98015
MSG_OOB                         30244           Ref: 102427
NAM                             3942            Ref: 3948
NAML                            4763            Ref: 4769
NAML$C_BID                      3976            Ref: 11078
NAML$C_MAXRSS                   3978            Ref: 103766, 103764, 103762, 103739, 103715, 103714, 103574, 103572, 103490, 
                                                100536, 100461, 95840, 95833, 95814, 95794, 95792, 95730, 95694, 95681, 95476, 
                                                95228, 95144, 94924, 94892, 94331, 94311, 94308, 94179, 94159, 94156, 93743, 
                                                93611, 93321, 93288, 92446, 92415, 92231, 92230, 92229, 92223, 92221, 92216, 
                                                92099, 92098, 91976, 91964, 91962, 91960, 91912, 91482, 91459, 91437, 91361, 
                                                91352, 91340, 91321, 91310, 91309, 91308, 88783, 88782
NAMX_C_MAXRSS                   11090           Ref: 103766, 103764, 103762, 103739, 103715, 103714, 103574, 103572, 103490, 
                                                100536, 100461, 95840, 95833, 95814, 95794, 95792, 95730, 95694, 95681, 95476, 
                                                95228, 95144, 94924, 94892, 94331, 94311, 94308, 94179, 94159, 94156, 93743, 
                                                93611, 93321, 93288, 92446, 92415, 92231, 92230, 92229, 92223, 92221, 92216, 
                                                92099, 92098, 91976, 91964, 91962, 91960, 91912, 91482, 91459, 91437, 91361, 
                                                91352, 91340, 91321, 91310, 91309, 91308, 88783, 88782
NBBY                            23487           Ref: 103261, 103261, 102455, 102455, 102440, 102440, 102438, 102438, 92607, 92607
                                                , 39295, 23495, 23495
NETCONN                         927             Ref: 29236, 21817, 13253
NEWDEFAULTS                     23730           Ref: 24169
NEWFTP                          0               Ref: 28511, 21720, 13284, 13275
NFDBITS                         23488           Ref: 103261, 103261, 102455, 102455, 102440, 102440, 102438, 102438, 92607, 92607
                                                , 23495, 23495
NOARROWKEYS                     279             Ref: 25409
NOHTTP                          13249           Ref: 102837, 102697, 101074, 99543, 99474, 88158, 42393, 40952
NOKVERBS                        16259           Ref: 16263
NOPUTENV                        13562           Ref: 13594
NOVMSSHARE                      0               -No References
NO_DNS_SRV                      29253           Ref: 29270
NO_PARAM_H                      21090           Ref: 21098
NSNDEXCEPT                      24237           Ref: 95448, 95068, 93762
NS_MAXDNAME                     35106           Ref: 35168
NUL                             23638           Ref: 104832, 104505, 104294, 103715, 103714, 103713, 103196, 103010, 102426, 
                                                102392, 99334, 99113, 99111, 99085, 99030, 98953, 98916, 98812, 98800, 98755, 
                                                98672, 98659, 97980, 95372, 95226, 94973, 94970, 94860, 94497, 93655, 93567, 
                                                93561, 93405, 93402, 93275, 92865, 92862, 92663, 92231, 92228, 92205, 91958, 
                                                91812, 91429, 91372, 91372, 91329, 91168, 89858, 89857, 89852, 89851, 89828, 
                                                89828, 89798, 88783, 88783, 88782, 88782, 88603, 88603
NULL                            1596            Ref: 104836, 104534, 104474, 104345, 104325, 104133, 104094, 103998, 103847, 
                                                103840, 103835, 103806, 103782, 103772, 103770, 103767, 103753, 103741, 103739, 
                                                103732, 103726, 103725, 103708, 103687, 103677, 103665, 103651, 103649, 103577, 
                                                103574, 103574, 103521, 103514, 103507, 103504, 103492, 103467, 103459, 103459, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2020
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                103458, 103458, 103391, 103379, 103379, 103379, 103375, 103356, 103356, 103356, 
                                                103352, 103347, 103286, 103224, 103211, 103211, 103211, 103207, 103197, 103183, 
                                                103183, 103183, 103180, 103174, 103173, 103162, 103162, 103162, 103159, 103157, 
                                                103157, 103157, 103157, 103157, 103157, 103157, 103150, 103122, 103095, 103095, 
                                                103095, 103065, 103059, 103054, 103012, 103008, 103000, 102925, 102741, 102593, 
                                                102561, 102354, 102340, 102339, 102339, 102301, 102298, 102272, 102262, 102249, 
                                                102232, 102222, 102209, 102207, 101406, 101359, 101359, 101359, 101348, 101343, 
                                                101341, 101304, 101060, 101016, 100575, 100555, 100533, 100531, 100458, 100383, 
                                                100233, 100154, 100061, 100060, 99989, 99952, 99839, 99819, 99670, 99585, 99125, 
                                                98842, 98831, 98795, 98794, 98675, 98580, 98580, 98575, 98460, 98460, 98394, 
                                                98379, 98374, 98374, 98374, 98356, 98337, 98327, 98261, 98251, 98170, 98110, 
                                                98108, 98106, 98104, 98102, 98100, 98074, 98072, 98037, 97945, 97918, 97910, 
                                                97858, 97841, 97822, 97701, 97673, 96680, 96462, 96437, 96411, 96329, 96328, 
                                                96223, 96188, 96141, 96140, 96119, 96117, 95945, 95908, 95755, 95716, 95635, 
                                                95375, 95368, 95264, 95233, 95232, 94963, 94840, 94807, 94797, 94774, 94701, 
                                                94627, 94619, 94590, 94589, 94588, 94578, 94534, 94523, 94521, 94510, 94503, 
                                                94444, 94444, 94358, 94323, 94255, 94253, 94247, 94220, 94206, 94171, 94131, 
                                                94080, 94034, 93594, 93591, 93532, 93531, 93530, 93520, 93509, 93395, 93222, 
                                                93221, 93211, 93184, 93109, 93004, 93000, 92985, 92934, 92921, 92920, 92919, 
                                                92909, 92872, 92861, 92860, 92859, 92858, 92829, 92727, 92726, 92725, 92670, 
                                                92102, 92102, 91803, 91752, 91460, 91460, 91439, 91439, 91353, 91353, 91341, 
                                                91341, 91279, 91274, 91237, 91232, 91212, 91212, 91203, 91200, 90922, 90918, 
                                                90806, 90793, 90782, 90775, 90737, 90736, 90735, 90725, 90692, 90678, 90678, 
                                                90678, 90526, 90516, 90508, 90503, 90393, 90196, 90196, 90142, 90078, 89896, 
                                                89896, 89890, 89889, 89774, 89771, 88887, 88886, 88885, 88884, 88883, 88882, 
                                                88788, 88775, 88710, 88608, 88607, 88606, 88605, 46219, 41717, 22908, 21105, 
                                                20260, 17602, 16603
NZLTOR                          21280           Ref: 21293
NZXPAND                         12238           Ref: 16008, 12265
OPENSSL_098                     42607           Ref: 42621
OPENSSL_100                     0               Ref: 42605
OPENSSL_API_LEVEL               43425           Ref: 60229, 43540, 43529, 43518, 43507, 43496, 43485, 43474, 43448, 43444, 43444
                                                , 43440, 43432
OPENSSL_CONFIGURED_API          42767           Ref: 60229, 43540, 43529, 43518, 43507, 43496, 43485, 43474, 43448, 43444, 43444
                                                , 43440, 43432, 43432, 43424
OPENSSL_CONF_H                  75378           Ref: 86576, 75516
OPENSSL_CRYPTO_H                43954           Ref: 58514
OPENSSL_EXPORT                  43786           Ref: 46426
OPENSSL_FUNC                    43582           Ref: 43593
OPENSSL_MACROS_H                42720           Ref: 42897
OPENSSL_NO_CRYPTO_MDEBUG        42787           Ref: 46794
OPENSSL_NO_EC_NISTP_64_GCC_128  42796           Ref: 70093
OPENSSL_NO_EGD                  42799           Ref: 87321
OPENSSL_NO_IDEA                 42814           Ref: 68658
OPENSSL_NO_KTLS                 42817           Ref: 57751
OPENSSL_NO_MD2                  42823           Ref: 68580
OPENSSL_NO_MDC2                 42597           Ref: 68608, 42825
OPENSSL_NO_RC5                  42835           Ref: 68688
OPENSSL_NO_SCTP                 42838           Ref: 58269, 57917, 57717, 57643
OPENSSL_NO_SSL3                 42841           Ref: 98130
OPENSSL_NO_SSL3_METHOD          42844           Ref: 85002
OPENSSL_NO_UNIT_TEST            42853           Ref: 85531
OPENSSL_SSL_H                   42706           Ref: 79728
OPENSSL_SYS_VMS                 43711           Ref: 44636, 43889, 43836
OPENSSL_THREADS                 42772           Ref: 46927
OPENSSL_VERSION_MAJOR           43224           Ref: 98138, 43440
OPENSSL_VERSION_MINOR           43225           Ref: 98138, 43440

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2021
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OPENSSL_VERSION_NUMBER          43294           Ref: 98138
OPENSSL_VERSION_PATCH           43226           Ref: 98138
OPENSSL_VERSION_PRE_RELEASE     43236           Ref: 43289
OPENSSL_X509_H                  58483           Ref: 84793, 73622
OPN_ACC                         89028           Ref: 90803, 89048
OPN_ACT                         89029           Ref: 90813, 89049
OPN_ANO                         89025           Ref: 90765, 89050
OPN_NIN                         89032           Ref: 90769, 89051
OPN_NOL                         89033           Ref: 90772, 89052
OPN_PSV                         89030           Ref: 90816, 89053
OPN_PSW                         89026           Ref: 90777, 89054
OPN_TLS                         89031           Ref: 96343, 90819, 89040, 89039
OPN_USR                         89027           Ref: 90790, 89055
OSSL_ASYNC_FD                   77172           Ref: 84953, 84952, 84951, 84946, 77249, 77248, 77238, 77237, 77235, 77232, 77228
OSSL_CORE_MAKE_FUNC             58931           Ref: 59819, 59818, 59817, 59813, 59811, 59809, 59808, 59807, 59783, 59779, 59777
                                                , 59774, 59772, 59770, 59769, 59768, 59767, 59756, 59754, 59748, 59746, 59743, 
                                                59741, 59739, 59738, 59737, 59736, 59722, 59720, 59718, 59717, 59716, 59715, 
                                                59712, 59710, 59706, 59704, 59703, 59687, 59685, 59683, 59681, 59680, 59679, 
                                                59674, 59672, 59667, 59665, 59664, 59646, 59644, 59642, 59640, 59638, 59636, 
                                                59634, 59632, 59631, 59630, 59627, 59625, 59623, 59620, 59617, 59614, 59612, 
                                                59609, 59606, 59604, 59599, 59597, 59593, 59591, 59589, 59558, 59556, 59554, 
                                                59552, 59551, 59550, 59549, 59547, 59545, 59544, 59528, 59523, 59520, 59518, 
                                                59516, 59507, 59502, 59498, 59493, 59488, 59486, 59481, 59479, 59474, 59469, 
                                                59465, 59463, 59460, 59458, 59456, 59454, 59445, 59387, 59382, 59380, 59375, 
                                                59373, 59371, 59370, 59368, 59366, 59365, 59364, 59363, 59362, 59359, 59355, 
                                                59351, 59350, 59345, 59344, 59341, 59316, 59314, 59313, 59311, 59309, 59308, 
                                                59306, 59305, 59304, 59303, 59302, 59285, 59283, 59282, 59280, 59278, 59277, 
                                                59274, 59272, 59270, 59269, 59268, 59267, 59249, 59247, 59245, 59243, 59241, 
                                                59240, 59239, 59238, 59234, 59231, 59227, 59221, 59215, 59214, 59194, 59192, 
                                                59190, 59188, 59186, 59185, 59183, 59182, 59178, 59175, 59173, 59172, 59171, 
                                                59134, 59131, 59128, 59125, 59122, 59119, 59116, 59114, 59109, 59107, 59105, 
                                                59103, 59101, 59099, 59093, 59081, 59077, 59075, 59072, 59064, 59060, 59058, 
                                                59056, 59055, 59054, 59053, 59052, 59050, 59048, 59047, 59045, 59028, 59025, 
                                                59021, 59018, 59015, 59012, 59008, 59005, 59002, 58999, 58996, 58993, 58987, 
                                                58984, 58976, 58973, 58971, 58967, 58963, 58961, 58958, 58954, 58951, 58948
OSSL_DEPRECATED                 43373           Ref: 88106, 88104, 88103, 88102, 88101, 88038, 88034, 88030, 88028, 88026, 88023
                                                , 88021, 87967, 87965, 87964, 87920, 87916, 87911, 87907, 87904, 87903, 87902, 
                                                87900, 87834, 87831, 87828, 87802, 87791, 87779, 87767, 87765, 87297, 87273, 
                                                87270, 87268, 87267, 85236, 85232, 85056, 85055, 85054, 85047, 85046, 85045, 
                                                85039, 85038, 85037, 85031, 85030, 85029, 85023, 85022, 85021, 84998, 84918, 
                                                84917, 84915, 84914, 84910, 84907, 84905, 84902, 84899, 84896, 84895, 84894, 
                                                84893, 84817, 84815, 84702, 84694, 84668, 84667, 84047, 79356, 79354, 79353, 
                                                79352, 79351, 79350, 77938, 77132, 77131, 77130, 77128, 77126, 77124, 77119, 
                                                77116, 77115, 77114, 77113, 77012, 77012, 77011, 77011, 77005, 77005, 77004, 
                                                77004, 77003, 77003, 76997, 76997, 76996, 76996, 76995, 76995, 76991, 76991, 
                                                76990, 76990, 76989, 76989, 76191, 76136, 76135, 76011, 76008, 76005, 75922, 
                                                75922, 75917, 75917, 75913, 75913, 75840, 75839, 75838, 75837, 75831, 75830, 
                                                75829, 75828, 75824, 75823, 75822, 75821, 75820, 75819, 75793, 75792, 75791, 
                                                75790, 75785, 75784, 75783, 75782, 75778, 75777, 75776, 75775, 75774, 75773, 
                                                75607, 75589, 73078, 73077, 73075, 73074, 73073, 73071, 73070, 73028, 73027, 
                                                73025, 73024, 73023, 73021, 73020, 73003, 73002, 73001, 73000, 72939, 72938, 
                                                72935, 72932, 72930, 72929, 72927, 72926, 72923, 72920, 72916, 72913, 72911, 
                                                72909, 72907, 72905, 72903, 72901, 72899, 72898, 72897, 72896, 72894, 72893, 
                                                72892, 72891, 72890, 72888, 72887, 72886, 72885, 72884, 72883, 72882, 72881, 
                                                72880, 72878, 72876, 72875, 72873, 72870, 72852, 72851, 72849, 72848, 72846, 
                                                72839, 72830, 72824, 72824, 72822, 72822, 72820, 72820, 72818, 72817, 72811, 
                                                72808, 72806, 72804, 72803, 72802, 72801, 72799, 72798, 72797, 72795, 72794, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2022
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                72793, 72792, 72790, 72787, 72785, 72784, 72670, 72663, 72660, 72659, 72658, 
                                                72657, 72656, 72650, 72644, 72639, 72635, 72633, 72632, 72631, 72630, 72629, 
                                                72628, 72627, 72626, 72625, 72624, 72623, 72621, 72620, 72619, 72618, 72617, 
                                                72616, 72615, 72614, 72613, 72612, 72611, 72610, 72608, 72607, 72605, 72599, 
                                                72596, 72595, 72592, 72591, 72590, 72587, 72585, 72582, 72582, 72581, 72581, 
                                                72578, 72576, 72575, 72573, 72572, 72571, 72570, 72569, 72568, 72564, 72562, 
                                                72561, 72556, 72555, 72554, 72553, 72552, 72551, 72549, 72548, 72547, 72546, 
                                                72544, 72542, 72352, 72233, 72227, 72223, 72220, 72214, 72207, 72201, 72194, 
                                                72192, 72190, 72188, 72186, 72178, 72171, 72167, 72163, 72158, 72153, 72148, 
                                                72143, 72138, 72133, 72128, 72123, 72121, 72120, 72119, 72118, 72116, 72115, 
                                                72114, 72113, 72112, 72088, 72087, 72085, 72084, 72076, 72071, 72066, 72062, 
                                                72060, 72057, 72055, 72052, 72050, 72044, 72039, 72035, 72031, 72028, 72024, 
                                                72021, 72017, 72014, 72012, 72011, 72010, 72004, 71999, 71990, 71987, 71981, 
                                                71978, 71948, 71946, 71944, 71941, 71940, 71939, 71938, 71937, 71935, 71934, 
                                                71932, 71929, 71926, 71923, 71920, 71918, 71917, 71913, 71906, 71902, 71899, 
                                                71892, 71884, 71883, 71882, 71881, 71880, 71879, 71878, 71877, 71876, 71875, 
                                                71874, 71873, 71872, 71871, 71868, 71864, 71862, 71861, 71859, 71856, 71851, 
                                                71848, 71847, 71846, 71844, 71843, 71842, 71841, 71840, 71769, 71499, 71484, 
                                                71477, 71474, 71465, 71455, 71440, 71435, 71432, 71423, 71422, 71421, 71415, 
                                                71407, 71391, 71374, 71361, 71351, 71338, 71325, 71256, 71251, 71244, 71243, 
                                                71242, 71241, 71240, 71239, 71236, 71228, 71220, 71212, 71205, 71196, 71181, 
                                                71171, 71157, 71147, 71134, 71126, 71115, 71105, 71093, 71082, 71073, 71067, 
                                                71061, 71055, 71047, 71044, 71043, 71035, 71034, 71033, 71032, 71030, 71022, 
                                                71016, 71008, 71002, 70994, 70988, 70982, 70976, 70970, 70963, 70958, 70947, 
                                                70936, 70934, 70932, 70930, 70928, 70921, 70889, 70886, 70849, 70843, 70819, 
                                                70806, 70804, 70734, 70730, 70685, 70672, 70659, 70646, 70619, 70606, 70568, 
                                                70554, 70543, 70344, 70329, 70314, 70299, 70148, 70142, 70136, 70131, 70118, 
                                                70091, 70086, 70081, 69907, 69817, 69815, 69813, 69811, 69806, 69802, 69797, 
                                                69794, 69790, 69786, 69781, 69776, 69770, 69766, 69762, 69759, 69756, 69754, 
                                                69751, 69749, 69746, 69744, 69742, 69740, 69735, 69731, 69727, 69724, 69720, 
                                                69716, 69711, 69706, 69701, 69697, 69693, 69690, 69687, 69685, 69682, 69680, 
                                                69508, 69436, 69435, 69434, 69433, 69432, 69430, 69428, 69427, 69426, 69100, 
                                                69098, 69056, 69054, 69052, 69047, 69046, 69045, 69039, 69037, 69035, 69030, 
                                                69028, 69026, 69021, 69017, 69014, 69012, 69010, 69007, 69005, 68980, 68976, 
                                                68314, 68309, 68308, 68307, 68273, 68242, 68239, 68237, 67971, 67968, 67965, 
                                                67963, 67958, 67953, 67949, 67945, 67941, 67938, 67932, 67926, 67924, 67922, 
                                                67920, 67918, 67916, 67914, 67836, 67834, 67831, 67828, 67825, 67823, 67822, 
                                                67821, 67820, 67819, 67816, 67814, 67811, 67808, 67804, 67802, 67800, 67798, 
                                                67796, 67794, 67793, 67792, 67791, 67088, 67084, 60474, 60472, 60423, 60418, 
                                                60415, 60402, 60400, 60393, 60389, 60384, 60260, 60258, 58351, 58350, 58349, 
                                                58348, 58347, 57857, 57856, 57855, 44729, 44728, 44727, 44725, 44723, 44722, 
                                                44721, 44720, 44719, 44718, 44716, 44714, 44713, 44712, 44711, 44709, 44706, 
                                                44703, 44700, 44697, 44695, 44694, 44692, 44689, 44687, 44686, 44685, 44684, 
                                                44683
OSSL_DEPRECATEDIN_0_9_8         43542           Ref: 72830, 72670, 71892, 60474, 60472, 60393, 60389, 60384
OSSL_DEPRECATEDIN_1_0_0         43531           Ref: 87831
OSSL_DEPRECATEDIN_1_1_0         43498           Ref: 87828, 87297, 85056, 85055, 85054, 85047, 85046, 85045, 85039, 85038, 85037
                                                , 85031, 85030, 85029, 85023, 85022, 85021, 84047, 77119, 76136, 76135, 75589, 
                                                67088, 58351, 58350, 58349, 58348, 58347
OSSL_DEPRECATEDIN_3_0           43476           Ref: 88106, 88104, 88103, 88102, 88101, 88038, 88034, 88030, 88028, 88026, 88023
                                                , 88021, 87967, 87965, 87964, 87920, 87916, 87911, 87907, 87904, 87903, 87902, 
                                                87900, 87834, 87802, 87791, 87779, 87767, 87765, 87273, 87270, 87268, 87267, 
                                                85236, 85232, 84998, 84918, 84917, 84915, 84914, 84910, 84907, 84905, 84902, 
                                                84899, 84896, 84895, 84894, 84893, 84817, 84815, 84702, 84694, 84668, 84667, 
                                                79356, 79354, 79353, 79352, 79351, 79350, 77938, 77132, 77131, 77130, 77128, 
                                                77126, 77124, 77116, 77115, 77114, 77113, 77012, 77012, 77011, 77011, 77005, 
                                                77005, 77004, 77004, 77003, 77003, 76997, 76997, 76996, 76996, 76995, 76995, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2023
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                76991, 76991, 76990, 76990, 76989, 76989, 76191, 76011, 76008, 76005, 75922, 
                                                75922, 75917, 75917, 75913, 75913, 75840, 75839, 75838, 75837, 75831, 75830, 
                                                75829, 75828, 75824, 75823, 75822, 75821, 75820, 75819, 75793, 75792, 75791, 
                                                75790, 75785, 75784, 75783, 75782, 75778, 75777, 75776, 75775, 75774, 75773, 
                                                75607, 73078, 73077, 73075, 73074, 73073, 73071, 73070, 73028, 73027, 73025, 
                                                73024, 73023, 73021, 73020, 73003, 73002, 73001, 73000, 72939, 72938, 72935, 
                                                72932, 72930, 72929, 72927, 72926, 72923, 72920, 72916, 72913, 72911, 72909, 
                                                72907, 72905, 72903, 72901, 72899, 72898, 72897, 72896, 72894, 72893, 72892, 
                                                72891, 72890, 72888, 72887, 72886, 72885, 72884, 72883, 72882, 72881, 72880, 
                                                72878, 72876, 72875, 72873, 72870, 72852, 72851, 72849, 72848, 72846, 72839, 
                                                72824, 72824, 72822, 72822, 72820, 72820, 72818, 72817, 72811, 72808, 72806, 
                                                72804, 72803, 72802, 72801, 72799, 72798, 72797, 72795, 72794, 72793, 72792, 
                                                72790, 72787, 72785, 72784, 72663, 72660, 72659, 72658, 72657, 72656, 72650, 
                                                72644, 72639, 72635, 72633, 72632, 72631, 72630, 72629, 72628, 72627, 72626, 
                                                72625, 72624, 72623, 72621, 72620, 72619, 72618, 72617, 72616, 72615, 72614, 
                                                72613, 72612, 72611, 72610, 72608, 72607, 72605, 72599, 72596, 72595, 72592, 
                                                72591, 72590, 72587, 72585, 72582, 72582, 72581, 72581, 72578, 72576, 72575, 
                                                72573, 72572, 72571, 72570, 72569, 72568, 72564, 72562, 72561, 72556, 72555, 
                                                72554, 72553, 72552, 72551, 72549, 72548, 72547, 72546, 72544, 72542, 72352, 
                                                72233, 72227, 72223, 72220, 72214, 72207, 72201, 72194, 72192, 72190, 72188, 
                                                72186, 72178, 72171, 72167, 72163, 72158, 72153, 72148, 72143, 72138, 72133, 
                                                72128, 72123, 72121, 72120, 72119, 72118, 72116, 72115, 72114, 72113, 72112, 
                                                72088, 72087, 72085, 72084, 72076, 72071, 72066, 72062, 72060, 72057, 72055, 
                                                72052, 72050, 72044, 72039, 72035, 72031, 72028, 72024, 72021, 72017, 72014, 
                                                72012, 72011, 72010, 72004, 71999, 71990, 71987, 71981, 71978, 71948, 71946, 
                                                71944, 71941, 71940, 71939, 71938, 71937, 71935, 71934, 71932, 71929, 71926, 
                                                71923, 71920, 71918, 71917, 71913, 71906, 71902, 71899, 71884, 71883, 71882, 
                                                71881, 71880, 71879, 71878, 71877, 71876, 71875, 71874, 71873, 71872, 71871, 
                                                71868, 71864, 71862, 71861, 71859, 71856, 71851, 71848, 71847, 71846, 71844, 
                                                71843, 71842, 71841, 71840, 71769, 71499, 71484, 71477, 71474, 71465, 71455, 
                                                71440, 71435, 71432, 71423, 71422, 71421, 71415, 71407, 71391, 71374, 71361, 
                                                71351, 71338, 71325, 71256, 71251, 71244, 71243, 71242, 71241, 71240, 71239, 
                                                71236, 71228, 71220, 71212, 71205, 71196, 71181, 71171, 71157, 71147, 71134, 
                                                71126, 71115, 71105, 71093, 71082, 71073, 71067, 71061, 71055, 71047, 71044, 
                                                71043, 71035, 71034, 71033, 71032, 71030, 71022, 71016, 71008, 71002, 70994, 
                                                70988, 70982, 70976, 70970, 70963, 70958, 70947, 70936, 70934, 70932, 70930, 
                                                70928, 70921, 70889, 70886, 70849, 70843, 70819, 70806, 70804, 70734, 70730, 
                                                70685, 70672, 70659, 70646, 70619, 70606, 70568, 70554, 70543, 70344, 70329, 
                                                70314, 70299, 70148, 70142, 70136, 70131, 70118, 70091, 70086, 70081, 69907, 
                                                69817, 69815, 69813, 69811, 69806, 69802, 69797, 69794, 69790, 69786, 69781, 
                                                69776, 69770, 69766, 69762, 69759, 69756, 69754, 69751, 69749, 69746, 69744, 
                                                69742, 69740, 69735, 69731, 69727, 69724, 69720, 69716, 69711, 69706, 69701, 
                                                69697, 69693, 69690, 69687, 69685, 69682, 69680, 69508, 69436, 69435, 69434, 
                                                69433, 69432, 69430, 69428, 69427, 69426, 69100, 69098, 69056, 69054, 69052, 
                                                69047, 69046, 69045, 69039, 69037, 69035, 69030, 69028, 69026, 69021, 69017, 
                                                69014, 69012, 69010, 69007, 69005, 68980, 68976, 68314, 68309, 68308, 68307, 
                                                68273, 68242, 68239, 68237, 67971, 67968, 67965, 67963, 67958, 67953, 67949, 
                                                67945, 67941, 67938, 67932, 67926, 67924, 67922, 67920, 67918, 67916, 67914, 
                                                67836, 67834, 67831, 67828, 67825, 67823, 67822, 67821, 67820, 67819, 67816, 
                                                67814, 67811, 67808, 67804, 67802, 67800, 67798, 67796, 67794, 67793, 67792, 
                                                67791, 67084, 60423, 60418, 60415, 60402, 60400, 60260, 60258, 57857, 57856, 
                                                57855, 44729, 44728, 44727, 44725, 44723, 44722, 44721, 44720, 44719, 44718, 
                                                44716, 44714, 44713, 44712, 44711, 44709, 44706, 44703, 44700, 44697, 44695, 
                                                44694, 44692, 44689, 44687, 44686, 44685, 44684, 44683
PARSENSE                        14273           Ref: 16104
PASSBUFSIZ                      88398           Ref: 103183, 103162, 103141, 103122, 103094, 103093
PEM_read_cb_ex_fnsig            76614           Ref: 77016, 77016, 77015, 77015

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2024
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

PEM_read_cb_fnsig               76611           Ref: 84205, 84205, 77016, 77016, 77015, 77015, 77011, 77011, 77005, 77005, 77004
                                                , 77004, 77003, 77003, 76997, 76997, 76996, 76996, 76995, 76995, 76991, 76991, 
                                                76990, 76990, 76989, 76989, 76987, 76987, 76986, 76986, 76985, 76985, 76984, 
                                                76984, 76983, 76983, 76982, 76982, 76980, 76980, 76979, 76979, 76978, 76978
PEM_write_cb_ex_fnsig           76631           Ref: 77015, 77015
PEM_write_cb_fnsig              76622           Ref: 77015, 77015, 77004, 77004, 76995, 76995, 76989, 76989
PEM_write_ex_fnsig              76627           Ref: 77016, 77016
PEM_write_fnsig                 76620           Ref: 84205, 84205, 77016, 77016, 77012, 77012, 77011, 77011, 77005, 77005, 77003
                                                , 77003, 76997, 76997, 76996, 76996, 76991, 76991, 76990, 76990, 76987, 76987, 
                                                76986, 76986, 76985, 76985, 76984, 76984, 76983, 76983, 76982, 76982, 76981, 
                                                76981, 76980, 76980, 76979, 76979, 76978, 76978
PF_INET                         30193           Ref: 40925
PROMPTSIZ                       88399           Ref: 103159, 103156, 103151
PROT_C                          89559           -No References
PROT_E                          89562           -No References
PROT_P                          89561           -No References
PROT_S                          89560           -No References
PTHREAD_DESTRUCTOR_ITERATIONS   17565           Ref: 55971
PTHREAD_KEYS_MAX                17569           Ref: 55967
PTHREAD_STACK_MIN               17573           Ref: 55975
PUTARRAY                        42453           Ref: 96970, 93722, 92997, 92827, 89301, 88531
PUT_DIF                         89129           Ref: 92284, 92242, 92239
PUT_RES                         89127           Ref: 93843, 93839, 92257, 92120
PUT_SIM                         89128           Ref: 93799, 92362, 92283, 92208, 92151
PUT_UPD                         89126           Ref: 93844, 93781, 92284, 92239
PWDSIZ                          88397           Ref: 103379, 103356, 103334
RAB                             6192            Ref: 6198
RAB64                           7005            Ref: 7015
RADIX_DECODE                    89588           Ref: 99189
RADIX_ENCODE                    89587           Ref: 98562
RC4_INT                         42880           Ref: 87960, 87959
RECURSIVE                       13119           Ref: 97057, 96878, 96767, 90046, 89494, 89490, 89464, 89452, 89383, 89366
REPLY_COMPLETE                  89533           Ref: 103394, 103387, 103346, 103322, 103309, 103286, 103218, 103173, 103171, 
                                                103066, 103009, 103001, 102594, 102562, 102340, 102250, 102210, 102208, 101310, 
                                                101060, 99750, 99445, 98037, 96481, 96462, 96437, 96411, 96401, 96387, 96243, 
                                                96228, 96223, 96192, 96163, 96002, 95784, 95656, 95645, 95569, 94304, 94153, 
                                                91787, 91279, 91274, 91265, 91260, 91237, 91232, 91135, 91088, 91083, 91041, 
                                                91036, 90951
REPLY_CONTINUE                  89534           Ref: 103374, 103348, 103308, 103205, 103175, 102250, 100488
REPLY_ERROR                     89536           Ref: 102510, 101305, 100869, 100007
REPLY_PRELIM                    89532           Ref: 100504, 99844, 99840, 99825, 95999, 95996
REPLY_SECURE                    89537           -No References
REPLY_TRANSIENT                 89535           Ref: 100868, 100007
RFNBUFSIZ                       88785           Ref: 97746, 97741, 97701, 97664, 89795, 89773
RLOGCODE                        29188           Ref: 40913
SCR_AN                          24399           Ref: 92235, 91968
SCR_CW                          24421           Ref: 95932, 94412, 94022, 92802
SCR_EM                          24415           Ref: 95876, 95871, 95735, 95625
SCR_FN                          24398           Ref: 100113, 95597, 95250, 94342, 94190, 92234, 91967
SCR_FS                          24400           Ref: 92236, 91969
SCR_PT                          24413           Ref: 104534, 104474, 104325, 103998, 92670, 92318, 92031, 90371
SCR_ST                          24402           Ref: 95601, 95599, 95251, 94343, 94191, 92320, 92315, 92312, 92309, 92250, 92245
                                                , 92033, 92028, 92025, 92021, 92018, 92013, 92010, 91461, 91440, 91354, 91342
SCR_TC                          24414           Ref: 101424, 101399, 95932, 94412, 94022, 92802
SENDARG2TYPE                    88442           Ref: 104051, 104047, 103983, 103895, 102466, 102431, 102427, 98983, 98945, 98581
                                                , 98577, 92661
SET_AUTO                        23859           Ref: 100832, 100402, 94485, 92847, 92127

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2025
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

SET_OFF                         23858           Ref: 100836, 100406
SFT_AUTH                        88822           Ref: 98775, 98691, 96492, 96465
SFT_LANG                        88823           Ref: 98692
SFT_MDTM                        88824           Ref: 98763, 98693, 96503, 96467
SFT_MLST                        88825           Ref: 103681, 103627, 98767, 98694, 96499, 96468
SFT_PBSZ                        88826           Ref: 98695
SFT_PROT                        88827           Ref: 98696
SFT_REST                        88828           Ref: 98697
SFT_SIZE                        88829           Ref: 98771, 98698, 96507, 96466
SFT_TVFS                        88830           Ref: 98699
SFT_UTF8                        88831           Ref: 98700
SHA512_CBLOCK                   73051           Ref: 73065
SHA_LBLOCK                      72987           Ref: 73065, 73064, 73016, 72996
SHA_LONG                        72985           Ref: 73016, 73015, 73014, 72996, 72995, 72994
SHA_LONG64                      73057           Ref: 73064, 73062, 73061
SIGINT                          18696           Ref: 101020, 100848, 100505, 100438, 100427, 100361, 100358, 100310, 100298, 
                                                100258, 100248, 100124, 100002, 99845, 99704, 99651, 99612, 99600, 99531, 99322, 
                                                99309, 99152, 99126, 99006, 98993, 98964, 98902, 98438, 97807, 97767, 97718
SIGPIPE                         18707           Ref: 100851, 100849, 100356, 100354, 100005, 100003, 99881, 99880, 99848, 99846, 
                                                99654, 99652, 99603, 99601, 99534, 99532
SIGRETURN                       12081           Ref: 12097
SIGTYP                          12083           Ref: 100137, 99371, 98415, 89647, 88701, 88700, 88699, 88648, 24986, 24985, 22415
                                                , 22414, 16177, 16177, 12093
SIG_IGN                         18567           Ref: 100437, 100358, 100257, 99881, 99703, 99611, 99320
SIG_V                           11698           Ref: 12080, 12021
SIXTY_FOUR_BIT                  42876           Ref: 60072
SI_MAX_SIZE                     18347           Ref: 18358
SI_PAD_SIZE                     18348           Ref: 18358
SKM_DEFINE_STACK_OF_INTERNAL    44095           Ref: 87069, 87043, 87004, 86903, 86857, 86792, 86747, 86403, 86226, 86190, 86155
                                                , 86121, 86061, 86018, 85959, 85926, 85900, 85808, 84009, 83983, 78938, 77386, 
                                                77360, 75454, 75058, 74943, 74907, 74040, 74003, 73977, 73951, 73503, 73368, 
                                                73339, 73308, 73243, 73217, 73191, 73165, 67204, 67167, 67105, 67039, 66959, 
                                                66639, 66537, 57881, 46610, 44326, 44292, 44266
SKP_DAT                         24427           Ref: 92252, 92247, 92245
SKP_EQU                         24428           Ref: 92250
SKP_NAM                         24431           Ref: 94343, 94191
SKP_RES                         24435           Ref: 99776
SKP_SIM                         24438           Ref: 92363, 92341, 92289
SKP_TYP                         24429           Ref: 92153
SKP_XNX                         24440           Ref: 92335, 92286
SKP_XUP                         24439           Ref: 92338, 92287
SM_RESEND                       24640           Ref: 99810
SND_AFT                         25915           Ref: 93754, 93753, 92966, 89401, 89378, 89300
SND_ARR                         25940           Ref: 93750, 93723, 93659, 93320, 93305, 93287, 93188, 93067, 92998, 89302
SND_ASN                         25925           Ref: 94923, 94921, 94921, 94616, 93610, 93608, 93608, 93601, 93600, 93599, 93598
                                                , 92982, 89403, 89402, 89305, 89304
SND_BEF                         25914           Ref: 93756, 93755, 92967, 89405, 89308
SND_BIN                         25909           Ref: 94907, 94635, 94632, 93351, 93030, 93027, 89406, 89309, 89307
SND_CAL                         25935           Ref: 94913, 94637, 94634, 93357, 93032, 93029, 89468, 89386
SND_CMD                         25922           Ref: 93659, 93305, 93020, 92879
SND_COL                         25948           Ref: 95037, 95036, 94678, 94674, 89407
SND_CSL                         25945           Ref: 94816, 94812, 93246, 93241, 89428, 89342
SND_CSR                         25946           Ref: 94813, 93242, 89460, 89374
SND_DEL                         25910           Ref: 95065, 94664, 94544, 93751, 93382, 93071, 92881, 92880, 89411, 89319
SND_DIF                         25954           Ref: 95160, 94682, 94673, 89443
SND_ERR                         25944           Ref: 95076, 95075, 94686, 93772, 93771, 93094, 89481, 89412, 89323
SND_EXC                         25911           Ref: 95068, 95067, 94692, 93762, 93761, 93100, 89482, 89413, 89324

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2026
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

SND_FIL                         25936           Ref: 95230, 95147, 95146, 95140, 95139, 95138, 95137, 95029, 95025, 94760, 93623
                                                , 93619, 93618, 93617, 93615, 93297, 93281, 93170, 93022, 89426, 89340
SND_IMG                         25926           Ref: 89421, 89335
SND_LAR                         25912           Ref: 95072, 95071, 94752, 93766, 93765, 93162, 89484, 89425, 89339
SND_MAI                         25913           Ref: 95077, 94669, 89472
SND_MAX                         25959           Ref: 95940, 94509, 94458, 94024, 92871, 92839
SND_MLS                         25957           Ref: 103720, 103680, 103674, 103659, 103655, 103647, 103628, 95084, 95083, 94849
                                                , 94846, 89434, 89433, 89432, 89431
SND_MOV                         25933           Ref: 94959, 94957, 94957, 94799, 94797, 94785, 94780, 93391, 93389, 93383, 93213
                                                , 93211, 93200, 93195, 89436, 89345
SND_NAF                         25928           Ref: 93758, 93757, 92968, 89445, 89355
SND_NAM                         25932           Ref: 95074, 95073, 94743, 93768, 93767, 93153, 89483, 89414, 89325
SND_NBE                         25929           Ref: 93760, 93759, 92969, 89446, 89356
SND_NLS                         25956           Ref: 103785, 103683, 103629, 95081, 95080, 94851, 94844, 89439
SND_NML                         25949           Ref: 94830, 89438
SND_NOB                         25937           Ref: 95462, 94663, 93342, 93070, 89485, 89440, 89347
SND_NOD                         25939           Ref: 95442, 94667, 89441
SND_PAT                         25955           Ref: 95260, 95245, 95217, 94836, 89430
SND_PIP                         25943           Ref: 93801, 93120, 93115, 89447, 89360
SND_PRM                         89296           Ref: 93801, 93120, 93115, 89447, 89360
SND_PRO                         25924           Ref: 94666, 93770, 93769, 93075, 89395
SND_REC                         25918           Ref: 94904, 94668, 93079, 89495, 89491, 89465, 89453, 89384, 89367
SND_REN                         25934           Ref: 94998, 94997, 94789, 94781, 93429, 93428, 93383, 93203, 93196, 89455, 89369
SND_RES                         25923           Ref: 95089, 94662, 94556, 94543, 93814, 93066, 93021, 92886, 92878, 89457, 89450
                                                , 89371, 89364
SND_SHH                         25917           Ref: 95057, 94661, 93713, 93072, 89489, 89448, 89362
SND_SIM                         25953           Ref: 93798, 93074, 89377
SND_SMA                         25919           Ref: 95070, 95069, 94751, 93764, 93763, 93161, 89493, 89463, 89379
SND_SRN                         25950           Ref: 95832, 95831, 95830, 95830, 94792, 94782, 93456, 93455, 93206, 93197, 89462
                                                , 89376
SND_STA                         25920           Ref: 93226
SND_TEN                         89297           Ref: 94913, 94637, 94634, 93357, 93032, 93029, 89468, 89386
SND_TXT                         25921           Ref: 94910, 94636, 94633, 93354, 93031, 93028, 89467, 89404, 89387, 89306
SND_TYP                         25941           Ref: 93347, 93346, 93233, 89391
SND_UPD                         25947           Ref: 95158, 94665, 93775, 93073, 89474, 89393
SND_USN                         89295           Ref: 94666, 93770, 93769, 93075, 89395
SND_XPA                         25942           Ref: 94823, 93253, 89470, 89389
SOCK_STREAM                     29978           Ref: 102809, 102761, 101265, 101054
SOL_SOCKET                      30063           Ref: 102959, 101275, 40871
SO_DONTROUTE                    29991           Ref: 40887
SO_KEEPALIVE                    29990           Ref: 40875
SO_LINGER                       29994           Ref: 40878
SO_OOBINLINE                    29995           Ref: 102959, 102955
SO_RCVBUF                       30024           Ref: 40884
SO_REUSEADDR                    29989           Ref: 101276
SO_SNDBUF                       30023           Ref: 40881
SP                              23673           Ref: 98839, 98807, 98753, 96254, 91792, 24462
SRP_BLOWFISH_CBC                89708           Ref: 89726
SRP_BLOWFISH_CFB64              89709           Ref: 89727
SRP_BLOWFISH_ECB                89707           Ref: 89725
SRP_BLOWFISH_OFB64              89710           Ref: 89728
SRP_CAST5_CBC                   89712           Ref: 89730
SRP_CAST5_CFB64                 89713           Ref: 89731
SRP_CAST5_ECB                   89711           Ref: 89729
SRP_CAST5_OFB64                 89714           Ref: 89732
SRP_DES3_CBC                    89720           Ref: 89738
SRP_DES3_CFB64                  89721           Ref: 89739

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2027
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

SRP_DES3_ECB                    89719           Ref: 89737
SRP_DES3_OFB64                  89722           Ref: 89740
SRP_DES_CBC                     89716           Ref: 89734
SRP_DES_CFB64                   89717           Ref: 89735
SRP_DES_ECB                     89715           Ref: 89733
SRP_DES_OFB64                   89718           Ref: 89736
SRP_MD5                         89746           Ref: 89749
SRP_SHA                         89747           Ref: 89751
SRVNAMLEN                       88396           Ref: 103022, 88603
SSIZE_MAX                       17496           Ref: 43807
SSL3_CT_NUMBER                  82560           Ref: 83769, 83768
SSL_CTRL_SET_SESS_CACHE_MODE    84307           Ref: 98170
SSL_CTX_set_session_cache_mode  85191           Ref: 98170
SSL_ERROR_NONE                  84258           Ref: 104318, 104312, 104113, 102399, 98960, 98923, 98600, 98464
SSL_ERROR_SSL                   84259           Ref: 104338, 104127, 102410, 98976, 98938, 98615, 98475
SSL_ERROR_SYSCALL               84263           Ref: 104331, 104117, 102403, 98966, 98928, 98605, 98468
SSL_ERROR_WANT_READ             84260           Ref: 104330, 104116, 102402, 98963, 98926, 98603, 98467
SSL_ERROR_WANT_WRITE            84261           Ref: 104329, 104115, 102401, 98962, 98925, 98602, 98466
SSL_ERROR_WANT_X509_LOOKUP      84262           Ref: 104337, 104126, 102409, 98975, 98937, 98614, 98474
SSL_ERROR_ZERO_RETURN           84265           Ref: 104339, 104128, 102411, 98977, 98939, 98616, 98476
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS                                                                                               
                                79064           Ref: 98117
SSL_OP_EPHEMERAL_RSA            79157           Ref: 98164, 98156
SSL_OP_NO_SSLv2                 79158           Ref: 98163
SSL_OP_SINGLE_DH_USE            79156           Ref: 98164, 98156
SSL_SESS_CACHE_CLIENT           79381           Ref: 98170
SSL_VERIFY_FAIL_IF_NO_PEER_CERT 84179           Ref: 101382, 98389
SSL_VERIFY_PEER                 84178           Ref: 101377, 98384
SSLv23_client_method            85012           Ref: 98129
STACK_OF                        44092           Ref: 87140, 87137, 87136, 87133, 87118, 87115, 87096, 87069, 87069, 87069, 87043
                                                , 87043, 87043, 87004, 87004, 87004, 86999, 86996, 86932, 86903, 86903, 86903, 
                                                86885, 86857, 86857, 86857, 86820, 86792, 86792, 86792, 86747, 86747, 86747, 
                                                86743, 86709, 86708, 86707, 86706, 86672, 86664, 86655, 86651, 86649, 86635, 
                                                86633, 86631, 86629, 86622, 86620, 86612, 86591, 86517, 86515, 86513, 86508, 
                                                86506, 86498, 86496, 86495, 86403, 86403, 86403, 86256, 86255, 86226, 86226, 
                                                86226, 86218, 86190, 86190, 86190, 86183, 86155, 86155, 86155, 86152, 86121, 
                                                86121, 86121, 86104, 86092, 86061, 86061, 86061, 86046, 86018, 86018, 86018, 
                                                85991, 85959, 85959, 85959, 85957, 85956, 85955, 85954, 85926, 85926, 85926, 
                                                85900, 85900, 85900, 85808, 85808, 85808, 85785, 85783, 85747, 85744, 85742, 
                                                85399, 85347, 85261, 85260, 85249, 85249, 85248, 85160, 85116, 85116, 85102, 
                                                85101, 85100, 85099, 85097, 85094, 85093, 85092, 85091, 85069, 85068, 85067, 
                                                85066, 84828, 84802, 84721, 84719, 84717, 84714, 84713, 84678, 84009, 84009, 
                                                84009, 83983, 83983, 83983, 83964, 82892, 78970, 78938, 78938, 78938, 78931, 
                                                78930, 77763, 77763, 77751, 77736, 77736, 77724, 77704, 77679, 77536, 77386, 
                                                77386, 77386, 77360, 77360, 77360, 76962, 76961, 76959, 76959, 76940, 76939, 
                                                76937, 76937, 76459, 76399, 76397, 76357, 76352, 76352, 76348, 76348, 76343, 
                                                76343, 76341, 76341, 76340, 76339, 76337, 76335, 76334, 76281, 76281, 76280, 
                                                76279, 76277, 76275, 76273, 76272, 76185, 76185, 76184, 76163, 76163, 76160, 
                                                76150, 76140, 76139, 76098, 76097, 76095, 76067, 75907, 75739, 75730, 75722, 
                                                75618, 75617, 75577, 75554, 75553, 75454, 75454, 75454, 75252, 75251, 75250, 
                                                75243, 75241, 75239, 75239, 75237, 75228, 75226, 75224, 75222, 75214, 75201, 
                                                75058, 75058, 75058, 75006, 75004, 75003, 75002, 75001, 74995, 74977, 74976, 
                                                74975, 74974, 74943, 74943, 74943, 74907, 74907, 74907, 74902, 74899, 74769, 
                                                74759, 74756, 74748, 74747, 74698, 74651, 74650, 74648, 74647, 74457, 74456, 
                                                74451, 74450, 74385, 74383, 74382, 74381, 74366, 74363, 74361, 74145, 74142, 
                                                74122, 74122, 74114, 74113, 74040, 74040, 74040, 74003, 74003, 74003, 73977, 
                                                73977, 73977, 73951, 73951, 73951, 73549, 73503, 73503, 73503, 73368, 73368, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2028
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                73368, 73366, 73339, 73339, 73339, 73308, 73308, 73308, 73297, 73243, 73243, 
                                                73243, 73217, 73217, 73217, 73191, 73191, 73191, 73165, 73165, 73165, 67509, 
                                                67506, 67204, 67204, 67204, 67167, 67167, 67167, 67105, 67105, 67105, 67039, 
                                                67039, 67039, 66987, 66959, 66959, 66959, 66639, 66639, 66639, 66537, 66537, 
                                                66537, 57881, 57881, 57881, 46610, 46610, 46610, 46607, 44457, 44456, 44326, 
                                                44326, 44326, 44292, 44292, 44292, 44266, 44266, 44266
STREAMING                       23718           Ref: 24897
STRU_F                          89547           Ref: 98016
STRU_P                          89549           -No References
STRU_R                          89548           -No References
ST_ERR                          24407           Ref: 95599
ST_INT                          24405           Ref: 92309, 92025, 92010
ST_MSG                          24410           Ref: 95251, 92315, 92028, 92021, 92018, 91461, 91440, 91354, 91342
ST_OK                           24403           Ref: 92320, 92033
ST_SKIP                         24406           Ref: 95601, 94343, 94191, 92312, 92250, 92245, 92013
SYSUTIMEH                       91660           Ref: 91685
SYS_DOS                         24749           Ref: 103032, 92546, 91150
SYS_OS2                         24748           Ref: 92544
SYS_TOPS10                      24750           Ref: 103034, 92541, 91151
SYS_TOPS20                      24751           Ref: 103033, 92542, 91152
SYS_UNIX                        24745           Ref: 103795, 103787, 103028, 95452, 95289, 94476, 94268, 94140, 94094, 92131
SYS_VMS                         24747           Ref: 103031, 92540, 91149
SYS_VOS                         24752           Ref: 92548
SYS_WIN32                       24746           Ref: 103030, 103029, 94476, 94094, 92545, 92131
TCPIPLIB                        28999           Ref: 104346, 104134, 102978, 102947, 102804, 102263, 102223, 101505, 101493, 
                                                101431, 101409, 101386, 101362, 101323, 101256, 100859, 100418, 100386, 100236, 
                                                99993, 99685, 99673, 99588, 97921, 97844, 97825
TCPSOCKET                       0               Ref: 40977, 40870, 39440, 29235, 29227, 29095, 28995, 28757, 28044, 27060, 24448
                                                , 22004, 13607, 13357, 13330, 13199, 926, 920
TC_UCS2                         41315           Ref: 100748, 100747, 99953, 99125, 98675, 97734
TELOPT_MACRO                    39902           Ref: 40118, 39906
TLOG                            12473           Ref: 92331, 92049, 15741
TLS_CT_NUMBER                   83766           Ref: 83769
TMPBUFSIZ                       25516           Ref: 97358, 96418, 96184, 95816, 95496, 95043, 95010, 93902, 93698, 93569, 93467
                                                , 93441, 91103, 90991, 90981, 90971, 90112
TMPDIRLEN                       12312           Ref: 95178
TNCODE                          921             Ref: 39504, 39474, 29193, 29096, 27118, 26929, 21529, 13384
TN_COMPORT                      13609           Ref: 40641, 40059
TN_DM                           39623           Ref: 102430, 102391
TN_IP                           39617           Ref: 102424, 102389
TTNAMLEN                        15342           Ref: 96297
TTSPDLIST                       14368           Ref: 14411
UC                              88917           Ref: 101303, 101303, 101302, 101302, 101302, 101302
UCX50                           0               Ref: 101470, 29545
UIDBUFLEN                       15296           Ref: 90129, 90120, 90013, 90008, 23755
UID_T                           15853           Ref: 15885
UINTMAX_MAX                     33821           Ref: 43859
ULONG                           299             Ref: 104373, 104269, 100456, 94451, 94057, 92832, 92685, 92103, 91905, 41725
UNICODE                         41133           Ref: 42429, 41512, 41481, 41188, 41145
URL_ONEFILE                     88393           -No References
USETLSTAB                       89037           Ref: 96306
USE_MEMCPY                      21424           Ref: 21476
USHORT                          291             Ref: 41800, 41800, 41799, 41799, 41755, 41755, 41754, 41754, 41748, 41747, 41746
                                                , 41735, 41734, 41721, 12169
VMS                             predefined      Ref: 100102, 100094, 99888, 92479, 91658, 89420, 89334, 88732, 47402, 47232, 
                                                43889, 43708, 42360, 42155, 42128, 41366, 41132, 41063, 41020, 34810, 29452, 
                                                29287, 29277, 29252, 29215, 29187, 28495, 27963, 25741, 25187, 24387, 24322, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2029
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                23958, 23929, 22594, 21709, 21666, 21423, 21307, 21279, 21246, 21203, 21125, 
                                                18224, 16506, 16402, 16218, 16108, 15998, 15851, 15694, 15574, 15506, 15492, 
                                                15467, 15331, 15318, 15236, 15127, 15098, 15073, 14797, 14367, 14315, 14271, 
                                                13964, 13940, 13890, 13856, 13811, 13768, 13713, 13654, 13630, 13576, 13190, 
                                                13156, 13118, 13098, 13050, 13034, 12966, 12756, 12728, 12479, 12309, 12274, 
                                                12237, 12217, 12201, 12150, 11708, 11633, 2956
VMS64                           11718           Ref: 11730
VMSORUNIX                       11634           Ref: 15982
VMSV60                          0               -No References
VMSV70                          0               -No References
VMSV80                          0               -No References
VMS_V84                         0               -No References
VOID                            11970           Ref: 103461, 102990, 102358, 100447, 100445, 100328, 100326, 100268, 100266, 
                                                100203, 100201, 99711, 99619, 99553, 99451, 99418, 99392, 98735, 97811, 91489, 
                                                90927, 90362, 89882, 89832, 89813, 89645, 89644, 89643, 89642, 89641, 88664, 
                                                88663, 88662, 88661, 88660, 88185, 88184, 88166, 42072, 42065, 42065, 41950, 
                                                41944, 41943, 41942, 41939, 41936, 41935, 41821, 41817, 41816, 41807, 41482, 
                                                40943, 40891, 40868, 40541, 28500, 28487, 28481, 28480, 28479, 28478, 28477, 
                                                28476, 28475, 28473, 28468, 28457, 28456, 28453, 28450, 28449, 28448, 28442, 
                                                28441, 28440, 28438, 28437, 28436, 28429, 28409, 28398, 28383, 28381, 28372, 
                                                28371, 28370, 28369, 28368, 28365, 28364, 28349, 28348, 28331, 28330, 28286, 
                                                28272, 28246, 25416, 25415, 25404, 25402, 25396, 25377, 25372, 25371, 25370, 
                                                25369, 25367, 25366, 25077, 25063, 25053, 25051, 25049, 25045, 25042, 25032, 
                                                25030, 25029, 25028, 25027, 25025, 25022, 25021, 25018, 25017, 25003, 25002, 
                                                25001, 25000, 24999, 24998, 24979, 24978, 24976, 24975, 24974, 24973, 24971, 
                                                24967, 24966, 24965, 24963, 24944, 24921, 24910, 24902, 24890, 24386, 21958, 
                                                21957, 21932, 21931, 21926, 21918, 21911, 21653, 21652, 21295, 21294, 16217, 
                                                16216, 16214, 16212, 16211, 16208, 16205, 16179, 16177, 16051, 16023, 15997, 
                                                15996, 15995, 15750, 15748
WHATAMI                         24008           Ref: 24012
WILL                            39596           Ref: 98910
WONT                            39593           Ref: 98951, 98911
W_FTP                           24001           Ref: 95928, 95165, 95165, 94409, 94074, 94019, 92864, 92799, 92785, 92702
W_FT_DELE                       24002           Ref: 95165
W_RECV                          23996           Ref: 95928, 95165, 94409, 94074
W_SEND                          23995           Ref: 94019, 92864, 92799, 92785, 92702
XABALL                          7234            Ref: 7240
XABDAT                          7783            Ref: 7799
XABFHC                          8174            Ref: 8180
XABKEY                          9401            Ref: 9407
XABPRO                          9700            Ref: 9706
XABRDT                          9812            Ref: 9818
XABSUM                          10069           Ref: 10075
XABTRM                          10192           Ref: 10198
XMODE_A                         24650           Ref: 95168, 92140, 88600
XMODE_M                         24651           Ref: 103041, 94916, 93360, 90934, 90021
XXCSEN                          26071           Ref: 92879
XXGET                           25890           Ref: 94545, 94540
XXMGET                          26080           Ref: 94546
XXMMOVE                         26040           Ref: 92881
XXMOVE                          26039           Ref: 92880
XXMSE                           26012           Ref: 92882
XXREGET                         26041           Ref: 94543, 94540
XXRETR                          26068           Ref: 94544, 94540
XXRSEN                          26032           Ref: 92878
XYFD_B                          24379           Ref: 104532, 104472, 104323, 103995, 96625, 95062, 94069, 93719, 92697, 92668, 
                                                91468, 91456, 91434, 91399, 91349, 91337

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2030
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

XYFD_C                          24377           Ref: 101423, 96623
XYFD_N                          24375           Ref: 96621
XYFD_R                          24376           Ref: 96622
XYFD_S                          24378           Ref: 96624
XYFT_B                          24658           Ref: 103044, 100608, 99885, 99745, 99743, 99434, 96575, 94909, 93353, 90020, 
                                                89510
XYFT_T                          24657           Ref: 103044, 100833, 100675, 100403, 100308, 99947, 99431, 98013, 96574, 94912, 
                                                93356, 91940, 90020, 89512, 89509, 88897, 88880, 88853
XYFT_X                          24663           Ref: 100609, 99886, 99437, 96576, 96447, 94915, 93359, 92156, 90443, 89511
XYFX_A                          24685           Ref: 95719, 95041, 94318, 94166, 89133
XYFX_B                          24687           Ref: 95726, 95723, 94327, 94322, 94175, 94170, 89138
XYFX_D                          24688           Ref: 95741, 95506, 94341, 94189, 89142, 89141
XYFX_M                          24692           Ref: 95743, 95160, 94681, 94674, 94349, 94198, 89140
XYFX_R                          24689           Ref: 95722, 94321, 94169, 89145
XYFX_U                          24691           Ref: 95742, 95158, 94348, 94197, 89147
XYFX_X                          24690           Ref: 95744, 94347, 94196, 89144
XYFZ_A                          24696           Ref: 100554
XYFZ_N                          24695           Ref: 100554
XZCDU                           27491           Ref: 96035, 95957
XZCWD                           27467           Ref: 96039, 95958, 95956
XZDEL                           27468           Ref: 96047, 95959
XZDIR                           27469           Ref: 96049, 95960
XZHLP                           27470           Ref: 96051, 95962
XZLGI                           27473           Ref: 95963
XZLGO                           27474           Ref: 96059, 95964
XZMKD                           27488           Ref: 96053, 95965
XZPWD                           27485           Ref: 96045, 95966
XZREN                           27479           Ref: 96055, 95967
XZRMD                           27489           Ref: 96057, 95968
XZTYP                           27483           Ref: 95969
XZXIT                           27490           Ref: 96061, 95961
ZDIFIL                          24253           Ref: 89876, 89874
ZFNQFP                          15468           Ref: 93568, 16044
ZIFILE                          24243           Ref: 99978, 99851, 99788, 99775, 99646, 99537
ZMFILE                          24252           Ref: 95229, 95228, 95145, 95144, 95138, 94514, 93617
ZOFILE                          24244           Ref: 100827, 100555, 100547, 100400
ZRMDIR                          21308           Ref: 21318
ZXREWIND                        12275           Ref: 16019
_CMCFM                          25358           Ref: 94897, 94582, 93542, 93524, 93323, 92913, 90745, 90729
_CMFLD                          25355           Ref: 96340, 96321, 96150, 96133, 94870, 94571, 93551, 93513, 93295, 92902, 90747
                                                , 90718
_CMIFI                          25354           Ref: 93554, 93502, 93486, 93280, 92926
_CMKEY                          25357           Ref: 96310, 96122, 94598, 94560, 92948, 92891, 90828, 90752, 90707
_LARGEFILE                      0               Ref: 1331
_LARGEFILE_SOURCE               0               Ref: 15671
_OPENSSL_VERSION_PRE_RELEASE    43290           Ref: 98138
_POSIX_C_SOURCE                 11704           Ref: 23356, 23312, 23229, 23168, 23043, 22320, 20985, 20926, 20883, 20874, 20874
                                                , 20777, 20773, 20757, 20726, 20644, 20576, 20576, 20549, 20484, 20464, 20442, 
                                                20414, 20414, 20331, 20331, 20246, 20038, 20010, 19929, 19813, 19640, 19597, 
                                                19520, 19507, 19494, 19445, 19367, 19347, 19138, 18840, 18703, 18583, 18001, 
                                                18000, 17807, 17550, 17316, 17301, 17211, 17180, 17134, 17116, 17108
_PROTOTYP                       11799           Ref: 89647, 89645, 89644, 89643, 89642, 89641, 89639, 89638, 89637, 89635, 89634
                                                , 89633, 89632, 89631, 89630, 89629, 89628, 89627, 89626, 89622, 89621, 89620, 
                                                89619, 89618, 89617, 89615, 89613, 89612, 89611, 89609, 89608, 89607, 89606, 
                                                89605, 89604, 89603, 89602, 88193, 88191, 88190, 88189, 88188, 88187, 88186, 
                                                88185, 88184, 88183, 88182, 88181, 88180, 88179, 88178, 88177, 88176, 88175, 
                                                88174, 88173, 88172, 88171, 88170, 88169, 88168, 88167, 88166, 42072, 42068, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2031
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                42067, 42066, 42065, 42063, 42062, 42061, 42060, 42059, 42058, 42057, 42056, 
                                                41951, 41950, 41944, 41943, 41942, 41941, 41940, 41939, 41938, 41937, 41936, 
                                                41935, 41934, 41933, 41821, 41817, 41816, 41815, 41814, 41813, 41808, 41807, 
                                                41806, 41805, 41804, 41803, 41802, 41801, 41800, 41799, 41755, 41754, 41751, 
                                                41750, 41749, 41748, 41747, 41746, 41743, 41482, 40944, 40943, 40896, 40895, 
                                                40894, 40893, 40892, 40891, 40888, 40885, 40882, 40879, 40876, 40868, 40807, 
                                                40806, 40805, 40804, 40803, 40802, 40799, 40798, 40797, 40796, 40795, 40794, 
                                                40793, 40792, 40791, 40790, 40789, 40788, 40787, 40786, 40785, 40784, 40783, 
                                                40782, 40781, 40780, 40779, 40778, 40777, 40776, 40775, 40774, 40773, 40772, 
                                                40771, 40770, 40769, 40768, 40767, 40555, 40552, 40549, 40546, 40545, 40543, 
                                                40542, 40541, 40540, 40539, 40538, 40537, 40536, 40535, 40534, 40533, 40532, 
                                                40531, 40530, 28759, 28758, 28755, 28754, 28753, 28752, 28751, 28750, 28749, 
                                                28748, 28747, 28746, 28745, 28744, 28743, 28742, 28543, 28539, 28523, 28522, 
                                                28521, 28520, 28519, 28518, 28517, 28516, 28515, 28514, 28513, 28512, 28504, 
                                                28500, 28496, 28493, 28490, 28487, 28481, 28480, 28479, 28478, 28477, 28476, 
                                                28475, 28473, 28468, 28465, 28463, 28462, 28461, 28458, 28457, 28456, 28454, 
                                                28453, 28450, 28449, 28448, 28445, 28444, 28442, 28441, 28440, 28439, 28438, 
                                                28437, 28436, 28435, 28434, 28431, 28430, 28429, 28425, 28424, 28423, 28422, 
                                                28421, 28417, 28415, 28414, 28413, 28409, 28408, 28407, 28406, 28405, 28404, 
                                                28403, 28402, 28401, 28400, 28399, 28398, 28397, 28396, 28395, 28394, 28393, 
                                                28392, 28391, 28390, 28389, 28388, 28387, 28383, 28382, 28381, 28380, 28379, 
                                                28378, 28377, 28376, 28375, 28374, 28373, 28372, 28371, 28370, 28369, 28368, 
                                                28367, 28365, 28364, 28353, 28352, 28351, 28350, 28349, 28348, 28347, 28346, 
                                                28345, 28344, 28343, 28342, 28341, 28340, 28339, 28338, 28337, 28336, 28335, 
                                                28334, 28333, 28332, 28331, 28330, 28329, 28328, 28327, 28326, 28325, 28324, 
                                                28323, 28322, 28321, 28320, 28319, 28318, 28317, 28315, 28314, 28313, 28312, 
                                                28311, 28310, 28309, 28308, 28307, 28306, 28305, 28304, 28303, 28302, 28301, 
                                                28300, 28299, 28298, 28297, 28296, 28295, 28294, 28293, 28292, 28291, 28290, 
                                                28289, 28288, 28287, 28286, 28285, 28284, 28283, 28282, 28281, 28280, 28279, 
                                                28278, 28277, 28276, 28275, 28274, 28273, 28272, 28270, 28269, 28267, 28265, 
                                                28264, 28263, 28262, 28261, 28260, 28259, 28258, 28254, 28247, 28246, 25433, 
                                                25430, 25424, 25423, 25422, 25420, 25419, 25418, 25416, 25415, 25414, 25408, 
                                                25407, 25406, 25405, 25404, 25403, 25402, 25401, 25400, 25399, 25396, 25395, 
                                                25394, 25393, 25392, 25391, 25390, 25389, 25388, 25387, 25386, 25385, 25384, 
                                                25383, 25382, 25381, 25380, 25379, 25378, 25377, 25376, 25375, 25374, 25373, 
                                                25372, 25371, 25370, 25369, 25368, 25367, 25366, 25365, 25364, 25100, 25099, 
                                                25098, 25097, 25077, 25076, 25075, 25072, 25071, 25066, 25063, 25057, 25053, 
                                                25051, 25049, 25045, 25044, 25043, 25042, 25041, 25040, 25039, 25038, 25037, 
                                                25036, 25033, 25032, 25030, 25029, 25028, 25027, 25026, 25025, 25024, 25023, 
                                                25022, 25021, 25020, 25019, 25018, 25017, 25016, 25015, 25009, 25005, 25004, 
                                                25003, 25002, 25001, 25000, 24999, 24998, 24997, 24993, 24992, 24990, 24988, 
                                                24986, 24985, 24980, 24979, 24978, 24977, 24976, 24975, 24974, 24973, 24972, 
                                                24971, 24970, 24969, 24968, 24967, 24966, 24965, 24964, 24963, 24962, 24961, 
                                                24960, 24959, 24958, 24957, 24956, 24955, 24954, 24953, 24952, 24951, 24950, 
                                                24949, 24948, 24947, 24946, 24945, 24944, 24943, 24942, 24941, 24940, 24939, 
                                                24938, 24937, 24936, 24935, 24934, 24933, 24932, 24931, 24930, 24929, 24928, 
                                                24927, 24926, 24925, 24924, 24923, 24922, 24921, 24920, 24919, 24918, 24917, 
                                                24916, 24915, 24914, 24913, 24912, 24911, 24910, 24909, 24908, 24907, 24906, 
                                                24905, 24904, 24903, 24902, 24901, 24900, 24898, 24896, 24895, 24894, 24893, 
                                                24892, 24891, 24890, 24889, 24888, 24887, 24885, 24884, 24596, 24386, 24310, 
                                                24309, 24306, 24305, 24304, 24303, 24302, 24301, 24300, 24299, 24298, 24297, 
                                                24296, 24295, 24294, 24293, 22586, 22581, 22580, 21964, 21961, 21960, 21959, 
                                                21958, 21957, 21955, 21954, 21946, 21942, 21941, 21936, 21935, 21934, 21932, 
                                                21931, 21926, 21925, 21924, 21920, 21919, 21918, 21917, 21915, 21914, 21913, 
                                                21912, 21911, 21910, 21909, 21908, 21907, 21906, 21905, 21904, 21903, 21902, 
                                                21901, 21900, 21899, 21898, 21897, 21896, 21895, 21894, 21893, 21889, 21888, 
                                                21882, 21881, 21823, 21822, 21723, 21722, 21721, 21684, 21658, 21657, 21656, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2032
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                21655, 21654, 21653, 21652, 21319, 21295, 21294, 16236, 16219, 16217, 16216, 
                                                16215, 16214, 16213, 16212, 16211, 16209, 16208, 16206, 16205, 16204, 16203, 
                                                16202, 16200, 16199, 16198, 16197, 16196, 16195, 16194, 16193, 16192, 16191, 
                                                16190, 16189, 16188, 16187, 16186, 16185, 16184, 16182, 16180, 16179, 16177, 
                                                16173, 16109, 16100, 16099, 16098, 16097, 16096, 16095, 16094, 16093, 16092, 
                                                16091, 16090, 16089, 16088, 16087, 16086, 16085, 16084, 16082, 16080, 16079, 
                                                16078, 16076, 16074, 16051, 16050, 16049, 16045, 16043, 16042, 16041, 16040, 
                                                16039, 16032, 16031, 16029, 16028, 16027, 16026, 16025, 16024, 16023, 16022, 
                                                16020, 16018, 16013, 16006, 16004, 16003, 16002, 16001, 15999, 15997, 15996, 
                                                15995, 15994, 15993, 15992, 15991, 15983, 15981, 15980, 15972, 15971, 15970, 
                                                15969, 15968, 15967, 15966, 15965, 15964, 15963, 15961, 15959, 15958, 15957, 
                                                15955, 15760, 15759, 15750, 15748, 14413
_PTHREAD_ALLOW_MIXED_PROTOS_    55745           Ref: 56934, 56338, 56234, 55939, 55930, 55921, 55912, 55905, 55868
_PTHREAD_ENV_DECC               47227           Ref: 55488, 55472
_PTHREAD_ENV_IA64               47242           Ref: 56319, 56247, 55750
_PTHREAD_ENV_VMS                47233           Ref: 56664, 56549, 55959, 55946, 55500
_PTHREAD_EXCNAME                55315           Ref: 55351, 55347, 55346, 55345, 55344, 55343, 55342, 55341, 55340, 55339, 55338
                                                , 55337, 55336, 55335, 55334, 55333, 55332, 55331, 55330, 55329, 55328, 55327, 
                                                55326, 55325, 55324
_PTHREAD_EXC_ARGS               54796           Ref: 54841
_PTHREAD_EXC_DECC               47397           Ref: 55360, 55314, 54883, 54859, 54535, 54500, 47414
_PTHREAD_EXC_IA64               47411           Ref: 55044, 55004, 54905, 54883, 54859, 54842, 54695
_PTHREAD_EXC_IMPORT_            47417           Ref: 55323
_PTHREAD_EXC_VMS                47403           Ref: 55360, 55076, 55002, 54978, 54924, 54904, 54882, 54875, 54865, 54839, 54828
                                                , 54795, 54702, 54693, 54665, 54578, 54546, 49359, 47414
_PTHREAD_PTDNAME                55316           Ref: 55350, 55349, 55348
_PTHREAD_USE_ASM_               55502           Ref: 57055, 56428
_Pfield                         55760           Ref: 56514, 56513, 56512, 56511, 56510, 56509, 56508, 56507, 56506, 56505, 56504
                                                , 56495, 56494, 56481, 56480, 56479, 56478, 56477, 56476, 56467, 56466, 56465, 
                                                56464, 56463, 56462, 56461, 56460, 56324, 56323, 56322, 56321, 56320, 56318, 
                                                56317, 56316, 56315, 56314, 56313, 56312, 56311, 56310, 56309, 56308, 56307, 
                                                56306, 56305, 56304, 56303, 56302, 56301, 56300, 56299, 56298, 56297, 56296, 
                                                56295, 56209, 56208, 56194, 56193, 56179, 56178, 56164, 56163, 56162, 56161
_SS_ALIGNSIZE                   30116           Ref: 30173, 30171
_SS_MAXSIZE                     30112           Ref: 30173
_SS_PAD1SIZE                    30165           Ref: 30171
_SS_PAD2SIZE                    30166           Ref: 30173
__CADDR_T                       3182            Ref: 32999, 29852
__CAN_USE_EXTERN_PREFIX         1185            Ref: 42263, 42252, 30716, 30700, 23547, 23536, 23413, 23395, 23319, 23299, 23264
                                                , 23243, 23232, 23216, 23185, 20694, 20682, 19597, 1329, 1312
__CLOCK_T                       3130            Ref: 22926, 18322
__CRTL_VER                      predefined      Ref: 55472, 42250, 42184, 42178, 36477, 36453, 36411, 36362, 36356, 36349, 36339
                                                , 36319, 36314, 36287, 35527, 34956, 34127, 30872, 30849, 30752, 30725, 29821, 
                                                29794, 29786, 29782, 29778, 23553, 23534, 23523, 23419, 23411, 23393, 23373, 
                                                23357, 23311, 23228, 23214, 23183, 23107, 23072, 23055, 22957, 22319, 20996, 
                                                20864, 20837, 20818, 20750, 20746, 20742, 20735, 20693, 20681, 20664, 20621, 
                                                20162, 20135, 20109, 19842, 19719, 19599, 19019, 19001, 18990, 18946, 18936, 
                                                18885, 18881, 18873, 18868, 18818, 18809, 18744, 18724, 18715, 18710, 18662, 
                                                18631, 18622, 18584, 18554, 18546, 18300, 17999, 17978, 17957, 17898, 17864, 
                                                17853, 17848, 17826, 17817, 17803, 17799, 17789, 17779, 17765, 17752, 17705, 
                                                17696, 17662, 17651, 17478, 17321, 17283, 17129, 17069, 16906, 16803, 16777, 
                                                16763, 16759, 16755, 16740, 16708, 16654, 2858, 2789, 2750, 2704, 2681, 2446, 
                                                2423, 2403, 2397, 2386, 2361, 2344, 2342, 2313, 2305, 2299, 2101, 2097, 2096, 
                                                1835, 1796, 1677, 1668, 1606, 1312, 1173, 1159
__DECC                          predefined      Ref: 55501, 47396, 47226, 43713, 39285, 34127, 30852, 22120, 18138, 17978, 17957
                                                , 16921, 11693, 10195, 10072, 9815, 9703, 9404, 8177, 7796, 7237, 7008, 6195, 
                                                5591, 4766, 3945, 2789, 2750, 2681, 2361

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2033
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

__DECC_VER                      predefined      Ref: 55503, 55501, 48520, 48449, 48341, 47809, 41065, 41022, 34198, 34169, 30852
                                                , 22120, 16902, 16891, 2456, 1184, 1183
__DIGIT                         2728            Ref: 99752, 99068, 99064, 99036, 97984, 90859
__EOF                           1507            Ref: 104570, 104559, 104526, 104524, 104479, 100766, 98991, 98624
__FD_SET                        23482           Ref: 29920
__FP_LOCKING                    1837            Ref: 2495, 1848
__FP_OPTIMIZATIONS              1849            Ref: 1961, 1952, 1888
__GID_T                         3022            Ref: 19941, 19696
__INITIAL_POINTER_SIZE          predefined      Ref: 56940, 56338, 56234, 55959, 55939, 55930, 55921, 55912, 55905, 55876, 55869
                                                , 55733, 55540, 54866, 54666, 54481, 52319, 50117, 49565, 49335, 49175, 49028, 
                                                48998, 48890, 48818, 48588, 48534, 48267, 48159, 48080, 48072, 48042, 48005, 
                                                47987, 47863, 47779, 47768, 47766, 47451, 42272, 42245, 38371, 36517, 36474, 
                                                36391, 36362, 36349, 36339, 36331, 36319, 36315, 36287, 36231, 35970, 35953, 
                                                35594, 35580, 35509, 35071, 34956, 34925, 34861, 34799, 34783, 34289, 34143, 
                                                34130, 34122, 32766, 32670, 31493, 31481, 31399, 31185, 30938, 30879, 30763, 
                                                30752, 30725, 30354, 29813, 29794, 29787, 29782, 29747, 29688, 23580, 23515, 
                                                23504, 23499, 23425, 23378, 23368, 23137, 22877, 22804, 22641, 22346, 22217, 
                                                21019, 20787, 20783, 20766, 20597, 20236, 20179, 20022, 20018, 20006, 19996, 
                                                19899, 19855, 19842, 19835, 19732, 19660, 19649, 19534, 19126, 19028, 18946, 
                                                18936, 18898, 18885, 18881, 18873, 18818, 18809, 18798, 18631, 18622, 18537, 
                                                18530, 18503, 18384, 18336, 18149, 18028, 18006, 17938, 17716, 17584, 17330, 
                                                17250, 17144, 16970, 16910, 16877, 16826, 16816, 16805, 16785, 16779, 16751, 
                                                16736, 16654, 16650, 16624, 16614, 16579, 11065, 10231, 10206, 10105, 10083, 9993
                                                , 9971, 9848, 9826, 9736, 9714, 9437, 9415, 8996, 8974, 8810, 8788, 8210, 8188, 
                                                7945, 7923, 7829, 7807, 7690, 7668, 7461, 7439, 7270, 7248, 7056, 7026, 7016, 
                                                7011, 5624, 5602, 4798, 4776, 3258, 3221, 2996, 2924, 2651, 2545, 2423, 2417, 
                                                2386, 2370, 2362, 2313, 2287, 2257, 2116, 2101, 2097, 1683, 1570, 1559, 1520, 
                                                1362
__IN_ADDR                       32807           Ref: 34893
__IN_ADDR_T                     32790           Ref: 36016, 34884, 34312
__IN_LOADED                     32690           Ref: 33160
__IN_PORT_T                     32785           Ref: 34879, 34307
__ISDIGIT                       2743            Ref: 99752, 99068, 99064, 99036, 97984, 90859
__ISFUNCTION                    2776            Ref: 99752, 99068, 99064, 99036, 97984, 90859
__MODE_T                        3038            Ref: 19919, 19686, 17636
__NULL                          1498            Ref: 104836, 104534, 104474, 104345, 104325, 104133, 104094, 103998, 103847, 
                                                103840, 103835, 103806, 103782, 103772, 103770, 103767, 103753, 103741, 103739, 
                                                103732, 103726, 103725, 103708, 103687, 103677, 103665, 103651, 103649, 103577, 
                                                103574, 103574, 103521, 103514, 103507, 103504, 103492, 103467, 103459, 103459, 
                                                103458, 103458, 103391, 103379, 103379, 103379, 103375, 103356, 103356, 103356, 
                                                103352, 103347, 103286, 103224, 103211, 103211, 103211, 103207, 103197, 103183, 
                                                103183, 103183, 103180, 103174, 103173, 103162, 103162, 103162, 103159, 103157, 
                                                103157, 103157, 103157, 103157, 103157, 103157, 103150, 103122, 103095, 103095, 
                                                103095, 103065, 103059, 103054, 103012, 103008, 103000, 102925, 102741, 102593, 
                                                102561, 102354, 102340, 102339, 102339, 102301, 102298, 102272, 102262, 102249, 
                                                102232, 102222, 102209, 102207, 101406, 101359, 101359, 101359, 101348, 101343, 
                                                101341, 101304, 101060, 101016, 100575, 100555, 100533, 100531, 100458, 100383, 
                                                100233, 100154, 100061, 100060, 99989, 99952, 99839, 99819, 99670, 99585, 99125, 
                                                98842, 98831, 98795, 98794, 98675, 98580, 98580, 98575, 98460, 98460, 98394, 
                                                98379, 98374, 98374, 98374, 98356, 98337, 98327, 98261, 98251, 98170, 98110, 
                                                98108, 98106, 98104, 98102, 98100, 98074, 98072, 98037, 97945, 97918, 97910, 
                                                97858, 97841, 97822, 97701, 97673, 96680, 96462, 96437, 96411, 96329, 96328, 
                                                96223, 96188, 96141, 96140, 96119, 96117, 95945, 95908, 95755, 95716, 95635, 
                                                95375, 95368, 95264, 95233, 95232, 94963, 94840, 94807, 94797, 94774, 94701, 
                                                94627, 94619, 94590, 94589, 94588, 94578, 94534, 94523, 94521, 94510, 94503, 
                                                94444, 94444, 94358, 94323, 94255, 94253, 94247, 94220, 94206, 94171, 94131, 
                                                94080, 94034, 93594, 93591, 93532, 93531, 93530, 93520, 93509, 93395, 93222, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2034
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                93221, 93211, 93184, 93109, 93004, 93000, 92985, 92934, 92921, 92920, 92919, 
                                                92909, 92872, 92861, 92860, 92859, 92858, 92829, 92727, 92726, 92725, 92670, 
                                                92102, 92102, 91803, 91752, 91460, 91460, 91439, 91439, 91353, 91353, 91341, 
                                                91341, 91279, 91274, 91237, 91232, 91212, 91212, 91203, 91200, 90922, 90918, 
                                                90806, 90793, 90782, 90775, 90737, 90736, 90735, 90725, 90692, 90678, 90678, 
                                                90678, 90526, 90516, 90508, 90503, 90393, 90196, 90196, 90142, 90078, 89896, 
                                                89896, 89890, 89889, 89774, 89771, 88887, 88886, 88885, 88884, 88883, 88882, 
                                                88788, 88775, 88710, 88608, 88607, 88606, 88605
__OFF_T                         1641            Ref: 19701, 3053
__PID_T                         3062            Ref: 19946, 18647, 18317, 17108
__SA_FAMILY_T                   29967           Ref: 34317, 32794
__SIGACT64                      18604           Ref: 18946, 18936, 18881, 18873, 18818, 18809, 18631
__SIGACTION32_MEMBERS           18612           Ref: 18637
__SIGRETTYP                     18814           Ref: 18816
__SIZE_T                        1631            Ref: 46205, 36021, 29860, 22916, 20527, 19929, 19669, 17610, 16594, 3069
__SOCKET_TYPEDEFS               3190            Ref: 29952
__SSIGRETTYP                    18941           Ref: 18944
__SSIZE_T                       3085            Ref: 29872, 20539, 19681
__STDC_VERSION__                predefined      Ref: 58398, 43894, 43894, 43870, 43870, 43858, 43858, 43834, 43834, 43581, 43580
                                                , 34127, 17978, 17957, 2789, 2750, 2681, 1198
__STDC__                        predefined      Ref: 55314, 11783
__TIMESPEC                      19003           Ref: 23554
__TIMEVAL                       23454           Ref: 29896
__TIME_T                        3107            Ref: 42224, 29877, 22921
__TM_DEF_BSD_EXTENSIONS         22969           Ref: 23005, 22979
__TM_USE_UTCTZ_TIME             22972           Ref: 23316, 23298, 23261
__TYPES_LOADED                  2959            Ref: 58551
__UID_T                         3093            Ref: 19924, 19691, 18312
__UNSIGNED_CHAR                 predefined      Ref: 17422
__USE_LONG_GID_T                1314            Ref: 20825, 20811, 20715, 20699, 20672, 20665, 20660, 20652, 20613, 20606, 20098
                                                , 20090, 20076, 20068, 20060, 20044, 19797, 19790, 19749, 19741, 19634, 19626, 
                                                19615, 19548, 19340, 1399
__USE_OFF64_T                   1332            Ref: 21003, 20997, 20638, 20631, 19766, 19759, 19615, 19546, 19312, 2150, 2149, 
                                                1639, 1421
__UTC_PREFIX_DEFINED            23320           Ref: 23344
__U_INT                         3197            Ref: 31517
__VMS                           predefined      Ref: 47402, 47232, 46428, 46421, 43889, 43708
__VMS_VER                       predefined      Ref: 54937, 1151
__WCHAR_T                       17628           Ref: 46214
__XOPEN_RESTRICT                1209            Ref: 18002, 18002
__X_FLOAT                       predefined      Ref: 48540, 22083
___VOID__PTR64                  47765           Ref: 49184
____SIGSET_T                    1412            Ref: 18547
__ctypea                        2707            Ref: 99752, 99068, 99064, 99036, 97984, 90859, 2722
__ctypet                        2706            Ref: 99752, 99068, 99064, 99036, 97984, 90859, 2720
__howmany                       23492           Ref: 23495
__ia64                          predefined      Ref: 49272, 48985, 48341, 47732, 47481, 47241, 22323, 22248, 22087, 11717
__ia64__                        predefined      Ref: 47410, 47241, 13332
__isclocale                     2708            Ref: 2723
__owur                          43819           Ref: 85536, 85535, 85520, 85508, 85505, 85495, 85323, 85322, 85321, 85316, 85314
                                                , 85310, 85310, 85308, 85307, 85271, 85266, 85264, 85254, 85249, 85247, 85246, 
                                                85245, 85244, 85243, 85185, 85182, 85178, 85174, 85168, 85166, 85164, 85162, 
                                                85160, 85159, 85156, 85150, 85149, 85148, 85144, 85143, 85142, 85141, 85140, 
                                                85139, 85138, 85137, 85136, 85135, 85134, 85132, 85130, 85127, 85126, 85120, 
                                                85118, 85116, 85115, 85109, 85104, 85103, 85102, 85101, 85097, 85096, 85095, 
                                                85094, 85093, 85089, 85088, 85087, 85086, 85085, 85084, 85083, 85079, 85076, 
                                                85071, 85069, 85068, 85067, 85066, 85064, 85062, 85061, 85060, 85056, 85055, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2035
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                85054, 85047, 85046, 85045, 85039, 85038, 85037, 85031, 85030, 85029, 85023, 
                                                85022, 85021, 85017, 85016, 85015, 84999, 84994, 84993, 84991, 84980, 84979, 
                                                84978, 84976, 84975, 84974, 84972, 84966, 84965, 84964, 84963, 84962, 84959, 
                                                84958, 84957, 84956, 84955, 84952, 84951, 84950, 84918, 84917, 84915, 84914, 
                                                84889, 84888, 84886, 84885, 84869, 84868, 84866, 84865, 84863, 84862, 84859, 
                                                84858, 84857, 84855, 84854, 84853, 84852, 84849, 84842, 84840, 84839, 84827, 
                                                84825, 84824, 84822, 84821, 84818, 84816, 84806, 84805, 84804, 84802, 84795, 
                                                84794, 84787, 84786, 84785, 84782, 84781, 84773, 84768, 84767, 84765, 84763, 
                                                84760, 84759, 84758, 84756, 84755, 84752, 84751, 84750, 84749, 84746, 84742, 
                                                84741, 84739, 84738, 84737, 84736, 84735, 84734, 84733, 84732, 84731, 84730, 
                                                84717, 84714, 84713, 84712, 84711, 84708, 84706, 84703, 84699, 84698, 84695, 
                                                84691, 84688, 84686, 84677, 84676, 84675, 84673, 84672, 84669, 84667, 84662, 
                                                84661, 84660, 84658, 84657, 84656, 84655, 84654, 84649, 84648, 84647, 84645, 
                                                84644, 84643, 84642, 84641, 84640, 84639, 84638, 84636, 84635, 84634, 84633, 
                                                84632, 84631, 84630, 84629, 84628, 84627, 84626, 84625, 84624, 84620, 84619, 
                                                84616, 84615, 84614, 84610, 84609, 84608, 84605, 84604, 84603, 84602, 84601, 
                                                83965, 83964, 83962, 83961, 82892, 82875, 82863, 82855, 82854, 79599, 79591, 
                                                79583, 79575, 79572, 79549, 79548, 79511, 79509, 79500, 79448, 79356, 79354, 
                                                79351, 79350, 77885, 77879, 77775, 77751, 77724, 77704, 77695, 77657, 77645, 
                                                77625, 77605, 77579, 77572, 77558, 77547, 77130, 77119, 68964, 68963, 68956, 
                                                68951, 68576, 68533, 68530, 68528, 68525, 68522, 68518, 68511, 68499, 68495, 
                                                68493, 68489, 68485, 68483, 68480, 68478, 68476, 68473, 68466, 68461, 68455, 
                                                68449, 68438, 68432, 68423, 68411, 68408, 68406, 68405, 68404, 68400, 68397, 
                                                68395, 68393, 68391, 68389, 68385, 46669, 46507, 46506
__pthread_exc_handler_np        54878           Ref: 54940
__struct                        3274            Ref: 52333, 50082, 50029, 49877, 49866, 49862, 49579, 48832, 38148, 38142, 38136
                                                , 38127, 38121, 38111, 38097, 38085, 38072, 38059, 38053, 38047, 38041, 38029, 
                                                38016, 38010, 38002, 37991, 37985, 37975, 37961, 37955, 37947, 37933, 37919, 
                                                37913, 37903, 37889, 37878, 37865, 37857, 37842, 37835, 37827, 37820, 37812, 
                                                37806, 37800, 37791, 37782, 37774, 37769, 37757, 37750, 37737, 37730, 37725, 
                                                37718, 37713, 37708, 37702, 37689, 37682, 37675, 37655, 37648, 37643, 36531, 
                                                10245, 10119, 10007, 9936, 9862, 9750, 9637, 9630, 9623, 9613, 9498, 9451, 9314, 
                                                9292, 9279, 9259, 9250, 9010, 8929, 8824, 8594, 8224, 8132, 8114, 8106, 8094, 
                                                7959, 7843, 7704, 7598, 7475, 7391, 7284, 7193, 7174, 7070, 6838, 6832, 6790, 
                                                6786, 6752, 6740, 6733, 6721, 6711, 6661, 6651, 6051, 6039, 6032, 6020, 6010, 
                                                5960, 5950, 5638, 5407, 5397, 5369, 5354, 5351, 5338, 5331, 5314, 5300, 5288, 
                                                5254, 5244, 4812, 4646, 4630, 4559, 4544, 4533, 4507, 4497, 4488, 4483, 4474, 
                                                4469, 4436, 3782, 3762, 3751, 3725, 3715, 3706, 3701, 3692, 3687, 3654
__union                         3282            Ref: 52341, 50080, 50027, 49943, 49939, 49935, 49931, 49927, 49923, 49890, 49885
                                                , 49875, 49864, 49860, 49679, 49675, 49671, 49587, 48840, 36539, 10253, 10127, 
                                                10015, 9934, 9870, 9758, 9635, 9628, 9621, 9611, 9459, 9312, 9290, 9277, 9248, 
                                                9018, 8927, 8832, 8592, 8232, 8130, 8126, 8111, 8103, 8092, 7967, 7851, 7712, 
                                                7596, 7483, 7389, 7292, 7191, 7172, 7078, 6853, 6849, 6845, 6829, 6825, 6821, 
                                                6817, 6813, 6809, 6805, 6795, 6783, 6777, 6770, 6766, 6750, 6738, 6731, 6659, 
                                                6648, 6076, 6069, 6065, 6049, 6037, 6030, 5958, 5947, 5646, 5405, 5395, 5379, 
                                                5367, 5352, 5349, 5336, 5329, 5312, 5298, 5252, 5242, 4820, 4644, 4628, 4557, 
                                                4505, 4495, 4486, 4481, 4472, 4467, 4460, 4434, 3780, 3723, 3713, 3704, 3699, 
                                                3690, 3685, 3678, 3652
__vms                           predefined      Ref: 47402, 47232
b64_ntop                        35839           Ref: 35900
b64_pton                        35840           Ref: 35901
bcopy                           16907           Ref: 29295
bzero                           16908           Ref: 96251, 91789, 29292
cc$rms_fab                      5590            Ref: 5594
cc$rms_nam                      3944            Ref: 3948
cc$rms_naml                     4765            Ref: 4769
cc$rms_rab                      6194            Ref: 6198

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2036
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

cc$rms_rab64                    7007            Ref: 7015
cc$rms_xaball                   7236            Ref: 7240
cc$rms_xabdat                   7795            Ref: 7799
cc$rms_xabfhc                   8176            Ref: 8180
cc$rms_xabkey                   9403            Ref: 9407
cc$rms_xabpro                   9702            Ref: 9706
cc$rms_xabrdt                   9814            Ref: 9818
cc$rms_xabsum                   10071           Ref: 10075
cc$rms_xabtrm                   10194           Ref: 10198
chf$mech_array                  50112           Ref: 54940
ckhexdump                       15770           Ref: 104529
ckjaddr                         22569           Ref: 101034, 101021, 100131, 100127
debug                           15768           Ref: 104577, 104571, 104568, 104565, 104558, 104528, 104524, 104523, 104514, 
                                                104371, 104370, 104315, 104313, 104064, 104063, 104062, 104061, 103857, 103856, 
                                                103855, 103854, 103774, 103766, 103704, 103657, 103655, 103609, 103608, 103607, 
                                                103598, 103568, 103524, 103499, 103498, 103497, 103125, 103101, 103071, 103067, 
                                                102977, 102966, 102962, 102946, 102924, 102922, 102835, 102830, 102825, 102789, 
                                                102782, 102762, 102759, 102736, 102732, 102695, 102518, 102516, 102514, 102511, 
                                                102470, 102454, 102443, 102435, 102432, 102429, 102397, 102395, 102379, 102353, 
                                                102308, 101445, 101429, 101407, 101383, 101238, 101026, 101025, 100996, 100975, 
                                                100972, 100966, 100963, 100936, 100908, 100907, 100906, 100905, 100904, 100903, 
                                                100902, 100844, 100828, 100692, 100689, 100685, 100676, 100653, 100646, 100606, 
                                                100605, 100596, 100593, 100579, 100570, 100569, 100556, 100548, 100501, 100500, 
                                                100497, 100487, 100440, 100432, 100414, 100399, 100350, 100260, 100256, 100149, 
                                                100109, 100107, 100104, 100103, 100096, 100095, 100045, 100022, 100015, 100008, 
                                                99937, 99883, 99864, 99862, 99850, 99823, 99822, 99784, 99773, 99766, 99764, 
                                                99760, 99757, 99706, 99702, 99641, 99614, 99610, 99577, 99383, 99357, 99351, 
                                                99335, 99140, 99135, 99008, 98995, 98883, 98876, 98875, 98843, 98832, 98828, 
                                                98824, 98813, 98809, 98802, 98758, 98670, 98663, 98440, 98437, 98426, 98404, 
                                                98400, 98395, 98390, 98338, 98328, 98262, 98252, 98079, 97813, 97758, 97756, 
                                                97708, 97707, 97706, 97705, 95901, 95887, 95886, 95885, 95884, 95883, 95868, 
                                                95850, 95846, 95837, 95826, 95824, 95818, 95804, 95798, 95796, 95774, 95773, 
                                                95772, 95771, 95770, 95769, 95761, 95760, 95759, 95758, 95732, 95728, 95725, 
                                                95712, 95711, 95700, 95696, 95689, 95686, 95581, 95535, 95527, 95525, 95512, 
                                                95509, 95500, 95484, 95483, 95453, 95421, 95411, 95407, 95406, 95352, 95342, 
                                                95319, 95316, 95300, 95282, 95266, 95248, 95242, 95230, 95220, 95214, 95211, 
                                                95186, 95152, 95146, 95139, 95023, 94926, 94747, 94617, 94608, 94595, 94365, 
                                                94364, 94363, 94345, 94333, 94329, 94326, 94309, 94285, 94283, 94278, 94256, 
                                                94213, 94212, 94211, 94193, 94181, 94177, 94174, 94157, 94088, 93923, 93922, 
                                                93921, 93906, 93894, 93893, 93844, 93843, 93715, 93674, 93624, 93618, 93613, 
                                                93601, 93579, 93565, 93552, 93545, 93538, 93537, 93493, 93490, 93479, 93453, 
                                                93332, 93331, 93291, 93157, 92993, 92983, 92963, 92945, 92944, 92647, 92646, 
                                                92645, 92627, 92456, 92452, 92443, 92326, 92324, 92323, 92321, 92319, 92317, 
                                                92314, 92311, 92308, 92305, 92270, 92241, 92224, 92197, 92195, 92147, 92144, 
                                                92114, 92113, 92112, 92111, 92045, 92012, 92009, 92007, 91993, 91992, 91979, 
                                                91974, 91973, 91944, 91916, 91915, 91914, 91886, 91874, 91850, 91841, 91837, 
                                                91823, 91814, 91802, 91799, 91757, 91722, 91716, 91688, 91672, 91612, 91596, 
                                                91595, 91502, 91501, 91500, 91499, 91498, 91497, 91469, 91464, 91455, 91445, 
                                                91431, 91421, 91398, 91395, 91385, 91384, 91368, 91367, 91362, 91358, 91331, 
                                                91315, 91314, 91273, 91259, 91213, 91194, 91035, 91015, 90913, 90906, 90905, 
                                                90896, 90887, 90883, 90873, 90868, 90696, 89892, 89877, 89875, 89873, 89868, 
                                                89840, 89839
dn_comp                         35863           Ref: 35922
dn_count_labels                 35862           Ref: 35921
dn_expand                       35864           Ref: 35924
dn_skipname                     35845           Ref: 35904
environ                         19908           Ref: 19912

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2037
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

errno                           22794           Ref: 104523, 103921, 103897, 102962, 102958, 102830, 102828, 102796, 102792, 
                                                102789, 102772, 100966, 100654, 100653, 100633, 100612, 100582, 99968, 99968, 
                                                99941, 99941, 99887, 99782, 95139, 92619, 91672
fp_nquery                       35848           Ref: 35907
fp_query                        35847           Ref: 35906
fp_resstat                      35843           Ref: 35905
ftp_int32                       103883          Ref: 104098
ftp_uint32                      103884          Ref: 104290, 104099
h_addr                          36110           Ref: 39467
isdigit                         2781            Ref: 99752, 99068, 99064, 99036, 97984, 90859
loc_aton                        35842           Ref: 35902
loc_ntoa                        35841           Ref: 35903
memcpy                          16897           Ref: 104067, 102799, 102751, 101252, 101246
memset                          16899           Ref: 103367, 103239, 102728
ns_format_ttl                   35465           Ref: 35488
ns_get16                        35457           Ref: 35476
ns_get32                        35458           Ref: 35477
ns_initparse                    35461           Ref: 35480
ns_name_compress                35471           Ref: 35498
ns_name_ntop                    35467           Ref: 35490
ns_name_pack                    35470           Ref: 35494
ns_name_pton                    35468           Ref: 35491
ns_name_uncompress              35472           Ref: 35496
ns_name_unpack                  35469           Ref: 35492
ns_parse_ttl                    35466           Ref: 35489
ns_parserr                      35462           Ref: 35481
ns_put16                        35459           Ref: 35478
ns_put32                        35460           Ref: 35479
ns_sprintrr                     35463           Ref: 35482
ns_sprintrrf                    35464           Ref: 35484
nz                              88918           -No References
ossl_bio__attr__                58397           Ref: 58422, 58420, 58418, 58416
ossl_inline                     43891           Ref: 87717, 87717, 87717, 87717, 87717, 87717, 87717, 87610, 87605, 87598, 87591
                                                , 87584, 87069, 87069, 87069, 87069, 87069, 87069, 87043, 87043, 87043, 87043, 
                                                87043, 87043, 87004, 87004, 87004, 87004, 87004, 87004, 86903, 86903, 86903, 
                                                86903, 86903, 86903, 86857, 86857, 86857, 86857, 86857, 86857, 86792, 86792, 
                                                86792, 86792, 86792, 86792, 86747, 86747, 86747, 86747, 86747, 86747, 86403, 
                                                86403, 86403, 86403, 86403, 86403, 86226, 86226, 86226, 86226, 86226, 86226, 
                                                86190, 86190, 86190, 86190, 86190, 86190, 86155, 86155, 86155, 86155, 86155, 
                                                86155, 86121, 86121, 86121, 86121, 86121, 86121, 86061, 86061, 86061, 86061, 
                                                86061, 86061, 86018, 86018, 86018, 86018, 86018, 86018, 85959, 85959, 85959, 
                                                85959, 85959, 85959, 85926, 85926, 85926, 85926, 85926, 85926, 85900, 85900, 
                                                85900, 85900, 85900, 85900, 85808, 85808, 85808, 85808, 85808, 85808, 84009, 
                                                84009, 84009, 84009, 84009, 84009, 83983, 83983, 83983, 83983, 83983, 83983, 
                                                78938, 78938, 78938, 78938, 78938, 78938, 77386, 77386, 77386, 77386, 77386, 
                                                77386, 77360, 77360, 77360, 77360, 77360, 77360, 75480, 75480, 75480, 75480, 
                                                75480, 75480, 75480, 75454, 75454, 75454, 75454, 75454, 75454, 75058, 75058, 
                                                75058, 75058, 75058, 75058, 74943, 74943, 74943, 74943, 74943, 74943, 74907, 
                                                74907, 74907, 74907, 74907, 74907, 74040, 74040, 74040, 74040, 74040, 74040, 
                                                74003, 74003, 74003, 74003, 74003, 74003, 73977, 73977, 73977, 73977, 73977, 
                                                73977, 73951, 73951, 73951, 73951, 73951, 73951, 73894, 73894, 73894, 73894, 
                                                73894, 73894, 73894, 73879, 73879, 73879, 73879, 73879, 73879, 73879, 73503, 
                                                73503, 73503, 73503, 73503, 73503, 73368, 73368, 73368, 73368, 73368, 73368, 
                                                73339, 73339, 73339, 73339, 73339, 73339, 73308, 73308, 73308, 73308, 73308, 
                                                73308, 73243, 73243, 73243, 73243, 73243, 73243, 73217, 73217, 73217, 73217, 
                                                73217, 73217, 73191, 73191, 73191, 73191, 73191, 73191, 73165, 73165, 73165, 
                                                73165, 73165, 73165, 67204, 67204, 67204, 67204, 67204, 67204, 67167, 67167, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2038
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                67167, 67167, 67167, 67167, 67105, 67105, 67105, 67105, 67105, 67105, 67039, 
                                                67039, 67039, 67039, 67039, 67039, 66959, 66959, 66959, 66959, 66959, 66959, 
                                                66639, 66639, 66639, 66639, 66639, 66639, 66537, 66537, 66537, 66537, 66537, 
                                                66537, 59819, 59818, 59817, 59813, 59811, 59809, 59808, 59807, 59783, 59779, 
                                                59777, 59774, 59772, 59770, 59769, 59768, 59767, 59756, 59754, 59748, 59746, 
                                                59743, 59741, 59739, 59738, 59737, 59736, 59722, 59720, 59718, 59717, 59716, 
                                                59715, 59712, 59710, 59706, 59704, 59703, 59687, 59685, 59683, 59681, 59680, 
                                                59679, 59674, 59672, 59667, 59665, 59664, 59646, 59644, 59642, 59640, 59638, 
                                                59636, 59634, 59632, 59631, 59630, 59627, 59625, 59623, 59620, 59617, 59614, 
                                                59612, 59609, 59606, 59604, 59599, 59597, 59593, 59591, 59589, 59558, 59556, 
                                                59554, 59552, 59551, 59550, 59549, 59547, 59545, 59544, 59528, 59523, 59520, 
                                                59518, 59516, 59507, 59502, 59498, 59493, 59488, 59486, 59481, 59479, 59474, 
                                                59469, 59465, 59463, 59460, 59458, 59456, 59454, 59445, 59387, 59382, 59380, 
                                                59375, 59373, 59371, 59370, 59368, 59366, 59365, 59364, 59363, 59362, 59359, 
                                                59355, 59351, 59350, 59345, 59344, 59341, 59316, 59314, 59313, 59311, 59309, 
                                                59308, 59306, 59305, 59304, 59303, 59302, 59285, 59283, 59282, 59280, 59278, 
                                                59277, 59274, 59272, 59270, 59269, 59268, 59267, 59249, 59247, 59245, 59243, 
                                                59241, 59240, 59239, 59238, 59234, 59231, 59227, 59221, 59215, 59214, 59194, 
                                                59192, 59190, 59188, 59186, 59185, 59183, 59182, 59178, 59175, 59173, 59172, 
                                                59171, 59134, 59131, 59128, 59125, 59122, 59119, 59116, 59114, 59109, 59107, 
                                                59105, 59103, 59101, 59099, 59093, 59081, 59077, 59075, 59072, 59064, 59060, 
                                                59058, 59056, 59055, 59054, 59053, 59052, 59050, 59048, 59047, 59045, 59028, 
                                                59025, 59021, 59018, 59015, 59012, 59008, 59005, 59002, 58999, 58996, 58993, 
                                                58987, 58984, 58976, 58973, 58971, 58967, 58963, 58961, 58958, 58954, 58951, 
                                                58948, 57881, 57881, 57881, 57881, 57881, 57881, 46610, 46610, 46610, 46610, 
                                                46610, 46610, 44326, 44326, 44326, 44326, 44326, 44326, 44292, 44292, 44292, 
                                                44292, 44292, 44292, 44266, 44266, 44266, 44266, 44266, 44266
ossl_noreturn                   43900           Ref: 46840
ossl_ssize_t                    43806           Ref: 84976
ossl_unused                     43907           Ref: 87717, 87717, 87717, 87717, 87717, 87717, 87717, 87610, 87605, 87598, 87591
                                                , 87584, 87069, 87069, 87069, 87069, 87069, 87069, 87043, 87043, 87043, 87043, 
                                                87043, 87043, 87004, 87004, 87004, 87004, 87004, 87004, 86903, 86903, 86903, 
                                                86903, 86903, 86903, 86857, 86857, 86857, 86857, 86857, 86857, 86792, 86792, 
                                                86792, 86792, 86792, 86792, 86747, 86747, 86747, 86747, 86747, 86747, 86403, 
                                                86403, 86403, 86403, 86403, 86403, 86226, 86226, 86226, 86226, 86226, 86226, 
                                                86190, 86190, 86190, 86190, 86190, 86190, 86155, 86155, 86155, 86155, 86155, 
                                                86155, 86121, 86121, 86121, 86121, 86121, 86121, 86061, 86061, 86061, 86061, 
                                                86061, 86061, 86018, 86018, 86018, 86018, 86018, 86018, 85959, 85959, 85959, 
                                                85959, 85959, 85959, 85926, 85926, 85926, 85926, 85926, 85926, 85900, 85900, 
                                                85900, 85900, 85900, 85900, 85808, 85808, 85808, 85808, 85808, 85808, 84009, 
                                                84009, 84009, 84009, 84009, 84009, 83983, 83983, 83983, 83983, 83983, 83983, 
                                                78938, 78938, 78938, 78938, 78938, 78938, 77386, 77386, 77386, 77386, 77386, 
                                                77386, 77360, 77360, 77360, 77360, 77360, 77360, 75480, 75480, 75480, 75480, 
                                                75480, 75480, 75480, 75454, 75454, 75454, 75454, 75454, 75454, 75058, 75058, 
                                                75058, 75058, 75058, 75058, 74943, 74943, 74943, 74943, 74943, 74943, 74907, 
                                                74907, 74907, 74907, 74907, 74907, 74040, 74040, 74040, 74040, 74040, 74040, 
                                                74003, 74003, 74003, 74003, 74003, 74003, 73977, 73977, 73977, 73977, 73977, 
                                                73977, 73951, 73951, 73951, 73951, 73951, 73951, 73894, 73894, 73894, 73894, 
                                                73894, 73894, 73894, 73879, 73879, 73879, 73879, 73879, 73879, 73879, 73503, 
                                                73503, 73503, 73503, 73503, 73503, 73368, 73368, 73368, 73368, 73368, 73368, 
                                                73339, 73339, 73339, 73339, 73339, 73339, 73308, 73308, 73308, 73308, 73308, 
                                                73308, 73243, 73243, 73243, 73243, 73243, 73243, 73217, 73217, 73217, 73217, 
                                                73217, 73217, 73191, 73191, 73191, 73191, 73191, 73191, 73165, 73165, 73165, 
                                                73165, 73165, 73165, 67204, 67204, 67204, 67204, 67204, 67204, 67167, 67167, 
                                                67167, 67167, 67167, 67167, 67105, 67105, 67105, 67105, 67105, 67105, 67039, 
                                                67039, 67039, 67039, 67039, 67039, 66959, 66959, 66959, 66959, 66959, 66959, 
                                                66639, 66639, 66639, 66639, 66639, 66639, 66537, 66537, 66537, 66537, 66537, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2039
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                66537, 59819, 59818, 59817, 59813, 59811, 59809, 59808, 59807, 59783, 59779, 
                                                59777, 59774, 59772, 59770, 59769, 59768, 59767, 59756, 59754, 59748, 59746, 
                                                59743, 59741, 59739, 59738, 59737, 59736, 59722, 59720, 59718, 59717, 59716, 
                                                59715, 59712, 59710, 59706, 59704, 59703, 59687, 59685, 59683, 59681, 59680, 
                                                59679, 59674, 59672, 59667, 59665, 59664, 59646, 59644, 59642, 59640, 59638, 
                                                59636, 59634, 59632, 59631, 59630, 59627, 59625, 59623, 59620, 59617, 59614, 
                                                59612, 59609, 59606, 59604, 59599, 59597, 59593, 59591, 59589, 59558, 59556, 
                                                59554, 59552, 59551, 59550, 59549, 59547, 59545, 59544, 59528, 59523, 59520, 
                                                59518, 59516, 59507, 59502, 59498, 59493, 59488, 59486, 59481, 59479, 59474, 
                                                59469, 59465, 59463, 59460, 59458, 59456, 59454, 59445, 59387, 59382, 59380, 
                                                59375, 59373, 59371, 59370, 59368, 59366, 59365, 59364, 59363, 59362, 59359, 
                                                59355, 59351, 59350, 59345, 59344, 59341, 59316, 59314, 59313, 59311, 59309, 
                                                59308, 59306, 59305, 59304, 59303, 59302, 59285, 59283, 59282, 59280, 59278, 
                                                59277, 59274, 59272, 59270, 59269, 59268, 59267, 59249, 59247, 59245, 59243, 
                                                59241, 59240, 59239, 59238, 59234, 59231, 59227, 59221, 59215, 59214, 59194, 
                                                59192, 59190, 59188, 59186, 59185, 59183, 59182, 59178, 59175, 59173, 59172, 
                                                59171, 59134, 59131, 59128, 59125, 59122, 59119, 59116, 59114, 59109, 59107, 
                                                59105, 59103, 59101, 59099, 59093, 59081, 59077, 59075, 59072, 59064, 59060, 
                                                59058, 59056, 59055, 59054, 59053, 59052, 59050, 59048, 59047, 59045, 59028, 
                                                59025, 59021, 59018, 59015, 59012, 59008, 59005, 59002, 58999, 58996, 58993, 
                                                58987, 58984, 58976, 58973, 58971, 58967, 58963, 58961, 58958, 58954, 58951, 
                                                58948, 57881, 57881, 57881, 57881, 57881, 57881, 46610, 46610, 46610, 46610, 
                                                46610, 46610, 44326, 44326, 44326, 44326, 44326, 44326, 44292, 44292, 44292, 
                                                44292, 44292, 44292, 44266, 44266, 44266, 44266, 44266, 44266
p_cdname                        35857           Ref: 35915
p_cdnname                       35855           Ref: 35914
p_class                         35851           Ref: 35910
p_fqname                        35859           Ref: 35918
p_fqnname                       35858           Ref: 35916
p_option                        35860           Ref: 35919
p_query                         35844           Ref: 35913
p_secstodate                    35861           Ref: 35920
p_section                       35856           Ref: 35941
p_time                          35852           Ref: 35911
p_type                          35853           Ref: 35912
pthread_exc_savecontext_np      54884           Ref: 54886
putlong                         35849           Ref: 35908
putshort                        35850           Ref: 35909
res_alloc_updrec                35881           Ref: 35946
res_close                       35876           Ref: 35940
res_dnok                        35835           Ref: 35896
res_freeupdrec                  35880           Ref: 35945
res_hnok                        35832           Ref: 35893
res_init                        35865           Ref: 35926
res_isourserver                 35873           Ref: 35935
res_mailok                      35834           Ref: 35895
res_mkquery                     35871           Ref: 35932
res_mkupdate                    35878           Ref: 35943
res_mkupdrec                    35879           Ref: 35944
res_nameinquery                 35874           Ref: 35936
res_ownok                       35833           Ref: 35894
res_queriesmatch                35875           Ref: 35938
res_query                       35868           Ref: 35928
res_querydomain                 35870           Ref: 35930
res_randomid                    35867           Ref: 35927
res_search                      35869           Ref: 35929
res_send                        35872           Ref: 35934

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2040
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

res_update                      35877           Ref: 35942
res_zone_update                 35882           Ref: 35948
s_addr                          32822           Ref: 102730, 102729, 101227
sigtype                         88645           Ref: 100137, 99371, 98415, 89647, 88701, 88700, 88699, 88648
socket_close                    39283           Ref: 104347, 104135, 102979, 102948, 102805, 102264, 102224, 101506, 101494, 
                                                101432, 101410, 101387, 101363, 101324, 101257, 100860, 100419, 100387, 100237, 
                                                99994, 99686, 99674, 99589, 97922, 97845, 97826
stderr                          1648            Ref: 103219, 102794, 102742, 102277, 102261, 102237, 102221, 101453, 101452, 
                                                101361, 101360, 101354, 101353, 100669, 100666, 100560, 100296, 99939, 99786, 
                                                99410, 99405, 98569, 98564, 98409, 98408, 98376, 98375, 98369, 98368, 98097, 
                                                98096, 1657
stdin                           1649            Ref: 1658
stdout                          1650            Ref: 102802, 100152, 100150, 99384, 99299, 99004, 98427, 96115, 95906, 95188, 
                                                94519, 1659
strcpy                          16904           Ref: 103814, 98017, 94966, 93398
strlen                          16903           Ref: 103813, 103367, 103239, 99327, 98459, 97741, 97687, 97686, 95365, 95364, 
                                                94960, 93572, 93572, 93489, 93392, 90988, 90879, 90005
sym_ntop                        35838           Ref: 35899
sym_ntos                        35837           Ref: 35898
sym_ston                        35836           Ref: 35897
sys$pal_cflush                  49303           Ref: 49304
sys$pal_chms                    49269           Ref: 49270
sys$pal_chmu                    49266           Ref: 49267
sys$pal_halt                    49300           Ref: 49301
sys$pal_imb                     49274           Ref: 49275
sys$pal_ldqp                    49306           Ref: 49307
sys$pal_mfpr_asten              49191           Ref: 49192
sys$pal_mfpr_astsr              49197           Ref: 49198
sys$pal_mfpr_esp                49206           Ref: 49207
sys$pal_mfpr_ipl                49215           Ref: 49216
sys$pal_mfpr_prbr               49221           Ref: 49222
sys$pal_mfpr_sisr               49230           Ref: 49231
sys$pal_mfpr_ssp                49233           Ref: 49234
sys$pal_mfpr_usp                49254           Ref: 49255
sys$pal_mfpr_whami              49260           Ref: 49261
sys$pal_mfpr_whami_slot         49263           Ref: 49264
sys$pal_mtpr_asten              49194           Ref: 49195
sys$pal_mtpr_astsr              49200           Ref: 49201
sys$pal_mtpr_datfx              49203           Ref: 49204
sys$pal_mtpr_esp                49209           Ref: 49210
sys$pal_mtpr_ipir               49212           Ref: 49213
sys$pal_mtpr_ipl                49218           Ref: 49219
sys$pal_mtpr_prbr               49224           Ref: 49225
sys$pal_mtpr_sirr               49227           Ref: 49228
sys$pal_mtpr_ssp                49236           Ref: 49237
sys$pal_mtpr_tbia               49239           Ref: 49240
sys$pal_mtpr_tbiap              49242           Ref: 49243
sys$pal_mtpr_tbis               49245           Ref: 49246
sys$pal_mtpr_tbisd              49248           Ref: 49249
sys$pal_mtpr_tbisi              49251           Ref: 49252
sys$pal_mtpr_usp                49257           Ref: 49258
sys$pal_prober                  49285           Ref: 49286
sys$pal_probew                  49288           Ref: 49289
sys$pal_rd_ps                   49291           Ref: 49292
sys$pal_read_unq                49321           Ref: 49322
sys$pal_rscc                    49318           Ref: 49319
sys$pal_stqp                    49309           Ref: 49310

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2041
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

sys$pal_swasten                 49294           Ref: 49295
sys$pal_wr_ps_sw                49297           Ref: 49298
sys$pal_write_unq               49324           Ref: 49325
sys$rpcc_64                     49332           Ref: 49333
tlog                            15749           Ref: 95851, 95827, 95805, 95786, 95662, 95658, 95582, 95533, 95513, 95455, 95252
                                                , 94344, 94192, 92457, 92424, 92400, 92391, 92352, 92350, 92348, 92345, 92342, 
                                                92339, 92336, 92274, 92272, 92271, 92266, 92261, 92258, 92255, 92249, 92243, 
                                                92152, 92062, 92059, 92056, 92054, 92052, 91972, 91971
va_end                          22119           Ref: 99406
va_start                        22084           Ref: 99404
vms                             predefined      Ref: 47402, 47232, 25664, 15036, 15026
zmchout                         24370           Ref: 100803, 100635, 92529
zminchar                        24361           Ref: 99958, 99893
zzout                           88458           Ref: 99895, 92506

FILE BLOCK DECLARATIONS
_______________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ACCESS_DESCRIPTION              85898   8       long                Typedef: struct ACCESS_DESCRIPTION_st
                                                                    Ref: 85900, 85900, 85900, 85900, 85900, 85900, 85900, 86535, 
                                                                    86555, 86555, 86555, 86555, 86555
ACCESS_DESCRIPTION_st           85895   8       long                Tag: struct ACCESS_DESCRIPTION_st
                                                                    Ref: 85895
 method                         85896   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
 location                       85897   4       long                Member: (Offset=4) short pointer to struct GENERAL_NAME_st
                                                                    -No References 
ADMISSIONS                      87037   0       unknown             Typedef: struct Admissions_st(Incomplete Type) 
                                                                    Ref: 87041, 87041, 87041, 87041, 87041, 87069, 87069, 87069, 
                                                                    87069, 87069, 87069, 87069, 87119, 87120, 87121, 87122, 87123
                                                                    , 87124
ASIdOrRange                     86790   8       long                Typedef: struct ASIdOrRange_st
                                                                    Ref: 86792, 86792, 86792, 86792, 86792, 86792, 86792, 86838, 
                                                                    86838, 86838, 86838, 86838
ASIdOrRange_st                  86784   8       long                Tag: struct ASIdOrRange_st
                                                                    Ref: 86784
 type                           86785   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 u                              86789   4       long                Member: (Offset=4) union 
                                                                    -No References 
  id                            86787   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  range                         86788   4       long                Member: (Offset=0) short pointer to struct ASRange_st
                                                                    -No References 
ASIdOrRanges                    86820   0       unknown             Typedef: struct stack_st_ASIdOrRange(Incomplete Type) 
                                                                    Ref: 86829
ASN1_BIT_STRING                 44407   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66937, 67092, 67092, 67092, 67092, 67092, 67093, 67094, 
                                                                    67095, 67096, 67099, 67102, 67321, 67326, 69309, 69316, 73543
                                                                    , 75969, 76007, 76013, 76019, 76022, 76025, 76028, 76068, 
                                                                    76069, 76074, 76082, 76084, 76141, 86013, 86282, 86493, 86497
                                                                    , 86843, 86852
ASN1_BMPSTRING                  44414   16      long                Typedef: struct asn1_string_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2042
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 66943, 67199, 67199, 67199, 67199, 67199
ASN1_BOOLEAN                    44421   4       long                Typedef: int 
                                                                    Ref: 66932
ASN1_ENUMERATED                 44406   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66936, 67140, 67140, 67140, 67140, 67140, 67265, 67266, 
                                                                    67286, 67287, 67290, 67291, 67292, 67292, 67293, 86638, 86640
ASN1_GENERALIZEDTIME            44417   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66946, 67149, 67150, 67150, 67152, 67152, 67155, 67241, 
                                                                    67241, 67241, 67241, 67241, 67246, 67246, 67254, 67255, 67382
                                                                    , 85849, 85850
ASN1_GENERALSTRING              44412   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66942, 67204, 67204, 67204, 67204, 67204, 67204, 67204, 
                                                                    67239, 67239, 67239, 67239, 67239
ASN1_IA5STRING                  44411   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66941, 67238, 67238, 67238, 67238, 67238, 73537, 85877, 
                                                                    85878, 85882, 85888, 86115, 86499, 86500, 87100, 87107
ASN1_INTEGER                    44405   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66935, 67105, 67105, 67105, 67105, 67105, 67105, 67105, 
                                                                    67134, 67134, 67134, 67134, 67134, 67135, 67135, 67137, 67137
                                                                    , 67138, 67138, 67263, 67264, 67276, 67277, 67278, 67279, 
                                                                    67281, 67282, 67283, 67283, 67284, 71957, 71958, 73563, 73576
                                                                    , 73577, 73584, 73585, 73586, 73587, 74510, 74604, 74892, 
                                                                    74896, 74936, 74973, 74994, 75000, 75010, 75017, 75287, 75990
                                                                    , 76037, 76038, 76039, 76146, 76147, 76398, 85845, 86051, 
                                                                    86057, 86091, 86222, 86223, 86260, 86261, 86271, 86478, 86483
                                                                    , 86614, 86634, 86636, 86637, 86691, 86778, 86787, 86961, 
                                                                    86961
ASN1_ITEM                       44429   0       unknown             Typedef: struct ASN1_ITEM_st(Incomplete Type) 
                                                                    Ref: 66823, 66989, 66990, 67029, 67036, 67037, 67067, 67092, 
                                                                    67134, 67140, 67160, 67195, 67196, 67197, 67198, 67199, 67232
                                                                    , 67234, 67235, 67236, 67237, 67238, 67239, 67240, 67241, 
                                                                    67242, 67248, 67319, 67320, 67325, 67345, 67347, 67355, 67369
                                                                    , 67371, 67379, 67380, 67406, 67408, 67430, 67431, 67433, 
                                                                    67435, 67438, 67439, 67441, 67472, 67488, 67497, 67500, 67502
                                                                    , 67506, 67509, 67511, 67513, 67518, 67519, 69306, 69312, 
                                                                    70856, 70858, 71946, 71948, 71963, 71974, 72485, 75143, 75158
                                                                    , 75159, 75160, 75161, 75162, 75163, 75164, 75165, 75166, 
                                                                    75169, 75170, 75700, 75703, 75897, 75898, 75899, 75901, 75926
                                                                    , 75932, 75933, 75936, 75939, 75940, 75942, 75944, 75948, 
                                                                    75949, 75951, 75983, 75984, 75985, 75996, 75997, 75998, 76016
                                                                    , 76018, 76021, 76024, 76027, 76401, 76402, 76403, 76405, 
                                                                    76445, 86275, 86276, 86468, 86470, 86471, 86473, 86485, 86487
                                                                    , 86489, 86511, 86519, 86520, 86534, 86539, 86540, 86541, 
                                                                    86542, 86543, 86545, 86546, 86547, 86548, 86555, 86556, 86558
                                                                    , 86560, 86562, 86565, 86569, 86837, 86838, 86839, 86840, 
                                                                    86934, 86935, 86936, 86937, 87039, 87040, 87041, 87042
ASN1_ITEM_EXP                   66823   4       long                Typedef: function 
                                                                    Ref: 85763
ASN1_ITEM_st                    44429   0       unknown             Tag: struct ASN1_ITEM_st(Incomplete Type) 
                                                                    Ref: 44429
ASN1_NULL                       44422   4       long                Typedef: int 
                                                                    Ref: 67198, 67198, 67198, 67198, 67198, 86828, 86893
ASN1_OBJECT                     44426   0       unknown             Typedef: struct asn1_object_st(Incomplete Type) 
                                                                    Ref: 66934, 67039, 67039, 67039, 67039, 67039, 67039, 67039, 
                                                                    67067, 67067, 67067, 67067, 67067, 67267, 67270, 67273, 67609
                                                                    , 67609, 67610, 67613, 67614, 67615, 67619, 67619, 67707, 
                                                                    67714, 67715, 69200, 69203, 72344, 72345, 72601, 73293, 73548

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2043
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 74109, 74110, 74696, 74767, 74986, 75033, 75254, 75867, 
                                                                    75869, 76101, 76107, 76227, 76235, 76241, 76259, 76262, 76265
                                                                    , 76276, 76286, 76297, 76309, 76325, 76327, 76330, 76338, 
                                                                    76344, 76358, 76363, 76370, 76376, 76381, 76387, 76452, 76455
                                                                    , 76464, 76468, 76471, 85854, 85884, 85890, 85896, 86113, 
                                                                    86151, 86186, 86187, 86266, 86525, 86527, 87098, 87105
ASN1_OCTET_STRING               44408   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66938, 67160, 67160, 67160, 67160, 67160, 67161, 67161, 
                                                                    67162, 67163, 67164, 67322, 67327, 67409, 73484, 73562, 73583
                                                                    , 74901, 74939, 74988, 75013, 75042, 75213, 75214, 75331, 
                                                                    75928, 75930, 75973, 75974, 75975, 75976, 76323, 76326, 76329
                                                                    , 76331, 85883, 85886, 86049, 86058, 86267, 86481, 86482, 
                                                                    86483, 86530, 86531, 86688, 86689, 86741, 86742, 86899, 87125
                                                                    , 87128
ASN1_PRINTABLESTRING            44409   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66939, 67236, 67236, 67236, 67236, 67236, 87141, 87144
ASN1_STRING                     44420   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66933, 66953, 66954, 67069, 67070, 67071, 67072, 67072, 
                                                                    67073, 67073, 67074, 67075, 67075, 67080, 67081, 67082, 67084
                                                                    , 67086, 67088, 67090, 67232, 67232, 67232, 67232, 67232, 
                                                                    67234, 67234, 67234, 67234, 67234, 67235, 67235, 67235, 67235
                                                                    , 67235, 67268, 67269, 67356, 67359, 67385, 67386, 67406, 
                                                                    67408, 67414, 67416, 67420, 67420, 69321, 75315, 75317, 76266
                                                                    , 85859, 85860, 86103, 86109, 87004, 87004, 87004, 87004, 
                                                                    87004, 87004, 87004, 87102, 87109
ASN1_STRING_TABLE               44427   20      long                Typedef: struct asn1_string_table_st
                                                                    Ref: 66639, 66639, 66639, 66639, 66639, 66639, 66639, 67423
ASN1_T61STRING                  44410   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66940, 67237, 67237, 67237, 67237, 67237
ASN1_TYPE                       44425   8       long                Typedef: struct asn1_type_st
                                                                    Ref: 66959, 66959, 66959, 66959, 66959, 66959, 66959, 67028, 
                                                                    67028, 67029, 67029, 67029, 67031, 67032, 67033, 67034, 67034
                                                                    , 67036, 67036, 67037, 67399, 67400, 67401, 67403, 67446, 
                                                                    67447, 67944, 67948, 67967, 67970, 68169, 68174, 69149, 69150
                                                                    , 69153, 69154, 69158, 69161, 69171, 69174, 69190, 69193, 
                                                                    69201, 69204, 73294, 73575, 75054, 75179, 75219, 75220, 76377
                                                                    , 85855, 85879, 85891, 86117, 86525, 86527
ASN1_UNIVERSALSTRING            44413   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66944, 67196, 67196, 67196, 67196, 67196, 67397
ASN1_UTCTIME                    44415   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66945, 67142, 67143, 67143, 67144, 67144, 67146, 67147, 
                                                                    67240, 67240, 67240, 67240, 67240, 67245, 67245, 67381
ASN1_UTF8STRING                 44419   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66948, 67167, 67167, 67167, 67167, 67167, 67167, 67167, 
                                                                    67197, 67197, 67197, 67197, 67197, 86096, 86097, 86098, 86099
                                                                    , 86502, 86503
ASN1_VALUE                      66684   0       unknown             Typedef: struct ASN1_VALUE_st(Incomplete Type) 
                                                                    Ref: 66955, 67380, 67430, 67431, 67433, 67434, 67434, 67437, 
                                                                    67437, 67439, 67440, 67471, 67497, 67499, 67501, 67504, 67507
                                                                    , 67511, 67512, 67513, 75700, 75703
ASN1_VALUE_st                   66684   0       unknown             Tag: struct ASN1_VALUE_st(Incomplete Type) 
                                                                    Ref: 66684
ASN1_VISIBLESTRING              44418   16      long                Typedef: struct asn1_string_st
                                                                    Ref: 66947, 67195, 67195, 67195, 67195, 67195
ASRange                         86779   8       long                Typedef: struct ASRange_st
                                                                    Ref: 86788, 86837, 86837, 86837, 86837, 86837
ASRange_st                      86777   8       long                Tag: struct ASRange_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2044
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 86777
 min                            86778   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 max                            86778   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
Admissions_st                   87037   0       unknown             Tag: struct Admissions_st(Incomplete Type) 
                                                                    Ref: 87037
BIO                             44446   0       unknown             Typedef: struct bio_st(Incomplete Type) 
                                                                    Ref: 57794, 57795, 57796, 57853, 57855, 57856, 57857, 57862, 
                                                                    57865, 57866, 57867, 57870, 57871, 57875, 57876, 57878, 57881
                                                                    , 57881, 57881, 57881, 57881, 57881, 57881, 57911, 57914, 
                                                                    58139, 58140, 58159, 58160, 58161, 58186, 58187, 58188, 58189
                                                                    , 58192, 58194, 58196, 58198, 58202, 58203, 58205, 58207, 
                                                                    58208, 58209, 58210, 58211, 58212, 58213, 58214, 58215, 58216
                                                                    , 58217, 58218, 58219, 58220, 58221, 58222, 58223, 58224, 
                                                                    58225, 58226, 58227, 58228, 58229, 58230, 58230, 58230, 58231
                                                                    , 58231, 58232, 58233, 58233, 58234, 58234, 58235, 58235, 
                                                                    58236, 58236, 58237, 58238, 58239, 58239, 58241, 58242, 58243
                                                                    , 58244, 58248, 58268, 58286, 58287, 58295, 58296, 58301, 
                                                                    58376, 58377, 58378, 58381, 58383, 58384, 58391, 58415, 58417
                                                                    , 58429, 58430, 58433, 58435, 58436, 58437, 58439, 58441, 
                                                                    58442, 58444, 58445, 58447, 58448, 58450, 58451, 58452, 58453
                                                                    , 58454, 58456, 58458, 60357, 67099, 67263, 67264, 67265, 
                                                                    67266, 67267, 67268, 67269, 67361, 67369, 67371, 67372, 67379
                                                                    , 67380, 67381, 67382, 67383, 67384, 67385, 67386, 67387, 
                                                                    67388, 67390, 67391, 67471, 67497, 67497, 67499, 67499, 67501
                                                                    , 67501, 67504, 67504, 67507, 67507, 67511, 67511, 67512, 
                                                                    67512, 67515, 67515, 67516, 67516, 67712, 68576, 69088, 69089
                                                                    , 69104, 69106, 69108, 69268, 69279, 69294, 70886, 71212, 
                                                                    71220, 71981, 72587, 72848, 72849, 73726, 73727, 73728, 75153
                                                                    , 75154, 75155, 75155, 75156, 75156, 75173, 75189, 75190, 
                                                                    75193, 75193, 75194, 75195, 75195, 75227, 75229, 75236, 75238
                                                                    , 75238, 75241, 75243, 75246, 75259, 75259, 75260, 75260, 
                                                                    75261, 75261, 75263, 75263, 75313, 75315, 75316, 75340, 75340
                                                                    , 75341, 75341, 75529, 75530, 75575, 75587, 75616, 75626, 
                                                                    75689, 75689, 75704, 75705, 75712, 75712, 75715, 75715, 75718
                                                                    , 75720, 75723, 75726, 75727, 75728, 75728, 75733, 75737, 
                                                                    75737, 75740, 75812, 75813, 75814, 75815, 75816, 75817, 75819
                                                                    , 75820, 75821, 75822, 75823, 75824, 75828, 75829, 75830, 
                                                                    75831, 75837, 75838, 75839, 75840, 75844, 75845, 75846, 75847
                                                                    , 75848, 75850, 75851, 75852, 75853, 75855, 75856, 75857, 
                                                                    76200, 76211, 76212, 76214, 76216, 76217, 76218, 76219, 76220
                                                                    , 76222, 76915, 76920, 76923, 76925, 76928, 76930, 76932, 
                                                                    76937, 76940, 76944, 76978, 76978, 76979, 76979, 76980, 76980
                                                                    , 76981, 76982, 76982, 76983, 76983, 76984, 76984, 76985, 
                                                                    76985, 76986, 76986, 76987, 76987, 76989, 76989, 76990, 76990
                                                                    , 76991, 76991, 76995, 76995, 76996, 76996, 76997, 76997, 
                                                                    77003, 77003, 77004, 77004, 77005, 77005, 77011, 77011, 77012
                                                                    , 77015, 77015, 77015, 77015, 77016, 77016, 77016, 77016, 
                                                                    77018, 77024, 77027, 77030, 77033, 77036, 77057, 77059, 77060
                                                                    , 77064, 77065, 77066, 77067, 77068, 77069, 77071, 77073, 
                                                                    77670, 77679, 84205, 84205, 84602, 84603, 84604, 84605, 84605
                                                                    , 84606, 84651, 84652, 84653, 84653, 84654, 84655, 84777, 
                                                                    84778, 85753, 86509, 86535, 86664, 86666, 86671, 86746, 87811
                                                                    , 87816, 88122
CHAR                            12151   1       byte                Typedef: unsigned char 
                                                                    Ref: 12170, 15760, 15760, 16088, 16092, 16093, 16094, 16109, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2045
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    16109, 16109, 16213, 16213, 16251, 16252, 21655, 21656, 21657
                                                                    , 21657, 21658, 21900, 24627, 24629, 24889, 24895, 24896, 
                                                                    24901, 24902, 24903, 24903, 24903, 24904, 24905, 24906, 24910
                                                                    , 24911, 24913, 24923, 24925, 24926, 24927, 24928, 24934, 
                                                                    24936, 24954, 24963, 24963, 24979, 25044, 25044, 25076, 25076
                                                                    , 28325, 28487, 28749, 28750, 28751, 28751, 40534, 40536, 
                                                                    40537, 40542, 40542, 40768, 40769
CMA$TIS_ERRNO_GET_ADDR          22749   4       long    Extern      Function returning short pointer to signed int 
                                                                    Ref: 91672(), 92619=(), 95139(), 99782=(), 99887=(), 99941()
                                                                    , 99941(), 99968(), 99968(), 100582=(), 100612=(), 100633=()
                                                                    , 100653(), 100654(), 100966(), 102772=(), 102789(), 102792()
                                                                    , 102796=(), 102828=(), 102830(), 102958=(), 102962(), 103897
                                                                    (), 103921(), 104523()
CONF_VALUE                      75452   12      long                Typedef: struct 
                                                                    Ref: 75454, 75454, 75454, 75454, 75454, 75454, 75454, 75480, 
                                                                    75480, 75480, 75480, 75480, 75480, 75480, 75480, 86578, 86581
                                                                    , 86584, 86613, 86614
CTLOG                           44568   0       unknown             Typedef: struct ctlog_st(Incomplete Type) 
                                                                    Ref: 77386, 77386, 77386, 77386, 77386, 77386, 77386, 77802, 
                                                                    77809, 77819, 77828, 77834, 77837, 77839, 77842, 77871
DECC$$GL___CRTL_VER             20107   4       long    Extern      signed int 
                                                                    -No References 
DECC$$GL___CRTL_VER_BUILD       20113   4       long    Extern      signed int 
                                                                    -No References 
DECC$$GL___VMS_VER_BUILD        20110   4       long    Extern      signed int 
                                                                    -No References 
DIST_POINT                      44556   16      long                Typedef: struct DIST_POINT_st
                                                                    Ref: 86018, 86018, 86018, 86018, 86018, 86018, 86018, 86546, 
                                                                    86546, 86546, 86546, 86546
DIST_POINT_NAME                 85995   12      long                Typedef: struct DIST_POINT_NAME_st
                                                                    Ref: 86012, 86279, 86547, 86547, 86547, 86547, 86547, 86550
DIST_POINT_NAME_st              85987   12      long                Tag: struct DIST_POINT_NAME_st
                                                                    Ref: 85987
 type                           85988   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 name                           85992   4       long                Member: (Offset=4) union 
                                                                    -No References 
  fullname                      85990   4       long                Member: (Offset=0) short pointer to struct 
                                                                    stack_st_GENERAL_NAME
                                                                    -No References 
  relativename                  85991   4       long                Member: (Offset=0) short pointer to struct 
                                                                    stack_st_X509_NAME_ENTRY
                                                                    -No References 
 dpname                         85994   4       long                Member: (Offset=8) short pointer to struct X509_name_st
                                                                    -No References 
DIST_POINT_st                   86011   16      long                Tag: struct DIST_POINT_st
                                                                    Ref: 44556
 distpoint                      86012   4       long                Member: (Offset=0) short pointer to struct DIST_POINT_NAME_st
                                                                    -No References 
 reasons                        86013   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
 CRLissuer                      86014   4       long                Member: (Offset=8) short pointer to struct 
                                                                    stack_st_GENERAL_NAME
                                                                    -No References 
 dp_reasons                     86015   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
EDIPARTYNAME                    85861   8       long                Typedef: struct EDIPartyName_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2046
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 85881, 86520, 86520, 86520, 86520, 86520
EDIPartyName_st                 85858   8       long                Tag: struct EDIPartyName_st
                                                                    Ref: 85858
 nameAssigner                   85859   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 partyName                      85860   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
ERR_COMMON_ERROR                87610   4       long    Static Def. Function returning signed int 
                                                                    -No References 
ERR_FATAL_ERROR                 87605   4       long    Static Def. Function returning signed int 
                                                                    -No References 
ERR_GET_LIB                     87584   4       long    Static Def. Function returning signed int 
                                                                    -No References 
ERR_GET_REASON                  87598   4       long    Static Def. Function returning signed int 
                                                                    -No References 
ERR_GET_RFLAGS                  87591   4       long    Static Def. Function returning signed int 
                                                                    Ref: 87607(), 87612()
ERR_STRING_DATA                 87715   8       long                Typedef: struct ERR_string_data_st
                                                                    Ref: 87717, 87717, 87717, 87717, 87717, 87717, 87717, 87717, 
                                                                    87818, 87819, 87820
ERR_error_string                87798   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 98374(), 101359()
ERR_get_error                   87760   4       long    Extern      Function returning unsigned long 
                                                                    Ref: 98374(), 101359()
ERR_string_data_st              87712   8       long                Tag: struct ERR_string_data_st
                                                                    Ref: 87712
 error                          87713   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 string                         87714   4       long                Member: (Offset=4) short pointer to const char 
                                                                    -No References 
EVP_CIPHER                      44461   0       unknown             Typedef: struct evp_cipher_st(Incomplete Type) 
                                                                    Ref: 67915, 67917, 67917, 67919, 67921, 67923, 67925, 67927, 
                                                                    67933, 67939, 67942, 67946, 67950, 67954, 67959, 67964, 67966
                                                                    , 67969, 67972, 68162, 68170, 68175, 68260, 68262, 68264, 
                                                                    68265, 68266, 68269, 68270, 68274, 68276, 68278, 68280, 68282
                                                                    , 68284, 68286, 68288, 68289, 68291, 68292, 68306, 68423, 
                                                                    68432, 68435, 68438, 68449, 68452, 68455, 68466, 68470, 68473
                                                                    , 68525, 68530, 68563, 68566, 68567, 68568, 68576, 68620, 
                                                                    68622, 68623, 68624, 68625, 68626, 68627, 68629, 68630, 68631
                                                                    , 68633, 68635, 68636, 68637, 68638, 68639, 68640, 68641, 
                                                                    68642, 68643, 68644, 68652, 68653, 68655, 68666, 68667, 68668
                                                                    , 68669, 68670, 68672, 68675, 68676, 68677, 68679, 68682, 
                                                                    68683, 68684, 68686, 68695, 68696, 68697, 68698, 68699, 68701
                                                                    , 68702, 68703, 68704, 68705, 68706, 68707, 68709, 68711, 
                                                                    68712, 68713, 68714, 68715, 68717, 68718, 68719, 68720, 68721
                                                                    , 68722, 68724, 68726, 68727, 68728, 68729, 68730, 68732, 
                                                                    68733, 68734, 68735, 68736, 68737, 68738, 68740, 68742, 68743
                                                                    , 68744, 68745, 68747, 68748, 68749, 68750, 68751, 68753, 
                                                                    68754, 68755, 68756, 68757, 68758, 68759, 68760, 68761, 68763
                                                                    , 68764, 68765, 68766, 68767, 68768, 68769, 68770, 68771, 
                                                                    68773, 68774, 68775, 68776, 68779, 68780, 68781, 68782, 68783
                                                                    , 68785, 68786, 68787, 68788, 68789, 68790, 68791, 68793, 
                                                                    68794, 68795, 68796, 68797, 68798, 68799, 68801, 68802, 68805
                                                                    , 68807, 68812, 68813, 68814, 68816, 68820, 68821, 68822, 
                                                                    68824, 68825, 68851, 68854, 68857, 68861, 68864, 69158, 69161
                                                                    , 69171, 69174, 69191, 69194, 69218, 69510, 74989, 75209, 
                                                                    75241, 75244, 76420, 76422, 76425, 76431, 76933, 76944, 76956

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2047
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 76989, 76989, 76995, 76995, 77004, 77004, 77015, 77015, 
                                                                    77015, 77015, 77019, 77027, 77030, 77040, 77053
EVP_CIPHER_INFO                 68164   20      long                Typedef: struct evp_cipher_info_st
                                                                    Ref: 73492, 73499, 76911, 76912
EVP_PKEY                        44467   0       unknown             Typedef: struct evp_pkey_st(Incomplete Type) 
                                                                    Ref: 67323, 67327, 68484, 68486, 68494, 68496, 68505, 68509, 
                                                                    68516, 68520, 68527, 68532, 68979, 68982, 68984, 68985, 68989
                                                                    , 68991, 68993, 68995, 68997, 68999, 69000, 69001, 69002, 
                                                                    69006, 69008, 69011, 69013, 69015, 69018, 69022, 69027, 69029
                                                                    , 69031, 69036, 69038, 69040, 69045, 69046, 69047, 69053, 
                                                                    69055, 69057, 69061, 69062, 69063, 69063, 69064, 69065, 69066
                                                                    , 69068, 69068, 69070, 69073, 69073, 69076, 69076, 69078, 
                                                                    69078, 69081, 69081, 69083, 69085, 69086, 69086, 69088, 69089
                                                                    , 69089, 69091, 69091, 69092, 69093, 69094, 69094, 69095, 
                                                                    69095, 69099, 69099, 69101, 69101, 69104, 69106, 69108, 69111
                                                                    , 69113, 69115, 69119, 69120, 69122, 69134, 69146, 69254, 
                                                                    69262, 69265, 69266, 69267, 69269, 69271, 69272, 69274, 69278
                                                                    , 69280, 69284, 69287, 69289, 69290, 69291, 69292, 69293, 
                                                                    69295, 69300, 69302, 69310, 69324, 69327, 69330, 69333, 69338
                                                                    , 69342, 69346, 69351, 69363, 69457, 69463, 69487, 69489, 
                                                                    69493, 69496, 69499, 69502, 69504, 69509, 69515, 69517, 69602
                                                                    , 69604, 69619, 69623, 69624, 69627, 69628, 69629, 69631, 
                                                                    69633, 69635, 69637, 69641, 69642, 69643, 69644, 69645, 69647
                                                                    , 69649, 69652, 69653, 69655, 69658, 69660, 69661, 69672, 
                                                                    69673, 69689, 69692, 69741, 69743, 69745, 69758, 69761, 69812
                                                                    , 69814, 69816, 69843, 73486, 74904, 75181, 75195, 75198, 
                                                                    75204, 75226, 75228, 75233, 75246, 75291, 75299, 75302, 75304
                                                                    , 75305, 75306, 75310, 75311, 75319, 75321, 75323, 75325, 
                                                                    75803, 75804, 75805, 75805, 75807, 75807, 75808, 75809, 75809
                                                                    , 75851, 75852, 75853, 75853, 75855, 75855, 75856, 75857, 
                                                                    75857, 75894, 75895, 75904, 75905, 75906, 75907, 75909, 75909
                                                                    , 75909, 75910, 75910, 76007, 76013, 76020, 76026, 76050, 
                                                                    76072, 76073, 76088, 76089, 76090, 76154, 76156, 76158, 76162
                                                                    , 76192, 76379, 76380, 76381, 76383, 76384, 76385, 76386, 
                                                                    76389, 76392, 76447, 76448, 76450, 76969, 77015, 77015, 77015
                                                                    , 77015, 77015, 77015, 77015, 77015, 77015, 77015, 77015, 
                                                                    77015, 77016, 77016, 77016, 77016, 77016, 77016, 77016, 77016
                                                                    , 77016, 77016, 77016, 77016, 77018, 77024, 77027, 77030, 
                                                                    77033, 77036, 77036, 77040, 77043, 77046, 77050, 77050, 77053
                                                                    , 77057, 77057, 77059, 77059, 77060, 77062, 77063, 77064, 
                                                                    77065, 77066, 77067, 77068, 77069, 77071, 77073, 77802, 77809
                                                                    , 77842, 79444, 79446, 82892, 84566, 84567, 84672, 84677, 
                                                                    84821, 84827, 84868, 85127, 85802, 86626
FDB                             25325   36      long                Tag: struct FDB
                                                                    Ref: 25325, 25334, 25338, 25395, 25396, 25396, 90681, 92818, 
                                                                    94434, 96071
 fcode                          25326   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 hlpmsg                         25327   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 dflt                           25328   4       long                Member: (Offset=8) short pointer to char 
                                                                    -No References 
 sdata                          25329   4       long                Member: (Offset=12) short pointer to char 
                                                                    -No References 
 ndata1                         25330   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 ndata2                         25331   4       long                Member: (Offset=20) signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2048
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 spf                            25332   4       long                Member: (Offset=24) short pointer to function 
                                                                    -No References 
 kwdtbl                         25333   4       long                Member: (Offset=28) short pointer to struct keytab
                                                                    -No References 
 nxtfdb                         25334   4       long                Member: (Offset=32) short pointer to struct FDB
                                                                    -No References 
FILE                            1625    4       long                Typedef: short pointer to struct _iobuf
                                                                    Ref: 28270, 35905, 35906, 35907, 35914, 35915, 35918, 58205, 
                                                                    58298, 58299, 60355, 67337, 67345, 67347, 67348, 67355, 67356
                                                                    , 69111, 69113, 69115, 70889, 71228, 71236, 71978, 72585, 
                                                                    72851, 72852, 73722, 73723, 73724, 75149, 75150, 75572, 75585
                                                                    , 75614, 75624, 75766, 75767, 75768, 75769, 75770, 75771, 
                                                                    75773, 75774, 75775, 75776, 75777, 75778, 75782, 75783, 75784
                                                                    , 75785, 75790, 75791, 75792, 75793, 75796, 75797, 75798, 
                                                                    75799, 75800, 75802, 75803, 75804, 75805, 75807, 75808, 75809
                                                                    , 76202, 76204, 76205, 76206, 76207, 76949, 76951, 76953, 
                                                                    76955, 76959, 76962, 76978, 76978, 76979, 76979, 76980, 76980
                                                                    , 76981, 76982, 76982, 76983, 76983, 76984, 76984, 76985, 
                                                                    76985, 76986, 76986, 76987, 76987, 76989, 76989, 76990, 76990
                                                                    , 76991, 76991, 76995, 76995, 76996, 76996, 76997, 76997, 
                                                                    77003, 77003, 77004, 77004, 77005, 77005, 77011, 77011, 77012
                                                                    , 77015, 77015, 77015, 77015, 77016, 77016, 77016, 77016, 
                                                                    77040, 77043, 77046, 77050, 77053, 84205, 84205, 84775, 86669
                                                                    , 87809, 88887, 103458
GENERAL_NAME                    85893   8       long                Typedef: struct GENERAL_NAME_st
                                                                    Ref: 85897, 85926, 85926, 85926, 85926, 85926, 85926, 85926, 
                                                                    86221, 86489, 86489, 86489, 86489, 86489, 86490, 86490, 86491
                                                                    , 86491, 86507, 86509, 86522, 86523, 86524, 86526, 86571, 
                                                                    86571, 86577, 86579, 86579, 87111, 87114, 87119, 87120
GENERAL_NAMES                   85957   0       unknown             Typedef: struct stack_st_GENERAL_NAME(Incomplete Type) 
                                                                    Ref: 85959, 85959, 85959, 85959, 85959, 85959, 85959, 85990, 
                                                                    86014, 86050, 86511, 86511, 86511, 86511, 86511, 86514, 86516
                                                                    , 86690
GENERAL_NAME_st                 85863   8       long                Tag: struct GENERAL_NAME_st
                                                                    Ref: 85863
 type                           85873   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 d                              85892   4       long                Member: (Offset=4) union 
                                                                    -No References 
  ptr                           85875   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
  otherName                     85876   4       long                Member: (Offset=0) short pointer to struct otherName_st
                                                                    -No References 
  rfc822Name                    85877   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  dNSName                       85878   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  x400Address                   85879   4       long                Member: (Offset=0) short pointer to struct asn1_type_st
                                                                    -No References 
  directoryName                 85880   4       long                Member: (Offset=0) short pointer to struct X509_name_st
                                                                    -No References 
  ediPartyName                  85881   4       long                Member: (Offset=0) short pointer to struct EDIPartyName_st
                                                                    -No References 
  uniformResourceIdentifier     85882   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  iPAddress                     85883   4       long                Member: (Offset=0) short pointer to struct asn1_string_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2049
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  registeredID                  85884   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
  ip                            85886   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  dirn                          85887   4       long                Member: (Offset=0) short pointer to struct X509_name_st
                                                                    -No References 
  ia5                           85888   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  rid                           85890   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
  other                         85891   4       long                Member: (Offset=0) short pointer to struct asn1_type_st
                                                                    -No References 
GENERAL_SUBTREE                 86224   12      long                Typedef: struct GENERAL_SUBTREE_st
                                                                    Ref: 86226, 86226, 86226, 86226, 86226, 86226, 86226, 86563, 
                                                                    86563
GENERAL_SUBTREE_st              86220   12      long                Tag: struct GENERAL_SUBTREE_st
                                                                    Ref: 86220
 base                           86221   4       long                Member: (Offset=0) short pointer to struct GENERAL_NAME_st
                                                                    -No References 
 minimum                        86222   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
 maximum                        86223   4       long                Member: (Offset=8) short pointer to struct asn1_string_st
                                                                    -No References 
IPAddressChoice                 86896   8       long                Typedef: struct IPAddressChoice_st
                                                                    Ref: 86900, 86936, 86936, 86936, 86936, 86936
IPAddressChoice_st              86890   8       long                Tag: struct IPAddressChoice_st
                                                                    Ref: 86890
 type                           86891   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 u                              86895   4       long                Member: (Offset=4) union 
                                                                    -No References 
  inherit                       86893   4       long                Member: (Offset=0) short pointer to signed int 
                                                                    -No References 
  addressesOrRanges             86894   4       long                Member: (Offset=0) short pointer to struct 
                                                                    stack_st_IPAddressOrRange
                                                                    -No References 
IPAddressFamily                 86901   8       long                Typedef: struct IPAddressFamily_st
                                                                    Ref: 86903, 86903, 86903, 86903, 86903, 86903, 86903, 86937, 
                                                                    86937, 86937, 86937, 86937, 86970
IPAddressFamily_st              86898   8       long                Tag: struct IPAddressFamily_st
                                                                    Ref: 86898
 addressFamily                  86899   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 ipAddressChoice                86900   4       long                Member: (Offset=4) short pointer to struct IPAddressChoice_st
                                                                    -No References 
IPAddressOrRange                86855   8       long                Typedef: struct IPAddressOrRange_st
                                                                    Ref: 86857, 86857, 86857, 86857, 86857, 86857, 86857, 86935, 
                                                                    86935, 86935, 86935, 86935, 86971
IPAddressOrRange_st             86849   8       long                Tag: struct IPAddressOrRange_st
                                                                    Ref: 86849
 type                           86850   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 u                              86854   4       long                Member: (Offset=4) union 
                                                                    -No References 
  addressPrefix                 86852   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2050
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

  addressRange                  86853   4       long                Member: (Offset=0) short pointer to struct IPAddressRange_st
                                                                    -No References 
IPAddressOrRanges               86885   0       unknown             Typedef: struct stack_st_IPAddressOrRange(Incomplete Type) 
                                                                    Ref: 86894
IPAddressRange                  86844   8       long                Typedef: struct IPAddressRange_st
                                                                    Ref: 86853, 86934, 86934, 86934, 86934, 86934
IPAddressRange_st               86842   8       long                Tag: struct IPAddressRange_st
                                                                    Ref: 86842
 min                            86843   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 max                            86843   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
MONTHDAYS                       91556   48      long    Static Def  array of const signed int 
                                                                    Ref: 91556=, 91606[]
NOTICEREF                       86105   8       long                Typedef: struct NOTICEREF_st
                                                                    Ref: 86108, 86543, 86543, 86543, 86543, 86543
NOTICEREF_st                    86102   8       long                Tag: struct NOTICEREF_st
                                                                    Ref: 86102
 organization                   86103   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 noticenos                      86104   4       long                Member: (Offset=4) short pointer to struct 
                                                                    stack_st_ASN1_INTEGER
                                                                    -No References 
OFDB                            25337   32      quad                Tag: struct OFDB
                                                                    Ref: 25337, 25347
 fdbaddr                        25338   4       long                Member: (Offset=0) short pointer to struct FDB
                                                                    -No References 
 fcode                          25339   4       long                Member: (Offset=4) signed int 
                                                                    Ref: 90745., 90747., 90752., 92945., 92948., 93279., 93327., 
                                                                    93486., 93538., 93541., 94598., 94869., 94900., 96150., 96340
                                                                    .
 sresult                        25340   4       long                Member: (Offset=8) short pointer to char 
                                                                    Ref: 90748., 90749., 93286., 93312., 93314., 93319., 93493., 
                                                                    93552., 93555., 94872., 94886., 96151., 96341.
 nresult                        25341   4       long                Member: (Offset=12) signed int 
                                                                    Ref: 90764., 92962., 93290., 94607., 96153., 96343.
 kflags                         25342   4       long                Member: (Offset=16) signed int 
                                                                    Ref: 90756., 90760., 92952., 94602.
 wresult                        25343   8       quad                Member: (Offset=24) signed int64 
                                                                    -No References 
OPENSSL_CORE_CTX                46257   0       unknown             Typedef: struct openssl_core_ctx_st(Incomplete Type) 
                                                                    Ref: 58958, 59064
OPENSSL_CSTRING                 44257   4       long                Typedef: short pointer to const char 
                                                                    Ref: 73894, 73894, 73894, 73894, 73894, 73894, 73894, 73894
OPENSSL_LHASH                   73664   0       unknown             Typedef: struct lhash_st(Incomplete Type) 
                                                                    Ref: 73707, 73708, 73709, 73710, 73711, 73712, 73713, 73714, 
                                                                    73715, 73717, 73718, 73719, 73722, 73723, 73724, 73726, 73727
                                                                    , 73728, 73879, 73879, 73879, 73879, 73894, 73894, 73894, 
                                                                    73894, 75480, 75480, 75480, 75480, 87717, 87717, 87717, 87717
OPENSSL_LH_COMPFUNC             73660   4       long                Typedef: short pointer to function 
                                                                    Ref: 73708, 73879, 73879, 73894, 73894, 75480, 75480, 87717, 
                                                                    87717
OPENSSL_LH_DOALL_FUNC           73662   4       long                Typedef: short pointer to function 
                                                                    Ref: 73714, 73879, 73879, 73894, 73894, 75480, 75480, 87717, 
                                                                    87717
OPENSSL_LH_HASHFUNC             73661   4       long                Typedef: short pointer to function 
                                                                    Ref: 73708, 73879, 73879, 73894, 73894, 75480, 75480, 87717, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2051
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    87717
OPENSSL_STACK                   44018   0       unknown             Typedef: struct stack_st(Incomplete Type) 
                                                                    Ref: 44024, 44025, 44027, 44029, 44030, 44031, 44032, 44033, 
                                                                    44034, 44035, 44035, 44038, 44039, 44040, 44041, 44042, 44043
                                                                    , 44044, 44045, 44046, 44047, 44048, 44049, 44051, 44051, 
                                                                    44052, 44053, 44266, 44266, 44266, 44266, 44292, 44292, 44292
                                                                    , 44292, 44326, 44326, 44326, 44326, 46610, 46610, 46610, 
                                                                    46610, 57881, 57881, 57881, 57881, 66537, 66537, 66537, 66537
                                                                    , 66639, 66639, 66639, 66639, 66959, 66959, 66959, 66959, 
                                                                    67039, 67039, 67039, 67039, 67105, 67105, 67105, 67105, 67167
                                                                    , 67167, 67167, 67167, 67204, 67204, 67204, 67204, 73165, 
                                                                    73165, 73165, 73165, 73191, 73191, 73191, 73191, 73217, 73217
                                                                    , 73217, 73217, 73243, 73243, 73243, 73243, 73308, 73308, 
                                                                    73308, 73308, 73339, 73339, 73339, 73339, 73368, 73368, 73368
                                                                    , 73368, 73503, 73503, 73503, 73503, 73951, 73951, 73951, 
                                                                    73951, 73977, 73977, 73977, 73977, 74003, 74003, 74003, 74003
                                                                    , 74040, 74040, 74040, 74040, 74907, 74907, 74907, 74907, 
                                                                    74943, 74943, 74943, 74943, 75058, 75058, 75058, 75058, 75454
                                                                    , 75454, 75454, 75454, 77360, 77360, 77360, 77360, 77386, 
                                                                    77386, 77386, 77386, 78938, 78938, 78938, 78938, 83983, 83983
                                                                    , 83983, 83983, 84009, 84009, 84009, 84009, 85808, 85808, 
                                                                    85808, 85808, 85900, 85900, 85900, 85900, 85926, 85926, 85926
                                                                    , 85926, 85959, 85959, 85959, 85959, 86018, 86018, 86018, 
                                                                    86018, 86061, 86061, 86061, 86061, 86121, 86121, 86121, 86121
                                                                    , 86155, 86155, 86155, 86155, 86190, 86190, 86190, 86190, 
                                                                    86226, 86226, 86226, 86226, 86403, 86403, 86403, 86403, 86747
                                                                    , 86747, 86747, 86747, 86792, 86792, 86792, 86792, 86857, 
                                                                    86857, 86857, 86857, 86903, 86903, 86903, 86903, 87004, 87004
                                                                    , 87004, 87004, 87043, 87043, 87043, 87043, 87069, 87069, 
                                                                    87069, 87069
OPENSSL_STRING                  44256   4       long                Typedef: short pointer to char 
                                                                    Ref: 73879, 73879, 73879, 73879, 73879, 73879, 73879, 73879
OPENSSL_sk_compfunc             44020   4       long                Typedef: short pointer to function 
                                                                    Ref: 44029, 44031, 44049, 44050, 44266, 44266, 44292, 44292, 
                                                                    44326, 44326, 46610, 46610, 57881, 57881, 66537, 66537, 66639
                                                                    , 66639, 66959, 66959, 67039, 67039, 67105, 67105, 67167, 
                                                                    67167, 67204, 67204, 73165, 73165, 73191, 73191, 73217, 73217
                                                                    , 73243, 73243, 73308, 73308, 73339, 73339, 73368, 73368, 
                                                                    73503, 73503, 73951, 73951, 73977, 73977, 74003, 74003, 74040
                                                                    , 74040, 74907, 74907, 74943, 74943, 75058, 75058, 75454, 
                                                                    75454, 77360, 77360, 77386, 77386, 78938, 78938, 83983, 83983
                                                                    , 84009, 84009, 85808, 85808, 85900, 85900, 85926, 85926, 
                                                                    85959, 85959, 86018, 86018, 86061, 86061, 86121, 86121, 86155
                                                                    , 86155, 86190, 86190, 86226, 86226, 86403, 86403, 86747, 
                                                                    86747, 86792, 86792, 86857, 86857, 86903, 86903, 87004, 87004
                                                                    , 87043, 87043, 87069, 87069
OPENSSL_sk_copyfunc             44022   4       long                Typedef: short pointer to function 
                                                                    Ref: 44036, 44266, 44266, 44292, 44292, 44326, 44326, 46610, 
                                                                    46610, 57881, 57881, 66537, 66537, 66639, 66639, 66959, 66959
                                                                    , 67039, 67039, 67105, 67105, 67167, 67167, 67204, 67204, 
                                                                    73165, 73165, 73191, 73191, 73217, 73217, 73243, 73243, 73308
                                                                    , 73308, 73339, 73339, 73368, 73368, 73503, 73503, 73951, 
                                                                    73951, 73977, 73977, 74003, 74003, 74040, 74040, 74907, 74907
                                                                    , 74943, 74943, 75058, 75058, 75454, 75454, 77360, 77360, 
                                                                    77386, 77386, 78938, 78938, 83983, 83983, 84009, 84009, 85808
                                                                    , 85808, 85900, 85900, 85926, 85926, 85959, 85959, 86018, 
                                                                    86018, 86061, 86061, 86121, 86121, 86155, 86155, 86190, 86190

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2052
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 86226, 86226, 86403, 86403, 86747, 86747, 86792, 86792, 
                                                                    86857, 86857, 86903, 86903, 87004, 87004, 87043, 87043, 87069
                                                                    , 87069
OPENSSL_sk_freefunc             44021   4       long                Typedef: short pointer to function 
                                                                    Ref: 44037, 44266, 44266, 44292, 44292, 44326, 44326, 46610, 
                                                                    46610, 57881, 57881, 66537, 66537, 66639, 66639, 66959, 66959
                                                                    , 67039, 67039, 67105, 67105, 67167, 67167, 67204, 67204, 
                                                                    73165, 73165, 73191, 73191, 73217, 73217, 73243, 73243, 73308
                                                                    , 73308, 73339, 73339, 73368, 73368, 73503, 73503, 73951, 
                                                                    73951, 73977, 73977, 74003, 74003, 74040, 74040, 74907, 74907
                                                                    , 74943, 74943, 75058, 75058, 75454, 75454, 77360, 77360, 
                                                                    77386, 77386, 78938, 78938, 83983, 83983, 84009, 84009, 85808
                                                                    , 85808, 85900, 85900, 85926, 85926, 85959, 85959, 86018, 
                                                                    86018, 86061, 86061, 86121, 86121, 86155, 86155, 86190, 86190
                                                                    , 86226, 86226, 86403, 86403, 86747, 86747, 86792, 86792, 
                                                                    86857, 86857, 86903, 86903, 87004, 87004, 87043, 87043, 87069
                                                                    , 87069
OSSL_ALGORITHM                  44579   16      long                Typedef: struct ossl_algorithm_st
                                                                    Ref: 59122, 59125
OSSL_CALLBACK                   46446   4       long                Typedef: function 
                                                                    Ref: 59064, 59131, 59375, 59375, 59463, 59520, 59779, 59783, 
                                                                    59813, 59819, 69625
OSSL_CORE_BIO                   46258   0       unknown             Typedef: struct ossl_core_bio_st(Incomplete Type) 
                                                                    Ref: 58203, 59045, 59047, 59048, 59050, 59052, 59053, 59054, 
                                                                    59055, 59056, 59060, 59748, 59779, 59808
OSSL_CORE_HANDLE                46256   0       unknown             Typedef: struct ossl_core_handle_st(Incomplete Type) 
                                                                    Ref: 46416, 57431, 57433, 58948, 58951, 58954, 58958, 58961, 
                                                                    58963, 58967, 58971, 58973, 58976, 58984, 58987, 59072, 59075
                                                                    , 59077, 59081, 59093, 59093, 59093, 59099, 59101, 59103, 
                                                                    59105, 59107, 59109
OSSL_DISPATCH                   44577   8       long                Typedef: struct ossl_dispatch_st
                                                                    Ref: 46298, 46417, 46418, 57432, 57434, 58948, 58951, 58954, 
                                                                    58958, 58961, 58963, 58967, 58971, 58973, 58976, 58984, 58987
                                                                    , 58993, 58996, 58999, 59002, 59005, 59008, 59012, 59015, 
                                                                    59018, 59021, 59025, 59028, 59045, 59047, 59048, 59050, 59052
                                                                    , 59053, 59054, 59055, 59056, 59058, 59060, 59064, 59072, 
                                                                    59075, 59077, 59081, 59093, 59099, 59101, 59103, 59105, 59105
                                                                    , 59107, 59109, 59114, 59116, 59119, 59122, 59125, 59128, 
                                                                    59131, 59134, 59171, 59172, 59173, 59175, 59178, 59182, 59183
                                                                    , 59185, 59186, 59188, 59190, 59192, 59194, 59214, 59215, 
                                                                    59221, 59227, 59231, 59234, 59238, 59239, 59240, 59241, 59243
                                                                    , 59245, 59247, 59249, 59267, 59268, 59269, 59270, 59272, 
                                                                    59274, 59277, 59278, 59280, 59282, 59283, 59285, 59302, 59303
                                                                    , 59304, 59305, 59306, 59308, 59309, 59311, 59313, 59314, 
                                                                    59316, 59341, 59341, 59344, 59345, 59350, 59351, 59355, 59359
                                                                    , 59362, 59363, 59364, 59365, 59366, 59368, 59370, 59371, 
                                                                    59373, 59375, 59380, 59382, 59387, 59445, 59454, 59456, 59458
                                                                    , 59460, 59463, 59465, 59469, 59474, 59479, 59481, 59486, 
                                                                    59488, 59493, 59498, 59502, 59507, 59516, 59518, 59520, 59523
                                                                    , 59528, 59544, 59545, 59547, 59549, 59550, 59551, 59552, 
                                                                    59554, 59556, 59558, 59589, 59591, 59593, 59597, 59599, 59604
                                                                    , 59606, 59609, 59612, 59614, 59617, 59620, 59623, 59625, 
                                                                    59627, 59630, 59631, 59632, 59634, 59636, 59638, 59640, 59642
                                                                    , 59644, 59646, 59664, 59665, 59667, 59672, 59674, 59679, 
                                                                    59680, 59681, 59683, 59685, 59687, 59703, 59704, 59706, 59710
                                                                    , 59712, 59715, 59716, 59717, 59718, 59720, 59722, 59736, 
                                                                    59737, 59738, 59739, 59741, 59743, 59746, 59748, 59754, 59756

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2053
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 59767, 59768, 59769, 59770, 59772, 59774, 59777, 59779, 
                                                                    59783, 59807, 59808, 59809, 59811, 59813, 59817, 59818, 59819
OSSL_FUNC_BIO_ctrl              59060   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_ctrl_fn           59060   4       long                Typedef: function 
                                                                    Ref: 59060, 59060
OSSL_FUNC_BIO_free              59055   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_free_fn           59055   4       long                Typedef: function 
                                                                    Ref: 59055, 59055
OSSL_FUNC_BIO_gets              59052   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_gets_fn           59052   4       long                Typedef: function 
                                                                    Ref: 59052, 59052
OSSL_FUNC_BIO_new_file          59045   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_new_file_fn       59045   4       long                Typedef: function 
                                                                    Ref: 59045, 59045
OSSL_FUNC_BIO_new_membuf        59047   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_new_membuf_fn     59047   4       long                Typedef: function 
                                                                    Ref: 59047, 59047
OSSL_FUNC_BIO_puts              59053   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_puts_fn           59053   4       long                Typedef: function 
                                                                    Ref: 59053, 59053
OSSL_FUNC_BIO_read_ex           59048   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_read_ex_fn        59048   4       long                Typedef: function 
                                                                    Ref: 59048, 59048
OSSL_FUNC_BIO_up_ref            59054   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_up_ref_fn         59054   4       long                Typedef: function 
                                                                    Ref: 59054, 59054
OSSL_FUNC_BIO_vprintf           59056   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_vprintf_fn        59056   4       long                Typedef: function 
                                                                    Ref: 59056, 59056
OSSL_FUNC_BIO_vsnprintf         59058   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_vsnprintf_fn      59058   4       long                Typedef: function 
                                                                    Ref: 59058, 59058
OSSL_FUNC_BIO_write_ex          59050   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_BIO_write_ex_fn       59050   4       long                Typedef: function 
                                                                    Ref: 59050, 59050
OSSL_FUNC_CRYPTO_clear_free     59002   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_clear_free_fn  59002   4       long                Typedef: function 
                                                                    Ref: 59002, 59002
OSSL_FUNC_CRYPTO_clear_realloc  59008   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_clear_realloc_fn                                                                                                
                                59008   4       long                Typedef: function 
                                                                    Ref: 59008, 59008
OSSL_FUNC_CRYPTO_free           58999   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2054
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_CRYPTO_free_fn        58999   4       long                Typedef: function 
                                                                    Ref: 58999, 58999
OSSL_FUNC_CRYPTO_malloc         58993   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_malloc_fn      58993   4       long                Typedef: function 
                                                                    Ref: 58993, 58993
OSSL_FUNC_CRYPTO_realloc        59005   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_realloc_fn     59005   4       long                Typedef: function 
                                                                    Ref: 59005, 59005
OSSL_FUNC_CRYPTO_secure_allocated                                                                                                
                                59025   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_secure_allocated_fn                                                                                             
                                59025   4       long                Typedef: function 
                                                                    Ref: 59025, 59025
OSSL_FUNC_CRYPTO_secure_clear_free                                                                                               
                                59021   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_secure_clear_free_fn                                                                                            
                                59021   4       long                Typedef: function 
                                                                    Ref: 59021, 59021
OSSL_FUNC_CRYPTO_secure_free    59018   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_secure_free_fn 59018   4       long                Typedef: function 
                                                                    Ref: 59018, 59018
OSSL_FUNC_CRYPTO_secure_malloc  59012   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_secure_malloc_fn                                                                                                
                                59012   4       long                Typedef: function 
                                                                    Ref: 59012, 59012
OSSL_FUNC_CRYPTO_secure_zalloc  59015   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_secure_zalloc_fn                                                                                                
                                59015   4       long                Typedef: function 
                                                                    Ref: 59015, 59015
OSSL_FUNC_CRYPTO_zalloc         58996   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_CRYPTO_zalloc_fn      58996   4       long                Typedef: function 
                                                                    Ref: 58996, 58996
OSSL_FUNC_OPENSSL_cleanse       59028   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_OPENSSL_cleanse_fn    59028   4       long                Typedef: function 
                                                                    Ref: 59028, 59028
OSSL_FUNC_asym_cipher_decrypt   59674   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_decrypt_fn                                                                                                 
                                59674   4       long                Typedef: function 
                                                                    Ref: 59674, 59674
OSSL_FUNC_asym_cipher_decrypt_init                                                                                               
                                59672   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_decrypt_init_fn                                                                                            
                                59672   4       long                Typedef: function 
                                                                    Ref: 59672, 59672
OSSL_FUNC_asym_cipher_dupctx    59680   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2055
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_asym_cipher_dupctx_fn 59680   4       long                Typedef: function 
                                                                    Ref: 59680, 59680
OSSL_FUNC_asym_cipher_encrypt   59667   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_encrypt_fn                                                                                                 
                                59667   4       long                Typedef: function 
                                                                    Ref: 59667, 59667
OSSL_FUNC_asym_cipher_encrypt_init                                                                                               
                                59665   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_encrypt_init_fn                                                                                            
                                59665   4       long                Typedef: function 
                                                                    Ref: 59665, 59665
OSSL_FUNC_asym_cipher_freectx   59679   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_freectx_fn                                                                                                 
                                59679   4       long                Typedef: function 
                                                                    Ref: 59679, 59679
OSSL_FUNC_asym_cipher_get_ctx_params                                                                                             
                                59681   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_get_ctx_params_fn                                                                                          
                                59681   4       long                Typedef: function 
                                                                    Ref: 59681, 59681
OSSL_FUNC_asym_cipher_gettable_ctx_params                                                                                        
                                59683   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_gettable_ctx_params_fn                                                                                     
                                59683   4       long                Typedef: function 
                                                                    Ref: 59683, 59683
OSSL_FUNC_asym_cipher_newctx    59664   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_newctx_fn 59664   4       long                Typedef: function 
                                                                    Ref: 59664, 59664
OSSL_FUNC_asym_cipher_set_ctx_params                                                                                             
                                59685   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_set_ctx_params_fn                                                                                          
                                59685   4       long                Typedef: function 
                                                                    Ref: 59685, 59685
OSSL_FUNC_asym_cipher_settable_ctx_params                                                                                        
                                59687   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_asym_cipher_settable_ctx_params_fn                                                                                     
                                59687   4       long                Typedef: function 
                                                                    Ref: 59687, 59687
OSSL_FUNC_cipher_cipher         59234   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_cipher_fn      59234   4       long                Typedef: function 
                                                                    Ref: 59234, 59234
OSSL_FUNC_cipher_decrypt_init   59221   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_decrypt_init_fn                                                                                                 
                                59221   4       long                Typedef: function 
                                                                    Ref: 59221, 59221
OSSL_FUNC_cipher_dupctx         59239   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2056
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_cipher_dupctx_fn      59239   4       long                Typedef: function 
                                                                    Ref: 59239, 59239
OSSL_FUNC_cipher_encrypt_init   59215   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_encrypt_init_fn                                                                                                 
                                59215   4       long                Typedef: function 
                                                                    Ref: 59215, 59215
OSSL_FUNC_cipher_final          59231   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_final_fn       59231   4       long                Typedef: function 
                                                                    Ref: 59231, 59231
OSSL_FUNC_cipher_freectx        59238   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_freectx_fn     59238   4       long                Typedef: function 
                                                                    Ref: 59238, 59238
OSSL_FUNC_cipher_get_ctx_params 59241   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_get_ctx_params_fn                                                                                               
                                59241   4       long                Typedef: function 
                                                                    Ref: 59241, 59241
OSSL_FUNC_cipher_get_params     59240   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_get_params_fn  59240   4       long                Typedef: function 
                                                                    Ref: 59240, 59240
OSSL_FUNC_cipher_gettable_ctx_params                                                                                             
                                59249   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_gettable_ctx_params_fn                                                                                          
                                59249   4       long                Typedef: function 
                                                                    Ref: 59249, 59249
OSSL_FUNC_cipher_gettable_params                                                                                                 
                                59245   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_gettable_params_fn                                                                                              
                                59245   4       long                Typedef: function 
                                                                    Ref: 59245, 59245
OSSL_FUNC_cipher_newctx         59214   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_newctx_fn      59214   4       long                Typedef: function 
                                                                    Ref: 59214, 59214
OSSL_FUNC_cipher_set_ctx_params 59243   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_set_ctx_params_fn                                                                                               
                                59243   4       long                Typedef: function 
                                                                    Ref: 59243, 59243
OSSL_FUNC_cipher_settable_ctx_params                                                                                             
                                59247   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_settable_ctx_params_fn                                                                                          
                                59247   4       long                Typedef: function 
                                                                    Ref: 59247, 59247
OSSL_FUNC_cipher_update         59227   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cipher_update_fn      59227   4       long                Typedef: function 
                                                                    Ref: 59227, 59227
OSSL_FUNC_cleanup_entropy       59075   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2057
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_cleanup_entropy_fn    59075   4       long                Typedef: function 
                                                                    Ref: 59075, 59075
OSSL_FUNC_cleanup_nonce         59081   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_cleanup_nonce_fn      59081   4       long                Typedef: function 
                                                                    Ref: 59081, 59081
OSSL_FUNC_core_clear_last_error_mark                                                                                             
                                58973   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_clear_last_error_mark_fn                                                                                          
                                58973   4       long                Typedef: function 
                                                                    Ref: 58973, 58973
OSSL_FUNC_core_get_libctx       58958   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_get_libctx_fn    58958   4       long                Typedef: function 
                                                                    Ref: 58958, 58958
OSSL_FUNC_core_get_params       58951   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_get_params_fn    58951   4       long                Typedef: function 
                                                                    Ref: 58951, 58951
OSSL_FUNC_core_gettable_params  58948   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_gettable_params_fn                                                                                                
                                58948   4       long                Typedef: function 
                                                                    Ref: 58948, 58948
OSSL_FUNC_core_new_error        58961   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_new_error_fn     58961   4       long                Typedef: function 
                                                                    Ref: 58961, 58961
OSSL_FUNC_core_obj_add_sigid    58984   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_obj_add_sigid_fn 58984   4       long                Typedef: function 
                                                                    Ref: 58984, 58984
OSSL_FUNC_core_obj_create       58987   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_obj_create_fn    58987   4       long                Typedef: function 
                                                                    Ref: 58987, 58987
OSSL_FUNC_core_pop_error_to_mark                                                                                                 
                                58976   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_pop_error_to_mark_fn                                                                                              
                                58976   4       long                Typedef: function 
                                                                    Ref: 58976, 58976
OSSL_FUNC_core_set_error_debug  58963   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_set_error_debug_fn                                                                                                
                                58963   4       long                Typedef: function 
                                                                    Ref: 58963, 58963
OSSL_FUNC_core_set_error_mark   58971   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_set_error_mark_fn                                                                                                 
                                58971   4       long                Typedef: function 
                                                                    Ref: 58971, 58971
OSSL_FUNC_core_thread_start     58954   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_thread_start_fn  58954   4       long                Typedef: function 
                                                                    Ref: 58954, 58954

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2058
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_core_vset_error       58967   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_core_vset_error_fn    58967   4       long                Typedef: function 
                                                                    Ref: 58967, 58967
OSSL_FUNC_decoder_decode        59779   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_decode_fn     59779   4       long                Typedef: function 
                                                                    Ref: 59779, 59779
OSSL_FUNC_decoder_does_selection                                                                                                 
                                59777   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_does_selection_fn                                                                                              
                                59777   4       long                Typedef: function 
                                                                    Ref: 59777, 59777
OSSL_FUNC_decoder_export_object 59783   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_export_object_fn                                                                                               
                                59783   4       long                Typedef: function 
                                                                    Ref: 59783, 59783
OSSL_FUNC_decoder_freectx       59768   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_freectx_fn    59768   4       long                Typedef: function 
                                                                    Ref: 59768, 59768
OSSL_FUNC_decoder_get_params    59769   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_get_params_fn 59769   4       long                Typedef: function 
                                                                    Ref: 59769, 59769
OSSL_FUNC_decoder_gettable_params                                                                                                
                                59770   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_gettable_params_fn                                                                                             
                                59770   4       long                Typedef: function 
                                                                    Ref: 59770, 59770
OSSL_FUNC_decoder_newctx        59767   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_newctx_fn     59767   4       long                Typedef: function 
                                                                    Ref: 59767, 59767
OSSL_FUNC_decoder_set_ctx_params                                                                                                 
                                59772   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_set_ctx_params_fn                                                                                              
                                59772   4       long                Typedef: function 
                                                                    Ref: 59772, 59772
OSSL_FUNC_decoder_settable_ctx_params                                                                                            
                                59774   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_decoder_settable_ctx_params_fn                                                                                         
                                59774   4       long                Typedef: function 
                                                                    Ref: 59774, 59774
OSSL_FUNC_digest_digest         59178   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_digest_fn      59178   4       long                Typedef: function 
                                                                    Ref: 59178, 59178
OSSL_FUNC_digest_dupctx         59183   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_dupctx_fn      59183   4       long                Typedef: function 
                                                                    Ref: 59183, 59183

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2059
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_digest_final          59175   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_final_fn       59175   4       long                Typedef: function 
                                                                    Ref: 59175, 59175
OSSL_FUNC_digest_freectx        59182   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_freectx_fn     59182   4       long                Typedef: function 
                                                                    Ref: 59182, 59182
OSSL_FUNC_digest_get_ctx_params 59188   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_get_ctx_params_fn                                                                                               
                                59188   4       long                Typedef: function 
                                                                    Ref: 59188, 59188
OSSL_FUNC_digest_get_params     59185   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_get_params_fn  59185   4       long                Typedef: function 
                                                                    Ref: 59185, 59185
OSSL_FUNC_digest_gettable_ctx_params                                                                                             
                                59194   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_gettable_ctx_params_fn                                                                                          
                                59194   4       long                Typedef: function 
                                                                    Ref: 59194, 59194
OSSL_FUNC_digest_gettable_params                                                                                                 
                                59190   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_gettable_params_fn                                                                                              
                                59190   4       long                Typedef: function 
                                                                    Ref: 59190, 59190
OSSL_FUNC_digest_init           59172   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_init_fn        59172   4       long                Typedef: function 
                                                                    Ref: 59172, 59172
OSSL_FUNC_digest_newctx         59171   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_newctx_fn      59171   4       long                Typedef: function 
                                                                    Ref: 59171, 59171
OSSL_FUNC_digest_set_ctx_params 59186   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_set_ctx_params_fn                                                                                               
                                59186   4       long                Typedef: function 
                                                                    Ref: 59186, 59186
OSSL_FUNC_digest_settable_ctx_params                                                                                             
                                59192   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_settable_ctx_params_fn                                                                                          
                                59192   4       long                Typedef: function 
                                                                    Ref: 59192, 59192
OSSL_FUNC_digest_update         59173   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_digest_update_fn      59173   4       long                Typedef: function 
                                                                    Ref: 59173, 59173
OSSL_FUNC_encoder_does_selection                                                                                                 
                                59746   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_does_selection_fn                                                                                              
                                59746   4       long                Typedef: function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2060
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59746, 59746
OSSL_FUNC_encoder_encode        59748   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_encode_fn     59748   4       long                Typedef: function 
                                                                    Ref: 59748, 59748
OSSL_FUNC_encoder_free_object   59756   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_free_object_fn                                                                                                 
                                59756   4       long                Typedef: function 
                                                                    Ref: 59756, 59756
OSSL_FUNC_encoder_freectx       59737   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_freectx_fn    59737   4       long                Typedef: function 
                                                                    Ref: 59737, 59737
OSSL_FUNC_encoder_get_params    59738   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_get_params_fn 59738   4       long                Typedef: function 
                                                                    Ref: 59738, 59738
OSSL_FUNC_encoder_gettable_params                                                                                                
                                59739   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_gettable_params_fn                                                                                             
                                59739   4       long                Typedef: function 
                                                                    Ref: 59739, 59739
OSSL_FUNC_encoder_import_object 59754   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_import_object_fn                                                                                               
                                59754   4       long                Typedef: function 
                                                                    Ref: 59754, 59754
OSSL_FUNC_encoder_newctx        59736   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_newctx_fn     59736   4       long                Typedef: function 
                                                                    Ref: 59736, 59736
OSSL_FUNC_encoder_set_ctx_params                                                                                                 
                                59741   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_set_ctx_params_fn                                                                                              
                                59741   4       long                Typedef: function 
                                                                    Ref: 59741, 59741
OSSL_FUNC_encoder_settable_ctx_params                                                                                            
                                59743   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_encoder_settable_ctx_params_fn                                                                                         
                                59743   4       long                Typedef: function 
                                                                    Ref: 59743, 59743
OSSL_FUNC_get_entropy           59072   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_get_entropy_fn        59072   4       long                Typedef: function 
                                                                    Ref: 59072, 59072
OSSL_FUNC_get_nonce             59077   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_get_nonce_fn          59077   4       long                Typedef: function 
                                                                    Ref: 59077, 59077
OSSL_FUNC_kdf_derive            59306   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_derive_fn         59306   4       long                Typedef: function 
                                                                    Ref: 59306, 59306

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2061
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_kdf_dupctx            59303   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_dupctx_fn         59303   4       long                Typedef: function 
                                                                    Ref: 59303, 59303
OSSL_FUNC_kdf_freectx           59304   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_freectx_fn        59304   4       long                Typedef: function 
                                                                    Ref: 59304, 59304
OSSL_FUNC_kdf_get_ctx_params    59314   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_get_ctx_params_fn 59314   4       long                Typedef: function 
                                                                    Ref: 59314, 59314
OSSL_FUNC_kdf_get_params        59313   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_get_params_fn     59313   4       long                Typedef: function 
                                                                    Ref: 59313, 59313
OSSL_FUNC_kdf_gettable_ctx_params                                                                                                
                                59309   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_gettable_ctx_params_fn                                                                                             
                                59309   4       long                Typedef: function 
                                                                    Ref: 59309, 59309
OSSL_FUNC_kdf_gettable_params   59308   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_gettable_params_fn                                                                                                 
                                59308   4       long                Typedef: function 
                                                                    Ref: 59308, 59308
OSSL_FUNC_kdf_newctx            59302   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_newctx_fn         59302   4       long                Typedef: function 
                                                                    Ref: 59302, 59302
OSSL_FUNC_kdf_reset             59305   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_reset_fn          59305   4       long                Typedef: function 
                                                                    Ref: 59305, 59305
OSSL_FUNC_kdf_set_ctx_params    59316   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_set_ctx_params_fn 59316   4       long                Typedef: function 
                                                                    Ref: 59316, 59316
OSSL_FUNC_kdf_settable_ctx_params                                                                                                
                                59311   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kdf_settable_ctx_params_fn                                                                                             
                                59311   4       long                Typedef: function 
                                                                    Ref: 59311, 59311
OSSL_FUNC_kem_decapsulate       59712   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_decapsulate_fn    59712   4       long                Typedef: function 
                                                                    Ref: 59712, 59712
OSSL_FUNC_kem_decapsulate_init  59710   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_decapsulate_init_fn                                                                                                
                                59710   4       long                Typedef: function 
                                                                    Ref: 59710, 59710
OSSL_FUNC_kem_dupctx            59716   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_dupctx_fn         59716   4       long                Typedef: function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2062
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59716, 59716
OSSL_FUNC_kem_encapsulate       59706   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_encapsulate_fn    59706   4       long                Typedef: function 
                                                                    Ref: 59706, 59706
OSSL_FUNC_kem_encapsulate_init  59704   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_encapsulate_init_fn                                                                                                
                                59704   4       long                Typedef: function 
                                                                    Ref: 59704, 59704
OSSL_FUNC_kem_freectx           59715   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_freectx_fn        59715   4       long                Typedef: function 
                                                                    Ref: 59715, 59715
OSSL_FUNC_kem_get_ctx_params    59717   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_get_ctx_params_fn 59717   4       long                Typedef: function 
                                                                    Ref: 59717, 59717
OSSL_FUNC_kem_gettable_ctx_params                                                                                                
                                59718   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_gettable_ctx_params_fn                                                                                             
                                59718   4       long                Typedef: function 
                                                                    Ref: 59718, 59718
OSSL_FUNC_kem_newctx            59703   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_newctx_fn         59703   4       long                Typedef: function 
                                                                    Ref: 59703, 59703
OSSL_FUNC_kem_set_ctx_params    59720   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_set_ctx_params_fn 59720   4       long                Typedef: function 
                                                                    Ref: 59720, 59720
OSSL_FUNC_kem_settable_ctx_params                                                                                                
                                59722   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_kem_settable_ctx_params_fn                                                                                             
                                59722   4       long                Typedef: function 
                                                                    Ref: 59722, 59722
OSSL_FUNC_keyexch_derive        59547   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_derive_fn     59547   4       long                Typedef: function 
                                                                    Ref: 59547, 59547
OSSL_FUNC_keyexch_dupctx        59551   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_dupctx_fn     59551   4       long                Typedef: function 
                                                                    Ref: 59551, 59551
OSSL_FUNC_keyexch_freectx       59550   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_freectx_fn    59550   4       long                Typedef: function 
                                                                    Ref: 59550, 59550
OSSL_FUNC_keyexch_get_ctx_params                                                                                                 
                                59556   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_get_ctx_params_fn                                                                                              
                                59556   4       long                Typedef: function 
                                                                    Ref: 59556, 59556
OSSL_FUNC_keyexch_gettable_ctx_params                                                                                            

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2063
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                59558   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_gettable_ctx_params_fn                                                                                         
                                59558   4       long                Typedef: function 
                                                                    Ref: 59558, 59558
OSSL_FUNC_keyexch_init          59545   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_init_fn       59545   4       long                Typedef: function 
                                                                    Ref: 59545, 59545
OSSL_FUNC_keyexch_newctx        59544   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_newctx_fn     59544   4       long                Typedef: function 
                                                                    Ref: 59544, 59544
OSSL_FUNC_keyexch_set_ctx_params                                                                                                 
                                59552   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_set_ctx_params_fn                                                                                              
                                59552   4       long                Typedef: function 
                                                                    Ref: 59552, 59552
OSSL_FUNC_keyexch_set_peer      59549   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_set_peer_fn   59549   4       long                Typedef: function 
                                                                    Ref: 59549, 59549
OSSL_FUNC_keyexch_settable_ctx_params                                                                                            
                                59554   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keyexch_settable_ctx_params_fn                                                                                         
                                59554   4       long                Typedef: function 
                                                                    Ref: 59554, 59554
OSSL_FUNC_keymgmt_dup           59528   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_dup_fn        59528   4       long                Typedef: function 
                                                                    Ref: 59528, 59528
OSSL_FUNC_keymgmt_export        59520   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_export_fn     59520   4       long                Typedef: function 
                                                                    Ref: 59520, 59520
OSSL_FUNC_keymgmt_export_types  59523   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_export_types_fn                                                                                                
                                59523   4       long                Typedef: function 
                                                                    Ref: 59523, 59523
OSSL_FUNC_keymgmt_free          59474   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_free_fn       59474   4       long                Typedef: function 
                                                                    Ref: 59474, 59474
OSSL_FUNC_keymgmt_gen           59463   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_gen_cleanup   59465   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_gen_cleanup_fn                                                                                                 
                                59465   4       long                Typedef: function 
                                                                    Ref: 59465, 59465
OSSL_FUNC_keymgmt_gen_fn        59463   4       long                Typedef: function 
                                                                    Ref: 59463, 59463
OSSL_FUNC_keymgmt_gen_init      59454   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2064
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_keymgmt_gen_init_fn   59454   4       long                Typedef: function 
                                                                    Ref: 59454, 59454
OSSL_FUNC_keymgmt_gen_set_params                                                                                                 
                                59458   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_gen_set_params_fn                                                                                              
                                59458   4       long                Typedef: function 
                                                                    Ref: 59458, 59458
OSSL_FUNC_keymgmt_gen_set_template                                                                                               
                                59456   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_gen_set_template_fn                                                                                            
                                59456   4       long                Typedef: function 
                                                                    Ref: 59456, 59456
OSSL_FUNC_keymgmt_gen_settable_params                                                                                            
                                59460   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_gen_settable_params_fn                                                                                         
                                59460   4       long                Typedef: function 
                                                                    Ref: 59460, 59460
OSSL_FUNC_keymgmt_get_params    59479   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_get_params_fn 59479   4       long                Typedef: function 
                                                                    Ref: 59479, 59479
OSSL_FUNC_keymgmt_gettable_params                                                                                                
                                59481   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_gettable_params_fn                                                                                             
                                59481   4       long                Typedef: function 
                                                                    Ref: 59481, 59481
OSSL_FUNC_keymgmt_has           59498   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_has_fn        59498   4       long                Typedef: function 
                                                                    Ref: 59498, 59498
OSSL_FUNC_keymgmt_import        59516   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_import_fn     59516   4       long                Typedef: function 
                                                                    Ref: 59516, 59516
OSSL_FUNC_keymgmt_import_types  59518   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_import_types_fn                                                                                                
                                59518   4       long                Typedef: function 
                                                                    Ref: 59518, 59518
OSSL_FUNC_keymgmt_load          59469   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_load_fn       59469   4       long                Typedef: function 
                                                                    Ref: 59469, 59469
OSSL_FUNC_keymgmt_match         59507   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_match_fn      59507   4       long                Typedef: function 
                                                                    Ref: 59507, 59507
OSSL_FUNC_keymgmt_new           59445   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_new_fn        59445   4       long                Typedef: function 
                                                                    Ref: 59445, 59445
OSSL_FUNC_keymgmt_query_operation_name                                                                                           
                                59493   4       long    Static Def. Function returning short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2065
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
OSSL_FUNC_keymgmt_query_operation_name_fn                                                                                        
                                59493   4       long                Typedef: function 
                                                                    Ref: 59493, 59493
OSSL_FUNC_keymgmt_set_params    59486   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_set_params_fn 59486   4       long                Typedef: function 
                                                                    Ref: 59486, 59486
OSSL_FUNC_keymgmt_settable_params                                                                                                
                                59488   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_settable_params_fn                                                                                             
                                59488   4       long                Typedef: function 
                                                                    Ref: 59488, 59488
OSSL_FUNC_keymgmt_validate      59502   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_keymgmt_validate_fn   59502   4       long                Typedef: function 
                                                                    Ref: 59502, 59502
OSSL_FUNC_mac_dupctx            59268   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_dupctx_fn         59268   4       long                Typedef: function 
                                                                    Ref: 59268, 59268
OSSL_FUNC_mac_final             59274   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_final_fn          59274   4       long                Typedef: function 
                                                                    Ref: 59274, 59274
OSSL_FUNC_mac_freectx           59269   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_freectx_fn        59269   4       long                Typedef: function 
                                                                    Ref: 59269, 59269
OSSL_FUNC_mac_get_ctx_params    59283   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_get_ctx_params_fn 59283   4       long                Typedef: function 
                                                                    Ref: 59283, 59283
OSSL_FUNC_mac_get_params        59282   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_get_params_fn     59282   4       long                Typedef: function 
                                                                    Ref: 59282, 59282
OSSL_FUNC_mac_gettable_ctx_params                                                                                                
                                59278   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_gettable_ctx_params_fn                                                                                             
                                59278   4       long                Typedef: function 
                                                                    Ref: 59278, 59278
OSSL_FUNC_mac_gettable_params   59277   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_gettable_params_fn                                                                                                 
                                59277   4       long                Typedef: function 
                                                                    Ref: 59277, 59277
OSSL_FUNC_mac_init              59270   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_init_fn           59270   4       long                Typedef: function 
                                                                    Ref: 59270, 59270
OSSL_FUNC_mac_newctx            59267   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_newctx_fn         59267   4       long                Typedef: function 
                                                                    Ref: 59267, 59267

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2066
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_mac_set_ctx_params    59285   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_set_ctx_params_fn 59285   4       long                Typedef: function 
                                                                    Ref: 59285, 59285
OSSL_FUNC_mac_settable_ctx_params                                                                                                
                                59280   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_settable_ctx_params_fn                                                                                             
                                59280   4       long                Typedef: function 
                                                                    Ref: 59280, 59280
OSSL_FUNC_mac_update            59272   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_mac_update_fn         59272   4       long                Typedef: function 
                                                                    Ref: 59272, 59272
OSSL_FUNC_provider_deregister_child_cb                                                                                           
                                59099   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_deregister_child_cb_fn                                                                                        
                                59099   4       long                Typedef: function 
                                                                    Ref: 59099, 59099
OSSL_FUNC_provider_free         59109   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_free_fn      59109   4       long                Typedef: function 
                                                                    Ref: 59109, 59109
OSSL_FUNC_provider_get0_dispatch                                                                                                 
                                59105   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_get0_dispatch_fn                                                                                              
                                59105   4       long                Typedef: function 
                                                                    Ref: 59105, 59105
OSSL_FUNC_provider_get0_provider_ctx                                                                                             
                                59103   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_get0_provider_ctx_fn                                                                                          
                                59103   4       long                Typedef: function 
                                                                    Ref: 59103, 59103
OSSL_FUNC_provider_get_capabilities                                                                                              
                                59131   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_get_capabilities_fn                                                                                           
                                59131   4       long                Typedef: function 
                                                                    Ref: 59131, 59131
OSSL_FUNC_provider_get_params   59119   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_get_params_fn                                                                                                 
                                59119   4       long                Typedef: function 
                                                                    Ref: 59119, 59119
OSSL_FUNC_provider_get_reason_strings                                                                                            
                                59128   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_get_reason_strings_fn                                                                                         
                                59128   4       long                Typedef: function 
                                                                    Ref: 59128, 59128
OSSL_FUNC_provider_gettable_params                                                                                               
                                59116   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_gettable_params_fn                                                                                            

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2067
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                59116   4       long                Typedef: function 
                                                                    Ref: 59116, 59116
OSSL_FUNC_provider_name         59101   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_name_fn      59101   4       long                Typedef: function 
                                                                    Ref: 59101, 59101
OSSL_FUNC_provider_query_operation                                                                                               
                                59122   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_query_operation_fn                                                                                            
                                59122   4       long                Typedef: function 
                                                                    Ref: 59122, 59122
OSSL_FUNC_provider_register_child_cb                                                                                             
                                59093   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_register_child_cb_fn                                                                                          
                                59093   4       long                Typedef: function 
                                                                    Ref: 59093, 59093
OSSL_FUNC_provider_self_test    59134   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_self_test_fn 59134   4       long                Typedef: function 
                                                                    Ref: 59134, 59134
OSSL_FUNC_provider_teardown     59114   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_teardown_fn  59114   4       long                Typedef: function 
                                                                    Ref: 59114, 59114
OSSL_FUNC_provider_unquery_operation                                                                                             
                                59125   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_unquery_operation_fn                                                                                          
                                59125   4       long                Typedef: function 
                                                                    Ref: 59125, 59125
OSSL_FUNC_provider_up_ref       59107   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_provider_up_ref_fn    59107   4       long                Typedef: function 
                                                                    Ref: 59107, 59107
OSSL_FUNC_rand_clear_seed       59387   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_clear_seed_fn    59387   4       long                Typedef: function 
                                                                    Ref: 59387, 59387
OSSL_FUNC_rand_enable_locking   59362   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_enable_locking_fn                                                                                                 
                                59362   4       long                Typedef: function 
                                                                    Ref: 59362, 59362
OSSL_FUNC_rand_freectx          59344   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_freectx_fn       59344   4       long                Typedef: function 
                                                                    Ref: 59344, 59344
OSSL_FUNC_rand_generate         59351   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_generate_fn      59351   4       long                Typedef: function 
                                                                    Ref: 59351, 59351
OSSL_FUNC_rand_get_ctx_params   59371   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_get_ctx_params_fn                                                                                                 
                                59371   4       long                Typedef: function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2068
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59371, 59371
OSSL_FUNC_rand_get_params       59370   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_get_params_fn    59370   4       long                Typedef: function 
                                                                    Ref: 59370, 59370
OSSL_FUNC_rand_get_seed         59382   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_get_seed_fn      59382   4       long                Typedef: function 
                                                                    Ref: 59382, 59382
OSSL_FUNC_rand_gettable_ctx_params                                                                                               
                                59366   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_gettable_ctx_params_fn                                                                                            
                                59366   4       long                Typedef: function 
                                                                    Ref: 59366, 59366
OSSL_FUNC_rand_gettable_params  59365   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_gettable_params_fn                                                                                                
                                59365   4       long                Typedef: function 
                                                                    Ref: 59365, 59365
OSSL_FUNC_rand_instantiate      59345   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_instantiate_fn   59345   4       long                Typedef: function 
                                                                    Ref: 59345, 59345
OSSL_FUNC_rand_lock             59363   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_lock_fn          59363   4       long                Typedef: function 
                                                                    Ref: 59363, 59363
OSSL_FUNC_rand_newctx           59341   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_newctx_fn        59341   4       long                Typedef: function 
                                                                    Ref: 59341, 59341
OSSL_FUNC_rand_nonce            59359   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_nonce_fn         59359   4       long                Typedef: function 
                                                                    Ref: 59359, 59359
OSSL_FUNC_rand_reseed           59355   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_reseed_fn        59355   4       long                Typedef: function 
                                                                    Ref: 59355, 59355
OSSL_FUNC_rand_set_callbacks    59375   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_set_callbacks_fn 59375   4       long                Typedef: function 
                                                                    Ref: 59375, 59375
OSSL_FUNC_rand_set_ctx_params   59373   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_set_ctx_params_fn                                                                                                 
                                59373   4       long                Typedef: function 
                                                                    Ref: 59373, 59373
OSSL_FUNC_rand_settable_ctx_params                                                                                               
                                59368   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_settable_ctx_params_fn                                                                                            
                                59368   4       long                Typedef: function 
                                                                    Ref: 59368, 59368
OSSL_FUNC_rand_uninstantiate    59350   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2069
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_rand_uninstantiate_fn 59350   4       long                Typedef: function 
                                                                    Ref: 59350, 59350
OSSL_FUNC_rand_unlock           59364   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_unlock_fn        59364   4       long                Typedef: function 
                                                                    Ref: 59364, 59364
OSSL_FUNC_rand_verify_zeroization                                                                                                
                                59380   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_rand_verify_zeroization_fn                                                                                             
                                59380   4       long                Typedef: function 
                                                                    Ref: 59380, 59380
OSSL_FUNC_self_test_cb          59064   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_self_test_cb_fn       59064   4       long                Typedef: function 
                                                                    Ref: 59064, 59064
OSSL_FUNC_signature_digest_sign 59617   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_sign_final                                                                                            
                                59614   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_sign_final_fn                                                                                         
                                59614   4       long                Typedef: function 
                                                                    Ref: 59614, 59614
OSSL_FUNC_signature_digest_sign_fn                                                                                               
                                59617   4       long                Typedef: function 
                                                                    Ref: 59617, 59617
OSSL_FUNC_signature_digest_sign_init                                                                                             
                                59609   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_sign_init_fn                                                                                          
                                59609   4       long                Typedef: function 
                                                                    Ref: 59609, 59609
OSSL_FUNC_signature_digest_sign_update                                                                                           
                                59612   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_sign_update_fn                                                                                        
                                59612   4       long                Typedef: function 
                                                                    Ref: 59612, 59612
OSSL_FUNC_signature_digest_verify                                                                                                
                                59627   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_verify_final                                                                                          
                                59625   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_verify_final_fn                                                                                       
                                59625   4       long                Typedef: function 
                                                                    Ref: 59625, 59625
OSSL_FUNC_signature_digest_verify_fn                                                                                             
                                59627   4       long                Typedef: function 
                                                                    Ref: 59627, 59627
OSSL_FUNC_signature_digest_verify_init                                                                                           
                                59620   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_verify_init_fn                                                                                        
                                59620   4       long                Typedef: function 
                                                                    Ref: 59620, 59620

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2070
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_signature_digest_verify_update                                                                                         
                                59623   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_digest_verify_update_fn                                                                                      
                                59623   4       long                Typedef: function 
                                                                    Ref: 59623, 59623
OSSL_FUNC_signature_dupctx      59631   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_dupctx_fn   59631   4       long                Typedef: function 
                                                                    Ref: 59631, 59631
OSSL_FUNC_signature_freectx     59630   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_freectx_fn  59630   4       long                Typedef: function 
                                                                    Ref: 59630, 59630
OSSL_FUNC_signature_get_ctx_md_params                                                                                            
                                59640   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_get_ctx_md_params_fn                                                                                         
                                59640   4       long                Typedef: function 
                                                                    Ref: 59640, 59640
OSSL_FUNC_signature_get_ctx_params                                                                                               
                                59632   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_get_ctx_params_fn                                                                                            
                                59632   4       long                Typedef: function 
                                                                    Ref: 59632, 59632
OSSL_FUNC_signature_gettable_ctx_md_params                                                                                       
                                59642   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_gettable_ctx_md_params_fn                                                                                    
                                59642   4       long                Typedef: function 
                                                                    Ref: 59642, 59642
OSSL_FUNC_signature_gettable_ctx_params                                                                                          
                                59634   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_gettable_ctx_params_fn                                                                                       
                                59634   4       long                Typedef: function 
                                                                    Ref: 59634, 59634
OSSL_FUNC_signature_newctx      59589   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_newctx_fn   59589   4       long                Typedef: function 
                                                                    Ref: 59589, 59589
OSSL_FUNC_signature_set_ctx_md_params                                                                                            
                                59644   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_set_ctx_md_params_fn                                                                                         
                                59644   4       long                Typedef: function 
                                                                    Ref: 59644, 59644
OSSL_FUNC_signature_set_ctx_params                                                                                               
                                59636   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_set_ctx_params_fn                                                                                            
                                59636   4       long                Typedef: function 
                                                                    Ref: 59636, 59636
OSSL_FUNC_signature_settable_ctx_md_params                                                                                       
                                59646   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2071
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

OSSL_FUNC_signature_settable_ctx_md_params_fn                                                                                    
                                59646   4       long                Typedef: function 
                                                                    Ref: 59646, 59646
OSSL_FUNC_signature_settable_ctx_params                                                                                          
                                59638   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_settable_ctx_params_fn                                                                                       
                                59638   4       long                Typedef: function 
                                                                    Ref: 59638, 59638
OSSL_FUNC_signature_sign        59593   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_sign_fn     59593   4       long                Typedef: function 
                                                                    Ref: 59593, 59593
OSSL_FUNC_signature_sign_init   59591   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_sign_init_fn                                                                                                 
                                59591   4       long                Typedef: function 
                                                                    Ref: 59591, 59591
OSSL_FUNC_signature_verify      59599   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_verify_fn   59599   4       long                Typedef: function 
                                                                    Ref: 59599, 59599
OSSL_FUNC_signature_verify_init 59597   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_verify_init_fn                                                                                               
                                59597   4       long                Typedef: function 
                                                                    Ref: 59597, 59597
OSSL_FUNC_signature_verify_recover                                                                                               
                                59606   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_verify_recover_fn                                                                                            
                                59606   4       long                Typedef: function 
                                                                    Ref: 59606, 59606
OSSL_FUNC_signature_verify_recover_init                                                                                          
                                59604   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_signature_verify_recover_init_fn                                                                                       
                                59604   4       long                Typedef: function 
                                                                    Ref: 59604, 59604
OSSL_FUNC_store_attach          59808   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_store_attach_fn       59808   4       long                Typedef: function 
                                                                    Ref: 59808, 59808
OSSL_FUNC_store_close           59818   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_store_close_fn        59818   4       long                Typedef: function 
                                                                    Ref: 59818, 59818
OSSL_FUNC_store_eof             59817   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_store_eof_fn          59817   4       long                Typedef: function 
                                                                    Ref: 59817, 59817
OSSL_FUNC_store_export_object   59819   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_store_export_object_fn                                                                                                 
                                59819   4       long                Typedef: function 
                                                                    Ref: 59819, 59819
OSSL_FUNC_store_load            59813   4       long    Static Def. Function returning short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2072
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
OSSL_FUNC_store_load_fn         59813   4       long                Typedef: function 
                                                                    Ref: 59813, 59813
OSSL_FUNC_store_open            59807   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_store_open_fn         59807   4       long                Typedef: function 
                                                                    Ref: 59807, 59807
OSSL_FUNC_store_set_ctx_params  59811   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_store_set_ctx_params_fn                                                                                                
                                59811   4       long                Typedef: function 
                                                                    Ref: 59811, 59811
OSSL_FUNC_store_settable_ctx_params                                                                                              
                                59809   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
OSSL_FUNC_store_settable_ctx_params_fn                                                                                           
                                59809   4       long                Typedef: function 
                                                                    Ref: 59809, 59809
OSSL_INOUT_CALLBACK             46447   4       long                Typedef: function 
                                                                    Ref: 59375, 59375
OSSL_ITEM                       44578   8       long                Typedef: struct ossl_item_st
                                                                    Ref: 59128
OSSL_LIB_CTX                    44575   0       unknown             Typedef: struct ossl_lib_ctx_st(Incomplete Type) 
                                                                    Ref: 46606, 46913, 57430, 57431, 57433, 57435, 57436, 57437, 
                                                                    57438, 57438, 58203, 58207, 60237, 60239, 67323, 67328, 67346
                                                                    , 67370, 67431, 67436, 67510, 67514, 67780, 67781, 67782, 
                                                                    68176, 68286, 68400, 68411, 68486, 68497, 68504, 68515, 68863
                                                                    , 68873, 68879, 68898, 68915, 68923, 68944, 69074, 69079, 
                                                                    69122, 69162, 69176, 69187, 69195, 69205, 69439, 69447, 69459
                                                                    , 69462, 69489, 69496, 69525, 69530, 69543, 69548, 69561, 
                                                                    69566, 69655, 69824, 69830, 69846, 70418, 70429, 70921, 70947
                                                                    , 74124, 74443, 74495, 74505, 74584, 74588, 74592, 74601, 
                                                                    74625, 74627, 74629, 74631, 74886, 75167, 75229, 75245, 75302
                                                                    , 75543, 75602, 75603, 75634, 75805, 75853, 75903, 75911, 
                                                                    75934, 75950, 75986, 76194, 76412, 76418, 76428, 76441, 76448
                                                                    , 76941, 76963, 77015, 77015, 77015, 77015, 77016, 77016, 
                                                                    77016, 77016, 77058, 77070, 77075, 77452, 77802, 77820, 77853
                                                                    , 84610, 84715, 87286, 87293, 87300, 87301, 87302, 87304, 
                                                                    87306
OSSL_PARAM                      44580   20      long                Typedef: struct ossl_param_st
                                                                    Ref: 46446, 46447, 46448, 46457, 58948, 58951, 59116, 59119, 
                                                                    59172, 59185, 59186, 59188, 59190, 59192, 59194, 59215, 59221
                                                                    , 59240, 59241, 59243, 59245, 59247, 59249, 59270, 59277, 
                                                                    59278, 59280, 59282, 59283, 59285, 59306, 59308, 59309, 59311
                                                                    , 59313, 59314, 59316, 59345, 59365, 59366, 59368, 59370, 
                                                                    59371, 59373, 59454, 59458, 59460, 59479, 59481, 59486, 59488
                                                                    , 59516, 59518, 59523, 59545, 59552, 59554, 59556, 59558, 
                                                                    59591, 59597, 59604, 59609, 59620, 59632, 59634, 59636, 59638
                                                                    , 59640, 59642, 59644, 59646, 59665, 59672, 59681, 59683, 
                                                                    59685, 59687, 59704, 59710, 59717, 59718, 59720, 59722, 59738
                                                                    , 59739, 59741, 59743, 59748, 59754, 59769, 59770, 59772, 
                                                                    59774, 59809, 59811, 60666, 60666, 60667, 60667, 60670, 60671
                                                                    , 60672, 60673, 60674, 60675, 60676, 60677, 60678, 60679, 
                                                                    60680, 60682, 60683, 60685, 60687, 60689, 60691, 60693, 60694
                                                                    , 60698, 60699, 60700, 60701, 60702, 60703, 60704, 60705, 
                                                                    60706, 60707, 60709, 60710, 60711, 60712, 60713, 60714, 60715
                                                                    , 60716, 60717, 60718, 60720, 60721, 60723, 60724, 60726, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2073
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    60727, 60729, 60731, 60733, 60734, 60736, 60738, 60741, 60742
                                                                    , 60745, 60746, 60748, 60748, 60749, 60749, 60749, 60750, 
                                                                    68370, 68371, 68372, 68373, 68374, 68375, 68376, 68377, 68390
                                                                    , 68441, 68458, 68475, 68506, 68517, 68563, 68564, 68565, 
                                                                    68566, 68567, 68568, 68569, 68570, 68887, 68893, 68894, 68899
                                                                    , 68904, 68909, 68910, 68911, 68912, 68913, 68931, 68936, 
                                                                    68937, 68938, 68939, 68940, 68941, 68942, 68954, 69453, 69454
                                                                    , 69455, 69468, 69469, 69470, 69471, 69537, 69538, 69555, 
                                                                    69556, 69570, 69571, 69574, 69579, 69585, 69590, 69595, 69601
                                                                    , 69607, 69611, 69620, 69621, 69623, 69627, 69628, 69641, 
                                                                    69642, 69836, 69837, 70417
OSSL_PASSPHRASE_CALLBACK        46455   4       long                Typedef: function 
                                                                    Ref: 59748, 59779, 59813
OSSL_thread_stop_handler_fn     46395   4       long                Typedef: short pointer to function 
                                                                    Ref: 58954
OTHERNAME                       85856   8       long                Typedef: struct otherName_st
                                                                    Ref: 85876, 86519, 86519, 86519, 86519, 86519, 86521, 86521
PKCS7                           75057   32      long                Typedef: struct pkcs7_st
                                                                    Ref: 75058, 75058, 75058, 75058, 75058, 75058, 75058, 75149, 
                                                                    75149, 75150, 75152, 75152, 75153, 75153, 75154, 75155, 75156
                                                                    , 75166, 75166, 75166, 75166, 75166, 75167, 75172, 75173, 
                                                                    75175, 75177, 75178, 75179, 75180, 75180, 75184, 75185, 75186
                                                                    , 75187, 75189, 75190, 75193, 75194, 75195, 75197, 75199, 
                                                                    75200, 75201, 75203, 75207, 75209, 75210, 75212, 75213, 75226
                                                                    , 75228, 75232, 75236, 75237, 75239, 75241, 75243, 75246, 
                                                                    75259, 75260, 75260, 75261, 75263, 76984, 76984, 76984, 76984
                                                                    , 76984, 76984
PKCS7_CTX                       74888   8       long                Typedef: struct PKCS7_CTX_st
                                                                    Ref: 74905, 74941, 74990, 75056
PKCS7_CTX_st                    74885   8       long                Tag: struct PKCS7_CTX_st
                                                                    Ref: 74885
 libctx                         74886   4       long                Member: (Offset=0) short pointer to struct ossl_lib_ctx_st
                                                                    -No References 
 propq                          74887   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
PKCS7_DIGEST                    75014   16      long                Typedef: struct pkcs7_digest_st
                                                                    Ref: 75050, 75164, 75164, 75164, 75164, 75164
PKCS7_ENCRYPT                   75019   8       long                Typedef: struct pkcs7_encrypted_st
                                                                    Ref: 75052, 75165, 75165, 75165, 75165, 75165
PKCS7_ENC_CONTENT               74991   20      long                Typedef: struct pkcs7_enc_content_st
                                                                    Ref: 74996, 75005, 75018, 75161, 75161, 75161, 75161, 75161
PKCS7_ENVELOPE                  74997   12      long                Typedef: struct pkcs7_enveloped_st
                                                                    Ref: 75046, 75162, 75162, 75162, 75162, 75162
PKCS7_ISSUER_AND_SERIAL         74893   8       long                Typedef: struct pkcs7_issuer_and_serial_st
                                                                    Ref: 74897, 74937, 75143, 75143, 75143, 75143, 75143, 75145, 
                                                                    75212
PKCS7_RECIP_INFO                74942   24      long                Typedef: struct pkcs7_recip_info_st
                                                                    Ref: 74943, 74943, 74943, 74943, 74943, 74943, 74943, 75159, 
                                                                    75159, 75159, 75159, 75159, 75203, 75206, 75207, 75208
PKCS7_SIGNED                    74979   24      long                Typedef: struct pkcs7_signed_st
                                                                    Ref: 75044, 75160, 75160, 75160, 75160, 75160
PKCS7_SIGNER_INFO               74906   36      long                Typedef: struct pkcs7_signer_info_st
                                                                    Ref: 74907, 74907, 74907, 74907, 74907, 74907, 74907, 75158, 
                                                                    75158, 75158, 75158, 75158, 75181, 75183, 75184, 75189, 75190
                                                                    , 75197, 75199, 75204, 75215, 75217, 75219, 75220, 75221, 
                                                                    75223, 75232, 75249, 75251, 75254, 75255, 75256
PKCS7_SIGN_ENVELOPE             75007   28      long                Typedef: struct pkcs7_signedandenveloped_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2074
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 75048, 75163, 75163, 75163, 75163, 75163
POLICYINFO                      86153   8       long                Typedef: struct POLICYINFO_st
                                                                    Ref: 86155, 86155, 86155, 86155, 86155, 86155, 86155, 86540, 
                                                                    86540, 86540, 86540, 86540
POLICYINFO_st                   86150   8       long                Tag: struct POLICYINFO_st
                                                                    Ref: 86150
 policyid                       86151   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
 qualifiers                     86152   4       long                Member: (Offset=4) short pointer to struct 
                                                                    stack_st_POLICYQUALINFO
                                                                    -No References 
POLICYQUALINFO                  86119   8       long                Typedef: struct POLICYQUALINFO_st
                                                                    Ref: 86121, 86121, 86121, 86121, 86121, 86121, 86121, 86541, 
                                                                    86541, 86541, 86541, 86541
POLICYQUALINFO_st               86112   8       long                Tag: struct POLICYQUALINFO_st
                                                                    Ref: 86112
 pqualid                        86113   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
 d                              86118   4       long                Member: (Offset=4) union 
                                                                    -No References 
  cpsuri                        86115   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  usernotice                    86116   4       long                Member: (Offset=0) short pointer to struct USERNOTICE_st
                                                                    -No References 
  other                         86117   4       long                Member: (Offset=0) short pointer to struct asn1_type_st
                                                                    -No References 
POLICY_MAPPING                  86188   8       long                Typedef: struct POLICY_MAPPING_st
                                                                    Ref: 86190, 86190, 86190, 86190, 86190, 86190, 86190, 86559, 
                                                                    86559
POLICY_MAPPING_st               86185   8       long                Tag: struct POLICY_MAPPING_st
                                                                    Ref: 86185
 issuerDomainPolicy             86186   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
 subjectDomainPolicy            86187   4       long                Member: (Offset=4) short pointer to struct asn1_object_st
                                                                    -No References 
PROFESSION_INFO                 87036   0       unknown             Typedef: struct ProfessionInfo_st(Incomplete Type) 
                                                                    Ref: 87040, 87040, 87040, 87040, 87040, 87043, 87043, 87043, 
                                                                    87043, 87043, 87043, 87043, 87126, 87128, 87130, 87132, 87134
                                                                    , 87136, 87138, 87140, 87142, 87144
ProfessionInfo_st               87036   0       unknown             Tag: struct ProfessionInfo_st(Incomplete Type) 
                                                                    Ref: 87036
SCT                             44566   0       unknown             Typedef: struct sct_st(Incomplete Type) 
                                                                    Ref: 77360, 77360, 77360, 77360, 77360, 77360, 77360, 77514, 
                                                                    77520, 77530, 77541, 77547, 77552, 77558, 77565, 77572, 77579
                                                                    , 77585, 77590, 77597, 77605, 77612, 77618, 77625, 77633, 
                                                                    77639, 77645, 77651, 77657, 77662, 77670, 77686, 77695, 77775
                                                                    , 77788, 77788
SRTP_PROTECTION_PROFILE         78937   8       long                Typedef: struct srtp_protection_profile_st
                                                                    Ref: 78938, 78938, 78938, 78938, 78938, 78938, 78938, 83965
SSL                             44544   0       unknown             Typedef: struct ssl_st(Incomplete Type) 
                                                                    Ref: 78967, 78969, 79000, 79004, 79007, 79012, 79019, 79024, 
                                                                    79035, 79296, 79298, 79300, 79336, 79337, 79340, 79350, 79352
                                                                    , 79354, 79356, 79377, 79439, 79440, 79443, 79445, 79451, 
                                                                    79457, 79465, 79470, 79475, 79484, 79495, 79511, 79513, 79522
                                                                    , 79532, 79539, 79541, 79546, 79549, 79550, 79551, 79554, 
                                                                    79558, 79563, 79566, 79629, 79646, 79647, 79650, 79651, 82850
                                                                    , 82854, 82855, 82863, 82875, 82881, 82882, 82884, 82888, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2075
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    82892, 82969, 83962, 83964, 83965, 84047, 84152, 84153, 84154
                                                                    , 84170, 84171, 84558, 84566, 84619, 84620, 84624, 84625, 
                                                                    84638, 84639, 84640, 84641, 84642, 84643, 84644, 84645, 84647
                                                                    , 84648, 84649, 84651, 84652, 84653, 84654, 84655, 84656, 
                                                                    84658, 84659, 84660, 84661, 84662, 84663, 84664, 84665, 84665
                                                                    , 84667, 84669, 84672, 84673, 84675, 84676, 84677, 84695, 
                                                                    84698, 84699, 84712, 84730, 84731, 84732, 84733, 84758, 84758
                                                                    , 84782, 84786, 84787, 84794, 84795, 84802, 84812, 84834, 
                                                                    84835, 84836, 84837, 84840, 84846, 84847, 84848, 84849, 84853
                                                                    , 84855, 84857, 84858, 84859, 84860, 84865, 84866, 84868, 
                                                                    84869, 84876, 84882, 84883, 84886, 84889, 84898, 84901, 84904
                                                                    , 84908, 84911, 84914, 84915, 84917, 84918, 84930, 84933, 
                                                                    84934, 84935, 84936, 84937, 84938, 84940, 84941, 84944, 84945
                                                                    , 84950, 84951, 84952, 84957, 84958, 84959, 84962, 84963, 
                                                                    84964, 84965, 84966, 84972, 84974, 84975, 84976, 84978, 84979
                                                                    , 84980, 84982, 84983, 84991, 84993, 84994, 85064, 85066, 
                                                                    85068, 85069, 85071, 85072, 85073, 85074, 85075, 85076, 85077
                                                                    , 85078, 85079, 85081, 85084, 85085, 85091, 85093, 85095, 
                                                                    85097, 85099, 85101, 85103, 85106, 85107, 85109, 85118, 85118
                                                                    , 85120, 85124, 85131, 85132, 85133, 85134, 85135, 85136, 
                                                                    85148, 85149, 85150, 85151, 85152, 85153, 85154, 85154, 85156
                                                                    , 85158, 85159, 85160, 85162, 85164, 85174, 85175, 85227, 
                                                                    85234, 85237, 85238, 85243, 85244, 85256, 85259, 85264, 85266
                                                                    , 85271, 85276, 85280, 85281, 85285, 85291, 85292, 85294, 
                                                                    85295, 85296, 85298, 85299, 85307, 85308, 85318, 85326, 85331
                                                                    , 85335, 85361, 85389, 85395, 85399, 85494, 85495, 85496, 
                                                                    85497, 85500, 85500, 85504, 85505, 85510, 85513, 85535, 85536
                                                                    , 85572, 85573, 85585, 85587, 85590, 85594, 88123, 88149, 
                                                                    88170, 88177, 88178, 88179, 88180, 88181, 88185, 88186, 88187
                                                                    , 88193, 97638, 97640, 98353, 101345
SSL_CIPHER                      78924   0       unknown             Typedef: struct ssl_cipher_st(Incomplete Type) 
                                                                    Ref: 78971, 83983, 83983, 83983, 83983, 83983, 83983, 83983, 
                                                                    84624, 84625, 84626, 84627, 84628, 84629, 84631, 84632, 84633
                                                                    , 84634, 84635, 84636, 84749, 84750, 85115, 85256, 85257, 
                                                                    85258
SSL_COMP                        78928   0       unknown             Typedef: struct ssl_comp_st(Incomplete Type) 
                                                                    Ref: 84009, 84009, 84009, 84009, 84009, 84009, 84009, 85246, 
                                                                    85247
SSL_CTX                         44545   0       unknown             Typedef: struct ssl_ctx_st(Incomplete Type) 
                                                                    Ref: 79295, 79297, 79299, 79333, 79351, 79353, 79392, 79418, 
                                                                    79421, 79423, 79427, 79429, 79435, 79438, 79440, 79442, 79445
                                                                    , 79448, 79450, 79456, 79464, 79469, 79479, 79490, 79509, 
                                                                    79519, 79538, 79545, 79548, 79564, 79567, 79572, 79575, 79583
                                                                    , 79591, 79636, 79642, 79644, 79645, 79648, 79649, 82849, 
                                                                    82969, 83961, 84567, 84602, 84603, 84604, 84608, 84609, 84610
                                                                    , 84612, 84613, 84614, 84615, 84616, 84617, 84618, 84622, 
                                                                    84657, 84686, 84688, 84691, 84703, 84706, 84708, 84711, 84783
                                                                    , 84784, 84785, 84804, 84805, 84806, 84807, 84808, 84809, 
                                                                    84812, 84816, 84818, 84821, 84822, 84824, 84825, 84827, 84830
                                                                    , 84831, 84832, 84833, 84839, 84842, 84846, 84852, 84854, 
                                                                    84862, 84863, 84880, 84881, 84885, 84888, 84893, 84894, 84895
                                                                    , 84897, 84900, 84903, 84905, 84931, 84955, 84956, 84984, 
                                                                    84985, 84999, 85067, 85080, 85083, 85092, 85094, 85096, 85100
                                                                    , 85102, 85104, 85126, 85127, 85129, 85130, 85137, 85138, 
                                                                    85139, 85140, 85141, 85142, 85143, 85144, 85150, 85151, 85151
                                                                    , 85182, 85183, 85226, 85233, 85275, 85284, 85287, 85288, 
                                                                    85289, 85300, 85301, 85319, 85327, 85363, 85390, 85396, 85408

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2076
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 85417, 85423, 85432, 85497, 85501, 85507, 85508, 85509, 
                                                                    85510, 85514, 85513, 85519, 85520, 85578, 85591, 88124, 88148
                                                                    , 88187, 97639
SSL_CTX_ctrl                    84984   4       long    Extern      Function returning signed long 
                                                                    Ref: 98170()
SSL_CTX_free                    84613   0       byte    Extern      Function returning void 
                                                                    Ref: 98109()
SSL_CTX_load_verify_locations   85144   4       long    Extern      Function returning signed int 
                                                                    Ref: 98251(), 98261()
SSL_CTX_new                     84609   4       long    Extern      Function returning short pointer to struct ssl_ctx_st
                                                                    Ref: 98152(), 98159()
SSL_CTX_set_default_passwd_cb   84830   0       byte    Extern      Function returning void 
                                                                    Ref: 98167()
SSL_CTX_set_default_verify_paths                                                                                                 
                                85137   4       long    Extern      Function returning signed int 
                                                                    Ref: 98247()
SSL_CTX_set_info_callback       79438   0       byte    Extern      Function returning void 
                                                                    Ref: 98169()
SSL_CTX_set_options             79299   8       quad    Extern      Function returning unsigned long long 
                                                                    Ref: 98155(), 98162()
SSL_CTX_set_verify              84807   0       byte    Extern      Function returning void 
                                                                    Ref: 98350()
SSL_METHOD                      78923   0       unknown             Typedef: struct ssl_method_st(Incomplete Type) 
                                                                    Ref: 84609, 84611, 84999, 85015, 85016, 85017, 85021, 85022, 
                                                                    85023, 85029, 85030, 85031, 85037, 85038, 85039, 85045, 85046
                                                                    , 85047, 85054, 85055, 85056, 85060, 85061, 85062, 85083, 
                                                                    85084, 85085, 98093
SSL_connect                     84964   4       long    Extern      Function returning signed int 
                                                                    Ref: 98371(), 101356()
SSL_copy_session_id             84758   4       long    Extern      Function returning signed int 
                                                                    Ref: 101350()
SSL_free                        84945   0       byte    Extern      Function returning void 
                                                                    Ref: 97819(), 97839(), 97915(), 98101(), 98105(), 98378(), 
                                                                    99583(), 99668(), 99987(), 100231(), 100381(), 101342(), 
                                                                    104131(), 104343()
SSL_get_error                   84993   4       long    Extern      Function returning signed int 
                                                                    Ref: 98462(), 98598(), 98921(), 98958(), 102396(), 104111(), 
                                                                    104310()
SSL_new                         84846   4       long    Extern      Function returning short pointer to struct ssl_st
                                                                    Ref: 98353(), 101345()
SSL_read                        84965   4       long    Extern      Function returning signed int 
                                                                    Ref: 98597(), 102461(), 104309()
SSL_set_cipher_list             84656   4       long    Extern      Function returning signed int 
                                                                    Ref: 98358(), 98362(), 98364()
SSL_set_fd                      84647   4       long    Extern      Function returning signed int 
                                                                    Ref: 98355(), 101347()
SSL_set_verify                  84663   0       byte    Extern      Function returning void 
                                                                    Ref: 98356(), 101348()
SSL_shutdown                    85078   4       long    Extern      Function returning signed int 
                                                                    Ref: 97818(), 97838(), 97914(), 99582(), 99667(), 99986(), 
                                                                    100230(), 100380(), 104130(), 104342()
SSL_verify_cb                   79032   4       long                Typedef: short pointer to function 
                                                                    Ref: 84662, 84663, 84806, 84807
SSL_write                       84978   4       long    Extern      Function returning signed int 
                                                                    Ref: 98461(), 98920(), 98957(), 102394(), 104110()
SXNETID                         86059   8       long                Typedef: struct SXNET_ID_st
                                                                    Ref: 86061, 86061, 86061, 86061, 86061, 86061, 86061, 86471, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2077
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    86471, 86471, 86471, 86471
SXNET_ID_st                     86056   8       long                Tag: struct SXNET_ID_st
                                                                    Ref: 86056
 zone                           86057   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 user                           86058   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
TLS_client_method               85017   4       long    Extern      Function returning short pointer to const struct 
                                                                    ssl_method_st
                                                                    Ref: 98129(), 98140()
USERNOTICE                      86110   8       long                Typedef: struct USERNOTICE_st
                                                                    Ref: 86116, 86542, 86542, 86542, 86542, 86542
USERNOTICE_st                   86107   8       long                Tag: struct USERNOTICE_st
                                                                    Ref: 86107
 noticeref                      86108   4       long                Member: (Offset=0) short pointer to struct NOTICEREF_st
                                                                    -No References 
 exptext                        86109   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
X509                            44517   0       unknown             Typedef: struct x509_st(Incomplete Type) 
                                                                    Ref: 73191, 73191, 73191, 73191, 73191, 73191, 73191, 73496, 
                                                                    74035, 74101, 74108, 74109, 74110, 74111, 74112, 74113, 74114
                                                                    , 74116, 74116, 74118, 74122, 74131, 74132, 74134, 74134, 
                                                                    74137, 74140, 74372, 74373, 74446, 74446, 74450, 74455, 74571
                                                                    , 74642, 74643, 74644, 74649, 74940, 75181, 75185, 75191, 
                                                                    75195, 75197, 75199, 75203, 75208, 75226, 75228, 75233, 75246
                                                                    , 75299, 75300, 75319, 75320, 75327, 75329, 75331, 75340, 
                                                                    75766, 75766, 75767, 75812, 75812, 75813, 75859, 75859, 75894
                                                                    , 75895, 75908, 75949, 75949, 75949, 75949, 75949, 75950, 
                                                                    75955, 75956, 75957, 75957, 75957, 75959, 75966, 75970, 75971
                                                                    , 75973, 75974, 75978, 75979, 75980, 75981, 75991, 76035, 
                                                                    76036, 76037, 76038, 76039, 76040, 76041, 76042, 76043, 76044
                                                                    , 76045, 76046, 76047, 76048, 76049, 76050, 76051, 76052, 
                                                                    76066, 76067, 76068, 76070, 76072, 76073, 76074, 76158, 76160
                                                                    , 76165, 76165, 76166, 76168, 76168, 76169, 76171, 76171, 
                                                                    76172, 76175, 76176, 76184, 76187, 76187, 76191, 76200, 76202
                                                                    , 76204, 76214, 76216, 76217, 76284, 76285, 76286, 76287, 
                                                                    76288, 76289, 76290, 76291, 76292, 76397, 76399, 76978, 76978
                                                                    , 76978, 76978, 76978, 76978, 76979, 76979, 76979, 76979, 
                                                                    76979, 76979, 77465, 77472, 77475, 77482, 79015, 79027, 79443
                                                                    , 79445, 82892, 84675, 84677, 84759, 84794, 84795, 84824, 
                                                                    84827, 84868, 85095, 85096, 85103, 85104, 85120, 85126, 85796
                                                                    , 85797, 86397, 86552, 86553, 86593, 86605, 86623, 86623, 
                                                                    86675, 86676, 86679, 86679, 86680, 86681, 86682, 86683, 86685
                                                                    , 86686, 86687, 86688, 86689, 86690, 86691, 86698, 86706, 
                                                                    86709, 86733, 86735, 86737, 86739, 88190, 88191
X509V3_CONF_METHOD              85786   16      long                Typedef: struct X509V3_CONF_METHOD_st
                                                                    Ref: 85800
X509V3_CONF_METHOD_st           85781   16      long                Tag: struct X509V3_CONF_METHOD_st
                                                                    Ref: 85781
 get_string                     85782   4       long                Member: (Offset=0) short pointer to function 
                                                                    -No References 
 get_section                    85783   4       long                Member: (Offset=4) short pointer to function 
                                                                    -No References 
 free_string                    85784   4       long                Member: (Offset=8) short pointer to function 
                                                                    -No References 
 free_section                   85785   4       long                Member: (Offset=12) short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2078
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

X509V3_EXT_D2I                  85740   4       long                Typedef: short pointer to function 
                                                                    Ref: 85767
X509V3_EXT_FREE                 85739   4       long                Typedef: short pointer to function 
                                                                    Ref: 85766
X509V3_EXT_I2D                  85741   4       long                Typedef: short pointer to function 
                                                                    Ref: 85768
X509V3_EXT_I2R                  85752   4       long                Typedef: short pointer to function 
                                                                    Ref: 85776
X509V3_EXT_I2S                  85748   4       long                Typedef: short pointer to function 
                                                                    Ref: 85770
X509V3_EXT_I2V                  85743   4       long                Typedef: short pointer to function 
                                                                    Ref: 85773
X509V3_EXT_METHOD               85806   56      long                Typedef: struct v3_ext_method
                                                                    Ref: 85808, 85808, 85808, 85808, 85808, 85808, 85808, 86493, 
                                                                    86496, 86499, 86500, 86502, 86503, 86506, 86513, 86516, 86529
                                                                    , 86531, 86572, 86577, 86580, 86636, 86637, 86638, 86639, 
                                                                    86641, 86642, 86646, 86647
X509V3_EXT_NEW                  85738   4       long                Typedef: short pointer to function 
                                                                    Ref: 85765
X509V3_EXT_R2I                  85754   4       long                Typedef: short pointer to function 
                                                                    Ref: 85777
X509V3_EXT_S2I                  85750   4       long                Typedef: short pointer to function 
                                                                    Ref: 85771
X509V3_EXT_V2I                  85745   4       long                Typedef: short pointer to function 
                                                                    Ref: 85774
X509_ALGOR                      44518   8       long                Typedef: struct X509_algor_st
                                                                    Ref: 66537, 66537, 66537, 66537, 66537, 66537, 66537, 67320, 
                                                                    67321, 67325, 69308, 69314, 69315, 69320, 71955, 71956, 71960
                                                                    , 71967, 71968, 71969, 71971, 73483, 73542, 73569, 73570, 
                                                                    73578, 74898, 74900, 74938, 74987, 75011, 75205, 75205, 75206
                                                                    , 75316, 75860, 75860, 75867, 75870, 75871, 75872, 75872, 
                                                                    75873, 75873, 75897, 75897, 75897, 75897, 75897, 75927, 75929
                                                                    , 75970, 76006, 76012, 76012, 76018, 76021, 76024, 76024, 
                                                                    76027, 76028, 76070, 76083, 76085, 76142, 76408, 76410, 76414
                                                                    , 76416, 76420, 76422, 76425, 76431, 76437, 76439, 76457, 
                                                                    76473
X509_ATTRIBUTE                  73367   0       unknown             Typedef: struct x509_attributes_st(Incomplete Type) 
                                                                    Ref: 73368, 73368, 73368, 73368, 73368, 73368, 73368, 75861, 
                                                                    75861, 75936, 75936, 75936, 75936, 75936, 75937, 76103, 76104
                                                                    , 76105, 76339, 76340, 76342, 76359, 76359, 76362, 76362, 
                                                                    76366, 76366, 76370, 76371, 76373, 76375, 76376, 76377, 76383
                                                                    , 76384, 76385, 76461
X509_CRL                        44519   0       unknown             Typedef: struct X509_crl_st(Incomplete Type) 
                                                                    Ref: 73243, 73243, 73243, 73243, 73243, 73243, 73243, 73497, 
                                                                    74137, 74138, 74140, 74374, 74375, 74572, 74645, 75186, 75282
                                                                    , 75283, 75284, 75290, 75294, 75295, 75305, 75323, 75324, 
                                                                    75333, 75341, 75768, 75768, 75769, 75814, 75814, 75815, 75862
                                                                    , 75862, 75985, 75985, 75985, 75985, 75985, 75986, 75988, 
                                                                    75989, 75991, 76119, 76120, 76121, 76122, 76123, 76124, 76131
                                                                    , 76132, 76133, 76135, 76136, 76138, 76139, 76140, 76141, 
                                                                    76143, 76144, 76153, 76153, 76153, 76162, 76198, 76198, 76199
                                                                    , 76199, 76205, 76218, 76219, 76295, 76296, 76297, 76299, 
                                                                    76300, 76301, 76302, 76303, 76304, 76982, 76982, 76982, 76982
                                                                    , 76982, 76982, 85799, 86597, 86609, 86624
X509_EXTENSION                  73338   0       unknown             Typedef: struct X509_extension_st(Incomplete Type) 
                                                                    Ref: 73339, 73339, 73339, 73339, 73339, 73339, 73339, 75863, 
                                                                    75863, 75939, 75939, 75939, 75939, 75939, 76279, 76280, 76282

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2079
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 76288, 76289, 76290, 76300, 76301, 76302, 76313, 76314, 
                                                                    76315, 76321, 76321, 76324, 76324, 76327, 76328, 76329, 76330
                                                                    , 76331, 76332, 86586, 86588, 86599, 86602, 86646, 86650, 
                                                                    86654, 86666, 86669, 86677
X509_INFO                       73502   40      long                Typedef: struct X509_info_st
                                                                    Ref: 73503, 73503, 73503, 73503, 73503, 73503, 73503, 76000, 
                                                                    76001, 76944
X509_LOOKUP                     44528   0       unknown             Typedef: struct x509_lookup_st(Incomplete Type) 
                                                                    Ref: 73951, 73951, 73951, 73951, 73951, 73951, 73951, 74486, 
                                                                    74491, 74494, 74497, 74501, 74507, 74512, 74517, 74527, 74529
                                                                    , 74532, 74534, 74537, 74539, 74542, 74544, 74581, 74583, 
                                                                    74586, 74587, 74589, 74590, 74591, 74594, 74595, 74596, 74597
                                                                    , 74599, 74602, 74606, 74609, 74611, 74612, 74613, 74614
X509_NAME                       44522   0       unknown             Typedef: struct X509_name_st(Incomplete Type) 
                                                                    Ref: 73165, 73165, 73165, 73165, 73165, 73165, 73165, 74144, 
                                                                    74147, 74362, 74365, 74384, 74386, 74499, 74503, 74509, 74576
                                                                    , 74579, 74598, 74600, 74603, 74891, 75289, 75337, 75875, 
                                                                    75875, 75944, 75944, 75944, 75944, 75944, 75946, 75946, 76002
                                                                    , 76040, 76041, 76042, 76043, 76080, 76081, 76120, 76138, 
                                                                    76188, 76188, 76194, 76196, 76207, 76211, 76212, 76224, 76225
                                                                    , 76227, 76234, 76235, 76237, 76238, 76239, 76241, 76244, 
                                                                    76255, 76269, 76397, 76399, 85880, 85887, 85994, 86550, 86743
X509_NAME_ENTRY                 73306   0       unknown             Typedef: struct X509_name_entry_st(Incomplete Type) 
                                                                    Ref: 73308, 73308, 73308, 73308, 73308, 73308, 73308, 75876, 
                                                                    75876, 75942, 75942, 75942, 75942, 75942, 76237, 76238, 76239
                                                                    , 76247, 76247, 76251, 76251, 76258, 76258, 76262, 76263, 
                                                                    76265, 76266, 76267
X509_OBJECT                     44527   0       unknown             Typedef: struct x509_object_st(Incomplete Type) 
                                                                    Ref: 73977, 73977, 73977, 73977, 73977, 73977, 73977, 74363, 
                                                                    74366, 74367, 74368, 74369, 74370, 74371, 74372, 74373, 74374
                                                                    , 74375, 74500, 74504, 74511, 74516, 74521, 74576, 74577, 
                                                                    74598, 74600, 74605, 74608, 74610
X509_PKEY                       73493   48      long                Typedef: struct private_key_st
                                                                    Ref: 73498, 75993, 75994
X509_POLICY_NODE                44550   0       unknown             Typedef: struct X509_POLICY_NODE_st(Incomplete Type) 
                                                                    Ref: 74764, 74767, 74770, 74771, 74772, 86746, 86747, 86747, 
                                                                    86747, 86747, 86747, 86747, 86747
X509_POLICY_NODE_st             44550   0       unknown             Tag: struct X509_POLICY_NODE_st(Incomplete Type) 
                                                                    Ref: 44550
X509_PURPOSE                    86401   28      long                Typedef: struct x509_purpose_st
                                                                    Ref: 86403, 86403, 86403, 86403, 86403, 86403, 86403, 86694, 
                                                                    86698, 86700, 86701, 86702, 86704
X509_REQ                        73396   0       unknown             Typedef: struct X509_req_st(Incomplete Type) 
                                                                    Ref: 75302, 75304, 75321, 75322, 75335, 75770, 75770, 75771, 
                                                                    75816, 75816, 75817, 75865, 75865, 75894, 75895, 75933, 75933
                                                                    , 75933, 75933, 75933, 75934, 75975, 75976, 76078, 76079, 
                                                                    76080, 76081, 76082, 76084, 76085, 76086, 76087, 76088, 76089
                                                                    , 76090, 76091, 76095, 76096, 76098, 76099, 76100, 76101, 
                                                                    76103, 76104, 76105, 76106, 76109, 76112, 76156, 76206, 76220
                                                                    , 76222, 76980, 76980, 76980, 76980, 76980, 76980, 76981, 
                                                                    76981, 85798, 86595, 86607, 86624, 86707
X509_REVOKED                    44521   0       unknown             Typedef: struct x509_revoked_st(Incomplete Type) 
                                                                    Ref: 73217, 73217, 73217, 73217, 73217, 73217, 73217, 75285, 
                                                                    75866, 75866, 75983, 75983, 75983, 75983, 75983, 75988, 75990
                                                                    , 75991, 76146, 76147, 76148, 76149, 76151, 76307, 76308, 
                                                                    76309, 76311, 76313, 76314, 76315, 76316, 76318
X509_STORE                      44524   0       unknown             Typedef: struct x509_store_st(Incomplete Type) 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2080
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 74123, 74126, 74376, 74377, 74378, 74379, 74380, 74381, 
                                                                    74382, 74387, 74388, 74389, 74390, 74391, 74393, 74398, 74399
                                                                    , 74403, 74404, 74406, 74407, 74409, 74410, 74413, 74414, 
                                                                    74416, 74417, 74419, 74420, 74422, 74423, 74425, 74426, 74428
                                                                    , 74429, 74433, 74434, 74436, 74440, 74441, 74449, 74454, 
                                                                    74486, 74571, 74572, 74613, 74616, 74617, 74618, 74619, 74622
                                                                    , 74624, 74626, 74628, 74631, 75188, 75237, 84616, 84617, 
                                                                    84618, 88153, 98272
X509_STORE_CTX                  44525   0       unknown             Typedef: struct x509_store_ctx_st(Incomplete Type) 
                                                                    Ref: 74120, 74121, 74128, 74129, 74130, 74132, 74133, 74135, 
                                                                    74136, 74138, 74139, 74141, 74143, 74146, 74148, 74150, 74383
                                                                    , 74385, 74396, 74443, 74444, 74446, 74448, 74449, 74451, 
                                                                    74452, 74454, 74455, 74456, 74457, 74458, 74460, 74461, 74462
                                                                    , 74463, 74464, 74465, 74466, 74467, 74468, 74469, 74470, 
                                                                    74471, 74574, 74577, 74636, 74637, 74638, 74639, 74640, 74641
                                                                    , 74642, 74643, 74644, 74645, 74646, 74646, 74647, 74648, 
                                                                    74649, 74650, 74651, 74652, 74653, 74654, 74656, 74657, 74660
                                                                    , 74661, 74662, 74664, 74665, 74666, 74672, 75188, 79032, 
                                                                    84810, 86994, 86995, 88171, 88172, 88188
X509_STORE_load_locations       74619   4       long    Extern      Function returning signed int 
                                                                    Ref: 98327(), 98337()
X509_STORE_new                  74376   4       long    Extern      Function returning short pointer to struct x509_store_st
                                                                    Ref: 98272()
X509_STORE_set_default_paths    74622   4       long    Extern      Function returning signed int 
                                                                    Ref: 98347()
X509_TRUST                      74039   24      long                Typedef: struct x509_trust_st
                                                                    Ref: 74040, 74040, 74040, 74040, 74040, 74040, 74040, 74099, 
                                                                    74101, 74104, 74105, 74106
X509_VERIFY_PARAM               44530   0       unknown             Typedef: struct X509_VERIFY_PARAM_st(Incomplete Type) 
                                                                    Ref: 74003, 74003, 74003, 74003, 74003, 74003, 74003, 74390, 
                                                                    74391, 74664, 74665, 74677, 74678, 74679, 74680, 74681, 74682
                                                                    , 74683, 74684, 74686, 74688, 74689, 74690, 74691, 74692, 
                                                                    74693, 74694, 74695, 74697, 74700, 74702, 74704, 74705, 74707
                                                                    , 74709, 74711, 74712, 74713, 74713, 74714, 74715, 74717, 
                                                                    74718, 74720, 74723, 74724, 74725, 74727, 74729, 74730, 75880
                                                                    , 84885, 84886, 84888, 84889
X509_VERIFY_PARAM_st            44530   0       unknown             Tag: struct X509_VERIFY_PARAM_st(Incomplete Type) 
                                                                    Ref: 44530
X509_algor_st                   73292   8       long                Tag: struct X509_algor_st
                                                                    Ref: 44518
 algorithm                      73293   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
 parameter                      73294   4       long                Member: (Offset=4) short pointer to struct asn1_type_st
                                                                    -No References 
X509_crl_st                     44519   0       unknown             Tag: struct X509_crl_st(Incomplete Type) 
                                                                    Ref: 44519
X509_extension_st               73338   0       unknown             Tag: struct X509_extension_st(Incomplete Type) 
                                                                    Ref: 73338
X509_info_st                    73495   40      long                Tag: struct X509_info_st
                                                                    Ref: 73495
 x509                           73496   4       long                Member: (Offset=0) short pointer to struct x509_st
                                                                    -No References 
 crl                            73497   4       long                Member: (Offset=4) short pointer to struct X509_crl_st
                                                                    -No References 
 x_pkey                         73498   4       long                Member: (Offset=8) short pointer to struct private_key_st
                                                                    -No References 
 enc_cipher                     73499   20      long                Member: (Offset=12) struct evp_cipher_info_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2081
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  cipher                        68162   4       long                Member: (Offset=0) short pointer to const struct 
                                                                    evp_cipher_st
                                                                    -No References 
  iv                            68163   16      byte                Member: (Offset=4) array of unsigned char 
                                                                    -No References 
 enc_len                        73500   4       long                Member: (Offset=32) signed int 
                                                                    -No References 
 enc_data                       73501   4       long                Member: (Offset=36) short pointer to char 
                                                                    -No References 
X509_name_entry_st              73306   0       unknown             Tag: struct X509_name_entry_st(Incomplete Type) 
                                                                    Ref: 73306
X509_name_st                    44522   0       unknown             Tag: struct X509_name_st(Incomplete Type) 
                                                                    Ref: 44522
X509_req_st                     73396   0       unknown             Tag: struct X509_req_st(Incomplete Type) 
                                                                    Ref: 73396
_PTHREAD_EXC_KIND_ADDR          54689                               enum constant:  34800725
                                                                    -No References 
_PTHREAD_EXC_KIND_NONE          54688                               enum constant:  0
                                                                    -No References 
_PTHREAD_EXC_KIND_STATUS        54690                               enum constant:  34800726
                                                                    -No References 
__FILE                          1455    4       long                Typedef: short pointer to struct _iobuf
                                                                    Ref: 1456, 1524, 1625, 1657, 1658, 1659, 2128, 2129, 2131, 
                                                                    2132, 2133, 2134, 2135, 2136, 2138, 2139, 2140, 2142, 2143, 
                                                                    2153, 2154, 2174, 2175, 2193, 2194, 2195, 2196, 2211, 2212, 
                                                                    2213, 2244, 2245, 2274, 2300, 2334, 2358, 2394, 2395, 2421, 
                                                                    2430, 2431, 2438, 2503, 2505, 2507, 2522, 2523, 2525, 2526
__FILE_ptr32                    1456    4       long                Typedef: short pointer to short pointer to struct _iobuf
                                                                    Ref: 2179, 2230, 2244, 2335, 2343, 2447
__VA_START_BUILTIN              99404   4       long    Extern      Function returning signed int 
                                                                    -No References 
__caddr_t                       1433    4       long                Typedef: short pointer to char 
                                                                    Ref: 3186, 31596, 31599, 31639, 31825, 31910
__char_ptr32                    1458    4       long                Typedef: short pointer to char 
                                                                    Ref: 2404, 16724, 17805, 17888, 17908, 17909, 20034, 20035, 
                                                                    20036, 20119, 20172, 20743, 23161, 23172, 23172, 23203, 23240
                                                                    , 23240, 35588, 35910, 35911, 35912, 35919, 35920, 35941, 
                                                                    36459, 99404, 99404
__const_char_ptr64              1527    4       long                Typedef: short pointer to const char 
                                                                    Ref: 2100, 16636, 16638, 16639, 16640, 16641, 16643, 16644, 
                                                                    16756, 16756, 16760, 16764, 16766, 16783, 17806, 23374, 34938
                                                                    , 34939, 34950, 34960
__dev_t                         1436    4       long                Typedef: short pointer to char 
                                                                    Ref: 3015, 19323, 19324, 19350
__gid32_t                       1397    4       long                Typedef: unsigned int 
                                                                    Ref: 1400, 19341
__in_addr_t                     1440    4       long                Typedef: unsigned int 
                                                                    Ref: 32791, 33088, 33088, 33088, 33090, 33090, 33090, 34933, 
                                                                    34933, 34935, 34935, 34938, 34939, 34940, 34941, 34948, 34948
                                                                    , 36136, 36401
__in_port_t                     1441    2       word                Typedef: unsigned short 
                                                                    Ref: 32786, 33089, 33089, 33089, 33091, 33091, 33091, 34934, 
                                                                    34934, 34936, 34936
__ino16_t                       1408    2       word                Typedef: unsigned short 
                                                                    Ref: 19331, 19332
__mode_t                        1418    2       word                Typedef: unsigned short 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2082
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 3039, 17837, 17837, 19334, 19335, 19631, 19632, 19638, 
                                                                    19638, 19641, 19747, 19815, 20039
__nlink_t                       1419    4       long                Typedef: int 
                                                                    Ref: 3047, 19337
__ns_sect                       35124   4       long                Tag: enum __ns_sect
                                                                    Ref: 35124
 ns_s_qd                        35125                               enum constant:  0
                                                                    -No References 
 ns_s_zn                        35126                               enum constant:  0
                                                                    -No References 
 ns_s_an                        35127                               enum constant:  1
                                                                    -No References 
 ns_s_pr                        35128                               enum constant:  1
                                                                    -No References 
 ns_s_ns                        35129                               enum constant:  2
                                                                    -No References 
 ns_s_ud                        35130                               enum constant:  2
                                                                    -No References 
 ns_s_ar                        35131                               enum constant:  3
                                                                    -No References 
 ns_s_max                       35132                               enum constant:  4
                                                                    Ref: 35142, 35143
__off64_t                       1429    8       quad                Typedef: signed int64 
                                                                    Ref: 19357
__off_t                         1422    8       quad                Typedef: signed int64 
                                                                    Ref: 1642, 2153, 2153, 2154, 19764, 19764, 20636, 20636, 
                                                                    21001, 21002
__pid_t                         1431    4       long                Typedef: int 
                                                                    Ref: 3063, 17267, 17295, 17295, 18856, 20080, 20081, 20678, 
                                                                    20679
__pthreadExcAddr_t              54672   4       long                Typedef: short pointer to void 
                                                                    Ref: 54721, 54730, 54748, 54829
__pthreadExcArg_p               54703   4       long                Typedef: short pointer to signed int64 
                                                                    Ref: 54722
__pthreadExcExt                 54714   16      long                Tag: struct __pthreadExcExt
                                                                    Ref: 54714
 __sentinel                     54715   4       long                Member: (Offset=0) signed long 
                                                                    -No References 
 __version                      54716   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
 __flags                        54717   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
 __extend                       54721   4       long                Member: (Offset=8) short pointer to void 
                                                                    -No References 
 __args                         54722   4       long                Member: (Offset=12) short pointer to signed int64 
                                                                    -No References 
__pthreadExcExt_t               54723   16      long                Typedef: struct __pthreadExcExt
                                                                    Ref: 54749, 54758
__pthreadExcKindAddr            54743   24      long                Tag: struct __pthreadExcKindAddr
                                                                    Ref: 54743
 __kind                         54744   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
 __address                      54748   4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 __ext                          54749   16      long                Member: (Offset=8) struct __pthreadExcExt
                                                                    -No References 
  __sentinel                    54715   4       long                Member: (Offset=0) signed long 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2083
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  __version                     54716   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
  __flags                       54717   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
  __extend                      54721   4       long                Member: (Offset=8) short pointer to void 
                                                                    -No References 
  __args                        54722   4       long                Member: (Offset=12) short pointer to signed int64 
                                                                    -No References 
__pthreadExcKindAddr_t          54750   24      long                Typedef: struct __pthreadExcKindAddr
                                                                    Ref: 54766
__pthreadExcKindStatus          54752   24      long                Tag: struct __pthreadExcKindStatus
                                                                    Ref: 54752
 __kind                         54753   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
 __status                       54757   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
 __ext                          54758   16      long                Member: (Offset=8) struct __pthreadExcExt
                                                                    -No References 
  __sentinel                    54715   4       long                Member: (Offset=0) signed long 
                                                                    -No References 
  __version                     54716   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
  __flags                       54717   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
  __extend                      54721   4       long                Member: (Offset=8) short pointer to void 
                                                                    -No References 
  __args                        54722   4       long                Member: (Offset=12) short pointer to signed int64 
                                                                    -No References 
__pthreadExcKindStatus_t        54759   24      long                Typedef: struct __pthreadExcKindStatus
                                                                    Ref: 54765
__pthreadExcKindV1Addr          54725   32      long                Tag: struct __pthreadExcKindV1Addr
                                                                    Ref: 54725
 __kind                         54726   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
 __address                      54730   4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 __filler                       54731   24      long                Member: (Offset=8) array of unsigned long 
                                                                    -No References 
__pthreadExcKindV1Addr_t        54732   32      long                Typedef: struct __pthreadExcKindV1Addr
                                                                    Ref: 54764
__pthreadExcKindV1Status        54734   32      long                Tag: struct __pthreadExcKindV1Status
                                                                    Ref: 54734
 __kind                         54735   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
 __status                       54739   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
 __filler                       54740   24      long                Member: (Offset=8) array of unsigned long 
                                                                    -No References 
__pthreadExcKindV1Status_t      54741   32      long                Typedef: struct __pthreadExcKindV1Status
                                                                    Ref: 54763
__pthreadExcKind_t              54687   4       long                Tag: enum __pthreadExcKind_t
                                                                    Ref: 54687
 _PTHREAD_EXC_KIND_NONE         54688                               enum constant:  0
                                                                    -No References 
 _PTHREAD_EXC_KIND_ADDR         54689                               enum constant:  34800725
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2084
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 _PTHREAD_EXC_KIND_STATUS       54690                               enum constant:  34800726
                                                                    -No References 
__pthreadExcKind_t              54691   4       long                Typedef: enum __pthreadExcKind_t
                                                                    Ref: 54726, 54735, 54744, 54753, 54762
__pthreadExcLong_t              54673   4       long                Typedef: signed long 
                                                                    Ref: 54715, 54834, 54835
__pthreadExcShort_t             54674   2       word                Typedef: signed short 
                                                                    Ref: 54716, 54717
__pthreadExcUns_t               54675   4       long                Typedef: unsigned long 
                                                                    Ref: 54731, 54739, 54740
__pthreadExceptionObj           54761   32      long                Tag: union __pthreadExceptionObj
                                                                    Ref: 54761
 __kind                         54762   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
 __v1status                     54763   32      long                Member: (Offset=0) struct __pthreadExcKindV1Status
                                                                    -No References 
  __kind                        54735   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
  __status                      54739   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
  __filler                      54740   24      long                Member: (Offset=8) array of unsigned long 
                                                                    -No References 
 __v1address                    54764   32      long                Member: (Offset=0) struct __pthreadExcKindV1Addr
                                                                    -No References 
  __kind                        54726   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
  __address                     54730   4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
  __filler                      54731   24      long                Member: (Offset=8) array of unsigned long 
                                                                    -No References 
 __status                       54765   24      long                Member: (Offset=0) struct __pthreadExcKindStatus
                                                                    -No References 
  __kind                        54753   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
  __status                      54757   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
  __ext                         54758   16      long                Member: (Offset=8) struct __pthreadExcExt
                                                                    -No References 
   __sentinel                   54715   4       long                Member: (Offset=0) signed long 
                                                                    -No References 
   __version                    54716   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
   __flags                      54717   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
   __extend                     54721   4       long                Member: (Offset=8) short pointer to void 
                                                                    -No References 
   __args                       54722   4       long                Member: (Offset=12) short pointer to signed int64 
                                                                    -No References 
 __address                      54766   24      long                Member: (Offset=0) struct __pthreadExcKindAddr
                                                                    -No References 
  __kind                        54744   4       long                Member: (Offset=0) enum __pthreadExcKind_t
                                                                    -No References 
  __address                     54748   4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
  __ext                         54749   16      long                Member: (Offset=8) struct __pthreadExcExt
                                                                    -No References 
   __sentinel                   54715   4       long                Member: (Offset=0) signed long 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2085
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
   __version                    54716   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
   __flags                      54717   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
   __extend                     54721   4       long                Member: (Offset=8) short pointer to void 
                                                                    -No References 
   __args                       54722   4       long                Member: (Offset=12) short pointer to signed int64 
                                                                    -No References 
__pthreadExceptionObj_t         54767   32      long                Typedef: union __pthreadExceptionObj
                                                                    Ref: 54826, 55323, 55426
__pthreadStatus_t               54676   4       long                Typedef: unsigned long 
                                                                    Ref: 54757, 54921, 54921
__res_state                     35682   510     byte                Tag: struct __res_state
                                                                    Ref: 35629, 35722, 35815, 35905
 retrans                        35683   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 retry                          35684   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 options                        35685   4       long                Member: (Offset=8) unsigned long 
                                                                    -No References 
 nscount                        35686   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
 nsaddr_list                    35688   48      byte                Member: (Offset=16) array of struct sockaddr_in
                                                                    -No References 
 id                             35690   2       word                Member: (Offset=64) unsigned short 
                                                                    -No References 
 dnsrch                         35691   28      long                Member: (Offset=66) array of short pointer to char 
                                                                    -No References 
 defdname                       35692   256     byte                Member: (Offset=94) array of char 
                                                                    -No References 
 pfcode                         35693   4       long                Member: (Offset=350) unsigned long 
                                                                    -No References 
 ndots                          35694   4 bits  bit                 Member: (Offset=354.0 byte.bit) bitfield 
                                                                    -No References 
 nsort                          35695   4 bits  bit                 Member: (Offset=354.4 byte.bit) bitfield 
                                                                    -No References 
 unused                         35696   3       byte                Member: (Offset=355) array of char 
                                                                    -No References 
 sort_list                      35700   80      byte                Member: (Offset=358) array of struct 
                                                                    -No References 
 qhook                          35701   4       long                Member: (Offset=438) short pointer to function 
                                                                    -No References 
 rhook                          35702   4       long                Member: (Offset=442) short pointer to function 
                                                                    -No References 
 res_h_errno                    35703   4       long                Member: (Offset=446) signed int 
                                                                    -No References 
 _vcsock                        35704   4       long                Member: (Offset=450) signed int 
                                                                    -No References 
 _flags                         35705   4       long                Member: (Offset=454) unsigned int 
                                                                    -No References 
 _pad                           35706   4       long                Member: (Offset=458) unsigned int 
                                                                    -No References 
 _u                             35718   48      byte                Member: (Offset=462) union 
                                                                    -No References 
  pad                           35709   48      byte                Member: (Offset=0) array of char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2086
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

  _ext                          35717   40      byte                Member: (Offset=0) struct 
                                                                    -No References 
   nscount                      35711   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   nstimes                      35712   6       word                Member: (Offset=2) array of unsigned short 
                                                                    -No References 
   nssocks                      35713   12      long                Member: (Offset=8) array of signed int 
                                                                    -No References 
   ext                          35714   4       long                Member: (Offset=20) short pointer to struct __res_state_ext
                                                                    -No References 
   last_nsaddr                  35716   16      byte                Member: (Offset=24) struct sockaddr_in
                                                                    -No References 
    sin_family                  32987   2       word                Member: (Offset=0) unsigned short 
                                                                    Ref: 101226=., 102733=., 102749=., 102761., 102809.
    sin_port                    32988   2       word                Member: (Offset=2) unsigned short 
                                                                    Ref: 101228=., 101254=., 101300&., 102771=.
    sin_addr                    32989   4       byte                Member: (Offset=4) struct in_addr
                                                                    Ref: 101227=., 101299&., 102729=., 102730., 102751&., 102751.
                                                                    , 102795., 102799&., 102799., 102803.
     S_un                       32816   4       byte                Member: (Offset=0) union 
                                                                    Ref: 101227=., 102729=., 102730.
      S_un_b                    32810   4       byte                Member: (Offset=0) struct 
                                                                    -No References 
       s_b1                     32810   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
       s_b2                     32810   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
       s_b3                     32810   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
       s_b4                     32810   1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
      S_un_w                    32811   4       byte                Member: (Offset=0) struct 
                                                                    -No References 
       s_w1                     32811   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
       s_w2                     32811   2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
      S_addr                    32812   4       long                Member: (Offset=0) unsigned long 
                                                                    Ref: 101227=., 102729=., 102730.
    sin_zero                    32990   8       byte                Member: (Offset=8) array of char 
                                                                    -No References 
__res_state_ext                 35680   0       unknown             Tag: struct __res_state_ext(Incomplete Type) 
                                                                    Ref: 35714
__sighnd64_t                    18534   4       long                Typedef: short pointer to function 
                                                                    Ref: 18816
__sighnd_t                      18541   4       long                Typedef: short pointer to function 
                                                                    Ref: 18637, 18816, 99320, 99611, 99703, 99881, 100257, 100358
                                                                    , 100437
__size_t                        1381    4       long                Typedef: unsigned int 
                                                                    Ref: 1538, 1539, 1632, 2128, 2128, 2128, 2129, 2129, 2129, 
                                                                    2143, 2306, 2307, 16632, 16633, 16634, 16635, 16639, 16640, 
                                                                    16695, 16698, 16699, 16700, 16701, 16702, 16702, 16709, 16709
                                                                    , 16741, 16764, 16765, 16809, 16810, 16811, 16814, 16885, 
                                                                    16886, 16889, 16892, 17744, 17745, 17745, 17746, 17749, 17749
                                                                    , 17949, 17949, 17950, 17951, 17952, 17952, 17953, 17953, 
                                                                    19801, 19802, 20011, 20736, 20778, 20830, 20831, 20839, 21001
                                                                    , 21002, 23204, 23204, 23502, 30795, 30796, 30797, 30798, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2087
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    30799, 30801, 30802, 30803, 30804, 30828, 30829, 30830, 30831
                                                                    , 30866, 34665, 34674, 34762, 34763, 34763, 34765, 34766, 
                                                                    34767, 34767, 34769, 34769, 34771, 34773, 34961, 35483, 35484
                                                                    , 35486, 35487, 35488, 35490, 35491, 35493, 35497, 35498
__ssize_t                       1432    4       long                Typedef: int 
                                                                    Ref: 2365, 2367, 3086, 19801, 19802, 20830, 20831, 21001, 
                                                                    21002, 29779, 29790, 30713, 30714, 30801, 30803, 30830, 30831
__struct_hostent_ptr32          35982   4       long                Typedef: short pointer to struct hostent
                                                                    Ref: 36412, 36440, 36441, 36442
__struct_servent_ptr32          35984   4       long                Typedef: short pointer to struct servent
                                                                    Ref: 36407, 36408, 36413
__struct_tm_ptr32               23025   4       long                Typedef: short pointer to struct tm
                                                                    Ref: 23288, 23289, 23341, 23341, 23342, 23342
__time_t                        1393    4       long                Typedef: unsigned long 
                                                                    Ref: 3111, 19360, 19361, 19362, 19363, 19364, 19365, 23095, 
                                                                    23160, 23160, 23201, 23202, 23202, 23203, 23240, 23288, 23289
                                                                    , 23341, 23342, 23456, 42237, 42238
__u_char                        1444    1       byte                Typedef: unsigned char 
                                                                    Ref: 1476, 1477, 1544, 1545, 30962, 30963, 30964, 30966, 
                                                                    30978, 30983, 31086, 31088, 35141, 35143, 35146, 35173, 35259
                                                                    , 35476, 35477, 35478, 35479, 35480, 35484, 35485, 35490, 
                                                                    35491, 35492, 35492, 35493, 35493, 35494, 35494, 35495, 35495
                                                                    , 35496, 35496, 35497, 35498, 35499, 35499, 35500, 35500
__u_int                         1382    4       long                Typedef: unsigned int 
                                                                    Ref: 3198, 3212, 31630, 31640, 31654, 31657, 31658, 31659, 
                                                                    31665, 31806, 31827, 31866, 31885, 31886, 31927, 31937, 31938
                                                                    , 31939, 31952, 31953, 31954, 31955, 31956, 31957, 31979, 
                                                                    31980, 31981, 31982, 31983, 31984, 31985, 31986, 31987, 32004
                                                                    , 32005, 32061, 32062, 32063, 32064, 32100, 32101, 32102, 
                                                                    32103, 32104, 32105, 32106, 32107, 32108, 32109, 32110, 32240
                                                                    , 32241, 32242, 32249, 32264, 32283, 32299, 32308, 32310, 
                                                                    32311, 32312, 32313, 32314, 32334, 32335, 32344, 32345, 32346
                                                                    , 32347, 32348, 32369, 32388, 32389, 32391, 32393, 32394, 
                                                                    32396, 32397, 32428, 32429, 32430, 32432, 32433, 32434, 32435
                                                                    , 32436, 32437, 32438, 32439, 32440, 32441, 32442, 32443, 
                                                                    32444, 32445, 32446, 32447, 32448, 32455, 32456, 32457, 32458
                                                                    , 32459, 32464, 32465, 32466, 32468, 32469, 32470, 32471, 
                                                                    32472, 32473, 32474, 32475, 32476, 32477, 32478, 32479, 32480
                                                                    , 32487, 32488, 32489, 32494, 32495, 32496, 32497, 32498, 
                                                                    32499, 32500, 32501, 32502, 32503, 32504, 32505, 32506, 32507
                                                                    , 32508, 32509, 32510, 32511, 32512, 32517, 32520, 32521, 
                                                                    32522, 32523, 32524, 32525, 32526, 32529, 32530, 32531, 32534
                                                                    , 32535, 32536, 34669, 34720, 35476, 35478, 35705, 35706, 
                                                                    35927, 35944, 35944, 35946, 35946, 35947, 35947, 35947
__u_long                        1446    4       long                Typedef: unsigned long 
                                                                    Ref: 1482, 1483, 1550, 1551, 31038, 31039, 31040, 31041, 
                                                                    31042, 31043, 31044, 31045, 31046, 31047, 31048, 35477, 35479
                                                                    , 35485, 35488, 35489
__u_short                       1445    2       word                Typedef: unsigned short 
                                                                    Ref: 1479, 1480, 1547, 1548, 30965, 30967, 30968, 30969, 
                                                                    30970, 30971, 30972, 30973, 30974, 30975, 30976, 30977, 30979
                                                                    , 30980, 30981, 30982, 31049, 31050, 31051, 31052, 31053, 
                                                                    31054, 31055, 31056, 31057, 31058, 31059, 31060, 31061, 31062
                                                                    , 31063, 31064, 31065, 31066, 31067, 31068, 31069, 31070, 
                                                                    31071
__uid_t                         1383    4       long                Typedef: unsigned int 
                                                                    Ref: 3094, 18366, 19338, 19795, 20057, 20058, 20096, 20096, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2088
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    20712, 20713, 20816, 20819, 20823, 20823
__va_list                       1517    4       long                Typedef: short pointer to char 
                                                                    Ref: 2175, 2176, 2177, 2300, 2301, 2302, 2307, 22074, 99404, 
                                                                    99406
__void_ptr32                    1461    4       long                Typedef: short pointer to void 
                                                                    Ref: 17922, 17923, 18339, 18340, 18387, 18388, 18963, 22286, 
                                                                    22338
_ftpsnd                         88713   48      long                Tag: struct _ftpsnd
                                                                    Ref: 88713
 oldintr                        88714   4       long                Member: (Offset=0) short pointer to function 
                                                                    Ref: 99531., 99599., 99600., 99611., 99612()*., 99651., 99703
                                                                    ., 99704()*., 99845., 100002., 100060=., 100124=.
 oldintp                        88714   4       long                Member: (Offset=4) short pointer to function 
                                                                    Ref: 99533., 99534., 99602., 99603., 99653., 99654., 99847., 
                                                                    99848., 99881=., 100004., 100005., 100061=.
 reply                          88715   4       long                Member: (Offset=8) signed int 
                                                                    Ref: 99576=., 99577., 99694=., 100001=., 100007., 100007., 
                                                                    100008.
 incs                           88716   4       long                Member: (Offset=12) signed int 
                                                                    Ref: 99576., 99694., 99748., 99821., 99839., 99950., 99952., 
                                                                    100001., 100119=.
 outcs                          88717   4       long                Member: (Offset=16) signed int 
                                                                    Ref: 99576., 99694., 99748., 99821., 99839., 99950., 99953., 
                                                                    100001., 100120=.
 cmd                            88718   4       long                Member: (Offset=20) short pointer to char 
                                                                    Ref: 99739., 99811=., 99821., 99822., 99839., 100121=.
 local                          88718   4       long                Member: (Offset=24) short pointer to char 
                                                                    Ref: 99765., 99784., 99786., 99939., 100122=.
 remote                         88718   4       long                Member: (Offset=28) short pointer to char 
                                                                    Ref: 99748., 99764., 99765., 99819=., 99821., 100123=.
 bytes                          88719   4       long                Member: (Offset=32) signed int 
                                                                    Ref: 92508=., 99641., 99943=., 99970=., 100015., 100022., 
                                                                    100048=.
 restart                        88720   4       long                Member: (Offset=36) signed int 
                                                                    Ref: 99743., 100062=.
 xlate                          88721   4       long                Member: (Offset=40) signed int 
                                                                    Ref: 99949., 100063=.
 lmode                          88722   4       long                Member: (Offset=44) short pointer to char 
                                                                    Ref: 99863., 100064=.
_iobuf                          1599    20      long                Tag: struct _iobuf
                                                                    Ref: 1455
 _cnt                           1601    4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 _ptr                           1602    4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 _base                          1603    4       long                Member: (Offset=8) short pointer to char 
                                                                    -No References 
 _flag                          1604    1       byte                Member: (Offset=12) unsigned char 
                                                                    -No References 
 _padfile                       1608    1       byte                Member: (Offset=13) unsigned char 
                                                                    -No References 
 _pad1                          1609    1       byte                Member: (Offset=14) unsigned char 
                                                                    -No References 
 _pad2                          1610    1       byte                Member: (Offset=15) unsigned char 
                                                                    -No References 
 _file                          1611    4       long                Member: (Offset=16) signed int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2089
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_ns_flagdata                    35150   8       byte                Tag: struct _ns_flagdata
                                                                    Ref: 35151
 mask                           35150   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 shift                          35150   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
_ns_flagdata                    35151   0       byte    Extern      array of struct _ns_flagdata(Incomplete Type) 
                                                                    -No References 
_optarg64                       1681    8       quad    Extern      long pointer to char 
                                                                    -No References 
_res                            35815   510     byte    Extern      struct __res_state
                                                                    -No References 
_telopt_comport                 40060   3       byte                Tag: struct _telopt_comport
                                                                    Ref: 40060
 need_to_send                   40061   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 wait_for_sb                    40062   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 wait_for_ms                    40063   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
_telopt_kermit                  39995   5       byte                Tag: struct _telopt_kermit
                                                                    Ref: 39995
 me_start                       39996   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 me_req_start                   39997   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 me_req_stop                    39998   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
 u_start                        39999   1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
 sop                            40000   1       byte                Member: (Offset=4) unsigned char 
                                                                    -No References 
_telopt_naws                    40010   12      long                Tag: struct _telopt_naws
                                                                    Ref: 40010
 need_to_send                   40011   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 x                              40012   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 y                              40013   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
_telopt_new_env                 40028   12      long                Tag: struct _telopt_new_env
                                                                    Ref: 40028
 need_to_send                   40029   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 str                            40030   4       long                Member: (Offset=4) short pointer to unsigned char 
                                                                    -No References 
 len                            40031   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
_telopt_sndloc                  40040   1       byte                Tag: struct _telopt_sndloc
                                                                    Ref: 40040
 need_to_send                   40041   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
_telopt_start_tls               40017   3       byte                Tag: struct _telopt_start_tls
                                                                    Ref: 40017
 u_follows                      40018   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 me_follows                     40019   1       byte                Member: (Offset=1) unsigned char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2090
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 auth_request                   40020   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
_telopt_state                   39979   60      long                Tag: struct _telopt_state
                                                                    Ref: 40069
 def_server_me_mode             39980   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 def_server_u_mode              39981   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 def_client_me_mode             39982   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
 def_client_u_mode              39983   1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
 me_mode                        39984   1       byte                Member: (Offset=4) unsigned char 
                                                                    -No References 
 u_mode                         39985   1       byte                Member: (Offset=5) unsigned char 
                                                                    -No References 
 me                             39986   1       byte                Member: (Offset=6) unsigned char 
                                                                    -No References 
 u                              39987   1       byte                Member: (Offset=7) unsigned char 
                                                                    -No References 
 unanswered_will                39988   1       byte                Member: (Offset=8) unsigned char 
                                                                    -No References 
 unanswered_do                  39989   1       byte                Member: (Offset=9) unsigned char 
                                                                    -No References 
 unanswered_wont                39990   1       byte                Member: (Offset=10) unsigned char 
                                                                    -No References 
 unanswered_dont                39991   1       byte                Member: (Offset=11) unsigned char 
                                                                    -No References 
 unanswered_sb                  39992   1       byte                Member: (Offset=12) unsigned char 
                                                                    -No References 
 sb                             40067   44      long                Member: (Offset=16) union 
                                                                    -No References 
  kermit                        40001   5       byte                Member: (Offset=0) struct _telopt_kermit
                                                                    -No References 
   me_start                     39996   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   me_req_start                 39997   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   me_req_stop                  39998   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
   u_start                      39999   1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
   sop                          40000   1       byte                Member: (Offset=4) unsigned char 
                                                                    -No References 
  naws                          40014   12      long                Member: (Offset=0) struct _telopt_naws
                                                                    -No References 
   need_to_send                 40011   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   x                            40012   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
   y                            40013   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
  start_tls                     40021   3       byte                Member: (Offset=0) struct _telopt_start_tls
                                                                    -No References 
   u_follows                    40018   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2091
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   me_follows                   40019   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   auth_request                 40020   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
  term                          40026   42      byte                Member: (Offset=0) struct _telopt_term
                                                                    -No References 
   need_to_send                 40024   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   type                         40025   41      byte                Member: (Offset=1) array of unsigned char 
                                                                    -No References 
  env                           40032   12      long                Member: (Offset=0) struct _telopt_new_env
                                                                    -No References 
   need_to_send                 40029   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   str                          40030   4       long                Member: (Offset=4) short pointer to unsigned char 
                                                                    -No References 
   len                          40031   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
  xdisp                         40036   1       byte                Member: (Offset=0) struct _telopt_xdisp
                                                                    -No References 
   need_to_send                 40035   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  sndloc                        40042   1       byte                Member: (Offset=0) struct _telopt_sndloc
                                                                    -No References 
   need_to_send                 40041   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  comport                       40064   3       byte                Member: (Offset=0) struct _telopt_comport
                                                                    -No References 
   need_to_send                 40061   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   wait_for_sb                  40062   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   wait_for_ms                  40063   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
_telopt_term                    40023   42      byte                Tag: struct _telopt_term
                                                                    Ref: 40023
 need_to_send                   40024   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 type                           40025   41      byte                Member: (Offset=1) array of unsigned char 
                                                                    -No References 
_telopt_xdisp                   40034   1       byte                Tag: struct _telopt_xdisp
                                                                    Ref: 40034
 need_to_send                   40035   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
a_dim                           88535   0       long    Extern      array of signed int (Incomplete Type) 
                                                                    Ref: 93728[], 93730[], 93732[]
a_ptr                           88534   0       long    Extern      array of short pointer to short pointer to char 
                                                                    (Incomplete Type) 
                                                                    Ref: 93015[]
accept                          30795   4       long    Extern      Function returning signed int 
                                                                    Ref: 101490()
actualbuf                       88787   4       long    Static Def  unsigned int 
                                                                    Ref: 88787=, 98073=, 98074, 98074, 98075=, 98078, 102300=, 
                                                                    102301, 102302, 102303=, 102307, 102315, 102339, 102348, 
                                                                    102349, 102351, 104053, 104521
addlist                         88545   4       long    Extern      signed int 
                                                                    Ref: 93633=, 93643=

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2092
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

adl_ask                         100463  4       long    Extern      signed int 
                                                                    Ref: 100524
agnbyte                         24990   4       long    Extern      Function returning signed int 
                                                                    Ref: 99893(), 99958()
alike                           88749   4       long    Static Def  signed int 
                                                                    Ref: 88749=, 92128, 92848, 94091, 94473, 94486, 97979=, 99743
                                                                    , 103026=, 103044
anonymous                       88758   4       long    Static Def  signed int 
                                                                    Ref: 88758=, 90693=, 90766=, 90774=, 90778, 90798=, 97694, 
                                                                    97754, 97856=, 97932=, 103104=, 103106=, 103115, 103194, 
                                                                    103237
arraybounds                     28276   4       long    Extern      Function returning signed int 
                                                                    Ref: 93011()
askmore                         16215   4       long    Extern      Function returning signed int 
                                                                    Ref: 96608(), 96611(), 96614(), 96628(), 96638(), 96648(), 
                                                                    96657(), 96660(), 96679(), 96681(), 96683(), 96685(), 96687()
                                                                    , 96689(), 96691()
asn1_object_st                  44426   0       unknown             Tag: struct asn1_object_st(Incomplete Type) 
                                                                    Ref: 44426
asn1_string_st                  66591   16      long                Tag: struct asn1_string_st
                                                                    Ref: 44405, 44406, 44407, 44408, 44409, 44410, 44411, 44412, 
                                                                    44413, 44414, 44415, 44416, 44417, 44418, 44419, 44420
 length                         66592   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 type                           66593   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 data                           66594   4       long                Member: (Offset=8) short pointer to unsigned char 
                                                                    -No References 
 flags                          66600   4       long                Member: (Offset=12) signed long 
                                                                    -No References 
asn1_string_table_st            66631   20      long                Tag: struct asn1_string_table_st
                                                                    Ref: 44427
 nid                            66632   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 minsize                        66633   4       long                Member: (Offset=4) signed long 
                                                                    -No References 
 maxsize                        66634   4       long                Member: (Offset=8) signed long 
                                                                    -No References 
 mask                           66635   4       long                Member: (Offset=12) unsigned long 
                                                                    -No References 
 flags                          66636   4       long                Member: (Offset=16) unsigned long 
                                                                    -No References 
asn1_type_st                    66928   8       long                Tag: struct asn1_type_st
                                                                    Ref: 44425
 type                           66929   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 value                          66956   4       long                Member: (Offset=4) union 
                                                                    -No References 
  ptr                           66931   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
  boolean                       66932   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  asn1_string                   66933   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  object                        66934   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
  integer                       66935   4       long                Member: (Offset=0) short pointer to struct asn1_string_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2093
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  enumerated                    66936   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  bit_string                    66937   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  octet_string                  66938   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  printablestring               66939   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  t61string                     66940   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  ia5string                     66941   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  generalstring                 66942   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  bmpstring                     66943   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  universalstring               66944   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  utctime                       66945   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  generalizedtime               66946   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  visiblestring                 66947   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  utf8string                    66948   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  set                           66953   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  sequence                      66954   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  asn1_value                    66955   4       long                Member: (Offset=0) short pointer to struct ASN1_VALUE_st
                                                                    -No References 
asnambuf                        88783   4096    byte    Static Def  array of char 
                                                                    Ref: 88783=, 92865=[], 93274, 93288, 93321, 93608[], 93611, 
                                                                    93613, 93696[], 93699, 93700, 93742[], 93743, 93898, 93900[]
                                                                    , 93904, 94497=[], 94862, 94892, 94921[], 94924, 94926, 95041
                                                                    [], 95044, 95045, 95387[], 95478, 95494[], 95498
atmbuf                          88571   4       long    Extern      short pointer to char 
                                                                    Ref: 94855, 96064, 97358
atoi                            17738   4       long    Extern      Function returning signed int 
                                                                    Ref: 90324(), 98002()
atol                            17739   4       long    Extern      Function returning signed long 
                                                                    Ref: 89853(), 89853(), 89853(), 89859(), 89859(), 89859(), 
                                                                    102348()
auth_type                       88885   4       long    Static Def  short pointer to char 
                                                                    Ref: 88885=, 96680, 97858=, 97945=, 98151, 98151, 98484, 
                                                                    99014, 99022, 99058, 99147, 99167, 101860, 102214=, 102222=, 
                                                                    102253=, 102262=, 102531, 102550, 102550, 102576, 102925=, 
                                                                    103336, 103407, 103407
authmode_names                  40378   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
authtype_names                  40377   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
autolocus                       88512   4       long    Extern      signed int 
                                                                    Ref: 97865, 97952, 103231
backgrd                         88490   4       long    Extern      signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2094
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 90369
binary                          88488   4       long    Extern      signed int 
                                                                    Ref: 90020=, 92204=, 93362, 93363, 93894, 94918, 94919, 95170
                                                                    =, 100095, 100103, 100106, 100107, 100108, 103042
bind                            30796   4       long    Extern      Function returning signed int 
                                                                    Ref: 101285()
bio_err                         88122   4       long    Extern      short pointer to struct bio_st
                                                                    -No References 
bio_st                          44446   0       unknown             Tag: struct bio_st(Incomplete Type) 
                                                                    Ref: 44446
brstrip                         21919   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 90786(), 90800(), 90810(), 90948(), 90967(), 90981(), 
                                                                    90991(), 92992(), 93222(), 93436(), 93463(), 93595(), 93610()
                                                                    , 94626(), 94807(), 94840(), 94872(), 94877(), 94886(), 94891
                                                                    (), 94923(), 95005(), 96043(), 103167(), 103186(), 103214(), 
                                                                    103359()
bytename                        88898   8       byte    Static TDef array of char 
                                                                    Ref: 98017
bytesize                        88897   4       long    Static TDef signed int 
                                                                    Ref: 98018=
bytswap                         88660   0       byte    Static      Function returning void 
                                                                    -No References 
bytswap                         89815   0       byte    Static Def. Function returning void 
                                                                    -No References 
c0                              88780   4       long    Static TDef signed int 
                                                                    Ref: 97733=, 97734, 99124=, 99125, 99952=, 99953, 100697=, 
                                                                    100705, 100747
c1                              88780   4       long    Static TDef signed int 
                                                                    Ref: 100708=, 100716, 100748
cancel_remote                   88661   0       byte    Static      Function returning void 
                                                                    -No References 
cancel_remote                   89644   0       byte    Static      Function returning void 
                                                                    -No References 
cancel_remote                   102360  0       byte    Static Def. Function returning void 
                                                                    Ref: 100368()
cancelfile                      88756   4       long    Static Def  signed int 
                                                                    Ref: 88756=, 91207, 92008, 92009, 92012, 92055, 92307, 92308
                                                                    , 92349, 92562, 92573=, 92713=, 92740, 92779, 93888=, 93922, 
                                                                    93928, 94000, 94147=, 94212, 94229, 94246=, 94364, 94371, 
                                                                    94392, 95203=, 95771, 95781, 95863, 95885, 95896, 97683=, 
                                                                    98429=, 99315, 99380=, 99893, 99951, 99958, 100014, 100145=, 
                                                                    100614, 100698, 100709, 100755
cancelgroup                     88757   4       long    Static Def  signed int 
                                                                    Ref: 88757=, 91204=, 91207, 92008, 92009, 92012, 92307, 92308
                                                                    , 92570=, 92711, 92777, 93872=, 93876, 93923, 93998, 94213, 
                                                                    94245, 94365, 94387, 94390, 95167=, 95196, 95772, 95884, 
                                                                    95894, 95947, 98430=, 99379=, 100146=
cancelrecv                      88699   0       byte    Static      Function returning void 
                                                                    -No References 
cancelrecv                      100139  0       byte    Static Def. Function returning void 
                                                                    Ref: 101020
cancelsend                      88700   0       byte    Static      Function returning void 
                                                                    -No References 
cancelsend                      99373   0       byte    Static Def. Function returning void 
                                                                    Ref: 100124
cc_execute                      22580   4       long    Extern      Function returning signed int 
                                                                    Ref: 100127(), 100131(), 101021(), 101034()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2095
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

cdlevel                         91299   4       long    Static Def  signed int 
                                                                    Ref: 91299=, 91409=, 91472=, 93874=, 93989, 93990=
cdsimlvl                        91299   4       long    Static Def  signed int 
                                                                    Ref: 91299=, 91401, 91402=, 91442=, 93875=, 93991, 93992=
changetype                      88662   0       byte    Static      Function returning void 
                                                                    -No References 
changetype                      89645   0       byte    Static      Function returning void 
                                                                    -No References 
changetype                      99420   0       byte    Static Def. Function returning void 
                                                                    Ref: 91014(), 94300(), 95169(), 95565(), 96448(), 99745(), 
                                                                    99770(), 100058(), 100308(), 103045()
check_data_connection           88669   4       long    Static      Function returning signed int 
                                                                    -No References 
check_data_connection           92592   4       long    Static Def. Function returning signed int 
                                                                    Ref: 92654(), 104039(), 104302(), 104513()
chkmodtime                      88670   4       long    Static      Function returning signed int 
                                                                    -No References 
chkmodtime                      91742   4       long    Static Def. Function returning signed int 
                                                                    Ref: 92044(), 92240(), 95521(), 99765()
ciphertab                       89724   216     long    Static Def  array of struct keytab
                                                                    Ref: 89724=, 89744
ck_copyhostent                  40894   4       long    Extern      Function returning short pointer to struct hostent
                                                                    Ref: 102739()
ck_errstr                       24988   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 92018(), 95192(), 99786(), 99939(), 100297(), 100560(), 
                                                                    100667(), 104365(), 104384()
ck_repaint                      92558   4       long    Extern      Function returning signed int 
                                                                    Ref: 92579()
ck_sigfunc                      22414   4       long                Typedef: short pointer to function 
                                                                    Ref: 22580, 22580, 22581, 22581, 22586, 22586
ck_ssleay_is_installed          42061   4       long    Extern      Function returning signed int 
                                                                    Ref: 102200(), 102242()
ckatofs                         21906   8       quad    Extern      Function returning signed int64 
                                                                    Ref: 94154(), 94305(), 95570(), 95646(), 98827()
ckdate                          28393   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 89848(), 89889()
ckfstoa                         21905   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 99760(), 99773(), 100486()
ckftpv                          5       4       long    Extern Def  short pointer to char 
                                                                    Ref: 5=
ckgetpid                        28415   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 89889()
ckindex                         21898   4       long    Extern      Function returning signed int 
                                                                    Ref: 90198()
ckitoa                          21901   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 89839(), 89891(), 92009(), 92012(), 92308(), 92317(), 
                                                                    96228(), 98670(), 100653(), 101302(), 101302(), 101302(), 
                                                                    101302(), 101303(), 101303(), 104523()
ckltoa                          21903   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 99937()
ckmakmsg                        21888   4       long    Extern      Function returning signed int 
                                                                    Ref: 90112(), 91340(), 91352(), 91437(), 91459(), 91803(), 
                                                                    96188(), 97701(), 98373(), 98460(), 98570(), 98580(), 101358
                                                                    (), 102335(), 103122(), 103159(), 103573()
ckmakxmsg                       21889   4       long    Extern      Function returning signed int 
                                                                    Ref: 89888(), 101301(), 103156()
ckmatch                         21910   4       long    Extern      Function returning signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2096
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 95452(), 95463(), 103787(), 103795()
ckscreen                        24386   0       byte    Extern      Function returning void 
                                                                    Ref: 90371(), 90374()
ckstrchr                        21912   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 89919(), 94268(), 95289(), 98799(), 98805(), 98807(), 
                                                                    103011(), 103013(), 103770(), 103772(), 103811(), 104836()
ckstrcmp                        21915   4       long    Extern      Function returning signed int 
                                                                    Ref: 90099(), 90101(), 90748(), 90879(), 91820(), 95995(), 
                                                                    97754(), 97782(), 97988(), 97990(), 103026(), 103028(), 
                                                                    103029(), 103030(), 103031(), 103032(), 103033(), 103034(), 
                                                                    103103(), 103105()
ckstrncat                       21882   4       long    Extern      Function returning signed int 
                                                                    Ref: 89864(), 89865()
ckstrncpy                       21881   4       long    Extern      Function returning signed int 
                                                                    Ref: 89848(), 90008(), 90013(), 90120(), 90129(), 90967(), 
                                                                    90971(), 90981(), 90991(), 91059(), 91072(), 91100(), 91103()
                                                                    , 91131(), 91169(), 91361(), 91482(), 91805(), 91960(), 91964
                                                                    (), 91976(), 92221(), 92230(), 93286(), 93288(), 93319(), 
                                                                    93321(), 93611(), 93671(), 93743(), 93754(), 93756(), 93758()
                                                                    , 93760(), 94156(), 94179(), 94273(), 94276(), 94308(), 94331
                                                                    (), 94887(), 94892(), 94924(), 95178(), 95295(), 95298(), 
                                                                    95476(), 95730(), 95992(), 96042(), 96176(), 96184(), 96239()
                                                                    , 96301(), 96352(), 96385(), 96398(), 96418(), 96478(), 97358
                                                                    (), 97746(), 98010(), 102725(), 102734(), 102757(), 103022()
                                                                    , 103141()
ckstrpbrk                       21893   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 99328()
ckstrrchr                       21913   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 94269(), 95291()
ckstrstr                        21894   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 99326()
ckuitoa                         21902   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 102339()
ckxlogging                      21620   4       long    Extern      signed int 
                                                                    -No References 
ckxsyslog                       21620   4       long    Extern      signed int 
                                                                    -No References 
clock_t                         3134    4       long                Typedef: signed long 
                                                                    Ref: 18371, 18372, 23111, 23112, 23113, 23114, 23159, 23420
close                           19753   4       long    Extern      Function returning signed int 
                                                                    -No References 
close                           20617   4       long    Extern      Function returning signed int 
                                                                    Ref: 97826(), 97845(), 97922(), 99589(), 99674(), 99686(), 
                                                                    99994(), 100237(), 100387(), 100419(), 100860(), 101257(), 
                                                                    101324(), 101363(), 101387(), 101410(), 101432(), 101494(), 
                                                                    101506(), 102224(), 102264(), 102805(), 102948(), 102979(), 
                                                                    104135(), 104347()
cmarg                           88582   4       long    Extern      short pointer to char 
                                                                    Ref: 92013, 93273=, 93654=, 93676=, 93679, 93744=, 94861=, 
                                                                    95025[], 95029[]
cmarg2                          88582   4       long    Extern      short pointer to char 
                                                                    Ref: 93274=, 94862=
cmcfm                           25400   4       long    Extern      Function returning signed int 
                                                                    Ref: 90410(), 90418(), 90440(), 90467(), 90479(), 90496(), 
                                                                    90514(), 90554(), 90560(), 90593(), 90643(), 91104(), 91116()
                                                                    , 91229(), 94883(), 94893(), 96036(), 96167(), 96196(), 96217
                                                                    (), 96407(), 96419(), 96443(), 96459(), 96488(), 97260(), 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2097
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    97359()
cmcvtdate                       25418   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 91804()
cmd_quoting                     88530   4       long    Extern      signed int 
                                                                    Ref: 92215, 92414, 92445, 92705=, 94086=, 95494, 95839
cmd_rows                        88490   4       long    Extern      signed int 
                                                                    Ref: 96608, 96611, 96614, 96628, 96638, 96648, 96657, 96660, 
                                                                    96679, 96681, 96683, 96685, 96687, 96689, 96691, 96697
cmdate                          25393   4       long    Extern      Function returning signed int 
                                                                    Ref: 92971()
cmdbuf                          88572   4       long    Extern      short pointer to char 
                                                                    -No References 
cmdcancel                       88701   0       byte    Static      Function returning void 
                                                                    -No References 
cmdcancel                       89647   0       byte    Static      Function returning void 
                                                                    -No References 
cmdcancel                       98417   0       byte    Static Def. Function returning void 
                                                                    Ref: 97718, 98902, 99318
cmdlinget                       28517   4       long    Extern      Function returning signed int 
                                                                    -No References 
cmdlinget                       94046   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
cmdlinput                       28518   4       long    Extern      Function returning signed int 
                                                                    -No References 
cmdlinput                       92679   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
cmfdb                           25395   4       long    Extern      Function returning signed int 
                                                                    Ref: 90741(), 92943(), 93536(), 94594(), 96143(), 96333()
cmfdbi                          25396   0       byte    Extern      Function returning void 
                                                                    Ref: 90706(), 90717(), 90728(), 90827(), 92890(), 92901(), 
                                                                    92912(), 92925(), 93501(), 93512(), 93523(), 94559(), 94570()
                                                                    , 94581(), 96121(), 96132(), 96309(), 96320()
cmfld                           25387   4       long    Extern      Function returning signed int 
                                                                    Ref: 90505(), 90780(), 90791(), 90804(), 90965(), 90968(), 
                                                                    91098(), 91101(), 92985(), 93001(), 93102(), 93211(), 94619()
                                                                    , 94694(), 94797(), 94838(), 94874(), 94888(), 96182(), 96415
                                                                    (), 96475()
cmgbrk                          25373   4       long    Extern      Function returning signed int 
                                                                    Ref: 90753(), 92950(), 94600()
cmgkwflgs                       25374   4       long    Extern      Function returning signed int 
                                                                    Ref: 92957(), 94610()
cmifi                           25381   4       long    Extern      Function returning signed int 
                                                                    Ref: 93172(), 94762()
cmkey                           25389   4       long    Extern      Function returning signed int 
                                                                    Ref: 90403(), 90408(), 90416(), 90438(), 90465(), 90477(), 
                                                                    90531(), 90553(), 90559(), 90568(), 93095(), 93118(), 93155()
                                                                    , 93235(), 93243(), 94679(), 94687(), 94745(), 94814(), 96030
                                                                    (), 96441(), 96486(), 97257(), 97354()
cmlist                          88582   4       long    Extern      short pointer to short pointer to char 
                                                                    Ref: 90038=, 90139=, 93648=, 94125[], 94128=[], 94141[], 
                                                                    94148[], 94247[], 94253[], 94269[], 94272[], 94273[]
cmnum                           25378   4       long    Extern      Function returning signed int 
                                                                    Ref: 90494(), 93228(), 96215()
cmnumw                          25379   4       long    Extern      Function returning signed int 
                                                                    Ref: 93165(), 94755()
cmofi                           25380   4       long    Extern      Function returning signed int 
                                                                    Ref: 94831()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2098
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

cmresult                        25347   32      quad    Extern      struct OFDB
                                                                    Ref: 90745., 90747., 90748., 90749., 90752., 90756., 90760., 
                                                                    90764., 92945., 92948., 92952., 92962., 93279., 93286., 93290
                                                                    ., 93312., 93314., 93319., 93327., 93486., 93493., 93538., 
                                                                    93541., 93552., 93555., 94598., 94602., 94607., 94869., 94872
                                                                    ., 94886., 94900., 96150., 96151., 96153., 96340., 96341., 
                                                                    96343.
cmtxt                           25388   4       long    Extern      Function returning signed int 
                                                                    Ref: 90524(), 90945(), 90983(), 91056(), 91069(), 91128(), 
                                                                    91159(), 93587(), 95989(), 96040(), 96157(), 96173(), 96185()
                                                                    , 96236(), 96382(), 96395(), 96434(), 96452(), 96479()
conchk                          16191   4       long    Extern      Function returning signed int 
                                                                    Ref: 92564()
coninc                          16192   4       long    Extern      Function returning signed int 
                                                                    Ref: 92566(), 92584()
connect                         30797   4       long    Extern      Function returning signed int 
                                                                    Ref: 101230(), 102788()
connected                       88890   4       long    Static Def  signed int 
                                                                    Ref: 88890=, 90349, 90354, 90661, 90906, 90947, 90986, 91012
                                                                    , 91058, 91071, 91106, 91118, 91130, 91171, 91231, 92042, 
                                                                    93607, 95034, 95991, 96159, 96168, 96175, 96187, 96198, 96219
                                                                    , 96238, 96384, 96397, 96408, 96420, 96436, 96444, 96454, 
                                                                    96461, 96477, 96547, 96552, 97773=, 97814, 97855=, 97899, 
                                                                    97905, 97931=, 97971, 98011=, 98047, 98054, 102341, 103405
cpend                           97635   4       long    Static Def  signed int 
                                                                    Ref: 97635=, 97770=, 99308=, 99575, 99656, 100224, 100359
cps                             88493   4       long    Extern      signed long 
                                                                    Ref: 99874=, 100599=
crl_store                       88153   4       long    Extern      short pointer to struct x509_store_st
                                                                    Ref: 98272=, 98273, 98327, 98337, 98347
csinfo                          41338   24      long                Tag: struct csinfo
                                                                    Ref: 88517
 name                           41339   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 size                           41340   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 code                           41341   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
 designator                     41342   4       long                Member: (Offset=12) short pointer to char 
                                                                    -No References 
 alphabet                       41343   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 keyword                        41344   4       long                Member: (Offset=20) short pointer to char 
                                                                    Ref: 92197., 92270., 92271., 92272., 96610., 96613.
csocket                         88889   4       long    Static Def  signed int 
                                                                    Ref: 88889=, 97712, 97815, 97826, 97833=, 97911, 97922, 97930
                                                                    =, 98355, 98577, 98581, 98622, 98945, 98983, 102224, 102231=
                                                                    , 102264, 102271=, 102427, 102431, 102438, 102438, 102911=, 
                                                                    102927=, 102948, 102986=, 103261, 103261
ctlog_st                        44568   0       unknown             Tag: struct ctlog_st(Incomplete Type) 
                                                                    Ref: 44568
curtype                         88897   4       long    Static Def  signed int 
                                                                    Ref: 88897=, 98013=, 99428, 99446=, 99743, 99883, 99884, 
                                                                    100403, 100605, 100607, 100833
data                            97624   4       long    Static Def  signed int 
                                                                    Ref: 97624=, 97835, 97845, 97852=, 97939=, 99579, 99589, 
                                                                    99596=, 99664, 99674, 99681=, 100227, 100237, 100244=, 100377

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2099
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 100387, 100394=, 101054=, 101055, 101056, 101230, 101255, 
                                                                    101257, 101265=, 101266, 101267, 101274, 101285, 101290, 
                                                                    101294, 101324, 101331=, 101332, 101347, 101363, 101370=, 
                                                                    101371, 101387, 101394=, 101395, 101410, 101417=, 101418, 
                                                                    101432, 101439=, 101440, 101455, 101486, 101490, 101494, 
                                                                    101501=, 101502, 101506, 101513=, 101514, 101529, 104135, 
                                                                    104142=, 104143, 104347, 104354=, 104355
data_addr                       97623   16      byte    Static TDef struct sockaddr_in
                                                                    Ref: 101226=., 101227=., 101228=., 101231&, 101232, 101246&, 
                                                                    101252&, 101254=., 101285&, 101285, 101289, 101290&, 101299.
                                                                    , 101300.
databuf                         35264   0       unknown             Tag: struct databuf(Incomplete Type) 
                                                                    Ref: 35264, 35265
dataconn                        88671   4       long    Static      Function returning signed int 
                                                                    -No References 
dataconn                        89633   4       long    Static      Function returning signed int 
                                                                    -No References 
dataconn                        101461  4       long    Static Def. Function returning signed int 
                                                                    Ref: 99863(), 100512()
daylight                        23076   4       long    Extern      signed int 
                                                                    -No References 
dbtime                          88663   0       byte    Static      Function returning void 
                                                                    -No References 
dbtime                          91491   0       byte    Static Def. Function returning void 
                                                                    Ref: 91777(), 91842()
dcset7                          88516   4       long    Extern      signed int 
                                                                    Ref: 92174
dcset8                          88516   4       long    Extern      signed int 
                                                                    Ref: 92177
deblog                          12504   4       long    Extern      signed int 
                                                                    Ref: 89839, 89840, 89868, 89873, 89875, 89877, 89892, 89973, 
                                                                    89977=, 90304, 90308=, 90696, 90868, 90873, 90883, 90887, 
                                                                    90896, 90905, 90906, 90913, 91015, 91035, 91194, 91213, 91259
                                                                    , 91273, 91314, 91315, 91331, 91358, 91362, 91367, 91368, 
                                                                    91384, 91385, 91395, 91398, 91421, 91431, 91445, 91455, 91464
                                                                    , 91469, 91496, 91497, 91498, 91499, 91500, 91501, 91502, 
                                                                    91594, 91595, 91596, 91612, 91672, 91688, 91716, 91722, 91757
                                                                    , 91799, 91802, 91814, 91823, 91837, 91841, 91850, 91874, 
                                                                    91886, 91914, 91915, 91916, 91944, 91973, 91974, 91979, 91992
                                                                    , 91993, 92007, 92009, 92012, 92045, 92111, 92112, 92113, 
                                                                    92114, 92144, 92147, 92195, 92197, 92224, 92241, 92270, 92305
                                                                    , 92308, 92311, 92314, 92317, 92319, 92321, 92323, 92324, 
                                                                    92326, 92443, 92452, 92456, 92627, 92645, 92646, 92647, 92944
                                                                    , 92945, 92963, 92983, 92993, 93157, 93291, 93331, 93332, 
                                                                    93453, 93479, 93490, 93493, 93537, 93538, 93545, 93552, 93565
                                                                    , 93579, 93601, 93613, 93618, 93624, 93674, 93715, 93843, 
                                                                    93844, 93893, 93894, 93906, 93921, 93922, 93923, 94088, 94157
                                                                    , 94174, 94177, 94181, 94193, 94211, 94212, 94213, 94256, 
                                                                    94278, 94283, 94285, 94309, 94326, 94329, 94333, 94345, 94363
                                                                    , 94364, 94365, 94595, 94608, 94617, 94747, 94926, 95023, 
                                                                    95139, 95146, 95152, 95186, 95211, 95214, 95220, 95230, 95242
                                                                    , 95248, 95266, 95282, 95300, 95316, 95319, 95342, 95352, 
                                                                    95406, 95407, 95411, 95421, 95453, 95483, 95484, 95500, 95509
                                                                    , 95512, 95523, 95525, 95527, 95535, 95581, 95686, 95689, 
                                                                    95696, 95700, 95711, 95712, 95725, 95728, 95732, 95757, 95758
                                                                    , 95759, 95760, 95761, 95768, 95769, 95770, 95771, 95772, 
                                                                    95773, 95774, 95796, 95798, 95804, 95818, 95824, 95826, 95837

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2100
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 95846, 95850, 95868, 95882, 95883, 95884, 95885, 95886, 
                                                                    95887, 95901, 97704, 97705, 97706, 97707, 97708, 97753, 97756
                                                                    , 97758, 97813, 98079, 98252, 98262, 98328, 98338, 98390, 
                                                                    98395, 98400, 98404, 98426, 98437, 98440, 98663, 98670, 98758
                                                                    , 98802, 98809, 98813, 98824, 98828, 98832, 98843, 98875, 
                                                                    98876, 98883, 98995, 99008, 99088, 99135, 99140, 99335, 99351
                                                                    , 99357, 99383, 99577, 99610, 99614, 99641, 99702, 99706, 
                                                                    99757, 99760, 99764, 99766, 99773, 99784, 99822, 99823, 99850
                                                                    , 99862, 99864, 99883, 99937, 100008, 100015, 100022, 100045
                                                                    , 100095, 100096, 100103, 100104, 100107, 100109, 100149, 
                                                                    100256, 100260, 100350, 100399, 100414, 100432, 100440, 
                                                                    100487, 100497, 100500, 100501, 100548, 100556, 100569, 
                                                                    100570, 100579, 100593, 100596, 100605, 100606, 100646, 
                                                                    100653, 100676, 100685, 100689, 100692, 100828, 100844, 
                                                                    100901, 100902, 100903, 100904, 100905, 100906, 100907, 
                                                                    100908, 100936, 100963, 100966, 100972, 100975, 100996, 
                                                                    101025, 101026, 101238, 101383, 101407, 101429, 101445, 
                                                                    102308, 102353, 102379, 102395, 102397, 102429, 102432, 
                                                                    102435, 102443, 102454, 102470, 102511, 102514, 102516, 
                                                                    102518, 102695, 102732, 102736, 102759, 102762, 102782, 
                                                                    102789, 102825, 102830, 102835, 102922, 102924, 102946, 
                                                                    102962, 102966, 102977, 103067, 103068, 103071, 103101, 
                                                                    103125, 103497, 103498, 103499, 103524, 103568, 103598, 
                                                                    103607, 103608, 103609, 103655, 103657, 103698, 103704, 
                                                                    103747, 103766, 103774, 103853, 103854, 103855, 103856, 
                                                                    103857, 104060, 104061, 104062, 104063, 104064, 104313, 
                                                                    104315, 104370, 104371, 104514, 104523, 104524, 104528, 
                                                                    104529, 104558, 104565, 104568, 104571, 104577
debok                           12505   4       long    Extern      signed int 
                                                                    Ref: 89978=, 90779=, 90963=
debopn                          28338   4       long    Extern      Function returning signed int 
                                                                    Ref: 89977(), 90308()
debtim                          89974   4       long    Extern      signed int 
                                                                    Ref: 89975=, 90306=, 102376, 102377=, 102520=, 102691, 102692
                                                                    =, 102745=, 102767=, 102814=, 102972=, 102984=
debxlen                         12506   4       long    Extern      signed int 
                                                                    -No References 
decc$$ga___ctypet               2720    4       long    Extern      short pointer to const unsigned int 
                                                                    Ref: 90859[], 97984[], 99036[], 99064[], 99068[], 99752[]
decc$$gl___ctypea               2722    4       long    Extern      signed int 
                                                                    Ref: 90859, 97984, 99036, 99064, 99068, 99752
decc$$gl___isclocale            2723    4       long    Extern      signed int 
                                                                    -No References 
decc$$gl___mb_cur_max           17667   4       long    Extern      signed int 
                                                                    -No References 
decc$ga_environ                 19912   4       long    Extern      short pointer to short pointer to char 
                                                                    -No References 
decc$ga_rms_fab                 5594    4       long    Extern      short pointer to struct fabdef
                                                                    -No References 
decc$ga_rms_nam                 3948    4       long    Extern      short pointer to struct namdef
                                                                    -No References 
decc$ga_rms_naml                4769    4       long    Extern      short pointer to struct namldef
                                                                    -No References 
decc$ga_rms_rab                 6198    4       long    Extern      short pointer to struct rabdef
                                                                    -No References 
decc$ga_rms_rab64               7015    4       long    Extern      short pointer to struct rab64def
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2101
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

decc$ga_rms_xaball              7240    4       long    Extern      short pointer to struct xaballdef
                                                                    -No References 
decc$ga_rms_xabdat              7799    4       long    Extern      short pointer to struct xabdatdef
                                                                    -No References 
decc$ga_rms_xabfhc              8180    4       long    Extern      short pointer to struct xabfhcdef
                                                                    -No References 
decc$ga_rms_xabkey              9407    4       long    Extern      short pointer to struct xabkeydef
                                                                    -No References 
decc$ga_rms_xabpro              9706    4       long    Extern      short pointer to struct xabprodef1
                                                                    -No References 
decc$ga_rms_xabrdt              9818    4       long    Extern      short pointer to struct xabrdtdef
                                                                    -No References 
decc$ga_rms_xabsum              10075   4       long    Extern      short pointer to struct xabsumdef
                                                                    -No References 
decc$ga_rms_xabtrm              10198   4       long    Extern      short pointer to struct xabtrmdef
                                                                    -No References 
decc$ga_stderr                  1657    4       long    Extern      short pointer to short pointer to struct _iobuf
                                                                    Ref: 98096, 98097, 98368, 98369, 98375, 98376, 98408, 98409, 
                                                                    98564, 98569, 99405, 99410, 99786, 99939, 100296, 100560, 
                                                                    100666, 100669, 101353, 101354, 101360, 101361, 101452, 
                                                                    101453, 102221, 102237, 102261, 102277, 102742, 102794, 
                                                                    103219
decc$ga_stdin                   1658    4       long    Extern      short pointer to short pointer to struct _iobuf
                                                                    -No References 
decc$ga_stdout                  1659    4       long    Extern      short pointer to short pointer to struct _iobuf
                                                                    Ref: 94519, 95188, 95906, 96115, 98427, 99004, 99299, 99384, 
                                                                    100150, 100152, 102802
decext_mib                      32515   68      byte                Tag: struct decext_mib
                                                                    Ref: 32635
 esmt_station_type              32517   4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
 emac_link_state                32520   4       long                Member: (Offset=4) unsigned int 
                                                                    -No References 
 emac_ring_purger_state         32521   4       long                Member: (Offset=8) unsigned int 
                                                                    -No References 
 emac_ring_purger_enable        32522   4       long                Member: (Offset=12) unsigned int 
                                                                    -No References 
 emac_frame_strip_mode          32523   4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
 emac_ring_error_reason         32524   4       long                Member: (Offset=20) unsigned int 
                                                                    -No References 
 emac_up_nbr_dup_addr_flag      32525   4       long                Member: (Offset=24) unsigned int 
                                                                    -No References 
 emac_restricted_token_timeout  32526   4       long                Member: (Offset=28) unsigned int 
                                                                    -No References 
 eport_pmd_type                 32529   8       long                Member: (Offset=32) array of unsigned int 
                                                                    -No References 
 eport_phy_state                32530   8       long                Member: (Offset=40) array of unsigned int 
                                                                    -No References 
 eport_reject_reason            32531   8       long                Member: (Offset=48) array of unsigned int 
                                                                    -No References 
 efdx_enable                    32534   4       long                Member: (Offset=56) unsigned int 
                                                                    -No References 
 efdx_op                        32535   4       long                Member: (Offset=60) unsigned int 
                                                                    -No References 
 efdx_state                     32536   4       long                Member: (Offset=64) unsigned int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2102
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

delswi                          89480   120     long    Static Def  array of struct keytab
                                                                    Ref: 89480=, 89499, 94567
delta2sec                       25430   4       long    Extern      Function returning signed int 
                                                                    Ref: 90509()
diafil                          89835   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 89871
dialog                          89834   4       long    Extern      signed int 
                                                                    Ref: 89839, 89868, 89869
diaopn                          28339   4       long    Extern      Function returning signed int 
                                                                    Ref: 89871()
displa                          88509   4       long    Extern      signed int 
                                                                    Ref: 90369, 91966, 92233, 92317, 92693=, 92696=, 93717=, 
                                                                    94065=, 94068=, 95060=, 95653, 95659, 95663, 100112, 101398, 
                                                                    101423
dldir                           88480   4       long    Extern      short pointer to char 
                                                                    Ref: 95175, 95177
dodebug                         15759   4       long    Extern      Function returning signed int 
                                                                    Ref: 89839(), 89840(), 89868(), 89873(), 89875(), 89877(), 
                                                                    89892(), 90696(), 90868(), 90873(), 90883(), 90887(), 90896()
                                                                    , 90905(), 90906(), 90913(), 91015(), 91035(), 91194(), 91213
                                                                    (), 91259(), 91273(), 91314(), 91315(), 91331(), 91358(), 
                                                                    91362(), 91367(), 91368(), 91384(), 91385(), 91395(), 91398()
                                                                    , 91421(), 91431(), 91445(), 91455(), 91464(), 91469(), 91497
                                                                    (), 91498(), 91499(), 91500(), 91501(), 91502(), 91595(), 
                                                                    91596(), 91612(), 91672(), 91688(), 91716(), 91722(), 91757()
                                                                    , 91799(), 91802(), 91814(), 91823(), 91837(), 91841(), 91850
                                                                    (), 91874(), 91886(), 91914(), 91915(), 91916(), 91944(), 
                                                                    91973(), 91974(), 91979(), 91992(), 91993(), 92007(), 92009()
                                                                    , 92012(), 92045(), 92111(), 92112(), 92113(), 92114(), 92144
                                                                    (), 92147(), 92195(), 92197(), 92224(), 92241(), 92270(), 
                                                                    92305(), 92308(), 92311(), 92314(), 92317(), 92319(), 92321()
                                                                    , 92323(), 92324(), 92326(), 92443(), 92452(), 92456(), 92627
                                                                    (), 92645(), 92646(), 92647(), 92944(), 92945(), 92963(), 
                                                                    92983(), 92993(), 93157(), 93291(), 93331(), 93332(), 93453()
                                                                    , 93479(), 93490(), 93493(), 93537(), 93538(), 93545(), 93552
                                                                    (), 93565(), 93579(), 93601(), 93613(), 93618(), 93624(), 
                                                                    93674(), 93715(), 93843(), 93844(), 93893(), 93894(), 93906()
                                                                    , 93921(), 93922(), 93923(), 94088(), 94157(), 94174(), 94177
                                                                    (), 94181(), 94193(), 94211(), 94212(), 94213(), 94256(), 
                                                                    94278(), 94283(), 94285(), 94309(), 94326(), 94329(), 94333()
                                                                    , 94345(), 94363(), 94364(), 94365(), 94595(), 94608(), 94617
                                                                    (), 94747(), 94926(), 95023(), 95139(), 95146(), 95152(), 
                                                                    95186(), 95211(), 95214(), 95220(), 95230(), 95242(), 95248()
                                                                    , 95266(), 95282(), 95300(), 95316(), 95319(), 95342(), 95352
                                                                    (), 95406(), 95407(), 95411(), 95421(), 95453(), 95483(), 
                                                                    95484(), 95500(), 95509(), 95512(), 95525(), 95527(), 95535()
                                                                    , 95581(), 95686(), 95689(), 95696(), 95700(), 95711(), 95712
                                                                    (), 95725(), 95728(), 95732(), 95758(), 95759(), 95760(), 
                                                                    95761(), 95769(), 95770(), 95771(), 95772(), 95773(), 95774()
                                                                    , 95796(), 95798(), 95804(), 95818(), 95824(), 95826(), 95837
                                                                    (), 95846(), 95850(), 95868(), 95883(), 95884(), 95885(), 
                                                                    95886(), 95887(), 95901(), 97705(), 97706(), 97707(), 97708()
                                                                    , 97756(), 97758(), 97813(), 98079(), 98252(), 98262(), 98328
                                                                    (), 98338(), 98390(), 98395(), 98400(), 98404(), 98426(), 
                                                                    98437(), 98440(), 98663(), 98670(), 98758(), 98802(), 98809()
                                                                    , 98813(), 98824(), 98828(), 98832(), 98843(), 98875(), 98876
                                                                    (), 98883(), 98995(), 99008(), 99135(), 99140(), 99335(), 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2103
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    99351(), 99357(), 99383(), 99577(), 99610(), 99614(), 99641()
                                                                    , 99702(), 99706(), 99757(), 99760(), 99764(), 99766(), 99773
                                                                    (), 99784(), 99822(), 99823(), 99850(), 99862(), 99864(), 
                                                                    99883(), 99937(), 100008(), 100015(), 100022(), 100045(), 
                                                                    100095(), 100096(), 100103(), 100104(), 100107(), 100109(), 
                                                                    100149(), 100256(), 100260(), 100350(), 100399(), 100414(), 
                                                                    100432(), 100440(), 100487(), 100497(), 100500(), 100501(), 
                                                                    100548(), 100556(), 100569(), 100570(), 100579(), 100593(), 
                                                                    100596(), 100605(), 100606(), 100646(), 100653(), 100676(), 
                                                                    100685(), 100689(), 100692(), 100828(), 100844(), 100902(), 
                                                                    100903(), 100904(), 100905(), 100906(), 100907(), 100908(), 
                                                                    100936(), 100963(), 100966(), 100972(), 100975(), 100996(), 
                                                                    101025(), 101026(), 101238(), 101383(), 101407(), 101429(), 
                                                                    101445(), 102308(), 102353(), 102379(), 102395(), 102397(), 
                                                                    102429(), 102432(), 102435(), 102443(), 102454(), 102470(), 
                                                                    102511(), 102514(), 102516(), 102518(), 102695(), 102732(), 
                                                                    102736(), 102759(), 102762(), 102782(), 102789(), 102825(), 
                                                                    102830(), 102835(), 102922(), 102924(), 102946(), 102962(), 
                                                                    102966(), 102977(), 103067(), 103071(), 103101(), 103125(), 
                                                                    103497(), 103498(), 103499(), 103524(), 103568(), 103598(), 
                                                                    103607(), 103608(), 103609(), 103655(), 103657(), 103704(), 
                                                                    103766(), 103774(), 103854(), 103855(), 103856(), 103857(), 
                                                                    104061(), 104062(), 104063(), 104064(), 104313(), 104315(), 
                                                                    104370(), 104371(), 104514(), 104523(), 104524(), 104528(), 
                                                                    104558(), 104565(), 104568(), 104571(), 104577()
doexit                          16214   0       byte    Extern      Function returning void 
                                                                    Ref: 89964(), 92804(), 94103(), 94414(), 103221(), 103243()
doftpacct                       28520   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftpacct                       90942   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
doftparg                        28519   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftparg                        89906   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
doftpcdup                       91272   4       long    Static Def. Function returning signed int 
                                                                    Ref: 91335(), 91404(), 93993(), 96037(), 96170(), 103758()
doftpcwd                        88672   4       long    Static      Function returning signed int 
                                                                    -No References 
doftpcwd                        91244   4       long    Static Def. Function returning signed int 
                                                                    Ref: 91334(), 91432(), 91463(), 94125(), 96044(), 96179(), 
                                                                    103242(), 103734(), 103809()
doftpdir                        88673   4       long    Static      Function returning signed int 
                                                                    -No References 
doftpdir                        91140   4       long    Static Def. Function returning signed int 
                                                                    Ref: 96050(), 96206()
doftpget                        28514   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftpget                        94429   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 96048(), 96212()
doftpglobaltype                 90929   0       byte    Extern Def. Function returning void 
                                                                    -No References 
doftphlp                        28422   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftphlp                        97255   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
doftpmkd                        91049   4       long    Static Def. Function returning signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2104
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 96054(), 96233()
doftpput                        28513   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftpput                        92813   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 96362()
doftppwd                        91219   4       long    Static Def. Function returning signed int 
                                                                    Ref: 96046(), 96365()
doftprecv                       100268  0       byte    Static Def. Function returning void 
                                                                    Ref: 101021
doftprecv2                      100447  0       byte    Static Def. Function returning void 
                                                                    Ref: 101034
doftpren                        91095   4       long    Static Def. Function returning signed int 
                                                                    Ref: 96056(), 96370()
doftpres                        91114   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 96060(), 96373()
doftprmd                        91066   4       long    Static Def. Function returning signed int 
                                                                    Ref: 96058(), 96379()
doftprmt                        28515   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftprmt                        96017   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
doftpsend                       99453   0       byte    Static Def. Function returning void 
                                                                    Ref: 100127
doftpsend2                      99713   0       byte    Static Def. Function returning void 
                                                                    Ref: 100131
doftpsite                       28521   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftpsite                       95975   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 96391()
doftptyp                        91007   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 100108()
doftpusr                        28512   4       long    Extern      Function returning signed int 
                                                                    -No References 
doftpusr                        90956   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 96431()
doftpxhlp                       91125   4       long    Static Def. Function returning signed int 
                                                                    Ref: 96052(), 96376()
doftpxmkd                       88674   4       long    Static      Function returning signed int 
                                                                    -No References 
doftpxmkd                       91021   4       long    Static Def. Function returning signed int 
                                                                    Ref: 91062(), 91346(), 91444()
dohexdump                       15760   4       long    Extern      Function returning signed int 
                                                                    Ref: 104529()
dologftp                        89883   0       byte    Extern Def. Function returning void 
                                                                    Ref: 90998(), 98060()
dosetftp                        28423   4       long    Extern      Function returning signed int 
                                                                    -No References 
dosetftp                        90401   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
dosetftphlp                     28424   4       long    Extern      Function returning signed int 
                                                                    -No References 
dosetftphlp                     97352   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
dosetftppsv                     28522   4       long    Extern      Function returning signed int 
                                                                    -No References 
dosetftppsv                     96007   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 90430()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2105
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

dot5Entry                       31078   48      long                Tag: struct dot5Entry
                                                                    Ref: 32638
 dot5TrnNumber                  31079   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 dot5IfIndex                    31080   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 dot5Commands                   31081   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
 dot5RingStatus                 31082   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
 dot5RingState                  31083   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 dot5RingOpenStatus             31084   4       long                Member: (Offset=20) signed int 
                                                                    -No References 
 dot5RingSpeed                  31085   4       long                Member: (Offset=24) signed int 
                                                                    -No References 
 dot5UpStream                   31086   6       byte                Member: (Offset=28) array of unsigned char 
                                                                    -No References 
 dot5ActMonParticipate          31087   4       long                Member: (Offset=36) signed int 
                                                                    -No References 
 dot5Functional                 31088   6       byte                Member: (Offset=40) array of unsigned char 
                                                                    -No References 
dot5StatsEntry                  31144   76      long                Tag: struct dot5StatsEntry
                                                                    Ref: 32639
 dot5StatsIfIndex               31145   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 dot5StatsLineErrors            31146   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 dot5StatsBurstErrors           31147   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
 dot5StatsACErrors              31148   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
 dot5StatsAbortTransErrors      31149   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 dot5StatsInternalErrors        31150   4       long                Member: (Offset=20) signed int 
                                                                    -No References 
 dot5StatsLostFrameErrors       31151   4       long                Member: (Offset=24) signed int 
                                                                    -No References 
 dot5StatsReceiveCongestions    31152   4       long                Member: (Offset=28) signed int 
                                                                    -No References 
 dot5StatsFrameCopiedErrors     31153   4       long                Member: (Offset=32) signed int 
                                                                    -No References 
 dot5StatsTokenErrors           31154   4       long                Member: (Offset=36) signed int 
                                                                    -No References 
 dot5StatsSoftErrors            31155   4       long                Member: (Offset=40) signed int 
                                                                    -No References 
 dot5StatsHardErrors            31156   4       long                Member: (Offset=44) signed int 
                                                                    -No References 
 dot5StatsSignalLoss            31157   4       long                Member: (Offset=48) signed int 
                                                                    -No References 
 dot5StatsTransmitBeacons       31158   4       long                Member: (Offset=52) signed int 
                                                                    -No References 
 dot5StatsRecoverys             31159   4       long                Member: (Offset=56) signed int 
                                                                    -No References 
 dot5StatsLobeWires             31160   4       long                Member: (Offset=60) signed int 
                                                                    -No References 
 dot5StatsRemoves               31161   4       long                Member: (Offset=64) signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2106
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 dot5StatsSingles               31162   4       long                Member: (Offset=68) signed int 
                                                                    -No References 
 dot5StatsFreqErrors            31163   4       long                Member: (Offset=72) signed int 
                                                                    -No References 
dot5TimerEntry                  31168   44      long                Tag: struct dot5TimerEntry
                                                                    Ref: 32640
 dot5TimerIfIndex               31169   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 dot5TimerReturnRepeat          31170   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 dot5TimerHolding               31171   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
 dot5TimerQueuePDU              31172   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
 dot5TimerValidTransmit         31173   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 dot5TimerNoToken               31174   4       long                Member: (Offset=20) signed int 
                                                                    -No References 
 dot5TimerActiveMon             31175   4       long                Member: (Offset=24) signed int 
                                                                    -No References 
 dot5TimerStandbyMon            31176   4       long                Member: (Offset=28) signed int 
                                                                    -No References 
 dot5TimerErrorReport           31177   4       long                Member: (Offset=32) signed int 
                                                                    -No References 
 dot5TimerBeaconTransmit        31178   4       long                Member: (Offset=36) signed int 
                                                                    -No References 
 dot5TimerBeaconReceive         31179   4       long                Member: (Offset=40) signed int 
                                                                    -No References 
dotlog                          15748   0       byte    Extern      Function returning void 
                                                                    Ref: 91971(), 91972(), 92052(), 92054(), 92056(), 92059(), 
                                                                    92062(), 92152(), 92243(), 92249(), 92255(), 92258(), 92261()
                                                                    , 92266(), 92271(), 92272(), 92274(), 92336(), 92339(), 92342
                                                                    (), 92345(), 92348(), 92350(), 92352(), 92391(), 92400(), 
                                                                    92424(), 92457(), 94192(), 94344(), 95252(), 95455(), 95513()
                                                                    , 95533(), 95582(), 95658(), 95662(), 95786(), 95805(), 95827
                                                                    (), 95851()
dout                            88751   4       long    Static Def  signed int 
                                                                    Ref: 88751=, 92506, 92506, 99684, 99686, 99863=, 99864, 99865
                                                                    , 99895, 99895, 99940, 99967, 99967, 99994, 100049=
doxdis                          28403   4       long    Extern      Function returning signed int 
                                                                    Ref: 90650()
doxftp                          28421   4       long    Extern      Function returning signed int 
                                                                    -No References 
doxftp                          96069   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
doxlog                          15750   0       byte    Extern      Function returning void 
                                                                    Ref: 92065(), 92355()
dpyactive                       88752   4       long    Static Def  signed int 
                                                                    Ref: 88752=, 90370, 90372=, 92701=, 92801, 94021, 94029=, 
                                                                    94072=, 94411, 95931, 95951=, 96111=, 97678, 98893, 99032, 
                                                                    99288, 100295, 100559, 100584, 100655, 100662, 100811, 103705
dstat                           32059   42      byte                Tag: struct dstat
                                                                    Ref: 32621
 dst_seconds                    32060   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
 dst_bytercvd                   32061   4       long                Member: (Offset=2) unsigned int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2107
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 dst_bytesent                   32062   4       long                Member: (Offset=6) unsigned int 
                                                                    -No References 
 dst_blockrcvd                  32063   4       long                Member: (Offset=10) unsigned int 
                                                                    -No References 
 dst_blocksent                  32064   4       long                Member: (Offset=14) unsigned int 
                                                                    -No References 
 dst_inbound_bm                 32065   2       word                Member: (Offset=18) unsigned short 
                                                                    -No References 
 dst_inbound                    32068   1       byte                Member: (Offset=20) unsigned char 
                                                                    -No References 
 dst_outbound_bm                32069   2       word                Member: (Offset=21) unsigned short 
                                                                    -No References 
 dst_outbound                   32072   1       byte                Member: (Offset=23) unsigned char 
                                                                    -No References 
 dst_remotetmo                  32073   1       byte                Member: (Offset=24) unsigned char 
                                                                    -No References 
 dst_localtmo                   32074   1       byte                Member: (Offset=25) unsigned char 
                                                                    -No References 
 dst_remotebuf_bm               32075   2       word                Member: (Offset=26) unsigned short 
                                                                    -No References 
 dst_remotebuf                  32077   1       byte                Member: (Offset=28) unsigned char 
                                                                    -No References 
 dst_localbuf_bm                32078   2       word                Member: (Offset=29) unsigned short 
                                                                    -No References 
 dst_localbuf                   32080   1       byte                Member: (Offset=31) unsigned char 
                                                                    -No References 
 dst_select                     32081   1       byte                Member: (Offset=32) unsigned char 
                                                                    -No References 
 dst_selecttmo_bm               32082   2       word                Member: (Offset=33) unsigned short 
                                                                    -No References 
 dst_selecttmo                  32084   1       byte                Member: (Offset=35) unsigned char 
                                                                    -No References 
 dst_remotesta_bm               32085   2       word                Member: (Offset=36) unsigned short 
                                                                    -No References 
 dst_remotesta                  32089   1       byte                Member: (Offset=38) unsigned char 
                                                                    -No References 
 dst_localsta_bm                32090   2       word                Member: (Offset=39) unsigned short 
                                                                    -No References 
 dst_localsta                   32094   1       byte                Member: (Offset=41) unsigned char 
                                                                    -No References 
dummy                           89896   8       long    Static Def  array of short pointer to char 
                                                                    Ref: 89896=, 90138=[], 90139
empty                           99343   4       long    Static Def. Function returning signed int 
                                                                    Ref: 102442(), 103262()
encrypt_names                   40488   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
enctype_names                   40489   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
estat                           31977   64      byte                Tag: struct estat
                                                                    Ref: 32619
 est_seconds                    31978   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
 est_bytercvd                   31979   4       long                Member: (Offset=2) unsigned int 
                                                                    -No References 
 est_bytesent                   31980   4       long                Member: (Offset=6) unsigned int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2108
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 est_blokrcvd                   31981   4       long                Member: (Offset=10) unsigned int 
                                                                    -No References 
 est_bloksent                   31982   4       long                Member: (Offset=14) unsigned int 
                                                                    -No References 
 est_mbytercvd                  31983   4       long                Member: (Offset=18) unsigned int 
                                                                    -No References 
 est_mblokrcvd                  31984   4       long                Member: (Offset=22) unsigned int 
                                                                    -No References 
 est_deferred                   31985   4       long                Member: (Offset=26) unsigned int 
                                                                    -No References 
 est_single                     31986   4       long                Member: (Offset=30) unsigned int 
                                                                    -No References 
 est_multiple                   31987   4       long                Member: (Offset=34) unsigned int 
                                                                    -No References 
 est_sendfail_bm                31988   2       word                Member: (Offset=38) unsigned short 
                                                                    -No References 
 est_sendfail                   31994   2       word                Member: (Offset=40) unsigned short 
                                                                    -No References 
 est_collis                     31995   2       word                Member: (Offset=42) unsigned short 
                                                                    -No References 
 est_recvfail_bm                31996   2       word                Member: (Offset=44) unsigned short 
                                                                    -No References 
 est_recvfail                   31999   2       word                Member: (Offset=46) unsigned short 
                                                                    -No References 
 est_unrecog                    32000   2       word                Member: (Offset=48) unsigned short 
                                                                    -No References 
 est_overrun                    32001   2       word                Member: (Offset=50) unsigned short 
                                                                    -No References 
 est_sysbuf                     32002   2       word                Member: (Offset=52) unsigned short 
                                                                    -No References 
 est_userbuf                    32003   2       word                Member: (Offset=54) unsigned short 
                                                                    -No References 
 est_mbytesent                  32004   4       long                Member: (Offset=56) unsigned int 
                                                                    -No References 
 est_mbloksent                  32005   4       long                Member: (Offset=60) unsigned int 
                                                                    -No References 
estat_extended                  32008   256     byte                Tag: struct estat_extended
                                                                    Ref: 32620
 est_seconds                    32009   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 est_bytesent                   32013   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
 est_bloksent                   32014   4       long                Member: (Offset=8) unsigned long 
                                                                    -No References 
 est_mbytesent                  32015   4       long                Member: (Offset=12) unsigned long 
                                                                    -No References 
 est_mbloksent                  32016   4       long                Member: (Offset=16) unsigned long 
                                                                    -No References 
 est_deferred                   32017   4       long                Member: (Offset=20) unsigned long 
                                                                    -No References 
 est_single                     32018   4       long                Member: (Offset=24) unsigned long 
                                                                    -No References 
 est_multiple                   32019   4       long                Member: (Offset=28) unsigned long 
                                                                    -No References 
 est_collis                     32023   4       long                Member: (Offset=32) unsigned long 
                                                                    -No References 
 est_unrecog                    32024   4       long                Member: (Offset=36) unsigned long 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2109
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 est_userbuf                    32025   4       long                Member: (Offset=40) unsigned long 
                                                                    -No References 
 est_latecoll                   32026   4       long                Member: (Offset=44) unsigned long 
                                                                    -No References 
 est_excesscoll                 32027   4       long                Member: (Offset=48) unsigned long 
                                                                    -No References 
 est_carrierfail                32028   4       long                Member: (Offset=52) unsigned long 
                                                                    -No References 
 est_shortcirc                  32029   4       long                Member: (Offset=56) unsigned long 
                                                                    -No References 
 est_opencirc                   32030   4       long                Member: (Offset=60) unsigned long 
                                                                    -No References 
 est_sndlong                    32031   4       long                Member: (Offset=64) unsigned long 
                                                                    -No References 
 est_sendfail                   32032   4       long                Member: (Offset=68) unsigned long 
                                                                    -No References 
 est_bytercvd                   32036   4       long                Member: (Offset=72) unsigned long 
                                                                    -No References 
 est_blokrcvd                   32037   4       long                Member: (Offset=76) unsigned long 
                                                                    -No References 
 est_mbytercvd                  32038   4       long                Member: (Offset=80) unsigned long 
                                                                    -No References 
 est_mblokrcvd                  32039   4       long                Member: (Offset=84) unsigned long 
                                                                    -No References 
 est_overrun                    32043   4       long                Member: (Offset=88) unsigned long 
                                                                    -No References 
 est_sysbuf                     32044   4       long                Member: (Offset=92) unsigned long 
                                                                    -No References 
 est_unaligned                  32045   4       long                Member: (Offset=96) unsigned long 
                                                                    -No References 
 est_longframe                  32046   4       long                Member: (Offset=100) unsigned long 
                                                                    -No References 
 est_shortframe                 32047   4       long                Member: (Offset=104) unsigned long 
                                                                    -No References 
 est_fcsfail                    32048   4       long                Member: (Offset=108) unsigned long 
                                                                    -No References 
 est_badframe                   32049   4       long                Member: (Offset=112) unsigned long 
                                                                    -No References 
 est_symbolerror                32050   4       long                Member: (Offset=116) unsigned long 
                                                                    -No References 
 est_recvfail                   32051   4       long                Member: (Offset=120) unsigned long 
                                                                    -No References 
 padding                        32056   132     long                Member: (Offset=124) array of unsigned long 
                                                                    -No References 
evp_cipher_info_st              68161   20      long                Tag: struct evp_cipher_info_st
                                                                    Ref: 68161
 cipher                         68162   4       long                Member: (Offset=0) short pointer to const struct 
                                                                    evp_cipher_st
                                                                    -No References 
 iv                             68163   16      byte                Member: (Offset=4) array of unsigned char 
                                                                    -No References 
evp_cipher_st                   44461   0       unknown             Tag: struct evp_cipher_st(Incomplete Type) 
                                                                    Ref: 44461
evp_pkey_st                     44467   0       unknown             Tag: struct evp_pkey_st(Incomplete Type) 
                                                                    Ref: 44467, 85124
f_tmpdir                        88478   4       long    Extern      signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2110
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 95175, 95179=, 95934, 95936=
fabdef                          5238    80      long                Tag: struct fabdef
                                                                    Ref: 5594, 6080, 6781, 8935
 fab$b_bid                      5240    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 fab$b_bln                      5241    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 fab$r_ifi_overlay              5251    2       byte                Member: (Offset=2) union 
                                                                    -No References 
  fab$w_ifi                     5243    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  fab$r_ifi_bits                5250    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fabdef$$_fill_1              5245    6 bits  bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_ppf_rat                5246    8 bits  bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   fab$v_ppf_ind                5247    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 
   fab$v_ppifi                  5249    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
 fab$r_fop_overlay              5293    4       byte                Member: (Offset=4) union 
                                                                    -No References 
  fab$l_fop                     5253    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  fab$r_fop_bits                5287    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fab$v_asy                    5255    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_mxv                    5256    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   fab$v_sup                    5257    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   fab$v_tmp                    5258    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   fab$v_tmd                    5259    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   fab$v_dfw                    5260    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   fab$v_sqo                    5261    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   fab$v_rwo                    5262    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
   fab$v_pos                    5263    1 bit   bit                 Member: (Offset=8 bits) bitfield 
                                                                    -No References 
   fab$v_wck                    5264    1 bit   bit                 Member: (Offset=1.1 byte.bit) bitfield 
                                                                    -No References 
   fab$v_nef                    5265    1 bit   bit                 Member: (Offset=1.2 byte.bit) bitfield 
                                                                    -No References 
   fab$v_rwc                    5266    1 bit   bit                 Member: (Offset=1.3 byte.bit) bitfield 
                                                                    -No References 
   fab$v_dmo                    5267    1 bit   bit                 Member: (Offset=1.4 byte.bit) bitfield 
                                                                    -No References 
   fab$v_spl                    5268    1 bit   bit                 Member: (Offset=1.5 byte.bit) bitfield 
                                                                    -No References 
   fab$v_scf                    5269    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2111
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   fab$v_dlt                    5270    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
   fab$v_nfs                    5271    1 bit   bit                 Member: (Offset=2.0 byte.bit) bitfield 
                                                                    -No References 
   fab$v_ufo                    5272    1 bit   bit                 Member: (Offset=2.1 byte.bit) bitfield 
                                                                    -No References 
   fab$v_ppf                    5273    1 bit   bit                 Member: (Offset=2.2 byte.bit) bitfield 
                                                                    -No References 
   fab$v_inp                    5274    1 bit   bit                 Member: (Offset=2.3 byte.bit) bitfield 
                                                                    -No References 
   fab$v_ctg                    5275    1 bit   bit                 Member: (Offset=2.4 byte.bit) bitfield 
                                                                    -No References 
   fab$v_cbt                    5276    1 bit   bit                 Member: (Offset=2.5 byte.bit) bitfield 
                                                                    -No References 
   fab$v_syncsts                5277    1 bit   bit                 Member: (Offset=2.6 byte.bit) bitfield 
                                                                    -No References 
   fab$v_rck                    5278    1 bit   bit                 Member: (Offset=2.7 byte.bit) bitfield 
                                                                    -No References 
   fab$v_nam                    5279    1 bit   bit                 Member: (Offset=3.0 byte.bit) bitfield 
                                                                    -No References 
   fab$v_cif                    5280    1 bit   bit                 Member: (Offset=3.1 byte.bit) bitfield 
                                                                    -No References 
   fabdef$$_fill_3              5281    1 bit   bit                 Member: (Offset=3.2 byte.bit) bitfield 
                                                                    -No References 
   fab$v_esc                    5282    1 bit   bit                 Member: (Offset=3.3 byte.bit) bitfield 
                                                                    -No References 
   fab$v_tef                    5283    1 bit   bit                 Member: (Offset=3.4 byte.bit) bitfield 
                                                                    -No References 
   fab$v_ofp                    5284    1 bit   bit                 Member: (Offset=3.5 byte.bit) bitfield 
                                                                    -No References 
   fab$v_kfo                    5285    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   fab$v_extend_fop             5286    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
  fab$r_fop_bits_overlay        5292    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fabdef$$_fill_10             5289    1.7 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   fab$v_erl                    5290    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
   fabdef$$_fill_11             5291    2.0 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
 fab$l_sts                      5294    4       long                Member: (Offset=8) unsigned int 
                                                                    -No References 
 fab$l_stv                      5295    4       long                Member: (Offset=12) unsigned int 
                                                                    -No References 
 fab$l_alq                      5296    4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
 fab$w_deq                      5297    2       word                Member: (Offset=20) unsigned short 
                                                                    -No References 
 fab$r_fac_overlay              5311    1       byte                Member: (Offset=22) union 
                                                                    -No References 
  fab$b_fac                     5299    1       byte                Member: (Offset=0) unsigned char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2112
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  fab$r_fac_bits                5310    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fab$v_put                    5301    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_get                    5302    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   fab$v_del                    5303    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   fab$v_upd                    5304    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   fab$v_trn                    5305    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   fab$v_bio                    5306    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   fab$v_bro                    5307    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   fab$v_exe                    5308    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
 fab$r_shr_overlay              5325    1       byte                Member: (Offset=23) union 
                                                                    -No References 
  fab$b_shr                     5313    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  fab$r_shr_bits                5324    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fab$v_shrput                 5315    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_shrget                 5316    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   fab$v_shrdel                 5317    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   fab$v_shrupd                 5318    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   fab$v_mse                    5319    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   fab$v_nil                    5320    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   fab$v_upi                    5321    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   fab$v_nql                    5323    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
 fab$l_ctx                      5326    4       long                Member: (Offset=24) unsigned int 
                                                                    -No References 
 fab$b_rtv                      5328    1       byte                Member: (Offset=28) char 
                                                                    -No References 
 fab$r_org_overlay              5335    1       byte                Member: (Offset=29) union 
                                                                    -No References 
  fab$b_org                     5330    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  fab$r_org_bits                5334    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fabdef$$_fill_5              5332    4 bits  bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_org                    5333    4 bits  bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
 fab$r_rat_overlay              5347    1       byte                Member: (Offset=30) union 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2113
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

  fab$b_rat                     5337    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  fab$r_rat_bits                5345    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fab$v_ftn                    5339    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_cr                     5340    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   fab$v_prn                    5341    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   fab$v_blk                    5342    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   fab$v_msb                    5343    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   fab$v_fill_0_                5344    3 bits  bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
  fab$b_special_type            5346    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 fab$b_rfm                      5348    1       byte                Member: (Offset=31) unsigned char 
                                                                    -No References 
 fab$r_jnl_overlay              5377    4       byte                Member: (Offset=32) union 
                                                                    -No References 
  fab$l_jnl                     5350    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  fab$r_jnl_real_stuff          5376    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fab$r_journal_overlay        5365    1       byte                Member: (Offset=0) union 
                                                                    -No References 
    fab$b_journal               5353    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
    fab$r_journal_bits          5364    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
     fab$v_only_ru              5356    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
     fab$v_ru                   5357    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
     fab$v_bi                   5358    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
     fab$v_ai                   5359    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
     fab$v_at                   5360    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
     fab$v_never_ru             5361    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
     fab$v_journal_file         5362    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
     fab$v_fill_1_              5363    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
   fab$b_ru_facility            5366    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   fab$r_fopext_overlay         5375    2       byte                Member: (Offset=2) union 
                                                                    -No References 
    fab$w_fopext                5368    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
    fab$r_fopext_bits           5374    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
     fab$v_ssio_rqst            5370    1 bit   bit                 Member: (Offset=0 bits) bitfield 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2114
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
     fab$v_ssio_granted         5371    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
     fab$v_ssio_foc             5372    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
     fabdef$$_reserved_bits_mbz 5373    1.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
 fab$l_xab                      5378    4       long                Member: (Offset=36) short pointer to void 
                                                                    -No References 
 fab$r_nam_overlay              5382    4       byte                Member: (Offset=40) union 
                                                                    -No References 
  fab$l_nam                     5380    4       long                Member: (Offset=0) short pointer to struct namdef
                                                                    -No References 
  fab$l_naml                    5381    4       long                Member: (Offset=0) short pointer to struct namldef
                                                                    -No References 
 fab$l_fna                      5383    4       long                Member: (Offset=44) short pointer to char 
                                                                    -No References 
 fab$l_dna                      5384    4       long                Member: (Offset=48) short pointer to char 
                                                                    -No References 
 fab$b_fns                      5385    1       byte                Member: (Offset=52) unsigned char 
                                                                    -No References 
 fab$b_dns                      5386    1       byte                Member: (Offset=53) unsigned char 
                                                                    -No References 
 fab$w_mrs                      5387    2       word                Member: (Offset=54) unsigned short 
                                                                    -No References 
 fab$l_mrn                      5388    4       long                Member: (Offset=56) signed int 
                                                                    -No References 
 fab$w_bls                      5389    2       word                Member: (Offset=60) unsigned short 
                                                                    -No References 
 fab$b_bks                      5390    1       byte                Member: (Offset=62) unsigned char 
                                                                    -No References 
 fab$b_fsz                      5391    1       byte                Member: (Offset=63) unsigned char 
                                                                    -No References 
 fab$l_dev                      5392    4       long                Member: (Offset=64) unsigned int 
                                                                    -No References 
 fab$l_sdc                      5393    4       long                Member: (Offset=68) unsigned int 
                                                                    -No References 
 fab$w_gbc                      5394    2       word                Member: (Offset=72) unsigned short 
                                                                    -No References 
 fab$r_acmodes_overlay          5404    1       byte                Member: (Offset=74) union 
                                                                    -No References 
  fab$b_acmodes                 5396    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  fab$r_acmodes_bits            5403    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fab$v_lnm_mode               5398    2 bits  bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_chan_mode              5399    2 bits  bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   fab$v_file_mode              5400    2 bits  bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   fab$v_callers_mode           5401    2 bits  bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
 fab$r_rcf_overlay              5413    1       byte                Member: (Offset=75) union 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2115
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

  fab$b_rcf                     5406    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  fab$r_rcf_bits                5412    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   fab$v_rcf_ru                 5408    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   fab$v_rcf_ai                 5409    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   fab$v_rcf_bi                 5410    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   fab$v_fill_2_                5411    5 bits  bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
 fab$w_gbc_initial              5414    2       word                Member: (Offset=76) unsigned short 
                                                                    -No References 
 fab$w_reserved_mbz             5415    2       word                Member: (Offset=78) unsigned short 
                                                                    -No References 
facttab                         98714   108     long    Static Def  array of struct keytab
                                                                    Ref: 98714=, 98725, 98801
failftprecv                     100203  0       byte    Static Def. Function returning void 
                                                                    Ref: 101021
failftprecv2                    100328  0       byte    Static Def. Function returning void 
                                                                    Ref: 100615(), 100699(), 100710(), 100760(), 101034
failftpsend                     99555   0       byte    Static Def. Function returning void 
                                                                    Ref: 100127
failftpsend2                    99621   0       byte    Static Def. Function returning void 
                                                                    Ref: 99866(), 100131
fatal                           16216   0       byte    Extern      Function returning void 
                                                                    Ref: 89921(), 89925(), 90006(), 90031(), 90034(), 90065(), 
                                                                    90067(), 90079(), 90114(), 90133(), 90209(), 90212()
fatal2                          16217   0       byte    Extern      Function returning void 
                                                                    Ref: 90336()
fcharset                        88519   4       long    Extern      signed int 
                                                                    Ref: 91030, 91078, 91176, 91224, 91253, 91764, 91942, 92167, 
                                                                    92171, 92854, 94110, 94492, 95984, 96079, 96613, 103303, 
                                                                    103615
fclose                          2131    4       long    Extern      Function returning signed int 
                                                                    Ref: 94520(), 95907(), 96116(), 100153(), 103466(), 103513()
                                                                    , 103740()
fcsinfo                         88517   0       long    Extern      array of struct csinfo(Incomplete Type) 
                                                                    Ref: 92197[], 92270[], 92271[], 92272[], 96610[], 96613[]
fcstab                          88518   0       long    Extern      array of struct keytab(Incomplete Type) 
                                                                    Ref: 90477, 93243, 94814
fd_mask                         23486   4       long                Typedef: signed long 
                                                                    Ref: 23495, 23495, 23495, 23495, 23495, 92607, 92607, 102438
                                                                    , 102438, 102440, 102440, 102455, 102455, 103261, 103261
fd_set                          23494   128     long                Tag: struct fd_set
                                                                    Ref: 23494
 fds_bits                       23495   128     long                Member: (Offset=0) array of signed long 
                                                                    Ref: 92607=[], 102438=[], 102440=[], 102455[], 103261=[]
fd_set                          23496   128     long                Typedef: struct fd_set
                                                                    Ref: 23530, 23530, 23530, 30867, 30867, 30868, 92599, 99343, 
                                                                    99355, 99355, 102368, 103258
fddiDNA_status                  32288   132     byte                Tag: struct fddiDNA_status
                                                                    Ref: 32625
 attr                           32289   42      byte                Member: (Offset=0) struct fddi_dna_attributes
                                                                    -No References 
  stationid                     32231   8       byte                Member: (Offset=0) array of unsigned char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2116
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  stationtype                   32232   2       word                Member: (Offset=8) signed short 
                                                                    -No References 
  opversionid                   32233   2       word                Member: (Offset=10) unsigned short 
                                                                    -No References 
  hiversionid                   32234   2       word                Member: (Offset=12) unsigned short 
                                                                    -No References 
  loversionid                   32235   2       word                Member: (Offset=14) unsigned short 
                                                                    -No References 
  link_addr                     32239   6       byte                Member: (Offset=16) array of unsigned char 
                                                                    -No References 
  t_req                         32240   4       long                Member: (Offset=22) unsigned int 
                                                                    -No References 
  tvx                           32241   4       long                Member: (Offset=26) unsigned int 
                                                                    -No References 
  rtoken_timeout                32242   4       long                Member: (Offset=30) unsigned int 
                                                                    -No References 
  ring_purge_enable             32243   2       word                Member: (Offset=34) signed short 
                                                                    -No References 
  phy_type                      32247   1       byte                Member: (Offset=36) unsigned char 
                                                                    -No References 
  pmd_type                      32248   1       byte                Member: (Offset=37) unsigned char 
                                                                    -No References 
  lem_threshold                 32249   4       long                Member: (Offset=38) unsigned int 
                                                                    -No References 
 stat                           32290   90      byte                Member: (Offset=42) struct fddi_dna_status
                                                                    -No References 
  station_state                 32256   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
  laststationid                 32257   8       byte                Member: (Offset=2) array of unsigned char 
                                                                    -No References 
  station_uid                   32258   8       byte                Member: (Offset=10) array of unsigned char 
                                                                    -No References 
  link_state                    32262   2       word                Member: (Offset=18) signed short 
                                                                    -No References 
  link_uid                      32263   8       byte                Member: (Offset=20) array of unsigned char 
                                                                    -No References 
  neg_trt                       32264   4       long                Member: (Offset=28) unsigned int 
                                                                    -No References 
  dup_add_flag                  32265   2       word                Member: (Offset=32) signed short 
                                                                    -No References 
  upstream                      32266   6       byte                Member: (Offset=34) array of unsigned char 
                                                                    -No References 
  oldupstream                   32267   6       byte                Member: (Offset=40) array of unsigned char 
                                                                    -No References 
  upstreamdaf                   32268   2       word                Member: (Offset=46) signed short 
                                                                    -No References 
  downstream                    32269   6       byte                Member: (Offset=48) array of unsigned char 
                                                                    -No References 
  olddownstream                 32270   6       byte                Member: (Offset=54) array of unsigned char 
                                                                    -No References 
  ring_purge_state              32271   2       word                Member: (Offset=60) signed short 
                                                                    -No References 
  frame_strip_mode              32272   1       byte                Member: (Offset=62) unsigned char 
                                                                    -No References 
  ring_error                    32273   1       byte                Member: (Offset=63) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2117
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

  loopback                      32274   2       word                Member: (Offset=64) signed short 
                                                                    -No References 
  ring_latency                  32275   2       word                Member: (Offset=66) signed short 
                                                                    -No References 
  ring_purge_addr               32276   6       byte                Member: (Offset=68) array of unsigned char 
                                                                    -No References 
  phy_state                     32280   1       byte                Member: (Offset=74) unsigned char 
                                                                    -No References 
  phy_uid                       32281   8       byte                Member: (Offset=75) array of unsigned char 
                                                                    -No References 
  neighbor_phy_type             32282   1       byte                Member: (Offset=83) unsigned char 
                                                                    -No References 
  phy_link_error                32283   4       long                Member: (Offset=84) unsigned int 
                                                                    -No References 
  broken_reason                 32284   1       byte                Member: (Offset=88) unsigned char 
                                                                    -No References 
  rej_reason                    32285   1       byte                Member: (Offset=89) unsigned char 
                                                                    -No References 
fddi_dna_attributes             32227   42      byte                Tag: struct fddi_dna_attributes
                                                                    Ref: 32289
 stationid                      32231   8       byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
 stationtype                    32232   2       word                Member: (Offset=8) signed short 
                                                                    -No References 
 opversionid                    32233   2       word                Member: (Offset=10) unsigned short 
                                                                    -No References 
 hiversionid                    32234   2       word                Member: (Offset=12) unsigned short 
                                                                    -No References 
 loversionid                    32235   2       word                Member: (Offset=14) unsigned short 
                                                                    -No References 
 link_addr                      32239   6       byte                Member: (Offset=16) array of unsigned char 
                                                                    -No References 
 t_req                          32240   4       long                Member: (Offset=22) unsigned int 
                                                                    -No References 
 tvx                            32241   4       long                Member: (Offset=26) unsigned int 
                                                                    -No References 
 rtoken_timeout                 32242   4       long                Member: (Offset=30) unsigned int 
                                                                    -No References 
 ring_purge_enable              32243   2       word                Member: (Offset=34) signed short 
                                                                    -No References 
 phy_type                       32247   1       byte                Member: (Offset=36) unsigned char 
                                                                    -No References 
 pmd_type                       32248   1       byte                Member: (Offset=37) unsigned char 
                                                                    -No References 
 lem_threshold                  32249   4       long                Member: (Offset=38) unsigned int 
                                                                    -No References 
fddi_dna_status                 32252   90      byte                Tag: struct fddi_dna_status
                                                                    Ref: 32290
 station_state                  32256   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
 laststationid                  32257   8       byte                Member: (Offset=2) array of unsigned char 
                                                                    -No References 
 station_uid                    32258   8       byte                Member: (Offset=10) array of unsigned char 
                                                                    -No References 
 link_state                     32262   2       word                Member: (Offset=18) signed short 
                                                                    -No References 
 link_uid                       32263   8       byte                Member: (Offset=20) array of unsigned char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2118
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 neg_trt                        32264   4       long                Member: (Offset=28) unsigned int 
                                                                    -No References 
 dup_add_flag                   32265   2       word                Member: (Offset=32) signed short 
                                                                    -No References 
 upstream                       32266   6       byte                Member: (Offset=34) array of unsigned char 
                                                                    -No References 
 oldupstream                    32267   6       byte                Member: (Offset=40) array of unsigned char 
                                                                    -No References 
 upstreamdaf                    32268   2       word                Member: (Offset=46) signed short 
                                                                    -No References 
 downstream                     32269   6       byte                Member: (Offset=48) array of unsigned char 
                                                                    -No References 
 olddownstream                  32270   6       byte                Member: (Offset=54) array of unsigned char 
                                                                    -No References 
 ring_purge_state               32271   2       word                Member: (Offset=60) signed short 
                                                                    -No References 
 frame_strip_mode               32272   1       byte                Member: (Offset=62) unsigned char 
                                                                    -No References 
 ring_error                     32273   1       byte                Member: (Offset=63) unsigned char 
                                                                    -No References 
 loopback                       32274   2       word                Member: (Offset=64) signed short 
                                                                    -No References 
 ring_latency                   32275   2       word                Member: (Offset=66) signed short 
                                                                    -No References 
 ring_purge_addr                32276   6       byte                Member: (Offset=68) array of unsigned char 
                                                                    -No References 
 phy_state                      32280   1       byte                Member: (Offset=74) unsigned char 
                                                                    -No References 
 phy_uid                        32281   8       byte                Member: (Offset=75) array of unsigned char 
                                                                    -No References 
 neighbor_phy_type              32282   1       byte                Member: (Offset=83) unsigned char 
                                                                    -No References 
 phy_link_error                 32283   4       long                Member: (Offset=84) unsigned int 
                                                                    -No References 
 broken_reason                  32284   1       byte                Member: (Offset=88) unsigned char 
                                                                    -No References 
 rej_reason                     32285   1       byte                Member: (Offset=89) unsigned char 
                                                                    -No References 
fddiatta                        32411   16      byte                Tag: struct fddiatta
                                                                    Ref: 32630
 atta_number                    32412   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
 atta_smt_index                 32413   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 atta_index                     32414   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
 atta_class                     32415   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
 atta_bypass                    32416   2       word                Member: (Offset=8) signed short 
                                                                    -No References 
 atta_IMaxExpiration            32417   2       word                Member: (Offset=10) signed short 
                                                                    -No References 
 atta_InsertedStatus            32418   2       word                Member: (Offset=12) signed short 
                                                                    -No References 
 atta_InsertPolicy              32419   2       word                Member: (Offset=14) signed short 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2119
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

fddimac                         32329   94      byte                Tag: struct fddimac
                                                                    Ref: 32627
 mac_number                     32330   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
 mac_smt_index                  32331   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 mac_index                      32332   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
 mac_fsc                        32333   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
 mac_gltmax                     32334   4       long                Member: (Offset=8) unsigned int 
                                                                    -No References 
 mac_gltvx                      32335   4       long                Member: (Offset=12) unsigned int 
                                                                    -No References 
 mac_paths                      32336   2       word                Member: (Offset=16) signed short 
                                                                    -No References 
 mac_current                    32337   2       word                Member: (Offset=18) signed short 
                                                                    -No References 
 mac_upstream                   32338   6       byte                Member: (Offset=20) array of unsigned char 
                                                                    -No References 
 mac_oldupstream                32339   6       byte                Member: (Offset=26) array of unsigned char 
                                                                    -No References 
 mac_dupaddrtest                32340   2       word                Member: (Offset=32) signed short 
                                                                    -No References 
 mac_pathsreq                   32341   2       word                Member: (Offset=34) signed short 
                                                                    -No References 
 mac_downstreamtype             32342   2       word                Member: (Offset=36) signed short 
                                                                    -No References 
 mac_smtaddress                 32343   6       byte                Member: (Offset=38) array of unsigned char 
                                                                    -No References 
 mac_treq                       32344   4       long                Member: (Offset=44) unsigned int 
                                                                    -No References 
 mac_tneg                       32345   4       long                Member: (Offset=48) unsigned int 
                                                                    -No References 
 mac_tmax                       32346   4       long                Member: (Offset=52) unsigned int 
                                                                    -No References 
 mac_tvx                        32347   4       long                Member: (Offset=56) unsigned int 
                                                                    -No References 
 mac_tmin                       32348   4       long                Member: (Offset=60) unsigned int 
                                                                    -No References 
 mac_framestatus                32349   2       word                Member: (Offset=64) signed short 
                                                                    -No References 
 mac_counter                    32350   4       long                Member: (Offset=66) signed int 
                                                                    -No References 
 mac_error                      32351   4       long                Member: (Offset=70) signed int 
                                                                    -No References 
 mac_lost                       32352   4       long                Member: (Offset=74) signed int 
                                                                    -No References 
 mac_rmtstate                   32353   2       word                Member: (Offset=78) signed short 
                                                                    -No References 
 mac_dupaddr                    32354   2       word                Member: (Offset=80) signed short 
                                                                    -No References 
 mac_condition                  32355   2       word                Member: (Offset=82) signed short 
                                                                    -No References 
 mac_action                     32356   2       word                Member: (Offset=84) signed short 
                                                                    -No References 
 mac_updupaddr                  32357   2       word                Member: (Offset=86) signed short 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2120
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 mac_frame_error_thresh         32358   2       word                Member: (Offset=88) signed short 
                                                                    -No References 
 mac_frame_error_ratio          32359   2       word                Member: (Offset=90) signed short 
                                                                    -No References 
 mac_chip_set                   32360   2       word                Member: (Offset=92) signed short 
                                                                    -No References 
fddipath                        32365   14      byte                Tag: struct fddipath
                                                                    Ref: 32628
 path_configindex               32366   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
 path_type                      32367   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 path_portorder                 32368   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
 path_sba                       32369   4       long                Member: (Offset=6) unsigned int 
                                                                    -No References 
 path_sbaoverhead               32370   2       word                Member: (Offset=10) signed short 
                                                                    -No References 
 path_status                    32371   2       word                Member: (Offset=12) signed short 
                                                                    -No References 
fddiport                        32376   80      byte                Tag: struct fddiport
                                                                    Ref: 32629
 port_number                    32377   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
 port_smt_index                 32378   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 port_index                     32379   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
 port_pctype                    32380   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
 port_pcneighbor                32381   2       word                Member: (Offset=8) signed short 
                                                                    -No References 
 port_connpolicy                32382   2       word                Member: (Offset=10) signed short 
                                                                    -No References 
 port_remoteind                 32383   2       word                Member: (Offset=12) signed short 
                                                                    -No References 
 port_CEstate                   32384   2       word                Member: (Offset=14) signed short 
                                                                    -No References 
 port_pathreq                   32385   2       word                Member: (Offset=16) signed short 
                                                                    -No References 
 port_placement                 32386   2       word                Member: (Offset=18) unsigned short 
                                                                    -No References 
 port_availpaths                32387   2       word                Member: (Offset=20) signed short 
                                                                    -No References 
 port_looptime                  32388   4       long                Member: (Offset=22) unsigned int 
                                                                    -No References 
 port_TBmax                     32389   4       long                Member: (Offset=26) unsigned int 
                                                                    -No References 
 port_BSflag                    32390   2       word                Member: (Offset=30) signed short 
                                                                    -No References 
 port_LCTfail                   32391   4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
 port_LerrEst                   32392   2       word                Member: (Offset=36) signed short 
                                                                    -No References 
 port_Lemreject                 32393   4       long                Member: (Offset=38) unsigned int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2121
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 port_Lem                       32394   4       long                Member: (Offset=42) unsigned int 
                                                                    -No References 
 port_baseLerEst                32395   2       word                Member: (Offset=46) signed short 
                                                                    -No References 
 port_baseLerrej                32396   4       long                Member: (Offset=48) unsigned int 
                                                                    -No References 
 port_baseLer                   32397   4       long                Member: (Offset=52) unsigned int 
                                                                    -No References 
 port_baseLerTime               32398   8       byte                Member: (Offset=56) array of unsigned char 
                                                                    -No References 
 port_Lercutoff                 32399   2       word                Member: (Offset=64) signed short 
                                                                    -No References 
 port_alarm                     32400   2       word                Member: (Offset=66) signed short 
                                                                    -No References 
 port_connectstate              32401   2       word                Member: (Offset=68) signed short 
                                                                    -No References 
 port_PCMstate                  32402   2       word                Member: (Offset=70) signed short 
                                                                    -No References 
 port_PCwithhold                32403   2       word                Member: (Offset=72) signed short 
                                                                    -No References 
 port_Lercondition              32404   2       word                Member: (Offset=74) signed short 
                                                                    -No References 
 port_action                    32405   2       word                Member: (Offset=76) signed short 
                                                                    -No References 
 port_chip_set                  32406   2       word                Member: (Offset=78) signed short 
                                                                    -No References 
fddismt                         32191   82      byte                Tag: struct fddismt
                                                                    Ref: 32626
 smt_number                     32192   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
 smt_index                      32193   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 smt_stationid                  32194   8       byte                Member: (Offset=4) array of unsigned char 
                                                                    -No References 
 smt_opversionid                32195   2       word                Member: (Offset=12) unsigned short 
                                                                    -No References 
 smt_hiversionid                32196   2       word                Member: (Offset=14) unsigned short 
                                                                    -No References 
 smt_loversionid                32197   2       word                Member: (Offset=16) unsigned short 
                                                                    -No References 
 smt_macct                      32198   2       word                Member: (Offset=18) signed short 
                                                                    -No References 
 smt_nonmasterct                32199   2       word                Member: (Offset=20) signed short 
                                                                    -No References 
 smt_masterct                   32200   2       word                Member: (Offset=22) signed short 
                                                                    -No References 
 smt_pathsavail                 32201   2       word                Member: (Offset=24) signed short 
                                                                    -No References 
 smt_configcap                  32202   2       word                Member: (Offset=26) signed short 
                                                                    -No References 
 smt_configpolicy               32203   2       word                Member: (Offset=28) signed short 
                                                                    -No References 
 smt_connectpolicy              32204   2       word                Member: (Offset=30) unsigned short 
                                                                    -No References 
 smt_timenotify                 32205   2       word                Member: (Offset=32) unsigned short 
                                                                    -No References 
 smt_statusreport               32206   2       word                Member: (Offset=34) signed short 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2122
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 smt_ecmstate                   32207   2       word                Member: (Offset=36) signed short 
                                                                    -No References 
 smt_cfstate                    32208   2       word                Member: (Offset=38) signed short 
                                                                    -No References 
 smt_holdstate                  32209   2       word                Member: (Offset=40) signed short 
                                                                    -No References 
 smt_remotedisconn              32210   2       word                Member: (Offset=42) signed short 
                                                                    -No References 
 smt_msgtimestamp               32211   8       byte                Member: (Offset=44) array of unsigned char 
                                                                    -No References 
 smt_trantimestamp              32212   8       byte                Member: (Offset=52) array of unsigned char 
                                                                    -No References 
 smt_setinfo                    32213   12      byte                Member: (Offset=60) array of unsigned char 
                                                                    -No References 
 smt_lastsetid                  32214   8       byte                Member: (Offset=72) array of unsigned char 
                                                                    -No References 
 smt_action                     32215   2       word                Member: (Offset=80) signed short 
                                                                    -No References 
fdispla                         88509   4       long    Extern      signed int 
                                                                    Ref: 90369, 91337, 91339, 91349, 91351, 91399, 91434, 91436, 
                                                                    91456, 91458, 91468, 91966, 92233, 92317, 92668, 92694=, 
                                                                    92697=, 93337, 93339=, 93714=, 93715, 93719=, 94066=, 94069=
                                                                    , 94467, 94469=, 95058=, 95062=, 96619, 100112, 101398, 
                                                                    101423, 103995, 104323, 104472, 104532
featok                          88768   4       long    Static Def  signed int 
                                                                    Ref: 88768=, 96495=, 96630, 96633, 96640, 96643, 97936=, 
                                                                    103064
feattab                         98689   132     long    Static Def  array of struct keytab
                                                                    Ref: 98689=, 98702, 98757, 103071[], 103075[]
feol                            88524   1       byte    Extern      unsigned char 
                                                                    Ref: 101004
ffc                             88492   8       quad    Extern      signed int64 
                                                                    Ref: 99642, 99873=, 99894=, 99937, 99959=, 99974, 100598=, 
                                                                    100642=, 100806=, 100857
fflush                          2132    4       long    Extern      Function returning signed int 
                                                                    Ref: 98097(), 98369(), 98376(), 98409(), 98427(), 99004(), 
                                                                    99299(), 99384(), 100150(), 101354(), 101361(), 101453()
fgets                           2274    4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 103739()
fhs_acc                         96715   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 96715=, 97270
fhs_app                         96722   12      long    Static Def  array of short pointer to char 
                                                                    Ref: 96722=, 97272
fhs_chk                         97227   28      long    Static Def  array of short pointer to char 
                                                                    Ref: 97227=, 97338
fhs_chm                         96745   24      long    Static Def  array of short pointer to char 
                                                                    Ref: 96745=, 97280
fhs_cls                         96727   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 96727=, 97274
fhs_cwd                         96733   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 96733=, 97276
fhs_dir                         96774   28      long    Static Def  array of short pointer to char 
                                                                    Ref: 96774=, 97284
fhs_dis                         97245   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97245=, 97342
fhs_ena                         97236   24      long    Static Def  array of short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2123
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 97236=, 97340
fhs_fea                         96792   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 96792=, 97288
fhs_ftp                         96706   24      long    Static Def  array of short pointer to char 
                                                                    Ref: 96706=, 97268
fhs_get                         96937   32      long    Static Def  array of short pointer to char 
                                                                    Ref: 96937=, 97290
fhs_gup                         96739   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 96739=, 97278
fhs_hlp                         96914   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 96914=, 97292
fhs_idl                         96921   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 96921=, 97294
fhs_mde                         96753   56      long    Static Def  array of short pointer to char 
                                                                    Ref: 96753=, 97282
fhs_mge                         96798   336     long    Static Def  array of short pointer to char 
                                                                    Ref: 96798=, 97298
fhs_mkd                         96947   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 96947=, 97300
fhs_mod                         96954   24      long    Static Def  array of short pointer to char 
                                                                    Ref: 96954=, 97302
fhs_mpu                         96962   336     long    Static Def  array of short pointer to char 
                                                                    Ref: 96962=, 97304
fhs_opn                         97099   100     long    Static Def  array of short pointer to char 
                                                                    Ref: 97099=, 97306
fhs_opt                         97133   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97133=, 97308
fhs_put                         97139   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 97139=, 97310
fhs_pwd                         97153   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97153=, 97314
fhs_quo                         97159   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97159=, 97316
fhs_ren                         97170   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 97170=, 97320
fhs_reput                       97146   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 97146=, 97312
fhs_res                         97177   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97177=, 97322
fhs_rge                         97165   12      long    Static Def  array of short pointer to char 
                                                                    Ref: 97165=, 97318
fhs_rmd                         97183   20      long    Static Def  array of short pointer to char 
                                                                    Ref: 97183=, 97324
fhs_sit                         97190   12      long    Static Def  array of short pointer to char 
                                                                    Ref: 97190=, 97326
fhs_siz                         97195   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97195=, 97328
fhs_sta                         97201   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97201=, 97330
fhs_sys                         97207   12      long    Static Def  array of short pointer to char 
                                                                    Ref: 97207=, 97332
fhs_typ                         97212   28      long    Static Def  array of short pointer to char 
                                                                    Ref: 97212=, 97334
fhs_uma                         97221   16      long    Static Def  array of short pointer to char 
                                                                    Ref: 97221=, 97336
fhs_usr                         96928   28      long    Static Def  array of short pointer to char 
                                                                    Ref: 96928=, 97296

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2124
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

fhs_vdi                         96783   28      long    Static Def  array of short pointer to char 
                                                                    Ref: 96783=, 97286
filcnt                          88493   4       long    Extern      signed long 
                                                                    Ref: 92047=, 92246=, 92251=, 92295=, 93862=, 95133=
filecase                        21329   4       long    Extern      signed int 
                                                                    -No References 
filefile                        88506   4       long    Extern      short pointer to char 
                                                                    Ref: 92858&, 93623&, 93624, 93628, 93652
filehead                        88542   4       long    Extern      short pointer to struct filelist
                                                                    Ref: 93630, 93634
filelist                        23826   16      long                Tag: struct filelist
                                                                    Ref: 23830, 88542, 88543, 88544
 fl_name                        23827   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 fl_mode                        23828   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 fl_alias                       23829   4       long                Member: (Offset=8) short pointer to char 
                                                                    -No References 
 fl_next                        23830   4       long                Member: (Offset=12) short pointer to struct filelist
                                                                    -No References 
filenext                        88544   4       long    Extern      short pointer to struct filelist
                                                                    Ref: 93634=
fileorder                       88516   4       long    Extern      signed int 
                                                                    Ref: 92185=
filepeek                        88489   4       long    Extern      signed int 
                                                                    Ref: 90022=, 92140
filesinlist                     88541   4       long    Extern      signed int 
                                                                    Ref: 93631
filetail                        88543   4       long    Extern      short pointer to struct filelist
                                                                    -No References 
filinfo                         15821   40      long                Tag: struct filinfo
                                                                    Ref: 15958, 24941, 100550
 bs                             15822   4       long                Member: (Offset=0) signed int 
                                                                    Ref: 100551=.
 cs                             15823   4       long                Member: (Offset=4) signed int 
                                                                    Ref: 100551=.
 rl                             15824   4       long                Member: (Offset=8) signed long 
                                                                    Ref: 100551=.
 org                            15825   4       long                Member: (Offset=12) signed int 
                                                                    Ref: 100551=.
 fmt                            15826   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 cc                             15827   4       long                Member: (Offset=20) signed int 
                                                                    Ref: 100551=.
 typ                            15828   4       long                Member: (Offset=24) signed int 
                                                                    Ref: 100552=.
 dsp                            15829   4       long                Member: (Offset=28) signed int 
                                                                    Ref: 100554=.
 os_specific                    15830   4       long                Member: (Offset=32) short pointer to char 
                                                                    Ref: 100552=.
 lblopts                        15834   4       long                Member: (Offset=36) signed int 
                                                                    Ref: 100552=.
filnam                          88506   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 91976, 92721, 92722, 92756, 92760, 93893, 93894, 93910, 
                                                                    93921, 93922, 93923, 93934, 93945, 93955, 93963, 93968, 94156
                                                                    , 94157, 94308, 94309, 95476
floatval                        21949   8       quad    Extern      double 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2125
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
fncact                          88475   4       long    Extern      signed int 
                                                                    Ref: 94083, 94516, 96601
fncnam                          88450   36      long    Static Def  array of short pointer to char 
                                                                    Ref: 88450=, 96601[]
fntab                           89501   36      long    Static Def  array of struct keytab
                                                                    Ref: 89501=, 89506, 90416, 93155, 94745
fopen                           2230    4       long    Extern      Function returning short pointer to short pointer to struct 
                                                                    _iobuf
                                                                    Ref: 95190(), 103695()
forcetype                       88755   4       long    Static Def  signed int 
                                                                    Ref: 88755=, 90938=, 92148, 92723, 92841=, 93352=, 93355=, 
                                                                    93358=, 93361=, 93911, 94461=, 94908=, 94911=, 94914=, 94917=
                                                                    , 95168, 100105
form                            88897   4       long    Static TDef signed int 
                                                                    Ref: 98014=
forward_flag                    41926   4       long    Extern      signed int 
                                                                    -No References 
forwardable_flag                41927   4       long    Extern      signed int 
                                                                    -No References 
forwarded_tickets               41928   4       long    Extern      signed int 
                                                                    -No References 
fp_nml                          88887   4       long    Extern Def  short pointer to short pointer to struct _iobuf
                                                                    Ref: 88887=, 94518, 94519, 94520, 94521=, 95188=, 95190=, 
                                                                    95191, 95604, 95605, 95905, 95906, 95907, 95908=, 96114, 
                                                                    96115, 96116, 96117=, 100151, 100152, 100153, 100154=
fpfsecs                         88501   8       quad    Extern      double 
                                                                    Ref: 99644=, 99976=, 100352=, 100855=
fprintf                         2134    4       long    Extern      Function returning signed int 
                                                                    Ref: 95605(), 98096(), 98368(), 98375(), 98408(), 98564(), 
                                                                    98569(), 99410(), 99786(), 99939(), 100296(), 100560(), 
                                                                    100666(), 100669(), 101353(), 101360(), 101452(), 102221(), 
                                                                    102237(), 102261(), 102277(), 102742(), 102794(), 102802(), 
                                                                    103219()
fptsecs                         88501   8       quad    Extern      double 
                                                                    Ref: 92792=, 94012=, 94401=, 95921=
fpxfsecs                        88501   8       quad    Extern      double 
                                                                    Ref: 91996=, 92299=
free                            17741   0       byte    Extern      Function returning void 
                                                                    Ref: 90330(), 90914(), 90915(), 90917(), 90921(), 93411(), 
                                                                    94026(), 94979(), 95373(), 95942(), 100574(), 102297(), 
                                                                    103472(), 103756(), 103827(), 103834()
fsecs                           88489   4       long    Extern      signed int 
                                                                    -No References 
fsize                           88492   8       quad    Extern      signed int64 
                                                                    Ref: 91969, 91973, 92054, 92065, 92236, 92348, 92355, 94150=
                                                                    , 94154=, 94157, 94290=, 94301=, 94305=, 94309, 95544=, 95554
                                                                    =, 95566=, 95570=, 95576, 95578, 95581, 95639=, 95642=, 95646
                                                                    =, 99759, 99760, 99772, 99773, 100971, 100972, 100974
fspec                           88546   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 93567=[], 93572, 93573, 93574, 93679
fspeclen                        88547   4       long    Extern      signed int 
                                                                    Ref: 93572, 93679
fstat                           32098   100     byte                Tag: struct fstat
                                                                    Ref: 32622
 fst_second                     32099   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2126
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 fst_frame                      32100   4       long                Member: (Offset=2) unsigned int 
                                                                    -No References 
 fst_error                      32101   4       long                Member: (Offset=6) unsigned int 
                                                                    -No References 
 fst_lost                       32102   4       long                Member: (Offset=10) unsigned int 
                                                                    -No References 
 fst_bytercvd                   32103   4       long                Member: (Offset=14) unsigned int 
                                                                    -No References 
 fst_bytesent                   32104   4       long                Member: (Offset=18) unsigned int 
                                                                    -No References 
 fst_pdurcvd                    32105   4       long                Member: (Offset=22) unsigned int 
                                                                    -No References 
 fst_pdusent                    32106   4       long                Member: (Offset=26) unsigned int 
                                                                    -No References 
 fst_mbytercvd                  32107   4       long                Member: (Offset=30) unsigned int 
                                                                    -No References 
 fst_mpdurcvd                   32108   4       long                Member: (Offset=34) unsigned int 
                                                                    -No References 
 fst_mbytesent                  32109   4       long                Member: (Offset=38) unsigned int 
                                                                    -No References 
 fst_mpdusent                   32110   4       long                Member: (Offset=42) unsigned int 
                                                                    -No References 
 fst_underrun                   32111   2       word                Member: (Offset=46) unsigned short 
                                                                    -No References 
 fst_sendfail                   32112   2       word                Member: (Offset=48) unsigned short 
                                                                    -No References 
 fst_fcserror                   32113   2       word                Member: (Offset=50) unsigned short 
                                                                    -No References 
 fst_fseerror                   32114   2       word                Member: (Offset=52) unsigned short 
                                                                    -No References 
 fst_pdualig                    32115   2       word                Member: (Offset=54) unsigned short 
                                                                    -No References 
 fst_pdulen                     32116   2       word                Member: (Offset=56) unsigned short 
                                                                    -No References 
 fst_pduunrecog                 32117   2       word                Member: (Offset=58) unsigned short 
                                                                    -No References 
 fst_mpduunrecog                32118   2       word                Member: (Offset=60) unsigned short 
                                                                    -No References 
 fst_overrun                    32119   2       word                Member: (Offset=62) unsigned short 
                                                                    -No References 
 fst_sysbuf                     32120   2       word                Member: (Offset=64) unsigned short 
                                                                    -No References 
 fst_userbuf                    32121   2       word                Member: (Offset=66) unsigned short 
                                                                    -No References 
 fst_ringinit                   32122   2       word                Member: (Offset=68) unsigned short 
                                                                    -No References 
 fst_ringinitrcv                32123   2       word                Member: (Offset=70) unsigned short 
                                                                    -No References 
 fst_ringbeacon                 32124   2       word                Member: (Offset=72) unsigned short 
                                                                    -No References 
 fst_ringbeaconrecv             32125   2       word                Member: (Offset=74) unsigned short 
                                                                    -No References 
 fst_duptoken                   32126   2       word                Member: (Offset=76) unsigned short 
                                                                    -No References 
 fst_dupaddfail                 32127   2       word                Member: (Offset=78) unsigned short 
                                                                    -No References 
 fst_ringpurge                  32128   2       word                Member: (Offset=80) unsigned short 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2127
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 fst_bridgestrip                32129   2       word                Member: (Offset=82) unsigned short 
                                                                    -No References 
 fst_traceinit                  32130   2       word                Member: (Offset=84) unsigned short 
                                                                    -No References 
 fst_tracerecv                  32131   2       word                Member: (Offset=86) unsigned short 
                                                                    -No References 
 fst_lem_rej                    32132   2       word                Member: (Offset=88) unsigned short 
                                                                    -No References 
 fst_lem_events                 32133   2       word                Member: (Offset=90) unsigned short 
                                                                    -No References 
 fst_lct_rej                    32134   2       word                Member: (Offset=92) unsigned short 
                                                                    -No References 
 fst_tne_exp_rej                32135   2       word                Member: (Offset=94) unsigned short 
                                                                    -No References 
 fst_connection                 32136   2       word                Member: (Offset=96) unsigned short 
                                                                    -No References 
 fst_ebf_error                  32137   2       word                Member: (Offset=98) unsigned short 
                                                                    -No References 
fstat_extended                  32143   156     byte                Tag: struct fstat_extended
                                                                    Ref: 32623
 fst_second                     32144   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 fst_frame                      32145   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
 fst_error                      32146   4       long                Member: (Offset=8) unsigned long 
                                                                    -No References 
 fst_lost                       32147   4       long                Member: (Offset=12) unsigned long 
                                                                    -No References 
 fst_bytercvd                   32148   4       long                Member: (Offset=16) unsigned long 
                                                                    -No References 
 fst_bytesent                   32149   4       long                Member: (Offset=20) unsigned long 
                                                                    -No References 
 fst_pdurcvd                    32150   4       long                Member: (Offset=24) unsigned long 
                                                                    -No References 
 fst_pdusent                    32151   4       long                Member: (Offset=28) unsigned long 
                                                                    -No References 
 fst_mbytercvd                  32152   4       long                Member: (Offset=32) unsigned long 
                                                                    -No References 
 fst_mpdurcvd                   32153   4       long                Member: (Offset=36) unsigned long 
                                                                    -No References 
 fst_mbytesent                  32154   4       long                Member: (Offset=40) unsigned long 
                                                                    -No References 
 fst_mpdusent                   32155   4       long                Member: (Offset=44) unsigned long 
                                                                    -No References 
 fst_underrun                   32156   4       long                Member: (Offset=48) unsigned long 
                                                                    -No References 
 fst_sendfail                   32157   4       long                Member: (Offset=52) unsigned long 
                                                                    -No References 
 fst_fcserror                   32158   4       long                Member: (Offset=56) unsigned long 
                                                                    -No References 
 fst_fseerror                   32159   4       long                Member: (Offset=60) unsigned long 
                                                                    -No References 
 fst_pdualig                    32160   4       long                Member: (Offset=64) unsigned long 
                                                                    -No References 
 fst_pdulen                     32161   4       long                Member: (Offset=68) unsigned long 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2128
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 fst_pduunrecog                 32162   4       long                Member: (Offset=72) unsigned long 
                                                                    -No References 
 fst_mpduunrecog                32163   4       long                Member: (Offset=76) unsigned long 
                                                                    -No References 
 fst_overrun                    32164   4       long                Member: (Offset=80) unsigned long 
                                                                    -No References 
 fst_sysbuf                     32165   4       long                Member: (Offset=84) unsigned long 
                                                                    -No References 
 fst_userbuf                    32166   4       long                Member: (Offset=88) unsigned long 
                                                                    -No References 
 fst_ringinit                   32167   4       long                Member: (Offset=92) unsigned long 
                                                                    -No References 
 fst_ringinitrcv                32168   4       long                Member: (Offset=96) unsigned long 
                                                                    -No References 
 fst_ringbeacon                 32169   4       long                Member: (Offset=100) unsigned long 
                                                                    -No References 
 fst_ringbeaconrecv             32170   4       long                Member: (Offset=104) unsigned long 
                                                                    -No References 
 fst_duptoken                   32171   4       long                Member: (Offset=108) unsigned long 
                                                                    -No References 
 fst_dupaddfail                 32172   4       long                Member: (Offset=112) unsigned long 
                                                                    -No References 
 fst_ringpurge                  32173   4       long                Member: (Offset=116) unsigned long 
                                                                    -No References 
 fst_bridgestrip                32174   4       long                Member: (Offset=120) unsigned long 
                                                                    -No References 
 fst_traceinit                  32175   4       long                Member: (Offset=124) unsigned long 
                                                                    -No References 
 fst_tracerecv                  32176   4       long                Member: (Offset=128) unsigned long 
                                                                    -No References 
 fst_lem_rej                    32177   4       long                Member: (Offset=132) unsigned long 
                                                                    -No References 
 fst_lem_events                 32178   4       long                Member: (Offset=136) unsigned long 
                                                                    -No References 
 fst_lct_rej                    32179   4       long                Member: (Offset=140) unsigned long 
                                                                    -No References 
 fst_tne_exp_rej                32180   4       long                Member: (Offset=144) unsigned long 
                                                                    -No References 
 fst_connection                 32181   4       long                Member: (Offset=148) unsigned long 
                                                                    -No References 
 fst_ebf_error                  32182   4       long                Member: (Offset=152) unsigned long 
                                                                    -No References 
fstatus                         32293   88      byte                Tag: struct fstatus
                                                                    Ref: 32624
 led_state                      32294   2       word                Member: (Offset=0) signed short 
                                                                    -No References 
 rmt_state                      32295   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 link_state                     32296   2       word                Member: (Offset=4) signed short 
                                                                    -No References 
 dup_add_test                   32297   2       word                Member: (Offset=6) signed short 
                                                                    -No References 
 ring_purge_state               32298   2       word                Member: (Offset=8) signed short 
                                                                    -No References 
 neg_trt                        32299   4       long                Member: (Offset=10) unsigned int 
                                                                    -No References 
 upstream                       32300   6       byte                Member: (Offset=14) array of unsigned char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2129
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 downstream                     32301   6       byte                Member: (Offset=20) array of unsigned char 
                                                                    -No References 
 una_timed_out                  32302   1       byte                Member: (Offset=26) unsigned char 
                                                                    -No References 
 frame_strip_mode               32303   1       byte                Member: (Offset=27) unsigned char 
                                                                    -No References 
 claim_token_mode               32304   1       byte                Member: (Offset=28) unsigned char 
                                                                    -No References 
 phy_state                      32305   1       byte                Member: (Offset=29) unsigned char 
                                                                    -No References 
 neighbor_phy_type              32306   1       byte                Member: (Offset=30) unsigned char 
                                                                    -No References 
 rej_reason                     32307   1       byte                Member: (Offset=31) unsigned char 
                                                                    -No References 
 phy_link_error                 32308   4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
 ring_error                     32309   1       byte                Member: (Offset=36) unsigned char 
                                                                    -No References 
 t_req                          32310   4       long                Member: (Offset=37) unsigned int 
                                                                    -No References 
 tvx                            32311   4       long                Member: (Offset=41) unsigned int 
                                                                    -No References 
 t_max                          32312   4       long                Member: (Offset=45) unsigned int 
                                                                    -No References 
 lem_threshold                  32313   4       long                Member: (Offset=49) unsigned int 
                                                                    -No References 
 rtoken_timeout                 32314   4       long                Member: (Offset=53) unsigned int 
                                                                    -No References 
 fw_rev                         32315   4       byte                Member: (Offset=57) array of unsigned char 
                                                                    -No References 
 phy_rev                        32316   4       byte                Member: (Offset=61) array of unsigned char 
                                                                    -No References 
 pmd_type                       32317   1       byte                Member: (Offset=65) unsigned char 
                                                                    -No References 
 dir_beacon                     32318   6       byte                Member: (Offset=66) array of unsigned char 
                                                                    -No References 
 smt_version                    32319   2       word                Member: (Offset=72) signed short 
                                                                    -No References 
 state                          32320   2       word                Member: (Offset=74) signed short 
                                                                    -No References 
 dir_beacon_una                 32321   6       byte                Member: (Offset=76) array of unsigned char 
                                                                    -No References 
 cnt_interval                   32322   2       word                Member: (Offset=82) signed short 
                                                                    -No References 
 full_duplex_mode               32323   2       word                Member: (Offset=84) signed short 
                                                                    -No References 
 full_duplex_state              32324   2       word                Member: (Offset=86) signed short 
                                                                    -No References 
ftp_acc                         88884   4       long    Static Def  short pointer to char 
                                                                    Ref: 88884=, 90806&, 90810&, 90948&, 90950, 90951, 96160&, 
                                                                    96162, 96163, 103149
ftp_action                      88598   4       long    Extern Def  signed int 
                                                                    Ref: 88598=, 90030, 90070=, 90132, 90140=
ftp_apw                         88608   4       long    Extern Def  short pointer to char 
                                                                    Ref: 88608=, 90526&, 96569, 96569, 103119, 103120
ftp_aut                         88840   4       long    Static Def  signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2130
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 88840=, 90462&, 96465=, 96491=, 96492, 96572, 96630, 
                                                                    96632, 96640, 96642, 98021, 98776, 98777, 103336
ftp_auth                        89615   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_auth                        101841  4       long    Static Def. Function returning signed int 
                                                                    Ref: 98022()
ftp_auth_type                   89167   32      long    Static Def  array of signed int 
                                                                    Ref: 89167=, 90264[], 90265[], 90267[], 90270=[], 90270[], 
                                                                    90271=[], 90279[], 90280[], 90282[], 90285=[], 90285[], 90286
                                                                    =[], 90607=[], 90608=[], 90610=[], 90613=[], 101864[], 102200
                                                                    [], 102242[]
ftp_authtype                    103404  4       long    Extern Def. Function returning short pointer to char 
                                                                    -No References 
ftp_bug_use_ssl_v2              88865   4       long    Static Def  signed int 
                                                                    Ref: 88865=, 90536&, 98127, 98163
ftp_bug_use_ssl_v3              88866   4       long    Static Def  signed int 
                                                                    Ref: 88866=, 90538&
ftp_cfw                         88843   4       long    Static Def  signed int 
                                                                    Ref: 88843=, 90550&, 96684
ftp_cmdlin                      88592   4       long    Extern Def  signed int 
                                                                    Ref: 88592=, 93360, 94916, 97952, 99033, 99288, 103041, 
                                                                    103231
ftp_cnv                         88858   4       long    Static Def  signed int 
                                                                    Ref: 88858=, 90420=, 92728, 92844, 94090, 94100, 94471, 94482
                                                                    , 96586, 96586
ftp_cpl                         88845   4       long    Static Def  signed int 
                                                                    Ref: 88845=, 96686, 97859=, 98012=, 98030=, 98044=, 98484, 
                                                                    98572, 102218=, 102257=, 102589=, 102595=, 102600=, 103412
ftp_cpl_mode                    103411  4       long    Extern Def. Function returning short pointer to char 
                                                                    -No References 
ftp_cry                         88842   4       long    Static Def  signed int 
                                                                    Ref: 88842=, 90167=, 90547&, 96682, 98023
ftp_csl                         88878   4       long    Extern Def  signed int 
                                                                    Ref: 88878=, 91029, 91077, 91175, 91223, 91252, 91763, 91937=
                                                                    , 91947=, 92161=, 92200=, 92852, 94109, 94490, 95983, 96078, 
                                                                    102945, 103302, 103608, 103614
ftp_csr                         88873   4       long    Static Def  signed int 
                                                                    Ref: 88873=, 90481=, 91032, 91080, 91181, 91226, 91255, 91766
                                                                    , 92851, 94115, 94489, 95986, 96081, 96610, 102945, 103305, 
                                                                    103609, 103620
ftp_csx                         88877   4       long    Extern Def  signed int 
                                                                    Ref: 88877=, 91031, 91079, 91180, 91225, 91254, 91765, 91936=
                                                                    , 91946=, 92160=, 92199=, 94114, 95985, 96080, 103304, 103619
ftp_dates                       88599   4       long    Extern Def  signed int 
                                                                    Ref: 88599=, 90490&, 91877, 92039, 93782=, 95163=, 96109=, 
                                                                    96583
ftp_deb                         88594   4       long    Extern Def  signed int 
                                                                    Ref: 88594=, 89984=, 90154, 90168, 90205, 90213, 90329, 90424
                                                                    &, 91235, 93718, 94144, 94243, 95061, 96102, 96588, 97676, 
                                                                    97689, 97784, 98568, 98891, 99000, 99032, 99035, 99114, 99288
                                                                    , 99312, 100295, 100559, 100584, 100655, 100662, 100811, 
                                                                    102236, 102276, 103068, 103072, 103698, 103705, 103710, 
                                                                    103747, 103777
ftp_dis                         88595   4       long    Extern Def  signed int 
                                                                    Ref: 88595=, 93338, 93339, 94468, 94469, 96617
ftp_dpl                         88846   4       long    Static Def  signed int 
                                                                    Ref: 88846=, 90359, 96688, 97859=, 97946=, 98012=, 98040=, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2131
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    100606, 101483, 101526, 102217=, 102256=, 102544=, 102563=, 
                                                                    103428
ftp_dpl_mode                    103427  4       long    Extern Def. Function returning short pointer to char 
                                                                    -No References 
ftp_err                         88861   4       long    Static Def  signed int 
                                                                    Ref: 88861=, 90469=, 92863, 94496, 96584
ftp_fai                         88593   4       long    Extern Def  signed int 
                                                                    Ref: 88593=, 92744=, 93931=, 94232=, 94374=, 95866=
ftp_fnc                         88862   4       long    Static Def  signed int 
                                                                    Ref: 88862=, 90412=, 94082, 94083=, 94165, 94175, 94317, 
                                                                    94327, 94516, 94516, 96601, 96601
ftp_hookup                      88665   4       long    Static      Function returning short pointer to char 
                                                                    -No References 
ftp_hookup                      89638   4       long    Static      Function returning short pointer to char 
                                                                    -No References 
ftp_hookup                      102672  4       long    Static Def. Function returning short pointer to char 
                                                                    Ref: 98008(), 102232(), 102272()
ftp_host                        88605   4       long    Extern Def  short pointer to char 
                                                                    Ref: 88605=, 89890, 90117&, 90664, 91190, 91192, 96548, 97972
                                                                    , 102760=, 102974
ftp_init                        102991  0       byte    Static Def. Function returning void 
                                                                    Ref: 103235(), 103397()
ftp_log                         88596   4       long    Extern Def  signed int 
                                                                    Ref: 88596=, 89988=, 90427&, 90703=, 90853, 90854=, 96571, 
                                                                    98051, 103101
ftp_login                       88675   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_login                       89618   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_login                       103088  4       long    Static Def. Function returning signed int 
                                                                    Ref: 98052()
ftp_logname                     88606   4       long    Extern Def  short pointer to char 
                                                                    Ref: 88606=, 89889, 90121&, 90130&, 90692&, 90775&, 90793&, 
                                                                    90800&, 90916, 90917, 90918=, 96559, 103101, 103103, 103105, 
                                                                    103133, 103134, 103227&, 103395&
ftp_nml                         88882   4       long    Extern Def  short pointer to char 
                                                                    Ref: 88882=, 94523&, 94833&, 95057, 95185, 95186, 95187[], 
                                                                    95187[], 95190, 95192, 96119&
ftp_port                        88893   4       long    Static Def  signed int 
                                                                    Ref: 88893=, 89891, 97989=, 97991=, 97998=, 97999=, 97999, 
                                                                    98002=, 98003, 98008, 102232, 102272
ftp_prm                         88857   4       long    Static Def  signed int 
                                                                    Ref: 88857=, 90459&, 92846, 94484, 96591
ftp_psv                         88851   4       long    Static Def  signed int 
                                                                    Ref: 88851=, 90078=, 90079, 90699=, 90849, 90850=, 96008&, 
                                                                    96009, 96590, 96593, 98065
ftp_rdir                        88607   4       long    Extern Def  short pointer to char 
                                                                    Ref: 88607=, 90074&, 103241, 103242
ftp_rename                      88676   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_rename                      89620   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_rename                      103294  4       long    Static Def. Function returning signed int 
                                                                    Ref: 91109(), 92455(), 95849()
ftp_reply_str                   88602   10240   byte    Extern Def  array of char 
                                                                    Ref: 88602=, 91790, 92028&[], 92062, 92315&[], 92352, 94154
                                                                    &[], 94305&[], 95570&[], 95646&[], 96252, 98906, 99083&[], 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2132
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    99110, 99135, 99144, 99333, 99335, 99751&[], 99757, 99766, 
                                                                    103011, 103013, 103021, 103022
ftp_reset                       89619   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_reset                       103254  4       long    Static Def. Function returning signed int 
                                                                    Ref: 91121()
ftp_spc                         88852   4       long    Static Def  signed int 
                                                                    Ref: 88852=, 90433&, 90434, 98066
ftp_srvtyp                      88603   32      byte    Extern Def  array of char 
                                                                    Ref: 88603=, 96555[], 96555, 97980=[], 103022, 103026, 103028
                                                                    , 103029, 103030, 103031, 103032, 103033, 103034
ftp_timed_out                   88496   4       long    Extern Def  signed int 
                                                                    Ref: 88496=, 92003, 92058, 92653=, 92655=, 94234, 94376, 
                                                                    95770, 95868, 95869, 100371, 100466=, 100648=, 100757, 101026
                                                                    , 101027, 104038=, 104040=, 104516=
ftp_timeout                     88497   4       long    Extern Def  signed long 
                                                                    Ref: 88497=, 90498=, 92601, 92608, 96579
ftp_tmp                         88883   4       long    Extern Def  short pointer to char 
                                                                    Ref: 88883=, 90083&, 90124&, 90782&, 90786&, 90920, 90921, 
                                                                    90922=, 103117, 103118, 103135, 103136, 103138, 103139, 
                                                                    103197&
ftp_typ                         88853   4       long    Static Def  signed int 
                                                                    Ref: 88853=, 90441=, 90443, 90935=, 91013=, 91014, 91940, 
                                                                    91971, 92065, 92149=, 92150, 92155, 92156=, 92164, 92204, 
                                                                    92255, 92258, 92261, 92273, 92355, 92868=, 93353=, 93356=, 
                                                                    93359=, 93362=, 94300, 94506=, 94909=, 94912=, 94915=, 94918=
                                                                    , 95090, 95169, 95170, 95565, 96089=, 96445=, 96447, 96448, 
                                                                    96543=, 96573, 99770, 100058, 100096, 100104, 100106, 100109
                                                                    , 100308, 100904, 100945, 103042=, 103044=, 103045, 103046, 
                                                                    103049
ftp_umask                       88677   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_umask                       89621   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_umask                       103316  4       long    Static Def. Function returning signed int 
                                                                    Ref: 96427()
ftp_user                        88678   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_user                        89617   4       long    Static      Function returning signed int 
                                                                    -No References 
ftp_user                        103328  4       long    Static Def. Function returning signed int 
                                                                    Ref: 90996()
ftp_user_host                   88604   976     byte    Extern Def  array of char 
                                                                    Ref: 88604=, 98010, 98399, 101428, 102232, 102272
ftp_usn                         88856   4       long    Static Def  signed int 
                                                                    Ref: 88856=, 90447&, 92845, 96594
ftp_vbm                         88859   4       long    Static Def  signed int 
                                                                    Ref: 88859=, 90450&, 90452, 90951, 91014, 91083, 91088, 91205
                                                                    , 91208, 94152, 94303, 95568, 95644, 95653, 95656, 95659, 
                                                                    95784, 95979, 95994, 95995=, 95996, 95998, 96001=, 96103=, 
                                                                    96105=, 96107=, 96163, 96192, 96243, 96437, 96448, 96481, 
                                                                    97681, 97908, 97910, 98037, 98896, 99576, 99694, 99748, 99821
                                                                    , 99839, 100001, 100225, 100486, 100503, 100867, 101060, 
                                                                    101304, 102207, 102209, 102249, 102510, 102513, 102517, 
                                                                    102561, 102593, 102945, 103170, 103216, 103225, 103268, 
                                                                    103286, 103308, 103309, 103345, 103384, 103392
ftp_vbx                         88860   4       long    Static Def  signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2133
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 88860=, 90452=, 96107, 96592
ftp_xfermode                    88600   4       long    Extern Def  signed int 
                                                                    Ref: 88600=, 90021=, 90934=, 92140, 93360, 94916, 95168, 
                                                                    97907=, 98057=, 103041
ftp_xla                         88875   4       long    Static Def  signed int 
                                                                    Ref: 88875=, 90474&, 90482=, 91028, 91076, 91166, 91222, 
                                                                    91251, 91762, 92855, 94493, 95982, 96077, 96607, 103301, 
                                                                    103607, 103612
ftpauth                         89184   48      long    Static Def  array of struct keytab
                                                                    Ref: 89184=, 89222, 90568
ftpbugtab                       89117   24      long    Static Def  array of struct keytab
                                                                    Ref: 89117=, 89122, 90531
ftpbye                          28523   4       long    Extern      Function returning signed int 
                                                                    -No References 
ftpbye                          90659   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 96062()
ftpclose                        89604   4       long    Static      Function returning signed int 
                                                                    -No References 
ftpclose                        97903   4       long    Static Def. Function returning signed int 
                                                                    Ref: 90665(), 96201(), 102331(), 102343()
ftpcmd                          88679   4       long    Static      Function returning signed int 
                                                                    -No References 
ftpcmd                          89611   4       long    Static      Function returning signed int 
                                                                    -No References 
ftpcmd                          97668   4       long    Static Def. Function returning signed int 
                                                                    Ref: 90951(), 91036(), 91041(), 91083(), 91088(), 91135(), 
                                                                    91208(), 91232(), 91237(), 91260(), 91265(), 91274(), 91279()
                                                                    , 91787(), 94152(), 94303(), 95568(), 95644(), 95656(), 95784
                                                                    (), 95996(), 96163(), 96192(), 96223(), 96228(), 96243(), 
                                                                    96387(), 96401(), 96411(), 96437(), 96462(), 96481(), 97910()
                                                                    , 98037(), 99444(), 99748(), 99821(), 99839(), 100486(), 
                                                                    100503(), 101060(), 101304(), 102207(), 102209(), 102249(), 
                                                                    102340(), 102560(), 102593(), 103000(), 103008(), 103054(), 
                                                                    103059(), 103065(), 103170(), 103173(), 103174(), 103193(), 
                                                                    103216(), 103225(), 103286(), 103308(), 103309(), 103322(), 
                                                                    103345(), 103347(), 103366(), 103384(), 103392()
ftpcmdbuf                       88913   10240   byte    Static TDef array of char 
                                                                    Ref: 96188, 96190, 96192, 101301, 101304, 102335, 102340
ftpcmdtab                       88973   576     long    Static Def  array of struct keytab
                                                                    Ref: 88973=, 89023, 96129, 97257
ftpcode                         88591   4       long    Extern Def  signed int 
                                                                    Ref: 88591=, 91038, 91038, 91085, 91085, 91234, 91234, 91262
                                                                    , 91262, 91276, 91276, 91850, 91851, 91852, 91853, 92015, 
                                                                    92314, 97714=, 97743=, 97973=, 97994=, 98005=, 98084=, 98905=
                                                                    , 98994=, 98995, 99007=, 99008, 99036, 99065=, 99065, 99066, 
                                                                    99080=, 99106, 99106, 99106, 99115, 99156, 99157, 99157, 
                                                                    99157, 99158, 99160, 99168, 99172, 99173, 99192, 99301, 99303
                                                                    , 99310, 99536=, 99605=, 99657=, 99695=, 99822, 99838, 100249
                                                                    =, 100299=, 100311=, 100360=, 100375, 100376=, 100515=, 
                                                                    100580=, 100649=, 100658=, 100661=, 100828, 100829, 100868, 
                                                                    101017=, 102238, 102238, 102278, 102278, 102510, 102743=, 
                                                                    102765=, 102812=, 102822=, 102832=, 102926=, 102952=, 103264=
                                                                    , 103672, 103672
ftpcolxtab                      89131   108     long    Static Def  array of struct keytab
                                                                    Ref: 89131=, 89151, 90408, 94679
ftpenatab                       89068   108     long    Static Def  array of struct keytab
                                                                    Ref: 89068=, 89079, 96486

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2134
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

ftpget                          88589   4       long    Extern Def  signed int 
                                                                    Ref: 88589=, 96650
ftpisconnected                  21721   4       long    Extern      Function returning signed int 
                                                                    -No References 
ftpisconnected                  90348   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
ftpisloggedin                   21722   4       long    Extern      Function returning signed int 
                                                                    -No References 
ftpisloggedin                   90353   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
ftpisopen                       97898   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
ftpissecure                     21723   4       long    Extern      Function returning signed int 
                                                                    -No References 
ftpissecure                     90358   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 92647(), 92660(), 103982(), 103992(), 104045(), 104501()
ftplogactive                    89829   4       long    Extern Def  signed int 
                                                                    Ref: 89829=, 89839, 89842, 89845=, 89886=
ftplogbuf                       89828   1024    byte    Extern Def  array of char 
                                                                    Ref: 89828=, 89840, 89842[], 89847, 89850, 89864, 89865, 
                                                                    89874, 89888, 89892
ftplogend                       89833   0       byte    Extern Def. Function returning void 
                                                                    Ref: 89884(), 97861(), 97948()
ftplogprev                      89830   4       long    Extern Def  signed long 
                                                                    Ref: 89830=, 89862=, 89867=, 89885=
ftpopen                         28516   4       long    Extern      Function returning signed int 
                                                                    -No References 
ftpopen                         97964   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 90872(), 90886(), 90895(), 90904()
ftppro                          89518   60      long    Static Def  array of struct keytab
                                                                    Ref: 89518=, 89525, 90553, 90559
ftprecv                         100197  72      quad    Static TDef struct xx_ftprecv
                                                                    Ref: 100225=., 100225., 100225., 100247., 100248., 100257., 
                                                                    100258., 100289., 100292., 100297., 100298., 100308., 100310.
                                                                    , 100355., 100356., 100361., 100368., 100399., 100413., 
                                                                    100414., 100417., 100419., 100427., 100437., 100438., 100469
                                                                    =., 100485., 100486., 100489=., 100490., 100492=., 100497., 
                                                                    100497., 100500., 100501., 100503., 100503., 100503., 100503.
                                                                    , 100505., 100512=., 100513., 100514., 100534., 100534., 
                                                                    100534., 100539=., 100541=., 100546., 100547., 100548., 
                                                                    100554., 100555., 100556., 100560., 100596., 100605., 100613.
                                                                    , 100664., 100664., 100664., 100667., 100670., 100676., 
                                                                    100678., 100686., 100686., 100687., 100697., 100708., 100747.
                                                                    , 100748., 100754., 100796., 100816., 100826., 100828., 
                                                                    100843., 100844., 100848., 100850., 100851., 100860., 100867
                                                                    =., 100867., 100867., 100868., 100869., 100912=., 100947=., 
                                                                    100949., 100960=., 100969=., 100971., 100974., 100975., 
                                                                    101004=., 101004., 101006=., 101007=., 101008=., 101009=., 
                                                                    101010=., 101011=., 101012=., 101013=., 101014=., 101015=., 
                                                                    101016=., 101020=.
ftprecvret                      100199  4       long    Static Def  signed int 
                                                                    Ref: 100199=, 100250=, 100300=, 100312=, 100319=, 100362=, 
                                                                    100428=, 100506=, 100516=, 100561=, 100587=, 100868=, 101025
                                                                    , 101028=, 101031, 101036
ftprmt                          95955   180     long    Static Def  array of struct keytab
                                                                    Ref: 95955=, 95972, 96030
ftpset                          89236   396     long    Static Def  array of struct keytab

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2135
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 89236=, 89287, 90403, 97354
ftpsnd                          88723   48      long    Static TDef struct _ftpsnd
                                                                    Ref: 92508=., 99531., 99533., 99534., 99576=., 99576., 99576.
                                                                    , 99577., 99599., 99600., 99602., 99603., 99611., 99612., 
                                                                    99641., 99651., 99653., 99654., 99694=., 99694., 99694., 
                                                                    99703., 99704., 99739., 99743., 99748., 99748., 99748., 99764
                                                                    ., 99765., 99765., 99784., 99786., 99811=., 99819=., 99821., 
                                                                    99821., 99821., 99821., 99822., 99839., 99839., 99839., 99845
                                                                    ., 99847., 99848., 99863., 99881=., 99939., 99943=., 99949., 
                                                                    99950., 99950., 99952., 99953., 99970=., 100001=., 100001., 
                                                                    100001., 100002., 100004., 100005., 100007., 100007., 100008.
                                                                    , 100015., 100022., 100048=., 100060=., 100061=., 100062=., 
                                                                    100063=., 100064=., 100119=., 100120=., 100121=., 100122=., 
                                                                    100123=., 100124=.
ftpsndbuf                       88708   10304   byte    Static TDef array of char 
                                                                    Ref: 99737
ftpsndret                       88712   4       long    Static Def  signed int 
                                                                    Ref: 88712=, 99538=, 99547=, 99658=, 99696=, 99776=, 99789=, 
                                                                    99856=, 100009=, 100016=, 100023=, 100118=, 100129, 100134
ftpswitab                       89047   108     long    Static Def  array of struct keytab
                                                                    Ref: 89047=, 89058, 90714, 90835
ftptyp                          89508   60      long    Static Def  array of struct keytab
                                                                    Ref: 89508=, 89515, 90438, 96441
ftpztab                         89680   192     long    Static Def  array of struct keytab
                                                                    Ref: 89680=, 89701, 90201, 90207[], 90216[]
ftreset                         28409   0       byte    Extern      Function returning void 
                                                                    Ref: 94028(), 95950()
fts_cpl                         88680   4       long    Static      Function returning signed int 
                                                                    -No References 
fts_cpl                         89612   4       long    Static      Function returning signed int 
                                                                    -No References 
fts_cpl                         102571  4       long    Static Def. Function returning signed int 
                                                                    Ref: 90555()
fts_dpl                         88681   4       long    Static      Function returning signed int 
                                                                    -No References 
fts_dpl                         89613   4       long    Static      Function returning signed int 
                                                                    -No References 
fts_dpl                         102526  4       long    Static Def. Function returning signed int 
                                                                    Ref: 90561()
fts_sto                         88710   4       long    Static Def  short pointer to char 
                                                                    Ref: 88710=, 90519=, 91800, 91802, 91803, 96603, 96603
ftscreen                        88664   0       byte    Static      Function returning void 
                                                                    -No References 
ftscreen                        90364   0       byte    Static Def. Function returning void 
                                                                    Ref: 91342(), 91354(), 91440(), 91461(), 91967(), 91968(), 
                                                                    91969(), 92010(), 92013(), 92018(), 92021(), 92025(), 92028()
                                                                    , 92031(), 92033(), 92234(), 92235(), 92236(), 92245(), 92250
                                                                    (), 92309(), 92312(), 92315(), 92318(), 92320(), 92670(), 
                                                                    92802(), 94022(), 94190(), 94191(), 94342(), 94343(), 94412()
                                                                    , 95250(), 95251(), 95597(), 95599(), 95601(), 95625(), 95735
                                                                    (), 95871(), 95876(), 95932(), 100113(), 101399(), 101424(), 
                                                                    103998(), 104325(), 104474(), 104534()
ftyptab                         98727   48      long    Static Def  array of struct keytab
                                                                    Ref: 98727=, 98733, 98831
g_displa                        88509   4       long    Extern      signed int 
                                                                    Ref: 93337=, 94467=
g_ftp_typ                       88880   4       long    Static Def  signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2136
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 88880=, 90442=, 90936=, 92867, 92868, 93363=, 94505, 
                                                                    94506, 94919=, 96088, 96089, 96446=, 96542, 96543, 103046=
g_skipbup                       88508   4       long    Extern      signed int 
                                                                    Ref: 93340=, 93343=
g_url                           88466   160     long    Extern      struct urldata
                                                                    Ref: 90092., 90099., 90101., 90104., 90105., 90106., 90107., 
                                                                    90108=., 90108., 90109=., 90109., 90110=., 90113., 90113., 
                                                                    90117., 90118., 90120., 90123., 90124., 90126., 90127., 90138
                                                                    ., 100524.
get_auto                        88854   4       long    Static Def  signed int 
                                                                    Ref: 88854=, 90487&, 90937=, 95168, 96582
getenv                          17888   4       long    Extern      Function returning short pointer to char 
                                                                    -No References 
getenv                          20036   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 98361(), 103536(), 103538(), 103539(), 103540()
geterror                        88761   4       long    Static Def  signed int 
                                                                    Ref: 88761=, 94237, 94379, 94496=, 95076=, 95272, 95623, 
                                                                    95874
getfile                         88682   4       long    Static      Function returning signed int 
                                                                    -No References 
getfile                         91897   4       long    Static Def. Function returning signed int 
                                                                    Ref: 94202(), 94216(), 94354(), 95765()
gethostbyname                   36441   4       long    Extern      Function returning short pointer to struct hostent
                                                                    Ref: 102737()
getreply                        88683   4       long    Static      Function returning signed int 
                                                                    -No References 
getreply                        89606   4       long    Static      Function returning signed int 
                                                                    -No References 
getreply                        98853   4       long    Static Def. Function returning signed int 
                                                                    Ref: 95998(), 97787(), 99153(), 99576(), 99694(), 100001(), 
                                                                    100225(), 100867(), 102510(), 102513(), 102517(), 102945(), 
                                                                    103268()
getservbyname                   36407   4       long    Extern      Function returning short pointer to struct servent
                                                                    Ref: 97986()
getsockname                     30799   4       long    Extern      Function returning signed int 
                                                                    Ref: 101290(), 102829()
getswi                          89400   528     long    Static Def  array of struct keytab
                                                                    Ref: 89400=, 89478, 94567
gftimer                         16209   8       quad    Extern      Function returning double 
                                                                    Ref: 99644(), 99976(), 100352(), 100855()
globaldin                       88753   4       long    Static Def  signed int 
                                                                    Ref: 88753=, 97853=, 97940=, 99597=, 99682=, 100167, 100245=
                                                                    , 100395=, 100513=, 101055=, 101266=, 101332=, 101371=, 
                                                                    101395=, 101418=, 101440=, 101502=, 101514=, 104143=, 104355=
gmstimer                        90382   4       long    Extern Def. Function returning signed long 
                                                                    Ref: 91978(), 91991(), 92282(), 92294(), 92709(), 92788(), 
                                                                    93869(), 94009(), 94105(), 94398(), 95155(), 95918(), 100600
                                                                    (), 100853()
gmtime                          23289   4       long    Extern      Function returning short pointer to struct tm
                                                                    Ref: 91774()
gnferror                        88487   4       long    Extern      signed int 
                                                                    Ref: 92716, 93892
gnfile                          24914   4       long    Extern      Function returning signed int 
                                                                    Ref: 92714(), 93889()
gprtab                          88962   36      long    Extern Def  array of struct keytab
                                                                    Ref: 88962=
gskreason                       89603   4       long    Extern      Function returning short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2137
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 92345()
hashtab                         89748   48      long    Static Def  array of struct keytab
                                                                    Ref: 89748=, 89754
haveftpuid                      89914   4       long    Extern      signed int 
                                                                    Ref: 90009=, 90014=, 90119=, 90128=
havemdtm                        88775   4       long    Static Def  short pointer to char 
                                                                    Ref: 88775=, 91784, 91785, 94080&, 94503&, 98823&, 98824, 
                                                                    103782&, 103856
havesigint                      88772   4       long    Static Def  signed int 
                                                                    Ref: 88772=, 97717=, 98901=, 99378=, 99608, 99609=, 99700, 
                                                                    99701=, 100125=, 100144=, 100254, 100255=, 100430, 100431=, 
                                                                    101019=
havesize                        88774   8       quad    Static Def  signed int64 
                                                                    Ref: 88774=, 94079=, 94289, 94290, 94502=, 95553, 95554, 
                                                                    95638, 95639, 98827=, 98828, 103780=, 103854
havetype                        88773   4       long    Static Def  signed long 
                                                                    Ref: 88773=, 94078=, 94283, 94284, 94284, 94501=, 95316, 
                                                                    95317, 95317, 98833=, 103781=, 103792, 103855
haveurl                         88765   4       long    Static Def  signed int 
                                                                    Ref: 88765=, 90143=, 94215, 100524, 103220
hhmmss                          21955   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 89863()
hisctladdr                      97621   16      byte    Static TDef struct sockaddr_in
                                                                    Ref: 102728&, 102728, 102729=., 102730., 102733=., 102749=., 
                                                                    102751., 102751., 102761., 102771=., 102788&, 102788, 102795.
                                                                    , 102799., 102799., 102803., 102809.
hisdataaddr                     97622   16      byte    Static TDef struct sockaddr_in
                                                                    Ref: 101246&, 101476, 101490&
hmsga                           28323   4       long    Extern      Function returning signed int 
                                                                    Ref: 97268(), 97270(), 97272(), 97274(), 97276(), 97278(), 
                                                                    97280(), 97282(), 97284(), 97286(), 97288(), 97290(), 97292()
                                                                    , 97294(), 97296(), 97298(), 97300(), 97302(), 97304(), 97306
                                                                    (), 97308(), 97310(), 97312(), 97314(), 97316(), 97318(), 
                                                                    97320(), 97322(), 97324(), 97326(), 97328(), 97330(), 97332()
                                                                    , 97334(), 97336(), 97338(), 97340(), 97342()
hostent                         36104   20      byte                Tag: struct hostent
                                                                    Ref: 35982, 35983, 36478, 36479, 40894, 40894, 58347, 102677
 h_name                         36105   4       long                Member: (Offset=0) short pointer to char 
                                                                    Ref: 102757.
 h_aliases                      36106   4       long                Member: (Offset=4) short pointer to short pointer to char 
                                                                    -No References 
 h_addrtype                     36107   4       long                Member: (Offset=8) signed int 
                                                                    Ref: 102749.
 h_length                       36108   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
 h_addr_list                    36109   4       long                Member: (Offset=16) short pointer to short pointer to char 
                                                                    Ref: 102751[], 102791[], 102798=., 102799[]
htonl                           33088   4       long    Extern      Function returning unsigned int 
                                                                    -No References 
htonl                           34933   4       long    Extern      Function returning unsigned int 
                                                                    Ref: 101227(), 104269()
htons                           33089   2       word    Extern      Function returning unsigned short 
                                                                    -No References 
htons                           34934   2       word    Extern      Function returning unsigned short 
                                                                    Ref: 101228(), 102771()
i                               88779   4       long    Static TDef signed int 
                                                                    Ref: 92871=, 92871, 92872, 92873, 92874, 92871=, 94024=, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2138
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    94024, 94025, 94026, 94024=
ifaddr                          31794   36      byte                Tag: struct ifaddr
                                                                    Ref: 31588, 31800
 ifa_addr                       31795   4       long                Member: (Offset=0) short pointer to struct sockaddr
                                                                    -No References 
 ifa_dstaddr                    31796   4       long                Member: (Offset=4) short pointer to struct sockaddr
                                                                    -No References 
 ifa_netmask                    31798   4       long                Member: (Offset=8) short pointer to struct sockaddr
                                                                    -No References 
 ifa_ifp                        31799   4       long                Member: (Offset=12) short pointer to struct ifnet
                                                                    -No References 
 ifa_next                       31800   4       long                Member: (Offset=16) short pointer to struct ifaddr
                                                                    -No References 
 ifa_rtrequest                  31802   4       long                Member: (Offset=20) short pointer to function 
                                                                    -No References 
 ifa_rt                         31803   4       long                Member: (Offset=24) short pointer to struct rtentry
                                                                    -No References 
 ifa_flags                      31804   2       word                Member: (Offset=28) unsigned short 
                                                                    -No References 
 ifa_llinfolen                  31805   2       word                Member: (Offset=30) unsigned short 
                                                                    -No References 
 ifa_refcnt                     31806   4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
ifafilt                         31882   40      byte                Tag: struct ifafilt
                                                                    Ref: 31633, 31867
 ifaf_addr                      31883   16      byte                Member: (Offset=0) struct sockaddr
                                                                    -No References 
  sa_family                     30161   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  sa_data                       30162   14      byte                Member: (Offset=2) array of char 
                                                                    -No References 
 ifaf_mask                      31884   16      byte                Member: (Offset=16) struct sockaddr
                                                                    -No References 
  sa_family                     30161   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  sa_data                       30162   14      byte                Member: (Offset=2) array of char 
                                                                    -No References 
 ifaf_action                    31885   4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
 ifaf_cnt                       31886   4       long                Member: (Offset=36) unsigned int 
                                                                    -No References 
ifmulti                         31923   24      byte                Tag: struct ifmulti
                                                                    Ref: 31590, 31928
 ifm_addrlo                     31924   6       byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
 ifm_addrhi                     31925   6       byte                Member: (Offset=6) array of unsigned char 
                                                                    -No References 
 ifm_ifnet                      31926   4       long                Member: (Offset=12) short pointer to struct ifnet
                                                                    -No References 
 ifm_refcount                   31927   4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
 ifm_next                       31928   4       long                Member: (Offset=20) short pointer to struct ifmulti
                                                                    -No References 
ifnet                           31573   324     byte                Tag: struct ifnet
                                                                    Ref: 31575, 31595, 31597, 31598, 31599, 31602, 31634, 31635, 
                                                                    31799, 31926
 if_next                        31575   4       long                Member: (Offset=0) short pointer to struct ifnet

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2139
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 if_name                        31576   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 if_version                     31577   4       long                Member: (Offset=8) short pointer to char 
                                                                    -No References 
 if_addr                        31578   16      byte                Member: (Offset=12) struct sockaddr
                                                                    -No References 
  sa_family                     30161   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  sa_data                       30162   14      byte                Member: (Offset=2) array of char 
                                                                    -No References 
 if_flags                       31579   4       long                Member: (Offset=28) signed int 
                                                                    -No References 
 if_pfactive                    31580   4       long                Member: (Offset=32) signed int 
                                                                    -No References 
 if_unit                        31581   2       word                Member: (Offset=36) signed short 
                                                                    -No References 
 if_mtu                         31582   2       word                Member: (Offset=38) unsigned short 
                                                                    -No References 
 if_mediamtu                    31583   2       word                Member: (Offset=40) unsigned short 
                                                                    -No References 
 if_timer                       31584   2       word                Member: (Offset=42) signed short 
                                                                    -No References 
 if_metric                      31585   4       long                Member: (Offset=44) signed int 
                                                                    -No References 
 pad_a                          31586   4       long                Member: (Offset=48) array of signed int 
                                                                    -No References 
 if_addrlist                    31588   4       long                Member: (Offset=52) short pointer to struct ifaddr
                                                                    -No References 
 if_multiaddrs                  31590   4       long                Member: (Offset=56) short pointer to struct ifmulti
                                                                    -No References 
 if_multicnt                    31591   4       long                Member: (Offset=60) signed int 
                                                                    -No References 
 if_allmulticnt                 31592   4       long                Member: (Offset=64) signed int 
                                                                    -No References 
 if_init                        31594   4       long                Member: (Offset=68) short pointer to function 
                                                                    -No References 
 if_output                      31595   4       long                Member: (Offset=72) short pointer to function 
                                                                    -No References 
 if_start                       31597   4       long                Member: (Offset=76) short pointer to function 
                                                                    -No References 
 if_done                        31598   4       long                Member: (Offset=80) short pointer to function 
                                                                    -No References 
 if_ioctl                       31599   4       long                Member: (Offset=84) short pointer to function 
                                                                    -No References 
 if_reset                       31601   4       long                Member: (Offset=88) short pointer to function 
                                                                    -No References 
 if_watchdog                    31602   4       long                Member: (Offset=92) short pointer to function 
                                                                    -No References 
 drvr_softc                     31603   4       long                Member: (Offset=96) short pointer to void 
                                                                    -No References 
 if_reserved                    31604   20      long                Member: (Offset=100) array of signed long 
                                                                    -No References 
 if_ipackets                    31607   4       long                Member: (Offset=120) unsigned long 
                                                                    -No References 
 if_ierrors                     31608   4       long                Member: (Offset=124) unsigned long 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2140
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 if_opackets                    31609   4       long                Member: (Offset=128) unsigned long 
                                                                    -No References 
 if_oerrors                     31610   4       long                Member: (Offset=132) unsigned long 
                                                                    -No References 
 if_collisions                  31611   4       long                Member: (Offset=136) unsigned long 
                                                                    -No References 
 if_sysid_type                  31612   4       long                Member: (Offset=140) unsigned long 
                                                                    -No References 
 if_lastchange                  31614   8       long                Member: (Offset=144) struct timeval
                                                                    -No References 
  tv_sec                        23456   4       long                Member: (Offset=0) unsigned long 
                                                                    Ref: 92608=., 99349=.
  tv_usec                       23457   4       long                Member: (Offset=4) signed long 
                                                                    Ref: 92609=., 99350=.
 if_ibytes                      31615   4       long                Member: (Offset=152) unsigned long 
                                                                    -No References 
 if_obytes                      31616   4       long                Member: (Offset=156) unsigned long 
                                                                    -No References 
 if_imcasts                     31617   4       long                Member: (Offset=160) unsigned long 
                                                                    -No References 
 if_omcasts                     31618   4       long                Member: (Offset=164) unsigned long 
                                                                    -No References 
 if_iqdrops                     31619   4       long                Member: (Offset=168) unsigned long 
                                                                    -No References 
 if_noproto                     31620   4       long                Member: (Offset=172) unsigned long 
                                                                    -No References 
 if_baudrate                    31621   4       long                Member: (Offset=176) unsigned long 
                                                                    -No References 
 if_imbytes                     31622   4       long                Member: (Offset=180) unsigned long 
                                                                    -No References 
 if_ombytes                     31623   4       long                Member: (Offset=184) unsigned long 
                                                                    -No References 
 if_type                        31626   1       byte                Member: (Offset=188) unsigned char 
                                                                    -No References 
 if_addrlen                     31627   1       byte                Member: (Offset=189) unsigned char 
                                                                    -No References 
 if_hdrlen                      31628   1       byte                Member: (Offset=190) unsigned char 
                                                                    -No References 
 if_initialized                 31629   1       byte                Member: (Offset=191) unsigned char 
                                                                    -No References 
 if_index                       31630   4       long                Member: (Offset=192) unsigned int 
                                                                    -No References 
 if_trustgrp                    31631   4       long                Member: (Offset=196) signed int 
                                                                    -No References 
 if_affinity                    31632   4       long                Member: (Offset=200) signed int 
                                                                    -No References 
 if_afilt                       31633   4       long                Member: (Offset=204) short pointer to struct ifafilt
                                                                    -No References 
 if_nrnext                      31634   4       long                Member: (Offset=208) short pointer to struct ifnet
                                                                    -No References 
 if_nrif                        31635   4       long                Member: (Offset=212) short pointer to struct ifnet
                                                                    -No References 
 if_alloc_size                  31636   2       word                Member: (Offset=216) unsigned short 
                                                                    -No References 
 if_padb                        31637   2       word                Member: (Offset=218) array of unsigned short 
                                                                    -No References 
 if_rad_id                      31638   4       long                Member: (Offset=220) signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2141
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 if_arp_cache_head              31639   4       long                Member: (Offset=224) short pointer to char 
                                                                    -No References 
 if_padc                        31640   8       long                Member: (Offset=228) array of unsigned int 
                                                                    -No References 
 if_snd                         31642   20      byte                Member: (Offset=236) struct ifqueue
                                                                    -No References 
  ifq_head                      31563   4       long                Member: (Offset=0) short pointer to struct mbuf
                                                                    -No References 
  ifq_tail                      31564   4       long                Member: (Offset=4) short pointer to struct mbuf
                                                                    -No References 
  ifq_len                       31565   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
  ifq_maxlen                    31566   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
  ifq_drops                     31567   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 ovms_if_sts                    31648   2       word                Member: (Offset=256) unsigned short 
                                                                    -No References 
 ovms_if_pad                    31649   2       word                Member: (Offset=258) unsigned short 
                                                                    -No References 
 ovms_if_size                   31650   2       word                Member: (Offset=260) unsigned short 
                                                                    -No References 
 ovms_if_type                   31651   1       byte                Member: (Offset=262) unsigned char 
                                                                    -No References 
 ovms_if_iftype                 31652   1       byte                Member: (Offset=263) unsigned char 
                                                                    -No References 
 ovms_if_eth_name               31654   4       long                Member: (Offset=264) unsigned int 
                                                                    -No References 
 ovms_if_react_att              31655   2       word                Member: (Offset=268) unsigned short 
                                                                    -No References 
 ovms_if_succ_react             31656   2       word                Member: (Offset=270) unsigned short 
                                                                    -No References 
 ovms_if_cluster                31657   4       long                Member: (Offset=272) unsigned int 
                                                                    -No References 
 ovms_if_clust_tcps             31658   4       long                Member: (Offset=276) unsigned int 
                                                                    -No References 
 ovms_if_cluster_timer_id       31659   4       long                Member: (Offset=280) unsigned int 
                                                                    -No References 
 ovms_if_lock                   31660   24      byte                Member: (Offset=284) array of unsigned char 
                                                                    -No References 
 ovms_vcib_ip                   31662   4       long                Member: (Offset=308) short pointer to unsigned char 
                                                                    -No References 
 ovms_vcib_arp                  31663   4       long                Member: (Offset=312) short pointer to unsigned char 
                                                                    -No References 
 ovms_vcib_ipv6                 31664   4       long                Member: (Offset=316) short pointer to unsigned char 
                                                                    -No References 
 if_ovms_outstanding_xmits      31665   4       long                Member: (Offset=320) unsigned int 
                                                                    -No References 
ifqueue                         31562   20      byte                Tag: struct ifqueue
                                                                    Ref: 31642
 ifq_head                       31563   4       long                Member: (Offset=0) short pointer to struct mbuf
                                                                    -No References 
 ifq_tail                       31564   4       long                Member: (Offset=4) short pointer to struct mbuf
                                                                    -No References 
 ifq_len                        31565   4       long                Member: (Offset=8) signed int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2142
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 ifq_maxlen                     31566   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
 ifq_drops                      31567   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
ifreq                           31816   32      byte                Tag: struct ifreq
                                                                    Ref: 31911
 ifr_name                       31818   16      byte                Member: (Offset=0) array of char 
                                                                    -No References 
 ifr_ifru                       31832   16      byte                Member: (Offset=16) union 
                                                                    -No References 
  ifru_addr                     31820   16      byte                Member: (Offset=0) struct sockaddr
                                                                    -No References 
   sa_family                    30161   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   sa_data                      30162   14      byte                Member: (Offset=2) array of char 
                                                                    -No References 
  ifru_dstaddr                  31821   16      byte                Member: (Offset=0) struct sockaddr
                                                                    -No References 
   sa_family                    30161   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   sa_data                      30162   14      byte                Member: (Offset=2) array of char 
                                                                    -No References 
  ifru_broadaddr                31822   16      byte                Member: (Offset=0) struct sockaddr
                                                                    -No References 
   sa_family                    30161   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   sa_data                      30162   14      byte                Member: (Offset=2) array of char 
                                                                    -No References 
  ifru_flags                    31823   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  ifru_metric                   31824   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  ifru_data                     31825   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
  ifru_value                    31826   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  ifru_index                    31827   4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
ikdbopen                        21620   4       long    Extern      signed int 
                                                                    -No References 
in6_addr                        34394   16      byte                Tag: struct in6_addr
                                                                    Ref: 34425, 34564, 34565, 34635, 34673, 34679, 34680, 34683, 
                                                                    34739, 34775, 34778
 s6_un                          34406   16      byte                Member: (Offset=0) union 
                                                                    -No References 
  sa6_addr                      34396   16      byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
  sa6_waddr                     34398   16      word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  sa6_laddr                     34400   16      long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
  sa6_qaddr                     34403   16      quad                Member: (Offset=0) array of unsigned int64 
                                                                    -No References 
in6addr_any                     34564   16      byte    Extern      const struct in6_addr
                                                                    -No References 
in6addr_loopback                34565   16      byte    Extern      const struct in6_addr
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2143
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

in_addr                         32808   4       byte                Tag: struct in_addr
                                                                    Ref: 32989, 33016, 33071, 33072, 34923, 34940, 34941, 34948, 
                                                                    34950, 35698
 S_un                           32816   4       byte                Member: (Offset=0) union 
                                                                    Ref: 101227=., 102729=., 102730.
  S_un_b                        32810   4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   s_b1                         32810   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   s_b2                         32810   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   s_b3                         32810   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
   s_b4                         32810   1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
  S_un_w                        32811   4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   s_w1                         32811   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   s_w2                         32811   2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
  S_addr                        32812   4       long                Member: (Offset=0) unsigned long 
                                                                    Ref: 101227=., 102729=., 102730.
inet_addr                       34938   4       long    Extern      Function returning unsigned int 
                                                                    Ref: 102729()
inet_ntoa                       34923   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 102795(), 102803()
initconn                        89632   4       long    Static      Function returning signed int 
                                                                    -No References 
initconn                        101044  4       long    Static Def. Function returning signed int 
                                                                    Ref: 99473(), 100309(), 101063()
initxlate                       41482   0       byte    Extern      Function returning void 
                                                                    Ref: 91945(), 92196(), 97728(), 98879(), 99950(), 100686()
inserver                        88488   4       long    Extern      signed int 
                                                                    Ref: 96085
iscanceled                      92556   4       long    Static Def. Function returning signed int 
                                                                    Ref: 92649(), 104298(), 104509()
isdigit                         2673    4       long    Extern      Function returning signed int 
                                                                    Ref: 90859(), 97984(), 99036(), 99064(), 99068(), 99752()
isdir                           15992   4       long    Extern      Function returning signed int 
                                                                    Ref: 91317(), 92141(), 92210(), 93393(), 94961()
ispathsep                       88684   4       long    Static      Function returning signed int 
                                                                    -No References 
ispathsep                       92534   4       long    Static Def. Function returning signed int 
                                                                    Ref: 95335(), 95346(), 95367(), 95401(), 95403(), 95428()
iswild                          15991   4       long    Extern      Function returning signed int 
                                                                    Ref: 90057(), 93179(), 93312(), 94141(), 94769(), 103649(), 
                                                                    103721()
jcancel                         88795   3600    quad    Static TDef array of signed int64 
                                                                    -No References 
jmp_buf                         22249   3600    quad                Typedef: array of signed int64 
                                                                    Ref: 22313, 22438, 88792, 88793, 88794, 88795
keep                            88491   4       long    Extern      signed int 
                                                                    Ref: 100399, 100401, 100831
kerror                          97619   4       long    Static TDef signed int 
                                                                    Ref: 98561=, 98565, 99185=, 99192
keytab                          21629   12      long                Tag: struct keytab

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2144
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 25333, 25389, 25390, 25391, 25392, 25396, 25401, 25402, 
                                                                    28387, 28388, 41714, 42066, 88486, 88518, 88962, 88968, 88973
                                                                    , 89023, 89038, 89043, 89047, 89058, 89068, 89079, 89117, 
                                                                    89122, 89131, 89151, 89184, 89222, 89236, 89287, 89299, 89398
                                                                    , 89400, 89478, 89480, 89499, 89501, 89506, 89508, 89515, 
                                                                    89518, 89525, 89680, 89701, 89724, 89744, 89748, 89754, 89898
                                                                    , 95955, 95972, 98689, 98702, 98714, 98725, 98727, 98733
 kwd                            21630   4       long                Member: (Offset=0) short pointer to char 
                                                                    Ref: 103071., 103075.
 kwval                          21631   4       long                Member: (Offset=4) signed int 
                                                                    Ref: 90216.
 flgs                           21632   4       long                Member: (Offset=8) signed int 
                                                                    Ref: 90207.
lastxfer                        88489   4       long    Extern      signed int 
                                                                    Ref: 92785=, 92799=, 94019=, 94409=, 95928=
lh_CONF_VALUE_compfunc          75480   4       long                Typedef: short pointer to function 
                                                                    Ref: 75480
lh_CONF_VALUE_doallfunc         75480   4       long                Typedef: short pointer to function 
                                                                    Ref: 75480
lh_CONF_VALUE_dummy             75480   4       long                Tag: union lh_CONF_VALUE_dummy
                                                                    Ref: 75480
 d1                             75480   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
 d2                             75480   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 d3                             75480   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
lh_CONF_VALUE_hashfunc          75480   4       long                Typedef: short pointer to function 
                                                                    Ref: 75480
lh_ERR_STRING_DATA_compfunc     87717   4       long                Typedef: short pointer to function 
                                                                    Ref: 87717
lh_ERR_STRING_DATA_doallfunc    87717   4       long                Typedef: short pointer to function 
                                                                    Ref: 87717
lh_ERR_STRING_DATA_dummy        87717   4       long                Tag: union lh_ERR_STRING_DATA_dummy
                                                                    Ref: 87717
 d1                             87717   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
 d2                             87717   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 d3                             87717   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
lh_ERR_STRING_DATA_hashfunc     87717   4       long                Typedef: short pointer to function 
                                                                    Ref: 87717
lh_OPENSSL_CSTRING_compfunc     73894   4       long                Typedef: short pointer to function 
                                                                    Ref: 73894
lh_OPENSSL_CSTRING_doallfunc    73894   4       long                Typedef: short pointer to function 
                                                                    Ref: 73894
lh_OPENSSL_CSTRING_dummy        73894   4       long                Tag: union lh_OPENSSL_CSTRING_dummy
                                                                    Ref: 73894
 d1                             73894   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
 d2                             73894   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 d3                             73894   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
lh_OPENSSL_CSTRING_hashfunc     73894   4       long                Typedef: short pointer to function 
                                                                    Ref: 73894

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2145
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

lh_OPENSSL_STRING_compfunc      73879   4       long                Typedef: short pointer to function 
                                                                    Ref: 73879
lh_OPENSSL_STRING_doallfunc     73879   4       long                Typedef: short pointer to function 
                                                                    Ref: 73879
lh_OPENSSL_STRING_dummy         73879   4       long                Tag: union lh_OPENSSL_STRING_dummy
                                                                    Ref: 73879
 d1                             73879   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
 d2                             73879   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 d3                             73879   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
lh_OPENSSL_STRING_hashfunc      73879   4       long                Typedef: short pointer to function 
                                                                    Ref: 73879
lhash_st                        73664   0       unknown             Tag: struct lhash_st(Incomplete Type) 
                                                                    Ref: 73664
lhash_st_CONF_VALUE             75480   4       long                Tag: struct lhash_st_CONF_VALUE
                                                                    Ref: 75480, 75480, 75539, 75568, 75569, 75569, 75572, 75572, 
                                                                    75575, 75575, 75577, 75579, 75581, 75583, 75585, 75587, 86599
                                                                    , 86602, 86604, 86606, 86608, 86616
 dummy                          75480   4       long                Member: (Offset=0) union lh_CONF_VALUE_dummy
                                                                    -No References 
  d1                            75480   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
  d2                            75480   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
  d3                            75480   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
lhash_st_ERR_STRING_DATA        87717   4       long                Tag: struct lhash_st_ERR_STRING_DATA
                                                                    Ref: 87717, 87717
 dummy                          87717   4       long                Member: (Offset=0) union lh_ERR_STRING_DATA_dummy
                                                                    -No References 
  d1                            87717   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
  d2                            87717   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
  d3                            87717   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
lhash_st_OPENSSL_CSTRING        73894   4       long                Tag: struct lhash_st_OPENSSL_CSTRING
                                                                    Ref: 73894, 73894
 dummy                          73894   4       long                Member: (Offset=0) union lh_OPENSSL_CSTRING_dummy
                                                                    -No References 
  d1                            73894   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
  d2                            73894   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
  d3                            73894   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
lhash_st_OPENSSL_STRING         73879   4       long                Tag: struct lhash_st_OPENSSL_STRING
                                                                    Ref: 73879, 73879
 dummy                          73879   4       long                Member: (Offset=0) union lh_OPENSSL_STRING_dummy
                                                                    -No References 
  d1                            73879   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
  d2                            73879   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
  d3                            73879   4       long                Member: (Offset=0) signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2146
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
line                            88573   4       long    Extern      short pointer to char 
                                                                    Ref: 90967, 90995, 90996, 91059, 91061, 91062, 91072, 91074, 
                                                                    91083, 91088, 91100, 91108, 91109, 91131, 91133, 91135, 91168
                                                                    =[], 91169, 91170, 91190, 93275=[], 93276, 93286, 93288, 
                                                                    93291, 93319, 93321, 93488, 93489, 93489, 93497, 93559, 93561
                                                                    =[], 93628[], 93655=[], 93670, 93671, 93674, 93676, 94860=[]
                                                                    , 94861, 94863, 94887, 95208, 95209, 95992, 95993, 95995, 
                                                                    95996, 96042, 96043, 96176, 96178, 96179, 96239, 96241, 96243
                                                                    , 96269, 96352, 96353, 96385, 96386, 96387, 96398, 96400, 
                                                                    96401, 96478, 96481
listen                          30839   4       long    Extern      Function returning signed int 
                                                                    Ref: 101294()
local                           88750   4       long    Static Def  signed int 
                                                                    Ref: 88750=
locus                           88512   4       long    Extern      signed int 
                                                                    -No References 
loggedin                        88759   4       long    Static Def  signed int 
                                                                    Ref: 88759=, 90354, 96557, 97857=, 97933=, 103228=, 103288=, 
                                                                    103396=
longjmp                         22313   0       byte    Extern      Function returning void 
                                                                    Ref: 99386(), 100157()
lookup                          25401   4       long    Extern      Function returning signed int 
                                                                    Ref: 90078(), 90201()
looping_read                    88685   4       long    Static      Function returning signed int 
                                                                    -No References 
looping_read                    103911  4       long    Static Def. Function returning signed int 
                                                                    Ref: 104361(), 104381()
looping_write                   88686   4       long    Static      Function returning signed int 
                                                                    -No References 
looping_write                   103887  4       long    Static Def. Function returning signed int 
                                                                    Ref: 104270(), 104272()
lostpeer                        89643   0       byte    Static      Function returning void 
                                                                    -No References 
lostpeer                        97812   0       byte    Static Def. Function returning void 
                                                                    Ref: 98478(), 98998(), 99311(), 102413(), 102452(), 103265()
lunet                           28402   4       long    Extern      Function returning signed int 
                                                                    Ref: 90867()
makelist                        21926   0       byte    Extern      Function returning void 
                                                                    Ref: 93762(), 95068()
makestr                         21931   0       byte    Extern      Function returning void 
                                                                    Ref: 90074(), 90083(), 90117(), 90121(), 90124(), 90130(), 
                                                                    90197(), 90294(), 90314(), 90513(), 90516(), 90526(), 90690()
                                                                    , 90692(), 90749(), 90751(), 90775(), 90782(), 90786(), 90793
                                                                    (), 90800(), 90806(), 90810(), 90863(), 90882(), 90948(), 
                                                                    92034(), 92035(), 92322(), 92325(), 92858(), 92859(), 92860()
                                                                    , 92861(), 92979(), 92992(), 93110(), 93185(), 93222(), 93424
                                                                    (), 93452(), 93478(), 93598(), 93623(), 94080(), 94503(), 
                                                                    94523(), 94628(), 94702(), 94775(), 94807(), 94833(), 94840()
                                                                    , 94873(), 94877(), 94992(), 95022(), 95153(), 95232(), 95241
                                                                    (), 95945(), 96119(), 96160(), 98823(), 103197(), 103227(), 
                                                                    103395(), 103782()
malloc                          17950   4       long    Extern      Function returning short pointer to void 
                                                                    Ref: 93396(), 94528(), 94964(), 95369(), 98074(), 100577(), 
                                                                    102301(), 103572(), 103813()
matchdot                        12507   4       long    Extern      signed int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2147
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

maxbuf                          88787   4       long    Static Def  unsigned int 
                                                                    Ref: 88787=, 98077, 102315=, 102348=, 102349=, 102351=, 
                                                                    102352, 104053, 104053, 104374, 104377
mbuf                            31563   0       unknown             Tag: struct mbuf(Incomplete Type) 
                                                                    Ref: 31563, 31564, 31595
mdtmok                          88766   4       long    Static Def  signed int 
                                                                    Ref: 88766=, 91757, 91758, 91854=, 96245=, 96467=, 96502=, 
                                                                    96503, 96630, 96634, 96640, 96644, 97934=, 98067=, 98764, 
                                                                    98765
mgetforced                      88777   4       long    Static Def  signed int 
                                                                    Ref: 88777=, 94076=, 94465=, 95082=, 95085=, 103625
mgetlist                        94034   4       long    Static Def  short pointer to short pointer to char 
                                                                    Ref: 94034=, 94527, 94528=, 94529, 94534=[], 94873&[], 94877
                                                                    &[], 95153&[], 95213[], 95216[], 95232&[], 95241&[], 95244[]
                                                                    , 95259[], 95291[], 95294[], 95295[], 95332[], 95373[], 95374
                                                                    =[], 95376[], 95945&[]
mgetmethod                      88776   4       long    Static Def  signed int 
                                                                    Ref: 88776=, 94075=, 94464=, 95081=, 95084=, 103626, 103627=
                                                                    , 103647, 103655, 103659, 103674, 103680, 103683=, 103720, 
                                                                    103785
mgetn                           94035   4       long    Static Def  signed int 
                                                                    Ref: 94035=, 94536=, 94873=, 94877=, 94878, 95025, 95029, 
                                                                    95257, 95269, 95944
mgetx                           94035   4       long    Static Def  signed int 
                                                                    Ref: 94035=, 94125, 94128, 94141, 94148, 94247, 94251=, 94252
                                                                    , 94253, 94269, 94272, 94273, 94537=, 95213, 95216, 95256=, 
                                                                    95257, 95259, 95265=, 95266, 95269, 95291, 95294, 95295, 
                                                                    95332, 95373, 95374, 95376
mjd                             28413   4       long    Extern      Function returning signed long 
                                                                    Ref: 89847(), 89849()
mkutime                         91569   4       long    Static Def. Function returning unsigned long 
                                                                    Ref: 91885()
mlsdepth                        103457  4       long    Static Def  signed int 
                                                                    Ref: 103457=, 103464, 103476=, 103512, 103513, 103514, 103521
                                                                    , 103572, 103573, 103598, 103598, 103660, 103695, 103695, 
                                                                    103697, 103699, 103703, 103704, 103711, 103739, 103740, 
                                                                    103741, 103749, 103751, 103755, 103756, 103756, 103757=, 
                                                                    103805, 103807=, 103808, 103831, 103838, 103844
mlsreset                        89641   0       byte    Static      Function returning void 
                                                                    -No References 
mlsreset                        103462  0       byte    Static Def. Function returning void 
                                                                    Ref: 94388(), 95948(), 98431(), 103833(), 103839(), 103846()
mlstok                          88769   4       long    Static Def  signed int 
                                                                    Ref: 88769=, 96468=, 96498=, 96499, 96630, 96635, 96640, 
                                                                    96645, 98768, 98769, 103682=
mode                            88897   4       long    Static TDef signed int 
                                                                    Ref: 98015=
modetab                         89898   24      long    Static Def  array of struct keytab
                                                                    Ref: 89898=, 90078
moving                          88487   4       long    Extern      signed int 
                                                                    Ref: 93748=, 93752=, 93911
msfiles                         88540   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    Ref: 93488=[], 93490[], 93556=[], 93565[], 93648
msgflg                          88491   4       long    Extern      signed int 
                                                                    -No References 
myctladdr                       97626   16      byte    Static TDef struct sockaddr_in
                                                                    Ref: 101252&, 102827, 102829&

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2148
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

mygetc                          98587   4       long    Static Def. Function returning signed int 
                                                                    Ref: 98907(), 98909(), 98912(), 98949()
myhost                          88506   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 89890, 103122
myostype                        88734   4       long    Static Def  short pointer to char 
                                                                    Ref: 88734=, 103026
namdef                          3641    96      long                Tag: struct namdef
                                                                    Ref: 3679, 3948, 4461, 5380
 nam$b_bid                      3643    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 nam$b_bln                      3644    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 nam$b_rss                      3648    1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
 nam$b_rsl                      3649    1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
 nam$l_rsa                      3650    4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 nam$r_nop_overlay              3669    1       byte                Member: (Offset=8) union 
                                                                    -No References 
  nam$b_nop                     3653    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  nam$r_nop_bits                3668    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   nam$v_pwd                    3655    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   nam$v_fill_1                 3660    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   nam$v_fill_2                 3661    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   nam$v_synchk                 3662    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   nam$v_noconceal              3663    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   nam$v_slparse                3664    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   nam$v_srchxabs               3665    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   nam$v_no_short_upcase        3667    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
 nam$b_rfs                      3670    1       byte                Member: (Offset=9) unsigned char 
                                                                    -No References 
 nam$b_ess                      3674    1       byte                Member: (Offset=10) unsigned char 
                                                                    -No References 
 nam$b_esl                      3675    1       byte                Member: (Offset=11) unsigned char 
                                                                    -No References 
 nam$l_esa                      3676    4       long                Member: (Offset=12) short pointer to char 
                                                                    -No References 
 nam$r_rlf_overlay              3681    4       byte                Member: (Offset=16) union 
                                                                    -No References 
  nam$l_rlf                     3679    4       long                Member: (Offset=0) short pointer to struct namdef
                                                                    -No References 
  nam$l_rlf_naml                3680    4       long                Member: (Offset=0) short pointer to struct namldef
                                                                    -No References 
 nam$t_dvi                      3682    16      byte                Member: (Offset=20) array of char 
                                                                    -No References 
 nam$r_fid_overlay              3698    6       byte                Member: (Offset=36) union 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2149
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  nam$w_fid                     3686    6       word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  nam$r_fid_fields              3697    6       byte                Member: (Offset=0) struct 
                                                                    -No References 
   nam$w_fid_num                3688    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   nam$w_fid_seq                3689    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
   nam$r_fid_rvn_overlay        3696    2       byte                Member: (Offset=4) union 
                                                                    -No References 
    nam$w_fid_rvn               3691    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
    nam$r_fid_rvn_fields        3695    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
     nam$b_fid_rvn              3693    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
     nam$b_fid_nmx              3694    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 nam$r_did_overlay              3712    6       byte                Member: (Offset=42) union 
                                                                    -No References 
  nam$w_did                     3700    6       word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  nam$r_did_fields              3711    6       byte                Member: (Offset=0) struct 
                                                                    -No References 
   nam$w_did_num                3702    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   nam$w_did_seq                3703    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
   nam$r_did_rvn_overlay        3710    2       byte                Member: (Offset=4) union 
                                                                    -No References 
    nam$w_did_rvn               3705    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
    nam$r_did_rvn_fields        3709    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
     nam$b_did_rvn              3707    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
     nam$b_did_nmx              3708    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 nam$r_wcc_overlay              3722    4       byte                Member: (Offset=48) union 
                                                                    -No References 
  nam$l_wcc                     3714    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  nam$r_wcc_bits                3721    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   namdef$$_fill_1              3716    2.0 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   nam$v_ifi                    3717    1 bit   bit                 Member: (Offset=2.0 byte.bit) bitfield 
                                                                    -No References 
   namdef$$_fill_2              3718    1.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   nam$v_srchnmf                3719    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2150
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   nam$v_svctx                  3720    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
 nam$r_fnb_overlay              3773    4       byte                Member: (Offset=52) union 
                                                                    -No References 
  nam$l_fnb                     3724    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  nam$r_fnb_bits0               3750    3       byte                Member: (Offset=0) struct 
                                                                    -No References 
   nam$v_exp_ver                3726    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   nam$v_exp_type               3727    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   nam$v_exp_name               3728    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   nam$v_wild_ver               3729    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   nam$v_wild_type              3730    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   nam$v_wild_name              3731    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   nam$v_exp_dir                3732    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   nam$v_exp_dev                3733    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
   nam$v_wildcard               3734    1 bit   bit                 Member: (Offset=8 bits) bitfield 
                                                                    -No References 
   nam$v_dir_lvls_g7            3736    1 bit   bit                 Member: (Offset=1.1 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfdg7             3737    1 bit   bit                 Member: (Offset=1.2 byte.bit) bitfield 
                                                                    -No References 
   nam$v_search_list            3738    1 bit   bit                 Member: (Offset=1.3 byte.bit) bitfield 
                                                                    -No References 
   nam$v_cncl_dev               3739    1 bit   bit                 Member: (Offset=1.4 byte.bit) bitfield 
                                                                    -No References 
   nam$v_root_dir               3740    1 bit   bit                 Member: (Offset=1.5 byte.bit) bitfield 
                                                                    -No References 
   nam$v_lowver                 3741    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 
   nam$v_highver                3742    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
   nam$v_ppf                    3744    1 bit   bit                 Member: (Offset=2.0 byte.bit) bitfield 
                                                                    -No References 
   nam$v_node                   3745    1 bit   bit                 Member: (Offset=2.1 byte.bit) bitfield 
                                                                    -No References 
   nam$v_quoted                 3746    1 bit   bit                 Member: (Offset=2.2 byte.bit) bitfield 
                                                                    -No References 
   nam$v_grp_mbr                3747    1 bit   bit                 Member: (Offset=2.3 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_dir               3748    1 bit   bit                 Member: (Offset=2.4 byte.bit) bitfield 
                                                                    -No References 
   nam$v_dir_lvls               3749    3 bits  bit                 Member: (Offset=2.5 byte.bit) bitfield 
                                                                    -No References 
  nam$r_fnb_bits1               3761    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   namdef$$_fill_4              3752    3.0 byte.bit
                                                bit                                                                              
                                                                    bitfield 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2151
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
   nam$v_wild_ufd               3753    1 bit   bit                 Member: (Offset=3.0 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfd1              3754    1 bit   bit                 Member: (Offset=3.1 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfd2              3755    1 bit   bit                 Member: (Offset=3.2 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfd3              3756    1 bit   bit                 Member: (Offset=3.3 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfd4              3757    1 bit   bit                 Member: (Offset=3.4 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfd5              3758    1 bit   bit                 Member: (Offset=3.5 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfd6              3759    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_sfd7              3760    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
  nam$r_fnb_bits2               3767    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   namdef$$_fill_5              3763    3.0 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   nam$v_wild_grp               3764    1 bit   bit                 Member: (Offset=3.0 byte.bit) bitfield 
                                                                    -No References 
   nam$v_wild_mbr               3765    1 bit   bit                 Member: (Offset=3.1 byte.bit) bitfield 
                                                                    -No References 
   nam$v_fill_5_                3766    6 bits  bit                 Member: (Offset=3.2 byte.bit) bitfield 
                                                                    -No References 
 nam$b_node                     3774    1       byte                Member: (Offset=56) unsigned char 
                                                                    -No References 
 nam$b_dev                      3775    1       byte                Member: (Offset=57) unsigned char 
                                                                    -No References 
 nam$b_dir                      3776    1       byte                Member: (Offset=58) unsigned char 
                                                                    -No References 
 nam$b_name                     3777    1       byte                Member: (Offset=59) unsigned char 
                                                                    -No References 
 nam$b_type                     3778    1       byte                Member: (Offset=60) unsigned char 
                                                                    -No References 
 nam$b_ver                      3779    1       byte                Member: (Offset=61) unsigned char 
                                                                    -No References 
 nam$r_nmc_overlay              3791    1       byte                Member: (Offset=62) union 
                                                                    -No References 
  nam$b_nmc                     3781    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  nam$r_nmc_bits                3790    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   nam$v_did                    3783    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   nam$v_fid                    3784    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   nam$v_res_did                3785    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   nam$v_res_fid                3786    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   nam$v_res_escape             3787    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2152
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   nam$v_res_unicode            3788    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   namdef$$_fill_3              3789    2 bits  bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
 namdef$$_fill_6                3792    1       byte                Member: (Offset=63) array of char 
                                                                    -No References 
 nam$l_node                     3793    4       long                Member: (Offset=64) short pointer to char 
                                                                    -No References 
 nam$l_dev                      3794    4       long                Member: (Offset=68) short pointer to char 
                                                                    -No References 
 nam$l_dir                      3795    4       long                Member: (Offset=72) short pointer to char 
                                                                    -No References 
 nam$l_name                     3796    4       long                Member: (Offset=76) short pointer to char 
                                                                    -No References 
 nam$l_type                     3797    4       long                Member: (Offset=80) short pointer to char 
                                                                    -No References 
 nam$l_ver                      3798    4       long                Member: (Offset=84) short pointer to char 
                                                                    -No References 
 nam$w_first_wild_dir           3799    2       word                Member: (Offset=88) unsigned short 
                                                                    -No References 
 nam$w_long_dir_levels          3800    2       word                Member: (Offset=90) unsigned short 
                                                                    -No References 
 namdef$$_fill_7                3801    4       long                Member: (Offset=92) array of unsigned int 
                                                                    -No References 
namldef                         4423    248     long                Tag: struct namldef
                                                                    Ref: 3680, 4462, 4769, 5381
 naml$b_bid                     4425    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 naml$b_bln                     4426    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 naml$b_rss                     4430    1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
 naml$b_rsl                     4431    1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
 naml$l_rsa                     4432    4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 naml$r_nop_overlay             4451    1       byte                Member: (Offset=8) union 
                                                                    -No References 
  naml$b_nop                    4435    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  naml$r_nop_bits               4450    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   naml$v_pwd                   4437    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   naml$v_fill_1                4442    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   naml$v_fill_2                4443    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   naml$v_synchk                4444    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   naml$v_noconceal             4445    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   naml$v_slparse               4446    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   naml$v_srchxabs              4447    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   naml$v_no_short_upcase       4449    1 bit   bit                 Member: (Offset=7 bits) bitfield 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2153
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 naml$b_rfs                     4452    1       byte                Member: (Offset=9) unsigned char 
                                                                    -No References 
 naml$b_ess                     4456    1       byte                Member: (Offset=10) unsigned char 
                                                                    -No References 
 naml$b_esl                     4457    1       byte                Member: (Offset=11) unsigned char 
                                                                    -No References 
 naml$l_esa                     4458    4       long                Member: (Offset=12) short pointer to char 
                                                                    -No References 
 naml$r_rlf_overlay             4463    4       byte                Member: (Offset=16) union 
                                                                    -No References 
  naml$l_rlf                    4461    4       long                Member: (Offset=0) short pointer to struct namdef
                                                                    -No References 
  naml$l_rlf_naml               4462    4       long                Member: (Offset=0) short pointer to struct namldef
                                                                    -No References 
 naml$t_dvi                     4464    16      byte                Member: (Offset=20) array of char 
                                                                    -No References 
 naml$r_fid_overlay             4480    6       byte                Member: (Offset=36) union 
                                                                    -No References 
  naml$w_fid                    4468    6       word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  naml$r_fid_fields             4479    6       byte                Member: (Offset=0) struct 
                                                                    -No References 
   naml$w_fid_num               4470    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   naml$w_fid_seq               4471    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
   naml$r_fid_rvn_overlay       4478    2       byte                Member: (Offset=4) union 
                                                                    -No References 
    naml$w_fid_rvn              4473    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
    naml$r_fid_rvn_fields       4477    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
     naml$b_fid_rvn             4475    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
     naml$b_fid_nmx             4476    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 naml$r_did_overlay             4494    6       byte                Member: (Offset=42) union 
                                                                    -No References 
  naml$w_did                    4482    6       word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  naml$r_did_fields             4493    6       byte                Member: (Offset=0) struct 
                                                                    -No References 
   naml$w_did_num               4484    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   naml$w_did_seq               4485    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
   naml$r_did_rvn_overlay       4492    2       byte                Member: (Offset=4) union 
                                                                    -No References 
    naml$w_did_rvn              4487    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
    naml$r_did_rvn_fields       4491    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
     naml$b_did_rvn             4489    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
     naml$b_did_nmx             4490    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2154
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 naml$r_wcc_overlay             4504    4       byte                Member: (Offset=48) union 
                                                                    -No References 
  naml$l_wcc                    4496    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  naml$r_wcc_bits               4503    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   namldef$$_fill_1             4498    2.0 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   naml$v_ifi                   4499    1 bit   bit                 Member: (Offset=2.0 byte.bit) bitfield 
                                                                    -No References 
   namldef$$_fill_2             4500    1.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   naml$v_srchnmf               4501    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   naml$v_svctx                 4502    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
 naml$r_fnb_overlay             4550    4       byte                Member: (Offset=52) union 
                                                                    -No References 
  naml$l_fnb                    4506    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  naml$r_fnb_bits0              4532    3       byte                Member: (Offset=0) struct 
                                                                    -No References 
   naml$v_exp_ver               4508    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   naml$v_exp_type              4509    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   naml$v_exp_name              4510    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   naml$v_wild_ver              4511    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   naml$v_wild_type             4512    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   naml$v_wild_name             4513    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   naml$v_exp_dir               4514    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   naml$v_exp_dev               4515    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
   naml$v_wildcard              4516    1 bit   bit                 Member: (Offset=8 bits) bitfield 
                                                                    -No References 
   naml$v_dir_lvls_g7           4518    1 bit   bit                 Member: (Offset=1.1 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfdg7            4519    1 bit   bit                 Member: (Offset=1.2 byte.bit) bitfield 
                                                                    -No References 
   naml$v_search_list           4520    1 bit   bit                 Member: (Offset=1.3 byte.bit) bitfield 
                                                                    -No References 
   naml$v_cncl_dev              4521    1 bit   bit                 Member: (Offset=1.4 byte.bit) bitfield 
                                                                    -No References 
   naml$v_root_dir              4522    1 bit   bit                 Member: (Offset=1.5 byte.bit) bitfield 
                                                                    -No References 
   naml$v_lowver                4523    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 
   naml$v_highver               4524    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2155
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
   naml$v_ppf                   4526    1 bit   bit                 Member: (Offset=2.0 byte.bit) bitfield 
                                                                    -No References 
   naml$v_node                  4527    1 bit   bit                 Member: (Offset=2.1 byte.bit) bitfield 
                                                                    -No References 
   naml$v_quoted                4528    1 bit   bit                 Member: (Offset=2.2 byte.bit) bitfield 
                                                                    -No References 
   naml$v_grp_mbr               4529    1 bit   bit                 Member: (Offset=2.3 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_dir              4530    1 bit   bit                 Member: (Offset=2.4 byte.bit) bitfield 
                                                                    -No References 
   naml$v_dir_lvls              4531    3 bits  bit                 Member: (Offset=2.5 byte.bit) bitfield 
                                                                    -No References 
  naml$r_fnb_bits1              4543    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   namldef$$_fill_4             4534    3.0 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   naml$v_wild_ufd              4535    1 bit   bit                 Member: (Offset=3.0 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfd1             4536    1 bit   bit                 Member: (Offset=3.1 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfd2             4537    1 bit   bit                 Member: (Offset=3.2 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfd3             4538    1 bit   bit                 Member: (Offset=3.3 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfd4             4539    1 bit   bit                 Member: (Offset=3.4 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfd5             4540    1 bit   bit                 Member: (Offset=3.5 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfd6             4541    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_sfd7             4542    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
  naml$r_fnb_bits2              4549    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   namldef$$_fill_5             4545    3.0 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   naml$v_wild_grp              4546    1 bit   bit                 Member: (Offset=3.0 byte.bit) bitfield 
                                                                    -No References 
   naml$v_wild_mbr              4547    1 bit   bit                 Member: (Offset=3.1 byte.bit) bitfield 
                                                                    -No References 
   naml$v_fill_6_               4548    6 bits  bit                 Member: (Offset=3.2 byte.bit) bitfield 
                                                                    -No References 
 naml$b_node                    4551    1       byte                Member: (Offset=56) unsigned char 
                                                                    -No References 
 naml$b_dev                     4552    1       byte                Member: (Offset=57) unsigned char 
                                                                    -No References 
 naml$b_dir                     4553    1       byte                Member: (Offset=58) unsigned char 
                                                                    -No References 
 naml$b_name                    4554    1       byte                Member: (Offset=59) unsigned char 
                                                                    -No References 
 naml$b_type                    4555    1       byte                Member: (Offset=60) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2156
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 naml$b_ver                     4556    1       byte                Member: (Offset=61) unsigned char 
                                                                    -No References 
 naml$r_nmc_overlay             4568    1       byte                Member: (Offset=62) union 
                                                                    -No References 
  naml$b_nmc                    4558    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  naml$r_nmc_bits               4567    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   naml$v_did                   4560    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   naml$v_fid                   4561    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   naml$v_res_did               4562    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   naml$v_res_fid               4563    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   naml$v_res_escape            4564    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   naml$v_res_unicode           4565    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   namldef$$_fill_3             4566    2 bits  bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
 namldef$$_fill_6               4569    1       byte                Member: (Offset=63) array of char 
                                                                    -No References 
 naml$l_node                    4570    4       long                Member: (Offset=64) short pointer to char 
                                                                    -No References 
 naml$l_dev                     4571    4       long                Member: (Offset=68) short pointer to char 
                                                                    -No References 
 naml$l_dir                     4572    4       long                Member: (Offset=72) short pointer to char 
                                                                    -No References 
 naml$l_name                    4573    4       long                Member: (Offset=76) short pointer to char 
                                                                    -No References 
 naml$l_type                    4574    4       long                Member: (Offset=80) short pointer to char 
                                                                    -No References 
 naml$l_ver                     4575    4       long                Member: (Offset=84) short pointer to char 
                                                                    -No References 
 naml$w_first_wild_dir          4576    2       word                Member: (Offset=88) unsigned short 
                                                                    -No References 
 naml$w_long_dir_levels         4577    2       word                Member: (Offset=90) unsigned short 
                                                                    -No References 
 namldef$$_fill_7               4578    4       long                Member: (Offset=92) array of unsigned int 
                                                                    -No References 
 naml$l_long_defname_size       4580    4       long                Member: (Offset=96) unsigned int 
                                                                    -No References 
 naml$l_long_defname            4581    4       long                Member: (Offset=100) short pointer to char 
                                                                    -No References 
 naml$l_long_filename_size      4582    4       long                Member: (Offset=104) unsigned int 
                                                                    -No References 
 naml$l_long_filename           4583    4       long                Member: (Offset=108) short pointer to char 
                                                                    -No References 
 naml$l_long_node_size          4584    4       long                Member: (Offset=112) unsigned int 
                                                                    -No References 
 naml$l_long_node               4585    4       long                Member: (Offset=116) short pointer to char 
                                                                    -No References 
 naml$l_long_dev_size           4586    4       long                Member: (Offset=120) unsigned int 
                                                                    -No References 
 naml$l_long_dev                4587    4       long                Member: (Offset=124) short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2157
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 naml$l_long_dir_size           4588    4       long                Member: (Offset=128) unsigned int 
                                                                    -No References 
 naml$l_long_dir                4589    4       long                Member: (Offset=132) short pointer to char 
                                                                    -No References 
 naml$l_long_name_size          4590    4       long                Member: (Offset=136) unsigned int 
                                                                    -No References 
 naml$l_long_name               4591    4       long                Member: (Offset=140) short pointer to char 
                                                                    -No References 
 naml$l_long_type_size          4592    4       long                Member: (Offset=144) unsigned int 
                                                                    -No References 
 naml$l_long_type               4593    4       long                Member: (Offset=148) short pointer to char 
                                                                    -No References 
 naml$l_long_ver_size           4594    4       long                Member: (Offset=152) unsigned int 
                                                                    -No References 
 naml$l_long_ver                4595    4       long                Member: (Offset=156) short pointer to char 
                                                                    -No References 
 naml$l_long_expand_size        4602    4       long                Member: (Offset=160) unsigned int 
                                                                    -No References 
 naml$l_long_expand             4604    4       long                Member: (Offset=164) short pointer to char 
                                                                    -No References 
 naml$l_long_expand_alloc       4605    4       long                Member: (Offset=168) unsigned int 
                                                                    -No References 
 naml$l_reserved_mbz_9          4606    4       long                Member: (Offset=172) signed int 
                                                                    -No References 
 naml$l_long_result_size        4613    4       long                Member: (Offset=176) unsigned int 
                                                                    -No References 
 naml$l_long_result             4615    4       long                Member: (Offset=180) short pointer to char 
                                                                    -No References 
 naml$l_long_result_alloc       4616    4       long                Member: (Offset=184) unsigned int 
                                                                    -No References 
 naml$l_reserved_mbz_8          4617    4       long                Member: (Offset=188) signed int 
                                                                    -No References 
 naml$l_filesys_name_size       4624    4       long                Member: (Offset=192) unsigned int 
                                                                    -No References 
 naml$l_filesys_name            4626    4       long                Member: (Offset=196) short pointer to char 
                                                                    -No References 
 naml$l_filesys_name_alloc      4627    4       long                Member: (Offset=200) unsigned int 
                                                                    -No References 
 naml$r_output_flags_overlay    4643    4       byte                Member: (Offset=204) union 
                                                                    -No References 
  naml$l_output_flags           4629    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  naml$r_output_flags_bits      4641    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
   naml$v_long_result_escape    4631    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   naml$v_filesys_name_ucs2     4632    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   naml$v_long_result_did       4633    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   naml$v_long_result_fid       4634    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   naml$v_long_result_unicode   4635    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   naml$v_mp_in_path            4636    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2158
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   naml$v_symlnk_in_path        4637    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   naml$v_object_symlink        4638    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
   naml$v_is_directory          4639    1 bit   bit                 Member: (Offset=8 bits) bitfield 
                                                                    -No References 
   naml$v_fill_7_               4640    7 bits  bit                 Member: (Offset=1.1 byte.bit) bitfield 
                                                                    -No References 
 naml$r_input_flags_overlay     4658    4       byte                Member: (Offset=208) union 
                                                                    -No References 
  naml$l_input_flags            4645    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  naml$r_input_flags_bits       4656    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   naml$v_no_short_output       4647    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   naml$v_case_lookup           4648    2 bits  bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   naml$v_open_special          4649    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   naml$v_search_symlink        4651    2 bits  bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   naml$v_fill_8_               4655    2 bits  bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
 naml$l_reserved_mbz_7          4659    4       long                Member: (Offset=212) signed int 
                                                                    -No References 
 naml$q_user_context            4660    8       long                Member: (Offset=216) array of unsigned int 
                                                                    -No References 
 naml$l_reserved_mbz_6          4661    4       long                Member: (Offset=224) signed int 
                                                                    -No References 
 naml$l_reserved_mbz_5          4662    4       long                Member: (Offset=228) signed int 
                                                                    -No References 
 naml$l_reserved_mbz_4          4663    4       long                Member: (Offset=232) signed int 
                                                                    -No References 
 naml$l_reserved_mbz_3          4664    4       long                Member: (Offset=236) signed int 
                                                                    -No References 
 naml$l_reserved_mbz_2          4665    4       long                Member: (Offset=240) signed int 
                                                                    -No References 
 naml$l_reserved_mbz_1          4666    4       long                Member: (Offset=244) signed int 
                                                                    -No References 
nciphertab                      89744   4       long    Static Def  signed int 
                                                                    Ref: 89744=
ndelswi                         89499   4       long    Static Def  signed int 
                                                                    Ref: 89499=, 94564
netgetc                         100166  4       long    Static Def. Function returning signed int 
                                                                    Ref: 100697, 100708
network                         96298   4       long    Extern      signed int 
                                                                    Ref: 96300
nfacttab                        98725   4       long    Static Def  signed int 
                                                                    Ref: 98725=, 98801
nfeattab                        98702   4       long    Static Def  signed int 
                                                                    Ref: 98702=, 98757, 103070
nfilc                           88516   4       long    Extern      signed int 
                                                                    Ref: 90477, 93243, 94814
nfils                           88488   4       long    Extern      signed int 
                                                                    Ref: 90036=, 90043=, 90049=, 90056=, 90059=, 90137=, 92707, 
                                                                    93484=, 93488=, 93490, 93490, 93544, 93556=, 93565, 93565, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2159
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    93566, 93586=, 93631=, 93632, 93649, 93656=, 93662=, 94088, 
                                                                    94102, 94124, 94140, 94252
nfntab                          89506   4       long    Static Def  signed int 
                                                                    Ref: 89506=, 90416, 93155, 94745
nftpauth                        89222   4       long    Static Def  signed int 
                                                                    Ref: 89222=, 90568
nftpbug                         89122   4       long    Static Def  signed int 
                                                                    Ref: 89122=, 90531
nftpcmd                         89023   4       long    Static Def  signed int 
                                                                    Ref: 89023=, 96126, 97257
nftpcolx                        89151   4       long    Static Def  signed int 
                                                                    Ref: 89151=, 90408, 94679
nftpena                         89079   4       long    Static Def  signed int 
                                                                    Ref: 89079=, 96486
nftppro                         89525   4       long    Static Def  signed int 
                                                                    Ref: 89525=, 90553, 90559
nftprmt                         95972   4       long    Static Def  signed int 
                                                                    Ref: 95972=, 96030
nftpset                         89287   4       long    Static Def  signed int 
                                                                    Ref: 89287=, 90403, 97354
nftpswi                         89058   4       long    Static Def  signed int 
                                                                    Ref: 89058=, 90711, 90832
nftptyp                         89515   4       long    Static Def  signed int 
                                                                    Ref: 89515=, 90438, 96441
nftpztab                        89701   4       long    Static Def  signed int 
                                                                    Ref: 89701=, 90201
nftyptab                        98733   4       long    Static Def  signed int 
                                                                    Ref: 98733=, 98831
ngetswi                         89478   4       long    Static Def  signed int 
                                                                    Ref: 89478=, 94564
nh_p                            90684   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    Ref: 90882[]
nh_p2                           90685   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    Ref: 90878[], 90879[], 90879[]
nhashtab                        89754   4       long    Static Def  signed int 
                                                                    Ref: 89754=
nhcount                         90683   4       long    Extern      signed int 
                                                                    Ref: 90868, 90869, 90877
nnetdir                         90682   4       long    Extern      signed int 
                                                                    Ref: 90866
nocx                            88448   4       long    Static Def  short pointer to char 
                                                                    Ref: 88448=, 90947, 90986, 91012, 91058, 91071, 91106, 91118
                                                                    , 91130, 91171, 91231, 93607, 95034, 95991, 96159, 96168, 
                                                                    96175, 96187, 96198, 96219, 96238, 96384, 96397, 96408, 96420
                                                                    , 96436, 96444, 96454, 96461, 96477
noinit                          88748   4       long    Static Def  signed int 
                                                                    Ref: 88748=, 90694=, 90770=, 102999, 103053
nolinks                         88491   4       long    Extern      signed int 
                                                                    Ref: 92931, 93293=, 93506
nopush                          88488   4       long    Extern      signed int 
                                                                    -No References 
nout                            88790   4       long    Static Def  unsigned int 
                                                                    Ref: 88790=, 92506, 92506=, 92646, 92661, 92662, 92663, 92664
                                                                    =, 92665=, 92669, 99895, 99895=, 100047=, 103980, 103981, 
                                                                    103983, 103984=, 103987, 103992=, 104046, 104047, 104049=, 
                                                                    104057, 104058, 104067, 104068=, 104071, 104072=
nputswi                         89398   4       long    Static Def  signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2160
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 89398=, 92895
nrpathtab                       88487   4       long    Extern      signed int 
                                                                    -No References 
ns_s_an                         35127                               enum constant:  1
                                                                    -No References 
ns_s_ar                         35131                               enum constant:  3
                                                                    -No References 
ns_s_max                        35132                               enum constant:  4
                                                                    Ref: 35142, 35143
ns_s_ns                         35129                               enum constant:  2
                                                                    -No References 
ns_s_pr                         35128                               enum constant:  1
                                                                    -No References 
ns_s_qd                         35125                               enum constant:  0
                                                                    -No References 
ns_s_ud                         35130                               enum constant:  2
                                                                    -No References 
ns_s_zn                         35126                               enum constant:  0
                                                                    -No References 
nscanfile                       88489   4       long    Extern      signed int 
                                                                    Ref: 92145
ntlstab                         89043   4       long    Static Def  signed int 
                                                                    Ref: 89043=, 96314
ntohl                           33090   4       long    Extern      Function returning unsigned int 
                                                                    -No References 
ntohl                           34935   4       long    Extern      Function returning unsigned int 
                                                                    Ref: 104371(), 104373()
ntohs                           33091   2       word    Extern      Function returning unsigned short 
                                                                    -No References 
ntohs                           34936   2       word    Extern      Function returning unsigned short 
                                                                    Ref: 97999()
ntxrtab                         41715   4       long    Extern      signed int 
                                                                    -No References 
nzltor                          21294   0       byte    Extern      Function returning void 
                                                                    Ref: 92223()
nzrtol                          21295   0       byte    Extern      Function returning void 
                                                                    Ref: 94159(), 94311(), 95694()
nzxpand                         16013   4       long    Extern      Function returning signed int 
                                                                    Ref: 90057()
off_t                           1642    8       quad                Typedef: signed int64 
                                                                    Ref: 15748, 15750, 15759, 15795, 15811, 15981, 15983, 16022, 
                                                                    16043, 16043, 21905, 21905, 21906, 24298, 24299, 24302, 24303
                                                                    , 24304, 24386, 25066, 25066, 25343, 25379, 25424, 25424, 
                                                                    25582, 28320, 28342, 84976, 88492, 88664, 88774, 88774, 89839
                                                                    , 89840, 89868, 89873, 89875, 89877, 89892, 90364, 90371, 
                                                                    90696, 90868, 90873, 90883, 90887, 90896, 90905, 90906, 90913
                                                                    , 91015, 91035, 91194, 91213, 91259, 91273, 91314, 91315, 
                                                                    91331, 91342, 91354, 91358, 91362, 91367, 91368, 91384, 91385
                                                                    , 91395, 91398, 91421, 91431, 91440, 91445, 91455, 91461, 
                                                                    91464, 91469, 91497, 91498, 91499, 91500, 91501, 91502, 91595
                                                                    , 91596, 91612, 91672, 91688, 91716, 91722, 91757, 91799, 
                                                                    91802, 91814, 91823, 91837, 91841, 91850, 91874, 91886, 91914
                                                                    , 91915, 91916, 91944, 91967, 91968, 91971, 91972, 91973, 
                                                                    91974, 91979, 91992, 91993, 92007, 92009, 92010, 92012, 92013
                                                                    , 92018, 92021, 92025, 92028, 92031, 92033, 92045, 92052, 
                                                                    92054, 92056, 92059, 92062, 92111, 92112, 92113, 92114, 92119
                                                                    , 92144, 92147, 92152, 92195, 92197, 92224, 92234, 92235, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2161
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    92241, 92243, 92245, 92249, 92250, 92255, 92258, 92261, 92266
                                                                    , 92270, 92271, 92272, 92274, 92305, 92308, 92309, 92311, 
                                                                    92312, 92314, 92315, 92317, 92318, 92319, 92320, 92321, 92323
                                                                    , 92324, 92326, 92336, 92339, 92342, 92345, 92348, 92350, 
                                                                    92352, 92391, 92400, 92424, 92443, 92452, 92456, 92457, 92627
                                                                    , 92645, 92646, 92647, 92670, 92802, 92874, 92944, 92945, 
                                                                    92963, 92983, 92993, 93157, 93163, 93291, 93331, 93332, 93453
                                                                    , 93479, 93490, 93493, 93537, 93538, 93545, 93552, 93565, 
                                                                    93579, 93601, 93613, 93618, 93624, 93674, 93715, 93843, 93844
                                                                    , 93861, 93893, 93894, 93906, 93921, 93922, 93923, 94022, 
                                                                    94079, 94088, 94150, 94157, 94174, 94177, 94181, 94190, 94191
                                                                    , 94192, 94193, 94211, 94212, 94213, 94256, 94278, 94283, 
                                                                    94285, 94289, 94301, 94309, 94326, 94329, 94333, 94342, 94343
                                                                    , 94344, 94345, 94363, 94364, 94365, 94412, 94442, 94442, 
                                                                    94443, 94443, 94502, 94512, 94595, 94608, 94617, 94747, 94753
                                                                    , 94926, 95023, 95132, 95139, 95146, 95152, 95186, 95202, 
                                                                    95211, 95214, 95220, 95230, 95242, 95248, 95250, 95251, 95252
                                                                    , 95266, 95282, 95300, 95316, 95319, 95342, 95352, 95406, 
                                                                    95407, 95411, 95421, 95453, 95455, 95483, 95484, 95500, 95507
                                                                    , 95509, 95512, 95513, 95525, 95527, 95533, 95535, 95544, 
                                                                    95552, 95552, 95553, 95566, 95576, 95578, 95581, 95582, 95597
                                                                    , 95599, 95601, 95625, 95638, 95642, 95658, 95662, 95686, 
                                                                    95689, 95696, 95700, 95709, 95711, 95712, 95714, 95725, 95728
                                                                    , 95732, 95735, 95758, 95759, 95760, 95761, 95769, 95770, 
                                                                    95771, 95772, 95773, 95774, 95786, 95796, 95798, 95804, 95805
                                                                    , 95818, 95824, 95826, 95827, 95837, 95846, 95850, 95851, 
                                                                    95868, 95871, 95876, 95883, 95884, 95885, 95886, 95887, 95901
                                                                    , 95932, 97705, 97706, 97707, 97708, 97756, 97758, 97813, 
                                                                    98079, 98252, 98262, 98328, 98338, 98390, 98395, 98400, 98404
                                                                    , 98426, 98437, 98440, 98663, 98670, 98758, 98802, 98809, 
                                                                    98813, 98824, 98828, 98832, 98843, 98875, 98876, 98883, 98995
                                                                    , 99008, 99135, 99140, 99335, 99351, 99357, 99383, 99577, 
                                                                    99610, 99614, 99641, 99702, 99706, 99757, 99758, 99760, 99761
                                                                    , 99764, 99766, 99767, 99771, 99773, 99784, 99822, 99823, 
                                                                    99850, 99862, 99864, 99873, 99883, 99937, 100008, 100015, 
                                                                    100022, 100045, 100095, 100096, 100103, 100104, 100107, 
                                                                    100109, 100113, 100149, 100195, 100256, 100260, 100350, 
                                                                    100399, 100414, 100432, 100440, 100453, 100453, 100487, 
                                                                    100497, 100500, 100501, 100548, 100556, 100569, 100570, 
                                                                    100579, 100593, 100596, 100598, 100605, 100606, 100646, 
                                                                    100647, 100653, 100657, 100676, 100685, 100689, 100692, 
                                                                    100817, 100820, 100828, 100844, 100902, 100903, 100904, 
                                                                    100905, 100906, 100907, 100908, 100912, 100936, 100960, 
                                                                    100961, 100963, 100966, 100972, 100975, 100996, 101025, 
                                                                    101026, 101238, 101383, 101399, 101407, 101424, 101429, 
                                                                    101445, 102308, 102353, 102379, 102395, 102397, 102429, 
                                                                    102432, 102435, 102443, 102454, 102470, 102511, 102514, 
                                                                    102516, 102518, 102695, 102732, 102736, 102759, 102762, 
                                                                    102782, 102789, 102825, 102830, 102835, 102922, 102924, 
                                                                    102946, 102962, 102966, 102977, 103067, 103071, 103101, 
                                                                    103125, 103497, 103498, 103499, 103524, 103568, 103598, 
                                                                    103607, 103608, 103609, 103655, 103657, 103704, 103766, 
                                                                    103774, 103780, 103854, 103855, 103856, 103857, 103998, 
                                                                    104061, 104062, 104063, 104064, 104313, 104315, 104325, 
                                                                    104370, 104371, 104474, 104514, 104523, 104524, 104528, 
                                                                    104534, 104558, 104565, 104568, 104571, 104577
okrestart                       88763   4       long    Static Def  signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2162
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 88763=, 102998=, 103002=
oldcps                          88493   4       long    Extern      signed long 
                                                                    Ref: 99874=, 100599=
oldintr                         88655   4       long    Static TDef short pointer to function 
                                                                    Ref: 97718=, 97767, 97807, 98902=, 98964, 98993, 99006, 99126
                                                                    , 99152, 99309, 99318, 99320, 99321, 99322()*
onoff                           88486   0       long    Extern      array of struct keytab(Incomplete Type) 
                                                                    Ref: 93118
openftp                         88687   4       long    Static      Function returning signed int 
                                                                    -No References 
openftp                         90673   4       long    Static Def. Function returning signed int 
                                                                    Ref: 96151(), 96354()
openi                           24940   4       long    Extern      Function returning signed int 
                                                                    Ref: 100099()
openssl_core_ctx_st             46257   0       unknown             Tag: struct openssl_core_ctx_st(Incomplete Type) 
                                                                    Ref: 46257
optarg                          1676    4       long    Extern      short pointer to char 
                                                                    -No References 
opterr                          1673    4       long    Extern      signed int 
                                                                    -No References 
optind                          1672    4       long    Extern      signed int 
                                                                    -No References 
optopt                          1674    4       long    Extern      signed int 
                                                                    -No References 
ossl_algorithm_st               46295   16      long                Tag: struct ossl_algorithm_st
                                                                    Ref: 44579
 algorithm_names                46296   4       long                Member: (Offset=0) short pointer to const char 
                                                                    -No References 
 property_definition            46297   4       long                Member: (Offset=4) short pointer to const char 
                                                                    -No References 
 implementation                 46298   4       long                Member: (Offset=8) short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    -No References 
 algorithm_description          46299   4       long                Member: (Offset=12) short pointer to const char 
                                                                    -No References 
ossl_check_ACCESS_DESCRIPTION_compfunc_type                                                                                      
                                85900   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ACCESS_DESCRIPTION_copyfunc_type                                                                                      
                                85900   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ACCESS_DESCRIPTION_freefunc_type                                                                                      
                                85900   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ACCESS_DESCRIPTION_sk_type                                                                                            
                                85900   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ACCESS_DESCRIPTION_type                                                                                               
                                85900   4       long    Static Def. Function returning short pointer to struct 
                                                                    ACCESS_DESCRIPTION_st
                                                                    -No References 
ossl_check_ADMISSIONS_compfunc_type                                                                                              
                                87069   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ADMISSIONS_copyfunc_type                                                                                              
                                87069   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2163
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

ossl_check_ADMISSIONS_freefunc_type                                                                                              
                                87069   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ADMISSIONS_sk_type   87069   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ADMISSIONS_type      87069   4       long    Static Def. Function returning short pointer to struct Admissions_st
                                                                    -No References 
ossl_check_ASIdOrRange_compfunc_type                                                                                             
                                86792   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASIdOrRange_copyfunc_type                                                                                             
                                86792   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASIdOrRange_freefunc_type                                                                                             
                                86792   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASIdOrRange_sk_type  86792   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ASIdOrRange_type     86792   4       long    Static Def. Function returning short pointer to struct ASIdOrRange_st
                                                                    -No References 
ossl_check_ASN1_GENERALSTRING_compfunc_type                                                                                      
                                67204   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_GENERALSTRING_copyfunc_type                                                                                      
                                67204   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_GENERALSTRING_freefunc_type                                                                                      
                                67204   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_GENERALSTRING_sk_type                                                                                            
                                67204   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ASN1_GENERALSTRING_type                                                                                               
                                67204   4       long    Static Def. Function returning short pointer to struct asn1_string_st
                                                                    -No References 
ossl_check_ASN1_INTEGER_compfunc_type                                                                                            
                                67105   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_INTEGER_copyfunc_type                                                                                            
                                67105   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_INTEGER_freefunc_type                                                                                            
                                67105   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_INTEGER_sk_type 67105   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ASN1_INTEGER_type    67105   4       long    Static Def. Function returning short pointer to struct asn1_string_st
                                                                    -No References 
ossl_check_ASN1_OBJECT_compfunc_type                                                                                             
                                67039   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_OBJECT_copyfunc_type                                                                                             
                                67039   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_OBJECT_freefunc_type                                                                                             
                                67039   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2164
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

ossl_check_ASN1_OBJECT_sk_type  67039   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ASN1_OBJECT_type     67039   4       long    Static Def. Function returning short pointer to struct asn1_object_st
                                                                    -No References 
ossl_check_ASN1_STRING_TABLE_compfunc_type                                                                                       
                                66639   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_STRING_TABLE_copyfunc_type                                                                                       
                                66639   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_STRING_TABLE_freefunc_type                                                                                       
                                66639   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_STRING_TABLE_sk_type                                                                                             
                                66639   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ASN1_STRING_TABLE_type                                                                                                
                                66639   4       long    Static Def. Function returning short pointer to struct 
                                                                    asn1_string_table_st
                                                                    -No References 
ossl_check_ASN1_STRING_compfunc_type                                                                                             
                                87004   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_STRING_copyfunc_type                                                                                             
                                87004   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_STRING_freefunc_type                                                                                             
                                87004   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_STRING_sk_type  87004   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ASN1_STRING_type     87004   4       long    Static Def. Function returning short pointer to struct asn1_string_st
                                                                    -No References 
ossl_check_ASN1_TYPE_compfunc_type                                                                                               
                                66959   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_TYPE_copyfunc_type                                                                                               
                                66959   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_TYPE_freefunc_type                                                                                               
                                66959   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_TYPE_sk_type    66959   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_ASN1_TYPE_type       66959   4       long    Static Def. Function returning short pointer to struct asn1_type_st
                                                                    -No References 
ossl_check_ASN1_UTF8STRING_compfunc_type                                                                                         
                                67167   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_UTF8STRING_copyfunc_type                                                                                         
                                67167   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_UTF8STRING_freefunc_type                                                                                         
                                67167   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ASN1_UTF8STRING_sk_type                                                                                               
                                67167   4       long    Static Def. Function returning short pointer to struct stack_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2165
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
ossl_check_ASN1_UTF8STRING_type 67167   4       long    Static Def. Function returning short pointer to struct asn1_string_st
                                                                    -No References 
ossl_check_BIO_compfunc_type    57881   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_BIO_copyfunc_type    57881   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_BIO_freefunc_type    57881   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_BIO_sk_type          57881   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_BIO_type             57881   4       long    Static Def. Function returning short pointer to struct bio_st
                                                                    -No References 
ossl_check_CONF_VALUE_compfunc_type                                                                                              
                                75454   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CONF_VALUE_copyfunc_type                                                                                              
                                75454   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CONF_VALUE_freefunc_type                                                                                              
                                75454   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CONF_VALUE_lh_compfunc_type                                                                                           
                                75480   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CONF_VALUE_lh_doallfunc_type                                                                                          
                                75480   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CONF_VALUE_lh_hashfunc_type                                                                                           
                                75480   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CONF_VALUE_lh_plain_type                                                                                              
                                75480   4       long    Static Def. Function returning short pointer to struct 
                                                                    -No References 
ossl_check_CONF_VALUE_lh_type   75480   4       long    Static Def. Function returning short pointer to struct lhash_st
                                                                    -No References 
ossl_check_CONF_VALUE_sk_type   75454   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_CONF_VALUE_type      75454   4       long    Static Def. Function returning short pointer to struct 
                                                                    -No References 
ossl_check_CTLOG_compfunc_type  77386   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CTLOG_copyfunc_type  77386   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CTLOG_freefunc_type  77386   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_CTLOG_sk_type        77386   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_CTLOG_type           77386   4       long    Static Def. Function returning short pointer to struct ctlog_st
                                                                    -No References 
ossl_check_DIST_POINT_compfunc_type                                                                                              
                                86018   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_DIST_POINT_copyfunc_type                                                                                              
                                86018   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_DIST_POINT_freefunc_type                                                                                              

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2166
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                86018   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_DIST_POINT_sk_type   86018   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_DIST_POINT_type      86018   4       long    Static Def. Function returning short pointer to struct DIST_POINT_st
                                                                    -No References 
ossl_check_ERR_STRING_DATA_lh_compfunc_type                                                                                      
                                87717   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ERR_STRING_DATA_lh_doallfunc_type                                                                                     
                                87717   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ERR_STRING_DATA_lh_hashfunc_type                                                                                      
                                87717   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_ERR_STRING_DATA_lh_plain_type                                                                                         
                                87717   4       long    Static Def. Function returning short pointer to struct ERR_string_data_st
                                                                    -No References 
ossl_check_ERR_STRING_DATA_lh_type                                                                                               
                                87717   4       long    Static Def. Function returning short pointer to struct lhash_st
                                                                    -No References 
ossl_check_GENERAL_NAMES_compfunc_type                                                                                           
                                85959   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_NAMES_copyfunc_type                                                                                           
                                85959   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_NAMES_freefunc_type                                                                                           
                                85959   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_NAMES_sk_type                                                                                                 
                                85959   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_GENERAL_NAMES_type   85959   4       long    Static Def. Function returning short pointer to struct 
                                                                    stack_st_GENERAL_NAME
                                                                    -No References 
ossl_check_GENERAL_NAME_compfunc_type                                                                                            
                                85926   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_NAME_copyfunc_type                                                                                            
                                85926   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_NAME_freefunc_type                                                                                            
                                85926   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_NAME_sk_type 85926   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_GENERAL_NAME_type    85926   4       long    Static Def. Function returning short pointer to struct GENERAL_NAME_st
                                                                    -No References 
ossl_check_GENERAL_SUBTREE_compfunc_type                                                                                         
                                86226   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_SUBTREE_copyfunc_type                                                                                         
                                86226   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_GENERAL_SUBTREE_freefunc_type                                                                                         
                                86226   4       long    Static Def. Function returning short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2167
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
ossl_check_GENERAL_SUBTREE_sk_type                                                                                               
                                86226   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_GENERAL_SUBTREE_type 86226   4       long    Static Def. Function returning short pointer to struct GENERAL_SUBTREE_st
                                                                    -No References 
ossl_check_IPAddressFamily_compfunc_type                                                                                         
                                86903   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_IPAddressFamily_copyfunc_type                                                                                         
                                86903   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_IPAddressFamily_freefunc_type                                                                                         
                                86903   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_IPAddressFamily_sk_type                                                                                               
                                86903   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_IPAddressFamily_type 86903   4       long    Static Def. Function returning short pointer to struct IPAddressFamily_st
                                                                    -No References 
ossl_check_IPAddressOrRange_compfunc_type                                                                                        
                                86857   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_IPAddressOrRange_copyfunc_type                                                                                        
                                86857   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_IPAddressOrRange_freefunc_type                                                                                        
                                86857   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_IPAddressOrRange_sk_type                                                                                              
                                86857   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_IPAddressOrRange_type                                                                                                 
                                86857   4       long    Static Def. Function returning short pointer to struct 
                                                                    IPAddressOrRange_st
                                                                    -No References 
ossl_check_OPENSSL_BLOCK_compfunc_type                                                                                           
                                44326   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_BLOCK_copyfunc_type                                                                                           
                                44326   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_BLOCK_freefunc_type                                                                                           
                                44326   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_BLOCK_sk_type                                                                                                 
                                44326   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_OPENSSL_BLOCK_type   44326   4       long    Static Def. Function returning short pointer to void 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_compfunc_type                                                                                         
                                44292   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_copyfunc_type                                                                                         
                                44292   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_freefunc_type                                                                                         

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2168
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                44292   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_lh_compfunc_type                                                                                      
                                73894   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_lh_doallfunc_type                                                                                     
                                73894   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_lh_hashfunc_type                                                                                      
                                73894   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_lh_plain_type                                                                                         
                                73894   4       long    Static Def. Function returning short pointer to short pointer to const 
                                                                    char 
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_lh_type                                                                                               
                                73894   4       long    Static Def. Function returning short pointer to struct lhash_st
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_sk_type                                                                                               
                                44292   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_OPENSSL_CSTRING_type 44292   4       long    Static Def. Function returning short pointer to const char 
                                                                    -No References 
ossl_check_OPENSSL_STRING_compfunc_type                                                                                          
                                44266   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_STRING_copyfunc_type                                                                                          
                                44266   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_STRING_freefunc_type                                                                                          
                                44266   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_STRING_lh_compfunc_type                                                                                       
                                73879   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_STRING_lh_doallfunc_type                                                                                      
                                73879   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_STRING_lh_hashfunc_type                                                                                       
                                73879   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_OPENSSL_STRING_lh_plain_type                                                                                          
                                73879   4       long    Static Def. Function returning short pointer to short pointer to char 
                                                                    -No References 
ossl_check_OPENSSL_STRING_lh_type                                                                                                
                                73879   4       long    Static Def. Function returning short pointer to struct lhash_st
                                                                    -No References 
ossl_check_OPENSSL_STRING_sk_type                                                                                                
                                44266   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_OPENSSL_STRING_type  44266   4       long    Static Def. Function returning short pointer to char 
                                                                    -No References 
ossl_check_PKCS7_RECIP_INFO_compfunc_type                                                                                        
                                74943   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_RECIP_INFO_copyfunc_type                                                                                        
                                74943   4       long    Static Def. Function returning short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2169
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
ossl_check_PKCS7_RECIP_INFO_freefunc_type                                                                                        
                                74943   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_RECIP_INFO_sk_type                                                                                              
                                74943   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_PKCS7_RECIP_INFO_type                                                                                                 
                                74943   4       long    Static Def. Function returning short pointer to struct 
                                                                    pkcs7_recip_info_st
                                                                    -No References 
ossl_check_PKCS7_SIGNER_INFO_compfunc_type                                                                                       
                                74907   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_SIGNER_INFO_copyfunc_type                                                                                       
                                74907   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_SIGNER_INFO_freefunc_type                                                                                       
                                74907   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_SIGNER_INFO_sk_type                                                                                             
                                74907   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_PKCS7_SIGNER_INFO_type                                                                                                
                                74907   4       long    Static Def. Function returning short pointer to struct 
                                                                    pkcs7_signer_info_st
                                                                    -No References 
ossl_check_PKCS7_compfunc_type  75058   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_copyfunc_type  75058   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_freefunc_type  75058   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PKCS7_sk_type        75058   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_PKCS7_type           75058   4       long    Static Def. Function returning short pointer to struct pkcs7_st
                                                                    -No References 
ossl_check_POLICYINFO_compfunc_type                                                                                              
                                86155   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICYINFO_copyfunc_type                                                                                              
                                86155   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICYINFO_freefunc_type                                                                                              
                                86155   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICYINFO_sk_type   86155   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_POLICYINFO_type      86155   4       long    Static Def. Function returning short pointer to struct POLICYINFO_st
                                                                    -No References 
ossl_check_POLICYQUALINFO_compfunc_type                                                                                          
                                86121   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICYQUALINFO_copyfunc_type                                                                                          
                                86121   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICYQUALINFO_freefunc_type                                                                                          

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2170
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                86121   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICYQUALINFO_sk_type                                                                                                
                                86121   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_POLICYQUALINFO_type  86121   4       long    Static Def. Function returning short pointer to struct POLICYQUALINFO_st
                                                                    -No References 
ossl_check_POLICY_MAPPING_compfunc_type                                                                                          
                                86190   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICY_MAPPING_copyfunc_type                                                                                          
                                86190   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICY_MAPPING_freefunc_type                                                                                          
                                86190   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_POLICY_MAPPING_sk_type                                                                                                
                                86190   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_POLICY_MAPPING_type  86190   4       long    Static Def. Function returning short pointer to struct POLICY_MAPPING_st
                                                                    -No References 
ossl_check_PROFESSION_INFO_compfunc_type                                                                                         
                                87043   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PROFESSION_INFO_copyfunc_type                                                                                         
                                87043   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PROFESSION_INFO_freefunc_type                                                                                         
                                87043   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_PROFESSION_INFO_sk_type                                                                                               
                                87043   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_PROFESSION_INFO_type 87043   4       long    Static Def. Function returning short pointer to struct ProfessionInfo_st
                                                                    -No References 
ossl_check_SCT_compfunc_type    77360   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SCT_copyfunc_type    77360   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SCT_freefunc_type    77360   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SCT_sk_type          77360   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_SCT_type             77360   4       long    Static Def. Function returning short pointer to struct sct_st
                                                                    -No References 
ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type                                                                                 
                                78938   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SRTP_PROTECTION_PROFILE_copyfunc_type                                                                                 
                                78938   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type                                                                                 
                                78938   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SRTP_PROTECTION_PROFILE_sk_type                                                                                       
                                78938   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2171
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

ossl_check_SRTP_PROTECTION_PROFILE_type                                                                                          
                                78938   4       long    Static Def. Function returning short pointer to struct 
                                                                    srtp_protection_profile_st
                                                                    -No References 
ossl_check_SSL_CIPHER_compfunc_type                                                                                              
                                83983   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SSL_CIPHER_copyfunc_type                                                                                              
                                83983   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SSL_CIPHER_freefunc_type                                                                                              
                                83983   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SSL_CIPHER_sk_type   83983   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_SSL_CIPHER_type      83983   4       long    Static Def. Function returning short pointer to const struct 
                                                                    ssl_cipher_st
                                                                    -No References 
ossl_check_SSL_COMP_compfunc_type                                                                                                
                                84009   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SSL_COMP_copyfunc_type                                                                                                
                                84009   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SSL_COMP_freefunc_type                                                                                                
                                84009   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SSL_COMP_sk_type     84009   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_SSL_COMP_type        84009   4       long    Static Def. Function returning short pointer to struct ssl_comp_st
                                                                    -No References 
ossl_check_SXNETID_compfunc_type                                                                                                 
                                86061   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SXNETID_copyfunc_type                                                                                                 
                                86061   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SXNETID_freefunc_type                                                                                                 
                                86061   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_SXNETID_sk_type      86061   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_SXNETID_type         86061   4       long    Static Def. Function returning short pointer to struct SXNET_ID_st
                                                                    -No References 
ossl_check_X509V3_EXT_METHOD_compfunc_type                                                                                       
                                85808   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509V3_EXT_METHOD_copyfunc_type                                                                                       
                                85808   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509V3_EXT_METHOD_freefunc_type                                                                                       
                                85808   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509V3_EXT_METHOD_sk_type                                                                                             
                                85808   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509V3_EXT_METHOD_type                                                                                                

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2172
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                85808   4       long    Static Def. Function returning short pointer to struct v3_ext_method
                                                                    -No References 
ossl_check_X509_ALGOR_compfunc_type                                                                                              
                                66537   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_ALGOR_copyfunc_type                                                                                              
                                66537   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_ALGOR_freefunc_type                                                                                              
                                66537   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_ALGOR_sk_type   66537   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_ALGOR_type      66537   4       long    Static Def. Function returning short pointer to struct X509_algor_st
                                                                    -No References 
ossl_check_X509_ATTRIBUTE_compfunc_type                                                                                          
                                73368   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_ATTRIBUTE_copyfunc_type                                                                                          
                                73368   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_ATTRIBUTE_freefunc_type                                                                                          
                                73368   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_ATTRIBUTE_sk_type                                                                                                
                                73368   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_ATTRIBUTE_type  73368   4       long    Static Def. Function returning short pointer to struct x509_attributes_st
                                                                    -No References 
ossl_check_X509_CRL_compfunc_type                                                                                                
                                73243   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_CRL_copyfunc_type                                                                                                
                                73243   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_CRL_freefunc_type                                                                                                
                                73243   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_CRL_sk_type     73243   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_CRL_type        73243   4       long    Static Def. Function returning short pointer to struct X509_crl_st
                                                                    -No References 
ossl_check_X509_EXTENSION_compfunc_type                                                                                          
                                73339   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_EXTENSION_copyfunc_type                                                                                          
                                73339   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_EXTENSION_freefunc_type                                                                                          
                                73339   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_EXTENSION_sk_type                                                                                                
                                73339   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_EXTENSION_type  73339   4       long    Static Def. Function returning short pointer to struct X509_extension_st
                                                                    -No References 
ossl_check_X509_INFO_compfunc_type                                                                                               

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2173
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                73503   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_INFO_copyfunc_type                                                                                               
                                73503   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_INFO_freefunc_type                                                                                               
                                73503   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_INFO_sk_type    73503   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_INFO_type       73503   4       long    Static Def. Function returning short pointer to struct X509_info_st
                                                                    -No References 
ossl_check_X509_LOOKUP_compfunc_type                                                                                             
                                73951   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_LOOKUP_copyfunc_type                                                                                             
                                73951   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_LOOKUP_freefunc_type                                                                                             
                                73951   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_LOOKUP_sk_type  73951   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_LOOKUP_type     73951   4       long    Static Def. Function returning short pointer to struct x509_lookup_st
                                                                    -No References 
ossl_check_X509_NAME_ENTRY_compfunc_type                                                                                         
                                73308   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_NAME_ENTRY_copyfunc_type                                                                                         
                                73308   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_NAME_ENTRY_freefunc_type                                                                                         
                                73308   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_NAME_ENTRY_sk_type                                                                                               
                                73308   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_NAME_ENTRY_type 73308   4       long    Static Def. Function returning short pointer to struct X509_name_entry_st
                                                                    -No References 
ossl_check_X509_NAME_compfunc_type                                                                                               
                                73165   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_NAME_copyfunc_type                                                                                               
                                73165   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_NAME_freefunc_type                                                                                               
                                73165   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_NAME_sk_type    73165   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_NAME_type       73165   4       long    Static Def. Function returning short pointer to struct X509_name_st
                                                                    -No References 
ossl_check_X509_OBJECT_compfunc_type                                                                                             
                                73977   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_OBJECT_copyfunc_type                                                                                             
                                73977   4       long    Static Def. Function returning short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2174
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
ossl_check_X509_OBJECT_freefunc_type                                                                                             
                                73977   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_OBJECT_sk_type  73977   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_OBJECT_type     73977   4       long    Static Def. Function returning short pointer to struct x509_object_st
                                                                    -No References 
ossl_check_X509_POLICY_NODE_compfunc_type                                                                                        
                                86747   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_POLICY_NODE_copyfunc_type                                                                                        
                                86747   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_POLICY_NODE_freefunc_type                                                                                        
                                86747   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_POLICY_NODE_sk_type                                                                                              
                                86747   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_POLICY_NODE_type                                                                                                 
                                86747   4       long    Static Def. Function returning short pointer to struct 
                                                                    X509_POLICY_NODE_st
                                                                    -No References 
ossl_check_X509_PURPOSE_compfunc_type                                                                                            
                                86403   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_PURPOSE_copyfunc_type                                                                                            
                                86403   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_PURPOSE_freefunc_type                                                                                            
                                86403   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_PURPOSE_sk_type 86403   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_PURPOSE_type    86403   4       long    Static Def. Function returning short pointer to struct x509_purpose_st
                                                                    -No References 
ossl_check_X509_REVOKED_compfunc_type                                                                                            
                                73217   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_REVOKED_copyfunc_type                                                                                            
                                73217   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_REVOKED_freefunc_type                                                                                            
                                73217   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_REVOKED_sk_type 73217   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_REVOKED_type    73217   4       long    Static Def. Function returning short pointer to struct x509_revoked_st
                                                                    -No References 
ossl_check_X509_TRUST_compfunc_type                                                                                              
                                74040   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_TRUST_copyfunc_type                                                                                              
                                74040   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_TRUST_freefunc_type                                                                                              

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2175
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                74040   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_TRUST_sk_type   74040   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_TRUST_type      74040   4       long    Static Def. Function returning short pointer to struct x509_trust_st
                                                                    -No References 
ossl_check_X509_VERIFY_PARAM_compfunc_type                                                                                       
                                74003   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_VERIFY_PARAM_copyfunc_type                                                                                       
                                74003   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_VERIFY_PARAM_freefunc_type                                                                                       
                                74003   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_VERIFY_PARAM_sk_type                                                                                             
                                74003   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_VERIFY_PARAM_type                                                                                                
                                74003   4       long    Static Def. Function returning short pointer to struct 
                                                                    X509_VERIFY_PARAM_st
                                                                    -No References 
ossl_check_X509_compfunc_type   73191   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_copyfunc_type   73191   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_freefunc_type   73191   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_X509_sk_type         73191   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_X509_type            73191   4       long    Static Def. Function returning short pointer to struct x509_st
                                                                    -No References 
ossl_check_const_ACCESS_DESCRIPTION_sk_type                                                                                      
                                85900   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ADMISSIONS_sk_type                                                                                              
                                87069   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASIdOrRange_sk_type                                                                                             
                                86792   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASN1_GENERALSTRING_sk_type                                                                                      
                                67204   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASN1_INTEGER_sk_type                                                                                            
                                67105   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASN1_OBJECT_sk_type                                                                                             
                                67039   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASN1_STRING_TABLE_sk_type                                                                                       
                                66639   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASN1_STRING_sk_type                                                                                             
                                87004   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASN1_TYPE_sk_type                                                                                               

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2176
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                66959   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ASN1_UTF8STRING_sk_type                                                                                         
                                67167   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_BIO_sk_type    57881   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_CONF_VALUE_lh_plain_type                                                                                        
                                75480   4       long    Static Def. Function returning short pointer to const struct 
                                                                    -No References 
ossl_check_const_CONF_VALUE_lh_type                                                                                              
                                75480   4       long    Static Def. Function returning short pointer to const struct lhash_st
                                                                    -No References 
ossl_check_const_CONF_VALUE_sk_type                                                                                              
                                75454   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_CTLOG_sk_type  77386   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_DIST_POINT_sk_type                                                                                              
                                86018   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_ERR_STRING_DATA_lh_plain_type                                                                                   
                                87717   4       long    Static Def. Function returning short pointer to const struct 
                                                                    ERR_string_data_st
                                                                    -No References 
ossl_check_const_ERR_STRING_DATA_lh_type                                                                                         
                                87717   4       long    Static Def. Function returning short pointer to const struct lhash_st
                                                                    -No References 
ossl_check_const_GENERAL_NAMES_sk_type                                                                                           
                                85959   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_GENERAL_NAME_sk_type                                                                                            
                                85926   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_GENERAL_SUBTREE_sk_type                                                                                         
                                86226   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_IPAddressFamily_sk_type                                                                                         
                                86903   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_IPAddressOrRange_sk_type                                                                                        
                                86857   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_OPENSSL_BLOCK_sk_type                                                                                           
                                44326   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_OPENSSL_CSTRING_lh_plain_type                                                                                   
                                73894   4       long    Static Def. Function returning short pointer to const short pointer to 
                                                                    const char 
                                                                    -No References 
ossl_check_const_OPENSSL_CSTRING_lh_type                                                                                         
                                73894   4       long    Static Def. Function returning short pointer to const struct lhash_st
                                                                    -No References 
ossl_check_const_OPENSSL_CSTRING_sk_type                                                                                         
                                44292   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_OPENSSL_STRING_lh_plain_type                                                                                    

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2177
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                73879   4       long    Static Def. Function returning short pointer to const short pointer to 
                                                                    char 
                                                                    -No References 
ossl_check_const_OPENSSL_STRING_lh_type                                                                                          
                                73879   4       long    Static Def. Function returning short pointer to const struct lhash_st
                                                                    -No References 
ossl_check_const_OPENSSL_STRING_sk_type                                                                                          
                                44266   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_PKCS7_RECIP_INFO_sk_type                                                                                        
                                74943   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_PKCS7_SIGNER_INFO_sk_type                                                                                       
                                74907   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_PKCS7_sk_type  75058   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_POLICYINFO_sk_type                                                                                              
                                86155   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_POLICYQUALINFO_sk_type                                                                                          
                                86121   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_POLICY_MAPPING_sk_type                                                                                          
                                86190   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_PROFESSION_INFO_sk_type                                                                                         
                                87043   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_SCT_sk_type    77360   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type                                                                                 
                                78938   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_SSL_CIPHER_sk_type                                                                                              
                                83983   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_SSL_COMP_sk_type                                                                                                
                                84009   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_SXNETID_sk_type                                                                                                 
                                86061   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509V3_EXT_METHOD_sk_type                                                                                       
                                85808   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_ALGOR_sk_type                                                                                              
                                66537   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_ATTRIBUTE_sk_type                                                                                          
                                73368   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_CRL_sk_type                                                                                                
                                73243   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_EXTENSION_sk_type                                                                                          
                                73339   4       long    Static Def. Function returning short pointer to const struct stack_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2178
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
ossl_check_const_X509_INFO_sk_type                                                                                               
                                73503   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_LOOKUP_sk_type                                                                                             
                                73951   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_NAME_ENTRY_sk_type                                                                                         
                                73308   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_NAME_sk_type                                                                                               
                                73165   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_OBJECT_sk_type                                                                                             
                                73977   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_POLICY_NODE_sk_type                                                                                        
                                86747   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_PURPOSE_sk_type                                                                                            
                                86403   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_REVOKED_sk_type                                                                                            
                                73217   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_TRUST_sk_type                                                                                              
                                74040   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_VERIFY_PARAM_sk_type                                                                                       
                                74003   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_X509_sk_type   73191   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_const_void_sk_type   46610   4       long    Static Def. Function returning short pointer to const struct stack_st
                                                                    -No References 
ossl_check_void_compfunc_type   46610   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_void_copyfunc_type   46610   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_void_freefunc_type   46610   4       long    Static Def. Function returning short pointer to function 
                                                                    -No References 
ossl_check_void_sk_type         46610   4       long    Static Def. Function returning short pointer to struct stack_st
                                                                    -No References 
ossl_check_void_type            46610   4       long    Static Def. Function returning short pointer to void 
                                                                    -No References 
ossl_core_bio_st                46258   0       unknown             Tag: struct ossl_core_bio_st(Incomplete Type) 
                                                                    Ref: 46258
ossl_core_handle_st             46256   0       unknown             Tag: struct ossl_core_handle_st(Incomplete Type) 
                                                                    Ref: 46256
ossl_dispatch_st                46266   8       long                Tag: struct ossl_dispatch_st
                                                                    Ref: 44577
 function_id                    46267   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 function                       46268   4       long                Member: (Offset=4) short pointer to function 
                                                                    Ref: 58948., 58951., 58954., 58958., 58961., 58963., 58967., 
                                                                    58971., 58973., 58976., 58984., 58987., 58993., 58996., 58999
                                                                    ., 59002., 59005., 59008., 59012., 59015., 59018., 59021., 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2179
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    59025., 59028., 59045., 59047., 59048., 59050., 59052., 59053
                                                                    ., 59054., 59055., 59056., 59058., 59060., 59064., 59072., 
                                                                    59075., 59077., 59081., 59093., 59099., 59101., 59103., 59105
                                                                    ., 59107., 59109., 59114., 59116., 59119., 59122., 59125., 
                                                                    59128., 59131., 59134., 59171., 59172., 59173., 59175., 59178
                                                                    ., 59182., 59183., 59185., 59186., 59188., 59190., 59192., 
                                                                    59194., 59214., 59215., 59221., 59227., 59231., 59234., 59238
                                                                    ., 59239., 59240., 59241., 59243., 59245., 59247., 59249., 
                                                                    59267., 59268., 59269., 59270., 59272., 59274., 59277., 59278
                                                                    ., 59280., 59282., 59283., 59285., 59302., 59303., 59304., 
                                                                    59305., 59306., 59308., 59309., 59311., 59313., 59314., 59316
                                                                    ., 59341., 59344., 59345., 59350., 59351., 59355., 59359., 
                                                                    59362., 59363., 59364., 59365., 59366., 59368., 59370., 59371
                                                                    ., 59373., 59375., 59380., 59382., 59387., 59445., 59454., 
                                                                    59456., 59458., 59460., 59463., 59465., 59469., 59474., 59479
                                                                    ., 59481., 59486., 59488., 59493., 59498., 59502., 59507., 
                                                                    59516., 59518., 59520., 59523., 59528., 59544., 59545., 59547
                                                                    ., 59549., 59550., 59551., 59552., 59554., 59556., 59558., 
                                                                    59589., 59591., 59593., 59597., 59599., 59604., 59606., 59609
                                                                    ., 59612., 59614., 59617., 59620., 59623., 59625., 59627., 
                                                                    59630., 59631., 59632., 59634., 59636., 59638., 59640., 59642
                                                                    ., 59644., 59646., 59664., 59665., 59667., 59672., 59674., 
                                                                    59679., 59680., 59681., 59683., 59685., 59687., 59703., 59704
                                                                    ., 59706., 59710., 59712., 59715., 59716., 59717., 59718., 
                                                                    59720., 59722., 59736., 59737., 59738., 59739., 59741., 59743
                                                                    ., 59746., 59748., 59754., 59756., 59767., 59768., 59769., 
                                                                    59770., 59772., 59774., 59777., 59779., 59783., 59807., 59808
                                                                    ., 59809., 59811., 59813., 59817., 59818., 59819.
ossl_item_st                    46284   8       long                Tag: struct ossl_item_st
                                                                    Ref: 44578
 id                             46285   4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
 ptr                            46286   4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
ossl_lib_ctx_st                 44575   0       unknown             Tag: struct ossl_lib_ctx_st(Incomplete Type) 
                                                                    Ref: 44575
ossl_param_st                   46308   20      long                Tag: struct ossl_param_st
                                                                    Ref: 44580
 key                            46309   4       long                Member: (Offset=0) short pointer to const char 
                                                                    -No References 
 data_type                      46310   4       long                Member: (Offset=4) unsigned int 
                                                                    -No References 
 data                           46311   4       long                Member: (Offset=8) short pointer to void 
                                                                    -No References 
 data_size                      46312   4       long                Member: (Offset=12) unsigned int 
                                                                    -No References 
 return_size                    46313   4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
otherName_st                    85853   8       long                Tag: struct otherName_st
                                                                    Ref: 85853
 type_id                        85854   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
 value                          85855   4       long                Member: (Offset=4) short pointer to struct asn1_type_st
                                                                    -No References 
out2screen                      88754   4       long    Static Def  signed int 
                                                                    Ref: 88754=, 90369, 91956=, 91966, 91974, 92040, 92700=, 
                                                                    92842=, 94073=, 94463=, 100289, 100371, 100397, 100549, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2180
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    100691, 100692, 100796, 100826, 100922=, 100934=, 100936, 
                                                                    100943, 101398, 101423
pad                             104814  1       byte    Static Def  char 
                                                                    Ref: 104814=, 104835, 104887, 104888
parsefacts                      98787   4       long    Static Def. Function returning short pointer to char 
                                                                    Ref: 103791()
parsefeat                       98737   0       byte    Static Def. Function returning void 
                                                                    Ref: 99144()
passivemode                     88908   4       long    Static Def  signed int 
                                                                    Ref: 88908=, 96009=, 98065=, 101053, 101062=, 101479
pasv                            88907   64      byte    Static TDef array of char 
                                                                    Ref: 98867, 101070
patterns                        88487   4       long    Extern      signed int 
                                                                    Ref: 90023=, 95168
pem_password_cb                 44583   4       long                Typedef: function 
                                                                    Ref: 76913, 76923, 76928, 76931, 76935, 76938, 76941, 76946, 
                                                                    76954, 76958, 76960, 76962, 76978, 76978, 76979, 76979, 76980
                                                                    , 76980, 76982, 76982, 76983, 76983, 76984, 76984, 76985, 
                                                                    76985, 76986, 76986, 76987, 76987, 76989, 76989, 76989, 76989
                                                                    , 76990, 76990, 76991, 76991, 76995, 76995, 76995, 76995, 
                                                                    76996, 76996, 76997, 76997, 77003, 77003, 77004, 77004, 77004
                                                                    , 77004, 77005, 77005, 77011, 77011, 77015, 77015, 77015, 
                                                                    77015, 77015, 77015, 77015, 77015, 77016, 77016, 77016, 77016
                                                                    , 77021, 77026, 77029, 77032, 77035, 77036, 77042, 77045, 
                                                                    77048, 77050, 77055, 77068, 77069, 77072, 77074, 84205, 84205
                                                                    , 84830, 84832, 84834, 84836, 98168
perror                          2166    0       byte    Extern      Function returning void 
                                                                    Ref: 97713(), 99942(), 99969(), 100585(), 100656(), 101057()
                                                                    , 101234(), 101268(), 101281(), 101286(), 101291(), 101295()
                                                                    , 101492(), 102327(), 102428(), 102446(), 102764(), 102797()
                                                                    , 102811(), 102821(), 102831(), 102961(), 103263()
pid_t                           3063    4       long                Typedef: int 
                                                                    Ref: 18362
pipeout                         92524   4       long    Static Def. Function returning signed int 
                                                                    Ref: 100688
pipesend                        88550   4       long    Extern      signed int 
                                                                    Ref: 92140, 93651=, 94498, 94499=, 95487, 95608, 95679, 95704
                                                                    , 95754, 95904=, 99740
pkcs7_digest_st                 75009   16      long                Tag: struct pkcs7_digest_st
                                                                    Ref: 75009
 version                        75010   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 md                             75011   4       long                Member: (Offset=4) short pointer to struct X509_algor_st
                                                                    -No References 
 contents                       75012   4       long                Member: (Offset=8) short pointer to struct pkcs7_st
                                                                    -No References 
 digest                         75013   4       long                Member: (Offset=12) short pointer to struct asn1_string_st
                                                                    -No References 
pkcs7_enc_content_st            74985   20      long                Tag: struct pkcs7_enc_content_st
                                                                    Ref: 74985
 content_type                   74986   4       long                Member: (Offset=0) short pointer to struct asn1_object_st
                                                                    -No References 
 algorithm                      74987   4       long                Member: (Offset=4) short pointer to struct X509_algor_st
                                                                    -No References 
 enc_data                       74988   4       long                Member: (Offset=8) short pointer to struct asn1_string_st
                                                                    -No References 
 cipher                         74989   4       long                Member: (Offset=12) short pointer to const struct 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2181
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    evp_cipher_st
                                                                    -No References 
 ctx                            74990   4       long                Member: (Offset=16) short pointer to const struct 
                                                                    PKCS7_CTX_st
                                                                    -No References 
pkcs7_encrypted_st              75016   8       long                Tag: struct pkcs7_encrypted_st
                                                                    Ref: 75016
 version                        75017   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 enc_data                       75018   4       long                Member: (Offset=4) short pointer to struct 
                                                                    pkcs7_enc_content_st
                                                                    -No References 
pkcs7_enveloped_st              74993   12      long                Tag: struct pkcs7_enveloped_st
                                                                    Ref: 74993
 version                        74994   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 recipientinfo                  74995   4       long                Member: (Offset=4) short pointer to struct 
                                                                    stack_st_PKCS7_RECIP_INFO
                                                                    -No References 
 enc_data                       74996   4       long                Member: (Offset=8) short pointer to struct 
                                                                    pkcs7_enc_content_st
                                                                    -No References 
pkcs7_issuer_and_serial_st      74890   8       long                Tag: struct pkcs7_issuer_and_serial_st
                                                                    Ref: 74890
 issuer                         74891   4       long                Member: (Offset=0) short pointer to struct X509_name_st
                                                                    -No References 
 serial                         74892   4       long                Member: (Offset=4) short pointer to struct asn1_string_st
                                                                    -No References 
pkcs7_recip_info_st             74935   24      long                Tag: struct pkcs7_recip_info_st
                                                                    Ref: 74935
 version                        74936   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 issuer_and_serial              74937   4       long                Member: (Offset=4) short pointer to struct 
                                                                    pkcs7_issuer_and_serial_st
                                                                    -No References 
 key_enc_algor                  74938   4       long                Member: (Offset=8) short pointer to struct X509_algor_st
                                                                    -No References 
 enc_key                        74939   4       long                Member: (Offset=12) short pointer to struct asn1_string_st
                                                                    -No References 
 cert                           74940   4       long                Member: (Offset=16) short pointer to struct x509_st
                                                                    -No References 
 ctx                            74941   4       long                Member: (Offset=20) short pointer to const struct 
                                                                    PKCS7_CTX_st
                                                                    -No References 
pkcs7_signed_st                 74972   24      long                Tag: struct pkcs7_signed_st
                                                                    Ref: 74972
 version                        74973   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 md_algs                        74974   4       long                Member: (Offset=4) short pointer to struct 
                                                                    stack_st_X509_ALGOR
                                                                    -No References 
 cert                           74975   4       long                Member: (Offset=8) short pointer to struct stack_st_X509
                                                                    -No References 
 crl                            74976   4       long                Member: (Offset=12) short pointer to struct stack_st_X509_CRL
                                                                    -No References 
 signer_info                    74977   4       long                Member: (Offset=16) short pointer to struct 
                                                                    stack_st_PKCS7_SIGNER_INFO

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2182
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 contents                       74978   4       long                Member: (Offset=20) short pointer to struct pkcs7_st
                                                                    -No References 
pkcs7_signedandenveloped_st     74999   28      long                Tag: struct pkcs7_signedandenveloped_st
                                                                    Ref: 74999
 version                        75000   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 md_algs                        75001   4       long                Member: (Offset=4) short pointer to struct 
                                                                    stack_st_X509_ALGOR
                                                                    -No References 
 cert                           75002   4       long                Member: (Offset=8) short pointer to struct stack_st_X509
                                                                    -No References 
 crl                            75003   4       long                Member: (Offset=12) short pointer to struct stack_st_X509_CRL
                                                                    -No References 
 signer_info                    75004   4       long                Member: (Offset=16) short pointer to struct 
                                                                    stack_st_PKCS7_SIGNER_INFO
                                                                    -No References 
 enc_data                       75005   4       long                Member: (Offset=20) short pointer to struct 
                                                                    pkcs7_enc_content_st
                                                                    -No References 
 recipientinfo                  75006   4       long                Member: (Offset=24) short pointer to struct 
                                                                    stack_st_PKCS7_RECIP_INFO
                                                                    -No References 
pkcs7_signer_info_st            74895   36      long                Tag: struct pkcs7_signer_info_st
                                                                    Ref: 74895
 version                        74896   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
 issuer_and_serial              74897   4       long                Member: (Offset=4) short pointer to struct 
                                                                    pkcs7_issuer_and_serial_st
                                                                    -No References 
 digest_alg                     74898   4       long                Member: (Offset=8) short pointer to struct X509_algor_st
                                                                    -No References 
 auth_attr                      74899   4       long                Member: (Offset=12) short pointer to struct 
                                                                    stack_st_X509_ATTRIBUTE
                                                                    -No References 
 digest_enc_alg                 74900   4       long                Member: (Offset=16) short pointer to struct X509_algor_st
                                                                    -No References 
 enc_digest                     74901   4       long                Member: (Offset=20) short pointer to struct asn1_string_st
                                                                    -No References 
 unauth_attr                    74902   4       long                Member: (Offset=24) short pointer to struct 
                                                                    stack_st_X509_ATTRIBUTE
                                                                    -No References 
 pkey                           74904   4       long                Member: (Offset=28) short pointer to struct evp_pkey_st
                                                                    -No References 
 ctx                            74905   4       long                Member: (Offset=32) short pointer to const struct 
                                                                    PKCS7_CTX_st
                                                                    -No References 
pkcs7_st                        75021   32      long                Tag: struct pkcs7_st
                                                                    Ref: 74978, 75012, 75021
 asn1                           75026   4       long                Member: (Offset=0) short pointer to unsigned char 
                                                                    -No References 
 length                         75027   4       long                Member: (Offset=4) signed long 
                                                                    -No References 
 state                          75031   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
 detached                       75032   4       long                Member: (Offset=12) signed int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2183
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 type                           75033   4       long                Member: (Offset=16) short pointer to struct asn1_object_st
                                                                    -No References 
 d                              75055   4       long                Member: (Offset=20) union 
                                                                    -No References 
  ptr                           75040   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
  data                          75042   4       long                Member: (Offset=0) short pointer to struct asn1_string_st
                                                                    -No References 
  sign                          75044   4       long                Member: (Offset=0) short pointer to struct pkcs7_signed_st
                                                                    -No References 
  enveloped                     75046   4       long                Member: (Offset=0) short pointer to struct pkcs7_enveloped_st
                                                                    -No References 
  signed_and_enveloped          75048   4       long                Member: (Offset=0) short pointer to struct 
                                                                    pkcs7_signedandenveloped_st
                                                                    -No References 
  digest                        75050   4       long                Member: (Offset=0) short pointer to struct pkcs7_digest_st
                                                                    -No References 
  encrypted                     75052   4       long                Member: (Offset=0) short pointer to struct pkcs7_encrypted_st
                                                                    -No References 
  other                         75054   4       long                Member: (Offset=0) short pointer to struct asn1_type_st
                                                                    -No References 
 ctx                            75056   8       long                Member: (Offset=24) struct PKCS7_CTX_st
                                                                    -No References 
  libctx                        74886   4       long                Member: (Offset=0) short pointer to struct ossl_lib_ctx_st
                                                                    -No References 
  propq                         74887   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
pktnum                          88487   4       long    Extern      signed int 
                                                                    Ref: 91967, 92234, 92667=, 93863=, 95134=, 104322=, 104471=, 
                                                                    104531=
printf                          2167    4       long    Extern      Function returning signed int 
                                                                    Ref: 89809(), 89930(), 89931(), 89932(), 89933(), 89934(), 
                                                                    89935(), 89936(), 89937(), 89938(), 89939(), 89940(), 89941()
                                                                    , 89942(), 89943(), 89944(), 89945(), 89946(), 89947(), 89948
                                                                    (), 89949(), 89952(), 89953(), 89954(), 89955(), 89956(), 
                                                                    89957(), 89958(), 89961(), 89962(), 90154(), 90162(), 90168()
                                                                    , 90178(), 90189(), 90203(), 90206(), 90214(), 90323(), 90329
                                                                    (), 90510(), 90576(), 90581(), 90664(), 90757(), 90761(), 
                                                                    90871(), 90885(), 90894(), 90903(), 90947(), 90950(), 90986()
                                                                    , 90995(), 91012(), 91040(), 91058(), 91061(), 91071(), 91074
                                                                    (), 91087(), 91106(), 91108(), 91118(), 91120(), 91130(), 
                                                                    91133(), 91171(), 91190(), 91192(), 91231(), 91236(), 91264()
                                                                    , 91278(), 91338(), 91350(), 91400(), 91435(), 91457(), 91468
                                                                    (), 92754(), 92760(), 92763(), 92768(), 92772(), 92953(), 
                                                                    92958(), 92973(), 92987(), 93012(), 93016(), 93104(), 93175()
                                                                    , 93180(), 93213(), 93282(), 93298(), 93311(), 93327(), 93384
                                                                    (), 93413(), 93432(), 93444(), 93459(), 93470(), 93546(), 
                                                                    93560(), 93607(), 93619(), 93638(), 93665(), 93701(), 93733()
                                                                    , 93777(), 93810(), 93816(), 93821(), 93834(), 93934(), 93943
                                                                    (), 93955(), 93963(), 93968(), 93976(), 93981(), 93985(), 
                                                                    94145(), 94184(), 94244(), 94336(), 94530(), 94603(), 94611()
                                                                    , 94621(), 94696(), 94765(), 94770(), 94799(), 94855(), 94879
                                                                    (), 94900(), 94981(), 95001(), 95013(), 95026(), 95030(), 
                                                                    95034(), 95046(), 95091(), 95140(), 95147(), 95192(), 95654()
                                                                    , 95660(), 95664(), 95991(), 95993(), 96064(), 96145(), 96159
                                                                    (), 96162(), 96168(), 96169(), 96175(), 96178(), 96187(), 
                                                                    96190(), 96198(), 96200(), 96219(), 96222(), 96226(), 96238()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2184
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 96241(), 96268(), 96335(), 96384(), 96386(), 96397(), 96400
                                                                    (), 96408(), 96410(), 96420(), 96423(), 96425(), 96436(), 
                                                                    96444(), 96454(), 96461(), 96477(), 96546(), 96547(), 96554()
                                                                    , 96558(), 96561(), 96565(), 96568(), 96571(), 96572(), 96579
                                                                    (), 96581(), 96582(), 96583(), 96584(), 96585(), 96588(), 
                                                                    96590(), 96591(), 96592(), 96593(), 96594(), 96600(), 96602()
                                                                    , 96607(), 96610(), 96613(), 96627(), 96631(), 96632(), 96633
                                                                    (), 96634(), 96635(), 96636(), 96637(), 96641(), 96642(), 
                                                                    96643(), 96644(), 96645(), 96646(), 96647(), 96656(), 96659()
                                                                    , 96663(), 96678(), 96680(), 96682(), 96684(), 96686(), 96688
                                                                    (), 96690(), 96698(), 97344(), 97367(), 97368(), 97369(), 
                                                                    97370(), 97374(), 97375(), 97377(), 97378(), 97383(), 97384()
                                                                    , 97386(), 97387(), 97391(), 97392(), 97393(), 97397(), 97398
                                                                    (), 97399(), 97404(), 97405(), 97406(), 97410(), 97411(), 
                                                                    97412(), 97417(), 97418(), 97419(), 97424(), 97425(), 97428()
                                                                    , 97429(), 97434(), 97435(), 97438(), 97439(), 97443(), 97444
                                                                    (), 97445(), 97446(), 97449(), 97450(), 97453(), 97454(), 
                                                                    97460(), 97461(), 97465(), 97466(), 97468(), 97472(), 97473()
                                                                    , 97475(), 97477(), 97481(), 97482(), 97483(), 97487(), 97488
                                                                    (), 97489(), 97490(), 97494(), 97495(), 97496(), 97497(), 
                                                                    97501(), 97502(), 97503(), 97508(), 97509(), 97510(), 97515()
                                                                    , 97517(), 97519(), 97521(), 97523(), 97528(), 97529(), 97530
                                                                    (), 97531(), 97532(), 97533(), 97535(), 97536(), 97538(), 
                                                                    97540(), 97542(), 97543(), 97548(), 97549(), 97550(), 97551()
                                                                    , 97552(), 97553(), 97554(), 97571(), 97572(), 97573(), 97574
                                                                    (), 97578(), 97579(), 97580(), 97584(), 97585(), 97586(), 
                                                                    97588(), 97589(), 97593(), 97594(), 97595(), 97596(), 97600()
                                                                    , 97693(), 97695(), 97697(), 97698(), 97742(), 97972(), 97993
                                                                    (), 98004(), 98029(), 98034(), 98039(), 98042(), 98083(), 
                                                                    98258(), 98268(), 98334(), 98344(), 98664(), 99001(), 99002()
                                                                    , 99027(), 99051(), 99121(), 99130(), 99158(), 99168(), 99173
                                                                    (), 99191(), 99296(), 99313(), 99381(), 100148(), 100372(), 
                                                                    100812(), 100814(), 101061(), 101071(), 102212(), 102252(), 
                                                                    102310(), 102312(), 102342(), 102538(), 102541(), 102551(), 
                                                                    102583(), 102586(), 102942(), 103021(), 103048(), 103073(), 
                                                                    103238(), 103388(), 103576(), 103673(), 103706(), 103711(), 
                                                                    103748(), 103755(), 103763(), 103778(), 103808(), 103829(), 
                                                                    103838(), 103843()
printlines                      88764   4       long    Static Def  signed int 
                                                                    Ref: 88764=, 91206=, 96112=, 97909=, 99105, 99114
private_key_st                  73480   48      long                Tag: struct private_key_st
                                                                    Ref: 73480
 version                        73481   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 enc_algor                      73483   4       long                Member: (Offset=4) short pointer to struct X509_algor_st
                                                                    -No References 
 enc_pkey                       73484   4       long                Member: (Offset=8) short pointer to struct asn1_string_st
                                                                    -No References 
 dec_pkey                       73486   4       long                Member: (Offset=12) short pointer to struct evp_pkey_st
                                                                    -No References 
 key_length                     73488   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 key_data                       73489   4       long                Member: (Offset=20) short pointer to char 
                                                                    -No References 
 key_free                       73490   4       long                Member: (Offset=24) signed int 
                                                                    -No References 
 cipher                         73492   20      long                Member: (Offset=28) struct evp_cipher_info_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2185
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
  cipher                        68162   4       long                Member: (Offset=0) short pointer to const struct 
                                                                    evp_cipher_st
                                                                    -No References 
  iv                            68163   16      byte                Member: (Offset=4) array of unsigned char 
                                                                    -No References 
ptabflg                         88796   4       long    Static Def  signed int 
                                                                    Ref: 88796=
ptcancel                        88794   3600    quad    Static TDef array of signed int64 
                                                                    -No References 
ptflag                          97625   4       long    Static Def  signed int 
                                                                    Ref: 97625=
pthread_cancel_e                55348   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_SIGABRT_e           55334   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_SIGEMT_e            55335   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_SIGPIPE_e           55338   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_SIGSYS_e            55337   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_SIGTRAP_e           55333   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_aritherr_e          55336   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_decovf_e            55346   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_excpu_e             55339   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_exfilsiz_e          55340   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_exquota_e           55326   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_fltdiv_e            55344   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_fltovf_e            55343   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_fltund_e            55345   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_illaddr_e           55325   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_illinstr_e          55329   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_insfmem_e           55327   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_intdiv_e            55342   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_intovf_e            55341   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_noexcmem_e          55351   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_nopriv_e            55328   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_privinst_e          55331   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_resaddr_e           55330   32      long    Extern      union __pthreadExceptionObj

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2186
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
pthread_exc_resoper_e           55332   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_subrng_e            55347   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exc_uninitexc_e         55324   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_exit_e                  55349   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
pthread_stackovf_e              55350   32      long    Extern      union __pthreadExceptionObj
                                                                    -No References 
putchar                         2214    4       long    Extern      Function returning signed int 
                                                                    Ref: 92519(), 100800()
puterror                        88760   4       long    Static Def  signed int 
                                                                    Ref: 88760=, 92755, 92863=, 93772=, 93932, 93944, 93947, 
                                                                    93954, 93962
putfil                          24960   4       long    Extern      Function returning signed int 
                                                                    Ref: 100691
putfile                         88688   4       long    Static      Function returning signed int 
                                                                    -No References 
putfile                         92076   4       long    Static Def. Function returning signed int 
                                                                    Ref: 92720(), 93909()
putpath                         88782   4096    byte    Static Def  array of char 
                                                                    Ref: 88782=, 91315, 91332, 91365, 91371, 91482, 92862=[]
putswi                          89299   468     long    Static Def  array of struct keytab
                                                                    Ref: 89299=, 89398, 92898
pwbuf                           90958   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 90970[], 90971, 103136[], 103140[], 103141
pwcrypt                         90959   4       long    Extern      signed int 
                                                                    -No References 
pwflg                           90959   4       long    Extern      signed int 
                                                                    Ref: 90970, 103136, 103140
qorp                            88968   24      long    Static Def  array of struct keytab
                                                                    Ref: 88968=, 90465, 93095, 94687
quiet                           88488   4       long    Extern      signed int 
                                                                    Ref: 89996=, 90136=, 90369, 91039, 91086, 91205, 91263, 91277
                                                                    , 91318, 91405=, 91452=, 91465=, 91483=, 92692, 94064, 96104
                                                                    , 96246, 97678, 97793=, 97908, 98028, 98038, 98885, 98893, 
                                                                    100371, 102211, 102251, 102941, 103020, 103047, 103237, 
                                                                    103672
quitting                        97904   4       long    Extern      signed int 
                                                                    Ref: 97952
rab64def                        6644    144     quad                Tag: struct rab64def
                                                                    Ref: 7015
 rab64$b_bid                    6646    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 rab64$b_bln                    6647    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 rab64$r_isi_overlay            6658    2       byte                Member: (Offset=2) union 
                                                                    -No References 
  rab64$w_isi                   6649    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  rab64$r_isi_bits              6657    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64def$$_fill_1            6652    6 bits  bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   rab64$v_ppf_rat              6653    8 bits  bit                 Member: (Offset=6 bits) bitfield 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2187
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
   rab64$v_ppf_ind              6654    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_ppisi                6656    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
 rab64$r_rop_overlay            6729    4       byte                Member: (Offset=4) union 
                                                                    -No References 
  rab64$l_rop                   6660    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab64$r_rop_bits0             6710    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64$v_asy                  6662    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   rab64$v_tpt                  6663    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   rab64$v_rea                  6669    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   rab64$v_rrl                  6670    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   rab64$v_uif                  6672    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   rab64$v_mas                  6673    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   rab64$v_fdl                  6674    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   rab64$v_rev                  6675    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
   rab64$v_eof                  6677    1 bit   bit                 Member: (Offset=8 bits) bitfield 
                                                                    -No References 
   rab64$v_rah                  6678    1 bit   bit                 Member: (Offset=1.1 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_wbh                  6679    1 bit   bit                 Member: (Offset=1.2 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_bio                  6680    1 bit   bit                 Member: (Offset=1.3 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_cdk                  6681    1 bit   bit                 Member: (Offset=1.4 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_loa                  6682    1 bit   bit                 Member: (Offset=1.5 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_lim                  6683    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_syncsts              6684    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_loc                  6690    1 bit   bit                 Member: (Offset=2.0 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_wat                  6691    1 bit   bit                 Member: (Offset=2.1 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_ulk                  6692    1 bit   bit                 Member: (Offset=2.2 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_rlk                  6693    1 bit   bit                 Member: (Offset=2.3 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_nlk                  6694    1 bit   bit                 Member: (Offset=2.4 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_kge                  6695    1 bit   bit                 Member: (Offset=2.5 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_kgt                  6696    1 bit   bit                 Member: (Offset=2.6 byte.bit) bitfield 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2188
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   rab64$v_nxr                  6697    1 bit   bit                 Member: (Offset=2.7 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_rne                  6702    1 bit   bit                 Member: (Offset=3.0 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_tmo                  6703    1 bit   bit                 Member: (Offset=3.1 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_cvt                  6704    1 bit   bit                 Member: (Offset=3.2 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_rnf                  6705    1 bit   bit                 Member: (Offset=3.3 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_eto                  6706    1 bit   bit                 Member: (Offset=3.4 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_pta                  6707    1 bit   bit                 Member: (Offset=3.5 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_pmt                  6708    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_cco                  6709    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
  rab64$r_rop_bits1             6716    3       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64def$$_fill_6            6712    2.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   rab64$v_eqnxt                6713    1 bit   bit                 Member: (Offset=2.5 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_nxt                  6714    1 bit   bit                 Member: (Offset=2.6 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_fill_4_              6715    1 bit   bit                 Member: (Offset=2.7 byte.bit) bitfield 
                                                                    -No References 
  rab64$r_rop_fields            6728    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64def$$_fill_3            6722    1       byte                Member: (Offset=0) char 
                                                                    -No References 
   rab64$b_rop1                 6723    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   rab64$b_rop2                 6724    1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
   rab64$b_rop3                 6726    1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
 rab64$l_sts                    6730    4       long                Member: (Offset=8) unsigned int 
                                                                    -No References 
 rab64$r_stv_overlay            6737    4       byte                Member: (Offset=12) union 
                                                                    -No References 
  rab64$l_stv                   6732    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab64$r_stv_fields            6736    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64$w_stv0                 6734    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   rab64$w_stv2                 6735    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
 rab64$r_rfa_overlay            6744    6       byte                Member: (Offset=16) union 
                                                                    -No References 
  rab64$w_rfa                   6739    6       word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  rab64$r_rfa_fields            6743    6       byte                Member: (Offset=0) struct 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2189
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
   rab64$l_rfa0                 6741    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
   rab64$w_rfa4                 6742    2       word                Member: (Offset=4) unsigned short 
                                                                    -No References 
 rab64def$$_fill_4              6745    2       word                Member: (Offset=22) signed short 
                                                                    -No References 
 rab64$l_ctx                    6748    4       long                Member: (Offset=24) unsigned int 
                                                                    -No References 
 rab64$r_rop_2_overlay          6758    2       byte                Member: (Offset=28) union 
                                                                    -No References 
  rab64$w_rop_2                 6751    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  rab64$r_rop_2_bits0           6757    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64$v_nql                  6753    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   rab64$v_nodlckwt             6754    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   rab64$v_nodlckblk            6755    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   rab64def$$_fill_5            6756    1.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
 rab64$b_rac                    6759    1       byte                Member: (Offset=30) unsigned char 
                                                                    -No References 
 rab64$b_tmo                    6760    1       byte                Member: (Offset=31) unsigned char 
                                                                    -No References 
 rab64$w_usz                    6761    2       word                Member: (Offset=32) unsigned short 
                                                                    -No References 
 rab64$w_rsz                    6762    2       word                Member: (Offset=34) unsigned short 
                                                                    -No References 
 rab64$l_ubf                    6763    4       long                Member: (Offset=36) short pointer to char 
                                                                    -No References 
 rab64$l_rbf                    6764    4       long                Member: (Offset=40) short pointer to char 
                                                                    -No References 
 rab64$l_rhb                    6765    4       long                Member: (Offset=44) short pointer to char 
                                                                    -No References 
 rab64$r_kbf_overlay            6769    4       byte                Member: (Offset=48) union 
                                                                    -No References 
  rab64$l_kbf                   6767    4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
  rab64$l_pbf                   6768    4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 rab64$r_ksz_overlay            6773    1       byte                Member: (Offset=52) union 
                                                                    -No References 
  rab64$b_ksz                   6771    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  rab64$b_psz                   6772    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 rab64$b_krf                    6774    1       byte                Member: (Offset=53) unsigned char 
                                                                    -No References 
 rab64$b_mbf                    6775    1       byte                Member: (Offset=54) char 
                                                                    -No References 
 rab64$b_mbc                    6776    1       byte                Member: (Offset=55) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2190
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 rab64$r_bkt_overlay            6780    4       byte                Member: (Offset=56) union 
                                                                    -No References 
  rab64$l_bkt                   6778    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab64$l_dct                   6779    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
 rab64$l_fab                    6781    4       long                Member: (Offset=60) short pointer to struct fabdef
                                                                    -No References 
 rab64$l_xab                    6782    4       long                Member: (Offset=64) short pointer to void 
                                                                    -No References 
 rab64$r_version64_overlay      6794    4       byte                Member: (Offset=68) union 
                                                                    -No References 
  rab64$l_version               6784    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$l_version                 6785    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab64$r_version_fields_1      6789    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64$w_verminor             6787    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   rab64$w_vermajor             6788    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
  rab64$r_version_fields_2      6793    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab$w_verminor               6791    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   rab$w_vermajor               6792    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
 rab64$r_ubf64_overlay          6803    8       byte                Member: (Offset=72) union 
                                                                    -No References 
  rab64$pq_ubf                  6801    8       quad                Member: (Offset=0) unsigned int64 
                                                                    -No References 
  rab$pq_ubf                    6802    8       quad                Member: (Offset=0) unsigned int64 
                                                                    -No References 
 rab64$r_usz64_overlay          6808    8       byte                Member: (Offset=80) union 
                                                                    -No References 
  rab64$q_usz                   6806    8       long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
  rab$q_usz                     6807    8       long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
 rab64$r_rbf64_overlay          6812    8       byte                Member: (Offset=88) union 
                                                                    -No References 
  rab64$pq_rbf                  6810    8       quad                Member: (Offset=0) unsigned int64 
                                                                    -No References 
  rab$pq_rbf                    6811    8       quad                Member: (Offset=0) unsigned int64 
                                                                    -No References 
 rab64$r_rsz64_overlay          6816    8       byte                Member: (Offset=96) union 
                                                                    -No References 
  rab64$q_rsz                   6814    8       long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
  rab$q_rsz                     6815    8       long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
 rab64$r_kbf64_overlay          6820    8       byte                Member: (Offset=104) union 
                                                                    -No References 
  rab64$pq_kbf                  6818    8       quad                Member: (Offset=0) unsigned int64 
                                                                    -No References 
  rab$pq_kbf                    6819    8       quad                Member: (Offset=0) unsigned int64 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2191
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 rab64$r_rhb64_overlay          6824    8       byte                Member: (Offset=112) union 
                                                                    -No References 
  rab64$pq_rhb                  6822    8       quad                Member: (Offset=0) unsigned int64 
                                                                    -No References 
  rab$pq_rhb                    6823    8       quad                Member: (Offset=0) unsigned int64 
                                                                    -No References 
 rab64$r_ctx64_overlay          6828    8       byte                Member: (Offset=120) union 
                                                                    -No References 
  rab64$q_ctx                   6826    8       long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
  rab$q_ctx                     6827    8       long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
 rab64$r_ropext_overlay_rab64   6844    4       byte                Member: (Offset=128) union 
                                                                    -No References 
  rab64$l_ropext                6830    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$l_ropext                  6831    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab64$r_ropext_bits0_1        6837    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64def$$_fill_7_1          6833    3.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   rab64$v_reserved29           6834    1 bit   bit                 Member: (Offset=3.5 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_reserved30           6835    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   rab64$v_reserved31           6836    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
  rab64$r_ropext_bits0_2        6843    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab64def$$_fill_7_2          6839    3.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   rab$v_reserved29             6840    1 bit   bit                 Member: (Offset=3.5 byte.bit) bitfield 
                                                                    -No References 
   rab$v_reserved30             6841    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   rab$v_reserved31             6842    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
 rab64$r_mbf_overlay            6848    4       byte                Member: (Offset=132) union 
                                                                    -No References 
  rab64$l_mbf                   6846    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$l_mbf                     6847    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
 rab64$r_mbc_overlay            6852    4       byte                Member: (Offset=136) union 
                                                                    -No References 
  rab64$l_mbc                   6850    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$l_mbc                     6851    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
 rab64$r_reserved_1_overlay     6856    4       byte                Member: (Offset=140) union 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2192
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

  rab64$l_reserved_1            6854    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$l_reserved_1              6855    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
rabdef                          5943    68      long                Tag: struct rabdef
                                                                    Ref: 6198
 rab$b_bid                      5945    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 rab$b_bln                      5946    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 rab$r_isi_overlay              5957    2       byte                Member: (Offset=2) union 
                                                                    -No References 
  rab$w_isi                     5948    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  rab$r_isi_bits                5956    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rabdef$$_fill_1              5951    6 bits  bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   rab$v_ppf_rat                5952    8 bits  bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   rab$v_ppf_ind                5953    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 
   rab$v_ppisi                  5955    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
 rab$r_rop_overlay              6028    4       byte                Member: (Offset=4) union 
                                                                    -No References 
  rab$l_rop                     5959    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$r_rop_bits0               6009    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab$v_asy                    5961    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   rab$v_tpt                    5962    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   rab$v_rea                    5968    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   rab$v_rrl                    5969    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   rab$v_uif                    5971    1 bit   bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   rab$v_mas                    5972    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   rab$v_fdl                    5973    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   rab$v_rev                    5974    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
   rab$v_eof                    5976    1 bit   bit                 Member: (Offset=8 bits) bitfield 
                                                                    -No References 
   rab$v_rah                    5977    1 bit   bit                 Member: (Offset=1.1 byte.bit) bitfield 
                                                                    -No References 
   rab$v_wbh                    5978    1 bit   bit                 Member: (Offset=1.2 byte.bit) bitfield 
                                                                    -No References 
   rab$v_bio                    5979    1 bit   bit                 Member: (Offset=1.3 byte.bit) bitfield 
                                                                    -No References 
   rab$v_cdk                    5980    1 bit   bit                 Member: (Offset=1.4 byte.bit) bitfield 
                                                                    -No References 
   rab$v_loa                    5981    1 bit   bit                 Member: (Offset=1.5 byte.bit) bitfield 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2193
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
   rab$v_lim                    5982    1 bit   bit                 Member: (Offset=1.6 byte.bit) bitfield 
                                                                    -No References 
   rab$v_syncsts                5983    1 bit   bit                 Member: (Offset=1.7 byte.bit) bitfield 
                                                                    -No References 
   rab$v_loc                    5989    1 bit   bit                 Member: (Offset=2.0 byte.bit) bitfield 
                                                                    -No References 
   rab$v_wat                    5990    1 bit   bit                 Member: (Offset=2.1 byte.bit) bitfield 
                                                                    -No References 
   rab$v_ulk                    5991    1 bit   bit                 Member: (Offset=2.2 byte.bit) bitfield 
                                                                    -No References 
   rab$v_rlk                    5992    1 bit   bit                 Member: (Offset=2.3 byte.bit) bitfield 
                                                                    -No References 
   rab$v_nlk                    5993    1 bit   bit                 Member: (Offset=2.4 byte.bit) bitfield 
                                                                    -No References 
   rab$v_kge                    5994    1 bit   bit                 Member: (Offset=2.5 byte.bit) bitfield 
                                                                    -No References 
   rab$v_kgt                    5995    1 bit   bit                 Member: (Offset=2.6 byte.bit) bitfield 
                                                                    -No References 
   rab$v_nxr                    5996    1 bit   bit                 Member: (Offset=2.7 byte.bit) bitfield 
                                                                    -No References 
   rab$v_rne                    6001    1 bit   bit                 Member: (Offset=3.0 byte.bit) bitfield 
                                                                    -No References 
   rab$v_tmo                    6002    1 bit   bit                 Member: (Offset=3.1 byte.bit) bitfield 
                                                                    -No References 
   rab$v_cvt                    6003    1 bit   bit                 Member: (Offset=3.2 byte.bit) bitfield 
                                                                    -No References 
   rab$v_rnf                    6004    1 bit   bit                 Member: (Offset=3.3 byte.bit) bitfield 
                                                                    -No References 
   rab$v_eto                    6005    1 bit   bit                 Member: (Offset=3.4 byte.bit) bitfield 
                                                                    -No References 
   rab$v_pta                    6006    1 bit   bit                 Member: (Offset=3.5 byte.bit) bitfield 
                                                                    -No References 
   rab$v_pmt                    6007    1 bit   bit                 Member: (Offset=3.6 byte.bit) bitfield 
                                                                    -No References 
   rab$v_cco                    6008    1 bit   bit                 Member: (Offset=3.7 byte.bit) bitfield 
                                                                    -No References 
  rab$r_rop_bits1               6015    3       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rabdef$$_fill_6              6011    2.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
   rab$v_eqnxt                  6012    1 bit   bit                 Member: (Offset=2.5 byte.bit) bitfield 
                                                                    -No References 
   rab$v_nxt                    6013    1 bit   bit                 Member: (Offset=2.6 byte.bit) bitfield 
                                                                    -No References 
   rab$v_fill_3_                6014    1 bit   bit                 Member: (Offset=2.7 byte.bit) bitfield 
                                                                    -No References 
  rab$r_rop_fields              6027    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rabdef$$_fill_3              6021    1       byte                Member: (Offset=0) char 
                                                                    -No References 
   rab$b_rop1                   6022    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   rab$b_rop2                   6023    1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2194
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   rab$b_rop3                   6025    1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
 rab$l_sts                      6029    4       long                Member: (Offset=8) unsigned int 
                                                                    -No References 
 rab$r_stv_overlay              6036    4       byte                Member: (Offset=12) union 
                                                                    -No References 
  rab$l_stv                     6031    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$r_stv_fields              6035    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab$w_stv0                   6033    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   rab$w_stv2                   6034    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
 rab$r_rfa_overlay              6043    6       byte                Member: (Offset=16) union 
                                                                    -No References 
  rab$w_rfa                     6038    6       word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  rab$r_rfa_fields              6042    6       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab$l_rfa0                   6040    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
   rab$w_rfa4                   6041    2       word                Member: (Offset=4) unsigned short 
                                                                    -No References 
 rabdef$$_fill_4                6044    2       word                Member: (Offset=22) signed short 
                                                                    -No References 
 rab$l_ctx                      6047    4       long                Member: (Offset=24) unsigned int 
                                                                    -No References 
 rab$r_rop_2_overlay            6057    2       byte                Member: (Offset=28) union 
                                                                    -No References 
  rab$w_rop_2                   6050    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  rab$r_rop_2_bits0             6056    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
   rab$v_nql                    6052    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   rab$v_nodlckwt               6053    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   rab$v_nodlckblk              6054    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   rabdef$$_fill_5              6055    1.5 byte.bit
                                                bit                                                                              
                                                                    bitfield 
                                                                    -No References 
 rab$b_rac                      6058    1       byte                Member: (Offset=30) unsigned char 
                                                                    -No References 
 rab$b_tmo                      6059    1       byte                Member: (Offset=31) unsigned char 
                                                                    -No References 
 rab$w_usz                      6060    2       word                Member: (Offset=32) unsigned short 
                                                                    -No References 
 rab$w_rsz                      6061    2       word                Member: (Offset=34) unsigned short 
                                                                    -No References 
 rab$l_ubf                      6062    4       long                Member: (Offset=36) short pointer to char 
                                                                    -No References 
 rab$l_rbf                      6063    4       long                Member: (Offset=40) short pointer to char 
                                                                    -No References 
 rab$l_rhb                      6064    4       long                Member: (Offset=44) short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2195
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 rab$r_kbf_overlay              6068    4       byte                Member: (Offset=48) union 
                                                                    -No References 
  rab$l_kbf                     6066    4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
  rab$l_pbf                     6067    4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 rab$r_ksz_overlay              6072    1       byte                Member: (Offset=52) union 
                                                                    -No References 
  rab$b_ksz                     6070    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  rab$b_psz                     6071    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 rab$b_krf                      6073    1       byte                Member: (Offset=53) unsigned char 
                                                                    -No References 
 rab$b_mbf                      6074    1       byte                Member: (Offset=54) char 
                                                                    -No References 
 rab$b_mbc                      6075    1       byte                Member: (Offset=55) unsigned char 
                                                                    -No References 
 rab$r_bkt_overlay              6079    4       byte                Member: (Offset=56) union 
                                                                    -No References 
  rab$l_bkt                     6077    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  rab$l_dct                     6078    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
 rab$l_fab                      6080    4       long                Member: (Offset=60) short pointer to struct fabdef
                                                                    -No References 
 rab$l_xab                      6081    4       long                Member: (Offset=64) short pointer to void 
                                                                    -No References 
radixN                          104811  4       long    Static Def  short pointer to char 
                                                                    Ref: 104811=, 104836, 104838, 104870[], 104874[], 104878[], 
                                                                    104879[], 104885[]
radix_encode                    89607   4       long    Static      Function returning signed int 
                                                                    -No References 
radix_encode                    104824  4       long    Static Def. Function returning signed int 
                                                                    Ref: 98561(), 99185()
radix_error                     88666   4       long    Static      Function returning short pointer to char 
                                                                    -No References 
radix_error                     89637   4       long    Static      Function returning short pointer to char 
                                                                    -No References 
radix_error                     104897  4       long    Static Def. Function returning short pointer to char 
                                                                    Ref: 98565(), 99192()
rcv_move                        88507   4       long    Extern      short pointer to char 
                                                                    Ref: 94992&, 95811, 95818, 95819
rcv_rename                      88507   4       long    Extern      short pointer to char 
                                                                    Ref: 95022&, 95023, 95789, 95796, 95797, 95798
rcvexcept                       88523   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    Ref: 95068, 95446[], 95449[], 95452[], 95453[]
rdigits                         21935   4       long    Extern      Function returning signed int 
                                                                    Ref: 90322()
recursive                       88488   4       long    Extern      signed int 
                                                                    Ref: 89968=, 90050=, 92207, 93080=, 93292, 94127, 94905=, 
                                                                    95388, 95405, 95414, 95429, 95481, 95608, 103803
recv                            30830   4       long    Extern      Function returning signed int 
                                                                    Ref: 98622(), 102466(), 103919(), 104521()
recvcancel                      88792   3600    quad    Static TDef array of signed int64 
                                                                    Ref: 100157, 101021, 101034

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2196
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

recvrequest                     88690   4       long    Static      Function returning signed int 
                                                                    -No References 
recvrequest                     89609   4       long    Static      Function returning signed int 
                                                                    -No References 
recvrequest                     100877  4       long    Static Def. Function returning signed int 
                                                                    Ref: 91200(), 91980(), 94131(), 103659()
remappd                         88527   4       long    Extern      signed int 
                                                                    Ref: 100919
remdest                         88526   4       long    Extern      short pointer to char 
                                                                    Ref: 100916, 100918
remfile                         88527   4       long    Extern      signed int 
                                                                    Ref: 100914
remote_files                    89639   4       long    Static      Function returning short pointer to unsigned char 
                                                                    -No References 
remote_files                    103481  4       long    Static Def. Function returning short pointer to unsigned char 
                                                                    Ref: 91203(), 91212(), 94247(), 94253(), 95215(), 95243(), 
                                                                    95258(), 96455(), 103826()
rempipe                         88527   4       long    Extern      signed int 
                                                                    Ref: 100915
remtxt                          89602   4       long    Extern      Function returning signed int 
                                                                    Ref: 91161()
reply_buf                       88901   10240   byte    Static TDef array of char 
                                                                    Ref: 98900, 99313, 99326
reply_parse                     88901   4       long    Static TDef short pointer to char 
                                                                    Ref: 98899, 99028, 99324, 99326, 99327=, 99327, 99328, 99331=
                                                                    , 102334=, 102347, 102348, 102354=
reply_ptr                       88901   4       long    Static TDef short pointer to char 
                                                                    Ref: 98900=, 99029=*, 99030=*, 99325=*, 99326=, 99327, 99328=
                                                                    , 99329=*, 99331
res_done                        35641                               enum constant:  3
                                                                    -No References 
res_error                       35641                               enum constant:  4
                                                                    -No References 
res_goahead                     35641                               enum constant:  0
                                                                    -No References 
res_modified                    35641                               enum constant:  2
                                                                    -No References 
res_nextns                      35641                               enum constant:  1
                                                                    -No References 
res_send_qhook                  35644   4       long                Typedef: short pointer to function 
                                                                    Ref: 35701
res_send_rhook                  35651   4       long                Typedef: short pointer to function 
                                                                    Ref: 35702
res_sendhookact                 35642   4       long                Typedef: enum 
                                                                    Ref: 35644, 35651
rfnbuf                          89773   4096    byte    Static TDef array of char 
                                                                    Ref: 89794, 97730, 97741, 97746
rfnlen                          89772   4       long    Static Def  signed int 
                                                                    Ref: 89772=, 89794=, 89795
rfnptr                          89771   4       long    Static Def  short pointer to char 
                                                                    Ref: 89771=, 89794, 89797=*, 89798=*, 97730=
rfrc                            88762   4       long    Static Def  signed int 
                                                                    Ref: 88762=, 103501=, 103676=, 103686=, 103707=, 103752=, 
                                                                    103775=
rfspec                          88483   4       long    Extern      short pointer to char 
                                                                    Ref: 92035&
rftimer                         16208   0       byte    Extern      Function returning void 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2197
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 99877(), 100602()
rpackets                        88490   4       long    Extern      signed int 
                                                                    Ref: 95135=, 104321=, 104325, 104470=, 104474, 104530=, 
                                                                    104534
rpathtab                        88486   0       long    Extern      array of struct keytab(Incomplete Type) 
                                                                    -No References 
rpktl                           88490   4       long    Extern      signed int 
                                                                    Ref: 104324=, 104473=, 104533=
rrfspec                         88483   4       long    Extern      short pointer to char 
                                                                    Ref: 92034&
rs_len                          88492   8       quad    Extern      signed int64 
                                                                    Ref: 95202=, 100490=, 100961=
rtentry                         31803   0       unknown             Tag: struct rtentry(Incomplete Type) 
                                                                    Ref: 31803
sav_log                         88597   4       long    Extern Def  signed int 
                                                                    Ref: 88597=, 90702, 90703, 90704=, 90853=
sav_psv                         88850   4       long    Static Def  signed int 
                                                                    Ref: 88850=, 90698, 90699, 90700=, 90849=
savdir                          88479   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 95178, 95935
scanfile                        24309   4       long    Extern      Function returning signed int 
                                                                    Ref: 92145()
scommand                        89627   4       long    Static      Function returning signed int 
                                                                    -No References 
scommand                        98449   4       long    Static Def. Function returning signed int 
                                                                    Ref: 97766(), 102434()
scrnout                         92514   4       long    Static Def. Function returning signed int 
                                                                    Ref: 100691
sct_st                          44566   0       unknown             Tag: struct sct_st(Incomplete Type) 
                                                                    Ref: 44566
secure_error                    89642   0       byte    Static      Function returning void 
                                                                    -No References 
secure_error                    99394   0       byte    Static Def. Function returning void 
                                                                    Ref: 104363(), 104375(), 104382()
secure_flush                    88692   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_flush                    89622   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_flush                    103972  4       long    Static Def. Function returning signed int 
                                                                    Ref: 99940(), 99967()
secure_getbyte                  88693   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_getbyte                  89630   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_getbyte                  104282  4       long    Static Def. Function returning signed int 
                                                                    Ref: 104539()
secure_getc                     89629   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_getc                     104496  4       long    Static Def. Function returning signed int 
                                                                    Ref: 98428(), 99382(), 100147(), 100167(), 100318(), 100754()
                                                                    , 104562()
secure_putbuf                   89628   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_putbuf                   104089  4       long    Static Def. Function returning signed int 
                                                                    Ref: 92662(), 103987(), 103992(), 104073()
secure_read                     88694   4       long    Static      Function returning signed int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2198
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

secure_read                     89631   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_read                     104550  4       long    Static Def. Function returning signed int 
                                                                    Ref: 100613()
secure_write                    89626   4       long    Static      Function returning signed int 
                                                                    -No References 
secure_write                    104027  4       long    Static Def. Function returning signed int 
                                                                    -No References 
select                          23530   4       long    Extern      Function returning signed int 
                                                                    -No References 
select                          30867   4       long    Extern      Function returning signed int 
                                                                    Ref: 92614(), 99355()
send                            30831   4       long    Extern      Function returning signed int 
                                                                    Ref: 92661(), 98577(), 98581(), 98945(), 98983(), 102427(), 
                                                                    102431(), 103895(), 103983(), 104047(), 104051()
sendcancel                      88793   3600    quad    Static TDef array of signed int64 
                                                                    Ref: 99386, 100127, 100131
sendmode                        88508   4       long    Extern      signed int 
                                                                    Ref: 99810=
sendport                        88909   4       long    Static Def  signed int 
                                                                    Ref: 88909=, 90434=, 98066=, 101253, 101270=, 101273, 101298
                                                                    , 101305, 101306=, 101313=, 101334=
sendrequest                     88695   4       long    Static      Function returning signed int 
                                                                    -No References 
sendrequest                     89635   4       long    Static      Function returning signed int 
                                                                    -No References 
sendrequest                     100031  4       long    Static Def. Function returning signed int 
                                                                    Ref: 92292()
sendstart                       88492   8       quad    Extern      signed int64 
                                                                    Ref: 92119=, 99753=, 99753, 99758=, 99759, 99760, 99761=, 
                                                                    99764, 99767=, 99771, 99772, 99773, 99783, 99784, 99787=
servent                         36152   16      byte                Tag: struct servent
                                                                    Ref: 35984, 97985
 s_name                         36153   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 s_aliases                      36154   4       long                Member: (Offset=4) short pointer to short pointer to char 
                                                                    -No References 
 s_port                         36155   4       long                Member: (Offset=8) signed int 
                                                                    Ref: 97998.
 s_proto                        36156   4       long                Member: (Offset=12) short pointer to char 
                                                                    -No References 
servertype                      88910   4       long    Static Def  signed int 
                                                                    Ref: 88910=, 91148, 92131, 92131, 92539, 94094, 94094, 94140
                                                                    , 94268, 94476, 94476, 95289, 95452, 103028=, 103029=, 103030
                                                                    =, 103031=, 103032=, 103033=, 103034=, 103787, 103795
setint                          25000   0       byte    Extern      Function returning void 
                                                                    Ref: 103182(), 103210(), 103355(), 103378()
setlocus                        28364   0       byte    Extern      Function returning void 
                                                                    Ref: 97866(), 97953(), 103232()
setmodtime                      91632   4       long    Static Def. Function returning signed int 
                                                                    Ref: 91888()
seton                           28328   4       long    Extern      Function returning signed int 
                                                                    Ref: 90424(), 90427(), 90433(), 90447(), 90450(), 90456(), 
                                                                    90462(), 90474(), 90487(), 90490(), 90536(), 90538(), 90547()
                                                                    , 90550(), 96008()
setonaut                        28329   4       long    Extern      Function returning signed int 
                                                                    Ref: 90459()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2199
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

setpbsz                         89608   4       long    Static      Function returning signed int 
                                                                    -No References 
setpbsz                         102321  4       long    Static Def. Function returning signed int 
                                                                    Ref: 98031(), 102557()
setprotbuf                      89634   4       long    Static      Function returning signed int 
                                                                    -No References 
setprotbuf                      102291  4       long    Static Def. Function returning signed int 
                                                                    Ref: 102258(), 102326()
setsafe                         101842  4       long    Extern      Function returning signed int 
                                                                    -No References 
setsockopt                      30829   4       long    Extern      Function returning signed int 
                                                                    Ref: 101274(), 102959()
sfspec                          88483   4       long    Extern      short pointer to char 
                                                                    Ref: 92321, 92322&, 92323
sfttab                          88820   64      long    Static Def  array of signed int 
                                                                    Ref: 88820=, 96464[], 96465[], 96466[], 96467[], 96468[], 
                                                                    96492=[], 96499=[], 96503=[], 96507=[], 98764=[], 98765=[], 
                                                                    98768=[], 98769=[], 98772=[], 98773=[], 98776=[], 98777=[], 
                                                                    98780=[], 98781=[], 99142=[], 103052=[], 103067[], 103071[], 
                                                                    103074[], 103627[], 103627[], 103681=[]
shoftp                          28425   4       long    Extern      Function returning signed int 
                                                                    -No References 
shoftp                          96534   4       long    Extern Def. Function returning signed int 
                                                                    -No References 
shopl                           88667   4       long    Static      Function returning short pointer to char 
                                                                    -No References 
shopl                           96518   4       long    Static Def. Function returning short pointer to char 
                                                                    Ref: 96686(), 96688(), 96690()
showoff                         28332   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 96571(), 96572(), 96582(), 96583(), 96588(), 96590(), 
                                                                    96592(), 96593(), 96594(), 96607(), 96682(), 96684()
showooa                         28333   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 96591()
sig_t                           88648   4       long                Typedef: short pointer to function 
                                                                    Ref: 88655, 88714, 100188
signal                          18816   4       long    Extern      Function returning short pointer to function 
                                                                    Ref: 97718(), 97767(), 97807(), 98902(), 98964(), 98993(), 
                                                                    99006(), 99126(), 99152(), 99309(), 99531(), 99534(), 99600()
                                                                    , 99603(), 99651(), 99654(), 99845(), 99848(), 99881(), 
                                                                    100002(), 100005(), 100124(), 100248(), 100298(), 100310(), 
                                                                    100356(), 100358(), 100361(), 100427(), 100505(), 100848(), 
                                                                    100851(), 101020()
sigval                          18334   8       long                Tag: union sigval
                                                                    Ref: 18378
 sival_int                      18335   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 sival_ptr                      18339   4       long                Member: (Offset=0) short pointer to void 
                                                                    -No References 
 _sival_fill                    18340   8       long                Member: (Offset=0) array of short pointer to void 
                                                                    -No References 
size_t                          1632    4       long                Typedef: unsigned int 
                                                                    Ref: 35900, 35900, 35901, 36303, 36328, 36328, 36328, 36440, 
                                                                    36479, 41886, 41904, 41905, 46312, 46313, 46455, 46456, 46548
                                                                    , 46548, 46549, 46549, 46550, 46550, 46551, 46551, 46552, 
                                                                    46555, 46555, 46560, 46758, 46759, 46769, 46770, 46771, 46773
                                                                    , 46775, 46776, 46777, 46777, 46780, 46780, 46782, 46783, 
                                                                    46785, 46789, 46790, 46792, 46870, 56817, 56820, 56895, 56909

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2200
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 57164, 57172, 57179, 57186, 57193, 57200, 57276, 57278, 
                                                                    57337, 57352, 57863, 57864, 57867, 57868, 58139, 58140, 58159
                                                                    , 58160, 58219, 58219, 58223, 58223, 58291, 58293, 58307, 
                                                                    58311, 58383, 58384, 58419, 58421, 58430, 58431, 58435, 58435
                                                                    , 58437, 58437, 58441, 58441, 58836, 58838, 58847, 58847, 
                                                                    58848, 58848, 58849, 58993, 58996, 59002, 59005, 59008, 59008
                                                                    , 59012, 59015, 59021, 59028, 59048, 59048, 59050, 59050, 
                                                                    59058, 59072, 59072, 59072, 59075, 59077, 59077, 59077, 59077
                                                                    , 59081, 59173, 59175, 59175, 59178, 59178, 59178, 59215, 
                                                                    59215, 59221, 59221, 59227, 59227, 59227, 59231, 59231, 59234
                                                                    , 59234, 59234, 59270, 59272, 59274, 59274, 59306, 59345, 
                                                                    59351, 59351, 59355, 59355, 59359, 59359, 59359, 59382, 59382
                                                                    , 59382, 59382, 59387, 59469, 59547, 59547, 59593, 59593, 
                                                                    59593, 59599, 59599, 59606, 59606, 59606, 59612, 59614, 59614
                                                                    , 59617, 59617, 59617, 59623, 59625, 59627, 59627, 59667, 
                                                                    59667, 59667, 59674, 59674, 59674, 59706, 59706, 59712, 59712
                                                                    , 59783, 59819, 60580, 60678, 60681, 60684, 60686, 60688, 
                                                                    60690, 60696, 60706, 60717, 60726, 60729, 60730, 60731, 60737
                                                                    , 60739, 60743, 67387, 67519, 67714, 67807, 67827, 67937, 
                                                                    67962, 68134, 68241, 68245, 68311, 68312, 68394, 68397, 68401
                                                                    , 68402, 68409, 68490, 68491, 68500, 68501, 68510, 68512, 
                                                                    68521, 68523, 68896, 68897, 68900, 68901, 68902, 68902, 68903
                                                                    , 68905, 68907, 68907, 68908, 68953, 68957, 68959, 68961, 
                                                                    68962, 68963, 69015, 69018, 69022, 69121, 69135, 69146, 69179
                                                                    , 69180, 69182, 69183, 69184, 69186, 69225, 69336, 69340, 
                                                                    69344, 69348, 69359, 69435, 69436, 69492, 69495, 69498, 69501
                                                                    , 69503, 69505, 69510, 69576, 69577, 69581, 69582, 69587, 
                                                                    69588, 69592, 69593, 69597, 69598, 69605, 69609, 69610, 69613
                                                                    , 69614, 69632, 69636, 69636, 69638, 69639, 69644, 69650, 
                                                                    69695, 69696, 69699, 69700, 69704, 69705, 69709, 69718, 69719
                                                                    , 69722, 69723, 69726, 69733, 69734, 69738, 69739, 69764, 
                                                                    69765, 69769, 69769, 69774, 69775, 69779, 69788, 69789, 69792
                                                                    , 69793, 69796, 69804, 69805, 69809, 69810, 69842, 69843, 
                                                                    69844, 70260, 70261, 70261, 70489, 70489, 70701, 70703, 70714
                                                                    , 70724, 70806, 70820, 71093, 71106, 71116, 71126, 71127, 
                                                                    71134, 71251, 71252, 71254, 71256, 71260, 71261, 71437, 71480
                                                                    , 71787, 71802, 72281, 72333, 72599, 72600, 72603, 73001, 
                                                                    73006, 73022, 73026, 73032, 73033, 73072, 73076, 73082, 73083
                                                                    , 74706, 74708, 74716, 74719, 75706, 75725, 75732, 75742, 
                                                                    76270, 77113, 77127, 77136, 77225, 77225, 77239, 77249, 77250
                                                                    , 77257, 77565, 77572, 77580, 77612, 77618, 77626, 77633, 
                                                                    77639, 77646, 77737, 77788, 77840, 77873, 79001, 79008, 79015
                                                                    , 79016, 79027, 79028, 79336, 79340, 79467, 79472, 79556, 
                                                                    79560, 82863, 82864, 82866, 82876, 82877, 82879, 84170, 84170
                                                                    , 84171, 84171, 84687, 84690, 84745, 84748, 84754, 84867, 
                                                                    84871, 84935, 84936, 84937, 84938, 84940, 84942, 84951, 84953
                                                                    , 84954, 84966, 84966, 84972, 84973, 84975, 84975, 84976, 
                                                                    84979, 84979, 84980, 84981, 85064, 85162, 85163, 85164, 85165
                                                                    , 85166, 85167, 85169, 85226, 85227, 85259, 85285, 85286, 
                                                                    85289, 85292, 85293, 85296, 85298, 85299, 85300, 85301, 85331
                                                                    , 85575, 85582, 85583, 86733, 86735, 86737, 87286, 87293, 
                                                                    87318, 87404, 87799, 87806, 87967, 88102, 88104, 101048, 
                                                                    102684
sizeok                          88767   4       long    Static Def  signed int 
                                                                    Ref: 88767=, 93815, 94151, 94302, 95567, 95643, 96403=, 96466
                                                                    =, 96506=, 96507, 96630, 96636, 96640, 96646, 97935=, 98068=
                                                                    , 98772, 98773

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2201
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

sk_ACCESS_DESCRIPTION_compfunc  85900   4       long                Typedef: short pointer to function 
                                                                    Ref: 85900
sk_ACCESS_DESCRIPTION_copyfunc  85900   4       long                Typedef: short pointer to function 
                                                                    Ref: 85900
sk_ACCESS_DESCRIPTION_freefunc  85900   4       long                Typedef: short pointer to function 
                                                                    Ref: 85900
sk_ADMISSIONS_compfunc          87069   4       long                Typedef: short pointer to function 
                                                                    Ref: 87069
sk_ADMISSIONS_copyfunc          87069   4       long                Typedef: short pointer to function 
                                                                    Ref: 87069
sk_ADMISSIONS_freefunc          87069   4       long                Typedef: short pointer to function 
                                                                    Ref: 87069
sk_ASIdOrRange_compfunc         86792   4       long                Typedef: short pointer to function 
                                                                    Ref: 86792
sk_ASIdOrRange_copyfunc         86792   4       long                Typedef: short pointer to function 
                                                                    Ref: 86792
sk_ASIdOrRange_freefunc         86792   4       long                Typedef: short pointer to function 
                                                                    Ref: 86792
sk_ASN1_GENERALSTRING_compfunc  67204   4       long                Typedef: short pointer to function 
                                                                    Ref: 67204
sk_ASN1_GENERALSTRING_copyfunc  67204   4       long                Typedef: short pointer to function 
                                                                    Ref: 67204
sk_ASN1_GENERALSTRING_freefunc  67204   4       long                Typedef: short pointer to function 
                                                                    Ref: 67204
sk_ASN1_INTEGER_compfunc        67105   4       long                Typedef: short pointer to function 
                                                                    Ref: 67105
sk_ASN1_INTEGER_copyfunc        67105   4       long                Typedef: short pointer to function 
                                                                    Ref: 67105
sk_ASN1_INTEGER_freefunc        67105   4       long                Typedef: short pointer to function 
                                                                    Ref: 67105
sk_ASN1_OBJECT_compfunc         67039   4       long                Typedef: short pointer to function 
                                                                    Ref: 67039
sk_ASN1_OBJECT_copyfunc         67039   4       long                Typedef: short pointer to function 
                                                                    Ref: 67039
sk_ASN1_OBJECT_freefunc         67039   4       long                Typedef: short pointer to function 
                                                                    Ref: 67039
sk_ASN1_STRING_TABLE_compfunc   66639   4       long                Typedef: short pointer to function 
                                                                    Ref: 66639
sk_ASN1_STRING_TABLE_copyfunc   66639   4       long                Typedef: short pointer to function 
                                                                    Ref: 66639
sk_ASN1_STRING_TABLE_freefunc   66639   4       long                Typedef: short pointer to function 
                                                                    Ref: 66639
sk_ASN1_STRING_compfunc         87004   4       long                Typedef: short pointer to function 
                                                                    Ref: 87004
sk_ASN1_STRING_copyfunc         87004   4       long                Typedef: short pointer to function 
                                                                    Ref: 87004
sk_ASN1_STRING_freefunc         87004   4       long                Typedef: short pointer to function 
                                                                    Ref: 87004
sk_ASN1_TYPE_compfunc           66959   4       long                Typedef: short pointer to function 
                                                                    Ref: 66959
sk_ASN1_TYPE_copyfunc           66959   4       long                Typedef: short pointer to function 
                                                                    Ref: 66959
sk_ASN1_TYPE_freefunc           66959   4       long                Typedef: short pointer to function 
                                                                    Ref: 66959
sk_ASN1_UTF8STRING_compfunc     67167   4       long                Typedef: short pointer to function 
                                                                    Ref: 67167
sk_ASN1_UTF8STRING_copyfunc     67167   4       long                Typedef: short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2202
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 67167
sk_ASN1_UTF8STRING_freefunc     67167   4       long                Typedef: short pointer to function 
                                                                    Ref: 67167
sk_BIO_compfunc                 57881   4       long                Typedef: short pointer to function 
                                                                    Ref: 57881
sk_BIO_copyfunc                 57881   4       long                Typedef: short pointer to function 
                                                                    Ref: 57881
sk_BIO_freefunc                 57881   4       long                Typedef: short pointer to function 
                                                                    Ref: 57881
sk_CONF_VALUE_compfunc          75454   4       long                Typedef: short pointer to function 
                                                                    Ref: 75454
sk_CONF_VALUE_copyfunc          75454   4       long                Typedef: short pointer to function 
                                                                    Ref: 75454
sk_CONF_VALUE_freefunc          75454   4       long                Typedef: short pointer to function 
                                                                    Ref: 75454
sk_CTLOG_compfunc               77386   4       long                Typedef: short pointer to function 
                                                                    Ref: 77386
sk_CTLOG_copyfunc               77386   4       long                Typedef: short pointer to function 
                                                                    Ref: 77386
sk_CTLOG_freefunc               77386   4       long                Typedef: short pointer to function 
                                                                    Ref: 77386
sk_DIST_POINT_compfunc          86018   4       long                Typedef: short pointer to function 
                                                                    Ref: 86018
sk_DIST_POINT_copyfunc          86018   4       long                Typedef: short pointer to function 
                                                                    Ref: 86018
sk_DIST_POINT_freefunc          86018   4       long                Typedef: short pointer to function 
                                                                    Ref: 86018
sk_GENERAL_NAMES_compfunc       85959   4       long                Typedef: short pointer to function 
                                                                    Ref: 85959
sk_GENERAL_NAMES_copyfunc       85959   4       long                Typedef: short pointer to function 
                                                                    Ref: 85959
sk_GENERAL_NAMES_freefunc       85959   4       long                Typedef: short pointer to function 
                                                                    Ref: 85959
sk_GENERAL_NAME_compfunc        85926   4       long                Typedef: short pointer to function 
                                                                    Ref: 85926
sk_GENERAL_NAME_copyfunc        85926   4       long                Typedef: short pointer to function 
                                                                    Ref: 85926
sk_GENERAL_NAME_freefunc        85926   4       long                Typedef: short pointer to function 
                                                                    Ref: 85926
sk_GENERAL_SUBTREE_compfunc     86226   4       long                Typedef: short pointer to function 
                                                                    Ref: 86226
sk_GENERAL_SUBTREE_copyfunc     86226   4       long                Typedef: short pointer to function 
                                                                    Ref: 86226
sk_GENERAL_SUBTREE_freefunc     86226   4       long                Typedef: short pointer to function 
                                                                    Ref: 86226
sk_IPAddressFamily_compfunc     86903   4       long                Typedef: short pointer to function 
                                                                    Ref: 86903
sk_IPAddressFamily_copyfunc     86903   4       long                Typedef: short pointer to function 
                                                                    Ref: 86903
sk_IPAddressFamily_freefunc     86903   4       long                Typedef: short pointer to function 
                                                                    Ref: 86903
sk_IPAddressOrRange_compfunc    86857   4       long                Typedef: short pointer to function 
                                                                    Ref: 86857
sk_IPAddressOrRange_copyfunc    86857   4       long                Typedef: short pointer to function 
                                                                    Ref: 86857
sk_IPAddressOrRange_freefunc    86857   4       long                Typedef: short pointer to function 
                                                                    Ref: 86857

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2203
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

sk_OPENSSL_BLOCK_compfunc       44326   4       long                Typedef: short pointer to function 
                                                                    Ref: 44326
sk_OPENSSL_BLOCK_copyfunc       44326   4       long                Typedef: short pointer to function 
                                                                    Ref: 44326
sk_OPENSSL_BLOCK_freefunc       44326   4       long                Typedef: short pointer to function 
                                                                    Ref: 44326
sk_OPENSSL_CSTRING_compfunc     44292   4       long                Typedef: short pointer to function 
                                                                    Ref: 44292
sk_OPENSSL_CSTRING_copyfunc     44292   4       long                Typedef: short pointer to function 
                                                                    Ref: 44292
sk_OPENSSL_CSTRING_freefunc     44292   4       long                Typedef: short pointer to function 
                                                                    Ref: 44292
sk_OPENSSL_STRING_compfunc      44266   4       long                Typedef: short pointer to function 
                                                                    Ref: 44266
sk_OPENSSL_STRING_copyfunc      44266   4       long                Typedef: short pointer to function 
                                                                    Ref: 44266
sk_OPENSSL_STRING_freefunc      44266   4       long                Typedef: short pointer to function 
                                                                    Ref: 44266
sk_PKCS7_RECIP_INFO_compfunc    74943   4       long                Typedef: short pointer to function 
                                                                    Ref: 74943
sk_PKCS7_RECIP_INFO_copyfunc    74943   4       long                Typedef: short pointer to function 
                                                                    Ref: 74943
sk_PKCS7_RECIP_INFO_freefunc    74943   4       long                Typedef: short pointer to function 
                                                                    Ref: 74943
sk_PKCS7_SIGNER_INFO_compfunc   74907   4       long                Typedef: short pointer to function 
                                                                    Ref: 74907
sk_PKCS7_SIGNER_INFO_copyfunc   74907   4       long                Typedef: short pointer to function 
                                                                    Ref: 74907
sk_PKCS7_SIGNER_INFO_freefunc   74907   4       long                Typedef: short pointer to function 
                                                                    Ref: 74907
sk_PKCS7_compfunc               75058   4       long                Typedef: short pointer to function 
                                                                    Ref: 75058
sk_PKCS7_copyfunc               75058   4       long                Typedef: short pointer to function 
                                                                    Ref: 75058
sk_PKCS7_freefunc               75058   4       long                Typedef: short pointer to function 
                                                                    Ref: 75058
sk_POLICYINFO_compfunc          86155   4       long                Typedef: short pointer to function 
                                                                    Ref: 86155
sk_POLICYINFO_copyfunc          86155   4       long                Typedef: short pointer to function 
                                                                    Ref: 86155
sk_POLICYINFO_freefunc          86155   4       long                Typedef: short pointer to function 
                                                                    Ref: 86155
sk_POLICYQUALINFO_compfunc      86121   4       long                Typedef: short pointer to function 
                                                                    Ref: 86121
sk_POLICYQUALINFO_copyfunc      86121   4       long                Typedef: short pointer to function 
                                                                    Ref: 86121
sk_POLICYQUALINFO_freefunc      86121   4       long                Typedef: short pointer to function 
                                                                    Ref: 86121
sk_POLICY_MAPPING_compfunc      86190   4       long                Typedef: short pointer to function 
                                                                    Ref: 86190
sk_POLICY_MAPPING_copyfunc      86190   4       long                Typedef: short pointer to function 
                                                                    Ref: 86190
sk_POLICY_MAPPING_freefunc      86190   4       long                Typedef: short pointer to function 
                                                                    Ref: 86190
sk_PROFESSION_INFO_compfunc     87043   4       long                Typedef: short pointer to function 
                                                                    Ref: 87043
sk_PROFESSION_INFO_copyfunc     87043   4       long                Typedef: short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2204
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 87043
sk_PROFESSION_INFO_freefunc     87043   4       long                Typedef: short pointer to function 
                                                                    Ref: 87043
sk_SCT_compfunc                 77360   4       long                Typedef: short pointer to function 
                                                                    Ref: 77360
sk_SCT_copyfunc                 77360   4       long                Typedef: short pointer to function 
                                                                    Ref: 77360
sk_SCT_freefunc                 77360   4       long                Typedef: short pointer to function 
                                                                    Ref: 77360
sk_SRTP_PROTECTION_PROFILE_compfunc                                                                                              
                                78938   4       long                Typedef: short pointer to function 
                                                                    Ref: 78938
sk_SRTP_PROTECTION_PROFILE_copyfunc                                                                                              
                                78938   4       long                Typedef: short pointer to function 
                                                                    Ref: 78938
sk_SRTP_PROTECTION_PROFILE_freefunc                                                                                              
                                78938   4       long                Typedef: short pointer to function 
                                                                    Ref: 78938
sk_SSL_CIPHER_compfunc          83983   4       long                Typedef: short pointer to function 
                                                                    Ref: 83983
sk_SSL_CIPHER_copyfunc          83983   4       long                Typedef: short pointer to function 
                                                                    Ref: 83983
sk_SSL_CIPHER_freefunc          83983   4       long                Typedef: short pointer to function 
                                                                    Ref: 83983
sk_SSL_COMP_compfunc            84009   4       long                Typedef: short pointer to function 
                                                                    Ref: 84009
sk_SSL_COMP_copyfunc            84009   4       long                Typedef: short pointer to function 
                                                                    Ref: 84009
sk_SSL_COMP_freefunc            84009   4       long                Typedef: short pointer to function 
                                                                    Ref: 84009
sk_SXNETID_compfunc             86061   4       long                Typedef: short pointer to function 
                                                                    Ref: 86061
sk_SXNETID_copyfunc             86061   4       long                Typedef: short pointer to function 
                                                                    Ref: 86061
sk_SXNETID_freefunc             86061   4       long                Typedef: short pointer to function 
                                                                    Ref: 86061
sk_X509V3_EXT_METHOD_compfunc   85808   4       long                Typedef: short pointer to function 
                                                                    Ref: 85808
sk_X509V3_EXT_METHOD_copyfunc   85808   4       long                Typedef: short pointer to function 
                                                                    Ref: 85808
sk_X509V3_EXT_METHOD_freefunc   85808   4       long                Typedef: short pointer to function 
                                                                    Ref: 85808
sk_X509_ALGOR_compfunc          66537   4       long                Typedef: short pointer to function 
                                                                    Ref: 66537
sk_X509_ALGOR_copyfunc          66537   4       long                Typedef: short pointer to function 
                                                                    Ref: 66537
sk_X509_ALGOR_freefunc          66537   4       long                Typedef: short pointer to function 
                                                                    Ref: 66537
sk_X509_ATTRIBUTE_compfunc      73368   4       long                Typedef: short pointer to function 
                                                                    Ref: 73368
sk_X509_ATTRIBUTE_copyfunc      73368   4       long                Typedef: short pointer to function 
                                                                    Ref: 73368
sk_X509_ATTRIBUTE_freefunc      73368   4       long                Typedef: short pointer to function 
                                                                    Ref: 73368
sk_X509_CRL_compfunc            73243   4       long                Typedef: short pointer to function 
                                                                    Ref: 73243
sk_X509_CRL_copyfunc            73243   4       long                Typedef: short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2205
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 73243
sk_X509_CRL_freefunc            73243   4       long                Typedef: short pointer to function 
                                                                    Ref: 73243
sk_X509_EXTENSION_compfunc      73339   4       long                Typedef: short pointer to function 
                                                                    Ref: 73339
sk_X509_EXTENSION_copyfunc      73339   4       long                Typedef: short pointer to function 
                                                                    Ref: 73339
sk_X509_EXTENSION_freefunc      73339   4       long                Typedef: short pointer to function 
                                                                    Ref: 73339
sk_X509_INFO_compfunc           73503   4       long                Typedef: short pointer to function 
                                                                    Ref: 73503
sk_X509_INFO_copyfunc           73503   4       long                Typedef: short pointer to function 
                                                                    Ref: 73503
sk_X509_INFO_freefunc           73503   4       long                Typedef: short pointer to function 
                                                                    Ref: 73503
sk_X509_LOOKUP_compfunc         73951   4       long                Typedef: short pointer to function 
                                                                    Ref: 73951
sk_X509_LOOKUP_copyfunc         73951   4       long                Typedef: short pointer to function 
                                                                    Ref: 73951
sk_X509_LOOKUP_freefunc         73951   4       long                Typedef: short pointer to function 
                                                                    Ref: 73951
sk_X509_NAME_ENTRY_compfunc     73308   4       long                Typedef: short pointer to function 
                                                                    Ref: 73308
sk_X509_NAME_ENTRY_copyfunc     73308   4       long                Typedef: short pointer to function 
                                                                    Ref: 73308
sk_X509_NAME_ENTRY_freefunc     73308   4       long                Typedef: short pointer to function 
                                                                    Ref: 73308
sk_X509_NAME_compfunc           73165   4       long                Typedef: short pointer to function 
                                                                    Ref: 73165
sk_X509_NAME_copyfunc           73165   4       long                Typedef: short pointer to function 
                                                                    Ref: 73165
sk_X509_NAME_freefunc           73165   4       long                Typedef: short pointer to function 
                                                                    Ref: 73165
sk_X509_OBJECT_compfunc         73977   4       long                Typedef: short pointer to function 
                                                                    Ref: 73977
sk_X509_OBJECT_copyfunc         73977   4       long                Typedef: short pointer to function 
                                                                    Ref: 73977
sk_X509_OBJECT_freefunc         73977   4       long                Typedef: short pointer to function 
                                                                    Ref: 73977
sk_X509_POLICY_NODE_compfunc    86747   4       long                Typedef: short pointer to function 
                                                                    Ref: 86747
sk_X509_POLICY_NODE_copyfunc    86747   4       long                Typedef: short pointer to function 
                                                                    Ref: 86747
sk_X509_POLICY_NODE_freefunc    86747   4       long                Typedef: short pointer to function 
                                                                    Ref: 86747
sk_X509_PURPOSE_compfunc        86403   4       long                Typedef: short pointer to function 
                                                                    Ref: 86403
sk_X509_PURPOSE_copyfunc        86403   4       long                Typedef: short pointer to function 
                                                                    Ref: 86403
sk_X509_PURPOSE_freefunc        86403   4       long                Typedef: short pointer to function 
                                                                    Ref: 86403
sk_X509_REVOKED_compfunc        73217   4       long                Typedef: short pointer to function 
                                                                    Ref: 73217
sk_X509_REVOKED_copyfunc        73217   4       long                Typedef: short pointer to function 
                                                                    Ref: 73217
sk_X509_REVOKED_freefunc        73217   4       long                Typedef: short pointer to function 
                                                                    Ref: 73217

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2206
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

sk_X509_TRUST_compfunc          74040   4       long                Typedef: short pointer to function 
                                                                    Ref: 74040
sk_X509_TRUST_copyfunc          74040   4       long                Typedef: short pointer to function 
                                                                    Ref: 74040
sk_X509_TRUST_freefunc          74040   4       long                Typedef: short pointer to function 
                                                                    Ref: 74040
sk_X509_VERIFY_PARAM_compfunc   74003   4       long                Typedef: short pointer to function 
                                                                    Ref: 74003
sk_X509_VERIFY_PARAM_copyfunc   74003   4       long                Typedef: short pointer to function 
                                                                    Ref: 74003
sk_X509_VERIFY_PARAM_freefunc   74003   4       long                Typedef: short pointer to function 
                                                                    Ref: 74003
sk_X509_compfunc                73191   4       long                Typedef: short pointer to function 
                                                                    Ref: 73191
sk_X509_copyfunc                73191   4       long                Typedef: short pointer to function 
                                                                    Ref: 73191
sk_X509_freefunc                73191   4       long                Typedef: short pointer to function 
                                                                    Ref: 73191
sk_void_compfunc                46610   4       long                Typedef: short pointer to function 
                                                                    Ref: 46610
sk_void_copyfunc                46610   4       long                Typedef: short pointer to function 
                                                                    Ref: 46610
sk_void_freefunc                46610   4       long                Typedef: short pointer to function 
                                                                    Ref: 46610
skipbup                         88508   4       long    Extern      signed int 
                                                                    Ref: 93340, 93343, 93344=
slc_names                       40216   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
smtmib_mac                      32454   124     byte                Tag: struct smtmib_mac
                                                                    Ref: 32632
 mac_frame_status_functions     32455   4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
 mac_t_max_capability           32456   4       long                Member: (Offset=4) unsigned int 
                                                                    -No References 
 mac_tvx_capability             32457   4       long                Member: (Offset=8) unsigned int 
                                                                    -No References 
 mac_available_paths            32458   4       long                Member: (Offset=12) unsigned int 
                                                                    -No References 
 mac_current_path               32459   4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
 mac_upstream_nbr               32460   8       byte                Member: (Offset=20) array of unsigned char 
                                                                    -No References 
 mac_downstream_nbr             32461   8       byte                Member: (Offset=28) array of unsigned char 
                                                                    -No References 
 mac_old_upstream_nbr           32462   8       byte                Member: (Offset=36) array of unsigned char 
                                                                    -No References 
 mac_old_downstream_nbr         32463   8       byte                Member: (Offset=44) array of unsigned char 
                                                                    -No References 
 mac_dup_address_test           32464   4       long                Member: (Offset=52) unsigned int 
                                                                    -No References 
 mac_requested_paths            32465   4       long                Member: (Offset=56) unsigned int 
                                                                    -No References 
 mac_downstream_port_type       32466   4       long                Member: (Offset=60) unsigned int 
                                                                    -No References 
 mac_smt_address                32467   8       byte                Member: (Offset=64) array of unsigned char 
                                                                    -No References 
 mac_t_req                      32468   4       long                Member: (Offset=72) unsigned int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2207
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 mac_t_neg                      32469   4       long                Member: (Offset=76) unsigned int 
                                                                    -No References 
 mac_t_max                      32470   4       long                Member: (Offset=80) unsigned int 
                                                                    -No References 
 mac_tvx_value                  32471   4       long                Member: (Offset=84) unsigned int 
                                                                    -No References 
 mac_frame_error_threshold      32472   4       long                Member: (Offset=88) unsigned int 
                                                                    -No References 
 mac_frame_error_ratio          32473   4       long                Member: (Offset=92) unsigned int 
                                                                    -No References 
 mac_rmt_state                  32474   4       long                Member: (Offset=96) unsigned int 
                                                                    -No References 
 mac_da_flag                    32475   4       long                Member: (Offset=100) unsigned int 
                                                                    -No References 
 mac_unda_flag                  32476   4       long                Member: (Offset=104) unsigned int 
                                                                    -No References 
 mac_frame_error_flag           32477   4       long                Member: (Offset=108) unsigned int 
                                                                    -No References 
 mac_ma_unitdata_available      32478   4       long                Member: (Offset=112) unsigned int 
                                                                    -No References 
 mac_hw_present                 32479   4       long                Member: (Offset=116) unsigned int 
                                                                    -No References 
 mac_ma_unitdata_enable         32480   4       long                Member: (Offset=120) unsigned int 
                                                                    -No References 
smtmib_path                     32485   44      byte                Tag: struct smtmib_path
                                                                    Ref: 32633
 path_configuration             32486   32      byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
 path_tvx_lower_bound           32487   4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
 path_t_max_lower_bound         32488   4       long                Member: (Offset=36) unsigned int 
                                                                    -No References 
 path_max_t_req                 32489   4       long                Member: (Offset=40) unsigned int 
                                                                    -No References 
smtmib_port                     32493   152     byte                Tag: struct smtmib_port
                                                                    Ref: 32634
 port_my_type                   32494   8       long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
 port_neighbor_type             32495   8       long                Member: (Offset=8) array of unsigned int 
                                                                    -No References 
 port_connection_policies       32496   8       long                Member: (Offset=16) array of unsigned int 
                                                                    -No References 
 port_mac_indicated             32497   8       long                Member: (Offset=24) array of unsigned int 
                                                                    -No References 
 port_current_path              32498   8       long                Member: (Offset=32) array of unsigned int 
                                                                    -No References 
 port_requested_paths           32499   8       long                Member: (Offset=40) array of unsigned int 
                                                                    -No References 
 port_mac_placement             32500   8       long                Member: (Offset=48) array of unsigned int 
                                                                    -No References 
 port_available_paths           32501   8       long                Member: (Offset=56) array of unsigned int 
                                                                    -No References 
 port_pmd_class                 32502   8       long                Member: (Offset=64) array of unsigned int 
                                                                    -No References 
 port_connection_capabilities   32503   8       long                Member: (Offset=72) array of unsigned int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2208
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 port_bs_flag                   32504   8       long                Member: (Offset=80) array of unsigned int 
                                                                    -No References 
 port_ler_estimate              32505   8       long                Member: (Offset=88) array of unsigned int 
                                                                    -No References 
 port_ler_cutoff                32506   8       long                Member: (Offset=96) array of unsigned int 
                                                                    -No References 
 port_ler_alarm                 32507   8       long                Member: (Offset=104) array of unsigned int 
                                                                    -No References 
 port_connect_state             32508   8       long                Member: (Offset=112) array of unsigned int 
                                                                    -No References 
 port_pcm_state                 32509   8       long                Member: (Offset=120) array of unsigned int 
                                                                    -No References 
 port_pc_withhold               32510   8       long                Member: (Offset=128) array of unsigned int 
                                                                    -No References 
 port_ler_flag                  32511   8       long                Member: (Offset=136) array of unsigned int 
                                                                    -No References 
 port_hardware_present          32512   8       long                Member: (Offset=144) array of unsigned int 
                                                                    -No References 
smtmib_smt                      32425   128     byte                Tag: struct smtmib_smt
                                                                    Ref: 32631
 smt_station_id                 32427   8       byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
 smt_op_version_id              32428   4       long                Member: (Offset=8) unsigned int 
                                                                    -No References 
 smt_hi_version_id              32429   4       long                Member: (Offset=12) unsigned int 
                                                                    -No References 
 smt_lo_version_id              32430   4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
 smt_user_data                  32431   32      byte                Member: (Offset=20) array of unsigned char 
                                                                    -No References 
 smt_mib_version_id             32432   4       long                Member: (Offset=52) unsigned int 
                                                                    -No References 
 smt_mac_ct                     32433   4       long                Member: (Offset=56) unsigned int 
                                                                    -No References 
 smt_non_master_ct              32434   4       long                Member: (Offset=60) unsigned int 
                                                                    -No References 
 smt_master_ct                  32435   4       long                Member: (Offset=64) unsigned int 
                                                                    -No References 
 smt_available_paths            32436   4       long                Member: (Offset=68) unsigned int 
                                                                    -No References 
 smt_config_capabilities        32437   4       long                Member: (Offset=72) unsigned int 
                                                                    -No References 
 smt_config_policy              32438   4       long                Member: (Offset=76) unsigned int 
                                                                    -No References 
 smt_connection_policy          32439   4       long                Member: (Offset=80) unsigned int 
                                                                    -No References 
 smt_t_notify                   32440   4       long                Member: (Offset=84) unsigned int 
                                                                    -No References 
 smt_stat_rpt_policy            32441   4       long                Member: (Offset=88) unsigned int 
                                                                    -No References 
 smt_trace_max_expiration       32442   4       long                Member: (Offset=92) unsigned int 
                                                                    -No References 
 smt_bypass_present             32443   4       long                Member: (Offset=96) unsigned int 
                                                                    -No References 
 smt_ecm_state                  32444   4       long                Member: (Offset=100) unsigned int 
                                                                    -No References 
 smt_cf_state                   32445   4       long                Member: (Offset=104) unsigned int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2209
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 smt_remote_disconnect_flag     32446   4       long                Member: (Offset=108) unsigned int 
                                                                    -No References 
 smt_station_status             32447   4       long                Member: (Offset=112) unsigned int 
                                                                    -No References 
 smt_peer_wrap_flag             32448   4       long                Member: (Offset=116) unsigned int 
                                                                    -No References 
 smt_msg_time_stamp             32449   4       long                Member: (Offset=120) unsigned long 
                                                                    -No References 
 smt_transition_time_stamp      32450   4       long                Member: (Offset=124) unsigned long 
                                                                    -No References 
snd_move                        88507   4       long    Extern      short pointer to char 
                                                                    Ref: 92861&, 93424&, 93912
snd_rename                      88507   4       long    Extern      short pointer to char 
                                                                    Ref: 92860&, 93452&, 93453, 93912
sndafter                        88522   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 93754
sndarray                        24352   4       long    Extern      short pointer to short pointer to char 
                                                                    Ref: 93737=, 99740, 99893, 99958
sndbefore                       88522   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 93756
sndexcept                       88522   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    Ref: 93762
sndlarger                       88492   8       quad    Extern      signed int64 
                                                                    Ref: 93766=
sndnafter                       88523   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 93758
sndnbefore                      88523   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 93760
sndsmaller                      88492   8       quad    Extern      signed int64 
                                                                    Ref: 93764=
sndsrc                          88488   4       long    Extern      signed int 
                                                                    Ref: 92707=, 93632=, 93649=, 93657=, 93662=
sndxhi                          88532   4       long    Extern      signed int 
                                                                    Ref: 93740=
sndxin                          88532   4       long    Extern      signed int 
                                                                    Ref: 93738=, 93741, 93741
sndxlo                          88532   4       long    Extern      signed int 
                                                                    Ref: 93739=
sndxnam                         88533   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 93741=[], 93743
sockaddr                        30160   16      byte                Tag: struct sockaddr
                                                                    Ref: 30795, 30796, 30797, 30798, 30799, 30802, 30804, 31461, 
                                                                    31462, 31578, 31596, 31795, 31796, 31798, 31802, 31820, 31821
                                                                    , 31822, 31855, 31856, 31857, 31883, 31884, 34661, 35651, 
                                                                    36305, 36328, 101231, 101285, 101290, 101490, 102788, 102829
 sa_family                      30161   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
 sa_data                        30162   14      byte                Member: (Offset=2) array of char 
                                                                    -No References 
sockaddr_in                     32986   16      byte                Tag: struct sockaddr_in
                                                                    Ref: 34662, 35644, 35687, 35716, 35725, 35935, 97621, 97622, 
                                                                    97623, 97626, 101246, 101246, 101252, 101252
 sin_family                     32987   2       word                Member: (Offset=0) unsigned short 
                                                                    Ref: 101226=., 102733=., 102749=., 102761., 102809.
 sin_port                       32988   2       word                Member: (Offset=2) unsigned short 
                                                                    Ref: 101228=., 101254=., 101300&., 102771=.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2210
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 sin_addr                       32989   4       byte                Member: (Offset=4) struct in_addr
                                                                    Ref: 101227=., 101299&., 102729=., 102730., 102751&., 102751.
                                                                    , 102795., 102799&., 102799., 102803.
  S_un                          32816   4       byte                Member: (Offset=0) union 
                                                                    Ref: 101227=., 102729=., 102730.
   S_un_b                       32810   4       byte                Member: (Offset=0) struct 
                                                                    -No References 
    s_b1                        32810   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
    s_b2                        32810   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
    s_b3                        32810   1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
    s_b4                        32810   1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
   S_un_w                       32811   4       byte                Member: (Offset=0) struct 
                                                                    -No References 
    s_w1                        32811   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
    s_w2                        32811   2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
   S_addr                       32812   4       long                Member: (Offset=0) unsigned long 
                                                                    Ref: 101227=., 102729=., 102730.
 sin_zero                       32990   8       byte                Member: (Offset=8) array of char 
                                                                    -No References 
sockaddr_in6                    34625   28      byte                Tag: struct sockaddr_in6
                                                                    Ref: 34663, 34745, 35727
 sin6_family                    34631   2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
 sin6_port                      34633   2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
 sin6_flowinfo                  34634   4       long                Member: (Offset=4) unsigned int 
                                                                    -No References 
 sin6_addr                      34635   16      byte                Member: (Offset=8) struct in6_addr
                                                                    -No References 
  s6_un                         34406   16      byte                Member: (Offset=0) union 
                                                                    -No References 
   sa6_addr                     34396   16      byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
   sa6_waddr                    34398   16      word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
   sa6_laddr                    34400   16      long                Member: (Offset=0) array of unsigned int 
                                                                    -No References 
   sa6_qaddr                    34403   16      quad                Member: (Offset=0) array of unsigned int64 
                                                                    -No References 
 sin6_scope_id                  34636   4       long                Member: (Offset=24) unsigned int 
                                                                    -No References 
socket                          30841   4       long    Extern      Function returning signed int 
                                                                    Ref: 101054(), 101265(), 102761(), 102809()
spackets                        88490   4       long    Extern      signed int 
                                                                    Ref: 92666=, 92670, 93864=, 103996=, 103998
spktl                           88490   4       long    Extern      signed int 
                                                                    Ref: 92669=, 103997=
srfspec                         88483   4       long    Extern      short pointer to char 
                                                                    Ref: 92324, 92325&, 92326
srtp_protection_profile_st      78934   8       long                Tag: struct srtp_protection_profile_st
                                                                    Ref: 78934

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2211
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 name                           78935   4       long                Member: (Offset=0) short pointer to const char 
                                                                    -No References 
 id                             78936   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
srv_renam                       88886   4       long    Static Def  short pointer to char 
                                                                    Ref: 88886=, 92859&, 93478&, 93479, 93912
sscanf                          2173    4       long    Extern      Function returning signed int 
                                                                    Ref: 91827(), 96260(), 101070()
ssl_active_flag                 88127   4       long    Extern      signed int 
                                                                    -No References 
ssl_auth                        98090   4       long    Extern Def. Function returning signed int 
                                                                    Ref: 102215(), 102254(), 102923()
ssl_certsok_flag                88130   4       long    Extern      signed int 
                                                                    Ref: 90299=, 98383, 101376
ssl_check_server_name           88193   4       long    Extern      Function returning signed int 
                                                                    Ref: 98399(), 101428()
ssl_cipher_list                 88140   4       long    Extern      short pointer to char 
                                                                    Ref: 98357, 98358
ssl_cipher_st                   78924   0       unknown             Tag: struct ssl_cipher_st(Incomplete Type) 
                                                                    Ref: 78924
ssl_client_info_callback        88185   0       byte    Extern      Function returning void 
                                                                    Ref: 98169
ssl_client_verify_callback      88172   4       long    Extern      Function returning signed int 
                                                                    Ref: 98351
ssl_comp_st                     78928   0       unknown             Tag: struct ssl_comp_st(Incomplete Type) 
                                                                    Ref: 78928
ssl_con                         88123   4       long    Extern      short pointer to struct ssl_st
                                                                    -No References 
ssl_crl_dir                     88142   4       long    Extern      short pointer to char 
                                                                    Ref: 98325, 98336, 98337, 98338, 98344
ssl_crl_file                    88141   4       long    Extern      short pointer to char 
                                                                    Ref: 98325, 98326, 98327, 98328, 98334
ssl_ctx                         88124   4       long    Extern      short pointer to struct ssl_ctx_st
                                                                    -No References 
ssl_ctx_st                      44545   0       unknown             Tag: struct ssl_ctx_st(Incomplete Type) 
                                                                    Ref: 44545, 79424, 79427
ssl_dataconn                    101340  4       long    Static Def. Function returning signed int 
                                                                    Ref: 101484(), 101527()
ssl_debug_flag                  88125   4       long    Extern      signed int 
                                                                    Ref: 98095, 98257, 98267, 98333, 98343, 98367, 98407, 101352
                                                                    , 101451
ssl_dh_key_file                 88139   4       long    Extern      short pointer to char 
                                                                    -No References 
ssl_dh_param_file               88145   4       long    Extern      short pointer to char 
                                                                    -No References 
ssl_display_connect_details     88170   4       long    Extern      Function returning signed int 
                                                                    Ref: 98405()
ssl_dsa_cert_chain_file         88138   4       long    Extern      short pointer to char 
                                                                    -No References 
ssl_dsa_cert_file               88137   4       long    Extern      short pointer to char 
                                                                    -No References 
ssl_dummy_flag                  88131   4       long    Extern      signed int 
                                                                    -No References 
ssl_ftp_active_flag             97641   4       long    Extern      signed int 
                                                                    Ref: 97817, 97821=, 97913, 97917=, 98377=, 98381=, 98391=, 
                                                                    98396=, 98401=, 98411, 98457, 98595, 98918, 98955, 99016, 
                                                                    99024, 99060, 99149, 99164, 101482, 101525, 102216, 102255, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2212
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    102337, 102381
ssl_ftp_con                     97638   4       long    Extern      short pointer to struct ssl_st
                                                                    Ref: 97818, 97819, 97822=, 97914, 97915, 97918=, 98104, 98105
                                                                    , 98106=, 98353=, 98354, 98355, 98356, 98358, 98362, 98364, 
                                                                    98371, 98378, 98379=, 98386, 98399, 98405, 98461, 98462, 
                                                                    98597, 98598, 98920, 98921, 98957, 98958, 101350, 102394, 
                                                                    102396
ssl_ftp_ctx                     97639   4       long    Extern      short pointer to struct ssl_ctx_st
                                                                    Ref: 98108, 98109, 98110=, 98152=, 98153, 98155, 98159=, 
                                                                    98160, 98162, 98167, 98169, 98170, 98247, 98251, 98261, 98350
                                                                    , 98353, 98354, 101345
ssl_ftp_data_active_flag        97642   4       long    Extern      signed int 
                                                                    Ref: 97837, 97840=, 99581, 99584=, 99666, 99669=, 99985, 
                                                                    99988=, 100229, 100232=, 100379, 100382=, 101374=, 101385=, 
                                                                    101408=, 101430=, 101481=, 101524=, 102459, 104103, 104132=, 
                                                                    104307, 104344=
ssl_ftp_data_con                97640   4       long    Extern      short pointer to struct ssl_st
                                                                    Ref: 97838, 97839, 97841=, 98100, 98101, 98102=, 99582, 99583
                                                                    , 99585=, 99667, 99668, 99670=, 99986, 99987, 99989=, 100230
                                                                    , 100231, 100233=, 100380, 100381, 100383=, 101341, 101342, 
                                                                    101343=, 101345=, 101347, 101348, 101350, 101356, 101379, 
                                                                    101428, 102461, 104110, 104111, 104130, 104131, 104133=, 
                                                                    104309, 104310, 104342, 104343, 104345=
ssl_ftp_proxy                   42402   4       long    Extern Def  signed int 
                                                                    Ref: 42402=, 90359, 96690, 97820=, 97916=, 101483, 101526, 
                                                                    101857, 102930=
ssl_get_subject_name            88181   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 98386(), 101379()
ssl_initialized                 88164   4       long    Extern      signed int 
                                                                    -No References 
ssl_method_st                   78923   0       unknown             Tag: struct ssl_method_st(Incomplete Type) 
                                                                    Ref: 78923
ssl_only_flag                   88126   4       long    Extern      signed int 
                                                                    -No References 
ssl_passwd_callback             88184   4       long    Extern      Function returning signed int 
                                                                    Ref: 98168
ssl_raw_flag                    88155   4       long    Extern      signed int 
                                                                    -No References 
ssl_rnd_file                    88146   4       long    Extern      short pointer to char 
                                                                    -No References 
ssl_rsa_cert_chain_file         88135   4       long    Extern      short pointer to char 
                                                                    -No References 
ssl_rsa_cert_file               88134   4       long    Extern      short pointer to char 
                                                                    Ref: 90294&
ssl_rsa_key_file                88136   4       long    Extern      short pointer to char 
                                                                    Ref: 90314&
ssl_st                          44544   0       unknown             Tag: struct ssl_st(Incomplete Type) 
                                                                    Ref: 44544, 78921, 79419, 79421, 79430, 79435
ssl_verbose_flag                88129   4       long    Extern      signed int 
                                                                    Ref: 98405
ssl_verify_depth                88132   4       long    Extern      signed int 
                                                                    Ref: 98352=
ssl_verify_dir                  88144   4       long    Extern      short pointer to char 
                                                                    Ref: 98260, 98261, 98262, 98268
ssl_verify_file                 88143   4       long    Extern      short pointer to char 
                                                                    Ref: 98250, 98251, 98252, 98258
ssl_verify_flag                 88128   4       long    Extern      signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2213
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 90324=, 98350, 98356, 98384, 98389, 101348, 101377, 
                                                                    101382
sstelnet                        40813   4       long    Extern      signed int 
                                                                    -No References 
stack_st                        44018   0       unknown             Tag: struct stack_st(Incomplete Type) 
                                                                    Ref: 44018
stack_st_ACCESS_DESCRIPTION     85900   0       unknown             Tag: struct stack_st_ACCESS_DESCRIPTION(Incomplete Type) 
                                                                    Ref: 85900, 85900, 85954
stack_st_ADMISSIONS             87069   0       unknown             Tag: struct stack_st_ADMISSIONS(Incomplete Type) 
                                                                    Ref: 87069, 87069, 87115, 87118
stack_st_ASIdOrRange            86792   0       unknown             Tag: struct stack_st_ASIdOrRange(Incomplete Type) 
                                                                    Ref: 86792, 86792, 86820
stack_st_ASN1_GENERALSTRING     67204   0       unknown             Tag: struct stack_st_ASN1_GENERALSTRING(Incomplete Type) 
                                                                    Ref: 67204, 67204
stack_st_ASN1_INTEGER           67105   0       unknown             Tag: struct stack_st_ASN1_INTEGER(Incomplete Type) 
                                                                    Ref: 67105, 67105, 85956, 86104
stack_st_ASN1_OBJECT            67039   0       unknown             Tag: struct stack_st_ASN1_OBJECT(Incomplete Type) 
                                                                    Ref: 67039, 67039, 74113, 74114, 74698, 74748, 85955, 87137, 
                                                                    87140
stack_st_ASN1_STRING            87004   0       unknown             Tag: struct stack_st_ASN1_STRING(Incomplete Type) 
                                                                    Ref: 87004, 87004, 87133, 87136
stack_st_ASN1_STRING_TABLE      66639   0       unknown             Tag: struct stack_st_ASN1_STRING_TABLE(Incomplete Type) 
                                                                    Ref: 66639, 66639
stack_st_ASN1_TYPE              66959   0       unknown             Tag: struct stack_st_ASN1_TYPE(Incomplete Type) 
                                                                    Ref: 66959, 66959, 66987
stack_st_ASN1_UTF8STRING        67167   0       unknown             Tag: struct stack_st_ASN1_UTF8STRING(Incomplete Type) 
                                                                    Ref: 67167, 67167
stack_st_BIO                    57881   0       unknown             Tag: struct stack_st_BIO(Incomplete Type) 
                                                                    Ref: 57881, 57881
stack_st_CONF_VALUE             75454   0       unknown             Tag: struct stack_st_CONF_VALUE(Incomplete Type) 
                                                                    Ref: 75454, 75454, 75577, 75618, 75722, 75730, 75739, 85742, 
                                                                    85744, 85747, 85783, 85785, 86495, 86496, 86498, 86506, 86508
                                                                    , 86513, 86515, 86517, 86612, 86620, 86622, 86629, 86631, 
                                                                    86633, 86635, 86649, 86664, 86743
stack_st_CTLOG                  77386   0       unknown             Tag: struct stack_st_CTLOG(Incomplete Type) 
                                                                    Ref: 77386, 77386
stack_st_DIST_POINT             86018   0       unknown             Tag: struct stack_st_DIST_POINT(Incomplete Type) 
                                                                    Ref: 86018, 86018, 86046
stack_st_GENERAL_NAME           85926   0       unknown             Tag: struct stack_st_GENERAL_NAME(Incomplete Type) 
                                                                    Ref: 85926, 85926, 85957
stack_st_GENERAL_NAMES          85959   0       unknown             Tag: struct stack_st_GENERAL_NAMES(Incomplete Type) 
                                                                    Ref: 85959, 85959
stack_st_GENERAL_SUBTREE        86226   0       unknown             Tag: struct stack_st_GENERAL_SUBTREE(Incomplete Type) 
                                                                    Ref: 86226, 86226, 86255, 86256
stack_st_IPAddressFamily        86903   0       unknown             Tag: struct stack_st_IPAddressFamily(Incomplete Type) 
                                                                    Ref: 86903, 86903, 86932
stack_st_IPAddressOrRange       86857   0       unknown             Tag: struct stack_st_IPAddressOrRange(Incomplete Type) 
                                                                    Ref: 86857, 86857, 86885
stack_st_OPENSSL_BLOCK          44326   0       unknown             Tag: struct stack_st_OPENSSL_BLOCK(Incomplete Type) 
                                                                    Ref: 44326, 44326
stack_st_OPENSSL_CSTRING        44292   0       unknown             Tag: struct stack_st_OPENSSL_CSTRING(Incomplete Type) 
                                                                    Ref: 44292, 44292, 75617
stack_st_OPENSSL_STRING         44266   0       unknown             Tag: struct stack_st_OPENSSL_STRING(Incomplete Type) 
                                                                    Ref: 44266, 44266, 86706, 86707, 86708, 86709
stack_st_PKCS7                  75058   0       unknown             Tag: struct stack_st_PKCS7(Incomplete Type) 
                                                                    Ref: 75058, 75058
stack_st_PKCS7_RECIP_INFO       74943   0       unknown             Tag: struct stack_st_PKCS7_RECIP_INFO(Incomplete Type) 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2214
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 74943, 74943, 74995, 75006
stack_st_PKCS7_SIGNER_INFO      74907   0       unknown             Tag: struct stack_st_PKCS7_SIGNER_INFO(Incomplete Type) 
                                                                    Ref: 74907, 74907, 74977, 75004, 75201
stack_st_POLICYINFO             86155   0       unknown             Tag: struct stack_st_POLICYINFO(Incomplete Type) 
                                                                    Ref: 86155, 86155, 86183
stack_st_POLICYQUALINFO         74769   0       unknown             Tag: struct stack_st_POLICYQUALINFO(Incomplete Type) 
                                                                    Ref: 74769, 86121, 86121, 86152
stack_st_POLICY_MAPPING         86190   0       unknown             Tag: struct stack_st_POLICY_MAPPING(Incomplete Type) 
                                                                    Ref: 86190, 86190, 86218
stack_st_PROFESSION_INFO        87043   0       unknown             Tag: struct stack_st_PROFESSION_INFO(Incomplete Type) 
                                                                    Ref: 87043, 87043, 87096
stack_st_SCT                    77360   0       unknown             Tag: struct stack_st_SCT(Incomplete Type) 
                                                                    Ref: 77360, 77360, 77536, 77679, 77704, 77724, 77736, 77736, 
                                                                    77751, 77763, 77763, 85347, 85399
stack_st_SRTP_PROTECTION_PROFILE                                                                                                 
                                78938   0       unknown             Tag: struct stack_st_SRTP_PROTECTION_PROFILE
                                                                    (Incomplete Type) 
                                                                    Ref: 78938, 78938, 83964
stack_st_SSL_CIPHER             78930   0       unknown             Tag: struct stack_st_SSL_CIPHER(Incomplete Type) 
                                                                    Ref: 78970, 83983, 83983, 85066, 85067, 85068, 85069, 85260, 
                                                                    85261
stack_st_SSL_COMP               78931   0       unknown             Tag: struct stack_st_SSL_COMP(Incomplete Type) 
                                                                    Ref: 84009, 84009, 85248, 85249, 85249
stack_st_SXNETID                86061   0       unknown             Tag: struct stack_st_SXNETID(Incomplete Type) 
                                                                    Ref: 86061, 86061, 86092
stack_st_X509                   73191   0       unknown             Tag: struct stack_st_X509(Incomplete Type) 
                                                                    Ref: 73191, 73191, 73549, 74122, 74122, 74142, 74382, 74383, 
                                                                    74450, 74451, 74456, 74457, 74647, 74648, 74650, 74747, 74975
                                                                    , 75002, 75226, 75228, 75237, 75239, 75239, 75241, 75243, 
                                                                    75907, 76160, 76163, 76163, 76184, 76185, 76185, 76397, 76399
                                                                    , 82892, 84678, 84802, 84828, 85160, 86996, 86999
stack_st_X509V3_EXT_METHOD      85808   0       unknown             Tag: struct stack_st_X509V3_EXT_METHOD(Incomplete Type) 
                                                                    Ref: 85808, 85808
stack_st_X509_ALGOR             66537   0       unknown             Tag: struct stack_st_X509_ALGOR(Incomplete Type) 
                                                                    Ref: 66537, 66537, 67506, 67509, 73297, 74974, 75001, 75250, 
                                                                    75251, 75252
stack_st_X509_ATTRIBUTE         73368   0       unknown             Tag: struct stack_st_X509_ATTRIBUTE(Incomplete Type) 
                                                                    Ref: 73368, 73368, 74899, 74902, 75214, 75222, 75224, 76334, 
                                                                    76335, 76337, 76339, 76340, 76341, 76341, 76343, 76343, 76348
                                                                    , 76348, 76352, 76352, 76357, 76459
stack_st_X509_CRL               73243   0       unknown             Tag: struct stack_st_X509_CRL(Incomplete Type) 
                                                                    Ref: 73243, 73243, 74145, 74385, 74651, 74976, 75003
stack_st_X509_EXTENSION         73339   0       unknown             Tag: struct stack_st_X509_EXTENSION(Incomplete Type) 
                                                                    Ref: 73339, 73339, 73366, 76067, 76095, 76097, 76098, 76139, 
                                                                    76150, 76272, 76273, 76275, 76277, 76279, 76280, 76281, 76281
                                                                    , 86591, 86651, 86655, 86672
stack_st_X509_INFO              73503   0       unknown             Tag: struct stack_st_X509_INFO(Incomplete Type) 
                                                                    Ref: 73503, 73503, 76937, 76937, 76939, 76940, 76959, 76959, 
                                                                    76961, 76962
stack_st_X509_LOOKUP            73951   0       unknown             Tag: struct stack_st_X509_LOOKUP(Incomplete Type) 
                                                                    Ref: 73951, 73951
stack_st_X509_NAME              73165   0       unknown             Tag: struct stack_st_X509_NAME(Incomplete Type) 
                                                                    Ref: 73165, 73165, 84713, 84714, 84717, 84719, 84721, 85091, 
                                                                    85092, 85093, 85094, 85097, 85099, 85100, 85101, 85102, 85116
                                                                    , 85116
stack_st_X509_NAME_ENTRY        73308   0       unknown             Tag: struct stack_st_X509_NAME_ENTRY(Incomplete Type) 
                                                                    Ref: 73308, 73308, 85991

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2215
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

stack_st_X509_OBJECT            73977   0       unknown             Tag: struct stack_st_X509_OBJECT(Incomplete Type) 
                                                                    Ref: 73977, 73977, 74361, 74363, 74366, 74381
stack_st_X509_POLICY_NODE       74756   0       unknown             Tag: struct stack_st_X509_POLICY_NODE(Incomplete Type) 
                                                                    Ref: 74756, 74759, 86747, 86747
stack_st_X509_PURPOSE           86403   0       unknown             Tag: struct stack_st_X509_PURPOSE(Incomplete Type) 
                                                                    Ref: 86403, 86403
stack_st_X509_REVOKED           73217   0       unknown             Tag: struct stack_st_X509_REVOKED(Incomplete Type) 
                                                                    Ref: 73217, 73217, 76140
stack_st_X509_TRUST             74040   0       unknown             Tag: struct stack_st_X509_TRUST(Incomplete Type) 
                                                                    Ref: 74040, 74040
stack_st_X509_VERIFY_PARAM      74003   0       unknown             Tag: struct stack_st_X509_VERIFY_PARAM(Incomplete Type) 
                                                                    Ref: 74003, 74003
stack_st_void                   46607   0       unknown             Tag: struct stack_st_void(Incomplete Type) 
                                                                    Ref: 46607, 46610, 46610
stat                            19321   112     quad                Tag: struct stat
                                                                    Ref: 19589, 19598, 19600, 91640, 91750, 100897
 st_dev                         19323   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 st_fill_dev                    19324   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 st_ino                         19331   6       word                Member: (Offset=8) array of unsigned short 
                                                                    -No References 
 st_fill_ino                    19332   2       word                Member: (Offset=14) unsigned short 
                                                                    -No References 
 st_mode                        19334   2       word                Member: (Offset=16) unsigned short 
                                                                    -No References 
 st_fill_mode                   19335   2       word                Member: (Offset=18) unsigned short 
                                                                    -No References 
 st_nlink                       19337   4       long                Member: (Offset=20) signed int 
                                                                    -No References 
 st_uid                         19338   4       long                Member: (Offset=24) unsigned int 
                                                                    -No References 
 st_gid                         19341   4       long                Member: (Offset=28) unsigned int 
                                                                    -No References 
 st_fill_rdev                   19350   4       long                Member: (Offset=32) short pointer to char 
                                                                    -No References 
 st_size                        19357   8       quad                Member: (Offset=40) signed int64 
                                                                    Ref: 100969.
 st_atime                       19360   4       long                Member: (Offset=48) unsigned long 
                                                                    Ref: 91687.
 st_fill_atime                  19361   4       long                Member: (Offset=52) unsigned long 
                                                                    -No References 
 st_mtime                       19362   4       long                Member: (Offset=56) unsigned long 
                                                                    Ref: 91774&.
 st_fill_mtime                  19363   4       long                Member: (Offset=60) unsigned long 
                                                                    -No References 
 st_ctime                       19364   4       long                Member: (Offset=64) unsigned long 
                                                                    -No References 
 st_fill_ctime                  19365   4       long                Member: (Offset=68) unsigned long 
                                                                    -No References 
 st_fill_fab                    19374   4       byte                Member: (Offset=72) array of char 
                                                                    -No References 
 st_fill_mrs                    19375   4       long                Member: (Offset=76) unsigned int 
                                                                    -No References 
 st_fill_expand                 19377   32      long                Member: (Offset=80) array of signed int 
                                                                    -No References 
stat                            19598   4       long    Extern      Function returning signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2216
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 91671(), 91771(), 100965()
stayflg                         89914   4       long    Extern      signed int 
                                                                    Ref: 90000=, 90135
stouarg                         88770   4       long    Static Def  signed int 
                                                                    Ref: 88770=, 97937=, 98069=, 99818, 99838, 99841=
strcat                          16636   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 93573(), 93574(), 103815()
strcmp                          16696   4       long    Extern      Function returning signed int 
                                                                    Ref: 90047(), 90507(), 91332(), 91956(), 93443(), 93469(), 
                                                                    93700(), 95012(), 95045(), 97694(), 97771(), 98151(), 99739()
                                                                    , 100554(), 100934(), 100947(), 102550(), 102550(), 104860()
                                                                    , 104863()
strcpy                          16638   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 93398(), 94966(), 103814()
strgetc                         89777   4       long    Static Def. Function returning signed int 
                                                                    Ref: 97733, 98674, 99124
stringint                       25579   16      quad                Tag: struct stringint
                                                                    Ref: 92839, 94458
 sval                           25580   4       long                Member: (Offset=0) short pointer to char 
                                                                    Ref: 92872=., 92979&., 92992&., 92993., 92994., 93110&., 
                                                                    93111., 93185&., 93186., 93222&., 93223., 93391., 93429., 
                                                                    93456., 93598&., 93599., 93601., 93608., 93610., 93617., 
                                                                    93618., 93619., 93623., 93754., 93756., 93758., 93760., 93762
                                                                    ., 94025., 94026., 94510=., 94628&., 94702&., 94703., 94775&.
                                                                    , 94776., 94807&., 94808., 94840&., 94841., 94921., 94923., 
                                                                    94957., 94959., 94998., 95068., 95138., 95139., 95140., 95146
                                                                    ., 95147., 95217., 95230., 95245., 95260., 95830., 95831., 
                                                                    95832., 95941., 95942.
 ival                           25581   4       long                Member: (Offset=4) signed int 
                                                                    Ref: 92873=., 92878=., 92879=., 92880=., 92881=., 92886=., 
                                                                    92978=., 92994=., 93019=., 93020=., 93021=., 93022=., 93030=.
                                                                    , 93031=., 93032=., 93033=., 93067=., 93076=., 93097=., 93112
                                                                    =., 93120=., 93158=., 93187=., 93188=., 93190=., 93223=., 
                                                                    93230=., 93237=., 93281., 93287., 93297., 93305., 93305., 
                                                                    93320., 93342., 93346., 93347., 93351., 93354., 93357., 93382
                                                                    ., 93383., 93383., 93389., 93428., 93455., 93600=., 93608., 
                                                                    93615., 93659., 93659., 93713., 93723., 93750., 93751., 93753
                                                                    ., 93755., 93757., 93759., 93761., 93763., 93765., 93767., 
                                                                    93768., 93769., 93770., 93771., 93772., 93775., 93798., 93801
                                                                    ., 93814., 94511=., 94543=., 94544=., 94556=., 94629=., 94635
                                                                    =., 94636=., 94637=., 94638=., 94670=., 94674=., 94675=., 
                                                                    94682=., 94683=., 94689=., 94704=., 94748=., 94777=., 94808=.
                                                                    , 94841=., 94845=., 94846=., 94850=., 94851=., 94904., 94907.
                                                                    , 94910., 94913., 94921., 94957., 94997., 95025., 95029., 
                                                                    95036., 95037., 95057., 95065., 95067., 95073., 95074., 95075
                                                                    ., 95076., 95077., 95080., 95083., 95089., 95137., 95158., 
                                                                    95160., 95442., 95462., 95830.
 wval                           25582   8       quad                Member: (Offset=8) signed int64 
                                                                    Ref: 92874=., 93167=., 93764., 93766., 94512=., 94757=., 
                                                                    95069., 95070., 95071., 95072.
strlen                          16700   4       long    Extern      Function returning unsigned int 
                                                                    Ref: 90005(), 90879(), 90988(), 93392(), 93489(), 93572(), 
                                                                    93572(), 94960(), 95364(), 95365(), 97686(), 97687(), 97741()
                                                                    , 98459(), 99327(), 103239(), 103367(), 103813()
strncmp                         16698   4       long    Extern      Function returning signed int 
                                                                    Ref: 95367(), 95390(), 97776()
strncpy                         16640   4       long    Extern      Function returning short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2217
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 95370()
strputc                         89789   4       long    Static Def. Function returning signed int 
                                                                    Ref: 97734
stru                            88897   4       long    Static TDef signed int 
                                                                    Ref: 98016=
strval                          88668   4       long    Static      Function returning short pointer to char 
                                                                    -No References 
strval                          89760   4       long    Static Def. Function returning short pointer to char 
                                                                    Ref: 89889(), 89890(), 96559(), 96680()
success                         88488   4       long    Extern      signed int 
                                                                    Ref: 90470=, 90483=, 90499=, 90520=, 90527=, 90555=, 90556, 
                                                                    90561=, 90562, 90615=, 90651=, 90872=, 90873, 90874, 90886=, 
                                                                    90887, 90888, 90889, 90895=, 90896, 90897, 90904=, 90905, 
                                                                    90907, 90951=, 90952, 90996=, 91000, 91037=, 91042=, 91044=, 
                                                                    91062=, 91084=, 91088=, 91090=, 91091, 91109=, 91110, 91121=
                                                                    , 91135=, 91199=, 91202=, 91209=, 91215, 91233=, 91237=, 
                                                                    91239, 91261=, 91266=, 91268=, 91275=, 91280=, 91282=, 92782=
                                                                    , 92783, 92786, 92800, 92804, 92805, 92840=, 94003=, 94004, 
                                                                    94020, 94185=, 94337=, 94395=, 94410, 94414, 94415, 94460=, 
                                                                    95899=, 95900, 95901, 95914, 95929, 95932, 96002=, 96163=, 
                                                                    96164, 96170=, 96179=, 96191=, 96193, 96202=, 96223=, 96227=
                                                                    , 96230, 96242=, 96244=, 96278=, 96283, 96349=, 96366=, 96387
                                                                    =, 96388, 96401=, 96402, 96404, 96411=, 96412, 96427=, 96428
                                                                    , 96437=, 96438, 96455=, 96456, 96462=, 96463, 96471, 96481=
                                                                    , 96482, 96510=, 97348=
syncdir                         88696   4       long    Static      Function returning signed int 
                                                                    -No References 
syncdir                         91303   4       long    Static Def. Function returning signed int 
                                                                    Ref: 92208()
sys$gpq_ipr_cpudb               49004   8       quad    Extern      long pointer to signed int64 
                                                                    -No References 
sys$gpq_ipr_cpuid               49003   8       quad    Extern      long pointer to signed int64 
                                                                    -No References 
sys$gpq_ipr_esp                 49006   8       quad    Extern      long pointer to long pointer to void 
                                                                    -No References 
sys$gpq_ipr_ipl                 49001   8       quad    Extern      long pointer to signed int 
                                                                    -No References 
sys$gpq_ipr_ksp                 49005   8       quad    Extern      long pointer to long pointer to void 
                                                                    -No References 
sys$gpq_ipr_sisr                49002   8       quad    Extern      long pointer to unsigned int 
                                                                    -No References 
sys$gpq_ipr_ssp                 49007   8       quad    Extern      long pointer to long pointer to void 
                                                                    -No References 
sys$gpq_ipr_usp                 49008   8       quad    Extern      long pointer to long pointer to void 
                                                                    -No References 
tcp_incoming                    24445   4       long    Extern      signed int 
                                                                    -No References 
telcmds                         39659   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
telopt_modes                    40115   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
telopt_state                    40069   60      long                Typedef: struct _telopt_state
                                                                    Ref: 40080
telopt_states                   40080   0       long    Extern      array of struct _telopt_state(Incomplete Type) 
                                                                    -No References 
telopts                         39946   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2218
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

tempdir                         103522  4       long    Extern      short pointer to char 
                                                                    Ref: 103524, 103525, 103526
tenex                           88855   4       long    Static Def  signed int 
                                                                    Ref: 88855=, 90443=, 92155, 96447=
testing                         88912   4       long    Static Def  signed int 
                                                                    Ref: 88912=, 90456&, 90663, 90870, 90884, 90893, 90902, 90949
                                                                    , 90994, 91060, 91073, 91107, 91119, 91132, 91186, 92699=, 
                                                                    94071=, 95993, 96161, 96169, 96177, 96189, 96199, 96221, 
                                                                    96225, 96240, 96386, 96399, 96409, 96421
tfc                             88492   8       quad    Extern      signed int64 
                                                                    Ref: 92797, 93861=, 94017, 94407, 95132=, 95926, 99642=, 
                                                                    99974=, 100857=
tfcps                           88493   4       long    Extern      signed long 
                                                                    Ref: 92797=, 94017=, 94407=, 95926=
time                            23202   4       long    Extern      Function returning unsigned long 
                                                                    Ref: 90393()
time_t                          3111    4       long                Typedef: unsigned long 
                                                                    Ref: 46858, 58284, 58286, 60679, 60707, 60718, 67143, 67144, 
                                                                    67147, 67151, 67153, 67250, 67251, 67260, 74658, 74693, 74694
                                                                    , 75878, 75882, 75884, 91567, 91585, 91600, 91632, 91774, 
                                                                    91884, 91887
timeval                         23455   8       long                Tag: struct timeval
                                                                    Ref: 23462, 23463, 23527, 23531, 23544, 30868, 31614, 92598, 
                                                                    99348
 tv_sec                         23456   4       long                Member: (Offset=0) unsigned long 
                                                                    Ref: 92608=., 99349=.
 tv_usec                        23457   4       long                Member: (Offset=4) signed long 
                                                                    Ref: 92609=., 99350=.
timezone                        23077   4       long    Extern      signed long 
                                                                    -No References 
tlogfmt                         15746   4       long    Extern      signed int 
                                                                    Ref: 91971, 91972, 92052, 92054, 92056, 92059, 92062, 92064, 
                                                                    92152, 92243, 92249, 92255, 92258, 92261, 92266, 92271, 92272
                                                                    , 92274, 92336, 92339, 92342, 92345, 92348, 92350, 92352, 
                                                                    92354, 92391, 92400, 92424, 92457, 94192, 94344, 95252, 95455
                                                                    , 95513, 95533, 95582, 95658, 95662, 95786, 95805, 95827, 
                                                                    95851
tls_active_flag                 88151   4       long    Extern      signed int 
                                                                    -No References 
tls_con                         88149   4       long    Extern      short pointer to struct ssl_st
                                                                    -No References 
tls_ctx                         88148   4       long    Extern      short pointer to struct ssl_ctx_st
                                                                    -No References 
tls_is_krb5                     88189   4       long    Extern      Function returning signed int 
                                                                    Ref: 98385(), 101378()
tls_load_certs                  88187   4       long    Extern      Function returning signed int 
                                                                    Ref: 98354()
tls_only_flag                   88150   4       long    Extern      signed int 
                                                                    -No References 
tls_raw_flag                    88156   4       long    Extern      signed int 
                                                                    -No References 
tlstab                          89038   36      long    Static Def  array of struct keytab
                                                                    Ref: 89038=, 89043, 96317
tm                              22994   44      long                Tag: struct tm
                                                                    Ref: 21684, 23025, 23149, 23161, 23172, 23201, 23205, 46858, 
                                                                    46858, 46859, 46861, 46861, 67258, 88663, 88697, 88697, 91491
                                                                    , 91514, 91514, 91569, 91752, 91753, 91789, 91789, 96249, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2219
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    96251, 96251
 tm_sec                         22995   4       long                Member: (Offset=0) signed int 
                                                                    Ref: 91502., 91546., 91546., 91548., 91548., 91611., 91834&.
                                                                    , 96266&., 96275.
 tm_min                         22996   4       long                Member: (Offset=4) signed int 
                                                                    Ref: 91501., 91541., 91541., 91543., 91543., 91610., 91833&.
                                                                    , 96265&., 96274.
 tm_hour                        22997   4       long                Member: (Offset=8) signed int 
                                                                    Ref: 91500., 91536., 91536., 91538., 91538., 91609., 91832&.
                                                                    , 96264&., 96273.
 tm_mday                        22998   4       long                Member: (Offset=12) signed int 
                                                                    Ref: 91499., 91531., 91531., 91533., 91533., 91609., 91831&.
                                                                    , 96263&., 96272.
 tm_mon                         22999   4       long                Member: (Offset=16) signed int 
                                                                    Ref: 91498., 91526., 91526., 91528., 91528., 91595., 91599., 
                                                                    91599., 91605., 91607., 91830&., 91838=., 96262&., 96271.
 tm_year                        23000   4       long                Member: (Offset=20) signed int 
                                                                    Ref: 91497., 91519., 91519., 91521., 91521., 91596., 91599., 
                                                                    91603., 91607., 91607., 91607., 91829&., 91836=., 91837., 
                                                                    96261&., 96270.
 tm_wday                        23001   4       long                Member: (Offset=24) signed int 
                                                                    -No References 
 tm_yday                        23002   4       long                Member: (Offset=28) signed int 
                                                                    -No References 
 tm_isdst                       23003   4       long                Member: (Offset=32) signed int 
                                                                    -No References 
 tm_gmtoff                      23007   4       long                Member: (Offset=36) signed long 
                                                                    -No References 
 tm_zone                        23008   4       long                Member: (Offset=40) short pointer to char 
                                                                    -No References 
tmcompare                       88697   4       long    Static      Function returning signed int 
                                                                    -No References 
tmcompare                       91514   4       long    Static Def. Function returning signed int 
                                                                    Ref: 91873()
tmpbuf                          88574   4       long    Extern      short pointer to char 
                                                                    Ref: 90112, 90114, 90971, 90981, 90988, 90990&[], 90995, 
                                                                    90996, 91103, 91108, 91109, 93440, 93443, 93466, 93469, 93569
                                                                    , 93570, 93697, 93700, 93903, 93905, 94159, 94160, 94179, 
                                                                    94180, 94311, 94312, 94331, 94332, 95009, 95012, 95042, 95045
                                                                    , 95144, 95152, 95153, 95226=[], 95227[], 95228, 95241, 95242
                                                                    , 95497, 95499, 95682, 95685, 95694, 95695, 95730, 95731, 
                                                                    96184, 96188, 96418, 96422[], 96423, 96427, 97358, 97600
tmpfilnam                       103459  516     long    Static Def  array of short pointer to char 
                                                                    Ref: 103459=, 103468[], 103472[], 103572=[], 103573[], 103598
                                                                    [], 103660[], 103695[], 103699[], 103704[], 103711[], 103749
                                                                    [], 103756[], 103756[]
tmpfilptr                       103458  516     long    Static Def  array of short pointer to short pointer to struct _iobuf
                                                                    Ref: 103458=, 103465[], 103466[], 103467=[], 103512[], 103513
                                                                    [], 103514=[], 103521[], 103695=[], 103697[], 103703[], 
                                                                    103739[], 103740[], 103741=[]
tn_auth_krb5_des_bug            40815   4       long    Extern      signed int 
                                                                    -No References 
tn_deb                          40814   4       long    Extern      signed int 
                                                                    -No References 
tn_init                         40811   4       long    Extern      signed int 
                                                                    -No References 
tn_term                         40812   4       long    Extern      short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2220
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
tnc_names                       40760   0       long    Extern      array of short pointer to char (Incomplete Type) 
                                                                    -No References 
tralog                          15746   4       long    Extern      signed int 
                                                                    Ref: 91971, 91972, 92050, 92052, 92054, 92056, 92059, 92062, 
                                                                    92152, 92243, 92249, 92255, 92258, 92261, 92266, 92271, 92272
                                                                    , 92274, 92332, 92336, 92339, 92342, 92345, 92348, 92350, 
                                                                    92352, 92391, 92400, 92424, 92457, 94192, 94344, 95252, 95455
                                                                    , 95513, 95533, 95582, 95658, 95662, 95786, 95805, 95827, 
                                                                    95851
trap                            24986   0       byte    Extern      Function returning void 
                                                                    Ref: 98438()
trnchar                         30961   78      word                Tag: struct trnchar
                                                                    Ref: 32636
 mac_addr                       30962   6       byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
 grp_addr                       30963   6       byte                Member: (Offset=6) array of unsigned char 
                                                                    -No References 
 func_addr                      30964   6       byte                Member: (Offset=12) array of unsigned char 
                                                                    -No References 
 drop_numb                      30965   2       word                Member: (Offset=18) unsigned short 
                                                                    -No References 
 upstream_nbr                   30966   6       byte                Member: (Offset=20) array of unsigned char 
                                                                    -No References 
 upstream_drop_numb             30967   2       word                Member: (Offset=26) unsigned short 
                                                                    -No References 
 transmit_access_pri            30968   2       word                Member: (Offset=28) unsigned short 
                                                                    -No References 
 last_major_vector              30969   2       word                Member: (Offset=30) unsigned short 
                                                                    -No References 
 ring_status                    30970   2       word                Member: (Offset=32) unsigned short 
                                                                    -No References 
 interface_state                30971   2       word                Member: (Offset=34) unsigned short 
                                                                    -No References 
 monitor_contd                  30972   2       word                Member: (Offset=36) unsigned short 
                                                                    -No References 
 soft_error_timer               30973   2       word                Member: (Offset=38) unsigned short 
                                                                    -No References 
 ring_number                    30974   2       word                Member: (Offset=40) unsigned short 
                                                                    -No References 
 monitor_error_code             30975   2       word                Member: (Offset=42) unsigned short 
                                                                    -No References 
 beacon_receive_type            30976   2       word                Member: (Offset=44) unsigned short 
                                                                    -No References 
 beacon_transmit_type           30977   2       word                Member: (Offset=46) unsigned short 
                                                                    -No References 
 beacon_una                     30978   6       byte                Member: (Offset=48) array of unsigned char 
                                                                    -No References 
 beacon_stn_drop_numb           30979   2       word                Member: (Offset=54) unsigned short 
                                                                    -No References 
 ring_speed                     30980   2       word                Member: (Offset=56) unsigned short 
                                                                    -No References 
 etr                            30981   2       word                Member: (Offset=58) unsigned short 
                                                                    -No References 
 open_status                    30982   2       word                Member: (Offset=60) unsigned short 
                                                                    -No References 
 token_ring_chip                30983   16      byte                Member: (Offset=62) array of unsigned char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2221
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
trncount                        31037   92      long                Tag: struct trncount
                                                                    Ref: 32637
 trn_second                     31038   4       long                Member: (Offset=0) unsigned long 
                                                                    -No References 
 trn_bytercvd                   31039   4       long                Member: (Offset=4) unsigned long 
                                                                    -No References 
 trn_bytesent                   31040   4       long                Member: (Offset=8) unsigned long 
                                                                    -No References 
 trn_pdurcvd                    31041   4       long                Member: (Offset=12) unsigned long 
                                                                    -No References 
 trn_pdusent                    31042   4       long                Member: (Offset=16) unsigned long 
                                                                    -No References 
 trn_mbytercvd                  31043   4       long                Member: (Offset=20) unsigned long 
                                                                    -No References 
 trn_mpdurcvd                   31044   4       long                Member: (Offset=24) unsigned long 
                                                                    -No References 
 trn_mbytesent                  31045   4       long                Member: (Offset=28) unsigned long 
                                                                    -No References 
 trn_mpdusent                   31046   4       long                Member: (Offset=32) unsigned long 
                                                                    -No References 
 trn_pduunrecog                 31047   4       long                Member: (Offset=36) unsigned long 
                                                                    -No References 
 trn_mpduunrecog                31048   4       long                Member: (Offset=40) unsigned long 
                                                                    -No References 
 trn_nosysbuf                   31049   2       word                Member: (Offset=44) unsigned short 
                                                                    -No References 
 trn_xmit_fail                  31050   2       word                Member: (Offset=46) unsigned short 
                                                                    -No References 
 trn_xmit_underrun              31051   2       word                Member: (Offset=48) unsigned short 
                                                                    -No References 
 trn_line_error                 31052   2       word                Member: (Offset=50) unsigned short 
                                                                    -No References 
 trn_internal_error             31053   2       word                Member: (Offset=52) unsigned short 
                                                                    -No References 
 trn_burst_error                31054   2       word                Member: (Offset=54) unsigned short 
                                                                    -No References 
 trn_ari_fci_error              31055   2       word                Member: (Offset=56) unsigned short 
                                                                    -No References 
 trn_ad_trans                   31056   2       word                Member: (Offset=58) unsigned short 
                                                                    -No References 
 trn_lost_frame_error           31057   2       word                Member: (Offset=60) unsigned short 
                                                                    -No References 
 trn_rcv_congestion_error       31058   2       word                Member: (Offset=62) unsigned short 
                                                                    -No References 
 trn_frame_copied_error         31059   2       word                Member: (Offset=64) unsigned short 
                                                                    -No References 
 trn_frequency_error            31060   2       word                Member: (Offset=66) unsigned short 
                                                                    -No References 
 trn_token_error                31061   2       word                Member: (Offset=68) unsigned short 
                                                                    -No References 
 trn_hard_error                 31062   2       word                Member: (Offset=70) unsigned short 
                                                                    -No References 
 trn_soft_error                 31063   2       word                Member: (Offset=72) unsigned short 
                                                                    -No References 
 trn_adapter_reset              31064   2       word                Member: (Offset=74) unsigned short 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2222
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 trn_signal_loss                31065   2       word                Member: (Offset=76) unsigned short 
                                                                    -No References 
 trn_xmit_beacon                31066   2       word                Member: (Offset=78) unsigned short 
                                                                    -No References 
 trn_ring_recovery              31067   2       word                Member: (Offset=80) unsigned short 
                                                                    -No References 
 trn_lobe_wire_fault            31068   2       word                Member: (Offset=82) unsigned short 
                                                                    -No References 
 trn_remove_received            31069   2       word                Member: (Offset=84) unsigned short 
                                                                    -No References 
 trn_single_station             31070   2       word                Member: (Offset=86) unsigned short 
                                                                    -No References 
 trn_selftest_fail              31071   2       word                Member: (Offset=88) unsigned short 
                                                                    -No References 
tsecs                           88489   4       long    Extern      signed int 
                                                                    Ref: 92798=, 94018=, 94408=, 95927=
tt_bell                         12508   4       long    Extern      signed int 
                                                                    -No References 
ttname                          96299   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 96301
txrinfo                         41740   448     long    Extern      array of short pointer to struct x_to_unicode
                                                                    -No References 
txrtab                          41714   0       long    Extern      array of struct keytab(Incomplete Type) 
                                                                    -No References 
txtbin                          88486   0       long    Extern      array of struct keytab(Incomplete Type) 
                                                                    Ref: 93235
typesent                        88771   4       long    Static Def  signed int 
                                                                    Ref: 88771=, 97938=, 98070=, 99428=
tzname                          23059   8       long    Extern      array of short pointer to char 
                                                                    -No References 
u_char                          3191    1       byte                Typedef: unsigned char 
                                                                    Ref: 3206, 3210, 31436, 31437, 31626, 31627, 31628, 31629, 
                                                                    31651, 31652, 31660, 31662, 31663, 31664, 31849, 31850, 31924
                                                                    , 31925, 31936, 32068, 32072, 32073, 32074, 32077, 32080, 
                                                                    32081, 32084, 32089, 32094, 32194, 32211, 32212, 32213, 32214
                                                                    , 32231, 32239, 32247, 32248, 32257, 32258, 32263, 32266, 
                                                                    32267, 32269, 32270, 32272, 32273, 32276, 32280, 32281, 32282
                                                                    , 32284, 32285, 32300, 32301, 32302, 32303, 32304, 32305, 
                                                                    32306, 32307, 32309, 32315, 32316, 32317, 32318, 32321, 32338
                                                                    , 32339, 32343, 32398, 32427, 32431, 32460, 32461, 32462, 
                                                                    32463, 32467, 32486, 32647, 34731, 34732, 35645, 35647, 35652
                                                                    , 35654, 35900, 35901, 35902, 35903, 35904, 35904, 35906, 
                                                                    35907, 35908, 35909, 35913, 35914, 35914, 35915, 35915, 35916
                                                                    , 35916, 35918, 35918, 35922, 35923, 35923, 35924, 35924, 
                                                                    35924, 35928, 35929, 35931, 35932, 35933, 35933, 35934, 35934
                                                                    , 35937, 35937, 35938, 35938, 35939, 35939, 35943
u_int                           3198    4       long                Typedef: unsigned int 
                                                                    Ref: 101471
u_int16_t                       34183   2       word                Typedef: unsigned short 
                                                                    Ref: 34398, 35142, 35169, 35170, 35172, 35256, 35257, 35260, 
                                                                    35711, 35712, 35909
u_int16m_t                      34184   2       word                Typedef: unsigned short 
                                                                    Ref: 34631, 34633
u_int32_t                       34187   4       long                Typedef: unsigned int 
                                                                    Ref: 34400, 34764, 35171, 35258, 35699, 35908, 35911, 35911
u_int32m_t                      34188   4       long                Typedef: unsigned int 
                                                                    Ref: 34634, 34636

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2223
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

u_int64_t                       34191   8       quad                Typedef: unsigned int64 
                                                                    Ref: 34403
u_int8_t                        34179   1       byte                Typedef: unsigned char 
                                                                    Ref: 34396, 34763, 34767, 34769, 35254
u_long                          3193    4       long                Typedef: unsigned long 
                                                                    Ref: 3208, 3213, 31607, 31608, 31609, 31610, 31611, 31612, 
                                                                    31615, 31616, 31617, 31618, 31619, 31620, 31621, 31622, 31623
                                                                    , 32009, 32013, 32014, 32015, 32016, 32017, 32018, 32019, 
                                                                    32023, 32024, 32025, 32026, 32027, 32028, 32029, 32030, 32031
                                                                    , 32032, 32036, 32037, 32038, 32039, 32043, 32044, 32045, 
                                                                    32046, 32047, 32048, 32049, 32050, 32051, 32056, 32144, 32145
                                                                    , 32146, 32147, 32148, 32149, 32150, 32151, 32152, 32153, 
                                                                    32154, 32155, 32156, 32157, 32158, 32159, 32160, 32161, 32162
                                                                    , 32163, 32164, 32165, 32166, 32167, 32168, 32169, 32170, 
                                                                    32171, 32172, 32173, 32174, 32175, 32176, 32177, 32178, 32179
                                                                    , 32180, 32181, 32182, 32449, 32450, 35685, 35693, 35919, 
                                                                    35920, 35920, 35944, 35947
u_short                         3192    2       word                Typedef: unsigned short 
                                                                    Ref: 3207, 3211, 30184, 30185, 31432, 31435, 31438, 31582, 
                                                                    31583, 31636, 31637, 31648, 31649, 31650, 31655, 31656, 31804
                                                                    , 31805, 31978, 31988, 31994, 31995, 31996, 31999, 32000, 
                                                                    32001, 32002, 32003, 32060, 32065, 32069, 32075, 32078, 32082
                                                                    , 32085, 32090, 32099, 32111, 32112, 32113, 32114, 32115, 
                                                                    32116, 32117, 32118, 32119, 32120, 32121, 32122, 32123, 32124
                                                                    , 32125, 32126, 32127, 32128, 32129, 32130, 32131, 32132, 
                                                                    32133, 32134, 32135, 32136, 32137, 32195, 32196, 32197, 32204
                                                                    , 32205, 32233, 32234, 32235, 32386, 32646, 34730, 35690
ucbuf                           88788   4       long    Static Def  short pointer to unsigned char 
                                                                    Ref: 88788=, 92506=[], 92661, 92662, 92663=[], 92665=[], 
                                                                    98072, 98074=, 99895=[], 102296, 102297, 102298=, 102301=, 
                                                                    103983, 103987, 104047, 104067&[], 104073, 104294=[], 104309
                                                                    , 104381, 104481[], 104505=[], 104521, 104529, 104537[]
ucbufsiz                        88789   4       long    Static Def  signed int 
                                                                    Ref: 88789=, 92506, 92645, 98078=, 98079, 99895, 102299=, 
                                                                    102307=, 102308, 102309, 102310, 102311, 102352=, 102353, 
                                                                    104062, 104309
uidbuf                          89915   0       byte    Extern      array of char (Incomplete Type) 
                                                                    Ref: 90008, 90013, 90120, 90121, 90129, 90130, 90965, 103136
                                                                    [], 103137
uint16_t                        33764   2       word                Typedef: unsigned short 
                                                                    Ref: 34686, 34687, 84632
uint32_t                        33765   4       long                Typedef: unsigned int 
                                                                    Ref: 34688, 34689, 34746, 58967, 60675, 60703, 60714, 74701, 
                                                                    74702, 75962, 75964, 75967, 79644, 79645, 79646, 79647, 79648
                                                                    , 79649, 79650, 79651, 84631, 84755, 84757, 86685, 86686, 
                                                                    86687
uint64_t                        33766   8       quad                Typedef: unsigned long long 
                                                                    Ref: 46512, 46512, 46512, 46514, 46514, 46910, 58188, 58189, 
                                                                    60677, 60705, 60716, 67278, 67279, 69181, 69181, 69181, 69181
                                                                    , 69185, 69185, 69185, 69185, 69477, 76433, 76433, 76434, 
                                                                    77496, 77504, 77523, 77585, 77590, 79295, 79296, 79297, 79297
                                                                    , 79298, 79298, 79299, 79299, 79300, 79300, 85529
uint8_t                         33763   1       byte                Typedef: unsigned char 
                                                                    Ref: 34676, 34684, 34685, 77839, 77872, 82849, 82850, 84864, 
                                                                    84864, 84866, 84866, 84867, 84869, 84869, 84870, 85170
unlink                          20868   4       long    Extern      Function returning signed int 
                                                                    Ref: 103699()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2224
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

uq_file                         25100   4       long    Extern      Function returning signed int 
                                                                    Ref: 100530()
uq_ok                           25097   4       long    Extern      Function returning signed int 
                                                                    Ref: 98393(), 101403()
uq_txt                          25098   4       long    Extern      Function returning signed int 
                                                                    Ref: 103162(), 103183(), 103211(), 103356(), 103379()
urldata                         25108   160     long                Tag: struct urldata
                                                                    Ref: 88466
 sav                            25109   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 svc                            25110   4       long                Member: (Offset=4) short pointer to char 
                                                                    Ref: 90099., 90101., 90109., 90110=., 90113.
 usr                            25111   4       long                Member: (Offset=8) short pointer to char 
                                                                    Ref: 90104., 90118., 90120., 90127.
 psw                            25112   4       long                Member: (Offset=12) short pointer to char 
                                                                    Ref: 90105., 90123., 90124.
 hos                            25113   4       long                Member: (Offset=16) short pointer to char 
                                                                    Ref: 90092., 90108., 90109=., 90113., 90117.
 por                            25114   4       long                Member: (Offset=20) short pointer to char 
                                                                    Ref: 90106., 90108=.
 pth                            25115   4       long                Member: (Offset=24) short pointer to char 
                                                                    Ref: 90107., 90126., 90138., 100524.
 nopts                          25116   4       long                Member: (Offset=28) signed int 
                                                                    -No References 
 opt                            25117   128     long                Member: (Offset=32) array of struct urlopt
                                                                    -No References 
urlopt                          25103   8       long                Tag: struct urlopt
                                                                    Ref: 25117
 nam                            25104   4       long                Member: (Offset=0) short pointer to char 
                                                                    -No References 
 val                            25105   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
utimbuf                         42236   8       long                Tag: struct utimbuf
                                                                    Ref: 42260, 91659
 actime                         42237   4       long                Member: (Offset=0) unsigned long 
                                                                    Ref: 91687=.
 modtime                        42238   4       long                Member: (Offset=4) unsigned long 
                                                                    Ref: 91686=.
utime                           42260   4       long    Extern      Function returning signed int 
                                                                    Ref: 91715()
v3_ext_ctx                      85789   32      long                Tag: struct v3_ext_ctx
                                                                    Ref: 44536, 85746, 85751, 85755
 flags                          85795   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 issuer_cert                    85796   4       long                Member: (Offset=4) short pointer to struct x509_st
                                                                    -No References 
 subject_cert                   85797   4       long                Member: (Offset=8) short pointer to struct x509_st
                                                                    -No References 
 subject_req                    85798   4       long                Member: (Offset=12) short pointer to struct X509_req_st
                                                                    -No References 
 crl                            85799   4       long                Member: (Offset=16) short pointer to struct X509_crl_st
                                                                    -No References 
 db_meth                        85800   4       long                Member: (Offset=20) short pointer to struct 
                                                                    X509V3_CONF_METHOD_st
                                                                    -No References 
 db                             85801   4       long                Member: (Offset=24) short pointer to void 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2225
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 issuer_pkey                    85802   4       long                Member: (Offset=28) short pointer to struct evp_pkey_st
                                                                    -No References 
v3_ext_method                   85759   56      long                Tag: struct v3_ext_method
                                                                    Ref: 85743, 85745, 85748, 85750, 85752, 85754, 85806
 ext_nid                        85760   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 ext_flags                      85761   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 it                             85763   4       long                Member: (Offset=8) short pointer to function 
                                                                    -No References 
 ext_new                        85765   4       long                Member: (Offset=12) short pointer to function 
                                                                    -No References 
 ext_free                       85766   4       long                Member: (Offset=16) short pointer to function 
                                                                    -No References 
 d2i                            85767   4       long                Member: (Offset=20) short pointer to function 
                                                                    -No References 
 i2d                            85768   4       long                Member: (Offset=24) short pointer to function 
                                                                    -No References 
 i2s                            85770   4       long                Member: (Offset=28) short pointer to function 
                                                                    -No References 
 s2i                            85771   4       long                Member: (Offset=32) short pointer to function 
                                                                    -No References 
 i2v                            85773   4       long                Member: (Offset=36) short pointer to function 
                                                                    -No References 
 v2i                            85774   4       long                Member: (Offset=40) short pointer to function 
                                                                    -No References 
 i2r                            85776   4       long                Member: (Offset=44) short pointer to function 
                                                                    -No References 
 r2i                            85777   4       long                Member: (Offset=48) short pointer to function 
                                                                    -No References 
 usr_data                       85778   4       long                Member: (Offset=52) short pointer to void 
                                                                    -No References 
va_list                         22074   4       long                Typedef: short pointer to char 
                                                                    Ref: 58417, 58421, 58967, 59056, 59058, 87741, 87814, 99402
vfprintf                        2175    4       long    Extern      Function returning signed int 
                                                                    Ref: 99405()
what                            88487   4       long    Extern      signed int 
                                                                    Ref: 92065, 92355, 92702=, 92864=, 94074=, 95165=
whoami                          25071   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 103122(), 103154()
x                               88779   4       long    Static TDef signed int 
                                                                    Ref: 90408=, 90409, 90412, 90416=, 90417, 90420, 90433=, 
                                                                    90434, 90435, 90438=, 90439, 90441, 90442, 90450=, 90451, 
                                                                    90453, 90465=, 90466, 90469, 90477=, 90478, 90481, 90494=, 
                                                                    90495, 90505=, 90506, 90509=, 90514=, 90517, 90524=, 90525, 
                                                                    90531=, 90532, 90533, 90553=, 90553, 90555, 90559=, 90559, 
                                                                    90561, 92943=, 92944, 92946, 92954=, 92959=, 92971=, 92972, 
                                                                    92974=, 92985=, 92986, 92988=, 93001=, 93006, 93009, 93011=, 
                                                                    93015, 93023, 93095=, 93097, 93102=, 93103, 93105=, 93117=, 
                                                                    93118=, 93120, 93155=, 93157, 93158, 93165=, 93172=, 93174, 
                                                                    93176=, 93181=, 93211=, 93212, 93217=, 93228=, 93235=, 93237
                                                                    , 93237, 93243=, 93244, 93244, 93247, 93249, 93283=, 93299=, 
                                                                    93316=, 93328=, 93385=, 93409=, 93412, 93414=, 93433=, 93441=
                                                                    , 93442&, 93447=, 93460=, 93467=, 93468&, 93473=, 93536=, 
                                                                    93537, 93539, 93547=, 93562=, 93587=, 93620=, 93639=, 93666=
                                                                    , 93698=, 93699&, 93704=, 93724=, 93734=, 93778=, 93817=, 
                                                                    93825=, 93835=, 93889=, 93891, 93892=, 93893, 93896, 94004=, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2226
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    94007, 94030, 94594=, 94595, 94596, 94604=, 94612=, 94619=, 
                                                                    94620, 94622=, 94679=, 94681, 94683, 94687=, 94689, 94694=, 
                                                                    94695, 94697=, 94745=, 94747, 94748, 94755=, 94762=, 94764, 
                                                                    94766=, 94771=, 94797=, 94798, 94803=, 94814=, 94815, 94815, 
                                                                    94817, 94819, 94831=, 94838=, 94856=, 94874=, 94875, 94883=, 
                                                                    94888=, 94889, 94893=, 94901=, 94977=, 94980, 94982=, 95002=
                                                                    , 95010=, 95011&, 95016=, 95027=, 95031=, 95043=, 95044&, 
                                                                    95049=, 95092=, 95141=, 95148=, 95521=, 95525, 95527, 95530, 
                                                                    95531, 95568=, 95569, 95644=, 95645, 95900=, 95952, 95989=, 
                                                                    95990, 96008=, 96009, 96010, 96030=, 96031, 96032, 96036=, 
                                                                    96036, 96040=, 96041, 96143=, 96144, 96148, 96149, 96157=, 
                                                                    96158, 96167=, 96167, 96173=, 96174, 96182=, 96183, 96185=, 
                                                                    96186, 96215=, 96216, 96236=, 96237, 96333=, 96334, 96338, 
                                                                    96348, 96350, 96365=, 96366, 96366, 96367, 96382=, 96383, 
                                                                    96395=, 96396, 96407=, 96407, 96415=, 96416, 96417, 96419=, 
                                                                    96419, 96434=, 96435, 96441=, 96442, 96445, 96446, 96452=, 
                                                                    96453, 96475=, 96476, 96479=, 96480, 96486=, 96487, 96489, 
                                                                    97260=, 97261, 97359=, 97360, 99355=, 99357, 99358, 100486=, 
                                                                    100487, 100488, 100545=, 100547=, 100548, 100555=, 100556, 
                                                                    100558, 100747=, 100748=
x509_attributes_st              73367   0       unknown             Tag: struct x509_attributes_st(Incomplete Type) 
                                                                    Ref: 73367
x509_cert_valid                 88152   4       long    Extern      signed int 
                                                                    -No References 
x509_lookup_st                  44528   0       unknown             Tag: struct x509_lookup_st(Incomplete Type) 
                                                                    Ref: 44528
x509_object_st                  44527   0       unknown             Tag: struct x509_object_st(Incomplete Type) 
                                                                    Ref: 44527
x509_purpose_st                 86393   28      long                Tag: struct x509_purpose_st
                                                                    Ref: 86393, 86397
 purpose                        86394   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 trust                          86395   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 flags                          86396   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
 check_purpose                  86397   4       long                Member: (Offset=12) short pointer to function 
                                                                    -No References 
 name                           86398   4       long                Member: (Offset=16) short pointer to char 
                                                                    -No References 
 sname                          86399   4       long                Member: (Offset=20) short pointer to char 
                                                                    -No References 
 usr_data                       86400   4       long                Member: (Offset=24) short pointer to void 
                                                                    -No References 
x509_revoked_st                 44521   0       unknown             Tag: struct x509_revoked_st(Incomplete Type) 
                                                                    Ref: 44521
x509_st                         44517   0       unknown             Tag: struct x509_st(Incomplete Type) 
                                                                    Ref: 44517
x509_store_ctx_st               44525   0       unknown             Tag: struct x509_store_ctx_st(Incomplete Type) 
                                                                    Ref: 44525
x509_store_st                   44524   0       unknown             Tag: struct x509_store_st(Incomplete Type) 
                                                                    Ref: 44524
x509_trust_st                   74032   24      long                Tag: struct x509_trust_st
                                                                    Ref: 74032, 74035
 trust                          74033   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 flags                          74034   4       long                Member: (Offset=4) signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2227
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 check_trust                    74035   4       long                Member: (Offset=8) short pointer to function 
                                                                    -No References 
 name                           74036   4       long                Member: (Offset=12) short pointer to char 
                                                                    -No References 
 arg1                           74037   4       long                Member: (Offset=16) signed int 
                                                                    -No References 
 arg2                           74038   4       long                Member: (Offset=20) short pointer to void 
                                                                    -No References 
x_to_unicode                    41701   544     long                Tag: struct x_to_unicode
                                                                    Ref: 41740
 size                           41702   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 offset                         41703   4       long                Member: (Offset=4) signed int 
                                                                    -No References 
 flags                          41704   4       long                Member: (Offset=8) signed int 
                                                                    -No References 
 family                         41705   4       long                Member: (Offset=12) signed int 
                                                                    -No References 
 keywd                          41706   4       long                Member: (Offset=16) short pointer to char 
                                                                    -No References 
 name                           41707   4       long                Member: (Offset=20) short pointer to char 
                                                                    -No References 
 code                           41708   4       long                Member: (Offset=24) signed int 
                                                                    -No References 
 final                          41710   4       long                Member: (Offset=28) short pointer to char 
                                                                    -No References 
 map                            41711   512     word                Member: (Offset=32) array of unsigned short 
                                                                    -No References 
xaballdef                       7166    32      long                Tag: struct xaballdef
                                                                    Ref: 7240
 xab$b_cod                      7168    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      7169    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xaballdef$$_fill_1             7170    2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      7171    4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$r_aop_overlay              7182    1       byte                Member: (Offset=8) union 
                                                                    -No References 
  xab$b_aop                     7173    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  xab$r_aop_bits                7181    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$v_hrd                    7175    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   xab$v_onc                    7176    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   xaballdef$$_fill_5           7177    3 bits  bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   xab$v_cbt                    7178    1 bit   bit                 Member: (Offset=5 bits) bitfield 
                                                                    -No References 
   xaballdef$$_fill_6           7179    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   xab$v_ctg                    7180    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2228
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 xab$b_aln                      7183    1       byte                Member: (Offset=9) unsigned char 
                                                                    -No References 
 xab$w_vol                      7184    2       word                Member: (Offset=10) unsigned short 
                                                                    -No References 
 xab$l_loc                      7186    4       long                Member: (Offset=12) unsigned int 
                                                                    -No References 
 xab$l_alq                      7187    4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
 xab$w_deq                      7188    2       word                Member: (Offset=20) unsigned short 
                                                                    -No References 
 xab$b_bkz                      7189    1       byte                Member: (Offset=22) unsigned char 
                                                                    -No References 
 xab$b_aid                      7190    1       byte                Member: (Offset=23) unsigned char 
                                                                    -No References 
 xab$r_rfi_overlay              7198    6       byte                Member: (Offset=24) union 
                                                                    -No References 
  xab$w_rfi                     7192    6       word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  xab$r_rfi_fields              7197    6       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$w_rfi0                   7194    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   xab$w_rfi2                   7195    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
   xab$w_rfi4                   7196    2       word                Member: (Offset=4) unsigned short 
                                                                    -No References 
 xaballdef$$_fill_8             7199    2       word                Member: (Offset=30) signed short 
                                                                    -No References 
xabdatdef                       7757    84      long                Tag: struct xabdatdef
                                                                    Ref: 7799
 xab$b_cod                      7759    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      7760    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xabdatdef$$_fill_1             7761    2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      7762    4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$w_rvn                      7763    2       word                Member: (Offset=8) unsigned short 
                                                                    -No References 
 xabdatdef$$_fill_2             7764    2       word                Member: (Offset=10) signed short 
                                                                    -No References 
 xab$q_rdt                      7765    8       quad                Member: (Offset=12) signed int64 
                                                                    -No References 
 xab$q_cdt                      7766    8       quad                Member: (Offset=20) signed int64 
                                                                    -No References 
 xab$q_edt                      7767    8       quad                Member: (Offset=28) signed int64 
                                                                    -No References 
 xab$q_bdt                      7768    8       quad                Member: (Offset=36) signed int64 
                                                                    -No References 
 xab$q_rcd                      7769    8       quad                Member: (Offset=44) signed int64 
                                                                    -No References 
 xab$q_eff                      7770    8       quad                Member: (Offset=52) signed int64 
                                                                    -No References 
 xab$q_acc                      7771    8       quad                Member: (Offset=60) signed int64 
                                                                    -No References 
 xab$q_att                      7772    8       quad                Member: (Offset=68) signed int64 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2229
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 xab$q_mod                      7773    8       quad                Member: (Offset=76) signed int64 
                                                                    -No References 
xabfhcdef                       8085    44      long                Tag: struct xabfhcdef
                                                                    Ref: 8180
 xab$b_cod                      8087    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      8088    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xabfhcdef$$_fill_1             8089    2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      8090    4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$b_rfo                      8091    1       byte                Member: (Offset=8) unsigned char 
                                                                    -No References 
 xab$r_fill_9_                  8101    1       byte                Member: (Offset=9) union 
                                                                    -No References 
  xab$b_atr                     8093    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  xab$r_fill_10_                8100    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$v_ftn                    8095    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   xab$v_cr                     8096    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   xab$v_prn                    8097    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   xab$v_blk                    8098    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   xab$v_fill_11_               8099    4 bits  bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
 xab$w_lrl                      8102    2       word                Member: (Offset=10) unsigned short 
                                                                    -No References 
 xab$r_hbk_overlay              8110    4       byte                Member: (Offset=12) union 
                                                                    -No References 
  xab$l_hbk                     8104    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  xab$r_hbk_fields              8109    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$w_hbk0                   8107    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   xab$w_hbk2                   8108    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
 xab$r_ebk_overlay              8118    4       byte                Member: (Offset=16) union 
                                                                    -No References 
  xab$l_ebk                     8112    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  xab$r_ebk_fields              8117    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$w_ebk0                   8115    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   xab$w_ebk2                   8116    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
 xab$w_ffb                      8119    2       word                Member: (Offset=20) unsigned short 
                                                                    -No References 
 xab$b_bkz                      8120    1       byte                Member: (Offset=22) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2230
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 xab$b_hsz                      8123    1       byte                Member: (Offset=23) unsigned char 
                                                                    -No References 
 xab$w_mrz                      8124    2       word                Member: (Offset=24) unsigned short 
                                                                    -No References 
 xab$w_dxq                      8125    2       word                Member: (Offset=26) unsigned short 
                                                                    -No References 
 xab$r_gbc16_overlay            8129    2       byte                Member: (Offset=28) union 
                                                                    -No References 
  xab$w_gbc                     8127    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  xab$w_gbc16                   8128    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
 xab$r_recattr_flags_overlay    8138    1       byte                Member: (Offset=30) union 
                                                                    -No References 
  xab$b_recattr_flags           8131    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  xab$r_recattr_flags_bits      8137    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$v_gbc_percent            8133    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   xab$v_gbc_default            8134    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   xabfhcdef$$_fill_7           8136    6 bits  bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
 xabfhcdef$$_fill_8             8139    1       byte                Member: (Offset=31) char 
                                                                    -No References 
 xab$l_gbc32                    8140    4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
 xabfhcdef$$_fill_6             8141    2       byte                Member: (Offset=36) array of char 
                                                                    -No References 
 xab$w_verlimit                 8142    2       word                Member: (Offset=38) unsigned short 
                                                                    -No References 
 xab$l_sbn                      8144    4       long                Member: (Offset=40) unsigned int 
                                                                    -No References 
xabkeydef                       9229    100     long                Tag: struct xabkeydef
                                                                    Ref: 9407
 xab$b_cod                      9231    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      9232    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xabkeydef$$_fill_1             9233    2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      9234    4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$b_ian                      9241    1       byte                Member: (Offset=8) unsigned char 
                                                                    -No References 
 xab$b_lan                      9242    1       byte                Member: (Offset=9) unsigned char 
                                                                    -No References 
 xab$b_dan                      9243    1       byte                Member: (Offset=10) unsigned char 
                                                                    -No References 
 xab$b_lvl                      9244    1       byte                Member: (Offset=11) unsigned char 
                                                                    -No References 
 xab$b_ibs                      9245    1       byte                Member: (Offset=12) unsigned char 
                                                                    -No References 
 xab$b_dbs                      9246    1       byte                Member: (Offset=13) unsigned char 
                                                                    -No References 
 xab$l_rvb                      9247    4       long                Member: (Offset=14) unsigned int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2231
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
 xab$r_flg_overlay              9267    1       byte                Member: (Offset=18) union 
                                                                    -No References 
  xab$b_flg                     9249    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
  xab$r_flg_bits0               9258    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$v_dup                    9251    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   xab$v_chg                    9252    1 bit   bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   xab$v_nul                    9253    1 bit   bit                 Member: (Offset=2 bits) bitfield 
                                                                    -No References 
   xab$v_idx_ncmpr              9254    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   xabkeydef$$_fill_5           9255    2 bits  bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   xab$v_key_ncmpr              9256    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   xab$v_fill_14_               9257    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
  xab$r_flg_bits1               9266    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xabkeydef$$_fill_6           9260    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   xabkeydef$$_fill_7           9261    2 bits  bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
   xabkeydef$$_fill_8           9262    1 bit   bit                 Member: (Offset=3 bits) bitfield 
                                                                    -No References 
   xabkeydef$$_fill_9           9263    2 bits  bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   xabkeydef$$_fill_10          9264    1 bit   bit                 Member: (Offset=6 bits) bitfield 
                                                                    -No References 
   xab$v_dat_ncmpr              9265    1 bit   bit                 Member: (Offset=7 bits) bitfield 
                                                                    -No References 
 xab$b_dtp                      9268    1       byte                Member: (Offset=19) unsigned char 
                                                                    -No References 
 xab$b_nsg                      9269    1       byte                Member: (Offset=20) unsigned char 
                                                                    -No References 
 xab$b_nul                      9270    1       byte                Member: (Offset=21) unsigned char 
                                                                    -No References 
 xab$b_tks                      9271    1       byte                Member: (Offset=22) unsigned char 
                                                                    -No References 
 xab$b_ref                      9272    1       byte                Member: (Offset=23) unsigned char 
                                                                    -No References 
 xab$w_mrl                      9274    2       word                Member: (Offset=24) unsigned short 
                                                                    -No References 
 xab$w_ifl                      9275    2       word                Member: (Offset=26) unsigned short 
                                                                    -No References 
 xab$w_dfl                      9276    2       word                Member: (Offset=28) unsigned short 
                                                                    -No References 
 xab$r_pos_overlay              9289    16      byte                Member: (Offset=30) union 
                                                                    -No References 
  xab$w_pos                     9278    16      word                Member: (Offset=0) array of unsigned short 
                                                                    -No References 
  xab$r_pos_fields              9288    16      byte                Member: (Offset=0) struct 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2232
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

   xab$w_pos0                   9280    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   xab$w_pos1                   9281    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
   xab$w_pos2                   9282    2       word                Member: (Offset=4) unsigned short 
                                                                    -No References 
   xab$w_pos3                   9283    2       word                Member: (Offset=6) unsigned short 
                                                                    -No References 
   xab$w_pos4                   9284    2       word                Member: (Offset=8) unsigned short 
                                                                    -No References 
   xab$w_pos5                   9285    2       word                Member: (Offset=10) unsigned short 
                                                                    -No References 
   xab$w_pos6                   9286    2       word                Member: (Offset=12) unsigned short 
                                                                    -No References 
   xab$w_pos7                   9287    2       word                Member: (Offset=14) unsigned short 
                                                                    -No References 
 xab$r_siz_overlay              9302    8       byte                Member: (Offset=46) union 
                                                                    -No References 
  xab$b_siz                     9291    8       byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
  xab$r_siz_fields              9301    8       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$b_siz0                   9293    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   xab$b_siz1                   9294    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   xab$b_siz2                   9295    1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
   xab$b_siz3                   9296    1       byte                Member: (Offset=3) unsigned char 
                                                                    -No References 
   xab$b_siz4                   9297    1       byte                Member: (Offset=4) unsigned char 
                                                                    -No References 
   xab$b_siz5                   9298    1       byte                Member: (Offset=5) unsigned char 
                                                                    -No References 
   xab$b_siz6                   9299    1       byte                Member: (Offset=6) unsigned char 
                                                                    -No References 
   xab$b_siz7                   9300    1       byte                Member: (Offset=7) unsigned char 
                                                                    -No References 
 xabkeydef$$_fill_11            9303    2       word                Member: (Offset=54) signed short 
                                                                    -No References 
 xab$l_knm                      9308    4       long                Member: (Offset=56) short pointer to char 
                                                                    -No References 
 xab$l_dvb                      9309    4       long                Member: (Offset=60) unsigned int 
                                                                    -No References 
 xab$r_typ_overlay              9324    8       byte                Member: (Offset=64) union 
                                                                    -No References 
  xab$b_typ                     9313    8       byte                Member: (Offset=0) array of unsigned char 
                                                                    -No References 
  xab$r_typ_fields              9323    8       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$b_typ0                   9315    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
   xab$b_typ1                   9316    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
   xab$b_typ2                   9317    1       byte                Member: (Offset=2) unsigned char 
                                                                    -No References 
   xab$b_typ3                   9318    1       byte                Member: (Offset=3) unsigned char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2233
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
   xab$b_typ4                   9319    1       byte                Member: (Offset=4) unsigned char 
                                                                    -No References 
   xab$b_typ5                   9320    1       byte                Member: (Offset=5) unsigned char 
                                                                    -No References 
   xab$b_typ6                   9321    1       byte                Member: (Offset=6) unsigned char 
                                                                    -No References 
   xab$b_typ7                   9322    1       byte                Member: (Offset=7) unsigned char 
                                                                    -No References 
 xab$b_prolog                   9325    1       byte                Member: (Offset=72) unsigned char 
                                                                    -No References 
 xabkeydef$$_fill_12            9326    1       byte                Member: (Offset=73) char 
                                                                    -No References 
 xabkeydef$$_fill_13            9327    2       word                Member: (Offset=74) signed short 
                                                                    -No References 
 xab$l_coltbl                   9328    4       long                Member: (Offset=76) short pointer to void 
                                                                    -No References 
 xab$l_colsiz                   9329    4       long                Member: (Offset=80) unsigned int 
                                                                    -No References 
 xab$l_colnam                   9330    4       long                Member: (Offset=84) short pointer to char 
                                                                    -No References 
 xabkeydef$$_fill_14            9331    4       long                Member: (Offset=88) unsigned int 
                                                                    -No References 
 xabkeydef$$_fill_15            9332    4       long                Member: (Offset=92) unsigned int 
                                                                    -No References 
 xabkeydef$$_fill_16            9333    4       long                Member: (Offset=96) unsigned int 
                                                                    -No References 
xabprodef1                      9605    88      long                Tag: struct xabprodef1
                                                                    Ref: 9706
 xab$b_cod                      9607    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      9608    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xabprodef$$_fill_1             9609    2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      9610    4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$r_pro_overlay              9619    2       byte                Member: (Offset=8) union 
                                                                    -No References 
  xab$w_pro                     9612    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
  xab$r_pro_bits                9618    2       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$v_sys                    9614    4 bits  bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   xab$v_own                    9615    4 bits  bit                 Member: (Offset=4 bits) bitfield 
                                                                    -No References 
   xab$v_grp                    9616    4 bits  bit                 Member: (Offset=8 bits) bitfield 
                                                                    -No References 
   xab$v_wld                    9617    4 bits  bit                 Member: (Offset=1.4 byte.bit) bitfield 
                                                                    -No References 
 xab$b_mtacc                    9620    1       byte                Member: (Offset=10) unsigned char 
                                                                    -No References 
 xab$r_prot_opt_overlay         9627    1       byte                Member: (Offset=11) union 
                                                                    -No References 
  xab$b_prot_opt                9622    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2234
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

  xab$r_prot_opt_fields         9626    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$v_propagate              9624    1 bit   bit                 Member: (Offset=0 bits) bitfield 
                                                                    -No References 
   xab$v_fill_13_               9625    7 bits  bit                 Member: (Offset=1 bit) bitfield 
                                                                    -No References 
 xab$r_uic_overlay              9634    4       byte                Member: (Offset=12) union 
                                                                    -No References 
  xab$l_uic                     9629    4       long                Member: (Offset=0) unsigned int 
                                                                    -No References 
  xab$r_uic_fields              9633    4       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$w_mbm                    9631    2       word                Member: (Offset=0) unsigned short 
                                                                    -No References 
   xab$w_grp                    9632    2       word                Member: (Offset=2) unsigned short 
                                                                    -No References 
 xab$r_prot_mode_overlay        9640    8       byte                Member: (Offset=16) union 
                                                                    -No References 
  xab$q_prot_mode               9636    8       quad                Member: (Offset=0) signed int64 
                                                                    -No References 
  xab$r_prot_mode_fields        9639    1       byte                Member: (Offset=0) struct 
                                                                    -No References 
   xab$b_prot_mode              9638    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$l_aclbuf                   9641    4       long                Member: (Offset=24) short pointer to char 
                                                                    -No References 
 xab$w_aclsiz                   9642    2       word                Member: (Offset=28) unsigned short 
                                                                    -No References 
 xab$w_acllen                   9643    2       word                Member: (Offset=30) unsigned short 
                                                                    -No References 
 xab$l_aclctx                   9644    4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
 xab$l_aclsts                   9645    4       long                Member: (Offset=36) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_10            9646    4       long                Member: (Offset=40) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_11            9647    4       long                Member: (Offset=44) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_12            9648    4       long                Member: (Offset=48) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_13            9649    4       long                Member: (Offset=52) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_14            9650    4       long                Member: (Offset=56) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_15            9651    4       long                Member: (Offset=60) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_16            9652    4       long                Member: (Offset=64) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_17            9653    4       long                Member: (Offset=68) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_18            9654    4       long                Member: (Offset=72) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_19            9655    4       long                Member: (Offset=76) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_20            9656    4       long                Member: (Offset=80) unsigned int 
                                                                    -No References 
 xabprodef$$_fill_21            9657    4       long                Member: (Offset=84) unsigned int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2235
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
xabrdtdef                       9794    20      long                Tag: struct xabrdtdef
                                                                    Ref: 9818
 xab$b_cod                      9796    1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      9797    1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xabrdtdef$$_fill_1             9798    2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      9799    4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$w_rvn                      9800    2       word                Member: (Offset=8) unsigned short 
                                                                    -No References 
 xabrdtdef$$_fill_2             9801    2       word                Member: (Offset=10) signed short 
                                                                    -No References 
 xab$q_rdt                      9802    8       quad                Member: (Offset=12) signed int64 
                                                                    -No References 
xabsumdef                       10051   12      long                Tag: struct xabsumdef
                                                                    Ref: 10075
 xab$b_cod                      10053   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      10054   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xabsumdef$$_fill_1             10055   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      10056   4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$b_noa                      10057   1       byte                Member: (Offset=8) unsigned char 
                                                                    -No References 
 xab$b_nok                      10058   1       byte                Member: (Offset=9) unsigned char 
                                                                    -No References 
 xab$w_pvn                      10059   2       word                Member: (Offset=10) unsigned short 
                                                                    -No References 
xabtrmdef                       10169   36      long                Tag: struct xabtrmdef
                                                                    Ref: 10198
 xab$b_cod                      10171   1       byte                Member: (Offset=0) unsigned char 
                                                                    -No References 
 xab$b_bln                      10172   1       byte                Member: (Offset=1) unsigned char 
                                                                    -No References 
 xabtrmdef$$_fill_1             10173   2       word                Member: (Offset=2) signed short 
                                                                    -No References 
 xab$l_nxt                      10174   4       long                Member: (Offset=4) short pointer to void 
                                                                    -No References 
 xab$l_itmlst                   10175   4       long                Member: (Offset=8) short pointer to void 
                                                                    -No References 
 xab$w_itmlst_len               10176   2       word                Member: (Offset=12) unsigned short 
                                                                    -No References 
 xabtrmdef$$_fill_5             10177   2       word                Member: (Offset=14) signed short 
                                                                    -No References 
 xabtrmdef$$_fill_6             10178   4       long                Member: (Offset=16) unsigned int 
                                                                    -No References 
 xabtrmdef$$_fill_7             10179   4       long                Member: (Offset=20) unsigned int 
                                                                    -No References 
 xabtrmdef$$_fill_8             10180   4       long                Member: (Offset=24) unsigned int 
                                                                    -No References 
 xabtrmdef$$_fill_9             10181   4       long                Member: (Offset=28) unsigned int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2236
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 xabtrmdef$$_fill_10            10182   4       long                Member: (Offset=32) unsigned int 
                                                                    -No References 
xarg0                           89913   4       long    Extern      short pointer to char 
                                                                    Ref: 89931
xargc                           89914   4       long    Extern      signed int 
                                                                    Ref: 89923=, 89924, 90040=, 90062=
xargv                           89913   4       long    Extern      short pointer to short pointer to char 
                                                                    Ref: 89917*, 89923=, 89924*, 90005*, 90008*, 90038, 90040=, 
                                                                    90047*, 90053*, 90057*, 90057*, 90062=, 90074*, 90078*, 90083
                                                                    *, 90154*, 90197*, 90336*
xaskmore                        88490   4       long    Extern      signed int 
                                                                    -No References 
xcmdbuf                         97664   4096    byte    Static TDef array of char 
                                                                    Ref: 97701, 97746&[], 97750
xfermode                        88489   4       long    Extern      signed int 
                                                                    Ref: 97907, 98057
xferstat                        88489   4       long    Extern      signed int 
                                                                    Ref: 92786=, 92800=, 94020=, 94410=, 95929=
xfiletype                       88487   4       long    Extern      signed int 
                                                                    Ref: 93347=, 93348, 93349=, 93913
xfsecs                          88493   4       long    Extern      signed long 
                                                                    -No References 
xgnbp                           89774   4       long    Static Def  short pointer to char 
                                                                    Ref: 89774=, 89779, 89781*, 89783=*, 97729=, 98658=, 98679, 
                                                                    99123=
xgnbyte                         24992   4       long    Extern      Function returning signed int 
                                                                    Ref: 97733(), 98674(), 99124(), 99952(), 100697(), 100708()
xl_tx                           41735   448     long    Extern      array of short pointer to function 
                                                                    -No References 
xl_u                            41734   448     long    Extern      array of short pointer to function 
                                                                    -No References 
xlatec                          88698   4       long    Static      Function returning signed int 
                                                                    -No References 
xlatec                          98644   4       long    Static Def. Function returning signed int 
                                                                    Ref: 98679(), 98880(), 99049(), 99294()
xlookup                         28387   4       long    Extern      Function returning signed int 
                                                                    Ref: 98757(), 98801(), 98831()
xpnbyte                         24993   4       long    Extern      Function returning signed int 
                                                                    Ref: 97734(), 98675(), 99125(), 99953(), 100747(), 100748()
xprintc                         89804   4       long    Static Def. Function returning signed int 
                                                                    -No References 
xtmpbuf                         94036   4096    byte    Static TDef array of char 
                                                                    Ref: 94271, 94277, 95293, 95299
xx_ftprecv                      100180  72      quad                Tag: struct xx_ftprecv
                                                                    Ref: 100197
 reply                          100181  4       long                Member: (Offset=0) signed int 
                                                                    Ref: 100225=., 100867=., 100868., 100869., 101006=.
 fcs                            100182  4       long                Member: (Offset=4) signed int 
                                                                    Ref: 100225., 100503., 100686., 100747., 100748., 100867., 
                                                                    101007=.
 rcs                            100183  4       long                Member: (Offset=8) signed int 
                                                                    Ref: 100225., 100503., 100686., 100697., 100708., 100867., 
                                                                    101008=.
 recover                        100184  4       long                Member: (Offset=12) signed int 
                                                                    Ref: 100485., 100492=., 100497., 101009=.
 xlate                          100185  4       long                Member: (Offset=16) signed int 
                                                                    Ref: 100676., 100678., 101010=.

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2237
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 din                            100186  4       long                Member: (Offset=20) signed int 
                                                                    Ref: 100368., 100417., 100419., 100469=., 100512=., 100513., 
                                                                    100514., 100613., 100754., 100816., 100860.
 is_retr                        100187  4       long                Member: (Offset=24) signed int 
                                                                    Ref: 100308., 100947=., 100949., 101004.
 oldintr                        100188  4       long                Member: (Offset=28) short pointer to function 
                                                                    Ref: 100247., 100248., 100257., 100258()*., 100298., 100310.
                                                                    , 100356., 100361., 100427., 100437., 100438()*., 100505., 
                                                                    100848., 101020=.
 oldintp                        100188  4       long                Member: (Offset=32) short pointer to function 
                                                                    Ref: 100355., 100850., 100851., 101016=.
 cmd                            100189  4       long                Member: (Offset=36) short pointer to char 
                                                                    Ref: 100500., 100503., 101011=.
 local                          100190  4       long                Member: (Offset=40) short pointer to char 
                                                                    Ref: 100292., 100297., 100399., 100413., 100414., 100534., 
                                                                    100534., 100539=., 100555., 100556., 100560., 100596., 100605
                                                                    ., 100664., 100664., 100667., 100670., 100828., 100843., 
                                                                    100844., 101012=.
 remote                         100191  4       long                Member: (Offset=44) short pointer to char 
                                                                    Ref: 100497., 100501., 100503., 100534., 101013=.
 lmode                          100192  4       long                Member: (Offset=48) short pointer to char 
                                                                    Ref: 100489=., 100541=., 100554., 101014=.
 pipename                       100193  4       long                Member: (Offset=52) short pointer to char 
                                                                    Ref: 100289., 100546., 100547., 100548., 100664., 100687., 
                                                                    100796., 100826., 101015=.
 tcrflag                        100194  4       long                Member: (Offset=56) signed int 
                                                                    Ref: 101004=.
 localsize                      100195  8       quad                Member: (Offset=64) signed int64 
                                                                    Ref: 100486., 100490., 100912=., 100960=., 100969=., 100971.
                                                                    , 100974., 100975.
xx_strp                         25317   4       long                Typedef: short pointer to function 
                                                                    Ref: 25332, 25369, 25369, 25378, 25379, 25380, 25381, 25382, 
                                                                    25383, 25384, 25385, 25386, 25387, 25388, 25389, 25390, 25391
                                                                    , 25392, 25393, 25396, 88485
xxout                           92473   4       long    Static Def. Function returning signed int 
                                                                    Ref: 99953, 99960()
xxstring                        88485   4       long    Extern      short pointer to function 
                                                                    Ref: 90403, 90408, 90416, 90438, 90465, 90477, 90494, 90505, 
                                                                    90524, 90531, 90553, 90559, 90570, 90713, 90724, 90780, 90791
                                                                    , 90804, 90834, 90945, 90965, 90968, 90984, 91056, 91069, 
                                                                    91098, 91101, 91128, 91159, 92897, 92908, 92933, 92971, 93095
                                                                    , 93102, 93118, 93155, 93165, 93173, 93211, 93228, 93235, 
                                                                    93243, 93508, 93519, 94566, 94577, 94679, 94687, 94694, 94745
                                                                    , 94755, 94763, 94797, 94814, 94831, 94838, 94874, 94888, 
                                                                    95989, 96030, 96040, 96128, 96139, 96157, 96173, 96182, 96185
                                                                    , 96215, 96236, 96316, 96327, 96382, 96395, 96415, 96434, 
                                                                    96441, 96452, 96475, 96479, 96486, 97257, 97354
y                               88779   4       long    Static TDef signed int 
                                                                    Ref: 90198=, 90199, 90200, 90208, 90210, 90266=, 90267, 90267
                                                                    , 90270, 90270, 90268=, 90281=, 90282, 90282, 90285, 90285, 
                                                                    90283=, 90410=, 90411, 90418=, 90419, 90440=, 90440, 90467=, 
                                                                    90468, 90479=, 90480, 90496=, 90497, 90554=, 90554, 90560=, 
                                                                    90560, 90568=, 90571, 90573, 90575, 90580, 90585, 90586, 
                                                                    93173&, 93179, 93228&, 93230, 94763&, 94769, 96196=, 96197, 
                                                                    96217=, 96218, 96443=, 96443, 96459=, 96460, 96488=, 96488, 
                                                                    102560=, 102562, 102593=, 102594
z                               88779   4       long    Static TDef signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2238
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 90494&, 90498, 90593=, 90594, 90643=, 90644, 96215&, 
                                                                    96220, 96226, 96228
zattr                           15794   152     quad                Tag: struct zattr
                                                                    Ref: 15958, 16026, 16029, 24933, 24934, 24935, 24937, 24938, 
                                                                    24939, 24941, 24943
 lengthk                        15795   8       quad                Member: (Offset=0) signed int64 
                                                                    -No References 
 type                           15796   8       long                Member: (Offset=8) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 date                           15797   8       long                Member: (Offset=16) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 creator                        15798   8       long                Member: (Offset=24) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 account                        15799   8       long                Member: (Offset=32) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 area                           15800   8       long                Member: (Offset=40) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 password                       15801   8       long                Member: (Offset=48) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 blksize                        15802   4       long                Member: (Offset=56) signed long 
                                                                    -No References 
 xaccess                        15803   8       long                Member: (Offset=60) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 encoding                       15804   8       long                Member: (Offset=68) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2239
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 disp                           15805   8       long                Member: (Offset=76) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 lprotect                       15806   8       long                Member: (Offset=84) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 gprotect                       15807   8       long                Member: (Offset=92) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 systemid                       15808   8       long                Member: (Offset=100) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 recfm                          15809   8       long                Member: (Offset=108) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 sysparam                       15810   8       long                Member: (Offset=116) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 length                         15811   8       quad                Member: (Offset=128) signed int64 
                                                                    -No References 
 charset                        15812   8       long                Member: (Offset=136) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 reply                          15816   8       long                Member: (Offset=144) struct zstr
                                                                    -No References 
  len                           15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
  val                           15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
zchdir                          16001   4       long    Extern      Function returning signed int 
                                                                    Ref: 95177(), 95935(), 103759(), 103825()
zchki                           15981   8       quad    Extern      Function returning signed int64 
                                                                    Ref: 90053(), 92043(), 93664(), 94164(), 94316(), 95508(), 
                                                                    95520(), 95710()
zchko                           15993   4       long    Extern      Function returning signed int 
                                                                    Ref: 100293()

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2240
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

zclose                          15959   4       long    Extern      Function returning signed int 
                                                                    Ref: 89876(), 94514(), 95145(), 95229(), 99537(), 99646(), 
                                                                    99775(), 99788(), 99851(), 99978(), 100400(), 100827()
zdelet                          15994   4       long    Extern      Function returning signed int 
                                                                    Ref: 92390(), 100413(), 100843()
zfnfp                           15483   12      long                Tag: struct zfnfp
                                                                    Ref: 16045
 len                            15484   4       long                Member: (Offset=0) signed int 
                                                                    -No References 
 fpath                          15485   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
 fname                          15486   4       long                Member: (Offset=8) short pointer to char 
                                                                    -No References 
zfnqfp                          16045   4       long    Extern      Function returning short pointer to struct zfnfp
                                                                    Ref: 91962(), 92229(), 93569(), 93679()
zfseek                          16043   4       long    Extern      Function returning signed int 
                                                                    Ref: 99783()
zgtdir                          16003   4       long    Extern      Function returning short pointer to char 
                                                                    Ref: 95176()
zinbuffer                       88470   4       long    Extern      short pointer to char 
                                                                    -No References 
zincnt                          88475   4       long    Extern      signed int 
                                                                    Ref: 99893=, 99958=
zinfill                         15965   4       long    Extern      Function returning signed int 
                                                                    Ref: 99893(), 99958()
zinptr                          88474   4       long    Extern      short pointer to char 
                                                                    Ref: 99893=*, 99958=*
zmkdir                          16042   4       long    Extern      Function returning signed int 
                                                                    Ref: 93409(), 94977(), 95618(), 103822()
znewn                           16023   0       byte    Extern      Function returning void 
                                                                    Ref: 94173(), 94325(), 95724()
zobufsize                       88475   4       long    Extern      signed int 
                                                                    Ref: 92529, 100635, 100803
zopeni                          15957   4       long    Extern      Function returning signed int 
                                                                    Ref: 93617(), 95138()
zopeno                          15958   4       long    Extern      Function returning signed int 
                                                                    Ref: 100555()
zoutbuffer                      88470   4       long    Extern      short pointer to char 
                                                                    -No References 
zoutcnt                         88475   4       long    Extern      signed int 
                                                                    Ref: 92529=, 100635=, 100803=
zoutdump                        15970   4       long    Extern      Function returning signed int 
                                                                    Ref: 92529(), 100635(), 100803()
zoutptr                         88474   4       long    Extern      short pointer to char 
                                                                    Ref: 92529=*, 100635=*, 100803=*
zrename                         16024   4       long    Extern      Function returning signed int 
                                                                    Ref: 92399(), 92423(), 94176(), 94328(), 95727(), 95803(), 
                                                                    95825()
zsinl                           15964   4       long    Extern      Function returning signed int 
                                                                    Ref: 95144(), 95228()
zsoutl                          15967   4       long    Extern      Function returning signed int 
                                                                    Ref: 89874()
zstr                            15789   8       long                Tag: struct zstr
                                                                    Ref: 15796, 15797, 15798, 15799, 15800, 15801, 15803, 15804, 
                                                                    15805, 15806, 15807, 15808, 15809, 15810, 15812, 15816
 len                            15790   4       long                Member: (Offset=0) signed int 
                                                                    -No References 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2241
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

 val                            15791   4       long                Member: (Offset=4) short pointer to char 
                                                                    -No References 
ztmsec                          13083   4       long    Extern      signed long 
                                                                    -No References 
ztusec                          13083   4       long    Extern      signed long 
                                                                    -No References 
zxcmd                           16004   4       long    Extern      Function returning signed int 
                                                                    Ref: 100547()
zzsend                          89605   4       long    Static      Function returning signed int 
                                                                    -No References 
zzsend                          92638   4       long    Static Def. Function returning signed int 
                                                                    Ref: 92506(), 99895()
zzstring                        28265   4       long    Extern      Function returning signed int 
                                                                    Ref: 92218(), 92417(), 92448(), 93442(), 93468(), 93699(), 
                                                                    93904(), 95011(), 95044(), 95498(), 95683(), 95797(), 95819()
                                                                    , 95842()


FUNCTION ossl_check_OPENSSL_STRING_type defined at line  44266
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             44266   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 44266


FUNCTION ossl_check_const_OPENSSL_STRING_sk_type defined at line  44266
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              44266   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_OPENSSL_STRING
                                                                    Ref: 44266


FUNCTION ossl_check_OPENSSL_STRING_sk_type defined at line  44266
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              44266   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_OPENSSL_STRING
                                                                    Ref: 44266


FUNCTION ossl_check_OPENSSL_STRING_compfunc_type defined at line  44266
_______________________________________________________________________



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2242
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             44266   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44266


FUNCTION ossl_check_OPENSSL_STRING_copyfunc_type defined at line  44266
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             44266   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44266


FUNCTION ossl_check_OPENSSL_STRING_freefunc_type defined at line  44266
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              44266   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44266


FUNCTION ossl_check_OPENSSL_CSTRING_type defined at line  44292
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             44292   4       long    Param       local parameter, short pointer to const char 
                                                                    Ref: 44292


FUNCTION ossl_check_const_OPENSSL_CSTRING_sk_type defined at line  44292
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              44292   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_OPENSSL_CSTRING
                                                                    Ref: 44292


FUNCTION ossl_check_OPENSSL_CSTRING_sk_type defined at line  44292
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2243
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

sk                              44292   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_OPENSSL_CSTRING
                                                                    Ref: 44292


FUNCTION ossl_check_OPENSSL_CSTRING_compfunc_type defined at line  44292
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             44292   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44292


FUNCTION ossl_check_OPENSSL_CSTRING_copyfunc_type defined at line  44292
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             44292   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44292


FUNCTION ossl_check_OPENSSL_CSTRING_freefunc_type defined at line  44292
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              44292   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44292


FUNCTION ossl_check_OPENSSL_BLOCK_type defined at line  44326
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             44326   4       long    Param       local parameter, short pointer to void 
                                                                    Ref: 44326


FUNCTION ossl_check_const_OPENSSL_BLOCK_sk_type defined at line  44326
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2244
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


sk                              44326   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_OPENSSL_BLOCK
                                                                    Ref: 44326


FUNCTION ossl_check_OPENSSL_BLOCK_sk_type defined at line  44326
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              44326   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_OPENSSL_BLOCK
                                                                    Ref: 44326


FUNCTION ossl_check_OPENSSL_BLOCK_compfunc_type defined at line  44326
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             44326   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44326


FUNCTION ossl_check_OPENSSL_BLOCK_copyfunc_type defined at line  44326
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             44326   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44326


FUNCTION ossl_check_OPENSSL_BLOCK_freefunc_type defined at line  44326
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              44326   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 44326


FUNCTION ossl_check_void_type defined at line  46610
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2245
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


ptr                             46610   4       long    Param       local parameter, short pointer to void 
                                                                    Ref: 46610


FUNCTION ossl_check_const_void_sk_type defined at line  46610
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              46610   4       long    Param       local parameter, short pointer to const struct stack_st_void
                                                                    Ref: 46610


FUNCTION ossl_check_void_sk_type defined at line  46610
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              46610   4       long    Param       local parameter, short pointer to struct stack_st_void
                                                                    Ref: 46610


FUNCTION ossl_check_void_compfunc_type defined at line  46610
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             46610   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 46610


FUNCTION ossl_check_void_copyfunc_type defined at line  46610
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             46610   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 46610


FUNCTION ossl_check_void_freefunc_type defined at line  46610
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              46610   4       long    Param       local parameter, short pointer to function 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2246
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 46610


FUNCTION ossl_check_BIO_type defined at line  57881
___________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             57881   4       long    Param       local parameter, short pointer to struct bio_st
                                                                    Ref: 57881


FUNCTION ossl_check_const_BIO_sk_type defined at line  57881
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              57881   4       long    Param       local parameter, short pointer to const struct stack_st_BIO
                                                                    Ref: 57881


FUNCTION ossl_check_BIO_sk_type defined at line  57881
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              57881   4       long    Param       local parameter, short pointer to struct stack_st_BIO
                                                                    Ref: 57881


FUNCTION ossl_check_BIO_compfunc_type defined at line  57881
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             57881   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 57881


FUNCTION ossl_check_BIO_copyfunc_type defined at line  57881
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             57881   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 57881


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2247
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_BIO_freefunc_type defined at line  57881
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              57881   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 57881


FUNCTION OSSL_FUNC_core_gettable_params defined at line  58948
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58948   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58948->


FUNCTION OSSL_FUNC_core_get_params defined at line  58951
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58951   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58951->


FUNCTION OSSL_FUNC_core_thread_start defined at line  58954
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58954   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58954->


FUNCTION OSSL_FUNC_core_get_libctx defined at line  58958
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58958   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2248
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 58958->


FUNCTION OSSL_FUNC_core_new_error defined at line  58961
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58961   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58961->


FUNCTION OSSL_FUNC_core_set_error_debug defined at line  58963
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58963   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58963->


FUNCTION OSSL_FUNC_core_vset_error defined at line  58967
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58967   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58967->


FUNCTION OSSL_FUNC_core_set_error_mark defined at line  58971
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58971   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58971->


FUNCTION OSSL_FUNC_core_clear_last_error_mark defined at line  58973
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2249
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             58973   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58973->


FUNCTION OSSL_FUNC_core_pop_error_to_mark defined at line  58976
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58976   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58976->


FUNCTION OSSL_FUNC_core_obj_add_sigid defined at line  58984
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58984   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58984->


FUNCTION OSSL_FUNC_core_obj_create defined at line  58987
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58987   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58987->


FUNCTION OSSL_FUNC_CRYPTO_malloc defined at line  58993
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58993   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58993->


FUNCTION OSSL_FUNC_CRYPTO_zalloc defined at line  58996
_______________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2250
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58996   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58996->


FUNCTION OSSL_FUNC_CRYPTO_free defined at line  58999
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             58999   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 58999->


FUNCTION OSSL_FUNC_CRYPTO_clear_free defined at line  59002
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59002   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59002->


FUNCTION OSSL_FUNC_CRYPTO_realloc defined at line  59005
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59005   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59005->


FUNCTION OSSL_FUNC_CRYPTO_clear_realloc defined at line  59008
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59008   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59008->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2251
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_CRYPTO_secure_malloc defined at line  59012
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59012   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59012->


FUNCTION OSSL_FUNC_CRYPTO_secure_zalloc defined at line  59015
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59015   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59015->


FUNCTION OSSL_FUNC_CRYPTO_secure_free defined at line  59018
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59018   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59018->


FUNCTION OSSL_FUNC_CRYPTO_secure_clear_free defined at line  59021
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59021   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59021->


FUNCTION OSSL_FUNC_CRYPTO_secure_allocated defined at line  59025
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59025   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2252
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59025->


FUNCTION OSSL_FUNC_OPENSSL_cleanse defined at line  59028
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59028   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59028->


FUNCTION OSSL_FUNC_BIO_new_file defined at line  59045
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59045   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59045->


FUNCTION OSSL_FUNC_BIO_new_membuf defined at line  59047
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59047   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59047->


FUNCTION OSSL_FUNC_BIO_read_ex defined at line  59048
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59048   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59048->


FUNCTION OSSL_FUNC_BIO_write_ex defined at line  59050
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2253
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59050   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59050->


FUNCTION OSSL_FUNC_BIO_gets defined at line  59052
__________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59052   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59052->


FUNCTION OSSL_FUNC_BIO_puts defined at line  59053
__________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59053   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59053->


FUNCTION OSSL_FUNC_BIO_up_ref defined at line  59054
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59054   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59054->


FUNCTION OSSL_FUNC_BIO_free defined at line  59055
__________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59055   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59055->


FUNCTION OSSL_FUNC_BIO_vprintf defined at line  59056
_____________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2254
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59056   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59056->


FUNCTION OSSL_FUNC_BIO_vsnprintf defined at line  59058
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59058   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59058->


FUNCTION OSSL_FUNC_BIO_ctrl defined at line  59060
__________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59060   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59060->


FUNCTION OSSL_FUNC_self_test_cb defined at line  59064
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59064   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59064->


FUNCTION OSSL_FUNC_get_entropy defined at line  59072
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59072   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59072->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2255
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_cleanup_entropy defined at line  59075
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59075   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59075->


FUNCTION OSSL_FUNC_get_nonce defined at line  59077
___________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59077   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59077->


FUNCTION OSSL_FUNC_cleanup_nonce defined at line  59081
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59081   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59081->


FUNCTION OSSL_FUNC_provider_register_child_cb defined at line  59093
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59093   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59093->


FUNCTION OSSL_FUNC_provider_deregister_child_cb defined at line  59099
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59099   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2256
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59099->


FUNCTION OSSL_FUNC_provider_name defined at line  59101
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59101   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59101->


FUNCTION OSSL_FUNC_provider_get0_provider_ctx defined at line  59103
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59103   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59103->


FUNCTION OSSL_FUNC_provider_get0_dispatch defined at line  59105
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59105   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59105->


FUNCTION OSSL_FUNC_provider_up_ref defined at line  59107
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59107   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59107->


FUNCTION OSSL_FUNC_provider_free defined at line  59109
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2257
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59109   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59109->


FUNCTION OSSL_FUNC_provider_teardown defined at line  59114
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59114   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59114->


FUNCTION OSSL_FUNC_provider_gettable_params defined at line  59116
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59116   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59116->


FUNCTION OSSL_FUNC_provider_get_params defined at line  59119
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59119   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59119->


FUNCTION OSSL_FUNC_provider_query_operation defined at line  59122
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59122   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59122->


FUNCTION OSSL_FUNC_provider_unquery_operation defined at line  59125
____________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2258
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59125   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59125->


FUNCTION OSSL_FUNC_provider_get_reason_strings defined at line  59128
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59128   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59128->


FUNCTION OSSL_FUNC_provider_get_capabilities defined at line  59131
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59131   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59131->


FUNCTION OSSL_FUNC_provider_self_test defined at line  59134
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59134   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59134->


FUNCTION OSSL_FUNC_digest_newctx defined at line  59171
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59171   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59171->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2259
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_digest_init defined at line  59172
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59172   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59172->


FUNCTION OSSL_FUNC_digest_update defined at line  59173
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59173   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59173->


FUNCTION OSSL_FUNC_digest_final defined at line  59175
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59175   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59175->


FUNCTION OSSL_FUNC_digest_digest defined at line  59178
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59178   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59178->


FUNCTION OSSL_FUNC_digest_freectx defined at line  59182
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59182   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2260
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59182->


FUNCTION OSSL_FUNC_digest_dupctx defined at line  59183
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59183   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59183->


FUNCTION OSSL_FUNC_digest_get_params defined at line  59185
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59185   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59185->


FUNCTION OSSL_FUNC_digest_set_ctx_params defined at line  59186
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59186   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59186->


FUNCTION OSSL_FUNC_digest_get_ctx_params defined at line  59188
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59188   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59188->


FUNCTION OSSL_FUNC_digest_gettable_params defined at line  59190
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2261
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59190   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59190->


FUNCTION OSSL_FUNC_digest_settable_ctx_params defined at line  59192
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59192   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59192->


FUNCTION OSSL_FUNC_digest_gettable_ctx_params defined at line  59194
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59194   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59194->


FUNCTION OSSL_FUNC_cipher_newctx defined at line  59214
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59214   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59214->


FUNCTION OSSL_FUNC_cipher_encrypt_init defined at line  59215
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59215   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59215->


FUNCTION OSSL_FUNC_cipher_decrypt_init defined at line  59221
_____________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2262
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59221   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59221->


FUNCTION OSSL_FUNC_cipher_update defined at line  59227
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59227   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59227->


FUNCTION OSSL_FUNC_cipher_final defined at line  59231
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59231   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59231->


FUNCTION OSSL_FUNC_cipher_cipher defined at line  59234
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59234   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59234->


FUNCTION OSSL_FUNC_cipher_freectx defined at line  59238
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59238   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59238->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2263
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_cipher_dupctx defined at line  59239
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59239   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59239->


FUNCTION OSSL_FUNC_cipher_get_params defined at line  59240
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59240   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59240->


FUNCTION OSSL_FUNC_cipher_get_ctx_params defined at line  59241
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59241   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59241->


FUNCTION OSSL_FUNC_cipher_set_ctx_params defined at line  59243
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59243   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59243->


FUNCTION OSSL_FUNC_cipher_gettable_params defined at line  59245
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59245   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2264
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59245->


FUNCTION OSSL_FUNC_cipher_settable_ctx_params defined at line  59247
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59247   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59247->


FUNCTION OSSL_FUNC_cipher_gettable_ctx_params defined at line  59249
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59249   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59249->


FUNCTION OSSL_FUNC_mac_newctx defined at line  59267
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59267   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59267->


FUNCTION OSSL_FUNC_mac_dupctx defined at line  59268
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59268   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59268->


FUNCTION OSSL_FUNC_mac_freectx defined at line  59269
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2265
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59269   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59269->


FUNCTION OSSL_FUNC_mac_init defined at line  59270
__________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59270   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59270->


FUNCTION OSSL_FUNC_mac_update defined at line  59272
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59272   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59272->


FUNCTION OSSL_FUNC_mac_final defined at line  59274
___________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59274   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59274->


FUNCTION OSSL_FUNC_mac_gettable_params defined at line  59277
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59277   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59277->


FUNCTION OSSL_FUNC_mac_gettable_ctx_params defined at line  59278
_________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2266
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59278   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59278->


FUNCTION OSSL_FUNC_mac_settable_ctx_params defined at line  59280
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59280   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59280->


FUNCTION OSSL_FUNC_mac_get_params defined at line  59282
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59282   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59282->


FUNCTION OSSL_FUNC_mac_get_ctx_params defined at line  59283
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59283   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59283->


FUNCTION OSSL_FUNC_mac_set_ctx_params defined at line  59285
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59285   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59285->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2267
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_kdf_newctx defined at line  59302
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59302   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59302->


FUNCTION OSSL_FUNC_kdf_dupctx defined at line  59303
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59303   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59303->


FUNCTION OSSL_FUNC_kdf_freectx defined at line  59304
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59304   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59304->


FUNCTION OSSL_FUNC_kdf_reset defined at line  59305
___________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59305   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59305->


FUNCTION OSSL_FUNC_kdf_derive defined at line  59306
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59306   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2268
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59306->


FUNCTION OSSL_FUNC_kdf_gettable_params defined at line  59308
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59308   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59308->


FUNCTION OSSL_FUNC_kdf_gettable_ctx_params defined at line  59309
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59309   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59309->


FUNCTION OSSL_FUNC_kdf_settable_ctx_params defined at line  59311
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59311   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59311->


FUNCTION OSSL_FUNC_kdf_get_params defined at line  59313
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59313   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59313->


FUNCTION OSSL_FUNC_kdf_get_ctx_params defined at line  59314
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2269
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59314   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59314->


FUNCTION OSSL_FUNC_kdf_set_ctx_params defined at line  59316
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59316   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59316->


FUNCTION OSSL_FUNC_rand_newctx defined at line  59341
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59341   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59341->


FUNCTION OSSL_FUNC_rand_freectx defined at line  59344
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59344   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59344->


FUNCTION OSSL_FUNC_rand_instantiate defined at line  59345
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59345   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59345->


FUNCTION OSSL_FUNC_rand_uninstantiate defined at line  59350
____________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2270
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59350   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59350->


FUNCTION OSSL_FUNC_rand_generate defined at line  59351
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59351   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59351->


FUNCTION OSSL_FUNC_rand_reseed defined at line  59355
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59355   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59355->


FUNCTION OSSL_FUNC_rand_nonce defined at line  59359
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59359   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59359->


FUNCTION OSSL_FUNC_rand_enable_locking defined at line  59362
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59362   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59362->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2271
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_rand_lock defined at line  59363
___________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59363   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59363->


FUNCTION OSSL_FUNC_rand_unlock defined at line  59364
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59364   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59364->


FUNCTION OSSL_FUNC_rand_gettable_params defined at line  59365
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59365   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59365->


FUNCTION OSSL_FUNC_rand_gettable_ctx_params defined at line  59366
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59366   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59366->


FUNCTION OSSL_FUNC_rand_settable_ctx_params defined at line  59368
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59368   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2272
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59368->


FUNCTION OSSL_FUNC_rand_get_params defined at line  59370
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59370   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59370->


FUNCTION OSSL_FUNC_rand_get_ctx_params defined at line  59371
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59371   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59371->


FUNCTION OSSL_FUNC_rand_set_ctx_params defined at line  59373
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59373   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59373->


FUNCTION OSSL_FUNC_rand_set_callbacks defined at line  59375
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59375   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59375->


FUNCTION OSSL_FUNC_rand_verify_zeroization defined at line  59380
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2273
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59380   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59380->


FUNCTION OSSL_FUNC_rand_get_seed defined at line  59382
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59382   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59382->


FUNCTION OSSL_FUNC_rand_clear_seed defined at line  59387
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59387   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59387->


FUNCTION OSSL_FUNC_keymgmt_new defined at line  59445
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59445   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59445->


FUNCTION OSSL_FUNC_keymgmt_gen_init defined at line  59454
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59454   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59454->


FUNCTION OSSL_FUNC_keymgmt_gen_set_template defined at line  59456
__________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2274
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59456   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59456->


FUNCTION OSSL_FUNC_keymgmt_gen_set_params defined at line  59458
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59458   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59458->


FUNCTION OSSL_FUNC_keymgmt_gen_settable_params defined at line  59460
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59460   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59460->


FUNCTION OSSL_FUNC_keymgmt_gen defined at line  59463
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59463   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59463->


FUNCTION OSSL_FUNC_keymgmt_gen_cleanup defined at line  59465
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59465   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59465->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2275
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_keymgmt_load defined at line  59469
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59469   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59469->


FUNCTION OSSL_FUNC_keymgmt_free defined at line  59474
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59474   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59474->


FUNCTION OSSL_FUNC_keymgmt_get_params defined at line  59479
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59479   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59479->


FUNCTION OSSL_FUNC_keymgmt_gettable_params defined at line  59481
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59481   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59481->


FUNCTION OSSL_FUNC_keymgmt_set_params defined at line  59486
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59486   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2276
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59486->


FUNCTION OSSL_FUNC_keymgmt_settable_params defined at line  59488
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59488   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59488->


FUNCTION OSSL_FUNC_keymgmt_query_operation_name defined at line  59493
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59493   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59493->


FUNCTION OSSL_FUNC_keymgmt_has defined at line  59498
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59498   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59498->


FUNCTION OSSL_FUNC_keymgmt_validate defined at line  59502
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59502   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59502->


FUNCTION OSSL_FUNC_keymgmt_match defined at line  59507
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2277
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59507   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59507->


FUNCTION OSSL_FUNC_keymgmt_import defined at line  59516
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59516   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59516->


FUNCTION OSSL_FUNC_keymgmt_import_types defined at line  59518
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59518   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59518->


FUNCTION OSSL_FUNC_keymgmt_export defined at line  59520
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59520   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59520->


FUNCTION OSSL_FUNC_keymgmt_export_types defined at line  59523
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59523   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59523->


FUNCTION OSSL_FUNC_keymgmt_dup defined at line  59528
_____________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2278
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59528   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59528->


FUNCTION OSSL_FUNC_keyexch_newctx defined at line  59544
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59544   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59544->


FUNCTION OSSL_FUNC_keyexch_init defined at line  59545
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59545   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59545->


FUNCTION OSSL_FUNC_keyexch_derive defined at line  59547
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59547   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59547->


FUNCTION OSSL_FUNC_keyexch_set_peer defined at line  59549
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59549   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59549->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2279
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_keyexch_freectx defined at line  59550
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59550   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59550->


FUNCTION OSSL_FUNC_keyexch_dupctx defined at line  59551
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59551   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59551->


FUNCTION OSSL_FUNC_keyexch_set_ctx_params defined at line  59552
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59552   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59552->


FUNCTION OSSL_FUNC_keyexch_settable_ctx_params defined at line  59554
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59554   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59554->


FUNCTION OSSL_FUNC_keyexch_get_ctx_params defined at line  59556
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59556   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2280
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59556->


FUNCTION OSSL_FUNC_keyexch_gettable_ctx_params defined at line  59558
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59558   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59558->


FUNCTION OSSL_FUNC_signature_newctx defined at line  59589
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59589   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59589->


FUNCTION OSSL_FUNC_signature_sign_init defined at line  59591
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59591   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59591->


FUNCTION OSSL_FUNC_signature_sign defined at line  59593
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59593   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59593->


FUNCTION OSSL_FUNC_signature_verify_init defined at line  59597
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2281
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59597   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59597->


FUNCTION OSSL_FUNC_signature_verify defined at line  59599
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59599   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59599->


FUNCTION OSSL_FUNC_signature_verify_recover_init defined at line  59604
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59604   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59604->


FUNCTION OSSL_FUNC_signature_verify_recover defined at line  59606
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59606   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59606->


FUNCTION OSSL_FUNC_signature_digest_sign_init defined at line  59609
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59609   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59609->


FUNCTION OSSL_FUNC_signature_digest_sign_update defined at line  59612
______________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2282
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59612   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59612->


FUNCTION OSSL_FUNC_signature_digest_sign_final defined at line  59614
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59614   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59614->


FUNCTION OSSL_FUNC_signature_digest_sign defined at line  59617
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59617   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59617->


FUNCTION OSSL_FUNC_signature_digest_verify_init defined at line  59620
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59620   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59620->


FUNCTION OSSL_FUNC_signature_digest_verify_update defined at line  59623
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59623   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59623->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2283
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_signature_digest_verify_final defined at line  59625
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59625   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59625->


FUNCTION OSSL_FUNC_signature_digest_verify defined at line  59627
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59627   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59627->


FUNCTION OSSL_FUNC_signature_freectx defined at line  59630
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59630   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59630->


FUNCTION OSSL_FUNC_signature_dupctx defined at line  59631
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59631   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59631->


FUNCTION OSSL_FUNC_signature_get_ctx_params defined at line  59632
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59632   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2284
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59632->


FUNCTION OSSL_FUNC_signature_gettable_ctx_params defined at line  59634
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59634   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59634->


FUNCTION OSSL_FUNC_signature_set_ctx_params defined at line  59636
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59636   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59636->


FUNCTION OSSL_FUNC_signature_settable_ctx_params defined at line  59638
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59638   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59638->


FUNCTION OSSL_FUNC_signature_get_ctx_md_params defined at line  59640
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59640   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59640->


FUNCTION OSSL_FUNC_signature_gettable_ctx_md_params defined at line  59642
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2285
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59642   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59642->


FUNCTION OSSL_FUNC_signature_set_ctx_md_params defined at line  59644
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59644   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59644->


FUNCTION OSSL_FUNC_signature_settable_ctx_md_params defined at line  59646
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59646   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59646->


FUNCTION OSSL_FUNC_asym_cipher_newctx defined at line  59664
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59664   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59664->


FUNCTION OSSL_FUNC_asym_cipher_encrypt_init defined at line  59665
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59665   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59665->


FUNCTION OSSL_FUNC_asym_cipher_encrypt defined at line  59667
_____________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2286
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59667   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59667->


FUNCTION OSSL_FUNC_asym_cipher_decrypt_init defined at line  59672
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59672   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59672->


FUNCTION OSSL_FUNC_asym_cipher_decrypt defined at line  59674
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59674   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59674->


FUNCTION OSSL_FUNC_asym_cipher_freectx defined at line  59679
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59679   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59679->


FUNCTION OSSL_FUNC_asym_cipher_dupctx defined at line  59680
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59680   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59680->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2287
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_asym_cipher_get_ctx_params defined at line  59681
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59681   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59681->


FUNCTION OSSL_FUNC_asym_cipher_gettable_ctx_params defined at line  59683
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59683   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59683->


FUNCTION OSSL_FUNC_asym_cipher_set_ctx_params defined at line  59685
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59685   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59685->


FUNCTION OSSL_FUNC_asym_cipher_settable_ctx_params defined at line  59687
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59687   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59687->


FUNCTION OSSL_FUNC_kem_newctx defined at line  59703
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59703   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2288
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59703->


FUNCTION OSSL_FUNC_kem_encapsulate_init defined at line  59704
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59704   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59704->


FUNCTION OSSL_FUNC_kem_encapsulate defined at line  59706
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59706   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59706->


FUNCTION OSSL_FUNC_kem_decapsulate_init defined at line  59710
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59710   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59710->


FUNCTION OSSL_FUNC_kem_decapsulate defined at line  59712
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59712   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59712->


FUNCTION OSSL_FUNC_kem_freectx defined at line  59715
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2289
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59715   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59715->


FUNCTION OSSL_FUNC_kem_dupctx defined at line  59716
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59716   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59716->


FUNCTION OSSL_FUNC_kem_get_ctx_params defined at line  59717
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59717   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59717->


FUNCTION OSSL_FUNC_kem_gettable_ctx_params defined at line  59718
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59718   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59718->


FUNCTION OSSL_FUNC_kem_set_ctx_params defined at line  59720
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59720   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59720->


FUNCTION OSSL_FUNC_kem_settable_ctx_params defined at line  59722
_________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2290
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59722   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59722->


FUNCTION OSSL_FUNC_encoder_newctx defined at line  59736
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59736   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59736->


FUNCTION OSSL_FUNC_encoder_freectx defined at line  59737
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59737   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59737->


FUNCTION OSSL_FUNC_encoder_get_params defined at line  59738
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59738   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59738->


FUNCTION OSSL_FUNC_encoder_gettable_params defined at line  59739
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59739   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59739->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2291
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_encoder_set_ctx_params defined at line  59741
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59741   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59741->


FUNCTION OSSL_FUNC_encoder_settable_ctx_params defined at line  59743
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59743   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59743->


FUNCTION OSSL_FUNC_encoder_does_selection defined at line  59746
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59746   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59746->


FUNCTION OSSL_FUNC_encoder_encode defined at line  59748
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59748   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59748->


FUNCTION OSSL_FUNC_encoder_import_object defined at line  59754
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59754   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2292
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 59754->


FUNCTION OSSL_FUNC_encoder_free_object defined at line  59756
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59756   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59756->


FUNCTION OSSL_FUNC_decoder_newctx defined at line  59767
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59767   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59767->


FUNCTION OSSL_FUNC_decoder_freectx defined at line  59768
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59768   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59768->


FUNCTION OSSL_FUNC_decoder_get_params defined at line  59769
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59769   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59769->


FUNCTION OSSL_FUNC_decoder_gettable_params defined at line  59770
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2293
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


opf                             59770   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59770->


FUNCTION OSSL_FUNC_decoder_set_ctx_params defined at line  59772
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59772   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59772->


FUNCTION OSSL_FUNC_decoder_settable_ctx_params defined at line  59774
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59774   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59774->


FUNCTION OSSL_FUNC_decoder_does_selection defined at line  59777
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59777   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59777->


FUNCTION OSSL_FUNC_decoder_decode defined at line  59779
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59779   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59779->


FUNCTION OSSL_FUNC_decoder_export_object defined at line  59783
_______________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2294
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59783   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59783->


FUNCTION OSSL_FUNC_store_open defined at line  59807
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59807   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59807->


FUNCTION OSSL_FUNC_store_attach defined at line  59808
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59808   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59808->


FUNCTION OSSL_FUNC_store_settable_ctx_params defined at line  59809
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59809   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59809->


FUNCTION OSSL_FUNC_store_set_ctx_params defined at line  59811
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59811   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59811->



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2295
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION OSSL_FUNC_store_load defined at line  59813
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59813   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59813->


FUNCTION OSSL_FUNC_store_eof defined at line  59817
___________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59817   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59817->


FUNCTION OSSL_FUNC_store_close defined at line  59818
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59818   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59818->


FUNCTION OSSL_FUNC_store_export_object defined at line  59819
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

opf                             59819   4       long    Param       local parameter, short pointer to const struct 
                                                                    ossl_dispatch_st
                                                                    Ref: 59819->


FUNCTION ossl_check_X509_ALGOR_type defined at line  66537
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             66537   4       long    Param       local parameter, short pointer to struct X509_algor_st
                                                                    Ref: 66537

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2296
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_const_X509_ALGOR_sk_type defined at line  66537
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              66537   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_ALGOR
                                                                    Ref: 66537


FUNCTION ossl_check_X509_ALGOR_sk_type defined at line  66537
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              66537   4       long    Param       local parameter, short pointer to struct stack_st_X509_ALGOR
                                                                    Ref: 66537


FUNCTION ossl_check_X509_ALGOR_compfunc_type defined at line  66537
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             66537   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66537


FUNCTION ossl_check_X509_ALGOR_copyfunc_type defined at line  66537
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             66537   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66537


FUNCTION ossl_check_X509_ALGOR_freefunc_type defined at line  66537
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              66537   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66537


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2297
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_ASN1_STRING_TABLE_type defined at line  66639
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             66639   4       long    Param       local parameter, short pointer to struct asn1_string_table_st
                                                                    Ref: 66639


FUNCTION ossl_check_const_ASN1_STRING_TABLE_sk_type defined at line  66639
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              66639   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASN1_STRING_TABLE
                                                                    Ref: 66639


FUNCTION ossl_check_ASN1_STRING_TABLE_sk_type defined at line  66639
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              66639   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_ASN1_STRING_TABLE
                                                                    Ref: 66639


FUNCTION ossl_check_ASN1_STRING_TABLE_compfunc_type defined at line  66639
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             66639   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66639


FUNCTION ossl_check_ASN1_STRING_TABLE_copyfunc_type defined at line  66639
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             66639   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66639


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2298
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_ASN1_STRING_TABLE_freefunc_type defined at line  66639
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              66639   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66639


FUNCTION ossl_check_ASN1_TYPE_type defined at line  66959
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             66959   4       long    Param       local parameter, short pointer to struct asn1_type_st
                                                                    Ref: 66959


FUNCTION ossl_check_const_ASN1_TYPE_sk_type defined at line  66959
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              66959   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASN1_TYPE
                                                                    Ref: 66959


FUNCTION ossl_check_ASN1_TYPE_sk_type defined at line  66959
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              66959   4       long    Param       local parameter, short pointer to struct stack_st_ASN1_TYPE
                                                                    Ref: 66959


FUNCTION ossl_check_ASN1_TYPE_compfunc_type defined at line  66959
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             66959   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66959



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2299
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION ossl_check_ASN1_TYPE_copyfunc_type defined at line  66959
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             66959   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66959


FUNCTION ossl_check_ASN1_TYPE_freefunc_type defined at line  66959
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              66959   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 66959


FUNCTION ossl_check_ASN1_OBJECT_type defined at line  67039
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             67039   4       long    Param       local parameter, short pointer to struct asn1_object_st
                                                                    Ref: 67039


FUNCTION ossl_check_const_ASN1_OBJECT_sk_type defined at line  67039
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67039   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASN1_OBJECT
                                                                    Ref: 67039


FUNCTION ossl_check_ASN1_OBJECT_sk_type defined at line  67039
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67039   4       long    Param       local parameter, short pointer to struct stack_st_ASN1_OBJECT
                                                                    Ref: 67039


FUNCTION ossl_check_ASN1_OBJECT_compfunc_type defined at line  67039

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2300
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             67039   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67039


FUNCTION ossl_check_ASN1_OBJECT_copyfunc_type defined at line  67039
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             67039   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67039


FUNCTION ossl_check_ASN1_OBJECT_freefunc_type defined at line  67039
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              67039   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67039


FUNCTION ossl_check_ASN1_INTEGER_type defined at line  67105
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             67105   4       long    Param       local parameter, short pointer to struct asn1_string_st
                                                                    Ref: 67105


FUNCTION ossl_check_const_ASN1_INTEGER_sk_type defined at line  67105
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67105   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASN1_INTEGER
                                                                    Ref: 67105


FUNCTION ossl_check_ASN1_INTEGER_sk_type defined at line  67105
_______________________________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2301
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67105   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_ASN1_INTEGER
                                                                    Ref: 67105


FUNCTION ossl_check_ASN1_INTEGER_compfunc_type defined at line  67105
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             67105   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67105


FUNCTION ossl_check_ASN1_INTEGER_copyfunc_type defined at line  67105
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             67105   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67105


FUNCTION ossl_check_ASN1_INTEGER_freefunc_type defined at line  67105
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              67105   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67105


FUNCTION ossl_check_ASN1_UTF8STRING_type defined at line  67167
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             67167   4       long    Param       local parameter, short pointer to struct asn1_string_st
                                                                    Ref: 67167


FUNCTION ossl_check_const_ASN1_UTF8STRING_sk_type defined at line  67167
________________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2302
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67167   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASN1_UTF8STRING
                                                                    Ref: 67167


FUNCTION ossl_check_ASN1_UTF8STRING_sk_type defined at line  67167
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67167   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_ASN1_UTF8STRING
                                                                    Ref: 67167


FUNCTION ossl_check_ASN1_UTF8STRING_compfunc_type defined at line  67167
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             67167   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67167


FUNCTION ossl_check_ASN1_UTF8STRING_copyfunc_type defined at line  67167
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             67167   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67167


FUNCTION ossl_check_ASN1_UTF8STRING_freefunc_type defined at line  67167
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              67167   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67167


FUNCTION ossl_check_ASN1_GENERALSTRING_type defined at line  67204
__________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2303
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             67204   4       long    Param       local parameter, short pointer to struct asn1_string_st
                                                                    Ref: 67204


FUNCTION ossl_check_const_ASN1_GENERALSTRING_sk_type defined at line  67204
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67204   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASN1_GENERALSTRING
                                                                    Ref: 67204


FUNCTION ossl_check_ASN1_GENERALSTRING_sk_type defined at line  67204
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              67204   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_ASN1_GENERALSTRING
                                                                    Ref: 67204


FUNCTION ossl_check_ASN1_GENERALSTRING_compfunc_type defined at line  67204
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             67204   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67204


FUNCTION ossl_check_ASN1_GENERALSTRING_copyfunc_type defined at line  67204
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             67204   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67204


FUNCTION ossl_check_ASN1_GENERALSTRING_freefunc_type defined at line  67204
___________________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2304
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              67204   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 67204


FUNCTION ossl_check_X509_NAME_type defined at line  73165
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73165   4       long    Param       local parameter, short pointer to struct X509_name_st
                                                                    Ref: 73165


FUNCTION ossl_check_const_X509_NAME_sk_type defined at line  73165
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73165   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_NAME
                                                                    Ref: 73165


FUNCTION ossl_check_X509_NAME_sk_type defined at line  73165
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73165   4       long    Param       local parameter, short pointer to struct stack_st_X509_NAME
                                                                    Ref: 73165


FUNCTION ossl_check_X509_NAME_compfunc_type defined at line  73165
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73165   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73165


FUNCTION ossl_check_X509_NAME_copyfunc_type defined at line  73165
__________________________________________________________________



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2305
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73165   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73165


FUNCTION ossl_check_X509_NAME_freefunc_type defined at line  73165
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73165   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73165


FUNCTION ossl_check_X509_type defined at line  73191
____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73191   4       long    Param       local parameter, short pointer to struct x509_st
                                                                    Ref: 73191


FUNCTION ossl_check_const_X509_sk_type defined at line  73191
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73191   4       long    Param       local parameter, short pointer to const struct stack_st_X509
                                                                    Ref: 73191


FUNCTION ossl_check_X509_sk_type defined at line  73191
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73191   4       long    Param       local parameter, short pointer to struct stack_st_X509
                                                                    Ref: 73191


FUNCTION ossl_check_X509_compfunc_type defined at line  73191
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2306
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


cmp                             73191   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73191


FUNCTION ossl_check_X509_copyfunc_type defined at line  73191
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73191   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73191


FUNCTION ossl_check_X509_freefunc_type defined at line  73191
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73191   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73191


FUNCTION ossl_check_X509_REVOKED_type defined at line  73217
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73217   4       long    Param       local parameter, short pointer to struct x509_revoked_st
                                                                    Ref: 73217


FUNCTION ossl_check_const_X509_REVOKED_sk_type defined at line  73217
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73217   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_REVOKED
                                                                    Ref: 73217


FUNCTION ossl_check_X509_REVOKED_sk_type defined at line  73217
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2307
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

sk                              73217   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509_REVOKED
                                                                    Ref: 73217


FUNCTION ossl_check_X509_REVOKED_compfunc_type defined at line  73217
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73217   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73217


FUNCTION ossl_check_X509_REVOKED_copyfunc_type defined at line  73217
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73217   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73217


FUNCTION ossl_check_X509_REVOKED_freefunc_type defined at line  73217
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73217   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73217


FUNCTION ossl_check_X509_CRL_type defined at line  73243
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73243   4       long    Param       local parameter, short pointer to struct X509_crl_st
                                                                    Ref: 73243


FUNCTION ossl_check_const_X509_CRL_sk_type defined at line  73243
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73243   4       long    Param       local parameter, short pointer to const struct 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2308
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    stack_st_X509_CRL
                                                                    Ref: 73243


FUNCTION ossl_check_X509_CRL_sk_type defined at line  73243
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73243   4       long    Param       local parameter, short pointer to struct stack_st_X509_CRL
                                                                    Ref: 73243


FUNCTION ossl_check_X509_CRL_compfunc_type defined at line  73243
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73243   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73243


FUNCTION ossl_check_X509_CRL_copyfunc_type defined at line  73243
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73243   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73243


FUNCTION ossl_check_X509_CRL_freefunc_type defined at line  73243
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73243   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73243


FUNCTION ossl_check_X509_NAME_ENTRY_type defined at line  73308
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73308   4       long    Param       local parameter, short pointer to struct X509_name_entry_st
                                                                    Ref: 73308

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2309
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_const_X509_NAME_ENTRY_sk_type defined at line  73308
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73308   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_NAME_ENTRY
                                                                    Ref: 73308


FUNCTION ossl_check_X509_NAME_ENTRY_sk_type defined at line  73308
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73308   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509_NAME_ENTRY
                                                                    Ref: 73308


FUNCTION ossl_check_X509_NAME_ENTRY_compfunc_type defined at line  73308
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73308   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73308


FUNCTION ossl_check_X509_NAME_ENTRY_copyfunc_type defined at line  73308
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73308   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73308


FUNCTION ossl_check_X509_NAME_ENTRY_freefunc_type defined at line  73308
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73308   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73308

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2310
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_X509_EXTENSION_type defined at line  73339
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73339   4       long    Param       local parameter, short pointer to struct X509_extension_st
                                                                    Ref: 73339


FUNCTION ossl_check_const_X509_EXTENSION_sk_type defined at line  73339
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73339   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_EXTENSION
                                                                    Ref: 73339


FUNCTION ossl_check_X509_EXTENSION_sk_type defined at line  73339
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73339   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509_EXTENSION
                                                                    Ref: 73339


FUNCTION ossl_check_X509_EXTENSION_compfunc_type defined at line  73339
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73339   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73339


FUNCTION ossl_check_X509_EXTENSION_copyfunc_type defined at line  73339
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73339   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73339

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2311
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_X509_EXTENSION_freefunc_type defined at line  73339
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73339   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73339


FUNCTION ossl_check_X509_ATTRIBUTE_type defined at line  73368
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73368   4       long    Param       local parameter, short pointer to struct x509_attributes_st
                                                                    Ref: 73368


FUNCTION ossl_check_const_X509_ATTRIBUTE_sk_type defined at line  73368
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73368   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_ATTRIBUTE
                                                                    Ref: 73368


FUNCTION ossl_check_X509_ATTRIBUTE_sk_type defined at line  73368
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73368   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509_ATTRIBUTE
                                                                    Ref: 73368


FUNCTION ossl_check_X509_ATTRIBUTE_compfunc_type defined at line  73368
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73368   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73368

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2312
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_X509_ATTRIBUTE_copyfunc_type defined at line  73368
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73368   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73368


FUNCTION ossl_check_X509_ATTRIBUTE_freefunc_type defined at line  73368
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73368   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73368


FUNCTION ossl_check_X509_INFO_type defined at line  73503
_________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73503   4       long    Param       local parameter, short pointer to struct X509_info_st
                                                                    Ref: 73503


FUNCTION ossl_check_const_X509_INFO_sk_type defined at line  73503
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73503   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_INFO
                                                                    Ref: 73503


FUNCTION ossl_check_X509_INFO_sk_type defined at line  73503
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73503   4       long    Param       local parameter, short pointer to struct stack_st_X509_INFO
                                                                    Ref: 73503


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2313
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_X509_INFO_compfunc_type defined at line  73503
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73503   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73503


FUNCTION ossl_check_X509_INFO_copyfunc_type defined at line  73503
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73503   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73503


FUNCTION ossl_check_X509_INFO_freefunc_type defined at line  73503
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73503   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73503


FUNCTION ossl_check_OPENSSL_STRING_lh_plain_type defined at line  73879
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73879   4       long    Param       local parameter, short pointer to short pointer to char 
                                                                    Ref: 73879


FUNCTION ossl_check_const_OPENSSL_STRING_lh_plain_type defined at line  73879
_____________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73879   4       long    Param       local parameter, short pointer to const short pointer to 
                                                                    char 
                                                                    Ref: 73879



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2314
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION ossl_check_const_OPENSSL_STRING_lh_type defined at line  73879
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lh                              73879   4       long    Param       local parameter, short pointer to const struct 
                                                                    lhash_st_OPENSSL_STRING
                                                                    Ref: 73879


FUNCTION ossl_check_OPENSSL_STRING_lh_type defined at line  73879
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lh                              73879   4       long    Param       local parameter, short pointer to struct 
                                                                    lhash_st_OPENSSL_STRING
                                                                    Ref: 73879


FUNCTION ossl_check_OPENSSL_STRING_lh_compfunc_type defined at line  73879
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73879   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73879


FUNCTION ossl_check_OPENSSL_STRING_lh_hashfunc_type defined at line  73879
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

hfn                             73879   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73879


FUNCTION ossl_check_OPENSSL_STRING_lh_doallfunc_type defined at line  73879
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

dfn                             73879   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73879



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2315
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION ossl_check_OPENSSL_CSTRING_lh_plain_type defined at line  73894
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73894   4       long    Param       local parameter, short pointer to short pointer to const 
                                                                    char 
                                                                    Ref: 73894


FUNCTION ossl_check_const_OPENSSL_CSTRING_lh_plain_type defined at line  73894
______________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73894   4       long    Param       local parameter, short pointer to const short pointer to 
                                                                    const char 
                                                                    Ref: 73894


FUNCTION ossl_check_const_OPENSSL_CSTRING_lh_type defined at line  73894
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lh                              73894   4       long    Param       local parameter, short pointer to const struct 
                                                                    lhash_st_OPENSSL_CSTRING
                                                                    Ref: 73894


FUNCTION ossl_check_OPENSSL_CSTRING_lh_type defined at line  73894
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lh                              73894   4       long    Param       local parameter, short pointer to struct 
                                                                    lhash_st_OPENSSL_CSTRING
                                                                    Ref: 73894


FUNCTION ossl_check_OPENSSL_CSTRING_lh_compfunc_type defined at line  73894
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73894   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73894

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2316
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_OPENSSL_CSTRING_lh_hashfunc_type defined at line  73894
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

hfn                             73894   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73894


FUNCTION ossl_check_OPENSSL_CSTRING_lh_doallfunc_type defined at line  73894
____________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

dfn                             73894   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73894


FUNCTION ossl_check_X509_LOOKUP_type defined at line  73951
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73951   4       long    Param       local parameter, short pointer to struct x509_lookup_st
                                                                    Ref: 73951


FUNCTION ossl_check_const_X509_LOOKUP_sk_type defined at line  73951
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73951   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_LOOKUP
                                                                    Ref: 73951


FUNCTION ossl_check_X509_LOOKUP_sk_type defined at line  73951
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73951   4       long    Param       local parameter, short pointer to struct stack_st_X509_LOOKUP
                                                                    Ref: 73951


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2317
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_X509_LOOKUP_compfunc_type defined at line  73951
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73951   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73951


FUNCTION ossl_check_X509_LOOKUP_copyfunc_type defined at line  73951
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73951   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73951


FUNCTION ossl_check_X509_LOOKUP_freefunc_type defined at line  73951
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73951   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73951


FUNCTION ossl_check_X509_OBJECT_type defined at line  73977
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             73977   4       long    Param       local parameter, short pointer to struct x509_object_st
                                                                    Ref: 73977


FUNCTION ossl_check_const_X509_OBJECT_sk_type defined at line  73977
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73977   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_OBJECT
                                                                    Ref: 73977



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2318
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION ossl_check_X509_OBJECT_sk_type defined at line  73977
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              73977   4       long    Param       local parameter, short pointer to struct stack_st_X509_OBJECT
                                                                    Ref: 73977


FUNCTION ossl_check_X509_OBJECT_compfunc_type defined at line  73977
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             73977   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73977


FUNCTION ossl_check_X509_OBJECT_copyfunc_type defined at line  73977
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             73977   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73977


FUNCTION ossl_check_X509_OBJECT_freefunc_type defined at line  73977
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              73977   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 73977


FUNCTION ossl_check_X509_VERIFY_PARAM_type defined at line  74003
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             74003   4       long    Param       local parameter, short pointer to struct X509_VERIFY_PARAM_st
                                                                    Ref: 74003


FUNCTION ossl_check_const_X509_VERIFY_PARAM_sk_type defined at line  74003
__________________________________________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2319
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74003   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_VERIFY_PARAM
                                                                    Ref: 74003


FUNCTION ossl_check_X509_VERIFY_PARAM_sk_type defined at line  74003
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74003   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509_VERIFY_PARAM
                                                                    Ref: 74003


FUNCTION ossl_check_X509_VERIFY_PARAM_compfunc_type defined at line  74003
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             74003   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74003


FUNCTION ossl_check_X509_VERIFY_PARAM_copyfunc_type defined at line  74003
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             74003   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74003


FUNCTION ossl_check_X509_VERIFY_PARAM_freefunc_type defined at line  74003
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              74003   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74003


FUNCTION ossl_check_X509_TRUST_type defined at line  74040
__________________________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2320
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             74040   4       long    Param       local parameter, short pointer to struct x509_trust_st
                                                                    Ref: 74040


FUNCTION ossl_check_const_X509_TRUST_sk_type defined at line  74040
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74040   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_TRUST
                                                                    Ref: 74040


FUNCTION ossl_check_X509_TRUST_sk_type defined at line  74040
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74040   4       long    Param       local parameter, short pointer to struct stack_st_X509_TRUST
                                                                    Ref: 74040


FUNCTION ossl_check_X509_TRUST_compfunc_type defined at line  74040
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             74040   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74040


FUNCTION ossl_check_X509_TRUST_copyfunc_type defined at line  74040
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             74040   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74040


FUNCTION ossl_check_X509_TRUST_freefunc_type defined at line  74040
___________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2321
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              74040   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74040


FUNCTION ossl_check_PKCS7_SIGNER_INFO_type defined at line  74907
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             74907   4       long    Param       local parameter, short pointer to struct pkcs7_signer_info_st
                                                                    Ref: 74907


FUNCTION ossl_check_const_PKCS7_SIGNER_INFO_sk_type defined at line  74907
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74907   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_PKCS7_SIGNER_INFO
                                                                    Ref: 74907


FUNCTION ossl_check_PKCS7_SIGNER_INFO_sk_type defined at line  74907
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74907   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_PKCS7_SIGNER_INFO
                                                                    Ref: 74907


FUNCTION ossl_check_PKCS7_SIGNER_INFO_compfunc_type defined at line  74907
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             74907   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74907


FUNCTION ossl_check_PKCS7_SIGNER_INFO_copyfunc_type defined at line  74907
__________________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2322
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             74907   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74907


FUNCTION ossl_check_PKCS7_SIGNER_INFO_freefunc_type defined at line  74907
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              74907   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74907


FUNCTION ossl_check_PKCS7_RECIP_INFO_type defined at line  74943
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             74943   4       long    Param       local parameter, short pointer to struct pkcs7_recip_info_st
                                                                    Ref: 74943


FUNCTION ossl_check_const_PKCS7_RECIP_INFO_sk_type defined at line  74943
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74943   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_PKCS7_RECIP_INFO
                                                                    Ref: 74943


FUNCTION ossl_check_PKCS7_RECIP_INFO_sk_type defined at line  74943
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              74943   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_PKCS7_RECIP_INFO
                                                                    Ref: 74943


FUNCTION ossl_check_PKCS7_RECIP_INFO_compfunc_type defined at line  74943
_________________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2323
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             74943   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74943


FUNCTION ossl_check_PKCS7_RECIP_INFO_copyfunc_type defined at line  74943
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             74943   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74943


FUNCTION ossl_check_PKCS7_RECIP_INFO_freefunc_type defined at line  74943
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              74943   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 74943


FUNCTION ossl_check_PKCS7_type defined at line  75058
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             75058   4       long    Param       local parameter, short pointer to struct pkcs7_st
                                                                    Ref: 75058


FUNCTION ossl_check_const_PKCS7_sk_type defined at line  75058
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              75058   4       long    Param       local parameter, short pointer to const struct stack_st_PKCS7
                                                                    Ref: 75058


FUNCTION ossl_check_PKCS7_sk_type defined at line  75058
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2324
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

sk                              75058   4       long    Param       local parameter, short pointer to struct stack_st_PKCS7
                                                                    Ref: 75058


FUNCTION ossl_check_PKCS7_compfunc_type defined at line  75058
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             75058   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75058


FUNCTION ossl_check_PKCS7_copyfunc_type defined at line  75058
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             75058   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75058


FUNCTION ossl_check_PKCS7_freefunc_type defined at line  75058
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              75058   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75058


FUNCTION ossl_check_CONF_VALUE_type defined at line  75454
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             75454   4       long    Param       local parameter, short pointer to struct 
                                                                    Ref: 75454


FUNCTION ossl_check_const_CONF_VALUE_sk_type defined at line  75454
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2325
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

sk                              75454   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_CONF_VALUE
                                                                    Ref: 75454


FUNCTION ossl_check_CONF_VALUE_sk_type defined at line  75454
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              75454   4       long    Param       local parameter, short pointer to struct stack_st_CONF_VALUE
                                                                    Ref: 75454


FUNCTION ossl_check_CONF_VALUE_compfunc_type defined at line  75454
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             75454   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75454


FUNCTION ossl_check_CONF_VALUE_copyfunc_type defined at line  75454
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             75454   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75454


FUNCTION ossl_check_CONF_VALUE_freefunc_type defined at line  75454
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              75454   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75454


FUNCTION ossl_check_CONF_VALUE_lh_plain_type defined at line  75480
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             75480   4       long    Param       local parameter, short pointer to struct 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2326
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 75480


FUNCTION ossl_check_const_CONF_VALUE_lh_plain_type defined at line  75480
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             75480   4       long    Param       local parameter, short pointer to const struct 
                                                                    Ref: 75480


FUNCTION ossl_check_const_CONF_VALUE_lh_type defined at line  75480
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lh                              75480   4       long    Param       local parameter, short pointer to const struct 
                                                                    lhash_st_CONF_VALUE
                                                                    Ref: 75480


FUNCTION ossl_check_CONF_VALUE_lh_type defined at line  75480
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lh                              75480   4       long    Param       local parameter, short pointer to struct lhash_st_CONF_VALUE
                                                                    Ref: 75480


FUNCTION ossl_check_CONF_VALUE_lh_compfunc_type defined at line  75480
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             75480   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75480


FUNCTION ossl_check_CONF_VALUE_lh_hashfunc_type defined at line  75480
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

hfn                             75480   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75480

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2327
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_CONF_VALUE_lh_doallfunc_type defined at line  75480
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

dfn                             75480   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 75480


FUNCTION ossl_check_SCT_type defined at line  77360
___________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             77360   4       long    Param       local parameter, short pointer to struct sct_st
                                                                    Ref: 77360


FUNCTION ossl_check_const_SCT_sk_type defined at line  77360
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              77360   4       long    Param       local parameter, short pointer to const struct stack_st_SCT
                                                                    Ref: 77360


FUNCTION ossl_check_SCT_sk_type defined at line  77360
______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              77360   4       long    Param       local parameter, short pointer to struct stack_st_SCT
                                                                    Ref: 77360


FUNCTION ossl_check_SCT_compfunc_type defined at line  77360
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             77360   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 77360



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2328
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION ossl_check_SCT_copyfunc_type defined at line  77360
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             77360   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 77360


FUNCTION ossl_check_SCT_freefunc_type defined at line  77360
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              77360   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 77360


FUNCTION ossl_check_CTLOG_type defined at line  77386
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             77386   4       long    Param       local parameter, short pointer to struct ctlog_st
                                                                    Ref: 77386


FUNCTION ossl_check_const_CTLOG_sk_type defined at line  77386
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              77386   4       long    Param       local parameter, short pointer to const struct stack_st_CTLOG
                                                                    Ref: 77386


FUNCTION ossl_check_CTLOG_sk_type defined at line  77386
________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              77386   4       long    Param       local parameter, short pointer to struct stack_st_CTLOG
                                                                    Ref: 77386


FUNCTION ossl_check_CTLOG_compfunc_type defined at line  77386
______________________________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2329
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             77386   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 77386


FUNCTION ossl_check_CTLOG_copyfunc_type defined at line  77386
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             77386   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 77386


FUNCTION ossl_check_CTLOG_freefunc_type defined at line  77386
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              77386   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 77386


FUNCTION ossl_check_SRTP_PROTECTION_PROFILE_type defined at line  78938
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             78938   4       long    Param       local parameter, short pointer to struct 
                                                                    srtp_protection_profile_st
                                                                    Ref: 78938


FUNCTION ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type defined at line  78938
________________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              78938   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_SRTP_PROTECTION_PROFILE
                                                                    Ref: 78938


FUNCTION ossl_check_SRTP_PROTECTION_PROFILE_sk_type defined at line  78938
__________________________________________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2330
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              78938   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_SRTP_PROTECTION_PROFILE
                                                                    Ref: 78938


FUNCTION ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type defined at line  78938
________________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             78938   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 78938


FUNCTION ossl_check_SRTP_PROTECTION_PROFILE_copyfunc_type defined at line  78938
________________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             78938   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 78938


FUNCTION ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type defined at line  78938
________________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              78938   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 78938


FUNCTION ossl_check_SSL_CIPHER_type defined at line  83983
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             83983   4       long    Param       local parameter, short pointer to const struct ssl_cipher_st
                                                                    Ref: 83983


FUNCTION ossl_check_const_SSL_CIPHER_sk_type defined at line  83983
___________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2331
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              83983   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_SSL_CIPHER
                                                                    Ref: 83983


FUNCTION ossl_check_SSL_CIPHER_sk_type defined at line  83983
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              83983   4       long    Param       local parameter, short pointer to struct stack_st_SSL_CIPHER
                                                                    Ref: 83983


FUNCTION ossl_check_SSL_CIPHER_compfunc_type defined at line  83983
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             83983   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 83983


FUNCTION ossl_check_SSL_CIPHER_copyfunc_type defined at line  83983
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             83983   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 83983


FUNCTION ossl_check_SSL_CIPHER_freefunc_type defined at line  83983
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              83983   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 83983


FUNCTION ossl_check_SSL_COMP_type defined at line  84009
________________________________________________________



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2332
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             84009   4       long    Param       local parameter, short pointer to struct ssl_comp_st
                                                                    Ref: 84009


FUNCTION ossl_check_const_SSL_COMP_sk_type defined at line  84009
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              84009   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_SSL_COMP
                                                                    Ref: 84009


FUNCTION ossl_check_SSL_COMP_sk_type defined at line  84009
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              84009   4       long    Param       local parameter, short pointer to struct stack_st_SSL_COMP
                                                                    Ref: 84009


FUNCTION ossl_check_SSL_COMP_compfunc_type defined at line  84009
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             84009   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 84009


FUNCTION ossl_check_SSL_COMP_copyfunc_type defined at line  84009
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             84009   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 84009


FUNCTION ossl_check_SSL_COMP_freefunc_type defined at line  84009
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2333
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

fr                              84009   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 84009


FUNCTION ossl_check_X509V3_EXT_METHOD_type defined at line  85808
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             85808   4       long    Param       local parameter, short pointer to struct v3_ext_method
                                                                    Ref: 85808


FUNCTION ossl_check_const_X509V3_EXT_METHOD_sk_type defined at line  85808
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              85808   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509V3_EXT_METHOD
                                                                    Ref: 85808


FUNCTION ossl_check_X509V3_EXT_METHOD_sk_type defined at line  85808
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              85808   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509V3_EXT_METHOD
                                                                    Ref: 85808


FUNCTION ossl_check_X509V3_EXT_METHOD_compfunc_type defined at line  85808
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             85808   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85808


FUNCTION ossl_check_X509V3_EXT_METHOD_copyfunc_type defined at line  85808
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2334
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

cpy                             85808   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85808


FUNCTION ossl_check_X509V3_EXT_METHOD_freefunc_type defined at line  85808
__________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              85808   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85808


FUNCTION ossl_check_ACCESS_DESCRIPTION_type defined at line  85900
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             85900   4       long    Param       local parameter, short pointer to struct 
                                                                    ACCESS_DESCRIPTION_st
                                                                    Ref: 85900


FUNCTION ossl_check_const_ACCESS_DESCRIPTION_sk_type defined at line  85900
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              85900   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ACCESS_DESCRIPTION
                                                                    Ref: 85900


FUNCTION ossl_check_ACCESS_DESCRIPTION_sk_type defined at line  85900
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              85900   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_ACCESS_DESCRIPTION
                                                                    Ref: 85900


FUNCTION ossl_check_ACCESS_DESCRIPTION_compfunc_type defined at line  85900
___________________________________________________________________________



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2335
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             85900   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85900


FUNCTION ossl_check_ACCESS_DESCRIPTION_copyfunc_type defined at line  85900
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             85900   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85900


FUNCTION ossl_check_ACCESS_DESCRIPTION_freefunc_type defined at line  85900
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              85900   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85900


FUNCTION ossl_check_GENERAL_NAME_type defined at line  85926
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             85926   4       long    Param       local parameter, short pointer to struct GENERAL_NAME_st
                                                                    Ref: 85926


FUNCTION ossl_check_const_GENERAL_NAME_sk_type defined at line  85926
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              85926   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_GENERAL_NAME
                                                                    Ref: 85926


FUNCTION ossl_check_GENERAL_NAME_sk_type defined at line  85926
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2336
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

sk                              85926   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_GENERAL_NAME
                                                                    Ref: 85926


FUNCTION ossl_check_GENERAL_NAME_compfunc_type defined at line  85926
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             85926   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85926


FUNCTION ossl_check_GENERAL_NAME_copyfunc_type defined at line  85926
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             85926   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85926


FUNCTION ossl_check_GENERAL_NAME_freefunc_type defined at line  85926
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              85926   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85926


FUNCTION ossl_check_GENERAL_NAMES_type defined at line  85959
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             85959   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_GENERAL_NAME
                                                                    Ref: 85959


FUNCTION ossl_check_const_GENERAL_NAMES_sk_type defined at line  85959
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2337
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

sk                              85959   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_GENERAL_NAMES
                                                                    Ref: 85959


FUNCTION ossl_check_GENERAL_NAMES_sk_type defined at line  85959
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              85959   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_GENERAL_NAMES
                                                                    Ref: 85959


FUNCTION ossl_check_GENERAL_NAMES_compfunc_type defined at line  85959
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             85959   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85959


FUNCTION ossl_check_GENERAL_NAMES_copyfunc_type defined at line  85959
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             85959   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85959


FUNCTION ossl_check_GENERAL_NAMES_freefunc_type defined at line  85959
______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              85959   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 85959


FUNCTION ossl_check_DIST_POINT_type defined at line  86018
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2338
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

ptr                             86018   4       long    Param       local parameter, short pointer to struct DIST_POINT_st
                                                                    Ref: 86018


FUNCTION ossl_check_const_DIST_POINT_sk_type defined at line  86018
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86018   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_DIST_POINT
                                                                    Ref: 86018


FUNCTION ossl_check_DIST_POINT_sk_type defined at line  86018
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86018   4       long    Param       local parameter, short pointer to struct stack_st_DIST_POINT
                                                                    Ref: 86018


FUNCTION ossl_check_DIST_POINT_compfunc_type defined at line  86018
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86018   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86018


FUNCTION ossl_check_DIST_POINT_copyfunc_type defined at line  86018
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86018   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86018


FUNCTION ossl_check_DIST_POINT_freefunc_type defined at line  86018
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2339
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


fr                              86018   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86018


FUNCTION ossl_check_SXNETID_type defined at line  86061
_______________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86061   4       long    Param       local parameter, short pointer to struct SXNET_ID_st
                                                                    Ref: 86061


FUNCTION ossl_check_const_SXNETID_sk_type defined at line  86061
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86061   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_SXNETID
                                                                    Ref: 86061


FUNCTION ossl_check_SXNETID_sk_type defined at line  86061
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86061   4       long    Param       local parameter, short pointer to struct stack_st_SXNETID
                                                                    Ref: 86061


FUNCTION ossl_check_SXNETID_compfunc_type defined at line  86061
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86061   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86061


FUNCTION ossl_check_SXNETID_copyfunc_type defined at line  86061
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2340
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

cpy                             86061   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86061


FUNCTION ossl_check_SXNETID_freefunc_type defined at line  86061
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86061   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86061


FUNCTION ossl_check_POLICYQUALINFO_type defined at line  86121
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86121   4       long    Param       local parameter, short pointer to struct POLICYQUALINFO_st
                                                                    Ref: 86121


FUNCTION ossl_check_const_POLICYQUALINFO_sk_type defined at line  86121
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86121   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_POLICYQUALINFO
                                                                    Ref: 86121


FUNCTION ossl_check_POLICYQUALINFO_sk_type defined at line  86121
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86121   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_POLICYQUALINFO
                                                                    Ref: 86121


FUNCTION ossl_check_POLICYQUALINFO_compfunc_type defined at line  86121
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2341
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

cmp                             86121   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86121


FUNCTION ossl_check_POLICYQUALINFO_copyfunc_type defined at line  86121
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86121   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86121


FUNCTION ossl_check_POLICYQUALINFO_freefunc_type defined at line  86121
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86121   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86121


FUNCTION ossl_check_POLICYINFO_type defined at line  86155
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86155   4       long    Param       local parameter, short pointer to struct POLICYINFO_st
                                                                    Ref: 86155


FUNCTION ossl_check_const_POLICYINFO_sk_type defined at line  86155
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86155   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_POLICYINFO
                                                                    Ref: 86155


FUNCTION ossl_check_POLICYINFO_sk_type defined at line  86155
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86155   4       long    Param       local parameter, short pointer to struct stack_st_POLICYINFO

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2342
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 86155


FUNCTION ossl_check_POLICYINFO_compfunc_type defined at line  86155
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86155   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86155


FUNCTION ossl_check_POLICYINFO_copyfunc_type defined at line  86155
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86155   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86155


FUNCTION ossl_check_POLICYINFO_freefunc_type defined at line  86155
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86155   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86155


FUNCTION ossl_check_POLICY_MAPPING_type defined at line  86190
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86190   4       long    Param       local parameter, short pointer to struct POLICY_MAPPING_st
                                                                    Ref: 86190


FUNCTION ossl_check_const_POLICY_MAPPING_sk_type defined at line  86190
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86190   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_POLICY_MAPPING
                                                                    Ref: 86190

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2343
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION ossl_check_POLICY_MAPPING_sk_type defined at line  86190
_________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86190   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_POLICY_MAPPING
                                                                    Ref: 86190


FUNCTION ossl_check_POLICY_MAPPING_compfunc_type defined at line  86190
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86190   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86190


FUNCTION ossl_check_POLICY_MAPPING_copyfunc_type defined at line  86190
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86190   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86190


FUNCTION ossl_check_POLICY_MAPPING_freefunc_type defined at line  86190
_______________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86190   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86190


FUNCTION ossl_check_GENERAL_SUBTREE_type defined at line  86226
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86226   4       long    Param       local parameter, short pointer to struct GENERAL_SUBTREE_st
                                                                    Ref: 86226


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2344
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_const_GENERAL_SUBTREE_sk_type defined at line  86226
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86226   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_GENERAL_SUBTREE
                                                                    Ref: 86226


FUNCTION ossl_check_GENERAL_SUBTREE_sk_type defined at line  86226
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86226   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_GENERAL_SUBTREE
                                                                    Ref: 86226


FUNCTION ossl_check_GENERAL_SUBTREE_compfunc_type defined at line  86226
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86226   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86226


FUNCTION ossl_check_GENERAL_SUBTREE_copyfunc_type defined at line  86226
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86226   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86226


FUNCTION ossl_check_GENERAL_SUBTREE_freefunc_type defined at line  86226
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86226   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86226


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2345
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_X509_PURPOSE_type defined at line  86403
____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86403   4       long    Param       local parameter, short pointer to struct x509_purpose_st
                                                                    Ref: 86403


FUNCTION ossl_check_const_X509_PURPOSE_sk_type defined at line  86403
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86403   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_PURPOSE
                                                                    Ref: 86403


FUNCTION ossl_check_X509_PURPOSE_sk_type defined at line  86403
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86403   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509_PURPOSE
                                                                    Ref: 86403


FUNCTION ossl_check_X509_PURPOSE_compfunc_type defined at line  86403
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86403   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86403


FUNCTION ossl_check_X509_PURPOSE_copyfunc_type defined at line  86403
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86403   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86403


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2346
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_X509_PURPOSE_freefunc_type defined at line  86403
_____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86403   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86403


FUNCTION ossl_check_X509_POLICY_NODE_type defined at line  86747
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86747   4       long    Param       local parameter, short pointer to struct X509_POLICY_NODE_st
                                                                    Ref: 86747


FUNCTION ossl_check_const_X509_POLICY_NODE_sk_type defined at line  86747
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86747   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_X509_POLICY_NODE
                                                                    Ref: 86747


FUNCTION ossl_check_X509_POLICY_NODE_sk_type defined at line  86747
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86747   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_X509_POLICY_NODE
                                                                    Ref: 86747


FUNCTION ossl_check_X509_POLICY_NODE_compfunc_type defined at line  86747
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86747   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86747


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2347
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ossl_check_X509_POLICY_NODE_copyfunc_type defined at line  86747
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86747   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86747


FUNCTION ossl_check_X509_POLICY_NODE_freefunc_type defined at line  86747
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86747   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86747


FUNCTION ossl_check_ASIdOrRange_type defined at line  86792
___________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86792   4       long    Param       local parameter, short pointer to struct ASIdOrRange_st
                                                                    Ref: 86792


FUNCTION ossl_check_const_ASIdOrRange_sk_type defined at line  86792
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86792   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASIdOrRange
                                                                    Ref: 86792


FUNCTION ossl_check_ASIdOrRange_sk_type defined at line  86792
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86792   4       long    Param       local parameter, short pointer to struct stack_st_ASIdOrRange
                                                                    Ref: 86792



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2348
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION ossl_check_ASIdOrRange_compfunc_type defined at line  86792
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86792   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86792


FUNCTION ossl_check_ASIdOrRange_copyfunc_type defined at line  86792
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86792   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86792


FUNCTION ossl_check_ASIdOrRange_freefunc_type defined at line  86792
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86792   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86792


FUNCTION ossl_check_IPAddressOrRange_type defined at line  86857
________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86857   4       long    Param       local parameter, short pointer to struct IPAddressOrRange_st
                                                                    Ref: 86857


FUNCTION ossl_check_const_IPAddressOrRange_sk_type defined at line  86857
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86857   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_IPAddressOrRange
                                                                    Ref: 86857


FUNCTION ossl_check_IPAddressOrRange_sk_type defined at line  86857

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2349
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86857   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_IPAddressOrRange
                                                                    Ref: 86857


FUNCTION ossl_check_IPAddressOrRange_compfunc_type defined at line  86857
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86857   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86857


FUNCTION ossl_check_IPAddressOrRange_copyfunc_type defined at line  86857
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86857   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86857


FUNCTION ossl_check_IPAddressOrRange_freefunc_type defined at line  86857
_________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86857   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86857


FUNCTION ossl_check_IPAddressFamily_type defined at line  86903
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             86903   4       long    Param       local parameter, short pointer to struct IPAddressFamily_st
                                                                    Ref: 86903


FUNCTION ossl_check_const_IPAddressFamily_sk_type defined at line  86903
________________________________________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2350
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86903   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_IPAddressFamily
                                                                    Ref: 86903


FUNCTION ossl_check_IPAddressFamily_sk_type defined at line  86903
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              86903   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_IPAddressFamily
                                                                    Ref: 86903


FUNCTION ossl_check_IPAddressFamily_compfunc_type defined at line  86903
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             86903   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86903


FUNCTION ossl_check_IPAddressFamily_copyfunc_type defined at line  86903
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             86903   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86903


FUNCTION ossl_check_IPAddressFamily_freefunc_type defined at line  86903
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              86903   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 86903


FUNCTION ossl_check_ASN1_STRING_type defined at line  87004
___________________________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2351
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             87004   4       long    Param       local parameter, short pointer to struct asn1_string_st
                                                                    Ref: 87004


FUNCTION ossl_check_const_ASN1_STRING_sk_type defined at line  87004
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              87004   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ASN1_STRING
                                                                    Ref: 87004


FUNCTION ossl_check_ASN1_STRING_sk_type defined at line  87004
______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              87004   4       long    Param       local parameter, short pointer to struct stack_st_ASN1_STRING
                                                                    Ref: 87004


FUNCTION ossl_check_ASN1_STRING_compfunc_type defined at line  87004
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             87004   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87004


FUNCTION ossl_check_ASN1_STRING_copyfunc_type defined at line  87004
____________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             87004   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87004


FUNCTION ossl_check_ASN1_STRING_freefunc_type defined at line  87004
____________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2352
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              87004   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87004


FUNCTION ossl_check_PROFESSION_INFO_type defined at line  87043
_______________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             87043   4       long    Param       local parameter, short pointer to struct ProfessionInfo_st
                                                                    Ref: 87043


FUNCTION ossl_check_const_PROFESSION_INFO_sk_type defined at line  87043
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              87043   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_PROFESSION_INFO
                                                                    Ref: 87043


FUNCTION ossl_check_PROFESSION_INFO_sk_type defined at line  87043
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              87043   4       long    Param       local parameter, short pointer to struct 
                                                                    stack_st_PROFESSION_INFO
                                                                    Ref: 87043


FUNCTION ossl_check_PROFESSION_INFO_compfunc_type defined at line  87043
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             87043   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87043


FUNCTION ossl_check_PROFESSION_INFO_copyfunc_type defined at line  87043
________________________________________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2353
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             87043   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87043


FUNCTION ossl_check_PROFESSION_INFO_freefunc_type defined at line  87043
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              87043   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87043


FUNCTION ossl_check_ADMISSIONS_type defined at line  87069
__________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             87069   4       long    Param       local parameter, short pointer to struct Admissions_st
                                                                    Ref: 87069


FUNCTION ossl_check_const_ADMISSIONS_sk_type defined at line  87069
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              87069   4       long    Param       local parameter, short pointer to const struct 
                                                                    stack_st_ADMISSIONS
                                                                    Ref: 87069


FUNCTION ossl_check_ADMISSIONS_sk_type defined at line  87069
_____________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sk                              87069   4       long    Param       local parameter, short pointer to struct stack_st_ADMISSIONS
                                                                    Ref: 87069


FUNCTION ossl_check_ADMISSIONS_compfunc_type defined at line  87069
___________________________________________________________________



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2354
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             87069   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87069


FUNCTION ossl_check_ADMISSIONS_copyfunc_type defined at line  87069
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cpy                             87069   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87069


FUNCTION ossl_check_ADMISSIONS_freefunc_type defined at line  87069
___________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fr                              87069   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87069


FUNCTION ERR_GET_LIB defined at line  87584
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

errcode                         87584   4       long    Param       local parameter, unsigned long 
                                                                    Ref: 87586, 87588


FUNCTION ERR_GET_RFLAGS defined at line  87591
______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

errcode                         87591   4       long    Param       local parameter, unsigned long 
                                                                    Ref: 87593, 87595


FUNCTION ERR_GET_REASON defined at line  87598
______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2355
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


errcode                         87598   4       long    Param       local parameter, unsigned long 
                                                                    Ref: 87600, 87601, 87602


FUNCTION ERR_FATAL_ERROR defined at line  87605
_______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

errcode                         87605   4       long    Param       local parameter, unsigned long 
                                                                    Ref: 87607


FUNCTION ERR_COMMON_ERROR defined at line  87610
________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

errcode                         87610   4       long    Param       local parameter, unsigned long 
                                                                    Ref: 87612


FUNCTION ossl_check_ERR_STRING_DATA_lh_plain_type defined at line  87717
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             87717   4       long    Param       local parameter, short pointer to struct ERR_string_data_st
                                                                    Ref: 87717


FUNCTION ossl_check_const_ERR_STRING_DATA_lh_plain_type defined at line  87717
______________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ptr                             87717   4       long    Param       local parameter, short pointer to const struct 
                                                                    ERR_string_data_st
                                                                    Ref: 87717


FUNCTION ossl_check_const_ERR_STRING_DATA_lh_type defined at line  87717
________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2356
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

lh                              87717   4       long    Param       local parameter, short pointer to const struct 
                                                                    lhash_st_ERR_STRING_DATA
                                                                    Ref: 87717


FUNCTION ossl_check_ERR_STRING_DATA_lh_type defined at line  87717
__________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lh                              87717   4       long    Param       local parameter, short pointer to struct 
                                                                    lhash_st_ERR_STRING_DATA
                                                                    Ref: 87717


FUNCTION ossl_check_ERR_STRING_DATA_lh_compfunc_type defined at line  87717
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmp                             87717   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87717


FUNCTION ossl_check_ERR_STRING_DATA_lh_hashfunc_type defined at line  87717
___________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

hfn                             87717   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87717


FUNCTION ossl_check_ERR_STRING_DATA_lh_doallfunc_type defined at line  87717
____________________________________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

dfn                             87717   4       long    Param       local parameter, short pointer to function 
                                                                    Ref: 87717


FUNCTION strval defined at line  89760
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2357
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

s1                              89760   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 89765, 89765=, 89767*, 89767
s2                              89760   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 89766, 89766=, 89767*, 89767


FUNCTION strgetc defined at line  89777
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               89778   4       long    Auto        signed int 
                                                                    Ref: 89783=, 89784


FUNCTION strputc defined at line  89789
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               89789   1       byte    Param       local parameter, char 
                                                                    Ref: 89797


FUNCTION xprintc defined at line  89804
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               89804   1       byte    Param       local parameter, char 
                                                                    Ref: 89809


FUNCTION bytswap defined at line  89815
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c0                              89815   4       long    Param       local parameter, short pointer to signed int 
                                                                    Ref: 89821*, 89822=*
c1                              89815   4       long    Param       local parameter, short pointer to signed int 
                                                                    Ref: 89822*, 89823=*
t                               89820   4       long    Auto        signed int 
                                                                    Ref: 89821=, 89823


FUNCTION ftplogend defined at line  89833
_________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2358
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             89837   32      byte    Auto        array of char 
                                                                    Ref: 89848, 89849, 89856
d1                              89836   4       long    Auto        signed long 
                                                                    Ref: 89847=, 89860
d2                              89836   4       long    Auto        signed long 
                                                                    Ref: 89849=, 89860
p                               89837   4       long    Auto        short pointer to char 
                                                                    Ref: 89850=, 89851=[], 89852=[], 89853, 89853, 89853, 89854
                                                                    =[], 89855=[], 89856=, 89857=[], 89858=[], 89859, 89859, 
                                                                    89859, 89863=, 89865
t1                              89836   4       long    Auto        signed long 
                                                                    Ref: 89853=, 89860
t2                              89836   4       long    Auto        signed long 
                                                                    Ref: 89859=, 89860=, 89860, 89861, 89862, 89863
x                               89870   4       long    Auto        signed int 
                                                                    Ref: 89871=, 89872, 89873, 89874=, 89875, 89876=, 89877


FUNCTION dologftp defined at line  89883
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION doftparg defined at line  89906
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               89906   1       byte    Param       local parameter, char 
                                                                    Ref: 89918, 89919, 89928, 90020, 90041, 90064, 90070, 90341=
havefiles                       90029   4       long    Auto        signed int 
                                                                    Ref: 90037=, 90042=, 90048=, 90055=, 90058=, 90063
p                               90196   4       long    Auto        short pointer to char 
                                                                    Ref: 90196=, 90197&, 90198, 90200=[], 90201, 90203, 90206, 
                                                                    90210&[], 90330
q                               90196   4       long    Auto        short pointer to char 
                                                                    Ref: 90196=, 90210=, 90211*, 90214, 90294, 90314, 90322, 
                                                                    90323, 90324
rc                              90029   4       long    Auto        signed int 
                                                                    Ref: 90053=, 90053, 90054
x                               89911   4       long    Auto        signed int 
                                                                    Ref: 90201=, 90202
xp                              89912   4       long    Auto        short pointer to char 
                                                                    Ref: 89917=, 89920, 90033, 90142=, 90340, 90341=*
z                               89911   4       long    Auto        signed int 
                                                                    Ref: 90201&, 90207, 90216, 90264=, 90264, 90264, 90265, 90266

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2359
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    , 90264=, 90279=, 90279, 90279, 90280, 90281, 90279=


FUNCTION ftpisconnected defined at line  90348
______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION ftpisloggedin defined at line  90353
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION ftpissecure defined at line  90358
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION ftscreen defined at line  90364
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               90364   1       byte    Param       local parameter, char 
                                                                    Ref: 90374
n                               90364   4       long    Param       local parameter, signed int 
                                                                    Ref: 90374
s                               90364   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 90374
z                               90364   8       quad    Param       local parameter, signed int64 
                                                                    Ref: 90374


FUNCTION gmstimer defined at line  90382
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2360
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

No Declarations


FUNCTION dosetftp defined at line  90401
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

atypes                          90565   32      long    Auto        array of signed int 
                                                                    Ref: 90580[], 90585=[], 90592=[], 90595[], 90613[]
cx                              90402   4       long    Auto        signed int 
                                                                    Ref: 90403=, 90404, 90405
i                               90565   4       long    Auto        signed int 
                                                                    Ref: 90567=, 90567, 90569, 90575, 90579, 90585, 90587=, 90567
                                                                    =, 90591, 90592, 90596=, 90607=, 90608=, 90610, 90612=, 90612
                                                                    , 90613, 90613, 90612=
j                               90565   4       long    Auto        signed int 
                                                                    Ref: 90579=, 90579, 90580, 90579=
k                               90504   4       long    Auto        signed long 
                                                                    Ref: 90509&
p                               90503   4       long    Auto        short pointer to char 
                                                                    Ref: 90503=, 90513&, 90515, 90516&, 90519
s                               90503   4       long    Auto        short pointer to char 
                                                                    Ref: 90505&, 90507, 90508=, 90509, 90513
s                               90523   4       long    Auto        short pointer to char 
                                                                    Ref: 90524&, 90526*, 90526


FUNCTION ftpbye defined at line  90659
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

x                               90660   4       long    Auto        signed int 
                                                                    Ref: 90665=, 90666


FUNCTION openftp defined at line  90673
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               90678   1       byte    Auto        char 
                                                                    Ref: 90753=, 90754, 90754
cm                              90681   36      long    Auto        struct FDB
                                                                    Ref: 90726&, 90728&, 90836&
fl                              90681   36      long    Auto        struct FDB
                                                                    Ref: 90715&, 90717&
found                           90876   4       long    Auto        signed int 
                                                                    Ref: 90876=, 90881=, 90892
getval                          90679   4       long    Auto        signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2361
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 90679=, 90754=, 90756, 90760
havehost                        90679   4       long    Auto        signed int 
                                                                    Ref: 90679=, 90858=, 90860=, 90866
haveuser                        90680   4       long    Auto        signed int 
                                                                    Ref: 90680=, 90799=, 90852, 90854
hostname                        90678   4       long    Auto        short pointer to char 
                                                                    Ref: 90678=, 90690&, 90691, 90696, 90856*, 90857=, 90859*, 
                                                                    90859*, 90867, 90868, 90871, 90872, 90882&, 90883, 90885, 
                                                                    90886, 90894, 90895, 90903, 90904, 90905, 90906
hostsave                        90678   4       long    Auto        short pointer to char 
                                                                    Ref: 90678=, 90691=, 90914, 90914
i                               90679   4       long    Auto        signed int 
                                                                    Ref: 90877=, 90877, 90878, 90879, 90879, 90882, 90883, 90877=
n                               90679   4       long    Auto        signed int 
                                                                    Ref: 90740=, 90826, 90740=
nologin                         90679   4       long    Auto        signed int 
                                                                    Ref: 90679=, 90767=, 90773=, 90787=, 90797=, 90852
opn_psv                         90679   4       long    Auto        signed int 
                                                                    Ref: 90679=, 90814=, 90817=, 90848, 90850
opn_tls                         90673   4       long    Param       local parameter, signed int 
                                                                    Ref: 90751, 90820=, 90863, 90872, 90886, 90895, 90904
p                               90678   4       long    Auto        short pointer to char 
                                                                    Ref: 90780&, 90786, 90791&, 90800, 90804&, 90810
rc                              90679   4       long    Auto        signed int 
                                                                    Ref: 90679=, 90741=, 90742, 90755=, 90780=, 90781, 90783, 
                                                                    90791=, 90792, 90794, 90804=, 90805, 90807, 90874=, 90888=, 
                                                                    90897=, 90907=, 90913, 90916, 90924
s                               90673   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 90687, 90688*, 90690
service                         90678   4       long    Auto        short pointer to char 
                                                                    Ref: 90678=, 90749&, 90751&, 90862, 90863&, 90871, 90872, 
                                                                    90885, 90886, 90894, 90895, 90903, 90904, 90915, 90915
sw                              90681   36      long    Auto        struct FDB
                                                                    Ref: 90706&, 90741&, 90827&
xopenftp                        90912                               Label 
                                                                    Ref: 90743, 90758, 90762, 90784, 90795, 90808


FUNCTION doftpglobaltype defined at line  90929
_______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

x                               90929   4       long    Param       local parameter, signed int 
                                                                    Ref: 90935, 90936


FUNCTION doftpacct defined at line  90942
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

s                               90944   4       long    Auto        short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2362
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 90945&, 90948
x                               90943   4       long    Auto        signed int 
                                                                    Ref: 90945=, 90946


FUNCTION doftpusr defined at line  90956
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

acct                            90961   4       long    Auto        short pointer to char 
                                                                    Ref: 90961=, 90990=, 90991, 90996
s                               90961   4       long    Auto        short pointer to char 
                                                                    Ref: 90965&, 90967, 90968&, 90981, 90984&, 90987*, 90991
x                               90960   4       long    Auto        signed int 
                                                                    Ref: 90965=, 90966, 90968=, 90969, 90978, 90983=, 90985, 
                                                                    90988=, 90989, 90990, 90991


FUNCTION doftptyp defined at line  91007
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

type                            91007   4       long    Param       local parameter, signed int 
                                                                    Ref: 91013, 91015


FUNCTION doftpxmkd defined at line  91021
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lcs                             91026   4       long    Auto        signed int 
                                                                    Ref: 91026=, 91029=, 91030, 91030=, 91036, 91041
rcs                             91026   4       long    Auto        signed int 
                                                                    Ref: 91026=, 91031=, 91032, 91032=, 91036, 91041
s                               91021   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91035, 91036, 91041
vbm                             91021   4       long    Param       local parameter, signed int 
                                                                    Ref: 91036, 91041


FUNCTION doftpmkd defined at line  91049
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

s                               91055   4       long    Auto        short pointer to char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2363
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 91056&, 91059
x                               91054   4       long    Auto        signed int 
                                                                    Ref: 91056=, 91057


FUNCTION doftprmd defined at line  91066
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lcs                             91067   4       long    Auto        signed int 
                                                                    Ref: 91067=, 91077=, 91078, 91078=, 91083, 91088
rcs                             91067   4       long    Auto        signed int 
                                                                    Ref: 91067=, 91079=, 91080, 91080=, 91083, 91088
s                               91068   4       long    Auto        short pointer to char 
                                                                    Ref: 91069&, 91072
x                               91067   4       long    Auto        signed int 
                                                                    Ref: 91069=, 91070


FUNCTION doftpren defined at line  91095
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

s                               91097   4       long    Auto        short pointer to char 
                                                                    Ref: 91098&, 91100, 91101&, 91103
x                               91096   4       long    Auto        signed int 
                                                                    Ref: 91098=, 91099, 91101=, 91102, 91104=, 91105


FUNCTION doftpres defined at line  91114
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

x                               91115   4       long    Auto        signed int 
                                                                    Ref: 91116=, 91117


FUNCTION doftpxhlp defined at line  91125
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

s                               91127   4       long    Auto        short pointer to char 
                                                                    Ref: 91128&, 91131
x                               91126   4       long    Auto        signed int 
                                                                    Ref: 91128=, 91129

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2364
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION doftpdir defined at line  91140
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cx                              91140   4       long    Param       local parameter, signed int 
                                                                    Ref: 91147, 91194, 91196
lcs                             91145   4       long    Auto        signed int 
                                                                    Ref: 91145=, 91175=, 91176, 91176=, 91177, 91200, 91208
m                               91146   4       long    Auto        short pointer to char 
                                                                    Ref: 91146=, 91153=, 91156=, 91159
p                               91146   4       long    Auto        short pointer to char 
                                                                    Ref: 91187=, 91188, 91188=, 91189*, 91203=, 91207, 91208, 
                                                                    91212=
rcs                             91145   4       long    Auto        signed int 
                                                                    Ref: 91145=, 91180=, 91181, 91181=, 91182, 91200, 91208
s                               91146   4       long    Auto        short pointer to char 
                                                                    Ref: 91159&, 91161&, 91169, 91170=, 91187, 91194, 91200, 
                                                                    91203, 91213
x                               91145   4       long    Auto        signed int 
                                                                    Ref: 91159=, 91160, 91161=, 91162
xlate                           91145   4       long    Auto        signed int 
                                                                    Ref: 91145=, 91166=, 91174, 91177=, 91179, 91182=, 91200


FUNCTION doftppwd defined at line  91219
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lcs                             91220   4       long    Auto        signed int 
                                                                    Ref: 91220=, 91223=, 91224, 91224=, 91232, 91237
rcs                             91220   4       long    Auto        signed int 
                                                                    Ref: 91220=, 91225=, 91226, 91226=, 91232, 91237
x                               91220   4       long    Auto        signed int 
                                                                    Ref: 91229=, 91230


FUNCTION doftpcwd defined at line  91244
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lcs                             91249   4       long    Auto        signed int 
                                                                    Ref: 91249=, 91252=, 91253, 91253=, 91260, 91265
rcs                             91249   4       long    Auto        signed int 
                                                                    Ref: 91249=, 91254=, 91255, 91255=, 91260, 91265
s                               91244   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91259, 91260, 91265

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2365
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

vbm                             91244   4       long    Param       local parameter, signed int 
                                                                    Ref: 91260, 91265


FUNCTION doftpcdup defined at line  91272
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION syncdir defined at line  91303
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             91308   4096    byte    Auto        array of char 
                                                                    Ref: 91311, 91311, 91331, 91332, 91358, 91361, 91362, 91364, 
                                                                    91370
c                               91311   1       byte    Auto        char 
                                                                    Ref: 91391=, 91392
done                            91312   4       long    Auto        signed int 
                                                                    Ref: 91312=, 91427=, 91474
i                               91312   4       long    Auto        signed int 
                                                                    Ref: 91397=, 91397, 91398, 91397=
itsadir                         91312   4       long    Auto        signed int 
                                                                    Ref: 91312=, 91317=, 91328, 91333
k                               91312   4       long    Auto        signed int 
                                                                    Ref: 91312=, 91321=, 91390=, 91393=, 91395, 91397
local                           91303   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91311, 91314, 91317, 91334, 91338, 91341, 91346, 91350, 
                                                                    91353, 91435, 91439
msgbuf                          91310   4159    byte    Auto        array of char 
                                                                    Ref: 91340, 91342, 91352, 91354, 91437, 91440, 91459, 91461
p                               91311   4       long    Auto        short pointer to char 
                                                                    Ref: 91311=, 91320*, 91326=, 91364=, 91368, 91372*, 91372*, 
                                                                    91373*, 91373, 91374=, 91382=, 91385, 91398, 91411*, 91421, 
                                                                    91423, 91430*, 91431, 91432, 91444, 91445, 91455, 91457, 
                                                                    91460, 91463, 91464, 91468, 91469, 91476=
psep                            91311   4       long    Auto        short pointer to char 
                                                                    Ref: 91370=, 91373=, 91382
q                               91311   4       long    Auto        short pointer to char 
                                                                    Ref: 91311=, 91324=, 91329=*
s                               91311   4       long    Auto        short pointer to char 
                                                                    Ref: 91311=, 91320=*, 91323*, 91324, 91325=, 91365=, 91367, 
                                                                    91372*, 91372*, 91373, 91374=, 91381=, 91384, 91389*, 91391=*
                                                                    , 91392*, 91423=, 91425*, 91425*, 91426*, 91429=*, 91476, 
                                                                    91478=
saveq                           91312   4       long    Auto        signed int 
                                                                    Ref: 91318=, 91405, 91452, 91465, 91483
sim                             91303   4       long    Param       local parameter, signed int 
                                                                    Ref: 91336, 91401, 91433

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2366
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

ssep                            91311   4       long    Auto        short pointer to char 
                                                                    Ref: 91371=, 91373=, 91381
tmp                             91309   4096    byte    Auto        array of char 
                                                                    Ref: 91361, 91482
xcwd                            91481                               Label 
                                                                    Ref: 91412


FUNCTION dbtime defined at line  91491
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

s                               91491   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91497, 91498, 91499, 91500, 91501, 91502
xx                              91491   4       long    Param       local parameter, short pointer to struct tm
                                                                    Ref: 91497->, 91498->, 91499->, 91500->, 91501->, 91502->


FUNCTION tmcompare defined at line  91514
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

xx                              91514   4       long    Param       local parameter, short pointer to struct tm
                                                                    Ref: 91519->, 91521->, 91526->, 91528->, 91531->, 91533->, 
                                                                    91536->, 91538->, 91541->, 91543->, 91546->, 91548->
yy                              91514   4       long    Param       local parameter, short pointer to struct tm
                                                                    Ref: 91519->, 91521->, 91526->, 91528->, 91531->, 91533->, 
                                                                    91536->, 91538->, 91541->, 91543->, 91546->, 91548->


FUNCTION mkutime defined at line  91569
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

i                               91586   4       long    Auto        signed int 
                                                                    Ref: 91603=, 91603, 91604, 91604, 91604, 91603=, 91605=, 
                                                                    91605, 91606, 91605=
result                          91585   4       long    Auto        unsigned long 
                                                                    Ref: 91585=, 91604=, 91606=, 91608=, 91609=, 91609, 91610=, 
                                                                    91610, 91611=, 91611, 91612, 91613
tm                              91569   4       long    Param       local parameter, short pointer to struct tm
                                                                    Ref: 91595->, 91596->, 91599->, 91599->, 91599->, 91603->, 
                                                                    91605->, 91607->, 91607->, 91607->, 91607->, 91609->, 91609->
                                                                    , 91610->, 91611->


FUNCTION setmodtime defined at line  91632
__________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2367
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

f                               91632   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91671, 91672, 91688, 91715
rc                              91642   4       long    Auto        signed int 
                                                                    Ref: 91642=, 91720=, 91722, 91723
sb                              91640   112     quad    Auto        struct stat
                                                                    Ref: 91671&, 91687.
t                               91632   4       long    Param       local parameter, unsigned long 
                                                                    Ref: 91686, 91688
tp                              91659   8       long    Auto        struct utimbuf
                                                                    Ref: 91686=., 91687=., 91715&
x                               91642   4       long    Auto        signed int 
                                                                    Ref: 91715=, 91716, 91719


FUNCTION chkmodtime defined at line  91742
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               91788   1       byte    Auto        char 
                                                                    Ref: 91791=, 91792
fc                              91742   4       long    Param       local parameter, signed int 
                                                                    Ref: 91770, 91857
flag                            91754   4       long    Auto        signed int 
                                                                    Ref: 91754=, 91786=, 91793=, 91798, 91799, 91817
havedate                        91754   4       long    Auto        signed int 
                                                                    Ref: 91754=, 91845, 91846=, 91858
lcs                             91754   4       long    Auto        signed int 
                                                                    Ref: 91754=, 91763=, 91764, 91764=, 91787
local                           91742   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91757, 91771, 91777, 91888
p                               91801   4       long    Auto        short pointer to char 
                                                                    Ref: 91804=, 91805
pat                             91818   4       long    Auto        short pointer to char 
                                                                    Ref: 91821=, 91825=, 91828
rc                              91754   4       long    Auto        signed int 
                                                                    Ref: 91754=, 91771=, 91772
rcs                             91754   4       long    Auto        signed int 
                                                                    Ref: 91754=, 91765=, 91766, 91766=, 91787
remote                          91742   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91787, 91842, 91886
s                               91755   4       long    Auto        short pointer to char 
                                                                    Ref: 91785=, 91790=, 91791=*, 91799, 91803, 91813=, 91814, 
                                                                    91820, 91823, 91827
statbuf                         91750   112     quad    Auto        struct stat
                                                                    Ref: 91771&, 91774.
timebuf                         91755   64      byte    Auto        array of char 
                                                                    Ref: 91803, 91804, 91805, 91806=[], 91806[], 91807=[], 91807
                                                                    [], 91808=[], 91808[], 91809=[], 91809[], 91810=[], 91810[], 
                                                                    91811=[], 91811[], 91812=[], 91813

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2368
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

tmlocal                         91752   4       long    Auto        short pointer to struct tm
                                                                    Ref: 91752=, 91774=, 91776, 91777, 91873
tmremote                        91753   44      long    Auto        struct tm
                                                                    Ref: 91789&, 91829., 91830., 91831., 91832., 91833., 91834., 
                                                                    91836=., 91837., 91838=., 91842&, 91873&, 91885&
utc                             91884   4       long    Auto        unsigned long 
                                                                    Ref: 91885=, 91886, 91887, 91888
xx                              91864   4       long    Auto        signed int 
                                                                    Ref: 91873=, 91874, 91875
y2kbug                          91819   4       long    Auto        signed int 
                                                                    Ref: 91819=, 91822=, 91836


FUNCTION getfile defined at line  91897
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

append                          91897   4       long    Param       local parameter, signed int 
                                                                    Ref: 91983
fcs                             91898   4       long    Param       local parameter, signed int 
                                                                    Ref: 91941, 91942=, 91943, 91945, 91947, 91988
fullname                        91912   4096    byte    Auto        array of char 
                                                                    Ref: 91958=[], 91960, 91962, 91963[], 91964, 91968, 91972, 
                                                                    92035
local                           91897   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91915, 91952, 91952=, 91953*, 91954=, 91956, 91962, 
                                                                    91964, 91974, 91976, 91981, 92043, 92044, 92045, 92065
pipename                        91898   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91916, 91953, 91959, 91960, 91976, 91986, 92040
rc                              91904   4       long    Auto        signed int 
                                                                    Ref: 91904=, 91980=, 92004=, 92007, 92011, 92014, 92032, 
                                                                    92038, 92041, 92041, 92051, 92053, 92065, 92068
rcs                             91898   4       long    Param       local parameter, signed int 
                                                                    Ref: 91939, 91943, 91945, 91946, 91989
recover                         91897   4       long    Param       local parameter, signed int 
                                                                    Ref: 91985
remote                          91897   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 91914, 91917, 91917=, 91954, 91967, 91971, 91973, 91976
                                                                    , 91979, 91982, 91992, 91993, 92007, 92034, 92044
sec                             91908   8       quad    Auto        double 
                                                                    Ref: 91995=, 91996
t0                              91905   4       long    Auto        unsigned long 
                                                                    Ref: 91978=, 91979, 91993, 91995
t1                              91905   4       long    Auto        unsigned long 
                                                                    Ref: 91991=, 91992, 91993, 91995
xlate                           91898   4       long    Param       local parameter, signed int 
                                                                    Ref: 91949=, 91987


FUNCTION putfile defined at line  92076
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2369
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

_______________                 ____    ____    _______ ___________ ___________________

asname                          92098   4096    byte    Auto        array of char 
                                                                    Ref: 92205=[], 92217, 92221, 92223, 92224, 92235, 92240, 
                                                                    92241, 92266, 92292, 92325, 92416, 92418, 92455, 92456
cmd                             92102   4       long    Auto        short pointer to char 
                                                                    Ref: 92102=, 92125=, 92292
cx                              92076   4       long    Param       local parameter, signed int 
                                                                    Ref: 92125
fcs                             92088   4       long    Param       local parameter, signed int 
                                                                    Ref: 92113, 92116, 92165, 92167=, 92171=, 92174=, 92177=, 
                                                                    92180=, 92183=, 92194, 92196, 92200, 92270, 92270, 92271, 
                                                                    92275=, 92292
flg                             92090   4       long    Param       local parameter, signed int 
                                                                    Ref: 92111, 92120, 92151, 92208, 92239, 92242, 92257, 92283, 
                                                                    92284, 92362
force                           92079   4       long    Param       local parameter, signed int 
                                                                    -No References 
fullname                        92099   4096    byte    Auto        array of char 
                                                                    Ref: 92228=[], 92229, 92230[], 92230, 92231=[], 92240, 92243
                                                                    , 92245, 92249, 92250, 92255, 92258, 92261, 92312, 92322, 
                                                                    92447, 92449
k                               92100   4       long    Auto        signed int 
                                                                    Ref: 92100=, 92142=, 92145=, 92147, 92148, 92149, 92166, 
                                                                    92169
local                           92077   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 92111, 92141, 92144, 92145, 92147, 92152, 92208, 92210, 
                                                                    92223, 92229, 92230, 92234, 92292, 92305, 92311, 92314, 92319
                                                                    , 92355, 92390, 92391, 92399, 92423
moving                          92080   4       long    Param       local parameter, signed int 
                                                                    Ref: 92389
mt                              92101   4       long    Auto        signed int 
                                                                    Ref: 92101=, 92240=, 92241, 92242, 92248, 92285
mvto                            92081   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 92398, 92399, 92400
nc                              92100   4       long    Auto        signed int 
                                                                    Ref: 92100=, 92129=, 92132=, 92134=, 92137=, 92223
o                               92100   4       long    Auto        signed int 
                                                                    Ref: 92100=, 92145&, 92184, 92185
ofcs                            92104   4       long    Auto        signed int 
                                                                    Ref: 92104=, 92116=, 92275
orcs                            92104   4       long    Auto        signed int 
                                                                    Ref: 92104=, 92117=, 92276
prm                             92087   4       long    Param       local parameter, signed int 
                                                                    -No References 
rc                              92100   4       long    Auto        signed int 
                                                                    Ref: 92100=, 92285=, 92289=, 92292=, 92305, 92310, 92311, 
                                                                    92312, 92313, 92319, 92333, 92334, 92345, 92347, 92355, 92359
rcs                             92089   4       long    Param       local parameter, signed int 
                                                                    Ref: 92114, 92117, 92163, 92188=, 92194, 92196, 92197, 92197
                                                                    , 92199, 92272, 92276=, 92292
remote                          92078   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 92121, 92122=, 92213*, 92218, 92221
restart                         92101   4       long    Auto        signed int 
                                                                    Ref: 92101=, 92120=, 92292
rnto                            92082   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 92409, 92410, 92417

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2370
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

s                               92102   4       long    Auto        short pointer to char 
                                                                    Ref: 92102=, 92217=, 92218&
s                               92410   4       long    Auto        short pointer to char 
                                                                    Ref: 92410=, 92416=, 92417&, 92418=, 92421, 92421*, 92423, 
                                                                    92424
s                               92439   4       long    Auto        short pointer to char 
                                                                    Ref: 92439=, 92443, 92447=, 92448&, 92449=, 92452, 92453, 
                                                                    92453*, 92455, 92457
sec                             92107   8       quad    Auto        double 
                                                                    Ref: 92107=, 92298=, 92299
srvrn                           92083   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 92112, 92438, 92439, 92448
t0                              92103   4       long    Auto        unsigned long 
                                                                    Ref: 92103=, 92282=, 92298
t1                              92103   4       long    Auto        unsigned long 
                                                                    Ref: 92103=, 92294=, 92298
x                               92100   4       long    Auto        signed int 
                                                                    Ref: 92100=, 92390=, 92391, 92396, 92399=, 92400, 92405
x                               92422   4       long    Auto        signed int 
                                                                    Ref: 92423=, 92424, 92430
x                               92454   4       long    Auto        signed int 
                                                                    Ref: 92455=, 92456, 92457, 92463
x_cnv                           92084   4       long    Param       local parameter, signed int 
                                                                    Ref: 92127, 92137
x_usn                           92085   4       long    Param       local parameter, signed int 
                                                                    Ref: 92125
xft                             92086   4       long    Param       local parameter, signed int 
                                                                    Ref: 92150, 92150
xlate                           92101   4       long    Auto        signed int 
                                                                    Ref: 92101=, 92198=, 92269, 92292
y                               92100   4       long    Auto        signed int 
                                                                    Ref: 92100=, 92216=, 92218&
y                               92412   4       long    Auto        signed int 
                                                                    Ref: 92415=, 92417&
y                               92441   4       long    Auto        signed int 
                                                                    Ref: 92446=, 92448&


FUNCTION xxout defined at line  92473
_____________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               92473   1       byte    Param       local parameter, char 
                                                                    Ref: 92506, 92506


FUNCTION scrnout defined at line  92514
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               92514   1       byte    Param       local parameter, char 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2371
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 92519


FUNCTION pipeout defined at line  92524
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               92524   1       byte    Param       local parameter, char 
                                                                    Ref: 92529


FUNCTION ispathsep defined at line  92534
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               92534   4       long    Param       local parameter, signed int 
                                                                    Ref: 92543, 92543, 92543, 92547, 92547, 92547, 92549, 92551


FUNCTION iscanceled defined at line  92556
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               92561   1       byte    Auto        char 
                                                                    Ref: 92561=, 92566=, 92567, 92584=
rc                              92560   4       long    Auto        signed int 
                                                                    Ref: 92560=, 92573=, 92585
x                               92560   4       long    Auto        signed int 
                                                                    Ref: 92564=, 92565=, 92583=


FUNCTION check_data_connection defined at line  92592
_____________________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

err                             92599   128     long    Auto        struct fd_set
                                                                    Ref: 92606&, 92606&*, 92614&
fc                              92592   4       long    Param       local parameter, signed int 
                                                                    Ref: 92607
fd                              92592   4       long    Param       local parameter, signed int 
                                                                    Ref: 92607, 92607
in                              92599   128     long    Auto        struct fd_set
                                                                    Ref: 92604&, 92604&*, 92607&, 92614&
out                             92599   128     long    Auto        struct fd_set
                                                                    Ref: 92605&, 92605&*, 92607&, 92614&

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2372
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

tv                              92598   8       long    Auto        struct timeval
                                                                    Ref: 92608=., 92609=., 92614&
x                               92597   4       long    Auto        signed int 
                                                                    Ref: 92614=, 92617


FUNCTION zzsend defined at line  92638
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               92638   1       byte    Param       local parameter, unsigned char 
                                                                    Ref: 92665
fd                              92638   4       long    Param       local parameter, signed int 
                                                                    Ref: 92654, 92661, 92662
rc                              92643   4       long    Auto        signed int 
                                                                    Ref: 92660=, 92668, 92672


FUNCTION cmdlinput defined at line  92679
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

done                            92684   4       long    Auto        signed int 
                                                                    Ref: 92684=, 92711, 92749=, 92764=, 92769=, 92773=
good                            92684   4       long    Auto        signed int 
                                                                    Ref: 92684=, 92737=, 92767, 92779
rc                              92684   4       long    Auto        signed int 
                                                                    Ref: 92684=, 92720=, 92736, 92743
sec                             92687   8       quad    Auto        double 
                                                                    Ref: 92790=, 92791, 92791=, 92792, 92797, 92798
status                          92684   4       long    Auto        signed int 
                                                                    Ref: 92684=, 92738=, 92776, 92778=, 92780=, 92782, 92802
stay                            92679   4       long    Param       local parameter, signed int 
                                                                    Ref: 92803
t0                              92685   4       long    Auto        unsigned long 
                                                                    Ref: 92709=, 92790
t1                              92685   4       long    Auto        unsigned long 
                                                                    Ref: 92788=, 92790
x                               92684   4       long    Auto        signed int 
                                                                    Ref: 92714=, 92715, 92716=, 92718, 92783=, 92784


FUNCTION doftpput defined at line  92813
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

again                           92924                               Label 
                                                                    Ref: 93082

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2373
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

ap                              92829   4       long    Auto        short pointer to short pointer to char 
                                                                    Ref: 92829=, 93000=, 93015=, 93724, 93737
arrayx                          92830   4       long    Auto        signed int 
                                                                    Ref: 92830=, 93023=, 93728, 93730, 93732, 93738
c                               92826   1       byte    Auto        char 
                                                                    Ref: 92950=, 92951, 92951
cm                              92818   36      long    Auto        struct FDB
                                                                    Ref: 92910&, 92912&, 93521&, 93523&
confirmed                       92819   4       long    Auto        signed int 
                                                                    Ref: 92819=, 93324=, 93332, 93481, 93535, 93543=, 93616, 
                                                                    93628
cx                              92813   4       long    Param       local parameter, signed int 
                                                                    Ref: 92877, 92885, 92887, 93867=, 93909
done                            92819   4       long    Auto        signed int 
                                                                    Ref: 92819=, 93871=, 93876, 93935=, 93940=, 93949=, 93957=, 
                                                                    93965=, 93977=, 93982=, 93986=
doput                           93711                               Label 
                                                                    Ref: 93635
fl                              92818   36      long    Auto        struct FDB
                                                                    Ref: 92901&, 92938&, 93510&, 93512&
getval                          92819   4       long    Auto        signed int 
                                                                    Ref: 92819=, 92951=, 92952, 92957, 92970, 92983, 92984, 92999
                                                                    , 93101, 93116, 93154, 93164, 93171, 93210, 93227, 93234
good                            92820   4       long    Auto        signed int 
                                                                    Ref: 92820=, 93925=, 93980, 94000
len                             93390   4       long    Auto        signed int 
                                                                    Ref: 93392=, 93396, 93402, 93402=, 93402, 93404=, 93405
lp                              93482   4       long    Auto        short pointer to char 
                                                                    Ref: 93489=, 93497=, 93556, 93557, 93558=*, 93559
m                               93198   4       long    Auto        short pointer to char 
                                                                    Ref: 93198=, 93201=, 93204=, 93207=, 93211
mput                            92819   4       long    Auto        signed int 
                                                                    Ref: 92819=, 92882=, 92888=, 93192=, 93292, 93303, 93483, 
                                                                    93646, 93682, 93696
n                               92819   4       long    Auto        signed int 
                                                                    Ref: 92962=, 92963, 92965, 92978, 92979, 92992, 92993, 92994
                                                                    , 92994, 93019, 93033, 93076, 93097, 93110, 93111, 93112, 
                                                                    93158, 93167, 93185, 93186, 93187, 93190, 93199, 93211, 93213
                                                                    , 93222, 93223, 93223, 93230, 93237, 93246
n                               93901   4       long    Auto        signed int 
                                                                    Ref: 93902=, 93904&
p                               92826   4       long    Auto        short pointer to char 
                                                                    Ref: 93557=, 93569, 93570=, 93572, 93573, 93591&, 93594, 
                                                                    93594*, 93594=, 93595=, 93595, 93597, 93597*, 93598
p                               93391   4       long    Auto        short pointer to char 
                                                                    Ref: 93391=, 93392, 93393, 93398, 93413, 93424
p                               93429   4       long    Auto        short pointer to char 
                                                                    Ref: 93429=, 93430, 93430=, 93431*, 93436=, 93436, 93442, 
                                                                    93443, 93452
p                               93456   4       long    Auto        short pointer to char 
                                                                    Ref: 93456=, 93457, 93457=, 93458*, 93463=, 93463, 93468, 
                                                                    93469, 93478
p                               93609   4       long    Auto        short pointer to char 
                                                                    Ref: 93610=, 93611
p                               93901   4       long    Auto        short pointer to char 
                                                                    Ref: 93903=, 93904&
putflags                        92820   4       long    Auto        signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2374
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 92820=, 92843=, 93781=, 93799=, 93820, 93822, 93839=, 
                                                                    93843, 93844, 93919
pv                              92839   784     quad    Auto        array of struct stringint
                                                                    Ref: 92872=[], 92873=[], 92874=[], 92878=[], 92879=[], 92880
                                                                    =[], 92881=[], 92886=[], 92978=[], 92979[], 92992[], 92993[]
                                                                    , 92994[], 92994=[], 93019=[], 93020=[], 93021=[], 93022=[], 
                                                                    93030=[], 93031=[], 93032=[], 93033=[], 93067=[], 93076=[], 
                                                                    93097=[], 93110[], 93111[], 93112=[], 93120=[], 93158=[], 
                                                                    93167=[], 93185[], 93186[], 93187=[], 93188=[], 93190=[], 
                                                                    93222[], 93223=[], 93223[], 93230=[], 93237=[], 93281[], 
                                                                    93287[], 93297[], 93305[], 93305[], 93320[], 93342[], 93346[]
                                                                    , 93347[], 93351[], 93354[], 93357[], 93382[], 93383[], 93383
                                                                    [], 93389[], 93391[], 93428[], 93429[], 93455[], 93456[], 
                                                                    93598[], 93599[], 93600=[], 93601[], 93608[], 93608[], 93610
                                                                    [], 93615[], 93617[], 93618[], 93619[], 93623[], 93659[], 
                                                                    93659[], 93713[], 93723[], 93750[], 93751[], 93753[], 93754[]
                                                                    , 93755[], 93756[], 93757[], 93758[], 93759[], 93760[], 93761
                                                                    [], 93762[], 93763[], 93764[], 93765[], 93766[], 93767[], 
                                                                    93768[], 93769[], 93770[], 93771[], 93772[], 93775[], 93798[]
                                                                    , 93801[], 93814[], 94025[], 94026[]
range                           92828   8       long    Auto        array of signed int 
                                                                    Ref: 93011&[], 93011&[], 93725[], 93726=[], 93727[], 93728=[]
                                                                    , 93729[], 93730[], 93731[], 93731[], 93732[], 93733[], 93733
                                                                    [], 93739[], 93740[]
rc                              92819   4       long    Auto        signed int 
                                                                    Ref: 93909=, 93921, 93924, 93930
s                               92821   4       long    Auto        short pointer to char 
                                                                    Ref: 92971&, 92979, 92985&, 92992, 93003&, 93011, 93012, 
                                                                    93016, 93102&, 93109, 93109*, 93109=, 93110, 93173&, 93179, 
                                                                    93184, 93184*, 93184=, 93185, 93211&, 93221, 93221*, 93221=, 
                                                                    93222, 93222, 93276=, 93331, 93555=, 93558=*, 93653=, 93664, 
                                                                    93665, 93670, 93671
s                               93395   4       long    Auto        short pointer to char 
                                                                    Ref: 93395=, 93396=, 93397, 93398, 93402[], 93402=[], 93402
                                                                    =[], 93404=[], 93405=[], 93409, 93411
s                               93440   4       long    Auto        short pointer to char 
                                                                    Ref: 93440=, 93442&
s                               93466   4       long    Auto        short pointer to char 
                                                                    Ref: 93466=, 93468&
s                               93697   4       long    Auto        short pointer to char 
                                                                    Ref: 93697=, 93699&
s2                              92821   4       long    Auto        short pointer to char 
                                                                    Ref: 93898=, 93905=, 93906, 93910
sec                             92834   8       quad    Auto        double 
                                                                    Ref: 94010=, 94011, 94011=, 94012, 94017, 94018
sf                              92818   36      long    Auto        struct FDB
                                                                    Ref: 92899&, 92925&, 93501&, 93536&
status                          92820   4       long    Auto        signed int 
                                                                    Ref: 92820=, 93926=, 93933=, 93948=, 93956=, 93964=, 93997, 
                                                                    93999=, 94001=, 94003, 94022
sw                              92818   36      long    Auto        struct FDB
                                                                    Ref: 92890&, 92943&
t0                              92832   4       long    Auto        unsigned long 
                                                                    Ref: 92832=, 93869=, 94010
t1                              92832   4       long    Auto        unsigned long 
                                                                    Ref: 92832=, 94009=, 94010
who                             92813   4       long    Param       local parameter, signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2375
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 92876
wild                            92819   4       long    Auto        signed int 
                                                                    Ref: 92819=, 93277=, 93290=, 93291, 93292, 93439, 93465, 
                                                                    93587, 93625=, 93663, 93696, 93866
x_cnv                           92820   4       long    Auto        signed int 
                                                                    Ref: 92820=, 92844=, 93768=, 93913
x_csl                           92823   4       long    Auto        signed int 
                                                                    Ref: 92852=, 92853, 92854=, 93247=, 93256=, 93830, 93831, 
                                                                    93915
x_csr                           92823   4       long    Auto        signed int 
                                                                    Ref: 92823=, 92851=, 93249=, 93255=, 93832, 93833, 93915
x_prm                           92820   4       long    Auto        signed int 
                                                                    Ref: 92820=, 92846=, 92847, 92848=, 93913
x_recurse                       92825   4       long    Auto        signed int 
                                                                    Ref: 92825=, 92931, 93081=, 93506
x_usn                           92820   4       long    Auto        signed int 
                                                                    Ref: 92820=, 92845=, 93770=, 93776, 93820, 93822, 93823, 
                                                                    93913
x_xla                           92824   4       long    Auto        signed int 
                                                                    Ref: 92824=, 92855=, 93250=, 93254=, 93829, 93915
xputx                           94006                               Label 
                                                                    Ref: 92947, 92955, 92960, 92976, 92990, 93096, 93107, 93119, 
                                                                    93156, 93166, 93178, 93182, 93219, 93229, 93236, 93284, 93300
                                                                    , 93317, 93329, 93386, 93415, 93434, 93448, 93461, 93474, 
                                                                    93540, 93548, 93563, 93592, 93621, 93640, 93667, 93705, 93724
                                                                    , 93735, 93779, 93818, 93826, 93836
y                               93163   8       quad    Auto        signed int64 
                                                                    Ref: 93165&, 93167


FUNCTION cmdlinget defined at line  94046
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

append                          94051   4       long    Auto        signed int 
                                                                    Ref: 94051=, 94167=, 94205, 94219, 94319=, 94357
done                            94051   4       long    Auto        signed int 
                                                                    Ref: 94051=, 94132=, 94140, 94143, 94146=, 94239=, 94243, 
                                                                    94245, 94258=, 94381=
first                           94053   4       long    Auto        signed int 
                                                                    Ref: 94053=, 94247, 94250=, 94253, 94281=
good                            94051   4       long    Auto        signed int 
                                                                    Ref: 94051=, 94226=, 94368=, 94392
i                               94051   4       long    Auto        signed int 
                                                                    -No References 
lcs                             94052   4       long    Auto        signed int 
                                                                    Ref: 94052=, 94109=, 94110, 94110=, 94111, 94131, 94152, 
                                                                    94303
left                            94270   4       long    Auto        signed int 
                                                                    Ref: 94270=, 94273, 94275=, 94276
len                             94270   4       long    Auto        signed int 
                                                                    Ref: 94272=, 94274, 94275
mget                            94054   4       long    Auto        signed int 
                                                                    Ref: 94054=, 94141=, 94143

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2376
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

nc                              94055   4       long    Auto        signed int 
                                                                    Ref: 94092=, 94095=, 94097=, 94100=, 94159, 94311
p                               94171   4       long    Auto        short pointer to char 
                                                                    Ref: 94171=, 94173&, 94174, 94176, 94177, 94179, 94181
p                               94323   4       long    Auto        short pointer to char 
                                                                    Ref: 94323=, 94325&, 94326, 94328, 94329, 94331, 94333
rc                              94051   4       long    Auto        signed int 
                                                                    Ref: 94051=, 94149=, 94202=, 94211, 94215, 94216=, 94225, 
                                                                    94231, 94288=, 94354=, 94363, 94367, 94373
rcs                             94052   4       long    Auto        signed int 
                                                                    Ref: 94052=, 94114=, 94115, 94115=, 94116, 94131, 94152, 
                                                                    94303
s                               94056   4       long    Auto        short pointer to char 
                                                                    Ref: 94148=, 94152, 94156, 94159, 94190, 94191, 94202, 94211
                                                                    , 94212, 94213, 94215[], 94216&[], 94247=, 94248, 94248=, 
                                                                    94249*, 94253=, 94255=, 94256, 94257, 94268, 94276, 94277=, 
                                                                    94278, 94283, 94285, 94303, 94308, 94311, 94342, 94343, 94354
                                                                    , 94363, 94364, 94365
s2                              94056   4       long    Auto        short pointer to char 
                                                                    Ref: 94160=, 94164, 94173, 94176, 94180=, 94193, 94203, 94217
                                                                    , 94312=, 94316, 94325, 94328, 94332=, 94345, 94355
s3                              94056   4       long    Auto        short pointer to char 
                                                                    Ref: 94269=, 94272
sec                             94059   8       quad    Auto        double 
                                                                    Ref: 94399=, 94400, 94400=, 94401, 94407, 94408
status                          94051   4       long    Auto        signed int 
                                                                    Ref: 94051=, 94130=, 94227=, 94235=, 94238=, 94369=, 94377=, 
                                                                    94380=, 94389, 94391=, 94393=, 94395, 94412
stay                            94046   4       long    Param       local parameter, signed int 
                                                                    Ref: 94413
t0                              94057   4       long    Auto        unsigned long 
                                                                    Ref: 94105=, 94399
t1                              94057   4       long    Auto        unsigned long 
                                                                    Ref: 94398=, 94399
tmp                             94271   4       long    Auto        short pointer to char 
                                                                    Ref: 94271=, 94273, 94274=, 94276
x                               94051   4       long    Auto        signed int 
                                                                    Ref: 94152=, 94153, 94303=, 94304
x                               94172   4       long    Auto        signed int 
                                                                    Ref: 94172=, 94176=, 94177, 94179=, 94181, 94183
x                               94324   4       long    Auto        signed int 
                                                                    Ref: 94324=, 94328=, 94329, 94331=, 94333, 94335
xclget                          94386                               Label 
                                                                    Ref: 94194, 94230
xlate                           94052   4       long    Auto        signed int 
                                                                    Ref: 94052=, 94108, 94111=, 94113, 94116=, 94131


FUNCTION doftpget defined at line  94429
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

again                           95225                               Label 
                                                                    Ref: 95253

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2377
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

append                          94437   4       long    Auto        signed int 
                                                                    Ref: 94437=, 95720=, 95761, 95765
c                               94450   1       byte    Auto        char 
                                                                    Ref: 94600=, 94601, 94601, 95427=, 95428
c                               95311   1       byte    Auto        char 
                                                                    Ref: 95345=, 95346
cm                              94434   36      long    Auto        struct FDB
                                                                    Ref: 94579&, 94581&
cx                              94429   4       long    Param       local parameter, signed int 
                                                                    Ref: 94540, 94540, 94540, 94542, 94549, 94549, 94551
deleting                        94439   4       long    Auto        signed int 
                                                                    Ref: 94439=, 95064=, 95066=, 95782
done                            94435   4       long    Auto        signed int 
                                                                    Ref: 94435=, 95172=, 95196, 95210=, 95234=, 95238, 95270=, 
                                                                    95274=, 95877=
first                           94437   4       long    Auto        signed int 
                                                                    Ref: 94437=, 95171=, 95214, 95215, 95223=, 95243, 95258, 
                                                                    95269, 95303=
fl                              94434   36      long    Auto        struct FDB
                                                                    Ref: 94568&, 94570&
getlarger                       94442   8       quad    Auto        signed int64 
                                                                    Ref: 94442=, 95072=, 95552, 95578, 95578
getone                          94438   4       long    Auto        signed int 
                                                                    Ref: 94438=, 94541=, 94550=, 94871, 95008, 95025, 95041, 
                                                                    95206, 95310, 95425
getsmaller                      94443   8       quad    Auto        signed int64 
                                                                    Ref: 94443=, 95070=, 95552, 95576, 95576
getval                          94435   4       long    Auto        signed int 
                                                                    Ref: 94435=, 94601=, 94602, 94610, 94617, 94618, 94693, 94744
                                                                    , 94754, 94761, 94796, 94837
good                            94436   4       long    Auto        signed int 
                                                                    Ref: 94436=, 95779=, 95887, 95896
gotsize                         94440   4       long    Auto        signed int 
                                                                    Ref: 94440=, 95550=, 95555=, 95571=, 95575, 95637, 95640=, 
                                                                    95647=
haspath                         94439   4       long    Auto        signed int 
                                                                    Ref: 94439=, 95204=, 95405=, 95411, 95413, 95430=, 95608
i                               94435   4       long    Auto        signed int 
                                                                    Ref: 94509=, 94509, 94510, 94511, 94512, 94509=, 94533=, 
                                                                    94533, 94534, 94533=, 95448=, 95448, 95449, 95452, 95453, 
                                                                    95448=, 95940=, 95940, 95941, 95942, 95940=, 95944=, 95944, 
                                                                    95945, 95944=
i                               95314   4       long    Auto        signed int 
                                                                    Ref: 95334=, 95334, 95335, 95336, 95334=
k                               95314   4       long    Auto        signed int 
                                                                    Ref: 95314=, 95336=, 95341
left                            95292   4       long    Auto        signed int 
                                                                    Ref: 95292=, 95295, 95297=, 95298
len                             94958   4       long    Auto        signed int 
                                                                    Ref: 94960=, 94964, 94970, 94970=, 94970, 94972=, 94973
len                             95292   4       long    Auto        signed int 
                                                                    Ref: 95294=, 95296, 95297
listfile                        94438   4       long    Auto        signed int 
                                                                    Ref: 94438=, 95151=, 95224
local                           94445   4       long    Auto        short pointer to char 
                                                                    Ref: 94445=, 95504=, 95508, 95509, 95512, 95520, 95521, 95525
                                                                    , 95527, 95535

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2378
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

m                               94783   4       long    Auto        short pointer to char 
                                                                    Ref: 94783=, 94786=, 94790=, 94793=, 94797
matchdot                        94441   4       long    Auto        signed int 
                                                                    Ref: 94441=
mdel                            94438   4       long    Auto        signed int 
                                                                    Ref: 94438=, 94553=, 94564, 94567, 95061, 95158, 95165, 95551
                                                                    , 95637, 95652, 95750
mget                            94435   4       long    Auto        signed int 
                                                                    Ref: 94435=, 94546=, 94555=, 95008, 95041, 95212
moving                          94439   4       long    Auto        signed int 
                                                                    Ref: 94439=, 94993=, 95774, 95811
msg                             94444   4       long    Auto        short pointer to char 
                                                                    Ref: 95305=, 95456=, 95514=, 95534=, 95583=, 95598, 95599
n                               94435   4       long    Auto        signed int 
                                                                    Ref: 94607=, 94608, 94615, 94628, 94629, 94638, 94670, 94675
                                                                    , 94683, 94689, 94702, 94703, 94704, 94748, 94757, 94775, 
                                                                    94776, 94777, 94784, 94797, 94799, 94807, 94808, 94808, 94816
                                                                    , 94840, 94841, 94841, 94845, 94850
n                               95495   4       long    Auto        signed int 
                                                                    Ref: 95496=, 95498&
n                               95680   4       long    Auto        signed int 
                                                                    Ref: 95681=, 95683&, 95684, 95686
n                               95793   4       long    Auto        signed int 
                                                                    Ref: 95794=, 95797&
n                               95815   4       long    Auto        signed int 
                                                                    Ref: 95816=, 95819&
nam                             94444   4       long    Auto        short pointer to char 
                                                                    Ref: 95306=, 95348=, 95426, 95433=, 95437, 95439*, 95440=, 
                                                                    95443[], 95452, 95469, 95481
newname                         95716   4       long    Auto        short pointer to char 
                                                                    Ref: 95716=, 95724&, 95725, 95727, 95728, 95730, 95732
p                               94922   4       long    Auto        short pointer to char 
                                                                    Ref: 94923=, 94924
p                               94959   4       long    Auto        short pointer to char 
                                                                    Ref: 94959=, 94960, 94961, 94966, 94981, 94992
p                               94998   4       long    Auto        short pointer to char 
                                                                    Ref: 94998=, 94999, 94999=, 95000*, 95005=, 95005, 95011, 
                                                                    95012, 95022
p                               95207   4       long    Auto        short pointer to char 
                                                                    -No References 
p                               95311   4       long    Auto        short pointer to char 
                                                                    Ref: 95311=, 95344=, 95345=*, 95348, 95349
p                               95399   4       long    Auto        short pointer to char 
                                                                    Ref: 95400=, 95400*, 95401*, 95400=, 95402=, 95402*, 95403*, 
                                                                    95402=
p                               95426   4       long    Auto        short pointer to char 
                                                                    Ref: 95426=, 95427=*, 95433
p                               95495   4       long    Auto        short pointer to char 
                                                                    Ref: 95497=, 95498&
p                               95680   4       long    Auto        short pointer to char 
                                                                    Ref: 95682=, 95683&
p                               95790   4       long    Auto        short pointer to char 
                                                                    Ref: 95795=, 95797&, 95799=, 95803, 95804, 95805
p                               95812   4       long    Auto        short pointer to char 
                                                                    Ref: 95817=, 95819&, 95820=, 95824, 95825, 95826, 95827
pat                             94446   4       long    Auto        short pointer to char 
                                                                    Ref: 94446=

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2379
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

pipename                        94444   4       long    Auto        short pointer to char 
                                                                    Ref: 94444=, 95683, 95686
pipesave                        94435   4       long    Auto        signed int 
                                                                    Ref: 94435=, 94498=, 95904
pn                              94444   4       long    Auto        short pointer to char 
                                                                    Ref: 94444=, 95635=, 95685=, 95765
pv                              94458   784     quad    Auto        array of struct stringint
                                                                    Ref: 94510=[], 94511=[], 94512=[], 94543=[], 94544=[], 94556
                                                                    =[], 94628[], 94629=[], 94635=[], 94636=[], 94637=[], 94638
                                                                    =[], 94670=[], 94674=[], 94675=[], 94682=[], 94683=[], 94689
                                                                    =[], 94702[], 94703[], 94704=[], 94748=[], 94757=[], 94775[]
                                                                    , 94776[], 94777=[], 94807[], 94808=[], 94808[], 94840[], 
                                                                    94841=[], 94841[], 94845=[], 94846=[], 94850=[], 94851=[], 
                                                                    94904[], 94907[], 94910[], 94913[], 94921[], 94921[], 94923[]
                                                                    , 94957[], 94957[], 94959[], 94997[], 94998[], 95025[], 95029
                                                                    [], 95036[], 95037[], 95057[], 95065[], 95067[], 95068[], 
                                                                    95069[], 95070[], 95071[], 95072[], 95073[], 95074[], 95075[]
                                                                    , 95076[], 95077[], 95080[], 95083[], 95089[], 95137[], 95138
                                                                    [], 95139[], 95140[], 95146[], 95147[], 95158[], 95160[], 
                                                                    95217[], 95230[], 95245[], 95260[], 95442[], 95462[], 95830[]
                                                                    , 95830[], 95831[], 95832[], 95941[], 95942[]
rc                              94435   4       long    Auto        signed int 
                                                                    Ref: 95307=, 95622=, 95655=, 95657, 95765=, 95769, 95778, 
                                                                    95783=, 95786, 95803=, 95804, 95805, 95825=, 95826, 95827, 
                                                                    95865
renaming                        94438   4       long    Auto        signed int 
                                                                    Ref: 94438=, 95021=, 95773, 95789
restart                         94436   4       long    Auto        signed int 
                                                                    Ref: 94436=, 94462=, 95101=, 95714, 95765
s                               94444   4       long    Auto        short pointer to char 
                                                                    Ref: 94619&, 94626=, 94626, 94627*, 94627=, 94628, 94694&, 
                                                                    94701, 94701*, 94701=, 94702, 94763&, 94769, 94774, 94774*, 
                                                                    94774=, 94775, 94797&, 94807*, 94807, 94831&, 94833, 94838&, 
                                                                    94840*, 94840, 94863=, 94872=, 94873, 94874&, 94877, 94886=, 
                                                                    94887, 94888&, 94891=, 94891, 94892, 95176=, 95178, 95208=, 
                                                                    95211, 95215=, 95220, 95221, 95221=, 95222*, 95233=, 95243=, 
                                                                    95248, 95249, 95250, 95252, 95258=, 95264=, 95265, 95266, 
                                                                    95268, 95282, 95289, 95298, 95299=, 95300, 95306, 95311, 
                                                                    95316, 95319, 95344, 95349, 95352, 95365, 95365, 95367, 95367
                                                                    [], 95371[], 95390, 95391, 95400, 95406, 95411, 95421, 95440
                                                                    , 95476, 95481, 95483, 95504, 95521, 95568, 95581, 95597, 
                                                                    95601, 95605, 95618, 95644, 95654, 95656, 95658, 95662, 95694
                                                                    , 95698, 95765, 95769, 95770, 95771, 95772, 95773, 95774, 
                                                                    95784, 95786
s                               94963   4       long    Auto        short pointer to char 
                                                                    Ref: 94963=, 94964=, 94965, 94966, 94970[], 94970=[], 94970
                                                                    =[], 94972=[], 94973=[], 94977, 94979
s                               95009   4       long    Auto        short pointer to char 
                                                                    Ref: 95009=, 95011&
s                               95042   4       long    Auto        short pointer to char 
                                                                    Ref: 95042=, 95044&
s                               95831   4       long    Auto        short pointer to char 
                                                                    Ref: 95831=, 95837, 95841=, 95842&, 95843=, 95846, 95847, 
                                                                    95847*, 95849, 95851
s2                              94444   4       long    Auto        short pointer to char 
                                                                    Ref: 95308=, 95391=, 95437=, 95477*, 95478=, 95480*, 95481=, 
                                                                    95484, 95499=, 95500, 95504*, 95504, 95678=, 95687=, 95689, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2380
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    95691=, 95692*, 95695=, 95696, 95698=, 95700, 95710, 95711, 
                                                                    95712, 95724, 95727, 95731=, 95755=, 95765, 95803, 95825, 
                                                                    95849, 95850
s3                              95290   4       long    Auto        short pointer to char 
                                                                    Ref: 95291=, 95294
sec                             94453   8       quad    Auto        double 
                                                                    Ref: 95919=, 95920, 95920=, 95921, 95926, 95927
selected                        94437   4       long    Auto        signed int 
                                                                    Ref: 94437=, 95634=, 95886, 95891
skipthis                        94437   4       long    Auto        signed int 
                                                                    Ref: 94437=, 95304=, 95310, 95425, 95442, 95446, 95457=, 
                                                                    95462, 95494, 95506, 95511=, 95519, 95532=, 95551, 95577=, 
                                                                    95579=, 95580, 95596
src                             94445   4       long    Auto        short pointer to char 
                                                                    Ref: 94445=, 95209=, 95213=, 95214, 95332=, 95333, 95334[], 
                                                                    95335[], 95339=, 95342, 95364, 95364, 95366, 95367, 95370, 
                                                                    95376=, 95386, 95390, 95402, 95407
srclen                          95363   4       long    Auto        signed int 
                                                                    Ref: 95363=, 95364=, 95366, 95367, 95367, 95369, 95370, 95371
                                                                    , 95371, 95372, 95377
srvlen                          95363   4       long    Auto        signed int 
                                                                    Ref: 95363=, 95365=, 95366
srvpath                         95312   4       long    Auto        signed int 
                                                                    Ref: 95312=, 95349=, 95352, 95389
srvrn                           95832   4       long    Auto        short pointer to char 
                                                                    Ref: 95832=, 95842
status                          94436   4       long    Auto        signed int 
                                                                    Ref: 94436=, 95273=, 95624=, 95780=, 95870=, 95875=, 95883, 
                                                                    95892=, 95893, 95895=, 95897=, 95899
sw                              94434   36      long    Auto        struct FDB
                                                                    Ref: 94559&, 94594&
t0                              94451   4       long    Auto        unsigned long 
                                                                    Ref: 94451=, 95155=, 95919
t1                              94451   4       long    Auto        unsigned long 
                                                                    Ref: 95918=, 95919
tmp                             95293   4       long    Auto        short pointer to char 
                                                                    Ref: 95293=, 95295, 95296=, 95298
tmpbuf                          95792   4096    byte    Auto        array of char 
                                                                    Ref: 95795, 95799
tmpbuf                          95814   4096    byte    Auto        array of char 
                                                                    Ref: 95817, 95820
tmpbuf                          95833   4096    byte    Auto        array of char 
                                                                    Ref: 95841, 95843
tmpsrc                          95368   4       long    Auto        short pointer to char 
                                                                    Ref: 95368=, 95369=, 95370, 95371=[], 95372=[], 95374, 95375=
toscreen                        94439   4       long    Auto        signed int 
                                                                    Ref: 94439=, 95078=, 95491, 95678, 95687, 95690, 95708, 95754
                                                                    , 95789, 95811
updating                        94438   4       long    Auto        signed int 
                                                                    Ref: 94438=, 95157=, 95159=, 95161=, 95162, 95500, 95519, 
                                                                    95524, 95530, 95531
usrpath                         95313   4       long    Auto        signed int 
                                                                    Ref: 95313=, 95341=, 95342, 95354, 95377=, 95390, 95391, 
                                                                    95411
who                             94429   4       long    Param       local parameter, signed int 
                                                                    Ref: 94539
x                               95507   8       quad    Auto        signed int64 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2381
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 95508=, 95509, 95510
x                               95613   4       long    Auto        signed int 
                                                                    Ref: 95618=, 95621
x                               95709   8       quad    Auto        signed int64 
                                                                    Ref: 95710=, 95711, 95714
x                               95715   4       long    Auto        signed int 
                                                                    Ref: 95715=, 95727=, 95728, 95730=, 95732, 95734, 95737=
x                               95848   4       long    Auto        signed int 
                                                                    Ref: 95849=, 95850, 95851, 95857
x1                              95398   4       long    Auto        signed int 
                                                                    Ref: 95398=, 95401=, 95405, 95405, 95406
x2                              95398   4       long    Auto        signed int 
                                                                    Ref: 95398=, 95403=, 95405, 95405, 95407
x_cnv                           94436   4       long    Auto        signed int 
                                                                    Ref: 94436=, 94471=, 94472, 94474=, 94477=, 94479=, 94482=, 
                                                                    95074=, 95689, 95693, 95694
x_csl                           94448   4       long    Auto        signed int 
                                                                    Ref: 94448=, 94490=, 94491, 94492=, 94817=, 94826=, 95473=, 
                                                                    95568, 95644, 95656, 95759, 95765, 95784
x_csr                           94448   4       long    Auto        signed int 
                                                                    Ref: 94448=, 94489=, 94819=, 94825=, 95474=, 95568, 95644, 
                                                                    95656, 95760, 95765, 95784
x_fnc                           94437   4       long    Auto        signed int 
                                                                    Ref: 94437=, 94516=, 95037=, 95041, 95158, 95160, 95506, 
                                                                    95712, 95718, 95726
x_prm                           94436   4       long    Auto        signed int 
                                                                    Ref: 94436=, 94484=, 94485, 94486=
x_xla                           94449   4       long    Auto        signed int 
                                                                    Ref: 94449=, 94493=, 94820=, 94824=, 95472, 95758, 95765
xgetx                           95903                               Label 
                                                                    Ref: 94597, 94605, 94613, 94624, 94680, 94688, 94699, 94746, 
                                                                    94756, 94768, 94772, 94805, 94832, 94839, 94857, 94876, 94880
                                                                    , 94884, 94890, 94894, 94902, 94983, 95003, 95017, 95028, 
                                                                    95032, 95050, 95093, 95142, 95149, 95193, 95738
xx                              95447   4       long    Auto        signed int 
                                                                    Ref: 95452=, 95453, 95454
y                               94753   8       quad    Auto        signed int64 
                                                                    Ref: 94755&, 94757
y                               95835   4       long    Auto        signed int 
                                                                    Ref: 95840=, 95842&


FUNCTION doftpsite defined at line  95975
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

lcs                             95978   4       long    Auto        signed int 
                                                                    Ref: 95978=, 95983=, 95984, 95984=, 95996, 95998
rcs                             95978   4       long    Auto        signed int 
                                                                    Ref: 95978=, 95985=, 95986, 95986=, 95996, 95998
reply                           95976   4       long    Auto        signed int 
                                                                    Ref: 95996=, 95998=, 95999, 96002
s                               95977   4       long    Auto        short pointer to char 
                                                                    Ref: 95989&, 95992

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2382
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

save_vbm                        95979   4       long    Auto        signed int 
                                                                    Ref: 95979=, 96001


FUNCTION dosetftppsv defined at line  96007
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION doftprmt defined at line  96017
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cx                              96017   4       long    Param       local parameter, signed int 
                                                                    Ref: 96029, 96032=, 96034
s                               96024   4       long    Auto        short pointer to char 
                                                                    Ref: 96040&, 96042, 96043=, 96044
who                             96017   4       long    Param       local parameter, signed int 
                                                                    Ref: 96026


FUNCTION doxftp defined at line  96069
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               96248   1       byte    Auto        char 
                                                                    Ref: 96253=, 96254
cx                              96070   4       long    Auto        signed int 
                                                                    Ref: 96153=, 96155, 96206, 96212, 96362, 96491, 96495, 96498
                                                                    , 96502, 96506
fl                              96071   36      long    Auto        struct FDB
                                                                    Ref: 96130&, 96132&, 96318&, 96320&
flag                            96247   4       long    Auto        signed int 
                                                                    Ref: 96247=, 96255=, 96259
kw                              96071   36      long    Auto        struct FDB
                                                                    Ref: 96121&, 96143&, 96309&, 96333&
lcs                             96074   4       long    Auto        signed int 
                                                                    Ref: 96074=, 96078=, 96079, 96079=, 96192, 96243, 96387, 
                                                                    96401, 96481
n                               96070   4       long    Auto        signed int 
                                                                    Ref: 96332=, 96332=
name                            96297   513     byte    Auto        array of char 
                                                                    Ref: 96301, 96303=*, 96304
p                               96297   4       long    Auto        short pointer to char 
                                                                    Ref: 96304=, 96304*, 96305*, 96305=*, 96304=
rcs                             96074   4       long    Auto        signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2383
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 96074=, 96080=, 96081, 96081=, 96192, 96243, 96387, 
                                                                    96401, 96481
s                               96072   4       long    Auto        short pointer to char 
                                                                    Ref: 96157&, 96160, 96173&, 96176, 96182&, 96184, 96185&, 
                                                                    96188, 96236&, 96239, 96341=, 96352, 96353=, 96354, 96382&, 
                                                                    96385, 96395&, 96398, 96415&, 96418, 96434&, 96437, 96452&, 
                                                                    96455, 96455, 96475&, 96478, 96479&
s                               96248   4       long    Auto        short pointer to char 
                                                                    Ref: 96252=, 96253=*, 96260
tmremote                        96249   44      long    Auto        struct tm
                                                                    Ref: 96251&, 96261., 96262., 96263., 96264., 96265., 96266., 
                                                                    96270., 96271., 96272., 96273., 96274., 96275.
usetls                          96073   4       long    Auto        signed int 
                                                                    Ref: 96073=, 96344=, 96354


FUNCTION shopl defined at line  96518
_____________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

x                               96518   4       long    Param       local parameter, signed int 
                                                                    Ref: 96523


FUNCTION shoftp defined at line  96534
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

brief                           96534   4       long    Param       local parameter, signed int 
                                                                    Ref: 96563
n                               96540   4       long    Auto        signed int 
                                                                    Ref: 96551=, 96553=, 96562=, 96566=, 96604=, 96608=, 96608=, 
                                                                    96611=, 96611=, 96614=, 96614=, 96628=, 96628=, 96638=, 96638
                                                                    =, 96648=, 96648=, 96657=, 96657=, 96660=, 96660=, 96677=, 
                                                                    96679=, 96679=, 96681=, 96681=, 96683=, 96683=, 96685=, 96685
                                                                    =, 96687=, 96687=, 96689=, 96689=, 96691=, 96691=, 96697
s                               96539   4       long    Auto        short pointer to char 
                                                                    Ref: 96539=, 96574=, 96575=, 96576=, 96581, 96621=, 96622=, 
                                                                    96623=, 96624=, 96625=, 96627, 96651=, 96652=, 96653=, 96654=
                                                                    , 96656
x                               96540   4       long    Auto        signed int 
                                                                    Ref: 96617=, 96618, 96619=, 96620


FUNCTION doftphlp defined at line  97255
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2384
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

cx                              97256   4       long    Auto        signed int 
                                                                    Ref: 97257=, 97258, 97259, 97266


FUNCTION dosetftphlp defined at line  97352
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cx                              97353   4       long    Auto        signed int 
                                                                    Ref: 97354=, 97355, 97356, 97357, 97365


FUNCTION ftpcmd defined at line  97668
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

arg                             97668   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 97685, 97685=, 97687, 97697, 97701*, 97701, 97706, 97721
                                                                    *, 97729
cmd                             97668   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 97684, 97684=, 97686, 97694, 97697, 97701, 97705, 97742
                                                                    , 97771, 97776, 97782
cmdlen                          97674   4       long    Auto        signed int 
                                                                    Ref: 97674=, 97686=, 97687, 97741, 97746, 97746
fc                              97674   4       long    Auto        signed int 
                                                                    Ref: 97674=, 97775=, 97781=, 97783=, 97790
lcs                             97668   4       long    Param       local parameter, signed int 
                                                                    Ref: 97707, 97722, 97724, 97725, 97728, 97733, 97788
len                             97674   4       long    Auto        signed int 
                                                                    Ref: 97674=, 97687=
q                               97674   4       long    Auto        signed int 
                                                                    Ref: 97674=, 97792, 97793
r                               97674   4       long    Auto        signed int 
                                                                    Ref: 97674=, 97787=, 97808
rcs                             97668   4       long    Param       local parameter, signed int 
                                                                    Ref: 97708, 97723, 97724, 97726, 97728, 97734, 97788
s                               97673   4       long    Auto        short pointer to char 
                                                                    Ref: 97673=, 97750=, 97754, 97758, 97766
vbm                             97668   4       long    Param       local parameter, signed int 
                                                                    Ref: 97677=, 97679=, 97680, 97681=, 97785=, 97789
x                               97674   4       long    Auto        signed int 
                                                                    Ref: 97674=, 97746=, 97771=, 97772, 97787


FUNCTION lostpeer defined at line  97812
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2385
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

No Declarations


FUNCTION ftpisopen defined at line  97898
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION ftpclose defined at line  97903
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION ftpopen defined at line  97964
_______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

destsp                          97985   4       long    Auto        short pointer to struct servent
                                                                    Ref: 97986=, 97987, 97998->
fail                            98082                               Label 
                                                                    Ref: 98048, 98055
host                            97969   4       long    Auto        short pointer to char 
                                                                    Ref: 98008=, 98009
remote                          97964   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 98008, 98010, 98052, 98083
service                         97964   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 97981, 97981=, 97982*, 97982=, 97984[], 97984[], 97986, 
                                                                    97988, 97990, 97993, 98002, 98004, 98083
use_tls                         97964   4       long    Param       local parameter, signed int 
                                                                    Ref: 97982, 98008


FUNCTION ssl_auth defined at line  98090
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

client_method                   98093   4       long    Auto        short pointer to const struct ssl_method_st
                                                                    Ref: 98129=, 98140=, 98152, 98159
errbuf                          98372   1024    byte    Static      array of char 
                                                                    Ref: 98373, 98375
i                               98091   4       long    Auto        signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2386
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
p                               98092   4       long    Auto        short pointer to char 
                                                                    -No References 
p                               98360   4       long    Auto        short pointer to char 
                                                                    Ref: 98361=, 98362
subject                         98386   4       long    Auto        short pointer to char 
                                                                    Ref: 98386=, 98388


FUNCTION cmdcancel defined at line  98417
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sig                             98417   4       long    Param       local parameter, signed int 
                                                                    -No References 


FUNCTION scommand defined at line  98449
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

error                           98458   4       long    Auto        signed int 
                                                                    Ref: 98462=, 98463
in                              98455   10240   byte    Auto        array of char 
                                                                    Ref: 98561, 98573
len                             98580   4       long    Auto        signed int 
                                                                    Ref: 98580=, 98581
len2                            98454   4       long    Auto        signed int 
                                                                    Ref: 98560=, 98562&, 98570=, 98577
length                          98454   4       long    Auto        signed int 
                                                                    Ref: 98454=, 98459=, 98460=, 98461, 98562, 98569
out                             98455   10240   byte    Auto        array of char 
                                                                    Ref: 98460, 98461, 98561, 98570, 98577
out                             98579   10240   byte    Auto        array of char 
                                                                    Ref: 98580, 98581
rc                              98458   4       long    Auto        signed int 
                                                                    Ref: 98461=, 98462
s                               98449   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 98459, 98460, 98569, 98580


FUNCTION mygetc defined at line  98587
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

bp                              98589   4       long    Static      signed int 
                                                                    Ref: 98589=, 98592, 98593=, 98627=
ep                              98589   4       long    Static      signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2387
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 98589=, 98592, 98593=, 98625=
error                           98596   4       long    Auto        signed int 
                                                                    Ref: 98598=, 98599
inbuf                           98588   4096    byte    Static      array of char 
                                                                    Ref: 98597, 98622, 98627[]
rc                              98590   4       long    Auto        signed int 
                                                                    Ref: 98597=, 98598, 98606, 98622=, 98623, 98625


FUNCTION xlatec defined at line  98644
______________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             98652   128     byte    Static      array of char 
                                                                    Ref: 98658, 98659=[], 98671=[], 98672=[], 98679
c                               98644   4       long    Param       local parameter, signed int 
                                                                    Ref: 98670, 98671
c0                              98654   4       long    Auto        signed int 
                                                                    Ref: 98674=, 98675
c1                              98654   4       long    Auto        signed int 
                                                                    -No References 
cx                              98653   4       long    Static      signed int 
                                                                    Ref: 98657=, 98662, 98670, 98671=, 98672, 98679
fc                              98644   4       long    Param       local parameter, signed int 
                                                                    Ref: 98656
incs                            98644   4       long    Param       local parameter, signed int 
                                                                    Ref: 98674
outcs                           98644   4       long    Param       local parameter, signed int 
                                                                    Ref: 98675


FUNCTION parsefeat defined at line  98737
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

i                               98743   4       long    Auto        signed int 
                                                                    Ref: 98748=, 98748, 98749, 98751, 98751, 98748=, 98753, 98753
                                                                    , 98753, 98753, 98755, 98757=, 98758, 98759, 98759, 98762, 
                                                                    98764, 98768, 98772, 98776, 98781
kwbuf                           98742   8       byte    Auto        array of char 
                                                                    Ref: 98751=[], 98755=[], 98757
s                               98737   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 98744, 98745*, 98746*, 98747=, 98749[], 98751[], 98753[]
                                                                    , 98753[], 98753[], 98753[], 98758
x                               98743   4       long    Auto        signed int 
                                                                    Ref: 98757&


FUNCTION parsefacts defined at line  98787
__________________________________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2388
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

i                               98793   4       long    Auto        signed int 
                                                                    Ref: 98801=, 98802, 98814
j                               98793   4       long    Auto        signed int 
                                                                    Ref: 98831=, 98832, 98833, 98833
p                               98792   4       long    Auto        short pointer to char 
                                                                    Ref: 98799=, 98800=*, 98803=*, 98804, 98805=, 98806, 98807=, 
                                                                    98808, 98812=*, 98836=*, 98837
s                               98787   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 98794, 98795*, 98799, 98801, 98802, 98804=, 98805, 98807
                                                                    , 98809, 98813, 98823, 98827, 98831, 98832, 98837=, 98839*, 
                                                                    98840=, 98841*, 98842=, 98843, 98844
x                               98793   4       long    Auto        signed int 
                                                                    Ref: 98801&


FUNCTION getreply defined at line  98853
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

auth                            98864   4       long    Auto        signed int 
                                                                    Ref: 98864=, 98872=, 99035, 99153, 99289
c                               98859   4       long    Reg         signed int 
                                                                    Ref: 98907=, 98908, 98909=, 98912=, 98915, 98949=, 98952, 
                                                                    98991, 99012, 99019, 99020, 99029, 99034, 99036, 99036, 99049
                                                                    , 99051, 99064, 99064, 99065, 99068, 99068, 99071, 99071, 
                                                                    99072, 99078, 99084, 99294, 99296
continuation                    98865   4       long    Auto        signed int 
                                                                    Ref: 98865=, 99018, 99079, 99081=, 99301
count                           98863   4       long    Auto        signed int 
                                                                    Ref: 98863=, 98903=, 99138, 98903=
cp                              98861   4       long    Reg         short pointer to char 
                                                                    Ref: 98906=, 99083, 99084=*, 99085=*, 99109, 99306=*, 99333*
                                                                    , 99333, 99334=*
dig                             98860   4       long    Reg         signed int 
                                                                    Ref: 98905=, 98990=, 99019, 99026, 99036, 99036, 99064, 99068
                                                                    , 99078
error                           98919   4       long    Auto        signed int 
                                                                    Ref: 98921=, 98922
error                           98956   4       long    Auto        signed int 
                                                                    Ref: 98958=, 98959
expecteof                       98853   4       long    Param       local parameter, signed int 
                                                                    Ref: 98992, 99153
fc                              98853   4       long    Param       local parameter, signed int 
                                                                    Ref: 98872, 98883, 99137
i                               98859   4       long    Reg         signed int 
                                                                    Ref: 98905=, 98907=, 99020=, 99155
i                               99139   4       long    Auto        signed int 
                                                                    Ref: 99141=, 99141, 99142, 99141=
ibuf                            98868   10240   byte    Auto        array of char 
                                                                    Ref: 98898=[], 98907[], 98907[], 99018[], 99026[], 99062[], 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2389
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    99151[], 99155=[], 99186
lcs                             98853   4       long    Param       local parameter, signed int 
                                                                    Ref: 98875, 98877, 98877, 98879, 98880, 99049, 99125, 99153, 
                                                                    99294
len                             99184   4       long    Auto        signed int 
                                                                    Ref: 99184=, 99188&
n                               98859   4       long    Reg         signed int 
                                                                    Ref: 98905=, 99011, 99012=, 99018, 99035, 99062, 99078, 99138
                                                                    , 99151, 99156, 99159=, 99169=, 99174=, 99193=, 99289, 99289
                                                                    , 99307, 99335, 99336
obuf                            98868   10240   byte    Auto        array of char 
                                                                    Ref: 98904=[], 98913=[], 98914=[], 98915=[], 98916=[], 98920
                                                                    , 98945, 98950=[], 98951=[], 98952=[], 98953=[], 98957, 98983
                                                                    , 99020=[], 99155=[], 99158, 99162[], 99168, 99173, 99185, 
                                                                    99192
originalcode                    98865   4       long    Auto        signed int 
                                                                    Ref: 98865=, 99301, 99302, 99303=, 99310
pflag                           98866   4       long    Auto        signed int 
                                                                    Ref: 98866=, 99066, 99067=, 99068, 99069=, 99070, 99075=
pt                              98867   4       long    Auto        short pointer to char 
                                                                    Ref: 98867=, 99072=*, 99074=*
q                               99109   4       long    Auto        short pointer to char 
                                                                    Ref: 99109=, 99111=*, 99112*, 99112, 99113=*
r                               99110   4       long    Auto        short pointer to char 
                                                                    Ref: 99110=, 99112, 99116=, 99121, 99123
rc                              98919   4       long    Auto        signed int 
                                                                    Ref: 98920=, 98921, 98929
rc                              98956   4       long    Auto        signed int 
                                                                    Ref: 98957=, 98958, 98967
rcs                             98853   4       long    Param       local parameter, signed int 
                                                                    Ref: 98876, 98877, 98877, 98879, 98880, 99049, 99124, 99153, 
                                                                    99294
safe                            98869   4       long    Auto        signed int 
                                                                    Ref: 98869=, 99160=
vbm                             98853   4       long    Param       local parameter, signed int 
                                                                    Ref: 98887, 98889=, 98892=, 98894=, 98895, 98896=, 99026, 
                                                                    99035, 99153, 99289
xlate                           98862   4       long    Auto        signed int 
                                                                    Ref: 98862=, 98878=, 99048, 99120, 99293
xquiet                          98870   4       long    Auto        signed int 
                                                                    Ref: 98870=, 98886=, 98888=, 98999, 99044, 99289, 99312


FUNCTION empty defined at line  99343
_____________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

mask                            99343   4       long    Param       local parameter, short pointer to struct fd_set
                                                                    Ref: 99355
sec                             99343   4       long    Param       local parameter, signed int 
                                                                    Ref: 99349
t                               99348   8       long    Auto        struct timeval
                                                                    Ref: 99349=., 99350=., 99355&


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2390
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION cancelsend defined at line  99373
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sig                             99373   4       long    Param       local parameter, signed int 
                                                                    -No References 


FUNCTION secure_error defined at line  99394
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

ap                              99402   4       long    Auto        short pointer to char 
                                                                    Ref: 99404=, 99405, 99406=
fmt                             99394   4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 99404, 99404, 99404, 99405


FUNCTION changetype defined at line  99420
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

newtype                         99420   4       long    Param       local parameter, signed int 
                                                                    Ref: 99428, 99430, 99446
rc                              99425   4       long    Auto        signed int 
                                                                    Ref: 99444=, 99445
s                               99426   4       long    Auto        short pointer to char 
                                                                    Ref: 99432=, 99435=, 99438=, 99441=, 99444
show                            99420   4       long    Param       local parameter, signed int 
                                                                    Ref: 99444


FUNCTION doftpsend defined at line  99453
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

threadinfo                      99453   4       long    Param       local parameter, short pointer to void 
                                                                    -No References 


FUNCTION failftpsend defined at line  99555
___________________________________________



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2391
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

threadinfo                      99555   4       long    Param       local parameter, short pointer to void 
                                                                    -No References 


FUNCTION failftpsend2 defined at line  99621
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

threadinfo                      99621   4       long    Param       local parameter, short pointer to void 
                                                                    -No References 


FUNCTION doftpsend2 defined at line  99713
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             99720   4       long    Auto        short pointer to char 
                                                                    Ref: 99737=
bufp                            99720   4       long    Auto        short pointer to char 
                                                                    -No References 
c                               99718   4       long    Reg         signed int 
                                                                    Ref: 99893=, 99895, 99895, 99958=, 99960
d                               99718   4       long    Reg         signed int 
                                                                    Ref: 99718=, 99887=, 99940, 99940=, 99941, 99963=, 99967=, 
                                                                    99968
n                               99719   4       long    Auto        signed int 
                                                                    Ref: 99875=, 99937, 99938
notafile                        99719   4       long    Auto        signed int 
                                                                    Ref: 99740=
p                               99744   4       long    Auto        short pointer to char 
                                                                    Ref: 99751=, 99752*, 99752*, 99753*, 99754=, 99756*, 99756*
t                               99719   4       long    Auto        signed int 
                                                                    -No References 
threadinfo                      99713   4       long    Param       local parameter, short pointer to void 
                                                                    Ref: 99866
unique                          99719   4       long    Auto        signed int 
                                                                    Ref: 99719=, 99739=, 99818, 99825
x                               99719   4       long    Auto        signed int 
                                                                    Ref: 99748=, 99750, 99821=, 99823, 99825, 99838, 99839=, 
                                                                    99840, 99844, 99850, 99953=


FUNCTION sendrequest defined at line  100031
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2392
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


cmd                             100031  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100042, 100042=, 100043*, 100043=, 100121
incs                            100032  4       long    Param       local parameter, signed int 
                                                                    Ref: 100119
local                           100031  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100039, 100040, 100040=, 100041*, 100045, 100099, 100113
                                                                    , 100122
outcs                           100032  4       long    Param       local parameter, signed int 
                                                                    Ref: 100120
remote                          100031  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100038, 100038=, 100039*, 100039=, 100123
restart                         100032  4       long    Param       local parameter, signed int 
                                                                    Ref: 100045, 100062
xlate                           100032  4       long    Param       local parameter, signed int 
                                                                    Ref: 100063


FUNCTION cancelrecv defined at line  100139
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

sig                             100139  4       long    Param       local parameter, signed int 
                                                                    -No References 


FUNCTION netgetc defined at line  100166
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION failftprecv defined at line  100203
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

threadinfo                      100203  4       long    Param       local parameter, short pointer to void 
                                                                    -No References 


FUNCTION doftprecv defined at line  100268
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2393
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

local                           100291  4       long    Auto        short pointer to char 
                                                                    Ref: 100292=, 100293
threadinfo                      100268  4       long    Param       local parameter, short pointer to void 
                                                                    -No References 
x                               100290  4       long    Auto        signed int 
                                                                    Ref: 100293=, 100294


FUNCTION failftprecv2 defined at line  100328
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

threadinfo                      100328  4       long    Param       local parameter, short pointer to void 
                                                                    -No References 
x                               100398  4       long    Auto        signed int 
                                                                    Ref: 100398=, 100404=, 100407=, 100412, 100413=, 100414


FUNCTION doftprecv2 defined at line  100447
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

bare_lfs                        100454  4       long    Auto        signed int 
                                                                    Ref: 100454=, 100811, 100813
blksize                         100455  4       long    Auto        signed int 
                                                                    Ref: 100455=, 100567=, 100569, 100572, 100577, 100593, 100594
break2                          100810                              Label 
                                                                    -No References 
bytes                           100453  8       quad    Auto        signed int64 
                                                                    Ref: 100453=, 100641=, 100647=, 100657=, 100805=, 100817=, 
                                                                    100820=
c                               100452  4       long    Reg         signed int 
                                                                    Ref: 100613=, 100621, 100634, 100641, 100642, 100645, 100652
                                                                    , 100653, 100654, 100660, 100754=, 100766, 100766, 100800, 
                                                                    100803, 100819
contin2                         100807                              Label 
                                                                    -No References 
d                               100452  4       long    Reg         signed int 
                                                                    Ref: 100610=, 100636=, 100660, 100665, 100803=
fn                              100681  4       long    Auto        short pointer to function 
                                                                    Ref: 100688=, 100691=, 100747, 100748
i                               100631  4       long    Reg         signed int 
                                                                    Ref: 100632=, 100634, 100635=, 100636
newname                         100461  4096    byte    Auto        array of char 
                                                                    Ref: 100535, 100539
p                               100457  4       long    Auto        short pointer to char 
                                                                    -No References 
p                               100663  4       long    Auto        short pointer to char 
                                                                    Ref: 100664=
preface                         100526  4       long    Auto        short pointer to char 
                                                                    Ref: 100526=, 100530

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2394
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

rcvbuf                          100458  4       long    Static      short pointer to char 
                                                                    Ref: 100458=, 100573, 100574, 100575=, 100577=, 100578, 
                                                                    100613, 100635[]
rcvbufsiz                       100459  4       long    Static      signed int 
                                                                    Ref: 100459=, 100570, 100572, 100586=, 100594=, 100596, 
                                                                    100613
start                           100456  4       long    Auto        unsigned long 
                                                                    Ref: 100456=, 100600=
stop                            100456  4       long    Auto        unsigned long 
                                                                    Ref: 100853=
t                               100679  4       long    Auto        signed int 
                                                                    -No References 
threadinfo                      100447  4       long    Param       local parameter, short pointer to void 
                                                                    Ref: 100615, 100699, 100710, 100760
x                               100525  4       long    Auto        signed int 
                                                                    Ref: 100530=, 100538, 100540
x                               100830  4       long    Auto        signed int 
                                                                    Ref: 100830=, 100834=, 100837=, 100842, 100843=, 100844
xx                              100550  40      long    Auto        struct filinfo
                                                                    Ref: 100551=., 100551=., 100551=., 100551=., 100551=., 100552
                                                                    =., 100552=., 100552=., 100554=., 100555&


FUNCTION recvrequest defined at line  100877
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

cmd                             100878  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100902, 100923, 100923=, 100947, 101011
fcs                             100886  4       long    Param       local parameter, signed int 
                                                                    Ref: 100907, 101007
lmode                           100881  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100919=, 100925, 100925=, 101014
local                           100879  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100903, 100918=, 100929, 100930=, 100932, 100933=, 
                                                                    100934, 100965, 101012
pipename                        100884  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100905, 100916=, 100927, 100930, 101015
printnames                      100882  4       long    Param       local parameter, signed int 
                                                                    -No References 
rcs                             100887  4       long    Param       local parameter, signed int 
                                                                    Ref: 100908, 101008
recover                         100883  4       long    Param       local parameter, signed int 
                                                                    Ref: 100902, 100928=, 100944=, 100946=, 100950=, 100963, 
                                                                    100964, 100967=, 100973=, 100996, 101009
remote                          100880  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 100904, 100924, 100924=, 100975, 100996, 101013, 101025
                                                                    , 101026
stbuf                           100897  112     quad    Auto        struct stat
                                                                    Ref: 100965&, 100969.
xlate                           100885  4       long    Param       local parameter, signed int 
                                                                    Ref: 100906, 101010



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2395
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION initconn defined at line  101044
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

a                               101045  4       long    Reg         short pointer to char 
                                                                    Ref: 101299=, 101302[], 101302[], 101302[], 101302[]
a1                              101051  4       long    Auto        signed int 
                                                                    Ref: 101070&, 101227
a2                              101051  4       long    Auto        signed int 
                                                                    Ref: 101070&, 101227
a3                              101051  4       long    Auto        signed int 
                                                                    Ref: 101070&, 101227
a4                              101051  4       long    Auto        signed int 
                                                                    Ref: 101070&, 101227
bad                             101322                              Label 
                                                                    Ref: 101282, 101287, 101292, 101296
len                             101048  4       long    Auto        unsigned int 
                                                                    Ref: 101289=, 101290&
noport                          101251                              Label 
                                                                    Ref: 101308
on                              101047  4       long    Auto        signed int 
                                                                    Ref: 101047=, 101277&, 101278
p                               101045  4       long    Reg         short pointer to char 
                                                                    Ref: 101300=, 101303[], 101303[]
p1                              101051  4       long    Auto        signed int 
                                                                    Ref: 101070&, 101228
p2                              101051  4       long    Auto        signed int 
                                                                    Ref: 101070&, 101228
result                          101046  4       long    Auto        signed int 
                                                                    Ref: 101304=, 101305, 101310
tmpno                           101046  4       long    Auto        signed int 
                                                                    Ref: 101046=, 101269, 101307=, 101312, 101333


FUNCTION ssl_dataconn defined at line  101340
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

errbuf                          101357  1024    byte    Static      array of char 
                                                                    Ref: 101358, 101360
subject                         101379  4       long    Auto        short pointer to char 
                                                                    Ref: 101379=, 101381


FUNCTION dataconn defined at line  101461
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2396
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

fromlen                         101471  4       long    Static      unsigned int 
                                                                    Ref: 101476=, 101490&
lmode                           101461  4       long    Param       local parameter, short pointer to char 
                                                                    -No References 
s                               101466  4       long    Auto        signed int 
                                                                    Ref: 101490=, 101491, 101513
tos                             101468  4       long    Auto        signed int 
                                                                    -No References 


FUNCTION ftp_auth defined at line  101841
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

j                               101843  4       long    Auto        signed int 
                                                                    Ref: 101843=, 101864=, 101864, 101864, 102200, 102242, 101864
                                                                    =
n                               101843  4       long    Auto        signed int 
                                                                    Ref: 102207=, 102208, 102209=, 102210, 102249=, 102250, 
                                                                    102250


FUNCTION setprotbuf defined at line  102291
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

size                            102291  4       long    Param       local parameter, unsigned int 
                                                                    Ref: 102300


FUNCTION setpbsz defined at line  102321
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

size                            102321  4       long    Param       local parameter, unsigned int 
                                                                    Ref: 102326


FUNCTION cancel_remote defined at line  102360
______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             102365  10240   byte    Auto        array of unsigned char 
                                                                    Ref: 102388=[], 102389=[], 102390=[], 102391=[], 102392=[], 
                                                                    102394, 102423=[], 102424=[], 102425=[], 102426=[], 102427, 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2397
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    102430=[], 102431, 102461, 102466
count                           102386  4       long    Auto        signed int 
                                                                    Ref: 102394=, 102395, 102396
count                           102460  4       long    Auto        signed int 
                                                                    Ref: 102461=
din                             102360  4       long    Param       local parameter, signed int 
                                                                    Ref: 102439, 102440, 102440, 102455, 102455, 102455, 102466
error                           102386  4       long    Auto        signed int 
                                                                    Ref: 102396=, 102397, 102398
error                           102460  4       long    Auto        signed int 
                                                                    -No References 
mask                            102368  128     long    Auto        struct fd_set
                                                                    Ref: 102437&, 102437&*, 102438&->, 102440&->, 102442&, 102455
                                                                    &->
nfnd                            102366  4       long    Auto        signed int 
                                                                    Ref: 102442=, 102443, 102444, 102445
x                               102366  4       long    Auto        signed int 
                                                                    Ref: 102427=, 102429, 102431=, 102432, 102434=, 102435
xdebtim                         102375  4       long    Auto        signed int 
                                                                    Ref: 102376=, 102520


FUNCTION fts_dpl defined at line  102526
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

x                               102526  4       long    Param       local parameter, signed int 
                                                                    Ref: 102536, 102544, 102549, 102556, 102560, 102561, 102563


FUNCTION fts_cpl defined at line  102571
________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

x                               102571  4       long    Param       local parameter, signed int 
                                                                    Ref: 102581, 102589, 102592, 102595, 102600


FUNCTION ftp_hookup defined at line  102672
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

bad                             102976                              Label 
                                                                    Ref: 102823, 102833, 102928, 102953
cport                           102687  4       long    Auto        signed int 
                                                                    Ref: 102726=, 102771
host                            102672  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 102695, 102725, 102729, 102742, 102942

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2398
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

hostname                        102686  64      byte    Auto        array of char 
                                                                    Ref: 102725, 102732, 102734, 102736, 102737
hostnamebuf                     102685  64      byte    Static      array of char 
                                                                    Ref: 102734, 102757, 102759, 102760
hp                              102677  4       long    Reg         short pointer to struct hostent
                                                                    Ref: 102677=, 102737=, 102739=, 102739, 102741, 102749->, 
                                                                    102751->, 102757->, 102791, 102791->, 102798->, 102799->
len                             102684  4       long    Auto        unsigned int 
                                                                    Ref: 102827=, 102829&
oerrno                          102792  4       long    Auto        signed int 
                                                                    Ref: 102792=, 102796
on                              102957  4       long    Auto        signed int 
                                                                    Ref: 102957=, 102959&, 102960
port                            102672  4       long    Param       local parameter, signed int 
                                                                    Ref: 102695, 102726
s                               102683  4       long    Auto        signed int 
                                                                    Ref: 102761=, 102762, 102763, 102788, 102805, 102809=, 102810
                                                                    , 102829, 102911, 102959, 102979
tls                             102672  4       long    Param       local parameter, signed int 
                                                                    Ref: 102914
xdebtim                         102690  4       long    Auto        signed int 
                                                                    Ref: 102691=, 102745, 102767, 102814, 102972, 102984


FUNCTION ftp_init defined at line  102991
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

c                               103010  1       byte    Reg         char 
                                                                    Ref: 103010=, 103017=, 103024
cp                              103010  4       long    Reg         short pointer to char 
                                                                    Ref: 103011=, 103012, 103013=, 103014, 103015[], 103016=, 
                                                                    103017*, 103018=*, 103023, 103024=*
i                               102992  4       long    Auto        signed int 
                                                                    Ref: 103051=, 103051, 103052, 103051=
i                               103069  4       long    Auto        signed int 
                                                                    Ref: 103070=, 103070, 103070, 103071, 103071, 103074, 103075
                                                                    , 103070=
n                               102992  4       long    Auto        signed int 
                                                                    Ref: 103000=, 103001, 103008=, 103009, 103054=, 103059=, 
                                                                    103065=, 103066


FUNCTION ftp_login defined at line  103088
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

acct                            103095  4       long    Auto        short pointer to char 
                                                                    Ref: 103095=, 103149=, 103207, 103214=, 103216, 103224, 
                                                                    103225
aflag                           103096  4       long    Auto        signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2399
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    Ref: 103096=, 103206=, 103224
ftpacct                         103208  80      byte    Static      array of char 
                                                                    Ref: 103211, 103214
ftppass                         103093  256     byte    Static      array of char 
                                                                    Ref: 103093=, 103141, 103146, 103183, 103186
host                            103088  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103156, 103159
myname                          103151  4       long    Auto        short pointer to char 
                                                                    Ref: 103154=, 103155, 103156, 103165
n                               103096  4       long    Auto        signed int 
                                                                    Ref: 103170=, 103171, 103175, 103193=, 103205, 103216=, 
                                                                    103218
ok                              103152  4       long    Auto        signed int 
                                                                    Ref: 103162=, 103164
ok                              103181  4       long    Auto        signed int 
                                                                    Ref: 103183=, 103185
ok                              103209  4       long    Auto        signed int 
                                                                    Ref: 103211=, 103213
p                               103195  4       long    Auto        short pointer to char 
                                                                    Ref: 103195=, 103196=*, 103196
pass                            103095  4       long    Auto        short pointer to char 
                                                                    Ref: 103095=, 103118=, 103120=, 103123=, 103125, 103135=, 
                                                                    103139=, 103146=, 103180, 103186=, 103193, 103194, 103195, 
                                                                    103238, 103239, 103239
prompt                          103151  256     byte    Auto        array of char 
                                                                    Ref: 103156, 103159, 103162
tmp                             103094  256     byte    Auto        array of char 
                                                                    Ref: 103122, 103123, 103160=[], 103162, 103164*, 103167
user                            103095  4       long    Auto        short pointer to char 
                                                                    Ref: 103095=, 103116=, 103134=, 103137=, 103150, 103165=, 
                                                                    103167=, 103170, 103227


FUNCTION ftp_reset defined at line  103254
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

mask                            103258  128     long    Auto        struct fd_set
                                                                    Ref: 103259&, 103259&*, 103261&->, 103262&
nfnd                            103257  4       long    Auto        signed int 
                                                                    Ref: 103257=, 103260, 103262=, 103267
rc                              103255  4       long    Auto        signed int 
                                                                    Ref: 103286=, 103287, 103289


FUNCTION ftp_rename defined at line  103294
___________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

from                            103294  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103308

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2400
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

lcs                             103299  4       long    Auto        signed int 
                                                                    Ref: 103299=, 103302=, 103303, 103303=, 103308, 103309
rcs                             103299  4       long    Auto        signed int 
                                                                    Ref: 103299=, 103304=, 103305, 103305=, 103308, 103309
to                              103294  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103309


FUNCTION ftp_umask defined at line  103316
__________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

mask                            103316  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103322
rc                              103321  4       long    Auto        signed int 
                                                                    Ref: 103322=, 103323


FUNCTION ftp_user defined at line  103328
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

acct                            103328  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103375, 103375[], 103382=, 103384, 103391, 103391[], 
                                                                    103392
aflag                           103333  4       long    Auto        signed int 
                                                                    Ref: 103333=, 103385=, 103391
n                               103333  4       long    Auto        signed int 
                                                                    Ref: 103333=, 103345=, 103346, 103347=, 103348, 103366=, 
                                                                    103374, 103384=, 103387, 103392=, 103394
ok                              103353  4       long    Auto        signed int 
                                                                    Ref: 103356=, 103358
ok                              103376  4       long    Auto        signed int 
                                                                    Ref: 103379=, 103381
pass                            103328  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103352, 103352[], 103359=, 103366, 103367, 103367
pwd                             103334  256     byte    Auto        array of char 
                                                                    Ref: 103354=[], 103356, 103359, 103377=[], 103379, 103382
user                            103328  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103345, 103395


FUNCTION ftp_authtype defined at line  103404
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2401
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4


FUNCTION ftp_cpl_mode defined at line  103411
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION ftp_dpl_mode defined at line  103427
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

No Declarations


FUNCTION mlsreset defined at line  103462
_________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

i                               103463  4       long    Auto        signed int 
                                                                    Ref: 103464=, 103464, 103465, 103466, 103467, 103468, 103472
                                                                    , 103464=


FUNCTION remote_files defined at line  103481
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

again                           103509                              Label 
                                                                    Ref: 103760, 103788, 103796, 103801, 103804
arg                             103481  4       long    Param       local parameter, short pointer to unsigned char 
                                                                    Ref: 103498, 103505, 103506*, 103507=, 103646, 103648, 103649
                                                                    , 103649, 103653, 103720, 103721, 103722, 103726=, 103729, 
                                                                    103826
buf                             103490  5119    byte    Static      array of unsigned char 
                                                                    Ref: 103713=[], 103714=[], 103715=[], 103739, 103762[], 
                                                                    103770, 103772, 103774, 103778, 103783, 103791
cdto                            103492  4       long    Auto        short pointer to char 
                                                                    Ref: 103492=, 103729=, 103730, 103731*, 103732=, 103733, 
                                                                    103734
cp                              103491  4       long    Auto        short pointer to unsigned char 
                                                                    Ref: 103770=, 103771=*, 103772=, 103773=*
forced                          103494  4       long    Auto        signed int 
                                                                    Ref: 103494=, 103625=, 103626, 103671
i                               103494  4       long    Auto        signed int 

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2402
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

                                                                    -No References 
lcs                             103495  4       long    Auto        signed int 
                                                                    Ref: 103495=, 103614=, 103615, 103615=, 103616, 103667
new_query                       103481  4       long    Param       local parameter, signed int 
                                                                    Ref: 103497, 103511, 103728, 103737=
notemp                          103702                              Label 
                                                                    -No References 
p                               103493  4       long    Auto        short pointer to char 
                                                                    Ref: 103783=, 103787, 103791=, 103795, 103808, 103809, 103811
                                                                    , 103813, 103814, 103816=, 103822, 103825, 103826=, 103830, 
                                                                    103838, 103857, 103860
p                               103523  4       long    Auto        short pointer to char 
                                                                    Ref: 103526=, 103536=, 103537, 103538=, 103539, 103539=, 
                                                                    103540, 103540=, 103556, 103564=, 103568, 103574
p2                              103806  4       long    Auto        short pointer to char 
                                                                    Ref: 103806=, 103813=, 103814, 103815, 103816, 103827, 103827
                                                                    , 103834, 103834
pattern                         103481  4       long    Param       local parameter, short pointer to unsigned char 
                                                                    Ref: 103499, 103502, 103503*, 103504=, 103645, 103721, 103722
                                                                    =, 103723, 103724*, 103725=, 103786, 103787, 103794, 103795, 
                                                                    103826
proxy_switch                    103481  4       long    Param       local parameter, signed int 
                                                                    -No References 
rcs                             103495  4       long    Auto        signed int 
                                                                    Ref: 103495=, 103619=, 103620, 103620=, 103621, 103668
whicharg                        103491  4       long    Auto        short pointer to unsigned char 
                                                                    Ref: 103646=, 103649=, 103651=, 103653=, 103657, 103661
x                               103494  4       long    Auto        signed int 
                                                                    Ref: 103643=, 103644, 103659=, 103670
x                               103810  4       long    Auto        signed int 
                                                                    Ref: 103822=, 103824
xlate                           103495  4       long    Auto        signed int 
                                                                    Ref: 103495=, 103612=, 103613, 103616=, 103618, 103621=, 
                                                                    103666


FUNCTION looping_write defined at line  103887
______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             103887  4       long    Param       local parameter, short pointer to const char 
                                                                    Ref: 103895, 103901=
cc                              103892  4       long    Auto        signed int 
                                                                    Ref: 103895=, 103896, 103899, 103901, 103902
fd                              103887  4       long    Param       local parameter, signed int 
                                                                    Ref: 103895
len                             103887  4       long    Param       local parameter, signed int 
                                                                    Ref: 103893, 103905
wrlen                           103893  4       long    Reg         signed int 
                                                                    Ref: 103893=, 103895, 103902=, 103904


FUNCTION looping_read defined at line  103911
_____________________________________________

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2403
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             103911  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 103919, 103927=
cc                              103916  4       long    Auto        signed int 
                                                                    Ref: 103919=, 103920, 103923, 103924, 103927, 103928, 103929
fd                              103911  4       long    Param       local parameter, signed int 
                                                                    Ref: 103919
len                             103911  4       long    Param       local parameter, signed int 
                                                                    Ref: 103919, 103929=, 103931
len2                            103916  4       long    Auto        signed int 
                                                                    Ref: 103916=, 103925, 103928=, 103932


FUNCTION secure_flush defined at line  103972
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

fd                              103972  4       long    Param       local parameter, signed int 
                                                                    Ref: 103983, 103987, 103992
len                             103978  4       long    Auto        signed int 
                                                                    Ref: 103978=, 103981=, 103995, 103997
rc                              103977  4       long    Auto        signed int 
                                                                    Ref: 103977=, 103983=, 103987=, 103988, 103992=, 103995, 
                                                                    104000
xflush                          103994                              Label 
                                                                    Ref: 103985, 103989


FUNCTION secure_write defined at line  104027
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

b2cp                            104057  4       long    Auto        signed int 
                                                                    Ref: 104057=, 104064, 104067, 104068, 104069
bsent                           104054  4       long    Auto        signed int 
                                                                    Ref: 104054=, 104056, 104057, 104058, 104063, 104067, 104069=
                                                                    , 104078
buf                             104027  4       long    Param       local parameter, short pointer to unsigned char 
                                                                    Ref: 104051, 104067&[]
fd                              104027  4       long    Param       local parameter, signed int 
                                                                    Ref: 104039, 104047, 104051, 104073
nbyte                           104027  4       long    Param       local parameter, unsigned int 
                                                                    Ref: 104051, 104056, 104057, 104058
ret                             104035  4       long    Auto        signed int 
                                                                    Ref: 104047=, 104048, 104073=, 104074, 104075
ucbuflen                        104053  4       long    Auto        signed int 
                                                                    Ref: 104053=, 104057, 104058, 104061, 104071, 104073

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2404
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4



FUNCTION secure_putbuf defined at line  104089
______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             104089  4       long    Param       local parameter, short pointer to unsigned char 
                                                                    Ref: 104110
bufsize                         104096  4       long    Static      unsigned int 
                                                                    Ref: 104096=
count                           104104  4       long    Auto        signed int 
                                                                    Ref: 104110=, 104111
error                           104104  4       long    Auto        signed int 
                                                                    Ref: 104111=, 104112
fd                              104089  4       long    Param       local parameter, signed int 
                                                                    Ref: 104270, 104272
length                          104098  4       long    Auto        signed int 
                                                                    Ref: 104098=, 104269, 104272, 104272
nbyte                           104089  4       long    Param       local parameter, unsigned int 
                                                                    Ref: 104107, 104110
net_len                         104099  4       long    Auto        unsigned int 
                                                                    Ref: 104099=, 104269=, 104270&
outbuf                          104094  4       long    Static      short pointer to char 
                                                                    Ref: 104094=, 104272


FUNCTION secure_getbyte defined at line  104282
_______________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

bufp                            104288  4       long    Static      unsigned int 
                                                                    Ref: 104288=, 104293=, 104320=, 104341=, 104481
count                           104308  4       long    Auto        signed int 
                                                                    Ref: 104309=, 104310, 104314, 104315, 104319, 104320, 104324
                                                                    , 104341=
error                           104308  4       long    Auto        signed int 
                                                                    Ref: 104310=, 104312, 104313, 104317
fc                              104282  4       long    Param       local parameter, signed int 
                                                                    Ref: 104292
fd                              104282  4       long    Param       local parameter, signed int 
                                                                    Ref: 104302, 104361, 104381
kerror                          104289  4       long    Auto        signed int 
                                                                    Ref: 104361=, 104362, 104364, 104365, 104381=, 104384
length                          104290  4       long    Auto        unsigned int 
                                                                    Ref: 104361&, 104361, 104362, 104370, 104371, 104373=, 104373
                                                                    , 104374, 104376, 104381, 104381, 104383
nin                             104288  4       long    Static      unsigned int 
                                                                    Ref: 104288=, 104293=, 104297, 104320=, 104341=, 104473, 
                                                                    104478, 104481=



CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2405
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

FUNCTION secure_getc defined at line  104496
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

bufp                            104502  4       long    Static      unsigned int 
                                                                    Ref: 104502=, 104504=, 104515=, 104521=, 104525=, 104537
fc                              104496  4       long    Param       local parameter, signed int 
                                                                    Ref: 104503, 104539
fd                              104496  4       long    Param       local parameter, signed int 
                                                                    Ref: 104513, 104521, 104539
nin                             104502  4       long    Static      unsigned int 
                                                                    Ref: 104502=, 104504=, 104508, 104515=, 104521=, 104522, 
                                                                    104522, 104523, 104525=, 104528, 104533, 104537=


FUNCTION secure_read defined at line  104550
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

buf                             104550  4       long    Param       local parameter, short pointer to char 
                                                                    Ref: 104581=[]
c                               104555  4       long    Static      signed int 
                                                                    Ref: 104555=, 104559, 104560=, 104562=, 104563, 104565, 
                                                                    104568, 104569, 104571, 104573=, 104577, 104578, 104581
fd                              104550  4       long    Param       local parameter, signed int 
                                                                    Ref: 104562
i                               104556  4       long    Auto        signed int 
                                                                    Ref: 104561=, 104572, 104574, 104581=, 104584
nbyte                           104550  4       long    Param       local parameter, signed int 
                                                                    Ref: 104558, 104561, 104561=


FUNCTION radix_encode defined at line  104824
_____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

D                               104830  4       long    Auto        signed int 
                                                                    Ref: 104830=, 104838=, 104841, 104844, 104845, 104848, 104849
                                                                    , 104852, 104859, 104862
c                               104832  1       byte    Auto        unsigned char 
                                                                    Ref: 104832=, 104871=, 104874, 104875=, 104878, 104880=, 
                                                                    104885
decode                          104824  4       long    Param       local parameter, signed int 
                                                                    Ref: 104834
i                               104830  4       long    Auto        signed int 
                                                                    Ref: 104835=, 104835, 104835, 104836, 104839, 104835=, 104857
                                                                    , 104860, 104863, 104867=, 104867, 104868, 104870, 104871, 
                                                                    104874, 104875, 104878, 104879, 104867=, 104885, 104886

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2406
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

inbuf                           104824  4       long    Param       local parameter, short pointer to unsigned char 
                                                                    Ref: 104835[], 104835[], 104836[], 104860&[], 104863&[], 
                                                                    104870[], 104871[], 104874[], 104875[], 104878[], 104879[]
inlen                           104824  4       long    Param       local parameter, signed int 
                                                                    Ref: 104867
j                               104830  4       long    Auto        signed int 
                                                                    Ref: 104835=, 104841, 104844=, 104845, 104848=, 104849, 
                                                                    104852=, 104854, 104865, 104867=, 104870=, 104874=, 104878=, 
                                                                    104879=, 104882, 104885=, 104887=, 104888=, 104890
outbuf                          104824  4       long    Param       local parameter, short pointer to unsigned char 
                                                                    Ref: 104841=[], 104844=[], 104845=[], 104848=[], 104849=[], 
                                                                    104852=[], 104870=[], 104874=[], 104878=[], 104879=[], 104885
                                                                    =[], 104887=[], 104888=[], 104890=[]
outlen                          104824  4       long    Param       local parameter, short pointer to signed int 
                                                                    Ref: 104854*, 104865=*, 104882*, 104890=*
p                               104831  4       long    Auto        short pointer to char 
                                                                    Ref: 104836=, 104838


FUNCTION radix_error defined at line  104897
____________________________________________


Identifier name                 Line    Size    Aligned Storage Cl. Type and References
_______________                 ____    ____    _______ ___________ ___________________

e                               104897  4       long    Param       local parameter, signed int 
                                                                    Ref: 104902




Command Line
------- ----

CC/UNSIGNED_CHAR/PREFIX_LIBRARY_ENTRIES=(AL,EX=IOCTL)/DEF=(DEC_TCPIP,DECC,VMS_V
84,NOVMSSHARE,NEWFTP,_LARGEFILE_SOURCE,_LARGEFILE,CK_SSL,OPENSSL_100,VMSV60,VMS
V70,VMSV80,UCX50,IF_DOT_H,TCPSOCKET)/LIST/SHOW=(ALL,NOMESS)/OBJECT=CKCFTP.OBJ K
:CKCFTP.C

Hardware: /ARCHITECTURE=GENERIC /OPTIMIZE=TUNE=GENERIC

These macros are in effect at the start of the compilation.
----- ------ --- -- ------ -- --- ----- -- --- ------------

 __G_FLOAT=0  __DECC=1  vms=1  UCX50=1  VMS=1  __32BITS=1 
 __PRAGMA_ENVIRONMENT=1  IF_DOT_H=1  __ia64__=1  _LARGEFILE_SOURCE=1 
 __CRTL_VER=80500000  __vms_version="V8.4-2L3"  CC$gfloat=0  VMSV70=1 
 __X_FLOAT=1  OPENSSL_100=1  vms_version="V8.4-2L3"  __DATE__="Jun 23 2023" 
 __STDC_VERSION__=199901L  __DECC_MODE_RELAXED=1  __DECC_VER=70490001 
 __VMS=1  _LARGEFILE=1  NOVMSSHARE=1  DECC=1  DEC_TCPIP=1 
 VMS_VERSION="V8.4-2L3"  __UNSIGNED_CHAR=1  __IEEE_FLOAT=1 
 __VMS_VERSION="V8.4-2L3"  VMSV60=1  VMS_V84=1  __TIME__="09:02:38"  __ia64=1 
 CK_SSL=1  __VMS_VER=80421222  VMSV80=1  __BIASED_FLT_ROUNDS=2 
 __INITIAL_POINTER_SIZE=0  NEWFTP=1  __STDC__=2  _IEEE_FP=1  __LANGUAGE_C__=1 
 __vms=1  TCPSOCKET=1  __D_FLOAT=0 


CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2407
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

COMPILER INTERNAL TIMING

        Phase                          CPU    Elapsed    Page      I/O
                                     seconds  seconds   faults    count
    Front end totals                   10.83    10.86     7606     2301
      Lex/Parse                        10.30    10.35     3115     2260
      Semantics                         0.50     0.48     3971        0
      Analysis data generation          0.00     0.00        0        0
    Pointer type alias analysis         0.00     0.00        0        0
    IL expansion                        0.13     0.15     1799        0
    Optimization                        1.75     1.71     5469        0
      Dominator tree construction       0.00     0.02        0        0
      Loop dominator insertion          0.00     0.01        7        0
      Lifetime analysis                 0.00     0.00        0        0
      IDEF computation                  0.03     0.04        3        0
      DATAFLOW computation              0.70     0.86     1841        0
      Loop transforms                   0.00     0.00        0        0
        Dependence graph building       0.00     0.00        0        0
        Finding SCRs in the graph       0.00     0.00        0        0
        Early fusion/topsort            0.00     0.00        0        0
        Heuristic weighting             0.00     0.00        0        0
        Loop strategy selection         0.00     0.00        0        0
        Loop placement/late fusion      0.00     0.00        0        0
        Final loop rewriting            0.00     0.00        0        0
      Decomp expansion                  0.00     0.00        0        0
      BR loop/branch optimization       0.01     0.01      115        0
      Strength reduction                0.00     0.01      117        0
      Loop unroll/Loop optimization     0.00     0.00      130        0
      Test replacement                  0.00     0.00        0        0
      Profitability determination       0.01     0.00       25        0
      Profitability reordering          0.01     0.03        4        0
      Decomp outlining                  0.00     0.00        0        0
      Use propagation                   0.00     0.00        3        0
      Split lifetime analysis           0.23     0.20     1656        0
      Base Binding                      0.12     0.12      401        0
        Base binding - Dataflow         0.04     0.05      279        0
        Base-binding - Profitabilit     0.00     0.01        1        0
        Base-binding - Transformati     0.00     0.00        0        0
    Code Generation                     1.25     1.25     4422        0
      Context analysis                  0.34     0.33      632        0
        Pattern Selection               0.13     0.12      317        0
        IL Scheduling                   0.08     0.10       12        0
      Register History                  0.05     0.05       18        0
      Temporary allocation              0.61     0.63     1007        0
      Code emission                     0.24     0.17     1348        0
    Final                               5.18     5.20    13678        0
      Peepholing                        1.60     1.68     4515        0
      Final flow analysis               0.00     0.00        0        0
      Object scheduling                 3.53     3.46     7563        0
      Branch/jump resolution            0.02     0.02     1361        0
    Object module generation            0.23     6.51     1439     2378
  Compiler totals                      22.72    32.36    40709     7139

CKCFTP                          Source Listing                  23-JUN-2023 09:02:38  VSI C V7.4-001-50L7J              Page 2408
V1.0                                                            23-JUN-2023 08:54:50  [UTILITY.SOURCE.KERMIT.x-20230622]ckcftp.c;4

COMPILATION STATISTICS

  CPU time:         22.72 seconds
  Elapsed time:     32.36 seconds
  Pagefaults:       40709
  I/O Count:         7139
  Source lines:    105757

  279287 lines per CPU minute.
