Regenerate generated files.

Change-Id: I7c353a8c75fc6de1210e78b5729491e6dbfbe778
diff --git a/.config b/.config
index fa119c8..43760de 100644
--- a/.config
+++ b/.config
@@ -41,6 +41,7 @@
 CONFIG_ENV=y
 CONFIG_EXPAND=y
 CONFIG_FALSE=y
+# CONFIG_FILE is not set
 CONFIG_FIND=y
 CONFIG_GREP=y
 CONFIG_EGREP=y
diff --git a/generated/config.h b/generated/config.h
index a021c78..5a8de80 100644
--- a/generated/config.h
+++ b/generated/config.h
@@ -68,6 +68,8 @@
 #define USE_EXPAND(...) __VA_ARGS__
 #define CFG_FALSE 1
 #define USE_FALSE(...) __VA_ARGS__
+#define CFG_FILE 0
+#define USE_FILE(...)
 #define CFG_FIND 1
 #define USE_FIND(...) __VA_ARGS__
 #define CFG_GREP 1
diff --git a/generated/flags.h b/generated/flags.h
index 11352cc..a5e8659 100644
--- a/generated/flags.h
+++ b/generated/flags.h
@@ -695,6 +695,14 @@
 #undef FLAG_C
 #endif
 
+// file   <1
+#undef OPTSTR_file
+#define OPTSTR_file  0 
+#ifdef CLEANUP_file
+#undef CLEANUP_file
+#undef FOR_file
+#endif
+
 // find ?^HL[-HL] ?^HL[-HL]
 #undef OPTSTR_find
 #define OPTSTR_find "?^HL[-HL]"
@@ -816,12 +824,13 @@
 #undef FOR_getenforce
 #endif
 
-// getprop >2 >2
+// getprop >2Z >2Z
 #undef OPTSTR_getprop
-#define OPTSTR_getprop ">2"
+#define OPTSTR_getprop ">2Z"
 #ifdef CLEANUP_getprop
 #undef CLEANUP_getprop
 #undef FOR_getprop
+#undef FLAG_Z
 #endif
 
 // getty   <2t#<0H:I:l:f:iwnmLh
@@ -3004,12 +3013,14 @@
 #undef FLAG_I
 #endif
 
-// xxd >1c#<1>4096=16l#g#<1=2 >1c#<1>4096=16l#g#<1=2
+// xxd >1c#<1>4096=16l#g#<1=2pr >1c#<1>4096=16l#g#<1=2pr
 #undef OPTSTR_xxd
-#define OPTSTR_xxd ">1c#<1>4096=16l#g#<1=2"
+#define OPTSTR_xxd ">1c#<1>4096=16l#g#<1=2pr"
 #ifdef CLEANUP_xxd
 #undef CLEANUP_xxd
 #undef FOR_xxd
+#undef FLAG_r
+#undef FLAG_p
 #undef FLAG_g
 #undef FLAG_l
 #undef FLAG_c
@@ -3616,6 +3627,12 @@
 #define FLAG_C (FORCED_FLAG<<5)
 #endif
 
+#ifdef FOR_file
+#ifndef TT
+#define TT this.file
+#endif
+#endif
+
 #ifdef FOR_find
 #ifndef TT
 #define TT this.find
@@ -3719,6 +3736,7 @@
 #ifndef TT
 #define TT this.getprop
 #endif
+#define FLAG_Z (1<<0)
 #endif
 
 #ifdef FOR_getty
@@ -5561,9 +5579,11 @@
 #ifndef TT
 #define TT this.xxd
 #endif
-#define FLAG_g (1<<0)
-#define FLAG_l (1<<1)
-#define FLAG_c (1<<2)
+#define FLAG_r (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_g (1<<2)
+#define FLAG_l (1<<3)
+#define FLAG_c (1<<4)
 #endif
 
 #ifdef FOR_xzcat
