http://marcin-wiacek.fkn.pl/english/zips/mygnokii.tar.gz
[gnokii.git] / gnokii / gnokii.h
diff --git a/gnokii/gnokii.h b/gnokii/gnokii.h
new file mode 100644 (file)
index 0000000..dbcf972
--- /dev/null
@@ -0,0 +1,278 @@
+/*
+
+  G N O K I I
+
+  A Linux/Unix toolset and driver for Nokia mobile phones.
+
+  Released under the terms of the GNU GPL, see file COPYING for more details.
+
+  Header file for test utility.
+
+*/
+
+/* Prototypes */
+
+int monitormode(int argc, char *argv[]);
+
+#ifdef SECURITY
+  int entersecuritycode(char *type);
+  int getsecuritycodestatus(void);
+  int getsecuritycode(char *type);
+#endif
+
+#ifdef DEBUG
+  int sniff(int nargc, char *nargv[]);
+  int decodefile(int nargc, char *nargv[]); 
+#endif
+
+int getmemory(int argc, char *argv[]);
+int writephonebook(int argc, char *argv[]);
+int getspeeddial(char *number);
+int setspeeddial(char *argv[]);
+int getsms(int argc, char *argv[]);
+int renamesmsc(int argc, char *argv[]);
+int deletesms(int argc, char *argv[]);
+int sendsms(int argc, char *argv[]);
+int savesms(int argc, char *argv[]);
+int sendlogo(int argc, char *argv[]);
+int savelogo(int argc, char *argv[]);
+int sendringtone(int argc, char *argv[]);
+int saveringtone(int argc, char *argv[]);
+int getsmsc(char *mcn);
+int setdatetime(int argc, char *argv[]);
+int getdatetime(void);
+int setalarm(char *argv[]);
+int getalarm(void);
+int dialvoice(char *number);
+int cancelcall(void);
+int getcalendarnote(int argc, char *argv[]);
+int writecalendarnote(char *argv[]);
+int deletecalendarnote(char *index);
+int getdisplaystatus();
+int netmonitor(char *_mode);
+int identify(void);
+int senddtmf(char *String);
+int foogle(char *argv[]);
+int pmon(void);
+int setlogo(int argc, char *argv[]);
+int getlogo(int argc, char *argv[]);
+int binringtoneconvert(int argc, char *argv[]);
+int setringtone(int argc, char *argv[]);
+int getringtone(int argc, char *argv[]);
+int reset(int argc, char *argv[]);
+int getprofile(int argc, char *argv[]);
+int setprofile(int argc, char *argv[]);
+int allringtones();
+int displayoutput();
+int presskeysequence(char *argv[]);
+int restoresettings(char *argv[]);
+int backupsettings(char *argv[]);
+int playringtone(int argc, char *argv[]);
+int ringtoneconvert(int argc, char *argv[]);
+int bitmapconvert(int argc, char *argv[]);
+int composer(int argc, char *argv[]);
+int getphoneprofile();
+int setphoneprofile(int argc, char *argv[]);
+int getoperatorname();
+int setoperatorname(int argc, char *argv[]);
+int getvoicemailbox();
+int phonetests();
+int simlockinfo();
+int geteeprom ();
+int setsimlock ();
+int getsmsfolders ();
+int resetphonesettings ();
+int sendprofile(int argc, char *argv[]);
+int showbitmap(int argc, char *argv[]);
+int nm_collect(int argc, char *argv[]);
+int netmonitordata(int argc, char *argv[]);
+int getwapbookmark(int argc, char *argv[]);
+int setwapbookmark(int argc, char *argv[]);
+int savewapbookmark(int argc, char *argv[]);
+int sendwapbookmark(int argc, char *argv[]);
+int getwapsettings(int argc, char *argv[]);
+int savewapsettings(int argc, char *argv[]);
+int sendwapsettings(int argc, char *argv[]);
+int savecalendarnote(int argc, char *argv[]);
+int sendcalendarnote(int argc, char *argv[]);
+int receivesms(int argc, char *argv[]);
+int getsmsstatus(int argc, char *argv[]);
+int divert(int argc, char *argv[]);
+int savephonebookentry(int argc, char *argv[]);
+int sendphonebookentry(int argc, char *argv[]);
+
+typedef enum {
+  OPT_HELP,
+  OPT_VERSION,
+  OPT_MONITOR,
+  OPT_ENTERSECURITYCODE,
+  OPT_GETSECURITYCODESTATUS,
+  OPT_GETSECURITYCODE,
+  OPT_SETDATETIME,
+  OPT_GETDATETIME,
+  OPT_SETALARM,
+  OPT_GETALARM,
+  OPT_DIALVOICE,
+  OPT_CANCELCALL,
+  OPT_GETCALENDARNOTE,
+  OPT_WRITECALENDARNOTE,
+  OPT_DELCALENDARNOTE,
+  OPT_GETDISPLAYSTATUS,
+  OPT_GETMEMORY,
+  OPT_WRITEPHONEBOOK,
+  OPT_GETSPEEDDIAL,
+  OPT_SETSPEEDDIAL,
+  OPT_GETSMS,
+  OPT_DELETESMS,
+  OPT_SENDSMS,
+  OPT_SAVESMS,
+  OPT_GETSMSC,
+  OPT_RENAMESMSC,
+  OPT_PMON,
+  OPT_NETMONITOR,
+  OPT_NM_COLLECT,
+  OPT_NETMONITORDATA,
+  OPT_IDENTIFY,
+  OPT_SENDDTMF,
+  OPT_RESET,
+  OPT_SETLOGO,
+  OPT_GETLOGO,
+  OPT_SENDLOGO,
+  OPT_SAVELOGO,
+  OPT_BITMAPCONVERT,
+  OPT_SENDRINGTONE,
+  OPT_SAVERINGTONE,
+  OPT_SETRINGTONE,
+  OPT_PLAYRINGTONE,
+  OPT_RINGTONECONVERT,
+  OPT_COMPOSER,
+  OPT_ALLRINGTONES,
+  OPT_GETRINGTONE,
+  OPT_SNIFFER,
+  OPT_GETPROFILE,
+  OPT_SETPROFILE,
+  OPT_DISPLAYOUTPUT,
+  OPT_PRESSKEYSEQUENCE,
+  OPT_RESTORESETTINGS,
+  OPT_BACKUPSETTINGS,
+  OPT_GETPHONEPROFILE,
+  OPT_SETPHONEPROFILE,
+  OPT_GETOPERATORNAME,
+  OPT_SETOPERATORNAME,
+  OPT_GETVOICEMAILBOX,
+  OPT_PHONETESTS,
+  OPT_FOOGLE,
+  OPT_SIMLOCKINFO,
+  OPT_SETSIMLOCK,
+  OPT_GETEEPROM=128,
+  OPT_GETSMSFOLDERS=129,
+  OPT_RESETPHONESETTINGS=130,
+  OPT_SENDPROFILE=131,
+  OPT_SHOWBITMAP=132,
+  OPT_BINRINGTONECONVERT=133,
+  OPT_GETWAPBOOKMARK=134,
+  OPT_SAVEWAPBOOKMARK=135,
+  OPT_SENDWAPBOOKMARK=136,
+  OPT_GETWAPSETTINGS=137,
+  OPT_SAVEWAPSETTINGS=138,
+  OPT_SAVECALENDARNOTE=139,
+  OPT_SENDCALENDARNOTE=140,
+  OPT_SAVEPHONEBOOKENTRY=141,
+  OPT_SENDPHONEBOOKENTRY=142,
+  OPT_DECODEFILE=143,
+  OPT_RECEIVESMS=144,
+  OPT_GETSMSSTATUS=145,
+  OPT_DIVERT=146,
+  OPT_SENDWAPSETTINGS=147,
+  OPT_SETWAPBOOKMARK=148
+} opt_index;
+
+struct gnokii_arg_len {
+  int gal_opt;
+  int gal_min;
+  int gal_max;
+  int gal_flags;
+};
+
+/* This is used for checking correct argument count. If it is used then if
+   the user specifies some argument, their count should be equivalent to the
+   count the programmer expects. */
+
+#define GAL_XOR 0x01
+
+/* for --presskeysequence */
+struct keys_table_position {
+  char whatchar;
+  int whatcode;
+};
+
+/* for --presskeysequence */
+struct keys_table_position Keys[] = {
+{'m',PHONEKEY_MENU},
+{'M',PHONEKEY_MENU},
+{'n',PHONEKEY_NAMES},
+{'N',PHONEKEY_NAMES},
+{'p',PHONEKEY_POWER},
+{'P',PHONEKEY_POWER},
+{'u',PHONEKEY_UP},
+{'U',PHONEKEY_UP},
+{'d',PHONEKEY_DOWN},
+{'D',PHONEKEY_DOWN},
+{'+',PHONEKEY_INCREASEVOLUME},
+{'-',PHONEKEY_DECREASEVOLUME},
+{'1',PHONEKEY_1},
+{'2',PHONEKEY_2},
+{'3',PHONEKEY_3},
+{'4',PHONEKEY_4},
+{'5',PHONEKEY_5},
+{'6',PHONEKEY_6},
+{'7',PHONEKEY_7},
+{'8',PHONEKEY_8},
+{'9',PHONEKEY_9},
+{'*',PHONEKEY_ASTERISK},
+{'0',PHONEKEY_0},
+{'#',PHONEKEY_HASH},
+{'g',PHONEKEY_GREEN},
+{'G',PHONEKEY_GREEN},
+{'r',PHONEKEY_RED},
+{'R',PHONEKEY_RED},
+{' ',0}
+};
+
+/* for NETMONITOR */
+
+//maximal number of screens for --nm_collect
+#define MAX_NM_COLLECT 20
+
+/* 255 used internally by functions */
+#define NM_MAX_SCREEN 254
+
+/* in 6150 v4.13 effectively used was 296 FIELDS + date + time ... */
+#define NM_MAX_FIELDS 512      
+
+typedef struct {
+       char *name;
+       int x;
+       int y;
+       int len;
+       char *mname;
+       int s_nr;
+       char type;
+       char value[NM_MAX_SCREEN_WIDTH];
+       void *next;
+} PARAM_INFO_MON;
+
+// info for make ouput, filled in by parse_process()
+typedef struct {
+       int req_header;
+       unsigned long req_wait;
+       int req_n;
+       char req_fs[11];
+       char req_ls[11];
+       PARAM_INFO_MON *data[NM_MAX_FIELDS];
+       char out_f[NM_MAX_FIELDS];
+       unsigned char req_screen[NM_MAX_SCREEN];
+} OUT_INFO_MON;
+
+int semicolon_pipe_substitution( GSM_PhonebookEntry *pentry, unsigned int direction );
+int str_substch( char *str, const char toric, const char sost );