#ifndef SCSI_LOCALE_H
#define SCSI_LOCALE_H


/****************************************************************************/


/* This file was created automatically by CatComp.
 * Do NOT edit by hand!
 */


#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifdef CATCOMP_ARRAY
#undef CATCOMP_NUMBERS
#undef CATCOMP_STRINGS
#define CATCOMP_NUMBERS
#define CATCOMP_STRINGS
#endif

#ifdef CATCOMP_BLOCK
#undef CATCOMP_STRINGS
#define CATCOMP_STRINGS
#endif


/****************************************************************************/


#ifdef CATCOMP_NUMBERS

#define MSG_Vendor 0
#define MSG_Product 1
#define MSG_Revision 2
#define MSG_Device_Type 3
#define MSG_Standard 4
#define MSG_Removable 5
#define MSG_Unable_to_Open_icon 6
#define MSG_Unable_to_Open_MUI 7
#define MSG_Unable_to_Create_Cust_Class 8
#define MSG_Device 9
#define MSG_Failed_to_Create_App 10
#define MSG_Unit 11
#define MSG_Unable_to_Allocate_Memory 12
#define MSG_Unable_to_Create_Mess_Port 13
#define MSG_Unable_to_Create_StandardIO 14
#define MSG_Not_Used 15
#define MSG_Rel_Addr 16
#define MSG_16_Wide 17
#define MSG_32_Wide 18

#endif /* CATCOMP_NUMBERS */


/****************************************************************************/


#ifdef CATCOMP_STRINGS

#define MSG_Vendor_STR "Vendor"
#define MSG_Product_STR "Product"
#define MSG_Revision_STR "Revision"
#define MSG_Device_Type_STR "Device Type"
#define MSG_Standard_STR "Standard"
#define MSG_Removable_STR "Removable"
#define MSG_Unable_to_Open_icon_STR "Unable to open icon.library"
#define MSG_Unable_to_Open_MUI_STR "Unable to open muimaster.library"
#define MSG_Unable_to_Create_Cust_Class_STR "Unable to Create Custom Classes"
#define MSG_Device_STR "Device"
#define MSG_Failed_to_Create_App_STR "Failed to create application"
#define MSG_Unit_STR "Unit"
#define MSG_Unable_to_Allocate_Memory_STR "Unable to Allocate Memory"
#define MSG_Unable_to_Create_Mess_Port_STR "Unable to Create Message Port"
#define MSG_Unable_to_Create_StandardIO_STR "Unable to Create Standard IO"
#define MSG_Not_Used_STR "Not Used"
#define MSG_Rel_Addr_STR "Relative Addressing"
#define MSG_16_Wide_STR "16 Bit Wide Data Transfer"
#define MSG_32_Wide_STR "32 Bit Wide Data Transfer"

#endif /* CATCOMP_STRINGS */


/****************************************************************************/


#ifdef CATCOMP_ARRAY

struct CatCompArrayType
{
    LONG   cca_ID;
    STRPTR cca_Str;
};

static const struct CatCompArrayType CatCompArray[] =
{
    {MSG_Vendor,(STRPTR)MSG_Vendor_STR},
    {MSG_Product,(STRPTR)MSG_Product_STR},
    {MSG_Revision,(STRPTR)MSG_Revision_STR},
    {MSG_Device_Type,(STRPTR)MSG_Device_Type_STR},
    {MSG_Standard,(STRPTR)MSG_Standard_STR},
    {MSG_Removable,(STRPTR)MSG_Removable_STR},
    {MSG_Unable_to_Open_icon,(STRPTR)MSG_Unable_to_Open_icon_STR},
    {MSG_Unable_to_Open_MUI,(STRPTR)MSG_Unable_to_Open_MUI_STR},
    {MSG_Unable_to_Create_Cust_Class,(STRPTR)MSG_Unable_to_Create_Cust_Class_STR},
    {MSG_Device,(STRPTR)MSG_Device_STR},
    {MSG_Failed_to_Create_App,(STRPTR)MSG_Failed_to_Create_App_STR},
    {MSG_Unit,(STRPTR)MSG_Unit_STR},
    {MSG_Unable_to_Allocate_Memory,(STRPTR)MSG_Unable_to_Allocate_Memory_STR},
    {MSG_Unable_to_Create_Mess_Port,(STRPTR)MSG_Unable_to_Create_Mess_Port_STR},
    {MSG_Unable_to_Create_StandardIO,(STRPTR)MSG_Unable_to_Create_StandardIO_STR},
    {MSG_Not_Used,(STRPTR)MSG_Not_Used_STR},
    {MSG_Rel_Addr,(STRPTR)MSG_Rel_Addr_STR},
    {MSG_16_Wide,(STRPTR)MSG_16_Wide_STR},
    {MSG_32_Wide,(STRPTR)MSG_32_Wide_STR},
};

