CONTENTS Title Page Copyright Page Preface 1 Introduction to Programming VAX WAN Device Drivers Part I DSV11, DST32, and DSB32 Drivers 2 DSV11, DST32, and DSB32 Driver Function Codes 2.1 Read 2.2 Write 2.3 Set Mode and Set Characteristics 2.3.1 Set Controller Mode 2.3.1.1 P1 Parameter 2.3.1.2 P2 Parameter 2.3.1.3 P3 Parameter 2.3.2 Set DDCMP Mode 2.3.3 Shut Down Controller 2.3.4 Shut Down DDCMP 2.3.5 Enable Attention AST 2.3.6 Using Non-DDCMP Protocols 2.3.6.1 BISYNC 2.4 Sense Mode 2.4.1 The IO$_CLEAN Function 2.5 Modem Control 2.5.1 General Information 2.5.2 Full Duplex 2.5.3 Half Duplex 2.6 Modem Status 3 Getting Information about the DSV11, DST32, and DSB32 Drivers 3.1 How to Get Information 3.1.1 DSV11, DST32, and DSB32 Driver Characteristics 3.1.2 DSV11, DST32, and DSB32 Device and Line Status 3.1.3 DSV11, DST32, and DSB32 Error Summary 4 DSV11, DST32, and DSB32 I/O Status Block 5 DSV11, DST32, and DSB32 I/O Function Codes 5.1 Function Codes and Function Modifiers 5.2 QIO Status Returns 6 Tuning Your System Part II DMB32 Driver 7 DMB32 Function Codes 7.1 Read 7.2 Write 7.3 Set Mode and Set Characteristics 7.3.1 Set Controller Mode 7.3.1.1 Parameter P1 7.3.1.2 Parameter P2 7.3.1.3 Parameter P3 7.3.2 Using Non-DDCMP Protocols 7.3.2.1 BISYNC 7.3.2.2 GENBYTE 7.3.2.3 Parameters for GENBYTE Operation 7.3.2.4 The IO$_CLEAN Function 7.3.3 Set DDCMP Mode 7.3.4 Shutdown Controller 7.3.5 Shutdown DDCMP 7.3.6 Enable Attention AST 7.4 Sense Mode 7.5 Modem Control 7.5.1 Modem Control Modes 7.5.1.1 No Modem Control 7.5.1.2 Full Duplex with Continuous RTS 7.5.1.3 Half Duplex 7.6 Diagnostic Support 7.6.1 Read Line Unit Modem Status 7.6.2 Maintenance Modem Control Function 8 Getting Information about the DMB32 Driver 8.1 Unit Characteristic Bits 8.2 Status Bits 8.3 Error Summary Bits 9 DMB32 I/O Status Block 10 DMB32 I/O Function Codes 10.1 DMB32 Function Codes 10.2 QIO Status Returns Part III Appendixes A Modem Control State Transitions B The GENBYTE Protocol B.1 The Framing Routine B.2 QIO Parameters Used in GENBYTE Operation B.2.1 IO$_SETMODE P2 Parameter B.2.2 IO$_WRITEBLK P4 Parameter B.3 Other Aspects of GENBYTE Operation B.4 How to Use GENBYTE B.5 A Sample Framing Routine for a Subset of the IBM BISYNC Protocol C DMB32 Programming Example C.1 Example Program FIGURES 1-1 Programming a VAX WAN Device Driver 2-1 P1 Characteristics Buffer (Set Controller) 2-2 P2 Extended Characteristics Buffer 2-3 P1 Characteristics Buffer (Set DDCMP) 3-1 Longword Returned by $GETDVI 4-1 IOSB Contents 4-2 IOSB Reporting Invalid Parameter 7-1 P1 Characteristics Buffer (Set Controller) 7-2 P2 Extended Characteristics Buffer 7-3 P1 Characteristics Buffer (Set DDCMP) 7-4 Set Mode P1 Block 9-1 IOSB Contents A-1 Full Duplex Modem Control A-2 Half Duplex Modem Control TABLES 2-1 DSV11, DST32, and DSB32 Driver I/O Functions 2-2 DSV11, DST32, and DSB32 Characteristics 2-3 P2 Extended Characteristics Values 2-4 Clock Speed Values 2-5 P2 Extended Characteristics Values 2-6 Modem Status Bits 3-1 DST32 Device Characteristics 3-2 DSV11, DST32, and DSB32 Driver Characteristics 3-3 DSV11, DST32, and DSB32 Device and Line Status 3-4 DSV11, DST32, and DSB32 Error Summary 5-1 DSV11, DST32, and DSB32 Function Codes 5-2 DSV11, DST32, and DSB32 QIO Status Returns 6-1 Adjusting SRP, LRP, and Buffer Size 7-1 DMB32 I/O Functions 7-2 DMB32 Characteristics 7-3 P2 Extended Characteristics Values 7-4 P2 Extended Characteristics Values 8-1 Device Characteristics 8-2 DMB32 Unit Characteristics 8-3 DMB32 Unit and Line Status 8-4 Error Summary Bits B-1 Extra P2 Parameters for GENBYTE