Lines Matching refs:oa_p

438 dhcpoa_init_common(dhcpoa_t * oa_p, void * buffer, int size, int reserve)
440 bzero(oa_p, sizeof(*oa_p));
441 oa_p->oa_buffer = buffer;
442 oa_p->oa_size = size;
443 oa_p->oa_reserve = reserve;
447 dhcpoa_init_no_end(dhcpoa_t * oa_p, void * buffer, int size)
449 dhcpoa_init_common(oa_p, buffer, size, 0);
454 dhcpoa_size(dhcpoa_t * oa_p)
456 return (oa_p->oa_size);
460 dhcpoa_init(dhcpoa_t * oa_p, void * buffer, int size)
463 dhcpoa_init_common(oa_p, buffer, size, 1);
473 dhcpoa_add(dhcpoa_t * oa_p, dhcptag_t tag, int len, const void * option)
480 if (oa_p->oa_end_tag) {
487 if ((oa_p->oa_offset + 1) > oa_p->oa_size) {
490 oa_p->oa_offset + oa_p->oa_reserve, oa_p->oa_size));
493 ((uint8_t *)oa_p->oa_buffer)[oa_p->oa_offset + DHCP_TAG_OFFSET] = tag;
494 oa_p->oa_offset++;
495 oa_p->oa_end_tag = 1;
500 if ((oa_p->oa_offset + oa_p->oa_reserve + 1) > oa_p->oa_size) {
502 oa_p->oa_offset + oa_p->oa_reserve + 1, oa_p->oa_size));
505 ((uint8_t *)oa_p->oa_buffer)[oa_p->oa_offset + DHCP_TAG_OFFSET] = tag;
506 oa_p->oa_offset++;
511 if ((oa_p->oa_offset + len + 2 + oa_p->oa_reserve) > oa_p->oa_size) {
513 oa_p->oa_offset + len + 2 + oa_p->oa_reserve,
514 oa_p->oa_size));
517 ((uint8_t *)oa_p->oa_buffer)[oa_p->oa_offset + DHCP_TAG_OFFSET] = tag;
518 ((uint8_t *)oa_p->oa_buffer)[oa_p->oa_offset + DHCP_LEN_OFFSET] = (uint8_t)len;
520 memcpy(oa_p->oa_buffer + (DHCP_OPTION_OFFSET + oa_p->oa_offset),
523 oa_p->oa_offset += len + DHCP_OPTION_OFFSET;
526 oa_p->oa_option_count++;
537 dhcpoa_add_dhcpmsg(dhcpoa_t * oa_p, dhcp_msgtype_t msgtype)
539 return (dhcpoa_add(oa_p, dhcptag_dhcp_message_type_e,
544 dhcpoa_used(dhcpoa_t * oa_p)
546 return (oa_p->oa_offset);
550 dhcpoa_freespace(dhcpoa_t * oa_p)
554 freespace = oa_p->oa_size - oa_p->oa_offset - oa_p->oa_reserve;
562 dhcpoa_count(dhcpoa_t * oa_p)
564 return (oa_p->oa_option_count);
568 dhcpoa_buffer(dhcpoa_t * oa_p)
570 return (oa_p->oa_buffer);