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