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