/*
 *  TI_DataTypes.h
 *  TI Connect X CommMgr
 *
 *  Created by Stephen L. Reid on Mon May 13 2002.
 *  Copyright (c) 2002-2003 Texas Instruments Incorporated. All rights reserved.
 *
 */

#ifndef __TI_DATATYPEDEFS__
#define __TI_DATATYPEDEFS__

enum TIGenericDataTypes {

// TI-73
typeTI73Object				= FOUR_CHAR_CODE('\xFF\x74\xFF\x80'),
typeTI73Best				= FOUR_CHAR_CODE('b\x74st'),
typeTI73BestNumber			= FOUR_CHAR_CODE('\xFF\x74\xFF\x81'),
typeTI73CalculatorText			= FOUR_CHAR_CODE('T\x74XT'),

// TI-82
typeTI82Object				= FOUR_CHAR_CODE('\xFF\x82\xFF\x80'),
typeTI82Best				= FOUR_CHAR_CODE('b\x82st'),
typeTI82BestNumber			= FOUR_CHAR_CODE('\xFF\x82\xFF\x81'),
typeTI82CalculatorText			= FOUR_CHAR_CODE('T\x82XT'),

// TI-83
typeTI83Object				= FOUR_CHAR_CODE('\xFF\x83\xFF\x80'),
typeTI83Best				= FOUR_CHAR_CODE('b\x83st'),
typeTI83BestNumber			= FOUR_CHAR_CODE('\xFF\x83\xFF\x81'),
typeTI83CalculatorText			= FOUR_CHAR_CODE('T\x83XT'),

// TI-83Plus
typeTI83PlusObject			= FOUR_CHAR_CODE('\xFF\x73\xFF\x80'),
typeTI83PlusBest			= FOUR_CHAR_CODE('b\x73st'),
typeTI83PlusBestNumber			= FOUR_CHAR_CODE('\xFF\x73\xFF\x81'),
typeTI83PlusCalculatorText		= FOUR_CHAR_CODE('T\x73XT'),
typeTI83PlusMiniText			= FOUR_CHAR_CODE('83pM'),	// special "mini" text font.

// TI-85
typeTI85Object				= FOUR_CHAR_CODE('\xFF\x85\xFF\x80'),
typeTI85Best				= FOUR_CHAR_CODE('b\x85st'),
typeTI85BestNumber			= FOUR_CHAR_CODE('\xFF\x85\xFF\x81'),
typeTI85CalculatorText			= FOUR_CHAR_CODE('T\x85XT'),

// TI-86
typeTI86Best				= FOUR_CHAR_CODE('b\x86st'),
typeTI86Wildcard			= FOUR_CHAR_CODE('*\x86**'),
typeTI86CalculatorText			= FOUR_CHAR_CODE('T\x86XT'),

// TI-89
typeTI89Object				= FOUR_CHAR_CODE('\xFF\x98\xFF\xFF'),
typeTI89Best				= FOUR_CHAR_CODE('b\x98st'),
typeTI89Float				= FOUR_CHAR_CODE('\xFF\x98\xFF\x80'),
typeTI89CalculatorText			= FOUR_CHAR_CODE('T\x98XT'),

// TI-92
typeTI92Object				= FOUR_CHAR_CODE('\xFF\x89\xFF\xFF'),
typeTI92Best				= FOUR_CHAR_CODE('b\x89st'),
typeTI92Float				= FOUR_CHAR_CODE('\xFF\x89\xFF\x80'),
typeTI92CalculatorText			= FOUR_CHAR_CODE('T\x89XT'),

// TI-92Plus
typeTI92PlusObject			= FOUR_CHAR_CODE('\xFF\x88\xFF\xFF'),
typeTI92PlusBest			= FOUR_CHAR_CODE('b\x88st'),
typeTI92PlusFloat			= FOUR_CHAR_CODE('\xFF\x88\xFF\x80'),
typeTI92PlusCalculatorText		= FOUR_CHAR_CODE('T\x88XT'),

// TI- Voyage 200 - similar/same as TI-92Plus...
typeTIVoyage200Object			= FOUR_CHAR_CODE('\xFF\x88\xFF\xFF'),
typeTIVoyage200Best			= FOUR_CHAR_CODE('b\x88st'),
typeTIVoyage200Float			= FOUR_CHAR_CODE('\xFF\x88\xFF\x80'),
typeTIVoyage200CalculatorText		= FOUR_CHAR_CODE('T\x88XT'),

// TI CBR
typeCBRCalculatorText			= FOUR_CHAR_CODE('T\x86XT'),

// TI CBL 2
typeCBL2CalculatorText			= FOUR_CHAR_CODE('T\x42XT'),

// TI Presenter
typePresenterCalculatorText		= FOUR_CHAR_CODE('T\x43XT'),

typeProtectedText			= FOUR_CHAR_CODE('PrTX')
};
typedef enum TIGenericDataTypes TIGenericDataTypes;


