コード例 #1
0
ファイル: conf.c プロジェクト: yinzhiqiang422/libutils-c
int  main()
{
  char **value;
  int valnum;
  int i;
  void *cfgdata;
  
  cfgdata = init_conf();
  if(load_conf(cfgdata,"../../etc/dp.conf") < 0)
  {
    printf("load configuration file failure.\n");
    return -1;
  }

  const char *weekday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; 

  printf("[test] int: %d\n",getconfint(cfgdata,"test","int",0,1,2,6));
  printf("[test] float: %.2f\n",getconfloat(cfgdata,"test","float",0,1.0,1.0,999.99));
  printf("[test] string: %s\n",getconfstring(cfgdata,"test","string",0,"not fount",weekday,NULL,7,NULL));
  printf("[test] multi-value: \n");
  getconfmulti(cfgdata,"test","multi",0,"not found"," ",&value,&valnum);
  for(i=0;i<valnum;i++)
    printf("%s ",value[i]);

  printf("\n");
  free_conf(cfgdata);
}
コード例 #2
0
/*--------------------------------------------------------------------*/
int main(int argc, char **argv) {
/*--------------------------------------------------------------------*/
  double cpu1;

  MPI_Init(&argc,&argv); /* Initialize the MPI environment */
  MPI_Comm_rank(MPI_COMM_WORLD, &sid);  /* My processor ID */
  /* Vector index of this processor */
  vid[0] = sid/(vproc[1]*vproc[2]);
  vid[1] = (sid/vproc[2])%vproc[1];
  vid[2] = sid%vproc[2];

  init_params();
  set_topology(); 
  init_conf();
  atom_copy();
  compute_accel(); /* Computes initial accelerations */ 

  cpu1 = MPI_Wtime();
  for (stepCount=1; stepCount<=StepLimit; stepCount++) {
    single_step(); 
    if (stepCount%StepAvg == 0) eval_props();
  }
  cpu = MPI_Wtime() - cpu1;
  if (sid == 0) printf("CPU & COMT = %le %le\n",cpu,comt);

  MPI_Finalize(); /* Clean up the MPI environment */
}
コード例 #3
0
ファイル: xvcli_debug.c プロジェクト: dulton/solotools
//part2
int send_data(char *send_buf, int send_len)
{
	int n = 0;

	if (init_conf() < 0)
		return -1;
		
	int s_socket = init_sock(sc.s_ip, sc.s_port);
	if (s_socket < 0) 
	{
		printf("connect socket failed\n");
		return -1;
	}
    
	n = send(s_socket, send_buf, send_len, 0);
	printf("send len is:%d\n", n);
	if (n < 0)
	{
		printf("send failed\n");
		return -1;
	}

	close(s_socket);
	return 1;
}
コード例 #4
0
ファイル: init.c プロジェクト: pierreN/wmfs
/** Init WMFS
*/
void
init(void)
{
     /* Init lists heads */
     SLIST_INIT(&bwhead);
     SLIST_INIT(&clients);
     SLIST_INIT(&trayicons);

     /* First init */
     ewmh_init_hints();
     init_conf();
     init_gc();
     init_font();
     init_cursor();
     init_key();
     init_root();
     screen_init_geo();
     event_make_array();
     infobar_init();
     systray_acquire();
     ewmh_update_current_tag_prop();
     grabkeys();

     return;
}
コード例 #5
0
ファイル: smartjs.c プロジェクト: jmptrader/smart.js
void init_v7() {
  struct v7_create_opts opts = {0, 0, 0};

  v7 = v7_create_opt(opts);

  sj_init_v7_ext(v7);
  init_conf(v7);
}
コード例 #6
0
ファイル: log.c プロジェクト: sblyy100/webserver
int main(){
    init_conf(&srv);
    perror("init server ok");
    init_log(&srv);

	log_debug(LOG_LEVEL_DEBUG,"%s","test log\n");
    fini_log();
}
コード例 #7
0
ファイル: main.c プロジェクト: ChevalCorp/RayTracer
int		main(int ac, char **av)
{
  t_rtv1	*rt;

  rt = malloc(sizeof(t_rtv1));
  rt_initialisation(rt);
  init_conf(rt, ac, av);
  start_rt(rt);
  return (0);
}
コード例 #8
0
ファイル: bhttpd.c プロジェクト: easter6236/bhttpd
int main(int argc, char **argv) {
    struct pollfd fds[POLL_MAX];
    int sockfd, clifd, polled=0, i;
    struct serv_conf conf;
    struct mime * mime_tbl;
    struct cgi * cgi_tbl;
    struct addrinfo *info;
    struct sockaddr_storage cli_addr;
    socklen_t addr_size;

    init_conf(&conf);
    init_info(conf.port, &info);
    mime_tbl = init_mime_table();
    cgi_tbl = init_cgi_table();

    sockfd = init_sock(info);
    if(sockfd==-1) return -1;

    memset(fds, 0, sizeof(struct pollfd)*POLL_MAX);
    for(i=0;i<POLL_MAX;i++) fds[i].fd = -1;
    fds[0].fd = sockfd;
    fds[0].events = POLLRDNORM;


    while(1) {
        polled = poll(fds, POLL_MAX, -1);
        if(polled==-1) {
            fprintf(stderr, "poll() error\n");
            continue;
        }

        if(fds[0].revents & POLLRDNORM) {
            /* Handle new connection */
            clifd = accept(sockfd, (struct sockaddr *) &cli_addr, &addr_size);
            for(i=1;i<POLL_MAX;i++) {
                if(fds[i].fd==-1) {
                    fds[i].fd = clifd;
                    fds[i].events = POLLRDNORM;
                    break;
                }
            }
        }

        for(i=1;i<POLL_MAX;i++) {
            if(fds[i].fd!=-1&&(fds[i].revents & POLLRDNORM)) {
                handle_request(mime_tbl, cgi_tbl, conf.pub_dir, fds[i].fd);
                close(fds[i].fd);
                fds[i].fd = -1;
                --polled;
            }
            if(polled==0) break;
        }
    }
    return 0;
}
コード例 #9
0
ファイル: main.cpp プロジェクト: crazyacking/data-builder
void load_config_from_local(Configuration &config)
{
    map<string,string> conf_map;
    if(!ReadConfig(CONFIG_FILE,conf_map))
    {
        puts("[error 01] load config from local file failed.");
        exit(-1);
    }
    init_conf(conf_map,config);
    PrintConfig(conf_map);
}
コード例 #10
0
ファイル: readconf.c プロジェクト: csujedihy/drcom4mac
int _readconf(struct drcom_conf *conf, struct drcom_info *info, struct drcom_host *host)
{
	FILE *dotconf;
	char buf[__OPTLEN], *s;
	struct _opt_checklist opts;
	int lineno = 0, r = 0;

	memset(&opts, 0, sizeof(opts));

	init_conf(conf);

	dotconf = fopen(DRCOM_CONF, "r");
	if (!dotconf)
		return -1;

	while (1)
	{
		s = fgets(buf, __OPTLEN, dotconf);
		if (s == NULL)
			break;

		r = __parseopt(conf, buf, &opts);

		++lineno;

		if (r < 0 || r > 1) {
			fprintf(stderr, "Error processing config file at line %d.\n", lineno);
			break;
		}
	}

	/* Even if there was an error, we should close the file first */
	fclose(dotconf);

	if (r < 0 || r > 1)
		return -1;

	r = __fillopts(conf, info, host, &opts);
	if (r) {fprintf(stderr, "fillopts failed\n");goto out;}
	r = add_except(conf, conf->dnsp, 0xffffffff);
	if (r) goto out;
	r = add_except(conf, conf->dnss, 0xffffffff);

out:
	if (r)
	{
		fprintf(stderr, "Error digesting configuration!\n");
		return -1;
	}

	return 0;
}
コード例 #11
0
ファイル: main_vita.c プロジェクト: yosh778/realboy-vita
int main()
{
    char rom_path[PATH_MAX];

    printf("\nRealBoy %s\n", "0.2.2");

    sceCtrlSetSamplingMode(SCE_CTRL_MODE_ANALOG);

    vita2d_init();
    vita2d_set_clear_color(RGBA8(0x40, 0x40, 0x40, 0xFF));

    while (1) {
        strcpy(current_dir, "ux0:");

        int ret = file_choose(
                      current_dir,
                      rom_path,
                      "Choose a GB/GB Color/Super GB ROM:",
                      supported_ext
                  );

        if (ret == -1)
            break;

        if ( (rom_file = fopen(rom_path, "r")) == NULL) {
            printf("\nError opening %s\n", rom_path);
            continue;
        }

        file_path = strndup(rom_path, 256);

        if (rom_file != NULL)	{
            init_conf();
            int ret_val; // value returned from emulation
            /* Start Virtual Machine */
            ret_val = start_vm();
            /* Error returned if file not valid */
            if (ret_val == -1) {
                printf("File %s not a gb binary\n\n", rom_path);
            }
        }

        free(file_path);
    }

    vita2d_fini();

    sceKernelExitProcess(0);
    return 0;
}
コード例 #12
0
ファイル: conf_init.c プロジェクト: mabm/Bertomzilla
FILE		*init_parser(t_conf *conf, yaml_parser_t *parser,
			     char *filename)
{
  FILE		*fd;

  fd = fopen(filename, "r");
  init_conf(conf);
  if (!yaml_parser_initialize(parser))
    fputs("Failed to initialize parser!\n", stderr);
  if (fd == NULL)
    fputs("Failed to open file!\n", stderr);
  yaml_parser_set_input_file(parser, fd);
  return (fd);
}
コード例 #13
0
ファイル: main.c プロジェクト: bajr/bajrc-bot
int main(int argc, char **argv) {
  FILE * conf;
  conf = fopen(CONFIG, "r");

  irc_t irc;
  irc_set_output(&irc, OUTPUT);
  irc.chanlist = NULL;

  init_conf(&irc, conf);

  while ( irc_handle_data(&irc) >= 0 );

  irc_close(&irc);
  fclose(conf);
  return 0;
}
コード例 #14
0
ファイル: ogra2cairo.c プロジェクト: htrb/ngraph-gtk
static int
gra2cairo_init(struct objlist *obj, N_VALUE *inst, N_VALUE *rval, int argc, char **argv)
{
  struct gra2cairo_local *local = NULL;
  int antialias = ANTIALIAS_TYPE_DEFAULT;

  if (_exeparent(obj, (char *)argv[1], inst, rval, argc, argv)) return 1;

  if (Gra2cairoConf == NULL && init_conf()) {
    goto errexit;
  }

  local = g_malloc(sizeof(struct gra2cairo_local));
  if (local == NULL)
    goto errexit;

  if (_putobj(obj, "_local", inst, local))
    goto errexit;

  if (_putobj(obj, "antialias", inst, &antialias))
    goto errexit;

  local->cairo = NULL;
  local->fontalias = NULL;
  local->layout = NULL;
  local->pixel_dot_x = 1;
  local->pixel_dot_y = 1;
  local->linetonum = 0;
  local->text2path = FALSE;
  local->antialias = antialias;
  local->region = NULL;
  local->font_style = GRA_FONT_STYLE_NORMAL;
  local->symbol = FALSE;
  local->use_opacity = FALSE;

  Instance++;

  return 0;

 errexit:
  if (Instance == 0)
    free_conf();

  g_free(local);
  return 1;
}
コード例 #15
0
ファイル: mkgfs.c プロジェクト: Arseny-N/fgfs
int main ( int argc, char * argv [] )
{
	struct gfs_super *super;
	struct conf conf;
	int super_len, i;
	
	prase_cmdLine(&conf, argv, argc);
	init_conf(&conf);	
	super_len = init_super(&conf, &super);
	
	write_inode(&conf, 0, super, super_len, S_IFREG | 0777);
	write_inode(&conf, 1, NULL, 0, S_IFDIR | 0777);
	for( i = 0;i < conf.nblocks; i++)
		write_inode(&conf, i+2, NULL, 0, 0);
		
	printf("Created fs in file %s.\n%ld blocks with bs %d.\nTotal size %ld bytes.\n",
			conf.fname, conf.nblocks, conf.block_size, conf.nblocks*conf.block_size);	
	return 0;
}
コード例 #16
0
ファイル: startup.c プロジェクト: bschwab/acidblood
void startup() {
	totalbytes = 0;
	               
	printf("Acidblood %s\n", VERSION);
	init_conf() ;
	init_signals() ;
	init_networking() ;
	conf_userdata=NULL ;
	conf_channels=NULL ;
	init_usercommands() ;
	init_ctcp() ;
	init_srvcommands() ;
	init_log();
	init_serverinfo() ;
	init_numeric() ;
	init_timers() ;
	init_events() ;
	read_main_config() ;
	init_modules() ;
}
コード例 #17
0
ファイル: init.c プロジェクト: fsckoff/minimusWM
/** Init MWM
*/
void
init(void)
{
     /* First init */
     ewmh_init_hints();
     init_conf();
     init_gc();
     init_font();
     init_cursor();
     init_key();
     init_root();
     screen_init_geo();
     infobar_init();
     systray_acquire();
     init_status();
     ewmh_update_current_tag_prop();
     grabkeys();

     return;
}
コード例 #18
0
        int init()
        {
          int ret = OB_SUCCESS;

          ObBlockCacheConf conf;
          init_conf(conf);
          EXPECT_EQ(OB_SUCCESS, ret);
        
          ret = old_block_cache_.init(conf);
          EXPECT_EQ(OB_SUCCESS, ret);
          ret = new_block_cache_.init(conf);
          EXPECT_EQ(OB_SUCCESS, ret);

          ObBlockIndexCacheConf bic_conf = {16 * 1024 * 1024};
          ret = old_index_cache_.init(bic_conf);
          EXPECT_EQ(OB_SUCCESS, ret);
          ret = new_index_cache_.init(bic_conf);
          EXPECT_EQ(OB_SUCCESS, ret);

          return ret;
        }
