#ifndef NEWDISKINFO_H
#define NEWDISKINFO_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_DISKINFO_TITLE 1000
#define MSG_DISKINFO_DESC 1001
#define MSG_OK 1002
#define MSG_CANCEL 1003
#define MSG_NAME 1004
#define MSG_HANDLER 1005
#define MSG_TYPE 1006
#define MSG_STATE 1007
#define MSG_USED 1008
#define MSG_FREE 1009
#define MSG_CAPACITY 1010
#define MSG_UNIT 1011
#define MSG_UNKNOWN 1012
#define MSG_READ_WRITE 1013
#define MSG_READ_ONLY 1014
#define MSG_VALIDATING 1015
#define MSG_BYTES 1016
#define MSG_ERROR 1017
#define MSG_ERRORS 1018
#define MSG_DOSTYPE_1 2000
#define MSG_DOSTYPE_2 2001
#define MSG_DOSTYPE_3 2002
#define MSG_DOSTYPE_4 2003
#define MSG_DOSTYPE_5 2004
#define MSG_DOSTYPE_6 2005
#define MSG_DOSTYPE_7 2006
#define MSG_DOSTYPE_8 2007
#define MSG_DOSTYPE_9 2008
#define MSG_DOSTYPE_10 2009
#define MSG_DOSTYPE_11 2010
#define MSG_DOSTYPE_12 2011
#define MSG_DOSTYPE_13 2012

#endif /* CATCOMP_NUMBERS */


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


#ifdef CATCOMP_STRINGS

#define MSG_DISKINFO_TITLE_STR "%b (%s) Information"
#define MSG_DISKINFO_DESC_STR "Show information about a device"
#define MSG_OK_STR "_OK"
#define MSG_CANCEL_STR "_Cancel"
#define MSG_NAME_STR "_Name:"
#define MSG_HANDLER_STR "Handler:"
#define MSG_TYPE_STR "Type:"
#define MSG_STATE_STR "State:"
#define MSG_USED_STR "Used:"
#define MSG_FREE_STR "Free:"
#define MSG_CAPACITY_STR "Total:"
#define MSG_UNIT_STR "unit"
#define MSG_UNKNOWN_STR "unknown"
#define MSG_READ_WRITE_STR "Read/Write"
#define MSG_READ_ONLY_STR "Read Only"
#define MSG_VALIDATING_STR "Validating"
#define MSG_BYTES_STR " bytes"
#define MSG_ERROR_STR "%ld error"
#define MSG_ERRORS_STR "%ld errors"
#define MSG_DOSTYPE_1_STR "Old File System"
#define MSG_DOSTYPE_2_STR "Fast File System"
#define MSG_DOSTYPE_3_STR "Old File System (International)"
#define MSG_DOSTYPE_4_STR "Fast File System (International)"
#define MSG_DOSTYPE_5_STR "Old File System (Dir-Caching)"
#define MSG_DOSTYPE_6_STR "Fast File System (Dir-Caching)"
#define MSG_DOSTYPE_7_STR "MS-DOS (CrossDOS)"
#define MSG_DOSTYPE_8_STR "Ami-FileSafe Pro"
#define MSG_DOSTYPE_9_STR "Ami-FileSafe User"
#define MSG_DOSTYPE_10_STR "Ami-FileSafe Multi"
#define MSG_DOSTYPE_11_STR "PFS Floppy"
#define MSG_DOSTYPE_12_STR "PFS Hard Drive"
#define MSG_DOSTYPE_13_STR "Envoy Network Volume"

#endif /* CATCOMP_STRINGS */


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


#ifdef CATCOMP_ARRAY

struct CatCompArrayType
{
    LONG   cca_ID;
    STRPTR cca_Str;
};

static const struct CatCompArrayType CatCompArray[] =
{
    {MSG_DISKINFO_TITLE,(STRPTR)MSG_DISKINFO_TITLE_STR},
    {MSG_DISKINFO_DESC,(STRPTR)MSG_DISKINFO_DESC_STR},
    {MSG_OK,(STRPTR)MSG_OK_STR},
    {MSG_CANCEL,(STRPTR)MSG_CANCEL_STR},
    {MSG_NAME,(STRPTR)MSG_NAME_STR},
    {MSG_HANDLER,(STRPTR)MSG_HANDLER_STR},
    {MSG_TYPE,(STRPTR)MSG_TYPE_STR},
    {MSG_STATE,(STRPTR)MSG_STATE_STR},
    {MSG_USED,(STRPTR)MSG_USED_STR},
    {MSG_FREE,(STRPTR)MSG_FREE_STR},
    {MSG_CAPACITY,(STRPTR)MSG_CAPACITY_STR},
    {MSG_UNIT,(STRPTR)MSG_UNIT_STR},
    {MSG_UNKNOWN,(STRPTR)MSG_UNKNOWN_STR},
    {MSG_READ_WRITE,(STRPTR)MSG_READ_WRITE_STR},
    {MSG_READ_ONLY,(STRPTR)MSG_READ_ONLY_STR},
    {MSG_VALIDATING,(STRPTR)MSG_VALIDATING_STR},
    {MSG_BYTES,(STRPTR)MSG_BYTES_STR},
    {MSG_ERROR,(STRPTR)MSG_ERROR_STR},
    {MSG_ERRORS,(STRPTR)MSG_ERRORS_STR},
    {MSG_DOSTYPE_1,(STRPTR)MSG_DOSTYPE_1_STR},
    {MSG_DOSTYPE_2,(STRPTR)MSG_DOSTYPE_2_STR},
    {MSG_DOSTYPE_3,(STRPTR)MSG_DOSTYPE_3_STR},
    {MSG_DOSTYPE_4,(STRPTR)MSG_DOSTYPE_4_STR},
    {MSG_DOSTYPE_5,(STRPTR)MSG_DOSTYPE_5_STR},
    {MSG_DOSTYPE_6,(STRPTR)MSG_DOSTYPE_6_STR},
    {MSG_DOSTYPE_7,(STRPTR)MSG_DOSTYPE_7_STR},
    {MSG_DOSTYPE_8,(STRPTR)MSG_DOSTYPE_8_STR},
    {MSG_DOSTYPE_9,(STRPTR)MSG_DOSTYPE_9_STR},
    {MSG_DOSTYPE_10,(STRPTR)MSG_DOSTYPE_10_STR},
    {MSG_DOSTYPE_11,(STRPTR)MSG_DOSTYPE_11_STR},
    {MSG_DOSTYPE_12,(STRPTR)MSG_DOSTYPE_12_STR},
    {MSG_DOSTYPE_13,(STRPTR)MSG_DOSTYPE_13_STR},
};

