Changeset 5387:ec00c0a72024 in roaraudio


Ignore:
Timestamp:
01/16/12 18:33:43 (12 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added function to get serverinfo for library as well as libinfo command for roarctl to list those infos

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • Makefile.inc

    r5214 r5387  
    66COMMON_VERSION  = $(COMMON_V_MM).$(COMMON_V_REV) 
    77COMMON_SOVERSION= 2 
     8 
     9PKGDEFINES      = -DPACKAGE_VERSION="\"$(VERSION)\"" -DDEVICE_VENDOR_ID=$(DEV_VENDOR) -DDEVICE_VENDOR_NAME="\"$(DEV_VENDOR_NAME)\"" -DDEVICE_VENDOR_STRING="\"$(DEV_VENDOR_STRING)\"" -DDISTRIBUTION_VERSION_STRING="\"$(DISTRIBUTION_VERSION_STRING)\"" 
    810 
    911# libroar: 
  • include/libroar/serverinfo.h

    r5381 r5387  
    5959 
    6060struct roar_server_info * roar_server_info(struct roar_connection * con); 
     61struct roar_server_info * roar_library_info(void); 
    6162int roar_server_info_free(struct roar_server_info * info); 
    6263 
  • libroar/Makefile

    r5367 r5387  
    1616#DEFINES+= -D_LIBROAR_NOATTR_WARNINGS 
    1717INCLUDE = -I../include -I../include/libroar 
    18 CFLAGS += -g -Wall $(OPTI_O) $(DEFINES) $(INCLUDE) $(INCPATH) $(SHARED_CF) $(fPIC) 
     18CFLAGS += -g -Wall $(OPTI_O) $(DEFINES) $(PKGDEFINES) $(INCLUDE) $(INCPATH) $(SHARED_CF) $(fPIC) 
    1919LDFLAGS+= -g -Wall $(SHARED) $(LDPATH) 
    2020LIBS    = $(LIBROAR_NS) 
  • libroar/serverinfo.c

    r5381 r5387  
    3636#include "libroar.h" 
    3737 
     38// include for uname() used by roar_library_info() 
     39#ifdef ROAR_HAVE_UNAME 
     40#include <sys/utsname.h> 
     41#endif 
     42 
    3843struct ie { 
    3944 int type; 
     
    7176} 
    7277 
     78#ifdef ROAR_HAVE_GETHOSTID 
     79#define _HOSTID_BUFLEN 64 
     80#else 
     81#define _HOSTID_BUFLEN 0 
     82#endif 
     83struct roar_server_info * roar_library_info(void) { 
     84 struct roar_server_info * ret = roar_mm_malloc(sizeof(struct roar_server_info) + _HOSTID_BUFLEN); 
     85#ifdef ROAR_HAVE_UNAME 
     86 static struct utsname utsname; 
     87 static int utsname_inited = 0; 
     88#endif 
     89#ifdef ROAR_HAVE_GETHOSTID 
     90 long hostid; 
     91 char * hostidbuf = ((void*)ret) + sizeof(*ret); 
     92#endif 
     93 
     94 if ( ret == NULL ) 
     95  return NULL; 
     96 
     97 memset(ret, 0, sizeof(struct roar_server_info)); 
     98 
     99#if 0 
     100+ const char * version; 
     101X const char * location; 
     102X const char * description; 
     103X const char * contact; 
     104X const char * serial; 
     105X const char * address; 
     106X const char * uiurl; 
     107 const char * hostid; 
     108+ const char * license; 
     109+ const char * build; 
     110+ struct { 
     111+  const char * sysname; 
     112+  const char * release; 
     113+  const char * nodename; 
     114+  const char * machine; 
     115+ } un; 
     116#endif 
     117 
     118 if ( DISTRIBUTION_VERSION_STRING[0] == 0 ) { 
     119  ret->version = "libroar/" PACKAGE_VERSION " <" DEVICE_VENDOR_STRING ">"; 
     120 } else { 
     121  ret->version = "libroar/" PACKAGE_VERSION " <" DEVICE_VENDOR_STRING "> (" DISTRIBUTION_VERSION_STRING ")"; 
     122 } 
     123#ifdef ROAR_HAVE_GETHOSTID 
     124 hostid = gethostid(); 
     125 snprintf(hostidbuf, _HOSTID_BUFLEN, sizeof(long) == 8 ? "0x%.16lx" : "0x%.8lx", hostid); 
     126 ret->hostid = hostidbuf; 
     127#endif 
     128 ret->license = ROAR_LICENSE_GPLv3_0; 
     129 ret->build   = ROAR_BUILD_STAMP; 
     130 
     131#ifdef ROAR_HAVE_UNAME 
     132 if ( !utsname_inited ) 
     133  if ( uname(&utsname) == 0 ) 
     134   utsname_inited = 1; 
     135 
     136 if ( utsname_inited ) { 
     137  ret->un.sysname  = utsname.sysname; 
     138  ret->un.release  = utsname.release; 
     139  ret->un.nodename = utsname.nodename; 
     140  ret->un.machine  = utsname.machine; 
     141 } 
     142#endif 
     143#ifdef ROAR_HAVE_GETVERSIONEX 
     144 ret->un.sysname = "Windows"; 
     145#endif 
     146 
     147 return ret; 
     148} 
     149 
    73150int roar_server_info_free(struct roar_server_info * info) { 
    74  if ( info == NULL ) 
     151 if ( info == NULL ) { 
     152  roar_err_set(ROAR_ERROR_FAULT); 
    75153  return -1; 
     154 } 
    76155 
    77156 roar_mm_free(info); 
  • roarclients/roarctl.c

    r5386 r5387  
    127127        "\n" 
    128128        "  serverinfo              - Gets general information about the server\n" 
     129        "  libinfo                 - Gets general information about the library (libroar)\n" 
    129130        "  servertime              - Gets server's time\n" 
    130131        "  serveroinfo             - Gets Information about server output\n" 
     
    270271#endif 
    271272 
    272 #define _pm(m,n) if ( info->m != NULL ) printf("Server %-15s: %s\n", (n), (info->m)); 
     273#define _pm(m,n) if ( info->m != NULL ) printf(con != NULL ? "Server %-15s: %s\n" : "Library %-14s: %s\n", (n), (info->m)); 
    273274void server_info (struct roar_connection * con) { 
    274  struct roar_server_info * info = roar_server_info(con); 
     275 struct roar_server_info * info = con != NULL ? roar_server_info(con) : roar_library_info(); 
    275276 long hostid; 
    276277 
     
    294295 
    295296  if ( hostid ) { 
    296    printf("Server %-15s: %s (%li.%li.%li.%li)\n", "HostID", info->hostid, 
     297   printf(con != NULL ? "Server %-15s: %s (%li.%li.%li.%li)\n" 
     298                      : "Library %-14s: %s (%li.%li.%li.%li)\n", "HostID", info->hostid, 
    297299           ((hostid & 0x00FF0000UL) >> 16UL), 
    298300           ((hostid & 0xFF000000UL) >> 24UL), 
     
    301303         ); 
    302304  } else { 
    303    printf("Server %-15s: %s\n", "HostID", info->hostid); 
     305   _pm(hostid, "HostID"); 
    304306  } 
    305307 } 
     
    13101312  } else if ( !strcmp(k, "serverinfo") ) { 
    13111313   server_info(&con); 
     1314  } else if ( !strcmp(k, "libinfo") ) { 
     1315   server_info(NULL); 
    13121316  } else if ( !strcmp(k, "servertime") ) { 
    13131317   server_time(&con); 
  • roard/Makefile

    r5270 r5387  
    1616#DEFINES        = -DDEBUG 
    1717#DEFINES        = -DMONITOR_LATENCY 
    18 PKGDEFINES= -DPACKAGE_VERSION="\"$(VERSION)\"" -DDEVICE_VENDOR_ID=$(DEV_VENDOR) -DDEVICE_VENDOR_NAME="\"$(DEV_VENDOR_NAME)\"" -DDEVICE_VENDOR_STRING="\"$(DEV_VENDOR_STRING)\"" -DDISTRIBUTION_VERSION_STRING="\"$(DISTRIBUTION_VERSION_STRING)\"" 
    1918INCLUDE   = -I../include -I./include 
    2019CFLAGS   += -g -Wall $(OPTI_O) $(DEFINES) $(PKGDEFINES) $(INCLUDE) $(INCPATH) 
Note: See TracChangeset for help on using the changeset viewer.