There is certainly no reason to #define TI_ZN to two different values (unless there are conditional tests to choose one setting over another based on the compilation environment) unless you're trying to confuse someone reading your source code.
Sometimes it makes sense when defining masks for bit fields or defining various parts of a value that contains bit fields to make it easier to understand the individual fields being set. For example you might find something like:
on some systems in <sys/stat.h>.
This User Gave Thanks to Don Cragun For This Post:
Hi all,
I'm looking to cover a corner case for an upcoming test cycle. Is there a way to boot a RedHat Advanced Server 4 (update 3) installed on a Power PC machine to use a 32 bit kernel? This would be similar to what is done here -> https://www.unix.com/aix/26204-aix-platform.html
I've done... (0 Replies)
Hi.
I need to migrate the whole unix environment from a Unix mp-ras 32 bit to a Linux Suse 64 bit.
1) can i use cpio to copy the data?
2) can i just copy the users from unix to linux or do i have to create them by hand
3) are there any other concerns i should worry about?
thanx (1 Reply)
Hi,
Here is the issue. From the program snippet I have Base: 0x1800000000, Size: 0x3FFE7FFFFFFFF which are of 40 and 56 bits. SO I used use bignum to do the math but summing them up I always failed having correct result.
perl interpreter info,
perl, v5.8.8 built for... (0 Replies)
Hello everyone.
I bought a dell laptop (XPS M1330) online which came without a hard drive. There is a Windows Vista Ultimate OEMAct sticker with product key at the bottom case. I checked dell website (here) for this model and it says this model supports both 32 and 64-bit version of Windows... (4 Replies)
Discussion started by: milhan
4 Replies
LEARN ABOUT NETBSD
bitstr_size
BITSTRING(3) BSD Library Functions Manual BITSTRING(3)NAME
bit_alloc, bit_clear, bit_decl, bit_ffc, bit_ffs, bit_nclear, bit_nset, bit_set, bitstr_size, bit_test -- bit-string manipulation macros
SYNOPSIS
#include <bitstring.h>
bitstr_t *
bit_alloc(int nbits);
bit_clear(bit_str name, int bit);
bit_decl(bit_str name, int nbits);
bit_ffc(bit_str name, int nbits, int *value);
bit_ffs(bit_str name, int nbits, int *value);
bit_nclear(bit_str name, int start, int stop);
bit_nset(bit_str name, int start, int stop);
bit_set(bit_str name, int bit);
bitstr_size(int nbits);
bit_test(bit_str name, int bit);
DESCRIPTION
These macros operate on strings of bits.
The macro bit_alloc() returns a pointer of type ``bitstr_t *'' to sufficient space to store nbits bits, or NULL if no space is available.
The macro bit_decl() allocates sufficient space to store nbits bits on the stack.
The macro bitstr_size() returns the number of elements of type bitstr_t necessary to store nbits bits. This is useful for copying bit
strings.
The macros bit_clear() and bit_set() clear or set the zero-based numbered bit bit, in the bit string name.
The bit_nset() and bit_nclear() macros set or clear the zero-based numbered bits from start to stop in the bit string name.
The bit_test() macro evaluates to non-zero if the zero-based numbered bit bit of bit string name is set, and zero otherwise.
The bit_ffs() macro stores in the location referenced by value the zero-based number of the first bit set in the array of nbits bits refer-
enced by name. If no bits are set, the location referenced by value is set to -1.
The macro bit_ffc() stores in the location referenced by value the zero-based number of the first bit not set in the array of nbits bits ref-
erenced by name. If all bits are set, the location referenced by value is set to -1.
The arguments to these macros are evaluated only once and may safely have side effects.
EXAMPLES
#include <limits.h>
#include <bitstring.h>
...
#define LPR_BUSY_BIT 0
#define LPR_FORMAT_BIT 1
#define LPR_DOWNLOAD_BIT 2
...
#define LPR_AVAILABLE_BIT 9
#define LPR_MAX_BITS 10
make_lpr_available()
{
bitstr_t bit_decl(bitlist, LPR_MAX_BITS);
...
bit_nclear(bitlist, 0, LPR_MAX_BITS - 1);
...
if (!bit_test(bitlist, LPR_BUSY_BIT)) {
bit_clear(bitlist, LPR_FORMAT_BIT);
bit_clear(bitlist, LPR_DOWNLOAD_BIT);
bit_set(bitlist, LPR_AVAILABLE_BIT);
}
}
SEE ALSO malloc(3)HISTORY
The bitstring functions first appeared in 4.4BSD.
BSD July 19, 1993 BSD