Ignore:
Timestamp:
Sep 22, 2000, 11:22:43 AM (25 years ago)
Author:
bird
Message:

Corrected problem with kernel build 14053. (new parameter to ldrOpenPath)
Added symbols for 14053 and 8266.

Location:
trunk/src/win32k/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/include/LdrCalls.h

    r4227 r4307  
    1 /* $Id: LdrCalls.h,v 1.5 2000-09-08 21:34:11 bird Exp $
     1/* $Id: LdrCalls.h,v 1.6 2000-09-22 09:22:37 bird Exp $
    22 *
    33 * Prototypes for the loader overrided function.
     
    138138/**
    139139 * ldrOpenPath
     140 *  pre 14053.
    140141 * @returns   OS2 return code.
    141142 *            pLdrLv->lv_sfn  is set to filename handle.
     
    155156 *  endif
    156157 */
    157 extern ULONG LDRCALL ldrOpenPath(   /* retd  0x10 */
     158extern ULONG LDRCALL ldrOpenPath_old(   /* retd  0x10 */
    158159    PCHAR       pachFilename,       /* ebp + 0x08 */
    159160    USHORT      cchFilename,        /* ebp + 0x0c */
     
    162163    );
    163164
    164 ULONG LDRCALL myldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
     165ULONG LDRCALL myldrOpenPath_old(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
     166
     167
     168/**
     169 * ldrOpenPath - ldrOpenPath for build 14053 and above.
     170 *
     171 * @returns   OS2 return code.
     172 *            plv->lv_sfn  is set to filename handle.
     173 * @param     pachFilename  Pointer to modulename. Not zero terminated!
     174 * @param     cchFilename   Modulename length.
     175 * @param     plv           Loader local variables? (Struct from KERNEL.SDF)
     176 * @param     pful          Pointer to flags which are passed on to ldrOpen.
     177 * @param     lLibPath      New parameter in build 14053.
     178 *                          ldrGetMte calls with 1
     179 *                          ldrOpenNewExe calls with 3
     180 *                          This is compared to the initial libpath index.
     181 *                              The libpath index is:
     182 *                                  BEGINLIBPATH    1
     183 *                                  LIBPATH         2
     184 *                                  ENDLIBPATH      3
     185 *                              The initial libpath index is either 1 or 2.
     186 *
     187 * @sketch
     188 * This is roughly what the original ldrOpenPath does:
     189 *      Save pTCBCur->TCBFailErr.
     190 *      if !CLASS_GLOBAL or miniifs then
     191 *          ldrOpen(pachFilename)
     192 *      else
     193 *          if beglibpath != NULL then path = 1 else path = 2
     194 *          if (lLibPath < path)
     195 *              return ERROR_FILE_NOT_FOUND; (2)
     196 *          Allocate buffer.
     197 *          loop until no more libpath elements
     198 *              get next libpath element and add it to the modname.
     199 *              try open the modname
     200 *              if successfull then break the loop.
     201 *          endloop
     202 *          Free buffer.
     203 *      endif
     204 *      Restore pTCBCur->TCBFailErr.
     205 */
     206extern ULONG LDRCALL ldrOpenPath(  /* retd  0x14 */
     207    PCHAR       pachFilename,      /* ebp + 0x08 */
     208    USHORT      cchFilename,       /* ebp + 0x0c */
     209    ldrlv_t *   plv,               /* ebp + 0x10 */
     210    PULONG      pful,              /* ebp + 0x14 */
     211    ULONG       lLibPath           /* ebp + 0x18 */
     212    );
     213
     214ULONG LDRCALL myldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
    165215
    166216
  • trunk/src/win32k/include/ModuleBase.h

    r4164 r4307  
    1 /* $Id: ModuleBase.h,v 1.4 2000-09-02 21:07:59 bird Exp $
     1/* $Id: ModuleBase.h,v 1.5 2000-09-22 09:22:36 bird Exp $
    22 *
    33 * ModuleBase - Declaration of the Basic module class.
     
    120120    virtual ULONG   applyFixups(PMTE pMTE, ULONG iObject, ULONG iPageTable, PVOID pvPage,
    121121                                ULONG ulPageAddress, PVOID pvPTDA); /*(ldrEnum32bitRelRecs)*/
    122     virtual ULONG   openPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *pLdrLv, PULONG pful); /* (ldrOpenPath) */
     122    virtual ULONG   openPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *pLdrLv, PULONG pful, ULONG lLibPath); /* (ldrOpenPath) */
    123123    #ifndef RING0
    124124    virtual ULONG   writeFile(PCSZ pszLXFilename);
  • trunk/src/win32k/include/options.h

    r4164 r4307  
    1 /* $Id: options.h,v 1.11 2000-09-02 21:08:03 bird Exp $
     1/* $Id: options.h,v 1.12 2000-09-22 09:22:37 bird Exp $
    22 *
    33 * Options.
     
    99 */
    1010
     11/* NOINC */
    1112#ifndef _options_h_
    1213#define _options_h_
     14/* INC */
    1315
    1416/*******************************************************************************
     
    4345#define CB_RES_MAX          ((unsigned long)1024*1024*10)  /*  10MB  */
    4446
     47/* NOINC */
    4548/* default assignments */
    4649#define DEFAULT_OPTION_ASSIGMENTS                           \
     
    8285#define isSMPKernel()               (options.fKernel & KF_SMP)
    8386#define isUNIKernel()               !(options.fKernel & KF_SMP)
    84 
     87/* INC */
    8588
    8689/*******************************************************************************
     
    9699    /** @cat logging options */
    97100    USHORT      usCom;                  /* Output port no. */
    98     ULONG       fLogging;               /* Logging. */
     101    USHORT      fLogging;               /* Logging. */
    99102
    100103    /** @cat kernel selection */
     
    134137*   Global Variables                                                           *
    135138*******************************************************************************/
     139/* NOINC */
    136140extern struct options DATA16_GLOBAL options;    /* defined in d16globals.c */
    137141#if defined(__IBMC__) || defined(__IBMCPP__)
    138142    #pragma map( options , "_options"  )
    139143#endif
     144/* INC */
    140145
     146/* NOINC */
    141147#endif
     148/* INC */
    142149
  • trunk/src/win32k/include/pe2lx.h

    r4164 r4307  
    1 /* $Id: pe2lx.h,v 1.10 2000-09-02 21:08:03 bird Exp $
     1/* $Id: pe2lx.h,v 1.11 2000-09-22 09:22:37 bird Exp $
    22 *
    33 * Pe2Lx class declarations. Ring 0 and Ring 3
     
    6666    ULONG  applyFixups(PMTE pMTE, ULONG iObject, ULONG iPageTable, PVOID pvPage,
    6767                       ULONG ulPageAddress, PVOID pvPTDA); /*(ldrEnum32bitRelRecs)*/
    68     ULONG  openPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *pLdrLv, PULONG pful); /* (ldrOpenPath) */
    69     static ULONG  openPath2(PCHAR pachFilename, ULONG cchFilename, ldrlv_t *pLdrLv, PULONG pful, BOOL fOdin32PathValid);
     68    ULONG  openPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *pLdrLv, PULONG pful, ULONG lLibPath); /* (ldrOpenPath) */
     69    static ULONG  openPath2(PCHAR pachFilename, ULONG cchFilename, ldrlv_t *pLdrLv, PULONG pful, ULONG lLibPath, BOOL fOdin32PathValid);
    7070    #ifndef RING0
    7171    ULONG  testApplyFixups();
Note: See TracChangeset for help on using the changeset viewer.