diff options
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/cmd.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/sys/cmd.h b/include/sys/cmd.h new file mode 100644 index 0000000..eb3cbfc --- /dev/null +++ b/include/sys/cmd.h @@ -0,0 +1,45 @@ +#ifndef _SYS_CMD_H +#define _SYS_CMD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_size_t + +#include <bits/alltypes.h> + +/***************************************************************************/ +/* int (*cmd_args_to_argv)( */ +/* const char * args, */ +/* char * argbuf, size_t buflen, */ +/* char ** argv, size_t nptrs); */ +/* */ +/* arguments: */ +/* args: command to parse */ +/* argbuf: buffer to receive the corresponding sequence of */ +/* null-terminated arguments. */ +/* buflen: size of argbuf, including final null-terminator. */ +/* argv: argument vector to receive pointers to the above */ +/* null-terminated arguments. */ +/* nptrs: number of available argv pointers, including */ +/* including the terminating null pointer. */ +/* */ +/* return value: */ +/* zero upon successful parsing and buffer initialization */ +/* negative value returned upon failure, which is the actual value */ +/* returned by the underlying system call; accordingly, errno */ +/* is _not_ set by the above interface. */ +/* */ +/* implementation: */ +/* the above interface is async-safe, thread-safe, and re-entrant. */ +/* */ +/***************************************************************************/ + +int __cmd_args_to_argv(const char *, char *, size_t, char **, size_t); + +#ifdef __cplusplus +} +#endif + +#endif |