Lines Matching defs:var

42 static boolean_t var_get_bool(var_t *var);
43 static fbint_t var_get_int(var_t *var);
44 static double var_get_dbl(var_t *var);
309 "Attempt to get string from %s var $%s",
378 * Gets a avd_t and points it to the var that
382 avd_alloc_var_ptr(var_t *var)
386 if (var == NULL)
392 switch (var->var_type & VAR_TYPE_SET_MASK) {
395 avd->avd_val.boolptr = (&var->var_val.boolean);
400 avd->avd_val.intptr = (&var->var_val.integer);
405 avd->avd_val.strptr = &(var->var_val.string);
410 avd->avd_val.dblptr = &(var->var_val.dbl_flt);
415 avd->avd_val.randptr = var->var_val.randptr;
420 if ((var->var_type & VAR_INDVAR_MASK) == VAR_IND_ASSIGN)
421 avd->avd_val.varptr = var->var_varptr1;
423 avd->avd_val.varptr = var;
429 avd->avd_val.varptr = var;
465 * Allocates a var (var_t) from interprocess shared memory.
466 * Places the allocated var on the end of the globally shared
470 * newly allocated var.
476 var_t *var = NULL;
514 for (var = *var_listp; var != NULL; var = var->var_next)
515 prev = var; /* Find end of list */
525 * Allocates a var (var_t) from interprocess shared memory after
527 * allocated var temporarily on the end of the globally
529 * otherwise it returns a pointer to the newly allocated var.
541 * Allocates a var (var_t) from interprocess shared memory and
542 * places the allocated var on the end of the globally shared
544 * it returns a pointer to the newly allocated var.
553 * Allocates a var (var_t) from interprocess shared memory.
554 * Places the allocated var on the end of the globally shared
556 * it returns a pointer to the newly allocated var.
567 * local or global var is found, returns a pointer to the var_t,
573 var_t *var;
575 for (var = filebench_shm->shm_var_loc_list; var != NULL;
576 var = var->var_next) {
577 if (strcmp(var->var_name, name) == 0)
578 return (var);
581 for (var = filebench_shm->shm_var_list; var != NULL;
582 var = var->var_next) {
583 if (strcmp(var->var_name, name) == 0)
584 return (var);
598 var_t *var;
600 for (var = var_list; var != NULL; var = var->var_next) {
601 if (strcmp(var->var_name, name) == 0)
602 return (var);
616 var_t *var;
618 if ((var = var_find_list_only(name, var_list)) != NULL)
619 return (var);
625 * Searches for the named var and returns it if found. If not
631 var_t *var;
641 if ((var = var_find(name)) == NULL) {
642 var = var_alloc(name);
644 return (var);
648 * Searches for the named var, and, if found, sets its
650 * If not found, the routine allocates a new var and sets
652 * boolean. If the named var cannot be found or allocated
658 var_t *var;
660 if ((var = var_find_alloc(name)) == NULL) {
666 if ((var->var_type & VAR_TYPE_MASK) == VAR_TYPE_RANDOM) {
672 VAR_SET_BOOL(var, bool);
681 * Searches for the named var, and, if found, sets its
683 * If not found, the routine allocates a new var and sets
685 * integer. If the named var cannot be found or allocated
691 var_t *var;
693 if ((var = var_find_alloc(name)) == NULL) {
699 if ((var->var_type & VAR_TYPE_MASK) == VAR_TYPE_RANDOM) {
705 VAR_SET_INT(var, integer);
718 var_binary_integer_op(var_t *var)
723 if (var == NULL)
726 switch (var->var_type & VAR_INDBINOP_MASK) {
728 src2 = var->var_val.integer;
732 src2 = (fbint_t)var->var_val.dbl_flt;
736 if (var->var_val.varptr2 != NULL)
737 src2 = var_get_int(var->var_val.varptr2);
743 if (var->var_varptr1 != NULL)
744 src1 = var_get_int(var->var_varptr1);
748 switch (var->var_type & VAR_INDVAR_MASK) {
787 var_binary_dbl_flt_op(var_t *var)
792 if (var == NULL)
795 switch (var->var_type & VAR_INDBINOP_MASK) {
797 src2 = (double)var->var_val.integer;
801 src2 = var->var_val.dbl_flt;
805 if (var->var_val.varptr2 != NULL)
806 src2 = var_get_dbl(var->var_val.varptr2);
812 if (var->var_varptr1 != NULL)
813 src1 = var_get_dbl(var->var_varptr1);
817 switch (var->var_type & VAR_INDVAR_MASK) {
857 var_t *var;
863 if ((var = var_find_alloc(name)) == NULL)
866 if ((var->var_type & VAR_TYPE_MASK) == VAR_TYPE_RANDOM) {
872 VAR_SET_BINOP_INDVAR(var, var_src1, optype);
874 var->var_val.integer = src2;
882 var_t *var;
892 if ((var = var_find_alloc(name)) == NULL)
895 if ((var->var_type & VAR_TYPE_MASK) == VAR_TYPE_RANDOM) {
901 VAR_SET_BINOP_INDVAR(var, var_src1, optype);
903 var->var_val.varptr2 = var_src2;
976 * Searches for the named var, and if found returns an avd_t
977 * pointing to the var's var_integer, var_string or var_double
979 * a var named "name" and returns an avd_t to it with
980 * no value set. If the var cannot be found or allocated, an
986 var_t *var;
990 if ((var = var_find(name)) == NULL)
991 var = var_find_dynamic(name);
993 if (var == NULL)
994 var = var_alloc(name);
996 if (var == NULL) {
1002 /* allocate pointer to var and return */
1003 return (avd_alloc_var_ptr(var));
1007 * Converts the contents of a var to a string
1010 var_get_string(var_t *var)
1013 if ((var->var_type & VAR_TYPE_MASK) == VAR_TYPE_RANDOM) {
1014 switch (var->var_val.randptr->rnd_type & RAND_TYPE_MASK) {
1016 return (fb_stralloc("uniform random var"));
1018 return (fb_stralloc("gamma random var"));
1020 return (fb_stralloc("tabular random var"));
1022 return (fb_stralloc("unitialized random var"));
1026 if (VAR_HAS_STRING(var) && var->var_val.string)
1027 return (fb_stralloc(var->var_val.string));
1029 if (VAR_HAS_BOOLEAN(var)) {
1030 if (var->var_val.boolean)
1036 if (VAR_HAS_INTEGER(var)) {
1040 (u_longlong_t)var->var_val.integer);
1044 if (VAR_HAS_INDVAR(var)) {
1047 if ((ivp = var->var_varptr1) != NULL) {
1052 if (VAR_HAS_BINOP(var)) {
1056 var_binary_integer_op(var));
1064 * Searches for the named var, and if found copies the var_val.string,
1073 var_t *var;
1077 if ((var = var_find(name)) == NULL)
1078 var = var_find_dynamic(name);
1080 if (var == NULL)
1083 return (var_get_string(var));
1087 * Returns the boolean from the supplied var_t "var".
1090 var_get_bool(var_t *var)
1092 if (var == NULL)
1095 if (VAR_HAS_BOOLEAN(var))
1096 return (var->var_val.boolean);
1098 if (VAR_HAS_INTEGER(var)) {
1099 if (var->var_val.integer == 0)
1106 "Attempt to get boolean from %s var $%s",
1107 var_get_type_string(var), var->var_name);
1112 * Returns the fbint_t from the supplied var_t "var".
1115 var_get_int(var_t *var)
1119 if (var == NULL)
1122 if (VAR_HAS_INTEGER(var))
1123 return (var->var_val.integer);
1125 if (VAR_HAS_RANDDIST(var)) {
1126 if ((rndp = var->var_val.randptr) != NULL)
1130 if (VAR_HAS_BINOP(var))
1131 return (var_binary_integer_op(var));
1134 "Attempt to get integer from %s var $%s",
1135 var_get_type_string(var), var->var_name);
1141 * supplied var_t "var". Intended to get the actual (double) value
1145 var_get_dbl(var_t *var)
1149 if (var == NULL)
1152 if (VAR_HAS_INTEGER(var))
1153 return ((double)var->var_val.integer);
1155 if (VAR_HAS_DOUBLE(var))
1156 return (var->var_val.dbl_flt);
1158 if (VAR_HAS_RANDDIST(var)) {
1159 if ((rndp = var->var_val.randptr) != NULL)
1163 if (VAR_HAS_BINOP(var))
1164 return (var_binary_dbl_flt_op(var));
1167 "Attempt to get double float from %s var $%s",
1168 var_get_type_string(var), var->var_name);
1173 * Searches for the named var, and if found returns the value,
1174 * of var_val.boolean. If the var is not found, or a boolean
1180 var_t *var;
1184 if ((var = var_find(name)) == NULL)
1185 var = var_find_dynamic(name);
1187 if (var != NULL)
1188 return (var_get_bool(var));
1197 * Searches for the named var, and if found returns the value,
1198 * of var_val.integer. If the var is not found, or the an
1204 var_t *var;
1208 if ((var = var_find(name)) == NULL)
1209 var = var_find_dynamic(name);
1211 if (var != NULL)
1212 return (var_get_int(var));
1221 * Searches for the named var, and if found returns the value,
1222 * of var_val.dbl_flt. If the var is not found, or the
1228 var_t *var;
1232 if ((var = var_find(name)) == NULL)
1233 var = var_find_dynamic(name);
1235 if (var != NULL)
1236 return (var_get_dbl(var));
1245 * Searches for the named random var, and if found, converts the
1254 var_t *var;
1257 if ((var = var_find(name + 1)) == NULL)
1260 if (((var->var_type & VAR_TYPE_MASK) != VAR_TYPE_RANDOM) ||
1261 !VAR_HAS_RANDDIST(var))
1266 switch (var->var_val.randptr->rnd_type & RAND_TYPE_MASK) {
1278 if (var->var_val.randptr->rnd_type & RAND_SRC_GENERATOR)
1284 value = avd_get_int(var->var_val.randptr->rnd_seed);
1288 value = avd_get_int(var->var_val.randptr->rnd_min);
1292 value = avd_get_int(var->var_val.randptr->rnd_mean);
1296 value = avd_get_int(var->var_val.randptr->rnd_gamma);
1300 value = avd_get_int(var->var_val.randptr->rnd_round);
1328 "Assign var %s=%s", dst_var->var_name,
1335 "Assign var %s=%llu", dst_var->var_name,
1342 "Assign var %s=%lf", dst_var->var_name,
1358 "Assign var %s=%s", dst_var->var_name,
1365 "Assign var %s to var %s", dst_var->var_name,
1372 * Searches for the var named "name", and if not found
1374 * the src_var into the destination var "name"
1375 * If the var "name" cannot be found or allocated, or the var "src_name"
1403 "Cannot assign var to Random variable %s", name);
1412 * supplied "string" into the var named "name". If the var
1414 * before the copy. Space for the string in the var comes
1415 * from interprocess shared memory. If the var "name"
1423 var_t *var;
1428 if ((var = var_find(name)) == NULL)
1429 var = var_alloc(name);
1431 if (var == NULL) {
1437 if ((var->var_type & VAR_TYPE_MASK) == VAR_TYPE_RANDOM) {
1448 VAR_SET_STR(var, strptr);
1457 * Allocates a local var. The then extracts the var_string from
1458 * the var named "string" and copies it into the var_string
1459 * of the var "name", after first allocating a piece of
1461 * newly allocated local var or NULL on error.
1485 * if referencing another local var which is currently
1491 "Assign local var %s to %s", name, src_name);
1498 "Assign var (%s, %p)=%s", name,
1503 "Assign var (%s, %p)=%llu", name,
1516 "Assign var (%s, %p)=%s", name,
1522 "Assign var (%s, %p)=%8.2f", name,
1527 "Assign var (%s, %p)=%llu", name,
1535 * the routine allocates a new local var and sets
1537 * boolean. It returns a pointer to the new local var
1542 var_t *var;
1544 var = var_lvar_alloc_local(name);
1546 if (var == NULL) {
1552 VAR_SET_BOOL(var, bool);
1557 return (var);
1561 * the routine allocates a new local var and sets
1563 * integer. It returns a pointer to the new local var
1568 var_t *var;
1570 var = var_lvar_alloc_local(name);
1572 if (var == NULL) {
1578 VAR_SET_INT(var, integer);
1583 return (var);
1587 * the routine allocates a new local var and sets
1590 * a pointer to the new local var
1595 var_t *var;
1597 var = var_lvar_alloc_local(name);
1599 if (var == NULL) {
1605 VAR_SET_DBL(var, dbl);
1609 return (var);
1614 * supplied "string" into the var named "name". If the var
1616 * before the copy. Space for the string in the var comes
1617 * from interprocess shared memory. The allocated local var
1623 var_t *var;
1626 var = var_lvar_alloc_local(name);
1628 if (var == NULL) {
1639 VAR_SET_STR(var, strptr);
1642 "Lvar_assign_string (%s, %p)=%s", name, var, string);
1644 return (var);
1656 var_t *var;
1680 if ((var = var_find(varname+1)) == NULL)
1684 if ((var->var_type & VAR_TYPE_MASK) != VAR_TYPE_RANDOM)
1695 * eventgen, date, script, or host var. If a match is found,
1702 var_find_internal(var_t *var)
1704 char *n = fb_stralloc(var->var_name);
1714 rtn = stats_findvar(var, name + strlen(STATS_VAR));
1717 rtn = eventgen_ratevar(var);
1720 rtn = date_var(var);
1723 rtn = script_var(var);
1726 rtn = host_var(var);
1735 * for the environment variable specified by var->var_name.
1736 * If found, the value string is returned in var->var_val.string.
1740 var_find_environment(var_t *var)
1742 char *n = fb_stralloc(var->var_name);
1755 VAR_SET_STR(var, strptr);
1756 return (var);
1765 * the desired special var and fill it with an appropriate string
1766 * value. Looks for an already allocated var of the same name on
1767 * the shm_var_dyn_list. If not found a new dynamic var is allocated.
1777 var_t *var = NULL;
1782 * Lookup a reference to the var handle for this
1783 * special var
1787 var = v;
1792 if (var == NULL)
1793 var = var_alloc_dynamic(name);
1797 rtn = var_find_internal(var);
1801 var->var_name);
1807 rtn = var_find_environment(var);
1811 var->var_name);
1830 /* Make sure there is a local var */
1833 "avd_update: local var not found");