#ifndef _H_SS_TYPES
#define _H_SS_TYPES
#include <sys/syslimits.h>
#include <securityd_client/handletypes.h>
#include "ssclient.h"
#define __MigTypeCheck 1
typedef void *Data;
typedef void *XMLBlob;
typedef void *XMLBlobOut;
typedef void *Pointer;
typedef void *BasePointer;
typedef const char *CssmString;
typedef const char *FilePath;
typedef char FilePathOut[PATH_MAX];
typedef void *HashData;
typedef char HashDataOut[maxUcspHashLength];
typedef const char *RelationName;
#ifdef __cplusplus
namespace Security {
using namespace SecurityServer;
typedef void *ContextAttributes;
typedef Context::Attr *ContextAttributesPointer;
typedef CssmKey *CssmKeyPtr;
typedef AclEntryPrototype *AclEntryPrototypePtr;
typedef AclEntryInput *AclEntryInputPtr;
typedef AclEntryInfo *AclEntryInfoPtr;
typedef AclOwnerPrototype *AclOwnerPrototypePtr;
typedef AccessCredentials *AccessCredentialsPtr;
typedef CssmDeriveData *CssmDeriveDataPtr;
typedef CssmDbRecordAttributeData *CssmDbRecordAttributeDataPtr;
typedef CssmNetAddress *CssmNetAddressPtr;
typedef CssmQuery *CssmQueryPtr;
typedef CssmSubserviceUid *CssmSubserviceUidPtr;
typedef CSSM_DBINFO *CSSM_DBINFOPtr;
typedef CSSM_DB_SCHEMA_ATTRIBUTE_INFO *CSSM_DB_SCHEMA_ATTRIBUTE_INFOPtr;
typedef CSSM_DB_SCHEMA_INDEX_INFO *CSSM_DB_SCHEMA_INDEX_INFOPtr;
typedef CSSM_NAME_LIST *CSSM_NAME_LISTPtr;
typedef void *VoidPtr;
typedef CssmKey::Header CssmKeyHeader;
typedef SecGuestRef *GuestChain;
inline Context &inTrans(CSSM_CONTEXT &arg) { return Context::overlay(arg); }
inline CssmKey &inTrans(CSSM_KEY &arg) { return CssmKey::overlay(arg); }
inline CSSM_KEY &outTrans(CssmKey &key) { return key; }
}
#endif //__cplusplus
#define __NDR_convert__int_rep__BasePointer__defined
#define __NDR_convert__int_rep__BasePointer(a, f)
#endif //_H_SS_TYPES