//========================================================================================
// TI-73 Calculator Data Objects and Constructed Types
//========================================================================================
enum TI73DataTypes {

typeTI73Real				= FOUR_CHAR_CODE('\xFF\x74\xFF\x00'),
typeTI73List				= FOUR_CHAR_CODE('\xFF\x74\xFF\x01'),
typeTI73Equation			= FOUR_CHAR_CODE('\xFF\x74\xFF\x03'),
typeTI73String				= FOUR_CHAR_CODE('\xFF\x74\xFF\x04'),
typeTI73Program				= FOUR_CHAR_CODE('\xFF\x74\xFF\x05'),
typeTI73ProtectedProgram		= FOUR_CHAR_CODE('\xFF\x74\xFF\x06'),
typeTI73Picture				= FOUR_CHAR_CODE('\xFF\x74\xFF\x07'),
typeTI73NewEquation			= FOUR_CHAR_CODE('\xFF\x74\xFF\x0B'),
typeTI73StringList			= FOUR_CHAR_CODE('\xFF\x74\xFF\x0D'),
typeTI73Window				= FOUR_CHAR_CODE('\xFF\x74\xFF\x0F'),
typeTI73TableRange			= FOUR_CHAR_CODE('\xFF\x74\xFF\x11'),
typeTI73RSFraction			= FOUR_CHAR_CODE('\xFF\x74\xFF\x14'),
typeTI73RMFraction			= FOUR_CHAR_CODE('\xFF\x74\xFF\x15'),
typeTI73USFraction			= FOUR_CHAR_CODE('\xFF\x74\xFF\x16'),
typeTI73UMFraction			= FOUR_CHAR_CODE('\xFF\x74\xFF\x17'),

// "graphlink" constructed data types
typeTI73ScreenShot			= FOUR_CHAR_CODE('\xFF\x74\xFF\x12'),
typeTI73FullDirectory			= FOUR_CHAR_CODE('\xFF\x74\xFF\x19'),
typeTI73Information			= FOUR_CHAR_CODE('\xFF\x74\xFF\xF0'),
typeTI73IDList				= FOUR_CHAR_CODE('\xFF\x74\xFF\x26'),

// device native "flash"-related objects
typeTI73ApplicationVariable		= FOUR_CHAR_CODE('\xFF\x74\xFF\x1A'),
typeTI73TemporaryItem			= FOUR_CHAR_CODE('\xFF\x74\xFF\x1B'),
typeTI73OperatingSystem			= FOUR_CHAR_CODE('\xFF\x74\xFF\x23'),
typeTI73FlashApplication		= FOUR_CHAR_CODE('\xFF\x74\xFF\x24'),
typeTI73Certificate			= FOUR_CHAR_CODE('\xFF\x74\xFF\x25'),
typeTI73CertificateMemory		= FOUR_CHAR_CODE('\xFF\x74\xFF\x27'),
typeTI73UnitCertificate			= FOUR_CHAR_CODE('\xFF\x74\xFF\x28')

};

//========================================================================================
// TI-82 Calculator Data Objects and Constructed Types
//========================================================================================
enum TI82DataTypes {

// calculator device data objects
typeTI82Real				= FOUR_CHAR_CODE('\xFF\x82\xFF\x00'),
typeTI82List				= FOUR_CHAR_CODE('\xFF\x82\xFF\x01'),
typeTI82Matrix				= FOUR_CHAR_CODE('\xFF\x82\xFF\x02'),
typeTI82Equation			= FOUR_CHAR_CODE('\xFF\x82\xFF\x03'),
typeTI82Program				= FOUR_CHAR_CODE('\xFF\x82\xFF\x05'),
typeTI82ProtectedProgram		= FOUR_CHAR_CODE('\xFF\x82\xFF\x06'),
typeTI82Picture				= FOUR_CHAR_CODE('\xFF\x82\xFF\x07'),
typeTI82GraphDataBase			= FOUR_CHAR_CODE('\xFF\x82\xFF\x08'),
typeTI82Window				= FOUR_CHAR_CODE('\xFF\x82\xFF\x0B'),
typeTI82RecallWindow			= FOUR_CHAR_CODE('\xFF\x82\xFF\x0C'),
typeTI82TableRange			= FOUR_CHAR_CODE('\xFF\x82\xFF\x0D'),

// "connect" constructed data types
typeTI82ScreenShot			= FOUR_CHAR_CODE('\xFF\x82\xFF\x12'),
typeTI82Group				= FOUR_CHAR_CODE('\xFF\x82\xFF\x1F')

};


