File: gqtest.c

package info (click to toggle)
ctn 3.2.0~dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 15,336 kB
  • ctags: 21,262
  • sloc: ansic: 179,501; makefile: 7,004; java: 1,863; csh: 1,067; yacc: 523; sh: 424; cpp: 394; sql: 389; lex: 170
file content (107 lines) | stat: -rw-r--r-- 2,083 bytes parent folder | download | duplicates (9)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <stdio.h>
#include <math.h>
#include "dicom.h"
#include "gq.h"

int atoi(char *s);
void pp(void *);

typedef struct _Q {
    int a;
    char b[10];
    long z;
}   Q;

main(int argc, char *argv[])
{

    CONDITION r;

    Q   e;

    if (GQ_GetQueue(1, sizeof(Q)) != GQ_NORMAL) {
	printf("\nGQ_GetQueue failed!\n\n");
	COND_DumpConditions();
	exit(-1);
    }
    e.a = 1;
    strcpy(e.b, "Element 1");
    e.z = 11;
    if ((r = GQ_Enqueue((void *) &e)) != GQ_NORMAL) {
	if (r == GQ_QUEUEFULL)
	    printf("\nThe queue is full!\n\n");
	else {
	    printf("\nGQ_Enqueue failed\n\n");
	    COND_DumpConditions();
	    exit(-1);
	}
    }
    e.a = 2;
    strcpy(e.b, "Element 2");
    e.z = 22;
    if ((r = GQ_Enqueue((void *) &e)) != GQ_NORMAL) {
	if (r == GQ_QUEUEFULL)
	    printf("\nThe queue is full!\n\n");
	else {
	    printf("\nGQ_Enqueue failed\n\n");
	    COND_DumpConditions();
	    exit(-1);
	}
    }
    e.a = 3;
    strcpy(e.b, "Element 3");
    e.z = 33;
    if ((r = GQ_Enqueue((void *) &e)) != GQ_NORMAL) {
	if (r == GQ_QUEUEFULL)
	    printf("\nThe queue is full!\n\n");
	else {
	    printf("\nGQ_Enqueue failed\n\n");
	    COND_DumpConditions();
	    exit(-1);
	}
    }
    if ((r = GQ_Dequeue((void *) &e)) != GQ_NORMAL) {
	if (r == GQ_QUEUEEMPTY)
	    printf("\nThe queue is empty!\n\n");
	else {
	    printf("\nGQ_Enqueue failed\n\n");
	    COND_DumpConditions();
	    exit(-1);
	}
    }
    pp(&e);
    e.a = 4;
    strcpy(e.b, "Element 4");
    e.z = 44;
    if ((r = GQ_Enqueue((void *) &e)) != GQ_NORMAL) {
	if (r == GQ_QUEUEFULL)
	    printf("\nThe queue is full!\n\n");
	else {
	    printf("\nGQ_Enqueue failed\n\n");
	    COND_DumpConditions();
	    exit(-1);
	}
    }
    if ((r = GQ_PrintQueue(pp)) != GQ_NORMAL) {
	if (r == GQ_QUEUEFULL)
	    printf("\nThe queue is full!\n\n");
	else {
	    printf("\nGQ_Enqueue failed\n\n");
	    COND_DumpConditions();
	    exit(-1);
	}
    }
    exit(0);
}
void
pp(void *e)
{

    Q  *f;

    f = (Q *) e;
    printf("a: %d\n", f->a);
    printf("b: %s\n", f->b);
    printf("z: %d\n", f->z);
    return;
}