示例#1
0
static void 
memdevfs_init()
{
    mem_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 0, DV_CHR, 
			 UID_ROOT, GID_KMEM, 0640, "mem");
    kmem_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 1, DV_CHR,
			 UID_ROOT, GID_KMEM, 0640, "kmem");
    null_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 2, DV_CHR, 
			 UID_ROOT, GID_WHEEL, 0666, "null");
    random_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 3, DV_CHR, 
			 UID_ROOT, GID_WHEEL, 0644, "random");
    urandom_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 4, DV_CHR, 
			 UID_ROOT, GID_WHEEL, 0644, "urandom");
    zero_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 12, DV_CHR, 
			 UID_ROOT, GID_WHEEL, 0666, "zero");
    io_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 14, DV_CHR, 
			 UID_ROOT, GID_WHEEL, 0600, "io");
#ifdef PERFMON
    perfmon_devfs_token = 
	devfs_add_devswf(&mem_cdevsw, 32, DV_CHR, 
			 UID_ROOT, GID_KMEM, 0640, "perfmon");
#endif /* PERFMON */
}
示例#2
0
文件: i4b_trace.c 项目: MarginC/kame
isdntrcattach()
#endif
{
	int i;
	
	for(i=0; i < NISDNTRC; i++)
	{

#if defined(__FreeBSD__)
#if __FreeBSD__ < 4

#ifdef DEVFS
	  	devfs_token[i]
		  = devfs_add_devswf(&i4btrc_cdevsw, i, DV_CHR,
				     UID_ROOT, GID_WHEEL, 0600,
				     "isdntrc%d", i);
#endif

#else
		make_dev(&i4btrc_cdevsw, i,
				     UID_ROOT, GID_WHEEL, 0600, "isdntrc%d", i);
#endif
#endif
		trace_queue[i].ifq_maxlen = IFQ_MAXLEN;
		device_state[i] = ST_IDLE;
	}
}
示例#3
0
i4bctlattach()
#endif
{
#ifndef HACK_NO_PSEUDO_ATTACH_MSG
	printf("i4bctl: ISDN system control port attached\n");
#endif
#ifdef DEVFS
	devfs_token = devfs_add_devswf(&i4bctl_cdevsw, 0, DV_CHR,
				       UID_ROOT, GID_WHEEL, 0600,
				       "i4bctl");
#endif
}
isdnctlattach(void)
#endif
{

#if defined(__FreeBSD__)
#if __FreeBSD__ == 3

#ifdef DEVFS
	devfs_token = devfs_add_devswf(&i4bctl_cdevsw, 0, DV_CHR,
				       UID_ROOT, GID_WHEEL, 0600,
				       "i4bctl");
#endif

#else
	make_dev(&i4bctl_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "i4bctl");
#endif
#endif
}
示例#5
0
文件: i4b_i4bdrv.c 项目: MarginC/kame
isdnattach()
#endif
{
	i4b_rdqueue.ifq_maxlen = IFQ_MAXLEN;

#if defined(__FreeBSD__)
#if __FreeBSD__ == 3

#ifdef DEVFS
	devfs_token = devfs_add_devswf(&i4b_cdevsw, 0, DV_CHR,
				       UID_ROOT, GID_WHEEL, 0600,
				       "i4b");
#endif

#else
	make_dev(&i4b_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "i4b");
#endif
#endif
}
isdnbchanattach(void)
#endif
{
	int i;

	rbch_driver_id = isdn_l4_driver_attach("isdnbchan", NISDNBCHAN, &rbch_driver_functions);

	for(i=0; i < NISDNBCHAN; i++)
	{
#if defined(__FreeBSD__)
#if __FreeBSD__ == 3

#ifdef DEVFS
		rbch_softc[i].devfs_token =
			devfs_add_devswf(&isdnbchan_cdevsw, i, DV_CHR,
				     UID_ROOT, GID_WHEEL, 0600,
				     "isdnbchan%d", i);
#endif

#else
		make_dev(&isdnbchan_cdevsw, i,
			UID_ROOT, GID_WHEEL, 0600, "isdnbchan%d", i);
#endif
#endif

#if I4BRBCHACCT
#if defined(__FreeBSD__)
		callout_handle_init(&rbch_softc[i].sc_callout);
#endif
#if defined(__NetBSD__) && __NetBSD_Version__ >= 104230000
		callout_init(&rbch_softc[i].sc_callout, 0);
		selinit(&rbch_softc[i].selp);
#endif
		rbch_softc[i].sc_fn = 1;
#endif
		rbch_softc[i].sc_unit = i;
		rbch_softc[i].sc_devstate = ST_IDLE;
		rbch_softc[i].sc_hdlcq.ifq_maxlen = I4BRBCHMAXQLEN;
		rbch_softc[i].it_in.c_ispeed = rbch_softc[i].it_in.c_ospeed = 64000;
		termioschars(&rbch_softc[i].it_in);
	}
}
示例#7
0
i4battach()
#endif
{
#ifndef HACK_NO_PSEUDO_ATTACH_MSG
	printf("i4b: ISDN call control device attached\n");
#endif
	i4b_rdqueue.ifq_maxlen = IFQ_MAXLEN;

#if defined(__FreeBSD__)
#if __FreeBSD__ == 3

#ifdef DEVFS
	devfs_token = devfs_add_devswf(&i4b_cdevsw, 0, DV_CHR,
				       UID_ROOT, GID_WHEEL, 0600,
				       "i4b");
#endif

#else
	make_dev(&i4b_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "i4b");
#endif
#endif
}
示例#8
0
i4btelattach()
#endif
{
	int i;

#ifndef HACK_NO_PSEUDO_ATTACH_MSG
	printf("i4btel: %d ISDN telephony interface device(s) attached\n", NI4BTEL);
#endif
	
	for(i=0; i < NI4BTEL; i++)
	{
		tel_sc[i].devstate = ST_IDLE;
		tel_sc[i].audiofmt = CVT_NONE;
		tel_init_linktab(i);
#ifdef DEVFS
	  	tel_sc[i].devfs_token
		  = devfs_add_devswf(&i4btel_cdevsw, i, DV_CHR,
				     UID_ROOT, GID_WHEEL, 0600,
				     "i4btel%d", i);
#endif
	}
}
示例#9
0
static int
gscattach(struct isa_device *isdp)
{
  int unit = isdp->id_unit;
  struct gsc_unit *scu = unittab + unit;

  scu->flags |= FLAG_DEBUG;

  lprintf(("gsc%d.attach: "
	 "iobase 0x%03x, irq %d, drq %d, addr %p, size %d\n",
	 unit,
	 isdp->id_iobase,
	 isdp->id_irq,
	 isdp->id_drq,
	 isdp->id_maddr,
	 isdp->id_msize));

  printf("gsc%d: GeniScan GS-4500 at %ddpi\n",
	 unit, geomtab[scu->geometry].dpi);

  /*
   * Initialize buffer structure.
   * XXX this must be done early to give a good chance of getting a
   * contiguous buffer.  This wastes memory.
   */
  scu->sbuf.base = contigmalloc((unsigned long)MAX_BUFSIZE, M_DEVBUF, M_NOWAIT,
				0ul, 0xfffffful, 1ul, 0x10000ul);
  if ( scu->sbuf.base == NULL )
    {
      lprintf(("gsc%d.attach: buffer allocation failed\n", unit));
      return ATTACH_FAIL;	/* XXX attach must not fail */
    }
  scu->sbuf.size = INVALID;
  scu->sbuf.poi  = INVALID;

  scu->blen = DEFAULT_BLEN;
  scu->btime = TIMEOUT;

  scu->flags |= ATTACHED;
  lprintf(("gsc%d.attach: ok\n", unit));
  scu->flags &= ~FLAG_DEBUG;
#ifdef DEVFS
#define GSC_UID 0
#define GSC_GID 13
    scu->devfs_gsc = 
		devfs_add_devswf(&gsc_cdevsw, unit<<6, DV_CHR, GSC_UID, GSC_GID,
				 0666, "gsc%d", unit);
    scu->devfs_gscp = 
		devfs_add_devswf(&gsc_cdevsw, ((unit<<6) + FRMT_PBM), DV_CHR, 
				 GSC_UID,  GSC_GID, 0666, "gsc%dp", unit);
    scu->devfs_gscd = 
		devfs_add_devswf(&gsc_cdevsw, ((unit<<6) + DBUG_MASK), DV_CHR, 
				 GSC_UID,  GSC_GID, 0666, "gsc%dd", unit);
    scu->devfs_gscpd = 
		devfs_add_devswf(&gsc_cdevsw, ((unit<<6) + DBUG_MASK+FRMT_PBM),
				 DV_CHR, GSC_UID,  GSC_GID, 0666, "gsc%dpd", 
				 unit);
#endif /*DEVFS*/

  return ATTACH_SUCCESS;
}