Lines Matching refs:sq

43 NextIndex(sb_queue_t sq, index_type i)  in NextIndex()  argument
45 return (i != sq->_capacity ? i + 1: 0); in NextIndex()
49 PrevIndex(sb_queue_t sq, index_type i) in PrevIndex() argument
51 return (i != 0 ? i - 1: sq->_capacity); in PrevIndex()
63 sb_queue_t sq; in CreateSBQueue() local
65 sq = (sb_queue_t)calloc(1, sizeof(struct sb_queue)); in CreateSBQueue()
66 if (!sq) in CreateSBQueue()
69 sq->_q = (struct tcp_send_buffer **) in CreateSBQueue()
71 if (!sq->_q) { in CreateSBQueue()
72 free(sq); in CreateSBQueue()
76 sq->_capacity = capacity; in CreateSBQueue()
77 sq->_head = sq->_tail = 0; in CreateSBQueue()
79 return sq; in CreateSBQueue()
83 DestroySBQueue(sb_queue_t sq) in DestroySBQueue() argument
85 if (!sq) in DestroySBQueue()
88 if (sq->_q) { in DestroySBQueue()
89 free((void *)sq->_q); in DestroySBQueue()
90 sq->_q = NULL; in DestroySBQueue()
93 free(sq); in DestroySBQueue()
97 SBEnqueue(sb_queue_t sq, struct tcp_send_buffer *buf) in SBEnqueue() argument
99 index_type h = sq->_head; in SBEnqueue()
100 index_type t = sq->_tail; in SBEnqueue()
101 index_type nt = NextIndex(sq, t); in SBEnqueue()
104 sq->_q[t] = buf; in SBEnqueue()
105 SBMemoryBarrier(sq->_q[t], sq->_tail); in SBEnqueue()
106 sq->_tail = nt; in SBEnqueue()
115 SBDequeue(sb_queue_t sq) in SBDequeue() argument
117 index_type h = sq->_head; in SBDequeue()
118 index_type t = sq->_tail; in SBDequeue()
121 struct tcp_send_buffer *buf = sq->_q[h]; in SBDequeue()
122 SBMemoryBarrier(sq->_q[h], sq->_head); in SBDequeue()
123 sq->_head = NextIndex(sq, h); in SBDequeue()