Browse Source

cmUdpPort.h/c: Added kBroadcastUdpFl option.

master
kpl 11 years ago
parent
commit
76258fe7e2
2 changed files with 14 additions and 1 deletions
  1. 12
    0
      cmUdpPort.c
  2. 2
    1
      cmUdpPort.h

+ 12
- 0
cmUdpPort.c View File

@@ -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 View File

@@ -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
 

Loading…
Cancel
Save