//========================================================================================
// TI-83 Calculator Data Objects and Constructed Types
//========================================================================================
enum TI83DataTypes {

// calculator device data objects
typeTI83Real				= FOUR_CHAR_CODE('\xFF\x83\xFF\x00'),
typeTI83List				= FOUR_CHAR_CODE('\xFF\x83\xFF\x01'),
typeTI83Matrix				= FOUR_CHAR_CODE('\xFF\x83\xFF\x02'),
typeTI83Equation			= FOUR_CHAR_CODE('\xFF\x83\xFF\x03'),
typeTI83String				= FOUR_CHAR_CODE('\xFF\x83\xFF\x04'),
typeTI83Program				= FOUR_CHAR_CODE('\xFF\x83\xFF\x05'),
typeTI83ProtectedProgram		= FOUR_CHAR_CODE('\xFF\x83\xFF\x06'),
typeTI83Picture				= FOUR_CHAR_CODE('\xFF\x83\xFF\x07'),
typeTI83GraphDataBase			= FOUR_CHAR_CODE('\xFF\x83\xFF\x08'),
typeTI83NewEquation			= FOUR_CHAR_CODE('\xFF\x83\xFF\x0B'),
typeTI83Complex				= FOUR_CHAR_CODE('\xFF\x83\xFF\x0C'),
typeTI83ComplexList			= FOUR_CHAR_CODE('\xFF\x83\xFF\x0D'),
typeTI83Window				= FOUR_CHAR_CODE('\xFF\x83\xFF\x0F'),
typeTI83RecallWindow			= FOUR_CHAR_CODE('\xFF\x83\xFF\x10'),
typeTI83TableRange			= FOUR_CHAR_CODE('\xFF\x83\xFF\x11'),

// "graphlink" constructed data types
typeTI83ScreenShot			= FOUR_CHAR_CODE('\xFF\x83\xFF\x12'),
typeTI83NonExist			= FOUR_CHAR_CODE('\xFF\x83\xFF\x1E'),
typeTI83FullDirectory			= FOUR_CHAR_CODE('\xFF\x83\xFF\x19')

};


//========================================================================================
// TI-83Plus Calculator Data Objects and Constructed Types
//========================================================================================
enum TI83PlusDataTypes {

// calculator device data objects
typeTI83PlusReal			= FOUR_CHAR_CODE('\xFF\x73\xFF\x00'),
typeTI83PlusList			= FOUR_CHAR_CODE('\xFF\x73\xFF\x01'),
typeTI83PlusMatrix			= FOUR_CHAR_CODE('\xFF\x73\xFF\x02'),
typeTI83PlusEquation			= FOUR_CHAR_CODE('\xFF\x73\xFF\x03'),
typeTI83PlusString			= FOUR_CHAR_CODE('\xFF\x73\xFF\x04'),
typeTI83PlusProgram			= FOUR_CHAR_CODE('\xFF\x73\xFF\x05'),
typeTI83PlusProtectedProgram		= FOUR_CHAR_CODE('\xFF\x73\xFF\x06'),
typeTI83PlusPicture			= FOUR_CHAR_CODE('\xFF\x73\xFF\x07'),
typeTI83PlusGraphDataBase		= FOUR_CHAR_CODE('\xFF\x73\xFF\x08'),
typeTI83PlusNewEquation			= FOUR_CHAR_CODE('\xFF\x73\xFF\x0B'),
typeTI83PlusComplex			= FOUR_CHAR_CODE('\xFF\x73\xFF\x0C'),
typeTI83PlusComplexList			= FOUR_CHAR_CODE('\xFF\x73\xFF\x0D'),
typeTI83PlusWindow			= FOUR_CHAR_CODE('\xFF\x73\xFF\x0F'),
typeTI83PlusRecallWindow		= FOUR_CHAR_CODE('\xFF\x73\xFF\x10'),
typeTI83PlusTableRange			= FOUR_CHAR_CODE('\xFF\x73\xFF\x11'),

// "graphlink" constructed data types
typeTI83PlusScreenShot			= FOUR_CHAR_CODE('\xFF\x73\xFF\x12'),
typeTI83PlusNonExist			= FOUR_CHAR_CODE('\xFF\x73\xFF\x1E'),
typeTI83PlusFullDirectory		= FOUR_CHAR_CODE('\xFF\x73\xFF\x19'),
typeTI83PlusInformation			= FOUR_CHAR_CODE('\xFF\x73\xFF\xF0'),
typeTI83PlusIDList			= FOUR_CHAR_CODE('\xFF\x73\xFF\x26'),

// device native "flash"-related objects
typeTI83PlusApplicationVariable		= FOUR_CHAR_CODE('\xFF\x73\xFF\x15'),
typeTI83PlusTemporaryItem		= FOUR_CHAR_CODE('\xFF\x73\xFF\x16'),
typeTI83PlusGroupObject			= FOUR_CHAR_CODE('\xFF\x73\xFF\x17'),
typeTI83PlusOperatingSystem		= FOUR_CHAR_CODE('\xFF\x73\xFF\x23'),
typeTI83PlusFlashApplication		= FOUR_CHAR_CODE('\xFF\x73\xFF\x24'),
typeTI83PlusCertificate			= FOUR_CHAR_CODE('\xFF\x73\xFF\x25'),
typeTI83PlusCertificateMemory		= FOUR_CHAR_CODE('\xFF\x73\xFF\x27'),

// 84Plus/84 Platinum-specific object(s)
typeTI84PlusClock			= FOUR_CHAR_CODE('\xFF\x73\xFF\x29')


};


