/* @(#)CDDBdefs.h	1.1 01/04/13
 * Generated by enum2def.awk
 */
/*
 * @(#)CDDBEnums.h	7.1 01/01/19
 * from cddb2sdk-1.0.R3
 *
 * CDDBEnums.h Copyright (C) 2000 CDDB, Inc. All Rights Reserved.
 *
 * Enums used by CDDBControl
 *
 * This file is published to 3rd party developers so that they may call the SDK.
 */
#ifndef CDDBENUMS_H
#define CDDBENUMS_H


#define ERR_DomainMask			0x7ff0000
#define ERR_DomainTransport		0x2fa0000
#define ERR_DomainService		0x2fb0000
#define ERR_DomainControl		0x2fc0000
#define ERR_CodeMask			0xffff
#define ERR_Busy			0x1
#define ERR_NotRegistered		0x2
#define ERR_HandleUsed			0x3
#define ERR_InvalidParameter		0x4
#define ERR_MissingField		0x5
#define ERR_MissingProperty		0x6
#define ERR_NoCommand			0x7
#define ERR_NoClientInfo		0x8
#define ERR_NotInitialized		0x9
#define ERR_InvalidTagId		0xA
#define ERR_Disabled			0xB

/*
 *	NOTE:	The CDDBTRN enums must be kept consistent with
 *			those defined in cddbslib.h.
 */
#define CDDBTRNOutOfMemory		0x82FA0001
#define CDDBTRNBadPointer		0x82FA0002
#define CDDBTRNOutOfRange		0x82FA0003
#define CDDBTRNCorruptedData		0x82FA0004
#define CDDBTRNFieldNotFound		0x82FA0005
#define CDDBTRNUnknownEncoding		0x82FA0006
#define CDDBTRNSockInitErr		0x82FA0007
#define CDDBTRNHostNotFound		0x82FA0008
#define CDDBTRNSockCreateErr		0x82FA0009
#define CDDBTRNSockOpenErr		0x82FA000A
#define CDDBTRNSendFailed		0x82FA000B
#define CDDBTRNRecvFailed		0x82FA000C
#define CDDBTRNNoEvent			0x82FA000D
#define CDDBTRNNoUserInfo		0x82FA000E
#define CDDBTRNBatchNest		0x82FA000F
#define CDDBTRNBatchNotOpen		0x82FA0010
#define CDDBTRNBadResponseSyntax	0x82FA0011
#define CDDBTRNUnknownCompression	0x82FA0012
#define CDDBTRNTooManyRetries		0x82FA0013
#define CDDBTRNRecordNotFound		0x82FA0014
#define CDDBTRNKeyTooLong		0x82FA0015
#define CDDBTRNURLNotFound		0x82FA0016
#define CDDBTRNBadArgument		0x82FA0017
#define CDDBTRNUnflattenFailed		0x82FA0018
#define CDDBTRNTokenTooLong		0x82FA0019
#define CDDBTRNTokenInvalid		0x82FA001A
#define CDDBTRNCannotCreateFile		0x82FA001B
#define CDDBTRNBadClientCommand		0x82FA001C
#define CDDBTRNSendStatsFailed		0x82FA001D
#define CDDBTRNUnknownEncryption	0x82FA001E
#define CDDBTRNProtocolVersion		0x82FA001F
#define CDDBTRNDataStoreVersion		0x82FA0020
#define CDDBTRNDataStoreInitFail	0x82FA0021
#define CDDBTRNDataStoreNotCached	0x82FA0022
#define CDDBTRNCancelled		0x82FA0023
#define CDDBTRNServerTimeout		0x82FA0024
#define CDDBTRNInvalidURL		0x82FA0025
#define CDDBTRNHTTPError		0x82FA0026
#define CDDBTRNFileWriteError		0x82FA0027
#define CDDBTRNFileDeleteError		0x82FA0028
#define CDDBTRNIDInvalidated		0x82FA0029
#define CDDBTRNHTTPProxyError		0x82FA002A

#define CDDBSVCServiceError		0x82FB0000
#define CDDBSVCHandleUsed		0x82FB0001
#define CDDBSVCNoEmail			0x82FB0002
#define CDDBSVCNoHint			0x82FB0003
#define CDDBSVCUnknownHandle		0x82FB0004
#define CDDBSVCInvalidField		0x82FB0064
#define CDDBSVCMissingField		0x82FB0065
#define CDDBSVCLimitReached		0x82FB0066

