1: /*
   2:  * Copyright (c) 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)ubavar.h	1.1 (2.10BSD Berkeley) 12/1/86
   7:  */
   8: 
   9: /*
  10:  * Per ``device'' structure.
  11:  *
  12:  * This structure contains all the information necessary to run
  13:  * a unibus device such as a dz or a dh.  It also contains information
  14:  * for slaves of unibus controllers as to which device on the slave
  15:  * this is.  A flags field here can also be given in the system specification
  16:  * and is used to tell which dz lines are hard wired or other device
  17:  * specific parameters.
  18:  */
  19: struct uba_device {
  20:     struct  uba_driver *ui_driver;
  21:     short   ui_unit;    /* unit number on the system */
  22:     short   ui_ubanum;  /* the uba it is on */
  23:     caddr_t ui_addr;    /* address of device in i/o space */
  24:     long    ui_flags;   /* parameter from system specification */
  25:     short   ui_alive;   /* device exists */
  26: };
  27: 
  28: /*
  29:  * Per-driver structure.
  30:  *
  31:  * Each unibus driver defines entries for a set of routines
  32:  * as well as an array of types which are acceptable to it.
  33:  *
  34:  * This is silly; clean it up.  KB
  35:  */
  36: struct uba_driver {
  37:     int (*ud_probe)();      /* see if a driver is really there */
  38:     int (*ud_slave)();      /* see if a slave is there */
  39:     int (*ud_attach)();     /* setup driver for a slave */
  40:     int (*ud_dgo)();        /* fill csr/ba to start transfer */
  41:     u_short *ud_addr;       /* device csr addresses */
  42:     char    *ud_dname;      /* name of a device */
  43:     struct  uba_device **ud_dinfo;  /* backpointers to ubdinit structs */
  44: };
  45: 
  46: /*
  47:  * Flags to UBA map/bdp allocation routines
  48:  */
  49: #define UBA_NEEDBDP 0x01        /* transfer needs a bdp */
  50: #define UBA_CANTWAIT    0x02        /* don't block me */
  51: #define UBA_NEED16  0x04        /* need 16 bit addresses only */
  52: #define UBA_HAVEBDP 0x08        /* use bdp specified in high bits */
  53: 
  54: ubadr_t uballoc();
  55: #define ubarelse(a,b)
  56: ubadr_t ubmalloc();

Defined struct's

uba_device defined in line 19; used 162 times

Defined macros

UBA_HAVEBDP defined in line 52; never used
UBA_NEED16 defined in line 51; used 2 times
ubarelse defined in line 55; used 1 times

Usage of this include

Last modified: 1987-09-02
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 978
Valid CSS Valid XHTML 1.0 Strict