00001 /**************************************************************** 00002 * 00003 * Copyright (c) 2010 00004 * 00005 * Fraunhofer Institute for Manufacturing Engineering 00006 * and Automation (IPA) 00007 * 00008 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00009 * 00010 * Project name: care-o-bot 00011 * ROS stack name: cob_common 00012 * ROS package name: cob_utilities 00013 * Description: some defs and mappings that are missing in Linux 00014 * 00015 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00016 * 00017 * Author: Christian Connette, email:christian.connette@ipa.fhg.de 00018 * Supervised by: Christian Connette, email:christian.connette@ipa.fhg.de 00019 * 00020 * Date of creation: April 2010 00021 * ToDo: - Get rid of it 00022 * 00023 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00024 * 00025 * Redistribution and use in source and binary forms, with or without 00026 * modification, are permitted provided that the following conditions are met: 00027 * 00028 * * Redistributions of source code must retain the above copyright 00029 * notice, this list of conditions and the following disclaimer. 00030 * * Redistributions in binary form must reproduce the above copyright 00031 * notice, this list of conditions and the following disclaimer in the 00032 * documentation and/or other materials provided with the distribution. 00033 * * Neither the name of the Fraunhofer Institute for Manufacturing 00034 * Engineering and Automation (IPA) nor the names of its 00035 * contributors may be used to endorse or promote products derived from 00036 * this software without specific prior written permission. 00037 * 00038 * This program is free software: you can redistribute it and/or modify 00039 * it under the terms of the GNU Lesser General Public License LGPL as 00040 * published by the Free Software Foundation, either version 3 of the 00041 * License, or (at your option) any later version. 00042 * 00043 * This program is distributed in the hope that it will be useful, 00044 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00045 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00046 * GNU Lesser General Public License LGPL for more details. 00047 * 00048 * You should have received a copy of the GNU Lesser General Public 00049 * License LGPL along with this program. 00050 * If not, see <http://www.gnu.org/licenses/>. 00051 * 00052 ****************************************************************/ 00053 00054 #ifndef WINDOWS_H 00055 #define WINDOWS_H 00056 00057 00058 #include <sys/select.h> 00059 00060 inline void Sleep(long dwMilliseconds) 00061 { 00062 ::timeval sleepTime = {0, dwMilliseconds * 1000}; 00063 ::select(0, 0, 0, 0, &sleepTime); 00064 } 00065 00066 00067 //#ifndef HANDLE 00068 //typedef int HANDLE; 00069 //#endif 00070 //typedef int DWORD; 00071 typedef unsigned char BYTE; 00072 enum { 00073 FALSE = false, 00074 TRUE = true 00075 }; 00076 00077 00078 inline int min(int a, int b) 00079 { 00080 return (a < b) ? a : b; 00081 } 00082 00083 00084 inline int max(int a, int b) 00085 { 00086 return (a > b) ? a : b; 00087 } 00088 00089 00090 00091 #endif 00092