Specifications
System Macros Invoked by Drivers
DPTAB
[vector]
Address of a driver-specific transfer vector. A terminal port driver specifies the
address of its vector table in this argument.
name
Name of the device driver. The driver-loading procedure will permit the loading
of only one copy of the driver associated with this name. A driver name can be
up to 11 alphabetic characters and, by convention, is formed by appending the
string DRIVER to the 2-alphabetic-character generic device name, for example,
QBDRIVER. (Digital reserves to customers driver names beginning with the
letters J and Q.)
[psect=$$$105_PROLOGUE]
Program section in which the DPT is created. The default value of this argument
is required for all non-Digital-supplied device drivers.
[smp=NO]
Indication of whether the driver is suitably synchronized to execute in a
multiprocessing system. Note that use of any of the spinlock synchronization
macros in a device driver causes the DPTAB macro to indicate multiprocessing
synchronization.
[decode]
Offset to name used by workstation windowing software.
Description
The DPTAB macro, in conjunction with invocations of the DPT_STORE macro,
creates a driver prologue table (DPT). The DPTAB macro places information in
the DPT that allows the driver-loading procedure to identify the driver and the
devices it supports. The DPTAB macro, in invoking the $SPLCODDEF definition
macro, also defines the spin lock indexes used in the DPT_STORE, FORKLOCK,
and LOCK macros.
Example
DPTAB - ;DPT-creation macro
END=XA_END,- ;End of driver label
ADAPTER=UBA,- ;Adapter type
FLAGS=<DPT$M_SVP!- ;Allocate permanent SPTE
DPT$M_SMPMOD>,- ;Multiprocessing driver
UCBSIZE=UCB$K_SIZE,- ;UCB size
NAME=XADRIVER ;Driver name
DPT_STORE INIT ;Start of load initialization table
DPT_STORE UCB,UCB$B_FLCK,B,-
SPL$C_IOLOCK8 ;Fork lock index
DPT_STORE UCB,UCB$B_DIPL,B,22 ;Device interrupt IPL
DPT_STORE UCB,UCB$L_DEVCHAR,L,<- ;Device characteristics
DEV$M_AVL!- ;Available
DEV$M_RTM!- ;Real time device
DEV$M_ELG!- ;Error-logging enabled
DEV$M_IDV!- ;Input device
DEV$M_ODV> ;Output device
2–23