Home | History | Annotate | Download | only in include
      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