xref: /plan9/sys/src/cmd/gs/src/gs_dll_call.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1 /* Portions Copyright (C) 2003 artofcode LLC.
2    Portions Copyright (C) 2003 Artifex Software Inc.
3    This software is based in part on the work of the Independent JPEG Group.
4    All Rights Reserved.
5 
6    This software is distributed under license and may not be copied, modified
7    or distributed except as expressly authorized under the terms of that
8    license.  Refer to licensing information at http://www.artifex.com/ or
9    contact Artifex Software, Inc., 101 Lucas Valley Road #110,
10    San Rafael, CA  94903, (415)492-9861, for further information. */
11 /*$Id: gs_dll_call.h,v 1.1 2004/08/04 19:36:12 stefan Exp $ */
12 
13 /* calling convention macros for windows style dlls.
14  */
15 #ifndef GS_DLL_CALL_H
16 #define GS_DLL_CALL_H
17 
18 
19 #ifdef __WINDOWS__
20 # define _Windows
21 #endif
22 
23 #ifdef _Windows
24 # ifndef GSDLLEXPORT
25 #  define GSDLLEXPORT __declspec(dllexport)
26 # endif
27 # ifndef GSDLLAPI
28 #  define GSDLLAPI __stdcall
29 # endif
30 # ifndef GSDLLCALL
31 #  define GSDLLCALL __stdcall
32 # endif
33 #endif  /* _Windows */
34 
35 #if defined(OS2) && defined(__IBMC__)
36 # ifndef GSDLLAPI
37 #  define GSDLLAPI _System
38 # endif
39 # ifndef GSDLLCALL
40 #  define GSDLLCALL _System
41 # endif
42 #endif	/* OS2 && __IBMC */
43 
44 #ifdef __MACOS__
45 # pragma export on
46 #endif
47 
48 #ifndef GSDLLEXPORT
49 # define GSDLLEXPORT
50 #endif
51 #ifndef GSDLLAPI
52 # define GSDLLAPI
53 #endif
54 #ifndef GSDLLCALL
55 # define GSDLLCALL
56 #endif
57 
58 #if defined(__IBMC__)
59 # define GSDLLAPIPTR * GSDLLAPI
60 # define GSDLLCALLPTR * GSDLLCALL
61 #else
62 # define GSDLLAPIPTR GSDLLAPI *
63 # define GSDLLCALLPTR GSDLLCALL *
64 #endif
65 
66 #endif /* GS_DLL_CALL_H */
67