summaryrefslogtreecommitdiffstats
path: root/src/squeue/squeue.vapi
diff options
context:
space:
mode:
Diffstat (limited to 'src/squeue/squeue.vapi')
-rw-r--r--src/squeue/squeue.vapi43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/squeue/squeue.vapi b/src/squeue/squeue.vapi
new file mode 100644
index 0000000..b8d82d4
--- /dev/null
+++ b/src/squeue/squeue.vapi
@@ -0,0 +1,43 @@
+using GLib;
+
+[CCode (lower_case_cprefix = "squeue_", cheader_filename = "squeue.h")]
+namespace SQueues {
+ [CCode (cname = "struct squeue_t", free_function = "squeue_free")]
+ public struct SQueue {
+ int shmid;
+ int mode;
+ char *pool;
+ /* pointers */
+ int head_idx;
+ int queue_idx;
+ /* counters */
+ int locks;
+ int lost;
+ int oops;
+ int pops;
+ [CCode (cname = "squeue_open")]
+ public static SQueue* open(string file, int mode);
+ [CCode (cname = "squeue_push")]
+ public int push(string msg, int l);
+ [CCode (cname = "squeue_get")]
+ public weak string get(int l);
+ [CCode (cname = "squeue_pop")]
+ public int pop();
+ [CCode (cname = "squeue_stats")]
+ public int stats();
+ [CCode (cname = "squeue_close")]
+ public int close();
+ [CCode (cname = "squeue_free")]
+ public int free();
+ [CCode (cname = "squeue_release")]
+ public static int release(string file);
+
+ }
+
+ [CCode (cprefix = "Q_", cheader_fileneme = "squeue.h")]
+ public enum SQueueMode {
+ OPEN = 0,
+ CREAT = 1,
+ WAIT = 2
+ }
+}