annotate src/rocklight/apple_pmu.c @ 346:76047737ea49 trunk

[svn] - rename plugin glue to plugin.c
author nenolod
date Fri, 08 Dec 2006 19:34:32 -0800
parents f3f77cbd58f3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
327
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
1 /***************************************************************************
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
2 * apple_pmu.c
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
3 *
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
4 * Sun Dec 03 01:07:42 2006
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
5 * Copyright 2006 Tony 'Chainsaw' Vroon
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
6 * chainsaw@gentoo.org
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
7 ****************************************************************************/
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
8
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
9 /*
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
13 * (at your option) any later version.
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
14 *
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
18 * GNU Library General Public License for more details.
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
19 *
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
23 */
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
24
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
25 #include <sys/types.h>
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
26 #include <sys/stat.h>
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
27 #include <fcntl.h>
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
28 #include <unistd.h>
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
29
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
30 int thinklight_open(void) {
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
31 return open("/sys/class/leds/pmu-front-led/brightness",O_RDWR);
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
32 }
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
33
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
34 void thinklight_close(int fd) {
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
35 close(fd);
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
36 }
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
37
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
38 int thinklight_set(int fd, int state) {
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
39 return write(fd,state?"255\n":"0\n",state?2:4);
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
40 }
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
41
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
42 int thinklight_get(int fd) {
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
43 char buf[256];
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
44 int ret=read(fd,&buf,sizeof(buf));
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
45
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
46 if(atoi(buf) == 255)
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
47 return 1;
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
48 else
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
49 return 0;
f3f77cbd58f3 [svn] Add support for Apple PMU front LED to Rocklight. Tested on PowerBook 5,9; works but is rather slow to update.
chainsaw
parents:
diff changeset
50 }