#ifndef _CNCODES_H_
#define _CNCODES_H_

const UINT_PTR CN_RC_NOERROR =							0;
const UINT_PTR CN_MASK =								0xee00;
const UINT_PTR CN_RC_CONFERENCE_CREATE_FAILED = 		(CN_MASK | 0x01);
const UINT_PTR CN_RC_CONNECT_FAILED =					(CN_MASK | 0x02);
const UINT_PTR CN_RC_ALREADY_IN_CONFERENCE =			(CN_MASK | 0x03);
const UINT_PTR CN_RC_CONFERENCE_JOIN_DENIED =			(CN_MASK | 0x04);
const UINT_PTR CN_RC_CONFERENCE_INVITE_DENIED = 		(CN_MASK | 0x05);
const UINT_PTR CN_RC_CONFERENCE_NAME_NEEDED =			(CN_MASK | 0x06);
const UINT_PTR CN_RC_CONFERENCE_LEAVE_FAILED =			(CN_MASK | 0x07);
const UINT_PTR CN_RC_INVALID_PASSWORD = 				(CN_MASK | 0x08);
const UINT_PTR CN_RC_NAME_RESOLUTION_FAILED =			(CN_MASK | 0x09);
const UINT_PTR CN_RC_NOT_INITIALIZED =					(CN_MASK | 0x0a);
const UINT_PTR CN_RC_UNSPECIFIED_ERROR =				(CN_MASK | 0x0b);
const UINT_PTR CN_RC_CONFERENCE_DOES_NOT_EXIST =		(CN_MASK | 0x0c);
const UINT_PTR CN_RC_AUDIO_CONNECT_FAILED = 			(CN_MASK | 0x0d);
const UINT_PTR CN_RC_AUDIO_FAILED_AFTER_DATA =			(CN_MASK | 0x0e);
const UINT_PTR CN_RC_CONFERENCE_ENDED_BEFORE_JOIN = 	(CN_MASK | 0x0f);
const UINT_PTR CN_RC_CANT_INVITE_MCU =					(CN_MASK | 0x10);
const UINT_PTR CN_RC_INVITE_DENIED_REMOTE_IN_CONF = 	(CN_MASK | 0x11);
const UINT_PTR CN_RC_AUDIO_IN_USE_REMOTE_AFTER_DATA =	(CN_MASK | 0x12);
const UINT_PTR CN_RC_AUDIO_IN_USE_REMOTE =				(CN_MASK | 0x13);
const UINT_PTR CN_RC_AUDIO_IN_USE_LOCAL_AFTER_DATA =	(CN_MASK | 0x14);
const UINT_PTR CN_RC_AUDIO_IN_USE_LOCAL =				(CN_MASK | 0x15);
const UINT_PTR CN_RC_ALREADY_IN_CONFERENCE_MCU =		(CN_MASK | 0x16);
const UINT_PTR CN_RC_AUDIO_NOT_AVAILABLE =				(CN_MASK | 0x17);
const UINT_PTR CN_RC_REMOTE_PLACING_CALL =				(CN_MASK | 0x18);
const UINT_PTR CN_RC_INCOMPATIBLE_REMOTE_VERSION =		(CN_MASK | 0x1a);
const UINT_PTR CN_RC_NO_TRANSPORTS =					(CN_MASK | 0x1b);
const UINT_PTR CN_RC_CANT_JOIN_ALREADY_IN_CALL =		(CN_MASK | 0x1e);
const UINT_PTR CN_RC_TRANSPORT_FAILURE =				(CN_MASK | 0x1f);
const UINT_PTR CN_RC_LOOPBACK = 						(CN_MASK | 0x20);
const UINT_PTR CN_RC_CONFERENCE_ENDED_BEFORE_ACCEPTED = (CN_MASK | 0x22);
const UINT_PTR CN_RC_GK_CALLEE_NOT_REGISTERED =			(CN_MASK | 0x23);
const UINT_PTR CN_RC_GK_TIMEOUT =						(CN_MASK | 0x24);
const UINT_PTR CN_RC_GK_REJECTED =						(CN_MASK | 0x25);
const UINT_PTR CN_RC_GK_NOT_REGISTERED =				(CN_MASK | 0x26);
const UINT_PTR CN_RC_CONNECT_REMOTE_NO_SECURITY =		(CN_MASK | 0x27);
const UINT_PTR CN_RC_CONNECT_REMOTE_DOWNLEVEL_SECURITY =	(CN_MASK | 0x28);
const UINT_PTR CN_RC_CONNECT_REMOTE_REQUIRE_SECURITY =	(CN_MASK | 0x29);
const UINT_PTR CN_RC_QUERY_FAILED =						(CN_MASK | 0x2a);
const UINT_PTR CN_RC_INVITE_FAILED =					(CN_MASK | 0x2a);
const UINT_PTR CN_RC_JOIN_FAILED =						(CN_MASK | 0x2b);
const UINT_PTR CN_RC_LOCAL_CANCELED =					(CN_MASK | 0x2c);
const UINT_PTR CN_RC_SECURITY_FAILED =					(CN_MASK | 0x2d);
const UINT_PTR CN_RC_CONNECT_AUTHENTICATION_FAILED =    (CN_MASK | 0x2e);

typedef UINT_PTR CNSTATUS;

#endif // _CNCODES_H_