diff options
| author | Vijay Bellur <vijay@gluster.com> | 2010-07-15 00:33:03 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2010-07-15 03:18:53 -0700 | 
| commit | bb209f56147878ac420e4d1915e989bb11d272a2 (patch) | |
| tree | 2ce9af426bac2dd845d541639e90a836c7657b92 /contrib/uuid/pack.c | |
| parent | 47dc8def246c6338cb95e71b4656962a5f74ee90 (diff) | |
Bring in uuid to contrib
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
Diffstat (limited to 'contrib/uuid/pack.c')
| -rw-r--r-- | contrib/uuid/pack.c | 69 | 
1 files changed, 69 insertions, 0 deletions
diff --git a/contrib/uuid/pack.c b/contrib/uuid/pack.c new file mode 100644 index 00000000000..097516d2e2f --- /dev/null +++ b/contrib/uuid/pack.c @@ -0,0 +1,69 @@ +/* + * Internal routine for packing UUID's + * + * Copyright (C) 1996, 1997 Theodore Ts'o. + * + * %Begin-Header% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *    notice, and the entire permission notice in its entirety, + *    including the disclaimer of warranties. + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + *    products derived from this software without specific prior + *    written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF + * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR 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 NOT ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * %End-Header% + */ + +#include <string.h> +#include "uuidP.h" + +void uuid_pack(const struct uuid *uu, uuid_t ptr) +{ +	uint32_t	tmp; +	unsigned char	*out = ptr; + +	tmp = uu->time_low; +	out[3] = (unsigned char) tmp; +	tmp >>= 8; +	out[2] = (unsigned char) tmp; +	tmp >>= 8; +	out[1] = (unsigned char) tmp; +	tmp >>= 8; +	out[0] = (unsigned char) tmp; + +	tmp = uu->time_mid; +	out[5] = (unsigned char) tmp; +	tmp >>= 8; +	out[4] = (unsigned char) tmp; + +	tmp = uu->time_hi_and_version; +	out[7] = (unsigned char) tmp; +	tmp >>= 8; +	out[6] = (unsigned char) tmp; + +	tmp = uu->clock_seq; +	out[9] = (unsigned char) tmp; +	tmp >>= 8; +	out[8] = (unsigned char) tmp; + +	memcpy(out+10, uu->node, 6); +} +  | 
