Example #1
0
File: fmt.c Project: chaos/diod
static void
np_sndump(char *s, int len, u8 *data, int datalen)
{
	int i;

	for (i = 0; i < datalen; i++) {
		spf (s, len, "%02x", data[i]);
		if (i%4 == 3)
			spf (s, len, " ");
		if (i%32 == 31 && i + 1 < datalen)
			spf (s, len, "\n");
	}
}
Example #2
0
/* initialization of data before data analysis */
int evt_start_np(){
	chamber_p chamb;
	plane_p   plane;
	int       i, ipl;
	double    d;

	/* for TGC */

	chamb = &tgc_mwdc;
#if DT2D_TAB
	chamb_get_dt2d_tab(chamb);
#endif
  chamb_get_config(chamb);
	for(ipl=0; ipl<chamb->npl; ipl++){
		plane = &chamb->plane[ipl];
		plane->pres = 0.5;  /* 0.5 mm resolution */
		plane->fit = dr_is_true(dr_get(TGC_FIT_PLANE[ipl]));
	}
	if(dr_exists(d=dr_get(TGC_MAX_NCOMB))) chamb->max_ncomb = (int)d;
	chamb->allow_wireskip = dr_is_true(dr_get(TGC_ALLOW_WIRESKIP));
	d = dr_get(TGC_N_VPLANE);
	chamb->nproj = dr_exists(d) ? min((int)d, MaxNIntPl) : 0;
	for(i=0; i<chamb->nproj; i++)
			dr_ref_n(spf("TGC_PLANE_%d",i), &chamb->h_proj[i]);
	dr_ref_n("TGC_X", &chamb->h_x);
	dr_ref_n("TGC_Y", &chamb->h_y);

	/* for FEC */

	chamb = &fec_mwdc;
#if DT2D_TAB
	chamb_get_dt2d_tab(chamb);
#endif
  chamb_get_config(chamb);
	for(ipl=0; ipl<chamb->npl; ipl++){
		plane = &chamb->plane[ipl];
		plane->pres = 0.5;  /* 0.5 mm resolution */
		plane->fit = dr_is_true(dr_get(FEC_FIT_PLANE[ipl]));
	}
	if(dr_exists(d=dr_get(FEC_MAX_NCOMB))) chamb->max_ncomb = (int)d;
	chamb->allow_wireskip = dr_is_true(dr_get(FEC_ALLOW_WIRESKIP));
	d = dr_get(FEC_N_VPLANE);
	chamb->nproj = dr_exists(d) ? min((int)d, MaxNIntPl) : 0;
	for(i=0; i<chamb->nproj; i++)
			dr_ref_n(spf("FEC_PLANE_%d",i), &chamb->h_proj[i]);
	dr_ref_n("FEC_X", &chamb->h_x);
	dr_ref_n("FEC_Y", &chamb->h_y);

	return(0);
}
Example #3
0
File: fmt.c Project: chaos/diod
static void
np_printdata(char *s, int len, u8 *buf, int buflen)
{
	if (buflen > 0)
		spf (s, len, "\n");
	np_sndump(s, len, buf, buflen < 64 ? buflen : 64);
}
Example #4
0
static int
gen_subalg( FILE *fp )
{
  ALG A;
  VECTORS v;
  int err;
  char outf[NAME_LEN_LIMIT+1];

  print_spopen("Generating a subpower.");
  A.func= (FUNCT *)NULL;
  v.list= (VEC *)NULL;

  if( (err = get_next_line(name, NAME_LEN_LIMIT, fp)) != NO_ERROR) {
    goto WLe_gen_subalg;
  }
  err= ps_alg(name, &A);
  if(err!= NO_ERROR)
  {
    hlp_gen_subalg();
    goto WLe_gen_subalg;
  }
  if( (err = get_next_line(name, NAME_LEN_LIMIT, fp)) != NO_ERROR) {
    goto WLe_gen_subalg;
  }
  err = ps_vectors(name, &v, A.size);
  if(err!= NO_ERROR)
  {
    hlp_gen_subalg();
    goto WLe_gen_subalg;
  }
  if( (err = get_next_line(name, NAME_LEN_LIMIT, fp)) != NO_ERROR) {
    goto WLe_gen_subalg;
  }
  err=ps_out(name, outf);
  if(err != NO_ERROR)
  {
    hlp_gen_subalg();
    hlp_vector_file();
    goto WLe_gen_subalg;
  }
  err= spf(&A, &v, NULL, NULL, NULL);
  if(err!= NO_ERROR)
  {
    goto WLe_gen_subalg;
  }
  err = wr_vectors(outf, &v);
  if(err!= NO_ERROR)
  {
    goto WLe_gen_subalg;
  }
  free_alg(&A);
  free_vectors(&v);
  print_spclose("End of generating a subpower.");
  return(NO_ERROR);

WLe_gen_subalg:
  free_alg(&A);
  free_vectors(&v);
  return(err);
}
Example #5
0
File: fmt.c Project: chaos/diod
static void
np_printdents(char *s, int len, u8 *buf, int buflen)
{
	if (buflen > 0)
		spf (s, len, "\n");
	/* FIXME: decode directory entries here */
	np_sndump(s, len, buf, buflen < 64 ? buflen : 64);
}
Example #6
0
File: fmt.c Project: chaos/diod
static void
np_printlocktype(char *s, int len, u8 type)
{
	switch (type) {
		case P9_LOCK_TYPE_RDLCK:
			spf (s, len, "%s", "P9_LOCK_TYPE_RDLCK");
			break;
		case P9_LOCK_TYPE_WRLCK:
			spf (s, len, "%s", "P9_LOCK_TYPE_WRLCK");
			break;
		case P9_LOCK_TYPE_UNLCK:
			spf (s, len, "%s", "P9_LOCK_TYPE_UNLCK");
			break;
		default:
			spf (s, len, "%u", type);
			break;
	}
}
		doc_file_item_pointer doc_file_item::create(int id, std::string path, std::string filetype, virtual_folder_pointer sp_parent)
		{
			doc_file_item_pointer spf (new doc_file_item(id, path, filetype, sp_parent));

			// register it into doc_database file map
			doc_database::get_instance()._files.insert(std::make_pair(id, spf));
			LDBG_ << "inserting " << spf->get_path() << "[" << spf->get_id() << "] in doc_db._files";
			LDBG_ << "now doc_db files has " << doc_database::get_instance()._files.size() << " elements";
			return spf;
		}
		virtual_folder_pointer virtual_folder::create(string name, int id, virtual_folder_pointer sp_parent)
		{
			virtual_folder_pointer spf(new virtual_folder(name, id, sp_parent));

			// register it into doc_database file map
			doc_database::get_instance()._files.insert(std::make_pair(id, spf));
			LDBG_ << "inserting " << spf->get_path() << "[" << spf->get_id() << "] in doc_db._files";
			LDBG_ << "now doc_db files has " << doc_database::get_instance()._files.size() << " elements";
			return spf;
		}
