1 /* Copyright (C) 1994-2001, Ghostgum Software Pty Ltd. All rights reserved. 2 Portions Copyright (C) 1999 Aladdin Enterprises. All rights reserved. 3 4 This software is provided AS-IS with no warranty, either express or 5 implied. 6 7 This software is distributed under license and may not be copied, 8 modified or distributed except as expressly authorized under the terms 9 of the license contained in the file LICENSE in this distribution. 10 11 For more information about licensing, please refer to 12 http://www.ghostscript.com/licensing/. For information on 13 commercial licensing, go to http://www.artifex.com/licensing/ or 14 contact Artifex Software, Inc., 101 Lucas Valley Road #110, 15 San Rafael, CA 94903, U.S.A., +1(415)492-9861. 16 */ 17 18 19 /* $Id: gsdll.h,v 1.7 2003/01/25 22:50:31 giles Exp $ */ 20 21 /* This interface is deprecated and will be removed in future 22 * ghostscript releases. Use the interface described in 23 * API.htm and iapi.h. 24 */ 25 26 #ifndef gsdll_INCLUDED 27 # define gsdll_INCLUDED 28 29 #include "iapi.h" 30 31 #ifdef __MACOS__ 32 #define HWND char * 33 #include <QDOffscreen.h> 34 #pragma export on 35 #endif 36 37 #ifdef __WINDOWS__ 38 #define _Windows 39 #endif 40 41 #ifdef __IBMC__ 42 #define GSDLLCALLLINK _System 43 #else 44 #define GSDLLCALLLINK 45 #endif 46 47 /* global pointer to callback */ 48 typedef int (* GSDLLCALLLINK GSDLL_CALLBACK) (int, char *, unsigned long); 49 extern GSDLL_CALLBACK pgsdll_callback; 50 51 /* message values for callback */ 52 #define GSDLL_STDIN 1 /* get count characters to str from stdin */ 53 /* return number of characters read */ 54 #define GSDLL_STDOUT 2 /* put count characters from str to stdout */ 55 /* return number of characters written */ 56 #define GSDLL_DEVICE 3 /* device = str has been opened if count=1 */ 57 /* or closed if count=0 */ 58 #define GSDLL_SYNC 4 /* sync_output for device str */ 59 #define GSDLL_PAGE 5 /* output_page for device str */ 60 #define GSDLL_SIZE 6 /* resize for device str */ 61 /* LOWORD(count) is new xsize */ 62 /* HIWORD(count) is new ysize */ 63 #define GSDLL_POLL 7 /* Called from gp_check_interrupt */ 64 /* Can be used by caller to poll the message queue */ 65 /* Normally returns 0 */ 66 /* To abort gsdll_execute_cont(), return a */ 67 /* non zero error code until gsdll_execute_cont() */ 68 /* returns */ 69 70 /* return values from gsdll_init() */ 71 #define GSDLL_INIT_IN_USE 100 /* DLL is in use */ 72 #define GSDLL_INIT_QUIT 101 /* quit or EOF during init */ 73 /* This is not an error. */ 74 /* gsdll_exit() must not be called */ 75 76 77 /* DLL exported functions */ 78 /* for load time dynamic linking */ 79 GSDLLEXPORT int GSDLLAPI gsdll_revision(const char * * product, const char * * copyright, long * gs_revision, long * gs_revisiondate); 80 GSDLLEXPORT int GSDLLAPI gsdll_init(GSDLL_CALLBACK callback, HWND hwnd, int argc, char * * argv); 81 GSDLLEXPORT int GSDLLAPI gsdll_execute_begin(void); 82 GSDLLEXPORT int GSDLLAPI gsdll_execute_cont(const char * str, int len); 83 GSDLLEXPORT int GSDLLAPI gsdll_execute_end(void); 84 GSDLLEXPORT int GSDLLAPI gsdll_exit(void); 85 GSDLLEXPORT int GSDLLAPI gsdll_lock_device(unsigned char *device, int flag); 86 87 /* Function pointer typedefs */ 88 /* for run time dynamic linking */ 89 typedef int (GSDLLAPIPTR PFN_gsdll_revision)(const char ** product, 90 const char ** copyright, long * revision, long * revisiondate); 91 typedef int (GSDLLAPIPTR PFN_gsdll_init) (GSDLL_CALLBACK, HWND, int argc, char * * argv); 92 typedef int (GSDLLAPIPTR PFN_gsdll_execute_begin) (void); 93 typedef int (GSDLLAPIPTR PFN_gsdll_execute_cont) (const char * str, int len); 94 typedef int (GSDLLAPIPTR PFN_gsdll_execute_end) (void); 95 typedef int (GSDLLAPIPTR PFN_gsdll_exit) (void); 96 typedef int (GSDLLAPIPTR PFN_gsdll_lock_device) (unsigned char *, int); 97 98 #ifdef __MACOS__ 99 #pragma export off 100 #endif 101 102 #endif /* gsdll_INCLUDED */ 103