home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / CMTEX330 / SOURCE / TEXEXT.H < prev    next >
C/C++ Source or Header  |  1992-02-19  |  3KB  |  136 lines

  1.  
  2. /*
  3.  * %Y%:%M%:%I%:%Q%
  4.  *
  5.  * Copyright 1987,1988,1991,1992 Pat J Monardo
  6.  *
  7.  * Redistribution of this file is permitted through
  8.  * the specifications in the file COPYING.
  9.  *
  10.  *
  11.  */
  12.  
  13. void    do_extension();
  14.  
  15. void    show_whatsit();
  16. ptr    copy_whatsit();
  17. void    free_whatsit();
  18. void    out_whatsit();
  19. void    line_break_whatsit();
  20. void    try_hyph_whatsit();
  21. void    append_whatsit();
  22.  
  23. #define OPEN_NODE        0
  24.  
  25. struct _open_t {
  26.     mcell    node_field;
  27.     int    open_stream_field;
  28.     str    open_name_field;
  29.     str    open_area_field;
  30.     str    open_ext_field;
  31. };
  32. typedef struct _open_t _open_t;
  33.  
  34. #define OPEN_NODE_SIZE        sizeof(_open_t)
  35. #define open_stream(P)        ((_open_t *) (P))->open_stream_field
  36. #define open_name(P)        ((_open_t *) (P))->open_name_field
  37. #define open_area(P)        ((_open_t *) (P))->open_area_field
  38. #define open_ext(P)        ((_open_t *) (P))->open_ext_field
  39.  
  40. void    do_open();
  41. void    show_open();
  42. ptr    copy_open();
  43. void    free_open();
  44. void    out_open();
  45.  
  46. #define WRITE_NODE        1
  47.  
  48. struct _write_t {
  49.     mcell    node_field;
  50.     int    write_stream_field;
  51.     ptr    write_toks_field;
  52. };
  53. typedef struct _write_t _write_t;
  54.  
  55. #define WRITE_NODE_SIZE        sizeof(_write_t)
  56. #define write_stream(P)        ((_write_t *) (P))->write_stream_field
  57. #define write_toks(P)        ((_write_t *) (P))->write_toks_field
  58.  
  59. #define END_WRITE_TOKEN        sym2tok(FROZEN_END_WRITE)
  60.  
  61. global    file    write_file[];
  62. global    bool    write_open[];
  63. global    sym    write_cs;
  64.  
  65. void    do_write();
  66. void    show_write();
  67. ptr    copy_write();
  68. void    free_write();
  69. void    out_write();
  70.  
  71. #define CLOSE_NODE        2
  72.  
  73. struct _close_t {
  74.     mcell    node_field;
  75.     int    close_stream_field;
  76.     ptr    fill_field;
  77. };
  78. typedef struct _close_t _close_t;
  79.  
  80. #define CLOSE_NODE_SIZE        sizeof(_close_t)
  81. #define close_stream(P)        ((_close_t *) (P))->close_stream_field
  82.  
  83. void    do_close();
  84. void    show_close();
  85. ptr    copy_close();
  86. void    free_close();
  87. void    out_close();
  88.  
  89. #define SPECIAL_NODE        3
  90.  
  91. struct _special_t {
  92.     mcell    node_field;
  93.     ptr    special_toks_field;
  94.     ptr    fill_field;
  95. };
  96. typedef struct _special_t _special_t;
  97.  
  98. #define SPECIAL_NODE_SIZE    sizeof(_special_t)
  99. #define special_toks(P)        ((_special_t *) (P))->special_toks_field
  100.  
  101. void    do_special();
  102. void    show_special();
  103. ptr    copy_special();
  104. void    free_special();
  105. void    out_special();
  106.  
  107. #define IMMEDIATE_CODE        4
  108.  
  109. void    do_immediate();
  110.  
  111. #define SET_LANGUAGE_CODE    5
  112. #define LANGUAGE_NODE        4
  113.  
  114. struct _language_t {
  115.     mcell    node_field;
  116.     int    lang_field;
  117.     short    lhm_field;
  118.     short    rhm_field;
  119. };
  120. typedef struct _language_t _language_t;
  121.  
  122. #define LANGUAGE_NODE_SIZE    sizeof(_language_t)
  123. #define what_lang(P)        ((_language_t *)(P))->lang_field
  124. #define what_lhm(P)        ((_language_t *)(P))->lhm_field
  125. #define what_rhm(P)        ((_language_t *)(P))->rhm_field
  126.  
  127. void    do_set_language();
  128. void    show_language();
  129. ptr    copy_language();
  130. void    free_language();
  131. void    out_language();
  132. void    fix_language();
  133.  
  134. void    _texext_init();
  135. void    _texext_init_once();
  136.