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