//========================================================================================
// TI-85 Calculator Data Objects and Constructed Types
//========================================================================================
enum TI85DataTypes {

// calculator device data objects
typeTI85Real				= FOUR_CHAR_CODE('\xFF\x85\xFF\x00'),
typeTI85Complex				= FOUR_CHAR_CODE('\xFF\x85\xFF\x01'),
typeTI85Vector				= FOUR_CHAR_CODE('\xFF\x85\xFF\x02'),
typeTI85ComplexVector			= FOUR_CHAR_CODE('\xFF\x85\xFF\x03'),
typeTI85List				= FOUR_CHAR_CODE('\xFF\x85\xFF\x04'),
typeTI85ComplexList			= FOUR_CHAR_CODE('\xFF\x85\xFF\x05'),
typeTI85Matrix				= FOUR_CHAR_CODE('\xFF\x85\xFF\x06'),
typeTI85ComplexMatrix			= FOUR_CHAR_CODE('\xFF\x85\xFF\x07'),
typeTI85Constant			= FOUR_CHAR_CODE('\xFF\x85\xFF\x08'),
typeTI85ComplexConstant			= FOUR_CHAR_CODE('\xFF\x85\xFF\x09'),
typeTI85Equation			= FOUR_CHAR_CODE('\xFF\x85\xFF\x0A'),
typeTI85String				= FOUR_CHAR_CODE('\xFF\x85\xFF\x0C'),
typeTI85FunctionGraphDataBase		= FOUR_CHAR_CODE('\xFF\x85\xFF\x0D'),
typeTI85PolarGraphDataBase		= FOUR_CHAR_CODE('\xFF\x85\xFF\x0E'),
typeTI85ParamGraphDataBase		= FOUR_CHAR_CODE('\xFF\x85\xFF\x0F'),
typeTI85DifEqGraphDataBase		= FOUR_CHAR_CODE('\xFF\x85\xFF\x10'),
typeTI85Picture				= FOUR_CHAR_CODE('\xFF\x85\xFF\x11'),
typeTI85Program				= FOUR_CHAR_CODE('\xFF\x85\xFF\x12'),
typeTI85FunctionRange			= FOUR_CHAR_CODE('\xFF\x85\xFF\x17'),
typeTI85PolarRange			= FOUR_CHAR_CODE('\xFF\x85\xFF\x18'),
typeTI85ParamRange			= FOUR_CHAR_CODE('\xFF\x85\xFF\x19'),
typeTI85DifEqRange			= FOUR_CHAR_CODE('\xFF\x85\xFF\x1A'),
typeTI85UserZoomRange			= FOUR_CHAR_CODE('\xFF\x85\xFF\x1B'),

// "graphlink" constructed data types
typeTI85ScreenShot			= FOUR_CHAR_CODE('\xFF\x85\xFF\x1E'),
typeTI85Group				= FOUR_CHAR_CODE('\xFF\x85\xFF\x1F')

};