コード例 #19
0
ファイル: logcli.c プロジェクト: bielern/logcli
/**
 * Main
 */
int
main(int argc, char *argv[]){
    Conf conf;

    if(argc == 1){
        conf.command = log;
    }
    else{
        int num_arg = argc;
        if(strcmp(argv[1],"log") == 0){
            conf.command = log;
            num_arg++;
        }
        else if((strcmp(argv[1],"date") == 0) || (strcmp(argv[1],"t") == 0)){
            conf.command = date;
        }
        else if((strcmp(argv[1],"dir") == 0) || (strcmp(argv[1],"d") == 0)){
            conf.command = dir;
        }
        else if((strcmp(argv[1],"body") == 0) || (strcmp(argv[1],"b") == 0)){
            conf.command = body;
        }
        else if(strcmp(argv[1],"help") == 0){
            conf.command = help;
            num_arg++;
        }
        else {
            conf.command = oneliner;
            num_arg++;
        }

        if(num_arg == 2){
            error(1, 0, "No regular expression given!");
        }
    }
    if(conf.command == help){
        puts(usage);
        return 0;
    }
    if(init_conf(&conf)){
        clean_conf(conf.files);
        error(0, 0, "in setting configuration files!");
    }

    if(conf.command == log){
        log_entry(&conf);
    }
    if(conf.command == oneliner){
        log_oneline(argc, argv, &conf);
    }
    if((conf.command == date) || (conf.command == body) || (conf.command == dir)){
        if(argc < 3){
            error(0, 0, "No regular expression given");
        }
        if(argc > 3){
            fprintf(stderr, "Too many regular expressions. " 
                            "Will only consider first\n");
        }
        conf.regex.myregex = argv[2];
        if(search(&conf)){
            clean_conf(conf.files);
            error(1, 0, "Couldn't search");
        }
    }
    clean_conf(conf.files);

    return 0;
}
コード例 #20
0
ファイル: main.c プロジェクト: Nate-River56/Polymer-Brush
int main(int argc, char *argv[]){
    
    long k,q;
    long i,j,t; /* 追加しました */
    unsigned int iseed;
    //long imax;
    long mcs;
    long logcount,logstep, ocount, ocount_all;
    
    double delta2[NOMCS+1], delta2z[NOMCS+1], zsl[NOMCS+1];
    double delta2av, delta2zav, zslav;
    double energy[NOMCS+1], energy_s[NOMCS+1];
    double energy2[NOMCS+1], energy_s2[NOMCS+1];
    double mag_av[NOMCS+1];
    double mag_av2[NOMCS+1];
    double energy_av, energy2_av, energy_s_av, energy_s2_av;
    double mag_av_av, mag_av2_av;
    double G2x_tmp[SL+1], G2y_tmp[SL+1], G2z_tmp[SL+1];
    double G2x_all[SL+1], G2y_all[SL+1], G2z_all[SL+1];
    double magz_tmp[Mz+1],mag2z_tmp[Mz+1];
    double magz_all[Mz+1],mag2z_all[Mz+1];
    double d_poly_tmp[Mz+1];
    double d_poly_all[Mz+1];
    double AC_a_all[M/2+1][SL+1],AC_b_all[M/2+1][SL+1],AC_p_all[M/2+1][SL+1];
    double d_a_all[SL+1],d_b_all[SL+1],d_p_all[SL+1];
    double c[SL+1],s_zav[Mz+1];
    
    FILE *fp0;
    FILE *fp1;
    FILE *fp2;
    FILE *fp3;
    FILE *fp4;
    FILE *fp5;
    FILE *fp6;
    FILE *fp7;
    FILE *fp8;
    FILE *fp9;
    FILE *fp10;
    FILE *fp11;
    
    iseed=ISEED;
    rinit(iseed);
    
    transition_prob(K,J,h,T);
    
    /* initial distribution */
    //もしargumentが特定の値ならばinit_conf()をread_rnd()とread_spin()に置き換える
    
    init_conf(M,Mz,SN,SL,s,x,y,z,xdummy,ydummy);
    
    logcount=TMCS;
    logstep=TMCS; //初期配置に置き、カウンターをTMCS分だけ進める
    
    for(mcs=1;mcs<TMCSMAX+1;mcs++){ //Thermatizationに達するまで繰り返す
        
        update(K,J,SL,SN,M,Mz,s,imsk,x,y,z,xdummy,ydummy);
        if (nonsolFlag==!1) {
            update_sol(K,J,h,M,Mz,s);
        }
        
        if(mcs==logcount){
            delta2_calc(SL,SN,x,y,z);
            energy_calc(K,J,h,SL,SN,M,Mz,s,x,y,z);
            magnetization_calc(M,Mz,s);
            printf("%ld %d %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f\n", mcs, SL, DELTA2, DELTA2z, zSL, E, E2, Es, Es2, mag, mag2);
            fflush(stdout);
            
            logcount+=logstep;
        };
    };
    
    /* update observation */
    
    logcount=OMCS;
    logstep=OMCS;
    
    for(k=1; k<NOMCS+1; k++){//配列の初期化
        delta2[k]=0;
        energy[k]=0;
        energy2[k]=0;
        energy_s[k]=0;
        energy_s2[k]=0;
        mag_av[k]=0;
        mag_av2[k]=0;
        
        c[k]=0;
        s_zav[k]=0;
	}
    
    for(k=0;k<SL+1;k++){//配列の初期化
        G2x_tmp[k]=0;
        G2x_all[k]=0;
        G2y_tmp[k]=0;
        G2y_all[k]=0;
        G2z_tmp[k]=0;
        G2z_all[k]=0;
	}
    ocount=0;
    ocount_all=0;
    
    for(k=1;k<Mz+1;k++){//配列の初期化
        magz_tmp[k]=0;
        magz_all[k]=0;
        mag2z_tmp[k]=0;
        mag2z_all[k]=0;
        d_poly_tmp[k]=0;
        d_poly_all[k]=0;
	}
    
    for (i=1; i<=M/2; i++) {
        for (j=1; j<=SL; j++) {
            AC_a_all[i][j]=0;
            AC_b_all[i][j]=0;
            AC_p_all[i][j]=0;
        }
    }
    
    for (i=1; i<=SL; i++) {
        d_a_all[i]=0;
        d_b_all[i]=0;
        d_p_all[i]=0;
    }
    
    for(mcs=1;mcs<OMCSMAX+1;mcs++){
        
        update(K,J,SL,SN,M,Mz,s,imsk,x,y,z,xdummy,ydummy);
        if (nonsolFlag==!1) {
            update_sol(K,J,h,M,Mz,s);
        }
        
        if(mcs==logcount){
            ocount++;
            delta2_calc(SL,SN,x,y,z);
            energy_calc(K,J,h,SL,SN,M,Mz,s,x,y,z);
            magnetization_calc(M,Mz,s);
            G2_calc(SL,SN,G2x,G2y,G2z,x,y,z);
            magz_calc(M,Mz,s,magz);
            mag2z_calc(M, Mz, s, mag2z);
            d_poly_calc(M,Mz,s,d_poly);
            d_a_calc(SL,M,Mz,s,d_a);
            d_p_calc(SL,M,Mz,s,d_p);
            if (escapeACFlag==!1) {
                ac_a_calc(SL,M,Mz,s,AC_a);
            }
            delta2[ocount]=DELTA2;
            delta2z[ocount]=DELTA2z;
            zsl[ocount]=zSL;
            energy[ocount]=E;
            energy2[ocount]=E2;
            energy_s[ocount]=Es;
            energy_s2[ocount]=Es2;
            mag_av[ocount]=mag;
            mag_av2[ocount]=mag2;
            
            for(k=1;k<SL+1;k++){
                G2x_tmp[k]+=G2x[k];
                G2y_tmp[k]+=G2y[k];
                G2z_tmp[k]+=G2z[k];
            }
            
            for(k=1;k<Mz+1;k++){
                magz_tmp[k]+=magz[k];
                mag2z_tmp[k]+=mag2z[k];
                d_poly_tmp[k]+=d_poly[k];
            }
            
            for (i=1; i<=M/2; i++) {
                for (j=1; j<=SL; j++) {
                    AC_a_all[i][j]+=AC_a[i][j];
                }
            }
            
            for (i=1; i<=SL; i++) {
                d_a_all[i]+=d_a[i];
            }
            
            
            if(ocount==NOMCS){
                ocount_all++;
                delta2av=0;
                delta2zav=0;
                zslav=0;
                energy_av=0;
                energy2_av=0;
                energy_s_av=0;
                energy_s2_av=0;
                mag_av_av=0;
                mag_av2_av=0;
                
                for(k=1;k<NOMCS+1;k++){
                    delta2av+=delta2[k];
                    delta2zav+=delta2z[k];
                    zslav+=zsl[k];
                    energy_av+=energy[k];
                    energy2_av+=energy2[k];
                    energy_s_av+=energy_s[k];
                    energy_s2_av+=energy_s2[k];
                    mag_av_av+=mag_av[k];
                    mag_av2_av+=mag_av2[k];
                };
                
                delta2av/=NOMCS;
                delta2zav/=NOMCS;
                zslav/=NOMCS;
                
                energy_av/=NOMCS;
                energy2_av/=NOMCS;
                energy_s_av/=NOMCS;
                energy_s2_av/=NOMCS;
                mag_av_av/=NOMCS;
                mag_av2_av/=NOMCS;
                
                for(k=1;k<SL+1;k++){
                    G2x_tmp[k]/=NOMCS;
                    G2x_all[k]+=G2x_tmp[k];
                    G2y_tmp[k]/=NOMCS;
                    G2y_all[k]+=G2y_tmp[k];
                    G2z_tmp[k]/=NOMCS;
                    G2z_all[k]+=G2z_tmp[k];
                }
                
                for(k=0;k<SL+1;k++){
                    G2x_tmp[k]=0;
                    G2y_tmp[k]=0;
                    G2z_tmp[k]=0;
                }
                
                for(k=1;k<Mz+1;k++){
                    magz_tmp[k]/=NOMCS;
                    magz_all[k]+=magz_tmp[k];
                    mag2z_tmp[k]/=NOMCS;
                    mag2z_all[k]+=mag2z_tmp[k];
                    d_poly_tmp[k]/=NOMCS;
                    d_poly_all[k]+=d_poly_tmp[k];
                }
                
                for(k=1;k<Mz+1;k++){ //temporaryな配列の初期化
                    magz_tmp[k]=0;
                    mag2z_tmp[k]=0;
                    d_poly_tmp[k]=0;
                }
                ocount=0;
                
                printf("%ld %d %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f\n",mcs,SL, delta2av,
                       delta2zav,zslav,energy_av,energy2_av,energy_s_av,energy_s2_av,mag_av_av,mag_av2_av);
                fflush(stdout);
            }
            
            logcount+=logstep;
        }
        
    }    
    
    //ファイルへの出力
    
    fname(K,J,M,ISEED);
    
    fp0=fopen(file[0],"w");
    for(k=1;k<SL+1;k++){
		G2x_all[k]/=ocount_all;
		G2y_all[k]/=ocount_all;
		G2z_all[k]/=ocount_all;
    }
	for(k=1;k<SL+1;k++){
        fprintf(fp0,"%ld\t %15.15f %15.12f %15.12f\n",k,G2x_all[k], G2y_all[k], G2z_all[k]);
	}
    fclose(fp0);
    
	
    fp1=fopen(file[1],"w");
    for(k=1;k<Mz+1;k++){
		magz_all[k]/=ocount_all;
    }
	for(k=1;k<Mz+1;k++){
        fprintf(fp1,"%ld\t %15.15f\n",k,magz_all[k]);
	}
    fclose(fp1);
    
    
    fp2=fopen(file[2],"w");
	for(j=1;j<SN+1;j++){
        for(t=1;t<SL+1;t++){
            fprintf(fp2,"%ld %ld %d %d %d\n",j,t,x[j][t],y[j][t],z[j][t]);
        }
	}
    fclose(fp2);
    
    
    fp3=fopen(file[3],"w");
	for(j=1;j<SN+1;j++){
        for(t=1;t<SL+1;t++){
            fprintf(fp3,"%ld %ld %d %d %d\n",j,t,xdummy[j][t],ydummy[j][t],z[j][t]);
        }
	}
    fclose(fp3);
	
    
    fp4=fopen(file[4],"w");
    for(k=1;k<Mz+1;k++){
		d_poly_all[k]/=ocount_all;
    }
	for(k=1;k<Mz+1;k++){
        fprintf(fp4,"%ld\t %15.15f\n",k,d_poly_all[k]);
	}
    fclose(fp4);
    
    
    fp5=fopen(file[5],"w");
    for (i=1; i<=M; i++) {
        for (j=1; j<=M; j++) {
            for (k=1; k<=Mz; k++) {
                s_zav[k]+=s[i][j][k];
            }
        }
    }
    for (k=1;k<=Mz; k++) {
        s_zav[k]/=(M*M);
    }
    for (q=1; q<=SL; q++) {
        for (k=1; k<=SL; k++) {
            c[q]+=s_zav[k]*s_zav[k+q];
        }
        c[q]=c[q]/SL;
    }
    for (k=1; k<=SL; k++) {
        fprintf(fp5,"%ld %f\n",k,c[k]);
    }
    fclose(fp5);
    
    
    fp6=fopen(file[6], "w");
    fprintf(fp6, "0\t%ld\n",IFORM1);
    fprintf(fp6, "0\t%ld\n",IFORM2);
    for (i=1; i<=251; i++) {
        fprintf(fp6,"%li\t%ld\n",i,IRND[i]);
    }
    fclose(fp6);

    
    fp7=fopen(file[7], "w");
    for (i=1; i<=M; i++) {
        for (j=1; j<=M; j++) {
            for (k=1; k<=Mz; k++) {
                fprintf(fp7, "%ld\t%ld\t%ld\t%d\n",i,j,k,s[i][j][k]);
            }
        }
    }
    fclose(fp7);
    
    fp8=fopen(file[8],"w");
    for (i=1; i<=M/2; i++) {
        for (j=1; j<=SL; j++) {
            AC_a_all[i][j]/=NOMCS;
            fprintf(fp8, "%ld\t%ld\t%f\n",i,j,AC_a_all[i][j]);
        }
    }
    fclose(fp8);
    
    
    fp9=fopen(file[9], "w");
    for (i=1; i<=SL; i++) {
        d_a_all[i]/=ocount_all;
        fprintf(fp9,"%ld\t%f\n",i,d_a_all[i]);
    }
    fclose(fp9);
    
    fp10=fopen(file[10],"w");
    for (i=1; i<=SL; i++) {
        d_p_all[i]/=ocount_all;
        fprintf(fp10,"%ld\t%f\n",i,d_p_all[i]);
    }
    fclose(fp10);
    
    fp11=fopen(file[11], "w");
    for(k=1;k<Mz+1;k++){
		mag2z_all[k]/=ocount_all;
    }
	for(k=1;k<Mz+1;k++){
        fprintf(fp1,"%ld\t %15.15f\n",k,mag2z_all[k]-magz_all[k]*magz_all[k]);
	}
    fclose(fp11);
    
    return EXIT_SUCCESS;
    
}
コード例 #21
0
ファイル: ldecod.c プロジェクト: shahid313/MSCourseWork
/*
*******************************************************************
*	Function Argument List Changed [Removing Global Variables] 
*	Input parameters added are 
*		- h264_decoder* dec_params, 
*
*	<*****@*****.**>
*******************************************************************
*/
void Configure(int ac, char *av[],   h264_decoder* dec_params )
{
    int CLcount;
    char *config_filename=NULL;
    CLcount = 1;
    
   
    strcpy(dec_params->input->infile,"test.264");      //! set default bitstream name

    strcpy(dec_params->input->outfile,"test_dec.yuv"); //! set default output file name

    //strcpy(dec_params->input->reffile,"test_rec.yuv"); //! set default reference file name
    dec_params->input->FileFormat = PAR_OF_ANNEXB;
    //dec_params->input->ref_offset=0;
    dec_params->input->poc_scale=1;
    
#ifdef _LEAKYBUCKET_

    dec_params->input->R_decoder=500000;          //! Decoder rate
    dec_params->input->B_decoder=104000;          //! Decoder buffer size
    dec_params->input->F_decoder=73000;           //! Decoder initial delay
    strcpy(dec_params->input->LeakyBucketParamFile,"leakybucketparam.cfg");    // file where Leaky Bucket params (computed by encoder) are stored

#endif
    
    if (ac==2)
    {

        if (0 == strncmp (av[1], "-h", 2))
        {
            JMDecHelpExit();

        }
        else
        {
            config_filename=av[1];

            init_conf(dec_params->input, av[1],dec_params);

        }
        CLcount=2;
    }
    
    if (ac>=3)
    {

        if (0 == strncmp (av[1], "-i", 2))
        {
            strcpy(dec_params->input->infile,av[2]);
            CLcount = 3;
        }
        if (0 == strncmp (av[1], "-h", 2))
        {
            JMDecHelpExit();
        }
    }
    
    // Parse the command line
    
    while (CLcount < ac)
    {
        if (0 == strncmp (av[CLcount], "-h", 2))
        {
            JMDecHelpExit();
        }
        
        if (0 == strncmp (av[CLcount], "-i", 2))  //! Input file
        {
            strcpy(dec_params->input->infile,av[CLcount+1]);      
            CLcount += 2;
        } 
        else if (0 == strncmp (av[CLcount], "-o", 2))  //! Output File
        {
            strcpy(dec_params->input->outfile,av[CLcount+1]);
            CLcount += 2;
        }
        //else if (0 == strncmp (av[CLcount], "-r", 2))  //! Reference File
        //{
        //	strcpy(dec_params->input->reffile,av[CLcount+1]);
        //	CLcount += 2;
        //}
        //else if (0 == strncmp (av[CLcount], "-uv", 2))  //! indicate UV writing for 4:0:0
        //{
        //dec_params->input->write_uv = 1;
        //	CLcount ++;
        //}
        else
        {
            //config_filename=av[CLcount];
            //init_conf(input, config_filename);
            //snprintf(dec_params->errortext, ET_SIZE, "Invalid syntax. Use ldecod -h for proper usage");
            printf("Invalid syntax. Use ldecod -h for proper usage.\n");
            exit(0);
        }
    }
    
    
#if TRACE
    if ((p_trace=fopen(TRACEFILE,"w"))==0)             // append new statistic at the end
    {
        snprintf(dec_params->errortext, ET_SIZE, "Error open file %s!",TRACEFILE);
        printf(dec_params->errortext);
		exit(0);
    }
#endif
    
    
//#ifdef WRITE_PICTURE
    //if ((dec_params->p_out=open(dec_params->input->outfile, OPENFLAGS_WRITE, OPEN_PERMISSIONS))==-1)
    //{
    //    //		snprintf(dec_params->errortext, ET_SIZE, "Error open file %s ",dec_params->input->outfile);
    //    printf("Error open file %s \n",dec_params->input->outfile);
    //    exit(0);
    //}
	
	if ((dec_params->f_out = fopen(dec_params->input->outfile,"wb"))==0)
    {
        //		snprintf(dec_params->errortext, ET_SIZE, "Error open file %s ",dec_params->input->outfile);
        printf("Error open file %s \n",dec_params->input->outfile);
        exit(0);
    }


//#endif
    /*  if ((p_out2=fopen("out.yuv","wb"))==0)
    {
    snprintf(errortext, ET_SIZE, "Error open file %s ",input->outfile);
    error(errortext,500);
  }*/
    
    
    fprintf(stdout,"----------------------------- JM %s %s -----------------------------\n", VERSION, EXT_VERSION);
        fprintf(stdout,"--------------------------------------------------------------------------\n");
    fprintf(stdout," Input H.264 bitstream                  : %s \n",dec_params->input->infile);
    fprintf(stdout," Output decoded YUV                     : %s \n",dec_params->input->outfile);
        
    fprintf(stdout,"--------------------------------------------------------------------------\n");
#ifdef _LEAKYBUCKET_
    fprintf(stdout," Rate_decoder        : %8ld \n",dec_params->input->R_decoder);
    fprintf(stdout," B_decoder           : %8ld \n",dec_params->input->B_decoder);
    fprintf(stdout," F_decoder           : %8ld \n",dec_params->input->F_decoder);
    fprintf(stdout," LeakyBucketParamFile: %s \n",dec_params->input->LeakyBucketParamFile); // Leaky Bucket Param file
    calc_buffer(dec_params->input);
    fprintf(stdout,"--------------------------------------------------------------------------\n");
#endif
    fprintf(stdout,"--------------------------------------------------------------------------\n");
    fprintf(stdout,"  Frame       POC   Pic#   QP   SnrY    SnrU    SnrV   Y:U:V  Time(ms)\n");
    fprintf(stdout,"--------------------------------------------------------------------------\n");
    
}
コード例 #22
0
      TEST_F(TestObBlockCacheReaderLoader, test_block_cache_switch)
      {
        int ret;
        uint64_t table_id = 100;
        uint64_t column_group_id = 0;

        ObString start_key = cell_infos[0][0].row_key_;
        ObString end_key = cell_infos[ROW_NUM - 1][0].row_key_;

        ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, 
                                                  table_id, column_group_id, 
                                                  start_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);
        ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, 
                                                  table_id, column_group_id, 
                                                  end_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);

        ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, 
                                                        column_group_id, start_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);
        ret = cache_loader_.load_block_into_cache(new_index_cache_, new_block_cache_, 
                                                  table_id, column_group_id, 
                                                  start_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);
        ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, 
                                                        column_group_id, end_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);
        ret = cache_loader_.load_block_into_cache(new_index_cache_, new_block_cache_, 
                                                  table_id, column_group_id, 
                                                  end_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret); 
        ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, 
                                                        column_group_id, end_key, &reader_);
        ASSERT_EQ(OB_ITER_END, ret);
        
        ret = cache_utility_.destroy_cache(old_block_cache_, old_index_cache_);
        ASSERT_EQ(OB_SUCCESS, ret); 
        ObBlockCacheConf conf;
        init_conf(conf);
        old_block_cache_.set_fileinfo_cache(fic);
        ret = old_block_cache_.init(conf);
        EXPECT_EQ(OB_SUCCESS, ret);  
        ObBlockIndexCacheConf bic_conf = {16 * 1024 * 1024};  
        old_index_cache_.set_fileinfo_cache(fic);    
        ret = old_index_cache_.init(bic_conf);
        EXPECT_EQ(OB_SUCCESS, ret);

        ret = cache_reader_.get_start_key_of_next_block(new_block_cache_, table_id, 
                                                        column_group_id, start_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);
        ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, 
                                                  table_id, column_group_id, 
                                                  start_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);
        ret = cache_reader_.get_start_key_of_next_block(new_block_cache_, table_id, 
                                                        column_group_id, end_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret);
        ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, 
                                                  table_id, column_group_id, 
                                                  end_key, &reader_);
        ASSERT_EQ(OB_SUCCESS, ret); 
        ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, 
                                                        column_group_id, end_key, &reader_);
        ASSERT_EQ(OB_ITER_END, ret);
      }
