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