src/lib/misc.h
author Tero Marttila <terom@fixme.fi>
Mon, 13 Oct 2008 02:27:59 +0300
changeset 27 461be4cd34a3
parent 24 82cfdb6680d1
child 28 e944453ca924
permissions -rw-r--r--
working open/read/close -dir
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
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
     4
#include <arpa/inet.h>
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
     5
6
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
/*
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
 * Initialize the given *value* with zeros
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
 */
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
#define ZINIT(obj) memset(&(obj), 0, sizeof((obj)))
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    11
/*
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    12
 * 64-bit hton{s,l,q}
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    13
 */
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    14
#ifndef WORDS_BIGENDIAN /* i.e. if (little endian) */
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    15
#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
    16
#define ntohq(x) htonq(x)
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    17
#else
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    18
#define htonq(x) ((uint64_t)(x))
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    19
#define ntohq(x) ((uint64_t)(x))
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    20
#endif
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    21
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents: 6
diff changeset
    22
6
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
#endif /* LIB_UTIL_H */
d2036d7799fd new 'simple' module, plus hello_simple
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24