diff options
Diffstat (limited to 'src/lib/libssl/src/doc/crypto/BIO_new.pod')
-rw-r--r-- | src/lib/libssl/src/doc/crypto/BIO_new.pod | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/lib/libssl/src/doc/crypto/BIO_new.pod b/src/lib/libssl/src/doc/crypto/BIO_new.pod new file mode 100644 index 0000000000..2a245fc8de --- /dev/null +++ b/src/lib/libssl/src/doc/crypto/BIO_new.pod | |||
@@ -0,0 +1,65 @@ | |||
1 | =pod | ||
2 | |||
3 | =head1 NAME | ||
4 | |||
5 | BIO_new, BIO_set, BIO_free, BIO_vfree, BIO_free_all - BIO allocation and freeing functions | ||
6 | |||
7 | =head1 SYNOPSIS | ||
8 | |||
9 | #include <openssl/bio.h> | ||
10 | |||
11 | BIO * BIO_new(BIO_METHOD *type); | ||
12 | int BIO_set(BIO *a,BIO_METHOD *type); | ||
13 | int BIO_free(BIO *a); | ||
14 | void BIO_vfree(BIO *a); | ||
15 | void BIO_free_all(BIO *a); | ||
16 | |||
17 | =head1 DESCRIPTION | ||
18 | |||
19 | The BIO_new() function returns a new BIO using method B<type>. | ||
20 | |||
21 | BIO_set() sets the method of an already existing BIO. | ||
22 | |||
23 | BIO_free() frees up a single BIO, BIO_vfree() also frees up a single BIO | ||
24 | but it does not return a value. Calling BIO_free() may also have some effect | ||
25 | on the underlying I/O structure, for example it may close the file being | ||
26 | referred to under certain circumstances. For more details see the individual | ||
27 | BIO_METHOD descriptions. | ||
28 | |||
29 | BIO_free_all() frees up an entire BIO chain, it does not halt if an error | ||
30 | occurs freeing up an individual BIO in the chain. | ||
31 | |||
32 | =head1 RETURN VALUES | ||
33 | |||
34 | BIO_new() returns a newly created BIO or NULL if the call fails. | ||
35 | |||
36 | BIO_set(), BIO_free() return 1 for success and 0 for failure. | ||
37 | |||
38 | BIO_free_all() and BIO_vfree() do not return values. | ||
39 | |||
40 | =head1 NOTES | ||
41 | |||
42 | Some BIOs (such as memory BIOs) can be used immediately after calling | ||
43 | BIO_new(). Others (such as file BIOs) need some additional initialization, | ||
44 | and frequently a utility function exists to create and initialize such BIOs. | ||
45 | |||
46 | If BIO_free() is called on a BIO chain it will only free one BIO resulting | ||
47 | in a memory leak. | ||
48 | |||
49 | Calling BIO_free_all() a single BIO has the same effect as calling BIO_free() | ||
50 | on it other than the discarded return value. | ||
51 | |||
52 | Normally the B<type> argument is supplied by a function which returns a | ||
53 | pointer to a BIO_METHOD. There is a naming convention for such functions: | ||
54 | a source/sink BIO is normally called BIO_s_*() and a filter BIO | ||
55 | BIO_f_*(); | ||
56 | |||
57 | =head1 EXAMPLE | ||
58 | |||
59 | Create a memory BIO: | ||
60 | |||
61 | BIO *mem = BIO_new(BIO_s_mem()); | ||
62 | |||
63 | =head1 SEE ALSO | ||
64 | |||
65 | TBA | ||