preferred over version 3 because SHA-1 is thought to be more secure
than MD5.
</para></entry>
</row>
</tbody>
</tgroup>
</table>
<table id="uuid-ossp-constants">
<title>Functions Returning UUID Constants</title>
<tgroup cols="1">
<thead>
<row>
<entry role="func_table_entry"><para role="func_signature">
Function
</para>
<para>
Description
</para></entry>
</row>
</thead>
<tbody>
<row>
<entry role="func_table_entry"><para role="func_signature">
<function>uuid_nil</function> ()
<returnvalue>uuid</returnvalue>
</para>
<para>
Returns a <quote>nil</quote> UUID constant, which does not occur as a
real UUID.
</para></entry>
</row>
<row>
<entry role="func_table_entry"><para role="func_signature">
<function>uuid_ns_dns</function> ()
<returnvalue>uuid</returnvalue>
</para>
<para>
Returns a constant designating the DNS namespace for UUIDs.
</para></entry>
</row>
<row>
<entry role="func_table_entry"><para role="func_signature">
<function>uuid_ns_url</function> ()
<returnvalue>uuid</returnvalue>
</para>
<para>
Returns a constant designating the URL namespace for UUIDs.
</para></entry>
</row>
<row>
<entry role="func_table_entry"><para role="func_signature">
<function>uuid_ns_oid</function> ()
<returnvalue>uuid</returnvalue>
</para>
<para>
Returns a constant designating the ISO object identifier (OID) namespace for
UUIDs. (This pertains to ASN.1 OIDs, which are unrelated to the OIDs
used in <productname>PostgreSQL</productname>.)
</para></entry>
</row>
<row>
<entry role="func_table_entry"><para role="func_signature">
<function>uuid_ns_x500</function> ()
<returnvalue>uuid</returnvalue>
</para>
<para>
Returns a constant designating the X.500 distinguished name (DN)
namespace for UUIDs.
</para></entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="uuid-ossp-building">
<title>Building <filename>uuid-ossp</filename></title>
<para>
Historically this module depended on the OSSP UUID library, which accounts
for the module's name. While the OSSP UUID library can still be found
at <ulink url="http://www.ossp.org/pkg/lib/uuid/"></ulink>, it is not well
maintained, and is becoming increasingly difficult to port to newer
platforms. <filename>uuid-ossp</filename> can now be built without the OSSP
library on some platforms. On FreeBSD and some other BSD-derived
platforms, suitable UUID creation functions are included in the
core <filename>libc</filename> library. On Linux, macOS, and some other
platforms, suitable functions are provided in the <filename>libuuid</filename>
library, which originally came from the <literal>e2fsprogs</literal> project
(though on modern Linux it is considered part
of <literal>util-linux-ng</literal>). When invoking <filename>configure</filename>,
specify <option>--with-uuid=bsd</option> to use the BSD functions,
or <option>--with-uuid=e2fs</option> to
use <literal>e2fsprogs</literal>' <filename>libuuid</filename>, or
<option>--with-uuid=ossp</option> to use the OSSP UUID library.
More than one of these libraries might be available on a particular
machine, so <filename>configure</filename> does not automatically choose one.
</para>
</sect2>
<sect2 id="uuid-ossp-author">
<title>Author</title>
<para>
Peter Eisentraut <email>peter_e@gmx.net</email>
</para>
</sect2>
</sect1>