#ifndef _SSCS_UNX_IPC_CLIENT_H_
#define _SSCS_UNX_IPC_CLIENT_H_

#ifdef SSCS_LINUX_PLAT_F
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <pwd.h>
#endif

#ifdef SSCS_LINUX_PLAT_F
#include <sys/socket.h>
#include <sys/un.h>
#include <pwd.h>
#endif
#include <wchar.h>
#include "sscs_unx_cache_defines.h"

#ifndef	_SSCS_CACHE_H
#include "../include/sscs_cache.h"
#endif
#include "../include/sscs_trans.h"

// Used for global buffers.
//#define	MIN_REQUEST_BUF_LEN		1024
//#define	MIN_REPLY_BUF_LEN		4096

// Some debug stuff
#ifdef DEBUG
#define DMSG(x)	printf x
#else
#define DMSG(x)
#endif

typedef struct ipcOpenSecretStoreReqMsg
{
	unsigned short msgid;
	unsigned int msgLen;
	unsigned int version;
	unsigned int ssNameLen;
	unsigned char ssName[0];
} IPC_OPEN_SECRETSTOR_REQ_MSG;

typedef struct ipcOpenSecretStoreResMsg
{
	unsigned short msgid;
	unsigned int msgLen;
	int retVal;
	unsigned int version;
}IPC_OPEN_SECRETSTOR_RES_MSG;

typedef struct ipcCloseSecretStoreReqMsg
{
	unsigned short msgid;
	unsigned int msgLen;
}IPC_CLOSE_SECRETSTORE_REQ_MSG;

typedef struct ipcCloseSecretStoreResMsg
{
	unsigned short msgid;
	unsigned int msgLen;
	int retVal;
}IPC_CLOSE_SECRETSTORE_RES_MSG;

typedef struct ipcRemoveSecretStoreReqMsg
{
	unsigned short msgid;
	unsigned int msgLen;
}IPC_REMOVE_SECRETSTORE_REQ_MSG;

typedef struct ipcRemoveSecretStoreResMsg
{
	unsigned short msgid;
	unsigned int msgLen;
	int retVal;
}IPC_REMOVE_SECRETSTORE_RES_MSG;

#endif //_IPC_CLIENT_H_