/* #define CMD_XCOMPAT 10 */
#define CMD_ALL 11
#define CMD_INFO 12
+#define CMD_CHANGE 13
#ifdef BB_FEATURE_FBSET_FANCY
-#define CMD_XRES 13
-#define CMD_YRES 14
-#define CMD_VXRES 15
-#define CMD_VYRES 16
-#define CMD_DEPTH 17
-#define CMD_MATCH 18
-#define CMD_PIXCLOCK 19
-#define CMD_LEFT 20
-#define CMD_RIGHT 21
-#define CMD_UPPER 22
-#define CMD_LOWER 23
-#define CMD_HSLEN 24
-#define CMD_VSLEN 25
-#define CMD_CSYNC 26
-#define CMD_GSYNC 27
-#define CMD_EXTSYNC 28
-#define CMD_BCAST 29
-#define CMD_RGBA 30
-#define CMD_STEP 31
-#define CMD_MOVE 32
+#define CMD_XRES 100
+#define CMD_YRES 101
+#define CMD_VXRES 102
+#define CMD_VYRES 103
+#define CMD_DEPTH 104
+#define CMD_MATCH 105
+#define CMD_PIXCLOCK 106
+#define CMD_LEFT 107
+#define CMD_RIGHT 108
+#define CMD_UPPER 109
+#define CMD_LOWER 110
+#define CMD_HSLEN 111
+#define CMD_VSLEN 112
+#define CMD_CSYNC 113
+#define CMD_GSYNC 114
+#define CMD_EXTSYNC 115
+#define CMD_BCAST 116
+#define CMD_RGBA 117
+#define CMD_STEP 118
+#define CMD_MOVE 119
#endif
static unsigned int g_options = 0;
"-hsync", 1, CMD_HSYNC}, {
"-vsync", 1, CMD_VSYNC}, {
"-laced", 1, CMD_LACED}, {
- "-double", 1, CMD_DOUBLE},
+ "-double", 1, CMD_DOUBLE}, {
+ "-help", 0, CMD_HELP}, {
+ "-n", 0, CMD_CHANGE}, {
#ifdef BB_FEATURE_FBSET_FANCY
- {
- "--help", 0, CMD_HELP}, {
+ "-help", 0, CMD_HELP}, {
"-all", 0, CMD_ALL}, {
"-xres", 1, CMD_XRES}, {
"-yres", 1, CMD_YRES}, {
"-vyres", 1, CMD_VYRES}, {
"-depth", 1, CMD_DEPTH}, {
"-match", 0, CMD_MATCH}, {
- "--geometry", 5, CMD_GEOMETRY}, {
+ "-geometry", 5, CMD_GEOMETRY}, {
"-pixclock", 1, CMD_PIXCLOCK}, {
"-left", 1, CMD_LEFT}, {
"-right", 1, CMD_RIGHT}, {
"-lower", 1, CMD_LOWER}, {
"-hslen", 1, CMD_HSLEN}, {
"-vslen", 1, CMD_VSLEN}, {
- "--timings", 7, CMD_TIMING}, {
+ "-timings", 7, CMD_TIMING}, {
"-csync", 1, CMD_CSYNC}, {
"-gsync", 1, CMD_GSYNC}, {
"-extsync", 1, CMD_EXTSYNC}, {
"-bcast", 1, CMD_BCAST}, {
"-rgba", 1, CMD_RGBA}, {
"-step", 1, CMD_STEP}, {
- "-move", 1, CMD_MOVE},
+ "-move", 1, CMD_MOVE}, {
#endif
- {
0, 0, 0}
};
static int readmode(struct fb_var_screeninfo *base, const char *fn,
const char *mode)
{
-#ifdef BB_FBSET_READMODE
+#ifdef BB_FEATURE_FBSET_READMODE
FILE *f;
char buf[256];
char *p = buf;
printf("\trgba %u/%u,%u/%u,%u/%u,%u/%u\n", v->red.length,
v->red.offset, v->green.length, v->green.offset, v->blue.length,
v->blue.offset, v->transp.length, v->transp.offset);
- printf("endmode\n");
+ printf("endmode\n\n");
}
static void fbset_usage(void)
{
+#ifndef BB_FEATURE_TRIVIAL_HELP
int i;
+#endif
#ifndef STANDALONE
fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n",
BB_VER, BB_BT);
#endif
fprintf(stderr, "Usage: fbset [options] [mode]\n");
- fprintf(stderr, "\tThe following options are recognized:\n");
+#ifndef BB_FEATURE_TRIVIAL_HELP
+ fprintf(stderr, "\nShows and modifies frame buffer device settings\n\n");
+ fprintf(stderr, "The following options are recognized:\n");
for (i = 0; g_cmdoptions[i].name; i++)
- fprintf(stderr, "\t\t%s\n", g_cmdoptions[i].name);
+ fprintf(stderr, "\t%s\n", g_cmdoptions[i].name);
+#endif
exit(-1);
}
varset.hsync_len = strtoul(argv[6], 0, 0);
varset.vsync_len = strtoul(argv[7], 0, 0);
break;
+ case CMD_CHANGE:
+ g_options |= OPT_CHANGE;
+ break;
#ifdef BB_FEATURE_FBSET_FANCY
case CMD_XRES:
varset.xres = strtoul(argv[1], 0, 0);
/* Don't close the file, as exiting will take care of that */
/* close(fh); */
- exit (TRUE);
+ return (TRUE);
}