Main Page   Data Structures   File List   Data Fields   Globals   Related Pages  

clib/CGIAPI.C

Go to the documentation of this file.
00001 /****************************************************************************
00002 *
00003 * (C) 1999 by BECK IPC GmbH
00004 *
00005 *  BECK IPC GmbH
00006 *  Garbenheimerstr. 38
00007 *  D-35578 Wetzlar
00008 *
00009 *  Phone : (49)-6441-905-240
00010 *  Fax   : (49)-6441-905-245
00011 *
00012 * ---------------------------------------------------------------------------
00013 * Module      : IPC@CHIP SC12 API: cgiapi.c
00014 * Function    : cgi api functions
00015 
00016 * Author        : Bartat
00017 * Date          : 27.01.00
00018 * ---------------------------------------------------------------------------
00019 
00020 $Header: CGIAPI.C, 7, 16.01.2002 12:37:30, Christoph Stoidner$
00021 
00022 
00023 $Log:
00024  7    IPC@CHIP  1.6         16.01.2002 12:37:30  Christoph Stoidner remove waste
00025       SREGS
00026  6    IPC@CHIP  1.5         16.01.2002 11:44:57  Christoph Stoidner add starteam
00027       directives
00028  5    IPC@CHIP  1.4         14.01.2002 13:18:14  Christoph Stoidner add new
00029       functions
00030  4    IPC@CHIP  1.3         19.06.2001 13:35:05  Markus Bartat   start: Added
00031       comments to the c functions
00032  3    IPC@CHIP  1.2         31.05.2001 16:18:22  Christoph Stoidner
00033  2    IPC@CHIP  1.1         28.03.2001 14:14:44  Ernest Schlösser Changed
00034       include directive to include cgiapi.h instead of only cgi.h
00035  1    IPC@CHIP  1.0         14.02.2001 16:09:08  Christoph Stoidner
00036 $
00037 
00038 * History       :
00039 *
00040 *  Vx.yy        Author  Changes
00041 *
00042 *                 mb    Create
00043                   cs    add Get/Set RootDir/MainPage
00044 *
00045 *****************************************************************************/
00046 
00047 #include <DOS.H>
00048 #include <STDLIB.H>
00049 #include "CLIB/CGIAPI.H"
00050 /*************************************************************************/
00051 
00052 #define CGIVECT       0xAB
00053 /*************************************************************************/
00054 //install cgi function
00055 /*************************************************************************/
00056 int CGI_Install(CGI_Entry far  * cgiptr)
00057 {
00058    union  REGS  inregs;
00059    union  REGS  outregs;
00060 
00061    inregs.h.ah   = CGI_INSTALL;
00062    inregs.x.dx   = FP_SEG(cgiptr);
00063    inregs.x.si   = FP_OFF(cgiptr);
00064 
00065    int86(CGIVECT,&inregs,&outregs);
00066    return outregs.x.dx;
00067 }
00068 
00069 
00070 /*************************************************************************/
00071 //delete cgi function
00072 /*************************************************************************/
00073 int CGI_Delete(char far * PathPtr)
00074 {
00075    union  REGS  inregs;
00076    union  REGS  outregs;
00077 
00078 
00079    inregs.h.ah   = CGI_REMOVE;
00080    inregs.x.dx   = FP_SEG(PathPtr);
00081    inregs.x.si   = FP_OFF(PathPtr);
00082    int86(CGIVECT,&inregs,&outregs);
00083 
00084    return outregs.x.dx;
00085 
00086 }
00087 
00088 
00089 /*************************************************************************/
00090 //Get formitem
00091 /*************************************************************************/
00092 void CGI_GetFormItem(char far * ArgumentBufferPtr,FormItem far * formitem)
00093 {
00094   union  REGS  inregs;
00095   union  REGS  outregs;
00096   struct SREGS segregs;
00097 
00098   inregs.h.ah = CGI_GETFORMITEM;
00099   inregs.x.bx = FP_SEG(ArgumentBufferPtr);
00100   inregs.x.si = FP_OFF(ArgumentBufferPtr);
00101   segregs.es    = FP_SEG(formitem);
00102   inregs.x.di = FP_OFF(formitem);
00103   int86x(CGIVECT,&inregs,&outregs,&segregs);
00104 }
00105 
00106 /*************************************************************************/
00107 //Get next formitem
00108 /*************************************************************************/
00109 #pragma argsused
00110 int CGI_GetNextItem(char far * ArgumentBufferPtr, char far * * nextItemString)
00111 {
00112   union  REGS  inregs;
00113   union  REGS  outregs;
00114   struct SREGS segregs;
00115 
00116   inregs.h.ah = CGI_FINDNEXTITEM;
00117   inregs.x.bx = FP_SEG(ArgumentBufferPtr);
00118   inregs.x.si = FP_OFF(ArgumentBufferPtr);
00119   int86x(CGIVECT,&inregs,&outregs,&segregs);
00120 
00121   if(outregs.x.dx==0)
00122    *nextItemString = (char*)MK_FP(segregs.es, outregs.x.di);
00123   else
00124    *nextItemString = NULL;
00125 
00126   return outregs.x.dx;
00127 }
00128 
00129 
00130 /*************************************************************************/
00131 //Set main page
00132 /*************************************************************************/
00133 int CGI_SetMainPage(char *mainPageName)
00134 {
00135   union  REGS  inregs;
00136   union  REGS  outregs;
00137 
00138   inregs.h.ah = CGI_SETMAIN;
00139   inregs.x.dx = FP_SEG(mainPageName);
00140   inregs.x.si = FP_OFF(mainPageName);
00141   int86(CGIVECT,&inregs,&outregs);
00142 
00143    return outregs.x.dx;
00144 }
00145 
00146 
00147 /*************************************************************************/
00148 //Set root dir
00149 /*************************************************************************/
00150 int CGI_SetRootDir(char *rootDirName)
00151 {
00152   union  REGS  inregs;
00153   union  REGS  outregs;
00154    struct SREGS segregs;
00155 
00156   inregs.h.ah = CGI_SETROOTDIR;
00157   inregs.x.dx = FP_SEG(rootDirName);
00158   inregs.x.si = FP_OFF(rootDirName);
00159   int86x(CGIVECT,&inregs,&outregs,&segregs);
00160 
00161    return outregs.x.dx;
00162 }
00163 
00164 
00165 /*************************************************************************/
00166 //Get root dir
00167 /*************************************************************************/
00168 int CGI_GetRootDir(char **rootDirName)
00169 {
00170   union  REGS  inregs;
00171   union  REGS  outregs;
00172    struct SREGS segregs;
00173 
00174   inregs.h.ah = CGI_GETROOTDIR;
00175   int86x(CGIVECT,&inregs,&outregs,&segregs);
00176 
00177    *rootDirName = (char *)MK_FP( segregs.es, outregs.x.di );
00178 
00179    return outregs.x.dx;
00180 }
00181 
00182 
00183 
00184 /*************************************************************************/
00185 //Get main page name
00186 /*************************************************************************/
00187 int CGI_GetMainPage(char **mainPageName)
00188 {
00189   union  REGS  inregs;
00190   union  REGS  outregs;
00191    struct SREGS segregs;
00192 
00193   inregs.h.ah = CGI_GETMAIN;
00194   int86x(CGIVECT,&inregs,&outregs,&segregs);
00195 
00196    *mainPageName = (char *)MK_FP( segregs.es, outregs.x.di );
00197 
00198    return outregs.x.dx;
00199 }
00200 
00201 
00202 /*************************************************************************/
00203 //end cgiapi.c

Generated on Sun Aug 4 21:47:27 2002 for k/os mp3v2 by doxygen1.2.16