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