GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
ENCODE(3) FreeBSD Library Functions Manual ENCODE(3)

dec64, enc64, dec32, enc32, dec16, enc16, encodefmt - encoding byte arrays as strings

#include <u.h>
 
#include <libc.h>
int dec64(uchar *out, int lim, char *in, int n)
int enc64(char *out, int lim, uchar *in, int n)
int dec32(uchar *out, int lim, char *in, int n)
int enc32(char *out, int lim, uchar *in, int n)
int dec16(uchar *out, int lim, char *in, int n)
int enc16(char *out, int lim, uchar *in, int n)
int encodefmt(Fmt*)

Enc16, enc32 and enc64 create null terminated strings. They return the size of the encoded string (without the null) or -1 if the encoding fails. The encoding fails if lim, the length of the output buffer, is too small.
Dec16, dec32 and dec64 return the number of bytes decoded or -1 if the decoding fails. The decoding fails if the output buffer is not large enough or, for base 32, if the input buffer length is not a multiple of 8.
Encodefmt can be used with fmtinstall(3) and print(3) to print encoded representations of byte arrays. The verbs are
H
base 16 (i.e. hexadecimal). The default encoding is in upper case. The l flag forces lower case.
<
base 32
[
base 64 (same as MIME)
The length of the array is specified as f2. For example, to display a 15 byte array as hex:
char x[15];
fmtinstall('H', encodefmt); print("%.*H\n", sizeof x, x);

/src/lib9/u32.c
 
/src/lib9/u64.c

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.