UUID-0.05/0000755000175000017500000000000012062655351010707 5ustar lzaplzapUUID-0.05/META.yml0000644000175000017500000000064212062655321012157 0ustar lzaplzap--- #YAML:1.0 name: UUID version: 0.05 abstract: ~ author: [] license: unknown distribution_type: module configure_requires: ExtUtils::MakeMaker: 0 requires: {} no_index: directory: - t - inc generated_by: ExtUtils::MakeMaker version 6.48 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 UUID-0.05/UUID.pm0000644000175000017500000000242212062655342012013 0ustar lzaplzappackage UUID; require 5.005; use strict; #use warnings; require Exporter; require DynaLoader; use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $VERSION); @ISA = qw(Exporter DynaLoader); # This allows declaration use UUID ':all'; # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK # will save memory. %EXPORT_TAGS = ( 'all' => [qw(&generate &parse &unparse)] ); @EXPORT_OK = ( @{$EXPORT_TAGS{'all'}} ); $VERSION = '0.05'; bootstrap UUID $VERSION; # Preloaded methods go here. 1; __END__ =head1 NAME UUID - Perl extension for using UUID interfaces as defined in e2fsprogs. =head1 SYNOPSIS use UUID; UUID::generate($uuid); # generates a 128 bit uuid UUID::unparse($uuid, $string); # change $uuid to 36 byte string $rc = UUID::parse($string, $uuid); # map string to UUID, return -1 on error =head1 DESCRIPTION With these 3 routines UUID''s can easily be generated and parsed/un-parsed. =head2 EXPORT UUID::{generate, parse, unparse} =head1 LICENSE This library is licensed under the Perl Artistic License. Details of this license can be found within the 'License' text file =head1 AUTHOR Joseph N. Hall Colin Faber Peter J. Braam =head1 SEE ALSO perl(1). =cut UUID-0.05/test.pl0000644000175000017500000000204007247474025012225 0ustar lzaplzap# Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN { $| = 1; print "1..5\n"; } END {print "not ok 1\n" unless $loaded;} use UUID; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): UUID::generate($var); print (length $var == 0 ? 'not ' : '', "ok 2\n"); UUID::unparse($var, $out); # Try to parse the UUID we got. $rc = UUID::parse($out, $var2); print ($rc ? 'not ' : '', "ok 3\n"); # Check that the unparsed version matches the parsed version. print ($var eq $var2 ? '' : 'not ', "ok 4\n"); $rc = UUID::parse("Peter is a moose", $var2); print ($rc ? '' : 'not ', "ok 5\n"); exit (0); UUID-0.05/UUID.xs0000644000175000017500000000156107247474025012042 0ustar lzaplzap#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include #ifndef SvPV_nolen # define SvPV_nolen(sv) SvPV(sv, na) #endif void do_generate(SV *str) { uuid_t uuid; uuid_generate( uuid ); sv_setpvn(str, uuid, sizeof(uuid)); } void do_unparse(SV *in, SV * out) { uuid_t uuid; char str[37]; uuid_unparse(SvPV_nolen (in), str); sv_setpvn(out, str, 36); } int do_parse(SV *in, SV * out) { uuid_t uuid; char str[37]; int rc; rc = uuid_parse(SvPV_nolen(in), uuid); if (!rc) { sv_setpvn(out, uuid, sizeof(uuid)); } return rc; } MODULE = UUID PACKAGE = UUID void generate(str) SV * str PROTOTYPE: $ CODE: do_generate(str); void unparse(in, out) SV * in SV * out PROTOTYPE: $$ CODE: do_unparse(in, out); int parse(in, out) SV * in SV * out PROTOTYPE: $$ CODE: RETVAL = do_parse(in, out); OUTPUT: RETVAL UUID-0.05/License0000644000175000017500000001371510552005535012216 0ustar lzaplzapArtistic License Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder as specified below. "Copyright Holder" is whoever is named in the copyright or copyrights for the package. "You" is you, if you're thinking about copying or distributing this Package. "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) give non-standard executables non-standard names, and clearly document the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. You may embed this Package's interpreter within an executable of yours (by linking); this shall be construed as a mere form of aggregation, provided that the complete Standard Version of the interpreter is so embedded. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whoever generated them, and may be sold commercially, and may be aggregated with this Package. If such scripts or library files are aggregated with this Package via the so-called "undump" or "unexec" methods of producing a binary executable image, then distribution of such an image shall neither be construed as a distribution of this Package nor shall it fall under the restrictions of Paragraphs 3 and 4, provided that you do not represent such an executable image as a Standard Version of this Package. 7. C subroutines (or comparably compiled subroutines in other languages) supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language. 8. Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package. 9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End UUID-0.05/Changes0000644000175000017500000000105312062655303012176 0ustar lzaplzapRevision history for Perl extension UUID. 0.05 Fri Dec 14 20:00:00 GMT 2012 - Took over maintaining (Lukas Zapletal - LZAP) - Version bump (no changes) - Releasing in the original location 0.04 Wed Jul 22 20:17:26 PDT 2009 - Seems to be abandoned (again) - Bump version number and upload to PAUSE 0.03 Fri Jan 12 15:24:24 MST 2007 - Added Artistic license - Took over maintaining (Colin Faber - CFABER) 0.02 Unknown - unknown changes 0.01 Thu Feb 8 06:07:59 2001 - original version; created by h2xs 1.20 with options -A -n UUID UUID-0.05/MANIFEST0000644000175000017500000000021410552005741012027 0ustar lzaplzapChanges License MANIFEST Makefile.PL UUID.pm UUID.xs test.pl META.yml Module meta-data (added by MakeMaker) UUID-0.05/Makefile.PL0000644000175000017500000000073507241146322012662 0ustar lzaplzapuse ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' => 'UUID', 'VERSION_FROM' => 'UUID.pm', # finds $VERSION 'PREREQ_PM' => {}, # e.g., Module::Name => 1.1 'LIBS' => ['-luuid'], # e.g., '-lm' 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '', # e.g., '-I/usr/include/other' );