unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-5.7)
Page:
Section:
Apropos / Subsearch:
optional field

BEMTOH32(9)              BSD Kernel Developer's Manual             BEMTOH32(9)

NAME
     bemtoh16, bemtoh32, bemtoh64, lemtoh16, lemtoh32, lemtoh64, htobem16,
     htobem32, htobem64, htobem16, htobem32, htobem64 -- byte swapping memory
     load and store operations

SYNOPSIS
     #include <&lt;sys/types.h>&gt;

     uint16_t
     bemtoh16(volatile const uint16_t *m);

     uint32_t
     bemtoh32(volatile const uint32_t *m);

     uint64_t
     bemtoh64(volatile const uint64_t *m);

     uint16_t
     lemtoh16(volatile const uint16_t *m);

     uint32_t
     lemtoh32(volatile const uint32_t *m);

     uint64_t
     lemtoh64(volatile const uint64_t *m);

     void
     htobem16(volatile uint16_t *m, uint16_t v);

     void
     htobem32(volatile uint32_t *m, uint32_t v);

     void
     htobem64(volatile uint64_t *m, uint64_t v);

     void
     htolem16(volatile uint16_t *m, uint16_t v);

     void
     htolem32(volatile uint32_t *m, uint32_t v);

     void
     htolem64(volatile uint64_t *m, uint64_t v);

DESCRIPTION
     This API provides a way to take advantage of an architecture's ability to
     load and store words in memory of different endians.  If an architecture
     has no specialised support for these operations they will be implemented
     as a wrapper around the byteorder(3) API.

     These operations are subject to the same alignment restrictions as the
     host's normal memory loads and stores.

     bemtoh16(), bemtoh32(), and bemtoh64() read a big endian value from the
     memory located at m into the host's native byte order.  lemtoh16(),
     lemtoh32(), and lemtoh64() read a little endian value from the memory
     located at m into the host's native byte order.

     htobem16(), htobem32(), and htobem64() store the host's native byte
     ordered value of v as a big endian value in the memory located at m.
     htolem16(), htolem32(), and htolem64() store the host's native byte
     ordered value of v as a little endian value in the memory located at m.

CONTEXT
     bemtoh16(), bemtoh32(), bemtoh64(), lemtoh16(), lemtoh32(), lemtoh64(),
     htobem16(), htobem32(), htobem64(), htolem16(), htolem32(), and
     htolem64() can be called during autoconf, from process context, or from
     interrupt context.

RETURN VALUES
     bemtoh16(), bemtoh32(), bemtoh64(), lemtoh16(), lemtoh32(), and
     lemtoh64() return the host's native byte ordered value of the memory at m
     after the appropriate byteswapping has occurred.

     htobem16(), htobem32(), htobem64(), htolem16(), htolem32(), and
     htolem64() do not return a value.

SEE ALSO
     byteorder(3)

HISTORY
     These functions first appeared in OpenBSD 5.6.

BSD                            October 22, 2014                            BSD