|
|
1.1 ! root 1: This directory contains the following files, which illustrate the ! 2: use of VioRegister. ! 3: ! 4: register.c Contains shared memory initialization and VioRegister call. ! 5: ! 6: access.c Accesses the shared memory allocated in register and ! 7: incremented in the VioWrtTTy replacement routine. ! 8: ! 9: share.h Defines the shared memory layout used by register, access ! 10: and viosub. ! 11: ! 12: viorout.asm Contains the VIO replacement router. This routine is linked ! 13: with viosub.obj, and violib.def to produce the dynamic link ! 14: module. ! 15: ! 16: viosub.c Contains the replacement routine, called replace. ! 17: This routine is linked with violib.def and viorout.obj ! 18: to produce a dynamic link module containing a dynamic link ! 19: entry point for replace. ! 20: ! 21: violib.def Contains dll creation information ! 22: ! 23: testN.dat Different size data files for VioWrtTTy to read from ! 24: ! 25: vioreg Makefile ! 26: ! 27: ! 28: In this example, VioWrtTTy is registered in a VioRegister call from ! 29: Register.c Register then makes calls to VioWrtTTy, at which time the ! 30: VIO router is invoked. The router passes control to the replacement ! 31: router (Viorout.asm), which calls the replacement routine, found in ! 32: Viosub.c. The routine increments counters in shared memory, showing ! 33: that it actually received control and was able to access the VioWrtTTy ! 34: parameters. The replacement routine returns (-1), signalling the VIO ! 35: router to invoke VioWrtTTy which continues with its normal operation. ! 36: ! 37: A DosStartSession call in register.c starts access.exe in a seperate ! 38: screen group, which looks at the shared memory and prints the current ! 39: values. RAM semaphores interleave access.exe and the replacement ! 40: routine in updating and printing the values in shared memory. ! 41: ! 42: There can be one and only one VioRegister call outstanding at a time ! 43: within a screen group without an intervening VioDeRegister. Because ! 44: the VioRegister call only allows one entry point name, a replacement ! 45: router becomes necessary so that many replacement routines can be ! 46: used, and registered at one time. ! 47: ! 48: ! 49: Usage: register 1|2|3 ! 50: 1, 2, and 3 specify a file for VioWrtTTy to read from ! 51: ! 52: Access.exe will be the active screen. When you type CTRL-C ! 53: to quit, you will return to the session manager. To view ! 54: the output of the VioWrtTTy calls in register.exe, return ! 55: to the original screen group.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.