/usr/share/ada/adainclude/gtkada/glib-module.ads is in libgtkada16.1.0-dev 17.0.2017-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | ------------------------------------------------------------------------------
-- GtkAda - Ada95 binding for the Gimp Toolkit --
-- --
-- Copyright (C) 2000-2017, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
-- Software Foundation; either version 3, or (at your option) any later --
-- version. This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- --
-- --
-- --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
------------------------------------------------------------------------------
-- <description>
-- This package provides wrapper code for dynamic module loading
-- </description>
-- <group>Glib, the general-purpose library</group>
package Glib.Module is
pragma Preelaborate;
type Module_Flags is mod 2 ** 32;
Module_Bind_Lazy : constant Module_Flags := 2 ** 0;
Module_Bind_Mask : constant Module_Flags := 16#1#;
type G_Module is new C_Proxy;
function Module_Supported return Boolean;
-- Return True if dynamic module loading is supported
function Module_Open
(File_Name : String;
Flags : Module_Flags := Module_Bind_Lazy) return G_Module;
-- Open a module `file_name' and return handle, which is null on error.
function Module_Close (Module : G_Module) return Boolean;
-- Close a previously opened module, return True on success.
procedure Module_Make_Resident (Module : G_Module);
-- Make a module resident so Module_Close on it will be ignored
function Module_Error return String;
-- Query the last module error as a string
generic
type Pointer is private;
-- This is typically a pointer to procedure/function.
procedure Generic_Module_Symbol
(Module : G_Module;
Symbol_Name : String;
Symbol : out Pointer;
Success : out Boolean);
-- Retrieve a symbol pointer from `module'.
-- Success is set to True on success.
function Module_Name (Module : G_Module) return String;
-- Retrieve the file name from an existing module
function Module_Build_Path
(Directory : String;
Module_Name : String) return String;
-- Build the actual file name containing a module.
-- `directory' is the directory where the module file is supposed to be, or
-- the null string in which case it should either be in the current
-- directory or, on some operating systems, in some standard place, for
-- instance on the PATH. Hence, to be absolutely sure to get the correct
-- module, always pass in a directory. The file name consists of the
-- directory, if supplied, and `module_name' suitably decorated accoring to
-- the operating system's conventions (for instance lib*.so or *.dll).
--
-- No checks are made that the file exists, or is of correct type.
private
pragma Import (C, Module_Make_Resident, "g_module_make_resident");
end Glib.Module;
|