Ignore:
Timestamp:
Oct 1, 2000, 4:58:21 AM (25 years ago)
Author:
bird
Message:

Implemented tool for generating calltab for kernel imports. (mkcalltab)
Implemented API for accessing memory in another process. (*ProcessReadWrite)
Added kernel imports needed to implemented ProcessReadWrite.
Removed unused kernel imports.

File:
1 edited

Legend:

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

    r4185 r4347  
    1 /* $Id: probkrnl.h,v 1.15 2000-09-04 16:40:50 bird Exp $
     1/* $Id: probkrnl.h,v 1.16 2000-10-01 02:58:17 bird Exp $
    22 *
    33 * Include file for ProbKrnl.
     
    1616*   Defined Constants And Macros                                               *
    1717*******************************************************************************/
    18 #define NBR_OF_KRNLIMPORTS      42      /* When this is changed make sure to   */
    19                                         /* update the arrays in d32init.c and  */
    20                                         /* probkrnl.c, make test faker in      */
    21                                         /* test.h and the appropriate fake.c   */
    22                                         /* fakea.asm.                          */
     18#define NBR_OF_KRNLIMPORTS      40      /* When this is changed make sure to   */
     19                                        /* update the aImportTab in probkrnl.c */
     20                                        /* and make test faker in test.h and   */
     21                                        /* the appropriate fake.c fakea.asm.   */
    2322#define MAX_LENGTH_NAME         32      /* Max length for the function. */
    2423
     
    2827#define EPT_VARIMPORT           0x02    /* variable/non-procedure 32bit */
    2928#define EPT_NOT_REQ             0x04    /* Not required flag. */
     29#define EPTNotReq(a)            (((a).fType & (EPT_NOT_REQ)) == EPT_NOT_REQ)
     30#define EPT_WRAPPED             0x40    /* Wrapped due - differs between builds */
     31#define EPTWrapped(a)           (((a).fType & (EPT_WRAPPED)) == EPT_WRAPPED)
    3032#define EPT_32BIT               0x00    /* 32 bit entry-point  */
    3133#define EPT_16BIT               0x80    /* 16 bit entry-point */
    3234#define EPT_BIT_MASK            0x80    /* Mask bit entry-point */
    33 #define EPT16BitEntry(a)    (((a).fType & EPT_BIT_MASK) == EPT_16BIT)
    34 #define EPT32BitEntry(a)    (((a).fType & EPT_BIT_MASK) == EPT_32BIT)
     35#define EPT16BitEntry(a)        (((a).fType & EPT_BIT_MASK) == EPT_16BIT)
     36#define EPT32BitEntry(a)        (((a).fType & EPT_BIT_MASK) == EPT_32BIT)
    3537
    3638/* 32bit types */
     
    3941#define EPT_PROCIMPORTNR32      (EPT_PROCIMPORT | EPT_32BIT | EPT_NOT_REQ)
    4042#define EPT_VARIMPORT32         (EPT_VARIMPORT | EPT_32BIT)
     43#define EPT32Proc(a)            (((a).fType & ~(EPT_WRAPPED)) == EPT_PROC32)
     44#define EPT32ProcImport(a)      (((a).fType & ~(EPT_WRAPPED)) == EPT_PROCIMPORT32)
     45#define EPT32ProcImportNR(a)    (((a).fType & ~(EPT_WRAPPED)) == EPT_PROCIMPORTNR32)
     46#define EPT32VarImport(a)       (((a).fType & ~(EPT_WRAPPED)) == EPT_VARIMPORT32)
    4147
    4248/* 16bit types */
    4349#define EPT_PROC16              (EPT_PROC | EPT_16BIT)        /* no implemented yet! */
    4450#define EPT_PROCIMPORT16        (EPT_PROCIMPORT | EPT_16BIT)  /* far proc in calltab with a far jmp. */
     51#define EPT_PROCIMPORTNR16      (EPT_PROCIMPORT | EPT_16BIT | EPT_NOT_REQ)
    4552#define EPT_VARIMPORT16         (EPT_VARIMPORT | EPT_16BIT)
     53#define EPT16Proc(a)            (((a).fType & ~(EPT_WRAPPED)) == EPT_PROC16)
     54#define EPT16ProcImport(a)      (((a).fType & ~(EPT_WRAPPED)) == EPT_PROCIMPORT16)
     55#define EPT16ProcImportNR(a)    (((a).fType & ~(EPT_WRAPPED)) == EPT_PROCIMPORTNR16)
     56#define EPT16VarImport(a)       (((a).fType & ~(EPT_WRAPPED)) == EPT_VARIMPORT16)
    4657
    4758
     
    6475   unsigned short int  cchName;         /* Length of the name (optmize search) (INPUT) */
    6576   unsigned char       achName[MAX_LENGTH_NAME]; /* Name (INPUT) */
     77   unsigned char       achExtra[4];     /* Parameter extra. */
    6678   unsigned long  int  offObject;       /* Offset into the object */
    6779   unsigned long  int  ulAddress;       /* 32-bit flat address */
Note: See TracChangeset for help on using the changeset viewer.