SmolRTSP  0.1.3
A small, portable, extensible RTSP 1.0 implementation in C99
request.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <smolrtsp/priv/compiler_attrs.h>
9 #include <smolrtsp/types/error.h>
13 
14 #include <stdbool.h>
15 
16 #include <slice99.h>
17 
21 typedef struct {
26 
31 
36 
40  uint32_t cseq;
42 
46 SmolRTSP_Request SmolRTSP_Request_uninit(void) SMOLRTSP_PRIV_MUST_USE;
47 
65  const SmolRTSP_Request *restrict self,
66  SmolRTSP_Writer w) SMOLRTSP_PRIV_MUST_USE;
67 
73 SmolRTSP_ParseResult SmolRTSP_Request_parse(
74  SmolRTSP_Request *restrict self, CharSlice99 input) SMOLRTSP_PRIV_MUST_USE;
75 
83  const SmolRTSP_Request *restrict lhs,
84  const SmolRTSP_Request *restrict rhs) SMOLRTSP_PRIV_MUST_USE;
Possible parsing errors.
An RTSP header map.
An RTSP message body.
CharSlice99 SmolRTSP_MessageBody
An RTSP message body.
Definition: message_body.h:19
ssize_t SmolRTSP_Request_serialize(const SmolRTSP_Request *restrict self, SmolRTSP_Writer w) SMOLRTSP_PRIV_MUST_USE
Serialises self into w.
SmolRTSP_Request SmolRTSP_Request_uninit(void) SMOLRTSP_PRIV_MUST_USE
Returns an RTSP request suitable for being parsed.
SmolRTSP_ParseResult SmolRTSP_Request_parse(SmolRTSP_Request *restrict self, CharSlice99 input) SMOLRTSP_PRIV_MUST_USE
Parses data to self.
bool SmolRTSP_Request_eq(const SmolRTSP_Request *restrict lhs, const SmolRTSP_Request *restrict rhs) SMOLRTSP_PRIV_MUST_USE
Tests lhs and rhs for equality.
An RTSP request line.
An RTSP header map.
Definition: header_map.h:37
An RTSP request line.
Definition: request_line.h:21
An RTSP request.
Definition: request.h:21
uint32_t cseq
The sequence number for an RTSP request/response pair.
Definition: request.h:40
SmolRTSP_HeaderMap header_map
The header map.
Definition: request.h:30
SmolRTSP_MessageBody body
The message body.
Definition: request.h:35
SmolRTSP_RequestLine start_line
The request line.
Definition: request.h:25