diff src/g23m-aci/aci/line_edit.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.h	Fri Oct 16 06:25:50 2020 +0000
@@ -0,0 +1,134 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  
+|  Modul   :  line
++----------------------------------------------------------------------------- 
+|  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_H
+#define LINE_EDIT_H
+
+/*
+ ****************************************************************************************************
+ * public stuff                                                                                     *
+ ****************************************************************************************************
+ */
+typedef enum
+{
+  LEDIT_FAIL = -1,
+  LEDIT_EXCT =  0,
+  LEDIT_CMPL,
+  LEDIT_COLLECT,
+  LEDIT_ESC,     /* in text mode do nothing when received ESC */
+  LEDIT_OK,      /* for single <CR> and simple "AT<CR>"       */
+  LEDIT_IGNORE   /* ignore chars before A and between A..T    */
+} T_LEDIT_RSLT;
+
+typedef enum 
+{
+         LEDIT_ERR_NONE   = -1,
+/*000*/  LEDIT_ERR_NoMemory ,
+/*001*/  LEDIT_ERR_NoMaintenance,
+/*002*/  LEDIT_ERR_NoValidCommand,
+/*003*/  LEDIT_ERR_LastCmdPending,
+/*004*/  LEDIT_ERR_Unknown
+} T_LEDIT_ERR_CODE;
+
+typedef struct  /* error code - error message mapping */
+{
+  CHAR*            msg;  /* error message */
+  T_LEDIT_ERR_CODE code; /* error code    */
+} T_LEDIT_ERR;
+
+
+typedef enum
+{
+  LEDIT_CTRL_ERROR,
+  LEDIT_CTRL_CMPL,
+  LEDIT_CTRL_REMOVE_SRC,
+  LEDIT_CTRL_PROMPT,
+  LEDIT_CTRL_CRLF_PROMPT,
+  LEDIT_CTRL_MORE_CMDS
+} T_LEDIT_CTRL;
+
+
+typedef struct
+{
+  UBYTE  S3;    /* CR  */
+  UBYTE  S4;    /* LF  */
+  UBYTE  S5;    /* BS  */
+  UBYTE  atE;   /* Command Echo: ON                   */
+  UBYTE  smsEnd;/* want to be non V25.ter conform     */
+} T_LEDIT;      /* initial  = {13, 10,  8, 1, 0x1a};  */
+                /*             S3  S4  S5  E, smsEnd  */
+                /* done by liblineedit.a              */
+                /* can be overwritten by ledit_ctrl() */
+
+typedef enum
+{
+  LEDIT_ATCMD_NIL        = 0x00,
+  LEDIT_ATCMD_AND        = 0x26,  /* '&' */
+  LEDIT_ATCMD_BASIC      = 0x42,  /* 'B' */
+  LEDIT_ATCMD_DIAL       = 0x44,  /* 'D' */
+  LEDIT_ATCMD_EXTENDED   = 0x45,  /* 'E' */
+  LEDIT_ATCMD_S          = 0x53   /* 'S' */
+} T_LEDIT_ATCMD_MAINTYPE;
+
+typedef enum
+{
+  LEDIT_ATCMD_QUERY      = 0x51,
+  LEDIT_ATCMD_SET        = 0x53,  /* 'S' */
+  LEDIT_ATCMD_TEST       = 0x54   /* 'T' */
+} T_LEDIT_ATCMD_SUBTYPE;
+
+typedef struct
+{
+  T_LEDIT_ATCMD_MAINTYPE mType;
+  T_LEDIT_ATCMD_SUBTYPE  sType;  
+  UBYTE append_Flag;
+} T_LEDIT_ATCMD_TYPE;
+
+
+typedef struct
+{
+  T_LEDIT_ATCMD_TYPE  type;   
+  char  *name;   
+  char  *params;  
+} T_LEDIT_ATCMD;
+
+/*
+ *  taken from ACI.doc, must be removed when including "P_ACI.val" !
+ *  #define MAX_CMD_LEN 350
+ */
+
+/*
+ * global echo buffer
+ */
+EXTERN char g_ledit_echoBuf[MAX_CMD_LEN+1];
+/* 
+ *  public functions
+ */
+EXTERN T_LEDIT_RSLT ledit_cmd        (UBYTE src_id, const UBYTE *chars, USHORT len);
+EXTERN T_LEDIT_RSLT ledit_text       (UBYTE src_id, const UBYTE *chars, USHORT len);
+EXTERN T_LEDIT_RSLT ledit_get_first  (UBYTE src_id, T_LEDIT_ATCMD **cmd);
+EXTERN T_LEDIT_RSLT ledit_get_next   (UBYTE src_id, T_LEDIT_ATCMD **cmd);
+EXTERN T_LEDIT_RSLT ledit_get_current(UBYTE src_id, T_LEDIT_ATCMD **cmd);
+EXTERN T_LEDIT_RSLT ledit_get_text   (UBYTE src_id, char **txt);
+EXTERN T_LEDIT_RSLT ledit_ctrl       (UBYTE src_id, T_LEDIT_CTRL ctrl, T_LEDIT_ERR **err);
+EXTERN T_LEDIT_RSLT ledit_set_config (UBYTE src_id, T_LEDIT line);
+EXTERN T_LEDIT_RSLT ledit_trace_line (UBYTE src_id, char *txt);
+
+#endif