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