Line data Source code
1 : #ifndef HEADER_fd_src_waltz_h2_fd_h2_base 2 : #define HEADER_fd_src_waltz_h2_fd_h2_base 3 : 4 : #include "../../util/bits/fd_bits.h" 5 : 6 : /* Enable sockets support? */ 7 : 8 : #ifndef FD_H2_HAS_SOCKETS 9 : #if FD_HAS_HOSTED 10 : #define FD_H2_HAS_SOCKETS 1 11 : #endif 12 : #endif 13 : 14 : #ifndef FD_H2_HAS_SOCKETS 15 : #define FD_H2_HAS_SOCKETS 0 16 : #endif 17 : 18 : /* Forward declarations for all objects */ 19 : 20 : struct fd_h2_callbacks; 21 : typedef struct fd_h2_callbacks fd_h2_callbacks_t; 22 : 23 : struct fd_h2_rbuf; 24 : typedef struct fd_h2_rbuf fd_h2_rbuf_t; 25 : 26 : struct fd_h2_conn; 27 : typedef struct fd_h2_conn fd_h2_conn_t; 28 : 29 : struct fd_h2_stream; 30 : typedef struct fd_h2_stream fd_h2_stream_t; 31 : 32 : /* HTTP/2 error codes 33 : https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#error-code */ 34 : 35 360 : #define FD_H2_SUCCESS 0x00 36 6 : #define FD_H2_ERR_PROTOCOL 0x01 37 0 : #define FD_H2_ERR_INTERNAL 0x02 38 0 : #define FD_H2_ERR_FLOW_CONTROL 0x03 39 0 : #define FD_H2_ERR_SETTINGS_TIMEOUT 0x04 40 0 : #define FD_H2_ERR_STREAM_CLOSED 0x05 41 0 : #define FD_H2_ERR_FRAME_SIZE 0x06 42 0 : #define FD_H2_ERR_REFUSED_STREAM 0x07 43 6 : #define FD_H2_ERR_CANCEL 0x08 44 6 : #define FD_H2_ERR_COMPRESSION 0x09 45 0 : #define FD_H2_ERR_CONNECT 0x0a 46 0 : #define FD_H2_ERR_ENHANCE_YOUR_CALM 0x0b 47 0 : #define FD_H2_ERR_INADEQUATE_SECURITY 0x0c 48 0 : #define FD_H2_ERR_HTTP_1_1_REQUIRED 0x0d 49 : 50 : FD_PROTOTYPES_BEGIN 51 : 52 : /* fd_h2_strerror returns a static-lifetime cstr briefly describing the 53 : given FD_H2_ERR_* code. */ 54 : 55 : FD_FN_CONST char const * 56 : fd_h2_strerror( uint err ); 57 : 58 : FD_PROTOTYPES_END 59 : 60 : #endif /* HEADER_fd_src_waltz_h2_fd_h2_base */