~andersk/ubuntu/oneiric/openssl/spurious-reboot

« back to all changes in this revision

Viewing changes to doc/crypto/BN_set_bit.pod

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Martin
  • Date: 2004-05-24 17:02:29 UTC
  • Revision ID: james.westby@ubuntu.com-20040524170229-ixlo08bbbly0xied
Tags: upstream-0.9.7d
ImportĀ upstreamĀ versionĀ 0.9.7d

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
=pod
 
2
 
 
3
=head1 NAME
 
4
 
 
5
BN_set_bit, BN_clear_bit, BN_is_bit_set, BN_mask_bits, BN_lshift,
 
6
BN_lshift1, BN_rshift, BN_rshift1 - bit operations on BIGNUMs
 
7
 
 
8
=head1 SYNOPSIS
 
9
 
 
10
 #include <openssl/bn.h>
 
11
 
 
12
 int BN_set_bit(BIGNUM *a, int n);
 
13
 int BN_clear_bit(BIGNUM *a, int n);
 
14
 
 
15
 int BN_is_bit_set(const BIGNUM *a, int n);
 
16
 
 
17
 int BN_mask_bits(BIGNUM *a, int n);
 
18
 
 
19
 int BN_lshift(BIGNUM *r, const BIGNUM *a, int n);
 
20
 int BN_lshift1(BIGNUM *r, BIGNUM *a);
 
21
 
 
22
 int BN_rshift(BIGNUM *r, BIGNUM *a, int n);
 
23
 int BN_rshift1(BIGNUM *r, BIGNUM *a);
 
24
 
 
25
=head1 DESCRIPTION
 
26
 
 
27
BN_set_bit() sets bit B<n> in B<a> to 1 (C<a|=(1E<lt>E<lt>n)>). The
 
28
number is expanded if necessary.
 
29
 
 
30
BN_clear_bit() sets bit B<n> in B<a> to 0 (C<a&=~(1E<lt>E<lt>n)>). An
 
31
error occurs if B<a> is shorter than B<n> bits.
 
32
 
 
33
BN_is_bit_set() tests if bit B<n> in B<a> is set.
 
34
 
 
35
BN_mask_bits() truncates B<a> to an B<n> bit number
 
36
(C<a&=~((~0)E<gt>E<gt>n)>).  An error occurs if B<a> already is
 
37
shorter than B<n> bits.
 
38
 
 
39
BN_lshift() shifts B<a> left by B<n> bits and places the result in
 
40
B<r> (C<r=a*2^n>). BN_lshift1() shifts B<a> left by one and places
 
41
the result in B<r> (C<r=2*a>).
 
42
 
 
43
BN_rshift() shifts B<a> right by B<n> bits and places the result in
 
44
B<r> (C<r=a/2^n>). BN_rshift1() shifts B<a> right by one and places
 
45
the result in B<r> (C<r=a/2>).
 
46
 
 
47
For the shift functions, B<r> and B<a> may be the same variable.
 
48
 
 
49
=head1 RETURN VALUES
 
50
 
 
51
BN_is_bit_set() returns 1 if the bit is set, 0 otherwise.
 
52
 
 
53
All other functions return 1 for success, 0 on error. The error codes
 
54
can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
 
55
 
 
56
=head1 SEE ALSO
 
57
 
 
58
L<bn(3)|bn(3)>, L<BN_num_bytes(3)|BN_num_bytes(3)>, L<BN_add(3)|BN_add(3)>
 
59
 
 
60
=head1 HISTORY
 
61
 
 
62
BN_set_bit(), BN_clear_bit(), BN_is_bit_set(), BN_mask_bits(),
 
63
BN_lshift(), BN_lshift1(), BN_rshift(), and BN_rshift1() are available
 
64
in all versions of SSLeay and OpenSSL.
 
65
 
 
66
=cut