source: vendor/gawk/3.1.5/vms/vms.h

Last change on this file was 3076, checked in by bird, 18 years ago

gawk 3.1.5

File size: 3.1 KB
Line 
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/* note: `ulong' and `u_long' end up conflicting with various header files */
43typedef unsigned long U_Long;
44typedef unsigned short U_Short;
45
46typedef struct _dsc { int len; char *adr; } Dsc; /* limited string descriptor */
47 /* standard VMS itemlist-3 structure */
48typedef 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
55extern int shell$is_shell P((void));
56extern U_Long lib$find_file P((const Dsc *, Dsc *, void *, ...));
57extern U_Long lib$find_file_end P((void *));
58#ifndef NO_TTY_FWRITE
59extern U_Long lib$get_ef P((long *));
60extern U_Long sys$assign P((const Dsc *, short *, long, const Dsc *));
61extern U_Long sys$dassgn P((short));
62extern U_Long sys$qio P((U_Long, U_Long, U_Long, void *,
63 void (*)(U_Long), U_Long,
64 const char *, int, int, U_Long, int, int));
65extern U_Long sys$synch P((long, void *));
66#endif /*!NO_TTY_FWRITE*/
67extern U_Long lib$spawn P((const Dsc *,const Dsc *,const Dsc *,
68 const U_Long *,const Dsc *,U_Long *,U_Long *,...));
69 /* system services for logical name manipulation */
70extern U_Long sys$trnlnm P((const U_Long *,const Dsc *,const Dsc *,
71 const unsigned char *,Itm *));
72extern U_Long sys$crelnm P((const U_Long *,const Dsc *,const Dsc *,
73 const unsigned char *,const Itm *));
74extern U_Long sys$crelog P((int,const Dsc *,const Dsc *,unsigned char));
75extern U_Long sys$dellnm P((const Dsc *,const Dsc *,const unsigned char *));
76
77extern void v_add_arg P((int, const char *));
78extern void vms_exit P((int));
79extern char *vms_strerror P((int));
80extern char *vms_strdup P((const char *));
81extern int vms_devopen P((const char *,int));
82extern int vms_execute P((const char *, const char *, const char *));
83extern int vms_gawk P((void));
84extern U_Long Cli_Present P((const char *));
85extern U_Long Cli_Get_Value P((const char *, char *, int));
86extern U_Long Cli_Parse_Command P((const void *, const char *));
87
Note: See TracBrowser for help on using the repository browser.