home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lxapi32.zip / SKELETON / Dev32 / param.c < prev    next >
C/C++ Source or Header  |  2002-04-26  |  2KB  |  117 lines

  1. /* $Id: param.c,v 1.2 2002/04/26 23:09:38 smilcke Exp $ */
  2.  
  3. /*
  4.  * param.c
  5.  * Autor:               Stefan Milcke
  6.  * Erstellt am:         10.12.2001
  7.  * Letzte Aenderung am: 04.02.2002
  8.  *
  9. */
  10.  
  11. extern "C"
  12. {
  13. #define INCL_NOPMAPI
  14. #define INCL_DOSINFOSEG
  15. #include <os2.h>
  16. }
  17.  
  18. #include <devhelp.h>
  19. #include <devtype.h>
  20. #include <devrp.h>
  21. #include <ldefos2.h>
  22.  
  23. #include <string.h>
  24.  
  25.  
  26. extern "C"
  27. {
  28.  
  29. #include <linux/module.h>
  30. #include <linux/types.h>
  31. #include <linux/slab.h>
  32. #include <lxapilib.h>
  33.  
  34. int verbose=0;
  35. int verbose_modulelist=0;
  36. int doint3=0;
  37. int nocoremodule=0;
  38. int nomodule=0;
  39.  
  40. char *parmList[]=
  41. {
  42.  "/3",
  43.  "/VM",
  44.  "/V",
  45.  "/NOCOREMODULE",
  46.  "/NOMODULE",
  47.  "/MODPARM:",
  48.  "/LOADMODULE:",
  49. };
  50.  
  51. int numParms=sizeof(parmList)/sizeof(char *);
  52.  
  53. //-------------------------------- load_module ---------------------------------
  54. int load_module(char *moduleName)
  55. {
  56.  int rc=0;
  57.  if(moduleName)
  58.   rc=0;
  59.  return rc;
  60. }
  61.  
  62. //--------------------------------- parseArgs ----------------------------------
  63. void parseArgs(RPInit __far *rp)
  64. {
  65.  char FAR48 *args;
  66.  static char *carg=NULL;
  67.  char *p;
  68.  int i;
  69.  carg=(char *)kmalloc(2048,0);
  70.  args=__Make48Pointer(rp->In.Args);
  71.  while(*args && *args==' ') args++;
  72.  while(*args && *args!=' ') args++;
  73.  while(*args)
  74.  {
  75.   p=carg;
  76.   while(*args && *args==' ') args++;
  77.   while(*args && *args!=' ')
  78.   {
  79.    *p=*args;
  80.    p++;
  81.    args++;
  82.   }
  83.   *p=(char)0;
  84.   for(i=0;i<numParms;i++)
  85.   {
  86.    if(!strncmp(carg,parmList[i],strlen(parmList[i])))
  87.    {
  88.     switch(i)
  89.     {
  90.      case 0:
  91.       doint3=1;
  92.       break;
  93.      case 1:
  94.       verbose_modulelist=1;
  95.      case 2:
  96.       verbose=1;
  97.       break;
  98.      case 3:
  99.       nocoremodule=1;
  100.      case 4:
  101.       nomodule=1;
  102.       break;
  103.      case 5:
  104.       OS2_set_module_parm(&(carg[strlen(parmList[i])]));
  105.       break;
  106.      case 6:
  107.       load_module(&(carg[strlen(parmList[i])]));
  108.       break;
  109.     }
  110.     break;
  111.    }
  112.   }
  113.  }
  114.  kfree(carg);
  115. }
  116.  
  117. };