mirror of https://github.com/n-hys/bash.git
76 lines
1.4 KiB
C
76 lines
1.4 KiB
C
/* template - example template for loadable builtin */
|
|
|
|
/* See Makefile for compilation details. */
|
|
|
|
#include <config.h>
|
|
|
|
#if defined (HAVE_UNISTD_H)
|
|
# include <unistd.h>
|
|
#endif
|
|
#include "bashansi.h"
|
|
#include <stdio.h>
|
|
#include <errno.h>
|
|
|
|
#include "loadables.h"
|
|
|
|
#if !defined (errno)
|
|
extern int errno;
|
|
#endif
|
|
|
|
extern char *strerror ();
|
|
|
|
int
|
|
template_builtin (list)
|
|
WORD_LIST *list;
|
|
{
|
|
int opt, rval;
|
|
|
|
rval = EXECUTION_SUCCESS;
|
|
reset_internal_getopt ();
|
|
while ((opt = internal_getopt (list, "")) != -1)
|
|
{
|
|
switch (opt)
|
|
{
|
|
CASE_HELPOPT;
|
|
default:
|
|
builtin_usage ();
|
|
return (EX_USAGE);
|
|
}
|
|
}
|
|
list = loptend;
|
|
|
|
return (rval);
|
|
}
|
|
|
|
/* Called when `template' is enabled and loaded from the shared object. If this
|
|
function returns 0, the load fails. */
|
|
int
|
|
template_builtin_load (name)
|
|
char *name;
|
|
{
|
|
return (1);
|
|
}
|
|
|
|
/* Called when `template' is disabled. */
|
|
void
|
|
template_builtin_unload (name)
|
|
char *name;
|
|
{
|
|
}
|
|
|
|
char *template_doc[] = {
|
|
"Short description.",
|
|
""
|
|
"Longer description of builtin and usage.",
|
|
(char *)NULL
|
|
};
|
|
|
|
struct builtin template_struct = {
|
|
"template", /* builtin name */
|
|
template_builtin, /* function implementing the builtin */
|
|
BUILTIN_ENABLED, /* initial flags for builtin */
|
|
template_doc, /* array of long documentation strings. */
|
|
"template", /* usage synopsis; becomes short_doc */
|
|
0 /* reserved for internal use */
|
|
};
|