home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gnu / gawk-2.15.5-src.lha / gawk-2.15.5 / vms / vms.h < prev    next >
C/C++ Source or Header  |  1994-01-04  |  3KB  |  85 lines

  1. /*
  2.  * vms.h - miscellaneous definitions for use with VMS system services.
  3.  *                            Pat Rankin, Nov'89
  4.  */
  5.  
  6. #if 0
  7. #include <iodef.h>
  8. #else
  9. #define IO$_WRITEVBLK    48    /* write virtual block */
  10. #define IO$V_CANCTRLO    6    /* cancel <ctrl/O> (ie, resume tty output) */
  11. #define IO$M_CANCTRLO    (1 << IO$V_CANCTRLO)
  12. #endif
  13.  
  14. #if 0
  15. #include <clidef.h>
  16. #include <cliverbdef.h>
  17. #include <fscndef.h>
  18. #else
  19. #define CLI$K_GETCMD    1
  20. #define CLI$K_VERB_MCR    33
  21. #define CLI$K_VERB_RUN    36
  22. #define FSCN$_FILESPEC    1
  23. #endif
  24.  
  25. #if 0
  26. #include <climsgdef.h>
  27. #else
  28. #define CLI$_RUNUSED    0x00030000    /* value returned by $CLI for "RUN" */
  29. #define CLI$_SYNTAX    0x000310FC    /* error signalled by CLI$DCL_PARSE */
  30. #define CLI$_INSFPRM    0x00038048    /* insufficient parameters */
  31. #define CLI$_VALREQ    0x00038150    /* missing required value  */
  32. #define CLI$_CONFLICT    0x00038258    /* conflicting qualifiers  */
  33. #define CLI$_NOOPTPRS    0x00038840    /* no option present       */
  34. #endif
  35.  
  36. #if 0
  37. #include <psldef.h>
  38. #else
  39. #define PSL$C_USER    3    /* user mode */
  40. #endif
  41.  
  42. #if !defined(_TYPES_) || !defined(__GNUC__)
  43. typedef unsigned long    u_long;
  44. typedef unsigned short    u_short;
  45. #endif
  46. typedef struct _dsc { int len; char *adr; } Dsc; /* limited string descriptor */
  47.  /* standard VMS itemlist-3 structure */
  48. typedef struct _itm { u_short len, code; void *buffer; u_short *retlen; } Itm;
  49.  
  50. #define vmswork(sts) ((sts)&1)
  51. #define vmsfail(sts) (!vmswork(sts))
  52. #define CondVal(sts) ((sts)&0x0FFFFFF8)     /* strip severity & msg inhibit */
  53. #define Descrip(strdsc,strbuf) Dsc strdsc = {sizeof strbuf - 1, (char *)strbuf}
  54.  
  55. extern int    shell$is_shell P((void));
  56. extern u_long LIB$FIND_FILE P((const Dsc *, Dsc *, void *, ...));
  57. extern u_long LIB$FIND_FILE_END P((void *));
  58. #ifndef NO_TTY_FWRITE
  59. extern u_long LIB$GET_EF P((long *));
  60. extern u_long SYS$ASSIGN P((const Dsc *, short *, long, const Dsc *));
  61. extern u_long SYS$DASSGN P((short));
  62. extern u_long SYS$QIO P((u_long, u_long, u_long, void *, void (*)(), u_long,
  63.              const char *, int, int, u_long, int, int));
  64. extern u_long SYS$SYNCH P((long, void *));
  65. #endif    /*!NO_TTY_FWRITE*/
  66.  /* system services for logical name manipulation */
  67. extern u_long SYS$TRNLNM P((const u_long *,const Dsc *,const Dsc *,
  68.                 const unsigned char *,Itm *));
  69. extern u_long SYS$CRELNM P((const u_long *,const Dsc *,const Dsc *,
  70.                 const unsigned char *,const Itm *));
  71. extern u_long SYS$CRELOG P((int,const Dsc *,const Dsc *,unsigned char));
  72. extern u_long SYS$DELLNM P((const Dsc *,const Dsc *,const unsigned char *));
  73.  
  74. extern void   v_add_arg P((int, const char *));
  75. extern void   vms_exit P((int));
  76. extern char  *vms_strerror P((int));
  77. extern char  *vms_strdup P((const char *));
  78. extern int    vms_devopen P((const char *,int));
  79. extern int    vms_execute P((const char *, const char *, const char *));
  80. extern int    vms_gawk P((void));
  81. extern u_long Cli_Present P((const char *));
  82. extern u_long Cli_Get_Value P((const char *, char *, int));
  83. extern u_long Cli_Parse_Command P((const void *, const char *));
  84.  
  85.