home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / b / b430 / 1.ddi / UTILS / EXTERNAL / WZTOOLS.H < prev   
Encoding:
C/C++ Source or Header  |  1990-06-15  |  1.4 KB  |  56 lines

  1. /********************
  2. # SCCS identification:
  3. ********************/
  4. /* @(#) wztools.h version: 1.1 date: 6/5/90";
  5. *--------------------------------------------------------------------------*/
  6.  
  7.  
  8. #ifndef numfuncs
  9. #define numfuncs    1
  10. #endif
  11.  
  12. /* This is for OS/2 and Windows */
  13. #if defined(OS2) || defined(WN)
  14. #define LOADDS _loadds
  15. #define WZFUNC void FAR LOADDS
  16. #define WZMAINFUNC PROUT FAR LOADDS
  17. /* This is for other platforms */
  18. #else
  19. #define FAR
  20. #define LOADDS
  21. #define WZFUNC PROUT
  22. #define WZMAINFUNC PROUT
  23. #endif
  24.  
  25. typedef struct _RELT             /* Routine list element         */
  26.     {
  27.     void        (FAR LOADDS *pfunc)(struct _val *, struct _val *);
  28.     char        FAR *name;            /* Routine name     */
  29.     short     narg;                 /* Number of arguments            */
  30.    } RELT,  FAR *PRELT;
  31.  
  32. typedef struct _ROUT             /* Routine list                    */
  33.     {
  34.     short     nrout;                /* Number of routines            */
  35.     void        (FAR LOADDS *exitfunc)(void);  /* Func pntr to exit routine  */
  36.     RELT        relts[numfuncs];    /* Func pntr to routine         */
  37.    } ROUT, FAR *PROUT;
  38.  
  39. /* flag values for arguments and returns    */
  40. #define    NUMERIC        0
  41. #define    STRING        1
  42. #define    ERR            2
  43.  
  44. typedef struct _val
  45.     {
  46.     union
  47.         {
  48.         double            numeric;         /* numeric argument or return */
  49.         unsigned char    FAR *string;          /* text argument or return      */
  50.         short             err;                /* error argument or return    */
  51.         unsigned long    private[3];     /* private WingzB information  */
  52.         } val;
  53.  
  54.     short     flag;                 /* type of argument or return */
  55.     } VAL, FAR *PVAL;
  56.