home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
lxapi32.zip
/
SKELETON
/
Dev32
/
param.c
< prev
next >
Wrap
C/C++ Source or Header
|
2002-04-26
|
2KB
|
117 lines
/* $Id: param.c,v 1.2 2002/04/26 23:09:38 smilcke Exp $ */
/*
* param.c
* Autor: Stefan Milcke
* Erstellt am: 10.12.2001
* Letzte Aenderung am: 04.02.2002
*
*/
extern "C"
{
#define INCL_NOPMAPI
#define INCL_DOSINFOSEG
#include <os2.h>
}
#include <devhelp.h>
#include <devtype.h>
#include <devrp.h>
#include <ldefos2.h>
#include <string.h>
extern "C"
{
#include <linux/module.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <lxapilib.h>
int verbose=0;
int verbose_modulelist=0;
int doint3=0;
int nocoremodule=0;
int nomodule=0;
char *parmList[]=
{
"/3",
"/VM",
"/V",
"/NOCOREMODULE",
"/NOMODULE",
"/MODPARM:",
"/LOADMODULE:",
};
int numParms=sizeof(parmList)/sizeof(char *);
//-------------------------------- load_module ---------------------------------
int load_module(char *moduleName)
{
int rc=0;
if(moduleName)
rc=0;
return rc;
}
//--------------------------------- parseArgs ----------------------------------
void parseArgs(RPInit __far *rp)
{
char FAR48 *args;
static char *carg=NULL;
char *p;
int i;
carg=(char *)kmalloc(2048,0);
args=__Make48Pointer(rp->In.Args);
while(*args && *args==' ') args++;
while(*args && *args!=' ') args++;
while(*args)
{
p=carg;
while(*args && *args==' ') args++;
while(*args && *args!=' ')
{
*p=*args;
p++;
args++;
}
*p=(char)0;
for(i=0;i<numParms;i++)
{
if(!strncmp(carg,parmList[i],strlen(parmList[i])))
{
switch(i)
{
case 0:
doint3=1;
break;
case 1:
verbose_modulelist=1;
case 2:
verbose=1;
break;
case 3:
nocoremodule=1;
case 4:
nomodule=1;
break;
case 5:
OS2_set_module_parm(&(carg[strlen(parmList[i])]));
break;
case 6:
load_module(&(carg[strlen(parmList[i])]));
break;
}
break;
}
}
}
kfree(carg);
}
};