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