mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-29 09:24:33 +00:00
In #5399 it was noticed, that IPC_Mode isn't being used within SystemV IPC procedures, even though it was designed this way, which lead to a weird API where in order to call SystemV IPC procedures multiple transmutes and a bitwise-OR are needed. This unifies IPC_Mode and IPC_Flags bitsets, making it possible to call the SystemV IPC procedures without extra casts, and rearranges the flags in a way that hopefully makes it easier to see when they are not colliding and should not be mixed. The explanation, explaining this arrangement of the enum was added. The IPC_Perm structure is modified, so that the flags can be re-used between the calls. It's probably not as good as keeping them separate, but should work... hopefully. Kept the "old" style of documentation for consistency. Signed-off-by: Sunagatov Denis <thebumboni@gmail.com>