Lines Matching defs:optptr

1036 static uint8_t* set_optval(uint8_t *optptr, uint16_t opt, void *var, size_t len)
1038 while (*optptr != DHCP_OPT_END) optptr++;
1039 *optptr++ = (uint8_t)(opt & 0x00FF);
1040 *optptr++ = (uint8_t) len;
1041 memcpy(optptr, var, len);
1042 optptr += len;
1043 *optptr = DHCP_OPT_END;
1044 return optptr;
1047 static uint8_t* set_optval6(uint8_t *optptr, uint16_t opt, void *var, size_t len)
1049 *((uint16_t*)optptr) = htons(opt);
1050 *(uint16_t*)(optptr+2) = htons(len);
1051 memcpy(optptr+4, var, len);
1052 optptr += len+4;
1053 return optptr;
1057 static uint8_t* get_optval(uint8_t *optptr, uint16_t opt, void *var)
1063 while (*optptr == DHCP_OPT_PADDING) optptr++;
1064 if ((*optptr & 0x00FF) == DHCP_OPT_END) break;
1065 if ((*optptr & 0x00FF) == DHCP_OPT_OPTION_OVERLOAD) {
1066 overloaded = optptr[2];
1067 optptr += optptr[1] + 2;
1069 len = optptr[1];
1070 if (*optptr == (opt & 0x00FF))
1074 memcpy(var, optptr+2, sizeof(uint32_t));
1075 optptr += len + 2;
1076 return optptr;
1079 memcpy(var, optptr+2, sizeof(uint16_t));
1080 optptr += len + 2;
1081 return optptr;
1084 memcpy(var, optptr+2, sizeof(uint8_t));
1085 optptr += len + 2;
1086 return optptr;
1089 var = xstrndup((char*) optptr, len);
1090 optptr += len + 2;
1091 return optptr;
1094 optptr += len + 2;
1098 return optptr;
1101 static uint8_t* get_optval6(uint8_t *optptr, uint16_t opt, uint16_t *datalen, void **var)
1106 memcpy(&optcode, optptr, sizeof(uint16_t));
1107 memcpy(&len, optptr+2, sizeof(uint16_t));
1110 return optptr;
1117 memcpy(*var, optptr+4, len);
1118 optptr = optptr + len + 4;
1122 optptr = get_optval6(optptr+len+4, opt, datalen, var);
1125 return optptr;
1131 uint8_t len, *optptr;
1133 for (optptr = gstate.rcvd.rcvd_pkt.options;
1134 *optptr && *optptr!=((DHCP_OPT_PARAM_REQ) & 0x00FF); optptr+=optptr[1]+2);
1135 len = *++optptr;
1137 memcpy(*list, ++optptr, len);
1142 static uint8_t* set_reqparam(uint8_t *optptr, uint8_t *list)
1152 for (; *optptr && *optptr!=DHCP_OPT_END; optptr+=optptr[1]+2);
1153 *optptr++ = (uint8_t) (options_list[count].code & 0x00FF);
1154 *optptr++ = (uint8_t) options_list[count].len;
1155 memcpy(optptr, options_list[count].val, options_list[count].len);
1156 optptr += options_list[count].len;
1157 *optptr = DHCP_OPT_END;
1162 return optptr;
1609 uint8_t *optptr, msgtype = 0;
1760 optptr = prepare_send_pkt6(DHCP6ADVERTISE);
1841 optptr = set_optval6(optptr, DHCP6_OPT_IA_NA, server_ia_na,
1871 optptr = set_optval6(optptr, DHCP6_OPT_SERVERID, server_duid,
1875 optptr = set_optval6(optptr, DHCP6_OPT_CLIENTID, client_duid,
1886 optptr = prepare_send_pkt6(DHCP6REPLY);
1892 optptr = set_optval6(optptr, DHCP6_OPT_CLIENTID, client_duid,
1949 optptr = set_optval6(optptr, DHCP6_OPT_IA_NA,
1958 optptr = set_optval6(optptr, DHCP6_OPT_SERVERID,
1972 optptr = prepare_send_pkt6(DHCP6REPLY);
2011 optptr = prepare_send_pkt();
2016 optptr = set_optval(optptr, DHCP_OPT_MESSAGE_TYPE, &msgtype, 1);
2023 optptr = set_optval(optptr, DHCP_OPT_MESSAGE_TYPE, &msgtype, 1);
2024 optptr = set_optval(optptr, DHCP_OPT_SERVER_ID, &gconfig.server_nip, 4);
2025 optptr = set_optval(optptr, DHCP_OPT_LEASE_TIME, &reqested_lease, 4);
2026 optptr = set_reqparam(optptr, gstate.rqopt);
2032 optptr = prepare_send_pkt();
2044 optptr = set_optval(optptr, DHCP_OPT_MESSAGE_TYPE, &msgtype, 1);
2048 optptr = set_optval(optptr, DHCP_OPT_MESSAGE_TYPE, &msgtype, 1);
2049 optptr = set_optval(optptr, DHCP_OPT_SERVER_ID, &gconfig.server_nip, 4);
2051 optptr = set_optval(optptr, DHCP_OPT_LEASE_TIME, &reqested_lease, 4);