Lines Matching refs:p

27 OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *p, const char *key)  in OSSL_PARAM_locate()  argument
29 if (p != NULL && key != NULL) in OSSL_PARAM_locate()
30 for (; p->key != NULL; p++) in OSSL_PARAM_locate()
31 if (strcmp(key, p->key) == 0) in OSSL_PARAM_locate()
32 return p; in OSSL_PARAM_locate()
36 const OSSL_PARAM *OSSL_PARAM_locate_const(const OSSL_PARAM *p, const char *key) in OSSL_PARAM_locate_const() argument
38 return OSSL_PARAM_locate((OSSL_PARAM *)p, key); in OSSL_PARAM_locate_const()
54 int OSSL_PARAM_modified(const OSSL_PARAM *p) in OSSL_PARAM_modified() argument
56 return p != NULL && p->return_size != OSSL_PARAM_UNMODIFIED; in OSSL_PARAM_modified()
59 void OSSL_PARAM_set_all_unmodified(OSSL_PARAM *p) in OSSL_PARAM_set_all_unmodified() argument
61 if (p != NULL) in OSSL_PARAM_set_all_unmodified()
62 while (p->key != NULL) in OSSL_PARAM_set_all_unmodified()
63 p++->return_size = OSSL_PARAM_UNMODIFIED; in OSSL_PARAM_set_all_unmodified()
76 static int check_sign_bytes(const unsigned char *p, size_t n, unsigned char s) in check_sign_bytes() argument
81 if (p[i] != s) in check_sign_bytes()
166 static int general_get_int(const OSSL_PARAM *p, void *val, size_t val_size) in general_get_int() argument
168 if (p->data_type == OSSL_PARAM_INTEGER) in general_get_int()
169 return signed_from_signed(val, val_size, p->data, p->data_size); in general_get_int()
170 if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) in general_get_int()
171 return signed_from_unsigned(val, val_size, p->data, p->data_size); in general_get_int()
176 static int general_set_int(OSSL_PARAM *p, void *val, size_t val_size) in general_set_int() argument
180 p->return_size = val_size; /* Expected size */ in general_set_int()
181 if (p->data == NULL) in general_set_int()
183 if (p->data_type == OSSL_PARAM_INTEGER) in general_set_int()
184 r = signed_from_signed(p->data, p->data_size, val, val_size); in general_set_int()
185 else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) in general_set_int()
186 r = unsigned_from_signed(p->data, p->data_size, val, val_size); in general_set_int()
187 p->return_size = r ? p->data_size : val_size; in general_set_int()
192 static int general_get_uint(const OSSL_PARAM *p, void *val, size_t val_size) in general_get_uint() argument
194 if (p->data_type == OSSL_PARAM_INTEGER) in general_get_uint()
195 return unsigned_from_signed(val, val_size, p->data, p->data_size); in general_get_uint()
196 if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) in general_get_uint()
197 return unsigned_from_unsigned(val, val_size, p->data, p->data_size); in general_get_uint()
202 static int general_set_uint(OSSL_PARAM *p, void *val, size_t val_size) in general_set_uint() argument
206 p->return_size = val_size; /* Expected size */ in general_set_uint()
207 if (p->data == NULL) in general_set_uint()
209 if (p->data_type == OSSL_PARAM_INTEGER) in general_set_uint()
210 r = signed_from_unsigned(p->data, p->data_size, val, val_size); in general_set_uint()
211 else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) in general_set_uint()
212 r = unsigned_from_unsigned(p->data, p->data_size, val, val_size); in general_set_uint()
213 p->return_size = r ? p->data_size : val_size; in general_set_uint()
217 int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val) in OSSL_PARAM_get_int() argument
222 return OSSL_PARAM_get_int32(p, (int32_t *)val); in OSSL_PARAM_get_int()
224 return OSSL_PARAM_get_int64(p, (int64_t *)val); in OSSL_PARAM_get_int()
227 return general_get_int(p, val, sizeof(*val)); in OSSL_PARAM_get_int()
230 int OSSL_PARAM_set_int(OSSL_PARAM *p, int val) in OSSL_PARAM_set_int() argument
235 return OSSL_PARAM_set_int32(p, (int32_t)val); in OSSL_PARAM_set_int()
237 return OSSL_PARAM_set_int64(p, (int64_t)val); in OSSL_PARAM_set_int()
240 return general_set_int(p, &val, sizeof(val)); in OSSL_PARAM_set_int()
248 int OSSL_PARAM_get_uint(const OSSL_PARAM *p, unsigned int *val) in OSSL_PARAM_get_uint() argument
253 return OSSL_PARAM_get_uint32(p, (uint32_t *)val); in OSSL_PARAM_get_uint()
255 return OSSL_PARAM_get_uint64(p, (uint64_t *)val); in OSSL_PARAM_get_uint()
258 return general_get_uint(p, val, sizeof(*val)); in OSSL_PARAM_get_uint()
261 int OSSL_PARAM_set_uint(OSSL_PARAM *p, unsigned int val) in OSSL_PARAM_set_uint() argument
266 return OSSL_PARAM_set_uint32(p, (uint32_t)val); in OSSL_PARAM_set_uint()
268 return OSSL_PARAM_set_uint64(p, (uint64_t)val); in OSSL_PARAM_set_uint()
271 return general_set_uint(p, &val, sizeof(val)); in OSSL_PARAM_set_uint()
280 int OSSL_PARAM_get_long(const OSSL_PARAM *p, long int *val) in OSSL_PARAM_get_long() argument
285 return OSSL_PARAM_get_int32(p, (int32_t *)val); in OSSL_PARAM_get_long()
287 return OSSL_PARAM_get_int64(p, (int64_t *)val); in OSSL_PARAM_get_long()
290 return general_get_int(p, val, sizeof(*val)); in OSSL_PARAM_get_long()
293 int OSSL_PARAM_set_long(OSSL_PARAM *p, long int val) in OSSL_PARAM_set_long() argument
298 return OSSL_PARAM_set_int32(p, (int32_t)val); in OSSL_PARAM_set_long()
300 return OSSL_PARAM_set_int64(p, (int64_t)val); in OSSL_PARAM_set_long()
303 return general_set_int(p, &val, sizeof(val)); in OSSL_PARAM_set_long()
311 int OSSL_PARAM_get_ulong(const OSSL_PARAM *p, unsigned long int *val) in OSSL_PARAM_get_ulong() argument
316 return OSSL_PARAM_get_uint32(p, (uint32_t *)val); in OSSL_PARAM_get_ulong()
318 return OSSL_PARAM_get_uint64(p, (uint64_t *)val); in OSSL_PARAM_get_ulong()
321 return general_get_uint(p, val, sizeof(*val)); in OSSL_PARAM_get_ulong()
324 int OSSL_PARAM_set_ulong(OSSL_PARAM *p, unsigned long int val) in OSSL_PARAM_set_ulong() argument
329 return OSSL_PARAM_set_uint32(p, (uint32_t)val); in OSSL_PARAM_set_ulong()
331 return OSSL_PARAM_set_uint64(p, (uint64_t)val); in OSSL_PARAM_set_ulong()
334 return general_set_uint(p, &val, sizeof(val)); in OSSL_PARAM_set_ulong()
343 int OSSL_PARAM_get_int32(const OSSL_PARAM *p, int32_t *val) in OSSL_PARAM_get_int32() argument
347 if (val == NULL || p == NULL ) in OSSL_PARAM_get_int32()
350 if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_get_int32()
354 switch (p->data_size) { in OSSL_PARAM_get_int32()
356 *val = *(const int32_t *)p->data; in OSSL_PARAM_get_int32()
359 i64 = *(const int64_t *)p->data; in OSSL_PARAM_get_int32()
367 return general_get_int(p, val, sizeof(*val)); in OSSL_PARAM_get_int32()
369 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { in OSSL_PARAM_get_int32()
374 switch (p->data_size) { in OSSL_PARAM_get_int32()
376 u32 = *(const uint32_t *)p->data; in OSSL_PARAM_get_int32()
383 u64 = *(const uint64_t *)p->data; in OSSL_PARAM_get_int32()
391 return general_get_int(p, val, sizeof(*val)); in OSSL_PARAM_get_int32()
393 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_get_int32()
394 switch (p->data_size) { in OSSL_PARAM_get_int32()
396 d = *(const double *)p->data; in OSSL_PARAM_get_int32()
407 int OSSL_PARAM_set_int32(OSSL_PARAM *p, int32_t val) in OSSL_PARAM_set_int32() argument
409 if (p == NULL) in OSSL_PARAM_set_int32()
411 p->return_size = 0; in OSSL_PARAM_set_int32()
412 if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_set_int32()
414 p->return_size = sizeof(int32_t); /* Minimum expected size */ in OSSL_PARAM_set_int32()
415 if (p->data == NULL) in OSSL_PARAM_set_int32()
417 switch (p->data_size) { in OSSL_PARAM_set_int32()
419 *(int32_t *)p->data = val; in OSSL_PARAM_set_int32()
422 p->return_size = sizeof(int64_t); in OSSL_PARAM_set_int32()
423 *(int64_t *)p->data = (int64_t)val; in OSSL_PARAM_set_int32()
427 return general_set_int(p, &val, sizeof(val)); in OSSL_PARAM_set_int32()
428 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER && val >= 0) { in OSSL_PARAM_set_int32()
430 p->return_size = sizeof(uint32_t); /* Minimum expected size */ in OSSL_PARAM_set_int32()
431 if (p->data == NULL) in OSSL_PARAM_set_int32()
433 switch (p->data_size) { in OSSL_PARAM_set_int32()
435 *(uint32_t *)p->data = (uint32_t)val; in OSSL_PARAM_set_int32()
438 p->return_size = sizeof(uint64_t); in OSSL_PARAM_set_int32()
439 *(uint64_t *)p->data = (uint64_t)val; in OSSL_PARAM_set_int32()
443 return general_set_int(p, &val, sizeof(val)); in OSSL_PARAM_set_int32()
444 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_set_int32()
445 p->return_size = sizeof(double); in OSSL_PARAM_set_int32()
446 if (p->data == NULL) in OSSL_PARAM_set_int32()
448 switch (p->data_size) { in OSSL_PARAM_set_int32()
450 *(double *)p->data = (double)val; in OSSL_PARAM_set_int32()
463 int OSSL_PARAM_get_uint32(const OSSL_PARAM *p, uint32_t *val) in OSSL_PARAM_get_uint32() argument
467 if (val == NULL || p == NULL) in OSSL_PARAM_get_uint32()
470 if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { in OSSL_PARAM_get_uint32()
474 switch (p->data_size) { in OSSL_PARAM_get_uint32()
476 *val = *(const uint32_t *)p->data; in OSSL_PARAM_get_uint32()
479 u64 = *(const uint64_t *)p->data; in OSSL_PARAM_get_uint32()
487 return general_get_uint(p, val, sizeof(*val)); in OSSL_PARAM_get_uint32()
488 } else if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_get_uint32()
493 switch (p->data_size) { in OSSL_PARAM_get_uint32()
495 i32 = *(const int32_t *)p->data; in OSSL_PARAM_get_uint32()
502 i64 = *(const int64_t *)p->data; in OSSL_PARAM_get_uint32()
510 return general_get_uint(p, val, sizeof(*val)); in OSSL_PARAM_get_uint32()
511 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_get_uint32()
512 switch (p->data_size) { in OSSL_PARAM_get_uint32()
514 d = *(const double *)p->data; in OSSL_PARAM_get_uint32()
525 int OSSL_PARAM_set_uint32(OSSL_PARAM *p, uint32_t val) in OSSL_PARAM_set_uint32() argument
527 if (p == NULL) in OSSL_PARAM_set_uint32()
529 p->return_size = 0; in OSSL_PARAM_set_uint32()
531 if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { in OSSL_PARAM_set_uint32()
533 p->return_size = sizeof(uint32_t); /* Minimum expected size */ in OSSL_PARAM_set_uint32()
534 if (p->data == NULL) in OSSL_PARAM_set_uint32()
536 switch (p->data_size) { in OSSL_PARAM_set_uint32()
538 *(uint32_t *)p->data = val; in OSSL_PARAM_set_uint32()
541 p->return_size = sizeof(uint64_t); in OSSL_PARAM_set_uint32()
542 *(uint64_t *)p->data = val; in OSSL_PARAM_set_uint32()
546 return general_set_uint(p, &val, sizeof(val)); in OSSL_PARAM_set_uint32()
547 } else if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_set_uint32()
549 p->return_size = sizeof(int32_t); /* Minimum expected size */ in OSSL_PARAM_set_uint32()
550 if (p->data == NULL) in OSSL_PARAM_set_uint32()
552 switch (p->data_size) { in OSSL_PARAM_set_uint32()
555 *(int32_t *)p->data = (int32_t)val; in OSSL_PARAM_set_uint32()
560 p->return_size = sizeof(int64_t); in OSSL_PARAM_set_uint32()
561 *(int64_t *)p->data = (int64_t)val; in OSSL_PARAM_set_uint32()
565 return general_set_uint(p, &val, sizeof(val)); in OSSL_PARAM_set_uint32()
566 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_set_uint32()
567 p->return_size = sizeof(double); in OSSL_PARAM_set_uint32()
568 if (p->data == NULL) in OSSL_PARAM_set_uint32()
570 switch (p->data_size) { in OSSL_PARAM_set_uint32()
572 *(double *)p->data = (double)val; in OSSL_PARAM_set_uint32()
585 int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val) in OSSL_PARAM_get_int64() argument
589 if (val == NULL || p == NULL ) in OSSL_PARAM_get_int64()
592 if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_get_int64()
594 switch (p->data_size) { in OSSL_PARAM_get_int64()
596 *val = *(const int32_t *)p->data; in OSSL_PARAM_get_int64()
599 *val = *(const int64_t *)p->data; in OSSL_PARAM_get_int64()
603 return general_get_int(p, val, sizeof(*val)); in OSSL_PARAM_get_int64()
604 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { in OSSL_PARAM_get_int64()
608 switch (p->data_size) { in OSSL_PARAM_get_int64()
610 *val = *(const uint32_t *)p->data; in OSSL_PARAM_get_int64()
613 u64 = *(const uint64_t *)p->data; in OSSL_PARAM_get_int64()
621 return general_get_int(p, val, sizeof(*val)); in OSSL_PARAM_get_int64()
622 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_get_int64()
623 switch (p->data_size) { in OSSL_PARAM_get_int64()
625 d = *(const double *)p->data; in OSSL_PARAM_get_int64()
643 int OSSL_PARAM_set_int64(OSSL_PARAM *p, int64_t val) in OSSL_PARAM_set_int64() argument
647 if (p == NULL) in OSSL_PARAM_set_int64()
649 p->return_size = 0; in OSSL_PARAM_set_int64()
650 if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_set_int64()
652 p->return_size = sizeof(int64_t); /* Expected size */ in OSSL_PARAM_set_int64()
653 if (p->data == NULL) in OSSL_PARAM_set_int64()
655 switch (p->data_size) { in OSSL_PARAM_set_int64()
658 p->return_size = sizeof(int32_t); in OSSL_PARAM_set_int64()
659 *(int32_t *)p->data = (int32_t)val; in OSSL_PARAM_set_int64()
664 *(int64_t *)p->data = val; in OSSL_PARAM_set_int64()
668 return general_set_int(p, &val, sizeof(val)); in OSSL_PARAM_set_int64()
669 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER && val >= 0) { in OSSL_PARAM_set_int64()
671 p->return_size = sizeof(uint64_t); /* Expected size */ in OSSL_PARAM_set_int64()
672 if (p->data == NULL) in OSSL_PARAM_set_int64()
674 switch (p->data_size) { in OSSL_PARAM_set_int64()
677 p->return_size = sizeof(uint32_t); in OSSL_PARAM_set_int64()
678 *(uint32_t *)p->data = (uint32_t)val; in OSSL_PARAM_set_int64()
683 *(uint64_t *)p->data = (uint64_t)val; in OSSL_PARAM_set_int64()
687 return general_set_int(p, &val, sizeof(val)); in OSSL_PARAM_set_int64()
688 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_set_int64()
689 p->return_size = sizeof(double); in OSSL_PARAM_set_int64()
690 if (p->data == NULL) in OSSL_PARAM_set_int64()
692 switch (p->data_size) { in OSSL_PARAM_set_int64()
696 *(double *)p->data = (double)val; in OSSL_PARAM_set_int64()
710 int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val) in OSSL_PARAM_get_uint64() argument
714 if (val == NULL || p == NULL) in OSSL_PARAM_get_uint64()
717 if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { in OSSL_PARAM_get_uint64()
719 switch (p->data_size) { in OSSL_PARAM_get_uint64()
721 *val = *(const uint32_t *)p->data; in OSSL_PARAM_get_uint64()
724 *val = *(const uint64_t *)p->data; in OSSL_PARAM_get_uint64()
728 return general_get_uint(p, val, sizeof(*val)); in OSSL_PARAM_get_uint64()
729 } else if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_get_uint64()
734 switch (p->data_size) { in OSSL_PARAM_get_uint64()
736 i32 = *(const int32_t *)p->data; in OSSL_PARAM_get_uint64()
743 i64 = *(const int64_t *)p->data; in OSSL_PARAM_get_uint64()
751 return general_get_uint(p, val, sizeof(*val)); in OSSL_PARAM_get_uint64()
752 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_get_uint64()
753 switch (p->data_size) { in OSSL_PARAM_get_uint64()
755 d = *(const double *)p->data; in OSSL_PARAM_get_uint64()
773 int OSSL_PARAM_set_uint64(OSSL_PARAM *p, uint64_t val) in OSSL_PARAM_set_uint64() argument
775 if (p == NULL) in OSSL_PARAM_set_uint64()
777 p->return_size = 0; in OSSL_PARAM_set_uint64()
779 if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { in OSSL_PARAM_set_uint64()
781 p->return_size = sizeof(uint64_t); /* Expected size */ in OSSL_PARAM_set_uint64()
782 if (p->data == NULL) in OSSL_PARAM_set_uint64()
784 switch (p->data_size) { in OSSL_PARAM_set_uint64()
787 p->return_size = sizeof(uint32_t); in OSSL_PARAM_set_uint64()
788 *(uint32_t *)p->data = (uint32_t)val; in OSSL_PARAM_set_uint64()
793 *(uint64_t *)p->data = val; in OSSL_PARAM_set_uint64()
797 return general_set_uint(p, &val, sizeof(val)); in OSSL_PARAM_set_uint64()
798 } else if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_set_uint64()
800 p->return_size = sizeof(int64_t); /* Expected size */ in OSSL_PARAM_set_uint64()
801 if (p->data == NULL) in OSSL_PARAM_set_uint64()
803 switch (p->data_size) { in OSSL_PARAM_set_uint64()
806 p->return_size = sizeof(int32_t); in OSSL_PARAM_set_uint64()
807 *(int32_t *)p->data = (int32_t)val; in OSSL_PARAM_set_uint64()
813 *(int64_t *)p->data = (int64_t)val; in OSSL_PARAM_set_uint64()
819 return general_set_uint(p, &val, sizeof(val)); in OSSL_PARAM_set_uint64()
820 } else if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_set_uint64()
821 p->return_size = sizeof(double); in OSSL_PARAM_set_uint64()
822 switch (p->data_size) { in OSSL_PARAM_set_uint64()
825 *(double *)p->data = (double)val; in OSSL_PARAM_set_uint64()
840 int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val) in OSSL_PARAM_get_size_t() argument
845 return OSSL_PARAM_get_uint32(p, (uint32_t *)val); in OSSL_PARAM_get_size_t()
847 return OSSL_PARAM_get_uint64(p, (uint64_t *)val); in OSSL_PARAM_get_size_t()
850 return general_get_uint(p, val, sizeof(*val)); in OSSL_PARAM_get_size_t()
853 int OSSL_PARAM_set_size_t(OSSL_PARAM *p, size_t val) in OSSL_PARAM_set_size_t() argument
858 return OSSL_PARAM_set_uint32(p, (uint32_t)val); in OSSL_PARAM_set_size_t()
860 return OSSL_PARAM_set_uint64(p, (uint64_t)val); in OSSL_PARAM_set_size_t()
863 return general_set_uint(p, &val, sizeof(val)); in OSSL_PARAM_set_size_t()
872 int OSSL_PARAM_get_time_t(const OSSL_PARAM *p, time_t *val) in OSSL_PARAM_get_time_t() argument
877 return OSSL_PARAM_get_int32(p, (int32_t *)val); in OSSL_PARAM_get_time_t()
879 return OSSL_PARAM_get_int64(p, (int64_t *)val); in OSSL_PARAM_get_time_t()
882 return general_get_int(p, val, sizeof(*val)); in OSSL_PARAM_get_time_t()
885 int OSSL_PARAM_set_time_t(OSSL_PARAM *p, time_t val) in OSSL_PARAM_set_time_t() argument
890 return OSSL_PARAM_set_int32(p, (int32_t)val); in OSSL_PARAM_set_time_t()
892 return OSSL_PARAM_set_int64(p, (int64_t)val); in OSSL_PARAM_set_time_t()
895 return general_set_int(p, &val, sizeof(val)); in OSSL_PARAM_set_time_t()
903 int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val) in OSSL_PARAM_get_BN() argument
908 || p == NULL in OSSL_PARAM_get_BN()
909 || p->data_type != OSSL_PARAM_UNSIGNED_INTEGER) in OSSL_PARAM_get_BN()
912 b = BN_native2bn(p->data, (int)p->data_size, *val); in OSSL_PARAM_get_BN()
920 int OSSL_PARAM_set_BN(OSSL_PARAM *p, const BIGNUM *val) in OSSL_PARAM_set_BN() argument
924 if (p == NULL) in OSSL_PARAM_set_BN()
926 p->return_size = 0; in OSSL_PARAM_set_BN()
927 if (val == NULL || p->data_type != OSSL_PARAM_UNSIGNED_INTEGER) in OSSL_PARAM_set_BN()
939 p->return_size = bytes; in OSSL_PARAM_set_BN()
940 if (p->data == NULL) in OSSL_PARAM_set_BN()
942 if (p->data_size >= bytes) { in OSSL_PARAM_set_BN()
943 p->return_size = p->data_size; in OSSL_PARAM_set_BN()
944 return BN_bn2nativepad(val, p->data, p->data_size) >= 0; in OSSL_PARAM_set_BN()
956 int OSSL_PARAM_get_double(const OSSL_PARAM *p, double *val) in OSSL_PARAM_get_double() argument
961 if (val == NULL || p == NULL) in OSSL_PARAM_get_double()
964 if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_get_double()
965 switch (p->data_size) { in OSSL_PARAM_get_double()
967 *val = *(const double *)p->data; in OSSL_PARAM_get_double()
970 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER) { in OSSL_PARAM_get_double()
971 switch (p->data_size) { in OSSL_PARAM_get_double()
973 *val = *(const uint32_t *)p->data; in OSSL_PARAM_get_double()
976 u64 = *(const uint64_t *)p->data; in OSSL_PARAM_get_double()
983 } else if (p->data_type == OSSL_PARAM_INTEGER) { in OSSL_PARAM_get_double()
984 switch (p->data_size) { in OSSL_PARAM_get_double()
986 *val = *(const int32_t *)p->data; in OSSL_PARAM_get_double()
989 i64 = *(const int64_t *)p->data; in OSSL_PARAM_get_double()
1001 int OSSL_PARAM_set_double(OSSL_PARAM *p, double val) in OSSL_PARAM_set_double() argument
1003 if (p == NULL) in OSSL_PARAM_set_double()
1005 p->return_size = 0; in OSSL_PARAM_set_double()
1007 if (p->data_type == OSSL_PARAM_REAL) { in OSSL_PARAM_set_double()
1008 p->return_size = sizeof(double); in OSSL_PARAM_set_double()
1009 if (p->data == NULL) in OSSL_PARAM_set_double()
1011 switch (p->data_size) { in OSSL_PARAM_set_double()
1013 *(double *)p->data = val; in OSSL_PARAM_set_double()
1016 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER in OSSL_PARAM_set_double()
1018 p->return_size = sizeof(double); in OSSL_PARAM_set_double()
1019 if (p->data == NULL) in OSSL_PARAM_set_double()
1021 switch (p->data_size) { in OSSL_PARAM_set_double()
1024 p->return_size = sizeof(uint32_t); in OSSL_PARAM_set_double()
1025 *(uint32_t *)p->data = (uint32_t)val; in OSSL_PARAM_set_double()
1037 p->return_size = sizeof(uint64_t); in OSSL_PARAM_set_double()
1038 *(uint64_t *)p->data = (uint64_t)val; in OSSL_PARAM_set_double()
1042 } else if (p->data_type == OSSL_PARAM_INTEGER && val == (int64_t)val) { in OSSL_PARAM_set_double()
1043 p->return_size = sizeof(double); in OSSL_PARAM_set_double()
1044 if (p->data == NULL) in OSSL_PARAM_set_double()
1046 switch (p->data_size) { in OSSL_PARAM_set_double()
1049 p->return_size = sizeof(int32_t); in OSSL_PARAM_set_double()
1050 *(int32_t *)p->data = (int32_t)val; in OSSL_PARAM_set_double()
1062 p->return_size = sizeof(int64_t); in OSSL_PARAM_set_double()
1063 *(int64_t *)p->data = (int64_t)val; in OSSL_PARAM_set_double()
1077 static int get_string_internal(const OSSL_PARAM *p, void **val, in get_string_internal() argument
1083 if ((val == NULL && used_len == NULL) || p == NULL || p->data_type != type) in get_string_internal()
1086 sz = p->data_size; in get_string_internal()
1096 if (p->data == NULL) in get_string_internal()
1113 memcpy(*val, p->data, sz); in get_string_internal()
1117 int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t max_len) in OSSL_PARAM_get_utf8_string() argument
1119 int ret = get_string_internal(p, (void **)val, &max_len, NULL, in OSSL_PARAM_get_utf8_string()
1133 size_t data_length = p->data_size; in OSSL_PARAM_get_utf8_string()
1138 data_length = OPENSSL_strnlen(p->data, data_length); in OSSL_PARAM_get_utf8_string()
1146 int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t max_len, in OSSL_PARAM_get_octet_string() argument
1149 return get_string_internal(p, val, &max_len, used_len, in OSSL_PARAM_get_octet_string()
1153 static int set_string_internal(OSSL_PARAM *p, const void *val, size_t len, in set_string_internal() argument
1156 p->return_size = len; in set_string_internal()
1157 if (p->data == NULL) in set_string_internal()
1159 if (p->data_type != type || p->data_size < len) in set_string_internal()
1162 memcpy(p->data, val, len); in set_string_internal()
1164 if (type == OSSL_PARAM_UTF8_STRING && p->data_size > len) in set_string_internal()
1165 ((char *)p->data)[len] = '\0'; in set_string_internal()
1169 int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val) in OSSL_PARAM_set_utf8_string() argument
1171 if (p == NULL) in OSSL_PARAM_set_utf8_string()
1174 p->return_size = 0; in OSSL_PARAM_set_utf8_string()
1177 return set_string_internal(p, val, strlen(val), OSSL_PARAM_UTF8_STRING); in OSSL_PARAM_set_utf8_string()
1180 int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val, in OSSL_PARAM_set_octet_string() argument
1183 if (p == NULL) in OSSL_PARAM_set_octet_string()
1186 p->return_size = 0; in OSSL_PARAM_set_octet_string()
1189 return set_string_internal(p, val, len, OSSL_PARAM_OCTET_STRING); in OSSL_PARAM_set_octet_string()
1206 static int get_ptr_internal(const OSSL_PARAM *p, const void **val, in get_ptr_internal() argument
1209 if (val == NULL || p == NULL || p->data_type != type) in get_ptr_internal()
1212 *used_len = p->data_size; in get_ptr_internal()
1213 *val = *(const void **)p->data; in get_ptr_internal()
1217 int OSSL_PARAM_get_utf8_ptr(const OSSL_PARAM *p, const char **val) in OSSL_PARAM_get_utf8_ptr() argument
1219 return get_ptr_internal(p, (const void **)val, NULL, OSSL_PARAM_UTF8_PTR); in OSSL_PARAM_get_utf8_ptr()
1222 int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val, in OSSL_PARAM_get_octet_ptr() argument
1225 return get_ptr_internal(p, val, used_len, OSSL_PARAM_OCTET_PTR); in OSSL_PARAM_get_octet_ptr()
1228 static int set_ptr_internal(OSSL_PARAM *p, const void *val, in set_ptr_internal() argument
1231 p->return_size = len; in set_ptr_internal()
1232 if (p->data_type != type) in set_ptr_internal()
1234 if (p->data != NULL) in set_ptr_internal()
1235 *(const void **)p->data = val; in set_ptr_internal()
1239 int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, const char *val) in OSSL_PARAM_set_utf8_ptr() argument
1241 if (p == NULL) in OSSL_PARAM_set_utf8_ptr()
1243 p->return_size = 0; in OSSL_PARAM_set_utf8_ptr()
1244 return set_ptr_internal(p, val, OSSL_PARAM_UTF8_PTR, in OSSL_PARAM_set_utf8_ptr()
1248 int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val, in OSSL_PARAM_set_octet_ptr() argument
1251 if (p == NULL) in OSSL_PARAM_set_octet_ptr()
1253 p->return_size = 0; in OSSL_PARAM_set_octet_ptr()
1254 return set_ptr_internal(p, val, OSSL_PARAM_OCTET_PTR, used_len); in OSSL_PARAM_set_octet_ptr()
1276 static int get_string_ptr_internal(const OSSL_PARAM *p, const void **val, in get_string_ptr_internal() argument
1279 if (val == NULL || p == NULL || p->data_type != type) in get_string_ptr_internal()
1282 *used_len = p->data_size; in get_string_ptr_internal()
1283 *val = p->data; in get_string_ptr_internal()
1287 int OSSL_PARAM_get_utf8_string_ptr(const OSSL_PARAM *p, const char **val) in OSSL_PARAM_get_utf8_string_ptr() argument
1289 return OSSL_PARAM_get_utf8_ptr(p, val) in OSSL_PARAM_get_utf8_string_ptr()
1290 || get_string_ptr_internal(p, (const void **)val, NULL, in OSSL_PARAM_get_utf8_string_ptr()
1294 int OSSL_PARAM_get_octet_string_ptr(const OSSL_PARAM *p, const void **val, in OSSL_PARAM_get_octet_string_ptr() argument
1297 return OSSL_PARAM_get_octet_ptr(p, val, used_len) in OSSL_PARAM_get_octet_string_ptr()
1298 || get_string_ptr_internal(p, val, used_len, OSSL_PARAM_OCTET_STRING); in OSSL_PARAM_get_octet_string_ptr()