summaryrefslogtreecommitdiff
path: root/gs/base/sbcp.h
diff options
context:
space:
mode:
Diffstat (limited to 'gs/base/sbcp.h')
-rw-r--r--gs/base/sbcp.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/gs/base/sbcp.h b/gs/base/sbcp.h
new file mode 100644
index 000000000..a975b2a49
--- /dev/null
+++ b/gs/base/sbcp.h
@@ -0,0 +1,43 @@
+/* Copyright (C) 2001-2006 Artifex Software, Inc.
+ All Rights Reserved.
+
+ This software is provided AS-IS with no warranty, either express or
+ implied.
+
+ This software is distributed under license and may not be copied, modified
+ or distributed except as expressly authorized under the terms of that
+ license. Refer to licensing information at http://www.artifex.com/
+ or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
+ San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
+*/
+
+/* $Id$ */
+/* Interface to [T]BCP streams */
+
+#ifndef sbcp_INCLUDED
+# define sbcp_INCLUDED
+
+/* (T)BCPEncode */
+/* (no state) */
+extern const stream_template s_BCPE_template;
+extern const stream_template s_TBCPE_template;
+
+/* (T)BCPDecode */
+typedef struct stream_BCPD_state_s {
+ stream_state_common;
+ /* The client sets the following before initialization. */
+ int (*signal_interrupt) (stream_state *);
+ int (*request_status) (stream_state *);
+ /* The following are updated dynamically. */
+ bool escaped;
+ int matched; /* TBCP only */
+ int copy_count; /* TBCP only */
+ const byte *copy_ptr; /* TBCP only */
+} stream_BCPD_state;
+
+#define private_st_BCPD_state() /* in sbcp.c */\
+ gs_private_st_simple(st_BCPD_state, stream_BCPD_state, "(T)BCPDecode state")
+extern const stream_template s_BCPD_template;
+extern const stream_template s_TBCPD_template;
+
+#endif /* sbcp_INCLUDED */