| PROP_NUMBER(3) | Library Functions Manual | PROP_NUMBER(3) | 
prop_number,
  prop_number_create_integer,
  prop_number_create_unsigned_integer,
  prop_number_copy,
  prop_number_size,
  prop_number_unsigned,
  prop_number_integer_value,
  prop_number_unsigned_integer_value,
  prop_number_equals,
  prop_number_equals_integer,
  prop_number_equals_unsigned_integer —
#include <prop/proplib.h>
prop_number_t
  
  prop_number_create_integer(int64_t
    val);
prop_number_t
  
  prop_number_create_unsigned_integer(uint64_t
    val);
prop_number_t
  
  prop_number_copy(prop_number_t
    number);
int
  
  prop_number_size(prop_number_t
    number);
bool
  
  prop_number_unsigned(prop_number_t
    number);
int64_t
  
  prop_number_integer_value(prop_number_t
    number);
uint64_t
  
  prop_number_unsigned_integer_value(prop_number_t
    number);
bool
  
  prop_number_equals(prop_number_t
    num1, prop_number_t
    num2);
bool
  
  prop_number_equals_integer(prop_number_t
    number, int64_t
    val);
bool
  
  prop_number_equals_unsigned_integer(prop_number_t
    number, uint64_t
    val);
prop_number() family of functions operate on a
  numeric value property object type. Values are either signed or unsigned, and
  promoted to a 64-bit type (int64_t or uint64_t, respectively).
It is possible to compare number objects that differ in sign. Such comparisons first test to see if each object is within the valid number range of the other:
INT64_MAX) can be compared to signed
      numbers.Number objects have a different externalized representation depending on their sign:
When numbers are internalized, the sign of the resulting number object (and thus its valid range) is determined by a set of rules evaluated in the following order:
prop_number_create_integer(int64_t
    val)NULL on
      failure.prop_number_create_unsigned_integer(uint64_t
    val)NULL on
      failure.prop_number_copy(prop_number_t
    number)NULL is returned.prop_number_size(prop_number_t
    number)NULL is returned.prop_number_unsigned(prop_number_t
    number)true if the numeric value object has an
      unsigned value.prop_number_integer_value(prop_number_t
    number)prop_number_unsigned_integer_value(prop_number_t
    number)prop_number_equals(prop_number_t
    num1, prop_number_t num2)true if the two numeric value objects are
      equivalent. If at least one of the supplied objects isn't a numeric value,
      false is returned.prop_number_equals_integer(prop_number_t
    number, int64_t val)true if the object's value is equivalent
      to the signed value val. If the supplied object
      isn't a numerical value or if val exceeds
      INT64_MAX, false is
      returned.prop_number_equals_unsigned_integer(prop_number_t
    number, uint64_t val)true if the object's value is equivalent
      to the unsigned value val. If the supplied object
      isn't a numerical value or if val exceeds
      INT64_MAX, false is
      returned.| January 21, 2008 | NetBSD 9.4 |