Lines Matching refs:itb

197 static int idm_itextbuf_add_nvpair(nvpair_t *nvp, idm_textbuf_t *itb);
200 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb);
203 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb);
206 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb);
209 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb);
212 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb);
215 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb);
218 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb);
220 static void textbuf_memcpy(idm_textbuf_t *itb, void *mem, int mem_len);
222 static void textbuf_strcpy(idm_textbuf_t *itb, char *str);
224 static void textbuf_append_char(idm_textbuf_t *itb, char c);
226 static void textbuf_terminate_kvpair(idm_textbuf_t *itb);
742 idm_textbuf_t itb; in idm_nvlist_to_textbuf() local
744 bzero(&itb, sizeof (itb)); in idm_nvlist_to_textbuf()
754 if ((rc = idm_itextbuf_add_nvpair(nvp, &itb)) != 0) { in idm_nvlist_to_textbuf()
760 *textbuf = itb.itb_mem; in idm_nvlist_to_textbuf()
761 *textbuflen = itb.itb_mem_len; in idm_nvlist_to_textbuf()
762 *validlen = itb.itb_offset; in idm_nvlist_to_textbuf()
769 idm_textbuf_t *itb) in idm_itextbuf_add_nvpair() argument
797 rc = idm_itextbuf_add_string(nvp, ikvx, itb); in idm_itextbuf_add_nvpair()
800 rc = idm_itextbuf_add_boolean(nvp, ikvx, itb); in idm_itextbuf_add_nvpair()
805 rc = idm_itextbuf_add_binary(nvp, ikvx, itb); in idm_itextbuf_add_nvpair()
808 rc = idm_itextbuf_add_large_numerical(nvp, ikvx, itb); in idm_itextbuf_add_nvpair()
811 rc = idm_itextbuf_add_numerical(nvp, ikvx, itb); in idm_itextbuf_add_nvpair()
814 rc = idm_itextbuf_add_numeric_range(nvp, ikvx, itb); in idm_itextbuf_add_nvpair()
817 rc = idm_itextbuf_add_list_of_values(nvp, ikvx, itb); in idm_itextbuf_add_nvpair()
830 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb) in idm_itextbuf_add_string() argument
838 textbuf_strcpy(itb, key_name); in idm_itextbuf_add_string()
841 textbuf_append_char(itb, '='); in idm_itextbuf_add_string()
846 textbuf_strcpy(itb, value); in idm_itextbuf_add_string()
849 textbuf_terminate_kvpair(itb); in idm_itextbuf_add_string()
858 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb) in idm_itextbuf_add_boolean() argument
866 textbuf_strcpy(itb, key_name); in idm_itextbuf_add_boolean()
869 textbuf_append_char(itb, '='); in idm_itextbuf_add_boolean()
874 textbuf_strcpy(itb, value ? "Yes" : "No"); in idm_itextbuf_add_boolean()
877 textbuf_terminate_kvpair(itb); in idm_itextbuf_add_boolean()
885 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb) in idm_itextbuf_add_binary() argument
895 textbuf_strcpy(itb, key_name); in idm_itextbuf_add_binary()
898 textbuf_append_char(itb, '='); in idm_itextbuf_add_binary()
904 textbuf_strcpy(itb, "0x"); in idm_itextbuf_add_binary()
910 textbuf_append_char(itb, idm_hex_to_ascii[(n >> 4) & 0xf]); in idm_itextbuf_add_binary()
911 textbuf_append_char(itb, idm_hex_to_ascii[n & 0xf]); in idm_itextbuf_add_binary()
915 textbuf_terminate_kvpair(itb); in idm_itextbuf_add_binary()
923 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb) in idm_itextbuf_add_large_numerical() argument
932 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb) in idm_itextbuf_add_numerical() argument
941 textbuf_strcpy(itb, key_name); in idm_itextbuf_add_numerical()
944 textbuf_append_char(itb, '='); in idm_itextbuf_add_numerical()
950 textbuf_strcpy(itb, str); in idm_itextbuf_add_numerical()
953 textbuf_terminate_kvpair(itb); in idm_itextbuf_add_numerical()
961 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb) in idm_itextbuf_add_numeric_range() argument
970 const idm_kv_xlate_t *ikvx, idm_textbuf_t *itb) in idm_itextbuf_add_list_of_values() argument
979 textbuf_strcpy(itb, key_name); in idm_itextbuf_add_list_of_values()
982 textbuf_append_char(itb, '='); in idm_itextbuf_add_list_of_values()
989 textbuf_strcpy(itb, vchoice_string); in idm_itextbuf_add_list_of_values()
993 textbuf_append_char(itb, ','); in idm_itextbuf_add_list_of_values()
998 textbuf_terminate_kvpair(itb); in idm_itextbuf_add_list_of_values()
1005 textbuf_makeroom(idm_textbuf_t *itb, int size) in textbuf_makeroom() argument
1010 if (itb->itb_mem == NULL) { in textbuf_makeroom()
1011 itb->itb_mem_len = MAX(TEXTBUF_CHUNKSIZE, size); in textbuf_makeroom()
1012 itb->itb_mem = kmem_alloc(itb->itb_mem_len, KM_SLEEP); in textbuf_makeroom()
1013 } else if ((itb->itb_offset + size) > itb->itb_mem_len) { in textbuf_makeroom()
1014 new_mem_len = itb->itb_mem_len + MAX(TEXTBUF_CHUNKSIZE, size); in textbuf_makeroom()
1016 bcopy(itb->itb_mem, new_mem, itb->itb_mem_len); in textbuf_makeroom()
1017 kmem_free(itb->itb_mem, itb->itb_mem_len); in textbuf_makeroom()
1018 itb->itb_mem = new_mem; in textbuf_makeroom()
1019 itb->itb_mem_len = new_mem_len; in textbuf_makeroom()
1024 textbuf_memcpy(idm_textbuf_t *itb, void *mem, int mem_len) in textbuf_memcpy() argument
1026 textbuf_makeroom(itb, mem_len); in textbuf_memcpy()
1027 (void) memcpy(itb->itb_mem + itb->itb_offset, mem, mem_len); in textbuf_memcpy()
1028 itb->itb_offset += mem_len; in textbuf_memcpy()
1032 textbuf_strcpy(idm_textbuf_t *itb, char *str) in textbuf_strcpy() argument
1034 textbuf_memcpy(itb, str, strlen(str)); in textbuf_strcpy()
1038 textbuf_append_char(idm_textbuf_t *itb, char c) in textbuf_append_char() argument
1040 textbuf_makeroom(itb, sizeof (char)); in textbuf_append_char()
1041 *(itb->itb_mem + itb->itb_offset) = c; in textbuf_append_char()
1042 itb->itb_offset++; in textbuf_append_char()
1046 textbuf_terminate_kvpair(idm_textbuf_t *itb) in textbuf_terminate_kvpair() argument
1048 textbuf_append_char(itb, '\0'); in textbuf_terminate_kvpair()
1324 idm_textbuf_t itb; in idm_nvpair_value_to_textbuf() local
1327 bzero(&itb, sizeof (itb)); in idm_nvpair_value_to_textbuf()
1328 rv = idm_itextbuf_add_nvpair(nvp, &itb); in idm_nvpair_value_to_textbuf()
1331 str = kmem_alloc(itb.itb_mem_len, KM_SLEEP); in idm_nvpair_value_to_textbuf()
1332 len = idm_strcspn(itb.itb_mem, "="); in idm_nvpair_value_to_textbuf()
1333 if (len > strlen(itb.itb_mem)) { in idm_nvpair_value_to_textbuf()
1334 kmem_free(itb.itb_mem, itb.itb_mem_len); in idm_nvpair_value_to_textbuf()
1337 (void) strcpy(str, &itb.itb_mem[len+1]); in idm_nvpair_value_to_textbuf()
1339 kmem_free(itb.itb_mem, itb.itb_mem_len); in idm_nvpair_value_to_textbuf()
1350 idm_textbuf_t *itb; in idm_nvlist_to_itextbuf() local
1358 itb = kmem_zalloc(sizeof (idm_textbuf_t), KM_SLEEP); in idm_nvlist_to_itextbuf()
1359 ASSERT(itb != NULL); in idm_nvlist_to_itextbuf()
1360 itb->itb_mem = textbuf; in idm_nvlist_to_itextbuf()
1361 itb->itb_mem_len = textbuflen; in idm_nvlist_to_itextbuf()
1362 itb->itb_offset = validlen; in idm_nvlist_to_itextbuf()
1363 return ((void *)itb); in idm_nvlist_to_itextbuf()
1377 idm_textbuf_t *itb = arg; in idm_pdu_init_text_data() local
1381 ASSERT(itb != NULL); in idm_pdu_init_text_data()
1386 if (itb->itb_offset <= max_xfer_len) { in idm_pdu_init_text_data()
1390 bcopy((uint8_t *)itb->itb_mem, pdu->isp_data, in idm_pdu_init_text_data()
1391 (size_t)itb->itb_offset); in idm_pdu_init_text_data()
1392 pdu->isp_datalen = itb->itb_offset; in idm_pdu_init_text_data()
1398 start_ptr = itb->itb_mem; in idm_pdu_init_text_data()
1399 end_ptr = &itb->itb_mem[max_xfer_len - 1]; in idm_pdu_init_text_data()
1404 len = (uintptr_t)&itb->itb_mem[itb->itb_offset] - in idm_pdu_init_text_data()
1422 if (end_ptr + 1 <= &itb->itb_mem[itb->itb_offset]) { in idm_pdu_init_text_data()
1444 idm_textbuf_t *itb = arg; in idm_itextbuf_free() local
1445 ASSERT(itb != NULL); in idm_itextbuf_free()
1446 kmem_free(itb->itb_mem, itb->itb_mem_len); in idm_itextbuf_free()
1447 kmem_free(itb, sizeof (idm_textbuf_t)); in idm_itextbuf_free()