ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

rdesktop.h
Go to the documentation of this file.
00001 /*
00002    rdesktop: A Remote Desktop Protocol client.
00003    Master include file
00004    Copyright (C) Matthew Chapman 1999-2005
00005 
00006    This program is free software; you can redistribute it and/or modify
00007    it under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 2 of the License, or
00009    (at your option) any later version.
00010 
00011    This program is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014    GNU General Public License for more details.
00015 
00016    You should have received a copy of the GNU General Public License along
00017    with this program; if not, write to the Free Software Foundation, Inc.,
00018    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00019 */
00020 
00021 #pragma once
00022 
00023 #include <stdlib.h>
00024 #include <stdio.h>
00025 #include <string.h>
00026 #ifdef _WIN32
00027 //#include <winsock2.h> /* winsock2.h first */
00028 #include <windows.h>
00029 #include <time.h>
00030 #else /* WIN32 */
00031 #include <dirent.h>
00032 #include <sys/types.h>
00033 #include <sys/time.h>
00034 #ifdef HAVE_SYS_SELECT_H
00035 #include <sys/select.h>
00036 #else /* HAVE_SYS_SELECT_H */
00037 #include <sys/types.h>
00038 #include <unistd.h>
00039 #endif /* HAVE_SYS_SELECT_H */
00040 #endif /* WIN32 */
00041 #include <limits.h>     /* PATH_MAX */
00042 
00043 #define VERSION "1.4.1"
00044 
00045 #ifdef WITH_DEBUG
00046 #define DEBUG(args) printf args;
00047 #else
00048 #define DEBUG(args)
00049 #endif
00050 
00051 #ifdef WITH_DEBUG_KBD
00052 #define DEBUG_KBD(args) printf args;
00053 #else
00054 #define DEBUG_KBD(args)
00055 #endif
00056 
00057 #ifdef WITH_DEBUG_RDP5
00058 #define DEBUG_RDP5(args) printf args;
00059 #else
00060 #define DEBUG_RDP5(args)
00061 #endif
00062 
00063 #ifdef WITH_DEBUG_CLIPBOARD
00064 #define DEBUG_CLIPBOARD(args) printf args;
00065 #else
00066 #define DEBUG_CLIPBOARD(args)
00067 #endif
00068 
00069 #ifdef WITH_DEBUG_CHANNEL
00070 #define DEBUG_CHANNEL(args) printf args;
00071 #else
00072 #define DEBUG_CHANNEL(args)
00073 #endif
00074 
00075 #define STRNCPY(dst,src,n)  { strncpy(dst,src,n-1); dst[n-1] = 0; }
00076 
00077 #ifndef MIN
00078 #define MIN(x,y)        (((x) < (y)) ? (x) : (y))
00079 #endif
00080 
00081 #ifndef MAX
00082 #define MAX(x,y)        (((x) > (y)) ? (x) : (y))
00083 #endif
00084 
00085 /* timeval macros */
00086 #ifndef timerisset
00087 #define timerisset(tvp)\
00088          ((tvp)->tv_sec || (tvp)->tv_usec)
00089 #endif
00090 #ifndef timercmp
00091 #define timercmp(tvp, uvp, cmp)\
00092         ((tvp)->tv_sec cmp (uvp)->tv_sec ||\
00093         (tvp)->tv_sec == (uvp)->tv_sec &&\
00094         (tvp)->tv_usec cmp (uvp)->tv_usec)
00095 #endif
00096 #ifndef timerclear
00097 #define timerclear(tvp)\
00098         ((tvp)->tv_sec = (tvp)->tv_usec = 0)
00099 #endif
00100 
00101 /* If configure does not define the endianess, try
00102    to find it out */
00103 #if !defined(L_ENDIAN) && !defined(B_ENDIAN)
00104 #if __BYTE_ORDER == __LITTLE_ENDIAN
00105 #define L_ENDIAN
00106 #elif __BYTE_ORDER == __BIG_ENDIAN
00107 #define B_ENDIAN
00108 #else
00109 #error Unknown endianness. Edit rdesktop.h.
00110 #endif
00111 #endif /* B_ENDIAN, L_ENDIAN from configure */
00112 
00113 /* No need for alignment on x86 and amd64 */
00114 #if !defined(NEED_ALIGN)
00115 #if !(defined(__x86__) || defined(__x86_64__) || \
00116       defined(__AMD64__) || defined(_M_IX86) || \
00117       defined(__i386__))
00118 #define NEED_ALIGN
00119 #endif
00120 #endif
00121 
00122 #include "parse.h"
00123 #include "constants.h"
00124 #include "types.h"
00125 
00126 #ifndef MAKE_PROTO
00127 #include "proto.h"
00128 #endif

Generated on Sat May 26 2012 04:16:06 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.