Lines Matching refs:srv
52 server_prepare_service_search_response(server_p srv, int32_t fd)
54 uint8_t const *req = srv->req + sizeof(sdp_pdu_t);
55 uint8_t const *req_end = req + ((sdp_pdu_p)(srv->req))->len;
56 uint8_t *rsp = srv->fdidx[fd].rsp;
119 if (srv->fdidx[fd].rsp_cs != cs)
121 if (srv->fdidx[fd].rsp_size > 0)
186 if (!provider_match_bdaddr(provider, &srv->req_sa.l2cap_bdaddr))
202 srv->fdidx[fd].rsp_limit = srv->fdidx[fd].omtu - sizeof(sdp_pdu_t) - 4;
203 srv->fdidx[fd].rsp_size = ptr - rsp;
204 srv->fdidx[fd].rsp_cs = 0;
214 server_send_service_search_response(server_p srv, int32_t fd)
216 uint8_t *rsp = srv->fdidx[fd].rsp + srv->fdidx[fd].rsp_cs;
217 uint8_t *rsp_end = srv->fdidx[fd].rsp + srv->fdidx[fd].rsp_size;
227 srv->fdidx[fd].rsp_cs += size;
229 if (size + 1 > srv->fdidx[fd].rsp_limit) {
235 while ((rsp_end - rsp) + 3 > srv->fdidx[fd].rsp_limit) {
237 srv->fdidx[fd].rsp_cs -= 4;
241 cs[1] = srv->fdidx[fd].rsp_cs >> 8;
242 cs[2] = srv->fdidx[fd].rsp_cs & 0xff;
248 rcounts[0] = srv->fdidx[fd].rsp_size / 4; /* TotalServiceRecordCount */
252 pdu.tid = ((sdp_pdu_p)(srv->req))->tid;
275 if (srv->fdidx[fd].rsp_cs == srv->fdidx[fd].rsp_size) {
276 srv->fdidx[fd].rsp_cs = 0;
277 srv->fdidx[fd].rsp_size = 0;
278 srv->fdidx[fd].rsp_limit = 0;