#define CDDBCTLBusy			0x82FC0001
#define CDDBCTLNotRegistered		0x82FC0002
#define CDDBCTLHandleUsed		0x82FC0003
#define CDDBCTLInvalidParameter		0x82FC0004
#define CDDBCTLMissingField		0x82FC0005
#define CDDBCTLMissingProperty		0x82FC0006
#define CDDBCTLNoCommand		0x82FC0007
#define CDDBCTLNoClientInfo		0x82FC0008
#define CDDBCTLNotInitialized		0x82FC0009
#define CDDBCTLInvalidTagId		0x82FC000A
#define CDDBCTLDisabled			0x82FC000B

#define CDDBCTL_ID3TagNoMemory		0x82FC1000
#define CDDBCTL_ID3TagNoData		0x82FC1001
#define CDDBCTL_ID3TagBadData		0x82FC1002
#define CDDBCTL_ID3TagNoBuffer		0x82FC1003
#define CDDBCTL_ID3TagSmallBuffer	0x82FC1004
#define CDDBCTL_ID3TagInvalidFrameID	0x82FC1005
#define CDDBCTL_ID3TagFieldNotFound	0x82FC1006
#define CDDBCTL_ID3TagUnknownFieldType	0x82FC1007
#define CDDBCTL_ID3TagAlreadyAttached	0x82FC1008
#define CDDBCTL_ID3TagInvalidVersion	0x82FC1009
#define CDDBCTL_ID3TagNoFile		0x82FC100A
#define CDDBCTL_ID3TagReadonly		0x82FC100B
#define CDDBCTL_ID3TagzlibError		0x82FC100C


typedef unsigned int CDDBErrors;

#define CMD_None			0
#define CMD_Invalid			-1
#define PROP_Version			1
#define PROP_ServiceStatusURL		2
#define CMD_IsRegistered		3
#define CMD_SetClientInfo		4
#define CMD_GetUserInfo			5
#define CMD_SetUserInfo			6
#define CMD_GetOptions			7
#define CMD_SetOptions			8
#define CMD_GetMediaToc			9
#define CMD_LookupMediaByToc		10
#define CMD_GetMatchedDiscInfo		11
#define CMD_InvokeFuzzyMatchDialog	12
#define CMD_GetFullDiscInfo		13
#define CMD_GetDiscInfo			14
#define CMD_InvokeDiscInfo		15
#define CMD_DisplayDiscInfo		16
#define CMD_GetSubmitDisc		17
#define CMD_SubmitDisc			18
#define CMD_InvokeSubmitDisc		19
#define CMD_GetMediaTagId		100
#define CMD_LookupMediaByTagId		101
#define CMD_LookupMediaByFile		102
#define CMD_GetGenreList		20
#define CMD_GetGenreTree		21
#define CMD_GetGenreInfo		22
#define CMD_GetRegionList		23
#define CMD_GetRegionInfo		24
#define CMD_GetRoleList			25
#define CMD_GetRoleTree			26
#define CMD_GetRoleInfo			27
#define CMD_GetLanguageList		28
#define CMD_GetLanguageInfo		29
#define CMD_GetFieldList		30
#define CMD_GetFieldInfo		31
#define CMD_GetURLList			32
#define CMD_GetCoverURL			33
#define CMD_GetURLManager		34
#define CMD_Cancel			35
#define CMD_Status			36
#define CMD_GetServiceStatus		37
#define CMD_ServerNoop			38
#define CMD_FlushLocalCache		39
#define CMD_UpdateControl		40

typedef unsigned int CDDBCommands;

#define LOG_DEFAULT			0
#define LOG_OFF				0x1
#define LOG_WINDOW			0x2
#define LOG_FILE			0x4
#define LOG_APP				0x8
#define LOG_DEST_MASK			0xff
#define LOG_EVENT_MASK			0xffffff00
#define LOG_EVENT_UI			0x100
#define LOG_EVENT_DEVICE		0x200
#define LOG_EVENT_SERVER		0x400
#define LOG_EVENT_EVENTS		0x800
#define LOG_EVENT_COMPLETION		0x1000
#define LOG_EVENT_ERROR			0x10000000

typedef unsigned int CDDBLogFlags;

#define UI_NONE				0
#define UI_READONLY			0x1
#define UI_EDITMODE			0x2
#define UI_SUBMITNEW			0x8
#define UI_OK				0x100
#define UI_CANCEL			0x200
#define UI_DATA_CHANGED			0x400
#define UI_FULL				0x1000
#define UI_SHORT			0x2000
#define UI_DISP_PROGRESS		0x10000
#define UI_DISP_STATIC			0x20000
#define UI_DISP_BONUS			0x40000

