annotate libpws.3.xml @ 8:956e97003bad

Fix size of object to be free'd
author Guido Berhoerster <guido+libpws@berhoerster.name>
date Tue, 30 Jul 2019 14:42:35 +0200
parents e1309515d111
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
1 <?xml version="1.0"?>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
2 <!--
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
3
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
4 Copyright (C) 2015 Guido Berhoerster <guido+libpws@berhoerster.name>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
5
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
6 Permission is hereby granted, free of charge, to any person obtaining
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
7 a copy of this software and associated documentation files (the
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
8 "Software"), to deal in the Software without restriction, including
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
9 without limitation the rights to use, copy, modify, merge, publish,
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
10 distribute, sublicense, and/or sell copies of the Software, and to
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
11 permit persons to whom the Software is furnished to do so, subject to
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
12 the following conditions:
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
13
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
14 The above copyright notice and this permission notice shall be included
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
15 in all copies or substantial portions of the Software.
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
16
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
18 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
20 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
21 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
22 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
23 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
24
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
25 -->
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
26 <refentry xmlns="http://docbook.org/ns/docbook"
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
27 xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
28 <info>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
29 <author>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
30 <personname>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
31 <firstname>Guido</firstname>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
32 <surname>Berhoerster</surname>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
33 </personname>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
34 <email>guido+libpws@berhoerster.name</email>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
35 <personblurb/>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
36 </author>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
37 <date>21 March, 2015</date>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
38 </info>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
39 <refmeta>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
40 <refentrytitle>libpws</refentrytitle>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
41 <manvolnum>3</manvolnum>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
42 <refmiscinfo class="source"/>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
43 <refmiscinfo class="version"/>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
44 <refmiscinfo class="manual">Library Functions</refmiscinfo>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
45 </refmeta>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
46 <refnamediv>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
47 <refname>libpws</refname>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
48 <refpurpose>library for creating and manipulating Password Safe files</refpurpose>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
49 </refnamediv>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
50 <refsynopsisdiv>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
51 <cmdsynopsis>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
52 <command>cc</command>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
53 <arg choice="opt" rep="repeat">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
54 <option>flag</option>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
55 </arg>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
56 <arg choice="plain" rep="repeat">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
57 <option>file</option>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
58 </arg>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
59 <arg choice="plain">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
60 <option>-lpws</option>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
61 </arg>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
62 <arg choice="plain">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
63 <option>-lnettle</option>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
64 </arg>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
65 <arg choice="opt" rep="repeat">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
66 <option>library</option>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
67 </arg>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
68 </cmdsynopsis>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
69 <funcsynopsis>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
70 <funcsynopsisinfo>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
71 #include &lt;pws.h&gt;
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
72 </funcsynopsisinfo>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
73 </funcsynopsis>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
74 </refsynopsisdiv>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
75 <refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
76 <title>Description</title>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
77 <para>libpws provides an API for creating, reading, manipulating and
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
78 writing Password Safe files. The Password Safe file format is intended
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
79 for the platform-independent secure storage of passwords and associated
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
80 metadata and offers protection from unauthorized access to the file by
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
81 encrypting it using a key derived from a master password. Its design
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
82 ensures both confidentiality and integrity of its contents.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
83 <para>libpws currently supports version 3 of the Password Safe file
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
84 format.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
85 <para>The <literal>&lt;<filename
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
86 class="header">pws.h</filename>&gt;</literal> header provides type and
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
87 function declarations for all library services.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
88 <para>With the exception of <function>pws_set_alloc_functions</function>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
89 all functions are reentrant. Functions operating on a Password Safe file
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
90 structure, a header field structure, a record field structure, and a record
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
91 structure provide no locking. A multithreaded application must either
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
92 provide its own synchronization mechanisms or restrict operations on any of
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
93 the above structures to a single thread.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
94 </refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
95 <refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
96 <title>Interfaces</title>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
97 <para>The static library <filename class="libraryfile">libpws.a</filename>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
98 provides following the public interfaces:
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
99 <simplelist type="vert" columns="2">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
100 <member><function>pws_init</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
101 <member><function>pws_finalize</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
102 <member><function>pws_set_alloc_functions</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
103 <member><function>pws_generate_uuid</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
104 <member><function>pws3_field_create</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
105 <member><function>pws3_field_destroy</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
106 <member><function>pws3_field_is_header</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
107 <member><function>pws3_field_get_type</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
108 <member><function>pws3_field_get_data_type</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
109 <member><function>pws3_field_set_uuid</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
110 <member><function>pws3_field_set_text</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
111 <member><function>pws3_field_set_time</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
112 <member><function>pws3_field_set_uint8</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
113 <member><function>pws3_field_set_uint16</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
114 <member><function>pws3_field_set_uint32</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
115 <member><function>pws3_field_set_bytes</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
116 <member><function>pws3_field_get_uuid</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
117 <member><function>pws3_field_get_text</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
118 <member><function>pws3_field_get_time</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
119 <member><function>pws3_field_get_uint8</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
120 <member><function>pws3_field_get_uint16</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
121 <member><function>pws3_field_get_uint32</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
122 <member><function>pws3_field_get_bytes</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
123 <member><function>pws3_file_create</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
124 <member><function>pws3_file_destroy</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
125 <member><function>pws3_file_get_error_code</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
126 <member><function>pws3_file_get_error_message</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
127 <member><function>pws3_file_read_mem</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
128 <member><function>pws3_file_read_stream</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
129 <member><function>pws3_file_write_mem</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
130 <member><function>pws3_file_write_stream</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
131 <member><function>pws3_file_set_header_field</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
132 <member><function>pws3_file_get_header_field</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
133 <member><function>pws3_file_remove_header_field</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
134 <member><function>pws3_file_insert_empty_group</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
135 <member><function>pws3_file_get_empty_group</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
136 <member><function>pws3_file_remove_empty_group</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
137 <member><function>pws3_file_first_empty_group</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
138 <member><function>pws3_file_last_empty_group</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
139 <member><function>pws3_file_next_empty_group</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
140 <member><function>pws3_file_prev_empty_group</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
141 <member><function>pws3_file_insert_record</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
142 <member><function>pws3_file_get_record</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
143 <member><function>pws3_file_remove_record</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
144 <member><function>pws3_file_first_record</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
145 <member><function>pws3_file_last_record</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
146 <member><function>pws3_file_next_record</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
147 <member><function>pws3_file_prev_record</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
148 </simplelist></para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
149 <para>It defines the following C preprocessor macros which are documented
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
150 in the
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
151 <citerefentry><refentrytitle>pws_init</refentrytitle><manvolnum>3</manvolnum></citerefentry>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
152 manual page:
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
153 <simplelist type="vert">
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
154 <member><function>LIBPWS_VERSION_MAJOR</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
155 <member><function>LIBPWS_VERSION_MINOR</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
156 <member><function>LIBPWS_VERSION_MICRO</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
157 <member><function>PWS3_VERSION</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
158 <member><function>PWS3_MAX_FIELD_SIZE</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
159 <member><function>PWS3_MAX_PASSWORD_LEN</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
160 <member><function>PWS3_UUID_SIZE</function></member>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
161 </simplelist></para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
162 </refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
163 <refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
164 <title>Types</title>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
165 <para>libpws provides the following data structures:
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
166 <variablelist>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
167 <varlistentry>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
168 <term>struct pws3_file</term>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
169 <listitem>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
170 <para>Opaque data structure representing a Password Safe version 3
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
171 file.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
172 </listitem>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
173 </varlistentry>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
174 <varlistentry>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
175 <term>struct pws3_record</term>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
176 <listitem>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
177 <para>Opaque data structure representing a Password Safe version 3
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
178 record.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
179 </listitem>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
180 </varlistentry>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
181 <varlistentry>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
182 <term>struct pws3_field</term>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
183 <listitem>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
184 <para>Opaque data structure representing a Password Safe version 3
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
185 typed field belonging to the header or a record, depending on the
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
186 type it may hold a UUID, string, time, 8-bit, 16-bit, or 32-bit
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
187 wide unsigned integer or raw data.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
188 </listitem>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
189 </varlistentry>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
190 </variablelist></para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
191 </refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
192 <refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
193 <title>Security</title>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
194 <para>The aforementioned protection of confidentiality and integrity of
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
195 the file contents only applies to the stored file. When reading a Password
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
196 Safe file using libpws, the file contents are decrypted and stored in
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
197 memory where they might be compromised, e.g. by a malicious application or
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
198 a privileged user. Furthermore, parts of the process memory may be paged to
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
199 the swap area by the operating system.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
200 <para>libpws provides hooks for allocating and freeing memory used to
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
201 store sensitive information which may be used to mitigate such issues
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
202 using operating system specific facilities.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
203 <para>libpws has not been formally audited, use at your own risk.</para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
204 </refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
205 <refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
206 <title>See Also</title>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
207 <para><citerefentry><refentrytitle>pws_init</refentrytitle>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
208 <manvolnum>3</manvolnum></citerefentry>,
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
209 <citerefentry><refentrytitle>pws3_file_create</refentrytitle>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
210 <manvolnum>3</manvolnum></citerefentry>, <link
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
211 xlink:href="https://pwsafe.org/"/></para>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
212 </refsect1>
e1309515d111 Add README file and manpages
Guido Berhoerster <guido+libpws@berhoerster.name>
parents:
diff changeset
213 </refentry>