DragonFly On-Line Manual Pages
BUILTIN(1) DragonFly General Commands Manual BUILTIN(1)
NAME
builtin, !, %, ., :, @, [, {, }, alias, alloc, bg, bind, bindkey, break,
breaksw, builtins, case, cd, chdir, command, complete, continue, default,
dirs, do, done, echo, echotc, elif, else, end, endif, endsw, esac, eval,
exec, exit, export, false, fc, fg, filetest, fi, for, foreach, getopts,
glob, goto, hash, hashstat, history, hup, if, jobid, jobs, kill, let,
limit, local, log, login, logout, ls-F, nice, nohup, notify, onintr,
popd, printenv, printf, pushd, pwd, read, readonly, rehash, repeat,
return, sched, set, setenv, settc, setty, setvar, shift, source, stop,
suspend, switch, telltc, termname, test, then, time, times, trap, true,
type, ulimit, umask, unalias, uncomplete, unhash, unlimit, unset,
unsetenv, until, wait, where, which, while, wordexp, wordexp2 - shell
built-in commands
SYNOPSIS
See the built-in command description in the appropriate shell manual
page.
DESCRIPTION
Shell builtin commands are commands that can be executed within the
running shell's process. Note that, in the case of csh(1) builtin
commands, the command is executed in a subshell if it occurs as any
component of a pipeline except the last.
If a command specified to the shell contains a slash `/', the shell will
not execute a builtin command, even if the last component of the
specified command matches the name of a builtin command. Thus, while
specifying "echo" causes a builtin command to be executed under shells
that support the echo builtin command, specifying "/bin/echo" or "./echo"
does not.
While some builtin commands may exist in more than one shell, their
operation may be different under each shell which supports them. Below
is a table which lists shell builtin commands, the standard shells that
support them and whether they exist as standalone utilities.
Only builtin commands for the csh(1) and sh(1) shells are listed here.
Consult a shell's manual page for details on the operation its builtin
commands. Beware that the sh(1) manual page, at least, calls some of
these commands "built-in commands" and some of them "reserved words".
Users of other shells may need to consult an info(1) page or other
sources of documentation.
Commands marked "No**" under External do exist externally, but are
implemented as scripts using a builtin command of the same name.
Command External csh(1) sh(1)
! No No Yes
% No Yes No
. No No Yes
: No Yes Yes
@ No Yes No
[ Yes No Yes
{ No No Yes
} No No Yes
alias No** Yes Yes
alloc No Yes No
bg No** Yes Yes
bind No No Yes
bindkey No Yes No
break No Yes Yes
breaksw No Yes No
builtin No No Yes
builtins No Yes No
case No Yes Yes
cd No** Yes Yes
chdir No Yes Yes
command No** No Yes
complete No Yes No
continue No Yes Yes
default No Yes No
dirs No Yes No
do No No Yes
done No No Yes
echo Yes Yes Yes
echotc No Yes No
elif No No Yes
else No Yes Yes
end No Yes No
endif No Yes No
endsw No Yes No
esac No No Yes
eval No Yes Yes
exec No Yes Yes
exit No Yes Yes
export No No Yes
false Yes No Yes
fc No** No Yes
fg No** Yes Yes
filetest No Yes No
fi No No Yes
for No No Yes
foreach No Yes No
getopts No** No Yes
glob No Yes No
goto No Yes No
hash No No Yes
hashstat No Yes No
history No Yes No
hup No Yes No
if No Yes Yes
jobid No No Yes
jobs No** Yes Yes
kill Yes Yes Yes
let No No Yes
limit No Yes No
local No No Yes
log No Yes No
login Yes Yes No
logout No Yes No
ls-F No Yes No
nice Yes Yes No
nohup Yes Yes No
notify No Yes No
onintr No Yes No
popd No Yes No
printenv Yes Yes No
printf Yes No Yes
pushd No Yes No
pwd Yes No Yes
read No** No Yes
readonly No No Yes
rehash No Yes No
repeat No Yes No
return No No Yes
sched No Yes No
set No Yes Yes
setenv No Yes No
settc No Yes No
setty No Yes No
setvar No No Yes
shift No Yes Yes
source No Yes No
stop No Yes No
suspend No Yes No
switch No Yes No
telltc No Yes No
termname No Yes No
test Yes No Yes
then No No Yes
time Yes Yes No
times No No Yes
trap No No Yes
true Yes No Yes
type No No Yes
ulimit No No Yes
umask No** Yes Yes
unalias No** Yes Yes
uncomplete No Yes No
unhash No Yes No
unlimit No Yes No
unset No Yes Yes
unsetenv No Yes No
until No No Yes
wait No** Yes Yes
where No Yes No
which Yes Yes No
while No Yes Yes
wordexp No No Yes
wordexp2 No No Yes
Note that the wordexp and wordexp2 commands are only meant to be used by
wordexp(3) and not by the user.
SEE ALSO
csh(1), echo(1), false(1), info(1), kill(1), login(1), nice(1), nohup(1),
printenv(1), printf(1), pwd(1), sh(1), test(1), time(1), true(1),
which(1), wordexp(3)
HISTORY
The builtin manual page first appeared in FreeBSD 3.4.
AUTHORS
This manual page was written by Sheldon Hearn <sheldonh@FreeBSD.org>.
DragonFly 5.9-DEVELOPMENT October 9, 2020 DragonFly 5.9-DEVELOPMENT
curs_sp_funcs(3X) curs_sp_funcs(3X)
NAME
curs_sp_funcs - curses screen-pointer extension
SYNOPSIS
#include <ncurses/curses.h>
int alloc_pair_sp(SCREEN* sp, int fg, int bg);
int assume_default_colors_sp(SCREEN* sp, int fg, int bg);
int baudrate_sp(SCREEN* sp);
int beep_sp(SCREEN* sp);
bool can_change_color_sp(SCREEN* sp);
int cbreak_sp(SCREEN* sp);
int color_content_sp(SCREEN* sp, short color, short* r, short* g, short* b);
int curs_set_sp(SCREEN* sp, int visibility);
int def_prog_mode_sp(SCREEN* sp);
int def_shell_mode_sp(SCREEN* sp);
int define_key_sp(SCREEN* sp, const char * definition, int keycode);
int delay_output_sp(SCREEN* sp, int ms);
int doupdate_sp(SCREEN* sp);
int echo_sp(SCREEN* sp);
int endwin_sp(SCREEN* sp);
char erasechar_sp(SCREEN* sp);
int erasewchar_sp(SCREEN* sp, wchar_t *ch);
int extended_color_content_sp(SCREEN * sp, int color, int * r, int * g, int * b);
int extended_pair_content_sp(SCREEN* sp, int pair, int * fg, int * bg);
int extended_slk_color_sp(SCREEN* sp, int pair);
void filter_sp(SCREEN* sp);
int find_pair_sp(SCREEN* sp, int fg, int bg);
int flash_sp(SCREEN* sp);
int flushinp_sp(SCREEN* sp);
int free_pair_sp(SCREEN* sp, int pair);
int get_escdelay_sp(SCREEN* sp);
int getmouse_sp(SCREEN* sp, MEVENT* event);
WINDOW* getwin_sp(SCREEN* sp, FILE* filep);
int halfdelay_sp(SCREEN* sp, int tenths);
bool has_colors_sp(SCREEN* sp);
bool has_ic_sp(SCREEN* sp);
bool has_il_sp(SCREEN* sp);
int has_key_sp(SCREEN* sp, int ch);
bool has_mouse_sp(SCREEN* sp);
int init_color_sp(SCREEN* sp, short color, short r, short g, short b);
int init_extended_color_sp(SCREEN* sp, int color, int r, int g, int b);
int init_extended_pair_sp(SCREEN* sp, int pair, int fg, int bg);
int init_pair_sp(SCREEN* sp, short pair, short fg, short bg);
int intrflush_sp(SCREEN* sp, WINDOW* win, bool bf);
bool is_term_resized_sp(SCREEN* sp, int lines, int columns);
bool isendwin_sp(SCREEN* sp);
int key_defined_sp(SCREEN* sp, const char *definition);
char* keybound_sp(SCREEN* sp, int keycode, int count);
NCURSES_CONST char * keyname_sp(SCREEN* sp, int c);
int keyok_sp(SCREEN* sp, int keycode, bool enable);
char killchar_sp(SCREEN* sp);
int killwchar_sp(SCREEN* sp, wchar_t *ch);
char* longname_sp(SCREEN* sp);
int mcprint_sp(SCREEN* sp, char *data, int len);
int mouseinterval_sp(SCREEN* sp, int erval);
mmask_t mousemask_sp(SCREEN* sp, mmask_t newmask, mmask_t *oldmask);
int mvcur_sp(SCREEN* sp, int oldrow, int oldcol, int newrow, int newcol);
int napms_sp(SCREEN* sp, int ms);
WINDOW* newpad_sp(SCREEN* sp, int nrows, int ncols);
SCREEN* new_prescr(void);
SCREEN* newterm_sp(SCREEN* sp, const char *type, FILE *outfd, FILE *infd);
WINDOW* newwin_sp(SCREEN* sp, int nlines, int ncols, int begin_y, int begin_x);
int nl_sp(SCREEN* sp);
int nocbreak_sp(SCREEN* sp);
int noecho_sp(SCREEN* sp);
void nofilter_sp(SCREEN* sp);
int nonl_sp(SCREEN* sp);
void noqiflush_sp(SCREEN* sp);
int noraw_sp(SCREEN* sp);
int pair_content_sp(SCREEN* sp, short pair, short* fg, short* bg);
void qiflush_sp(SCREEN* sp);
int raw_sp(SCREEN* sp);
int reset_prog_mode_sp(SCREEN* sp);
void reset_color_pairs_sp(SCREEN* sp);
int reset_shell_mode_sp(SCREEN* sp);
int resetty_sp(SCREEN* sp);
int resize_term_sp(SCREEN* sp, int lines, int columns);
int resizeterm_sp(SCREEN* sp, int lines, int columns);
int ripoffline_sp(SCREEN* sp, int line, int (*init)(WINDOW* win, int fmt));
int savetty_sp(SCREEN* sp);
int scr_init_sp(SCREEN* sp, const char *filename);
int scr_restore_sp(SCREEN* sp, const char *filename);
int scr_set_sp(SCREEN* sp, const char *filename);
int set_escdelay_sp(SCREEN* sp, int ms);
int set_tabsize_sp(SCREEN* sp, int cols);
int slk_attr_set_sp(SCREEN* sp, const attr_t attrs, short pair, void*opts);
int slk_attrset_sp(SCREEN* sp, const chtype a);
int slk_attroff_sp(SCREEN* sp, const chtype a);
int slk_attron_sp(SCREEN* sp, const chtype a);
attr_t slk_attr_sp(SCREEN* sp);
int slk_clear_sp(SCREEN* sp);
int slk_color_sp(SCREEN* sp, short pair);
int slk_init_sp(SCREEN* sp, int fmt);
char* slk_label_sp(SCREEN* sp, int labnum);
int slk_noutrefresh_sp(SCREEN* sp);
int slk_refresh_sp(SCREEN* sp);
int slk_restore_sp(SCREEN* sp);
int slk_set_sp(SCREEN* sp, int labnum, const char * label, int fmt);
int slk_touch_sp(SCREEN* sp);
int start_color_sp(SCREEN* sp);
attr_t term_attrs_sp(SCREEN* sp);
chtype termattrs_sp(SCREEN* sp);
char* termname_sp(SCREEN* sp);
int typeahead_sp(SCREEN* sp, int fd);
int unget_wch_sp(SCREEN* sp, const wchar_t wch);
int ungetch_sp(SCREEN* sp, int ch);
int ungetmouse_sp(SCREEN* sp,MEVENT * event);
int use_default_colors_sp(SCREEN* sp);
void use_env_sp(SCREEN* sp, bool bf);
int use_legacy_coding_sp(SCREEN* sp, int level);
void use_tioctl_sp(SCREEN *sp, bool bf);
int vid_attr_sp(SCREEN* sp, attr_t attrs, short pair, void * opts);
int vid_puts_sp(SCREEN* sp, attr_t attrs, short pair, void * opts, NCURSES_SP_OUTC putc);
int vidattr_sp(SCREEN* sp, chtype attrs);
int vidputs_sp(SCREEN* sp, chtype attrs, NCURSES_SP_OUTC putc);
wchar_t* wunctrl_sp(SCREEN* sp, cchar_t *ch);
#include <form.h>
FORM* new_form_sp(SCREEN* sp, FIELD **fields);
#include <menu.h>
MENU* new_menu_sp(SCREEN* sp, ITEM **items);
#include <panel.h>
PANEL* ceiling_panel(SCREEN* sp);
PANEL* ground_panel(SCREEN* sp);
void update_panels_sp(SCREEN* sp);
#include <term.h>
int del_curterm_sp(SCREEN* sp, TERMINAL *oterm);
int putp_sp(SCREEN* sp, const char *str);
int restartterm_sp(SCREEN* sp, NCURSES_CONST char*term, int filedes, int *errret);
TERMINAL* set_curterm_sp(SCREEN* sp, TERMINAL*nterm);
int tgetent_sp(SCREEN* sp, char *bp, const char *name);
int tgetflag_sp(SCREEN* sp, const char *capname);
int tgetnum_sp(SCREEN* sp, const char *capname);
char* tgetstr_sp(SCREEN* sp, const char *capname, char **area);
char* tgoto_sp(SCREEN* sp, const char *capname, int col, int row);
int tigetflag_sp(SCREEN* sp, const char *capname);
int tigetnum_sp(SCREEN* sp, const char *capname);
char* tigetstr_sp(SCREEN* sp, const char *capname);
/* may instead use 9 long parameters */
char* tparm_sp(SCREEN* sp, const char *str, ...);
int tputs_sp(SCREEN* sp, const char *str, int affcnt, NCURSES_SP_OUTC putc);
#include <unctrl.h>
NCURSES_CONST char* unctrl_sp(SCREEN* sp, chtype c);
DESCRIPTION
This implementation can be configured to provide a set of functions
which improve the ability to manage multiple screens. This feature can
be added to any of the configurations supported by ncurses; it adds new
entrypoints without changing the meaning of any of the existing ones.
IMPROVED FUNCTIONS
Most of the functions are new versions of existing functions. A
parameter is added at the front of the parameter list. It is a SCREEN
pointer.
The existing functions all use the current screen, which is a static
variable. The extended functions use the specified screen, thereby
reducing the number of variables which must be modified to update
multiple screens.
NEW FUNCTIONS
Here are the new functions:
ceiling_panel
this returns a pointer to the topmost panel in the given screen.
ground_panel
this returns a pointer to the lowest panel in the given screen.
new_prescr
when creating a new screen, the library uses static variables
which have been preset, e.g., by use_env(3X), filter(3X), etc.
With the screen-pointer extension, there are situations where it
must create a current screen before the unextended library does.
The new_prescr function is used internally to handle these cases.
It is also provided as an entrypoint to allow applications to
customize the library initialization.
NOTES
This extension introduces some new names:
NCURSES_SP_FUNCS
This is set to the library patch-level number. In the unextended
library, this is zero (0), to make it useful for checking if the
extension is provided.
NCURSES_SP_NAME
The new functions are named using the macro NCURSES_SP_NAME, which
hides the actual implementation. Currently this adds a "_sp"
suffix to the name of the unextended function. This manual page
indexes the extensions showing the full name. However the proper
usage of these functions uses the macro, to provide for the
possibility of changing the naming convention for specific library
configurations.
NCURSES_SP_OUTC
This is a new function-pointer type to use in the screen-pointer
functions where an NCURSES_OUTC is used in the unextended library.
NCURSES_OUTC
This is a function-pointer type used for the cases where a
function passes characters to the output stream, e.g.,
vidputs(3X).
PORTABILITY
These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
code depending on ncurses extensions be conditioned using
NCURSES_SP_FUNCS.
SEE ALSO
curses(3X), curs_opaque(3X), curs_threads(3X).
curs_sp_funcs(3X)