Lines Matching defs:pl
89 vendor_scan(PKT_LIST *pl)
93 if (pl->opts[CD_VENDOR_SPEC] == NULL)
95 len = pl->opts[CD_VENDOR_SPEC]->len;
96 start = pl->opts[CD_VENDOR_SPEC]->value;
99 if (((start - (uint8_t *)pl->pkt) + len) > pl->len)
103 field_scan(start, end, pl->vs, VS_OPTION_END);
111 dhcp_options_scan(PKT_LIST *pl, boolean_t scan_vendor)
113 PKT *pkt = pl->pkt;
114 uint_t opt_size = pl->len - BASE_PKT_SIZE;
120 if (pl->len < BASE_PKT_SIZE ||
121 bcmp(pl->pkt->cookie, bootmagic, sizeof (pl->pkt->cookie)) != 0) {
122 pl->rfc1048 = 0;
126 pl->rfc1048 = 1;
129 field_scan(pkt->options, &pkt->options[opt_size], pl->opts,
137 if (scan_vendor && (pl->opts[CD_VENDOR_SPEC] != NULL))
138 vendor_scan(pl);
140 if (pl->opts[CD_DHCP_TYPE] == NULL)
143 if (pl->opts[CD_DHCP_TYPE]->len != 1)
146 if (*pl->opts[CD_DHCP_TYPE]->value < DISCOVER ||
147 *pl->opts[CD_DHCP_TYPE]->value > INFORM)
150 if (pl->opts[CD_OPTION_OVERLOAD]) {
151 if (pl->opts[CD_OPTION_OVERLOAD]->len != 1) {
152 pl->opts[CD_OPTION_OVERLOAD] = NULL;
155 switch (*pl->opts[CD_OPTION_OVERLOAD]->value) {
157 field_scan(pkt->file, &pkt->cookie[0], pl->opts,
161 field_scan(pkt->sname, &pkt->file[0], pl->opts,
165 field_scan(pkt->file, &pkt->cookie[0], pl->opts,
167 field_scan(pkt->sname, &pkt->file[0], pl->opts,
171 pl->opts[CD_OPTION_OVERLOAD] = NULL;