From 1efce6412bcad4542acd4e6a6695fd4d034f831d Mon Sep 17 00:00:00 2001 From: marco Date: Sun, 22 May 2005 14:24:55 +0000 Subject: [PATCH] * FPC_USE_LIBC and uuidgen(2) support under IFDEF FREEBSD5. git-svn-id: trunk@72 - --- rtl/bsd/suuid.inc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/rtl/bsd/suuid.inc b/rtl/bsd/suuid.inc index 748d7c3942..46fdad83c5 100644 --- a/rtl/bsd/suuid.inc +++ b/rtl/bsd/suuid.inc @@ -15,6 +15,29 @@ **********************************************************************} +{$IFDEF FREEBSD5} +{$IFDEF FPC_USE_LIBC} + +function cuuidgen(p:PGUID;x:cint):cint; external clib name 'uuidgen'; + +{$ELSE} + +function cuuidgen(p:pguid;x:cint):cint; + +begin + result:=do_syscall(syscall_nr_uuidgen,tsysparam(p),tsysparam(x)); +end; +{$ENDIF} + +Function SysCreateGUID(out GUID : TGUID) : Integer; + +begin + result:=0; + if cuuidgen(@guid,1)=-1 then + GetRandomBytes(GUID,SizeOf(Guid)); +end; + +{$ELSE} Const RandomDevice = '/dev/urandom'; @@ -54,3 +77,4 @@ begin GetRandomBytes(GUID,SizeOf(Guid)); Result:=0; end; +{$ENDIF} \ No newline at end of file