ash: [VAR] Fix poplocalvar leak
[oweals/busybox.git] / shell / shell_common.h
index 7c8e8c356e5b8915ea5d1e7bd765b275599d60a8..a82535c8672333e67fc87134db1f297e5a4db32c 100644 (file)
  * Copyright (c) 2010 Denys Vlasenko
  * Split from ash.c
  *
- * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 #ifndef SHELL_COMMON_H
 #define SHELL_COMMON_H 1
 
 PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
 
-extern const char defifsvar[]; /* "IFS= \t\n" */
+extern const char defifsvar[] ALIGN1; /* "IFS= \t\n" */
 #define defifs (defifsvar + 4)
 
+extern const char defoptindvar[] ALIGN1; /* "OPTIND=1" */
+
 int FAST_FUNC is_well_formed_var_name(const char *s, char terminator);
 
+/* Builtins */
+
+enum {
+       BUILTIN_READ_SILENT = 1 << 0,
+       BUILTIN_READ_RAW    = 1 << 1,
+};
+const char* FAST_FUNC
+shell_builtin_read(void FAST_FUNC (*setvar)(const char *name, const char *val),
+       char       **argv,
+       const char *ifs,
+       int        read_flags,
+       const char *opt_n,
+       const char *opt_p,
+       const char *opt_t,
+       const char *opt_u
+);
+
+int FAST_FUNC
+shell_builtin_ulimit(char **argv);
+
 POP_SAVED_FUNCTION_VISIBILITY
 
 #endif