Sha256: faf4049da875a821f8664960b7f66e3ff4bd00b5af2117b54408157d1ed86ac9

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

# Released under the MIT License.
# Copyright, 2013-2022, by Samuel Williams.
# Copyright, 2013, by Carlos Martín Nieto.
# Copyright, 2014, by Masahiro Sano.

require_relative 'string'
require_relative 'translation_unit'

module FFI
	module Clang
		module Lib
			class CXUnsavedFile < FFI::Struct
				layout(
					:filename, :pointer,
					:contents, :pointer,
					:length, :ulong
				)
			end

			class CXFileUniqueID < FFI::Struct
				layout(
					:device, :ulong_long,
					:inode, :ulong_long,
					:modification, :ulong_long
				)
			end

			typedef :pointer, :CXFile

			attach_function :get_file, :clang_getFile, [:CXTranslationUnit, :string], :CXFile
			attach_function :get_file_name, :clang_getFileName, [:CXFile], CXString.by_value
			attach_function :get_file_time, :clang_getFileTime, [:CXFile], :time_t
			attach_function :is_file_multiple_include_guarded, :clang_isFileMultipleIncludeGuarded, [:CXTranslationUnit, :CXFile], :int
			
			attach_function :get_file_unique_id, :clang_getFileUniqueID, [:CXFile, :pointer], :int
		end
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ffi-clang-0.8.0 lib/ffi/clang/lib/file.rb