home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / compiler / m2posx14 / src / lctypes.dpp < prev    next >
Encoding:
Modula Definition  |  1994-04-29  |  4.1 KB  |  162 lines

  1. DEFINITION MODULE LCTypes;
  2. __DEF_SWITCHES__
  3. #ifdef HM2
  4. #ifdef __LONG_WHOLE__
  5. (*$!i+: Modul muss mit $i- uebersetzt werden! *)
  6. (*$!w+: Modul muss mit $w- uebersetzt werden! *)
  7. #else
  8. (*$!i-: Modul muss mit $i+ uebersetzt werden! *)
  9. (*$!w-: Modul muss mit $w+ uebersetzt werden! *)
  10. #endif
  11. #endif
  12. (****************************************************************************)
  13. (* 29-Apr-94, Holger Kleinschmidt                                           *)
  14. (****************************************************************************)
  15.  
  16. FROM PORTAB IMPORT
  17. (* CONST*) MINCHAR, MAXCHAR,
  18. (* TYPE *) SIGNEDWORD;
  19.  
  20. FROM types IMPORT
  21. (* TYPE *) StrPtr;
  22.  
  23. (*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
  24.  
  25. CONST
  26.   MAXLCID = 16;
  27.  
  28. CONST
  29.   IDSEP = ':';
  30.  
  31. TYPE
  32.   LCIdent = ARRAY [0..MAXLCID] OF CHAR;
  33.  
  34. TYPE
  35.   LCIdents = ARRAY [0..5] OF LCIdent;
  36.  
  37.  
  38. TYPE
  39.   LCTimeP = POINTER TO LCTime;
  40.  
  41.   (* Datentyp fuer LC_TIME-Locale *)
  42.   LCTime = RECORD
  43.     abday    : ARRAY [0..6] OF StrPtr;
  44.       (* Abgekuerzter Wochentag *)
  45.     day      : ARRAY [0..6] OF StrPtr;
  46.       (* Wochentag *)
  47.     abmon    : ARRAY [0..11] OF StrPtr;
  48.       (* Abgekuerzter Monat *)
  49.     mon      : ARRAY [0..11] OF StrPtr;
  50.       (* Monat *)
  51.     ampm     : ARRAY [0..1] OF StrPtr;
  52.       (* Aequivalent zu A.M/P.M.; leer, falls keine 12-Stunden-Zeit *)
  53.     dtfmt    : StrPtr;
  54.       (* %c-Format *)
  55.     dfmt     : StrPtr;
  56.       (* %x-Format *)
  57.     tfmt     : StrPtr;
  58.       (* %X-Format *)
  59.     tfmtampm : StrPtr;
  60.       (* %r-Format *)
  61.   END;
  62.  
  63. TYPE
  64.   LCNumericP = POINTER TO LCNumeric;
  65.  
  66.   (* Datentyp fuer LC_NUMERIC-Locale *)
  67.   LCNumeric = RECORD
  68.     decimalpoint : StrPtr;
  69.     thousandssep : StrPtr;
  70.     grouping     : StrPtr;
  71.   END;
  72.  
  73. TYPE
  74.   LCMonetaryP = POINTER TO LCMonetary;
  75.  
  76.   (* Datentyp fuer LC_MONETARY-Locale *)
  77.   LCMonetary = RECORD
  78.     intcurrsymbol   : StrPtr;
  79.       (* Internationales Waehrungssymbol (drei Zeichen + Leerzeichen) *)
  80.     currencysymbol  : StrPtr;
  81.       (* Nationales Waehrungssymbol *)
  82.     mondecimalpoint : StrPtr;
  83.     monthousandssep : StrPtr;
  84.     mongrouping     : StrPtr;
  85.     positivesign    : StrPtr;
  86.       (* Kennzeichnung fuer positive Geldbetraege *)
  87.     negativesign    : StrPtr;
  88.       (* Kennzeichnung fuer negative Geldbetraege *)
  89.     intfracdigits   : SIGNEDWORD;
  90.       (* Ziffern rechts vom Dezimalpunkt, international *)
  91.     fracdigits      : SIGNEDWORD;
  92.       (* Ziffern rechts vom Dezimalpunkt, national *)
  93.     pcsprecedes     : SIGNEDWORD;
  94.     psepbyspace     : SIGNEDWORD;
  95.     ncsprecedes     : SIGNEDWORD;
  96.     nsepbyspace     : SIGNEDWORD;
  97.     psignposn       : SIGNEDWORD;
  98.     nsignposn       : SIGNEDWORD;
  99.   END;
  100.  
  101. TYPE
  102.   (* Datentypen fuer LC_CTYPE-Locale *)
  103.   CType  = (
  104.     IScntrl,
  105.     ISspace,
  106.     ISblank,
  107.     ISpunct,
  108.     ISdigit,
  109.     ISupper,
  110.     ISlower,
  111.     ISalpha,
  112.     ISalnum,
  113.     ISxdigit,
  114.     ISgraph,
  115.     ISprint
  116.   );
  117.   CClass = PACKEDSET OF CType;
  118.  
  119. #if only_subrange_index
  120.   CClasses = ARRAY [MINCHAR..MAXCHAR] OF CClass;
  121.   CTrans   = ARRAY [MINCHAR..MAXCHAR] OF CHAR;
  122. #else
  123.   CClasses = ARRAY CHAR OF CClass;
  124.   CTrans   = ARRAY CHAR OF CHAR;
  125. #endif
  126.  
  127.   LCCtypeP = POINTER TO LCCtype;
  128.  
  129.   LCCtype = RECORD
  130.     class   : CClasses;
  131.       (* Klassifizierung von Zeichen *)
  132.     toupper : CTrans;
  133.       (* Wandlung: Kleinbuchstaben -> Grossbuchstaben *)
  134.     tolower : CTrans;
  135.       (* Wandlung: Grossbuchstaben -> Kleinbuchstaben *)
  136.   END;
  137.  
  138. TYPE
  139.   LCMessagesP = POINTER TO LCMessages;
  140.  
  141.   (* Datentyp fuer LC_MESSAGES-Locale (Nicht Standard) *)
  142.   LCMessages = RECORD
  143.     bioserr    : ARRAY [0..19] OF StrPtr;
  144.       (* BIOS-Fehlermeldungen *)
  145.     gemdoserr  : ARRAY [0..35] OF StrPtr;
  146.       (* GEMDOS-Fehlermeldungen *)
  147.     minterr    : ARRAY [0.. 1] OF StrPtr;
  148.       (* MiNT-Fehlermeldungen *)
  149.     socketerr  : ARRAY [0..26] OF StrPtr;
  150.       (* Socket-Fehlermeldungen *)
  151.     posixerr   : ARRAY [0..15] OF StrPtr;
  152.       (* POSIX-Fehlermeldungen *)
  153.     unknownerr : StrPtr;
  154.       (* Unbekannter Fehler *)
  155.     signalstr  : ARRAY [0..30] OF StrPtr;
  156.       (* Signalbeschreibungen *)
  157.     unknownsig : StrPtr;
  158.       (* Unbekanntes Signal *)
  159.   END;
  160.  
  161. END LCTypes.
  162.