[Info-vax] Once again trying to use the SSL ported to VMS

Steven Schweda sms.antinode at gmail.com
Mon Nov 28 23:18:39 EST 2011


On Nov 28, 9:03 pm, David Froble <davefro... at gmail.com> wrote:

> Caustic as ever, I see.

   I have a phobia of incomplete/uninformative problem
descriptions.  Which version of anything you might be using
(or on what) remains a mystery to us non-psychics.  (Or did I
miss something/everything?)


> My problem with this is, I'm not sure what C considers (a) NULL.

ALP $ show logical decc_include
   "DECC_INCLUDE" = "SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF]" (LNM
$SYSTEM_TABLE)
        = "SYS$COMMON:[DECC$LIB.REFERENCE.SYS$STARLET_C]"

ALP $ search decc_include:*.h /match = and define, null

******************************
SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF]DECC$TYPES.H;11
[...]
#      define __NULL ((void *) 0)
[...]

SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF]STDIO.H;11

#   define NULL __NULL

   So, NULL is a pointer-sized zero.


> Yes, I had found that, but if you read it, you'll see that while it
> says that a small integer value is returned, I'm not sure what that
> means.  Does it mean a byte, a word, or just a low value.  Since it's
> returning a value, I'm assuming that I can store it in a longword.

   My HELP says that it's "an HP C run-time library file
descriptor" of type "int", meaning it's a 32-bit integer
which has some significance to the usual C UNIX I/O functions
(like, say, close(), open(), read(), write(), ...).  If your
HELP is old and useless, then a current HTML CRTL manual
might be better.  Still no need to assume anything, though.


> No I have not, and from the way you phrased that, I'm probably going
> to be disappointed.  We'll see.

   As I suggested, I've never tried to use the OpenSSL docs,
so I don't know how good or bad anything there might be.
(But I try to keep my expectations low.)


> If I tried to sell a product such as I'm finding this (SSL port) to
> be, I wouldn't keep many customers.

   That might depend on the price, which, as I recall, is
quite low.

   On the bright side, I believe that the latest OpenSSL
(version 1.0.0e) kit can actually be built on VAX, Alpha, or
IA64 (and with either pointer size, where a choice is
available, including a work-around for the known argv[]
termination problem in HP C V7.3-009 on Alpha).


> I just have a hard time believing that there is are no non-C users on
> VMS using SSL ....

   I lack relevant data.  In any case, I'd guess that the
usual cross-language techniques would be useful here.  In
some cases, use of the non-standard argument-passing stuff,
like %VAL() and friends, can make it practical to use C
functions directly from a non-C program.  In some cases, a
non-C-language-friendly C wrapper function may be more
helpful.  In either case, if the primary interface
descriptions are C-language function prototypes, then some
familiarity with the C language and run-time environment is
pretty close to a prerequisite to making any sense of this
stuff.  ("What's a NULL?" is not an auspicious start, for
example.)  Long ago, I had to deal with some stuff like this
when adding some C code to a primarily FORTRAN (pre-Fortran)
program.  (Character-string arguments are handled differently
by non-VMS FORTRAN compilers, too, adding even more
system-dependent fun.)  As usual, many things are possible,
and everything's complicated.



More information about the Info-vax mailing list