Lines Matching refs:val
166 static int general_get_int(const OSSL_PARAM *p, void *val, size_t val_size)
169 return signed_from_signed(val, val_size, p->data, p->data_size);
171 return signed_from_unsigned(val, val_size, p->data, p->data_size);
176 static int general_set_int(OSSL_PARAM *p, void *val, size_t val_size)
184 r = signed_from_signed(p->data, p->data_size, val, val_size);
186 r = unsigned_from_signed(p->data, p->data_size, val, val_size);
192 static int general_get_uint(const OSSL_PARAM *p, void *val, size_t val_size)
195 return unsigned_from_signed(val, val_size, p->data, p->data_size);
197 return unsigned_from_unsigned(val, val_size, p->data, p->data_size);
202 static int general_set_uint(OSSL_PARAM *p, void *val, size_t val_size)
210 r = signed_from_unsigned(p->data, p->data_size, val, val_size);
212 r = unsigned_from_unsigned(p->data, p->data_size, val, val_size);
217 int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val)
222 return OSSL_PARAM_get_int32(p, (int32_t *)val);
224 return OSSL_PARAM_get_int64(p, (int64_t *)val);
227 return general_get_int(p, val, sizeof(*val));
230 int OSSL_PARAM_set_int(OSSL_PARAM *p, int val)
235 return OSSL_PARAM_set_int32(p, (int32_t)val);
237 return OSSL_PARAM_set_int64(p, (int64_t)val);
240 return general_set_int(p, &val, sizeof(val));
248 int OSSL_PARAM_get_uint(const OSSL_PARAM *p, unsigned int *val)
253 return OSSL_PARAM_get_uint32(p, (uint32_t *)val);
255 return OSSL_PARAM_get_uint64(p, (uint64_t *)val);
258 return general_get_uint(p, val, sizeof(*val));
261 int OSSL_PARAM_set_uint(OSSL_PARAM *p, unsigned int val)
266 return OSSL_PARAM_set_uint32(p, (uint32_t)val);
268 return OSSL_PARAM_set_uint64(p, (uint64_t)val);
271 return general_set_uint(p, &val, sizeof(val));
280 int OSSL_PARAM_get_long(const OSSL_PARAM *p, long int *val)
285 return OSSL_PARAM_get_int32(p, (int32_t *)val);
287 return OSSL_PARAM_get_int64(p, (int64_t *)val);
290 return general_get_int(p, val, sizeof(*val));
293 int OSSL_PARAM_set_long(OSSL_PARAM *p, long int val)
298 return OSSL_PARAM_set_int32(p, (int32_t)val);
300 return OSSL_PARAM_set_int64(p, (int64_t)val);
303 return general_set_int(p, &val, sizeof(val));
311 int OSSL_PARAM_get_ulong(const OSSL_PARAM *p, unsigned long int *val)
316 return OSSL_PARAM_get_uint32(p, (uint32_t *)val);
318 return OSSL_PARAM_get_uint64(p, (uint64_t *)val);
321 return general_get_uint(p, val, sizeof(*val));
324 int OSSL_PARAM_set_ulong(OSSL_PARAM *p, unsigned long int val)
329 return OSSL_PARAM_set_uint32(p, (uint32_t)val);
331 return OSSL_PARAM_set_uint64(p, (uint64_t)val);
334 return general_set_uint(p, &val, sizeof(val));
343 int OSSL_PARAM_get_int32(const OSSL_PARAM *p, int32_t *val)
347 if (val == NULL || p == NULL )
356 *val = *(const int32_t *)p->data;
361 *val = (int32_t)i64;
367 return general_get_int(p, val, sizeof(*val));
378 *val = (int32_t)u32;
385 *val = (int32_t)u64;
391 return general_get_int(p, val, sizeof(*val));
398 *val = (int32_t)d;
407 int OSSL_PARAM_set_int32(OSSL_PARAM *p, int32_t val)
419 *(int32_t *)p->data = val;
423 *(int64_t *)p->data = (int64_t)val;
427 return general_set_int(p, &val, sizeof(val));
428 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER && val >= 0) {
435 *(uint32_t *)p->data = (uint32_t)val;
439 *(uint64_t *)p->data = (uint64_t)val;
443 return general_set_int(p, &val, sizeof(val));
450 *(double *)p->data = (double)val;
463 int OSSL_PARAM_get_uint32(const OSSL_PARAM *p, uint32_t *val)
467 if (val == NULL || p == NULL)
476 *val = *(const uint32_t *)p->data;
481 *val = (uint32_t)u64;
487 return general_get_uint(p, val, sizeof(*val));
497 *val = i32;
504 *val = (uint32_t)i64;
510 return general_get_uint(p, val, sizeof(*val));
516 *val = (uint32_t)d;
525 int OSSL_PARAM_set_uint32(OSSL_PARAM *p, uint32_t val)
538 *(uint32_t *)p->data = val;
542 *(uint64_t *)p->data = val;
546 return general_set_uint(p, &val, sizeof(val));
554 if (val <= INT32_MAX) {
555 *(int32_t *)p->data = (int32_t)val;
561 *(int64_t *)p->data = (int64_t)val;
565 return general_set_uint(p, &val, sizeof(val));
572 *(double *)p->data = (double)val;
585 int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val)
589 if (val == NULL || p == NULL )
596 *val = *(const int32_t *)p->data;
599 *val = *(const int64_t *)p->data;
603 return general_get_int(p, val, sizeof(*val));
610 *val = *(const uint32_t *)p->data;
615 *val = (int64_t)u64;
621 return general_get_int(p, val, sizeof(*val));
634 *val = (int64_t)d;
643 int OSSL_PARAM_set_int64(OSSL_PARAM *p, int64_t val)
657 if (val >= INT32_MIN && val <= INT32_MAX) {
659 *(int32_t *)p->data = (int32_t)val;
664 *(int64_t *)p->data = val;
668 return general_set_int(p, &val, sizeof(val));
669 } else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER && val >= 0) {
676 if (val <= UINT32_MAX) {
678 *(uint32_t *)p->data = (uint32_t)val;
683 *(uint64_t *)p->data = (uint64_t)val;
687 return general_set_int(p, &val, sizeof(val));
694 u64 = val < 0 ? -val : val;
696 *(double *)p->data = (double)val;
710 int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val)
714 if (val == NULL || p == NULL)
721 *val = *(const uint32_t *)p->data;
724 *val = *(const uint64_t *)p->data;
728 return general_get_uint(p, val, sizeof(*val));
738 *val = (uint64_t)i32;
745 *val = (uint64_t)i64;
751 return general_get_uint(p, val, sizeof(*val));
764 *val = (uint64_t)d;
773 int OSSL_PARAM_set_uint64(OSSL_PARAM *p, uint64_t val)
786 if (val <= UINT32_MAX) {
788 *(uint32_t *)p->data = (uint32_t)val;
793 *(uint64_t *)p->data = val;
797 return general_set_uint(p, &val, sizeof(val));
805 if (val <= INT32_MAX) {
807 *(int32_t *)p->data = (int32_t)val;
812 if (val <= INT64_MAX) {
813 *(int64_t *)p->data = (int64_t)val;
819 return general_set_uint(p, &val, sizeof(val));
824 if ((val >> real_shift()) == 0) {
825 *(double *)p->data = (double)val;
840 int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val)
845 return OSSL_PARAM_get_uint32(p, (uint32_t *)val);
847 return OSSL_PARAM_get_uint64(p, (uint64_t *)val);
850 return general_get_uint(p, val, sizeof(*val));
853 int OSSL_PARAM_set_size_t(OSSL_PARAM *p, size_t val)
858 return OSSL_PARAM_set_uint32(p, (uint32_t)val);
860 return OSSL_PARAM_set_uint64(p, (uint64_t)val);
863 return general_set_uint(p, &val, sizeof(val));
872 int OSSL_PARAM_get_time_t(const OSSL_PARAM *p, time_t *val)
877 return OSSL_PARAM_get_int32(p, (int32_t *)val);
879 return OSSL_PARAM_get_int64(p, (int64_t *)val);
882 return general_get_int(p, val, sizeof(*val));
885 int OSSL_PARAM_set_time_t(OSSL_PARAM *p, time_t val)
890 return OSSL_PARAM_set_int32(p, (int32_t)val);
892 return OSSL_PARAM_set_int64(p, (int64_t)val);
895 return general_set_int(p, &val, sizeof(val));
903 int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val)
907 if (val == NULL
912 b = BN_native2bn(p->data, (int)p->data_size, *val);
914 *val = b;
920 int OSSL_PARAM_set_BN(OSSL_PARAM *p, const BIGNUM *val)
927 if (val == NULL || p->data_type != OSSL_PARAM_UNSIGNED_INTEGER)
931 if (BN_is_negative(val))
934 bytes = (size_t)BN_num_bytes(val);
944 return BN_bn2nativepad(val, p->data, p->data_size) >= 0;
956 int OSSL_PARAM_get_double(const OSSL_PARAM *p, double *val)
961 if (val == NULL || p == NULL)
967 *val = *(const double *)p->data;
973 *val = *(const uint32_t *)p->data;
978 *val = (double)u64;
986 *val = *(const int32_t *)p->data;
992 *val = 0.0 + i64;
1001 int OSSL_PARAM_set_double(OSSL_PARAM *p, double val)
1013 *(double *)p->data = val;
1017 && val == (uint64_t)val) {
1023 if (val >= 0 && val <= UINT32_MAX) {
1025 *(uint32_t *)p->data = (uint32_t)val;
1030 if (val >= 0
1036 && val < (double)(UINT64_MAX - 65535) + 65536.0) {
1038 *(uint64_t *)p->data = (uint64_t)val;
1042 } else if (p->data_type == OSSL_PARAM_INTEGER && val == (int64_t)val) {
1048 if (val >= INT32_MIN && val <= INT32_MAX) {
1050 *(int32_t *)p->data = (int32_t)val;
1055 if (val >= INT64_MIN
1061 && val < (double)(INT64_MAX - 65535) + 65536.0) {
1063 *(int64_t *)p->data = (int64_t)val;
1077 static int get_string_internal(const OSSL_PARAM *p, void **val,
1083 if ((val == NULL && used_len == NULL) || p == NULL || p->data_type != type)
1099 if (val == NULL)
1102 if (*val == NULL) {
1107 *val = q;
1113 memcpy(*val, p->data, sz);
1117 int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t max_len)
1119 int ret = get_string_internal(p, (void **)val, &max_len, NULL,
1125 * |((char*)*val)[p->data_size]|.
1131 * place the NUL byte in |*val|.
1141 (*val)[data_length] = '\0';
1146 int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t max_len,
1149 return get_string_internal(p, val, &max_len, used_len,
1153 static int set_string_internal(OSSL_PARAM *p, const void *val, size_t len,
1162 memcpy(p->data, val, len);
1169 int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val)
1175 if (val == NULL)
1177 return set_string_internal(p, val, strlen(val), OSSL_PARAM_UTF8_STRING);
1180 int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val,
1187 if (val == NULL)
1189 return set_string_internal(p, val, len, OSSL_PARAM_OCTET_STRING);
1206 static int get_ptr_internal(const OSSL_PARAM *p, const void **val,
1209 if (val == NULL || p == NULL || p->data_type != type)
1213 *val = *(const void **)p->data;
1217 int OSSL_PARAM_get_utf8_ptr(const OSSL_PARAM *p, const char **val)
1219 return get_ptr_internal(p, (const void **)val, NULL, OSSL_PARAM_UTF8_PTR);
1222 int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val,
1225 return get_ptr_internal(p, val, used_len, OSSL_PARAM_OCTET_PTR);
1228 static int set_ptr_internal(OSSL_PARAM *p, const void *val,
1235 *(const void **)p->data = val;
1239 int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, const char *val)
1244 return set_ptr_internal(p, val, OSSL_PARAM_UTF8_PTR,
1245 val == NULL ? 0 : strlen(val));
1248 int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val,
1254 return set_ptr_internal(p, val, OSSL_PARAM_OCTET_PTR, used_len);
1276 static int get_string_ptr_internal(const OSSL_PARAM *p, const void **val,
1279 if (val == NULL || p == NULL || p->data_type != type)
1283 *val = p->data;
1287 int OSSL_PARAM_get_utf8_string_ptr(const OSSL_PARAM *p, const char **val)
1289 return OSSL_PARAM_get_utf8_ptr(p, val)
1290 || get_string_ptr_internal(p, (const void **)val, NULL,
1294 int OSSL_PARAM_get_octet_string_ptr(const OSSL_PARAM *p, const void **val,
1297 return OSSL_PARAM_get_octet_ptr(p, val, used_len)
1298 || get_string_ptr_internal(p, val, used_len, OSSL_PARAM_OCTET_STRING);