pcsc-lite  1.8.11
wintypes.h
Go to the documentation of this file.
1 /*
2  * MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
3  *
4  * Copyright (C) 1999
5  * David Corcoran <corcoran@musclecard.com>
6  * Copyright (C) 2002-2011
7  * Ludovic Rousseau <ludovic.rousseau@free.fr>
8  *
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions
11 are met:
12 
13 1. Redistributions of source code must retain the above copyright
14  notice, this list of conditions and the following disclaimer.
15 2. Redistributions in binary form must reproduce the above copyright
16  notice, this list of conditions and the following disclaimer in the
17  documentation and/or other materials provided with the distribution.
18 3. The name of the author may not be used to endorse or promote products
19  derived from this software without specific prior written permission.
20 
21 Changes to this license can be made only by the copyright author with
22 explicit written consent.
23 
24 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
25 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
28 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
29 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34  *
35  * $Id: wintypes.h 6851 2014-02-14 15:43:32Z rousseau $
36  */
37 
43 #ifndef __wintypes_h__
44 #define __wintypes_h__
45 
46 #ifdef __cplusplus
47 extern "C"
48 {
49 #endif
50 
51 #ifdef __APPLE__
52 
53 #include <stdint.h>
54 
55 #ifndef BYTE
56  typedef uint8_t BYTE;
57 #endif
58  typedef uint8_t UCHAR;
59  typedef UCHAR *PUCHAR;
60  typedef uint16_t USHORT;
61 
62 #ifndef __COREFOUNDATION_CFPLUGINCOM__
63  typedef uint32_t ULONG;
64  typedef void *LPVOID;
65  typedef int16_t BOOL;
66 #endif
67 
68  typedef ULONG *PULONG;
69  typedef const void *LPCVOID;
70  typedef uint32_t DWORD;
71  typedef DWORD *PDWORD;
72  typedef uint16_t WORD;
73  typedef int32_t LONG;
74  typedef const char *LPCSTR;
75  typedef const BYTE *LPCBYTE;
76  typedef BYTE *LPBYTE;
77  typedef DWORD *LPDWORD;
78  typedef char *LPSTR;
79 
80 #else
81 
82 #ifndef BYTE
83  typedef unsigned char BYTE;
84 #endif
85  typedef unsigned char UCHAR;
86  typedef UCHAR *PUCHAR;
87  typedef unsigned short USHORT;
88 
89 #ifndef __COREFOUNDATION_CFPLUGINCOM__
90  typedef unsigned long ULONG;
91  typedef void *LPVOID;
92 #endif
93 
94  typedef const void *LPCVOID;
95  typedef unsigned long DWORD;
96  typedef DWORD *PDWORD;
97  typedef long LONG;
98  typedef const char *LPCSTR;
99  typedef const BYTE *LPCBYTE;
100  typedef BYTE *LPBYTE;
101  typedef DWORD *LPDWORD;
102  typedef char *LPSTR;
103 
104  /* these types were deprecated but still used by old drivers and
105  * applications. So just declare and use them. */
106  typedef LPSTR LPTSTR;
107  typedef LPCSTR LPCTSTR;
108 
109  /* types unused by pcsc-lite */
110  typedef short BOOL;
111  typedef unsigned short WORD;
112  typedef ULONG *PULONG;
113 
114 #endif
115 
116 #ifdef __cplusplus
117 }
118 #endif
119 
120 #endif