(root)/
glibc-2.38/
localedata/
tests-mbwc/
tst_types.h
       1  /*
       2   *  TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
       3   *
       4   *	 FILE:	tst_types.h
       5   *
       6   *	 Definitions of data types for each test function
       7   */
       8  
       9  
      10  #ifndef TST_TYPES_H
      11  #define TST_TYPES_H
      12  
      13  #include <stdio.h>
      14  #include <wchar.h>
      15  #include <wctype.h>
      16  #include "tst_funcs.h"
      17  #include "tgn_funcdef.h"
      18  
      19  #define MBSSIZE		   24
      20  #define WCSSIZE		   12
      21  #define MONFMTSIZE	   16
      22  #define MONSIZE		   64
      23  #define USE_MBCURMAX	   99	/* well, but ... */
      24  #define TST_DBL_EPS	   2.22153e-16
      25  #define WCSTOK_SEQNUM	   3
      26  #define MBLEN_SEQNUM	   3
      27  #define MBTOWC_SEQNUM	   3
      28  #define MBSTOWCS_SEQNUM	   3
      29  #define WCTOMB_SEQNUM	   3
      30  #define WCSTOMBS_SEQNUM	   3
      31  #define MBRLEN_SEQNUM	   3
      32  #define MBRTOWC_SEQNUM	   3
      33  #define MBSRTOWCS_SEQNUM   3
      34  #define WCRTOMB_SEQNUM	   3
      35  #define WCSRTOMBS_SEQNUM   3
      36  
      37  /* Maximum numbers of test in one of the _loc arrays.  */
      38  #define MAX_LOC_TEST		300
      39  
      40  
      41  /*----------------------------------------------------------------------*/
      42  /*  FUNCTION								*/
      43  /*----------------------------------------------------------------------*/
      44  
      45  typedef struct
      46  {
      47    char *func_str;
      48    int func_id;
      49  }
      50  TST_FID;
      51  
      52  typedef struct
      53  {
      54    int func_id;
      55    const char *locale;
      56  }
      57  TST_HEAD;
      58  
      59  typedef struct
      60  {
      61    TST_HEAD *head;
      62  }
      63  TST_FUNCS;
      64  
      65  
      66  /*----------------------------------------------------------------------*/
      67  /*  ISW*: int isw* (wchar_t wc)						*/
      68  /*----------------------------------------------------------------------*/
      69  
      70  TST_ISW_STRUCT (ALNUM, alnum);
      71  TST_ISW_STRUCT (ALPHA, alpha);
      72  TST_ISW_STRUCT (CNTRL, cntrl);
      73  TST_ISW_STRUCT (DIGIT, digit);
      74  TST_ISW_STRUCT (GRAPH, graph);
      75  TST_ISW_STRUCT (LOWER, lower);
      76  TST_ISW_STRUCT (PRINT, print);
      77  TST_ISW_STRUCT (PUNCT, punct);
      78  TST_ISW_STRUCT (SPACE, space);
      79  TST_ISW_STRUCT (UPPER, upper);
      80  TST_ISW_STRUCT (XDIGIT, xdigit);
      81  
      82  typedef struct
      83  {
      84    wint_t wc;
      85    const char *ts;
      86  }
      87  TIN_ISWCTYPE_REC;
      88  
      89  typedef
      90  TEX_ERRET_REC (int)
      91    TEX_ISWCTYPE_REC;
      92  TMD_RECHEAD (ISWCTYPE);
      93  
      94  
      95  /*----------------------------------------------------------------------*/
      96  /*  MBLEN: int mblen (const char *s, size_t n)				*/
      97  /*----------------------------------------------------------------------*/
      98  
      99  typedef struct
     100  {
     101    char s_flg;
     102    char s[MBSSIZE];
     103    size_t n;
     104  }
     105  TIN_MBLEN_REC;
     106  
     107  typedef TEX_ERRET_REC (int) TEX_MBLEN_REC;
     108  TMD_RECHEAD (MBLEN);
     109  
     110  
     111  /*----------------------------------------------------------------------*/
     112  /*  MBRLEN: size_t mbrlen (const char *s, size_t n, mbstate_t *ps)	*/
     113  /*----------------------------------------------------------------------*/
     114  
     115  typedef struct
     116  {
     117    struct
     118    {
     119      int s_flg;
     120      char s[MBSSIZE];
     121      size_t n;
     122      int t_flg;
     123      int t_init;
     124    }
     125    seq[MBRLEN_SEQNUM];
     126  }
     127  TIN_MBRLEN_REC;
     128  
     129  typedef TEX_ERRET_REC_SEQ (size_t, MBRLEN_SEQNUM) TEX_MBRLEN_REC;
     130  TMD_RECHEAD (MBRLEN);
     131  
     132  
     133  /*----------------------------------------------------------------------*/
     134  /*  MBRTOWC: size_t mbrtowc (wchar_t *pwc, const char *s, size_t n,	*/
     135  /*			     mbstate_t *ps)				*/
     136  /*----------------------------------------------------------------------*/
     137  
     138  typedef struct
     139  {
     140    struct
     141    {
     142      int w_flg;
     143      int s_flg;
     144      char s[MBSSIZE];
     145      size_t n;
     146      int t_flg;
     147      int t_init;
     148    }
     149    seq[MBRTOWC_SEQNUM];
     150  }
     151  TIN_MBRTOWC_REC;
     152  
     153  typedef struct
     154  {
     155    struct
     156    {
     157      TMD_ERRET (size_t);
     158      wchar_t wc;
     159    }
     160    seq[MBRTOWC_SEQNUM];
     161  }
     162  TEX_MBRTOWC_REC;
     163  
     164  TMD_RECHEAD (MBRTOWC);
     165  
     166  
     167  /*----------------------------------------------------------------------*/
     168  /*  MBSRTOWCS: size_t mbsrtowcs (wchar_t *ws, const char **s, size_t n, */
     169  /*				 mbstate_t *ps )			*/
     170  /*----------------------------------------------------------------------*/
     171  
     172  typedef struct
     173  {
     174    struct
     175    {
     176      int w_flg;
     177      char s[MBSSIZE];
     178      size_t n;
     179      int t_flg;
     180      int t_init;
     181    }
     182    seq[MBSRTOWCS_SEQNUM];
     183  }
     184  TIN_MBSRTOWCS_REC;
     185  
     186  typedef struct
     187  {
     188    struct
     189    {
     190      TMD_ERRET (size_t);
     191      wchar_t ws[WCSSIZE];
     192    }
     193    seq[MBSRTOWCS_SEQNUM];
     194  }
     195  TEX_MBSRTOWCS_REC;
     196  
     197  TMD_RECHEAD (MBSRTOWCS);
     198  
     199  
     200  /*----------------------------------------------------------------------*/
     201  /*  MBSTOWCS: size_t mbstowcs (wchar_t *ws, const char *s, size_t n)	*/
     202  /*----------------------------------------------------------------------*/
     203  
     204  typedef struct
     205  {
     206    struct
     207    {
     208      int w_flg;
     209      int s_flg;
     210      const char *s;
     211      size_t n;
     212    }
     213    seq[MBSTOWCS_SEQNUM];
     214  }
     215  TIN_MBSTOWCS_REC;
     216  
     217  typedef TEX_MBSRTOWCS_REC TEX_MBSTOWCS_REC;
     218  /* MBSRTOWCS_SEQNUM == MBSTOWCS_SEQNUM */
     219  TMD_RECHEAD (MBSTOWCS);
     220  
     221  
     222  /*----------------------------------------------------------------------*/
     223  /*  MBTOWC: int mbtowc (wchar_t *wc, const char *s, size_t n)		*/
     224  /*----------------------------------------------------------------------*/
     225  
     226  typedef TIN_MBSTOWCS_REC TIN_MBTOWC_REC;
     227  /* MBTOWC_SEQNUM == MBSTOWCS_SEQNUM */
     228  
     229  typedef struct
     230  {
     231    struct
     232    {
     233      TMD_ERRET (int);
     234      wchar_t wc;
     235    }
     236    seq[MBTOWC_SEQNUM];
     237  }
     238  TEX_MBTOWC_REC;
     239  
     240  TMD_RECHEAD (MBTOWC);
     241  
     242  
     243  /*----------------------------------------------------------------------*/
     244  /*  STRCOLL: int strcoll (const char *s1, const char *s2)		*/
     245  /*----------------------------------------------------------------------*/
     246  
     247  typedef struct
     248  {
     249    char s1[MBSSIZE];
     250    char s2[MBSSIZE];
     251  }
     252  TIN_STRCOLL_REC;
     253  
     254  typedef TEX_ERRET_REC (int) TEX_STRCOLL_REC;
     255  TMD_RECHEAD (STRCOLL);
     256  
     257  
     258  /*----------------------------------------------------------------------*/
     259  /*  STRFMON: size_t strfmon (char *buf, size_t nbytes,			*/
     260  /*			     const char *fmt, ... )			*/
     261  /*----------------------------------------------------------------------*/
     262  
     263  typedef struct
     264  {
     265    int nbytes;
     266    char fmt[MONFMTSIZE];
     267    double val;
     268  }
     269  TIN_STRFMON_REC;
     270  
     271  typedef struct
     272  {
     273    TMD_ERRET (size_t);
     274    char mon[MONSIZE];
     275  }
     276  TEX_STRFMON_REC;
     277  
     278  TMD_RECHEAD (STRFMON);
     279  
     280  
     281  /*----------------------------------------------------------------------*/
     282  /*  STRXFRM: size_t strxfrm (char *s1, const char *s2, size_t n)	*/
     283  /*----------------------------------------------------------------------*/
     284  
     285  typedef struct
     286  {
     287    char org1[MBSSIZE];
     288    char org2[MBSSIZE];
     289    size_t n1, n2;
     290  }
     291  TIN_STRXFRM_REC;
     292  
     293  typedef TEX_ERRET_REC (size_t) TEX_STRXFRM_REC;	/* only for org2[] */
     294  TMD_RECHEAD (STRXFRM);
     295  
     296  
     297  /*----------------------------------------------------------------------*/
     298  /*  SWSCANF: int swscanf (const wchar_t *ws, const wchar_t *fmt, ...)	*/
     299  /*----------------------------------------------------------------------*/
     300  
     301  typedef struct
     302  {
     303    wchar_t ws[WCSSIZE * 3];
     304    wchar_t fmt[WCSSIZE * 3];
     305    int wch;
     306  }
     307  TIN_SWSCANF_REC;
     308  
     309  typedef struct
     310  {
     311    TMD_ERRET (int);
     312    int val_int;		/* %d */
     313    unsigned val_uns;	/* %u */
     314    float val_flt;		/* %f */
     315    int val_c;		/* %c */
     316    char val_s[MBSSIZE * 2];	/* %s */
     317    wchar_t val_S[WCSSIZE * 2];	/* %lc, %ls, %C, %S */
     318  }
     319  TEX_SWSCANF_REC;
     320  
     321  TMD_RECHEAD (SWSCANF);
     322  
     323  
     324  /*----------------------------------------------------------------------*/
     325  /*  TOWCTRANS: wint_t towctrans (wint_t wc, wctrans_t desc)		*/
     326  /*----------------------------------------------------------------------*/
     327  
     328  typedef TIN_ISWCTYPE_REC TIN_TOWCTRANS_REC;
     329  typedef TEX_ERRET_REC (wint_t) TEX_TOWCTRANS_REC;
     330  TMD_RECHEAD (TOWCTRANS);
     331  
     332  
     333  /*----------------------------------------------------------------------*/
     334  /*  TOW*ER: wint_t tow*er (wint_t wc)					*/
     335  /*----------------------------------------------------------------------*/
     336  
     337  TST_TOW_STRUCT (LOWER, lower);
     338  TST_TOW_STRUCT (UPPER, upper);
     339  
     340  
     341  /*----------------------------------------------------------------------*/
     342  /*  WCRTOMB: wchar_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps)	*/
     343  /*----------------------------------------------------------------------*/
     344  
     345  typedef struct
     346  {
     347    int s_flg;
     348    wchar_t wc;
     349    int t_flg;
     350    int t_init;
     351  }
     352  TIN_WCRTOMB_REC;
     353  
     354  typedef struct
     355  {
     356    TMD_ERRET (wchar_t);
     357    char s[MBSSIZE];
     358  }
     359  TEX_WCRTOMB_REC;
     360  
     361  TMD_RECHEAD (WCRTOMB);
     362  
     363  
     364  /*----------------------------------------------------------------------*/
     365  /*  WCSCAT: wchar_t *wcscat (wchar_t *ws1, wchar_t *ws2)		*/
     366  /*----------------------------------------------------------------------*/
     367  
     368  typedef struct
     369  {
     370    wchar_t ws1[WCSSIZE];
     371    wchar_t ws2[WCSSIZE];
     372  }
     373  TIN_WCSCAT_REC;
     374  
     375  typedef struct
     376  {
     377    TMD_ERRET (wchar_t *);
     378    wchar_t ws[WCSSIZE];
     379  }
     380  TEX_WCSCAT_REC;
     381  
     382  TMD_RECHEAD (WCSCAT);
     383  
     384  
     385  /*----------------------------------------------------------------------*/
     386  /*  WCSCHR: wchar_t *wcschr (wchar_t *ws, wchar_t wc);			*/
     387  /*----------------------------------------------------------------------*/
     388  
     389  typedef struct
     390  {
     391    wchar_t ws[WCSSIZE];
     392    wchar_t wc;
     393  }
     394  TIN_WCSCHR_REC;
     395  
     396  typedef TEX_ERRET_REC (wchar_t *) TEX_WCSCHR_REC;
     397  TMD_RECHEAD (WCSCHR);
     398  
     399  
     400  /*----------------------------------------------------------------------*/
     401  /*  WCSCMP: int wcscmp (const wchar_t *ws1, const wchar_t *ws2)		*/
     402  /*----------------------------------------------------------------------*/
     403  
     404  typedef TIN_WCSCAT_REC TIN_WCSCMP_REC;
     405  typedef TEX_ERRET_REC (int) TEX_WCSCMP_REC;
     406  TMD_RECHEAD (WCSCMP);
     407  
     408  
     409  /*----------------------------------------------------------------------*/
     410  /*  WCSCOLL: int wcscoll (const wchar_t *ws1, const wchar_t *ws2)	*/
     411  /*----------------------------------------------------------------------*/
     412  
     413  typedef TIN_WCSCMP_REC TIN_WCSCOLL_REC;
     414  typedef struct
     415  {
     416    TMD_ERRET (int);
     417    int cmp_flg;
     418  }
     419  TEX_WCSCOLL_REC;
     420  TMD_RECHEAD (WCSCOLL);
     421  
     422  
     423  /*----------------------------------------------------------------------*/
     424  /*  WCSCPY: wchar_t *wcscpy (wchar_t *ws1, const wchar_t *ws2)		*/
     425  /*----------------------------------------------------------------------*/
     426  
     427  typedef struct
     428  {
     429    wchar_t ws[WCSSIZE];	/* ws2: original string */
     430  }
     431  TIN_WCSCPY_REC;
     432  
     433  typedef TEX_WCSCAT_REC TEX_WCSCPY_REC;
     434  TMD_RECHEAD (WCSCPY);
     435  
     436  
     437  /*----------------------------------------------------------------------*/
     438  /*  WCSCSPN: size_t wcscspn (const wchar_t *ws1, const wchar_t *ws2)	*/
     439  /*----------------------------------------------------------------------*/
     440  
     441  typedef TIN_WCSCAT_REC TIN_WCSCSPN_REC;
     442  typedef TEX_ERRET_REC (size_t) TEX_WCSCSPN_REC;
     443  TMD_RECHEAD (WCSCSPN);
     444  
     445  
     446  /*----------------------------------------------------------------------*/
     447  /*  WCSLEN: size_t wcslen (const wchar_t *ws)				*/
     448  /*----------------------------------------------------------------------*/
     449  
     450  typedef TIN_WCSCPY_REC TIN_WCSLEN_REC;
     451  typedef TEX_ERRET_REC (size_t) TEX_WCSLEN_REC;
     452  TMD_RECHEAD (WCSLEN);
     453  
     454  
     455  /*----------------------------------------------------------------------*/
     456  /*  WCSNCAT: wchar_t *wcsncat (wchar_t *ws1, const wchar_t *ws2,	*/
     457  /*			       size_t n)				*/
     458  /*----------------------------------------------------------------------*/
     459  
     460  typedef struct
     461  {
     462    wchar_t ws1[WCSSIZE];
     463    wchar_t ws2[WCSSIZE];
     464    size_t n;
     465  }
     466  TIN_WCSNCAT_REC;
     467  
     468  typedef TEX_WCSCAT_REC TEX_WCSNCAT_REC;
     469  TMD_RECHEAD (WCSNCAT);
     470  
     471  
     472  /*----------------------------------------------------------------------*/
     473  /*  WCSNCMP: int *wcsncmp (const wchar_t *ws1, const wchar_t *ws2,	*/
     474  /*			   size_t n)					*/
     475  /*----------------------------------------------------------------------*/
     476  
     477  typedef TIN_WCSNCAT_REC TIN_WCSNCMP_REC;
     478  typedef TEX_ERRET_REC (int) TEX_WCSNCMP_REC;
     479  TMD_RECHEAD (WCSNCMP);
     480  
     481  
     482  /*----------------------------------------------------------------------*/
     483  /*  WCSNCPY: wchar_t *wcsncpy (wchar_t *ws1, const wchar_t *ws2,	*/
     484  /*			       size_t n)				*/
     485  /*----------------------------------------------------------------------*/
     486  
     487  typedef struct
     488  {
     489    wchar_t ws[WCSSIZE];	/* ws2: original string */
     490    size_t n;
     491  }
     492  TIN_WCSNCPY_REC;
     493  
     494  typedef TEX_WCSCPY_REC TEX_WCSNCPY_REC;
     495  TMD_RECHEAD (WCSNCPY);
     496  
     497  
     498  /*----------------------------------------------------------------------*/
     499  /*  WCSPBRK: wchar_t *wcspbrk (const wchar_t *ws1, const wchar_t *ws2)	*/
     500  /*----------------------------------------------------------------------*/
     501  
     502  typedef TIN_WCSCSPN_REC TIN_WCSPBRK_REC;
     503  
     504  typedef struct
     505  {
     506    TMD_ERRET (wchar_t *);
     507    wchar_t wc;
     508  }
     509  TEX_WCSPBRK_REC;
     510  
     511  TMD_RECHEAD (WCSPBRK);
     512  
     513  
     514  /*----------------------------------------------------------------------*/
     515  /*  WCSRTOMBS: size_t wcsrtombs (char *s, const wchar_t **ws, size_t n, */
     516  /*				 mbstate_t *ps)				*/
     517  /*----------------------------------------------------------------------*/
     518  
     519  typedef struct
     520  {
     521    int s_flg;
     522    int w_flg;		/* don't need this */
     523    wchar_t ws[WCSSIZE];
     524    size_t n;
     525    int t_flg;
     526    int t_init;
     527  }
     528  TIN_WCSRTOMBS_REC;
     529  
     530  typedef struct
     531  {
     532    TMD_ERRET (size_t);
     533    char s[MBSSIZE];
     534  }
     535  TEX_WCSRTOMBS_REC;
     536  
     537  TMD_RECHEAD (WCSRTOMBS);
     538  
     539  
     540  /*----------------------------------------------------------------------*/
     541  /*  WCSSPN: size_t wcsspn (const wchar_t *ws1, const wchar_t *ws2)	*/
     542  /*----------------------------------------------------------------------*/
     543  
     544  typedef TIN_WCSCSPN_REC TIN_WCSSPN_REC;
     545  typedef TEX_WCSCSPN_REC TEX_WCSSPN_REC;
     546  TMD_RECHEAD (WCSSPN);
     547  
     548  
     549  /*----------------------------------------------------------------------*/
     550  /*  WCSSTR: wchar_t *wcsstr (const wchar_t *ws1, const wchar_t *ws2)	*/
     551  /*----------------------------------------------------------------------*/
     552  
     553  typedef TIN_WCSCSPN_REC TIN_WCSSTR_REC;
     554  typedef TEX_ERRET_REC (wchar_t *) TEX_WCSSTR_REC;
     555  TMD_RECHEAD (WCSSTR);
     556  
     557  
     558  /*----------------------------------------------------------------------*/
     559  /*  WCSTOD: double wcstod (const wchar_t *np, wchar_t **endp)		*/
     560  /*----------------------------------------------------------------------*/
     561  
     562  typedef struct
     563  {
     564    wchar_t np[WCSSIZE];
     565  }
     566  TIN_WCSTOD_REC;
     567  
     568  typedef struct
     569  {
     570    TMD_ERRET (double);
     571    double val;
     572    wchar_t fwc;
     573  }
     574  TEX_WCSTOD_REC;
     575  
     576  TMD_RECHEAD (WCSTOD);
     577  
     578  
     579  /*----------------------------------------------------------------------*/
     580  /*  WCSTOK: wchar_t *wcstok (wchar_t *ws, const wchar_t *dlm,		*/
     581  /*			     wchar_t **pt)				*/
     582  /*----------------------------------------------------------------------*/
     583  
     584  typedef struct
     585  {
     586    struct
     587    {
     588      int w_flg;
     589      wchar_t ws[WCSSIZE];
     590      wchar_t dt[WCSSIZE];	/* delimiter */
     591    }
     592    seq[WCSTOK_SEQNUM];
     593  }
     594  TIN_WCSTOK_REC;
     595  
     596  typedef struct
     597  {
     598    struct
     599    {
     600      TMD_ERRET (wchar_t *);
     601      wchar_t ws[WCSSIZE];
     602    }
     603    seq[WCSTOK_SEQNUM];
     604  }
     605  TEX_WCSTOK_REC;
     606  
     607  TMD_RECHEAD (WCSTOK);
     608  
     609  
     610  /*----------------------------------------------------------------------*/
     611  /*  WCSTOMBS: size_t wcstombs (char s, const wchar_t *ws, size_t n)	*/
     612  /*----------------------------------------------------------------------*/
     613  
     614  typedef struct
     615  {
     616    int s_flg;
     617    int w_flg;		/* currently we don't need it. */
     618    wchar_t ws[WCSSIZE];
     619    size_t n;
     620  }
     621  TIN_WCSTOMBS_REC;
     622  
     623  typedef struct
     624  {
     625    TMD_ERRET (size_t);
     626    char s[MBSSIZE];
     627  }
     628  TEX_WCSTOMBS_REC;
     629  
     630  TMD_RECHEAD (WCSTOMBS);
     631  
     632  
     633  /*----------------------------------------------------------------------*/
     634  /*  WCSWIDTH: int wcswidth (const wchar_t *ws, size_t n)		*/
     635  /*----------------------------------------------------------------------*/
     636  
     637  typedef TIN_WCSNCPY_REC TIN_WCSWIDTH_REC;
     638  typedef TEX_ERRET_REC (int) TEX_WCSWIDTH_REC;
     639  TMD_RECHEAD (WCSWIDTH);
     640  
     641  
     642  /*----------------------------------------------------------------------*/
     643  /*  WCSXFRM: size_t wcsxfrm (wchar_t *ws1, const wchar_t *ws2, size_t n)*/
     644  /*----------------------------------------------------------------------*/
     645  
     646  typedef struct
     647  {
     648    wchar_t org1[WCSSIZE];
     649    wchar_t org2[WCSSIZE];
     650    int n1, n2;
     651  }
     652  TIN_WCSXFRM_REC;
     653  
     654  typedef TEX_ERRET_REC (size_t) TEX_WCSXFRM_REC;	/* only for org2[] */
     655  TMD_RECHEAD (WCSXFRM);
     656  
     657  
     658  /*----------------------------------------------------------------------*/
     659  /*  WCTOB: int wctob (wint_t wc)					*/
     660  /*----------------------------------------------------------------------*/
     661  
     662  typedef struct
     663  {
     664    wint_t wc;
     665  }
     666  TIN_WCTOB_REC;
     667  
     668  typedef TEX_ERRET_REC (int) TEX_WCTOB_REC;
     669  TMD_RECHEAD (WCTOB);
     670  
     671  
     672  /*----------------------------------------------------------------------*/
     673  /*  WCTOMB: int wctomb (char *s, wchar_t wc)				*/
     674  /*----------------------------------------------------------------------*/
     675  
     676  typedef struct
     677  {
     678    int s_flg;
     679    wchar_t wc;
     680  }
     681  TIN_WCTOMB_REC;
     682  
     683  typedef struct
     684  {
     685    TMD_ERRET (int);
     686    char s[MBSSIZE];
     687  }
     688  TEX_WCTOMB_REC;
     689  
     690  TMD_RECHEAD (WCTOMB);
     691  
     692  
     693  /*----------------------------------------------------------------------*/
     694  /*  WCTRANS: wctrans_t wctrans (const char *charclass)			*/
     695  /*----------------------------------------------------------------------*/
     696  
     697  typedef struct
     698  {
     699    char class[MBSSIZE];
     700  }
     701  TIN_WCTRANS_REC;
     702  
     703  typedef TEX_ERRET_REC (wctrans_t) TEX_WCTRANS_REC;
     704  TMD_RECHEAD (WCTRANS);
     705  
     706  
     707  /*----------------------------------------------------------------------*/
     708  /*  WCTYPE: wctype_t wctype (const char *class)				*/
     709  /*----------------------------------------------------------------------*/
     710  
     711  typedef TIN_WCTRANS_REC TIN_WCTYPE_REC;
     712  typedef TEX_ERRET_REC (wctype_t) TEX_WCTYPE_REC;
     713  TMD_RECHEAD (WCTYPE);
     714  
     715  
     716  /*----------------------------------------------------------------------*/
     717  /*  WCWIDTH: int wcwidth (wchar_t wc)					*/
     718  /*----------------------------------------------------------------------*/
     719  
     720  typedef struct
     721  {
     722    wchar_t wc;
     723  }
     724  TIN_WCWIDTH_REC;
     725  
     726  typedef TEX_ERRET_REC (int) TEX_WCWIDTH_REC;
     727  TMD_RECHEAD (WCWIDTH);
     728  
     729  #endif /* TST_TYPES_H */