コード例 #23
0
ファイル: main.c プロジェクト: daemqn/Atari_ST_Sources
int16 main(void)
{
    GRECT		n = {0,0,0,0};
    GRECT		r1;
    EVNTDATA	ev;
    int16		bclicks, bmask, bstate;
    boolean	leave;
    quit = FALSE;

    debug_init("MControl", null, NULL);

    init_app("mcontrol.rsc");
    init_rsrc();
    init_conf();
    init_dial();
    init_comm();
    init_beta();

    /* Callback f�r modale Fensterdialoge, Fenster-Alerts usw. */
    set_mdial_wincb(handle_msg);

    graf_mkstate( &ev );
    wdial_hover( ev.x, ev.y, &r1, &leave );

    while (!quit)
    {
        mbutton = 0;

        if( !((ev.bstate) & 3) )
            bclicks = 258;
        else
            bclicks = 0;

        bmask = 3;
        bstate = 0;

        event = evnt_multi( MU_BUTTON|MU_M1|MU_MESAG|MU_KEYBD,
                            bclicks, bmask, bstate,
                            leave, &r1, 0, &n,
                            msg,
                            0l,
                            &ev,
                            &kreturn, &mclick );
        msx = ev.x;
        msy = ev.y;
        mbutton = ev.bstate;
        kstate = ev.kstate;

        if (event & MU_MESAG)
        {
            if( msg[0] == WM_MOVED )
                wdial_hover( msx, msy, &r1, &leave );

            handle_msg(msg);
        }

        if (event & MU_BUTTON)
        {
            if( mbutton == 2 )
                menu_context( msx, msy );
            else if (!click_wdial(mclick, msx, msy, kstate, mbutton))
                ;
        }

        if (event & MU_M1)
            wdial_hover( msx, msy, &r1, &leave );

        if (event & MU_KEYBD)
        {
            int16	title, item;

            if (is_menu_key(kreturn, kstate, &title, &item))
                handle_menu(title, item);
            else
            {
                key_wdial(kreturn, kstate);
                key_sdial(kreturn, kstate);
            }
        }
    }

    exit_comm();
    exit_dial();
    exit_rsrc();
    debug_exit();
    exit_app(0);
    return 0;
}
コード例 #24
0
void Configure(int ac, char *av[])
{
    int CLcount;
    char *config_filename=NULL;
    CLcount = 1;


    strcpy(input->infile,"test.264");      //! set default bitstream name
    strcpy(input->outfile,"test_dec.yuv"); //! set default output file name
    strcpy(input->reffile,"test_rec.yuv"); //! set default reference file name
    input->FileFormat = PAR_OF_ANNEXB;
    input->ref_offset=0;
    input->poc_scale=1;

#ifdef _LEAKYBUCKET_
    input->R_decoder=500000;          //! Decoder rate
    input->B_decoder=104000;          //! Decoder buffer size
    input->F_decoder=73000;           //! Decoder initial delay
    strcpy(input->LeakyBucketParamFile,"leakybucketparam.cfg");    // file where Leaky Bucket params (computed by encoder) are stored
#endif
#ifdef  INTERNAL_BIT_DEPTH_INCREASE
    input->output_bitdepth = 8;
#endif

    if (ac==2)
    {
        if (0 == strncmp (av[1], "-h", 2))
        {
            JMDecHelpExit();
        }
        else
        {
            config_filename=av[1];
            init_conf(input, av[1]);
        }
        CLcount=2;
    }

    if (ac>=3)
    {
        if (0 == strncmp (av[1], "-i", 2))
        {
            strcpy(input->infile,av[2]);
            CLcount = 3;
        }
        if (0 == strncmp (av[1], "-h", 2))
        {
            JMDecHelpExit();
        }
    }

    // Parse the command line

    while (CLcount < ac)
    {
        if (0 == strncmp (av[CLcount], "-h", 2))
        {
            JMDecHelpExit();
        }

        if (0 == strncmp (av[CLcount], "-i", 2))  //! Input file
        {
            strcpy(input->infile,av[CLcount+1]);
            CLcount += 2;
        }
        else if (0 == strncmp (av[CLcount], "-o", 2))  //! Output File
        {
            strcpy(input->outfile,av[CLcount+1]);
            CLcount += 2;
        }
        else if (0 == strncmp (av[CLcount], "-r", 2))  //! Reference File
        {
            strcpy(input->reffile,av[CLcount+1]);
            CLcount += 2;
        }
        else if (0 == strncmp (av[CLcount], "-uv", 3))  //! indicate UV writing for 4:0:0
        {
            input->write_uv = 1;
            CLcount ++;
        }
#ifdef  INTERNAL_BIT_DEPTH_INCREASE
        else if (0 == strncmp (av[CLcount], "-b", 2))  //! Output Bit Depth
        {
            input->output_bitdepth = atoi(av[CLcount+1]);
            CLcount += 2;
        }
#endif
        else
        {
            //config_filename=av[CLcount];
            //init_conf(input, config_filename);
            snprintf(errortext, ET_SIZE, "Invalid syntax. Use ldecod -h for proper usage");
            error(errortext, 300);
        }
    }


#if TRACE
    if ((p_trace=fopen(TRACEFILE,"w"))==0)             // append new statistic at the end
    {
        snprintf(errortext, ET_SIZE, "Error open file %s!",TRACEFILE);
        error(errortext,500);
    }
#endif


    if ((p_out=open(input->outfile, OPENFLAGS_WRITE, OPEN_PERMISSIONS))==-1)
    {
        snprintf(errortext, ET_SIZE, "Error open file %s ",input->outfile);
        error(errortext,500);
    }
    /*  if ((p_out2=fopen("out.yuv","wb"))==0)
    {
    snprintf(errortext, ET_SIZE, "Error open file %s ",input->outfile);
    error(errortext,500);
    }*/


    fprintf(stdout,"----------------------------- JM %s %s -----------------------------\n", VERSION, EXT_VERSION);
    fprintf(stdout," Decoder config file                    : %s \n",config_filename);
    fprintf(stdout,"--------------------------------------------------------------------------\n");
    fprintf(stdout," Input H.264 bitstream                  : %s \n",input->infile);
    fprintf(stdout," Output decoded YUV                     : %s \n",input->outfile);
    fprintf(stdout," Output status file                     : %s \n",LOGFILE);
    if ((p_ref=open(input->reffile,OPENFLAGS_READ))==-1)
    {
        fprintf(stdout," Input reference file                   : %s does not exist \n",input->reffile);
        fprintf(stdout,"                                          SNR values are not available\n");
    }
    else
        fprintf(stdout," Input reference file                   : %s \n",input->reffile);

    fprintf(stdout,"--------------------------------------------------------------------------\n");
#ifdef _LEAKYBUCKET_
    fprintf(stdout," Rate_decoder        : %8ld \n",input->R_decoder);
    fprintf(stdout," B_decoder           : %8ld \n",input->B_decoder);
    fprintf(stdout," F_decoder           : %8ld \n",input->F_decoder);
    fprintf(stdout," LeakyBucketParamFile: %s \n",input->LeakyBucketParamFile); // Leaky Bucket Param file
    calc_buffer(input);
    fprintf(stdout,"--------------------------------------------------------------------------\n");
#endif
    fprintf(stdout,"POC must = frame# or field# for SNRs to be correct\n");
    fprintf(stdout,"--------------------------------------------------------------------------\n");
    fprintf(stdout,"  Frame       POC   Pic#   QP   SnrY    SnrU    SnrV   Y:U:V  Time(ms)\n");
    fprintf(stdout,"--------------------------------------------------------------------------\n");

}
コード例 #25
0
ファイル: get_problem.c プロジェクト: gwq5210/learn_curl
/*
 * Usage: ./get_problem oj_name from_problem_id(or index) to_problem_id(or index) [debug]
 */
