FreeCalypso > hg > fc-tourmaline
comparison src/g23m-fad/app/app_util.h @ 1:fa8dc04885d8
src/g23m-*: import from Magnetite
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 16 Oct 2020 06:25:50 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:4e78acac3d88 | 1:fa8dc04885d8 |
|---|---|
| 1 /* | |
| 2 +------------------------------------------------------------------------------ | |
| 3 | File: app.h | |
| 4 +------------------------------------------------------------------------------ | |
| 5 | Copyright 2003 Texas Instruments Berlin, AG | |
| 6 | All rights reserved. | |
| 7 | | |
| 8 | This file is confidential and a trade secret of Texas | |
| 9 | Instruments Berlin, AG | |
| 10 | The receipt of or possession of this file does not convey | |
| 11 | any rights to reproduce or disclose its contents or to | |
| 12 | manufacture, use, or sell anything it may describe, in | |
| 13 | whole, or in part, without the specific written consent of | |
| 14 | Texas Instruments Berlin, AG. | |
| 15 +----------------------------------------------------------------------------- | |
| 16 | Purpose : Definitions for the Protocol Stack Entity app. | |
| 17 +----------------------------------------------------------------------------- | |
| 18 */ | |
| 19 | |
| 20 #ifndef APP_UTIL_H | |
| 21 #define APP_UTIL_H | |
| 22 | |
| 23 | |
| 24 #define __STR2__(x) #x | |
| 25 #define __STR1__(x) __STR2__(x) | |
| 26 #define __TODO__ __FILE__ "("__STR1__(__LINE__)") : T O D O: " | |
| 27 | |
| 28 /*==== INCLUDES =============================================================*/ | |
| 29 | |
| 30 #include "typedefs.h" /* Condat data types. */ | |
| 31 | |
| 32 /*==== CONSTS ===============================================================*/ | |
| 33 /*==== DEFINES =========================================================*/ | |
| 34 | |
| 35 #define BAT_MAX_TEST_CLNT_NUM 4 | |
| 36 #define BAT_MAX_TEST_INST_NUM 2 | |
| 37 | |
| 38 /* Result of test case */ | |
| 39 #define BAT_TEST_PASS 0 | |
| 40 #define BAT_TEST_FAIL 1 | |
| 41 | |
| 42 /* Indicate no additional values for test result */ | |
| 43 #define NO_ADD_VAL 0xFFFFFFFF | |
| 44 | |
| 45 /* Macros for easier coding */ | |
| 46 #define BAT_TEST_PASSED() app_bat_send_result_prim(BAT_TEST_PASS, NO_ADD_VAL) | |
| 47 #define BAT_TEST_FAILED() app_bat_send_result_prim(BAT_TEST_FAIL, NO_ADD_VAL) | |
| 48 | |
| 49 /*==== TYPES ================================================================*/ | |
| 50 | |
| 51 /* Type of command table entry. */ | |
| 52 typedef struct APP_CMD_ENTRY app_cmd_entry_t ; | |
| 53 | |
| 54 /* Type of some application core functions. */ | |
| 55 typedef void (*core_func_t)(int , char* , char*) ; | |
| 56 | |
| 57 /* Type of command handler functions. */ | |
| 58 typedef char *(*cmd_handler_t)(app_cmd_entry_t *cmd_entry_ptr, | |
| 59 char *param1, | |
| 60 char *param2, | |
| 61 char *param3, | |
| 62 core_func_t core_func) ; | |
| 63 | |
| 64 /* Struct for command table entry. */ | |
| 65 struct APP_CMD_ENTRY { | |
| 66 char *cmd_name ; /* Command string. */ | |
| 67 cmd_handler_t cmd_func ; /* Command handler function. */ | |
| 68 core_func_t core_func ; /* Related core function (if applicable). */ | |
| 69 char *cmd_usage ; /* Command usage string (informative only). */ | |
| 70 } ; | |
| 71 | |
| 72 | |
| 73 /*==== FUNCTIONS ============================================================*/ | |
| 74 | |
| 75 /** Parse a command and execute it if it is valid. Return appropriate error | |
| 76 * message if the command is invalid or fails. | |
| 77 * | |
| 78 * @param command command line to execute | |
| 79 * @return an error message or NULL on success | |
| 80 */ | |
| 81 char *app_handle_command(char *command, app_cmd_entry_t * cmd_table); | |
| 82 | |
| 83 /** | |
| 84 * Convert a string into an integer. | |
| 85 * If not possibly, assume the default value. | |
| 86 */ | |
| 87 int get_item(char *param, int default_item, BOOL can_null); | |
| 88 | |
| 89 /** | |
| 90 * Convert a string to lower case | |
| 91 */ | |
| 92 char *string_to_lower(char *s) ; | |
| 93 | |
| 94 /** | |
| 95 * Send a T_APP_BAT_TEST_RSLT result primitive. | |
| 96 * Result can be either BAT_TEST_PASS or BAT_TEST_FAIL. | |
| 97 */ | |
| 98 void app_bat_send_result_prim (U8 result, U32 add_info); | |
| 99 | |
| 100 | |
| 101 #endif /* !APP_UTIL_H */ |
