Line 3:
Line 3:
Fill me in!
Fill me in!
−
{| border=1
+
{| style="border-collapse: collapse; padding: 0.2em 0.2em 0.2em 0.2em;"
−
|-
+
|- style="background-color: #ddd;"
−
|Request number || Name || input || output || notes
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #cdc;" | '''Request number'''
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ccd;" | '''Name'''
−
| 0x1 || SOAccept || 4 bytes? || 0 || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ccc;" | '''input'''
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | '''output'''
−
| 0x2 || SOBind || 0x24 bytes? || 0 || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dcc;" | '''notes'''
−
|-
+
|- style="background-color: #ddd;"
−
| 0x3 || SOClose || 4 bytes? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x1
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOAccept
−
| 0x4 || SOConnect || 0x24 bytes? || 0 || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 bytes?
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | 0
−
| 0x5 || SOFcntl || ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
−
|-
+
|- style="background-color: #ddd;"
−
| 0x7 || SOGetSockName || ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x2
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOBind
−
| 0x8 || SOGetSockOpt || 0 || 0x18 bytes || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0x24 bytes?
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | 0
−
| 0x9 || SOSetSockOpt || 0x24 bytes || 0 || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
−
|-
+
|- style="background-color: #ddd;"
−
| 0xA || SOListen || 8 bytes? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x3
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOClose
−
| 0xB || SOPoll || ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 bytes?
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
−
| 0xC || SORead / SORecvFrom / SORecv || (vector) ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
−
|-
+
|- style="background-color: #ddd;"
−
| 0xD || SOSend / SOSendTo || (vector) ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x4
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOConnect
−
| 0xE || SOShutdown || 8 bytes? || 0 || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0x24 bytes?
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | 0
−
| 0xF || __SOCreateSocket || 0xC bytes? || 0 || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
−
|-
+
|- style="background-color: #ddd;"
−
| 0x10 || SOGetHostId || none || none || probably returns 32-bit numeric IP
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x5
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOFcntl
−
| 0x11 || SOGetHostByName || ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
−
| 0x15 || SOInetAtoN || hostname (null-terminated string)|| 4 bytes || does DNS lookup
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
−
|-
+
|- style="background-color: #ddd;"
−
| 0x16 || SOInetPtoN || ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x7
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOGetSockName
−
| 0x17? || SOInetNtoP || ? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
−
| 0x18 || SOGetAddrInfo || (vector) ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
−
|-
+
|- style="background-color: #ddd;"
−
| 0x1C || SOGetInterfaceOpt || (vector) ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x8
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOGetSockOpt
−
| 0x1D || SOSetInterfaceOpt || (vector) ? || ? || ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | 0x18 bytes
−
| ? || SOSockAtMark || ? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
−
|-
+
|- style="background-color: #ddd;"
−
| ? || SOSetInterface || ? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x9
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOSetSockOpt
−
| ? || ICMPSocket || ? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0x24 bytes?
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | 0
−
| ? || ICMPPing || ? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
−
|-
+
|- style="background-color: #ddd;"
−
| ? || ICMPCancel || ? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xA
−
|-
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOListen
−
| ? || ICMPClose || ? || ? || secret
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 8 bytes?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xB
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOPoll
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xC
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SORead / SORecvFrom / SORecv
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | (vector) ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xD
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOSend / SOSendTo
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | (vector) ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xE
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOShutdown
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 8 bytes?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0xF
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | __SOCreateSocket
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 0xC bytes?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | 0
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x10
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOGetHostId
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | none
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | none
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | probably returns 32-bit numeric IP
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x11
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOGetHostByName
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x15
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOInetAtoN
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | hostname (null-terminated string)
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | 4 bytes
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | does DNS lookup
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x16
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOInetPtoN
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x17?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOInetNtoP
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x18
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOGetAddrInfo
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | (vector) ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x1C
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOGetInterfaceOpt
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | (vector) ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x1D
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOSetInterfaceOpt
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | (vector) ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | ?
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOSockAtMark
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | SOSetInterface
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | ICMPSocket
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | ICMPPing
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | ICMPCancel
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
+
|- style="background-color: #ddd;"
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | ICMPClose
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #fe9;" | ?
+
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | secret
|}
|}