00001 00044 #ifndef __LIB3195_SRAPI_H_INCLUDED__ 00045 #define __LIB3195_SRAPI_H_INCLUDED__ 1 00046 00047 #ifdef __cplusplus 00048 extern "C" { 00049 #endif 00050 00051 #define srAPICHECKVALIDOBJECT(x) {assert(x != NULL); assert(x->OID == OIDsrAPI);} 00052 struct srSLMGObject; 00053 00054 struct srAPIObject 00058 { 00059 srObjID OID; 00060 struct sbChanObject *pChan; 00061 struct sbNVTRObject *pProfsSupported; 00062 struct sbSessObject *pSess; 00063 void *pUsr; 00065 srOPTION3195Profiles iUse3195Profiles; 00066 # if FEATURE_LISTENER == 1 00067 void (*OnSyslogMessageRcvd)(struct srAPIObject* pAPI, struct srSLMGObject *pSyslogMesg); 00068 struct sbLstnObject *pLstn; 00069 # endif 00070 }; 00071 typedef struct srAPIObject srAPIObj; 00072 00080 srAPIObj* srAPIInitLib(void); 00081 00089 srRetVal srAPIOpenlog(srAPIObj *pThis, char* pszRemotePeer, int iPort); 00090 00091 00107 srRetVal srAPICloseLog(srAPIObj *pThis); 00108 00120 srRetVal srAPIExitLib(srAPIObj *pThis); 00121 00122 00123 00132 srRetVal srAPISendLogmsg(srAPIObj* pThis, char* szLogmsg); 00133 00148 srRetVal srAPISendSLMG(srAPIObj* pThis, struct srSLMGObject* pSLMG); 00149 00165 srRetVal srAPICloseLog(srAPIObj *pThis); 00166 00167 00192 srRetVal srAPISetOption(srAPIObj* pThis, SRoption iOpt, int iOptVal); 00193 00202 srRetVal srAPIRunListener(srAPIObj *pThis); 00203 00210 srRetVal srAPIShutdownListener(srAPIObj *pThis); 00211 00218 srRetVal srAPISetUsrPointer(srAPIObj *pAPI, void* pUsr); 00219 00227 srRetVal srAPIGetUsrPointer(srAPIObj *pAPI, void **ppToStore); 00228 00240 srRetVal srAPISetupListener(srAPIObj* pThis, void(*NewHandler)(srAPIObj*, struct srSLMGObject*)); 00241 00254 srRetVal srAPISetMsgRcvCallback(srAPIObj* pThis, void(*NewHandler)(srAPIObj*, struct srSLMGObject*)); 00255 00262 srRetVal srAPIShutdownListener(srAPIObj *pThis); 00263 00264 00265 #ifdef __cplusplus 00266 }; 00267 #endif 00268 00269 #endif