1 /*
2  * reimplementation of Daniel Bernstein's byte library.
3  * placed in the public domain by Uwe Ohse, uwe@ohse.de.
4  */
5 #ifndef FMT_H
6 #define FMT_H
7 
8 #define FMT_ULONG 40 /* enough to hold 2^128 - 1 in decimal, plus \0 */
9 #define FMT_LEN ((char *) 0)
10 
11 extern unsigned int fmt_ushort(char *target,unsigned short val);
12 extern unsigned int fmt_ushort0(char *target,unsigned short val,
13 	unsigned int len);
14 
15 extern unsigned int fmt_uint(char *target,unsigned int val);
16 extern unsigned int fmt_uint0(char *target,unsigned int val,unsigned int len);
17 
18 extern unsigned int fmt_ulong(char *target,unsigned long val);
19 extern unsigned int fmt_ulong0(char *target,unsigned long val,
20 	unsigned int len);
21 extern unsigned int fmt_xlong(char *target,unsigned long val);
22 extern unsigned int fmt_xlong0(char *target,unsigned long val,
23 	unsigned int len);
24 
25 extern unsigned int fmt_oct(char *target,unsigned long val);
26 extern unsigned int fmt_oct0(char *target,unsigned long val,
27 	unsigned int len);
28 #define FMT__DOUBLE (FMT_ULONG+1+FMT_ULONG)
29 extern unsigned int fmt__double(char *target,double val,
30   unsigned int pc, unsigned int ac);
31 
32 #if 0
33 /* bernstein also has these: */
34 extern unsigned int fmt_xint(char *target,unsigned int);
35 extern unsigned int fmt_nbbint(char *target,unsigned int,unsigned int,unsigned int,unsigned int);
36 extern unsigned int fmt_xshort(char *target,unsigned short);
37 extern unsigned int fmt_nbbshort(char *target,unsigned int,unsigned int,unsigned int,unsigned short);
38 extern unsigned int fmt_nbblong(char *target,unsigned int,unsigned int,unsigned int,unsigned long);
39 
40 extern unsigned int fmt_plusminus(char *,int);
41 extern unsigned int fmt_minus(char *,int);
42 extern unsigned int fmt_0x(char *,int);
43 
44 extern unsigned int fmt_str(char *,char *);
45 extern unsigned int fmt_strn(char *,char *,unsigned int);
46 #endif
47 
48 #endif
49