Sockets services: Difference between revisions

Yannik (talk | contribs)
No edit summary
 
(6 intermediate revisions by one other user not shown)
Line 22: Line 22:
| 0  || [[#RegisterClient]]
| 0  || [[#RegisterClient]]
|-
|-
| 1  || StartMonitoring
| 1  || [[#StartMonitoring]]
|-
|-
| 2  || [[#Socket]]
| 2  || [[#Socket]]
Line 94: Line 94:
| 36 || [18.0.0+]
| 36 || [18.0.0+]
|-
|-
| 37 || [18.0.0+]
| 37 || [18.0.0+] SetSocketBufferAttribute
|-
|-
| 38 || [18.0.0+]
| 38 || [18.0.0+]
|-
|-
| 39 || [20.0.0+]
| 39 || [20.0.0+] [[#NoSfEventFd|NoSfEventFd]]
|-
|-
| 40 || [20.0.0+]
| 40 || [20.0.0+] ShutdownAllSockets
|-
|-
| 41 || [21.0.0+]
| 41 || [21.0.0+]
|-
|-
| 42 || [21.0.0+]
| 42 || [21.0.0+] SendMMsgNoMem
|-
|-
| 43 || [21.0.0+]
| 43 || [21.0.0+] RecvMMsgNoMem
|-
|-
| 200 || [15.0.0+] SetThreadCoreMask
| 200 || [15.0.0+] SetThreadCoreMask
Line 127: Line 127:
     return (size_t)(config->sb_efficiency * sum);
     return (size_t)(config->sb_efficiency * sum);
  }
  }
== StartMonitoring ==
Takes a PID and an u64 pid_reserved, no output.
This is used after the RegisterClient* cmd by the user-process.


== Socket ==
== Socket ==
Line 186: Line 191:


== Cmd36 ==
== Cmd36 ==
Takes a PID, an input u32, an u64 pid_reserved, returns 4-bytes of output.
Takes a PID, an input u32 [[#LibraryConfigData|version]], an u64 pid_reserved, returns 4-bytes of output.


On NX this is stubbed, just returns 0.
On NX this is stubbed, just returns 0.


On Ounce this is used as a new version of RegisterClient*, when initializing bsd:s/bsd:a.
On Ounce this is used as a new version of RegisterClient*, when initializing bsd:s/bsd:a/bsd:u.


== Cmd38 ==
== Cmd38 ==
Line 197: Line 202:
On NX this just returns Result 0 and writes an error to output.
On NX this just returns Result 0 and writes an error to output.


== Cmd39 ==
== NoSfEventFd ==
[21.0.0+] Now no longer returns two output handles.
[21.0.0+] Now no longer returns two output handles.


Line 759: Line 764:
|-
|-
| [19.0.0+] || 0xA
| [19.0.0+] || 0xA
|-
| [21.0.0+] || 0xB
|-
| [22.0.0+] || 0xC
|}
|}
On NX the upper u16 of the version is 0x0, while on Ounce it's 0x1.


= DeleteMode =
= DeleteMode =