• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4  *
5  * The contents of this file are subject to the Mozilla Public License Version
6  * 1.1 (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  * http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS" basis,
11  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12  * for the specific language governing rights and limitations under the
13  * License.
14  *
15  * The Original Code is mozilla.org code.
16  *
17  * The Initial Developer of the Original Code is
18  * Netscape Communications Corporation.
19  * Portions created by the Initial Developer are Copyright (C) 1998
20  * the Initial Developer. All Rights Reserved.
21  *
22  * Contributor(s):
23  *
24  * Alternatively, the contents of this file may be used under the terms of
25  * either the GNU General Public License Version 2 or later (the "GPL"), or
26  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27  * in which case the provisions of the GPL or the LGPL are applicable instead
28  * of those above. If you wish to allow use of your version of this file only
29  * under the terms of either the GPL or the LGPL, and not to allow others to
30  * use your version of this file under the terms of the MPL, indicate your
31  * decision by deleting the provisions above and replace them with the notice
32  * and other provisions required by the GPL or the LGPL. If you do not delete
33  * the provisions above, a recipient may use your version of this file under
34  * the terms of any one of the MPL, the GPL or the LGPL.
35  *
36  * ***** END LICENSE BLOCK ***** */
37 
38 #ifndef __XP_H__
39 #define __XP_H__
40 #define _CRT_SECURE_NO_DEPRECATE
41 
42 /*****************************************************/
43 
44 #ifdef XP_WIN
45 
46   #include <windows.h>
47 
48 #endif
49 
50 /*****************************************************/
51 
52 
53 #ifdef XP_MAC
54  	#include <all.h>
55 #endif
56 
57 #if (defined XP_MAC || defined XP_UNIX)
58 
59 	typedef unsigned char	BYTE;
60 
61 	#define strcmpi  strcmp
62 
63 #endif
64 
65 
66 /*****************************************************/
67 
68 #ifdef XP_UNIX
69 	#include <stdio.h>
70 	#include <string.h>       /* strcat() */
71   #include <sys/types.h>    /* stat() */
72   #include <sys/stat.h>
73   #include <stdlib.h>       /* atoi() */
74   #include <assert.h>       /* assert() */
75   #include <ctype.h>        /* isprint() */
76 
77 	#ifndef FALSE
78 	#define FALSE			  false
79 	#endif
80 
81 	#ifndef TRUE
82 	#define TRUE			  true
83 	#endif
84 
85   #ifndef HIBYTE
86   #define HIBYTE(x)       ((((u_int)(x)) & 0xff00)>>8)
87   #endif
88 
89   #ifndef LOBYTE
90   #define LOBYTE(x)       (((u_int)(x)) & 0x00ff)
91   #endif
92 
93   #ifndef XP_EXPORT_API
94   #define XP_EXPORT_API
95   #endif
96 
97 #endif
98 
99 /*****************************************************/
100 
101 #ifdef XP_WIN
102 
103   #define XP_HFILE        HFILE
104   #define XP_HLIB         HINSTANCE
105 
106   #define XP_EXPORT_API   WINAPI
107 
108 #else
109 
110   #define XP_HFILE        FILE*
111 
112   #ifndef DWORD
113   #define DWORD           unsigned long
114   #endif
115 
116   #ifndef UINT
117   #define UINT            unsigned int
118   #endif
119 
120   #ifndef WORD
121   #define WORD            unsigned short
122   #endif
123 
124   #ifndef BOOL
125   #define BOOL		  bool
126   #endif
127 
128   #if (defined XP_UNIX)			/* For IRIX */
129     #ifndef bool
130     #define bool		  unsigned char
131     #endif
132   #endif
133 
134 #endif
135 
136 
137 
138 /*****************************************************/
139 
140 #ifndef _MAX_PATH
141   #define _MAX_PATH       256
142 #endif
143 
144 #ifdef XP_WIN
145   #define DIR_SEPARATOR "\\"
146 #endif
147 
148 #ifdef XP_UNIX
149   #define DIR_SEPARATOR "/"
150 #endif
151 
152 #ifdef XP_MAC
153   #define DIR_SEPARATOR ":"
154 #endif
155 
156 /*****************************************************/
157 
158 // File utilities
159 BOOL XP_IsFile(char * szFileName);
160 XP_HFILE XP_CreateFile(char * szFileName);
161 XP_HFILE XP_OpenFile(char * szFileName);
162 void XP_CloseFile(XP_HFILE hFile);
163 void XP_DeleteFile(char * szFileName);
164 DWORD XP_WriteFile(XP_HFILE hFile, const void * pBuf, int iSize);
165 void XP_FlushFileBuffers(XP_HFILE hFile);
166 
167 
168 // misc
169 void * XP_GetSymbol(XP_HLIB hLib, char * szProcName);
170 
171 #endif
172