diff --git a/generated/globals.h b/generated/globals.h
index 58a1ff2..66be64b 100644
--- a/generated/globals.h
+++ b/generated/globals.h
@@ -3,6 +3,7 @@
 struct getprop_data {
   size_t size;
   char **nv; // name/value pairs: even=name, odd=value
+  struct selabel_handle *handle;
 };
 
 // toys/example/hello.c
@@ -505,6 +506,12 @@
   long cylinders;
 };
 
+// toys/pending/file.c
+
+struct file_data {
+  int max_name_len;
+};
+
 // toys/pending/fold.c
 
 struct fold_data {
@@ -1349,6 +1356,7 @@
 	struct dumpleases_data dumpleases;
 	struct expr_data expr;
 	struct fdisk_data fdisk;
+	struct file_data file;
 	struct fold_data fold;
 	struct fsck_data fsck;
 	struct ftpget_data ftpget;
diff --git a/generated/help.h b/generated/help.h
index d123157..46eeed7 100644
--- a/generated/help.h
+++ b/generated/help.h
@@ -88,7 +88,7 @@
 
 #define HELP_yes "usage: yes [args...]\n\nRepeatedly output line until killed. If no args, output 'y'.\n\n\n"
 
-#define HELP_xxd "usage: xxd [-c n] [-g n] [-l n] [file]\n\nHexdump a file to stdout.  If no file is listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-c n	Show n bytes per line (default 16).\n-g n	Group bytes by adding a ' ' every n bytes (default 2).\n-l n	Limit of n bytes before stopping (default is no limit).\n\n"
+#define HELP_xxd "usage: xxd [-c n] [-g n] [-l n] [-p] [-r] [file]\n\nHexdump a file to stdout.  If no file is listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-c n	Show n bytes per line (default 16).\n-g n	Group bytes by adding a ' ' every n bytes (default 2).\n-l n	Limit of n bytes before stopping (default is no limit).\n-p	Plain hexdump (30 bytes/line, no grouping).\n-r	Reverse operation: turn a hexdump into a binary file.\n\n"
 
 #define HELP_which "usage: which [-a] filename ...\n\nSearch $PATH for executable files matching filename(s).\n\n-a	Show all matches\n\n"
 
@@ -206,7 +206,7 @@
 
 #define HELP_hostid "usage: hostid\n\nPrint the numeric identifier for the current host.\n\n"
 
-#define HELP_hexedit "usage: hexedit FILENAME\n\nHexadecimal file editor.\n\n-r	Read only (display but don't edit)\n\n"
+#define HELP_hexedit "usage: hexedit FILENAME\n\nHexadecimal file editor. All changes are written to disk immediately.\n\n-r	Read only (display but don't edit)\n\nKeys:\nArrows        Move left/right/up/down by one line/column\nPg Up/Pg Dn   Move up/down by one page\n0-9, a-f      Change current half-byte to hexadecimal value\nu             Undo\nq/^c/^d/<esc> Quit\n\n"
 
 #define HELP_help "usage: help [-ah] [command]\n\nShow usage information for toybox commands.\nRun \"toybox\" with no arguments for a list of available commands.\n\n-h	HTML output\n-a	All commands\n"
 
@@ -352,6 +352,8 @@
 
 #define HELP_fold "usage: fold [-bsu] [-w WIDTH] [FILE...]\n\nFolds (wraps) or unfolds ascii text by adding or removing newlines.\nDefault line width is 80 columns for folding and infinite for unfolding.\n\n-b	Fold based on bytes instead of columns\n-s	Fold/unfold at whitespace boundaries if possible\n-u	Unfold text (and refold if -w is given)\n-w	Set lines to WIDTH columns or bytes\n\n"
 
+#define HELP_file "usage: file [file...]\n\nExamine the given files and describe their content types.\n\n"
+
 #define HELP_fdisk "usage: fdisk [-lu] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SECTSZ] DISK\n\nChange partition table\n\n-u            Start and End are in sectors (instead of cylinders)\n-l            Show partition table for each DISK, then exit\n-b size       sector size (512, 1024, 2048 or 4096)\n-C CYLINDERS  Set number of cylinders/heads/sectors\n-H HEADS\n-S SECTORS\n\n"
 
 #define HELP_expr "usage: expr ARG1 OPERATOR ARG2...\n\nEvaluate expression and print result. For example, \"expr 1 + 2\".\n\nThe supported operators are (grouped from highest to lowest priority):\n\n  ( )    :    * / %    + -    != <= < >= > =    &    |\n\nEach constant and operator must be a separate command line argument.\nAll operators are infix, meaning they expect a constant (or expression\nthat resolves to a constant) on each side of the operator. Operators of\nthe same priority (within each group above) are evaluated left to right.\nParentheses may be used (as separate arguments) to elevate the priority\nof expressions.\n\nCalling expr from a command shell requires a lot of \\( or '*' escaping\nto avoid interpreting shell control characters.\n\nThe & and | operators are logical (not bitwise) and may operate on\nstrings (a blank string is \"false\"). Comparison operators may also\noperate on strings (alphabetical sort).\n\nConstants may be strings or integers. Comparison, logical, and regex\noperators may operate on strings (a blank string is \"false\"), other\noperators require integers.\n\n"
diff --git a/generated/newtoys.h b/generated/newtoys.h
index 35d6c6e..6ad9ea1 100644
--- a/generated/newtoys.h
+++ b/generated/newtoys.h
@@ -64,6 +64,7 @@
 USE_FALSE(NEWTOY(false, NULL, TOYFLAG_BIN))
 USE_FDISK(NEWTOY(fdisk, "C#<0H#<0S#<0b#<512ul", TOYFLAG_SBIN))
 USE_FGREP(OLDTOY(fgrep, grep, TOYFLAG_BIN))
+USE_FILE(NEWTOY(file, "<1", TOYFLAG_USR|TOYFLAG_BIN))
 USE_FIND(NEWTOY(find, "?^HL[-HL]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_FLOCK(NEWTOY(flock, "<1>1nsux[-sux]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_FOLD(NEWTOY(fold, "bsuw#<1", TOYFLAG_USR|TOYFLAG_BIN))
@@ -76,7 +77,7 @@
 USE_FTPGET(NEWTOY(ftpget, "<2cvu:p:P#<0=21>65535", TOYFLAG_BIN))
 USE_FTPGET(OLDTOY(ftpput, ftpget, TOYFLAG_BIN))
 USE_GETENFORCE(NEWTOY(getenforce, ">0", TOYFLAG_USR|TOYFLAG_SBIN))
-USE_GETPROP(NEWTOY(getprop, ">2", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_GETPROP(NEWTOY(getprop, ">2Z", TOYFLAG_USR|TOYFLAG_SBIN))
 USE_GETTY(NEWTOY(getty, "<2t#<0H:I:l:f:iwnmLh",TOYFLAG_SBIN))
 USE_GREP(NEWTOY(grep, "C#B#A#ZzEFHabhinorsvwclqe*f*m#x[!wx][!EFw]", TOYFLAG_BIN))
 USE_GROUPADD(NEWTOY(groupadd, "<1>2g#<0S", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
@@ -261,7 +262,7 @@
 USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN))
 USE_WHOAMI(OLDTOY(whoami, logname, TOYFLAG_USR|TOYFLAG_BIN))
 USE_XARGS(NEWTOY(xargs, "^I:E:L#ptxrn#<1s#0", TOYFLAG_USR|TOYFLAG_BIN))
-USE_XXD(NEWTOY(xxd, ">1c#<1>4096=16l#g#<1=2", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XXD(NEWTOY(xxd, ">1c#<1>4096=16l#g#<1=2pr", TOYFLAG_USR|TOYFLAG_BIN))
 USE_XZCAT(NEWTOY(xzcat, NULL, TOYFLAG_USR|TOYFLAG_BIN))
 USE_YES(NEWTOY(yes, NULL, TOYFLAG_USR|TOYFLAG_BIN))
 USE_ZCAT(NEWTOY(zcat, 0, TOYFLAG_USR|TOYFLAG_BIN))