Changeset 4343:a67cbb88fbe0 in roaraudio for roard/req.c


Ignore:
Timestamp:
09/13/10 21:58:14 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support for wait command

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/req.c

    r4333 r4343  
    13511351} 
    13521352 
     1353int req_on_wait        (int client, struct roar_message * mes, char ** data, uint32_t flags[2]) { 
     1354 uint16_t * u16 = (uint16_t*)mes->data; 
     1355 struct roar_event events[4]; 
     1356 size_t left, tmp; 
     1357 size_t num = 0; 
     1358 void * vp = mes->data; 
     1359 
     1360 vp += 4; 
     1361 
     1362 // check for complet header... 
     1363 if ( mes->datalen < 4 ) 
     1364  return -1; 
     1365 
     1366 u16[0] = ROAR_NET2HOST16(u16[0]); 
     1367 u16[1] = ROAR_NET2HOST16(u16[1]); 
     1368 
     1369 // do we support version and flags? 
     1370 if ( u16[0] != 0 || u16[1] != 0 ) 
     1371  return -1; 
     1372 
     1373 memset(events, 0, sizeof(events)); 
     1374 
     1375 left = mes->datalen - 4; 
     1376 
     1377 while (left) { 
     1378  tmp = left; 
     1379  if ( roar_event_from_blob(&(events[num]), vp, &tmp) == -1 ) 
     1380   return -1; 
     1381 
     1382  vp   += tmp; 
     1383  left -= tmp; 
     1384  num++; 
     1385 } 
     1386 
     1387 if ( clients_wait(client, events, num) == -1 ) 
     1388  return -1; 
     1389 
     1390 flags[1] |= COMMAND_FLAG_OUT_NOSEND; 
     1391 
     1392 return 0; 
     1393} 
     1394 
    13531395//ll 
Note: See TracChangeset for help on using the changeset viewer.