FreeCalypso > hg > fc-magnetite
annotate src/g23m-fad/app/app_cmds.c @ 500:094ecae40880
OSL: os_sem_ir.c compiles
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 24 Jun 2018 22:42:26 +0000 | 
| parents | 90eb61ecd093 | 
| children | 
| rev | line source | 
|---|---|
| 174 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | File: app_cmds.c | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 +------------------------------------------------------------------------------ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | Copyright 2004 Texas Instruments Berlin, AG | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | All rights reserved. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | This file is confidential and a trade secret of Texas | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | Instruments Berlin, AG | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | The receipt of or possession of this file does not convey | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | any rights to reproduce or disclose its contents or to | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | manufacture, use, or sell anything it may describe, in | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | whole, or in part, without the specific written consent of | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | Texas Instruments Berlin, AG. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 +----------------------------------------------------------------------------- | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | Purpose : Example application for TCP/IP and Socket API -- command parser. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 +----------------------------------------------------------------------------- | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 #define APP_CMDS_C | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 #ifdef FF_GPF_TCPIP | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 #define ENTITY_APP | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 /*==== INCLUDES =============================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 #include <string.h> /* String functions, e. g. strncpy(). */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 #include <ctype.h> | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 #include <stdlib.h> | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 #ifndef _SIMULATION_ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 #include "typedefs.h" /* Condat data types. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 #endif /* _SIMULATION_ */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "vsi.h" /* A lot of macros. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 #ifndef _SIMULATION_ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #include "custom.h" | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 #include "gsm.h" /* A lot of macros. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 //#include "prim.h" /* Definitions of used SAP and directions. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 #include "pei.h" /* PEI interface. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #include "tools.h" /* Common tools. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 #endif /* _SIMULATION_ */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 #include "prim.h" /* Definitions of used SAP and directions. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 #include "socket_api.h" /* Socket API. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 #include "app.h" /* Global entity definitions. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 char custom_apn[SOCK_MAX_APN_LEN+1]; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 char custom_user_id[SOCK_MAX_USERID_LEN+1]; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 char custom_password[SOCK_MAX_PASSWORD_LEN+1]; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 BOOL custom_apn_valid = FALSE; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 /*==== Local defines =========================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 #define MAX_TOKENS 4 /* Maximum number of tokens to search for; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 * first token is the command name, last token | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 * the rest of the line. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 /*==== Local data ============================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 /* Type of command table entry. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 typedef struct APP_CMD_ENTRY app_cmd_entry_t ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 /* Type of some application core functions. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 typedef void (*core_func_t)(int prov, int n, int reps) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 /* Type of command handler functions. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 typedef char *(*cmd_handler_t)(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 char *param1, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 char *param2, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 char *param3, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 core_func_t core_func) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 /* Struct for command table entry. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 struct APP_CMD_ENTRY { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 char *cmd_name ; /* Command string. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 cmd_handler_t cmd_func ; /* Command handler function. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 core_func_t core_func ; /* Related core function (if applicable). */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 char *cmd_usage ; /* Command usage string (informative only). */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 } ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 static char *app_cmd_data(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 static char *app_cmd_echo(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 static char *app_cmd_tcpsrv(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 static char *app_cmd_dnsquery(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 static char *app_cmd_server(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 static char *app_cmd_shutdown(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 static char *app_cmd_pstat(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 static char *app_cmd_help(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 static char *app_cmd_buffer(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 static char *app_cmd_port(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 static char *app_cmd_bearer(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 static char *app_cmd_xon(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 static char *app_cmd_xoff(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 static char *app_cmd_open_bearer(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 static char *app_cmd_close_bearer(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 static char *app_cmd_set_provider(app_cmd_entry_t *, char *, char *, char *, core_func_t) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 /* Command handler table. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 static app_cmd_entry_t app_cmd_table[] = { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 { "tcpdl", app_cmd_data, app_start_tcpdl, "[Provider][size] [reps]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 { "tcpul", app_cmd_data, app_start_tcpul, "[Provider][size] [reps]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 { "udpdl", app_cmd_data, app_start_udpdl, "[Provider][size] [reps]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 { "udpul", app_cmd_data, app_start_udpul, "[Provider][size] [reps]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 { "tcpecho", app_cmd_echo, app_start_tcpecho, "[Provider][items] [reps]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 { "udpecho", app_cmd_echo, app_start_udpecho, "[Provider] [items] [reps]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 { "tcpsrv", app_cmd_tcpsrv, app_start_tcpsrv, "[Provider][port] [repeat]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 { "dnsquery", app_cmd_dnsquery, 0, "[Provider][times] [fqdn]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 { "server", app_cmd_server, 0, "[server-address]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 { "port", app_cmd_port, 0, "[portnumber]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 { "buffer", app_cmd_buffer, 0, "[bufsize]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 { "bearer", app_cmd_bearer, 0, "[gsm|gprs|best|none]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 { "shutdown", app_cmd_shutdown, 0, "" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 { "stat", app_cmd_pstat, 0, "" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 { "help", app_cmd_help, 0, "" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 { "xon", app_cmd_xon, 0, "" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 { "xoff", app_cmd_xoff, 0, "" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 { "open_bearer", app_cmd_open_bearer,app_open_bearer,"[Provider]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 { "close_bearer", app_cmd_close_bearer,0, "[Provider]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 { "set_provider", app_cmd_set_provider, 0,"[apn] [user_id] [password]" }, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 { 0, 0, 0, 0}, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 } ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 /*============ Support functions =============================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 static U32 get_provider(char *param) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 U32 prov = APP_PROV_DEFAULT; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 if(param) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 prov = atoi(param) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 if( (prov EQ 0) OR (!(prov < APP_PROV_INVALID)) ) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 TRACE_EVENT("ERROR: unkown provider - setting to default"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 prov = APP_PROV_DEFAULT; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 return prov; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 static U32 get_item(char *param, U32 default_item, BOOL can_null) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 U32 item = default_item; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 if (param) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 item = atoi(param); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 if (!can_null AND item EQ 0) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 TRACE_EVENT("ERROR: item is 0, setting to default"); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 item = default_item; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 return item; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 /*==== Command handler functions =============================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 static char *app_cmd_data(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 U32 prov = get_provider(param1); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 U32 size = get_item(param2, APP_DEF_DOWNLOAD_SIZE,TRUE); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 U32 reps = get_item(param3, APP_DEF_DOWNLOAD_REPS,FALSE); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 TRACE_FUNCTION("app_cmd_data()") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 core_func(prov,size, reps) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 static char *app_cmd_echo(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 U32 prov = get_provider(param1); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 U32 size = get_item(param2, APP_DEF_ECHO_ITEMS,TRUE); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 U32 reps = get_item(param3, APP_DEF_ECHO_REPS,FALSE); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 TRACE_FUNCTION("app_cmd_echo()") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 core_func(prov,size, reps) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 static char *app_cmd_tcpsrv(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 U32 prov = get_provider(param1); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 U32 port = get_item(param2, APP_DEF_TCPSRV_PORT,TRUE); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 U32 rep = get_item(param3, APP_DEF_TCPSRV_REPEAT,TRUE); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 TRACE_FUNCTION("app_cmd_tcpsrv()") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 app_start_tcpsrv(prov,port, rep) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 static char *app_cmd_dnsquery(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 U32 prov = get_provider(param1); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 int times = get_item(param2, APP_DEF_DNSQUERY_TIMES,FALSE); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 app_start_dnsquery(prov,times, param3) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 static char *app_cmd_server(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 app_server(param1) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 static char *app_cmd_buffer(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 app_buffer(param1) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 static char *app_cmd_port(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 app_port(param1) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 static char *app_cmd_shutdown(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 app_shutdown() ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 static char *app_cmd_bearer(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 app_bearer(param1) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 static char *app_cmd_pstat(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 app_pstat() ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 static char *app_cmd_xon(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 app_switch_flow(1) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 static char *app_cmd_xoff(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 app_switch_flow(0) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 static char *app_cmd_help(app_cmd_entry_t *cmd_entry_ptr, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 char *param1, char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 TRACE_EVENT("Available commands:") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 for (cmd_entry_ptr = &app_cmd_table[0]; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 cmd_entry_ptr->cmd_func; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 cmd_entry_ptr++) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 TRACE_EVENT_P2(" %s %s", | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 cmd_entry_ptr->cmd_name, cmd_entry_ptr->cmd_usage) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 return 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 static char *app_cmd_open_bearer(app_cmd_entry_t *cmd_entry_ptr, char *param1, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 U32 prov = get_provider(param1); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 TRACE_FUNCTION("app_cmd_open_bearer()") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 core_func(prov, 0, 0); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 return 0; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 static char *app_cmd_close_bearer(app_cmd_entry_t *cmd_entry_ptr, char *param1, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 TRACE_FUNCTION("app_cmd_close_bearer()") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 app_close_bearer(); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 return 0; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 static char *app_cmd_set_provider(app_cmd_entry_t *cmd_entry_ptr, char *param1, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 char *param2, char *param3, core_func_t core_func) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 /* To indicate presence of valid Custom APN */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 custom_apn_valid = TRUE; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 /* Set the APN string sent by the user */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 strcpy(custom_apn, param1); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 /* Set used ID sent by the user */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 strcpy(custom_user_id, param2); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 /* Set used ID sent by the user */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 strcpy(custom_password, param3); | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 return 0; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 /*==== Local functions =======================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 static char **app_tokenize_cmd(char *command) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 /* Three tokens will be enough: command name, parameter 1, parameter 2. Empty | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 * tokens will be NULL. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 static char *cmd_token[MAX_TOKENS] ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 char *cur ; /* Pointer to current character. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 int cur_tok ; /* Current token number. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 cur = command ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 cur_tok = 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 do | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 while (isspace(*cur)) /* FALSE also for NUl character. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 cur++ ; /* Skip whitespace. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 if (!*cur) /* String terminated. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 cmd_token[cur_tok] = 0 ; /* No token here and stop. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 break ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 cmd_token[cur_tok++] = cur ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 cmd_token[cur_tok] = 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 while (*cur && !isspace(*cur)) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 cur++ ; /* Skip non-whitespace. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 if (*cur) *cur++ = 0 ; /* Zero-terminate token if not end of string. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 while (cur_tok < MAX_TOKENS) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 return cmd_token ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 #if !defined (FF_GPF_TCPIP) && !defined (CO_TCPIP_TESTAPP) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 char *string_to_lower(char *s) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 char *tmp ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 for (tmp = s; *tmp; tmp++) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 *tmp = tolower(*tmp) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 return s ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 #endif /* #if !defined (FF_GPF_TCPIP) && !defined (CO_TCPIP_TESTAPP) */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 /*==== Exported functions ====================================================*/ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 /** Parse a command and execute it if it is valid. Return appropriate error | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 * message if the command is invalid or fails. | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 * | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 * @param command command line to execute | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 * @return an error message or NULL on success | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 char *app_handle_command_tcpip(char *command) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 char **tokened_cmd ; /* Tokenized command line. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 int cmd_index ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 TRACE_FUNCTION("app_handle_command_tcpip()") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 tokened_cmd = app_tokenize_cmd(command) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 if (!tokened_cmd[0]) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 return "ERROR: empty command line" ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 string_to_lower(tokened_cmd[0]) ; /* convert to lower char */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 cmd_index = 0 ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 while (app_cmd_table[cmd_index].cmd_name) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 if (!strcmp(tokened_cmd[0], app_cmd_table[cmd_index].cmd_name)) | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 { | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 TRACE_EVENT_P4("Call %s(%s, %s, %s)", app_cmd_table[cmd_index].cmd_name, | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 tokened_cmd[1] ? tokened_cmd[1] : "(null)", | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 tokened_cmd[2] ? tokened_cmd[2] : "(null)", | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 tokened_cmd[3] ? tokened_cmd[3] : "(null)") ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 return app_cmd_table[cmd_index].cmd_func(&app_cmd_table[cmd_index], | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 tokened_cmd[1], | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 tokened_cmd[2], | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 tokened_cmd[3], | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 app_cmd_table[cmd_index].core_func) ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 cmd_index++ ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 return "ERROR: command not recognized" ; | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 } | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 /* This is onoy for the case that the macro UI_TRACE() is undefined, in which | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 * case the linker bemoans it as missing. */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 #endif /* FF_GPF_TCPIP */ | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 | 
| 
90eb61ecd093
src/g23m-fad: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 /* EOF */ | 