int main(int argc, char *argv[])
{
	// read config file
	init_conf();

	if (argc < 4 || argc > 5) {
		fprintf(stderr, "Usage: %s oj_name from_problem_id(or index) "
				"to_problem_id(or indx) [debug]\n", argv[0]);
		fprintf(stderr, "Support oj is: ");
		int i = 0;
		for (i = 0; i < oj_cnt; ++i) {
			fprintf(stderr, "%s%c", oj_str[i],
					(i == oj_cnt - 1) ? '\n' : ' ');
		}
		exit(EXIT_SUCCESS);
	}

	DEBUG = (argc == 5);

	int i = 0;
	int from = atoi(argv[2]);
	int to = atoi(argv[3]);
	strcpy(oj_name, argv[1]);
	oj_type = -1;
	for (i = 0; i < oj_cnt; ++i) {
		if (strcmp(oj_name, oj_str[i]) == 0) {
			oj_type = i;
			break;
		}
	}

	if (oj_type < 0) {
		write_log("%s: unsupported oj\n", oj_name);
		exit(EXIT_FAILURE);
	}

	write_log("ojname = %s\n", oj_name);
	write_log("ojurl = %s\n", oj_url[oj_type]);
	write_log("type = %d\n", oj_type);
	write_log("from = %d\n", from);
	write_log("to = %d\n", to);

	curl = prepare_curl();
	if (curl == NULL) {
		write_log("prepare curl handle error.\n");
		exit(EXIT_FAILURE);
	}
	conn = prepare_mysql();
	if (conn == NULL) {
		write_log("prepare mysql handle error.\n");
		cleanup_curl();
		exit(EXIT_FAILURE);
	}
	problem_info = (struct problem_info_t *)malloc(sizeof(struct problem_info_t));
	if (problem_info == NULL) {
		write_log("alloc problem_info memory error.\n");
		cleanup_mysql();
		cleanup_curl();
		exit(EXIT_FAILURE);
	}

	if (oj_type == 2) {		// codeforces
		if (get_cf_problem_id() < 0) {
			write_log("get codeforces problem id error.\n");
			exit(EXIT_FAILURE);
		}
		if (to > cf_pid_len - 1) {
			to = cf_pid_len - 1;
			write_log("index is so large. set it to max index %d.\n", cf_pid_len - 1);
		}
	}

	for (pid = from; pid <= to; ++pid) {
		memset(problem_info, 0, sizeof(struct problem_info_t));
		int ret = get_problem();
		if (ret < 0) {
			write_log("get %s problem %d error.\n", oj_name, pid);
		} else if (ret == 0) {
			write_log("get %s problem %d success.\n", oj_name, pid);

			ret = add_problem();
			if (ret < 0) {
				write_log("add %s problem %d to mysql database error.\n", oj_name, pid);
			} else {
				if (!ret) {
					write_log("add %s problem %d to mysql database success.\n", oj_name, pid);
				} else {
					write_log("%s problem %d already exists, update local problem %d.\n", oj_name, pid, ret);
				}
			}
		} else {
			write_log("%s no problem %d.\n", oj_name, pid);
		}
		if (!DEBUG) {
			execute_cmd("rm -f %d", pid);
		}
		if (pid != to) {
			write_log("get next problem after %d seconds.\n", sleep_time);
		}
		sleep(sleep_time);
	}

	free(problem_info);
	cleanup_curl();
	cleanup_mysql();

	return 0;
}
コード例 #26
0
ファイル: service.c プロジェクト: MiZaRUs/SessionMonitor
//  ------------------------------------------------------------------------
//  ------------------------------------------------------------------------
VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv){
    sprintf( msg_err, "ServiceMain - init." );
    DWORD xParam = 1;
    JOB = 1;
//  --
    hServiceStatus = RegisterServiceCtrlHandlerEx( service_name, (LPHANDLER_FUNCTION_EX)ServiceCtrlHandlerEx, (PVOID)&xParam );
    if( !hServiceStatus ){
        prn_err( "RegisterServiceCtrlHandlerEx failed.", GetLastError() );
        return;
    }
// init
    service_status.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
    service_status.dwCurrentState = SERVICE_START_PENDING;
    service_status.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_SESSIONCHANGE;
    service_status.dwWin32ExitCode = ERROR_SERVICE_SPECIFIC_ERROR;
    service_status.dwServiceSpecificExitCode = 0;
    service_status.dwCheckPoint = 0;
    service_status.dwWaitHint = 5000;

    if( !SetServiceStatus( hServiceStatus, &service_status )){
        prn_err( "SetServiceStatus 'NULL' failed.", GetLastError() );
        return;
    }

// Rabota
    service_status.dwCurrentState = SERVICE_RUNNING;
    service_status.dwWin32ExitCode = NO_ERROR;
// Set New
    if( !SetServiceStatus( hServiceStatus, &service_status )){
        prn_err( "SetServiceStatus 'SERVICE_START_PENDING' failed.", GetLastError() );
        return;
    }
//  --
    usleep(10000);
//  ------------------------------------------------------------------------
prn_log( "." );
    SetPriorityClass( GetCurrentProcess(), HIGH_PRIORITY_CLASS );
prn_log( "START SERVICE." );
//  ---------------------------------
    if( !init_conf( service_work, service_name, &conf )){	// возврат всегда "1"
        prn_err( "Init config-data failed. This message can not be", 0 );
    }else{
        if( strcasecmp( conf.log_debug, "Off" ) == 0 ) DEBUG = 0;
        else prn_log( "Logger - DEBUG" );
//  --
        if( strcasecmp( conf.user_proc,   "0" ) == 0 ) prn_log( "WARNING! User Process - disabled." );
        if( strcasecmp( conf.maintenance, "0" ) == 0 ) prn_log( "WARNING! Maintenances - disabled." );
        if( strcasecmp( conf.git_exec,    "0" ) == 0 ) prn_log( "WARNING! Git status   - disabled." );
    }
//  --
    JOB = 2;
// Создаем поток логирования cygwin (сокет /dev/log) для ssh-сессий
    HANDLE hCygWinLogThread = CreateThread( NULL, 0, &CygWinLogThread, (LPVOID)&conf, 0, NULL );
    if( !hCygWinLogThread ){
        prn_err( "LogSocket: Create CygWinLogThread - failed.", GetLastError() );
    }
//  ---------------------------------
    JOB = 3;
    if( !open_send( conf.zbx_server, conf.zbx_port, conf.zbx_host )){
        prn_log( "WARNING! Sender not available: Maintenances - will not be available." );
        strcpy( conf.maintenance, "0" );
    }
//  ---------------------------------
    JOB = 22;
// потоки обслуживания
//    HANDLE hGTimeThread = CreateThread( NULL, 0, &GTimeThread, NULL, 0, NULL );// поток
//  ---------------------------------

    usleep(10000);
    JOB = 101;
    send_sm_string( "SM;SyMon;START;!" );
//  --
//  проверка активных сессий
    DWORD pCount;
    HANDLE hToken;
    PWTS_SESSION_INFO ppSessionInfo = NULL;
    HANDLE hTS = WTSOpenServer( "" );
//  --
    if( WTSEnumerateSessions(hTS, 0, 1, &ppSessionInfo, &pCount )){
        while( pCount ){
            if( ppSessionInfo->State == 0 ){
                if( WTSQueryUserToken( ppSessionInfo->SessionId, &hToken )) entering_info( ppSessionInfo->SessionId, 5, hToken, NULL );
                else prn_err( "WTS Token failed.", GetLastError() );
            }

            ppSessionInfo++;
            pCount--;
        }
    }

//  -----------------------------------
    while( JOB > 100 ){ // главный цикл
        git_test();	// выполнение отложенных (тормозных) функций

        sleep(1);
    }
//  --
//    CloseHandle( hGTimeThread );
    sleep( 2 );
    close_send();
    sprintf( msg_err, "ServiceMain - return." );
//  ------------------------------------------------------------------------
}
コード例 #27
0
ファイル: ace_app.cpp プロジェクト: cytu0911/isgw
int ACEApp::init(int argc, ACE_TCHAR* argv[])
{
    // get the program name
#ifdef WIN32
    char* ptr = ACE_OS::strrchr(argv[0], '\\');
#else
    char* ptr = ACE_OS::strrchr(argv[0], '/');
#endif    
    if (ptr)
    {
        // strip path name
        strcpy(program_, ptr + 1);
    }
    else
    {
        strcpy(program_, argv[0]);
    }
#ifdef WIN32
    // strip .exe extension on WIN32
    ptr = strchr(program_, '.');
    if (ptr)
    {
        *ptr = '\0';
    }
#endif

    int child_proc_num = 0;
    ACE_Get_Opt get_opt(argc, argv, "vdp:c:"); 
    char c;
    while ((c = get_opt()) != EOF)
    {
        switch (c)
        {
            case 'd': // run as daemon
                ACE::daemonize();
                break;
            case 'p': // specified program name
                strcpy(program_, get_opt.opt_arg());
                break;
            case 'c': // child process number
                child_proc_num = atoi(get_opt.opt_arg());
                break;
            case 'v':
                //disp version info
                disp_version();
                return 0;
            default:
                break;
        }
    }

    ACE_OS::signal (SIGPIPE, SIG_IGN);
    ACE_OS::signal (SIGTERM, SIG_IGN);
    ACE_OS::signal (SIGCHLD, SIG_IGN);
    ACE_Sig_Action sig_int((ACE_SignalHandler)daemon_quit, SIGINT);
    //ACE_Sig_Action sig_term((ACE_SignalHandler)daemon_quit, SIGTERM);
    //ACE_Sig_Action sig_chld((ACE_SignalHandler)child_sighdr, SIGCHLD);
    ACE_UNUSED_ARG(sig_int);
    //ACE_UNUSED_ARG(sig_term);
    //ACE_UNUSED_ARG(sig_chld);
    
    //在 init_log() 之前即可    
    if (init_reactor() != 0)
    {
        ACE_DEBUG((LM_ERROR, "[%D] init reactor failed, program exit\n"));
        return -1;
    }
    ACE_DEBUG((LM_INFO, "[%D] init reactor succ\n"));

    if (init_sys_path(program_) != 0)
    {
        ACE_DEBUG((LM_ERROR, "[%D] init sys path failed, program exit\n"));
        return -1;
    }

    if (init_conf() != 0)
    {
        ACE_DEBUG((LM_ERROR, "[%D] init conf failed, program exit\n"));
        return -1;
    }
    ACE_DEBUG((LM_INFO, "[%D] init conf succeed\n"));

    if (init_log() != 0)
    {
        ACE_DEBUG((LM_ERROR, "[%D] init log failed, program exit\n"));
        return -1;
    }
    ACE_DEBUG((LM_INFO, "[%D] init log succ\n"));
    
    //版本信息记录日志
    disp_version();

    if (init_app(argc, argv) != 0)
    {
        ACE_DEBUG((LM_ERROR, "[%D] init app failed, program exit\n"));
        return -1;
    }
    ACE_DEBUG((LM_INFO, "[%D] init app succ\n"));

    write_pid_file();
    ACE_DEBUG((LM_INFO, "[%D] write pid file succ\n"));

    if (child_proc_num > 0)
    {
        parent_main(child_proc_num);
    }
    else
    {
        ACE_DEBUG((LM_INFO, "[%D] enter daemon main pid: %d\n",
            ACE_OS::getpid()));

        daemon_main();

        ACE_DEBUG((LM_INFO, "[%D] leave daemon main pid: %d\n",
            ACE_OS::getpid()));
    }

    quit_app();

    return 0;
}
コード例 #28
0
/*!
 ***********************************************************************
 * \brief
 *    main function for TML decoder
 ***********************************************************************
 */
