Mercurial > audlegacy-plugins
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 |
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 } |