URI: 
       tbacklight.c - droid4-sys - Droid4 tools
  HTML git clone git://parazyd.org/droid4-sys.git | https://git.parazyd.org/droid4-sys
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
       tbacklight.c (1079B)
       ---
            1 #include <stdio.h>
            2 #include <stdlib.h>
            3 #include <string.h>
            4 
            5 #include "arg.h"
            6 
            7 char *argv0;
            8 
            9 void usage(void) {
           10         fprintf(stderr, "usage: %s [-l|-k] [on|off]\n", argv0);
           11         exit(1);
           12 }
           13 
           14 int main(int argc, char *argv[]) {
           15         const char *kbd_backlight = "/sys/class/leds/kbd_backlight/brightness";
           16         const char *lcd_backlight = "/sys/class/backlight/lcd/brightness";
           17         int iskbd = 0, islcd = 0, state = -1;
           18         char *act = NULL;
           19         FILE *fd = NULL;
           20 
           21         ARGBEGIN {
           22         case 'l':
           23                 islcd = 1;
           24                 act = EARGF(usage());
           25                 break;
           26         case 'k':
           27                 iskbd = 1;
           28                 act = EARGF(usage());
           29                 break;
           30         default:
           31                 usage();
           32         } ARGEND;
           33 
           34         if ((islcd && iskbd) || (!islcd && !iskbd))
           35                 usage();
           36 
           37         if (!strcmp(act, "on"))
           38                 state = 1;
           39         else if (!strcmp(act, "off"))
           40                 state = 0;
           41         if (state < 0)
           42                 usage();
           43 
           44         if (islcd)
           45                 fd = fopen(lcd_backlight, "w");
           46         if (iskbd)
           47                 fd = fopen(kbd_backlight, "w");
           48 
           49         if (fd == NULL) {
           50                 fprintf(stderr, "Unable to open file for writing.\n");
           51                 return 1;
           52         }
           53 
           54         if (islcd)
           55                 fprintf(fd, "%d", state==0 ? 0 : 200);
           56         if (iskbd)
           57                 fprintf(fd, "%d", state==0 ? 0 : 255);
           58 
           59         fclose(fd);
           60 
           61         return 0;
           62 }