summaryrefslogtreecommitdiffstats
path: root/src/squeue/squeue.h
blob: 4730e3dae07da6225782fb0814eda65c30c348a4 (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
struct squeue_t {
	int shmid;
	int mode;
	char *pool;
	/* pointers */
	int head_idx;
	int squeue_idx;
	/* counters */
	int squeue_locks;
	int squeue_lost;
	int squeue_oops;
	int squeue_pops;
};


#define Q_OPEN 0
#define Q_CREAT 1
#define Q_WAIT 2

int squeue_release(const char *file);
struct squeue_t *squeue_open(const char *file, int init);
int squeue_close(struct squeue_t *q);
void squeue_free(struct squeue_t *q);
int squeue_push(struct squeue_t *q, const char *str, int lock);
int squeue_pop(struct squeue_t *q);
char *squeue_get(struct squeue_t *q, int lock);
void squeue_stats(struct squeue_t *q);