blob: b8d82d4fec89531d2ed61f19a6f457987f7e6d6e (
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
|
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
}
}
|