Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BSON_OID_T(3)			    libbson			 BSON_OID_T(3)

BSON ObjectID Abstraction

SYNOPSIS
	  #include <bson/bson.h>

	  typedef struct {
	     uint8_t bytes[12];
	  } bson_oid_t;

DESCRIPTION
       The bson_oid_t structure	contains the 12-byte ObjectId notation defined
       by the BSON ObjectID specification.

       ObjectId	is a 12-byte BSON type,	constructed using:

        a  4-byte value representing the seconds since	the Unix epoch (in Big
	 Endian).

        a 5-byte random value.

        a 3-byte counter (Big Endian),	starting with a	random value.

STRING CONVERSION
       You can convert an Object ID to a string	using bson_oid_to_string() and
       back with bson_oid_init_from_string().

HASHING
       A  bson_oid_t  can  be  used   in   hashtables	using	the   function
       bson_oid_hash() and bson_oid_equal().

COMPARING
       A  bson_oid_t  can  be compared to another using	bson_oid_compare() for
       qsort() style comparing and bson_oid_equal() for	direct equality.

VALIDATING
       You can validate	that a string containing  a  hex-encoded  ObjectID  is
       valid using the function	bson_oid_is_valid().

EXAMPLE
	  #include <bson/bson.h>
	  #include <stdio.h>

	  int
	  main (int argc, char *argv[])
	  {
	     bson_oid_t	oid;
	     char str[25];

	     bson_oid_init (&oid, NULL);
	     bson_oid_to_string	(&oid, str);
	     printf ("%s\n", str);

	     if	(bson_oid_is_valid (str, sizeof	str)) {
		bson_oid_init_from_string (&oid, str);
	     }

	     printf ("The UNIX time was: %u\n",	(unsigned) bson_oid_get_time_t (&oid));

	     return 0;
	  }

AUTHOR
       MongoDB,	Inc

COPYRIGHT
       2009-present, MongoDB, Inc.

1.30.2				 Apr 12, 2025			 BSON_OID_T(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bson_oid_t&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help