Ignore:
Timestamp:
Feb 20, 2000, 12:52:00 AM (26 years ago)
Author:
bird
Message:

Partly finished 16-bit import code++.

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

Legend:

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

    r2799 r2831  
    1 /* $Id: dev16.h,v 1.4 2000-02-15 23:39:19 bird Exp $
     1/* $Id: dev16.h,v 1.5 2000-02-19 23:52:00 bird Exp $
    22 * dev16 - 16-bit specific. Should not be used in 32-bit C/C++.
    33 *
     
    4040
    4141/*
    42  * Get Kernel OTEs. No params. No data. aProcTab is used.
     42 * Get Kernel OTEs. No params. No data. aImportTab is used.
    4343 */
    4444#define D16_IOCTL_VERIFYPROCTAB     0x42
  • trunk/src/win32k/include/dev1632.h

    r2799 r2831  
    1 /* $Id: dev1632.h,v 1.2 2000-02-15 23:39:19 bird Exp $
     1/* $Id: dev1632.h,v 1.3 2000-02-19 23:52:00 bird Exp $
    22 * dev1632.h - Common header file for 16-bit and 32-bit C
    33 *
     
    4646#ifdef _OS2Krnl_h_
    4747
     48
    4849#define MAXKRNLOBJECTS 24
    4950typedef struct _KRNLOBJTABLE
  • trunk/src/win32k/include/probkrnl.h

    r2827 r2831  
    1 /* $Id: probkrnl.h,v 1.7 2000-02-19 08:40:30 bird Exp $
     1/* $Id: probkrnl.h,v 1.8 2000-02-19 23:52:00 bird Exp $
    22 *
    33 * Include file for ProbKrnl.
     
    1616*   Defined Constants And Macros                                               *
    1717*******************************************************************************/
    18 #define NUMBER_OF_PROCS      14
    19 #define MAX_LENGTH_NAME      32
     18#define NBR_OF_KRNLIMPORTS      16      /* When this is changed make sure to   */
     19                                        /* update the arrays in d32init.c and  */
     20                                        /* probkrnl32.c */
     21#define MAX_LENGTH_NAME         32      /* Max length for the function. */
    2022
    21 /* entry-point type flag */
    22 #define EPT_PROC              0 /* procedure - overload procedure*/
    23 #define EPT_PROCIMPORT        1 /* procedure - import only */
    24 #define EPT_VAR               2 /* variable/non-procedure - not implemented yet */
     23/* Entry-Point Type flag */
     24#define EPT_PROC                0x00    /* procedure - overload procedure*/
     25#define EPT_PROCIMPORT          0x01    /* procedure 32bit - import only */
     26#define EPT_VARIMPORT           0x02    /* variable/non-procedure 32bit - not implemented yet */
     27#define EPT_32BIT               0x00    /* 16 bit entry-point  */
     28#define EPT_16BIT               0x80    /* 32 bit entry-point */
     29#define EPT_BIT_MASK            0x80    /* Mask bit entry-point */
     30#define EPT16BitEntry(a)    (((a).fType & EPT_BIT_MASK) == EPT_16BIT)
     31#define EPT32BitEntry(a)    (((a).fType & EPT_BIT_MASK) == EPT_32BIT)
     32
     33/* 32bit types */
     34#define EPT_PROC32              (EPT_PROC | EPT_32BIT)
     35#define EPT_PROCIMPORT32        (EPT_PROCIMPORT | EPT_32BIT)
     36
     37/* 16bit types */
     38#define EPT_PROC16              (EPT_PROC | EPT_16BIT)        /* no implemented yet! */
     39#define EPT_PROCIMPORT16        (EPT_PROCIMPORT | EPT_16BIT)  /* far proc in calltab with a far jmp. */
    2540
    2641
     
    2944*******************************************************************************/
    3045#pragma pack(1)
    31 typedef struct tagPROCS
     46typedef struct tagIMPORTKRNLSYM
    3247{
    33    unsigned char       fFound;
    34    unsigned char       iObject;
    35    unsigned short int  cchName;
    36    unsigned char       achName[MAX_LENGTH_NAME];
    37    unsigned long  int  offObject;
    38    unsigned long  int  ulAddress;
    39    unsigned char       fType;
    40 } PROCS;
     48   unsigned char       fFound;          /* This is set when name is found */
     49   unsigned char       iObject;         /* Object number the name was found in*/
     50   unsigned short int  cchName;         /* Length of the name (optmize search) (INPUT) */
     51   unsigned char       achName[MAX_LENGTH_NAME]; /* Name (INPUT) */
     52   unsigned long  int  offObject;       /* Offset into the object */
     53   unsigned long  int  ulAddress;       /* 32-bit flat address */
     54   unsigned short int  usSel;           /* Select of the object */
     55   unsigned char       fType;           /* Entry-Point Type Flags */
     56} IMPORTKRNLSYM;
    4157#pragma pack()
    4258
     
    4763*   NOTE! These are only available at init time!                               *
    4864*******************************************************************************/
    49 extern PROCS _aProcTab[NUMBER_OF_PROCS];    /* 'aProcTab'        in PrbKrnl.c */
    50 extern unsigned long int  _ulBuild;         /* 'ulBuild'         in PrbKrnl.c */
    51 extern unsigned short int _usVerMajor;      /* 'usVerMajor'      in PrbKrnl.c */
    52 extern unsigned short int _usVerMinor;      /* 'usVerMinor'      in PrbKrnl.c */
     65extern IMPORTKRNLSYM _aImportTab[NBR_OF_KRNLIMPORTS]; /* 'aImportTab' in PrbKrnl.c */
     66extern unsigned long int  _ulBuild;     /* 'ulBuild'         in PrbKrnl.c */
     67extern unsigned short int _usVerMajor;  /* 'usVerMajor'      in PrbKrnl.c */
     68extern unsigned short int _usVerMinor;  /* 'usVerMinor'      in PrbKrnl.c */
    5369
    5470#ifdef INCL_16 /* 16-bit only */
  • trunk/src/win32k/include/sym.h

    r1678 r2831  
    1 /* $Id: sym.h,v 1.2 1999-11-10 01:45:34 bird Exp $
     1/* $Id: sym.h,v 1.3 2000-02-19 23:52:00 bird Exp $
    22 *
    33 * Sym-file definitions and structs.
     
    5252} SEGDEF;
    5353
     54#define SEG_FLAGS_32BIT     0x01      /* 32bit segment is set. 16-bit segment if clear */
     55#define SEG32BitSegment(a)  (((a).bFlags & 0x01) == SEG_FLAGS_32BIT)
     56#define SEG16BitSegment(a)  (((a).bFlags & 0x01) == 0)
     57
    5458typedef struct
    5559{
Note: See TracChangeset for help on using the changeset viewer.