Changeset 6723


Ignore:
Timestamp:
Sep 16, 2001, 5:10:20 AM (24 years ago)
Author:
bird
Message:

Added opcode validation to every imported function.

File:
1 edited

Legend:

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

    r6701 r6723  
    1 /* $Id: probkrnl.h,v 1.1 2001-09-14 01:55:10 bird Exp $
     1/* $Id: probkrnl.h,v 1.2 2001-09-16 03:10:20 bird Exp $
    22 *
    33 * Include file for ProbKrnl.
     
    8787
    8888
     89/*
     90 * Opcode.
     91 */
     92#define OPCODE_IGNORE   0               /* chOpcode value. */
     93
     94
    8995/*******************************************************************************
    9096*   Structures and Typedefs                                                    *
     
    9399typedef struct tagIMPORTKRNLSYM
    94100{
    95    signed short int    iOrdinal;        /* The ordinal for this entry. (Count two ordinals for proc imports.) */
    96    unsigned char       fFound;          /* This is set when name is found */
    97    unsigned char       iObject;         /* Object number the name was found in */
    98    unsigned short int  cchName;         /* Length of the name (optmize search) (INPUT) */
    99    unsigned char       achName[MAX_LENGTH_NAME]; /* Name (INPUT) */
    100    unsigned char       achExtra[4];     /* Parameter extra. */
    101    unsigned long  int  offObject;       /* Offset into the object */
    102    unsigned long  int  ulAddress;       /* 32-bit flat address */
    103    unsigned short int  usSel;           /* Select of the object */
    104    unsigned char       cbProlog;        /* Size of the prolog needing to be exchanged */
    105    unsigned char       fType;           /* Entry-Point Type Flags */
     101    signed short int    iOrdinal;       /* The ordinal for this entry. (Count two ordinals for proc imports.) */
     102    unsigned char       fFound;         /* This is set when name is found */
     103    unsigned char       iObject;        /* Object number the name was found in */
     104    unsigned short int  cchName;        /* Length of the name (optmize search) (INPUT) */
     105    unsigned char       achName[MAX_LENGTH_NAME]; /* Name (INPUT) */
     106    unsigned char       achExtra[4];    /* Parameter extra. */
     107    unsigned long  int  offObject;      /* Offset into the object */
     108    unsigned long  int  ulAddress;      /* 32-bit flat address */
     109    unsigned short int  usSel;          /* Select of the object */
     110    unsigned char       cbProlog;       /* Size of the prolog needing to be exchanged */
     111    unsigned char       chOpcode;       /* The opcode of the function. 0 if not known. */
     112    unsigned char       fType;          /* Entry-Point Type Flags */
    106113} IMPORTKRNLSYM;
    107114#pragma pack()
     
    114121typedef struct
    115122{
    116     unsigned short usBuild;             /* Build number */
    117     unsigned short fKernel;             /* Kernel flag (KF_* defines in options.h). */
    118     unsigned char  cObjects;            /* Count of objects */
     123    unsigned short  usBuild;            /* Build number */
     124    unsigned short  fKernel;            /* Kernel flag (KF_* defines in options.h). */
     125    unsigned char   cObjects;           /* Count of objects */
    119126    struct
    120127    {
    121         unsigned char iObject;          /* Object number.  */
    122         unsigned long offObject;        /* offset into object of the symbol. */
     128        unsigned char   iObject;        /* Object number.  */
     129        unsigned long   offObject;      /* offset into object of the symbol. */
     130        unsigned char   chOpcode;       /* The opcode of the function. 0 if not known. */
    123131    } aSyms[NBR_OF_KRNLIMPORTS];
    124132
     
    144152    extern char                     KKL_EntryTab[1];                /* calltaba.asm */
    145153    extern char DATA16_INIT         KKL_EntryTabFixups[1];          /* calltaba.asm */
     154    #ifdef _OS2KLDR_H_
    146155    extern MTE                      kKrnlLibMTE;                    /* calltaba.asm */
     156    #endif
     157    extern char                     callTab[1];                     /* calltaba.asm */
     158    extern char                     callTab16[1];                   /* calltaba.asm */
     159    extern unsigned                 auNopFuncs[NBR_OF_KRNLIMPORTS]; /* calltaba.asm */
    147160#endif
    148161
Note: See TracChangeset for help on using the changeset viewer.