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