ZenLib
|
00001 00002 #ifndef HTTP_CLIENT_WRAPPER 00003 #define HTTP_CLIENT_WRAPPER 00004 00005 // Compilation mode 00006 #define _HTTP_BUILD_WIN32 // Set Windows Build flag 00007 00008 /////////////////////////////////////////////////////////////////////////////// 00009 // 00010 // Section : Microsoft Windows Support 00011 // Last updated : 01/09/2005 00012 // 00013 /////////////////////////////////////////////////////////////////////////////// 00014 00015 #ifdef _HTTP_BUILD_WIN32 00016 00017 #if defined(_MSC_VER) 00018 #pragma warning (disable: 4996) // 'function': was declared deprecated (VS 2005) 00019 #endif 00020 #include <stdlib.h> 00021 #include <string.h> 00022 #include <memory.h> 00023 #include <stdio.h> 00024 #include <ctype.h> 00025 #include <time.h> 00026 #if defined(_WIN32) || defined(WIN32) 00027 #ifdef WINDOWS_UWP 00028 #include <winsock2.h> 00029 #else 00030 #include <winsock.h> 00031 #endif 00032 #endif 00033 00034 // Generic types 00035 typedef unsigned int UINT32; 00036 typedef int INT32; 00037 00038 // Sockets (Winsock wrapper) 00039 #define HTTP_ECONNRESET (WSAECONNRESET) 00040 #define HTTP_EINPROGRESS (WSAEINPROGRESS) 00041 #define HTTP_EWOULDBLOCK (WSAEWOULDBLOCK) 00042 #endif 00043 00044 00045 /////////////////////////////////////////////////////////////////////////////// 00046 // 00047 // Section : Functions that are not supported by the AMT stdc framework 00048 // So they had to be specificaly added. 00049 // Last updated : 01/09/2005 00050 // 00051 /////////////////////////////////////////////////////////////////////////////// 00052 #ifdef __cplusplus 00053 extern "C" { 00054 #endif 00055 00056 // STDC Wrapper implimentation 00057 int HTTPWrapperIsAscii (int c); 00058 int HTTPWrapperToUpper (int c); 00059 int HTTPWrapperToLower (int c); 00060 int HTTPWrapperIsAlpha (int c); 00061 int HTTPWrapperIsAlNum (int c); 00062 char* HTTPWrapperItoa (char *buff,int i); 00063 void HTTPWrapperInitRandomeNumber (); 00064 long HTTPWrapperGetUpTime (); 00065 int HTTPWrapperGetRandomeNumber (); 00066 int HTTPWrapperGetSocketError (int s); 00067 unsigned long HTTPWrapperGetHostByName (char *name,unsigned long *address); 00068 int HTTPWrapperShutDown (int s,int in); 00069 // SSL Wrapper prototypes 00070 int HTTPWrapperSSLConnect (int s,const struct sockaddr *name,int namelen,char *hostname); 00071 int HTTPWrapperSSLNegotiate (int s,const struct sockaddr *name,int namelen,char *hostname); 00072 int HTTPWrapperSSLSend (int s,char *buf, int len,int flags); 00073 int HTTPWrapperSSLRecv (int s,char *buf, int len,int flags); 00074 int HTTPWrapperSSLClose (int s); 00075 int HTTPWrapperSSLRecvPending (int s); 00076 // Global wrapper Functions 00077 #define IToA HTTPWrapperItoa 00078 #define GetUpTime HTTPWrapperGetUpTime 00079 #define SocketGetErr HTTPWrapperGetSocketError 00080 #define HostByName HTTPWrapperGetHostByName 00081 #define InitRandomeNumber HTTPWrapperInitRandomeNumber 00082 #define GetRandomeNumber HTTPWrapperGetRandomeNumber 00083 00084 #ifdef __cplusplus 00085 } 00086 #endif 00087 00088 /////////////////////////////////////////////////////////////////////////////// 00089 // 00090 // Section : Global type definitions 00091 // Last updated : 01/09/2005 00092 // 00093 /////////////////////////////////////////////////////////////////////////////// 00094 00095 #define VOID void 00096 #ifndef NULL 00097 #define NULL 0 00098 #endif 00099 #define TRUE 1 00100 #define FALSE 0 00101 typedef char CHAR; 00102 typedef unsigned short UINT16; 00103 typedef int BOOL; 00104 typedef unsigned long ULONG; 00105 00106 // Global socket structures and definitions 00107 #define HTTP_INVALID_SOCKET (-1) 00108 typedef struct sockaddr_in HTTP_SOCKADDR_IN; 00109 typedef struct timeval HTTP_TIMEVAL; 00110 typedef struct hostent HTTP_HOSTNET; 00111 typedef struct sockaddr HTTP_SOCKADDR; 00112 typedef struct in_addr HTTP_INADDR; 00113 00114 00115 #endif // HTTP_CLIENT_WRAPPER