//========================================================================================
// TI-86 Calculator Data Objects and Constructed Types
//========================================================================================
enum TI86DataTypes {

// calculator device data objects
typeTI86Real				= FOUR_CHAR_CODE('\xFF\x86\xFF\x00'),
typeTI86Complex				= FOUR_CHAR_CODE('\xFF\x86\xFF\x01'),
typeTI86Vector				= FOUR_CHAR_CODE('\xFF\x86\xFF\x02'),
typeTI86ComplexVector			= FOUR_CHAR_CODE('\xFF\x86\xFF\x03'),
typeTI86List				= FOUR_CHAR_CODE('\xFF\x86\xFF\x04'),
typeTI86ComplexList			= FOUR_CHAR_CODE('\xFF\x86\xFF\x05'),
typeTI86Matrix				= FOUR_CHAR_CODE('\xFF\x86\xFF\x06'),
typeTI86ComplexMatrix			= FOUR_CHAR_CODE('\xFF\x86\xFF\x07'),
typeTI86Constant			= FOUR_CHAR_CODE('\xFF\x86\xFF\x08'),
typeTI86ComplexConstant			= FOUR_CHAR_CODE('\xFF\x86\xFF\x09'),
typeTI86Equation			= FOUR_CHAR_CODE('\xFF\x86\xFF\x0A'),
typeTI86String				= FOUR_CHAR_CODE('\xFF\x86\xFF\x0C'),
typeTI86FunctionGraphDataBase		= FOUR_CHAR_CODE('\xFF\x86\xFF\x0D'),
typeTI86PolarGraphDataBase		= FOUR_CHAR_CODE('\xFF\x86\xFF\x0E'),
typeTI86ParamGraphDataBase		= FOUR_CHAR_CODE('\xFF\x86\xFF\x0F'),
typeTI86DifEqGraphDataBase		= FOUR_CHAR_CODE('\xFF\x86\xFF\x10'),
typeTI86Picture				= FOUR_CHAR_CODE('\xFF\x86\xFF\x11'),
typeTI86Program				= FOUR_CHAR_CODE('\xFF\x86\xFF\x12'),
typeTI86ProtectedProgram		= FOUR_CHAR_CODE('\xFF\x86\xFF\x92'),
typeTI86NewEquation			= FOUR_CHAR_CODE('\xFF\x86\xFF\x14'),
typeTI86FunctionRange			= FOUR_CHAR_CODE('\xFF\x86\xFF\x17'),
typeTI86PolarRange			= FOUR_CHAR_CODE('\xFF\x86\xFF\x18'),
typeTI86ParamRange			= FOUR_CHAR_CODE('\xFF\x86\xFF\x19'),
typeTI86DifEqRange			= FOUR_CHAR_CODE('\xFF\x86\xFF\x1A'),
typeTI86UserZoom			= FOUR_CHAR_CODE('\xFF\x86\xFF\x1B'),

// "graphlink" constructed data types
typeTI86FullDirectory			= FOUR_CHAR_CODE('\xFF\x86\xFF\x15'),
typeTI86ScreenShot			= FOUR_CHAR_CODE('\xFF\x86\xFF\x1E')

};


