Mercurial > projects > libpws
diff pws_init.3.xml @ 1:e1309515d111
Add README file and manpages
author | Guido Berhoerster <guido+libpws@berhoerster.name> |
---|---|
date | Wed, 25 Mar 2015 17:10:23 +0100 |
parents | |
children | b3fc9f7e2b43 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pws_init.3.xml Wed Mar 25 17:10:23 2015 +0100 @@ -0,0 +1,159 @@ +<?xml version="1.0"?> +<!-- + +Copyright (C) 2015 Guido Berhoerster <guido+libpws@berhoerster.name> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--> +<refentry xmlns="http://docbook.org/ns/docbook" xml:lang="en"> + <info> + <author> + <personname> + <firstname>Guido</firstname> + <surname>Berhoerster</surname> + </personname> + <email>guido+libpws@berhoerster.name</email> + <personblurb/> + </author> + <date>21 March, 2015</date> + </info> + <refmeta> + <refentrytitle>libpws</refentrytitle> + <manvolnum>3</manvolnum> + <refmiscinfo class="source"/> + <refmiscinfo class="version"/> + <refmiscinfo class="manual">Library Functions</refmiscinfo> + </refmeta> + <refnamediv> + <refname>pws_init</refname> + <refname>pws_finalize</refname> + <refname>pws_set_alloc_functions</refname> + <refname>pws_generate_uuid</refname> + <refpurpose>initalize and deinitialize libpws</refpurpose> + </refnamediv> + <refsynopsisdiv> + <cmdsynopsis> + <command>cc</command> + <arg choice="opt" rep="repeat"> + <option>flag</option> + </arg> + <arg choice="plain" rep="repeat"> + <option>file</option> + </arg> + <arg choice="plain"> + <option>-lpws</option> + </arg> + <arg choice="plain"> + <option>-lnettle</option> + </arg> + <arg choice="opt" rep="repeat"> + <option>library</option> + </arg> + </cmdsynopsis> + <funcsynopsis> + <funcsynopsisinfo> +#include <pws.h> +</funcsynopsisinfo> + <funcprototype> + <funcdef>int <function>pws_init</function></funcdef> + <void/> + </funcprototype> + <funcprototype> + <funcdef>void <function>pws_finalize</function></funcdef> + <void/> + </funcprototype> + <funcprototype> + <funcdef>void <function>pws_set_alloc_functions</function></funcdef> + <paramdef>void + *<funcparams>*<replaceable>alloc_function</replaceable></funcparams><funcparams>size_t</funcparams></paramdef> + <paramdef>void + *<funcparams>*<replaceable>realloc_function</replaceable></funcparams><funcparams>void *, size_t</funcparams></paramdef> + <paramdef>void <funcparams>*<replaceable>free_function</replaceable></funcparams><funcparams>void + *, size_t</funcparams></paramdef> + <paramdef>void + *<funcparams>*<replaceable>secure_alloc_function</replaceable></funcparams><funcparams>size_t</funcparams></paramdef> + <paramdef>void + *<funcparams>*<replaceable>secure_realloc_function</replaceable></funcparams><funcparams>void *, size_t</funcparams></paramdef> + <paramdef>void <funcparams>*<replaceable>secure_free_function</replaceable></funcparams><funcparams>void + *, size_t</funcparams></paramdef> + </funcprototype> + <funcprototype> + <funcdef>int <function>pws_generate_uuid</function></funcdef> + <paramdef>unsigned char [static PWS3_UUID_SIZE]</paramdef> + </funcprototype> + </funcsynopsis> + <synopsis> +<constant>LIBPWS_VERSION_MAJOR</constant> + +<constant>LIBPWS_VERSION_MINOR</constant> + +<constant>LIBPWS_VERSION_MICRO</constant> + </synopsis> + </refsynopsisdiv> + <refsect1> + <title>Description</title> + <para>The <function>pws_init()</function> function initializes + <citerefentry><refentrytitle>libpws</refentrytitle><manvolnum>3</manvolnum></citerefentry> + and must be called before any other function from this library.</para> + <para>The <function>pws_finalize()</function> function deinitializes + <citerefentry><refentrytitle>libpws</refentrytitle><manvolnum>3</manvolnum></citerefentry> + after which no other function from this library may be called.</para> + <para>The <function>pws_set_alloc_functions()</function> function specifies + the functions which are used by + <citerefentry><refentrytitle>libpws</refentrytitle><manvolnum>3</manvolnum></citerefentry> + to allocate, reallocate or free memory allowing for the use of custom + allocators. <function>pws_secure_alloc</function>, + <function>pws_secure_realloc</function>, and + <function>pws_secure_free</function> are used to allocate, reallocate, and + free memory containing potentially sensitive information such as passwords, + this e.g. allows for wrapping the acutal allocation using operating system + specific facilities to prevent memory from being paged to the swap area or + to overwrite memory before deallocating it. Any argument set to + <constant>NULL</constant> will result in the default function being used, + these are <function>malloc</function>, <function>realloc</function>, and a + wrapper around <function>free</function>. This function must be called + after <function>pws_init</function> and before calling any other function + from this library. It is not reentrant.</para> + <para>The <function>pws_uuid_create()</function> function generates a new + random UUID following RFC4122 and places it in the array passed to + it.</para> + <para>The macros <constant>LIBPWS_VERSION_MAJOR</constant>, + <constant>LIBPWS_VERSION_MINOR</constant>, and + <constant>LIBPWS_VERSION_MICRO</constant> can be used to check the major, + minor, and micro version of the library.</para> + </refsect1> + <refsect1> + <title>Return Values</title> + <para>The <function>pws_init()</function> function returns + <returnvalue>0</returnvalue> if the library was initialized successfully and + <returnvalue>-1</returnvalue> on failure.</para> + <para>The <function>pws_generate_uuid()</function> returns + <returnvalue>0</returnvalue> if a new random UUID has been generated and + <returnvalue>-1</returnvalue> on failure.</para> + </refsect1> + <refsect1> + <title>See Also</title> + <para><citerefentry><refentrytitle>libpws</refentrytitle> + <manvolnum>3</manvolnum></citerefentry>, + <citerefentry><refentrytitle>pws3_file_create</refentrytitle> + <manvolnum>3</manvolnum></citerefentry>, RFC4122</para> + </refsect1> +</refentry>