src/lib/misc.h
author Tero Marttila <terom@fixme.fi>
Wed, 15 Oct 2008 01:14:22 +0300
changeset 28 e944453ca924
parent 24 82cfdb6680d1
permissions -rw-r--r--
split off dbfs components into a separate dir, improve dirop docs, error handling, etc
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