summaryrefslogtreecommitdiff
path: root/sal/inc/rtl/uuid.h
diff options
context:
space:
mode:
Diffstat (limited to 'sal/inc/rtl/uuid.h')
-rw-r--r--sal/inc/rtl/uuid.h182
1 files changed, 0 insertions, 182 deletions
diff --git a/sal/inc/rtl/uuid.h b/sal/inc/rtl/uuid.h
deleted file mode 100644
index 31d50968110a..000000000000
--- a/sal/inc/rtl/uuid.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#ifndef _RTL_UUID_H_
-#define _RTL_UUID_H_
-
-#include "sal/config.h"
-
-#include "rtl/string.h"
-#include "sal/saldllapi.h"
-#include "sal/types.h"
-
-/**
- @file
- Specification (from draft-leach-uuids-guids-01.txt )
-
- <p>
- A UUID is an identifier that is unique across both space and time,
- with respect to the space of all UUIDs. To be precise, the UUID
- consists of a finite bit space. Thus, collision cannot be avoided in
- principle. A UUID can be used for multiple purposes, from tagging objects
- with an extremely short lifetime, to reliably identifying very persistent
- objects across a network.
-
- <p>
- The generation of UUIDs does not require that a registration
- authority be contacted for each identifier. Instead, Version 4 UUIDs are
- generated from (pseudo unique) sequences of (pseudo) random bits.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** Generates a new Version 4 (random number based) UUID (Universally Unique
- IDentifier).
-
- @param pTargetUUID pointer to at least 16 bytes of memory. After the call it contains
- the newly generated uuid in network byte order.
- @param pPredecessorUUID ignored (was used when this function returned
- Version 1 instead of Version 4 UUIDs).
- @param bUseEthernetAddress ignored (was used when this function returned
- Version 1 instead of Version 4 UUIDs).
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_createUuid(
- sal_uInt8 *pTargetUUID,
- const sal_uInt8 *pPredecessorUUID,
- sal_Bool bUseEthernetAddress );
-
-/** Compare two UUID's lexically
-
- <p>
- Note: lexical ordering is not temporal ordering!
- <p>
- Note: For equalnesschecking, a memcmp(pUUID1,pUUID2,16) is more efficient
-
- @return
- <ul>
- <li>-1 u1 is lexically before u2
- <li>0 u1 is equal to u2
- <li>1 u1 is lexically after u2
- </ul>
-
- */
-SAL_DLLPUBLIC sal_Int32 SAL_CALL rtl_compareUuid(
- const sal_uInt8 *pUUID1 , const sal_uInt8 *pUUID2 );
-
-/** Creates named UUIDs.
-
- <p>
- The version 3 UUID is meant for generating UUIDs from <em>names</em> that
- are drawn from, and unique within, some <em>name space</em>. Some examples
- of names (and, implicitly, name spaces) might be DNS names, URLs, ISO
- Object IDs (OIDs), reserved words in a programming language, or X.500
- Distinguished Names (DNs); thus, the concept of name and name space
- should be broadly construed, and not limited to textual names.
-
- <p>
- The requirements for such UUIDs are as follows:
-
- <ul>
- <li> The UUIDs generated at different times from the same name in the
- same namespace MUST be equal
-
- <li> The UUIDs generated from two different names in the same namespace
- should be different (with very high probability)
-
- <li> The UUIDs generated from the same name in two different namespaces
- should be different with (very high probability)
-
- <li> If two UUIDs that were generated from names are equal, then they
- were generated from the same name in the same namespace (with very
- high probability).
- </ul>
-
- @param pTargetUUID pointer to at least 16 bytes of memory. After the call
- it contains the newly generated uuid in network byte order.
- @param pNameSpaceUUID The namespace uuid. Below are some predefined ones,
- but any arbitray uuid can be used as namespace.
-
- @param pName the name
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_createNamedUuid(
- sal_uInt8 *pTargetUUID,
- const sal_uInt8 *pNameSpaceUUID,
- const rtl_String *pName
- );
-
-
-
-/*
- Predefined Namespaces
- (Use them the following way : sal_uInt8 aNsDNS[16]) = RTL_UUID_NAMESPACE_DNS;
- */
-/** namesapce DNS
-
- <p>
- (Use them the following way : sal_uInt8 aNsDNS[16]) = RTL_UUID_NAMESPACE_DNS;
- <p>
- 6ba7b810-9dad-11d1-80b4-00c04fd430c8 */
-#define RTL_UUID_NAMESPACE_DNS {\
- 0x6b,0xa7,0xb8,0x10,\
- 0x9d,0xad,\
- 0x11,0xd1,\
- 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\
- }
-
-/** namespace URL
-
- <p>
- 6ba7b811-9dad-11d1-80b4-00c04fd430c8 */
-#define RTL_UUID_NAMESPACE_URL { \
- 0x6b, 0xa7, 0xb8, 0x11,\
- 0x9d, 0xad,\
- 0x11, 0xd1,\
- 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\
- }
-
-/** namespace oid
-
- <p>
- 6ba7b812-9dad-11d1-80b4-00c04fd430c8 */
-#define RTL_UUID_NAMESPACE_OID {\
- 0x6b, 0xa7, 0xb8, 0x12,\
- 0x9d, 0xad,\
- 0x11, 0xd1,\
- 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\
- }
-
-/** namespace X500
-
- <p>
- 6ba7b814-9dad-11d1-80b4-00c04fd430c8 */
-#define RTL_UUID_NAMESPACE_X500 {\
- 0x6b, 0xa7, 0xb8, 0x14,\
- 0x9d, 0xad,\
- 0x11, 0xd1,\
- 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\
- }
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */