Remove useless code

This commit is contained in:
Zhi Guan
2019-09-03 18:32:27 +08:00
parent c8fab0ffac
commit 54c7dc3442
13 changed files with 5144 additions and 7460 deletions

View File

@@ -1,18 +0,0 @@
#ifndef _align_h_
#define _align_h_
#ifdef ALIGN
#undef ALIGN
#endif
#if defined(__GNUC__)
#define ALIGN(x) __attribute__ ((aligned(x)))
#elif defined(_MSC_VER)
#define ALIGN(x) __declspec(align(x))
#elif defined(__ARMCC_VERSION)
#define ALIGN(x) __align(x)
#else
#define ALIGN(x)
#endif
#endif

View File

@@ -1,275 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/is_gmssl.h>
#include "GmSSLObject.h"
/*
* interface gmssl {
* readonly attribute DOMString version;
* DOMString encrypt(in DOMString algor, in DOMString plaintext, in DOMString public_key);
* DOMString decrypt(in DOMString algor, in DOMString ciphertext, in DOMString private_key);
* };
*/
const char *prog = "gmssl";
static bool identifiersInitialized = false;
#define GMSSL_VERSION "GmSSL JavaScript API 1.0 Feb 3 2019"
#define GMSSL_PROPERTY_VERSION 0
#define GMSSL_NUM_PROPERTIES 1
static NPIdentifier gmsslPropertyIdentifiers[GMSSL_NUM_PROPERTIES];
static const NPUTF8 *gmsslPropertyNames[GMSSL_NUM_PROPERTIES] = {
"version",
};
#define GMSSL_METHOD_KEYGEN 0
#define GMSSL_METHOD_ENCRYPT 1
#define GMSSL_METHOD_DECRYPT 2
#define GMSSL_NUM_METHODS 3
static NPIdentifier gmsslMethodIdentifiers[GMSSL_NUM_METHODS];
static const NPUTF8 *gmsslMethodNames[GMSSL_NUM_METHODS] = {
"sm3",
"sm4cbcencrypt",
"sm4cbcdecrypt",
};
static bool do_keygen(const NPVariant algor, NPVariant *result);
static bool do_encrypt(const NPVariant algor, const NPVariant plaintext, const NPVariant pubkey, NPVariant *result);
static bool do_decrypt(const NPVariant algor, const NPVariant ciphertext, const NPVariant privkey, NPVariant *result);
static NPObject *gmsslAllocate(NPP npp, NPClass *theClass)
{
GmSSLObject *newInstance = (GmSSLObject *)malloc(sizeof(GmSSLObject));
if (!identifiersInitialized) {
browser->getstringidentifiers(gmsslPropertyNames,
GMSSL_NUM_PROPERTIES, gmsslPropertyIdentifiers);
browser->getstringidentifiers(gmsslMethodNames,
GMSSL_NUM_METHODS, gmsslMethodIdentifiers);
identifiersInitialized = true;
}
return &newInstance->header;
}
static void gmsslDeallocate(NPObject *obj)
{
free(obj);
}
static void gmsslInvalidate(NPObject *obj)
{
}
static bool gmsslHasMethod(NPObject *obj, NPIdentifier name)
{
int i;
fprintf(stderr, "HashMethod(%s)\n", browser->utf8fromidentifier(name));
for (i = 0; i < GMSSL_NUM_METHODS; i++) {
if (name == gmsslMethodIdentifiers[i])
return true;
else
fprintf(stderr, "HashMethod(%s)\n", browser->utf8fromidentifier(name));
}
return false;
}
static bool gmsslInvoke(NPObject *obj, NPIdentifier name, const NPVariant *args,
uint32_t argCount, NPVariant *variant)
{
if (name == gmsslMethodIdentifiers[GMSSL_METHOD_KEYGEN]) {
if (argCount != 1) {
fprintf(stderr, "GmSSLObject: bad arguments\n");
return false;
}
return do_keygen(args[0], variant);
}
if (name == gmsslMethodIdentifiers[GMSSL_METHOD_ENCRYPT]) {
if (argCount != 3) {
fprintf(stderr, "%s: bad arguments", "prog");
return false;
}
return do_encrypt(args[0], args[1], args[2], variant);
}
if (name == gmsslMethodIdentifiers[GMSSL_METHOD_DECRYPT]) {
if (argCount != 3) {
fprintf(stderr, "%s: bad argument count\n", "prog");
return false;
}
return do_decrypt(args[0], args[1], args[2], variant);
}
return false;
}
static bool gmsslInvokeDefault(NPObject *obj, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
return false;
}
static bool gmsslHasProperty(NPObject *obj, NPIdentifier name)
{
int i;
for (i = 0; i < GMSSL_NUM_PROPERTIES; i++)
if (name == gmsslPropertyIdentifiers[i])
return true;
return false;
}
static bool gmsslGetProperty(NPObject *obj, NPIdentifier name, NPVariant *variant)
{
//GmSSLObject *gmsslObject = (GmSSLObject *)obj;
fprintf(stderr, "%s: cryptoGetProperty(%s)\n", prog, browser->utf8fromidentifier(name));
if (name == gmsslPropertyIdentifiers[GMSSL_PROPERTY_VERSION]) {
STRINGZ_TO_NPVARIANT(strdup(GMSSL_VERSION), *variant);
return true;
}
return false;
}
static bool gmsslSetProperty(NPObject *obj, NPIdentifier name,
const NPVariant *variant)
{
return false;
}
static NPClass gmsslClass = {
NP_CLASS_STRUCT_VERSION,
gmsslAllocate,
gmsslDeallocate,
gmsslInvalidate,
gmsslHasMethod,
gmsslInvoke,
gmsslInvokeDefault,
gmsslHasProperty,
gmsslGetProperty,
gmsslSetProperty,
};
NPClass *getGmSSLClass(void)
{
return &gmsslClass;
}
static bool do_keygen(const NPVariant algor, NPVariant *result)
{
bool ret = false;
/* set the default return value */
NULL_TO_NPVARIANT(*result);
if (!NPVARIANT_IS_STRING(algor)) {
goto end;
}
if (!(alg_str = NPVARIANT_TO_STRING(algor).UTF8Characters)
|| strlen(alg_str) <= 0
|| !(alg =
return ret;
}
static bool sms4_cbc_encrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result)
{
}
static bool sms4_cbc_decrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result)
{
}
static bool sm2_sign(const NPVariant dgst, const NPVariant key, NPVariant *result)
{
}
static bool sm2_sign(const NPVariant dgst, const NPVariant sig, const NPVariant key, NPVariant *result)
{
}
static bool sm2_encrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result)
{
}
static bool sm2_decrypt(const NPVariant plaintext, const NPVariant key, NPVariant *result)
{
}
static bool do_encrypt(const NPVariant algor, const NPVariant plaintext,
const NPVariant pubkey, NPVariant *result)
{
bool ret = false;
return ret;
}
static bool do_decrypt(const NPVariant algor, const NPVariant ciphertext,
const NPVariant privkey, NPVariant *result)
{
bool ret = false;
return ret;
}

View File

@@ -1,72 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#ifndef NPAPI_GMSSLOBJECT_H
#define NPAPI_GMSSLOBJECT_H
#include "npapi.h"
#include "npruntime.h"
#include "npfunctions.h"
#ifdef __cplusplus
extern "C" {
#endif
extern NPNetscapeFuncs* browser;
typedef struct GmSSLObject {
NPObject header;
} GmSSLObject;
NPClass *getGmSSLClass(void);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,13 +0,0 @@
.PHONY: all clean install
all:
gcc -shared -Wall main.c PluginObject.c GmSSLObject.c -lcrypto -ldl -o libgmssl.so
clean:
rm -f *.o
rm -f *.so
install:
cp libgmssl.so /usr/lib/mozilla/plugins/

View File

@@ -1,175 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "PluginObject.h"
static bool identifiersInitialized = false;
#define PLUGIN_PROPERTY_GMSSL 0
#define PLUGIN_NUM_PROPERTIES 1
static NPIdentifier pluginPropertyIdentifiers[PLUGIN_NUM_PROPERTIES];
static const NPUTF8 *pluginPropertyNames[PLUGIN_NUM_PROPERTIES] = {
"gmssl",
};
#define PLUGIN_METHOD_GETTOKEN 0
#define PLUGIN_NUM_METHODS 1
static NPIdentifier pluginMethodIdentifiers[PLUGIN_NUM_METHODS];
static const NPUTF8 *pluginMethodNames[PLUGIN_NUM_METHODS] = {
"getToken"
};
static void initializeIdentifiers(void)
{
browser->getstringidentifiers(pluginPropertyNames,
PLUGIN_NUM_PROPERTIES, pluginPropertyIdentifiers);
browser->getstringidentifiers(pluginMethodNames,
PLUGIN_NUM_METHODS, pluginMethodIdentifiers);
}
bool pluginHasProperty(NPObject *obj, NPIdentifier name)
{
int i;
//fprintf(stderr, "pluginHasProperty(%s)\n", browser->utf8fromidentifier(name));
for (i = 0; i < PLUGIN_NUM_PROPERTIES; i++)
if (name == pluginPropertyIdentifiers[i])
return true;
return false;
}
bool pluginHasMethod(NPObject *obj, NPIdentifier name)
{
int i;
//fprintf(stderr, "pluginHasMethod(%s)\n", browser->utf8fromidentifier(name));
for (i = 0; i < PLUGIN_NUM_METHODS; i++)
if (name == pluginMethodIdentifiers[i])
return true;
return false;
}
bool pluginGetProperty(NPObject *obj, NPIdentifier name, NPVariant *variant)
{
PluginObject *plugin = (PluginObject *)obj;
//fprintf(stderr, "pluginGetProperty(%s)\n", browser->utf8fromidentifier(name));
if (name == pluginPropertyIdentifiers[PLUGIN_PROPERTY_GMSSL]) {
//fprintf(stderr, "webvision: get GmSSLObject\n");
NPObject *resultObj = &plugin->gmsslObject->header;
browser->retainobject(resultObj);
OBJECT_TO_NPVARIANT(resultObj, *variant);
return true;
}
return false;
}
bool pluginSetProperty(NPObject *obj, NPIdentifier name, const NPVariant *variant)
{
return false;
}
bool pluginInvoke(NPObject *obj, NPIdentifier name, const NPVariant *args, uint32_t argCount, NPVariant *result)
{
return false;
}
bool pluginInvokeDefault(NPObject *obj, const NPVariant *args, uint32_t argCount, NPVariant *result)
{
return false;
}
void pluginInvalidate(NPObject *obj)
{
// Release any remaining references to JavaScript objects.
}
NPObject *pluginAllocate(NPP npp, NPClass *theClass)
{
PluginObject *newInstance = malloc(sizeof(PluginObject));
//fprintf(stderr, "pluginAllocate()\n");
if (!identifiersInitialized) {
identifiersInitialized = true;
initializeIdentifiers();
}
newInstance->gmsslObject =
(GmSSLObject *)browser->createobject(npp, getGmSSLClass());
newInstance->npp = npp;
return &newInstance->header;
}
void pluginDeallocate(NPObject *obj)
{
free(obj);
}
static NPClass pluginClass = {
NP_CLASS_STRUCT_VERSION,
pluginAllocate,
pluginDeallocate,
pluginInvalidate,
pluginHasMethod,
pluginInvoke,
pluginInvokeDefault,
pluginHasProperty,
pluginGetProperty,
pluginSetProperty,
};
NPClass *getPluginClass(void)
{
return &pluginClass;
}

View File

@@ -1,72 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#ifndef NPAPI_PLUGINOBJECT_H
#define NPAPI_PLUGINOBJECT_H
#include "GmSSLObject.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct PluginObject {
NPObject header;
NPP npp;
GmSSLObject *gmsslObject;
} PluginObject;
NPClass *getPluginClass(void);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,20 +0,0 @@
<html>
<head>
<title>GmSSL Plugin Test</title>
</head>
<body>
<h1>GmSSL Plugin Test</h1>
<hr>
<embed name="plugin" type="application/x-gmssl" id="plugin" width="0" height="0"></embed>
<br>
<script>
var gmssl = document.getElementById('plugin').gmssl;
document.write('GmSSL NPAPI Plugin Version: ' + gmssl.version + '<br><br>');
</script>
</body>
</html>

View File

@@ -1,203 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#include "PluginObject.h"
#include <stdio.h>
#include <assert.h>
#define PLUGIN_NAME "GmSSL Plugin"
#define PLUGIN_DESCRIPTION "GmSSL NPAPI Plugin version 1.0"
#define PLUGIN_MIME "application/x-gmssl::GmSSL NPAPI Plugin"
NPNetscapeFuncs* browser;
NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc,
char* argn[], char* argv[], NPSavedData* saved)
{
if (browser->version >= 14)
instance->pdata = browser->createobject(instance, getPluginClass());
return NPERR_NO_ERROR;
}
NPError NPP_Destroy(NPP instance, NPSavedData** save)
{
return NPERR_NO_ERROR;
}
NPError NPP_SetWindow(NPP instance, NPWindow* window)
{
return NPERR_NO_ERROR;
}
NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream,
NPBool seekable, uint16* stype)
{
*stype = NP_ASFILEONLY;
return NPERR_NO_ERROR;
}
NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason)
{
return NPERR_NO_ERROR;
}
int32 NPP_WriteReady(NPP instance, NPStream* stream)
{
return 0;
}
int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len,
void* buffer)
{
return 0;
}
void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname)
{
}
void NPP_Print(NPP instance, NPPrint* platformPrint)
{
}
int16 NPP_HandleEvent(NPP instance, void* event)
{
return 0;
}
void NPP_URLNotify(NPP instance, const char* url, NPReason reason,
void* notifyData)
{
}
NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value)
{
switch (variable) {
case NPPVpluginNameString:
*((char **)value) = PLUGIN_NAME;
return NPERR_NO_ERROR;
case NPPVpluginDescriptionString:
*((char **)value) = PLUGIN_DESCRIPTION;
return NPERR_NO_ERROR;
case NPPVpluginNeedsXEmbed:
*((NPBool *)value) = TRUE;
return NPERR_NO_ERROR;
case NPPVpluginScriptableNPObject:
assert(instance->pdata != NULL); /* this will not happen */
browser->retainobject((NPObject*)instance->pdata);
*((void **)value) = instance->pdata;
return NPERR_NO_ERROR;
default:
fprintf(stderr, "HcryptPlugin: %s() unknown value `%x'\n",
__FUNCTION__, variable);
return NPERR_GENERIC_ERROR;
}
return NPERR_GENERIC_ERROR;
}
NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value)
{
return NPERR_GENERIC_ERROR;
}
NPError NP_GetValue(void* future, NPPVariable variable, void *value)
{
return NPP_GetValue(future, variable, value);
}
NPError NP_GetEntryPoints(NPPluginFuncs* pluginFuncs)
{
pluginFuncs->version = 11;
pluginFuncs->size = sizeof(pluginFuncs);
pluginFuncs->newp = NPP_New;
pluginFuncs->destroy = NPP_Destroy;
pluginFuncs->setwindow = NPP_SetWindow;
pluginFuncs->newstream = NPP_NewStream;
pluginFuncs->destroystream = NPP_DestroyStream;
pluginFuncs->asfile = NPP_StreamAsFile;
pluginFuncs->writeready = NPP_WriteReady;
pluginFuncs->write = (NPP_WriteProcPtr)NPP_Write;
pluginFuncs->print = NPP_Print;
pluginFuncs->event = NPP_HandleEvent;
pluginFuncs->urlnotify = NPP_URLNotify;
pluginFuncs->getvalue = NPP_GetValue;
pluginFuncs->setvalue = NPP_SetValue;
return NPERR_NO_ERROR;
}
NPError NP_Initialize(NPNetscapeFuncs* browserFuncs, NPPluginFuncs* pluginFuncs)
{
browser = browserFuncs;
NP_GetEntryPoints(pluginFuncs);
return NPERR_NO_ERROR;
}
char *NP_GetMIMEDescription(void)
{
return (char *)PLUGIN_MIME;
}
void NP_Shutdown(void)
{
}
#if 0
#pragma export on
NPError NP_Initialize(NPNetscapeFuncs* browserFuncs, NPPluginFuncs* pluginFuncs);
NPError NP_GetEntryPoints(NPPluginFuncs *pluginFuncs);
void NP_Shutdown(void);
#pragma export off
#endif

