SSL services: Difference between revisions

No edit summary
Line 261: Line 261:
| 27 || [9.0.0+] [[#GetNextAlpnProto]]
| 27 || [9.0.0+] [[#GetNextAlpnProto]]
|-
|-
| 28 || [16.0.0+] SetDtlsSocketDescriptor
| 28 || [16.0.0+] [[#SetDtlsSocketDescriptor]]
|-
|-
| 29 || [16.0.0+] GetDtlsHandshakeTimeout
| 29 || [16.0.0+] [[#GetDtlsHandshakeTimeout]]
|-
|-
| 30 || [16.0.0+] SetPrivateOption
| 30 || [16.0.0+] [[#SetPrivateOption]]
|-
|-
| 31 || [16.0.0+] SetSrtpCiphers
| 31 || [16.0.0+] [[#SetSrtpCiphers]]
|-
|-
| 32 || [16.0.0+] GetSrtpCipher
| 32 || [16.0.0+] [[#GetSrtpCipher]]
|-
|-
| 33 || [16.0.0+] ExportKeyingMaterial
| 33 || [16.0.0+] [[#ExportKeyingMaterial]]
|-
|-
| 34 || [16.0.0+] SetIoTimeout
| 34 || [16.0.0+] [[#SetIoTimeout]]
|-
|-
| 35 || [16.0.0+] GetIoTimeout
| 35 || [16.0.0+] [[#GetIoTimeout]]
|}
|}


Line 449: Line 449:


The output will be all-zero/empty if not available - such as when this was used before DoHandshake*.
The output will be all-zero/empty if not available - such as when this was used before DoHandshake*.
==== SetDtlsSocketDescriptor ====
Takes an input s32 and a type-0x5 input buffer, returns an output s32.
The input buffer contains a "nn::socket::SockAddr".
==== GetDtlsHandshakeTimeout ====
Takes a type-0x6 output buffer containing a "nn::TimeSpan".
The buffer size must be 0x8.
==== SetPrivateOption ====
Takes an input bool and an [[#OptionType]], no output.
==== SetSrtpCiphers ====
Takes a type-0x5 input buffer, no output.
The buffer must be aligned to 2-bytes. The buffer contains an array of u16s, a maximum of 4 entries is allowed. Each entry must be value 1-2, otherwise the entry is ignored.
==== GetSrtpCipher ====
No input, returns an output u16.
==== ExportKeyingMaterial ====
Takes a type-0x6 output buffer and two type-0x5 input buffers.
The first inbuf contains a string.
==== SetIoTimeout ====
Takes an input u32, no output.
==== GetIoTimeout ====
No input, returns an output u32.


= ssl:s =
= ssl:s =
Line 927: Line 959:


= OptionType =
= OptionType =
This is "nn::ssl::sf::OptionType" or "nn::ssl::Connection::OptionType".
This is "nn::ssl::sf::OptionType" or "nn::ssl::Connection::OptionType". Or in the case of [[#SetPrivateOption]]: "nn::ssl::ConnectionPrivate::PrivateOptionType".


{| class="wikitable" border="1"
{| class="wikitable" border="1"