00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00027 
00028 
00029 
00030 
00031 
00032 
00033 #ifndef _ERIPC_H_
00034 #define _ERIPC_H_
00035 
00036 
00037 #include "eripcconfig.h"
00038 
00039 #ifdef __cplusplus
00040 extern  "C"
00041 {
00042 #endif                          
00043 
00044 typedef void *erClientChannel_t;
00045 typedef void *erServerChannel_t;
00046 
00047 
00048 #define ER_TEST_UA_ID                   0
00049 #define ER_PDF_VIEWER_UA_ID             1
00050 #define ER_XHTML_VIEWER_UA_ID           2
00051 #define ER_APABI_VIEWER_UA_ID           3
00052 #define ER_ARINC_VIEWER_UA_ID           4
00053 #define ER_ARINC_MENU_UA_ID             5
00054 #define ER_SETUP_UA_ID                  100
00055 #define ER_CONTENT_LISTER_UA_ID         101
00056 #define ER_TEXT_VIEWER_UA_ID            102
00057 #define ER_SCRIBBLE_UA_ID               103
00058 #define ER_CONNECT_UA_ID                104
00059 #define ER_POWERMGR_UA_ID               105
00060 #define ER_BUSYD_UA_ID                  106
00061 #define ER_PAGEBAR_UA_ID                107
00062 #define ER_TOOLBAR_UA_ID                108
00063 #define ER_EBA_VIEWER_UA_ID             109
00064 #define ER_MOBIPOCKET_VIEWER_UA_ID      110
00065 #define ER_UAID_ILLEGAL                 (-1)
00066 
00067 
00068 
00069 
00070 #define ER_TOOLBAR_CHANNEL              1
00071 #define ER_TEST_CHANNEL                 2
00072 #define ER_PDF_VIEWER_CHANNEL           3
00073 #define ER_XHTML_VIEWER_CHANNEL         4
00074 #define ER_APABI_VIEWER_CHANNEL         5
00075 #define ER_CONTENTLISTER_CHANNEL        6
00076 #define ER_BUSYD_CHANNEL                7
00077 #define ER_POWERMGR_CHANNEL             8 
00078 #define ER_PAGEBAR_CHANNEL              9
00079 #define ER_SCRIBBLE_CHANNEL             10
00080 #define ER_SETUP_CHANNEL                11
00081 #define ER_CONNECT_CHANNEL              12
00082 #define ER_ARINC_VIEWER_CHANNEL         13
00083 #define ER_EBA_VIEWER_CHANNEL           14
00084 #define ER_MOBIPOCKET_VIEWER_CHANNEL    15
00085 #define ER_ARINC_MENU_CHANNEL           16
00086 
00087 #define ER_CHANNEL_NUM                  16
00088 #define ER_CHANNEL_ILLEGAL              (-1)
00089 
00090 #define erIpcGetChannel(uaID)   (((uaID) == ER_TEST_UA_ID)              ? ER_TEST_CHANNEL              :  \
00091                                  ((uaID) == ER_PDF_VIEWER_UA_ID)        ? ER_PDF_VIEWER_CHANNEL        :  \
00092                                  ((uaID) == ER_XHTML_VIEWER_UA_ID)      ? ER_XHTML_VIEWER_CHANNEL      :  \
00093                                  ((uaID) == ER_APABI_VIEWER_UA_ID)      ? ER_APABI_VIEWER_CHANNEL      :  \
00094                                  ((uaID) == ER_ARINC_VIEWER_UA_ID)      ? ER_ARINC_VIEWER_CHANNEL      :  \
00095                                  ((uaID) == ER_ARINC_MENU_UA_ID)        ? ER_ARINC_MENU_CHANNEL        :  \
00096                                  ((uaID) == ER_SETUP_UA_ID)             ? ER_SETUP_CHANNEL             :  \
00097                                  ((uaID) == ER_CONTENT_LISTER_UA_ID)    ? ER_CONTENTLISTER_CHANNEL     :  \
00098                                  ((uaID) == ER_TEXT_VIEWER_UA_ID)       ? ER_CHANNEL_ILLEGAL           :  \
00099                                  ((uaID) == ER_SCRIBBLE_UA_ID)          ? ER_SCRIBBLE_CHANNEL          :  \
00100                                  ((uaID) == ER_CONNECT_UA_ID)           ? ER_CONNECT_CHANNEL           :  \
00101                                  ((uaID) == ER_POWERMGR_UA_ID)          ? ER_POWERMGR_CHANNEL          :  \
00102                                  ((uaID) == ER_BUSYD_UA_ID)             ? ER_BUSYD_CHANNEL             :  \
00103                                  ((uaID) == ER_PAGEBAR_UA_ID)           ? ER_PAGEBAR_CHANNEL           :  \
00104                                  ((uaID) == ER_TOOLBAR_UA_ID)           ? ER_TOOLBAR_CHANNEL           :  \
00105                                  ((uaID) == ER_EBA_VIEWER_UA_ID)        ? ER_EBA_VIEWER_CHANNEL        :  \
00106                                  ((uaID) == ER_MOBIPOCKET_VIEWER_UA_ID) ? ER_MOBIPOCKET_VIEWER_CHANNEL :  \
00107                                  ER_CHANNEL_ILLEGAL)
00108 
00109 #define ER_IPC_PORT_FIRST               (50065)
00110 #define ER_IPC_PORT_ILLEGAL             (-1)
00111 
00112 #define erIpcGetServerPort(channelIdx)  (((channelIdx) > 0 && (channelIdx) <= ER_CHANNEL_NUM) ? (ER_IPC_PORT_FIRST + (channelIdx) - 1) : -1)
00113 
00114 #define TOOLBAR_IPC_PORT                (erIpcGetServerPort(ER_TOOLBAR_CHANNEL          )
00115 #define TEST_IPC_PORT                   (erIpcGetServerPort(ER_TEST_CHANNEL             )
00116 #define PDF_VIEWER_IPC_PORT             (erIpcGetServerPort(ER_PDF_VIEWER_CHANNEL       )
00117 #define XHTML_VIEWER_IPC_PORT           (erIpcGetServerPort(ER_XHTML_VIEWER_CHANNEL     )
00118 #define APABI_VIEWER_IPC_PORT           (erIpcGetServerPort(ER_APABI_VIEWER_CHANNEL     )
00119 #define CONTENTLISTER_IPC_PORT          (erIpcGetServerPort(ER_CONTENTLISTER_CHANNEL    )
00120 #define BUSYD_IPC_PORT                  (erIpcGetServerPort(ER_BUSYD_CHANNEL            )
00121 #define POWERMGR_IPC_PORT               (erIpcGetServerPort(ER_POWERMGR_CHANNEL         )
00122 #define PAGEBAR_IPC_PORT                (erIpcGetServerPort(ER_PAGEBAR_CHANNEL          )
00123 #define SCRIBBLE_IPC_PORT               (erIpcGetServerPort(ER_SCRIBBLE_CHANNEL         )
00124 #define SETUP_IPC_PORT                  (erIpcGetServerPort(ER_SETUP_CHANNEL            )
00125 #define CONNECT_IPC_PORT                (erIpcGetServerPort(ER_CONNECT_CHANNEL          )
00126 #define ARINC_VIEWER_IPC_PORT           (erIpcGetServerPort(ER_ARINC_VIEWER_CHANNEL     )
00127 #define EBA_VIEWER_IPC_PORT             (erIpcGetServerPort(ER_EBA_VIEWER_CHANNEL       )
00128 #define MOBIPOCKET_VIEWER_IPC_PORT      (erIpcGetServerPort(ER_MOBIPOCKET_VIEWER_CHANNEL)
00129 #define ARINC_MENU_IPC_PORT             (erIpcGetServerPort(ER_ARINC_MENU_CHANNEL       )
00130     
00131 
00132 #define ER_IPC_MAJOR_VERSION  0
00133 #define ER_IPC_MINOR_VERSION  1
00134 #define ER_IPC_ITER_VERSION   0
00135 
00136 #define ER_IPC_VERSION (((( ER_IPC_MAJOR_VERSION << 8 ) | ER_IPC_MINOR_VERSION) << 8 ) | ER_IPC_ITER_VERSION)
00137 
00138 typedef void (*erMessageCB) (char *szBuffer, int *nBuf, void *data);
00139 
00140 int     erIpcGetVersion();
00141 
00157 int     erIpcStartServer(int channelIdx, erMessageCB callback, char *szBuffer, int *nBuf, void *data);
00158 
00171 int     erIpcOpenServerChannel(int channelIdx, erServerChannel_t * channel);
00172 
00183 int     erIpcGetServerFd(erServerChannel_t channel);
00184 
00196 int     erIpcGetMessage(erServerChannel_t channel, char *szBuffer, int *nBuf);
00197 
00198 
00207 int     erIpcStartClient(int channelIdx, erClientChannel_t * channel);
00208 
00218 int erIpcInitServer(int channelIdx, int *sockfd, int local);
00219 
00220 #ifdef __cplusplus
00221 }
00222 #endif                          
00223 
00224 #endif