Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
/* Copyright (C) 1997, 1998, 1999 Aladdin Enterprises.  All rights reserved.
2
 
3
  This software is provided AS-IS with no warranty, either express or
4
  implied.
5
 
6
  This software is distributed under license and may not be copied,
7
  modified or distributed except as expressly authorized under the terms
8
  of the license contained in the file LICENSE in this distribution.
9
 
10
  For more information about licensing, please refer to
11
  http://www.ghostscript.com/licensing/. For information on
12
  commercial licensing, go to http://www.artifex.com/licensing/ or
13
  contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14
  San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
*/
16
 
17
/* $Id: spprint.h,v 1.6 2002/06/16 05:00:54 lpd Exp $ */
18
/* Print values in ASCII form on a stream */
19
 
20
#ifndef spprint_INCLUDED
21
#  define spprint_INCLUDED
22
 
23
/* Define an opaque type for streams. */
24
#ifndef stream_DEFINED
25
#  define stream_DEFINED
26
typedef struct stream_s stream;
27
#endif
28
 
29
/* Put a character on a stream. */
30
#define stream_putc(s, c) spputc(s, c)
31
 
32
/* Put a byte array on a stream. */
33
int stream_write(stream * s, const void *ptr, uint count);
34
 
35
/* Put a string on a stream. */
36
int stream_puts(stream * s, const char *str);
37
 
38
/*
39
 * Print (a) floating point number(s) using a format.  This is needed
40
 * because %f format always prints a fixed number of digits after the
41
 * decimal point, and %g format may use %e format, which PDF disallows.
42
 * These functions return a pointer to the next %-element of the format, or
43
 * to the terminating 0.
44
 */
45
const char *pprintg1(stream * s, const char *format, floatp v);
46
const char *pprintg2(stream * s, const char *format, floatp v1, floatp v2);
47
const char *pprintg3(stream * s, const char *format,
48
		     floatp v1, floatp v2, floatp v3);
49
const char *pprintg4(stream * s, const char *format,
50
		     floatp v1, floatp v2, floatp v3, floatp v4);
51
const char *pprintg6(stream * s, const char *format,
52
		     floatp v1, floatp v2, floatp v3, floatp v4,
53
		     floatp v5, floatp v6);
54
 
55
/*
56
 * The rest of these printing functions exist solely because the ANSI C
57
 * "standard" for functions with a variable number of arguments is not
58
 * implemented properly or consistently across compilers.
59
 */
60
/* Print (an) int value(s) using a format. */
61
const char *pprintd1(stream * s, const char *format, int v);
62
const char *pprintd2(stream * s, const char *format, int v1, int v2);
63
const char *pprintd3(stream * s, const char *format,
64
		     int v1, int v2, int v3);
65
const char *pprintd4(stream * s, const char *format,
66
		     int v1, int v2, int v3, int v4);
67
 
68
/* Print a long value using a format. */
69
const char *pprintld1(stream * s, const char *format, long v);
70
const char *pprintld2(stream * s, const char *format, long v1, long v2);
71
const char *pprintld3(stream * s, const char *format,
72
		      long v1, long v2, long v3);
73
 
74
/* Print (a) string(s) using a format. */
75
const char *pprints1(stream * s, const char *format, const char *str);
76
const char *pprints2(stream * s, const char *format,
77
		     const char *str1, const char *str2);
78
const char *pprints3(stream * s, const char *format,
79
		     const char *str1, const char *str2, const char *str3);
80
 
81
#endif /* spprint_INCLUDED */