Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * Copyright (c) 2000, 2002 Silicon Graphics, Inc.  All Rights Reserved.
  3  *
  4  * This program is free software; you can redistribute it and/or modify it
  5  * under the terms of version 2 of the GNU General Public License as
  6  * published by the Free Software Foundation.
  7  *
  8  * This program is distributed in the hope that it would be useful, but
  9  * WITHOUT ANY WARRANTY; without even the implied warranty of
 10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 11  *
 12  * Further, this software is distributed without any warranty that it is
 13  * free of the rightful claim of any third person regarding infringement
 14  * or the like.  Any license provided herein, whether implied or
 15  * otherwise, applies only to this software file.  Patent licenses, if
 16  * any, provided herein do not apply to combinations of this program with
 17  * other software, or any other product whatsoever.
 18  *
 19  * You should have received a copy of the GNU General Public License along
 20  * with this program; if not, write the Free Software Foundation, Inc., 59
 21  * Temple Place - Suite 330, Boston MA 02111-1307, USA.
 22  *
 23  * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
 24  * Mountain View, CA  94043, or:
 25  *
 26  * http://www.sgi.com
 27  *
 28  * For further information regarding this notice, see:
 29  *
 30  * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
 31  */
 32 #ifndef __XFS_BIT_H__
 33 #define __XFS_BIT_H__
 34 
 35 /*
 36  * XFS bit manipulation routines.
 37  */
 38 
 39 /*
 40  * masks with n high/low bits set, 32-bit values & 64-bit values
 41  */
 42 #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_MASK32HI)
 43 __uint32_t xfs_mask32hi(int n);
 44 #define XFS_MASK32HI(n)         xfs_mask32hi(n)
 45 #else
 46 #define XFS_MASK32HI(n)         ((__uint32_t)-1 << (32 - (n)))
 47 #endif
 48 #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_MASK64HI)
 49 __uint64_t xfs_mask64hi(int n);
 50 #define XFS_MASK64HI(n)         xfs_mask64hi(n)
 51 #else
 52 #define XFS_MASK64HI(n)         ((__uint64_t)-1 << (64 - (n)))
 53 #endif
 54 #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_MASK32LO)
 55 __uint32_t xfs_mask32lo(int n);
 56 #define XFS_MASK32LO(n)         xfs_mask32lo(n)
 57 #else
 58 #define XFS_MASK32LO(n)         (((__uint32_t)1 << (n)) - 1)
 59 #endif
 60 #if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_MASK64LO)
 61 __uint64_t xfs_mask64lo(int n);
 62 #define XFS_MASK64LO(n)         xfs_mask64lo(n)
 63 #else
 64 #define XFS_MASK64LO(n)         (((__uint64_t)1 << (n)) - 1)
 65 #endif
 66 
 67 /* Get high bit set out of 32-bit argument, -1 if none set */
 68 extern int xfs_highbit32(__uint32_t v);
 69 
 70 /* Get low bit set out of 64-bit argument, -1 if none set */
 71 extern int xfs_lowbit64(__uint64_t v);
 72 
 73 /* Get high bit set out of 64-bit argument, -1 if none set */
 74 extern int xfs_highbit64(__uint64_t);
 75 
 76 /* Count set bits in map starting with start_bit */
 77 extern int xfs_count_bits(uint *map, uint size, uint start_bit);
 78 
 79 /* Count continuous one bits in map starting with start_bit */
 80 extern int xfs_contig_bits(uint *map, uint size, uint start_bit);
 81 
 82 /* Find next set bit in map */
 83 extern int xfs_next_bit(uint *map, uint size, uint start_bit);
 84 
 85 #endif  /* __XFS_BIT_H__ */
 86 
  This page was automatically generated by the LXR engine.