aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/rc/rc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/rc/rc.h')
-rw-r--r--src/cmd/rc/rc.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/cmd/rc/rc.h b/src/cmd/rc/rc.h
index 0c006e3..720c6f2 100644
--- a/src/cmd/rc/rc.h
+++ b/src/cmd/rc/rc.h
@@ -32,6 +32,7 @@ enum
Rhere,
Rdupfd,
Ropen,
+ Rdup,
Rclose,
Rrdwr
};
@@ -45,7 +46,7 @@ struct Tree
char *str; // Tword
};
struct {
- ushort type; // Tpipe, Tredir, Tdup
+ ushort type; // Tpipe, Tredir, Tdup, There
int fd[2];
} redir;
};
@@ -198,10 +199,18 @@ int put(Io **, char);
void flush(Io *io);
void print(Io *, char *, ...);
+void printstr(Io *, char *);
+void printchar(Io *, int);
/* lex.c */
-int iswordchar(int c);
-int yylex(void);
+int yylex(void);
+void yyerror(const char *msg);
+
+void readhere(void);
+Tree *heredoc(Tree *);
+
+int iswordchar(int c);
+int isidentchar(int c);
/* tree.c */
Tree *maketree(void);
@@ -266,6 +275,7 @@ char **mkenv(void);
int compile(Tree *);
Code *copycode(Code *c);
void freecode(Code *c);
+void emitdelhere(char *);
/* glob.c */
#define GLOB ((char)(0x01))