~noskcaj/ubuntu/saucy/xinetd/2.3.15

« back to all changes in this revision

Viewing changes to xinetd/mask.h

  • Committer: Bazaar Package Importer
  • Author(s): Thomas Seyrat
  • Date: 2004-04-18 13:33:57 UTC
  • Revision ID: james.westby@ubuntu.com-20040418133357-czeqeju37433xvdd
Tags: upstream-2.3.13
ImportĀ upstreamĀ versionĀ 2.3.13

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * (c) Copyright 1992 by Panagiotis Tsirigotis
 
3
 * (c) Sections Copyright 1998-2001 by Rob Braun
 
4
 * All rights reserved.  The file named COPYRIGHT specifies the terms 
 
5
 * and conditions for redistribution.
 
6
 */
 
7
 
 
8
#ifndef MASK_H
 
9
#define MASK_H
 
10
 
 
11
/*
 
12
 * $Id: mask.h,v 1.1.1.1 2003/02/19 17:29:28 bbraun Exp $
 
13
 */
 
14
 
 
15
#include "config.h"
 
16
#ifdef HAVE_STDINT_H
 
17
#include <stdint.h>
 
18
#endif
 
19
 
 
20
/*
 
21
 * Macros about masks - Note: 64 bits is needed because of attr.h
 
22
 */
 
23
 
 
24
typedef uint64_t mask_t;
 
25
 
 
26
#define MASK_NULL                   ((mask_t *)0)
 
27
 
 
28
#define XMASK( v )                  ( (mask_t)1 << ( (v)-1 ) )
 
29
 
 
30
#define M_CLEAR_ALL( mask )         (mask) = 0
 
31
#define M_ASSIGN( mask1, mask2 )    (mask1) = (mask2)
 
32
#define M_ARE_ALL_CLEAR( mask )     ( (mask) == 0 )
 
33
#define M_SET( mask, v )            (mask) |= XMASK(v)
 
34
#define M_CLEAR( mask, v )          (mask) &= ~XMASK(v)
 
35
#define M_IS_SET( mask, v )         ( (mask) & XMASK(v) )
 
36
#define M_IS_CLEAR( mask, v )       ( ! M_IS_SET( mask, v ) )
 
37
 
 
38
#define M_AND( mres, m1, m2 )       ( (mres) = (m1) & (m2) )
 
39
#define M_OR( mres, m1, m2 )        ( (mres) = (m1) | (m2) )
 
40
#define M_XOR( mres, m1, m2 )       ( (mres) = (m1) ^ (m2) )
 
41
 
 
42
#endif   /* MASK_H */