• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

contrib/maloc/src/vsh/maloc/vsh.h

Go to the documentation of this file.
00001 
00033 #ifndef _VSH_H_
00034 #define _VSH_H_
00035 
00036 #include <maloc/maloc_base.h>
00037 
00038 #include <maloc/vsys.h>
00039 
00040 /*
00041  * ***************************************************************************
00042  * Class Vsh: Parameters and datatypes
00043  * ***************************************************************************
00044  */
00045 
00048 typedef struct Vsh {
00049 
00050     Vmem   *vmem;        
00051     int    iMadeVmem;    
00053     char processArgs;    
00055     int envValuLen;      
00056     int envInfoLen;      
00057     char **envValu;      
00058     char **envInfo;      
00060     FILE *inUnit;        
00061     FILE *scUnit;        
00062     FILE *clUnit;        
00063     FILE *cinUnit;       
00064     char cinName[VMAX_ARGLEN];  
00066     char PR[VMAX_ARGLEN];       
00067     char PR_PATH[VMAX_ARGLEN];  
00068     char PR_EXIT[VMAX_ARGLEN];  
00070     int cmdKey;          
00071     void *Ext_thee;      
00073     char *buf;           
00074     int bufsize;         
00077     int (*Ext_builtin)(void *thee, int argc, char **argv);
00078 
00079 } Vsh;                                                                        
00080 
00081 /*
00082  * ***************************************************************************
00083  * Class Vsh: Inlineable methods (vsh.c)
00084  * ***************************************************************************
00085  */
00086 
00087 #if !defined(VINLINE_MALOC)
00088 #else /* if defined(VINLINE_MALOC) */
00089 #endif /* if !defined(VINLINE_MALOC) */
00090 
00091 
00093 VEXTERNC Vsh* Vsh_ctor(Vmem *vmem, int argc, char **argv);
00095 VEXTERNC void Vsh_dtor(Vsh **thee);
00096 
00098 VEXTERNC int Vsh_shell(Vsh *thee, char *pPR, void *pthee,
00099     int (*builtin)(void *thee, int argc, char **argv));
00100 
00102 VEXTERNC int Vsh_putenv(Vsh *thee, const char *envi, const char *valu);
00104 VEXTERNC int Vsh_putenvInfo(Vsh *thee, const char *envi, const char *valu);
00106 VEXTERNC int Vsh_putenvInt(Vsh *thee, const char *envi, const int valu);
00108 VEXTERNC int Vsh_putenvReal(Vsh *thee, const char *envi, const double valu);
00109 
00111 VEXTERNC char *Vsh_getenv(Vsh *thee, const char *envi);
00113 VEXTERNC char *Vsh_getenvInfo(Vsh *thee, const char *envi);
00115 VEXTERNC int Vsh_getenvInt(Vsh *thee, const char *envi);
00117 VEXTERNC double Vsh_getenvReal(Vsh *thee, const char *envi);
00118 
00120 VEXTERNC void Vsh_remove(Vsh *thee, const char *envi);
00122 VEXTERNC void Vsh_wipe(Vsh *thee);
00123 
00125 VEXTERNC void Vsh_memChk(Vsh *thee);
00126 
00128 VEXTERNC Vio *Vsh_ioSetup(Vsh *thee, char *key);
00130 VEXTERNC void Vsh_ioCleanup(Vsh *thee, Vio **sock);
00131 
00132 #endif /* _VSH_H_ */
00133 

Generated on Wed Oct 20 2010 11:12:15 for APBS by  doxygen 1.7.2