xref: /386bsd/usr/share/man/cat3/insque.0 (revision a2142627)
1INSQUE(3)                 386BSD Programmer's Manual                 INSQUE(3)
2
3NNAAMMEE
4     iinnssqquuee, rreemmqquuee - insert/remove element from a circular queue
5
6SSYYNNOOPPSSIISS
7     _s_t_r_u_c_t _q_e_l_e_m {
8          _s_t_r_u_c_t _q_e_l_e_m *_q__f_o_r_w;
9          _s_t_r_u_c_t _q_e_l_e_m *_q__b_a_c_k;
10          _c_h_a_r _q__d_a_t_a[];
11     };
12     _s_t_r_u_c_t _q_e_l_e_m *
13     iinnssqquuee(_s_t_r_u_c_t _q_e_l_e_m *_e_n_t_r_y, _s_t_r_u_c_t _q_e_l_e_m *_p_r_e_d)
14
15     _s_t_r_u_c_t _q_e_l_e_m *
16     rreemmqquuee(_s_t_r_u_c_t _q_e_l_e_m *_e_n_t_r_y)
17
18DDEESSCCRRIIPPTTIIOONN
19     iinnssqquuee() and rreemmqquuee() manipulate queues built from circular, doubly
20     linked lists. Each element in the queue must begin with a "struct qelem".
21     iinnssqquuee() inserts _e_n_t_r_y in the queue immediately after _p_r_e_d. rreemmqquuee()
22     removes _e_n_t_r_y from the queue.
23
24DDIIAAGGNNOOSSTTIICCSS
25     These functions are not atomic unless that machine architecture allows
26     it.
27
28HHIISSTTOORRYY
29     These are derived from the insque and remque instructions on a VAX.
30
31
32                                August 12, 1993                              1
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