xref: /petsc/include/petscwebclient.h (revision a496304597bacff3545e802853d69e8765312868)
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