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