global.h
Go to the documentation of this file.
00001 /*------------------------------------------------------------------------
00002  *---------------------           RT-WMP              --------------------
00003  *------------------------------------------------------------------------
00004  *                                                         V7.0B  11/05/10
00005  *
00006  *
00007  *  File: ./src/core/include/global.h                                     
00008  *  Authors: Danilo Tardioli                                              
00009  *  ----------------------------------------------------------------------
00010  *  Copyright (C) 2000-2010, Universidad de Zaragoza, SPAIN
00011  *
00012  *  Contact Addresses: Danilo Tardioli                   dantard@unizar.es
00013  *
00014  *  RT-WMP is free software; you can  redistribute it and/or  modify it
00015  *  under the terms of the GNU General Public License  as published by the
00016  *  Free Software Foundation;  either  version 2, or (at  your option) any
00017  *  later version.
00018  *
00019  *  RT-WMP  is distributed  in the  hope  that  it will be   useful, but
00020  *  WITHOUT  ANY  WARRANTY;     without  even the   implied   warranty  of
00021  *  MERCHANTABILITY  or  FITNESS FOR A  PARTICULAR PURPOSE.    See the GNU
00022  *  General Public License for more details.
00023  *
00024  *  You should have received  a  copy of  the  GNU General Public  License
00025  *  distributed with RT-WMP;  see file COPYING.   If not,  write to the
00026  *  Free Software  Foundation,  59 Temple Place  -  Suite 330,  Boston, MA
00027  *  02111-1307, USA.
00028  *
00029  *  As a  special exception, if you  link this  unit  with other  files to
00030  *  produce an   executable,   this unit  does  not  by  itself cause  the
00031  *  resulting executable to be covered by the  GNU General Public License.
00032  *  This exception does  not however invalidate  any other reasons why the
00033  *  executable file might be covered by the GNU Public License.
00034  *
00035  *----------------------------------------------------------------------*/
00036 
00037 
00038 
00039 #ifndef GLOBAL_H_
00040 #define GLOBAL_H_
00041 #include "config/compiler.h"
00042 #include "definitions.h"
00043 
00044 extern Status status;
00045 
00046 #define mBits(x,m) ((x)&(m))
00047 #define mBitsExcept(x,m,be) (((x)&(m))& ~(be))
00048 #define mTestBits(x,m,b) (mBits(x,m)==(b)))
00049 #define mTestBitsExcept(x,m,b,be) (mBitsExcept(x,m,be)==(b))
00050 
00051 #define mBitsOn(lvx,by) ((lvx)|=(by))
00052 #define mBitsOnExcept(lvx,by,be) ((lvx)|=(by)&~(be))
00053 #define mBitsOff(lvx,bn) ((lvx)&= ~(bn))
00054 #define mBitsOffExcept(lvx,bn,be) ((lvx)&= ~((bn)&~(be)))
00055 #define mBitsToggle(lvx,b) ((lvx)^= (b))
00056 #define mBitsToggleExcept(lvx,b,be) ((lvx)^= ((b)&~(be)))
00057 
00058 #define mBitsOnOff(lvx,by,bn) {mBitsOff(lvx,bn);mBitsOn(lvx,by);}
00059 #define mBitsOnOffExcept(lvx,by,bn,be) {mBitsOffExcept(lvx,bn,be);mBitsOnExcept(lvx,by,be);}
00060 
00061 #define mBitsSet(x,n) mBitsOn(x, (int) (1 << n) )
00062 #define mBitsUnset(x,n) mBitsOff(x, (int) (1 << n) )
00063 #define mBitsTogg(x,n) mBitsToggle(x, (int) (1 << n) )
00064 
00065 #define mBitsIsSet(x,n) mBits(x, (int) (1 << n) )
00066 
00067 
00068 #endif /*GLOBAL_H_*/
00069 


ros_rt_wmp
Author(s): Danilo Tardioli, dantard@unizar.es
autogenerated on Fri Jan 3 2014 12:07:54