SmolRTSP 0.2.0
A small, portable, extensible RTSP 1.0 implementation in C99
Loading...
Searching...
No Matches
error.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <smolrtsp/writer.h>
9
10#include <stdbool.h>
11#include <stddef.h>
12
13#include <datatype99.h>
14#include <slice99.h>
15
16#include <smolrtsp/priv/compiler_attrs.h>
17
37
41const char *
42SmolRTSP_ParseType_str(SmolRTSP_ParseType self) SMOLRTSP_PRIV_MUST_USE;
43
68// clang-format off
70 SmolRTSP_ParseError,
71 (SmolRTSP_ParseError_ContentLength, CharSlice99),
72 (SmolRTSP_ParseError_StrMismatch, CharSlice99, CharSlice99),
73 (SmolRTSP_ParseError_TypeMismatch, SmolRTSP_ParseType, CharSlice99),
74 (SmolRTSP_ParseError_HeaderMapOverflow),
75 (SmolRTSP_ParseError_MissingCSeq),
76 (SmolRTSP_ParseError_InvalidCSeq, CharSlice99),
77 (SmolRTSP_ParseError_HeaderValueTooLong, CharSlice99)
78);
79// clang-format on
80
91int SmolRTSP_ParseError_print(SmolRTSP_ParseError self, SmolRTSP_Writer w)
92 SMOLRTSP_PRIV_MUST_USE;
93
106// clang-format off
108 SmolRTSP_ParseStatus,
109 (SmolRTSP_ParseStatus_Complete, size_t),
110 (SmolRTSP_ParseStatus_Partial)
111);
112// clang-format on
113
117bool SmolRTSP_ParseStatus_is_complete(SmolRTSP_ParseStatus self)
118 SMOLRTSP_PRIV_MUST_USE;
119
123bool SmolRTSP_ParseStatus_is_partial(SmolRTSP_ParseStatus self)
124 SMOLRTSP_PRIV_MUST_USE;
125
132// clang-format off
134 SmolRTSP_ParseResult,
135 (SmolRTSP_ParseResult_Success, SmolRTSP_ParseStatus),
136 (SmolRTSP_ParseResult_Failure, SmolRTSP_ParseError)
137);
138// clang-format on
139
143SmolRTSP_ParseResult SmolRTSP_ParseResult_partial(void) SMOLRTSP_PRIV_MUST_USE;
144
149SmolRTSP_ParseResult
150SmolRTSP_ParseResult_complete(size_t offset) SMOLRTSP_PRIV_MUST_USE;
151
155bool SmolRTSP_ParseResult_is_success(SmolRTSP_ParseResult self)
156 SMOLRTSP_PRIV_MUST_USE;
157
161bool SmolRTSP_ParseResult_is_failure(SmolRTSP_ParseResult self)
162 SMOLRTSP_PRIV_MUST_USE;
163
167bool SmolRTSP_ParseResult_is_partial(SmolRTSP_ParseResult self)
168 SMOLRTSP_PRIV_MUST_USE;
169
173bool SmolRTSP_ParseResult_is_complete(SmolRTSP_ParseResult self)
174 SMOLRTSP_PRIV_MUST_USE;
datatype99(SmolRTSP_ParseError,(SmolRTSP_ParseError_ContentLength, CharSlice99),(SmolRTSP_ParseError_StrMismatch, CharSlice99, CharSlice99),(SmolRTSP_ParseError_TypeMismatch, SmolRTSP_ParseType, CharSlice99),(SmolRTSP_ParseError_HeaderMapOverflow),(SmolRTSP_ParseError_MissingCSeq),(SmolRTSP_ParseError_InvalidCSeq, CharSlice99),(SmolRTSP_ParseError_HeaderValueTooLong, CharSlice99))
An error that might occur during parsing.
bool SmolRTSP_ParseStatus_is_complete(SmolRTSP_ParseStatus self) SMOLRTSP_PRIV_MUST_USE
Returns whether self is complete.
bool SmolRTSP_ParseResult_is_success(SmolRTSP_ParseResult self) SMOLRTSP_PRIV_MUST_USE
Returns whether self is successful.
int SmolRTSP_ParseError_print(SmolRTSP_ParseError self, SmolRTSP_Writer w) SMOLRTSP_PRIV_MUST_USE
Prints self into w.
SmolRTSP_ParseResult SmolRTSP_ParseResult_partial(void) SMOLRTSP_PRIV_MUST_USE
Creates a successful and partial parse result.
SmolRTSP_ParseResult SmolRTSP_ParseResult_complete(size_t offset) SMOLRTSP_PRIV_MUST_USE
Creates a successful and complete parse result with the byte offset offset (from the beginning of inp...
bool SmolRTSP_ParseResult_is_partial(SmolRTSP_ParseResult self) SMOLRTSP_PRIV_MUST_USE
Returns whether self is both successful and partial.
const char * SmolRTSP_ParseType_str(SmolRTSP_ParseType self) SMOLRTSP_PRIV_MUST_USE
Returns a string representation of self.
bool SmolRTSP_ParseStatus_is_partial(SmolRTSP_ParseStatus self) SMOLRTSP_PRIV_MUST_USE
Returns whether self is partial.
bool SmolRTSP_ParseResult_is_complete(SmolRTSP_ParseResult self) SMOLRTSP_PRIV_MUST_USE
The same as SmolRTSP_ParseResult_is_partial but for a complete result.
SmolRTSP_ParseType
Types of data that can be failed to parse.
Definition error.h:21
@ SmolRTSP_ParseType_Int
An integer (-34, 0, 123).
Definition error.h:25
@ SmolRTSP_ParseType_HeaderName
A header name (Content-Length, Authorization).
Definition error.h:35
@ SmolRTSP_ParseType_Ident
An identifier (abc).
Definition error.h:30
bool SmolRTSP_ParseResult_is_failure(SmolRTSP_ParseResult self) SMOLRTSP_PRIV_MUST_USE
Returns whether self is a failure.
The writer interface.