View File

@@ -1,892 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#ifndef _NPAPI_H_
#define _NPAPI_H_
typedef int bool;
#define true 1
#define false 0
#ifdef INCLUDE_JAVA
#include "jri.h" /* Java Runtime Interface */
#else
#define jref void *
#define JRIEnv void
#endif
#ifdef _WIN32
# ifndef XP_WIN
# define XP_WIN 1
# endif /* XP_WIN */
#endif /* _WIN32 */
#ifdef __SYMBIAN32__
# ifndef XP_SYMBIAN
# define XP_SYMBIAN 1
# endif
#endif /* __SYMBIAN32__ */
#ifdef __MWERKS__
# define _declspec __declspec
# ifdef macintosh
# ifndef XP_MAC
# define XP_MAC 1
# endif /* XP_MAC */
# endif /* macintosh */
# ifdef __INTEL__
# ifndef XP_SYMBIAN
# undef NULL
# ifndef XP_WIN
# define XP_WIN 1
# endif /* XP_WIN */
# endif /* XP_SYMBIAN */
# endif /* __INTEL__ */
#endif /* __MWERKS__ */
#if defined(__APPLE_CC__) && !defined(__MACOS_CLASSIC__) && !defined(XP_UNIX)
# define XP_MACOSX
#endif
#ifdef XP_MAC
#include <Quickdraw.h>
#include <Events.h>
#endif
#if defined(XP_MACOSX) && defined(__LP64__)
#define NP_NO_QUICKDRAW
#define NP_NO_CARBON
#endif
#ifdef XP_MACOSX
#include <ApplicationServices/ApplicationServices.h>
#include <OpenGL/OpenGL.h>
#ifndef NP_NO_CARBON
#include <Carbon/Carbon.h>
#endif
#endif
#ifdef XP_UNIX
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>
#endif
#if defined(XP_SYMBIAN)
#include <QEvent>
#include <QRegion>
#endif
#ifdef XP_WIN
#include <windows.h>
#endif
/*----------------------------------------------------------------------*/
/* Plugin Version Constants */
/*----------------------------------------------------------------------*/
#define NP_VERSION_MAJOR 0
#define NP_VERSION_MINOR 24
/*----------------------------------------------------------------------*/
/* Definition of Basic Types */
/*----------------------------------------------------------------------*/
/* QNX sets the _INT16 and friends defines, but does not typedef the types */
#ifdef __QNXNTO__
#undef _UINT16
#undef _INT16
#undef _UINT32
#undef _INT32
#endif
#ifndef _UINT16
#define _UINT16
typedef unsigned short uint16;
#endif
#ifndef _UINT32
#define _UINT32
#ifdef __LP64__
typedef unsigned int uint32;
#else /* __LP64__ */
typedef unsigned long uint32;
#endif /* __LP64__ */
#endif
#ifndef _INT16
#define _INT16
typedef short int16;
#endif
#ifndef _INT32
#define _INT32
#ifdef __LP64__
typedef int int32;
#else /* __LP64__ */
typedef long int32;
#endif /* __LP64__ */
#endif
#ifndef FALSE
#define FALSE (0)
#endif
#ifndef TRUE
#define TRUE (1)
#endif
#ifndef NULL
#define NULL (0L)
#endif
typedef unsigned char NPBool;
typedef int16 NPError;
typedef int16 NPReason;
typedef char* NPMIMEType;
/*----------------------------------------------------------------------*/
/* Structures and definitions */
/*----------------------------------------------------------------------*/
#if !defined(__LP64__)
#if defined(XP_MAC) || defined(XP_MACOSX)
#pragma options align=mac68k
#endif
#endif /* __LP64__ */
/*
* NPP is a plug-in's opaque instance handle
*/
typedef struct _NPP
{
void* pdata; /* plug-in private data */
void* ndata; /* netscape private data */
} NPP_t;
typedef NPP_t* NPP;
typedef struct _NPStream
{
void* pdata; /* plug-in private data */
void* ndata; /* netscape private data */
const char* url;
uint32 end;
uint32 lastmodified;
void* notifyData;
const char* headers; /* Response headers from host.
* Exists only for >= NPVERS_HAS_RESPONSE_HEADERS.
* Used for HTTP only; NULL for non-HTTP.
* Available from NPP_NewStream onwards.
* Plugin should copy this data before storing it.
* Includes HTTP status line and all headers,
* preferably verbatim as received from server,
* headers formatted as in HTTP ("Header: Value"),
* and newlines (\n, NOT \r\n) separating lines.
* Terminated by \n\0 (NOT \n\n\0). */
} NPStream;
typedef struct _NPByteRange
{
int32 offset; /* negative offset means from the end */
uint32 length;
struct _NPByteRange* next;
} NPByteRange;
typedef struct _NPSavedData
{
int32 len;
void* buf;
} NPSavedData;
typedef struct _NPRect
{
uint16 top;
uint16 left;
uint16 bottom;
uint16 right;
} NPRect;
#ifdef XP_UNIX
/*
* Unix specific structures and definitions
*/
/*
* Callback Structures.
*
* These are used to pass additional platform specific information.
*/
enum {
NP_SETWINDOW = 1,
NP_PRINT
};
typedef struct
{
int32 type;
} NPAnyCallbackStruct;
typedef struct
{
int32 type;
Display* display;
Visual* visual;
Colormap colormap;
unsigned int depth;
} NPSetWindowCallbackStruct;
typedef struct
{
int32 type;
FILE* fp;
} NPPrintCallbackStruct;
#endif /* XP_UNIX */
/*
* The following masks are applied on certain platforms to NPNV and
* NPPV selectors that pass around pointers to COM interfaces. Newer
* compilers on some platforms may generate vtables that are not
* compatible with older compilers. To prevent older plugins from
* not understanding a new browser's ABI, these masks change the
* values of those selectors on those platforms. To remain backwards
* compatible with differenet versions of the browser, plugins can
* use these masks to dynamically determine and use the correct C++
* ABI that the browser is expecting. This does not apply to Windows
* as Microsoft's COM ABI will likely not change.
*/
#define NP_ABI_GCC3_MASK 0x10000000
/*
* gcc 3.x generated vtables on UNIX and OSX are incompatible with
* previous compilers.
*/
#if (defined (XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3))
#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK
#else
#define _NP_ABI_MIXIN_FOR_GCC3 0
#endif
#define NP_ABI_MACHO_MASK 0x01000000
/*
* On OSX, the Mach-O executable format is significantly
* different than CFM. In addition to having a different
* C++ ABI, it also has has different C calling convention.
* You must use glue code when calling between CFM and
* Mach-O C functions.
*/
#if (defined(TARGET_RT_MAC_MACHO))
#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK
#else
#define _NP_ABI_MIXIN_FOR_MACHO 0
#endif
#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO)
/*
* List of variable names for which NPP_GetValue shall be implemented
*/
typedef enum {
NPPVpluginNameString = 1,
NPPVpluginDescriptionString,
NPPVpluginWindowBool,
NPPVpluginTransparentBool,
NPPVjavaClass, /* Not implemented in WebKit */
NPPVpluginWindowSize, /* Not implemented in WebKit */
NPPVpluginTimerInterval, /* Not implemented in WebKit */
NPPVpluginScriptableInstance = (10 | NP_ABI_MASK), /* Not implemented in WebKit */
NPPVpluginScriptableIID = 11, /* Not implemented in WebKit */
/* 12 and over are available on Mozilla builds starting with 0.9.9 */
NPPVjavascriptPushCallerBool = 12, /* Not implemented in WebKit */
NPPVpluginKeepLibraryInMemory = 13, /* Not implemented in WebKit */
NPPVpluginNeedsXEmbed = 14, /* Not implemented in WebKit */
/* Get the NPObject for scripting the plugin. */
NPPVpluginScriptableNPObject = 15,
/* Get the plugin value (as \0-terminated UTF-8 string data) for
* form submission if the plugin is part of a form. Use
* NPN_MemAlloc() to allocate memory for the string data.
*/
NPPVformValue = 16, /* Not implemented in WebKit */
NPPVpluginUrlRequestsDisplayedBool = 17, /* Not implemented in WebKit */
/* Checks if the plugin is interested in receiving the http body of
* failed http requests (http status != 200).
*/
NPPVpluginWantsAllNetworkStreams = 18,
/* Checks to see if the plug-in would like the browser to load the "src" attribute. */
NPPVpluginCancelSrcStream = 20,
#ifdef XP_MACOSX
/* Used for negotiating drawing models */
NPPVpluginDrawingModel = 1000,
/* Used for negotiating event models */
NPPVpluginEventModel = 1001,
/* In the NPDrawingModelCoreAnimation drawing model, the browser asks the plug-in for a Core Animation layer. */
NPPVpluginCoreAnimationLayer = 1003
#endif
} NPPVariable;
/*
* List of variable names for which NPN_GetValue is implemented by Mozilla
*/
typedef enum {
NPNVxDisplay = 1,
NPNVxtAppContext,
NPNVnetscapeWindow,
NPNVjavascriptEnabledBool,
NPNVasdEnabledBool,
NPNVisOfflineBool,
/* 10 and over are available on Mozilla builds starting with 0.9.4 */
NPNVserviceManager = (10 | NP_ABI_MASK), /* Not implemented in WebKit */
NPNVDOMElement = (11 | NP_ABI_MASK), /* Not implemented in WebKit */
NPNVDOMWindow = (12 | NP_ABI_MASK), /* Not implemented in WebKit */
NPNVToolkit = (13 | NP_ABI_MASK), /* Not implemented in WebKit */
NPNVSupportsXEmbedBool = 14, /* Not implemented in WebKit */
/* Get the NPObject wrapper for the browser window. */
NPNVWindowNPObject = 15,
/* Get the NPObject wrapper for the plugins DOM element. */
NPNVPluginElementNPObject = 16,
NPNVSupportsWindowless = 17,
NPNVprivateModeBool = 18
#ifdef XP_MACOSX
, NPNVpluginDrawingModel = 1000 /* The NPDrawingModel specified by the plugin */
#ifndef NP_NO_QUICKDRAW
, NPNVsupportsQuickDrawBool = 2000 /* TRUE if the browser supports the QuickDraw drawing model */
#endif
, NPNVsupportsCoreGraphicsBool = 2001 /* TRUE if the browser supports the CoreGraphics drawing model */
, NPNVsupportsOpenGLBool = 2002 /* TRUE if the browser supports the OpenGL drawing model (CGL on Mac) */
, NPNVsupportsCoreAnimationBool = 2003 /* TRUE if the browser supports the CoreAnimation drawing model */
#ifndef NP_NO_CARBON
, NPNVsupportsCarbonBool = 3000 /* TRUE if the browser supports the Carbon event model */
#endif
, NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */
#endif /* XP_MACOSX */
} NPNVariable;
typedef enum {
NPNURLVCookie = 501,
NPNURLVProxy
} NPNURLVariable;
/*
* The type of a NPWindow - it specifies the type of the data structure
* returned in the window field.
*/
typedef enum {
NPWindowTypeWindow = 1,
NPWindowTypeDrawable
} NPWindowType;
#ifdef XP_MACOSX
/*
* The drawing model for a Mac OS X plugin. These are the possible values for the NPNVpluginDrawingModel variable.
*/
typedef enum {
#ifndef NP_NO_QUICKDRAW
NPDrawingModelQuickDraw = 0,
#endif
NPDrawingModelCoreGraphics = 1,
NPDrawingModelOpenGL = 2,
NPDrawingModelCoreAnimation = 3
} NPDrawingModel;
/*
* The event model for a Mac OS X plugin. These are the possible values for the NPNVpluginEventModel variable.
*/
typedef enum {
#ifndef NP_NO_CARBON
NPEventModelCarbon = 0,
#endif
NPEventModelCocoa = 1,
} NPEventModel;
typedef enum {
NPCocoaEventDrawRect = 1,
NPCocoaEventMouseDown,
NPCocoaEventMouseUp,
NPCocoaEventMouseMoved,
NPCocoaEventMouseEntered,
NPCocoaEventMouseExited,
NPCocoaEventMouseDragged,
NPCocoaEventKeyDown,
NPCocoaEventKeyUp,
NPCocoaEventFlagsChanged,
NPCocoaEventFocusChanged,
NPCocoaEventWindowFocusChanged,
NPCocoaEventScrollWheel,
NPCocoaEventTextInput
} NPCocoaEventType;
typedef struct _NPNSString NPNSString;
typedef struct _NPNSWindow NPNSWindow;
typedef struct _NPNSMenu NPNSMenu;
typedef struct _NPCocoaEvent {
NPCocoaEventType type;
uint32 version;
union {
struct {
uint32 modifierFlags;
double pluginX;
double pluginY;
int32 buttonNumber;
int32 clickCount;
double deltaX;
double deltaY;
double deltaZ;
} mouse;
struct {
uint32 modifierFlags;
NPNSString *characters;
NPNSString *charactersIgnoringModifiers;
NPBool isARepeat;
uint16 keyCode;
} key;
struct {
CGContextRef context;
double x;
double y;
double width;
double height;
} draw;
struct {
NPBool hasFocus;
} focus;
struct {
NPNSString *text;
} text;
} data;
} NPCocoaEvent;
#endif
typedef struct _NPWindow
{
void* window; /* Platform specific window handle */
int32 x; /* Position of top left corner relative */
int32 y; /* to a netscape page. */
uint32 width; /* Maximum window size */
uint32 height;
NPRect clipRect; /* Clipping rectangle in port coordinates */
/* Used by MAC only. */
#if defined(XP_UNIX) || defined(XP_SYMBIAN)
void * ws_info; /* Platform-dependent additonal data */
#endif /* XP_UNIX || XP_SYMBIAN */
NPWindowType type; /* Is this a window or a drawable? */
} NPWindow;
typedef struct _NPFullPrint
{
NPBool pluginPrinted; /* Set TRUE if plugin handled fullscreen */
/* printing */
NPBool printOne; /* TRUE if plugin should print one copy */
/* to default printer */
void* platformPrint; /* Platform-specific printing info */
} NPFullPrint;
typedef struct _NPEmbedPrint
{
NPWindow window;
void* platformPrint; /* Platform-specific printing info */
} NPEmbedPrint;
typedef struct _NPPrint
{
uint16 mode; /* NP_FULL or NP_EMBED */
union
{
NPFullPrint fullPrint; /* if mode is NP_FULL */
NPEmbedPrint embedPrint; /* if mode is NP_EMBED */
} print;
} NPPrint;
#ifdef XP_MACOSX
typedef NPNSMenu NPMenu;
#else
typedef void * NPMenu;
#endif
typedef enum {
NPCoordinateSpacePlugin = 1,
NPCoordinateSpaceWindow,
NPCoordinateSpaceFlippedWindow,
NPCoordinateSpaceScreen,
NPCoordinateSpaceFlippedScreen
} NPCoordinateSpace;
#if defined(XP_MAC) || defined(XP_MACOSX)
#ifndef NP_NO_CARBON
typedef EventRecord NPEvent;
#endif
#elif defined(XP_SYMBIAN)
typedef QEvent NPEvent;
#elif defined(XP_WIN)
typedef struct _NPEvent
{
uint16 event;
uint32 wParam;
uint32 lParam;
} NPEvent;
#elif defined (XP_UNIX)
typedef XEvent NPEvent;
#else
typedef void* NPEvent;
#endif /* XP_MAC */
#if defined(XP_MAC)
typedef RgnHandle NPRegion;
#elif defined(XP_MACOSX)
/*
* NPRegion's type depends on the drawing model specified by the plugin (see NPNVpluginDrawingModel).
* NPQDRegion represents a QuickDraw RgnHandle and is used with the QuickDraw drawing model.
* NPCGRegion repesents a graphical region when using any other drawing model.
*/
typedef void *NPRegion;
#ifndef NP_NO_QUICKDRAW
typedef RgnHandle NPQDRegion;
#endif
typedef CGPathRef NPCGRegion;
#elif defined(XP_WIN)
typedef HRGN NPRegion;
#elif defined(XP_UNIX)
typedef Region NPRegion;
#elif defined(XP_SYMBIAN)
typedef QRegion* NPRegion;
#else
typedef void *NPRegion;
#endif /* XP_MAC */
#ifdef XP_MACOSX
/*
* NP_CGContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelCoreGraphics
* as its drawing model.
*/
typedef struct NP_CGContext
{
CGContextRef context;
#ifdef NP_NO_CARBON
NPNSWindow *window;
#else
void *window; // Can be either an NSWindow or a WindowRef depending on the event model
#endif
} NP_CGContext;
/*
* NP_GLContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelOpenGL as its
* drawing model.
*/
typedef struct NP_GLContext
{
CGLContextObj context;
#ifdef NP_NO_CARBON
NPNSWindow *window;
#else
void *window; // Can be either an NSWindow or a WindowRef depending on the event model
#endif
} NP_GLContext;
#endif /* XP_MACOSX */
#if defined(XP_MAC) || defined(XP_MACOSX)
/*
* Mac-specific structures and definitions.
*/
#ifndef NP_NO_QUICKDRAW
/*
* NP_Port is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelQuickDraw as its
* drawing model, or the plugin does not specify a drawing model.
*
* It is not recommended that new plugins use NPDrawingModelQuickDraw or NP_Port, as QuickDraw has been
* deprecated in Mac OS X 10.5. CoreGraphics is the preferred drawing API.
*
* NP_Port is not available in 64-bit.
*/
typedef struct NP_Port
{
CGrafPtr port; /* Grafport */
int32 portx; /* position inside the topmost window */
int32 porty;
} NP_Port;
#endif /* NP_NO_QUICKDRAW */
/*
* Non-standard event types that can be passed to HandleEvent
*/
#define getFocusEvent (osEvt + 16)
#define loseFocusEvent (osEvt + 17)
#define adjustCursorEvent (osEvt + 18)
#endif /* XP_MAC */
/*
* Values for mode passed to NPP_New:
*/
#define NP_EMBED 1
#define NP_FULL 2
/*
* Values for stream type passed to NPP_NewStream:
*/
#define NP_NORMAL 1
#define NP_SEEK 2
#define NP_ASFILE 3
#define NP_ASFILEONLY 4
#define NP_MAXREADY (((unsigned)(~0)<<1)>>1)
#if !defined(__LP64__)
#if defined(XP_MAC) || defined(XP_MACOSX)
#pragma options align=reset
#endif
#endif /* __LP64__ */
/*----------------------------------------------------------------------*/
/* Error and Reason Code definitions */
/*----------------------------------------------------------------------*/
/*
* Values of type NPError:
*/
#define NPERR_BASE 0
#define NPERR_NO_ERROR (NPERR_BASE + 0)
#define NPERR_GENERIC_ERROR (NPERR_BASE + 1)
#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2)
#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3)
#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4)
#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5)
#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6)
#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7)
#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8)
#define NPERR_INVALID_PARAM (NPERR_BASE + 9)
#define NPERR_INVALID_URL (NPERR_BASE + 10)
#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11)
#define NPERR_NO_DATA (NPERR_BASE + 12)
#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13)
/*
* Values of type NPReason:
*/
#define NPRES_BASE 0
#define NPRES_DONE (NPRES_BASE + 0)
#define NPRES_NETWORK_ERR (NPRES_BASE + 1)
#define NPRES_USER_BREAK (NPRES_BASE + 2)
/*
* Don't use these obsolete error codes any more.
*/
#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR
#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR
#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK
/*
* Version feature information
*/
#define NPVERS_HAS_STREAMOUTPUT 8
#define NPVERS_HAS_NOTIFICATION 9
#define NPVERS_HAS_LIVECONNECT 9
#define NPVERS_WIN16_HAS_LIVECONNECT 9
#define NPVERS_68K_HAS_LIVECONNECT 11
#define NPVERS_HAS_WINDOWLESS 11
#define NPVERS_HAS_XPCONNECT_SCRIPTING 13 /* Not implemented in WebKit */
#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14
#define NPVERS_HAS_FORM_VALUES 15 /* Not implemented in WebKit; see bug 13061 */
#define NPVERS_HAS_POPUPS_ENABLED_STATE 16 /* Not implemented in WebKit */
#define NPVERS_HAS_RESPONSE_HEADERS 17
#define NPVERS_HAS_NPOBJECT_ENUM 18
#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19
#define NPVERS_HAS_ALL_NETWORK_STREAMS 20
#define NPVERS_HAS_URL_AND_AUTH_INFO 21
#define NPVERS_HAS_PRIVATE_MODE 22
#define NPVERS_MACOSX_HAS_EVENT_MODELS 23
#define NPVERS_HAS_CANCEL_SRC_STREAM 24
/*----------------------------------------------------------------------*/
/* Function Prototypes */
/*----------------------------------------------------------------------*/
#if defined(_WINDOWS) && !defined(WIN32)
#define NP_LOADDS _loadds
#else
#define NP_LOADDS
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* NPP_* functions are provided by the plugin and called by the navigator.
*/
#ifdef XP_UNIX
char* NPP_GetMIMEDescription(void);
#endif /* XP_UNIX */
NPError NPP_Initialize(void);
void NPP_Shutdown(void);
NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance,
uint16 mode, int16 argc, char* argn[],
char* argv[], NPSavedData* saved);
NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save);
NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window);
NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type,
NPStream* stream, NPBool seekable,
uint16* stype);
NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream,
NPReason reason);
int32 NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream);
int32 NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32 offset,
int32 len, void* buffer);
void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream,
const char* fname);
void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint);
int16 NPP_HandleEvent(NPP instance, void* event);
void NP_LOADDS NPP_URLNotify(NPP instance, const char* url,
NPReason reason, void* notifyData);
jref NP_LOADDS NPP_GetJavaClass(void);
NPError NPP_GetValue(NPP instance, NPPVariable variable,
void *value);
NPError NPP_SetValue(NPP instance, NPNVariable variable,
void *value);
/*
* NPN_* functions are provided by the navigator and called by the plugin.
*/
void NPN_Version(int* plugin_major, int* plugin_minor,
int* netscape_major, int* netscape_minor);
NPError NPN_GetURLNotify(NPP instance, const char* url,
const char* target, void* notifyData);
NPError NPN_GetURL(NPP instance, const char* url,
const char* target);
NPError NPN_PostURLNotify(NPP instance, const char* url,
const char* target, uint32 len,
const char* buf, NPBool file,
void* notifyData);
NPError NPN_PostURL(NPP instance, const char* url,
const char* target, uint32 len,
const char* buf, NPBool file);
NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
NPError NPN_NewStream(NPP instance, NPMIMEType type,
const char* target, NPStream** stream);
int32 NPN_Write(NPP instance, NPStream* stream, int32 len,
void* buffer);
NPError NPN_DestroyStream(NPP instance, NPStream* stream,
NPReason reason);
void NPN_Status(NPP instance, const char* message);
const char* NPN_UserAgent(NPP instance);
void* NPN_MemAlloc(uint32 size);
void NPN_MemFree(void* ptr);
uint32 NPN_MemFlush(uint32 size);
void NPN_ReloadPlugins(NPBool reloadPages);
JRIEnv* NPN_GetJavaEnv(void);
jref NPN_GetJavaPeer(NPP instance);
NPError NPN_GetValue(NPP instance, NPNVariable variable,
void *value);
NPError NPN_SetValue(NPP instance, NPPVariable variable,
void *value);
void NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
void NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion);
void NPN_ForceRedraw(NPP instance);
void NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
void NPN_PopPopupsEnabledState(NPP instance);
void NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void *), void *userData);
NPError NPN_GetValueForURL(NPP instance, NPNURLVariable variable, const char* url, char** value, uint32* len);
NPError NPN_SetValueForURL(NPP instance, NPNURLVariable variable, const char* url, const char* value, uint32 len);
NPError NPN_GetAuthenticationInfo(NPP instance, const char* protocol, const char* host, int32 port, const char* scheme, const char *realm, char** username, uint32* ulen, char** password, uint32* plen);
uint32 NPN_ScheduleTimer(NPP instance, uint32 interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32 timerID));
void NPN_UnscheduleTimer(NPP instance, uint32 timerID);
NPError NPN_PopUpContextMenu(NPP instance, NPMenu* menu);
NPBool NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,237 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#ifndef NPFUNCTIONS_H
#define NPFUNCTIONS_H
#include "npruntime.h"
#include "npapi.h"
#ifdef __cplusplus
extern "C" {
#endif
#if defined(XP_WIN)
#define EXPORTED_CALLBACK(_type, _name) _type (__stdcall * _name)
#else
#define EXPORTED_CALLBACK(_type, _name) _type (* _name)
#endif
typedef NPError (*NPN_GetURLNotifyProcPtr)(NPP instance, const char* URL, const char* window, void* notifyData);
typedef NPError (*NPN_PostURLNotifyProcPtr)(NPP instance, const char* URL, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData);
typedef NPError (*NPN_RequestReadProcPtr)(NPStream* stream, NPByteRange* rangeList);
typedef NPError (*NPN_NewStreamProcPtr)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
typedef int32 (*NPN_WriteProcPtr)(NPP instance, NPStream* stream, int32 len, void* buffer);
typedef NPError (*NPN_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
typedef void (*NPN_StatusProcPtr)(NPP instance, const char* message);
typedef const char*(*NPN_UserAgentProcPtr)(NPP instance);
typedef void* (*NPN_MemAllocProcPtr)(uint32 size);
typedef void (*NPN_MemFreeProcPtr)(void* ptr);
typedef uint32 (*NPN_MemFlushProcPtr)(uint32 size);
typedef void (*NPN_ReloadPluginsProcPtr)(NPBool reloadPages);
typedef NPError (*NPN_GetValueProcPtr)(NPP instance, NPNVariable variable, void *ret_value);
typedef NPError (*NPN_SetValueProcPtr)(NPP instance, NPPVariable variable, void *value);
typedef void (*NPN_InvalidateRectProcPtr)(NPP instance, NPRect *rect);
typedef void (*NPN_InvalidateRegionProcPtr)(NPP instance, NPRegion region);
typedef void (*NPN_ForceRedrawProcPtr)(NPP instance);
typedef NPError (*NPN_GetURLProcPtr)(NPP instance, const char* URL, const char* window);
typedef NPError (*NPN_PostURLProcPtr)(NPP instance, const char* URL, const char* window, uint32 len, const char* buf, NPBool file);
typedef void* (*NPN_GetJavaEnvProcPtr)(void);
typedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance);
typedef void (*NPN_PushPopupsEnabledStateProcPtr)(NPP instance, NPBool enabled);
typedef void (*NPN_PopPopupsEnabledStateProcPtr)(NPP instance);
typedef void (*NPN_PluginThreadAsyncCallProcPtr)(NPP npp, void (*func)(void *), void *userData);
typedef NPError (*NPN_GetValueForURLProcPtr)(NPP npp, NPNURLVariable variable, const char* url, char** value, uint32* len);
typedef NPError (*NPN_SetValueForURLProcPtr)(NPP npp, NPNURLVariable variable, const char* url, const char* value, uint32 len);
typedef NPError (*NPN_GetAuthenticationInfoProcPtr)(NPP npp, const char* protocol, const char* host, int32 port, const char* scheme, const char *realm, char** username, uint32* ulen, char** password, uint32* plen);
typedef uint32 (*NPN_ScheduleTimerProcPtr)(NPP npp, uint32 interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32 timerID));
typedef void (*NPN_UnscheduleTimerProcPtr)(NPP npp, uint32 timerID);
typedef NPError (*NPN_PopUpContextMenuProcPtr)(NPP instance, NPMenu* menu);
typedef NPBool (*NPN_ConvertPointProcPtr)(NPP npp, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace);
typedef void (*NPN_ReleaseVariantValueProcPtr) (NPVariant *variant);
typedef NPIdentifier (*NPN_GetStringIdentifierProcPtr) (const NPUTF8 *name);
typedef void (*NPN_GetStringIdentifiersProcPtr) (const NPUTF8 **names, int32_t nameCount, NPIdentifier *identifiers);
typedef NPIdentifier (*NPN_GetIntIdentifierProcPtr) (int32_t intid);
typedef int32_t (*NPN_IntFromIdentifierProcPtr) (NPIdentifier identifier);
typedef bool (*NPN_IdentifierIsStringProcPtr) (NPIdentifier identifier);
typedef NPUTF8 *(*NPN_UTF8FromIdentifierProcPtr) (NPIdentifier identifier);
typedef NPObject* (*NPN_CreateObjectProcPtr) (NPP, NPClass *aClass);
typedef NPObject* (*NPN_RetainObjectProcPtr) (NPObject *obj);
typedef void (*NPN_ReleaseObjectProcPtr) (NPObject *obj);
typedef bool (*NPN_InvokeProcPtr) (NPP npp, NPObject *obj, NPIdentifier methodName, const NPVariant *args, unsigned argCount, NPVariant *result);
typedef bool (*NPN_InvokeDefaultProcPtr) (NPP npp, NPObject *obj, const NPVariant *args, unsigned argCount, NPVariant *result);
typedef bool (*NPN_EvaluateProcPtr) (NPP npp, NPObject *obj, NPString *script, NPVariant *result);
typedef bool (*NPN_GetPropertyProcPtr) (NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result);
typedef bool (*NPN_SetPropertyProcPtr) (NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value);
typedef bool (*NPN_HasPropertyProcPtr) (NPP, NPObject *npobj, NPIdentifier propertyName);
typedef bool (*NPN_HasMethodProcPtr) (NPP npp, NPObject *npobj, NPIdentifier methodName);
typedef bool (*NPN_RemovePropertyProcPtr) (NPP npp, NPObject *obj, NPIdentifier propertyName);
typedef void (*NPN_SetExceptionProcPtr) (NPObject *obj, const NPUTF8 *message);
typedef bool (*NPN_EnumerateProcPtr) (NPP npp, NPObject *npobj, NPIdentifier **identifier, uint32_t *count);
typedef bool (*NPN_ConstructProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
typedef NPError (*NPP_NewProcPtr)(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved);
typedef NPError (*NPP_DestroyProcPtr)(NPP instance, NPSavedData** save);
typedef NPError (*NPP_SetWindowProcPtr)(NPP instance, NPWindow* window);
typedef NPError (*NPP_NewStreamProcPtr)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype);
typedef NPError (*NPP_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
typedef void (*NPP_StreamAsFileProcPtr)(NPP instance, NPStream* stream, const char* fname);
typedef int32 (*NPP_WriteReadyProcPtr)(NPP instance, NPStream* stream);
typedef int32 (*NPP_WriteProcPtr)(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer);
typedef void (*NPP_PrintProcPtr)(NPP instance, NPPrint* platformPrint);
typedef int16 (*NPP_HandleEventProcPtr)(NPP instance, void* event);
typedef void (*NPP_URLNotifyProcPtr)(NPP instance, const char* URL, NPReason reason, void* notifyData);
typedef NPError (*NPP_GetValueProcPtr)(NPP instance, NPPVariable variable, void *ret_value);
typedef NPError (*NPP_SetValueProcPtr)(NPP instance, NPNVariable variable, void *value);
typedef void *(*NPP_GetJavaClassProcPtr)(void);
typedef void* JRIGlobalRef; //not using this right now
typedef struct _NPNetscapeFuncs {
uint16 size;
uint16 version;
NPN_GetURLProcPtr geturl;
NPN_PostURLProcPtr posturl;
NPN_RequestReadProcPtr requestread;
NPN_NewStreamProcPtr newstream;
NPN_WriteProcPtr write;
NPN_DestroyStreamProcPtr destroystream;
NPN_StatusProcPtr status;
NPN_UserAgentProcPtr uagent;
NPN_MemAllocProcPtr memalloc;
NPN_MemFreeProcPtr memfree;
NPN_MemFlushProcPtr memflush;
NPN_ReloadPluginsProcPtr reloadplugins;
NPN_GetJavaEnvProcPtr getJavaEnv;
NPN_GetJavaPeerProcPtr getJavaPeer;
NPN_GetURLNotifyProcPtr geturlnotify;
NPN_PostURLNotifyProcPtr posturlnotify;
NPN_GetValueProcPtr getvalue;
NPN_SetValueProcPtr setvalue;
NPN_InvalidateRectProcPtr invalidaterect;
NPN_InvalidateRegionProcPtr invalidateregion;
NPN_ForceRedrawProcPtr forceredraw;
NPN_GetStringIdentifierProcPtr getstringidentifier;
NPN_GetStringIdentifiersProcPtr getstringidentifiers;
NPN_GetIntIdentifierProcPtr getintidentifier;
NPN_IdentifierIsStringProcPtr identifierisstring;
NPN_UTF8FromIdentifierProcPtr utf8fromidentifier;
NPN_IntFromIdentifierProcPtr intfromidentifier;
NPN_CreateObjectProcPtr createobject;
NPN_RetainObjectProcPtr retainobject;
NPN_ReleaseObjectProcPtr releaseobject;
NPN_InvokeProcPtr invoke;
NPN_InvokeDefaultProcPtr invokeDefault;
NPN_EvaluateProcPtr evaluate;
NPN_GetPropertyProcPtr getproperty;
NPN_SetPropertyProcPtr setproperty;
NPN_RemovePropertyProcPtr removeproperty;
NPN_HasPropertyProcPtr hasproperty;
NPN_HasMethodProcPtr hasmethod;
NPN_ReleaseVariantValueProcPtr releasevariantvalue;
NPN_SetExceptionProcPtr setexception;
NPN_PushPopupsEnabledStateProcPtr pushpopupsenabledstate;
NPN_PopPopupsEnabledStateProcPtr poppopupsenabledstate;
NPN_EnumerateProcPtr enumerate;
NPN_PluginThreadAsyncCallProcPtr pluginthreadasynccall;
NPN_ConstructProcPtr construct;
NPN_GetValueForURLProcPtr getvalueforurl;
NPN_SetValueForURLProcPtr setvalueforurl;
NPN_GetAuthenticationInfoProcPtr getauthenticationinfo;
NPN_ScheduleTimerProcPtr scheduletimer;
NPN_UnscheduleTimerProcPtr unscheduletimer;
NPN_PopUpContextMenuProcPtr popupcontextmenu;
NPN_ConvertPointProcPtr convertpoint;
} NPNetscapeFuncs;
typedef struct _NPPluginFuncs {
uint16 size;
uint16 version;
NPP_NewProcPtr newp;
NPP_DestroyProcPtr destroy;
NPP_SetWindowProcPtr setwindow;
NPP_NewStreamProcPtr newstream;
NPP_DestroyStreamProcPtr destroystream;
NPP_StreamAsFileProcPtr asfile;
NPP_WriteReadyProcPtr writeready;
NPP_WriteProcPtr write;
NPP_PrintProcPtr print;
NPP_HandleEventProcPtr event;
NPP_URLNotifyProcPtr urlnotify;
JRIGlobalRef javaClass;
NPP_GetValueProcPtr getvalue;
NPP_SetValueProcPtr setvalue;
} NPPluginFuncs;
typedef EXPORTED_CALLBACK(NPError, NP_GetEntryPointsFuncPtr)(NPPluginFuncs*);
typedef EXPORTED_CALLBACK(void, NPP_ShutdownProcPtr)(void);
#if defined(XP_MACOSX)
typedef void (*BP_CreatePluginMIMETypesPreferencesFuncPtr)(void);
typedef NPError (*MainFuncPtr)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownProcPtr*);
#endif
#if defined(XP_UNIX)
typedef EXPORTED_CALLBACK(NPError, NP_InitializeFuncPtr)(NPNetscapeFuncs*, NPPluginFuncs*);
typedef EXPORTED_CALLBACK(char*, NP_GetMIMEDescriptionFuncPtr)(void);
#else
typedef EXPORTED_CALLBACK(NPError, NP_InitializeFuncPtr)(NPNetscapeFuncs*);
#endif
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,339 +0,0 @@
/* ====================================================================
* Copyright (c) 2016 - 2019 The GmSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the GmSSL Project.
* (http://gmssl.org/)"
*
* 4. The name "GmSSL Project" must not be used to endorse or promote
* products derived from this software without prior written
* permission. For written permission, please contact
* guanzhi1980@gmail.com.
*
* 5. Products derived from this software may not be called "GmSSL"
* nor may "GmSSL" appear in their names without prior written
* permission of the GmSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the GmSSL Project
* (http://gmssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#ifndef _NP_RUNTIME_H_
#define _NP_RUNTIME_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include "npapi.h"
/*
This API is used to facilitate binding code written in C to script
objects. The API in this header does not assume the presence of a
user agent. That is, it can be used to bind C code to scripting
environments outside of the context of a user agent.
However, the normal use of the this API is in the context of a
scripting environment running in a browser or other user agent.
In particular it is used to support the extended Netscape
script-ability API for plugins (NP-SAP). NP-SAP is an extension
of the Netscape plugin API. As such we have adopted the use of
the "NP" prefix for this API.
The following NP{N|P}Variables were added to the Netscape plugin
API (in npapi.h):
NPNVWindowNPObject
NPNVPluginElementNPObject
NPPVpluginScriptableNPObject
These variables are exposed through NPN_GetValue() and
NPP_GetValue() (respectively) and are used to establish the
initial binding between the user agent and native code. The DOM
objects in the user agent can be examined and manipulated using
the NPN_ functions that operate on NPObjects described in this
header.
To the extent possible the assumptions about the scripting
language used by the scripting environment have been minimized.
*/
/*
Objects (non-primitive data) passed between 'C' and script is
always wrapped in an NPObject. The 'interface' of an NPObject is
described by an NPClass.
*/
typedef struct NPObject NPObject;
typedef struct NPClass NPClass;
typedef char NPUTF8;
typedef struct _NPString {
const NPUTF8 *UTF8Characters;
uint32_t UTF8Length;
} NPString;
typedef enum {
NPVariantType_Void,
NPVariantType_Null,
NPVariantType_Bool,
NPVariantType_Int32,
NPVariantType_Double,
NPVariantType_String,
NPVariantType_Object
} NPVariantType;
typedef struct _NPVariant {
NPVariantType type;
union {
bool boolValue;
int32_t intValue;
double doubleValue;
NPString stringValue;
NPObject *objectValue;
} value;
} NPVariant;
/*
NPN_ReleaseVariantValue is called on all 'out' parameters references.
Specifically it is called on variants that are resultant out parameters
in NPGetPropertyFunctionPtr and NPInvokeFunctionPtr. Resultant variants
from these two functions should be initialized using the
NPN_InitializeVariantXXX() functions.
After calling NPReleaseVariantValue, the type of the variant will
be set to NPVariantUndefinedType.
*/
void NPN_ReleaseVariantValue (NPVariant *variant);
#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void)
#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null)
#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool)
#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32)
#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double)
#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String)
#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object)
#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue)
#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue)
#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue)
#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue)
#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue)
#define NP_BEGIN_MACRO do {
#define NP_END_MACRO } while (0)
#define VOID_TO_NPVARIANT(_v) NP_BEGIN_MACRO (_v).type = NPVariantType_Void; (_v).value.objectValue = NULL; NP_END_MACRO
#define NULL_TO_NPVARIANT(_v) NP_BEGIN_MACRO (_v).type = NPVariantType_Null; (_v).value.objectValue = NULL; NP_END_MACRO
#define BOOLEAN_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Bool; (_v).value.boolValue = !!(_val); NP_END_MACRO
#define INT32_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Int32; (_v).value.intValue = _val; NP_END_MACRO
#define DOUBLE_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Double; (_v).value.doubleValue = _val; NP_END_MACRO
#define STRINGZ_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_String; NPString str = { _val, strlen(_val) }; (_v).value.stringValue = str; NP_END_MACRO
#define STRINGN_TO_NPVARIANT(_val, _len, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_String; NPString str = { _val, _len }; (_v).value.stringValue = str; NP_END_MACRO
#define OBJECT_TO_NPVARIANT(_val, _v) NP_BEGIN_MACRO (_v).type = NPVariantType_Object; (_v).value.objectValue = _val; NP_END_MACRO
/*
Type mappings (JavaScript types have been used for illustration
purposes):
JavaScript to C (NPVariant with type:)
undefined NPVariantType_Void
null NPVariantType_Null
Boolean NPVariantType_Bool
Number NPVariantType_Double or NPVariantType_Int32
String NPVariantType_String
Object NPVariantType_Object
C (NPVariant with type:) to JavaScript
NPVariantType_Void undefined
NPVariantType_Null null
NPVariantType_Bool Boolean
NPVariantType_Int32 Number
NPVariantType_Double Number
NPVariantType_String String
NPVariantType_Object Object
*/
typedef void *NPIdentifier;
/*
NPObjects have methods and properties. Methods and properties are
identified with NPIdentifiers. These identifiers may be reflected
in script. NPIdentifiers can be either strings or integers, IOW,
methods and properties can be identified by either strings or
integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be
compared using ==. In case of any errors, the requested
NPIdentifier(s) will be NULL.
*/
NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name);
void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount, NPIdentifier *identifiers);
NPIdentifier NPN_GetIntIdentifier(int32_t intid);
bool NPN_IdentifierIsString(NPIdentifier identifier);
/*
The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed.
*/
NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier);
/*
Get the integer represented by identifier. If identifier is not an
integer identifier, the behaviour is undefined.
*/
int32_t NPN_IntFromIdentifier(NPIdentifier identifier);
/*
NPObject behavior is implemented using the following set of
callback functions.
The NPVariant *result argument of these functions (where
applicable) should be released using NPN_ReleaseVariantValue().
*/
typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass);
typedef void (*NPDeallocateFunctionPtr)(NPObject *obj);
typedef void (*NPInvalidateFunctionPtr)(NPObject *obj);
typedef bool (*NPHasMethodFunctionPtr)(NPObject *obj, NPIdentifier name);
typedef bool (*NPInvokeFunctionPtr)(NPObject *obj, NPIdentifier name, const NPVariant *args, uint32_t argCount, NPVariant *result);
typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result);
typedef bool (*NPHasPropertyFunctionPtr)(NPObject *obj, NPIdentifier name);
typedef bool (*NPGetPropertyFunctionPtr)(NPObject *obj, NPIdentifier name, NPVariant *result);
typedef bool (*NPSetPropertyFunctionPtr)(NPObject *obj, NPIdentifier name, const NPVariant *value);
typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj, NPIdentifier name);
typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value, uint32_t *count);
typedef bool (*NPConstructFunctionPtr)(NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result);
/*
NPObjects returned by create have a reference count of one. It is the caller's responsibility
to release the returned object.
NPInvokeFunctionPtr function may return false to indicate a the method could not be invoked.
NPGetPropertyFunctionPtr and NPSetPropertyFunctionPtr may return false to indicate a property doesn't
exist.
NPInvalidateFunctionPtr is called by the scripting environment when the native code is
shutdown. Any attempt to message a NPObject instance after the invalidate
callback has been called will result in undefined behavior, even if the
native code is still retaining those NPObject instances.
(The runtime will typically return immediately, with 0 or NULL, from an attempt to
dispatch to a NPObject, but this behavior should not be depended upon.)
The NPEnumerationFunctionPtr function may pass an array of
NPIdentifiers back to the caller. The callee allocs the memory of
the array using NPN_MemAlloc(), and it's the caller's responsibility
to release it using NPN_MemFree().
*/
struct NPClass
{
uint32_t structVersion;
NPAllocateFunctionPtr allocate;
NPDeallocateFunctionPtr deallocate;
NPInvalidateFunctionPtr invalidate;
NPHasMethodFunctionPtr hasMethod;
NPInvokeFunctionPtr invoke;
NPInvokeDefaultFunctionPtr invokeDefault;
NPHasPropertyFunctionPtr hasProperty;
NPGetPropertyFunctionPtr getProperty;
NPSetPropertyFunctionPtr setProperty;
NPRemovePropertyFunctionPtr removeProperty;
NPEnumerationFunctionPtr enumerate;
NPConstructFunctionPtr construct;
};
#define NP_CLASS_STRUCT_VERSION 3
#define NP_CLASS_STRUCT_VERSION_ENUM 2
#define NP_CLASS_STRUCT_VERSION_CTOR 3
#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \
((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM)
#define NP_CLASS_STRUCT_VERSION_HAS_CTOR(npclass) \
((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_CTOR)
struct NPObject {
NPClass *_class;
uint32_t referenceCount;
// Additional space may be allocated here by types of NPObjects
};
/*
If the class has an allocate function, NPN_CreateObject invokes that function,
otherwise a NPObject is allocated and returned. If a class has an allocate
function it is the responsibility of that implementation to set the initial retain
count to 1.
*/
NPObject *NPN_CreateObject(NPP npp, NPClass *aClass);
/*
Increment the NPObject's reference count.
*/
NPObject *NPN_RetainObject (NPObject *obj);
/*
Decremented the NPObject's reference count. If the reference
count goes to zero, the class's destroy function is invoke if
specified, otherwise the object is freed directly.
*/
void NPN_ReleaseObject (NPObject *obj);
/*
Functions to access script objects represented by NPObject.
Calls to script objects are synchronous. If a function returns a
value, it will be supplied via the result NPVariant
argument. Successful calls will return true, false will be
returned in case of an error.
Calls made from plugin code to script must be made from the thread
on which the plugin was initialized.
*/
bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result);
bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script, NPVariant *result);
bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, NPVariant *result);
bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, const NPVariant *value);
bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName);
bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier, uint32_t *count);
bool NPN_Construct(NPP npp, NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result);
/*
NPN_SetException may be called to trigger a script exception upon return
from entry points into NPObjects.
*/
void NPN_SetException (NPObject *obj, const NPUTF8 *message);
#ifdef __cplusplus
}
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,411 +1,411 @@
SSL_CTX_set_srp_verify_param_callback 1 1_1_0d EXIST::FUNCTION:SRP
SSL_CONF_CTX_set_ssl 2 1_1_0d EXIST::FUNCTION:
SSL_COMP_set0_compression_methods 3 1_1_0d EXIST::FUNCTION:
SSL_set_default_passwd_cb 4 1_1_0d EXIST::FUNCTION:
SSL_trace 5 1_1_0d EXIST::FUNCTION:SSL_TRACE
SSL_get0_peer_scts 6 1_1_0d EXIST::FUNCTION:CT
SSL_free 7 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_certificate 8 1_1_0d EXIST::FUNCTION:
SSL_check_private_key 9 1_1_0d EXIST::FUNCTION:
BIO_ssl_shutdown 10 1_1_0d EXIST::FUNCTION:
DTLS_server_method 11 1_1_0d EXIST::FUNCTION:
BIO_new_ssl 12 1_1_0d EXIST::FUNCTION:
SSL_CTX_set0_ctlog_store 13 1_1_0d EXIST::FUNCTION:CT
SSL_CIPHER_get_version 14 1_1_0d EXIST::FUNCTION:
SSL_set_session_ticket_ext_cb 15 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_RSAPrivateKey_file 16 1_1_0d EXIST::FUNCTION:RSA
SSL_renegotiate 17 1_1_0d EXIST::FUNCTION:
SSL_session_reused 18 1_1_0d EXIST::FUNCTION:
SSLv3_method 19 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSL_shutdown 20 1_1_0d EXIST::FUNCTION:
SSL_set_tmp_dh_callback 21 1_1_0d EXIST::FUNCTION:DH
SSL_CTX_dane_mtype_set 22 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_msg_callback 23 1_1_0d EXIST::FUNCTION:
SSL_set0_security_ex_data 24 1_1_0d EXIST::FUNCTION:
SSL_get_client_CA_list 25 1_1_0d EXIST::FUNCTION:
SSL_use_RSAPrivateKey 26 1_1_0d EXIST::FUNCTION:RSA
SSL_use_RSAPrivateKey_ASN1 27 1_1_0d EXIST::FUNCTION:RSA
SSL_get_state 28 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set1_id 29 1_1_0d EXIST::FUNCTION:
SSL_get_wbio 30 1_1_0d EXIST::FUNCTION:
BIO_ssl_copy_session_id 31 1_1_0d EXIST::FUNCTION:
SSL_add_file_cert_subjects_to_stack 32 1_1_0d EXIST::FUNCTION:
SSL_set0_wbio 33 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey_file 34 1_1_0d EXIST::FUNCTION:
SSL_add_ssl_module 35 1_1_0d EXIST::FUNCTION:
SSL_dane_tlsa_add 36 1_1_0d EXIST::FUNCTION:
SSL_get_srtp_profiles 37 1_1_0d EXIST::FUNCTION:SRTP
SSL_set_session_id_context 38 1_1_0d EXIST::FUNCTION:
SSL_is_server 39 1_1_0d EXIST::FUNCTION:
SSL_CTX_check_private_key 40 1_1_0d EXIST::FUNCTION:
SRP_Calc_A_param 41 1_1_0d EXIST::FUNCTION:SRP
SSL_set_trust 42 1_1_0d EXIST::FUNCTION:
SSL_ctrl 43 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate_file 44 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_remove_cb 45 1_1_0d EXIST::FUNCTION:
TLSv1_1_client_method 46 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_CTX_set_default_passwd_cb_userdata 47 1_1_0d EXIST::FUNCTION:
SSL_alert_type_string 48 1_1_0d EXIST::FUNCTION:
SSL_get_srp_N 49 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_srp_cb_arg 50 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_get_default_passwd_cb_userdata 51 1_1_0d EXIST::FUNCTION:
SSL_get_servername 52 1_1_0d EXIST::FUNCTION:
SSL_get_session 53 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_id 54 1_1_0d EXIST::FUNCTION:
SSL_state_string 55 1_1_0d EXIST::FUNCTION:
SSL_set_cert_cb 56 1_1_0d EXIST::FUNCTION:
SSL_get_changed_async_fds 57 1_1_0d EXIST::FUNCTION:
SSL_get_current_cipher 58 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_master_key 59 1_1_0d EXIST::FUNCTION:
SSL_get_verify_result 60 1_1_0d EXIST::FUNCTION:
SSL_set_bio 61 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_psk_client_callback 62 1_1_0d EXIST::FUNCTION:PSK
SSL_dane_enable 63 1_1_0d EXIST::FUNCTION:
PEM_write_SSL_SESSION 64 1_1_0d EXIST::FUNCTION:STDIO
SSL_rstate_string_long 65 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate_chain_file 66 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_is_aead 67 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_bits 68 1_1_0d EXIST::FUNCTION:
SSL_get_security_level 69 1_1_0d EXIST::FUNCTION:
SSL_get_srp_username 70 1_1_0d EXIST::FUNCTION:SRP
SSL_new 71 1_1_0d EXIST::FUNCTION:
OPENSSL_init_ssl 72 1_1_0d EXIST::FUNCTION:
SSL_in_before 73 1_1_0d EXIST::FUNCTION:
SSL_CTX_up_ref 74 1_1_0d EXIST::FUNCTION:
SSL_get0_dane_authority 75 1_1_0d EXIST::FUNCTION:
SSL_get_srp_userinfo 76 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_client_CA_list 77 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_cipher_nid 78 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_not_resumable_session_callback 79 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_options 80 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cert_verify_callback 81 1_1_0d EXIST::FUNCTION:
SSL_set_default_read_buffer_len 82 1_1_0d EXIST::FUNCTION:
SSL_get_shared_ciphers 83 1_1_0d EXIST::FUNCTION:
SSL_set_srp_server_param 84 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_psk_server_callback 85 1_1_0d EXIST::FUNCTION:PSK
SSL_CIPHER_get_auth_nid 86 1_1_0d EXIST::FUNCTION:
SSL_get0_dane_tlsa 87 1_1_0d EXIST::FUNCTION:
SSL_CTX_callback_ctrl 88 1_1_0d EXIST::FUNCTION:
SSL_is_init_finished 89 1_1_0d EXIST::FUNCTION:
SSL_set_hostflags 90 1_1_0d EXIST::FUNCTION:
SSL_peek 91 1_1_0d EXIST::FUNCTION:
BIO_f_ssl 92 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_client_CA_list 93 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_protocol_version 94 1_1_0d EXIST::FUNCTION:
BIO_new_ssl_connect 95 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_callback 96 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_name 97 1_1_0d EXIST::FUNCTION:
SSL_get_rfd 98 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_tlsext_use_srtp 99 1_1_0d EXIST::FUNCTION:SRTP
SSL_pending 100 1_1_0d EXIST::FUNCTION:
SSL_want 101 1_1_0d EXIST::FUNCTION:
SSL_get_certificate 102 1_1_0d EXIST::FUNCTION:
SSL_set_ct_validation_callback 103 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_clear_options 104 1_1_0d EXIST::FUNCTION:
SSL_set_shutdown 105 1_1_0d EXIST::FUNCTION:
SSL_CONF_cmd_value_type 106 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_client_cert_engine 107 1_1_0d EXIST::FUNCTION:ENGINE
SSL_CTX_sess_get_new_cb 108 1_1_0d EXIST::FUNCTION:
DTLSv1_2_server_method 109 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_SESSION_get0_cipher 110 1_1_0d EXIST::FUNCTION:
SSL_get1_supported_ciphers 111 1_1_0d EXIST::FUNCTION:
SSL_write 112 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_privatekey 113 1_1_0d EXIST::FUNCTION:
SSL_set_alpn_protos 114 1_1_0d EXIST::FUNCTION:
SSL_set_psk_client_callback 115 1_1_0d EXIST::FUNCTION:PSK
SSL_CTX_ct_is_enabled 116 1_1_0d EXIST::FUNCTION:CT
SSL_get1_session 117 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey_ASN1 118 1_1_0d EXIST::FUNCTION:
SSL_CTX_SRP_CTX_free 119 1_1_0d EXIST::FUNCTION:SRP
SSL_use_psk_identity_hint 120 1_1_0d EXIST::FUNCTION:PSK
SSL_is_gmtls 121 1_1_0d EXIST::FUNCTION:
SSL_enable_ct 122 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_dane_enable 123 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_standard_name 124 1_1_0d EXIST::FUNCTION:SSL_TRACE
SSL_CTX_get0_ctlog_store 125 1_1_0d EXIST::FUNCTION:CT
SSL_get_srp_g 126 1_1_0d EXIST::FUNCTION:SRP
SSL_get_shutdown 127 1_1_0d EXIST::FUNCTION:
SSL_set_tlsext_use_srtp 128 1_1_0d EXIST::FUNCTION:SRTP
SSL_export_keying_material 129 1_1_0d EXIST::FUNCTION:
PEM_read_bio_SSL_SESSION 130 1_1_0d EXIST::FUNCTION:
SSL_set_accept_state 131 1_1_0d EXIST::FUNCTION:
SSL_set_read_ahead 132 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_cert_store 133 1_1_0d EXIST::FUNCTION:
SSL_set_default_passwd_cb_userdata 134 1_1_0d EXIST::FUNCTION:
SSL_CTX_flush_sessions 135 1_1_0d EXIST::FUNCTION:
GMTLS_server_method 136 1_1_0d EXIST::FUNCTION:GMTLS
SSL_get_psk_identity_hint 137 1_1_0d EXIST::FUNCTION:PSK
SSL_CTX_set_srp_client_pwd_callback 138 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_next_proto_select_cb 139 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_get_selected_srtp_profile 140 1_1_0d EXIST::FUNCTION:SRTP
SSL_read 141 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_verify_depth 142 1_1_0d EXIST::FUNCTION:
SSL_set_fd 143 1_1_0d EXIST::FUNCTION:SOCK
SSL_CTX_use_serverinfo 144 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_hostname 145 1_1_0d EXIST::FUNCTION:
DTLSv1_client_method 146 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_CTX_add_session 147 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_file 148 1_1_0d EXIST::FUNCTION:
SSL_CTX_add_server_custom_ext 149 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_quiet_shutdown 150 1_1_0d EXIST::FUNCTION:
SSL_get_ssl_method 151 1_1_0d EXIST::FUNCTION:
SSL_get_verify_depth 152 1_1_0d EXIST::FUNCTION:
SSL_set1_host 153 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_id 154 1_1_0d EXIST::FUNCTION:
SSL_get_all_async_fds 155 1_1_0d EXIST::FUNCTION:
BIO_new_buffer_ssl_connect 156 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_clear_flags 157 1_1_0d EXIST::FUNCTION:
TLSv1_2_server_method 158 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_set_verify_depth 159 1_1_0d EXIST::FUNCTION:
SSL_CTX_set0_security_ex_data 160 1_1_0d EXIST::FUNCTION:
SSL_CTX_has_client_custom_ext 161 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cert_store 162 1_1_0d EXIST::FUNCTION:
DTLSv1_method 163 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_CTX_use_certificate_ASN1 164 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_mode 165 1_1_0d EXIST::FUNCTION:
SSL_get_ex_data_X509_STORE_CTX_idx 166 1_1_0d EXIST::FUNCTION:
SSL_get_peer_cert_chain 167 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set_timeout 168 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_kx_nid 169 1_1_0d EXIST::FUNCTION:
SSL_CTX_ctrl 170 1_1_0d EXIST::FUNCTION:
SSL_use_PrivateKey_ASN1 171 1_1_0d EXIST::FUNCTION:
SSL_add_client_CA 172 1_1_0d EXIST::FUNCTION:
SSL_set_msg_callback 173 1_1_0d EXIST::FUNCTION:
SSL_get_default_passwd_cb 174 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_info_callback 175 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_free 176 1_1_0d EXIST::FUNCTION:
SSL_SESSION_new 177 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_get_cb 178 1_1_0d EXIST::FUNCTION:
SSL_state_string_long 179 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_ciphers 180 1_1_0d EXIST::FUNCTION:
DTLS_method 181 1_1_0d EXIST::FUNCTION:
SSL_add_dir_cert_subjects_to_stack 182 1_1_0d EXIST::FUNCTION:
SSL_get_default_passwd_cb_userdata 183 1_1_0d EXIST::FUNCTION:
GMTLS_method 184 1_1_0d EXIST::FUNCTION:GMTLS
SSL_CONF_CTX_set1_prefix 185 1_1_0d EXIST::FUNCTION:
SSL_set_psk_server_callback 186 1_1_0d EXIST::FUNCTION:PSK
SSL_CTX_get_security_callback 187 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_param 188 1_1_0d EXIST::FUNCTION:
SSL_renegotiate_pending 189 1_1_0d EXIST::FUNCTION:
SSL_SRP_CTX_free 190 1_1_0d EXIST::FUNCTION:SRP
SSL_config 191 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_chain_file 192 1_1_0d EXIST::FUNCTION:
SSL_in_init 193 1_1_0d EXIST::FUNCTION:
TLSv1_client_method 194 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_CTX_set_cert_cb 195 1_1_0d EXIST::FUNCTION:
SSL_srp_server_param_with_username 196 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_client_cert_cb 197 1_1_0d EXIST::FUNCTION:
SSL_set_ex_data 198 1_1_0d EXIST::FUNCTION:
SSLv3_server_method 199 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSL_use_PrivateKey 200 1_1_0d EXIST::FUNCTION:
SSL_dup 201 1_1_0d EXIST::FUNCTION:
SSL_waiting_for_async 202 1_1_0d EXIST::FUNCTION:
SSL_set_srp_server_param_pw 203 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_add_client_CA 204 1_1_0d EXIST::FUNCTION:
SSL_get_peer_finished 205 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey 206 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set1_id_context 207 1_1_0d EXIST::FUNCTION:
SSL_get_rbio 208 1_1_0d EXIST::FUNCTION:
SSL_set_rfd 209 1_1_0d EXIST::FUNCTION:SOCK
SSL_get0_param 210 1_1_0d EXIST::FUNCTION:
SSL_accept 211 1_1_0d EXIST::FUNCTION:
SSL_set_debug 212 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0
DTLSv1_2_client_method 213 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_SESSION_get0_ticket 214 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_ASN1 215 1_1_0d EXIST::FUNCTION:
SSL_get_read_ahead 216 1_1_0d EXIST::FUNCTION:
SSL_certs_clear 217 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_new 218 1_1_0d EXIST::FUNCTION:
SSL_copy_session_id 219 1_1_0d EXIST::FUNCTION:
SSL_set_session_ticket_ext 220 1_1_0d EXIST::FUNCTION:
SSL_set_options 221 1_1_0d EXIST::FUNCTION:
TLS_server_method 222 1_1_0d EXIST::FUNCTION:
SSL_CTX_free 223 1_1_0d EXIST::FUNCTION:
SSL_get0_verified_chain 224 1_1_0d EXIST::FUNCTION:
SSL_up_ref 225 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_trust 226 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_username 227 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_cookie_verify_cb 228 1_1_0d EXIST::FUNCTION:
SSL_get0_security_ex_data 229 1_1_0d EXIST::FUNCTION:
SSL_CTX_sessions 230 1_1_0d EXIST::FUNCTION:
PEM_read_SSL_SESSION 231 1_1_0d EXIST::FUNCTION:STDIO
SSL_get_wfd 232 1_1_0d EXIST::FUNCTION:
SSL_get_servername_type 233 1_1_0d EXIST::FUNCTION:
SSL_dup_CA_list 234 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_find 235 1_1_0d EXIST::FUNCTION:
GMTLS_client_method 236 1_1_0d EXIST::FUNCTION:GMTLS
SSL_extension_supported 237 1_1_0d EXIST::FUNCTION:
SSL_get_version 238 1_1_0d EXIST::FUNCTION:
SSL_alert_type_string_long 239 1_1_0d EXIST::FUNCTION:
SSL_set_verify 240 1_1_0d EXIST::FUNCTION:
SSL_SESSION_free 241 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_ex_data 242 1_1_0d EXIST::FUNCTION:
DTLS_client_method 243 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_depth 244 1_1_0d EXIST::FUNCTION:
SSL_get_options 245 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_serverinfo_file 246 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set_ex_data 247 1_1_0d EXIST::FUNCTION:
SSL_CTX_new 248 1_1_0d EXIST::FUNCTION:
SSL_get_SSL_CTX 249 1_1_0d EXIST::FUNCTION:
d2i_SSL_SESSION 250 1_1_0d EXIST::FUNCTION:
SSL_SESSION_has_ticket 251 1_1_0d EXIST::FUNCTION:
SSL_check_chain 252 1_1_0d EXIST::FUNCTION:
SSL_CONF_cmd_argv 253 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ssl_version 254 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_set_new_cb 255 1_1_0d EXIST::FUNCTION:
SSL_set_cipher_list 256 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_passwd_cb 257 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_security_callback 258 1_1_0d EXIST::FUNCTION:
SSL_do_handshake 259 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_psk_identity_hint 260 1_1_0d EXIST::FUNCTION:PSK
SSL_get_current_expansion 261 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_set_get_cb 262 1_1_0d EXIST::FUNCTION:
SSL_clear 263 1_1_0d EXIST::FUNCTION:
DTLSv1_listen 264 1_1_0d EXIST::FUNCTION:SOCK
SSL_CTX_set_alpn_protos 265 1_1_0d EXIST::FUNCTION:
SSL_get_privatekey 266 1_1_0d EXIST::FUNCTION:
DTLSv1_2_method 267 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_CTX_use_certificate 268 1_1_0d EXIST::FUNCTION:
PEM_write_bio_SSL_SESSION 269 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print 270 1_1_0d EXIST::FUNCTION:
SSL_CONF_cmd 271 1_1_0d EXIST::FUNCTION:
SSL_use_certificate 272 1_1_0d EXIST::FUNCTION:
SSL_CTX_enable_ct 273 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_set_security_level 274 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_security_ex_data 275 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_next_protos_advertised_cb 276 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_set_connect_state 277 1_1_0d EXIST::FUNCTION:
SSL_get_shared_sigalgs 278 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_ticket_lifetime_hint 279 1_1_0d EXIST::FUNCTION:
SSL_CTX_remove_session 280 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_ssl_method 281 1_1_0d EXIST::FUNCTION:
ERR_load_SSL_strings 282 1_1_0d EXIST::FUNCTION:
SSL_get_client_random 283 1_1_0d EXIST::FUNCTION:
SSL_load_client_CA_file 284 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_description 285 1_1_0d EXIST::FUNCTION:
SSL_get_psk_identity 286 1_1_0d EXIST::FUNCTION:PSK
SSL_CTX_add_client_custom_ext 287 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set_ssl_ctx 288 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set_flags 289 1_1_0d EXIST::FUNCTION:
SSL_dane_clear_flags 290 1_1_0d EXIST::FUNCTION:
SSL_get_security_callback 291 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set_time 292 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_finish 293 1_1_0d EXIST::FUNCTION:
SSL_set_purpose 294 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_set_remove_cb 295 1_1_0d EXIST::FUNCTION:
SSL_version 296 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_set_flags 297 1_1_0d EXIST::FUNCTION:
SSL_get_verify_callback 298 1_1_0d EXIST::FUNCTION:
SSL_set_security_level 299 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_default_passwd_cb 300 1_1_0d EXIST::FUNCTION:
SSL_COMP_get0_name 301 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_info_callback 302 1_1_0d EXIST::FUNCTION:
SSL_set_quiet_shutdown 303 1_1_0d EXIST::FUNCTION:
SSL_dane_set_flags 304 1_1_0d EXIST::FUNCTION:
SSL_renegotiate_abbreviated 305 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_purpose 306 1_1_0d EXIST::FUNCTION:
SSL_get_ciphers 307 1_1_0d EXIST::FUNCTION:
TLSv1_2_method 308 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_CTX_set_generate_session_id 309 1_1_0d EXIST::FUNCTION:
SSL_test_functions 310 1_1_0d EXIST::FUNCTION:UNIT_TEST
SSL_CTX_set_default_verify_file 311 1_1_0d EXIST::FUNCTION:
SSL_set_security_callback 312 1_1_0d EXIST::FUNCTION:
SSL_has_pending 313 1_1_0d EXIST::FUNCTION:
SSL_set_generate_session_id 314 1_1_0d EXIST::FUNCTION:
SSL_client_version 315 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_compress_id 316 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cipher_list 317 1_1_0d EXIST::FUNCTION:
SSL_set_client_CA_list 318 1_1_0d EXIST::FUNCTION:
SSL_SESSION_up_ref 319 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ex_data 320 1_1_0d EXIST::FUNCTION:
SSL_get_verify_mode 321 1_1_0d EXIST::FUNCTION:
SSL_set_verify_result 322 1_1_0d EXIST::FUNCTION:
SSL_set_session_secret_cb 323 1_1_0d EXIST::FUNCTION:
TLSv1_server_method 324 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_SESSION_get_timeout 325 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_ex_data 326 1_1_0d EXIST::FUNCTION:
SSL_set_info_callback 327 1_1_0d EXIST::FUNCTION:
SSL_use_RSAPrivateKey_file 328 1_1_0d EXIST::FUNCTION:RSA
SSL_CTX_set_default_verify_paths 329 1_1_0d EXIST::FUNCTION:
SSL_get_default_timeout 330 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_peer 331 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_password 332 1_1_0d EXIST::FUNCTION:SRP
SSL_COMP_add_compression_method 333 1_1_0d EXIST::FUNCTION:
SSL_select_next_proto 334 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_verify 335 1_1_0d EXIST::FUNCTION:
SSL_get0_next_proto_negotiated 336 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_connect 337 1_1_0d EXIST::FUNCTION:
TLSv1_2_client_method 338 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_set_session 339 1_1_0d EXIST::FUNCTION:
SSL_get_error 340 1_1_0d EXIST::FUNCTION:
SSL_get_sigalgs 341 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_read_buffer_len 342 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_name 343 1_1_0d EXIST::FUNCTION:
TLSv1_method 344 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_CTX_load_verify_locations 345 1_1_0d EXIST::FUNCTION:
SSL_alert_desc_string_long 346 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_RSAPrivateKey 347 1_1_0d EXIST::FUNCTION:RSA
SSL_CTX_set_cookie_generate_cb 348 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_client_cert_cb 349 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ct_validation_callback 350 1_1_0d EXIST::FUNCTION:CT
SSL_get0_alpn_selected 351 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_security_level 352 1_1_0d EXIST::FUNCTION:
SSL_set_SSL_CTX 353 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_quiet_shutdown 354 1_1_0d EXIST::FUNCTION:
SSL_CTX_SRP_CTX_init 355 1_1_0d EXIST::FUNCTION:SRP
SSL_has_matching_session_id 356 1_1_0d EXIST::FUNCTION:
SSL_set0_rbio 357 1_1_0d EXIST::FUNCTION:
SSL_get0_peername 358 1_1_0d EXIST::FUNCTION:
SSL_set1_param 359 1_1_0d EXIST::FUNCTION:
SSL_CTX_config 360 1_1_0d EXIST::FUNCTION:
SSLv3_client_method 361 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSL_get_info_callback 362 1_1_0d EXIST::FUNCTION:
SSL_set_ssl_method 363 1_1_0d EXIST::FUNCTION:
DTLSv1_server_method 364 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_CIPHER_get_digest_nid 365 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_RSAPrivateKey_ASN1 366 1_1_0d EXIST::FUNCTION:RSA
SSL_alert_desc_string 367 1_1_0d EXIST::FUNCTION:
SSL_get_ex_data 368 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_session_id_context 369 1_1_0d EXIST::FUNCTION:
SSL_get_fd 370 1_1_0d EXIST::FUNCTION:
SSL_get_server_random 371 1_1_0d EXIST::FUNCTION:
SSL_use_PrivateKey_file 372 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_tmp_dh_callback 373 1_1_0d EXIST::FUNCTION:DH
SSL_get_peer_certificate 374 1_1_0d EXIST::FUNCTION:
SSL_ct_is_enabled 375 1_1_0d EXIST::FUNCTION:CT
SSL_get_current_compression 376 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_username_callback 377 1_1_0d EXIST::FUNCTION:SRP
SSL_clear_options 378 1_1_0d EXIST::FUNCTION:
TLS_client_method 379 1_1_0d EXIST::FUNCTION:
TLSv1_1_server_method 380 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_CTX_get_options 381 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_time 382 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print_fp 383 1_1_0d EXIST::FUNCTION:STDIO
SSL_CTX_set_srp_strength 384 1_1_0d EXIST::FUNCTION:SRP
SSL_SRP_CTX_init 385 1_1_0d EXIST::FUNCTION:SRP
SSL_add1_host 386 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ctlog_list_file 387 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_set1_param 388 1_1_0d EXIST::FUNCTION:
SSL_get_client_ciphers 389 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_alpn_select_cb 390 1_1_0d EXIST::FUNCTION:
SSL_callback_ctrl 391 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_timeout 392 1_1_0d EXIST::FUNCTION:
SSL_get0_dane 393 1_1_0d EXIST::FUNCTION:
SSL_get_ssl_method 1 1_1_0d EXIST::FUNCTION:
SSL_clear 2 1_1_0d EXIST::FUNCTION:
SSL_set_default_passwd_cb 3 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_name 4 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_bits 5 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ct_validation_callback 6 1_1_0d EXIST::FUNCTION:CT
SSL_get_current_cipher 7 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_depth 8 1_1_0d EXIST::FUNCTION:
SSL_load_client_CA_file 9 1_1_0d EXIST::FUNCTION:
SSL_add_client_CA 10 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ex_data 11 1_1_0d EXIST::FUNCTION:
SSL_up_ref 12 1_1_0d EXIST::FUNCTION:
SSL_get_cipher_list 13 1_1_0d EXIST::FUNCTION:
SSL_is_init_finished 14 1_1_0d EXIST::FUNCTION:
SSL_set_default_passwd_cb_userdata 15 1_1_0d EXIST::FUNCTION:
SSL_CTX_add_client_custom_ext 16 1_1_0d EXIST::FUNCTION:
SSL_get_srtp_profiles 17 1_1_0d EXIST::FUNCTION:SRTP
SSL_CTX_set_default_passwd_cb 18 1_1_0d EXIST::FUNCTION:
SSL_set_read_ahead 19 1_1_0d EXIST::FUNCTION:
SSL_in_before 20 1_1_0d EXIST::FUNCTION:
SSL_get_psk_identity_hint 21 1_1_0d EXIST::FUNCTION:PSK
SSL_CTX_sess_set_remove_cb 22 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_auth_nid 23 1_1_0d EXIST::FUNCTION:
SSL_get_selected_srtp_profile 24 1_1_0d EXIST::FUNCTION:SRTP
SSL_test_functions 25 1_1_0d EXIST::FUNCTION:UNIT_TEST
SSL_CTX_sessions 26 1_1_0d EXIST::FUNCTION:
SSL_alert_type_string 27 1_1_0d EXIST::FUNCTION:
SSL_dup_CA_list 28 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_cert_store 29 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_new_cb 30 1_1_0d EXIST::FUNCTION:
SSL_CTX_remove_session 31 1_1_0d EXIST::FUNCTION:
SSL_set1_param 32 1_1_0d EXIST::FUNCTION:
SSL_CTX_ctrl 33 1_1_0d EXIST::FUNCTION:
SSL_CONF_cmd_value_type 34 1_1_0d EXIST::FUNCTION:
SSL_get_psk_identity 35 1_1_0d EXIST::FUNCTION:PSK
SSL_renegotiate_pending 36 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print_fp 37 1_1_0d EXIST::FUNCTION:STDIO
SSL_CIPHER_get_id 38 1_1_0d EXIST::FUNCTION:
SSL_dane_enable 39 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_cipher_nid 40 1_1_0d EXIST::FUNCTION:
SSL_CTX_check_private_key 41 1_1_0d EXIST::FUNCTION:
i2d_SSL_SESSION 42 1_1_0d EXIST::FUNCTION:
SSL_set_psk_client_callback 43 1_1_0d EXIST::FUNCTION:PSK
SSL_SRP_CTX_free 44 1_1_0d EXIST::FUNCTION:SRP
SSL_get_srp_username 45 1_1_0d EXIST::FUNCTION:SRP
SSL_get_client_random 46 1_1_0d EXIST::FUNCTION:
SSL_get_srp_N 47 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_get_ciphers 48 1_1_0d EXIST::FUNCTION:
SSL_read 49 1_1_0d EXIST::FUNCTION:
SSL_get_peer_finished 50 1_1_0d EXIST::FUNCTION:
SSL_set_session 51 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_standard_name 52 1_1_0d EXIST::FUNCTION:SSL_TRACE
SSL_renegotiate_abbreviated 53 1_1_0d EXIST::FUNCTION:
SSL_get_session 54 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_get_cb 55 1_1_0d EXIST::FUNCTION:
SSL_callback_ctrl 56 1_1_0d EXIST::FUNCTION:
SSL_set0_wbio 57 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print 58 1_1_0d EXIST::FUNCTION:
SSL_CTX_free 59 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_digest_nid 60 1_1_0d EXIST::FUNCTION:
SSL_set_session_ticket_ext 61 1_1_0d EXIST::FUNCTION:
SSL_CTX_load_verify_locations 62 1_1_0d EXIST::FUNCTION:
TLS_method 63 1_1_0d EXIST::FUNCTION:
OPENSSL_init_ssl 64 1_1_0d EXIST::FUNCTION:
SSL_get0_peername 65 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_ctlog_list_file 66 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_set_default_verify_file 67 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate 68 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_verify_dir 69 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_default_passwd_cb_userdata 70 1_1_0d EXIST::FUNCTION:
SSL_CTX_config 71 1_1_0d EXIST::FUNCTION:
SSL_set_tmp_dh_callback 72 1_1_0d EXIST::FUNCTION:DH
SSL_CTX_set_cookie_generate_cb 73 1_1_0d EXIST::FUNCTION:
SSL_CTX_has_client_custom_ext 74 1_1_0d EXIST::FUNCTION:
SSL_select_next_proto 75 1_1_0d EXIST::FUNCTION:
SSL_get1_supported_ciphers 76 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_cipher 77 1_1_0d EXIST::FUNCTION:
SSL_has_pending 78 1_1_0d EXIST::FUNCTION:
DTLSv1_2_method 79 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_CTX_add_client_CA 80 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_purpose 81 1_1_0d EXIST::FUNCTION:
SSL_set_hostflags 82 1_1_0d EXIST::FUNCTION:
SSL_set_wfd 83 1_1_0d EXIST::FUNCTION:SOCK
SSL_get_wbio 84 1_1_0d EXIST::FUNCTION:
PEM_read_bio_SSL_SESSION 85 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_quiet_shutdown 86 1_1_0d EXIST::FUNCTION:
SSL_add_dir_cert_subjects_to_stack 87 1_1_0d EXIST::FUNCTION:
SSL_is_dtls 88 1_1_0d EXIST::FUNCTION:
SSL_get0_peer_scts 89 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_set_default_read_buffer_len 90 1_1_0d EXIST::FUNCTION:
TLS_client_method 91 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_timeout 92 1_1_0d EXIST::FUNCTION:
SSL_get_peer_cert_chain 93 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_client_cert_cb 94 1_1_0d EXIST::FUNCTION:
SSL_dane_clear_flags 95 1_1_0d EXIST::FUNCTION:
SSL_shutdown 96 1_1_0d EXIST::FUNCTION:
GMTLS_client_method 97 1_1_0d EXIST::FUNCTION:GMTLS
SSL_CTX_use_certificate_file 98 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_RSAPrivateKey 99 1_1_0d EXIST::FUNCTION:RSA
SSL_CONF_cmd_argv 100 1_1_0d EXIST::FUNCTION:
SSL_set_session_secret_cb 101 1_1_0d EXIST::FUNCTION:
SSL_get_wfd 102 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_username_callback 103 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_srp_client_pwd_callback 104 1_1_0d EXIST::FUNCTION:SRP
SSL_enable_ct 105 1_1_0d EXIST::FUNCTION:CT
SSL_check_private_key 106 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_ticket_lifetime_hint 107 1_1_0d EXIST::FUNCTION:
SSL_free 108 1_1_0d EXIST::FUNCTION:
BIO_ssl_shutdown 109 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set_ex_data 110 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cert_cb 111 1_1_0d EXIST::FUNCTION:
BIO_new_ssl_connect 112 1_1_0d EXIST::FUNCTION:
SSL_get_current_expansion 113 1_1_0d EXIST::FUNCTION:
d2i_SSL_SESSION 114 1_1_0d EXIST::FUNCTION:
SSL_set_accept_state 115 1_1_0d EXIST::FUNCTION:
SSL_CTX_set1_param 116 1_1_0d EXIST::FUNCTION:
SSL_ct_is_enabled 117 1_1_0d EXIST::FUNCTION:CT
SSL_get0_dane_tlsa 118 1_1_0d EXIST::FUNCTION:
SSL_set_session_id_context 119 1_1_0d EXIST::FUNCTION:
SSL_set_verify_depth 120 1_1_0d EXIST::FUNCTION:
DTLS_client_method 121 1_1_0d EXIST::FUNCTION:
BIO_new_ssl 122 1_1_0d EXIST::FUNCTION:
SSL_rstate_string_long 123 1_1_0d EXIST::FUNCTION:
SSL_SESSION_up_ref 124 1_1_0d EXIST::FUNCTION:
SSL_srp_server_param_with_username 125 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_timeout 126 1_1_0d EXIST::FUNCTION:
SSL_get_options 127 1_1_0d EXIST::FUNCTION:
SSL_get_srp_g 128 1_1_0d EXIST::FUNCTION:SRP
SSL_set_tlsext_use_srtp 129 1_1_0d EXIST::FUNCTION:SRTP
SSL_CTX_set0_ctlog_store 130 1_1_0d EXIST::FUNCTION:CT
SSL_CTX_get_ssl_method 131 1_1_0d EXIST::FUNCTION:
SSL_get0_verified_chain 132 1_1_0d EXIST::FUNCTION:
SSL_CTX_ct_is_enabled 133 1_1_0d EXIST::FUNCTION:CT
SSL_dane_tlsa_add 134 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_next_proto_select_cb 135 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_CTX_set_next_protos_advertised_cb 136 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_set_default_read_buffer_len 137 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cipher_list 138 1_1_0d EXIST::FUNCTION:
SSL_set_verify 139 1_1_0d EXIST::FUNCTION:
SSL_set_ex_data 140 1_1_0d EXIST::FUNCTION:
SSL_CTX_flush_sessions 141 1_1_0d EXIST::FUNCTION:
SSL_get_default_timeout 142 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_clear_flags 143 1_1_0d EXIST::FUNCTION:
SSL_extension_supported 144 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey_file 145 1_1_0d EXIST::FUNCTION:
PEM_read_SSL_SESSION 146 1_1_0d EXIST::FUNCTION:STDIO
SSL_SESSION_set1_id_context 147 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_protocol_version 148 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set_time 149 1_1_0d EXIST::FUNCTION:
SSL_rstate_string 150 1_1_0d EXIST::FUNCTION:
SSL_set_not_resumable_session_callback 151 1_1_0d EXIST::FUNCTION:
SSL_set_connect_state 152 1_1_0d EXIST::FUNCTION:
SSL_get_rfd 153 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_name 154 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_cert_store 155 1_1_0d EXIST::FUNCTION:
SSL_set_shutdown 156 1_1_0d EXIST::FUNCTION:
SSL_state_string 157 1_1_0d EXIST::FUNCTION:
SSL_config 158 1_1_0d EXIST::FUNCTION:
SSL_set_trust 159 1_1_0d EXIST::FUNCTION:
SSL_set_cert_cb 160 1_1_0d EXIST::FUNCTION:
SSL_waiting_for_async 161 1_1_0d EXIST::FUNCTION:
SSL_CTX_clear_options 162 1_1_0d EXIST::FUNCTION:
SSL_set_bio 163 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_passwd_cb_userdata 164 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_default_passwd_cb 165 1_1_0d EXIST::FUNCTION:
SSL_get0_next_proto_negotiated 166 1_1_0d EXIST::FUNCTION:NEXTPROTONEG
SSL_CTX_set_cert_verify_callback 167 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_psk_server_callback 168 1_1_0d EXIST::FUNCTION:PSK
SSL_SESSION_get_compress_id 169 1_1_0d EXIST::FUNCTION:
SSL_use_PrivateKey_ASN1 170 1_1_0d EXIST::FUNCTION:
SSL_get_client_CA_list 171 1_1_0d EXIST::FUNCTION:
GMTLS_server_method 172 1_1_0d EXIST::FUNCTION:GMTLS
SSL_alert_type_string_long 173 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_chain_file 174 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_trust 175 1_1_0d EXIST::FUNCTION:
DTLSv1_method 176 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_get0_dane_authority 177 1_1_0d EXIST::FUNCTION:
TLSv1_server_method 178 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_CTX_get_security_callback 179 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_kx_nid 180 1_1_0d EXIST::FUNCTION:
SSL_get0_param 181 1_1_0d EXIST::FUNCTION:
SSL_CONF_cmd 182 1_1_0d EXIST::FUNCTION:
SSL_accept 183 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_security_callback 184 1_1_0d EXIST::FUNCTION:
SSL_get_sigalgs 185 1_1_0d EXIST::FUNCTION:
SSL_set_options 186 1_1_0d EXIST::FUNCTION:
SSL_get0_dane 187 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate_chain_file 188 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_set_new_cb 189 1_1_0d EXIST::FUNCTION:
SSL_set_ct_validation_callback 190 1_1_0d EXIST::FUNCTION:CT
SSL_use_PrivateKey 191 1_1_0d EXIST::FUNCTION:
SSL_get_SSL_CTX 192 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_security_level 193 1_1_0d EXIST::FUNCTION:
SSL_write 194 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set_ssl_ctx 195 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_tlsext_use_srtp 196 1_1_0d EXIST::FUNCTION:SRTP
SSL_get_error 197 1_1_0d EXIST::FUNCTION:
SSL_use_certificate 198 1_1_0d EXIST::FUNCTION:
SSL_get_ex_data_X509_STORE_CTX_idx 199 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_timeout 200 1_1_0d EXIST::FUNCTION:
SSL_get_shared_ciphers 201 1_1_0d EXIST::FUNCTION:
TLSv1_method 202 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_CTX_add_server_custom_ext 203 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_verify_param_callback 204 1_1_0d EXIST::FUNCTION:SRP
SSL_set_cipher_list 205 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_security_ex_data 206 1_1_0d EXIST::FUNCTION:
SSL_add_ssl_module 207 1_1_0d EXIST::FUNCTION:
SSL_get_client_ciphers 208 1_1_0d EXIST::FUNCTION:
TLSv1_1_client_method 209 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_set_srp_server_param_pw 210 1_1_0d EXIST::FUNCTION:SRP
SSL_set_srp_server_param 211 1_1_0d EXIST::FUNCTION:SRP
SSL_SESSION_set1_id 212 1_1_0d EXIST::FUNCTION:
SSL_get_state 213 1_1_0d EXIST::FUNCTION:
SSL_check_chain 214 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_quiet_shutdown 215 1_1_0d EXIST::FUNCTION:
BIO_f_ssl 216 1_1_0d EXIST::FUNCTION:
SSL_COMP_set0_compression_methods 217 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_set_get_cb 218 1_1_0d EXIST::FUNCTION:
SSL_SESSION_set_timeout 219 1_1_0d EXIST::FUNCTION:
SSL_alert_desc_string_long 220 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_ex_data 221 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_time 222 1_1_0d EXIST::FUNCTION:
SSL_get_privatekey 223 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_cb_arg 224 1_1_0d EXIST::FUNCTION:SRP
SSL_SESSION_print_keylog 225 1_1_0d EXIST::FUNCTION:
SSL_set_purpose 226 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_ex_data 227 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey_ASN1 228 1_1_0d EXIST::FUNCTION:
SSLv3_method 229 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
TLS_server_method 230 1_1_0d EXIST::FUNCTION:
SSL_connect 231 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_mode 232 1_1_0d EXIST::FUNCTION:
SSL_set_debug 233 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0
SSL_set_msg_callback 234 1_1_0d EXIST::FUNCTION:
SSL_get_default_passwd_cb_userdata 235 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_PrivateKey 236 1_1_0d EXIST::FUNCTION:
SSL_set_session_ticket_ext_cb 237 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_version 238 1_1_0d EXIST::FUNCTION:
SSL_CTX_add_session 239 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_ctlog_store 240 1_1_0d EXIST::FUNCTION:CT
SSL_CONF_CTX_finish 241 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_session_id_context 242 1_1_0d EXIST::FUNCTION:
SSL_get_srp_userinfo 243 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_use_serverinfo_file 244 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_security_level 245 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_privatekey 246 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_generate_session_id 247 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_password 248 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_msg_callback 249 1_1_0d EXIST::FUNCTION:
SSL_get_default_passwd_cb 250 1_1_0d EXIST::FUNCTION:
SSL_get_shutdown 251 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_RSAPrivateKey_ASN1 252 1_1_0d EXIST::FUNCTION:RSA
SSL_renegotiate 253 1_1_0d EXIST::FUNCTION:
SSL_get_verify_depth 254 1_1_0d EXIST::FUNCTION:
DTLS_method 255 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_certificate 256 1_1_0d EXIST::FUNCTION:
SSL_get_info_callback 257 1_1_0d EXIST::FUNCTION:
SSL_get_verify_callback 258 1_1_0d EXIST::FUNCTION:
SSL_CTX_callback_ctrl 259 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_id 260 1_1_0d EXIST::FUNCTION:
SSL_alert_desc_string 261 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_client_CA_list 262 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_verify_callback 263 1_1_0d EXIST::FUNCTION:
SSL_get_server_random 264 1_1_0d EXIST::FUNCTION:
SSL_get_security_level 265 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_clear_flags 266 1_1_0d EXIST::FUNCTION:
SSL_set0_rbio 267 1_1_0d EXIST::FUNCTION:
SSL_in_init 268 1_1_0d EXIST::FUNCTION:
SSL_add1_host 269 1_1_0d EXIST::FUNCTION:
SSL_set1_host 270 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set_flags 271 1_1_0d EXIST::FUNCTION:
SSL_COMP_add_compression_method 272 1_1_0d EXIST::FUNCTION:
SSL_state_string_long 273 1_1_0d EXIST::FUNCTION:
SSL_get0_alpn_selected 274 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_enable 275 1_1_0d EXIST::FUNCTION:
TLSv1_2_client_method 276 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_SESSION_new 277 1_1_0d EXIST::FUNCTION:
SSL_SESSION_free 278 1_1_0d EXIST::FUNCTION:
SSL_dup 279 1_1_0d EXIST::FUNCTION:
TLSv1_1_server_method 280 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_CTX_set_default_ctlog_list_file 281 1_1_0d EXIST::FUNCTION:CT
SSL_use_RSAPrivateKey 282 1_1_0d EXIST::FUNCTION:RSA
SSL_new 283 1_1_0d EXIST::FUNCTION:
SSL_set_ssl_method 284 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_set1_prefix 285 1_1_0d EXIST::FUNCTION:
SSL_get_fd 286 1_1_0d EXIST::FUNCTION:
TLSv1_1_method 287 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
SSL_CTX_set_psk_client_callback 288 1_1_0d EXIST::FUNCTION:PSK
SSL_CIPHER_find 289 1_1_0d EXIST::FUNCTION:
SSL_get_shared_sigalgs 290 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_peer 291 1_1_0d EXIST::FUNCTION:
DTLSv1_client_method 292 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_pending 293 1_1_0d EXIST::FUNCTION:
SSL_get_security_callback 294 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_verify_paths 295 1_1_0d EXIST::FUNCTION:
SSL_COMP_get0_name 296 1_1_0d EXIST::FUNCTION:
SSL_set_quiet_shutdown 297 1_1_0d EXIST::FUNCTION:
PEM_write_bio_SSL_SESSION 298 1_1_0d EXIST::FUNCTION:
TLSv1_2_server_method 299 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_set_rfd 300 1_1_0d EXIST::FUNCTION:SOCK
SSL_CTX_set_cookie_verify_cb 301 1_1_0d EXIST::FUNCTION:
SSL_set0_security_ex_data 302 1_1_0d EXIST::FUNCTION:
SSL_is_server 303 1_1_0d EXIST::FUNCTION:
SSL_CTX_sess_get_remove_cb 304 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_serverinfo 305 1_1_0d EXIST::FUNCTION:
SSL_get_peer_certificate 306 1_1_0d EXIST::FUNCTION:
SSL_get_all_async_fds 307 1_1_0d EXIST::FUNCTION:
SSL_use_RSAPrivateKey_ASN1 308 1_1_0d EXIST::FUNCTION:RSA
SSL_CONF_CTX_set_ssl 309 1_1_0d EXIST::FUNCTION:
SSL_get_read_ahead 310 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_id 311 1_1_0d EXIST::FUNCTION:
SSL_get_ciphers 312 1_1_0d EXIST::FUNCTION:
DTLS_server_method 313 1_1_0d EXIST::FUNCTION:
SSL_set_alpn_protos 314 1_1_0d EXIST::FUNCTION:
SSL_is_gmtls 315 1_1_0d EXIST::FUNCTION:
SSL_get_verify_mode 316 1_1_0d EXIST::FUNCTION:
SSL_client_version 317 1_1_0d EXIST::FUNCTION:
SSL_CTX_SRP_CTX_init 318 1_1_0d EXIST::FUNCTION:SRP
SSL_set_psk_server_callback 319 1_1_0d EXIST::FUNCTION:PSK
SSL_SESSION_has_ticket 320 1_1_0d EXIST::FUNCTION:
DTLSv1_server_method 321 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_METHOD
SSL_set_client_CA_list 322 1_1_0d EXIST::FUNCTION:
SSL_set_verify_result 323 1_1_0d EXIST::FUNCTION:
SSL_CTX_set0_security_ex_data 324 1_1_0d EXIST::FUNCTION:
SSL_set_security_level 325 1_1_0d EXIST::FUNCTION:
SSL_do_handshake 326 1_1_0d EXIST::FUNCTION:
SSL_use_PrivateKey_file 327 1_1_0d EXIST::FUNCTION:
BIO_ssl_copy_session_id 328 1_1_0d EXIST::FUNCTION:
SSL_add_file_cert_subjects_to_stack 329 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_ticket 330 1_1_0d EXIST::FUNCTION:
SSL_export_keying_material 331 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_set_flags 332 1_1_0d EXIST::FUNCTION:
SSL_clear_options 333 1_1_0d EXIST::FUNCTION:
DTLSv1_2_server_method 334 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_want 335 1_1_0d EXIST::FUNCTION:
SSL_get_verify_result 336 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_client_cert_engine 337 1_1_0d EXIST::FUNCTION:ENGINE
SSL_get1_session 338 1_1_0d EXIST::FUNCTION:
SSL_set_security_callback 339 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_info_callback 340 1_1_0d EXIST::FUNCTION:
DTLSv1_listen 341 1_1_0d EXIST::FUNCTION:SOCK
SSL_CTX_use_RSAPrivateKey_file 342 1_1_0d EXIST::FUNCTION:RSA
SSL_CTX_set_alpn_protos 343 1_1_0d EXIST::FUNCTION:
SSL_dane_set_flags 344 1_1_0d EXIST::FUNCTION:
SSL_version 345 1_1_0d EXIST::FUNCTION:
SSL_get_current_compression 346 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_file 347 1_1_0d EXIST::FUNCTION:
ERR_load_SSL_strings 348 1_1_0d EXIST::FUNCTION:
SSL_trace 349 1_1_0d EXIST::FUNCTION:SSL_TRACE
BIO_new_buffer_ssl_connect 350 1_1_0d EXIST::FUNCTION:
SSL_get_changed_async_fds 351 1_1_0d EXIST::FUNCTION:
SSL_get_rbio 352 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_free 353 1_1_0d EXIST::FUNCTION:
SSL_CTX_up_ref 354 1_1_0d EXIST::FUNCTION:
SSL_set_info_callback 355 1_1_0d EXIST::FUNCTION:
SSL_certs_clear 356 1_1_0d EXIST::FUNCTION:
SSL_get_finished 357 1_1_0d EXIST::FUNCTION:
SSL_set_SSL_CTX 358 1_1_0d EXIST::FUNCTION:
SSL_CONF_CTX_new 359 1_1_0d EXIST::FUNCTION:
SSL_use_certificate_ASN1 360 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_mtype_set 361 1_1_0d EXIST::FUNCTION:
SSL_CTX_get_client_cert_cb 362 1_1_0d EXIST::FUNCTION:
SSL_get_servername_type 363 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_certificate_ASN1 364 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_tmp_dh_callback 365 1_1_0d EXIST::FUNCTION:DH
SSL_CTX_enable_ct 366 1_1_0d EXIST::FUNCTION:CT
SSL_set_generate_session_id 367 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_client_CA_list 368 1_1_0d EXIST::FUNCTION:
SSL_get_version 369 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_info_callback 370 1_1_0d EXIST::FUNCTION:
TLSv1_2_method 371 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_2_METHOD
SSL_has_matching_session_id 372 1_1_0d EXIST::FUNCTION:
DTLSv1_2_client_method 373 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,DTLS1_2_METHOD
SSL_set_fd 374 1_1_0d EXIST::FUNCTION:SOCK
SSL_CTX_set_ssl_version 375 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_id_context 376 1_1_0d EXIST::FUNCTION:
SSL_copy_session_id 377 1_1_0d EXIST::FUNCTION:
SSL_get_ex_data 378 1_1_0d EXIST::FUNCTION:
SSL_CTX_get0_param 379 1_1_0d EXIST::FUNCTION:
SSL_SRP_CTX_init 380 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_set_verify 381 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_verify_depth 382 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_is_aead 383 1_1_0d EXIST::FUNCTION:
PEM_write_SSL_SESSION 384 1_1_0d EXIST::FUNCTION:STDIO
SSL_CTX_set_options 385 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_compression_methods 386 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_not_resumable_session_callback 387 1_1_0d EXIST::FUNCTION:
SSL_CTX_SRP_CTX_free 388 1_1_0d EXIST::FUNCTION:SRP
SSL_CIPHER_description 389 1_1_0d EXIST::FUNCTION:
SSL_CTX_use_psk_identity_hint 390 1_1_0d EXIST::FUNCTION:PSK
SSL_peek 391 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_hostname 392 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get_master_key 393 1_1_0d EXIST::FUNCTION:
SSL_get_quiet_shutdown 394 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_verify_dir 395 1_1_0d EXIST::FUNCTION:
i2d_SSL_SESSION 396 1_1_0d EXIST::FUNCTION:
TLSv1_1_method 397 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_1_METHOD
TLS_method 398 1_1_0d EXIST::FUNCTION:
SSL_CTX_dane_clear_flags 399 1_1_0d EXIST::FUNCTION:
SSL_SESSION_print_keylog 400 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_timeout 401 1_1_0d EXIST::FUNCTION:
SSL_set_wfd 402 1_1_0d EXIST::FUNCTION:SOCK
SSL_is_dtls 403 1_1_0d EXIST::FUNCTION:
SSL_rstate_string 404 1_1_0d EXIST::FUNCTION:
SSL_get_cipher_list 405 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_default_ctlog_list_file 406 1_1_0d EXIST::FUNCTION:CT
SSL_get_finished 407 1_1_0d EXIST::FUNCTION:
SSL_COMP_get_compression_methods 408 1_1_0d EXIST::FUNCTION:
SSL_SESSION_get0_id_context 409 1_1_0d EXIST::FUNCTION:
SSL_CIPHER_get_id 410 1_1_0d EXIST::FUNCTION:
SSL_set_not_resumable_session_callback 411 1_1_0d EXIST::FUNCTION:
SSL_use_psk_identity_hint 395 1_1_0d EXIST::FUNCTION:PSK
GMTLS_method 396 1_1_0d EXIST::FUNCTION:GMTLS
SSL_get_servername 397 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_alpn_select_cb 398 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_username 399 1_1_0d EXIST::FUNCTION:SRP
SRP_Calc_A_param 400 1_1_0d EXIST::FUNCTION:SRP
SSL_use_RSAPrivateKey_file 401 1_1_0d EXIST::FUNCTION:RSA
SSL_CTX_get_options 402 1_1_0d EXIST::FUNCTION:
SSL_get_certificate 403 1_1_0d EXIST::FUNCTION:
SSL_CTX_set_srp_strength 404 1_1_0d EXIST::FUNCTION:SRP
SSL_CTX_new 405 1_1_0d EXIST::FUNCTION:
SSLv3_server_method 406 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSLv3_client_method 407 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SSL3_METHOD
SSL_session_reused 408 1_1_0d EXIST::FUNCTION:
TLSv1_client_method 409 1_1_0d EXIST::FUNCTION:DEPRECATEDIN_1_1_0,TLS1_METHOD
SSL_get0_security_ex_data 410 1_1_0d EXIST::FUNCTION:
SSL_ctrl 411 1_1_0d EXIST::FUNCTION: