10efc6a03SBarry Smith /* 20efc6a03SBarry Smith This is the include file for source code that accesses HTTPS 30efc6a03SBarry Smith */ 4*a4963045SJacob Faibussowitsch #pragma once 50efc6a03SBarry Smith 6d4161b4aSBarry Smith /* complex number I conflicts with SSL include files */ 774c01ffaSSatish Balay #if !defined(PETSC_SKIP_COMPLEX) 8d4161b4aSBarry Smith #define PETSC_SKIP_COMPLEX 974c01ffaSSatish Balay #endif 100efc6a03SBarry Smith #include <petscsys.h> 110efc6a03SBarry Smith 120efc6a03SBarry Smith #include <errno.h> 130efc6a03SBarry Smith #include <sys/types.h> 140efc6a03SBarry Smith #include <sys/socket.h> 150efc6a03SBarry Smith #include <netinet/in.h> 160efc6a03SBarry Smith #include <netinet/tcp.h> 170efc6a03SBarry Smith #include <netdb.h> 180efc6a03SBarry Smith #include <fcntl.h> 190efc6a03SBarry Smith #include <signal.h> 200efc6a03SBarry Smith #include <unistd.h> 210efc6a03SBarry Smith #include <string.h> 220efc6a03SBarry Smith 230efc6a03SBarry Smith #include <openssl/ssl.h> 240efc6a03SBarry Smith #include <openssl/err.h> 250efc6a03SBarry Smith 260efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscSSLInitializeContext(SSL_CTX **); 270efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscSSLDestroyContext(SSL_CTX *); 280efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscHTTPSRequest(const char[], const char[], const char[], const char[], const char[], SSL *, char[], size_t); 290efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscHTTPSConnect(const char[], int, SSL_CTX *, int *, SSL **); 300efc6a03SBarry Smith 3104102261SBarry Smith PETSC_EXTERN PetscErrorCode PetscHTTPRequest(const char[], const char[], const char[], const char[], const char[], int, char[], size_t); 32