diff options
author | midipix <writeonce@midipix.org> | 2019-08-30 02:42:34 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2019-08-30 03:02:03 +0000 |
commit | b85b1f5d35413312c08e7670dd4db67b7e088d91 (patch) | |
tree | 1be04be1b6f6aff303965a440c37e4be8d9c5599 /include/sys | |
parent | da2149d3136a05b9adb98b0811f706fef15bb95f (diff) | |
download | mmglue-b85b1f5d35413312c08e7670dd4db67b7e088d91.tar.bz2 mmglue-b85b1f5d35413312c08e7670dd4db67b7e088d91.tar.xz |
glue layer: introduced <sys/cmd.h>, implemented associated interfaces.
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 |