Changeset 4500:07a9fe743aa1 in roaraudio for roard/req.c


Ignore:
Timestamp:
10/13/10 02:55:42 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

done some basic work for stds listing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/req.c

    r4474 r4500  
    644644} 
    645645 
     646int req_on_caps        (int client, struct roar_message * mes, char ** data, uint32_t flags[2]) { 
     647 struct roar_caps caps; 
     648 struct roar_stds * stds; 
     649 size_t i; 
     650 
     651 if ( roar_caps_from_msg(&caps, mes, *data) == -1 ) 
     652  return -1; 
     653 
     654 // handle the data from the caps command here... 
     655 
     656 if ( !(caps.flags & ROAR_CF_REQUEST) ) { 
     657  mes->cmd = ROAR_CMD_OK; 
     658  mes->datalen = 0; 
     659  return 0; 
     660 } 
     661 
     662 mes->datalen = 0; 
     663 
     664 switch (caps.type) { 
     665  case ROAR_CT_STANDARDS: 
     666    if ( (stds = roar_stds_new(1)) == NULL ) 
     667     return -1; 
     668    stds->stds[0] = 0x11223344; 
     669 
     670    for ( i = 0; i < stds->stds_len; i++) { 
     671     stds->stds[i] = ROAR_HOST2NET32(stds->stds[i]); 
     672    } 
     673 
     674    caps.data = stds->stds; 
     675    caps.len  = stds->stds_len * 4; 
     676    // TODO: add support for **data. 
     677    if ( roar_caps_to_msg(mes, &caps, NULL) == -1 ) { 
     678     roar_stds_free(stds); 
     679     return -1; 
     680    } 
     681    roar_stds_free(stds); 
     682   break; 
     683  default: 
     684    return -1; 
     685   break; 
     686 } 
     687 
     688 mes->cmd = ROAR_CMD_OK; 
     689 
     690 return 0; 
     691} 
    646692 
    647693int req_on_get_standby (int client, struct roar_message * mes, char ** data, uint32_t flags[2]) { 
Note: See TracChangeset for help on using the changeset viewer.