MACH-SWAP(3)                                         MACH-SWAP(3)

     NAME
          beswap2, beswap4, beswap8, beieeeftoa32, beieeeftoa64,
          beieeeftoa80, beload2, beload4, beload8, leswap2, leswap4,
          leswap8, leieeeftoa32, leieeeftoa64, leieeeftoa80, leload2,
          leload4, leload8, ieeeftoa32, ieeeftoa64 - machine-
          independent access to byte-ordered data

     SYNOPSIS
          #include <u.h>
          #include <libc.h>
          #include <mach.h>

          u16int  beswap2(u16int u)
          u32int  beswap4(u32int u)
          u64int  beswap8(u64int u)

          int     beieeeftoa32(char *a, uint n, void *f)
          int     beieeeftoa64(char *a, uint n, void *f)
          int     beieeeftoa80(char *a, uint n, void *f)

          u16int  beload2(uchar *p)
          u32int  beload4(uchar *p)
          u64int  beload8(uchar *p)

          u16int  leswap2(u16int u)
          u32int  leswap4(u32int u)
          u64int  leswap8(u64int u)

          int     leieeeftoa32(char *a, uint n, void *f)
          int     leieeeftoa64(char *a, uint n, void *f)
          int     leieeeftoa80(char *a, uint n, void *f)

          u16int  leload2(uchar *p)
          u32int  leload4(uchar *p)
          u64int  leload8(uchar *p)

          int     ieeeftoa32(char *a, uint n, u32int u)
          int     ieeeftoa64(char *a, uint n, u32int hi, u32int lo)

     DESCRIPTION
          These functions provide machine-independent access to data
          in a particular byte order.

          Beswap2, beswap4, and beswap8 return the 2-byte, 4-byte, and
          8-byte big-endian representation of the bytes in val,
          respectively.

          Beload2, beload4, and beload8 return the 2-byte, 4-byte, and
          8-byte big-endian interpretation of the bytes at p, respec-
          tively.

     Page 1                       Plan 9            (printed 11/18/24)

     MACH-SWAP(3)                                         MACH-SWAP(3)

          Beieeeftoa32, beieeeftoa64, and beieeeftoa80 format the
          big-endian 4-byte, 8-byte, or 10-byte IEEE floating-point
          value at f into the n-byte string buffer a.

          Leswap2, leswap4, etc. are the little-endian equivalents of
          the routines just described.

          Ieeeftoa32 and ieeeftoa64 format a local machine byte-order
          floating-point value into the n-byte string buffer a.
          Ieeeftoa32 expects a 32-bit floating-point value stored in
          the bits of u. Ieeeftoa64 expects a 64-bit floating-point
          value whose high 32-bits are in hi and low 32-bits are in
          lo.

     SOURCE
          /usr/local/plan9/src/libmach

     SEE ALSO
          mach(3)

     Page 2                       Plan 9            (printed 11/18/24)