mach-swap.3 (2239B)
1 .TH MACH-SWAP 3 2 .SH NAME 3 beswap2, beswap4, beswap8, beieeeftoa32, beieeeftoa64, beieeeftoa80, 4 beload2, beload4, beload8, 5 leswap2, leswap4, leswap8, leieeeftoa32, leieeeftoa64, leieeeftoa80, 6 leload2, leload4, leload8, ieeeftoa32, ieeeftoa64 \- machine-independent access to byte-ordered data 7 .SH SYNOPSIS 8 .B #include <u.h> 9 .br 10 .B #include <libc.h> 11 .br 12 .B #include <mach.h> 13 .PP 14 .ta \w'\fBu64intxx'u 15 .B 16 u16int beswap2(u16int u) 17 .br 18 u32int beswap4(u32int u) 19 .br 20 u64int beswap8(u64int u) 21 .PP 22 .B 23 int beieeeftoa32(char *a, uint n, void *f) 24 .br 25 int beieeeftoa64(char *a, uint n, void *f) 26 .br 27 int beieeeftoa80(char *a, uint n, void *f) 28 .PP 29 .B 30 u16int beload2(uchar *p) 31 .br 32 u32int beload4(uchar *p) 33 .br 34 u64int beload8(uchar *p) 35 .PP 36 .B 37 u16int leswap2(u16int u) 38 .br 39 u32int leswap4(u32int u) 40 .br 41 u64int leswap8(u64int u) 42 .PP 43 .B 44 int leieeeftoa32(char *a, uint n, void *f) 45 .br 46 int leieeeftoa64(char *a, uint n, void *f) 47 .br 48 int leieeeftoa80(char *a, uint n, void *f) 49 .PP 50 .B 51 u16int leload2(uchar *p) 52 .br 53 u32int leload4(uchar *p) 54 .br 55 u64int leload8(uchar *p) 56 .PP 57 .B 58 int ieeeftoa32(char *a, uint n, u32int u) 59 .br 60 int ieeeftoa64(char *a, uint n, u32int hi, u32int lo) 61 .SH DESCRIPTION 62 These functions provide 63 machine-independent access to data in a particular byte order. 64 .PP 65 .IR Beswap2 , 66 .IR beswap4 , 67 and 68 .I beswap8 69 return the 2-byte, 4-byte, and 8-byte 70 big-endian representation of the bytes in 71 .IR val , 72 respectively. 73 .PP 74 .IR Beload2 , 75 .IR beload4 , 76 and 77 .I beload8 78 return the 2-byte, 4-byte, and 8-byte 79 big-endian interpretation of the bytes at 80 .IR p , 81 respectively. 82 .PP 83 .IR Beieeeftoa32 , 84 .IR beieeeftoa64 , 85 and 86 .I beieeeftoa80 87 format the big-endian 4-byte, 8-byte, or 10-byte IEEE floating-point value 88 at 89 .IR f 90 into the 91 .IR n -byte 92 string buffer 93 .IR a . 94 .PP 95 .IR Leswap2 , 96 .IR leswap4 , 97 etc. are the little-endian equivalents of the routines just described. 98 .PP 99 .I Ieeeftoa32 100 and 101 .I ieeeftoa64 102 format a local machine byte-order floating-point value into the 103 .IR n -byte 104 string buffer 105 .IR a . 106 .I Ieeeftoa32 107 expects a 32-bit floating-point value stored in the bits of 108 .IR u . 109 .I Ieeeftoa64 110 expects a 64-bit floating-point value whose high 32-bits are in 111 .I hi 112 and low 32-bits are in 113 .IR lo . 114 .SH SOURCE 115 .B \*9/src/libmach 116 .SH "SEE ALSO" 117 .MR mach (3)