home *** CD-ROM | disk | FTP | other *** search
- /* COPYRIGHT 1990 BY VICTOR SCHNEIDER. ALL RIGHTS RESERVED */
-
- /* THIS PROGRAM IS A DOS-SPECIFIC EXAMPLE. IT IS MEANT TO BE USED */
- /* BY INTERPETED PASCAL PROGRAMS LIKE `BIOSTEST.PAS'; NOTE THE SEMI- */
- /* PORTABLE METHOD FOR PASSING A POINTER TO biosequip: */
-
- /* PASCAL DECLARATION TO CALL biosequip AS AN EXTERNAL:
-
- PROCEDURE biosequip; EXTERNAL;
-
- */
-
- /* THIS C PROGRAM USES FAR POINTERS, AND SHOULD BE COMPILED IN far OR */
- /* huge MODEL TO CALL THE APPROPRIATE VERSION OF biosequip() FROM YOUR C */
- /* COMPILER'S LIBRARY: */
-
- #include <limits.h>
- #include <stdlib.h>
- #include <stdio.h>
- #if defined(TURBC) || defined(MIX)
- int huge biosequip(void);
- #else
- int far _bios_equiplist(void);
- #endif
-
- #define CHR(x) ((unsigned char)(x))
- #define ORD(x) ((unsigned)(x))
-
- #define LToFar(x) ((void far *)((void huge *)(x)))
- #define FarToL(x) ((unsigned long)((void huge *)((void far *)(x))))
- #define BEGIN {
- #define END ;}
- #define IF if (
- #define THEN )
- #define ELSE else
- #define FOR for (
- #define AS ;(
- #define BY );
- #define DO )
- #define CASE switch (
- #define OF ){
- typedef enum {FALSE,TRUE} BOOLEAN;
- typedef double REAL;
- typedef char * ALPHA;
-
- void far main(int argc, char *argv[])
- BEGIN
- int far *FarPtr;
- /* RETURN A FUNCTION VALUE TO THE INTERPRETER VIA FarPtr: */
- sscanf(argv[1], "%Fp", &FarPtr);
- #if defined(TURBC) || defined(MIX)
- *FarPtr = biosequip()
- #else
- *FarPtr = _bios_equiplist()
- #endif
- END
-