Ignore:
Timestamp:
Nov 1, 1999, 12:57:09 AM (26 years ago)
Author:
bird
Message:

Updated option/argument handling.
Corrected a few bugs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/dev32/d32init.c

    r1467 r1535  
    1 /* $Id: d32init.c,v 1.2 1999-10-27 02:02:54 bird Exp $
     1/* $Id: d32init.c,v 1.3 1999-10-31 23:57:02 bird Exp $
    22 *
    33 * d32init.c - 32-bits init routines.
     
    8989        switch (*pszTmp)
    9090        {
     91            case 'c':
    9192            case 'C': /* -C[1|2] - com-port no, def:-C2 */
    9293                switch (pszTmp[1])
     
    102103                break;
    103104
     105            case 'e':
     106            case 'E':/* ELF */
     107                pszTmp2 = strpbrk(pszTmp, ":=/- ");
     108                if (pszTmp2 != NULL && (int)(pszTmp2-pszTmp) < cch-1
     109                    && (pszTmp2[1] == 'N' ||pszTmp2[1] == 'n' || pszTmp2[1] == 'D' || pszTmp2[1] == 'd')
     110                    )
     111                    options.fElf = FALSE;
     112                else
     113                    options.fElf = TRUE;
     114                break;
     115
     116            case 'l':
    104117            case 'L': /* -L[..]<:|=| >[<Y..|E..| > | <N..|D..>] */
    105118                pszTmp2 = strpbrk(pszTmp, ":=/- ");
     
    112125                break;
    113126
    114 
     127            case 'n':
     128            case 'N': /* NoLoader */
     129                options.fNoLoader = TRUE;
     130                break;
     131
     132            case 'p':
     133            case 'P': /* PE */
     134                pszTmp2 = strpbrk(pszTmp, ":=/- ");
     135                if (pszTmp2 != NULL && (*pszTmp == ':' || *pszTmp == '='))
     136                {
     137                    pszTmp++;
     138                    if (strnicmp(pszTmp, "pe2lx", 5) == 0)
     139                        options.fPE = FLAGS_PE_PE2LX;
     140                    else if (strnicmp(pszTmp, "pe", 2) == 0)
     141                        options.fPE = FLAGS_PE_PE;
     142                    else if (strnicmp(pszTmp, "mixed", 2) == 0)
     143                        options.fPE = FLAGS_PE_MIXED;
     144                    else if (strnicmp(pszTmp, "not", 2) == 0)
     145                        options.fPE = FLAGS_PE_NOT;
     146                    else
     147                        kprintf(("R0Init32: invalid parameter -PE:...\n"));
     148                }
     149                else
     150                    kprintf(("R0Init32: invalid parameter -PE...\n"));
     151                break;
     152
     153            case 'q':
    115154            case 'Q': /* quiet initialization */
    116155                options.fQuiet = TRUE;
    117156                break;
    118157
     158            case 's':
    119159            case 'S': /* SMP kernel */
    120160                options.fKernel = KF_SMP;
    121161                break;
    122162
     163            case 'v':
    123164            case 'V': /* verbose initialization */
    124165                options.fQuiet = FALSE;
    125166                break;
    126167
     168            case 'u':
    127169            case 'U': /* UNI kernel */
    128170                options.fKernel = KF_SMP;
     
    161203     */
    162204    /* heap */
    163     if (heapInit(HEAP_SIZE) != NO_ERROR)
     205    if (heapInit(options.cbHeap) != NO_ERROR)
    164206        return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
    165207
    166208    /* loader */
    167     if (ldrInit() != NO_ERROR)
    168         return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
     209    if (!options.fNoLoader)
     210        if (ldrInit() != NO_ERROR)
     211            return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
    169212
    170213    /* functionoverrides */
    171     if (procInit() != NO_ERROR)
    172         return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
     214    if (!options.fNoLoader)
     215        if (procInit() != NO_ERROR)
     216            return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
    173217
    174218    return STATUS_DONE;
     
    296340     *  or
    297341     *     push ebp
    298      *     mov ecx, dword ptr [123407452]
     342     *     mov ecx, dword ptr [xxxxxxxx]
    299343     */
    300344
Note: See TracChangeset for help on using the changeset viewer.