824N/A/*
824N/A * dpsint.h -- internal definitions to dpsclient.c
824N/A *
824N/A * (c) Copyright 1989-1994 Adobe Systems Incorporated.
824N/A * All rights reserved.
824N/A *
824N/A * Permission to use, copy, modify, distribute, and sublicense this software
824N/A * and its documentation for any purpose and without fee is hereby granted,
824N/A * provided that the above copyright notices appear in all copies and that
824N/A * both those copyright notices and this permission notice appear in
824N/A * supporting documentation and that the name of Adobe Systems Incorporated
824N/A * not be used in advertising or publicity pertaining to distribution of the
824N/A * software without specific, written prior permission. No trademark license
824N/A * to use the Adobe trademarks is hereby granted. If the Adobe trademark
824N/A * "Display PostScript"(tm) is used to describe this software, its
824N/A * functionality or for any other purpose, such use shall be limited to a
824N/A * statement that this software works in conjunction with the Display
824N/A * PostScript system. Proper trademark attribution to reflect Adobe's
824N/A * ownership of the trademark shall be given whenever any such reference to
824N/A * the Display PostScript system is made.
824N/A *
824N/A * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
824N/A * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
824N/A * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
824N/A * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
824N/A * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
824N/A * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
824N/A * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
824N/A * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
824N/A * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
824N/A * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
824N/A *
824N/A * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
824N/A * Incorporated which may be registered in certain jurisdictions
824N/A *
824N/A * Author: Adobe Systems Incorporated
824N/A */
824N/A
824N/A#ifndef DPSINT_H
824N/A#define DPSINT_H
824N/A
824N/A#include <DPS/dpsXclient.h>
824N/A
824N/A#include "publictypes.h"
824N/A#include "dpsassert.h"
824N/A
824N/A#include "dpsprivate.h"
824N/A#include "dpsXint.h"
824N/A#include "dpsdict.h"
824N/A
824N/Atypedef struct _t_ContextBufferRec {
824N/A struct _t_ContextBufferRec *next;
824N/A } ContextBufferRec, *ContextBuffer;
824N/A
824N/Atypedef struct {
824N/A ContextBuffer gcontextBuffers;
824N/A integer gqueuedBuffers;
824N/A DPSProcs gctxProcs, gtextCtxProcs, gdummyCtxProcs;
824N/A DPSSpaceProcs gspaceProcs;
824N/A DPSPrivSpace gspaces;
824N/A char **guserNames;
824N/A integer guserNamesLength;
824N/A PSWDict guserNameDict;
824N/A boolean gclientStarted;
824N/A DPSContext gdummyCtx;
824N/A integer ginitFailed, gglobLastNameIndex;
824N/A DPSPrivSpace gTextSpace;
824N/A} GlobalsRec, *Globals;
824N/A
824N/Aextern Globals DPSglobals;
824N/A
824N/A#define contextBuffers DPSglobals->gcontextBuffers
824N/A#define queuedBuffers DPSglobals->gqueuedBuffers
824N/A#define ctxProcs DPSglobals->gctxProcs
824N/A#define textCtxProcs DPSglobals->gtextCtxProcs
824N/A#define dummyCtxProcs DPSglobals->gdummyCtxProcs
824N/A#define spaceProcs DPSglobals->gspaceProcs
824N/A#define spaces DPSglobals->gspaces
824N/A#define userNames DPSglobals->guserNames
824N/A#define userNamesLength DPSglobals->guserNamesLength
824N/A#define userNameDict DPSglobals->guserNameDict
824N/A#define clientStarted DPSglobals->gclientStarted
824N/A#define dummyCtx DPSglobals->gdummyCtx
824N/A#define initFailed DPSglobals->ginitFailed
824N/A#define globLastNameIndex DPSglobals->gglobLastNameIndex
824N/A#define textSpace DPSglobals->gTextSpace
824N/A
824N/Aextern boolean DPSCheckShared(DPSPrivContext ctxt);
824N/Aextern boolean DPSKnownContext(DPSContext ctxt);
824N/Aextern boolean DPSKnownSpace(DPSSpace space);
824N/Aextern boolean DPSPrivateCheckWait(DPSContext ctxt);
824N/Aextern void DPSCheckInitClientGlobals(void);
824N/Aextern void DPSPrivateDestroyContext(DPSContext ctxt);
824N/Aextern void DPSPrivateDestroySpace(DPSSpace space);
824N/Aextern void DPSSafeSetLastNameIndex(DPSContext ctxt);
824N/Aextern void DPSclientPrintProc(DPSContext ctxt, char *buf, unsigned nch);
824N/Aextern void DPSinnerProcWriteData(DPSContext ctxt, char *buf, unsigned int count);
824N/A
824N/Aextern void DPSDefaultPrivateHandler(
824N/A DPSContext ctxt,
824N/A DPSErrorCode errorCode,
824N/A long unsigned int arg1,
824N/A long unsigned int arg2,
824N/A char *prefix,
824N/A char *suffix);
824N/A
824N/Aextern char *DPScalloc(integer e, integer n);
824N/A
824N/Aextern DPSContext DPSCreateContext(
824N/A char *wh,
824N/A DPSTextProc textProc,
824N/A DPSErrorProc errorProc,
824N/A DPSSpace space);
824N/A
824N/Aextern void DPSHandleBogusError(DPSContext ctxt, char *prefix, char *suffix);
824N/Aextern void DPSInitCommonContextProcs(DPSProcs p);
824N/Aextern void DPSInitCommonSpaceProcs(DPSSpaceProcs p);
824N/Aextern void DPSInitCommonTextContextProcs(DPSProcs p);
824N/Aextern void DPSInitPrivateContextFields(DPSPrivContext c, DPSPrivSpace s);
824N/Aextern void DPSInitPrivateContextProcs(DPSProcs p);
824N/Aextern void DPSInitPrivateSpaceFields(DPSPrivSpace s);
824N/Aextern void DPSInitPrivateTextContextFields(DPSPrivContext c, DPSPrivSpace s);
824N/Aextern void DPSServicePostScript(boolean (*returnControl)(void));
824N/A
824N/A#endif /* DPSINT_H */