//========================================================================================
// TI-89 Calculator Data Objects and Constructed Types
//========================================================================================
enum TI89DataTypes {

// calculator device data objects
typeTI89Expression			= FOUR_CHAR_CODE('\xFF\x98\xFF\x00'),
typeTI89List				= FOUR_CHAR_CODE('\xFF\x98\xFF\x04'),
typeTI89Matrix				= FOUR_CHAR_CODE('\xFF\x98\xFF\x06'),
typeTI89Data				= FOUR_CHAR_CODE('\xFF\x98\xFF\x0A'),
typeTI89Text				= FOUR_CHAR_CODE('\xFF\x98\xFF\x0B'),
typeTI89String				= FOUR_CHAR_CODE('\xFF\x98\xFF\x0C'),
typeTI89GraphDataBase			= FOUR_CHAR_CODE('\xFF\x98\xFF\x0D'),
typeTI89GDBVersionZero			= FOUR_CHAR_CODE('\xFF\x98\x80\x0D'),  // TI-92 GDB on a TI-89.
typeTI89Figure				= FOUR_CHAR_CODE('\xFF\x98\xFF\x0E'),
typeTI89Picture				= FOUR_CHAR_CODE('\xFF\x98\xFF\x10'),
typeTI89Program				= FOUR_CHAR_CODE('\xFF\x98\xFF\x12'),
typeTI89Function			= FOUR_CHAR_CODE('\xFF\x98\xFF\x13'),
typeTI89Macro				= FOUR_CHAR_CODE('\xFF\x98\xFF\x14'),

// "graphlink" constructed data types
typeTI89Clock				= FOUR_CHAR_CODE('\xFF\x98\xFF\x18'),
typeTI89FullDirectory			= FOUR_CHAR_CODE('\xFF\x98\xFF\x19'),
typeTI89FilterDirectory			= FOUR_CHAR_CODE('\xFF\x98\xFF\x1A'),
typeTI89ScreenSnapshot			= FOUR_CHAR_CODE('\xFF\x98\xFF\x1E'),
typeTI89Folder				= FOUR_CHAR_CODE('\xFF\x98\xFF\x1F'),
typeTI89IDList				= FOUR_CHAR_CODE('\xFF\x98\xFF\x22'),
typeTI89Information			= FOUR_CHAR_CODE('\xFF\x98\xFF\xF0'),

// device native "flash"-related objects
typeTI89ApplicationVariable		= FOUR_CHAR_CODE('\xFF\x98\xFF\x1C'),
typeTI89CertificateMemory		= FOUR_CHAR_CODE('\xFF\x98\xFF\x20'),
typeTI89AssemblyProgram			= FOUR_CHAR_CODE('\xFF\x98\xFF\x21'),
typeTI89OperatingSystem			= FOUR_CHAR_CODE('\xFF\x98\xFF\x23'),
typeTI89FlashApplication		= FOUR_CHAR_CODE('\xFF\x98\xFF\x24'),
typeTI89Certificate			= FOUR_CHAR_CODE('\xFF\x98\xFF\x25')

};



//========================================================================================
// TI-92 Calculator Data Objects and Constructed Types
//========================================================================================
enum TI92DataTypes {

// calculator device data objects
typeTI92Expression			= FOUR_CHAR_CODE('\xFF\x89\xFF\x00'),
typeTI92List				= FOUR_CHAR_CODE('\xFF\x89\xFF\x04'),
typeTI92Matrix				= FOUR_CHAR_CODE('\xFF\x89\xFF\x06'),
typeTI92Data				= FOUR_CHAR_CODE('\xFF\x89\xFF\x0A'),
typeTI92Text				= FOUR_CHAR_CODE('\xFF\x89\xFF\x0B'),
typeTI92String				= FOUR_CHAR_CODE('\xFF\x89\xFF\x0C'),
typeTI92GraphDataBase			= FOUR_CHAR_CODE('\xFF\x89\xFF\x0D'),
typeTI92Figure				= FOUR_CHAR_CODE('\xFF\x89\xFF\x0E'),
typeTI92Picture				= FOUR_CHAR_CODE('\xFF\x89\xFF\x10'),
typeTI92Program				= FOUR_CHAR_CODE('\xFF\x89\xFF\x12'),
typeTI92Function			= FOUR_CHAR_CODE('\xFF\x89\xFF\x13'),
typeTI92Macro				= FOUR_CHAR_CODE('\xFF\x89\xFF\x14'),

// "graphlink" constructed data types
typeTI92FullDirectory			= FOUR_CHAR_CODE('\xFF\x89\xFF\x19'),
typeTI92ScreenSnapshot			= FOUR_CHAR_CODE('\xFF\x89\xFF\x1E'),
typeTI92Folder				= FOUR_CHAR_CODE('\xFF\x89\xFF\x1F')

};