int main(int argc, char **argv)
{
    // allocate memory for the structures
  if ((input =  (struct inp_par *)calloc(1, sizeof(struct inp_par)))==NULL) no_mem_exit("main: input");
  if ((snr =  (struct snr_par *)calloc(1, sizeof(struct snr_par)))==NULL) no_mem_exit("main: snr");
  if ((img =  (struct img_par *)calloc(1, sizeof(struct img_par)))==NULL) no_mem_exit("main: img");

  // Read Configuration File
  if (argc != 2)
  {
    snprintf(errortext, ET_SIZE, "Usage: %s <config.dat> \n\t<config.dat> defines decoder parameters",argv[0]);
    error(errortext, 300);
  }

  init_conf(input, argv[1]);

  init_old_slice();
  
  switch (input->FileFormat)
  {
  case 0:
    OpenBitstreamFile (input->infile);
    break;
  case 1:
    OpenRTPFile (input->infile);
    break;
  default:
    printf ("Unsupported file format %d, exit\n", input->FileFormat);
  }

  // Allocate Slice data struct
  malloc_slice(input,img);

  init(img);

  dec_picture = NULL;

  dpb.init_done = 0;
  g_nFrame = 0;

//  init_dpb(input);
  init_out_buffer();

  img->idr_psnr_number=input->ref_offset;
  img->psnr_number=0;

  img->number=0;
  img->type = I_SLICE;
  img->dec_ref_pic_marking_buffer = NULL;

  // B pictures
  Bframe_ctr=0;

  // time for total decoding session
  tot_time = 0;
  while (decode_one_frame(img, input, snr) != EOS)
    ;

  report(input, img, snr);
  free_slice(input,img);
  FmoFinit();
  free_global_buffers();

  flush_dpb();

#ifdef PAIR_FIELDS_IN_OUTPUT
  flush_pending_output(p_out);
#endif

  CloseBitstreamFile();

  fclose(p_out);
//  fclose(p_out2);
  if (p_ref)
    fclose(p_ref);
#if TRACE
  fclose(p_trace);
#endif

  ercClose(erc_errorVar);

  free_dpb();
  uninit_out_buffer();

  free_collocated(Co_located);
  free (input);
  free (snr);
  free (img);
  
  //while( !kbhit() ); 
  return 0;
}
コード例 #29
0
int main(int argc, char* argv[]) {
    if(argc != 4) {
        usage();
        exit(1);
    }
    
    init_env();
    init_protocal_buf();
    pthread_mutex_init(&lockDownload, NULL);
    /** init server address **/
    struct sockaddr_in servaddr;
    bzero(&servaddr, sizeof(servaddr));
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(SERV_PORT);
    if(inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) {
        printf("[%s] is not avalid IP address!\n", argv[1]);
        exit(1);
    }
    int sockfd = socket(AF_INET, SOCK_DGRAM, 0);

    /** check if configure file exists **/
    char conf_full[100];
    strcpy(conf_full, path);
    strcat(conf_full, conf_file);
    if(access(conf_full, 0) == -1) {
        task_flag = NEW_TASK;
        printf("cannot access the file %s\n", conf_full);
        /** init config file, can be expended later for any request **/
        init_conf(conf_full);
    }else {
        task_flag = OLD_TASK;
        printf("access the file %s\n", conf_full);
        
        //TODO continue to send
        config_t *conf_hd = confRead(conf_full);
        sprintf(filename, "%s", confGet(conf_hd, "filename")); 
        load_detail(conf_hd);
        confDestory(conf_hd);
    }

    queue = Initialize_Queue();
    //Add_Queue_Item(queue, "", file_name, 0);
    //Add_Queue_Item(queue, "", file_name, 0);
    //Add_Queue_Item(queue, "", file_name, 0);

    cookLive        = YES;
    soldierLive     = YES;
    receiverLive    = YES;

    /** start Cook thread **/
    pthread_t cook_fd;
    pthread_create(&cook_fd, NULL, cook_mission, path);
    //pthread_join(cook_fd, NULL);

    /** start Receiver thread **/
    pthread_t receiver_id;
    pthread_create(&receiver_id, NULL, receiver, NULL);
    
    //pthread_join(cook_fd, NULL);
    //pthread_join(receiver_id, NULL);
    printf("===========================================================\n");

    struct synack syn_pack;
    syn_pack.thread_num = THREAD_LIMITION;
    syn_pack.file_info.blocksize = BODYLEN;


    while(clientLive){
        soldierLive = YES;
        taskIndex = 0;
        taskArray = NULL;
        filesize = 0;
        block_num = 0;

        QUEUE_ITEM *item = NULL;
        //memset(item, 0, sizeof(QUEUE_ITEM));

        while(!item && clientLive == YES){
            printf("[Main] main thread check queue\n");
            item = Get_Queue_Item(queue);
            if(item){
                printf("[Main] item.filename = %s\n", item->data);
                strcpy(filename, item->data);
                printf("[Main] transmitting: %s \n", filename);
                break;
            }else{
                printf("[Main] Queue empty will check again in 2 seconds...\n");
                sleep(2);
            }
        }
        

        strcpy(syn_pack.file_info.filename, filename);

        /** count filesize **/
        char target_full[100];
        strcpy(target_full, path);
        strcat(target_full, filename);
        int fd = open(target_full, O_RDONLY);
        filesize = get_filesize(fd);
        syn_pack.file_info.filesize = filesize;

        /** count block_num **/
        if(filesize % BODYLEN == 0)
            syn_pack.file_info.block_num = filesize / BODYLEN;
        else
            syn_pack.file_info.block_num = filesize / BODYLEN + 1;
        block_num = syn_pack.file_info.block_num;

        /** make taskArray **/
        taskArray = (int*)malloc(sizeof(int) * block_num);
        memset(taskArray, 0, sizeof(int) * block_num);

        /* count downloaded_block */
        if(task_flag == NEW_TASK) {
            printf("new task\n");
            downloaded_block = 0;
        } else {
            printf("block_num = %d, thread_num = %d, blocksize = %d, filesize = %d\n", syn_pack.file_info.block_num, syn_pack.thread_num, syn_pack.file_info.blocksize, syn_pack.file_info.filesize);

            /** count local global downloaded_block **/
            downloaded_block = 0;
            if(downloaded_block == block_num) {
                printf("download already finished\n");
                continue;
            }
            task_flag = OLD_TASK;
        }

        syn_pack.file_info.downloaded_block = downloaded_block;
        printf("figure out filesize = %d, block_num = %d, downloaded_block = %d\n", filesize, block_num, downloaded_block);

        {
        /**TODO store config info **/
        /*config_t *conf_hd = confRead(conf_full);
          if(conf_hd == NULL)
          {
          printf("conf file null, return \n");
          return 0;
          }
          confSet(conf_hd, "filename", filename);
          confSet(conf_hd, "filesize", filesize);
          store_detail(conf_hd);
          confDestory(conf_hd); */
        }

        /** ask for link with server **/
        struct synack synack_pack = get_new_port(syn_pack, sockfd, (struct sockaddr*)(&servaddr), sizeof(servaddr));
        printf("receive: thread_num = %d, downloaded_block = %d, block_num = %d\n", synack_pack.thread_num, synack_pack.file_info.downloaded_block, synack_pack.file_info.block_num);

        //if(synack_pack == NULL){
            //printf("main get connection failed, exiting...\n");
            //process_end();
            //return 0;
        //}

        /** create subthreads here **/
        task_list = (struct subthread_task *)malloc(sizeof(struct subthread_task) * THREAD_LIMITION);
        int i;
        for(i = 0; i < THREAD_LIMITION; i++) {
            task_list[i].hostname = argv[1];
            task_list[i].port = synack_pack.port[i];

            task_list[i].thread_no = i + 1;
            task_list[i].thread_num = THREAD_LIMITION;

            strcpy(task_list[i].file_info.filename, filename);
            task_list[i].file_info.filesize= filesize;

            task_list[i].file_info.block_num = block_num;
            task_list[i].file_info.blocksize= BODYLEN;

            pthread_create(&ptid[i], NULL, soldier_mission, &task_list[i]);
        }

        signal(SIGINT, process_end);
        signal(SIGKILL, process_end);

        /** print the transmit progress **/
        do{
            sleep(0.1);
            //int percent = (downloaded_block * 100) / block_num;
            /** print_process(percent, 100); **/
        }while(downloaded_block < block_num);

        //soldierLive = NO;   
        
        for(i = 0; i < THREAD_LIMITION; i ++){
            pthread_join(ptid[i], NULL);
        }
        print_process(100, 100); 
        printf("\ndownload finished, exiting...[please wait and not interrupt or power off]\n");
        
        //int j = 0;
        //for(; j < block_num; j ++)
            //printf("%d, ", taskArray[i]);
        //printf("\n");

        free(task_list);
        free(taskArray);
        task_list = NULL;
        taskArray = NULL;
    }

    pthread_mutex_destroy(&lockDownload);
    return 0;
}
コード例 #30
0
ファイル: main.c プロジェクト: nishimotz/jagtalk
int main( int argc, char **argv )
{
	int n, i;
	char *com;

	fp_err = stderr;

	init_conf();

	com = argv[0];
	--argc;  ++argv;
	while( argc > 0 && argv[0][0] == '-' )  {
		switch( argv[0][1] )  {
		case 'C':
			if( argc < 2 )  usage( com );
			read_conf( argv[1] );
			--argc;  ++argv;
			break;
		/*******↓for server mode *******/
		case 'p':
   		        /* 引数が不正な場合はエラー出力 */
			if( argc < 2 )  usage( com );
			/* ポート番号の読み込み */
			i = atoi( argv[1] );
			if (i > 1024) {
			        nPort = i;
			}
			s_mode = 1;
			--argc;  ++argv;
			break;
		/*******↑***********************/
		case 'v':
			printf( "%s\n", moduleVersion );
			printf( "%s\n", protocolVersion );
			exit(0);
		default:
			usage( com );
		}
		--argc;  ++argv;
	}
	set_default_conf();

	initialize();

	n = setjmp( ebuf );

	if( n > 0 )  chasen_process = 0;	/* to restart 'chasen' process */

	for( ;; )  {
#ifdef PRINTDATA
		TmpMsg( "> " );
#endif
		n_arg = read_command( v_arg );

#ifdef PRINTDATA
		{
			int i;
			TmpMsg( "command is \n" );
			for( i=0; i<n_arg; ++i )  {
				TmpMsg( "  %d: %s\n", i+1, v_arg[i] );
			}
		}
#endif

		/* 「o」 で set Speak = NOW のショートカット */
		if( strcmp(v_arg[0],"o")==0 )  {
			setSpeak( "=", "NOW" );
			continue;
		}

		if( n_arg < 2 )  { unknown_com();  continue; }

		switch( commandID( v_arg[0] ) )  {
		  case C_set:
			if( n_arg < 4 )  { unknown_com();  break; }
			switch( slotID( v_arg[1] ) )  {
			  case S_Run:   setRun( v_arg[2], v_arg[3] );  break;
			  case S_Speaker:  setSpeaker( v_arg[2], v_arg[3] );  break;
			  case S_Alpha: setAlpha( v_arg[2], v_arg[3] );  break;
			  case S_Postfilter_coef: setPostfilter_coef( v_arg[2], v_arg[3] );  break;
			  case S_Text:  setText( v_arg[2], v_arg[3] );  break;
			  case S_Speak: setSpeak( v_arg[2], v_arg[3] );  break;

			  case S_SaveRAW: setSave( v_arg[2], v_arg[3] );  break;
			  case S_Save:    setSave( v_arg[2], v_arg[3] );  break;
			  case S_LoadRAW: setSpeechFile( v_arg[2], v_arg[3], RAW );  break;
			  case S_SpeechFile: setSpeechFile( v_arg[2], v_arg[3], RAW );  break;
			  case S_SaveWAV: setSaveWAV( v_arg[2], v_arg[3] );  break;
			  case S_LoadWAV: setSpeechFile( v_arg[2], v_arg[3], WAV );  break;

			  case S_SavePros:  setSavePros( v_arg[2], v_arg[3] );  break;
			  case S_LoadPros:  setProsFile( v_arg[2], v_arg[3] );  break;
			  case S_ProsFile:  setProsFile( v_arg[2], v_arg[3] );  break;

			  case S_ParsedText: setParsedText( v_arg[2], v_arg[3] );  break;
			  case S_Speak_syncinterval: setSpeakSyncinterval( v_arg[2], v_arg[3] );  break;
			  case S_AutoPlay: 
				slot_Auto_play = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_AutoPlayDelay: 
				slot_Auto_play_delay = atoi( v_arg[3] ); break;
			  case S_Log:   setLog( v_arg[2], v_arg[3] ); break;
			  case S_Log_conf:
				slot_Log_conf = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_text:
				slot_Log_text = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_arranged_text:
				slot_Log_arranged_text = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_chasen:
				slot_Log_chasen = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_tag:
				slot_Log_tag = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_phoneme:
				slot_Log_phoneme = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_mora:
				slot_Log_mora = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_morph:
				slot_Log_morph = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_aphrase:
				slot_Log_aphrase = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_breath:
				slot_Log_breath = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Log_sentence:
				slot_Log_sentence = setLogYesNo( v_arg[2], v_arg[3] ); break;
			  case S_Err:          setErr( v_arg[2], v_arg[3] ); break;
			  default:
				unknown_com();
			}
			break;
		  case C_inq:
			switch( slotID( v_arg[1] ) ) {
			  case S_Run:        inqRun();  break;
			  case S_ModuleVersion: inqModuleVersion();  break;
			  case S_ProtocolVersion: inqProtocolVersion();  break;
			  case S_SpeakerSet: inqSpeakerSet();  break;
			  case S_Speaker:    inqSpeaker();  break;
			  case S_SpeechFile: inqSpeechFile();  break;
			  case S_ProsFile:   inqProsFile();  break;
			  case S_AutoPlay:   inqAutoPlay();  break;
			  case S_AutoPlayDelay:   inqAutoPlayDelay();  break;
			  case S_Text_text:  inqTextText();  break;
			  case S_Text_pho:   inqTextPho();  break;
			  case S_Text_dur:   inqTextDur();  break;
			  case S_Speak_text: inqSpeakText();  break;
			  case S_Speak_pho:  inqSpeakPho();  break;
			  case S_Speak_dur:  inqSpeakDur();  break;
			  case S_Speak_utt:  inqSpeakUtt();  break;
			  case S_Speak_len:  inqSpeakLen();  break;
			  case S_Speak_stat: inqSpeakStat();  break;
			  case S_Speak_syncinterval: inqSpeakSyncinterval();  break;
			  case S_Log:
				RepMsg( "rep Log = %s\n", slot_Log_file );  break;
			  case S_Log_conf:
				RepMsg( "rep Log.conf = %s\n", YesNoSlot(S_Log_conf) );  break;
			  case S_Log_text:
				RepMsg( "rep Log.text = %s\n", YesNoSlot(S_Log_text) );  break;
			  case S_Log_arranged_text:
				RepMsg( "rep Log.arranged_text = %s\n", YesNoSlot(S_Log_arranged_text) );  break;
			  case S_Log_chasen:
				RepMsg( "rep Log.chasen = %s\n", YesNoSlot(S_Log_chasen) );  break;
			  case S_Log_tag:
				RepMsg( "rep Log.tag = %s\n", YesNoSlot(S_Log_tag) );  break;
			  case S_Log_phoneme:
				RepMsg( "rep Log.phoneme = %s\n", YesNoSlot(S_Log_phoneme) );  break;
			  case S_Log_mora:
				RepMsg( "rep Log.mora = %s\n", YesNoSlot(S_Log_mora) );  break;
			  case S_Log_morph:
				RepMsg( "rep Log.morph = %s\n", YesNoSlot(S_Log_morph) );  break;
			  case S_Log_aphrase:
				RepMsg( "rep Log.aphrase = %s\n", YesNoSlot(S_Log_aphrase) );  break;
			  case S_Log_breath:
				RepMsg( "rep Log.breath = %s\n", YesNoSlot(S_Log_breath) );  break;
			  case S_Log_sentence:
				RepMsg( "rep Log.sentence = %s\n", YesNoSlot(S_Log_sentence) );  break;
			  case S_Err:
				RepMsg( "rep Err = %s\n", slot_Err_file );  break;
			  default:
				unknown_com();
			}
			break;
		  case C_prop:
			{ SlotProp prop;
			if( strcmp(v_arg[2],"=")!=0 )  { unknown_com(); break; }
			if( strcmp(v_arg[3],"AutoOutput")==0 )  {
				prop = AutoOutput;
			} else if(strcmp(v_arg[3],"NoAutoOutput")==0 )  {
				prop = NoAutoOutput;
			} else {
				unknown_com(); break;
			}
			switch( slotID( v_arg[1] ) ) {
			  case S_Run:        prop_Run = prop;  break;
			  case S_ModuleVersion: prop_ModuleVersion = prop;  break;
			  case S_ProtocolVersion: prop_ProtocolVersion = prop;  break;
			  case S_SpeakerSet: prop_SpeakerSet = prop;  break;
			  case S_Speaker:    prop_Speaker = prop;  break;
			  case S_SpeechFile: prop_SpeechFile = prop;  break;
			  case S_ProsFile:   prop_ProsFile = prop;  break;
			  case S_Text:       prop_Text = prop;  break;
			  case S_Text_text:  prop_Text_text = prop;  break;
			  case S_Text_pho:   prop_Text_pho = prop;  break;
			  case S_Text_dur:   prop_Text_dur = prop;  break;
			  case S_Speak:      prop_Speak = prop;  break;
			  case S_Speak_text: prop_Speak_text = prop;  break;
			  case S_Speak_pho:  prop_Speak_pho = prop;  break;
			  case S_Speak_dur:  prop_Speak_dur = prop;  break;
			  case S_Speak_utt:  prop_Speak_utt = prop;  break;
			  case S_Speak_len:  prop_Speak_len = prop;  break;
			  case S_Speak_stat: prop_Speak_stat = prop;  break;
			  case S_Speak_syncinterval: prop_Speak_syncinterval = prop;  break;
			  default:
				unknown_com();
			}
			}
			break;
		  default:
			unknown_com();
		}
	}
	
	if( s_mode ) {
	        server_destroy ();
	}
	exit(0);
}