blob: bfab18dfd266f83d2b9e8a173be52f4321424d0d (
plain)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
private with
Ada.Finalization,
System;
package Wayland is
type Unsigned_Integer is mod 2 ** 32;
type Result is (Success, Failure);
type Error_Code is new Unsigned_Integer;
type File_Descriptor is new Natural;
type Version_Number is new Positive;
type Serial_Number is new Unsigned_Integer;
type ID_Number is new Unsigned_Integer;
type Process_ID is new Natural;
type User_ID is new Natural;
type Group_ID is new Natural;
type Opcode is new Unsigned_Integer;
type Argument_Kind is (Uint, Int, Fixed, Str, Arr, FD, ID, Obj);
type Argument (Kind : Argument_Kind) is private;
type Argument_Array is array (Integer range <>) of Argument;
function Arg
(Of_Type : in Unsigned_Integer)
return Arg (Uint);
function Arg
(Of_Type : in Integer)
return Arg (Int);
function Arg
(Of_Type : in )
return Arg (Fixed);
function Arg
(Of_Type : in String)
return Arg (String);
function Arg
(Of_Type : in )
return Arg (Arr);
function Arg
(Of_Type : in File_Descriptor)
return Arg (FD);
function Arg
(Of_Type : in ID_Number)
return Arg (ID);
function Arg
(Of_Type : in )
return Arg (Obj);
type Protocol_Interface is private;
type Protocol_Interface_Access is access Protocol_Interface;
type Protocol_Interface_Reference (Data : not null access Protocol_Interface) is limited private
with Implicit_Dereference => Data;
type Wayland_Object is limited tagged private;
type Listener_Function is access procedure
(Obj : in out Wayland_Object);
type Log_Function is access procedure
(Msg : in String);
private
type Wayland_Object is new Ada.Finalization.Limited_Controlled with record
Void_Ptr : System.Address := System.Null_Address;
end record;
procedure Initialize
(This : in out Wayland_Object);
type Protocol_Interface is record
end record;
type Protocol_Interface_Reference (Data : not null access Protocol_Interface) is limited null record
with Implicit_Dereference => Data;
end Wayland;
|