37eb74a6608b1dd05f711022527430fa4e9ea829
[openssl.git] / crypto / http / http_local.h
1 /*
2  * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved.
3  * Copyright Siemens AG 2018-2020
4  *
5  * Licensed under the Apache License 2.0 (the "License").  You may not use
6  * this file except in compliance with the License.  You can obtain a copy
7  * in the file LICENSE in the source distribution or at
8  * https://www.openssl.org/source/license.html
9  */
10
11 #ifndef OSSL_CRYPTO_HTTP_LOCAL_H
12 # define OSSL_CRYPTO_HTTP_LOCAL_H
13
14 # include <openssl/ocsp.h>
15
16 /* name aliases for legacy names with name prefix "OCSP_" */
17 typedef OCSP_REQ_CTX OSSL_HTTP_REQ_CTX;
18 /* functions meanwhile only used internally */
19 # define OSSL_HTTP_REQ_CTX_new         OCSP_REQ_CTX_new
20 # define OSSL_HTTP_REQ_CTX_free        OCSP_REQ_CTX_free
21 # define OSSL_HTTP_REQ_CTX_header      OCSP_REQ_CTX_http
22 # define OSSL_HTTP_REQ_CTX_add1_header OCSP_REQ_CTX_add1_header
23 # define OSSL_HTTP_REQ_CTX_i2d         OCSP_REQ_CTX_i2d
24 # define OSSL_HTTP_REQ_CTX_nbio        OCSP_REQ_CTX_nbio
25 # ifndef OPENSSL_NO_SOCK
26 #  define OSSL_HTTP_REQ_CTX_sendreq_d2i OCSP_REQ_CTX_nbio_d2i
27 # endif
28 /* functions that are meanwhile unused */
29 # define OSSL_HTTP_REQ_CTX_get0_mem_bio OCSP_REQ_CTX_get0_mem_bio /* undoc'd */
30 # define OSSL_HTTP_REQ_CTX_set_max_response_length OCSP_set_max_response_length
31
32 BIO *HTTP_asn1_item2bio(const ASN1_ITEM *it, ASN1_VALUE *val);
33 OSSL_HTTP_REQ_CTX *HTTP_REQ_CTX_new(BIO *wbio, BIO *rbio, int use_http_proxy,
34                                     const char *server, const char *port,
35                                     const char *path,
36                                     const STACK_OF(CONF_VALUE) *headers,
37                                     const char *content_type, BIO *req_mem,
38                                     int maxline, unsigned long max_resp_len,
39                                     int timeout,
40                                     const char *expected_content_type,
41                                     int expect_asn1);
42 ASN1_VALUE *HTTP_sendreq_bio(BIO *bio, OSSL_HTTP_bio_cb_t bio_update_fn,
43                              void *arg, const char *server, const char *port,
44                              const char *path, int use_ssl, int use_proxy,
45                              const STACK_OF(CONF_VALUE) *headers,
46                              const char *content_type,
47                              ASN1_VALUE *req, const ASN1_ITEM *req_it,
48                              int maxline, unsigned long max_resp_len,
49                              int timeout, const ASN1_ITEM *rsp_it);
50
51 #endif /* !defined OSSL_CRYPTO_HTTP_LOCAL_H */