changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/ffi/glib/pkg.lisp

changeset 698: 96958d3eb5b0
parent: 34aaf1f7f1b5
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
474
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 ;;; pkg.lisp --- Glib FFI
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 ;; 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 ;;; Code:
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 (defpackage :glib
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
   (:use :cl :std :sb-alien)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
   (:export))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 (in-package :glib)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
 (define-alien-loader glib t "/usr/lib/" "glib-2.0")
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
 
475
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
14
 (define-alien-type gtype unsigned)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
15
 
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
16
 (define-alien-type gtype-interface (* t))
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
17
 
476
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
18
 (define-alien-type gdestroy-notify (* t))
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
19
 
475
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
20
 (eval-always
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
21
   (define-opaque gmainloop)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
22
   (define-opaque gmaincontext)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
23
   (define-opaque gobjectgroup)
2ce4891d0661 inig gst-play
Richard Westhaver <ellis@rwest.io>
parents: 474
diff changeset
24
   (define-opaque glist))
474
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
 
476
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
26
 (define-alien-type gthread (* t))
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
27
 (define-alien-type ghook-list (* t))
488
34aaf1f7f1b5 light sql opts, fixed glib bug
Richard Westhaver <ellis@rwest.io>
parents: 476
diff changeset
28
 (define-alien-type ginitially-unowned (* t))
34aaf1f7f1b5 light sql opts, fixed glib bug
Richard Westhaver <ellis@rwest.io>
parents: 476
diff changeset
29
 (define-alien-type gmutex (* t))
34aaf1f7f1b5 light sql opts, fixed glib bug
Richard Westhaver <ellis@rwest.io>
parents: 476
diff changeset
30
 (define-alien-type gpointer (* t))
476
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
31
 
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
32
 (define-alien-type gcond
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
33
     (struct gcond
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
34
             (p gpointer)
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
35
             (i (array unsigned-int 2))))
52a5ffbba7ac more gstreamer
Richard Westhaver <ellis@rwest.io>
parents: 475
diff changeset
36
 
474
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
37
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
38
 (define-alien-type glist-t
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
   (struct glist
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
           (data gpointer)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
41
           (next (* glist))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
42
           (prev (* glist))))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
43
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
44
 (define-alien-type grec-mutex
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
45
     (struct grec-mutex
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
46
             (p gpointer)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
47
             (i (array unsigned-int 2))))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
48
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
49
 (define-alien-routine g-main-loop-new (* gmainloop) (context (* gmaincontext)) (is-running boolean))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
50
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
51
 (define-alien-type gquark (unsigned 32))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
52
 (define-alien-type gerror (struct gerror
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
53
                                   (domain gquark)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
54
                                   (code int)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
55
                                   (message c-string)))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
56
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
57
 (define-opaque goptioncontext (* t))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
58
 (define-opaque goptiongroup (* t))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
59
 (define-opaque goptionentry (* t))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
60
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
61
 (define-alien-enum (goption-flags int)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
62
                    :none 0
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
63
                    :hidden (ash 1 0)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
64
                    :in-main (ash 1 1)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
65
                    :reverse (ash 1 2)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
66
                    :no-arg (ash 1 3)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
67
                    :filename (ash 1 4)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
68
                    :optional-arg (ash 1 5)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
69
                    :noalias (ash 1 6))
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
70
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
71
 (define-alien-enum (goption-arg int)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
72
                    :none 0
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
73
                    :string 1
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
74
                    :int 2
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
75
                    :callback 3
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
76
                    :filename 4
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
77
                    :string-array 5
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
78
                    :filename-array 6
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
79
                    :double 7
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
80
                    :int64 8)
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
81
 
ea3b643a27a3 init glib and gstreamer FFI
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
82
 (define-alien-routine g-option-error-quark gquark)