Back to index

glibc  2.9
tst_types.h
Go to the documentation of this file.
00001 /*
00002  *  TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
00003  *
00004  *      FILE: tst_types.h
00005  *
00006  *      Definitions of data types for each test function
00007  */
00008 
00009 
00010 #ifndef TST_TYPES_H
00011 #define TST_TYPES_H
00012 
00013 #include <stdio.h>
00014 #include <wchar.h>
00015 #include <wctype.h>
00016 #include "tst_funcs.h"
00017 #include "tgn_funcdef.h"
00018 
00019 #define MBSSIZE                24
00020 #define WCSSIZE                12
00021 #define MONFMTSIZE      16
00022 #define MONSIZE                64
00023 #define USE_MBCURMAX    99  /* well, but ... */
00024 #define TST_DBL_EPS     2.22153e-16
00025 #define WCSTOK_SEQNUM          3
00026 #define MBLEN_SEQNUM    3
00027 #define MBTOWC_SEQNUM          3
00028 #define MBSTOWCS_SEQNUM        3
00029 #define WCTOMB_SEQNUM          3
00030 #define WCSTOMBS_SEQNUM        3
00031 #define MBRLEN_SEQNUM          3
00032 #define MBRTOWC_SEQNUM         3
00033 #define MBSRTOWCS_SEQNUM   3
00034 #define WCRTOMB_SEQNUM         3
00035 #define WCSRTOMBS_SEQNUM   3
00036 
00037 /* Maximum numbers of test in one of the _loc arrays.  */
00038 #define MAX_LOC_TEST        300
00039 
00040 
00041 /*----------------------------------------------------------------------*/
00042 /*  FUNCTION                                                   */
00043 /*----------------------------------------------------------------------*/
00044 
00045 typedef struct
00046 {
00047   char *func_str;
00048   int func_id;
00049 }
00050 TST_FID;
00051 
00052 typedef struct
00053 {
00054   int func_id;
00055   const char *locale;
00056 }
00057 TST_HEAD;
00058 
00059 typedef struct
00060 {
00061   TST_HEAD *head;
00062 }
00063 TST_FUNCS;
00064 
00065 
00066 /*----------------------------------------------------------------------*/
00067 /*  ISW*: int isw* (wchar_t wc)                                       */
00068 /*----------------------------------------------------------------------*/
00069 
00070 TST_ISW_STRUCT (ALNUM, alnum);
00071 TST_ISW_STRUCT (ALPHA, alpha);
00072 TST_ISW_STRUCT (CNTRL, cntrl);
00073 TST_ISW_STRUCT (DIGIT, digit);
00074 TST_ISW_STRUCT (GRAPH, graph);
00075 TST_ISW_STRUCT (LOWER, lower);
00076 TST_ISW_STRUCT (PRINT, print);
00077 TST_ISW_STRUCT (PUNCT, punct);
00078 TST_ISW_STRUCT (SPACE, space);
00079 TST_ISW_STRUCT (UPPER, upper);
00080 TST_ISW_STRUCT (XDIGIT, xdigit);
00081 
00082 typedef struct
00083 {
00084   wint_t wc;
00085   const char *ts;
00086 }
00087 TIN_ISWCTYPE_REC;
00088 
00089 typedef
00090 TEX_ERRET_REC (int)
00091   TEX_ISWCTYPE_REC;
00092 TMD_RECHEAD (ISWCTYPE);
00093 
00094 
00095 /*----------------------------------------------------------------------*/
00096 /*  MBLEN: int mblen (const char *s, size_t n)                        */
00097 /*----------------------------------------------------------------------*/
00098 
00099 typedef struct
00100 {
00101   char s_flg;
00102   char s[MBSSIZE];
00103   size_t n;
00104 }
00105 TIN_MBLEN_REC;
00106 
00107 typedef TEX_ERRET_REC (int) TEX_MBLEN_REC;
00108 TMD_RECHEAD (MBLEN);
00109 
00110 
00111 /*----------------------------------------------------------------------*/
00112 /*  MBRLEN: size_t mbrlen (const char *s, size_t n, mbstate_t *ps)    */
00113 /*----------------------------------------------------------------------*/
00114 
00115 typedef struct
00116 {
00117   struct
00118   {
00119     int s_flg;
00120     char s[MBSSIZE];
00121     size_t n;
00122     int t_flg;
00123     int t_init;
00124   }
00125   seq[WCSTOK_SEQNUM];
00126 }
00127 TIN_MBRLEN_REC;
00128 
00129 typedef TEX_ERRET_REC_SEQ (size_t, MBRLEN_SEQNUM) TEX_MBRLEN_REC;
00130 TMD_RECHEAD (MBRLEN);
00131 
00132 
00133 /*----------------------------------------------------------------------*/
00134 /*  MBRTOWC: size_t mbrtowc (wchar_t *pwc, const char *s, size_t n,   */
00135 /*                        mbstate_t *ps)                       */
00136 /*----------------------------------------------------------------------*/
00137 
00138 typedef struct
00139 {
00140   struct
00141   {
00142     int w_flg;
00143     int s_flg;
00144     char s[MBSSIZE];
00145     size_t n;
00146     int t_flg;
00147     int t_init;
00148   }
00149   seq[MBRTOWC_SEQNUM];
00150 }
00151 TIN_MBRTOWC_REC;
00152 
00153 typedef struct
00154 {
00155   struct
00156   {
00157     TMD_ERRET (size_t);
00158     wchar_t wc;
00159   }
00160   seq[MBRTOWC_SEQNUM];
00161 }
00162 TEX_MBRTOWC_REC;
00163 
00164 TMD_RECHEAD (MBRTOWC);
00165 
00166 
00167 /*----------------------------------------------------------------------*/
00168 /*  MBSRTOWCS: size_t mbsrtowcs (wchar_t *ws, const char **s, size_t n, */
00169 /*                           mbstate_t *ps )                   */
00170 /*----------------------------------------------------------------------*/
00171 
00172 typedef struct
00173 {
00174   struct
00175   {
00176     int w_flg;
00177     char s[MBSSIZE];
00178     size_t n;
00179     int t_flg;
00180     int t_init;
00181   }
00182   seq[MBSRTOWCS_SEQNUM];
00183 }
00184 TIN_MBSRTOWCS_REC;
00185 
00186 typedef struct
00187 {
00188   struct
00189   {
00190     TMD_ERRET (size_t);
00191     wchar_t ws[WCSSIZE];
00192   }
00193   seq[MBSRTOWCS_SEQNUM];
00194 }
00195 TEX_MBSRTOWCS_REC;
00196 
00197 TMD_RECHEAD (MBSRTOWCS);
00198 
00199 
00200 /*----------------------------------------------------------------------*/
00201 /*  MBSTOWCS: size_t mbstowcs (wchar_t *ws, const char *s, size_t n)  */
00202 /*----------------------------------------------------------------------*/
00203 
00204 typedef struct
00205 {
00206   struct
00207   {
00208     int w_flg;
00209     int s_flg;
00210     const char *s;
00211     size_t n;
00212   }
00213   seq[MBSTOWCS_SEQNUM];
00214 }
00215 TIN_MBSTOWCS_REC;
00216 
00217 typedef TEX_MBSRTOWCS_REC TEX_MBSTOWCS_REC;
00218 /* MBSRTOWCS_SEQNUM == MBSTOWCS_SEQNUM */
00219 TMD_RECHEAD (MBSTOWCS);
00220 
00221 
00222 /*----------------------------------------------------------------------*/
00223 /*  MBTOWC: int mbtowc (wchar_t *wc, const char *s, size_t n)         */
00224 /*----------------------------------------------------------------------*/
00225 
00226 typedef TIN_MBSTOWCS_REC TIN_MBTOWC_REC;
00227 /* MBTOWC_SEQNUM == MBSTOWCS_SEQNUM */
00228 
00229 typedef struct
00230 {
00231   struct
00232   {
00233     TMD_ERRET (int);
00234     wchar_t wc;
00235   }
00236   seq[MBTOWC_SEQNUM];
00237 }
00238 TEX_MBTOWC_REC;
00239 
00240 TMD_RECHEAD (MBTOWC);
00241 
00242 
00243 /*----------------------------------------------------------------------*/
00244 /*  STRCOLL: int strcoll (const char *s1, const char *s2)             */
00245 /*----------------------------------------------------------------------*/
00246 
00247 typedef struct
00248 {
00249   char s1[MBSSIZE];
00250   char s2[MBSSIZE];
00251 }
00252 TIN_STRCOLL_REC;
00253 
00254 typedef TEX_ERRET_REC (int) TEX_STRCOLL_REC;
00255 TMD_RECHEAD (STRCOLL);
00256 
00257 
00258 /*----------------------------------------------------------------------*/
00259 /*  STRFMON: size_t strfmon (char *buf, size_t nbytes,                */
00260 /*                        const char *fmt, ... )               */
00261 /*----------------------------------------------------------------------*/
00262 
00263 typedef struct
00264 {
00265   int nbytes;
00266   char fmt[MONFMTSIZE];
00267   double val;
00268 }
00269 TIN_STRFMON_REC;
00270 
00271 typedef struct
00272 {
00273   TMD_ERRET (size_t);
00274   char mon[MONSIZE];
00275 }
00276 TEX_STRFMON_REC;
00277 
00278 TMD_RECHEAD (STRFMON);
00279 
00280 
00281 /*----------------------------------------------------------------------*/
00282 /*  STRXFRM: size_t strxfrm (char *s1, const char *s2, size_t n)      */
00283 /*----------------------------------------------------------------------*/
00284 
00285 typedef struct
00286 {
00287   char org1[MBSSIZE];
00288   char org2[MBSSIZE];
00289   size_t n1, n2;
00290 }
00291 TIN_STRXFRM_REC;
00292 
00293 typedef TEX_ERRET_REC (size_t) TEX_STRXFRM_REC;  /* only for org2[] */
00294 TMD_RECHEAD (STRXFRM);
00295 
00296 
00297 /*----------------------------------------------------------------------*/
00298 /*  SWSCANF: int swscanf (const wchar_t *ws, const wchar_t *fmt, ...) */
00299 /*----------------------------------------------------------------------*/
00300 
00301 typedef struct
00302 {
00303   wchar_t ws[WCSSIZE * 3];
00304   wchar_t fmt[WCSSIZE * 3];
00305   int wch;
00306 }
00307 TIN_SWSCANF_REC;
00308 
00309 typedef struct
00310 {
00311   TMD_ERRET (int);
00312   int val_int;              /* %d */
00313   unsigned val_uns;  /* %u */
00314   float val_flt;            /* %f */
00315   int val_c;         /* %c */
00316   char val_s[MBSSIZE * 2];  /* %s */
00317   wchar_t val_S[WCSSIZE * 2];      /* %lc, %ls, %C, %S */
00318 }
00319 TEX_SWSCANF_REC;
00320 
00321 TMD_RECHEAD (SWSCANF);
00322 
00323 
00324 /*----------------------------------------------------------------------*/
00325 /*  TOWCTRANS: wint_t towctrans (wint_t wc, wctrans_t desc)           */
00326 /*----------------------------------------------------------------------*/
00327 
00328 typedef TIN_ISWCTYPE_REC TIN_TOWCTRANS_REC;
00329 typedef TEX_ERRET_REC (wint_t) TEX_TOWCTRANS_REC;
00330 TMD_RECHEAD (TOWCTRANS);
00331 
00332 
00333 /*----------------------------------------------------------------------*/
00334 /*  TOW*ER: wint_t tow*er (wint_t wc)                                 */
00335 /*----------------------------------------------------------------------*/
00336 
00337 TST_TOW_STRUCT (LOWER, lower);
00338 TST_TOW_STRUCT (UPPER, upper);
00339 
00340 
00341 /*----------------------------------------------------------------------*/
00342 /*  WCRTOMB: wchar_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps)     */
00343 /*----------------------------------------------------------------------*/
00344 
00345 typedef struct
00346 {
00347   int s_flg;
00348   wchar_t wc;
00349   int t_flg;
00350   int t_init;
00351 }
00352 TIN_WCRTOMB_REC;
00353 
00354 typedef struct
00355 {
00356   TMD_ERRET (wchar_t);
00357   char s[MBSSIZE];
00358 }
00359 TEX_WCRTOMB_REC;
00360 
00361 TMD_RECHEAD (WCRTOMB);
00362 
00363 
00364 /*----------------------------------------------------------------------*/
00365 /*  WCSCAT: wchar_t *wcscat (wchar_t *ws1, wchar_t *ws2)              */
00366 /*----------------------------------------------------------------------*/
00367 
00368 typedef struct
00369 {
00370   wchar_t ws1[WCSSIZE];
00371   wchar_t ws2[WCSSIZE];
00372 }
00373 TIN_WCSCAT_REC;
00374 
00375 typedef struct
00376 {
00377   TMD_ERRET (wchar_t *);
00378   wchar_t ws[WCSSIZE];
00379 }
00380 TEX_WCSCAT_REC;
00381 
00382 TMD_RECHEAD (WCSCAT);
00383 
00384 
00385 /*----------------------------------------------------------------------*/
00386 /*  WCSCHR: wchar_t *wcschr (wchar_t *ws, wchar_t wc);                */
00387 /*----------------------------------------------------------------------*/
00388 
00389 typedef struct
00390 {
00391   wchar_t ws[WCSSIZE];
00392   wchar_t wc;
00393 }
00394 TIN_WCSCHR_REC;
00395 
00396 typedef TEX_ERRET_REC (wchar_t *) TEX_WCSCHR_REC;
00397 TMD_RECHEAD (WCSCHR);
00398 
00399 
00400 /*----------------------------------------------------------------------*/
00401 /*  WCSCMP: int wcscmp (const wchar_t *ws1, const wchar_t *ws2)              */
00402 /*----------------------------------------------------------------------*/
00403 
00404 typedef TIN_WCSCAT_REC TIN_WCSCMP_REC;
00405 typedef TEX_ERRET_REC (int) TEX_WCSCMP_REC;
00406 TMD_RECHEAD (WCSCMP);
00407 
00408 
00409 /*----------------------------------------------------------------------*/
00410 /*  WCSCOLL: int wcscoll (const wchar_t *ws1, const wchar_t *ws2)     */
00411 /*----------------------------------------------------------------------*/
00412 
00413 typedef TIN_WCSCMP_REC TIN_WCSCOLL_REC;
00414 typedef struct
00415 {
00416   TMD_ERRET (int);
00417   int cmp_flg;
00418 }
00419 TEX_WCSCOLL_REC;
00420 TMD_RECHEAD (WCSCOLL);
00421 
00422 
00423 /*----------------------------------------------------------------------*/
00424 /*  WCSCPY: wchar_t *wcscpy (wchar_t *ws1, const wchar_t *ws2)        */
00425 /*----------------------------------------------------------------------*/
00426 
00427 typedef struct
00428 {
00429   wchar_t ws[WCSSIZE];      /* ws2: original string */
00430 }
00431 TIN_WCSCPY_REC;
00432 
00433 typedef TEX_WCSCAT_REC TEX_WCSCPY_REC;
00434 TMD_RECHEAD (WCSCPY);
00435 
00436 
00437 /*----------------------------------------------------------------------*/
00438 /*  WCSCSPN: size_t wcscspn (const wchar_t *ws1, const wchar_t *ws2)  */
00439 /*----------------------------------------------------------------------*/
00440 
00441 typedef TIN_WCSCAT_REC TIN_WCSCSPN_REC;
00442 typedef TEX_ERRET_REC (size_t) TEX_WCSCSPN_REC;
00443 TMD_RECHEAD (WCSCSPN);
00444 
00445 
00446 /*----------------------------------------------------------------------*/
00447 /*  WCSLEN: size_t wcslen (const wchar_t *ws)                         */
00448 /*----------------------------------------------------------------------*/
00449 
00450 typedef TIN_WCSCPY_REC TIN_WCSLEN_REC;
00451 typedef TEX_ERRET_REC (size_t) TEX_WCSLEN_REC;
00452 TMD_RECHEAD (WCSLEN);
00453 
00454 
00455 /*----------------------------------------------------------------------*/
00456 /*  WCSNCAT: wchar_t *wcsncat (wchar_t *ws1, const wchar_t *ws2,      */
00457 /*                          size_t n)                          */
00458 /*----------------------------------------------------------------------*/
00459 
00460 typedef struct
00461 {
00462   wchar_t ws1[WCSSIZE];
00463   wchar_t ws2[WCSSIZE];
00464   size_t n;
00465 }
00466 TIN_WCSNCAT_REC;
00467 
00468 typedef TEX_WCSCAT_REC TEX_WCSNCAT_REC;
00469 TMD_RECHEAD (WCSNCAT);
00470 
00471 
00472 /*----------------------------------------------------------------------*/
00473 /*  WCSNCMP: int *wcsncmp (const wchar_t *ws1, const wchar_t *ws2,    */
00474 /*                      size_t n)                              */
00475 /*----------------------------------------------------------------------*/
00476 
00477 typedef TIN_WCSNCAT_REC TIN_WCSNCMP_REC;
00478 typedef TEX_ERRET_REC (int) TEX_WCSNCMP_REC;
00479 TMD_RECHEAD (WCSNCMP);
00480 
00481 
00482 /*----------------------------------------------------------------------*/
00483 /*  WCSNCPY: wchar_t *wcsncpy (wchar_t *ws1, const wchar_t *ws2,      */
00484 /*                          size_t n)                          */
00485 /*----------------------------------------------------------------------*/
00486 
00487 typedef struct
00488 {
00489   wchar_t ws[WCSSIZE];      /* ws2: original string */
00490   size_t n;
00491 }
00492 TIN_WCSNCPY_REC;
00493 
00494 typedef TEX_WCSCPY_REC TEX_WCSNCPY_REC;
00495 TMD_RECHEAD (WCSNCPY);
00496 
00497 
00498 /*----------------------------------------------------------------------*/
00499 /*  WCSPBRK: wchar_t *wcspbrk (const wchar_t *ws1, const wchar_t *ws2)       */
00500 /*----------------------------------------------------------------------*/
00501 
00502 typedef TIN_WCSCSPN_REC TIN_WCSPBRK_REC;
00503 
00504 typedef struct
00505 {
00506   TMD_ERRET (wchar_t *);
00507   wchar_t wc;
00508 }
00509 TEX_WCSPBRK_REC;
00510 
00511 TMD_RECHEAD (WCSPBRK);
00512 
00513 
00514 /*----------------------------------------------------------------------*/
00515 /*  WCSRTOMBS: size_t wcsrtombs (char *s, const wchar_t **ws, size_t n, */
00516 /*                           mbstate_t *ps)                           */
00517 /*----------------------------------------------------------------------*/
00518 
00519 typedef struct
00520 {
00521   int s_flg;
00522   int w_flg;         /* don't need this */
00523   wchar_t ws[WCSSIZE];
00524   size_t n;
00525   int t_flg;
00526   int t_init;
00527 }
00528 TIN_WCSRTOMBS_REC;
00529 
00530 typedef struct
00531 {
00532   TMD_ERRET (size_t);
00533   char s[MBSSIZE];
00534 }
00535 TEX_WCSRTOMBS_REC;
00536 
00537 TMD_RECHEAD (WCSRTOMBS);
00538 
00539 
00540 /*----------------------------------------------------------------------*/
00541 /*  WCSSPN: size_t wcsspn (const wchar_t *ws1, const wchar_t *ws2)    */
00542 /*----------------------------------------------------------------------*/
00543 
00544 typedef TIN_WCSCSPN_REC TIN_WCSSPN_REC;
00545 typedef TEX_WCSCSPN_REC TEX_WCSSPN_REC;
00546 TMD_RECHEAD (WCSSPN);
00547 
00548 
00549 /*----------------------------------------------------------------------*/
00550 /*  WCSSTR: wchar_t *wcsstr (const wchar_t *ws1, const wchar_t *ws2)  */
00551 /*----------------------------------------------------------------------*/
00552 
00553 typedef TIN_WCSCSPN_REC TIN_WCSSTR_REC;
00554 typedef TEX_ERRET_REC (wchar_t *) TEX_WCSSTR_REC;
00555 TMD_RECHEAD (WCSSTR);
00556 
00557 
00558 /*----------------------------------------------------------------------*/
00559 /*  WCSTOD: double wcstod (const wchar_t *np, wchar_t **endp)         */
00560 /*----------------------------------------------------------------------*/
00561 
00562 typedef struct
00563 {
00564   wchar_t np[WCSSIZE];
00565 }
00566 TIN_WCSTOD_REC;
00567 
00568 typedef struct
00569 {
00570   TMD_ERRET (double);
00571   double val;
00572   wchar_t fwc;
00573 }
00574 TEX_WCSTOD_REC;
00575 
00576 TMD_RECHEAD (WCSTOD);
00577 
00578 
00579 /*----------------------------------------------------------------------*/
00580 /*  WCSTOK: wchar_t *wcstok (wchar_t *ws, const wchar_t *dlm,         */
00581 /*                        wchar_t **pt)                        */
00582 /*----------------------------------------------------------------------*/
00583 
00584 typedef struct
00585 {
00586   struct
00587   {
00588     int w_flg;
00589     wchar_t ws[WCSSIZE];
00590     wchar_t dt[WCSSIZE];    /* delimiter */
00591   }
00592   seq[WCSTOK_SEQNUM];
00593 }
00594 TIN_WCSTOK_REC;
00595 
00596 typedef struct
00597 {
00598   struct
00599   {
00600     TMD_ERRET (wchar_t *);
00601     wchar_t ws[WCSSIZE];
00602   }
00603   seq[WCSTOK_SEQNUM];
00604 }
00605 TEX_WCSTOK_REC;
00606 
00607 TMD_RECHEAD (WCSTOK);
00608 
00609 
00610 /*----------------------------------------------------------------------*/
00611 /*  WCSTOMBS: size_t wcstombs (char s, const wchar_t *ws, size_t n)   */
00612 /*----------------------------------------------------------------------*/
00613 
00614 typedef struct
00615 {
00616   int s_flg;
00617   int w_flg;         /* currently we don't need it. */
00618   wchar_t ws[WCSSIZE];
00619   size_t n;
00620 }
00621 TIN_WCSTOMBS_REC;
00622 
00623 typedef struct
00624 {
00625   TMD_ERRET (size_t);
00626   char s[MBSSIZE];
00627 }
00628 TEX_WCSTOMBS_REC;
00629 
00630 TMD_RECHEAD (WCSTOMBS);
00631 
00632 
00633 /*----------------------------------------------------------------------*/
00634 /*  WCSWIDTH: int wcswidth (const wchar_t *ws, size_t n)              */
00635 /*----------------------------------------------------------------------*/
00636 
00637 typedef TIN_WCSNCPY_REC TIN_WCSWIDTH_REC;
00638 typedef TEX_ERRET_REC (int) TEX_WCSWIDTH_REC;
00639 TMD_RECHEAD (WCSWIDTH);
00640 
00641 
00642 /*----------------------------------------------------------------------*/
00643 /*  WCSXFRM: size_t wcsxfrm (wchar_t *ws1, const wchar_t *ws2, size_t n)*/
00644 /*----------------------------------------------------------------------*/
00645 
00646 typedef struct
00647 {
00648   wchar_t org1[WCSSIZE];
00649   wchar_t org2[WCSSIZE];
00650   int n1, n2;
00651 }
00652 TIN_WCSXFRM_REC;
00653 
00654 typedef TEX_ERRET_REC (size_t) TEX_WCSXFRM_REC;  /* only for org2[] */
00655 TMD_RECHEAD (WCSXFRM);
00656 
00657 
00658 /*----------------------------------------------------------------------*/
00659 /*  WCTOB: int wctob (wint_t wc)                               */
00660 /*----------------------------------------------------------------------*/
00661 
00662 typedef struct
00663 {
00664   wint_t wc;
00665 }
00666 TIN_WCTOB_REC;
00667 
00668 typedef TEX_ERRET_REC (int) TEX_WCTOB_REC;
00669 TMD_RECHEAD (WCTOB);
00670 
00671 
00672 /*----------------------------------------------------------------------*/
00673 /*  WCTOMB: int wctomb (char *s, wchar_t wc)                          */
00674 /*----------------------------------------------------------------------*/
00675 
00676 typedef struct
00677 {
00678   int s_flg;
00679   wchar_t wc;
00680 }
00681 TIN_WCTOMB_REC;
00682 
00683 typedef struct
00684 {
00685   TMD_ERRET (int);
00686   char s[MBSSIZE];
00687 }
00688 TEX_WCTOMB_REC;
00689 
00690 TMD_RECHEAD (WCTOMB);
00691 
00692 
00693 /*----------------------------------------------------------------------*/
00694 /*  WCTRANS: wctrans_t wctrans (const char *charclass)                */
00695 /*----------------------------------------------------------------------*/
00696 
00697 typedef struct
00698 {
00699   char class[MBSSIZE];
00700 }
00701 TIN_WCTRANS_REC;
00702 
00703 typedef TEX_ERRET_REC (wctrans_t) TEX_WCTRANS_REC;
00704 TMD_RECHEAD (WCTRANS);
00705 
00706 
00707 /*----------------------------------------------------------------------*/
00708 /*  WCTYPE: wctype_t wctype (const char *class)                       */
00709 /*----------------------------------------------------------------------*/
00710 
00711 typedef TIN_WCTRANS_REC TIN_WCTYPE_REC;
00712 typedef TEX_ERRET_REC (wctype_t) TEX_WCTYPE_REC;
00713 TMD_RECHEAD (WCTYPE);
00714 
00715 
00716 /*----------------------------------------------------------------------*/
00717 /*  WCWIDTH: int wcwidth (wchar_t wc)                                 */
00718 /*----------------------------------------------------------------------*/
00719 
00720 typedef struct
00721 {
00722   wchar_t wc;
00723 }
00724 TIN_WCWIDTH_REC;
00725 
00726 typedef TEX_ERRET_REC (int) TEX_WCWIDTH_REC;
00727 TMD_RECHEAD (WCWIDTH);
00728 
00729 #endif /* TST_TYPES_H */