10efc6a03SBarry Smith /* 20efc6a03SBarry Smith This is the include file for source code that accesses HTTPS 30efc6a03SBarry Smith */ 46524c165SJacob Faibussowitsch #ifndef PETSCWEBCLIENT_H 526bd1501SBarry Smith #define PETSCWEBCLIENT_H 60efc6a03SBarry Smith 7d4161b4aSBarry Smith /* complex number I conflicts with SSL include files */ 8*74c01ffaSSatish Balay #if !defined(PETSC_SKIP_COMPLEX) 9d4161b4aSBarry Smith #define PETSC_SKIP_COMPLEX 10*74c01ffaSSatish Balay #endif 110efc6a03SBarry Smith #include <petscsys.h> 120efc6a03SBarry Smith 130efc6a03SBarry Smith #include <errno.h> 140efc6a03SBarry Smith #include <sys/types.h> 150efc6a03SBarry Smith #include <sys/socket.h> 160efc6a03SBarry Smith #include <netinet/in.h> 170efc6a03SBarry Smith #include <netinet/tcp.h> 180efc6a03SBarry Smith #include <netdb.h> 190efc6a03SBarry Smith #include <fcntl.h> 200efc6a03SBarry Smith #include <signal.h> 210efc6a03SBarry Smith #include <unistd.h> 220efc6a03SBarry Smith #include <string.h> 230efc6a03SBarry Smith 240efc6a03SBarry Smith #include <openssl/ssl.h> 250efc6a03SBarry Smith #include <openssl/err.h> 260efc6a03SBarry Smith 270efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscSSLInitializeContext(SSL_CTX **); 280efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscSSLDestroyContext(SSL_CTX *); 290efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscHTTPSRequest(const char[], const char[], const char[], const char[], const char[], SSL *, char[], size_t); 300efc6a03SBarry Smith PETSC_EXTERN PetscErrorCode PetscHTTPSConnect(const char[], int, SSL_CTX *, int *, SSL **); 310efc6a03SBarry Smith 3204102261SBarry Smith PETSC_EXTERN PetscErrorCode PetscHTTPRequest(const char[], const char[], const char[], const char[], const char[], int, char[], size_t); 330efc6a03SBarry Smith #endif 34