summaryrefslogtreecommitdiff
path: root/src/lib/eo/eina_types.eot
blob: d08382c1cd0ea7774979b7d7ca91c03315df4e7f (plain) (blame)
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
/* FIXME: Move to Eina when we decide they are handled properly. */
struct @extern @free(eina_rectangle_free) Eina.Rect {
    [[A rectangle in pixel dimensions.]]
    x: int; [[X coordinate of the rectangle, from the top-left corner.]]
    y: int; [[Y coordinate of the rectangle, from the top-left corner.]]
    w: int; [[Width of the rectangle in pixels.]]
    h: int; [[Height of the rectangle in pixels.]]
}

struct @extern Eina.Position2D {
   [[A 2D location in pixels.]]
   x: int; [[X position in pixels, from the top-left corner.]]
   y: int; [[Y position in pixels, from the top-left corner.]]
}

struct @extern Eina.Size2D {
   [[A 2D size in pixels.]]
   w: int; [[X position in pixels, from the top-left corner.]]
   h: int; [[Y position in pixels, from the top-left corner.]]
}

struct @extern Eina.File; [[Eina file data structure]]

struct @extern Eina.Vector2 {
   [[A simple 2D vector type using floating point values.]]
   x: double; [[X coordinate.]]
   y: double; [[Y coordinate.]]
}

struct @extern Eina.Matrix3 {
   [[Eina 3x3 Matrix]]
   xx: double; [[XX matrix value]]
   xy: double; [[XY matrix value]]
   xz: double; [[XZ matrix value]]

   yx: double; [[YX matrix value]]
   yy: double; [[YY matrix value]]
   yz: double; [[YZ matrix value]]

   zx: double; [[ZX matrix value]]
   zy: double; [[ZY matrix value]]
   zz: double; [[ZZ matrix value]]
}

type @extern Eina.Unicode: uint32; [[Eina unicode type]]

struct @extern Eina.File_Direct_Info; [[Eina file direct information data structure]]
/*{
   path_lenght:    size_t;              [[Size of the whole path]]
   name_length:    size_t;              [[Size of the filename/basename component]]
   name_start:     size_t;              [[Start position of the filename/basename component]]
   type:           Eina_File_Type;      [[File type]]
   path:           char[EINA_PATH_MAX]; [[The path]]
};*/

enum @extern Eina.Xattr.Flags {
  [[Eina file extended attributes flags]]
  insert, [[This is the default behaviour, it will either create or replace the extended attribute]]
  replace, [[This will only succeed if the extended attribute previously existed]]
  created [[This will only succeed if the extended attribute wasn't previously set]]
}

type @extern Eina.Error: int; [[Eina error type]]

struct @extern @free(eina_binbuf_free) Eina.Binbuf; [[Eina binbuf data structure]]
struct @extern @free(eina_strbuf_free) Eina.Strbuf; [[Eina strbuf data structure]]

struct @extern Eina.Slice {
    [[A linear, read-only, memory segment]]
    len: size; [[Length of the memory segment]]
    mem: const(void_ptr); [[Pointer to memory segment]]
}

struct @extern Eina.Rw_Slice {
    [[A linear, read-write, memory segment]]
    len: size; [[Length of the memory segment]]
    mem: void_ptr; [[Pointer to memory segment]]
}

struct @extern Eina.Value_Type; [[Eina value type]]

struct @extern Eina.Stat {
    [[The structure to store some file statistics.]]
    dev      : ulong; [[The device where this file is located]]
    ino      : ulong; [[The inode]]
    mode     : uint;  [[The mode]]
    nlink    : uint;  [[The link number]]
    uid      : uint;  [[The owner user id]]
    gid      : uint;  [[The owner group id]]
    rdev     : ulong; [[The remote device]]
    size     : ulong; [[The file size in bytes]]
    blksize  : ulong; [[The block size in bytes]]
    blocks   : ulong; [[The number of blocks allocated]]
    atime    : ulong; [[The tilestamp when the file was last accessed]]
    atimensec: ulong; [[The nano version of the timestmap when the file was last accessed]]
    mtime    : ulong; [[The tilestamp when the file was modified]]
    mtimensec: ulong; [[The nano version of the timestmap when the file was modified]]
    ctime    : ulong; [[The tilestamp when the file was created]]
    ctimensec: ulong; [[The nano version of the timestmap when the file was created]]
}

/* FIXME: This definitely shouldn't be here. */
type Efl.Event_Cb: __undefined_type; [[Efl event callback type]]