]> gitweb.factorcode.org Git - factor.git/blob - basis/glib/ffi/ffi.factor
ui.backend.gtk: only set up event sources when we are deploying with io level 3
[factor.git] / basis / glib / ffi / ffi.factor
1 ! Copyright (C) 2009 Anton Gorenko.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors alien alien.c-types alien.destructors
4 alien.libraries alien.syntax combinators compiler.units
5 gobject-introspection kernel system vocabs.parser words ;
6 IN: glib.ffi
7
8 <<
9 "glib" {
10     { [ os winnt? ] [ "libglib-2.0-0.dll" cdecl add-library ] }
11     { [ os macosx? ] [ "/opt/local/lib/libglib-2.0.0.dylib" cdecl add-library ] }
12     { [ os unix? ] [ "libglib-2.0.so" cdecl add-library ] }
13 } cond
14 >>
15
16 << double "long double" current-vocab create typedef >>
17
18 TYPEDEF: char gchar
19 TYPEDEF: uchar guchar
20 TYPEDEF: short gshort
21 TYPEDEF: ushort gushort
22 TYPEDEF: long glong
23 TYPEDEF: ulong gulong
24 TYPEDEF: int gint
25 TYPEDEF: uint guint
26
27 <<
28 int c-type clone
29     [ >c-bool ] >>unboxer-quot
30     [ c-bool> ] >>boxer-quot
31     object >>boxed-class
32 "gboolean" current-vocab create typedef
33 >>
34
35 TYPEDEF: char gint8
36 TYPEDEF: uchar guint8
37 TYPEDEF: short gint16
38 TYPEDEF: ushort guint16
39 TYPEDEF: int gint32
40 TYPEDEF: uint guint32
41 TYPEDEF: longlong gint64
42 TYPEDEF: ulonglong guint64
43
44 TYPEDEF: float gfloat
45 TYPEDEF: double gdouble
46
47 TYPEDEF: long ssize_t
48 TYPEDEF: long time_t
49 TYPEDEF: size_t gsize
50 TYPEDEF: ssize_t gssize
51 TYPEDEF: size_t GType
52
53 TYPEDEF: void* gpointer
54 TYPEDEF: void* gconstpointer
55
56 TYPEDEF: guint8 GDateDay
57 TYPEDEF: guint16 GDateYear
58 TYPEDEF: gint GPid
59 TYPEDEF: guint32 GQuark
60 TYPEDEF: gint32 GTime
61 TYPEDEF: glong gintptr
62 TYPEDEF: gint64 goffset
63 TYPEDEF: gulong guintptr
64 TYPEDEF: guint32 gunichar
65 TYPEDEF: guint16 gunichar2
66
67 TYPEDEF: gpointer pointer
68 TYPEDEF: gpointer any
69
70 IMPLEMENT-STRUCTS: GPollFD GSource GSourceFuncs ;
71
72 GIR: vocab:glib/GLib-2.0.gir
73
74 DESTRUCTOR: g_source_unref
75 DESTRUCTOR: g_free
76
77 CALLBACK: gboolean GSourceFuncsPrepareFunc ( GSource* source, gint* timeout_ ) ;
78 CALLBACK: gboolean GSourceFuncsCheckFunc ( GSource* source ) ;
79 CALLBACK: gboolean GSourceFuncsDispatchFunc ( GSource* source, GSourceFunc callback, gpointer user_data ) ;
80