30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 /* The number of significant bits in each unique value. */
36 #define UNIQUE_BITS 56
37
38 void unique_init(void);
39 void unique_fini(void);
40
41 /*
42 * Return a new unique value (which will not be uniquified against until
43 * it is unique_insert()-ed).
44 */
45 uint64_t unique_create(void);
46
47 /* Return a unique value, which equals the one passed in if possible. */
48 uint64_t unique_insert(uint64_t value);
49
50 /* Indicate that this value no longer needs to be uniquified against. */
51 void unique_remove(uint64_t value);
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif /* _SYS_UNIQUE_H */
|
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 /* The number of significant bits in each unique value. */
36 #define UNIQUE_BITS 56
37
38 void unique_init(void);
39 void unique_fini(void);
40
41 /*
42 * Return a new unique value (which will not be uniquified against until
43 * it is unique_insert()-ed).
44 */
45 uint64_t unique_create(void);
46
47 /* Return a unique value, which equals the one passed in if possible. */
48 uint64_t unique_insert(uint64_t value);
49
50 /*
51 * Return B_TRUE if the passed value does not exist and is valid,
52 * B_FALSE otherwise
53 */
54 boolean_t unique_valid(uint64_t value);
55
56 /* Indicate that this value no longer needs to be uniquified against. */
57 void unique_remove(uint64_t value);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif /* _SYS_UNIQUE_H */
|