• 大小: 388KB
    文件类型: .gz
    金币: 2
    下载: 1 次
    发布日期: 2021-06-14
  • 语言: 数据库
  • 标签: uuid-ossp  

资源简介

uuid-1.6.2.tar.gz,用于安装PostgreSQL的uuid-ossp扩展,由于官网链接太烂,特拿出来分享。

资源截图

代码片段和文件信息

/*
**  OSSP uuid - Universally Unique Identifier
**  Copyright (c) 2004-2008 Ralf S. Engelschall 
**  Copyright (c) 2004-2008 The OSSP Project 
**
**  This file is part of OSSP uuid a library for the generation
**  of UUIDs which can found at http://www.ossp.org/pkg/lib/uuid/
**
**  Permission to use copy modify and distribute this software for
**  any purpose with or without fee is hereby granted provided that
**  the above copyright notice and this permission notice appear in all
**  copies.
**
**  THIS SOFTWARE IS PROVIDED ‘‘AS IS‘‘ AND ANY EXPRESSED OR IMPLIED
**  WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
**  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
**  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
**  CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL
**  SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
**  LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
**  USE DATA OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
**  ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY
**  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
**  OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF
**  SUCH DAMAGE.
**
**  uuid.c: library API implementation
*/

/* own headers (part 1/2) */
#include “uuid.h“
#include “uuid_ac.h“

/* system headers */
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

/* own headers (part 2/2) */
#include “uuid_vers.h“
#include “uuid_md5.h“
#include “uuid_sha1.h“
#include “uuid_prng.h“
#include “uuid_mac.h“
#include “uuid_time.h“
#include “uuid_ui64.h“
#include “uuid_ui128.h“
#include “uuid_str.h“
#include “uuid_bm.h“
#include “uuid_ac.h“

/* maximum number of 100ns ticks of the actual resolution of system clock
   (which in our case is 1us (= 1000ns) because we use gettimeofday(2) */
#define UUIDS_PER_TICK 10

/* time offset between UUID and Unix Epoch time according to standards.
   (UUID UTC base time is October 15 1582
    Unix UTC base time is January  1 1970) */
#define UUID_TIMEOFFSET “01B21DD213814000“

/* IEEE 802 MAC address encoding/decoding bit fields */
#define IEEE_MAC_MCBIT BM_OCTET(00000001)
#define IEEE_MAC_LOBIT BM_OCTET(00000010)

/* IEEE 802 MAC address octet length */
#define IEEE_MAC_OCTETS 6

/* UUID binary representation according to UUID standards */
typedef struct {
    uuid_uint32_t  time_low;                  /* bits  0-31 of time field */
    uuid_uint16_t  time_mid;                  /* bits 32-47 of time field */
    uuid_uint16_t  time_hi_and_version;       /* bits 48-59 of time field plus 4 bit version */
    uuid_uint8_t   clock_seq_hi_and_reserved; /* bits  8-13 of clock sequence field plus 2 bit variant */
    uuid_uint

评论

共有 条评论

相关资源