Crate libnghttp2_sys

Source

Structs§

nghttp2_data
@struct
nghttp2_data_provider
@struct
nghttp2_ext_altsvc
@struct
nghttp2_ext_origin
@struct
nghttp2_extension
@struct
nghttp2_frame_hd
@struct The frame header.
nghttp2_goaway
@struct
nghttp2_hd_deflater
nghttp2_hd_inflater
nghttp2_headers
@struct
nghttp2_info
@struct
nghttp2_mem
@struct
nghttp2_nv
@struct
nghttp2_option
nghttp2_origin_entry
@struct
nghttp2_ping
@struct
nghttp2_priority
@struct
nghttp2_priority_spec
@struct
nghttp2_push_promise
@struct
nghttp2_rcbuf
nghttp2_rst_stream
@struct
nghttp2_session
nghttp2_session_callbacks
nghttp2_settings
@struct
nghttp2_settings_entry
@struct
nghttp2_stream
nghttp2_vec
@struct
nghttp2_window_update
@struct

Constants§

NGHTTP2_ALTSVC
The ALTSVC frame, which is defined in RFC 7383 <https://tools.ietf.org/html/rfc7838#section-4>_.
NGHTTP2_CANCEL
CANCEL
NGHTTP2_COMPRESSION_ERROR
COMPRESSION_ERROR
NGHTTP2_CONNECT_ERROR
CONNECT_ERROR
NGHTTP2_CONTINUATION
The CONTINUATION frame. This frame type won’t be passed to any callbacks because the library processes this frame type and its preceding HEADERS/PUSH_PROMISE as a single frame.
NGHTTP2_DATA
The DATA frame.
NGHTTP2_DATA_FLAG_EOF
Indicates EOF was sensed.
NGHTTP2_DATA_FLAG_NONE
No flag set.
NGHTTP2_DATA_FLAG_NO_COPY
Indicates that application will send complete DATA frame in :type:nghttp2_send_data_callback.
NGHTTP2_DATA_FLAG_NO_END_STREAM
Indicates that END_STREAM flag must not be set even if NGHTTP2_DATA_FLAG_EOF is set. Usually this flag is used to send trailer fields with nghttp2_submit_request() or nghttp2_submit_response().
NGHTTP2_ENHANCE_YOUR_CALM
ENHANCE_YOUR_CALM
NGHTTP2_ERR_BAD_CLIENT_MAGIC
Invalid client magic (see :macro:NGHTTP2_CLIENT_MAGIC) was received and further processing is not possible.
NGHTTP2_ERR_BUFFER_ERROR
Out of buffer space.
NGHTTP2_ERR_CALLBACK_FAILURE
The user callback function failed. This is a fatal error.
NGHTTP2_ERR_CANCEL
Indicates that a processing was canceled.
NGHTTP2_ERR_DATA_EXIST
DATA or HEADERS frame for a given stream has been already submitted and has not been fully processed yet. Application should wait for the transmission of the previously submitted frame before submitting another.
NGHTTP2_ERR_DEFERRED
Used as a return value from :func:nghttp2_data_source_read_callback to indicate that data transfer is postponed. See :func:nghttp2_data_source_read_callback for details.
NGHTTP2_ERR_DEFERRED_DATA_EXIST
Another DATA frame has already been deferred.
NGHTTP2_ERR_EOF
The peer performed a shutdown on the connection.
NGHTTP2_ERR_FATAL
The errors < :enum:NGHTTP2_ERR_FATAL mean that the library is under unexpected condition and processing was terminated (e.g., out of memory). If application receives this error code, it must stop using that :type:nghttp2_session object and only allowed operation for that object is deallocate it using nghttp2_session_del().
NGHTTP2_ERR_FLOODED
Possible flooding by peer was detected in this HTTP/2 session. Flooding is measured by how many PING and SETTINGS frames with ACK flag set are queued for transmission. These frames are response for the peer initiated frames, and peer can cause memory exhaustion on server side to send these frames forever and does not read network.
NGHTTP2_ERR_FLOW_CONTROL
Flow control error
NGHTTP2_ERR_FRAME_SIZE_ERROR
The length of the frame is invalid, either too large or too small.
NGHTTP2_ERR_GOAWAY_ALREADY_SENT
GOAWAY has already been sent.
NGHTTP2_ERR_HEADER_COMP
Header block inflate/deflate error.
NGHTTP2_ERR_HTTP_HEADER
Invalid HTTP header field was received and stream is going to be closed.
NGHTTP2_ERR_HTTP_MESSAGING
Violation in HTTP messaging rule.
NGHTTP2_ERR_INSUFF_BUFSIZE
Insufficient buffer size given to function.
NGHTTP2_ERR_INTERNAL
Unexpected internal error, but recovered.
NGHTTP2_ERR_INVALID_ARGUMENT
Invalid argument passed.
NGHTTP2_ERR_INVALID_FRAME
The frame is invalid.
NGHTTP2_ERR_INVALID_HEADER_BLOCK
The received frame contains the invalid header block (e.g., There are duplicate header names; or the header names are not encoded in US-ASCII character set and not lower cased; or the header name is zero-length string; or the header value contains multiple in-sequence NUL bytes).
NGHTTP2_ERR_INVALID_STATE
Indicates that the context is not suitable to perform the requested operation.
NGHTTP2_ERR_INVALID_STREAM_ID
The stream ID is invalid.
NGHTTP2_ERR_INVALID_STREAM_STATE
The state of the stream is not valid (e.g., DATA cannot be sent to the stream if response HEADERS has not been sent).
NGHTTP2_ERR_NOMEM
Out of memory. This is a fatal error.
NGHTTP2_ERR_PAUSE
Callback was paused by the application
NGHTTP2_ERR_PROTO
General protocol error
NGHTTP2_ERR_PUSH_DISABLED
The server push is disabled.
NGHTTP2_ERR_REFUSED_STREAM
Stream was refused.
NGHTTP2_ERR_SESSION_CLOSING
The current session is closing due to a connection error or nghttp2_session_terminate_session() is called.
NGHTTP2_ERR_SETTINGS_EXPECTED
When a local endpoint expects to receive SETTINGS frame, it receives an other type of frame.
NGHTTP2_ERR_START_STREAM_NOT_ALLOWED
Starting new stream is not allowed (e.g., GOAWAY has been sent and/or received).
NGHTTP2_ERR_STREAM_CLOSED
The stream is already closed; or the stream ID is invalid.
NGHTTP2_ERR_STREAM_CLOSING
RST_STREAM has been added to the outbound queue. The stream is in closing state.
NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE
Stream ID has reached the maximum value. Therefore no stream ID is available.
NGHTTP2_ERR_STREAM_SHUT_WR
The transmission is not allowed for this stream (e.g., a frame with END_STREAM flag set has already sent).
NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE
The user callback function failed due to the temporal error.
NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS
There are too many in-flight SETTING frame and no more transmission of SETTINGS is allowed.
NGHTTP2_ERR_UNSUPPORTED_VERSION
The specified protocol version is not supported.
NGHTTP2_ERR_WOULDBLOCK
Used as a return value from :type:nghttp2_send_callback, :type:nghttp2_recv_callback and :type:nghttp2_send_data_callback to indicate that the operation would block.
NGHTTP2_FLAG_ACK
The ACK flag.
NGHTTP2_FLAG_END_HEADERS
The END_HEADERS flag.
NGHTTP2_FLAG_END_STREAM
The END_STREAM flag.
NGHTTP2_FLAG_NONE
No flag set.
NGHTTP2_FLAG_PADDED
The PADDED flag.
NGHTTP2_FLAG_PRIORITY
The PRIORITY flag.
NGHTTP2_FLOW_CONTROL_ERROR
FLOW_CONTROL_ERROR
NGHTTP2_FRAME_SIZE_ERROR
FRAME_SIZE_ERROR
NGHTTP2_GOAWAY
The GOAWAY frame.
NGHTTP2_HCAT_HEADERS
The HEADERS frame which does not apply for the above categories, which is analogous to HEADERS in SPDY. If non-final response (e.g., status 1xx) is used, final response HEADERS frame will be categorized here.
NGHTTP2_HCAT_PUSH_RESPONSE
The HEADERS frame is the first headers sent against reserved stream.
NGHTTP2_HCAT_REQUEST
The HEADERS frame is opening new stream, which is analogous to SYN_STREAM in SPDY.
NGHTTP2_HCAT_RESPONSE
The HEADERS frame is the first response headers, which is analogous to SYN_REPLY in SPDY.
NGHTTP2_HD_INFLATE_EMIT
Indicates a header was emitted.
NGHTTP2_HD_INFLATE_FINAL
Indicates all headers were inflated.
NGHTTP2_HD_INFLATE_NONE
No flag set.
NGHTTP2_HEADERS
The HEADERS frame.
NGHTTP2_HTTP_1_1_REQUIRED
HTTP_1_1_REQUIRED
NGHTTP2_INADEQUATE_SECURITY
INADEQUATE_SECURITY
NGHTTP2_INTERNAL_ERROR
INTERNAL_ERROR
NGHTTP2_NO_ERROR
No errors.
NGHTTP2_NV_FLAG_NONE
No flag set.
NGHTTP2_NV_FLAG_NO_COPY_NAME
This flag is set solely by application. If this flag is set, the library does not make a copy of header field name. This could improve performance.
NGHTTP2_NV_FLAG_NO_COPY_VALUE
This flag is set solely by application. If this flag is set, the library does not make a copy of header field value. This could improve performance.
NGHTTP2_NV_FLAG_NO_INDEX
Indicates that this name/value pair must not be indexed (“Literal Header Field never Indexed” representation must be used in HPACK encoding). Other implementation calls this bit as “sensitive”.
NGHTTP2_ORIGIN
The ORIGIN frame, which is defined by RFC 8336 <https://tools.ietf.org/html/rfc8336>_.
NGHTTP2_PING
The PING frame.
NGHTTP2_PRIORITY
The PRIORITY frame.
NGHTTP2_PROTOCOL_ERROR
PROTOCOL_ERROR
NGHTTP2_PUSH_PROMISE
The PUSH_PROMISE frame.
NGHTTP2_REFUSED_STREAM
REFUSED_STREAM
NGHTTP2_RST_STREAM
The RST_STREAM frame.
NGHTTP2_SETTINGS
The SETTINGS frame.
NGHTTP2_SETTINGS_ENABLE_PUSH
SETTINGS_ENABLE_PUSH
NGHTTP2_SETTINGS_HEADER_TABLE_SIZE
SETTINGS_HEADER_TABLE_SIZE
NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE
SETTINGS_INITIAL_WINDOW_SIZE
NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS
SETTINGS_MAX_CONCURRENT_STREAMS
NGHTTP2_SETTINGS_MAX_FRAME_SIZE
SETTINGS_MAX_FRAME_SIZE
NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE
SETTINGS_MAX_HEADER_LIST_SIZE
NGHTTP2_SETTINGS_TIMEOUT
SETTINGS_TIMEOUT
NGHTTP2_STREAM_CLOSED
STREAM_CLOSED
NGHTTP2_STREAM_STATE_CLOSED
closed state.
NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL
half closed (local) state.
NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE
half closed (remote) state.
NGHTTP2_STREAM_STATE_IDLE
idle state.
NGHTTP2_STREAM_STATE_OPEN
open state.
NGHTTP2_STREAM_STATE_RESERVED_LOCAL
reserved (local) state.
NGHTTP2_STREAM_STATE_RESERVED_REMOTE
reserved (remote) state.
NGHTTP2_WINDOW_UPDATE
The WINDOW_UPDATE frame.

