home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / fweb153.zip / fweb-1.53 / web / c_type.web < prev    next >
Text File  |  1995-09-23  |  9KB  |  218 lines

  1. @z --- c_type.web ---
  2.  
  3. FWEB version 1.53 (September 23, 1995)
  4.  
  5. Based on version 0.5 of S. Levy's CWEB [copyright (C) 1987 Princeton University]
  6.  
  7. @x-----------------------------------------------------------------------------
  8.  
  9.  
  10. \Title{C\_TYPE.WEB} % Prototypes for COMMON.
  11.  
  12. @c 
  13. @* PROTOTYPES for {\tt COMMON.WEB}.  The function prototypes are macroed
  14. up so that if |PROTOTYPES==1| (see \.{proto.hweb}) one gets full function
  15. prototyping; otherwise just old-style declarations.
  16.  
  17. @I formats.hweb
  18.  
  19. @I os.hweb
  20.  
  21. @ The make file produces \.{c\_type.h} from these prototypes.
  22. @a
  23. #ifndef C_TYPES /* Make sure it gets loaded only once. */
  24.  
  25. #define C_TYPES
  26.  
  27. #include SFILE(y_type.h) // Prototypes for memory allocation.
  28. #include SFILE(d_type.h) // Prototypes for reserved words.
  29.  
  30. #ifdef mcc
  31.     unsigned long _hmemavl PROTO((VOID));
  32.     void HUGE *hrealloc PROTO((void HUGE *old_ptr,
  33.         unsigned long new_size, unsigned long old_size));
  34. #endif
  35.  
  36. SRTN ASCII_file_write PROTO((FILE *file_ptr,CONST ASCII HUGE *p0,size_t n));
  37. SRTN FR_args PROTO((LANGUAGE Language));
  38. SRTN acopy PROTO((outer_char c,outer_char HUGE **a,int n));
  39. SRTN add_prefix PROTO((outer_char HUGE *file_name));
  40. SRTN anlz_cmnts PROTO((VOID));
  41. SRTN bad_lcmd PROTO((CONST char*type,CONST outer_char HUGE *pa0));
  42. SRTN bad_loption PROTO((LANGUAGE Language));
  43. SRTN bad_option PROTO((VOID));
  44. SRTN banner PROTO((VOID));
  45. char beep PROTO((int n));
  46. boolean bscn_cmnt PROTO((VOID));
  47. boolean bscn_white PROTO((VOID));
  48. boolean buf_chk PROTO((CONST outer_char *file_name,unsigned buf_len,
  49.     unsigned needed));
  50. SRTN cant_negate PROTO((outer_char HUGE *s));
  51. outer_char *ccode_name PROTO((eight_bits code));
  52. SRTN chk_args PROTO((outer_char *name,int num,int n,PARGS pargs));
  53. SRTN chk_change PROTO((VOID));
  54. SRTN chk_complete PROTO((VOID));
  55. SRTN chk_override PROTO((LANGUAGE language0));
  56. SRTN cls_files PROTO((VOID));
  57. outer_char HUGE *cmd_line PROTO((int num_args,outer_char *args[]));
  58. SRTN set_color PROTO((COLOR clr));
  59. SRTN common_init PROTO((VOID));
  60. int confusion PROTO((CONST outer_char where[],CONST outer_char s[]));
  61. SRTN conv_bi PROTO((BUILT_IN HUGE *b));
  62. SRTN conv_dot PROTO((DOTS HUGE *d));
  63. #if TIMING
  64.     double diff_time PROTO((TIME_T t1,TIME_T t0));
  65. #endif // |TIMING|
  66. SRTN divert PROTO((ASCII HUGE *buffer,ASCII HUGE *end,
  67.     boolean stop)); 
  68. SRTN do_args PROTO((boolean doing_cmd_line,int argc,outer_char HUGE *argv[],
  69.     boolean HUGE *pfound_web,outer_char wbflnm[],
  70.     boolean HUGE *pfound_change));
  71. eight_bits dot_code PROTO((DOTS HUGE *d0,CONST ASCII HUGE *p0,
  72.             CONST ASCII HUGE *p1,eight_bits new_code));
  73. SRTN err0_print PROTO((ERR_ORIGIN err_origin,CONST outer_char *fmt,
  74.     int n ELLIPSIS));
  75. unsigned esc_file_name PROTO((outer_char *esc_name,unsigned max_length,
  76.             outer_char *name));
  77. outer_char HUGE *xpn_name PROTO((outer_char HUGE *HUGE *out_name,int buf_len,
  78.     CONST outer_char *in_name,CONST outer_char wbflnm[]));
  79. int fatal PROTO((ERR_ORIGIN err_origin, CONST outer_char s1[], 
  80.     CONST outer_char s2[])); 
  81. MEM HUGE *find_abbrev PROTO((CONST outer_char abbrev[]));
  82. SRTN fin_language PROTO((VOID));
  83. sixteen_bits find_id PROTO((eight_bits a0,eight_bits a1));
  84. sixteen_bits find_n PROTO((sixteen_bits n));
  85. sixteen_bits find_s PROTO((CONST outer_char *s));
  86. unsigned find_prefix PROTO((outer_char s[]));
  87. SRTN flags3 PROTO((boolean not));
  88. SRTN frz_params PROTO((VOID));
  89. boolean get_fname PROTO((outer_char HUGE *file_name));
  90. boolean get_line PROTO((VOID));
  91. SRTN help PROTO((VOID));
  92. SRTN id_info PROTO((name_pointer np,long n,CONST outer_char *s, 
  93.     CONST RSRVD HUGE *prsrvd));
  94. name_pointer id_lookup PROTO((CONST ASCII HUGE *first,
  95.             CONST ASCII HUGE *last,eight_bits t)); 
  96. boolean ignored_cmnts PROTO((VOID));
  97.  
  98. /* The following function should be superceded by ANSI's |strchr|. However,
  99. there's replacement code in \.{common.web} if necessary. */
  100. #if(0)
  101.     char HUGE *index PROTO((char HUGE *s,char c));
  102. #endif
  103.  
  104. boolean ini_input_prms PROTO((int ilevel,outer_char HUGE *path,
  105.     boolean quit_on_error));
  106. boolean ini0_input_prms PROTO((INPUT_PRMS0 HUGE *p0,outer_char HUGE *path,
  107.     outer_char file_type[],boolean quit_on_error,SEQUENCES *extensions));
  108. SRTN ini0_language PROTO((VOID));
  109. SRTN ini_language PROTO((ASCII l));
  110. SRTN ini_node PROTO((CONST name_pointer node));
  111. SRTN ini_p PROTO((name_pointer p,eight_bits t));
  112. SRTN ini_program PROTO((PROGRAM program0));
  113. SRTN ini_timer PROTO((VOID));
  114. boolean input_ln PROTO((INPUT_PRMS0 HUGE *p0));
  115. name_pointer install_node PROTO((name_pointer parent,int crl,
  116.         CONST ASCII HUGE *j,int name_len));
  117. boolean is_dot PROTO((VOID));
  118. boolean is_in PROTO((CONST BUILT_IN b0[],CONST ASCII HUGE *p0,
  119.             CONST ASCII HUGE *p1));
  120. boolean is_include_like PROTO((VOID));
  121. eight_bits is_mcmd PROTO((DOTS HUGE *d0,CONST ASCII HUGE *p0,
  122.         CONST ASCII HUGE *p1)); 
  123. LANGUAGE lan_enum PROTO((int num));
  124. int lan_index PROTO((LANGUAGE Language));
  125. int lan_num PROTO((LANGUAGE Language));
  126. LANGUAGE lcase PROTO((LANGUAGE l0,outer_char c0,LANGUAGE l1,outer_char c1,
  127.     outer_char HUGE * HUGE *pp));
  128. int Length PROTO((name_pointer np));
  129. SRTN macro_err PROTO((CONST outer_char s[],int trail ELLIPSIS));
  130. SRTN mem_avail PROTO((int iswitch));
  131. char *mk_fname PROTO((outer_char *buffer,unsigned buf_len,
  132.     CONST outer_char *env_var,
  133.     boolean    print_msg, CONST outer_char *file_name));
  134. SRTN mfree PROTO((VOID));
  135. name_pointer mod_lookup PROTO((CONST ASCII HUGE *k,CONST ASCII HUGE *l));
  136. outer_char HUGE *mod_trans PROTO((outer_char *prefix, sixteen_bits modno));
  137. SRTN more_includes PROTO((outer_char *incl_list0));
  138. MEM HUGE *msearch PROTO((CONST outer_char abbrev[],BUF_SIZE nunits));
  139. boolean names_match PROTO((name_pointer p,
  140.             CONST ASCII HUGE *first,int l,eight_bits t));
  141. SRTN new_fname PROTO((outer_char HUGE * HUGE *pname,outer_char *name,
  142.     outer_char *ext));
  143. SRTN new_sprm PROTO((CONST outer_char name[], int value));
  144. int nsprintf PROTO((outer_char *s,CONST outer_char *fmt,int n ELLIPSIS));
  145. int nvsprintf PROTO((outer_char *s,CONST outer_char *fmt,int n ELLIPSIS));
  146. SRTN ntrunc PROTO((VOID));
  147. SRTN open_tex_file PROTO((VOID));
  148. SRTN opt_args PROTO((ASCII l));
  149. SRTN out_error PROTO((CONST outer_char fcn[]));
  150. SRTN overflow PROTO((CONST outer_char msg[],CONST outer_char abbrev[]));
  151. name_pointer prefix_lookup PROTO((CONST ASCII HUGE *k,CONST ASCII HUGE *l));
  152. SRTN pr_lan PROTO((CONST char *name,boolean b));
  153. SRTN predefine_macros PROTO((void));
  154. SRTN prime_the_change_buffer PROTO((VOID));
  155. SRTN prn_codes PROTO((VOID));
  156. unsigned prn_id PROTO((name_pointer np));
  157. unsigned long prn_nd PROTO((VOID));
  158. SRTN progress PROTO((VOID));
  159. SRTN prn_time PROTO((VOID));
  160. SRTN ptr_range PROTO((void HUGE *p,unsigned long nbytes));
  161. boolean rd_Fortran PROTO((VOID));
  162. boolean rd_free_form PROTO((VOID));
  163. boolean rd_Ratfor PROTO((VOID));
  164. SRTN read_aux PROTO((VOID));
  165. SRTN reading PROTO((CONST outer_char *in_name,boolean emit_newline));
  166. SRTN redirect_output PROTO((VOID));
  167. SRTN rst_input PROTO((VOID));
  168. SRTN save_macro PROTO((CONST outer_char HUGE *cmd,outer_char HUGE *t));
  169. SRTN scan_args PROTO((VOID));
  170. SRTN scan_for_cmnts PROTO((VOID));
  171. SRTN set_args PROTO((int HUGE *pargc,outer_char HUGE * HUGE * *pargv));
  172. SRTN set_filter PROTO((LANGUAGE Language));
  173. SRTN set_fname PROTO((LANGUAGE l,outer_char HUGE *sf,boolean check));
  174. SRTN set_name PROTO((LANGUAGE l,outer_char *output_ext));
  175. SRTN show_alloc PROTO((outer_char c,CONST outer_char why[],
  176.         unsigned long nunits,
  177.         unsigned long nsize,unsigned long nbytes,
  178.         void HUGE *p,unsigned long total_mem));
  179. boolean skip_Ftext PROTO((VOID));
  180. boolean skip_Rtext PROTO((VOID));
  181. boolean skp_cmnt PROTO((VOID));
  182. BUF_SIZE smin0 PROTO((BUF_SIZE abs_max_num));
  183. SRTN stat0 PROTO((CONST outer_char *name,size_t size,unsigned long num,unsigned
  184.     long max_num,unsigned long abs_max_num,CONST outer_char *abbrev,
  185.     CONST outer_char *ctrl_chars)); 
  186. #if !HAVE_STRERROR
  187.     char *strerror PROTO((int errnum));
  188. #endif
  189. CONST outer_char * the_cdate PROTO((CONST struct tm *t));
  190. CONST outer_char * the_day PROTO((CONST struct tm *t));
  191. struct tm * the_localtime PROTO((VOID));
  192. CONST outer_char * the_time PROTO((CONST struct tm *t));
  193. int to_args PROTO((outer_char HUGE *arg_buffer,outer_char HUGE *args[],
  194.     int max_args));
  195. ASCII HUGE *to_ASCII PROTO((outer_char HUGE *p0));
  196. ASCII HUGE *x_to_ASCII PROTO((CONST outer_char HUGE *p0));
  197. ASCII HUGE *x__to_ASCII PROTO((CONST outer_char HUGE *p0));
  198. outer_char HUGE *to_outer PROTO((ASCII HUGE *p0));
  199. SRTN too_long PROTO((VOID));
  200. SRTN undivert PROTO((VOID));
  201. ASCII HUGE *uppercase PROTO((ASCII HUGE *p,int n));
  202. SRTN usage PROTO((CONST char *msg, boolean is_fatal));
  203. boolean was_opened PROTO((CONST outer_char HUGE *name, boolean global_scope,
  204.     outer_char HUGE * HUGE *pname,FILE **pptr));
  205. LEXI web_strcmp PROTO((CONST ASCII HUGE *j,CONST ASCII HUGE *j1,
  206.             CONST ASCII HUGE *k,CONST ASCII HUGE *k1));
  207. int wrap_up PROTO((VOID));
  208. SRTN writing PROTO((boolean print_write,CONST outer_char *out_name));
  209. SRTN xpnd_file_name PROTO((outer_char HUGE *name));
  210. FILE *xopen PROTO((outer_char *file_name,outer_char HUGE *path,
  211.     SEQUENCES *extensions,CONST outer_char *iomode));
  212. FILE *x0open PROTO((outer_char *file_name,
  213.     SEQUENCES *extensions,CONST outer_char *iomode));
  214.  
  215. #endif
  216.  
  217. @ Index:
  218.