src/lib/misc.h
author Tero Marttila <terom@fixme.fi>
Sat, 13 Dec 2008 19:55:50 +0200
branchnew-evsql
changeset 53 0d6e07f4c9a1
parent 28 e944453ca924
permissions -rw-r--r--
separate evsql documentation
6
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#ifndef LIB_UTIL_H
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
#define LIB_UTIL_H
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
28
e944453ca924 split off dbfs components into a separate dir, improve dirop docs, error handling, etc
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
     4
#include <string.h>
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
     5
#include <arpa/inet.h>
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
     6
6
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
/*
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
 * Initialize the given *value* with zeros
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
 */
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
#define ZINIT(obj) memset(&(obj), 0, sizeof((obj)))
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    12
/*
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    13
 * 64-bit hton{s,l,q}
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    14
 */
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    15
#ifndef WORDS_BIGENDIAN /* i.e. if (little endian) */
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    16
#define htonq(x) (((uint64_t)htonl((x)>>32))|(((uint64_t)htonl(x))<<32))
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    17
#define ntohq(x) htonq(x)
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    18
#else
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    19
#define htonq(x) ((uint64_t)(x))
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    20
#define ntohq(x) ((uint64_t)(x))
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    21
#endif
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    22
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    23
6
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
#endif /* LIB_UTIL_H */
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25