## TBATM155

[This is preliminary documentation and subject to change.]

### SUMMARY

This sample is an NDIS 5 connection-oriented miniport driver for the Toshiba 155Mbps ATM adapter. It illustrates NDIS 5 features such as connection-oriented (deserialized) operation, new NDIS DMA APIs, multiple packet sends, and WMI.

This driver supports Plug and Play and works on both x86 and Alpha platforms. The code is 64-bit compliant, and builds properly with Microsoft® Visual C® 6.0.

### BUILDING THE SAMPLE

Run the build command from this directory to build the sample—it creates the binary Tbatm155.sys.

### TOOLS

The NDISTEST tool can be used to test some of the features of this driver.

### RESOURCES

Not applicable.

### CODE TOUR

#### File Manifest

    Files          Description

    Tbatm155.htm   The documentation for this sample (this file).

    Sources        The input file for building the code with the Microsoft® Windows® 2000 DDK build utility.

    Makefile       The required makefile that includes the standard Windows 2000 DDK file Makefile.inc.

    Tbatm155.mof   Definitions of private WMI GUIDs.

    Debug.h        Debugging definitions and declarations for the checked build driver.

    Hw.h           Definitions and declarations related to adapter registers and configuration.

    Peephole.h     Definitions and declarations related to off-chip SRAM and devices.

    Plc_2.h        Definitions and declarations related to Toshiba PLC2 PHY hardware.

    Precomp.h      Header file including all other header files to facilitate precompiled headers.

    Protos.h       Function prototypes exported from other modules.

    Sar.h          Data structure definitions and declarations the Toshiba ATM 155 ASIC register set.

    Suni_lit.h     Definitions for the PMC S/UNI-Lite hardware.

    Support.h      Definitions and macros for support routines.

    Sw.h           Definitions and declarations of the main data structures for the driver.

    Tbatm155.h     Declarations of module identifiers and driver global data.

    Tbatmdet.h     Macros for CSR access.

    Tbmeteor.h     Definitions related to 1K and 4K VCs.

    Version.h      Definitions of driver version information.

    Data.c         Definitions of global data.

    Debug.c        Checked build debugging support routines.

    Init.c         DriverEntry and other initialization routines.

    Int.c          Interrupt processing routines.

    Peephole.c     Routines to read/write off-chip SRAM and devices.

    Plc_2.c        Routines for Toshiba PLC2 PHY hardware.

    Receive.c      Routines for receive data handling.

    Request.c      Routines for request handling.

    Reset.c        Routines for reset processing.

    Send.c         Routines for send data handling.

    Suni_lit.c     Routines for PMC S/UNI-Lite hardware.

    Support.c      General support routines.

    Tbmeteor.c     Routines for Toshiba ATM155 Meteor hardware.

    Vc.c           Routines for management virtual circuits.

#### Programming Tour

Some of the features illustrated in this driver are listed below, along with the files that contain the feature.

1. NDIS 5: Connection-Oriented miniport; the driver handles multiple VCs per Adapter, and sends and receives on these VCs (see Vc.c, Send.c, and Receive.c).
2. NDIS 5: WMI: The driver supports some private GUIDs (see Request.c and Tbatm155.mof).
3. NDIS 5: New DMA APIs for sending (see Init.c and Send.c).
4. NDIS 5: Connection-Oriented reset handling (see Reset.c).

Top of page

© 1999 Microsoft Corporation