1 #ifndef SUBST_H 2 #define SUBST_H 3 4 struct subst_val { 5 char id; /* if id=='X', %X will be substituted */ 6 enum { 7 INT ='i', /* val => signed int */ 8 UINT ='u', /* val => unsigned int */ 9 OCTAL ='o', /* val => unsigned int */ 10 HEX ='x', /* val => unsigned int */ 11 FLOAT_E ='e', /* val => double */ 12 FLOAT_F ='f', /* val => double */ 13 FLOAT_G ='g', /* val => double */ 14 FLOAT_A ='a', /* val => double */ 15 CHAR ='c', /* val => char */ 16 STRING ='s' /* val => char * */ 17 } type; 18 void *val; 19 }; 20 21 char *subst(const char *s, struct subst_val *substitutes); 22 23 #endif 24