The following sample assembler code builds an SIOCTTLSCTL
ioctl and issues the ioctl using the Macro API (EZASMI). The ioctl
requests initialization of the secure connection and the return of
the partner's certificate in the provided buffer.
...
***********************************************************************
* *
* Issue SIOCTTLSCTL IOCTL to start data encryption. *
* This requires AT-TLS policy with ApplicationControlled On *
* specified. *
* *
***********************************************************************
* clear ioctl buffer and then set version
XC TTLS_IOCTL(TTLS_IOCTL_V1Len),TTLS_IOCTL
MVI TTLSi_Ver,TTLS_VERSION1
L R8,=A(TTLS_INIT_CONNECTION)
O R8,=A(TTLS_RETURN_CERTIFICATE)
STH R8,TTLSi_Req_Type
LA R8,BUFFERA
ST R8,TTLSi_BufferPtr
MVC TTLSi_BufferLen,=A(L'BUFFERA)
*
EZASMI TYPE=IOCTL, ISSUE IOCTL MACRO X
S=SOCDESCA, X
COMMAND='SIOCTTLSCTL', X
REQARG=TTLS_IOCTL, X
RETARG=TTLS_IOCTL, X
REQAREA=REQAREA, IN CASE WE ARE DOING EXITS OR ECBS X
ERRNO=ERRNO, RETURN ERRNO HERE X
RETCODE=RETCODE, RETURN RETCODE HERE X
ERROR=ERROR ABEND IF MACRO ERROR
*
...
BUFFERA DS CL1024
..
EZBZTLSP DSECT=NO TTLS ioctl structure
...