#ifndef __INC_POS_LOCALE_LOCALE_H
#define __INC_POS_LOCALE_LOCALE_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Papajewski
 $DAT >>Locale.h<<   27 Jan 1997    14:18:18 - (C) ProDAD
*******************************************************************/

#ifndef __INC_POS_PEXEC_NODE_H
#include <pExec/Node.h>
#endif
#ifndef __INC_POS_PEXEC_RAWDOFMT_H
#include <pExec/RawDoFmt.h>
#endif



/*----------------------------------
-----------------------------------*/
struct pOS_Locale
{
  struct pOS_ExNode   loc_Node;

  const CHAR         *loc_LocaleName;
  const CHAR         *loc_LanguageName;
  const CHAR         *loc_PrefLanguages[10];
  ULONG               loc_Flags;

  ULONG               loc_CodeSet;
  CHAR               *loc_CountryCode;
  ULONG               loc_TelephoneCode;
  SLONG               loc_GMTOffset;
  UBYTE               loc_MeasuringSystem;
  UBYTE               loc_CalendarType;

  const CHAR         *loc_DateTimeFormat;
  const CHAR         *loc_DateFormat;
  const CHAR         *loc_TimeFormat;

  const CHAR         *loc_ShortDateTimeFormat;
  const CHAR         *loc_ShortDateFormat;
  const CHAR         *loc_ShortTimeFormat;

  const CHAR         *loc_DecimalPoint;
  const CHAR         *loc_GroupSeparator;
  const CHAR         *loc_FracGroupSeparator;

  const CHAR         *loc_MonDecimalPoint;
  const CHAR         *loc_MonGroupSeparator;
  const CHAR         *loc_MonFracGroupSeparator;

  /* WährungsSymbol */
  const CHAR         *loc_CurrencySymbol;
  const CHAR         *loc_SmallCurrencySymbol;
  const CHAR         *loc_IntCurrencySymbol;   /* internationaler ISO Code */

  UBYTE               loc_Reserved[40];

  /***** SYSTEM-DATA *****/
};




/*----------------------------------
-----------------------------------*/
struct pOS_FormatDateCBData
{
  struct pOS_RawDoFmtData   fdd_FmtData;
  struct pOS_Locale        *fdd_Locale;

  /***** SYSTEM-DATA *****/
};




enum pOS_GetLocaleStrConstants
{
  DAY_1 = 1,            /* Sonntag */
  DAY_2,                /* Montag */
  DAY_3,                /* Dienstag */
  DAY_4,                /* Mittwoch */
  DAY_5,                /* Donnerstag */
  DAY_6,                /* Freitag */
  DAY_7,                /* Samstag */

  ABDAY_1,              /* So */
  ABDAY_2,              /* Mo */
  ABDAY_3,              /* Di */
  ABDAY_4,              /* Mi */
  ABDAY_5,              /* Do */
  ABDAY_6,              /* Fr */
  ABDAY_7,              /* Sa */

  MON_1,                /* Januar */
  MON_2,                /* Februar */
  MON_3,                /* März */
  MON_4,                /* April */
  MON_5,                /* Mai */
  MON_6,                /* Juni */
  MON_7,                /* Juli */
  MON_8,                /* August */
  MON_9,                /* September */
  MON_10,               /* Oktober */
  MON_11,               /* November */
  MON_12,               /* Dezember */

  ABMON_1,              /* Jan */
  ABMON_2,              /* Feb */
  ABMON_3,              /* Mär */
  ABMON_4,              /* Apr */
  ABMON_5,              /* Mai */
  ABMON_6,              /* Jun */
  ABMON_7,              /* Jul */
  ABMON_8,              /* Aug */
  ABMON_9,              /* Sep */
  ABMON_10,             /* Okt */
  ABMON_11,             /* Nov */
  ABMON_12,             /* Dez */

  YESSTR,               /* Ja */
  NOSTR,                /* Nein */

  AM_STR,
  PM_STR,

  SOFTHYPHEN,
  HARDHYPHEN,

  OPENQUOTE,            /* " */
  CLOSEQUOTE,           /* " */

  YESTERDAYSTR,         /* Gestern */
  TODAYSTR,             /* Heute */
  TOMORROWSTR,          /* Morgen */
  FUTURESTR,            /* Zukunft */

  LOCALE_MAXSTR
};




enum pOS_MeasuringSystemConstants
{
  MS_ISO = 0,
  MS_AMERICAN,
  MS_IMPERIAL,
  MS_BRITISH
};



enum pOS_CalendarTypeConstants
{
  CT_7SUN = 0,
  CT_7MON,
  CT_7TUE,
  CT_7WED,
  CT_7THU,
  CT_7FRI,
  CT_7SAT
};


#endif
