http://marcin-wiacek.fkn.pl/english/zips/mygnokii.tar.gz
[gnokii.git] / include / gnokii.h
1 /*
2
3   $Id$
4   
5   G N O K I I
6
7   A Linux/Unix toolset and driver for Nokia mobile phones.
8
9   Copyright (C) 1999, 2000 Hugh Blemings & Pavel Janík ml.
10
11   Released under the terms of the GNU GPL, see file COPYING for more details.
12
13   Header file for test utility.
14
15   $Log$
16   Revision 1.1.1.2  2001/12/14 19:49:13  short
17   :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Fri Dec 14 20:46 CET 2001
18
19   Revision 1.28  2001/12/14 14:37:44  pkot
20   Cleanups. Call divert support for at and 7110 series
21
22   Revision 1.27  2001/09/14 12:53:00  pkot
23   New preview logos.
24   Localization fixes.
25   Set valid operator on logos xgnokii screen.
26
27   Revision 1.26  2001/04/23 17:20:02  pkot
28   Added possibility for viewing logos (currently nol and ngg) on console (Bartek Klepacz)
29
30   Revision 1.25  2001/01/15 17:00:51  pkot
31   Initial keypress sequence support. Disable compilation warning
32
33   Revision 1.24  2000/12/19 16:18:19  pkot
34   configure script updates and added shared function for configfile reading
35
36   
37 */
38
39 /* Prototypes */
40
41 int monitormode(void);
42
43 #ifdef SECURITY
44   int entersecuritycode(char *type);
45   int getsecuritycodestatus(void);
46 #endif
47
48 int getmemory(int argc, char *argv[]);
49 int writephonebook(int argc, char *argv[]);
50 int getspeeddial(char *number);
51 int setspeeddial(char *argv[]);
52 int getsms(int argc, char *argv[]);
53 int deletesms(int argc, char *argv[]);
54 int sendsms(int argc, char *argv[]);
55 int savesms(int argc, char *argv[]);
56 int sendlogo(int argc, char *argv[]);
57 int sendringtone(int argc, char *argv[]);
58 int getsmsc(char *mcn);
59 int setdatetime(int argc, char *argv[]);
60 int getdatetime(void);
61 int setalarm(char *argv[]);
62 int getalarm(void);
63 int dialvoice(char *number);
64 int getcalendarnote(int argc, char *argv[]);
65 int writecalendarnote(char *argv[]);
66 int deletecalendarnote(int argc, char *argv[]);
67 int getdisplaystatus();
68 int netmonitor(char *_mode);
69 int identify(void);
70 int senddtmf(char *String);
71 int foogle(char *argv[]);
72 int pmon(void);
73 int setlogo(int argc, char *argv[]);
74 int getlogo(int argc, char *argv[]);
75 int viewlogo(char *);
76 int setringtone(int argc, char *argv[]);
77 int reset(char *type);
78 int getprofile(int argc, char *argv[]);
79 int displayoutput();
80 int presskeysequence();
81 int divert(int argc, char *argv[]);
82
83 typedef enum {
84   OPT_HELP,
85   OPT_VERSION,
86   OPT_MONITOR,
87   OPT_ENTERSECURITYCODE,
88   OPT_GETSECURITYCODESTATUS,
89   OPT_SETDATETIME,
90   OPT_GETDATETIME,
91   OPT_SETALARM,
92   OPT_GETALARM,
93   OPT_DIALVOICE,
94   OPT_GETCALENDARNOTE,
95   OPT_WRITECALENDARNOTE,
96   OPT_DELCALENDARNOTE,
97   OPT_GETDISPLAYSTATUS,
98   OPT_GETMEMORY,
99   OPT_WRITEPHONEBOOK,
100   OPT_GETSPEEDDIAL,
101   OPT_SETSPEEDDIAL,
102   OPT_GETSMS,
103   OPT_DELETESMS,
104   OPT_SENDSMS,
105   OPT_SAVESMS,
106   OPT_SENDLOGO,
107   OPT_SENDRINGTONE,
108   OPT_GETSMSC,
109   OPT_GETWELCOMENOTE,
110   OPT_SETWELCOMENOTE,
111   OPT_PMON,
112   OPT_NETMONITOR,
113   OPT_IDENTIFY,
114   OPT_SENDDTMF,
115   OPT_RESET,
116   OPT_SETLOGO,
117   OPT_GETLOGO,
118   OPT_VIEWLOGO,
119   OPT_SETRINGTONE,
120   OPT_GETPROFILE,
121   OPT_DISPLAYOUTPUT,
122   OPT_KEYPRESS,
123   OPT_DIVERT,
124   OPT_FOOGLE
125 } opt_index;
126
127 struct gnokii_arg_len {
128   int gal_opt;
129   int gal_min;
130   int gal_max;
131   int gal_flags;
132 };
133
134 /* This is used for checking correct argument count. If it is used then if
135    the user specifies some argument, their count should be equivalent to the
136    count the programmer expects. */
137
138 #define GAL_XOR 0x01
139
140 /* Constants for Profiles. */
141
142 #define PROFILE_OFF  0x00
143 #define PROFILE_ON   0x01
144
145 #define PROFILE_MESSAGE_NOTONE     0x00
146 #define PROFILE_MESSAGE_STANDARD   0x01
147 #define PROFILE_MESSAGE_SPECIAL    0x02
148 #define PROFILE_MESSAGE_BEEPONCE   0x03
149 #define PROFILE_MESSAGE_ASCENDING  0x04
150
151 #define PROFILE_WARNING_OFF  0xff
152 #define PROFILE_WARNING_ON   0x04
153
154 /* FIXME: Are these values correct or not? */
155
156 #define PROFILE_VIBRATION_OFF  0x00
157 #define PROFILE_VIBRATION_ON   0x01
158
159 #define PROFILE_CALLALERT_RINGING       0x01
160 #define PROFILE_CALLALERT_BEEPONCE      0x02
161 #define PROFILE_CALLALERT_OFF           0x04
162 #define PROFILE_CALLALERT_RINGONCE      0x05
163 #define PROFILE_CALLALERT_ASCENDING     0x06
164 #define PROFILE_CALLALERT_CALLERGROUPS  0x07
165
166 #define PROFILE_KEYPAD_OFF     0xff
167 #define PROFILE_KEYPAD_LEVEL1  0x00
168 #define PROFILE_KEYPAD_LEVEL2  0x01
169 #define PROFILE_KEYPAD_LEVEL3  0x02
170 //in 5110 I had also once 0x03
171
172 #define PROFILE_VOLUME_LEVEL1  0x06
173 #define PROFILE_VOLUME_LEVEL2  0x07
174 #define PROFILE_VOLUME_LEVEL3  0x08
175 #define PROFILE_VOLUME_LEVEL4  0x09
176 #define PROFILE_VOLUME_LEVEL5  0x0a
177
178 /* Nokia ringtones codes. */
179
180 char *RingingTones[] = {
181 /*  0 */ "Unknown",
182 /*  1 */ "Unknown",                 /* FIXME: probably not set. */
183 /*  2 */ "Unknown",
184 /*  3 */ "Unknown",
185 /*  4 */ "Unknown",
186 /*  5 */ "Unknown",
187 /*  6 */ "Unknown",
188 /*  7 */ "Unknown",
189 /*  8 */ "Unknown",
190 /*  9 */ "Unknown",
191 /* 10 */ "Unknown",                 /* FIXME: probably pre set. */
192 /* 11 */ "Unknown",
193 /* 12 */ "Unknown",
194 /* 13 */ "Unknown",
195 /* 14 */ "Unknown",
196 /* 15 */ "Unknown",
197 /* 16 */ "Unknown",
198 /* 17 */ "Uploaded",
199 /* 18 */ "Ring ring",
200 /* 19 */ "Low",
201 /* 20 */ "Fly",
202 /* 21 */ "Mosquito",
203 /* 22 */ "Bee",
204 /* 23 */ "Intro",
205 /* 24 */ "Etude",
206 /* 25 */ "Hunt",
207 /* 26 */ "Going up",
208 /* 27 */ "City Bird",
209 /* 28 */ "Unknown",
210 /* 29 */ "Unknown",
211 /* 30 */ "Chase",
212 /* 31 */ "Unknown",
213 /* 32 */ "Scifi",
214 /* 33 */ "Unknown",
215 /* 34 */ "Kick",
216 /* 35 */ "Do-mi-so",
217 /* 36 */ "Robo N1X",
218 /* 37 */ "Dizzy",
219 /* 38 */ "Unknown",
220 /* 39 */ "Playground",
221 /* 40 */ "Unknown",
222 /* 41 */ "Unknown",
223 /* 42 */ "Unknown",
224 /* 43 */ "That's it!",
225 /* 44 */ "Unknown",
226 /* 45 */ "Unknown",
227 /* 46 */ "Unknown",
228 /* 47 */ "Grande valse",   /* FIXME: Knock knock (Knock again). */
229 /* 48 */ "Helan",          /* FIXME: Grand valse on 5110. */
230 /* 49 */ "Fuga",           /* FIXME: Helan on 5110. */
231 /* 50 */ "Menuet",         /* FIXME: Fuga on 5110. */
232 /* 51 */ "Ode to Joy",
233 /* 52 */ "Elise",
234 /* 53 */ "Mozart 40",
235 /* 54 */ "Piano Concerto", /* FIXME: Mozart 40 on 5110. */
236 /* 55 */ "William Tell",
237 /* 56 */ "Badinerie",      /* FIXME: William Tell on 5110. */
238 /* 57 */ "Polka",          /* FIXME: Badinerie on 5110. */
239 /* 58 */ "Attraction",     /* FIXME: Polka on 5110. */
240 /* 59 */ "Unknown",        /* FIXME: Attraction on 5110. */
241 /* 60 */ "Polite",         /* FIXME: Down on 5110. */
242 /* 61 */ "Persuasion",
243 /* 62 */ "Unknown",        /* FIXME: Persuasion on 5110. */
244 /* 63 */ "Unknown",
245 /* 64 */ "Unknown",
246 /* 65 */ "Unknown",
247 /* 66 */ "Unknown",
248 /* 67 */ "Tick tick",
249 /* 68 */ "Samba",
250 /* 69 */ "Unknown",        /* FIXME: Samba on 5110. */
251 /* 70 */ "Orient",
252 /* 71 */ "Charleston",     /* FIXME: Orient on 5110. */
253 /* 72 */ "Unknown",        /* FIXME: Charleston on 5110. */
254 /* 73 */ "Jumping",        /* FIXME: Songette on 5110. */
255 /* 74 */ "Unknown",        /* FIXME: Jumping on 5110. */
256 /* 75 */ "Unknown",        /* FIXME: Lamb (Marry) on 5110. */
257 /* 76 */ "Unknown",
258 /* 77 */ "Unknown",
259 /* 78 */ "Unknown",
260 /* 79 */ "Unknown",
261 /* 80 */ "Unknown"         /* FIXME: Tango (Tangoed) on 5110. */
262 };