Lines Matching defs:ph
82 di_prop_reset_pos(prop_handle_t *ph)
84 ph->ph_cur_pos = ph->ph_data;
85 ph->ph_save_pos = ph->ph_data;
93 di_prop_save_pos(prop_handle_t *ph)
95 ph->ph_save_pos = ph->ph_cur_pos;
102 di_prop_restore_pos(prop_handle_t *ph)
104 ph->ph_cur_pos = ph->ph_save_pos;
115 di_prop_fm_decode_ints(prop_handle_t *ph, void *data, uint_t *nelements)
128 i = DDI_PROP_INT(ph, DDI_PROP_CMD_SKIP, NULL);
149 di_prop_reset_pos(ph);
164 i = DDI_PROP_INT(ph, DDI_PROP_CMD_DECODE, tmp);
191 di_prop_fm_decode_strings(prop_handle_t *ph, void *data, uint_t *nelements)
210 size = DDI_PROP_STR(ph, DDI_PROP_CMD_GET_DSIZE, NULL);
240 di_prop_reset_pos(ph);
243 i = DDI_PROP_STR(ph, DDI_PROP_CMD_DECODE, tmp);
271 di_prop_fm_decode_bytes(prop_handle_t *ph, void *data, uint_t *nelements)
280 if (ph->ph_size == 0)
286 nbytes = DDI_PROP_BYTES(ph, DDI_PROP_CMD_GET_DSIZE,
287 data, ph->ph_size);
308 i = DDI_PROP_BYTES(ph, DDI_PROP_CMD_DECODE, tmp, nbytes);
371 di_prop_1275_int(prop_handle_t *ph, uint_t cmd, int *data)
380 if (ph->ph_cur_pos == NULL || ph->ph_size == 0)
382 if (ph->ph_flags & PH_FROM_PROM) {
383 i = ph->ph_size < PROP_1275_INT_SIZE ?
384 ph->ph_size : PROP_1275_INT_SIZE;
385 if ((int *)ph->ph_cur_pos > ((int *)ph->ph_data +
386 ph->ph_size - i))
388 } else if (ph->ph_size < sizeof (int) ||
389 ((int *)ph->ph_cur_pos > ((int *)ph->ph_data +
390 ph->ph_size - sizeof (int)))) {
398 if (ph->ph_flags & PH_FROM_PROM) {
400 (uchar_t *)ph->ph_cur_pos,
401 (ph->ph_size < PROP_1275_INT_SIZE) ?
402 ph->ph_size : PROP_1275_INT_SIZE);
404 bcopy(ph->ph_cur_pos, (caddr_t)data, sizeof (int));
411 ph->ph_cur_pos = (uchar_t *)ph->ph_cur_pos + PROP_1275_INT_SIZE;
418 if (ph->ph_cur_pos == NULL || ph->ph_size == 0 ||
419 ph->ph_size < PROP_1275_INT_SIZE ||
420 ((int *)ph->ph_cur_pos > ((int *)ph->ph_data +
421 ph->ph_size - sizeof (int))))
428 bcopy((caddr_t)data, ph->ph_cur_pos, sizeof (int));
434 ph->ph_cur_pos = (uchar_t *)ph->ph_cur_pos + PROP_1275_INT_SIZE;
441 if (ph->ph_cur_pos == NULL || ph->ph_size == 0 ||
442 ph->ph_size < PROP_1275_INT_SIZE)
446 if ((caddr_t)ph->ph_cur_pos ==
447 (caddr_t)ph->ph_data + ph->ph_size) {
449 } else if ((caddr_t)ph->ph_cur_pos >
450 (caddr_t)ph->ph_data + ph->ph_size) {
458 ph->ph_cur_pos = (uchar_t *)ph->ph_cur_pos + PROP_1275_INT_SIZE;
486 di_prop_int64_op(prop_handle_t *ph, uint_t cmd, int64_t *data)
493 if (ph->ph_cur_pos == NULL || ph->ph_size == 0)
495 if (ph->ph_flags & PH_FROM_PROM) {
497 } else if (ph->ph_size < sizeof (int64_t) ||
498 ((int64_t *)ph->ph_cur_pos > ((int64_t *)ph->ph_data +
499 ph->ph_size - sizeof (int64_t)))) {
507 bcopy(ph->ph_cur_pos, (caddr_t)data, sizeof (int64_t));
513 ph->ph_cur_pos = (uchar_t *)ph->ph_cur_pos +
521 if (ph->ph_cur_pos == NULL || ph->ph_size == 0 ||
522 ph->ph_size < sizeof (int64_t) ||
523 ((int64_t *)ph->ph_cur_pos > ((int64_t *)ph->ph_data +
524 ph->ph_size - sizeof (int64_t))))
531 bcopy((caddr_t)data, ph->ph_cur_pos, sizeof (int64_t));
537 ph->ph_cur_pos = (uchar_t *)ph->ph_cur_pos +
545 if (ph->ph_cur_pos == NULL || ph->ph_size == 0 ||
546 ph->ph_size < sizeof (int64_t))
550 if ((caddr_t)ph->ph_cur_pos ==
551 (caddr_t)ph->ph_data + ph->ph_size) {
553 } else if ((caddr_t)ph->ph_cur_pos >
554 (caddr_t)ph->ph_data + ph->ph_size) {
562 ph->ph_cur_pos = (uchar_t *)ph->ph_cur_pos +
589 di_prop_1275_string(prop_handle_t *ph, uint_t cmd, char *data)
600 if (ph->ph_cur_pos == NULL || ph->ph_size == 0) {
604 n = strlen((char *)ph->ph_cur_pos) + 1;
605 if ((char *)ph->ph_cur_pos > ((char *)ph->ph_data +
606 ph->ph_size - n)) {
613 bcopy((char *)ph->ph_cur_pos, data, n);
619 ph->ph_cur_pos = (char *)ph->ph_cur_pos + n;
626 if (ph->ph_cur_pos == NULL || ph->ph_size == 0) {
631 if ((char *)ph->ph_cur_pos > ((char *)ph->ph_data +
632 ph->ph_size - n)) {
639 bcopy(data, (char *)ph->ph_cur_pos, n);
645 ph->ph_cur_pos = (char *)ph->ph_cur_pos + n;
652 if (ph->ph_cur_pos == NULL || ph->ph_size == 0) {
662 p = (char *)ph->ph_cur_pos;
663 end = (char *)ph->ph_data + ph->ph_size;
677 ph->ph_cur_pos = p + 1;
696 p = (char *)ph->ph_cur_pos;
697 end = (char *)ph->ph_data + ph->ph_size;
700 ph->ph_cur_pos = p;
726 di_prop_1275_bytes(prop_handle_t *ph, uint_t cmd, uchar_t *data,
734 if (ph->ph_cur_pos == NULL || ph->ph_size == 0 ||
735 ph->ph_size < nelements ||
736 ((char *)ph->ph_cur_pos > ((char *)ph->ph_data +
737 ph->ph_size - nelements)))
743 bcopy((char *)ph->ph_cur_pos, (char *)data, nelements);
748 ph->ph_cur_pos = (char *)ph->ph_cur_pos + nelements;
755 if (ph->ph_cur_pos == NULL || ph->ph_size == 0 ||
756 ph->ph_size < nelements ||
757 ((char *)ph->ph_cur_pos > ((char *)ph->ph_data +
758 ph->ph_size - nelements)))
764 bcopy((char *)data, (char *)ph->ph_cur_pos, nelements);
770 ph->ph_cur_pos = (char *)ph->ph_cur_pos + nelements;
777 if (ph->ph_cur_pos == NULL || ph->ph_size == 0 ||
778 ph->ph_size < nelements)
781 if ((char *)ph->ph_cur_pos > ((char *)ph->ph_data +
782 ph->ph_size - nelements))
788 ph->ph_cur_pos = (char *)ph->ph_cur_pos + nelements;
831 prop_handle_t ph;
896 bzero((caddr_t)&ph, sizeof (prop_handle_t));
897 ph.ph_data = *(uchar_t **)data;
898 ph.ph_size = size;
903 ph.ph_cur_pos = ph.ph_data;
904 ph.ph_save_pos = ph.ph_data;
905 ph.ph_ops = &prop_1275_ops;
906 ph.ph_flags = PH_FROM_PROM;
921 if ((*prop_decoder)(&ph, data, (uint_t *)&nelements)
929 free(ph.ph_data);