//========================================================================================
// TI-92Plus Calculator Data Objects and Constructed Types
//========================================================================================
enum TI92PlusDataTypes {

// calculator device data objects
typeTI92PlusExpression			= FOUR_CHAR_CODE('\xFF\x88\xFF\x00'),
typeTI92PlusList			= FOUR_CHAR_CODE('\xFF\x88\xFF\x04'),
typeTI92PlusMatrix			= FOUR_CHAR_CODE('\xFF\x88\xFF\x06'),
typeTI92PlusData			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0A'),
typeTI92PlusText			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0B'),
typeTI92PlusString			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0C'),
typeTI92PlusGraphDataBase		= FOUR_CHAR_CODE('\xFF\x88\xFF\x0D'),
typeTI92PlusGDBVersionZero		= FOUR_CHAR_CODE('\xFF\x88\x80\x0D'),  // TI-92 GDB on a TI-92Plus.
typeTI92PlusFigure			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0E'),
typeTI92PlusPicture			= FOUR_CHAR_CODE('\xFF\x88\xFF\x10'),
typeTI92PlusProgram			= FOUR_CHAR_CODE('\xFF\x88\xFF\x12'),
typeTI92PlusFunction			= FOUR_CHAR_CODE('\xFF\x88\xFF\x13'),
typeTI92PlusMacro			= FOUR_CHAR_CODE('\xFF\x88\xFF\x14'),

// "graphlink" constructed data types
typeTI92PlusFullDirectory		= FOUR_CHAR_CODE('\xFF\x88\xFF\x19'),
typeTI92PlusFilterDirectory		= FOUR_CHAR_CODE('\xFF\x88\xFF\x1A'),
typeTI92PlusScreenSnapshot		= FOUR_CHAR_CODE('\xFF\x88\xFF\x1E'),
typeTI92PlusFolder			= FOUR_CHAR_CODE('\xFF\x88\xFF\x1F'),
typeTI92PlusIDList			= FOUR_CHAR_CODE('\xFF\x88\xFF\x22'),
typeTI92PlusInformation			= FOUR_CHAR_CODE('\xFF\x88\xFF\xF0'),

// device native "flash"-related objects
typeTI92PlusClock			= FOUR_CHAR_CODE('\xFF\x88\xFF\x18'),
typeTI92PlusApplicationVariable		= FOUR_CHAR_CODE('\xFF\x88\xFF\x1C'),
typeTI92PlusCertificateMemory		= FOUR_CHAR_CODE('\xFF\x88\xFF\x20'),
typeTI92PlusAssemblyProgram		= FOUR_CHAR_CODE('\xFF\x88\xFF\x21'),
typeTI92PlusOperatingSystem		= FOUR_CHAR_CODE('\xFF\x88\xFF\x23'),
typeTI92PlusFlashApplication		= FOUR_CHAR_CODE('\xFF\x88\xFF\x24'),
typeTI92PlusCertificate			= FOUR_CHAR_CODE('\xFF\x88\xFF\x25')

};

//========================================================================================
// "Voyage200" Calculator Data Objects and Constructed Types
//========================================================================================
enum TIVoyage200DataTypes {

// calculator device data objects
typeTIVoyage200Expression		= FOUR_CHAR_CODE('\xFF\x88\xFF\x00'),
typeTIVoyage200List			= FOUR_CHAR_CODE('\xFF\x88\xFF\x04'),
typeTIVoyage200Matrix			= FOUR_CHAR_CODE('\xFF\x88\xFF\x06'),
typeTIVoyage200Data			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0A'),
typeTIVoyage200Text			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0B'),
typeTIVoyage200String			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0C'),
typeTIVoyage200GraphDataBase		= FOUR_CHAR_CODE('\xFF\x88\xFF\x0D'),
typeTIVoyage200GDBVersionZero		= FOUR_CHAR_CODE('\xFF\x88\x80\x0D'),  // TI-92 GDB on a Sylvester.
typeTIVoyage200Figure			= FOUR_CHAR_CODE('\xFF\x88\xFF\x0E'),
typeTIVoyage200Picture			= FOUR_CHAR_CODE('\xFF\x88\xFF\x10'),
typeTIVoyage200Program			= FOUR_CHAR_CODE('\xFF\x88\xFF\x12'),
typeTIVoyage200Function			= FOUR_CHAR_CODE('\xFF\x88\xFF\x13'),
typeTIVoyage200Macro			= FOUR_CHAR_CODE('\xFF\x88\xFF\x14'),

// "graphlink" constructed data types
typeTIVoyage200Clock			= FOUR_CHAR_CODE('\xFF\x88\xFF\x18'),
typeTIVoyage200FullDirectory		= FOUR_CHAR_CODE('\xFF\x88\xFF\x19'),
typeTIVoyage200FilterDirectory		= FOUR_CHAR_CODE('\xFF\x88\xFF\x1A'),
typeTIVoyage200ScreenSnapshot		= FOUR_CHAR_CODE('\xFF\x88\xFF\x1E'),
typeTIVoyage200Folder			= FOUR_CHAR_CODE('\xFF\x88\xFF\x1F'),
typeTIVoyage200IDList			= FOUR_CHAR_CODE('\xFF\x88\xFF\x22'),
typeTIVoyage200Information		= FOUR_CHAR_CODE('\xFF\x88\xFF\xF0'),

// device native "flash"-related objects
typeTIVoyage200ApplicationVariable	= FOUR_CHAR_CODE('\xFF\x88\xFF\x1C'),
typeTIVoyage200CertificateMemory	= FOUR_CHAR_CODE('\xFF\x88\xFF\x20'),
typeTIVoyage200AssemblyProgram		= FOUR_CHAR_CODE('\xFF\x88\xFF\x21'),
typeTIVoyage200OperatingSystem		= FOUR_CHAR_CODE('\xFF\x88\xFF\x23'),
typeTIVoyage200FlashApplication		= FOUR_CHAR_CODE('\xFF\x88\xFF\x24'),
typeTIVoyage200Certificate		= FOUR_CHAR_CODE('\xFF\x88\xFF\x25')

};

