Changes

1,159 bytes added ,  16:22, 21 April 2020
Line 225: Line 225:  
==== SetSocketDescriptor ====
 
==== SetSocketDescriptor ====
 
Takes an input s32 sockfd, returns an output s32 sockfd.
 
Takes an input s32 sockfd, returns an output s32 sockfd.
 +
 +
An error is thrown if this was used previously.
    
The input sockfd is used with [[Sockets_services#DuplicateSocket|DuplicateSocket]], with the output sockfd from that being written into state. If the field which would be used for the input u64 is zero however, it instead uses the input sockfd directly and returns -1 for the sockfd. An error is thrown if DuplicateSocket fails. When DuplicateSocket is successful, the input sockfd is returned as the output sockfd, however if [[#OptionType|DoNotCloseSocket]] is set it will instead return -1 for the sockfd.
 
The input sockfd is used with [[Sockets_services#DuplicateSocket|DuplicateSocket]], with the output sockfd from that being written into state. If the field which would be used for the input u64 is zero however, it instead uses the input sockfd directly and returns -1 for the sockfd. An error is thrown if DuplicateSocket fails. When DuplicateSocket is successful, the input sockfd is returned as the output sockfd, however if [[#OptionType|DoNotCloseSocket]] is set it will instead return -1 for the sockfd.
Line 242: Line 244:  
==== SetIoMode ====
 
==== SetIoMode ====
 
Takes an input [[#IoMode]], no output.
 
Takes an input [[#IoMode]], no output.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== GetSocketDescriptor ====
 
==== GetSocketDescriptor ====
 
No input, returns an output s32.
 
No input, returns an output s32.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== GetHostName ====
 
==== GetHostName ====
Line 269: Line 275:  
==== Read ====
 
==== Read ====
 
Takes a type-0x6 output buffer, returns an output u32.
 
Takes a type-0x6 output buffer, returns an output u32.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== Write ====
 
==== Write ====
 
Takes a type-0x5 input buffer, returns an output u32.
 
Takes a type-0x5 input buffer, returns an output u32.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== Pending ====
 
==== Pending ====
 
No input, returns an output s32.
 
No input, returns an output s32.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== Peek ====
 
==== Peek ====
 
Takes a type-0x6 output buffer, returns an output u32.
 
Takes a type-0x6 output buffer, returns an output u32.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== Poll ====
 
==== Poll ====
 
Takes an input [[#PollEvent]], an u32, returns an output [[#PollEvent]].
 
Takes an input [[#PollEvent]], an u32, returns an output [[#PollEvent]].
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== GetVerifyCertError ====
 
==== GetVerifyCertError ====
Line 294: Line 310:  
==== SetSessionCacheMode ====
 
==== SetSessionCacheMode ====
 
Takes an input [[#SessionCacheMode]], no output.
 
Takes an input [[#SessionCacheMode]], no output.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== GetSessionCacheMode ====
 
==== GetSessionCacheMode ====
 
No input, returns an output [[#SessionCacheMode]].
 
No input, returns an output [[#SessionCacheMode]].
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== FlushSessionCache ====
 
==== FlushSessionCache ====
 
No input/output.
 
No input/output.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== SetRenegotiationMode ====
 
==== SetRenegotiationMode ====
 
Takes an input [[#RenegotiationMode]], no output.
 
Takes an input [[#RenegotiationMode]], no output.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== GetRenegotiationMode ====
 
==== GetRenegotiationMode ====
 
No input, returns an output [[#RenegotiationMode]].
 
No input, returns an output [[#RenegotiationMode]].
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== SetOption ====
 
==== SetOption ====
Line 322: Line 348:     
Errors are thrown if the input u32 doesn't match 0x1, or if the buffer size doesn't match the size for [[#CipherInfo]].
 
Errors are thrown if the input u32 doesn't match 0x1, or if the buffer size doesn't match the size for [[#CipherInfo]].
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== SetNextAlpnProto ====
 
==== SetNextAlpnProto ====
 
Takes a type-0x5 input buffer, no output.
 
Takes a type-0x5 input buffer, no output.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
==== GetNextAlpnProto ====
 
==== GetNextAlpnProto ====
 
Takes a type-0x6 output buffer, returns an output [[#AlpnProtoState]] and an output u32.
 
Takes a type-0x6 output buffer, returns an output [[#AlpnProtoState]] and an output u32.
 +
 +
[[#SetSocketDescriptor]] must have been used prior to this successfully.
    
= SslVersion =
 
= SslVersion =