Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

clr(9) [netbsd man page]

SET(9)							   BSD Kernel Developer's Manual						    SET(9)

NAME
SET -- primitive bit macros SYNOPSIS
#include <sys/types.h> void SET(val, x); void ISSET(val, x); void CLR(val, x); DESCRIPTION
These macros define three standard bit-operations: 1. SET() sets the bit x in val; 2. CLR() clears the bit x in val; and 3. ISSET() returns 1 if the bit x is set in val. SEE ALSO
bits(3) BUGS
The rationale is to provide clarity in the source code, but arguably these operations are clear enough without the use of the macros. BSD
April 13, 2010 BSD

Check Out this Related Man Page

BITS(3) 						   BSD Library Functions Manual 						   BITS(3)

NAME
__BIT, __BITS, __SHIFTIN, __SHIFTOUT, __SHIFTOUT_MASK -- macros for preparing bitmasks and operating on bit fields SYNOPSIS
#include <sys/param.h> #include <sys/cdefs.h> uintmax_t __BIT(n); uintmax_t __BITS(m, n); __SHIFTIN(v, mask); __SHIFTOUT(v, mask); __SHIFTOUT_MASK(mask); DESCRIPTION
These macros prepare bitmasks, extract bitfields from words, and insert bitfields into words. A ``bitfield'' is a span of consecutive bits defined by a bitmask, where 1s select the bits in the bitfield. Use __BIT() and __BITS() to define bitmasks: __BIT(n) Return a bitmask with bit n set, where the least significant bit is bit 0. __BITS(m, n) Return a bitmask with bits m through n, inclusive, set. It does not matter whether m > n or m <= n. The least significant bit is bit 0. __SHIFTIN(), __SHIFTOUT(), and __SHIFTOUT_MASK() help read and write bitfields from words: __SHIFTIN(v, mask) Left-shift bits v into the bitfield defined by mask, and return them. No side-effects. __SHIFTOUT(v, mask) Extract and return the bitfield selected by mask from v, right-shifting the bits so that the rightmost selected bit is at bit 0. No side-effects. __SHIFTOUT_MASK(mask) Right-shift the bits in mask so that the rightmost non-zero bit is at bit 0. This is useful for finding the greatest unsigned value that a bitfield can hold. No side-effects. Note that __SHIFTOUT_MASK(m) = __SHIFTOUT(m, m). EXAMPLES
The following example demonstrates basic usage of the bits macros: uint32_t bits, mask, val; bits = __BITS(2, 3); /* 00001100 */ mask = __BIT(2) | __BIT(3); /* 00001100 */ val = __SHIFTIN(0x03, mask); /* 00001100 */ val = __SHIFTOUT(0xf, mask); /* 00000011 */ SEE ALSO
bitops(3), cdefs(3) HISTORY
The bits macros first appeared in atw(4), with different names and implementation. In their current form these macros appeared in NetBSD 4.0. AUTHORS
The bits macros were written by David Young <dyoung@NetBSD.org>. Matt Thomas <matt@NetBSD.org> suggested important improvements to the implementation, and contributed the macro names SHIFTIN() and SHIFTOUT(). BUGS
__BIT() and __BITS() can only express 32-bit bitmasks. BSD
October 17, 2012 BSD
Man Page

3 More Discussions You Might Find Interesting

1. Solaris

clrs create error, sun cluster 3.2

on 2 node x86-cluster, I 'm trying to configure Mysql with failover zfs, I could create resource group and logicalhostname for mysql but resource creation fails, probably because the same Zpool was used for creating another HAstorageplus storage resource. the zfs which mysql is going to use... (0 Replies)
Discussion started by: upengan78
0 Replies

2. Shell Programming and Scripting

Clear Screen Command for BASH shell

I am unable to use clear or cls command on bash shell. I have recently installed Cygwin and am using that for practicing unix commands. I see that I can use Ctrl + L to clear the screen. I created an alias in my .bashrc to do the same as alias cls='^L' This is how i defined other aliases ... (4 Replies)
Discussion started by: erora
4 Replies

3. Shell Programming and Scripting

TCL scripting: errorInfo=integer value too large to represent

The username is of the format : 123456789110000-1234@something.com With this below TCL procedure, I am trying add first and Sec Id and get third Id. I checked in online compiler and it seems to work and add. However, when I am running this in my lab, I get error as "integer value too large to... (1 Reply)
Discussion started by: Shaibal_bp
1 Replies