FreeCalypso > hg > fc-tourmaline
diff src/g23m-aci/aci/line_edit_intern.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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/g23m-aci/aci/line_edit_intern.h Fri Oct 16 06:25:50 2020 +0000 @@ -0,0 +1,85 @@ +/* ++----------------------------------------------------------------------------- +| Project : +| Modul : line edit ++----------------------------------------------------------------------------- +| Copyright 2002 Texas Instruments Berlin, AG +| All rights reserved. +| +| This file is confidential and a trade secret of Texas +| Instruments Berlin, AG +| The receipt of or possession of this file does not convey +| any rights to reproduce or disclose its contents or to +| manufacture, use, or sell anything it may describe, in +| whole, or in part, without the specific written consent of +| Texas Instruments Berlin, AG. ++----------------------------------------------------------------------------- +| Purpose : This modul ... ++----------------------------------------------------------------------------- +*/ + +#ifndef LINE_EDIT_INTERN_H +#define LINE_EDIT_INTERN_H + +#define WS 0x20 +#define SLASH '/' + +typedef struct S_LEDIT_ATCMD_M +{ + T_LEDIT_ATCMD *cmd; + struct S_LEDIT_ATCMD_M *next; +} T_LEDIT_ATCMD_M; + + + +typedef struct S_LEDIT_INTERN +{ + UBYTE src_id; + USHORT len; + BOOL isStr; /* flag for start and end of "....." */ + USHORT copyIter; /* copy iterator from src to cmd buffer */ + USHORT srcBufIter; /* iterator over the srcBuffer */ + USHORT srcBufIterE; /* from here all chars to echo */ + const + UBYTE *srcBuffer; + + char *lineBuffer; /* cmds without "AT" and removed WS,BS,... */ + USHORT lineBufIter; + + char *origBuffer; /* cmds without "AT", removed WS,BS,... + - NOT converted to upper case */ + USHORT origBufIter; + + char *execBuffer; /* the current command(s) as well as */ + USHORT execBufIter; /* for AT/ the copy of the last cmd line */ + + char *smsBuffer; /* text of a SMS */ + BOOL txtChunk; /* received a chunk of text only */ + T_LEDIT_ATCMD_M *cmdm; /* */ + UBYTE cmdIndex; /* */ + UBYTE cmdGetIter; /* needed in ledit_get_next() */ + T_LEDIT_RSLT (*state) (struct S_LEDIT_INTERN *atiInt); /* state machine function pointer */ + T_LEDIT lineHabit; /* the behaviour of the line */ + T_LEDIT_ERR err; +} T_LEDIT_INTERN; + + +typedef struct S_LEDIT_SRC_MAINTAIN +{ + T_LEDIT_INTERN *leditInt; + struct S_LEDIT_SRC_MAINTAIN *next; +} T_LEDIT_SRC_MAINTAIN; + + +/* moved from line_edit.h to avoid multiple memory allocation in different modules */ +static const T_LEDIT_ERR ledit_err[] = +{ + {"out of memory", LEDIT_ERR_NoMemory}, + {"no maintenance for src_id", LEDIT_ERR_NoMaintenance}, + {"no valid command", LEDIT_ERR_NoValidCommand}, + {"last cmd line is pending", LEDIT_ERR_LastCmdPending}, + {"unkown error", LEDIT_ERR_Unknown} +}; + + +#endif