示例#1
0
文件: dump.c 项目: bhanug/harvey
int
Ufmt(Fmt *f)
{
	int i;
	Dev *d;
	Usbdev *ud;
	char buf[1024];
	char *s, *e;

	s = buf;
	e = buf+sizeof(buf);
	d = va_arg(f->args, Dev*);
	if(d == nil)
		return fmtprint(f, "<nildev>\n");
	s = seprint(s, e, "%s", d->dir);
	ud = d->usb;
	if(ud == nil)
		return fmtprint(f, "%s %ld refs\n", buf, d->Ref.ref);
	s = seprint(s, e, " csp %s.%uld.%uld",
		classname(Class(ud->csp)), Subclass(ud->csp), Proto(ud->csp));
	s = seprint(s, e, " vid %#ux did %#ux", ud->vid, ud->did);
	s = seprint(s, e, " refs %ld\n", d->Ref.ref);
	s = seprint(s, e, "\t%s %s %s\n", ud->vendor, ud->product, ud->serial);
	for(i = 0; i < Nconf; i++){
		if(ud->conf[i] == nil)
			break;
		else
			s = seprintconf(s, e, ud, i);
	}
	return fmtprint(f, "%s", buf);
}
示例#2
0
bool
WebExtensionPolicy::Enable()
{
  MOZ_ASSERT(!mActive);

  if (!EPS().RegisterExtension(*this)) {
    return false;
  }

  Unused << Proto()->SetSubstitution(MozExtensionHostname(), mBaseURI);

  mActive = true;
  return true;
}
示例#3
0
bool
WebExtensionPolicy::Disable()
{
  MOZ_ASSERT(mActive);
  MOZ_ASSERT(EPS().GetByID(Id()) == this);

  if (!EPS().UnregisterExtension(*this)) {
    return false;
  }

  Unused << Proto()->SetSubstitution(MozExtensionHostname(), nullptr);

  mActive = false;
  return true;
}
示例#4
0
文件: dump.c 项目: bhanug/harvey
static char *
seprintiface(char *s, char *e, Iface *i)
{
	int	j;
	Altc	*a;
	Ep	*ep;
	char	*eds, *ets;

	s = seprint(s, e, "\t\tiface csp %s.%uld.%uld\n",
		classname(Class(i->csp)), Subclass(i->csp), Proto(i->csp));
	for(j = 0; j < Naltc; j++){
		a=i->altc[j];
		if(a == nil)
			break;
		s = seprint(s, e, "\t\t  alt %d attr %d ival %d",
			j, a->attrib, a->interval);
		if(a->aux != nil)
			s = seprint(s, e, " devspec %p\n", a->aux);
		else
			s = seprint(s, e, "\n");
	}
	for(j = 0; j < Nep; j++){
		ep = i->ep[j];
		if(ep == nil)
			break;
		eds = ets = "";
		if(ep->dir <= nelem(edir))
			eds = edir[ep->dir];
		if(ep->type <= nelem(etype))
			ets = etype[ep->type];
		s = seprint(s, e, "\t\t  ep id %d addr %d dir %s type %s"
			" itype %d maxpkt %d ntds %d\n",
			ep->id, ep->addr, eds, ets, ep->isotype,
			ep->maxpkt, ep->ntds);
	}
	return s;
}