Functions§

nghttp2_check_header_name
@function
nghttp2_check_header_value
@function
nghttp2_hd_deflate_bound
@function
nghttp2_hd_deflate_change_table_size
@function
nghttp2_hd_deflate_del
@function
nghttp2_hd_deflate_get_dynamic_table_size
@function
nghttp2_hd_deflate_get_max_dynamic_table_size
@function
nghttp2_hd_deflate_get_num_table_entries
@function
nghttp2_hd_deflate_get_table_entry
@function
nghttp2_hd_deflate_hd
@function
nghttp2_hd_deflate_hd_vec
@function
nghttp2_hd_deflate_new
@function
nghttp2_hd_deflate_new2
@function
nghttp2_hd_inflate_change_table_size
@function
nghttp2_hd_inflate_del
@function
nghttp2_hd_inflate_end_headers
@function
nghttp2_hd_inflate_get_dynamic_table_size
@function
nghttp2_hd_inflate_get_max_dynamic_table_size
@function
nghttp2_hd_inflate_get_num_table_entries
@function
nghttp2_hd_inflate_get_table_entry
@function
nghttp2_hd_inflate_hd
@function
nghttp2_hd_inflate_hd2
@function
nghttp2_hd_inflate_new
@function
nghttp2_hd_inflate_new2
@function
nghttp2_http2_strerror
@function
nghttp2_is_fatal
@function
nghttp2_nv_compare_name
@function
nghttp2_option_del
@function
nghttp2_option_new
@function
nghttp2_option_set_builtin_recv_extension_type
@function
nghttp2_option_set_max_deflate_dynamic_table_size
@function
nghttp2_option_set_max_reserved_remote_streams
@function
nghttp2_option_set_max_send_header_block_length
@function
nghttp2_option_set_no_auto_ping_ack
@function
nghttp2_option_set_no_auto_window_update
@function
nghttp2_option_set_no_closed_streams
@function
nghttp2_option_set_no_http_messaging
@function
nghttp2_option_set_no_recv_client_magic
@function
nghttp2_option_set_peer_max_concurrent_streams
@function
nghttp2_option_set_user_recv_extension_type
@function
nghttp2_pack_settings_payload
@function
nghttp2_priority_spec_check_default
@function
nghttp2_priority_spec_default_init
@function
nghttp2_priority_spec_init
@function
nghttp2_rcbuf_decref
@function
nghttp2_rcbuf_get_buf
@function
nghttp2_rcbuf_incref
@function
nghttp2_rcbuf_is_static
@function
nghttp2_select_next_protocol
@function
nghttp2_session_callbacks_del
@function
nghttp2_session_callbacks_new
@function
nghttp2_session_callbacks_set_before_frame_send_callback
@function
nghttp2_session_callbacks_set_data_source_read_length_callback
@function
nghttp2_session_callbacks_set_error_callback
@function
nghttp2_session_callbacks_set_error_callback2
@function
nghttp2_session_callbacks_set_on_begin_frame_callback
@function
nghttp2_session_callbacks_set_on_begin_headers_callback
@function
nghttp2_session_callbacks_set_on_data_chunk_recv_callback
@function
nghttp2_session_callbacks_set_on_extension_chunk_recv_callback
@function
nghttp2_session_callbacks_set_on_frame_not_send_callback
@function
nghttp2_session_callbacks_set_on_frame_recv_callback
@function
nghttp2_session_callbacks_set_on_frame_send_callback
@function
nghttp2_session_callbacks_set_on_header_callback
@function
nghttp2_session_callbacks_set_on_header_callback2
@function
nghttp2_session_callbacks_set_on_invalid_frame_recv_callback
@function
nghttp2_session_callbacks_set_on_invalid_header_callback
@function
nghttp2_session_callbacks_set_on_invalid_header_callback2
@function
nghttp2_session_callbacks_set_on_stream_close_callback
@function
nghttp2_session_callbacks_set_pack_extension_callback
@function
nghttp2_session_callbacks_set_recv_callback
@function
nghttp2_session_callbacks_set_select_padding_callback
@function
nghttp2_session_callbacks_set_send_callback
@function
nghttp2_session_callbacks_set_send_data_callback
@function
nghttp2_session_callbacks_set_unpack_extension_callback
@function
nghttp2_session_change_stream_priority
@function
nghttp2_session_check_request_allowed
@function
nghttp2_session_check_server_session
@function
nghttp2_session_client_new
@function
nghttp2_session_client_new2
@function
nghttp2_session_client_new3
@function
nghttp2_session_consume
@function
nghttp2_session_consume_connection
@function
nghttp2_session_consume_stream
@function
nghttp2_session_create_idle_stream
@function
nghttp2_session_del
@function
nghttp2_session_find_stream
@function
nghttp2_session_get_effective_local_window_size
@function
nghttp2_session_get_effective_recv_data_length
@function
nghttp2_session_get_hd_deflate_dynamic_table_size
@function
nghttp2_session_get_hd_inflate_dynamic_table_size
@function
nghttp2_session_get_last_proc_stream_id
@function
nghttp2_session_get_local_settings
@function
nghttp2_session_get_local_window_size
@function
nghttp2_session_get_next_stream_id
@function
nghttp2_session_get_outbound_queue_size
@function
nghttp2_session_get_remote_settings
@function
nghttp2_session_get_remote_window_size
@function
nghttp2_session_get_root_stream
@function
nghttp2_session_get_stream_effective_local_window_size
@function
nghttp2_session_get_stream_effective_recv_data_length
@function
nghttp2_session_get_stream_local_close
@function
nghttp2_session_get_stream_local_window_size
@function
nghttp2_session_get_stream_remote_close
@function
nghttp2_session_get_stream_remote_window_size
@function
nghttp2_session_get_stream_user_data
@function
nghttp2_session_mem_recv
@function
nghttp2_session_mem_send
@function
nghttp2_session_recv
@function
nghttp2_session_resume_data
@function
nghttp2_session_send
@function
nghttp2_session_server_new
@function
nghttp2_session_server_new2
@function
nghttp2_session_server_new3
@function
nghttp2_session_set_local_window_size
@function
nghttp2_session_set_next_stream_id
@function
nghttp2_session_set_stream_user_data
@function
nghttp2_session_set_user_data
@function
nghttp2_session_terminate_session
@function
nghttp2_session_terminate_session2
@function
nghttp2_session_upgrade
@function
nghttp2_session_upgrade2
@function
nghttp2_session_want_read
@function
nghttp2_session_want_write
@function
nghttp2_stream_get_first_child
@function
nghttp2_stream_get_next_sibling
@function
nghttp2_stream_get_parent
@function
nghttp2_stream_get_previous_sibling
@function
nghttp2_stream_get_state
@function
nghttp2_stream_get_stream_id
nghttp2_stream_get_sum_dependency_weight
@function
nghttp2_stream_get_weight
@function
nghttp2_strerror
@function
nghttp2_submit_altsvc
@function
nghttp2_submit_data
@function
nghttp2_submit_extension
@function
nghttp2_submit_goaway
@function
nghttp2_submit_headers
@function
nghttp2_submit_origin
@function
nghttp2_submit_ping
@function
nghttp2_submit_priority
@function
nghttp2_submit_push_promise
@function
nghttp2_submit_request
@function
nghttp2_submit_response
@function
nghttp2_submit_rst_stream
@function
nghttp2_submit_settings
@function
nghttp2_submit_shutdown_notice
@function
nghttp2_submit_trailer
@function
nghttp2_submit_window_update
@function
nghttp2_version
@function

