Lines Matching refs:data

196 cbcp_Output(struct cbcp *cbcp, u_char code, struct cbcp_data *data)
201 bp = m_get(sizeof *head + data->length, MB_CBCPOUT);
205 head->length = htons(sizeof *head + data->length);
206 memcpy(MBUF_CTOP(bp) + sizeof *head, data, data->length);
233 cbcp_data_Show(struct cbcp_data *data)
238 addr = (struct cbcp_addr *)data->addr_start;
239 end = (char *)data + data->length;
242 log_Printf(LogCBCP, " TYPE %s\n", cbcp_data_Type(data->type));
243 if ((char *)&data->delay < end) {
244 log_Printf(LogCBCP, " DELAY %d\n", data->delay);
258 struct cbcp_data data;
267 data.type = cbcp->fsm.type;
268 data.delay = 0;
272 switch (data.type) {
274 addr = (struct cbcp_addr *)data.addr_start;
277 data.length = addr->addr - (char *)&data;
281 addr = (struct cbcp_addr *)data.addr_start;
284 max = data.addr_start + sizeof data.addr_start - addr->addr - 1;
294 data.length = (char *)addr - (char *)&data;
298 data.length = data.addr_start - (char *)&data;
302 data.length = (char *)&data.delay - (char *)&data;
306 cbcp_data_Show(&data);
307 cbcp_Output(cbcp, CBCP_REQ, &data);
353 cbcp_AdjustResponse(struct cbcp *cbcp, struct cbcp_data *data)
356 * We've received a REQ (data). Adjust our response (cbcp->fsm.*)
361 switch (data->type) {
383 if (data->length > data->addr_start - (char *)data) {
388 addr = (struct cbcp_addr *)data->addr_start;
409 if (data->length > data->addr_start - (char *)data) {
416 addr = (struct cbcp_addr *)data->addr_start;
445 * Search through ``data''s addresses and see if cbcp->fsm.phone
450 addr = (struct cbcp_addr *)data->addr_start;
451 end = (char *)data + data->length;
473 log_Printf(LogCBCP, "Unrecognised REQ type %d !\n", (int)data->type);
480 struct cbcp_data data;
488 data.type = cbcp->fsm.type;
489 data.delay = cbcp->fsm.delay;
490 addr = (struct cbcp_addr *)data.addr_start;
491 if (data.type == CBCP_NONUM)
492 data.length = (char *)&data.delay - (char *)&data;
497 data.length = (addr->addr + strlen(addr->addr) + 1) - (char *)&data;
499 data.length = data.addr_start - (char *)&data;
501 cbcp_data_Show(&data);
502 cbcp_Output(cbcp, CBCP_RESPONSE, &data);
514 cbcp_CheckResponse(struct cbcp *cbcp, struct cbcp_data *data)
517 * We've received a RESPONSE (data). Check if it agrees with
522 addr = (struct cbcp_addr *)data->addr_start;
524 if (data->type == cbcp->fsm.type) {
530 if ((char *)data + data->length <= addr->addr)
538 cbcp->fsm.delay = data->delay;
544 cbcp->fsm.delay = data->delay;
548 if ((char *)data + data->length <= addr->addr)
561 cbcp->fsm.delay = data->delay;
572 } else if (data->type == CBCP_NONUM && cbcp->fsm.type == CBCP_CLIENTNUM) {
587 struct cbcp_data data;
595 data.type = cbcp->fsm.type;
596 switch (data.type) {
598 data.length = (char *)&data.delay - (char *)&data;
601 addr = (struct cbcp_addr *)data.addr_start;
605 data.delay = cbcp->fsm.delay;
606 data.length = addr->addr + strlen(addr->addr) + 1 - (char *)&data;
609 data.delay = cbcp->fsm.delay;
610 data.length = data.addr_start - (char *)&data;
614 cbcp_data_Show(&data);
615 cbcp_Output(cbcp, CBCP_ACK, &data);
626 struct cbcp_data *data;
655 data = (struct cbcp_data *)MBUF_CTOP(bp);
661 cbcp_data_Show(data);
664 if (cbcp_AdjustResponse(cbcp, data)) {
677 cbcp_data_Show(data);
685 switch (cbcp_CheckResponse(cbcp, data)) {
714 cbcp_data_Show(data);