Example #9
0
File: fmt.c Project: chaos/diod
static void
np_printlockstatus(char *s, int len, u8 status)
{
	switch (status) {
		case P9_LOCK_SUCCESS:
			spf (s, len, "%s", "P9_LOCK_SUCCESS");
			break;
		case P9_LOCK_BLOCKED:
			spf (s, len, "%s", "P9_LOCK_BLOCKED");
			break;
		case P9_LOCK_ERROR:
			spf (s, len, "%s", "P9_LOCK_ERROR");
			break;
		case P9_LOCK_GRACE:
			spf (s, len, "%s", "P9_LOCK_GRACE");
			break;
		default:
			spf (s, len, "%u", status);
			break;
	}
}
Example #10
0
bool userOutput(std::string id)
{
    if (id.length() == 0)
        return false;
    
    std::string xml = getImageInfo(id);
    std::string output;
    
	if (optDirect)
		spf(output, "%s\n", getVal(xml, "link").c_str());
	if (optImagePage)
		spf(output, "http://imgur.com/%s\n", id.c_str());
	if (optHtmlImage)
		spf(output, "<img src=\"%s\" alt=\"Hosted by imgur.com\" />\n", getVal(xml, "link").c_str());
	if (optHtmlLink)
		spf(output, "<a href=\"%s\" title=\"Hosted by imgur.com\">%s</a>\n", getVal(xml, "link").c_str(), getVal(xml, "link").c_str());
	if (optMessageBoard)
		spf(output, "[IMG]%s[/IMG]\n", getVal(xml, "link").c_str());
	if (optMessageBoardLink)
		spf(output, "[URL=%s][IMG]%s[/IMG][/URL]\n", getVal(xml, "link").c_str(), getVal(xml, "link").c_str());
	if (optOpenBrowser)
    {
        std::string url = "http://imgur.com/" + id;
		browseTo(url);
    }
    if (output.length() > 0)
        puts(output.c_str());
    if (optCopyClipboard && output.length() > 0)
        clipBuffer += output;
    
	return true;
}
Example #11
0
int main()
{
	char s[20], t[50];
	char *s2 = s, *t2 = t;

	s2 = "Test: 1:%c 2:%s 3:%d";

	spf(t2, s2, 'K', (long)"LMNOPQ", -132);

	printf("s: %s \nt: %s\n", s2, t2);

	return 0;
}
Example #12
0
//-------------------------------------------------------------------------
static bool is_serial_port_present(int port, qstring *friendly_name)
{
  struct serial_port_checker_t : public serial_port_visitor_t
  {
    int port;
    qstring *name;
    int visit(int p, const char *friendly_name)
    {
      if ( p == port )
      {
        if ( name != NULL )
          *name = friendly_name;
        return 1;
      }
      return 0;
    }
    serial_port_checker_t(int p, qstring *n) : port(p), name(n) {}
  };
  serial_port_checker_t spf(port, friendly_name);
  return for_all_serial_ports(spf) == 1;
}
Example #13
0
File: fmt.c Project: chaos/diod
static void
np_printqid(char *s, int len, Npqid *q)
{
	int n = 0;
	char buf[10];

	if (q->type & P9_QTDIR)
		buf[n++] = 'd';
	if (q->type & P9_QTAPPEND)
		buf[n++] = 'a';
	if (q->type & P9_QTAUTH)
		buf[n++] = 'A';
	if (q->type & P9_QTEXCL)
		buf[n++] = 'l';
	if (q->type & P9_QTTMP)
		buf[n++] = 't';
	if (q->type & P9_QTSYMLINK)
		buf[n++] = 'L';
	buf[n] = '\0';

	spf (s, len, "(%.16"PRIx64" %x '%s')", q->path, q->version, buf);
}
Example #14
0
int main(void)
{
	char target[50], source[100], str[10];
	char *t = target, *s = source, *st = str;
	int tmp1;
	long a = 'k';
	st = "HIJK";

	s = "Test: 1:%s 2:%d 3:%c ..the end";

	printf("\nstring address: %d\n", st);


	printf("\nsource: '%s' (%d)\ntarget: '%s' (%d)\n", s, s, t, t);

	tmp1 = spf(t, s, (long)st, -1234567, 'M');

	printf("\nsource: '%s' (%d)\ntarget: '%s' (%d)\n", s, s, t, t);

	printf("\nreturn: %d \n\n", tmp1);

}
Example #15
0
File: fmt.c Project: chaos/diod
void
np_snprintfcall(char *s, int len, Npfcall *fc)
{
	int i;

	s[0] = '\0';
	if (!fc) {
		spf (s, len, "NULL");
		return;
	}

	switch (fc->type) {
	case P9_TLERROR:
		spf (s, len, "P9_TLERROR tag %u", fc->tag);
		break;
	case P9_RLERROR:
		spf (s, len, "P9_RLERROR tag %u", fc->tag);
		spf (s, len, " ecode %"PRIu32, fc->u.rlerror.ecode);
		break;
	case P9_TSTATFS:
		spf (s, len, "P9_TSTATFS tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tstatfs.fid);
		break;
	case P9_RSTATFS:
		spf (s, len, "P9_RSTATFS tag %u", fc->tag);
		spf (s, len, " type %"PRIu32, fc->u.rstatfs.type);
		spf (s, len, " bsize %"PRIu32, fc->u.rstatfs.bsize);
		spf (s, len, " blocks %"PRIu64, fc->u.rstatfs.blocks);
		spf (s, len, " bfree %"PRIu64, fc->u.rstatfs.bfree);
		spf (s, len, " bavail %"PRIu64, fc->u.rstatfs.bavail);
		spf (s, len, " files %"PRIu64, fc->u.rstatfs.files);
		spf (s, len, " ffree %"PRIu64, fc->u.rstatfs.ffree);
		spf (s, len, " fsid %"PRIu64, fc->u.rstatfs.fsid);
		spf (s, len, " namelen %"PRIu32, fc->u.rstatfs.namelen);
		break;
	case P9_TLOPEN:
		spf (s, len, "P9_TLOPEN tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tlopen.fid);
		spf (s, len, " flags 0%"PRIo32, fc->u.tlopen.flags);
		break;
	case P9_RLOPEN:
		spf (s, len, "P9_RLOPEN tag %u qid ", fc->tag);
		np_printqid(s, len, &fc->u.rlopen.qid);
		spf (s, len, " iounit %"PRIu32, fc->u.rlopen.iounit);
		break;
	case P9_TLCREATE:
		spf (s, len, "P9_TLCREATE tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tlcreate.fid);
		spf (s, len, " name '%.*s'", fc->u.tlcreate.name.len,
					     fc->u.tlcreate.name.str);
		spf (s, len, " flags 0x%"PRIx32, fc->u.tlcreate.flags);
		spf (s, len, " mode 0%"PRIo32, fc->u.tlcreate.mode);
		spf (s, len, " gid %"PRIu32, fc->u.tlcreate.gid);
		break;
	case P9_RLCREATE:
		spf (s, len, "P9_RLCREATE tag %u qid ", fc->tag);
		np_printqid(s, len, &fc->u.rlcreate.qid);
		spf (s, len, " iounit %"PRIu32, fc->u.rlcreate.iounit);
		break;
	case P9_TSYMLINK:
		spf (s, len, "P9_TSYMLINK tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tsymlink.fid);
		spf (s, len, " name '%.*s'", fc->u.tsymlink.name.len,
					     fc->u.tsymlink.name.str);
		spf (s, len, " symtgt '%.*s'", fc->u.tsymlink.symtgt.len,
					       fc->u.tsymlink.symtgt.str);
		spf (s, len, " gid %"PRIu32, fc->u.tsymlink.gid);
		break;
	case P9_RSYMLINK:
		spf (s, len, "P9_RSYMLINK tag %d qid ", fc->tag);
		np_printqid(s, len, &fc->u.rsymlink.qid);
		break;
	case P9_TMKNOD:
		spf (s, len, "P9_TMKNOD tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tmknod.fid);
		spf (s, len, " name '%.*s'", fc->u.tmknod.name.len,
					     fc->u.tmknod.name.str);
		spf (s, len, " mode 0%"PRIo32, fc->u.tmknod.mode);
		spf (s, len, " major %"PRIu32, fc->u.tmknod.major);
		spf (s, len, " minor %"PRIu32, fc->u.tmknod.minor);
		spf (s, len, " gid %"PRIu32, fc->u.tmknod.gid);
		break;
	case P9_RMKNOD:
		spf (s, len, "P9_RMKNOD tag %d qid ", fc->tag);
		np_printqid(s, len, &fc->u.rsymlink.qid);
		break;
	case P9_TRENAME:
		spf (s, len, "P9_TRENAME tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.trename.fid);
		spf (s, len, " dfid %"PRIu32, fc->u.trename.dfid);
		spf (s, len, " name '%.*s'", fc->u.trename.name.len,
					     fc->u.trename.name.str);
		break;
	case P9_RRENAME:
		spf (s, len, "P9_RRENAME tag %u", fc->tag);
		break;
	case P9_TREADLINK:
		spf (s, len, "P9_TREADLINK tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.treadlink.fid);
		break;
	case P9_RREADLINK:
		spf (s, len, "P9_RREADLINK tag %u", fc->tag);
		spf (s, len, " target '%.*s'", fc->u.rreadlink.target.len,
				   	       fc->u.rreadlink.target.str);
		break;
	case P9_TGETATTR:
		spf (s, len, "P9_TGETATTR tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tgetattr.fid);
		spf (s, len, " request_mask 0x%"PRIx64, fc->u.tgetattr.request_mask);
		break;
	case P9_RGETATTR:
		spf (s, len, "P9_RGETATTR tag %u", fc->tag);
		spf (s, len, " valid 0x%"PRIx64, fc->u.rgetattr.valid);
		spf (s, len, " qid ");
		if ((fc->u.rgetattr.valid & P9_STAT_INO))
			np_printqid(s, len, &fc->u.rgetattr.qid);
		else
			spf (s, len, "X");
		if ((fc->u.rgetattr.valid & P9_STAT_MODE))
			spf (s, len, " mode 0%"PRIo32, fc->u.rgetattr.mode);
		else
			spf (s, len, " mode X");
		if ((fc->u.rgetattr.valid & P9_STAT_UID))
			spf (s, len, " uid %"PRIu32, fc->u.rgetattr.uid);
		else
			spf (s, len, " uid X");
		if ((fc->u.rgetattr.valid & P9_STAT_GID))
			spf (s, len, " gid %"PRIu32, fc->u.rgetattr.gid);
		else
			spf (s, len, " gid X");
		if ((fc->u.rgetattr.valid & P9_STAT_NLINK))
			spf (s, len, " nlink %"PRIu64, fc->u.rgetattr.nlink);
		else
			spf (s, len, " nlink X");
		if ((fc->u.rgetattr.valid & P9_STAT_RDEV))
			spf (s, len, " rdev %"PRIu64, fc->u.rgetattr.rdev);
		else
			spf (s, len, " rdev X");
		if ((fc->u.rgetattr.valid & P9_STAT_SIZE))
			spf (s, len, " size %"PRIu64, fc->u.rgetattr.size);
		else
			spf (s, len, " size X");
		spf (s, len, " blksize %"PRIu64, fc->u.rgetattr.blksize);
		if ((fc->u.rgetattr.valid & P9_STAT_BLOCKS))
			spf (s, len, " blocks %"PRIu64, fc->u.rgetattr.blocks);
		else
			spf (s, len, " blocks X");
		if ((fc->u.rgetattr.valid & P9_STAT_ATIME))
			spf (s, len, " atime %s",
				np_timestr(fc->u.rgetattr.atime_sec, fc->u.rgetattr.atime_nsec));
		else
			spf (s, len, " atime X");
		if ((fc->u.rgetattr.valid & P9_STAT_MTIME))
			spf (s, len, " mtime %s",
				np_timestr(fc->u.rgetattr.mtime_sec, fc->u.rgetattr.mtime_nsec));
		else
			spf (s, len, " mtime X");
		if ((fc->u.rgetattr.valid & P9_STAT_CTIME))
			spf (s, len, " ctime %s",
				np_timestr(fc->u.rgetattr.ctime_sec, fc->u.rgetattr.ctime_nsec));
		else
			spf (s, len, " ctime X");
		if ((fc->u.rgetattr.valid & P9_STAT_BTIME))
			spf (s, len, " btime %s",
				np_timestr(fc->u.rgetattr.btime_sec, fc->u.rgetattr.btime_nsec));
		else
			spf (s, len, " btime X");
		if ((fc->u.rgetattr.valid & P9_STAT_GEN))
			spf (s, len, " gen %"PRIu64, fc->u.rgetattr.gen);
		else
			spf (s, len, " gen X");
		if ((fc->u.rgetattr.valid & P9_STAT_DATA_VERSION))
			spf (s, len, " data_version %"PRIu64, fc->u.rgetattr.data_version);
		else
			spf (s, len, " data_version X");
		break;
	case P9_TSETATTR:
		spf (s, len, "P9_TSETATTR tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tsetattr.fid);
		spf (s, len, " valid 0x%"PRIx32, fc->u.tsetattr.valid);
		if ((fc->u.tsetattr.valid & P9_ATTR_MODE))
			spf (s, len, " mode 0%"PRIo32, fc->u.tsetattr.mode);
		else
			spf (s, len, " mode X");
		if ((fc->u.tsetattr.valid & P9_ATTR_UID))
			spf (s, len, " uid %"PRIu32, fc->u.tsetattr.uid);
		else
			spf (s, len, " uid X");
		if ((fc->u.tsetattr.valid & P9_ATTR_GID))
			spf (s, len, " gid %"PRIu32, fc->u.tsetattr.gid);
		else
			spf (s, len, " gid X");
		if ((fc->u.tsetattr.valid & P9_ATTR_SIZE))
			spf (s, len, " size %"PRIu64, fc->u.tsetattr.size);
		else
			spf (s, len, " size X");
		if (!(fc->u.tsetattr.valid & P9_ATTR_ATIME))
			spf (s, len, " atime X");
		else if (!(fc->u.tsetattr.valid & P9_ATTR_ATIME_SET))
			spf (s, len, " atime X");
		else
			spf (s, len, " atime %s",
				np_timestr(fc->u.tsetattr.atime_sec, fc->u.tsetattr.atime_nsec));
		if (!(fc->u.tsetattr.valid & P9_ATTR_MTIME))
			spf (s, len, " mtime X");
		else if (!(fc->u.tsetattr.valid & P9_ATTR_MTIME_SET))
			spf (s, len, " mtime now");
		else
			spf (s, len, " mtime %s",
				np_timestr(fc->u.tsetattr.mtime_sec,
					   fc->u.tsetattr.mtime_nsec));
		break;
	case P9_RSETATTR:
		spf (s, len, "P9_RSETATTR tag %u", fc->tag);
		break;
	case P9_TXATTRWALK:
		spf (s, len, "P9_TXATTRWALK tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.txattrwalk.fid);
		spf (s, len, " attrfid %"PRIu32, fc->u.txattrwalk.attrfid);
		spf (s, len, " name '%.*s'", fc->u.txattrwalk.name.len,
					     fc->u.txattrwalk.name.str);
		break;
	case P9_RXATTRWALK:
		spf (s, len, "P9_RXATTRWALK tag %u", fc->tag);
		spf (s, len, " size %"PRIu64, fc->u.rxattrwalk.size);
		break;
	case P9_TXATTRCREATE:
		spf (s, len, "P9_TXATTRCREATE tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.txattrcreate.fid);
		spf (s, len, " name '%.*s'", fc->u.txattrcreate.name.len,
					     fc->u.txattrcreate.name.str);
		spf (s, len, " size %"PRIu64, fc->u.txattrcreate.size);
		spf (s, len, " flag %"PRIu32, fc->u.txattrcreate.flag);
		break;
	case P9_RXATTRCREATE:
		spf (s, len, "P9_RXATTRCREATE tag %u", fc->tag);
		break;
	case P9_TREADDIR:
		spf (s, len, "P9_TREADDIR tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.treaddir.fid);
		spf (s, len, " offset %"PRIu64, fc->u.treaddir.offset);
		spf (s, len, " count %"PRIu32, fc->u.treaddir.count);
		break;
	case P9_RREADDIR:
		spf (s, len, "P9_RREADDIR tag %u", fc->tag);
		spf (s, len, " count %"PRIu32, fc->u.rreaddir.count);
		np_printdents(s, len, fc->u.rreaddir.data, fc->u.rreaddir.count);
		break;
	case P9_TFSYNC:
		spf (s, len, "P9_TFSYNC tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tfsync.fid);
		break;
	case P9_RFSYNC:
		spf (s, len, "P9_RFSYNC tag %u", fc->tag);
		break;
	case P9_TLOCK:
		spf (s, len, "P9_TLOCK tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tlock.fid);
		spf (s, len, " type ");
		np_printlocktype(s, len, fc->u.tlock.type);
		spf (s, len, " flags %"PRIu32, fc->u.tlock.flags);
		spf (s, len, " start %"PRIu64, fc->u.tlock.start);
		spf (s, len, " length %"PRIu64, fc->u.tlock.length);
		spf (s, len, " proc_id %"PRIu32, fc->u.tlock.proc_id);
		spf (s, len, " client_id '%.*s'", fc->u.tlock.client_id.len,
						  fc->u.tlock.client_id.str);
		break;
	case P9_RLOCK:
		spf (s, len, "P9_RLOCK tag %u", fc->tag);
		spf (s, len, " status ");
		np_printlockstatus(s, len, fc->u.rlock.status);
		break;
	case P9_TGETLOCK:
		spf (s, len, "P9_TGETLOCK tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tgetlock.fid);
		spf (s, len, " type ");
		np_printlocktype(s, len, fc->u.tgetlock.type);
		spf (s, len, " start %"PRIu64, fc->u.tgetlock.start);
		spf (s, len, " length %"PRIu64, fc->u.tgetlock.length);
		spf (s, len, " proc_id %"PRIu32, fc->u.tgetlock.proc_id);
		spf (s, len, " client_id '%.*s'", fc->u.tgetlock.client_id.len,
						  fc->u.tgetlock.client_id.str);
		break;
	case P9_RGETLOCK:
		spf (s, len, "P9_RGETLOCK tag %u", fc->tag);
		spf (s, len, " type ");
		np_printlocktype(s, len, fc->u.rgetlock.type);
		spf (s, len, " start %"PRIu64, fc->u.rgetlock.start);
		spf (s, len, " length %"PRIu64, fc->u.rgetlock.length);
		spf (s, len, " proc_id %"PRIu32, fc->u.rgetlock.proc_id);
		spf (s, len, " client_id '%.*s'", fc->u.rgetlock.client_id.len,
						  fc->u.rgetlock.client_id.str);
		break;
	case P9_TLINK:
		spf (s, len, "P9_TLINK tag %u", fc->tag);
		spf (s, len, " dfid %"PRIu32, fc->u.tlink.dfid);
		spf (s, len, " fid %"PRIu32, fc->u.tlink.fid);
		spf (s, len, " name '%.*s'", fc->u.tlink.name.len,
					     fc->u.tlink.name.str);
		break;
	case P9_RLINK:
		spf (s, len, "P9_RLINK tag %u", fc->tag);
		break;
	case P9_TMKDIR:
		spf (s, len, "P9_TMKDIR tag %u", fc->tag);
		spf (s, len, " fid %"PRIu32, fc->u.tmkdir.fid);
		spf (s, len, " name '%.*s'", fc->u.tmkdir.name.len,
					     fc->u.tmkdir.name.str);
		spf (s, len, " mode 0%"PRIo32, fc->u.tmkdir.mode);
		spf (s, len, " gid %"PRIu32, fc->u.tmkdir.gid);
		break;
	case P9_RMKDIR:
		spf (s, len, "P9_RMKDIR tag %u qid ", fc->tag);
		np_printqid(s, len, &fc->u.rmkdir.qid);
		break;
	case P9_TRENAMEAT:
		spf (s, len, "P9_TRENAMEAT tag %u", fc->tag);
		spf (s, len, " olddirfid %"PRIu32, fc->u.trenameat.olddirfid);
		spf (s, len, " oldname '%.*s'", fc->u.trenameat.oldname.len,
					        fc->u.trenameat.oldname.str);
		spf (s, len, " newdirfid %"PRIu32, fc->u.trenameat.newdirfid);
		spf (s, len, " newname '%.*s'", fc->u.trenameat.newname.len,
					        fc->u.trenameat.newname.str);
		break;
	case P9_RRENAMEAT:
		spf (s, len, "P9_RRENAMEAT tag %u", fc->tag);
		break;
	case P9_TUNLINKAT:
		spf (s, len, "P9_TUNLINKAT tag %u", fc->tag);
		spf (s, len, " dirfid %"PRIu32, fc->u.tunlinkat.dirfid);
		spf (s, len, " name '%.*s'", fc->u.tunlinkat.name.len,
					     fc->u.tunlinkat.name.str);
		spf (s, len, " flags %"PRIu32, fc->u.tunlinkat.flags);
		break;
	case P9_RUNLINKAT:
		spf (s, len, "P9_RUNLINKAT tag %u", fc->tag);
		break;
	case P9_TVERSION:
		spf (s, len, "P9_TVERSION tag %u", fc->tag);
		spf (s, len, " msize %u", fc->u.tversion.msize);
		spf (s, len, " version '%.*s'", fc->u.tversion.version.len,
					        fc->u.tversion.version.str);
		break;
	case P9_RVERSION:
		spf (s, len, "P9_RVERSION tag %u msize %u",
			fc->tag, fc->u.rversion.msize);
		spf (s, len, " version '%.*s'", fc->u.rversion.version.len,
					        fc->u.rversion.version.str);
		break;
	case P9_TAUTH:
		spf (s, len, "P9_TAUTH tag %u afid %d",
			fc->tag, fc->u.tauth.afid);
		spf (s, len, " uname '%.*s'", fc->u.tauth.uname.len,
					      fc->u.tauth.uname.str);
		spf (s, len, " aname '%.*s'", fc->u.tauth.aname.len,
					      fc->u.tauth.aname.str);
		if (fc->u.tauth.n_uname != P9_NONUNAME)
			spf (s, len, " n_uname %u", fc->u.tauth.n_uname);
		else
			spf (s, len, " n_uname P9_NONUNAME");
		break;
	case P9_RAUTH:
		spf (s, len, "P9_RAUTH tag %u qid ", fc->tag);
		np_printqid(s, len, &fc->u.rauth.qid);
		break;
	case P9_TATTACH:
		spf (s, len, "P9_TATTACH tag %u", fc->tag);
		spf (s, len, " fid %d afid %d",
				fc->u.tattach.fid, fc->u.tattach.afid);
		spf (s, len, " uname '%.*s'", fc->u.tattach.uname.len,
					      fc->u.tattach.uname.str);
		spf (s, len, " aname '%.*s'", fc->u.tattach.aname.len,
					      fc->u.tattach.aname.str);
		if (fc->u.tattach.n_uname != P9_NONUNAME)
			spf (s, len, " n_uname %u", fc->u.tattach.n_uname);
		else
			spf (s, len, " n_uname P9_NONUNAME");
		break;
	case P9_RATTACH:
		spf (s, len, "P9_RATTACH tag %u qid ", fc->tag);
		np_printqid(s, len, &fc->u.rattach.qid);
		break;
	case P9_TFLUSH:
		spf (s, len, "P9_TFLUSH tag %u oldtag %u",
				fc->tag, fc->u.tflush.oldtag);
		break;
	case P9_RFLUSH:
		spf (s, len, "P9_RFLUSH tag %u", fc->tag);
		break;
	case P9_TWALK:
		spf (s, len, "P9_TWALK tag %u fid %d newfid %d nwname %d",
			fc->tag, fc->u.twalk.fid, fc->u.twalk.newfid,
			fc->u.twalk.nwname);
		for(i = 0; i < fc->u.twalk.nwname; i++)
			spf (s, len, " '%.*s'", fc->u.twalk.wnames[i].len,
						fc->u.twalk.wnames[i].str);
		break;
	case P9_RWALK:
		spf (s, len, "P9_RWALK tag %u nwqid %d ",
			fc->tag, fc->u.rwalk.nwqid);
		for(i = 0; i < fc->u.rwalk.nwqid; i++)
			np_printqid(s, len, &fc->u.rwalk.wqids[i]);
		break;
	case P9_TREAD:
		spf (s, len, "P9_TREAD tag %u fid %d offset %"PRIu64" count %u",
			fc->tag, fc->u.tread.fid, fc->u.tread.offset,
			fc->u.tread.count);
		break;
	case P9_RREAD:
		spf (s, len, "P9_RREAD tag %u count %u", fc->tag,
			fc->u.rread.count);
		np_printdata(s, len, fc->u.rread.data, fc->u.rread.count);
		break;
	case P9_TWRITE:
		spf (s, len, "P9_TWRITE tag %u", fc->tag);
		spf (s, len, " fid %d", fc->u.twrite.fid);
		spf (s, len, " offset %"PRIu64, fc->u.twrite.offset);
		spf (s, len, " count %u", fc->u.twrite.count);
		np_printdata(s, len, fc->u.twrite.data, fc->u.twrite.count);
		break;
	case P9_RWRITE:
		spf (s, len, "P9_RWRITE tag %u count %u", fc->tag, fc->u.rwrite.count);
		break;
	case P9_TCLUNK:
		spf (s, len, "P9_TCLUNK tag %u fid %d", fc->tag, fc->u.tclunk.fid);
		break;
	case P9_RCLUNK:
		spf (s, len, "P9_RCLUNK tag %u", fc->tag);
		break;
	case P9_TREMOVE:
		spf (s, len, "P9_TREMOVE tag %u fid %d", fc->tag, fc->u.tremove.fid);
		break;
	case P9_RREMOVE:
		spf (s, len, "P9_RREMOVE tag %u", fc->tag);
		break;
	/* unused ops that we consider a protocol error */
	case P9_RERROR:
		spf (s, len, "P9_RERROR: deprecated protocol op");
		break;
	case P9_TOPEN:
		spf (s, len, "P9_TOPEN: deprecated protocol op");
		break;
	case P9_ROPEN:
		spf (s, len, "P9_ROPEN: deprecated protocol op");
		break;
	case P9_TCREATE:
		spf (s, len, "P9_TCREATE: deprecated protocol op");
		break;
	case P9_RCREATE:
		spf (s, len, "P9_RCREATE: deprecated protocol op");
		break;
	case P9_TSTAT:
		spf (s, len, "P9_TSTAT: deprecated protocol op");
		break;
	case P9_RSTAT:
		spf (s, len, "P9_RSTAT: deprecated protocol op");
		break;
	default:
		spf (s, len, "unknown protocol op (%d)", fc->type);
		break;
	}
}
Example #16
0
/* initialization of data before data analysis */
int evt_start_rcnp(){
	double    d;
	int       i, cmin, cmax, ipl;
	chamber_p chamb;
	plane_p   plane;

	/* common */

#if !DT2D_TAB
	get_dt2d_prm();
#endif

	/* for GR */
	if(dr_is_true(dr_get(ANALYZE_GR))){
		cmax = dr_exists(d=dr_get(GR_VDC_MAX_CLUST_SIZE)) ?
			min(dr_int(d),Clst_MaxClstSize) :  Clst_DefMaxClstSize;
		cmin = dr_exists(d=dr_get(GR_VDC_MIN_CLUST_SIZE)) ?
			dr_int(d) : Clst_DefMinClstSize;

		chamb = &gr_vdc;
#if DT2D_TAB
		chamb_get_dt2d_tab(chamb);
#endif
		chamb_get_config(chamb);
		d = dr_get(DEBUG_GR_N_OUTPUTRAY);
		gr_n_outputray  = dr_exists(d) ? (int)d : 0;
		if(dr_is_true(dr_get(ANALYZE_GR_MATRIX))){
			get_gr_matrix();
		}
		for(ipl=0; ipl<chamb->npl; ipl++){
			plane = &chamb->plane[ipl];
			plane->min_clst_size = cmin;
			plane->max_clst_size = cmax;
			plane->ana_2hit_clst = dr_is_true(dr_get(GR_VDC_ANA_2HIT_CLUST));
			/* angular resolution of a plane */
			plane->ares = dr_get(GR_ARES[ipl])*d2r;
			if(dr_is_nothing(plane->ares)) plane->ares = 1.05*d2r; /* default */
		}
		chamb->ana_mult_clst = dr_is_true(dr_get(GR_VDC_ANA_MULTI_CLUST));
		chamb->max_chi2 = dr_get(GR_VDC_MAX_CHI2);
		if(dr_is_nothing(chamb->max_chi2))
			chamb->max_chi2 = 0.;
		d = dr_get(GR_N_VPLANE);
		chamb->nproj = dr_exists(d) ? min((int)d, MaxNIntPl) : 0;
		for(i=0; i<chamb->nproj; i++)
			dr_ref_n(spf("GR_PLANE_%d",i), &chamb->h_proj[i]);
		dr_ref_n("GR_XP", &chamb->h_x); /* projection points */
		dr_ref_n("GR_YP", &chamb->h_y); /* projection points */

		fprintf(stderr, "GR VDC multi-cluster analysis = %s\n",
						chamb->ana_mult_clst ? "ON" : "OFF");
		fprintf(stderr, "GR VDC 2-hit cluster analysis = %s\n",
						chamb->plane[0].ana_2hit_clst ? "ON" : "OFF");
		fprintf(stderr, "GR VDC cluster size = %d <= nhit <= %d\n",
						cmin, cmax);
	}

	/* for LAS */

	if(dr_is_true(dr_get(ANALYZE_LAS))){
		cmax = dr_exists(d=dr_get(LAS_VDC_MAX_CLUST_SIZE)) ?
			min(dr_int(d),Clst_MaxClstSize) :  Clst_DefMaxClstSize;
		cmin = dr_exists(d=dr_get(LAS_VDC_MIN_CLUST_SIZE)) ?
			dr_int(d) : Clst_DefMinClstSize;

		chamb = &las_vdc;
#if DT2D_TAB
		chamb_get_dt2d_tab(chamb);
#endif
		chamb_get_config(chamb);
		d = dr_get(DEBUG_LAS_N_OUTPUTRAY);
		las_n_outputray  = dr_exists(d) ? (int)d : 0;
		get_las_matrix();
		for(ipl=0; ipl<chamb->npl; ipl++){
			plane = &chamb->plane[ipl];
			plane->min_clst_size = cmin;
			plane->max_clst_size = cmax;
			plane->ana_2hit_clst = dr_is_true(dr_get(LAS_VDC_ANA_2HIT_CLUST));
			/* angular resolution of a plane */
			plane->ares = dr_get(LAS_ARES[ipl])*d2r;
			if(dr_is_nothing(plane->ares)) plane->ares = 1.05*d2r; /* default */
		}
		d = dr_get(LAS_N_VPLANE);
		chamb->nproj = dr_exists(d) ? min((int)d, MaxNIntPl) : 0;
		for(i=0; i<chamb->nproj; i++)
			dr_ref_n(spf("LAS_PLANE_%d",i), &chamb->h_proj[i]);
		dr_ref_n("LAS_XP", &chamb->h_x); /* projection points */
		dr_ref_n("LAS_YP", &chamb->h_y); /* projection points */
		chamb->ana_mult_clst = dr_is_true(dr_get(LAS_VDC_ANA_MULTI_CLUST));
		chamb->max_chi2 = dr_get(LAS_VDC_MAX_CHI2);
		if(dr_is_nothing(chamb->max_chi2))
			chamb->max_chi2 = 0.;

		fprintf(stderr, "LAS VDC multi-cluster analysis = %s\n",
						chamb->ana_mult_clst ? "ON" : "OFF");
		fprintf(stderr, "LAS VDC cluster size = %d <= nhit <= %d\n",
						cmin, cmax);
	}
	return(0);
}
Example #17
0
void LayoutTest::testFeatureCollector(const cv::Mat & src) const {
	
	rdf::Timer dt;

	// parse xml
	PageXmlParser parser;
	parser.read(mConfig.xmlPath());

	// test loading of label lookup
	LabelManager lm = LabelManager::read(mConfig.featureCachePath());
	qInfo().noquote() << lm.toString();

	// compute super pixels
	SuperPixel sp(src);

	if (!sp.compute())
		qCritical() << "could not compute super pixels!";

	// feed the label lookup
	SuperPixelLabeler spl(sp.getMserBlobs(), Rect(src));
	spl.setLabelManager(lm);

	// set the ground truth
	if (parser.page())
		spl.setRootRegion(parser.page()->rootRegion());

	if (!spl.compute())
		qCritical() << "could not compute SuperPixel labeling!";

	SuperPixelFeature spf(src, spl.set());
	if (!spf.compute())
		qCritical() << "could not compute SuperPixel features!";

	FeatureCollectionManager fcm(spf.features(), spf.set());
	fcm.write(spl.config()->featureFilePath());
	
	FeatureCollectionManager testFcm = FeatureCollectionManager::read(spl.config()->featureFilePath());

	for (int idx = 0; idx < testFcm.collection().size(); idx++) {

		if (testFcm.collection()[idx].label() != fcm.collection()[idx].label())
			qWarning() << "wrong labels!" << testFcm.collection()[idx].label() << "vs" << fcm.collection()[idx].label();
		else
			qInfo() << testFcm.collection()[idx].label() << "is fine...";
	}

	// drawing
	cv::Mat rImg = src.clone();

	// save super pixel image
	//rImg = superPixel.drawSuperPixels(rImg);
	//rImg = tabStops.draw(rImg);
	rImg = spl.draw(rImg);
	rImg = spf.draw(rImg);
	QString dstPath = rdf::Utils::instance().createFilePath(mConfig.outputPath(), "-textlines");
	rdf::Image::save(rImg, dstPath);
	qDebug() << "debug image saved: " << dstPath;

	qDebug() << "image path: " << mConfig.imagePath();

}