Type Aliases§

nghttp2_before_frame_send_callback
@functypedef
nghttp2_calloc
@functypedef
nghttp2_data_flag
@enum
nghttp2_data_source_read_callback
@functypedef
nghttp2_data_source_read_length_callback
@functypedef
nghttp2_error
@enum
nghttp2_error_callback
@functypedef
nghttp2_error_callback2
@functypedef
nghttp2_error_code
@enum The status codes for the RST_STREAM and GOAWAY frames.
nghttp2_flag
@enum
nghttp2_frame_type
@enum
nghttp2_free
@functypedef
nghttp2_hd_inflate_flag
@enum
nghttp2_headers_category
@enum
nghttp2_malloc
@functypedef
nghttp2_nv_flag
@enum
nghttp2_on_begin_frame_callback
@functypedef
nghttp2_on_begin_headers_callback
@functypedef
nghttp2_on_data_chunk_recv_callback
@functypedef
nghttp2_on_extension_chunk_recv_callback
@functypedef
nghttp2_on_frame_not_send_callback
@functypedef
nghttp2_on_frame_recv_callback
@functypedef
nghttp2_on_frame_send_callback
@functypedef
nghttp2_on_header_callback
@functypedef
nghttp2_on_header_callback2
@functypedef
nghttp2_on_invalid_frame_recv_callback
@functypedef
nghttp2_on_invalid_header_callback
@functypedef
nghttp2_on_invalid_header_callback2
@functypedef
nghttp2_on_stream_close_callback
@functypedef
nghttp2_pack_extension_callback
@functypedef
nghttp2_realloc
@functypedef
nghttp2_recv_callback
@functypedef
nghttp2_select_padding_callback
@functypedef
nghttp2_send_callback
@functypedef
nghttp2_send_data_callback
@functypedef
nghttp2_settings_id
@enum The SETTINGS ID.
nghttp2_stream_proto_state
@enum
nghttp2_unpack_extension_callback
@functypedef

Unions§

nghttp2_data_source
@union
nghttp2_frame
@union