* with 12*3 instructions on 3 integers than you can with 3 instructions on 1
* byte), but shoehorning those bytes into integers efficiently is messy.
*/
-
+#define _GNU_SOURCE
#include <assert.h>
#include <stdint.h> /* defines uint32_t etc */
#include <stdio.h> /* defines printf for tests */
#include "utils.h"
#include <common/compat/endian.h> /* attempt to define endianness */
+#include <common/common.h>
/*
* My best guess at if you are big-endian or little-endian. This may
/*
* Hash function for number value.
*/
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
unsigned long hash_key_ulong(void *_key, unsigned long seed)
{
union {
/*
* Hash function for number value.
*/
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
unsigned long hash_key_ulong(void *_key, unsigned long seed)
{
uint32_t key = (uint32_t) _key;
/*
* Hash function for string.
*/
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
unsigned long hash_key_str(void *key, unsigned long seed)
{
return hashlittle(key, strlen((char *) key), seed);
/*
* Hash function compare for number value.
*/
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
int hash_match_key_ulong(void *key1, void *key2)
{
if (key1 == key2) {
/*
* Hash compare function for string.
*/
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
int hash_match_key_str(void *key1, void *key2)
{
if (strcmp(key1, key2) == 0) {