mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
This commit makes various different improvements to the documentation:
- sh.1: Backported (with changes) mandoc warning fixes from ksh2020
for the ksh93(1) man page: <https://github.com/att/ast/pull/1406>
- Removed unnecessary spaces at the end of lines to fix a few other
mandoc warnings.
- Fixed various typos and capitalization errors in the documentation.
- ANNOUNCE: Document the addition of the ${.sh.pid} variable
(re: 9de65210
).
- libast/man/str*: Update the man pages for the libast str* functions
to improve how accurately each function is described.
- ksh93/README: Update regression test/compatibility notes to include
OpenBSD 7.0, FreeBSD 13.0 and WSL running Ubuntu 20.04.
- Change a few places to store the return value from strlen in a
size_t variable rather than signed int.
- comp/setlocale.c: To avoid confusion of two separate variables named
lang, the function local variable has been renamed to langidx.
92 lines
3.4 KiB
C
92 lines
3.4 KiB
C
/***********************************************************************
|
|
* *
|
|
* This software is part of the ast package *
|
|
* Copyright (c) 1985-2012 AT&T Intellectual Property *
|
|
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
|
|
* and is licensed under the *
|
|
* Eclipse Public License, Version 1.0 *
|
|
* by AT&T Intellectual Property *
|
|
* *
|
|
* A copy of the License is available at *
|
|
* http://www.eclipse.org/org/documents/epl-v10.html *
|
|
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
|
|
* *
|
|
* Information and Software Systems Research *
|
|
* AT&T Research *
|
|
* Florham Park NJ *
|
|
* *
|
|
* Glenn Fowler <gsf@research.att.com> *
|
|
* David Korn <dgk@research.att.com> *
|
|
* Phong Vo <kpv@research.att.com> *
|
|
* *
|
|
***********************************************************************/
|
|
/*
|
|
* Glenn Fowler
|
|
* AT&T Research
|
|
*
|
|
* xargs/tw command arg list interface definitions
|
|
*/
|
|
|
|
#ifndef _CMDARG_H
|
|
#define _CMDARG_H 1
|
|
|
|
#include <error.h>
|
|
|
|
#define CMD_VERSION 20120411L
|
|
|
|
#define CMD_CHECKED (1<<9) /* cmdopen() argv[0] ok */
|
|
#define CMD_EMPTY (1<<0) /* run once, even if no args */
|
|
#define CMD_EXACT (1<<1) /* last command must have argmax*/
|
|
#define CMD_EXIT (1<<11) /* fatal error_info.exit() */
|
|
#define CMD_IGNORE (1<<2) /* ignore EXIT_QUIT exit */
|
|
#define CMD_INSERT (1<<3) /* argpat for insertion */
|
|
#define CMD_MINIMUM (1<<4) /* argmax is a minimum */
|
|
#define CMD_NEWLINE (1<<5) /* echo separator is newline */
|
|
#define CMD_POST (1<<6) /* argpat is post arg position */
|
|
#define CMD_QUERY (1<<7) /* trace and query each command */
|
|
#define CMD_SILENT (1<<10) /* no error messages */
|
|
#define CMD_TRACE (1<<8) /* trace each command */
|
|
|
|
#define CMD_USER (1<<12)
|
|
|
|
#define CMDDISC(d,f,e) (memset(d,0,sizeof(*(d))),(d)->version=CMD_VERSION,(d)->flags=(f),(d)->errorf=(e))
|
|
|
|
struct Cmddisc_s;
|
|
typedef struct Cmddisc_s Cmddisc_t;
|
|
|
|
typedef int (*Cmdrun_f)(int, char**, Cmddisc_t*);
|
|
|
|
struct Cmddisc_s
|
|
{
|
|
uint32_t version; /* CMD_VERSION */
|
|
uint32_t flags; /* CMD_* flags */
|
|
Error_f errorf; /* optional error function */
|
|
Cmdrun_f runf; /* optional exec function */
|
|
};
|
|
|
|
typedef struct Cmdarg_s /* cmdopen() handle */
|
|
{
|
|
const char* id; /* library ID string */
|
|
|
|
#ifdef _CMDARG_PRIVATE_
|
|
_CMDARG_PRIVATE_
|
|
#endif
|
|
|
|
} Cmdarg_t;
|
|
|
|
#if _BLD_ast && defined(__EXPORT__)
|
|
#define extern __EXPORT__
|
|
#endif
|
|
|
|
#ifndef cmdopen
|
|
extern Cmdarg_t* cmdopen(char**, int, int, const char*, int);
|
|
#endif
|
|
extern Cmdarg_t* cmdopen_20110505(char**, int, int, const char*, int, Error_f);
|
|
extern Cmdarg_t* cmdopen_20120411(char**, int, int, const char*, Cmddisc_t*);
|
|
extern int cmdflush(Cmdarg_t*);
|
|
extern int cmdarg(Cmdarg_t*, const char*, int);
|
|
extern int cmdclose(Cmdarg_t*);
|
|
|
|
#undef extern
|
|
|
|
#endif
|