#endif /* CATCOMP_ARRAY */


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


#ifdef CATCOMP_BLOCK

static const char CatCompBlock[] =
{
    "\x00\x00\x03\xE8\x00\x14"
    MSG_DISKINFO_TITLE_STR "\x00"
    "\x00\x00\x03\xE9\x00\x20"
    MSG_DISKINFO_DESC_STR "\x00"
    "\x00\x00\x03\xEA\x00\x04"
    MSG_OK_STR "\x00"
    "\x00\x00\x03\xEB\x00\x08"
    MSG_CANCEL_STR "\x00"
    "\x00\x00\x03\xEC\x00\x08"
    MSG_NAME_STR "\x00\x00"
    "\x00\x00\x03\xED\x00\x0A"
    MSG_HANDLER_STR "\x00\x00"
    "\x00\x00\x03\xEE\x00\x06"
    MSG_TYPE_STR "\x00"
    "\x00\x00\x03\xEF\x00\x08"
    MSG_STATE_STR "\x00\x00"
    "\x00\x00\x03\xF0\x00\x06"
    MSG_USED_STR "\x00"
    "\x00\x00\x03\xF1\x00\x06"
    MSG_FREE_STR "\x00"
    "\x00\x00\x03\xF2\x00\x08"
    MSG_CAPACITY_STR "\x00\x00"
    "\x00\x00\x03\xF3\x00\x06"
    MSG_UNIT_STR "\x00\x00"
    "\x00\x00\x03\xF4\x00\x08"
    MSG_UNKNOWN_STR "\x00"
    "\x00\x00\x03\xF5\x00\x0C"
    MSG_READ_WRITE_STR "\x00\x00"
    "\x00\x00\x03\xF6\x00\x0A"
    MSG_READ_ONLY_STR "\x00"
    "\x00\x00\x03\xF7\x00\x0C"
    MSG_VALIDATING_STR "\x00\x00"
    "\x00\x00\x03\xF8\x00\x08"
    MSG_BYTES_STR "\x00\x00"
    "\x00\x00\x03\xF9\x00\x0A"
    MSG_ERROR_STR "\x00"
    "\x00\x00\x03\xFA\x00\x0C"
    MSG_ERRORS_STR "\x00\x00"
    "\x00\x00\x07\xD0\x00\x10"
    MSG_DOSTYPE_1_STR "\x00"
    "\x00\x00\x07\xD1\x00\x12"
    MSG_DOSTYPE_2_STR "\x00\x00"
    "\x00\x00\x07\xD2\x00\x20"
    MSG_DOSTYPE_3_STR "\x00"
    "\x00\x00\x07\xD3\x00\x22"
    MSG_DOSTYPE_4_STR "\x00\x00"
    "\x00\x00\x07\xD4\x00\x1E"
    MSG_DOSTYPE_5_STR "\x00"
    "\x00\x00\x07\xD5\x00\x20"
    MSG_DOSTYPE_6_STR "\x00\x00"
    "\x00\x00\x07\xD6\x00\x12"
    MSG_DOSTYPE_7_STR "\x00"
    "\x00\x00\x07\xD7\x00\x12"
    MSG_DOSTYPE_8_STR "\x00\x00"
    "\x00\x00\x07\xD8\x00\x12"
    MSG_DOSTYPE_9_STR "\x00"
    "\x00\x00\x07\xD9\x00\x14"
    MSG_DOSTYPE_10_STR "\x00\x00"
    "\x00\x00\x07\xDA\x00\x0C"
    MSG_DOSTYPE_11_STR "\x00\x00"
    "\x00\x00\x07\xDB\x00\x10"
    MSG_DOSTYPE_12_STR "\x00\x00"
    "\x00\x00\x07\xDC\x00\x16"
    MSG_DOSTYPE_13_STR "\x00\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);

#define XLocaleBase LocaleBase
#define LocaleBase li->li_LocaleBase
    
    if (LocaleBase)
        return(GetCatalogStr(li->li_Catalog,stringNum,builtIn));
#define LocaleBase XLocaleBase
#undef XLocaleBase

    return(builtIn);
}


#endif /* CATCOMP_CODE */


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


#endif /* NEWDISKINFO_H */