//========================================================================================
// TI CBR Calculator Data Objects and Constructed Types
//========================================================================================
enum TICBRDataTypes {

// calculator device data objects
typeTICBRList				= FOUR_CHAR_CODE('\xFF\x86\xFF\x04'),	// uses TI-86 SA to coerce.

// "graphlink" constructed data types
typeTICBRFullDirectory			= FOUR_CHAR_CODE('\xFF\x16\xFF\x15')

};


//========================================================================================
// TI CBL 2 Calculator Data Objects and Constructed Types
//========================================================================================
enum TICBL2DataTypes {

// calculator device data objects
typeTICBL2String			= FOUR_CHAR_CODE('\xFF\x42\xFF\x07'),
typeTICBL2List				= FOUR_CHAR_CODE('\xFF\x42\xFF\x08'),
typeTICBL2Setup				= FOUR_CHAR_CODE('\xFF\x42\xFF\x0A'),
typeTICBL2NormalDataList		= FOUR_CHAR_CODE('\xFF\x42\xFF\x0D'),

// "graphlink" constructed data types
typeTICBL2FullDirectory			= FOUR_CHAR_CODE('\xFF\x42\xFF\x1F'),
typeTICBL2ArchiveRecord			= FOUR_CHAR_CODE('\xFF\x42\xFF\x2A'),
typeTICBL2Information			= FOUR_CHAR_CODE('\xFF\x42\xFF\xF0'),

// device native "flash"-related objects
typeTICBL2OperatingSystem		= FOUR_CHAR_CODE('\xFF\x42\xFF\x23'),
typeTICBL2UserFlashApplication		= FOUR_CHAR_CODE('\xFF\x42\xFF\x29')

};

//========================================================================================
// TI Presenter Calculator Data Objects and Constructed Types
//========================================================================================
enum TIPresenterDataTypes {

// "graphlink" constructed data types
typeTIPresenterFullDirectory		= FOUR_CHAR_CODE('\xFF\x43\xFF\x1F'),
typeTIPresenterInformation		= FOUR_CHAR_CODE('\xFF\x43\xFF\xF0'),

// device native "flash"-related objects
typeTIPresenterOperatingSystem		= FOUR_CHAR_CODE('\xFF\x43\xFF\x23')

};

#if CARS_PROTOCOL_IMPLEMENTATION

//========================================================================================
// "Voyage200" Calculator Data Objects and Constructed Types
//========================================================================================
enum TICARSDataTypes {

// constructed data types
typeTICARSClock				= FOUR_CHAR_CODE('\xFF\xCA\xFF\x18'),
typeTICARSScreenSnapshot		= FOUR_CHAR_CODE('\xFF\xCA\xFF\x1E'),
typeTICARSIDList			= FOUR_CHAR_CODE('\xFF\xCA\xFF\x22'),
typeTICARSInformation			= FOUR_CHAR_CODE('\xFF\xCA\xFF\xF0'),
typeTICARSCertificateMemory		= FOUR_CHAR_CODE('\xFF\xCA\xFF\x20')

};

typedef enum TICARSDataTypes			TICARSDataTypes;

#endif


//========================================================================================
// TI Calculator Data Objects and Constructed Types - enumerated typedefs
//========================================================================================
typedef enum TI73DataTypes 			TI73DataTypes;
typedef enum TI82DataTypes			TI82DataTypes;
typedef enum TI83DataTypes 			TI83DataTypes;
typedef enum TI83PlusDataTypes 			TI83PlusDataTypes;
typedef enum TI85DataTypes			TI85DataTypes;
typedef enum TI86DataTypes 			TI86DataTypes;
typedef enum TI89DataTypes 			TI89DataTypes;
typedef enum TI92DataTypes 			TI92DataTypes;
typedef enum TI92PlusDataTypes 			TI92PlusDataTypes;
typedef enum TICBRDataTypes 			TICBRDataTypes;
typedef enum TICBL2DataTypes 			TICBL2DataTypes;
typedef enum TIPresenterDataTypes 		TIPresenterDataTypes;
typedef enum TIVoyage200DataTypes		TIVoyage200DataTypes;












#endif


