home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / prog / c / gcc233.lha / os-include / inline / locale.h < prev    next >
C/C++ Source or Header  |  1992-12-29  |  12KB  |  369 lines

  1. #ifndef _INLINE_LOCALE_H
  2. #define _INLINE_LOCALE_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL extern struct Library*  LocaleBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME LocaleBase
  18. #endif
  19.  
  20. static __inline void 
  21. CloseCatalog (BASE_PAR_DECL struct Catalog *catalog)
  22. {
  23.   BASE_EXT_DECL
  24.   register struct Library* a6 __asm("a6") = BASE_NAME;
  25.   register struct Catalog *a0 __asm("a0") = catalog;
  26.   __asm __volatile ("jsr a6@(-0x24)"
  27.   : /* no output */
  28.   : "r" (a6), "r" (a0)
  29.   : "a0","a1","d0","d1", "memory");
  30. }
  31. static __inline void 
  32. CloseLocale (BASE_PAR_DECL struct Locale *locale)
  33. {
  34.   BASE_EXT_DECL
  35.   register struct Library* a6 __asm("a6") = BASE_NAME;
  36.   register struct Locale *a0 __asm("a0") = locale;
  37.   __asm __volatile ("jsr a6@(-0x2a)"
  38.   : /* no output */
  39.   : "r" (a6), "r" (a0)
  40.   : "a0","a1","d0","d1", "memory");
  41. }
  42. static __inline ULONG 
  43. ConvToLower (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  44. {
  45.   BASE_EXT_DECL
  46.   register ULONG  _res  __asm("d0");
  47.   register struct Library* a6 __asm("a6") = BASE_NAME;
  48.   register struct Locale *a0 __asm("a0") = locale;
  49.   register unsigned long d0 __asm("d0") = character;
  50.   __asm __volatile ("jsr a6@(-0x30)"
  51.   : "=r" (_res)
  52.   : "r" (a6), "r" (a0), "r" (d0)
  53.   : "a0","a1","d0","d1", "memory");
  54.   return _res;
  55. }
  56. static __inline ULONG 
  57. ConvToUpper (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  58. {
  59.   BASE_EXT_DECL
  60.   register ULONG  _res  __asm("d0");
  61.   register struct Library* a6 __asm("a6") = BASE_NAME;
  62.   register struct Locale *a0 __asm("a0") = locale;
  63.   register unsigned long d0 __asm("d0") = character;
  64.   __asm __volatile ("jsr a6@(-0x36)"
  65.   : "=r" (_res)
  66.   : "r" (a6), "r" (a0), "r" (d0)
  67.   : "a0","a1","d0","d1", "memory");
  68.   return _res;
  69. }
  70. static __inline void 
  71. FormatDate (BASE_PAR_DECL struct Locale *locale,STRPTR _template,struct DateStamp *date,struct Hook *putCharFunc)
  72. {
  73.   BASE_EXT_DECL
  74.   register struct Library* a6 __asm("a6") = BASE_NAME;
  75.   register struct Locale *a0 __asm("a0") = locale;
  76.   register STRPTR a1 __asm("a1") = _template;
  77.   register struct DateStamp *a2 __asm("a2") = date;
  78.   register struct Hook *a3 __asm("a3") = putCharFunc;
  79.   __asm __volatile ("jsr a6@(-0x3c)"
  80.   : /* no output */
  81.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  82.   : "a0","a1","a2","a3","d0","d1", "memory");
  83. }
  84. static __inline APTR 
  85. FormatString (BASE_PAR_DECL struct Locale *locale,STRPTR string,APTR dataStream,struct Hook *putCharFunc)
  86. {
  87.   BASE_EXT_DECL
  88.   register APTR  _res  __asm("d0");
  89.   register struct Library* a6 __asm("a6") = BASE_NAME;
  90.   register struct Locale *a0 __asm("a0") = locale;
  91.   register STRPTR a1 __asm("a1") = string;
  92.   register APTR a2 __asm("a2") = dataStream;
  93.   register struct Hook *a3 __asm("a3") = putCharFunc;
  94.   __asm __volatile ("jsr a6@(-0x42)"
  95.   : "=r" (_res)
  96.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  97.   : "a0","a1","a2","a3","d0","d1", "memory");
  98.   return _res;
  99. }
  100. static __inline STRPTR 
  101. GetCatalogStr (BASE_PAR_DECL struct Catalog *catalog,long stringNum,STRPTR defaultString)
  102. {
  103.   BASE_EXT_DECL
  104.   register STRPTR  _res  __asm("d0");
  105.   register struct Library* a6 __asm("a6") = BASE_NAME;
  106.   register struct Catalog *a0 __asm("a0") = catalog;
  107.   register long d0 __asm("d0") = stringNum;
  108.   register STRPTR a1 __asm("a1") = defaultString;
  109.   __asm __volatile ("jsr a6@(-0x48)"
  110.   : "=r" (_res)
  111.   : "r" (a6), "r" (a0), "r" (d0), "r" (a1)
  112.   : "a0","a1","d0","d1", "memory");
  113.   return _res;
  114. }
  115. static __inline STRPTR 
  116. GetLocaleStr (BASE_PAR_DECL struct Locale *locale,unsigned long stringNum)
  117. {
  118.   BASE_EXT_DECL
  119.   register STRPTR  _res  __asm("d0");
  120.   register struct Library* a6 __asm("a6") = BASE_NAME;
  121.   register struct Locale *a0 __asm("a0") = locale;
  122.   register unsigned long d0 __asm("d0") = stringNum;
  123.   __asm __volatile ("jsr a6@(-0x4e)"
  124.   : "=r" (_res)
  125.   : "r" (a6), "r" (a0), "r" (d0)
  126.   : "a0","a1","d0","d1", "memory");
  127.   return _res;
  128. }
  129. static __inline BOOL 
  130. IsAlNum (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  131. {
  132.   BASE_EXT_DECL
  133.   register BOOL  _res  __asm("d0");
  134.   register struct Library* a6 __asm("a6") = BASE_NAME;
  135.   register struct Locale *a0 __asm("a0") = locale;
  136.   register unsigned long d0 __asm("d0") = character;
  137.   __asm __volatile ("jsr a6@(-0x54)"
  138.   : "=r" (_res)
  139.   : "r" (a6), "r" (a0), "r" (d0)
  140.   : "a0","a1","d0","d1", "memory");
  141.   return _res;
  142. }
  143. static __inline BOOL 
  144. IsAlpha (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  145. {
  146.   BASE_EXT_DECL
  147.   register BOOL  _res  __asm("d0");
  148.   register struct Library* a6 __asm("a6") = BASE_NAME;
  149.   register struct Locale *a0 __asm("a0") = locale;
  150.   register unsigned long d0 __asm("d0") = character;
  151.   __asm __volatile ("jsr a6@(-0x5a)"
  152.   : "=r" (_res)
  153.   : "r" (a6), "r" (a0), "r" (d0)
  154.   : "a0","a1","d0","d1", "memory");
  155.   return _res;
  156. }
  157. static __inline BOOL 
  158. IsCntrl (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  159. {
  160.   BASE_EXT_DECL
  161.   register BOOL  _res  __asm("d0");
  162.   register struct Library* a6 __asm("a6") = BASE_NAME;
  163.   register struct Locale *a0 __asm("a0") = locale;
  164.   register unsigned long d0 __asm("d0") = character;
  165.   __asm __volatile ("jsr a6@(-0x60)"
  166.   : "=r" (_res)
  167.   : "r" (a6), "r" (a0), "r" (d0)
  168.   : "a0","a1","d0","d1", "memory");
  169.   return _res;
  170. }
  171. static __inline BOOL 
  172. IsDigit (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  173. {
  174.   BASE_EXT_DECL
  175.   register BOOL  _res  __asm("d0");
  176.   register struct Library* a6 __asm("a6") = BASE_NAME;
  177.   register struct Locale *a0 __asm("a0") = locale;
  178.   register unsigned long d0 __asm("d0") = character;
  179.   __asm __volatile ("jsr a6@(-0x66)"
  180.   : "=r" (_res)
  181.   : "r" (a6), "r" (a0), "r" (d0)
  182.   : "a0","a1","d0","d1", "memory");
  183.   return _res;
  184. }
  185. static __inline BOOL 
  186. IsGraph (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  187. {
  188.   BASE_EXT_DECL
  189.   register BOOL  _res  __asm("d0");
  190.   register struct Library* a6 __asm("a6") = BASE_NAME;
  191.   register struct Locale *a0 __asm("a0") = locale;
  192.   register unsigned long d0 __asm("d0") = character;
  193.   __asm __volatile ("jsr a6@(-0x6c)"
  194.   : "=r" (_res)
  195.   : "r" (a6), "r" (a0), "r" (d0)
  196.   : "a0","a1","d0","d1", "memory");
  197.   return _res;
  198. }
  199. static __inline BOOL 
  200. IsLower (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  201. {
  202.   BASE_EXT_DECL
  203.   register BOOL  _res  __asm("d0");
  204.   register struct Library* a6 __asm("a6") = BASE_NAME;
  205.   register struct Locale *a0 __asm("a0") = locale;
  206.   register unsigned long d0 __asm("d0") = character;
  207.   __asm __volatile ("jsr a6@(-0x72)"
  208.   : "=r" (_res)
  209.   : "r" (a6), "r" (a0), "r" (d0)
  210.   : "a0","a1","d0","d1", "memory");
  211.   return _res;
  212. }
  213. static __inline BOOL 
  214. IsPrint (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  215. {
  216.   BASE_EXT_DECL
  217.   register BOOL  _res  __asm("d0");
  218.   register struct Library* a6 __asm("a6") = BASE_NAME;
  219.   register struct Locale *a0 __asm("a0") = locale;
  220.   register unsigned long d0 __asm("d0") = character;
  221.   __asm __volatile ("jsr a6@(-0x78)"
  222.   : "=r" (_res)
  223.   : "r" (a6), "r" (a0), "r" (d0)
  224.   : "a0","a1","d0","d1", "memory");
  225.   return _res;
  226. }
  227. static __inline BOOL 
  228. IsPunct (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  229. {
  230.   BASE_EXT_DECL
  231.   register BOOL  _res  __asm("d0");
  232.   register struct Library* a6 __asm("a6") = BASE_NAME;
  233.   register struct Locale *a0 __asm("a0") = locale;
  234.   register unsigned long d0 __asm("d0") = character;
  235.   __asm __volatile ("jsr a6@(-0x7e)"
  236.   : "=r" (_res)
  237.   : "r" (a6), "r" (a0), "r" (d0)
  238.   : "a0","a1","d0","d1", "memory");
  239.   return _res;
  240. }
  241. static __inline BOOL 
  242. IsSpace (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  243. {
  244.   BASE_EXT_DECL
  245.   register BOOL  _res  __asm("d0");
  246.   register struct Library* a6 __asm("a6") = BASE_NAME;
  247.   register struct Locale *a0 __asm("a0") = locale;
  248.   register unsigned long d0 __asm("d0") = character;
  249.   __asm __volatile ("jsr a6@(-0x84)"
  250.   : "=r" (_res)
  251.   : "r" (a6), "r" (a0), "r" (d0)
  252.   : "a0","a1","d0","d1", "memory");
  253.   return _res;
  254. }
  255. static __inline BOOL 
  256. IsUpper (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  257. {
  258.   BASE_EXT_DECL
  259.   register BOOL  _res  __asm("d0");
  260.   register struct Library* a6 __asm("a6") = BASE_NAME;
  261.   register struct Locale *a0 __asm("a0") = locale;
  262.   register unsigned long d0 __asm("d0") = character;
  263.   __asm __volatile ("jsr a6@(-0x8a)"
  264.   : "=r" (_res)
  265.   : "r" (a6), "r" (a0), "r" (d0)
  266.   : "a0","a1","d0","d1", "memory");
  267.   return _res;
  268. }
  269. static __inline BOOL 
  270. IsXDigit (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  271. {
  272.   BASE_EXT_DECL
  273.   register BOOL  _res  __asm("d0");
  274.   register struct Library* a6 __asm("a6") = BASE_NAME;
  275.   register struct Locale *a0 __asm("a0") = locale;
  276.   register unsigned long d0 __asm("d0") = character;
  277.   __asm __volatile ("jsr a6@(-0x90)"
  278.   : "=r" (_res)
  279.   : "r" (a6), "r" (a0), "r" (d0)
  280.   : "a0","a1","d0","d1", "memory");
  281.   return _res;
  282. }
  283. static __inline struct Catalog *
  284. OpenCatalogA (BASE_PAR_DECL struct Locale *locale,STRPTR name,struct TagItem *tags)
  285. {
  286.   BASE_EXT_DECL
  287.   register struct Catalog * _res  __asm("d0");
  288.   register struct Library* a6 __asm("a6") = BASE_NAME;
  289.   register struct Locale *a0 __asm("a0") = locale;
  290.   register STRPTR a1 __asm("a1") = name;
  291.   register struct TagItem *a2 __asm("a2") = tags;
  292.   __asm __volatile ("jsr a6@(-0x96)"
  293.   : "=r" (_res)
  294.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  295.   : "a0","a1","a2","d0","d1", "memory");
  296.   return _res;
  297. }
  298. static __inline struct Locale *
  299. OpenLocale (BASE_PAR_DECL STRPTR name)
  300. {
  301.   BASE_EXT_DECL
  302.   register struct Locale * _res  __asm("d0");
  303.   register struct Library* a6 __asm("a6") = BASE_NAME;
  304.   register STRPTR a0 __asm("a0") = name;
  305.   __asm __volatile ("jsr a6@(-0x9c)"
  306.   : "=r" (_res)
  307.   : "r" (a6), "r" (a0)
  308.   : "a0","a1","d0","d1", "memory");
  309.   return _res;
  310. }
  311. static __inline BOOL 
  312. ParseDate (BASE_PAR_DECL struct Locale *locale,struct DateStamp *date,STRPTR _template,struct Hook *getCharFunc)
  313. {
  314.   BASE_EXT_DECL
  315.   register BOOL  _res  __asm("d0");
  316.   register struct Library* a6 __asm("a6") = BASE_NAME;
  317.   register struct Locale *a0 __asm("a0") = locale;
  318.   register struct DateStamp *a1 __asm("a1") = date;
  319.   register STRPTR a2 __asm("a2") = _template;
  320.   register struct Hook *a3 __asm("a3") = getCharFunc;
  321.   __asm __volatile ("jsr a6@(-0xa2)"
  322.   : "=r" (_res)
  323.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  324.   : "a0","a1","a2","a3","d0","d1", "memory");
  325.   return _res;
  326. }
  327. static __inline ULONG 
  328. StrConvert (BASE_PAR_DECL struct Locale *locale,STRPTR string,APTR buffer,unsigned long bufferSize,unsigned long type)
  329. {
  330.   BASE_EXT_DECL
  331.   register ULONG  _res  __asm("d0");
  332.   register struct Library* a6 __asm("a6") = BASE_NAME;
  333.   register struct Locale *a0 __asm("a0") = locale;
  334.   register STRPTR a1 __asm("a1") = string;
  335.   register APTR a2 __asm("a2") = buffer;
  336.   register unsigned long d0 __asm("d0") = bufferSize;
  337.   register unsigned long d1 __asm("d1") = type;
  338.   __asm __volatile ("jsr a6@(-0xae)"
  339.   : "=r" (_res)
  340.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (d0), "r" (d1)
  341.   : "a0","a1","a2","d0","d1", "memory");
  342.   return _res;
  343. }
  344. static __inline LONG 
  345. StrnCmp (BASE_PAR_DECL struct Locale *locale,STRPTR string1,STRPTR string2,long length,unsigned long type)
  346. {
  347.   BASE_EXT_DECL
  348.   register LONG  _res  __asm("d0");
  349.   register struct Library* a6 __asm("a6") = BASE_NAME;
  350.   register struct Locale *a0 __asm("a0") = locale;
  351.   register STRPTR a1 __asm("a1") = string1;
  352.   register STRPTR a2 __asm("a2") = string2;
  353.   register long d0 __asm("d0") = length;
  354.   register unsigned long d1 __asm("d1") = type;
  355.   __asm __volatile ("jsr a6@(-0xb4)"
  356.   : "=r" (_res)
  357.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (d0), "r" (d1)
  358.   : "a0","a1","a2","d0","d1", "memory");
  359.   return _res;
  360. }
  361. #undef BASE_EXT_DECL
  362. #undef BASE_PAR_DECL
  363. #undef BASE_PAR_DECL0
  364. #undef BASE_NAME
  365.  
  366. __END_DECLS
  367.  
  368. #endif /* _INLINE_LOCALE_H */
  369.