LeviLamina
Loading...
Searching...
No Matches
rtc.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/rtc/AdapterType.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace rtc { class AsyncPacketSocket; }
11namespace rtc { class ClockInterface; }
12namespace rtc { class IPAddress; }
13namespace rtc { class MessageDigest; }
14namespace rtc { class SocketAddress; }
15namespace rtc { class SocketServer; }
16namespace rtc { struct PacketInfo; }
17// clang-format on
18
19namespace rtc {
20// inner types
21enum : int {
22 Trunc = 16711681,
23};
24
25// functions
26// NOLINTBEGIN
27MCNAPI int64 ASN1TimeToSec(uchar const* s, uint64 length, bool long_format);
28
29MCNAPI ::std::string AdapterTypeToString(::rtc::AdapterType type);
30
31MCNAPI uint64 ComputeDigest(::std::string_view alg, void const* input, uint64 in_len, void* output, uint64 out_len);
32
33MCNAPI uint64 ComputeHmac(
34 ::std::string_view alg,
35 void const* key,
36 uint64 key_len,
37 void const* input,
38 uint64 in_len,
39 void* output,
40 uint64 out_len
41);
42
43MCNAPI uint64 ComputeHmac(
44 ::rtc::MessageDigest* digest,
45 void const* key,
46 uint64 key_len,
47 void const* input,
48 uint64 in_len,
49 void* output,
50 uint64 out_len
51);
52
53MCNAPI void CopySocketInformationToPacketInfo(
54 uint64 packet_size_bytes,
55 ::rtc::AsyncPacketSocket const& socket_from,
56 bool is_connectionless,
57 ::rtc::PacketInfo* info
58);
59
60MCNAPI ::std::unique_ptr<::rtc::SocketServer> CreateDefaultSocketServer();
61
62MCNAPI uint CreateRandomId();
63
64MCNAPI uint64 CreateRandomId64();
65
66MCNAPI uint CreateRandomNonZeroId();
67
68MCNAPI bool CreateRandomString(uint64 len, ::std::string* str);
69
70MCNAPI ::std::string CreateRandomString(uint64 len);
71
72MCNAPI ::std::string CreateRandomUuid();
73
74MCNAPI ulong CurrentThreadId();
75
76MCNAPI ulong CurrentThreadRef();
77
78MCNAPI ::rtc::SocketAddress EmptySocketAddressWithFamily(int family);
79
80MCNAPI void ExplicitZeroMemory(void* ptr, uint64 len);
81
82MCNAPI ::rtc::IPAddress GetAnyIP(int family);
83
84MCNAPI double GetNextMovingAverage(double prev_average, double cur, double ratio);
85
86MCNAPI bool GetSrtpKeyAndSaltLengths(int crypto_suite, int* key_length, int* salt_length);
87
88MCNAPI int IPAddressPrecedence(::rtc::IPAddress const& ip);
89
90MCNAPI bool IPFromAddrInfo(::addrinfo* info, ::rtc::IPAddress* out);
91
92MCNAPI bool IPFromString(::std::string_view str, ::rtc::IPAddress* out);
93
94MCNAPI bool IPIsAny(::rtc::IPAddress const& ip);
95
96MCNAPI bool IPIsLinkLocal(::rtc::IPAddress const& ip);
97
98MCNAPI bool IPIsLoopback(::rtc::IPAddress const& ip);
99
100MCNAPI bool IPIsMacBased(::rtc::IPAddress const& ip);
101
102MCNAPI bool IPIsPrivate(::rtc::IPAddress const& ip);
103
104MCNAPI bool IPIsULA(::rtc::IPAddress const& ip);
105
106MCNAPI bool IPIsUnspec(::rtc::IPAddress const& ip);
107
108MCNAPI bool InitRandom(int seed);
109
110MCNAPI bool InitializeSSL();
111
112MCNAPI bool IsFips180DigestAlgorithm(::std::string_view alg);
113
114MCNAPI bool IsGcmCryptoSuite(int crypto_suite);
115
116MCNAPI bool IsThreadRefEqual(ulong const& a, ulong const& b);
117
118MCNAPI ::std::string MakeNetworkKey(::std::string_view name, ::rtc::IPAddress const& prefix, int prefix_length);
119
120MCNAPI void SetCurrentThreadName(char const* name);
121
122MCNAPI bool SocketAddressFromSockAddrStorage(::sockaddr_storage const& addr, ::rtc::SocketAddress* out);
123
124MCNAPI ::std::string SrtpCryptoSuiteToName(int crypto_suite);
125
126MCNAPI ::std::string StringFormat(char const*, ...);
127
128MCNAPI int64 SystemTimeMillis();
129
130MCNAPI int64 SystemTimeNanos();
131
132MCNAPI uint Time32();
133
134MCNAPI int64 TimeAfter(int64 elapsed);
135
136MCNAPI int64 TimeDiff(int64 later, int64 earlier);
137
138MCNAPI int64 TimeMicros();
139
140MCNAPI int64 TimeMillis();
141
142MCNAPI int64 TimeUTCMicros();
143
144MCNAPI int64 TimeUTCMillis();
145
146MCNAPI int64 TmToSeconds(::tm const& tm);
147
148MCNAPI ::std::string ToHex(int i);
149
150MCNAPI ::std::string ToString(bool b);
151
152MCNAPI ::std::string ToString(double d);
153
154MCNAPI ::std::string ToString(long double d);
155
156MCNAPI ::std::string ToString(ushort s);
157
158MCNAPI ::std::string ToString(int s);
159
160MCNAPI ::std::string ToString(uint s);
161
162MCNAPI ::std::string ToString(long s);
163
164MCNAPI ::std::string ToString(ulong s);
165
166MCNAPI ::std::string ToString(::std::string_view s);
167
168MCNAPI ::std::string ToString(int64 s);
169
170MCNAPI ::std::string ToString(uint64 s);
171
172MCNAPI ::std::string TransformAlpnProtocols(::std::vector<::std::string> const& alpn_protocols);
173
174MCNAPI ::rtc::IPAddress TruncateIP(::rtc::IPAddress const& ip, int length);
175
176MCNAPI uint UpdateCrc32(uint start, void const* buf, uint64 len);
177
178MCNAPI int64 WinUwpSystemTimeNanos();
179
180MCNAPI uint64 hex_decode_with_delimiter(::rtc::ArrayView<char> cbuffer, ::std::string_view source, char delimiter);
181
182MCNAPI ::std::string hex_encode(::std::string_view str);
183
184MCNAPI ::std::string hex_encode_with_delimiter(::std::string_view source, char delimiter);
185
186MCNAPI char const* inet_ntop(int af, void const* src, char* dst, int size);
187
188MCNAPI int inet_pton(int af, ::std::string_view src, void* dst);
189
190MCNAPI ::std::vector<::std::string_view> split(::std::string_view source, char delimiter);
191
192MCNAPI uint64 tokenize(::std::string_view source, char delimiter, ::std::vector<::std::string>* fields);
193
194MCNAPI bool tokenize_first(::std::string_view source, char delimiter, ::std::string* token, ::std::string* rest);
195
196MCNAPI char const* win32_inet_ntop(int af, void const* src, char* dst, int size);
197
198MCNAPI int win32_inet_pton(int af, char const* src, void* dst);
199// NOLINTEND
200
201// static variables
202// NOLINTBEGIN
203MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_MD5();
204
205MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_1();
206
207MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_224();
208
209MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_256();
210
211MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_384();
212
213MCNAPI ::std::add_lvalue_reference_t<char const[]> DIGEST_SHA_512();
214
215MCNAPI ::rtc::ClockInterface*& g_clock();
216
217MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAeadAes128Gcm();
218
219MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAeadAes256Gcm();
220
221MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAesCm128HmacSha1_32();
222
223MCNAPI ::std::add_lvalue_reference_t<char const[]> kCsAesCm128HmacSha1_80();
224
225MCNAPI ::std::add_lvalue_reference_t<char const[]> kPemTypeCertificate();
226
227MCNAPI ::std::add_lvalue_reference_t<char const[]> kPemTypeEcPrivateKey();
228
229MCNAPI ::std::add_lvalue_reference_t<char const[]> kPemTypeRsaPrivateKey();
230
231MCNAPI ::std::add_lvalue_reference_t<char const[]> kPublicIPv4Host();
232
233MCNAPI ::std::add_lvalue_reference_t<char const[]> kPublicIPv6Host();
234// NOLINTEND
235
236} // namespace rtc
Definition AsyncPacketSocket.h:20
Definition ClockInterface.h:7
Definition IPAddress.h:7
Definition MessageDigest.h:7
Definition SocketAddress.h:12
Definition SocketServer.h:16
Definition PacketInfo.h:7