typedef unsigned int CDDBUIFlags;

#define TAG_MERGE_DEFAULT		0
#define TAG_MERGE_ALL			0x1
#define TAG_MERGE_ID_ONLY		0x2

typedef unsigned int CDDBTagFlags;

#define EVENT_COMMAND_COMPLETED		1
#define EVENT_LOG_MESSAGE		2
#define EVENT_SERVER_MESSAGE		3
#define EVENT_COMMAND_PROGRESS		4

typedef unsigned int CDDBEventCodes;

#define PROP_Default			0x00000000
#define PROP_DomainMask			0xff000000
#define PROP_Title			0x1
#define PROP_Artist			0x2
#define PROP_Label			0x4
#define PROP_Year			0x8
#define PROP_Notes			0x10
#define PROP_GenreId			0x20
#define PROP_SecondaryGenreId		0x40
#define PROP_RegionId			0x80
#define PROP_TotalInSet			0x100
#define PROP_NumberInSet		0x200
#define PROP_Certifier			0x400
#define PROP_TitleSort			0x800
#define PROP_TitleThe			0x1000
#define PROP_ArtistFirstName		0x2000
#define PROP_ArtistLastName		0x4000
#define PROP_ArtistThe			0x8000
#define PROP_Lyrics			0x10000
#define PROP_BeatsPerMinute		0x20000
#define PROP_ISRC			0x40000
#define PROP_Name			0x80000
#define PROP_StartTrack			0x100000
#define PROP_StartFrame			0x200000
#define PROP_EndTrack			0x400000
#define PROP_EndFrame			0x800000
#define PROP_Href			0x1000001
#define PROP_DisplayLink		0x1000002
#define PROP_Description		0x1000004
#define PROP_Category			0x1000008
#define PROP_Size			0x1000010
#define PROP_DisplayText		0x1000020
#define PROP_Id				0x1000040
#define PROP_Compilation		0x1000080

typedef unsigned int CDDBProperty;

/*
 *	NOTE:	The following enums must be kept consistent with
 *			those defined in cddbslib.h.
 */
#define MATCH_NONE			1
#define MATCH_MULTIPLE			2
#define MATCH_EXACT			3
#define MATCH_CODE_SIZER		0xFFFFFFFF

typedef unsigned int CDDBMatchCode;

#define CMD_CONNECTING			1
#define CMD_SENDING			2
#define CMD_RECEIVING			3
#define CMD_CANCELLED			4
#define CMD_WAITING			5
#define CMD_COMPLETED			6

typedef unsigned int CDDBProgressCodes;

#define CACHE_DEFAULT			0
#define CACHE_DONT_CONNECT		0x1
#define CACHE_DONT_CREATE		0x2
#define CACHE_DONT_WRITE_MEDIA		0x10
#define CACHE_DONT_WRITE_LIST		0x20
#define CACHE_DONT_WRITE_URL		0x40
#define CACHE_DONT_WRITE_ANY		0xF0
#define CACHE_NO_LOOKUP_MEDIA		0x100
#define CACHE_NO_LOOKUP_LIST		0x200
#define CACHE_NO_LOOKUP_URL		0x400
#define CACHE_NO_LOOKUP_ANY		0xF00
#define CACHE_SUBMIT_UPDATE		0x1000
#define CACHE_SUBMIT_NEW		0x2000
#define CACHE_SUBMIT_OFFLINE		0x4000
#define CACHE_SUBMIT_ALL		0xF000
#define CACHE_UPDATE_FUZZY		0x10000
#define CACHE_UPDATE_CHECK		0x20000


typedef unsigned int CDDBCacheFlags;

#define FLUSH_DEFAULT			0
#define FLUSH_USERINFO			0x1
#define FLUSH_CLIENTINFO		0x2
#define FLUSH_REGISTRY			0x4
#define FLUSH_CACHE_MEDIA		0x10
#define FLUSH_CACHE_LISTS		0x20
#define FLUSH_CACHE_URLS		0x40
#define FLUSH_MEMORY_MEDIA		0x100
#define FLUSH_MEMORY_LISTS		0x200
#define FLUSH_MEMORY_URLS		0x400

typedef unsigned int CDDBFlushFlags;

#define MSG_UPDATE			1
#define MSG_ENABLE			2
#define MSG_DISABLE			3
#define MSG_MESSAGE			4

typedef unsigned int CDDBServerMessageCodes;

#define ACTION_NONE			1
#define ACTION_RECOMMENDED		2
#define ACTION_REQUIRED			3

typedef unsigned int CDDBServerMessageActions;

#endif
