Quash Shell
0.1
A simple yet powerfull shell program
|
Implements functions used to generate and manage commands. More...
Functions | |
CommandHolder | mk_command_holder (char *redirect_in, char *redirect_out, char flags, Command cmd) |
Create a CommandHolder structure and return a copy. More... | |
Command | mk_generic_command (char **args) |
Create a GenericCommand structure and return a copy. More... | |
Command | mk_echo_command (char **strs) |
Create a EchoCommand structure and return a copy. More... | |
Command | mk_export_command (char *env_var, char *val) |
Create a ExportCommand structure and return a copy. More... | |
Command | mk_cd_command (char *dir) |
Create a CDCommand structure and return a copy. More... | |
Command | mk_kill_command (char *sig, char *job) |
Create a KillCommand structure and return a copy. More... | |
Command | mk_pwd_command () |
Create a PWDCommand structure and return a copy. More... | |
Command | mk_jobs_command () |
Create a JobsCommand structure and return a copy. More... | |
Command | mk_exit_command () |
Create a ExitCommand structure and return a copy. More... | |
Command | mk_eoc () |
Create a EOCCommand structure and return a copy. More... | |
CommandType | get_command_type (Command cmd) |
Get the type of the command. More... | |
CommandType | get_command_holder_type (CommandHolder holder) |
Get the type of the Command in the CommandHolder. More... | |
void | debug_print_script (const CommandHolder *holders) |
Print all commands in the script with print_command() More... | |
Implements functions used to generate and manage commands.
void debug_print_script | ( | const CommandHolder * | holders | ) |
Print all commands in the script with print_command()
holders | CommandHolder array to print |
CommandType get_command_holder_type | ( | CommandHolder | holder | ) |
Get the type of the Command in the CommandHolder.
Uses the property that all Command variants can be cast to SimpleCommand to extract the CommandType of the Command.
holder | CommandHolder from which this function extracts the CommandType |
cmd
parameterCommandType get_command_type | ( | Command | cmd | ) |
Get the type of the command.
Uses the property that all Command variants can be cast to SimpleCommand to extract the CommandType of the Command.
cmd | Command from which this function extracts the CommandType |
cmd
parameterCommand mk_cd_command | ( | char * | dir | ) |
CommandHolder mk_command_holder | ( | char * | redirect_in, |
char * | redirect_out, | ||
char | flags, | ||
Command | cmd | ||
) |
Create a CommandHolder structure and return a copy.
redirect_in | If the REDIRECT_IN flag is set, Quash should redirect the standard input stream of the command to read from a file stored in this string |
redirect_out | If the REDIRECT_OUT flag is set, Quash should redirect the standard output stream of the command to write to a file stored in this string |
flags | A set of bits that hold information about how to execute the command. The properties can be extracted from the flags field by using a bit-wise & (i.e. flags & PIPE_IN) are macro defined as:
|
cmd | The Command the CommandHolder should copy and hold on to |
Command mk_echo_command | ( | char ** | args | ) |
Create a EchoCommand structure and return a copy.
args | A NULL terminated array of strings containing the strings passed to echo |
Command mk_eoc | ( | ) |
Create a EOCCommand structure and return a copy.
Command mk_exit_command | ( | ) |
Create a ExitCommand structure and return a copy.
Command mk_export_command | ( | char * | env_var, |
char * | val | ||
) |
Create a ExportCommand structure and return a copy.
env_var | Name of environment variable to set |
val | String that should be stored in env_var environment variable |
Command mk_generic_command | ( | char ** | args | ) |
Create a GenericCommand structure and return a copy.
args | A NULL terminated array of strings ready to pass to the exec family of functions |
Command mk_jobs_command | ( | ) |
Create a JobsCommand structure and return a copy.
Command mk_kill_command | ( | char * | sig, |
char * | job | ||
) |
Create a KillCommand structure and return a copy.
sig | Signal to send to the job |
job | Job id number |
Command mk_pwd_command | ( | ) |
Create a PWDCommand structure and return a copy.