Commit 35329b510c

Dacheng <successgdc@gmail.com>
2025-06-24 15:07:06
c.darwin: define MSG for macos (#24224)
* c.darwin: define MSG for macos * darwin: add series os name * Update lib/std/c.zig Co-authored-by: Alex Rønne Petersen <alex@alexrp.com> --------- Co-authored-by: Alex Rønne Petersen <alex@alexrp.com>
1 parent 342c34d
Changed files (2)
lib
lib/std/c/darwin.zig
@@ -1553,3 +1553,42 @@ pub const TCP = struct {
     /// State of the TCP connection
     pub const CONNECTION_INFO = 0x106;
 };
+
+pub const MSG = struct {
+    /// process out-of-band data
+    pub const OOB = 0x1;
+    /// peek at incoming message
+    pub const PEEK = 0x2;
+    /// send without using routing tables
+    pub const DONTROUTE = 0x4;
+    /// data completes record
+    pub const EOR = 0x8;
+    /// data discarded before delivery
+    pub const TRUNC = 0x10;
+    /// control data lost before delivery
+    pub const CTRUNC = 0x20;
+    /// wait for full request or error
+    pub const WAITALL = 0x40;
+    /// this message should be nonblocking
+    pub const DONTWAIT = 0x80;
+    /// data completes connection
+    pub const EOF = 0x100;
+    /// wait up to full request, may return partial
+    pub const WAITSTREAM = 0x200;
+    /// Start of 'hold' seq; dump so_temp, deprecated
+    pub const FLUSH = 0x400;
+    /// Hold frag in so_temp, deprecated
+    pub const HOLD = 0x800;
+    /// Send the packet in so_temp, deprecated
+    pub const SEND = 0x1000;
+    /// Data ready to be read
+    pub const HAVEMORE = 0x2000;
+    /// Data remains in current pkt
+    pub const RCVMORE = 0x4000;
+    /// Fail receive if socket address cannot be allocated
+    pub const NEEDSA = 0x10000;
+    /// do not generate SIGPIPE on EOF
+    pub const NOSIGNAL = 0x80000;
+    /// Inherit upcall in sock_accept
+    pub const USEUPCALL = 0x80000000;
+};
lib/std/c.zig
@@ -5598,6 +5598,7 @@ pub const MSG = switch (native_os) {
     .linux => linux.MSG,
     .emscripten => emscripten.MSG,
     .windows => ws2_32.MSG,
+    .driverkit, .macos, .ios, .tvos, .watchos, .visionos => darwin.MSG,
     .haiku => struct {
         pub const OOB = 0x0001;
         pub const PEEK = 0x0002;