Initial import of code
[flashlight-appl] / src / flashlight_lib.h
1 /*
2  *  Flashlight applet (widget) for Maemo.
3  *  Copyright (C) 2009 Roman Moravcik
4  *
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.
9  *
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.
14  *
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
18  */
19
20 #ifndef FLASHLIGHT_LIB_H
21 #define FLASHLIGHT_LIB_H
22
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
27
28 struct FlashlightContext {
29         /* device name */
30         char device_name[15];
31
32         /* file descriptor of device */
33         int fd;
34
35         int min_intensity;
36         int max_intensity;
37 };
38
39 typedef struct FlashlightContext FlashlightContext_t;
40
41 int flashlight_init (FlashlightContext_t **flashlight);
42 int flashlight_deinit (FlashlightContext_t *flashlight);
43
44 int flashlight_open (FlashlightContext_t *flashlight, const char *device_name);
45 int flashlight_close (FlashlightContext_t *flashlight);
46
47 int flashlight_set_intensity (FlashlightContext_t *flashlight, int intensity);
48 int flashlight_get_intensity (FlashlightContext_t *flashlight, int *intensity);
49
50 int flashlight_get_status (FlashlightContext_t *flashlight, int *status);
51
52 #endif