typedef struct mslpconfig {
int *pi_net_slp_DADiscoveryTimeouts;
int *pi_net_slp_multicastTimeouts;
char *pc_net_slp_locale;
} MSLPConfig;
typedef struct UA_State {
char *pcLangTag;
char *pcSendBuf;
int iSendSz;
char *pcRecvBuf;
int iRecvSz;
char *pcDAURL;
SOCKET sdSend;
SOCKET sdTCP;
SOCKET sdMax;
fd_set fds;
struct timeval tv;
struct sockaddr_in sinSendTo;
MSLPConfig config;
void *pvMutex;
} UA_State;
#ifdef __cplusplus
#endif
extern EXPORT DATable* GetGlobalDATable( void );
extern EXPORT DATable* GetGlobalDATableForRequester( void );
extern EXPORT void LocateAndAddDA( long addrOfDA );
extern EXPORT void LockGlobalDATable( void );
extern EXPORT void UnlockGlobalDATable( void );
extern SLPInternalError mslplib_init_network(SOCKET *psdUDP, SOCKET *psdTCP,
SOCKET *psdMax);
extern SLPInternalError get_target(UA_State *puas, const char *pcScope,
int *pUseDa, struct sockaddr_in *psin);
extern int get_addrspec_from_url(const char *pcURL, int iURLLen,
struct sockaddr_in *psin);
extern SLPInternalError get_unicast_result( time_t timeout, SOCKET sdSend,
char *pcSendBuf, int iSendSz,
char *pcRecvBuf, int iRecvSz,
int *piInSz, struct sockaddr_in sin);
extern SLPInternalError get_converge_result( time_t tMaxwait, SOCKET sd,
char *ppcSendBuf, int iSendSz,
char *pcRecvBuf, int iRecvSz,
struct sockaddr_in sin, unsigned char ttl, void *pvUser,
SLPHandle slph, void *pvCallback,
CBType cbCallbackType);
extern SLPInternalError get_tcp_result(const char *pcSendBuf, int iSendSz,
struct sockaddr_in sin,
char **ppcInBuf, int *piInSz);
#ifndef NDEBUG
extern EXPORT SLPInternalError generate_srvrqst(
char *pcSendBuf, int *piSendSz,
const char *pcLangTag,
const char *pcScope, const char *pcSrvType,
const char *pcFilter);
#else
extern SLPInternalError generate_srvrqst(
char *pcSendBuf, int *piSendSz,
const char *pcLangTag,
const char *pcScope, const char *pcSrvType,
const char *pcFilter);
#endif
void mslplib_daadvert_callback(SLPHandle hSLP,
int iErrcode,
struct sockaddr_in sin,
const char *pcScopeList,
const char *pcDAAttrlist,
long lBootTime,
void *pvUser);
#ifdef SLPTCP
extern SLPInternalError get_overflow_result( time_t timeout, SOCKET sdSend,
char *pcSendBuf, int iSendSz,
char *pcRecvBuf, int iRecvSz,
int *piInSz, struct sockaddr_in sin);
#endif
extern TESTEXPORT SLPInternalError process_reply(const char *pcSendBuf,
const char *pcRecvBuf, int iRecvSz,
int *piLastOne, void *pvUser, SLPHandle hSLP,
void *pvCallback, CBType cbCallbackType);
extern void prlist_modify(char **ppcList, struct sockaddr_in sin);
extern void recalc_sendBuf(char *pcBuf, int iLen, const char *pcList);
#ifdef EXTRA_MSGS
extern SLPInternalError mslplib_Reg(UA_State *puas,
const char *pcURL, unsigned short usLifetime,
const char *pcSrvtype, const char *pcAttrs,
SLPBoolean fresh);
extern SLPInternalError mslplib_Dereg(UA_State *puas, const char *pcURL, const char *pcScopes);
extern SLPInternalError mslplib_DelAttrs(const char *pcURL, const char *pcAttrs);
#endif
#ifdef __cplusplus
#endif