#ifndef TCI_CD_H
#define TCI_CD_H


#include "Shared/TciC.h"

//9.4.2.1 TCI-CD provided
//The TCI-CD Provided interface is mapped to the following interface:
//NOTE: BinaryString type reused from TRI.

Value tciDecode(const BinaryString message, const Type decHypothesis);
BinaryString tciEncode(const Value value);

//NOTE: BinaryString type reused from TRI.
//9.4.2.2 TCI-CD required
//The TCI-CD Required interface is mapped to the following interface:

Type tciGetTypeForName(const char * typeName);
Type tciGetIntegerType(void);
Type tciGetFloatType(void);
Type tciGetBooleanType(void);
Type tciGetCharType(void);
Type tciGetUniversalCharType(void);
Type tciGetTciObjidType(void);
Type tciGetTciCharstringType(void);
Type tciGetUniversalCharstringType(void);
Type tciGetHexstringType(void);
Type tciGetBitstringType(void);
Type tciGetOctetstringType(void);
Type tciGetVerdictType(void);
void tciErrorReq(const char * message);

#endif
