textdisplay.h

Go to the documentation of this file.
00001 /**************************************************************************/
00018 #ifndef _TEXTDISPLAY_H_
00019 #define _TEXTDISPLAY_H_
00020 
00021 #include <stdbool.h>
00022 #include "emstatus.h"
00023 
00024 /***************************************************************************/
00029 /***************************************************************************/
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 
00040 /*******************************************************************************
00041  ********************************  DEFINES  ************************************
00042  ******************************************************************************/
00043 
00045 #define TEXTDISPLAY_EMSTATUS_OK                                              (0) 
00046 #define TEXTDISPLAY_EMSTATUS_INVALID_PARAM       (TEXTDISPLAY_EMSTATUS_BASE | 1) 
00047 #define TEXTDISPLAY_EMSTATUS_OUT_OF_RANGE        (TEXTDISPLAY_EMSTATUS_BASE | 2) 
00048 #define TEXTDISPLAY_EMSTATUS_ALREADY_INITIALIZED (TEXTDISPLAY_EMSTATUS_BASE | 3) 
00049 #define TEXTDISPLAY_EMSTATUS_NOT_SUPPORTED       (TEXTDISPLAY_EMSTATUS_BASE | 4) 
00050 #define TEXTDISPLAY_EMSTATUS_NOT_ENOUGH_MEMORY   (TEXTDISPLAY_EMSTATUS_BASE | 5) 
00051 #define TEXTDISPLAY_EMSTATUS_NOT_INITIALIZED     (TEXTDISPLAY_EMSTATUS_BASE | 6) 
00055 #ifdef INCLUDE_VIDEO_TERMINAL_ESCAPE_SEQUENCE_SUPPORT
00056 #define TEXTDISPLAY_ESC_SEQ_CURSOR_HOME_VT100       "\033[H" 
00057 #define TEXTDISPLAY_ESC_SEQ_CURSOR_HOME_VT52         "\033H" 
00058 #define TEXTDISPLAY_ESC_SEQ_CURSOR_UP_ONE_LINE       "\033A" 
00059 #define TEXTDISPLAY_ESC_SEQ_CURSOR_DOWN_ONE_LINE     "\033B" 
00060 #define TEXTDISPLAY_ESC_SEQ_CURSOR_RIGHT_ONE_CHAR    "\033C" 
00061 #define TEXTDISPLAY_ESC_SEQ_CURSOR_LEFT_ONE_CHAR     "\033D" 
00062 #endif
00063 
00064 
00065 /*******************************************************************************
00066  *******************************   STRUCTS   ***********************************
00067  ******************************************************************************/
00068 
00070 typedef void*  TEXTDISPLAY_Handle_t;
00071 
00073 typedef struct TEXTDISPLAY_Config_t
00074 {
00075   int   displayDeviceNo;    
00077   bool  scrollEnable;       
00082   bool  lfToCrLf;           
00083 } TEXTDISPLAY_Config_t;
00084 
00085 
00086 /*******************************************************************************
00087  **************************    FUNCTION PROTOTYPES    **************************
00088  ******************************************************************************/
00089 
00090 EMSTATUS TEXTDISPLAY_New         (TEXTDISPLAY_Config_t  *config,
00091                                   TEXTDISPLAY_Handle_t  *handle);
00092 EMSTATUS TEXTDISPLAY_Delete      (TEXTDISPLAY_Handle_t  handle);
00093 EMSTATUS TEXTDISPLAY_WriteChar   (TEXTDISPLAY_Handle_t  handle,
00094                                   char                  c);
00095 EMSTATUS TEXTDISPLAY_WriteString (TEXTDISPLAY_Handle_t  handle,
00096                                   char*                 str);
00097 EMSTATUS TEXTDISPLAY_LfToCrLf    (TEXTDISPLAY_Handle_t  handle,
00098                                   bool                  on);
00099 
00100 #ifdef __cplusplus
00101 }
00102 #endif
00103 
00107 #endif /* _TEXTDISPLAY_H_ */