2 * Flashlight applet (widget) for Maemo.
3 * Copyright (C) 2009, 2010 Roman Moravcik
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 #ifndef FLASHLIGHT_LIB_H
21 #define FLASHLIGHT_LIB_H
23 #define FLASHLIGHT_STATUS_SHORT_CIRCUT_FAULT 0x0001
24 #define FLASHLIGHT_STATUS_OVERTEMPERATURE_FAULT 0x0002
25 #define FLASHLIGHT_STATUS_TIMEOUT_FAULT 0x0004
26 #define FLASHLIGHT_STATUS_OVERVOLTAGE_FAULT 0x0008
38 struct FlashlightContext {
42 /* file descriptor of device */
48 unsigned int n_buffers;
49 struct buffer *buffers;
52 typedef struct FlashlightContext FlashlightContext_t;
54 int flashlight_init (FlashlightContext_t **flashlight);
55 int flashlight_deinit (FlashlightContext_t *flashlight);
57 int flashlight_open (FlashlightContext_t *flashlight, const char *device_name);
58 int flashlight_close (FlashlightContext_t *flashlight);
60 int flashlight_set_intensity (FlashlightContext_t *flashlight, int intensity);
61 int flashlight_get_intensity (FlashlightContext_t *flashlight, int *intensity);
63 int flashlight_get_status (FlashlightContext_t *flashlight, int *status);