Quellcode durchsuchen

cmUdpPort.h/c: Added kBroadcastUdpFl option.

master
kpl vor 11 Jahren
Ursprung
Commit
76258fe7e2
2 geänderte Dateien mit 14 neuen und 1 gelöschten Zeilen
  1. 12
    0
      cmUdpPort.c
  2. 2
    1
      cmUdpPort.h

+ 12
- 0
cmUdpPort.c Datei anzeigen

@@ -256,6 +256,18 @@ cmUdpRC_t cmUdpInit(
256 256
 
257 257
   }
258 258
 
259
+  // if broadcast option was requested.
260
+  if( cmIsFlag(flags,kBroadcastUdpFl) )
261
+  {
262
+    int bcastFl = 1;
263
+    if( setsockopt( p->sockH, SOL_SOCKET, SO_BROADCAST, &bcastFl, sizeof(bcastFl) ) == cmUdp_SYS_ERR )
264
+    {
265
+      rc = cmErrSysMsg(&p->err,kSockOptSetFailUdpRC,errno, "Attempt to set the socket broadcast attribute failed." );
266
+      goto errLabel;
267
+    }
268
+
269
+  }
270
+
259 271
   if( recvBufByteCnt != 0 )
260 272
     p->tempBuf = cmMemAlloc(char,recvBufByteCnt );
261 273
 

+ 2
- 1
cmUdpPort.h Datei anzeigen

@@ -41,7 +41,8 @@ extern "C" {
41 41
   {
42 42
     kNonBlockingUdpFl = 0x00,
43 43
     kBlockingUdpFl    = 0x01,
44
-    kNoQueueUdpFl     = 0x02
44
+    kNoQueueUdpFl     = 0x02,
45
+    kBroadcastUdpFl   = 0x04
45 46
     
46 47
   };
47 48
 

Laden…
Abbrechen
Speichern