#include "string.h"
#include <stdlib.h>
#include <malloc.h>
#include "tls.h"
void tspdata_setUUID(struct tspdata* p, unsigned char __RPC_FAR* uuidString) {
strncpy(p->_uuid, uuidString, UUID_SIZE-1);
};
void tspdata_setListening (struct tspdata* p, BOOL b) {p->_listening = b;}
void tspdata_setConnected (struct tspdata* p, BOOL b) {p->_CCAPI_Connected = b;}
void tspdata_setReplyEvent(struct tspdata* p, HANDLE h) {p->_replyEvent = h;}
void tspdata_setRpcAState (struct tspdata* p, RPC_ASYNC_STATE* rpcState) {
p->_rpcState = rpcState;}
void tspdata_setSST (struct tspdata* p, time_t t) {p->_sst = t;}
void tspdata_setStream (struct tspdata* p, k5_ipc_stream s) {p->_stream = s;}
BOOL tspdata_getListening (const struct tspdata* p) {return p->_listening;}
BOOL tspdata_getConnected (const struct tspdata* p) {return p->_CCAPI_Connected;}
HANDLE tspdata_getReplyEvent(const struct tspdata* p) {return p->_replyEvent;}
time_t tspdata_getSST (const struct tspdata* p) {return p->_sst;}
k5_ipc_stream tspdata_getStream (const struct tspdata* p) {return p->_stream;}
char* tspdata_getUUID (const struct tspdata* p) {return p->_uuid;}
RPC_ASYNC_STATE* tspdata_getRpcAState (const struct tspdata* p) {return p->_rpcState;}
BOOL WINAPI GetTspData(DWORD dwTlsIndex, struct tspdata** pdw) {
struct tspdata* pData;
pData = (struct tspdata*)TlsGetValue(dwTlsIndex);
if (pData == NULL) {
pData = malloc(sizeof(*pData));
if (pData == NULL)
return FALSE;
memset(pData, 0, sizeof(*pData));
TlsSetValue(dwTlsIndex, pData);
}
(*pdw) = pData;
return TRUE;
}