#endif /* CATCOMP_ARRAY */


/****************************************************************************/


#ifdef CATCOMP_BLOCK

static const char CatCompBlock[] =
{
    "\x00\x00\x00\x00\x00\x08"
    MSG_Vendor_STR "\x00\x00"
    "\x00\x00\x00\x01\x00\x08"
    MSG_Product_STR "\x00"
    "\x00\x00\x00\x02\x00\x0A"
    MSG_Revision_STR "\x00\x00"
    "\x00\x00\x00\x03\x00\x0C"
    MSG_Device_Type_STR "\x00"
    "\x00\x00\x00\x04\x00\x0A"
    MSG_Standard_STR "\x00\x00"
    "\x00\x00\x00\x05\x00\x0A"
    MSG_Removable_STR "\x00"
    "\x00\x00\x00\x06\x00\x1C"
    MSG_Unable_to_Open_icon_STR "\x00"
    "\x00\x00\x00\x07\x00\x22"
    MSG_Unable_to_Open_MUI_STR "\x00\x00"
    "\x00\x00\x00\x08\x00\x20"
    MSG_Unable_to_Create_Cust_Class_STR "\x00"
    "\x00\x00\x00\x09\x00\x08"
    MSG_Device_STR "\x00\x00"
    "\x00\x00\x00\x0A\x00\x1E"
    MSG_Failed_to_Create_App_STR "\x00\x00"
    "\x00\x00\x00\x0B\x00\x06"
    MSG_Unit_STR "\x00\x00"
    "\x00\x00\x00\x0C\x00\x1A"
    MSG_Unable_to_Allocate_Memory_STR "\x00"
    "\x00\x00\x00\x0D\x00\x1E"
    MSG_Unable_to_Create_Mess_Port_STR "\x00"
    "\x00\x00\x00\x0E\x00\x1E"
    MSG_Unable_to_Create_StandardIO_STR "\x00\x00"
    "\x00\x00\x00\x0F\x00\x0A"
    MSG_Not_Used_STR "\x00\x00"
    "\x00\x00\x00\x10\x00\x14"
    MSG_Rel_Addr_STR "\x00"
    "\x00\x00\x00\x11\x00\x1A"
    MSG_16_Wide_STR "\x00"
    "\x00\x00\x00\x12\x00\x1A"
    MSG_32_Wide_STR "\x00"
};

#endif /* CATCOMP_BLOCK */


/****************************************************************************/


struct LocaleInfo
{
    APTR li_LocaleBase;
    APTR li_Catalog;
};


#ifdef CATCOMP_CODE

STRPTR GetString(struct LocaleInfo *li, LONG stringNum)
{
LONG   *l;
UWORD  *w;
STRPTR  builtIn;

    l = (LONG *)CatCompBlock;

    while (*l != stringNum)
    {
        w = (UWORD *)((ULONG)l + 4);
        l = (LONG *)((ULONG)l + (ULONG)*w + 6);
    }
    builtIn = (STRPTR)((ULONG)l + 6);
    
    if (LocaleBase)
        return(GetCatalogStr(li->li_Catalog,stringNum,builtIn));

    return(builtIn);
}


#endif /* CATCOMP_CODE */


/****************************************************************************/


#endif /* SCSI_LOCALE_H */
