source: git/output/output.h @ ebcfee3

spielwiese
Last change on this file since ebcfee3 was ebcfee3, checked in by Hans Schönemann <hannes@…>, 14 years ago
output/output.h
  • Property mode set to 100644
File size: 2.1 KB
Line 
1#ifndef OUTPUT_H
2#define OUTPUT_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id$ */
7/*
8* ABSTRACT: basic output
9*/
10#include <stdio.h>
11#include <string.h>
12
13extern char*  feErrors;
14extern int    feErrorsLen;
15extern FILE*  feProtFile;
16extern int    pagelength, colmax;
17extern int    yy_blocklineno;
18extern int    yy_noeof;
19extern const char feNotImplemented[];
20extern BOOLEAN errorreported;
21extern int     feProt;
22extern BOOLEAN feWarn;
23extern BOOLEAN feOut;
24extern int  traceit ;
25#define TRACE_SHOW_PROC   1
26#define TRACE_SHOW_LINENO 2
27#define TRACE_SHOW_LINE   4
28#define TRACE_SHOW_RINGS  8
29#define TRACE_SHOW_LINE1  16
30#define TRACE_BREAKPOINT  32
31#define TRACE_TMP_BREAKPOINT  64
32
33#define PROT_NONE 0
34#define PROT_I    1
35#define PROT_O    2
36#define PROT_IO   3
37
38/* the C-part: */
39#define mflush() fflush(stdout)
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45void    Werror(const char *fmt, ...) __attribute__((format(printf,1,2)));
46void    WerrorS(const char *s);
47void    WarnS(const char *s);
48void    Print(const char* fmt, ...) __attribute__((format(printf,1,2)));
49/* Print should not produce more than strlen(fmt)+510 characters! */
50
51void    PrintNSpaces(const int n);
52void    PrintLn();
53#ifdef HAVE_TCL
54void    PrintTCLS(const char c, const char * s);
55#else
56#define PrintTCLS(A,B) Print("TCL-ErrS:%s",B)
57#endif
58void    PrintS(const char* s);
59
60#ifdef __cplusplus
61}
62/* the C++-part: */
63
64#ifdef HAVE_TCL
65
66inline void PrintTCL(const char c, int l,const char *s)
67{
68  if (s!=NULL) printf("%c:%d:%s",c,l,s);
69  else if(l==0) printf("%c:0:",c);
70  else printf("%c:1:%c",c,'0'+l);
71  fflush(stdout);
72}
73#else
74#define PrintTCL(A,B,C) Print("TCL-Err:%s",C)
75#endif /* HAVE_TCL */
76
77char *  StringAppend(const char *fmt, ...);
78char *  StringAppendS(const char *s);
79char *  StringSetS(const char* s);
80void    Warn(const char *fmt, ...);
81
82#endif /* c++ only */
83
84/* everything in between calls to these procedures is printed into a string
85 * which is returned by SprintEnd()
86 */
87void SPrintStart();
88char* SPrintEnd();
89
90
91#endif /* ifndef OUTPUT_H */
Note: See TracBrowser for help on using the repository browser.