MALOC  0.1
Files | Classes | Typedefs | Functions
Vsh class

A bourne-compatible shell. More...

Files

file  psh.h
 Header file for a simple parallel extension of ALOC's VSH.
 
file  vsh.h
 Header file for vsh, a bourne-compatible shell.
 

Classes

struct  sVsh
 Contains public data members for Vsh class. More...
 

Typedefs

typedef struct sVsh Vsh
 Declaration of the Vsh class as the Vsh structure. More...
 

Functions

int Vsh_pshell (Vsh *thee, char *pPR, void *pthee, int(*builtin)(void *thee, int argc, char **argv))
 Drop-in replacement for Vsh_shell giving parallel extensions. More...
 
VshVsh_ctor (Vmem *vmem, int argc, char **argv)
 Create the shell. More...
 
void Vsh_dtor (Vsh **thee)
 Destroy the shell. More...
 
int Vsh_shell (Vsh *thee, char *pPR, void *pthee, int(*builtin)(void *thee, int argc, char **argv))
 A bash-like shell with user-definable extensions.
More...
 
int Vsh_putenv (Vsh *thee, const char *envi, const char *valu)
 Place a variable with a value in the environment. More...
 
int Vsh_putenvInfo (Vsh *thee, const char *envi, const char *valu)
 Place a variable with an info string in the environment. More...
 
int Vsh_putenvInt (Vsh *thee, const char *envi, const int valu)
 Place a variable with a value (integer) in the environment.
More...
 
int Vsh_putenvReal (Vsh *thee, const char *envi, const double valu)
 Place a variable with a value (real) in the environment. More...
 
char * Vsh_getenv (Vsh *thee, const char *envi)
 Get a value of variable in the environment.
More...
 
char * Vsh_getenvInfo (Vsh *thee, const char *envi)
 Get info associated with a variable in the environment. More...
 
int Vsh_getenvInt (Vsh *thee, const char *envi)
 Get a value of variable in the environment as an integer. More...
 
double Vsh_getenvReal (Vsh *thee, const char *envi)
 Get a value of variable in the environment as a real. More...
 
void Vsh_remove (Vsh *thee, const char *envi)
 Remove a variable from the environment.
More...
 
void Vsh_wipe (Vsh *thee)
 Wipe the environment. More...
 
void Vsh_memChk (Vsh *thee)
 Print the exact current malloc usage.
More...
 
VioVsh_ioSetup (Vsh *thee, char *key)
 Setup for an I/O command.
More...
 
void Vsh_ioCleanup (Vsh *thee, Vio **sock)
 Cleanup an I/O command.
More...
 

Detailed Description

A bourne-compatible shell.

Typedef Documentation

◆ Vsh

typedef struct sVsh Vsh

Declaration of the Vsh class as the Vsh structure.

Author
Michael Holst

Function Documentation

◆ Vsh_ctor()

Vsh* Vsh_ctor ( Vmem vmem,
int  argc,
char **  argv 
)

Create the shell.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
Pointer to the new allocated Vsh object
Parameters
vmemMemory management object
argcnumber of the command line arguments
argvthe command line arguments

◆ Vsh_dtor()

void Vsh_dtor ( Vsh **  thee)

Destroy the shell.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
None
Parameters
theePointer to the Vsh object

◆ Vsh_getenv()

char* Vsh_getenv ( Vsh thee,
const char *  envi 
)

Get a value of variable in the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
value of variable in the environment.
Parameters
theePointer to the Vsh object
envienvironment string

◆ Vsh_getenvInfo()

char* Vsh_getenvInfo ( Vsh thee,
const char *  envi 
)

Get info associated with a variable in the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
info associated with a variable in the environment.
Parameters
theePointer to the Vsh object
envienvironment string

◆ Vsh_getenvInt()

int Vsh_getenvInt ( Vsh thee,
const char *  envi 
)

Get a value of variable in the environment as an integer.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
value of variable in the environment as an integer.
Parameters
theePointer to the Vsh object
envienvironment string

◆ Vsh_getenvReal()

double Vsh_getenvReal ( Vsh thee,
const char *  envi 
)

Get a value of variable in the environment as a real.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
value of variable in the environment as a real.
Parameters
theePointer to the Vsh object
envienvironment string

◆ Vsh_ioCleanup()

void Vsh_ioCleanup ( Vsh thee,
Vio **  sock 
)

Cleanup an I/O command.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
None
Parameters
theePointer to the Vsh object
socksocket for reading/writing the external data

◆ Vsh_ioSetup()

Vio* Vsh_ioSetup ( Vsh thee,
char *  key 
)

Setup for an I/O command.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
socket for reading/writing the external data
Parameters
theePointer to the Vsh object
keyPointer to different read/write option

◆ Vsh_memChk()

void Vsh_memChk ( Vsh thee)

Print the exact current malloc usage.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
None
Parameters
theePointer to the Vsh object

◆ Vsh_pshell()

int Vsh_pshell ( Vsh thee,
char *  pPR,
void *  pthee,
int(*)(void *thee, int argc, char **argv)  builtin 
)

Drop-in replacement for Vsh_shell giving parallel extensions.

Author
Michael Holst
Note
None
Returns
Success enumeration
Parameters
theePointer to the Vsh object
pPRminimal prompt
ptheethe externally supplied builtin object pointer
builtinexternal supershell builtin function

◆ Vsh_putenv()

int Vsh_putenv ( Vsh thee,
const char *  envi,
const char *  valu 
)

Place a variable with a value in the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
Success enumeration
Parameters
theePointer to the Vsh object
envienvironment string
valuvalue string

◆ Vsh_putenvInfo()

int Vsh_putenvInfo ( Vsh thee,
const char *  envi,
const char *  valu 
)

Place a variable with an info string in the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
Success enumeration
Parameters
theePointer to the Vsh object
envienvironment string
valuvalue string

◆ Vsh_putenvInt()

int Vsh_putenvInt ( Vsh thee,
const char *  envi,
const int  valu 
)

Place a variable with a value (integer) in the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
Success enumeration
Parameters
theePointer to the Vsh object
envienvironment string
valuvalue string

◆ Vsh_putenvReal()

int Vsh_putenvReal ( Vsh thee,
const char *  envi,
const double  valu 
)

Place a variable with a value (real) in the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
Success enumeration
Parameters
theePointer to the Vsh object
envienvironment string
valuvalue string

◆ Vsh_remove()

void Vsh_remove ( Vsh thee,
const char *  envi 
)

Remove a variable from the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
None
Parameters
theePointer to the Vsh object
envienvironment string

◆ Vsh_shell()

int Vsh_shell ( Vsh thee,
char *  pPR,
void *  pthee,
int(*)(void *thee, int argc, char **argv)  builtin 
)

A bash-like shell with user-definable extensions.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
Success enumeration
Parameters
theePointer to the Vsh object
pPRminimal prompt
ptheethe externally supplied builtin object pointer
builtinexternal supershell builtin function

◆ Vsh_wipe()

void Vsh_wipe ( Vsh thee)

Wipe the environment.

Author
Michael Holst
Note
Class Vsh: Non-inlineable method (vsh.c)
Returns
None
Parameters
theePointer to the Vsh object