summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.2-arm64-darwin/samples/gettimeofday.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/ffi-1.17.2-arm64-darwin/samples/gettimeofday.rb')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/ffi-1.17.2-arm64-darwin/samples/gettimeofday.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.2-arm64-darwin/samples/gettimeofday.rb b/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.2-arm64-darwin/samples/gettimeofday.rb
new file mode 100644
index 0000000..864bbb6
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.2-arm64-darwin/samples/gettimeofday.rb
@@ -0,0 +1,18 @@
+require 'ffi'
+require 'rbconfig'
+
+class Timeval < FFI::Struct
+ layout tv_sec: :ulong, tv_usec: :ulong
+end
+module LibC
+ extend FFI::Library
+ if FFI::Platform.windows?
+ ffi_lib RbConfig::CONFIG["LIBRUBY_SO"]
+ else
+ ffi_lib FFI::Library::LIBC
+ end
+ attach_function :gettimeofday, [ :pointer, :pointer ], :int
+end
+t = Timeval.new
+LibC.gettimeofday(t.pointer, nil)
+puts "t.tv_sec=#{t[:tv_sec]} t.tv_usec=#{t[:tv_usec]}"