Ejemplo n.º 1
0
void rlm_walltime_RLMStart(void *ptr,const char *arg)
{
  char address[17];
  char section[256];
  char errtext[256];
  int i=1;

  rlm_walltime_devs=0;
  rlm_walltime_addresses=NULL;
  rlm_walltime_ports=NULL;
  rlm_walltime_formats=NULL;
  rlm_walltime_host_addresses=NULL;
  rlm_walltime_masters=NULL;
  rlm_walltime_aux1s=NULL;
  rlm_walltime_aux2s=NULL;

  sprintf(section,"Walltime%d",i++);
  strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
  if(strlen(address)==0) {
    RLMLog(ptr,LOG_WARNING,"rlm_walltime: no walltime destinations specified");
    return;
  }
  while(strlen(address)>0) {
    rlm_walltime_addresses=
      realloc(rlm_walltime_addresses,(rlm_walltime_devs+1)*(rlm_walltime_devs+1)*16);
    strcpy(rlm_walltime_addresses+16*rlm_walltime_devs,address);
    rlm_walltime_ports=realloc(rlm_walltime_ports,(rlm_walltime_devs+1)*sizeof(uint16_t));
    rlm_walltime_ports[rlm_walltime_devs]=
      RLMGetIntegerValue(ptr,arg,section,"UdpPort",0);
    rlm_walltime_formats=realloc(rlm_walltime_formats,(rlm_walltime_devs+1)*8192);
    strncpy(rlm_walltime_formats+8192*rlm_walltime_devs,
	    RLMGetStringValue(ptr,arg,section,"FormatString",""),8192);
    rlm_walltime_host_addresses=
      realloc(rlm_walltime_host_addresses,(rlm_walltime_devs+1)*(rlm_walltime_devs+1)*16);
    strncpy(rlm_walltime_host_addresses+16*rlm_walltime_devs,
	    RLMGetStringValue(ptr,arg,section,"HostAddress",""),15);
    rlm_walltime_masters=realloc(rlm_walltime_masters,
			    (rlm_walltime_devs+1)*sizeof(int));
    rlm_walltime_masters[rlm_walltime_devs]=
      rlm_walltime_GetLogStatus(ptr,arg,section,"MasterLog");

    rlm_walltime_aux1s=realloc(rlm_walltime_aux1s,
			  (rlm_walltime_devs+1)*sizeof(int));
    rlm_walltime_aux1s[rlm_walltime_devs]=
      rlm_walltime_GetLogStatus(ptr,arg,section,"Aux1Log");
    rlm_walltime_aux2s=realloc(rlm_walltime_aux2s,
			  (rlm_walltime_devs+1)*sizeof(int));
    rlm_walltime_aux2s[rlm_walltime_devs]=
      rlm_walltime_GetLogStatus(ptr,arg,section,"Aux2Log");
    sprintf(errtext,"rlm_walltime: configured destination \"%s:%d\"",address,
	    rlm_walltime_ports[rlm_walltime_devs]);
    rlm_walltime_devs++;
    RLMLog(ptr,LOG_INFO,errtext);
    sprintf(section,"Walltime%d",i++);
    strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
  }
}
Ejemplo n.º 2
0
int rlm_inno713_GetLogStatus(void *ptr,const char *arg,const char *section,
			    const char *logname)
{
  const char *tag=RLMGetStringValue(ptr,arg,section,logname,"");
  if(strcasecmp(tag,"yes")==0) {
    return 1;
  }
  if(strcasecmp(tag,"on")==0) {
    return 1;
  }
  if(strcasecmp(tag,"true")==0) {
    return 1;
  }
  if(strcasecmp(tag,"no")==0) {
    return 0;
  }
  if(strcasecmp(tag,"off")==0) {
    return 0;
  }
  if(strcasecmp(tag,"false")==0) {
    return 0;
  }
  if(strcasecmp(tag,"onair")==0) {
    return 2;
  }  
  return 0;
}
Ejemplo n.º 3
0
void rlm_liqcomp_RLMStart(void *ptr,const char *arg)
{
  char address[17];
  char section[256];
  char errtext[256];
  int i=1;

  rlm_liqcomp_devs=0;
  rlm_liqcomp_addresses=NULL;
  rlm_liqcomp_ports=NULL;
  rlm_liqcomp_masters=NULL;
  rlm_liqcomp_aux1s=NULL;
  rlm_liqcomp_aux2s=NULL;

  sprintf(section,"System%d",i++);
  strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
  if(strlen(address)==0) {
    RLMLog(ptr,LOG_WARNING,"rlm_liqcomp: no encoder destinations specified");
    return;
  }
  while(strlen(address)>0) {
    rlm_liqcomp_addresses=
      realloc(rlm_liqcomp_addresses,(rlm_liqcomp_devs+1)*(rlm_liqcomp_devs+1)*16);
    strcpy(rlm_liqcomp_addresses+16*rlm_liqcomp_devs,address);
    rlm_liqcomp_ports=realloc(rlm_liqcomp_ports,(rlm_liqcomp_devs+1)*sizeof(uint16_t));
    rlm_liqcomp_ports[rlm_liqcomp_devs]=
      RLMGetIntegerValue(ptr,arg,section,"UdpPort",0);
    rlm_liqcomp_titles=realloc(rlm_liqcomp_titles,(rlm_liqcomp_devs+1)*256);
    strncpy(rlm_liqcomp_titles+256*rlm_liqcomp_devs,
	    RLMGetStringValue(ptr,arg,section,"Title",""),256);
    rlm_liqcomp_artists=realloc(rlm_liqcomp_artists,(rlm_liqcomp_devs+1)*256);
    strncpy(rlm_liqcomp_artists+256*rlm_liqcomp_devs,
	    RLMGetStringValue(ptr,arg,section,"Artist",""),256);
    rlm_liqcomp_albums=realloc(rlm_liqcomp_albums,(rlm_liqcomp_devs+1)*256);
    strncpy(rlm_liqcomp_albums+256*rlm_liqcomp_devs,
	    RLMGetStringValue(ptr,arg,section,"Album",""),256);
    rlm_liqcomp_labels=realloc(rlm_liqcomp_labels,(rlm_liqcomp_devs+1)*256);
    strncpy(rlm_liqcomp_labels+256*rlm_liqcomp_devs,
	    RLMGetStringValue(ptr,arg,section,"Label",""),256);
    rlm_liqcomp_masters=realloc(rlm_liqcomp_masters,
			    (rlm_liqcomp_devs+1)*sizeof(int));
    rlm_liqcomp_masters[rlm_liqcomp_devs]=
      rlm_liqcomp_GetLogStatus(ptr,arg,section,"MasterLog");
    rlm_liqcomp_aux1s=realloc(rlm_liqcomp_aux1s,
			  (rlm_liqcomp_devs+1)*sizeof(int));
    rlm_liqcomp_aux1s[rlm_liqcomp_devs]=
      rlm_liqcomp_GetLogStatus(ptr,arg,section,"Aux1Log");
    rlm_liqcomp_aux2s=realloc(rlm_liqcomp_aux2s,
			  (rlm_liqcomp_devs+1)*sizeof(int));
    rlm_liqcomp_aux2s[rlm_liqcomp_devs]=
      rlm_liqcomp_GetLogStatus(ptr,arg,section,"Aux2Log");
    sprintf(errtext,"rlm_liqcomp: configured destination \"%s:%d\"",address,
	    rlm_liqcomp_ports[rlm_liqcomp_devs]);
    rlm_liqcomp_devs++;
    RLMLog(ptr,LOG_INFO,errtext);
    sprintf(section,"System%d",i++);
    strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
  }
}
Ejemplo n.º 4
0
void rlm_inno713_RLMStart(void *ptr,const char *arg)
{
  char address[17];
  char section[256];
  char errtext[256];
  char device[256];
  int speed;
  int parity;
  int wsize;
  int i=1;

  rlm_inno713_devs=0;
  rlm_inno713_addresses=NULL;
  rlm_inno713_ports=NULL;
  rlm_inno713_handles=NULL;
  rlm_inno713_dynamicpss=NULL;
  rlm_inno713_masters=NULL;
  rlm_inno713_aux1s=NULL;
  rlm_inno713_aux2s=NULL;

  sprintf(section,"Rds%d",i++);
  strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
  strncpy(device,RLMGetStringValue(ptr,arg,section,"Device",""),256);
  if((strlen(address)==0)&&(strlen(device)==0)) {
    RLMLog(ptr,LOG_WARNING,"rlm_inno713: no RDS connections specified");
    return;
  }
  while((strlen(address)>0)||(strlen(device)>0)) {
    rlm_inno713_addresses=
      realloc(rlm_inno713_addresses,
	      (rlm_inno713_devs+1)*(rlm_inno713_devs+1)*16);
    strcpy(rlm_inno713_addresses+16*rlm_inno713_devs,address);
    rlm_inno713_ports=realloc(rlm_inno713_ports,
			      (rlm_inno713_devs+1)*sizeof(uint16_t));
    rlm_inno713_ports[rlm_inno713_devs]=
      RLMGetIntegerValue(ptr,arg,section,"UdpPort",0);
    speed=RLMGetIntegerValue(ptr,arg,section,"Speed",9600);
    parity=RLMGetIntegerValue(ptr,arg,section,"Parity",0);
    wsize=RLMGetIntegerValue(ptr,arg,section,"WordSize",8);
    rlm_inno713_handles=realloc(rlm_inno713_handles,
				(rlm_inno713_devs+1)*sizeof(int));
    rlm_inno713_handles[rlm_inno713_devs]=
      RLMOpenSerial(ptr,device,speed,parity,wsize);
    rlm_inno713_dynamicpss=realloc(rlm_inno713_dynamicpss,(rlm_inno713_devs+1)*256);
    strncpy(rlm_inno713_dynamicpss+256*rlm_inno713_devs,
	    RLMGetStringValue(ptr,arg,section,"DynamicPsString",""),256);

    rlm_inno713_pss=realloc(rlm_inno713_pss,(rlm_inno713_devs+1)*256);
    strncpy(rlm_inno713_pss+256*rlm_inno713_devs,
	    RLMGetStringValue(ptr,arg,section,"PsString",""),256);
    rlm_inno713_radiotexts=realloc(rlm_inno713_radiotexts,
				   (rlm_inno713_devs+1)*256);
    strncpy(rlm_inno713_radiotexts+256*rlm_inno713_devs,
	    RLMGetStringValue(ptr,arg,section,"RadiotextString",""),256);
    rlm_inno713_masters=realloc(rlm_inno713_masters,
			    (rlm_inno713_devs+1)*sizeof(int));
    rlm_inno713_masters[rlm_inno713_devs]=
      rlm_inno713_GetLogStatus(ptr,arg,section,"MasterLog");
    rlm_inno713_aux1s=realloc(rlm_inno713_aux1s,
			  (rlm_inno713_devs+1)*sizeof(int));
    rlm_inno713_aux1s[rlm_inno713_devs]=
      rlm_inno713_GetLogStatus(ptr,arg,section,"Aux1Log");
    rlm_inno713_aux2s=realloc(rlm_inno713_aux2s,
			  (rlm_inno713_devs+1)*sizeof(int));
    rlm_inno713_aux2s[rlm_inno713_devs]=
      rlm_inno713_GetLogStatus(ptr,arg,section,"Aux2Log");
    sprintf(errtext,"rlm_inno713: configured destination \"%s:%d\"",address,
	    rlm_inno713_ports[rlm_inno713_devs]);
    RLMLog(ptr,LOG_INFO,errtext);
    if(strlen(device)>0) {
      if(rlm_inno713_handles[rlm_inno713_devs]<0) {
	sprintf(errtext,"rlm_inno713: unable to open serial device \"%s\"",device);
      }
      else {
	sprintf(errtext,"rlm_inno713: configured serial device \"%s\"",device);
      }
      RLMLog(ptr,LOG_INFO,errtext);
    }
    rlm_inno713_devs++;
    sprintf(section,"Rds%d",i++);
    strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
    strncpy(device,RLMGetStringValue(ptr,arg,section,"Device",""),256);
  }
}
Ejemplo n.º 5
0
void rlm_xmpad_RLMStart(void *ptr,const char *arg)
{
  int handle;
  char device[256];
  int speed;
  int parity;
  int wsize;
  char section[256];
  char errtext[256];
  int i=1;
  int interval;

  rlm_xmpad_devs=0;
  rlm_xmpad_ids=NULL;
  rlm_xmpad_handles=NULL;
  rlm_xmpad_recordings=NULL;
  rlm_xmpad_format1s=NULL;
  rlm_xmpad_format2s=NULL;
  rlm_xmpad_display_size1s=NULL;
  rlm_xmpad_display_size2s=NULL;
  rlm_xmpad_masters=NULL;
  rlm_xmpad_aux1s=NULL;
  rlm_xmpad_aux2s=NULL;

  sprintf(section,"Serial%d",i++);
  strncpy(device,RLMGetStringValue(ptr,arg,section,"Device",""),256);
  if(strlen(device)==0) {
    RLMLog(ptr,LOG_WARNING,"rlm_xmpad: no serial devices specified");
    return;
  }
  while(strlen(device)>0) {
    speed=RLMGetIntegerValue(ptr,arg,section,"Speed",9600);
    parity=RLMGetIntegerValue(ptr,arg,section,"Parity",0);
    wsize=RLMGetIntegerValue(ptr,arg,section,"WordSize",8);
    if((handle=RLMOpenSerial(ptr,device,speed,parity,wsize))>=0) {
      rlm_xmpad_handles=realloc(rlm_xmpad_handles,
				 (rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_handles[rlm_xmpad_devs]=handle;
      rlm_xmpad_ids=realloc(rlm_xmpad_ids,(rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_ids[rlm_xmpad_devs]=
	RLMGetIntegerValue(ptr,arg,section,"ProgramID",0);
      rlm_xmpad_format1s=realloc(rlm_xmpad_format1s,(rlm_xmpad_devs+1)*256);
      strncpy(rlm_xmpad_format1s+256*rlm_xmpad_devs,
	      RLMGetStringValue(ptr,arg,section,"FormatString1",""),256);
      rlm_xmpad_format2s=realloc(rlm_xmpad_format2s,(rlm_xmpad_devs+1)*256);
      strncpy(rlm_xmpad_format2s+256*rlm_xmpad_devs,
	      RLMGetStringValue(ptr,arg,section,"FormatString2",""),256);
      rlm_xmpad_display_size1s=realloc(rlm_xmpad_display_size1s,
				       (rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_display_size1s[rlm_xmpad_devs]=
	RLMGetIntegerValue(ptr,arg,section,"DisplaySize1",8);
      rlm_xmpad_display_size2s=realloc(rlm_xmpad_display_size2s,
				       (rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_display_size2s[rlm_xmpad_devs]=
	RLMGetIntegerValue(ptr,arg,section,"DisplaySize2",10);
      rlm_xmpad_recordings=realloc(rlm_xmpad_recordings,
				   (rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_recordings[rlm_xmpad_devs]=
	RLMGetBooleanValue(ptr,arg,section,"Recording",1);
      rlm_xmpad_masters=realloc(rlm_xmpad_masters,
				 (rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_masters[rlm_xmpad_devs]=
	rlm_xmpad_GetLogStatus(ptr,arg,section,"MasterLog");
      rlm_xmpad_aux1s=realloc(rlm_xmpad_aux1s,
				 (rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_aux1s[rlm_xmpad_devs]=
	rlm_xmpad_GetLogStatus(ptr,arg,section,"Aux1Log");
      rlm_xmpad_aux2s=realloc(rlm_xmpad_aux2s,
				 (rlm_xmpad_devs+1)*sizeof(int));
      rlm_xmpad_aux2s[rlm_xmpad_devs]=
	rlm_xmpad_GetLogStatus(ptr,arg,section,"Aux2Log");
      interval=RLMGetIntegerValue(ptr,arg,section,"HeartbeatInterval",30);
      if(interval>0) {
	RLMStartTimer(ptr,rlm_xmpad_devs,1000*interval,RLM_TIMER_REPEATING);
      }
      rlm_xmpad_devs++;
      sprintf(errtext,"rlm_xmpad: opened device \"%s\"",device);
      RLMLog(ptr,LOG_INFO,errtext);
    }
    else {
      sprintf(errtext,"unable to open tty \"%s\"",device);
      RLMLog(ptr,LOG_WARNING,errtext);
    }
    sprintf(section,"Serial%d",i++);
    strncpy(device,RLMGetStringValue(ptr,arg,section,"Device",""),256);
  }
}
Ejemplo n.º 6
0
void rlm_spottrap_RLMStart(void *ptr,const char *arg)
{
  char address[17];
  char section[256];
  char errtext[256];
  int i=1;

  rlm_spottrap_devs=0;
  rlm_spottrap_groups=NULL;
  rlm_spottrap_addresses=NULL;
  rlm_spottrap_minimums=NULL;
  rlm_spottrap_maximums=NULL;
  rlm_spottrap_ports=NULL;
  rlm_spottrap_formats=NULL;
  rlm_spottrap_default_formats=NULL;
  rlm_spottrap_masters=NULL;
  rlm_spottrap_aux1s=NULL;
  rlm_spottrap_aux2s=NULL;

  sprintf(section,"Rule%d",i++);
  strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
  if(strlen(address)==0) {
    RLMLog(ptr,LOG_WARNING,"rlm_spottrap: no rules specified");
    return;
  }
  while(strlen(address)>0) {
    rlm_spottrap_addresses=
      realloc(rlm_spottrap_addresses,(rlm_spottrap_devs+1)*(rlm_spottrap_devs+1)*16);
    strcpy(rlm_spottrap_addresses+16*rlm_spottrap_devs,address);
    rlm_spottrap_groups=realloc(rlm_spottrap_groups,(rlm_spottrap_devs+1)*16);
    strncpy(rlm_spottrap_groups+16*rlm_spottrap_devs,
	    RLMGetStringValue(ptr,arg,section,"GroupName",""),10);
    rlm_spottrap_minimums=realloc(rlm_spottrap_minimums,(rlm_spottrap_devs+1)*sizeof(int));
    rlm_spottrap_minimums[rlm_spottrap_devs]=
      RLMGetIntegerValue(ptr,arg,section,"MinimumLength",0);
    rlm_spottrap_maximums=realloc(rlm_spottrap_maximums,(rlm_spottrap_devs+1)*sizeof(int));
    rlm_spottrap_maximums[rlm_spottrap_devs]=
      RLMGetIntegerValue(ptr,arg,section,"MaximumLength",0);
    rlm_spottrap_ports=realloc(rlm_spottrap_ports,(rlm_spottrap_devs+1)*sizeof(uint16_t));
    rlm_spottrap_ports[rlm_spottrap_devs]=
      RLMGetIntegerValue(ptr,arg,section,"UdpPort",0);
    rlm_spottrap_formats=realloc(rlm_spottrap_formats,(rlm_spottrap_devs+1)*256);
    strncpy(rlm_spottrap_formats+256*rlm_spottrap_devs,
	    RLMGetStringValue(ptr,arg,section,"FormatString",""),256);
    rlm_spottrap_default_formats=realloc(rlm_spottrap_default_formats,
					 (rlm_spottrap_devs+1)*256);
    strncpy(rlm_spottrap_default_formats+256*rlm_spottrap_devs,
	    RLMGetStringValue(ptr,arg,section,"DefaultFormatString",""),256);
    rlm_spottrap_masters=realloc(rlm_spottrap_masters,
			    (rlm_spottrap_devs+1)*sizeof(int));
    rlm_spottrap_masters[rlm_spottrap_devs]=
      rlm_spottrap_GetLogStatus(ptr,arg,section,"MasterLog");
    rlm_spottrap_aux1s=realloc(rlm_spottrap_aux1s,
			  (rlm_spottrap_devs+1)*sizeof(int));
    rlm_spottrap_aux1s[rlm_spottrap_devs]=
      rlm_spottrap_GetLogStatus(ptr,arg,section,"Aux1Log");
    rlm_spottrap_aux2s=realloc(rlm_spottrap_aux2s,
			  (rlm_spottrap_devs+1)*sizeof(int));
    rlm_spottrap_aux2s[rlm_spottrap_devs]=
      rlm_spottrap_GetLogStatus(ptr,arg,section,"Aux2Log");
    sprintf(errtext,"rlm_spottrap: configured rule for \"%s:%d\"",address,
	    rlm_spottrap_ports[rlm_spottrap_devs]);
    rlm_spottrap_devs++;
    RLMLog(ptr,LOG_INFO,errtext);
    sprintf(section,"Rule%d",i++);
    strncpy(address,RLMGetStringValue(ptr,arg,section,"IpAddress",""),15);
  }
}