]> rtime.felk.cvut.cz Git - rpp-test-sw.git/blob - rpp/lib/cmdproc/include/cmdproc_utils.h
Yet another place to fix
[rpp-test-sw.git] / rpp / lib / cmdproc / include / cmdproc_utils.h
1 #ifndef _UTILS_DEF_H_
2 #define _UTILS_DEF_H_
3
4 #include "types.h"
5
6 /*masked fields macros*/
7 #define __val2mfld(mask,val) (((mask)&~((mask)<<1))*(val)&(mask))
8 #define __mfld2val(mask,val) (((val)&(mask))/((mask)&~((mask)<<1)))
9
10 #define MAX_PARAM_VALUES_NUM    64
11
12 /* skip space/blank characters, return 0 if no space found */
13 int si_skspace(char **ps);
14
15 /* skip spaces and checks for <sepchars>, */
16 /* if no such char return -1, else char is returned */
17 int si_fndsep(char **ps, char *sepchrs);
18
19 /* reads max <n> letters and digits to <pout> */
20 /* returns number of readed chars */
21 int si_alnumn(char **ps, char *pout, int n);
22
23 /* same as above, but only letters are read */
24 int si_alphan(char **ps, char *pout, int n);
25
26 /* reads long number, if no digit found return -1 */
27 int si_long(char **ps, long *val, int base);
28
29 /* reads numbers into array, size of element representation is selected by blen */
30 int si_add_to_arr(char **ps, void **pdata, int *plen, int base, int elsize,
31                   char *stop_chars);
32
33 /* concatenate C main style arguments into one line */
34 int concat_args2line(char **pline, int argc, char **argv);
35
36 /* Read argument from commands in format (XX,XX,XX...) */
37 int read_arg(char **ps, uint32_t *buf, int n, int base);
38 #endif                          /* _UTILS_DEF_H_ */