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