Changeset 4162 for branches/Grace/src


Ignore:
Timestamp:
Sep 2, 2000, 10:49:29 PM (25 years ago)
Author:
bird
Message:

Bugfixing, DevSegDf.h,...

Location:
branches/Grace/src/win32k
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • branches/Grace/src/win32k/dev16/d16globl.c

    r2898 r4162  
    1 /* $Id: d16globl.c,v 1.1 2000-02-25 18:19:24 bird Exp $
     1/* $Id: d16globl.c,v 1.1.4.1 2000-09-02 20:49:09 bird Exp $
    22 *
    33 * d16globals - global data (16-bit)
     
    1818*******************************************************************************/
    1919#include <os2.h>
     20#include "devSegDf.h"
    2021#include "options.h"
    2122#include "log.h"
     23
    2224
    2325/*******************************************************************************
     
    2729/* Note: All global variables must be initialized!  *
    2830 *       Uninitialized variables ends up in DATA32. */
     31PFN         Device_Help = NULL;
     32ULONG       TKSSBase16  = 0;
     33USHORT      R0FlatCS16  = 0;
     34USHORT      R0FlatDS16  = 0;
     35BOOL        fInitTime   = TRUE;
     36struct options
     37            DATA16_GLOBAL options = DEFAULT_OPTION_ASSIGMENTS;
    2938
    30 PFN     Device_Help = NULL;
    31 ULONG   TKSSBase16  = 0;
    32 USHORT  R0FlatCS16  = 0;
    33 USHORT  R0FlatDS16  = 0;
    34 BOOL    fInitTime   = TRUE;
     39CHAR        szBuildDate[] = {__DATE__};
     40CHAR        szBuildTime[] = {__TIME__};
    3541
    36 struct options  options = DEFAULT_OPTION_ASSIGMENTS;
    37 
  • branches/Grace/src/win32k/dev16/d16strat.c

    r4117 r4162  
    1 /* $Id: d16strat.c,v 1.8.4.2 2000-08-30 04:11:26 bird Exp $
     1/* $Id: d16strat.c,v 1.8.4.3 2000-09-02 20:49:09 bird Exp $
    22 *
    33 * d16strat.c - 16-bit strategy routine, device headers, device_helper (ptr)
     
    3030/* Note that C-library function are only allowed during init! */
    3131
     32#include "devSegDf.h"
    3233#include "dev1632.h"
    3334#include "dev16.h"
     
    121122 * @param     pRp  Request packet.
    122123 */
    123 USHORT dev0GenIOCtl(PRP_GENIOCTL pRp)
     124USHORT NEAR dev0GenIOCtl(PRP_GENIOCTL pRp)
    124125{
    125126    USHORT rc;
     
    219220 * @param     pRp  Request packet.
    220221 */
    221 USHORT dev1GenIOCtl(PRP_GENIOCTL pRp)
     222USHORT NEAR dev1GenIOCtl(PRP_GENIOCTL pRp)
    222223{
    223224    if (pRp->Category == IOCTL_W32K_K32 || pRp->Category == IOCTL_W32K_ELF)
  • branches/Grace/src/win32k/dev32/devfirst.asm

    r4010 r4162  
    1 ; $Id: devfirst.asm,v 1.5.4.2 2000-08-14 08:57:06 bird Exp $
     1; $Id: devfirst.asm,v 1.5.4.3 2000-09-02 20:49:12 bird Exp $
    22;
    33; DevFirst - entrypoint and segment definitions
     
    1919;
    2020    public CODE16START
     21    public CODE16_INITSTART
    2122    public DATA16START
    2223    public DATA16START
    2324    public DATA16_BSSSTART
    2425    public DATA16_CONSTSTART
     26    public DATA16_INITSTART
    2527    public CODE16START
    2628    public CODE32START
     
    103105    call    far ptr FLAT:GETKERNELINFO32
    104106    pop     ds
    105     retn
     107    ret
    106108_CallGetKernelInfo32 ENDP
    107109
     
    157159; @author    knut st. osmundsen
    158160; @remark    es is cs, not ds!
    159 _SSToDS_16a proc near
     161_SSToDS_16a proc NEAR
    160162    assume CS:CODE16, DS:DATA16, ES:NOTHING
    161163    mov     edx, ds:_TKSSBase16         ; get pointer held by _TKSSBase16 (pointer to stack base)
     
    170172    mov     edx, eax
    171173    shr     edx, 16                     ; dx high 16-bit of 32-bit stack pointer.
    172     ret
     174    retn
    173175_SSToDS_16a endp
    174176
     
    220222CODE32 ends
    221223
     224CODE16_INIT segment
     225CODE16_INITSTART label byte
     226CODE16_INIT ends
    222227
    223228DATA16 segment
     
    233238DATA16_CONST ends
    234239
     240DATA16_INIT segment
     241DATA16_INITSTART label byte
     242DATA16_INIT ends
     243
    235244DATA32 segment
    236245DATA32START label byte
  • branches/Grace/src/win32k/dev32/devlast.asm

    r2898 r4162  
    1 ; $Id: devlast.asm,v 1.5 2000-02-25 18:15:03 bird Exp $
     1; $Id: devlast.asm,v 1.5.4.1 2000-09-02 20:49:13 bird Exp $
    22;
    33; DevLast - the object file termintating the resident part of the objects.
     
    2121; Exported symbols
    2222;
    23     public CODE16END
    2423    public DATA16END
    2524    public DATA16_BSSEND
    2625    public DATA16_CONSTEND
     26    public DATA16_INITEND
     27    public DATA16_INIT_BSSEND
     28    public DATA16_INIT_CONSTEND
    2729    public CODE16END
     30    public CODE16_INITEND
    2831    public CODE32END
    2932    public DATA32END
     
    3235    public _VFTEND
    3336    public EH_DATAEND
     37
    3438    public _CallR0Init32
    3539    public _CallVerifyImportTab32
     
    5256DATA16_CONST ends
    5357
     58DATA16_INIT segment
     59DATA16_INITEND db ?
     60DATA16_INIT ends
     61
     62DATA16_INIT_BSS segment
     63DATA16_INIT_BSSEND db ?
     64DATA16_INIT_BSS ends
     65
     66DATA16_INIT_CONST segment
     67DATA16_INIT_CONSTEND db ?
     68DATA16_INIT_CONST ends
     69
     70CODE16 segment
     71CODE16END db ?
     72CODE16 ends
    5473
    5574extrn R0INIT32:FAR
    5675extrn VERIFYIMPORTTAB32:FAR
    5776
    58 CODE16 segment
    59 CODE16END db ?
    60 
     77CODE16_INIT segment
    6178;;
    6279; Thunk procedure for R0Init32.
     
    6784; @author    knut st. osmundsen
    6885_CallR0Init32 PROC NEAR
    69     ASSUME CS:CODE16
     86    ASSUME CS:CODE16_INIT
    7087    push    ds
    7188    push    word ptr [esp+6]            ; push high word.
     
    7390    call    far ptr FLAT:R0INIT32
    7491    pop     ds
    75     retn
     92    ret
    7693_CallR0Init32 ENDP
    7794
     
    84101; @author    knut st. osmundsen
    85102_CallVerifyImportTab32 PROC NEAR
    86     ASSUME CS:CODE16
     103    ASSUME CS:CODE16_INIT
    87104    push    ds
    88105    call    far ptr FLAT:VERIFYIMPORTTAB32
    89106    pop     ds
    90     retn
     107    ret
    91108_CallVerifyImportTab32 ENDP
    92109
    93 CODE16 ends
     110CODE16_INITEND LABEL BYTE
     111CODE16_INIT ends
    94112
    95113
     
    118136EH_DATA ends
    119137
     138
    120139END
    121140
  • branches/Grace/src/win32k/include/dev16.h

    r2898 r4162  
    1 /* $Id: dev16.h,v 1.8 2000-02-25 18:15:04 bird Exp $
     1/* $Id: dev16.h,v 1.8.4.1 2000-09-02 20:49:13 bird Exp $
    22 * dev16 - 16-bit specific. Should not be used in 32-bit C/C++.
    33 *
     
    113113USHORT NEAR R0Init16(PRP_GENIOCTL pRp);
    114114USHORT NEAR initGetDosTableData(void);
    115 
     115#if 0 /*ndef CODE16_INIT*/
     116#pragma alloc_text(CODE16_INIT, dev0Init, dev1Init, R0Init16, initGetDosTableData)
     117#endif
    116118
    117119/*
     
    123125USHORT NEAR CallElfIOCtl(LIN pRpIOCtl);
    124126USHORT NEAR CallWin32kIOCtl(LIN pRpIOCtl);
     127#if 0 /*ndef CODE16_INIT*/
     128#pragma alloc_text(CODE16_INIT, CallR0Init32, CallVerifyImportTab32, CallGetKernelInfo32)
     129#endif
    125130
    126131
     
    148153#define SSToDS_16(pStackVar) (SSToDS_16a((void NEAR *)pStackVar))
    149154
    150 extern LIN   SSToDS_16a(void NEAR *pStackVar);
     155extern LIN NEAR SSToDS_16a(void NEAR *pStackVar);
    151156
    152157/*
    153158 * START and END labels. NOTE: these are not bytes only assembly labels.
    154159 */
    155 extern char PASCAL CODE16START      ;
    156 extern char PASCAL DATA16START      ;
    157160extern char PASCAL DATA16START      ;
    158161extern char PASCAL DATA16_BSSSTART  ;
    159162extern char PASCAL DATA16_CONSTSTART;
     163extern char PASCAL DATA16_INITSTART      ;
     164extern char PASCAL DATA16_INIT_BSSSTART  ;
     165extern char PASCAL DATA16_INIT_CONSTSTART;
    160166extern char PASCAL CODE16START      ;
     167extern char PASCAL CODE16_INITSTART      ;
    161168extern char PASCAL CODE32START      ;
    162169extern char PASCAL DATA32START      ;
     
    168175extern char PASCAL CODE16END      ;
    169176extern char PASCAL DATA16END      ;
    170 extern char PASCAL DATA16END      ;
    171177extern char PASCAL DATA16_BSSEND  ;
    172178extern char PASCAL DATA16_CONSTEND;
     179extern char PASCAL DATA16_INITEND      ;
     180extern char PASCAL DATA16_INIT_BSSEND  ;
     181extern char PASCAL DATA16_INIT_CONSTEND;
    173182extern char PASCAL CODE16END      ;
     183extern char PASCAL CODE16_INITEND      ;
    174184extern char PASCAL CODE32END      ;
    175185extern char PASCAL DATA32END      ;
     
    180190
    181191
    182 
    183 
    184192#endif
  • branches/Grace/src/win32k/include/dev1632.h

    r3834 r4162  
    1 /* $Id: dev1632.h,v 1.5.4.1 2000-07-16 22:43:28 bird Exp $
     1/* $Id: dev1632.h,v 1.5.4.2 2000-09-02 20:49:14 bird Exp $
    22 * dev1632.h - Common header file for 16-bit and 32-bit C
    33 *
     
    6464
    6565#pragma pack()
     66
     67
     68/*
     69 * Global data...
     70 */
     71extern CHAR DATA16_GLOBAL   szBuildDate[];
     72extern CHAR DATA16_GLOBAL   szBuildTime[];
     73#if defined(__IBMC__) || defined(__IBMCPP__)
     74    #pragma map( szBuildDate , "_szBuildDate" )
     75    #pragma map( szBuildTime , "_szBuildTime" )
    6676#endif
     77
     78#endif
  • branches/Grace/src/win32k/include/dev32.h

    r4010 r4162  
    1 /* $Id: dev32.h,v 1.8.4.2 2000-08-14 08:57:06 bird Exp $
     1/* $Id: dev32.h,v 1.8.4.3 2000-09-02 20:49:14 bird Exp $
    22 *
    33 * dev32 - header file for 32-bit part of the driver.
     
    100100 * START and END labels. NOTE: these are not bytes only assembly labels.
    101101 */
    102 extern char CODE16START      ;
    103 extern char DATA16START      ;
    104102extern char DATA16START      ;
    105103extern char DATA16_BSSSTART  ;
    106104extern char DATA16_CONSTSTART;
     105extern char DATA16_INITSTART      ;
     106extern char DATA16_INIT_BSSSTART  ;
     107extern char DATA16_INIT_CONSTSTART;
    107108extern char CODE16START      ;
     109extern char CODE16_INITSTART      ;
    108110extern char CODE32START      ;
    109111extern char DATA32START      ;
     
    115117extern char CODE16END      ;
    116118extern char DATA16END      ;
    117 extern char DATA16END      ;
    118119extern char DATA16_BSSEND  ;
    119120extern char DATA16_CONSTEND;
     121extern char DATA16_INITEND      ;
     122extern char DATA16_INIT_BSSEND  ;
     123extern char DATA16_INIT_CONSTEND;
    120124extern char CODE16END      ;
     125extern char CODE16_INITEND      ;
    121126extern char CODE32END      ;
    122127extern char DATA32END      ;
     
    126131extern char EH_DATAEND     ;
    127132
    128 
    129 
    130 
    131133#endif
  • branches/Grace/src/win32k/include/devSegDf.inc

    r4005 r4162  
    1 ; $Id: devSegDf.inc,v 1.5.4.2 2000-08-13 09:23:59 bird Exp $
     1; $Id: devSegDf.inc,v 1.5.4.3 2000-09-02 20:49:15 bird Exp $
    22;
    33; Segment definitions for win32k.sys.
     
    1818DATA16_CONST ends
    1919
    20 DATA16_GROUP    group DATA16, DATA16_CONST, DATA16_BSS
     20DATA16_GLOBAL segment word public 'FAR_DATA' use16
     21DATA16_GLOBAL ends
     22
     23;DATA16_GROUP    group DATA16, DATA16_CONST, DATA16_BSS, DATA16_GLOBAL
     24
     25
     26DATA16_INIT segment word public 'FAR_DATA' use16
     27DATA16_INIT ends
     28
     29DATA16_INIT_CONST segment word public 'FAR_DATA' use16
     30DATA16_INIT_CONST ends
     31
     32DATA16_INIT_BSS segment word public 'FAR_DATA' use16
     33DATA16_INIT_BSS ends
     34
     35;DATA16_INIT_GROUP   group DATA16_INIT, DATA16_INIT_CONST, DATA16_INIT_BSS
     36;
     37;A bad trick to make all the 16-bit data segments one
     38;
     39DATA16_GROUP    group DATA16, DATA16_CONST, DATA16_BSS, DATA16_GLOBAL, DATA16_INIT, DATA16_INIT_CONST, DATA16_INIT_BSS
    2140
    2241
    2342CODE16 segment word public 'CODE' use16
    2443CODE16 ends
     44
     45CODE16_INIT segment word public 'CODE' use16
     46CODE16_INIT ends
    2547
    2648CODE16_IOSEG segment word public 'CODE' use16
  • branches/Grace/src/win32k/include/log.h

    r3834 r4162  
    1 /* $Id: log.h,v 1.4.4.1 2000-07-16 22:43:30 bird Exp $
     1/* $Id: log.h,v 1.4.4.2 2000-09-02 20:49:15 bird Exp $
    22 *
    33 * log - C-style logging - kprintf.
     
    2525#define OUTPUT_COM1 0x3f8
    2626#define OUTPUT_COM2 0x2f8
     27#define OUTPUT_COM3 0x3e8
     28#define OUTPUT_COM4 0x2e8
    2729
    2830
  • branches/Grace/src/win32k/include/rmalloc.h

    r2506 r4162  
    1 /* $Id: rmalloc.h,v 1.2 2000-01-24 01:44:08 bird Exp $
     1/* $Id: rmalloc.h,v 1.2.4.1 2000-09-02 20:49:15 bird Exp $
    22 *
    33 * Resident Heap.
     
    2020#endif
    2121/* XLATON */
     22/*******************************************************************************
     23*   Structures and Typedefs                                                    *
     24*******************************************************************************/
     25typedef struct HeapState_s  /* note: this is used by both swappable and resident heaps */
     26{
     27    ULONG       cbHeapSize;          /* Amount of memory used by the heap free and used++. */
     28    ULONG       cbHeapFree;          /* Amount of used space. */
     29    ULONG       cbHeapUsed;          /* Amount of free space reserved. */
     30    ULONG       cBlocksUsed;         /* Count of used blocks. */
     31    ULONG       cBlocksFree;         /* Count of free blocks. */
     32} HEAPSTATE, *PHEAPSTATE;
     33
    2234
    2335/*******************************************************************************
     
    3345int         _res_validptr2(void *, unsigned);
    3446unsigned    _res_memfree(void);
     47unsigned    _res_memused(void);
     48int         _res_state(PHEAPSTATE);
    3549int         _res_heap_check(void);
    3650void        _res_heapmin(void);
    3751void        _res_dump_subheaps(void);
    3852void        _res_dump_allocated(unsigned);
     53
     54extern unsigned cbResHeapMax;           /* Maximum amount of memory used by the heap. */
     55
    3956
    4057/* XLATOFF */
  • branches/Grace/src/win32k/include/smalloc.h

    r2506 r4162  
    1 /* $Id: smalloc.h,v 1.1 2000-01-24 01:44:08 bird Exp $
     1/* $Id: smalloc.h,v 1.1.4.1 2000-09-02 20:49:16 bird Exp $
    22 *
    33 * Swappable Heap.
     
    2121/* XLATON */
    2222
     23struct HeapState_s;
     24
    2325/*******************************************************************************
    2426*   Exported Functions and Variables                                           *
     
    3335int         _swp_validptr2(void *, unsigned);
    3436unsigned    _swp_memfree(void);
     37unsigned    _swp_memused(void);
     38int         _swp_state(struct HeapState_s *);
    3539int         _swp_heap_check(void);
    3640void        _swp_heapmin(void);
    3741void        _swp_dump_subheaps(void);
    3842void        _swp_dump_allocated(unsigned);
     43
     44extern unsigned cbSwpHeapMax;   /* Maximum amount of memory used by the heap. */
    3945
    4046/* XLATOFF */
  • branches/Grace/src/win32k/include/vprntf16.h

    r2898 r4162  
    1 /* $Id: vprntf16.h,v 1.1 2000-02-25 18:15:06 bird Exp $
     1/* $Id: vprntf16.h,v 1.1.4.1 2000-09-02 20:49:16 bird Exp $
    22 *
    33 * printf/vprintf header file - 16bit.
     
    3030 * Function prototypes
    3131 */
    32 int printf16(const char *pszFormat, ...);
    33 int vprintf16(const char *pszFormat, va_list args);
     32int FAR printf16(const char *pszFormat, ...);
     33int FAR vprintf16(const char *pszFormat, va_list args);
     34
     35/*#pragma alloc_text(CODE16, printf16, vprintf16)*/
    3436
    3537
  • branches/Grace/src/win32k/k32/k32QueryOTEs.cpp

    r4112 r4162  
    1 /* $Id: k32QueryOTEs.cpp,v 1.1.2.1 2000-08-29 19:47:02 bird Exp $
     1/* $Id: k32QueryOTEs.cpp,v 1.1.2.2 2000-09-02 20:49:17 bird Exp $
    22 *
    33 * k32QueryOTEs  -  Get's the object table entries (OTEs) for a given
     
    2626*******************************************************************************/
    2727#include <os2.h>
     28#include "devSegDf.h"                   /* Win32k segment definitions. */
    2829#include "OS2Krnl.h"
    2930#include "ldrCalls.h"
  • branches/Grace/src/win32k/ldr/myLDRQAppType.cpp

    r4108 r4162  
    1 /* $Id: myLDRQAppType.cpp,v 1.3.4.3 2000-08-28 22:44:24 bird Exp $
     1/* $Id: myLDRQAppType.cpp,v 1.3.4.4 2000-09-02 20:49:18 bird Exp $
    22 *
    33 * _myLDRQAppType - _LDRQAppType overload.
     
    2323#include <os2.h>
    2424
     25#include "devSegDf.h"                   /* Win32k segment definitions. */
    2526#include "OS2Krnl.h"
    2627#include "avl.h"
  • branches/Grace/src/win32k/ldr/myldrClose.cpp

    r4065 r4162  
    1 /* $Id: myldrClose.cpp,v 1.5.4.2 2000-08-21 22:59:39 bird Exp $
     1/* $Id: myldrClose.cpp,v 1.5.4.3 2000-09-02 20:49:18 bird Exp $
    22 *
    33 * myldrClose - ldrClose
     
    2323#include <stdlib.h>
    2424
     25#include "devSegDf.h"                   /* Win32k segment definitions. */
    2526#include "log.h"
    2627#include "avl.h"
  • branches/Grace/src/win32k/misc/avl.c

    r3168 r4162  
    1 /* $Id: avl.c,v 1.4 2000-03-19 16:00:11 bird Exp $
     1/* $Id: avl.c,v 1.4.4.1 2000-09-02 20:49:21 bird Exp $
    22 *
    33 * AVL-Tree (lookalike) implementation.
     
    2424*******************************************************************************/
    2525#include <os2.h>
     26#include "devSegDf.h"                   /* Win32k segment definitions. */
    2627#include "avl.h"
    2728#if defined(RING0) || defined(RING3)
  • branches/Grace/src/win32k/misc/cout.cpp

    r1467 r4162  
    1 /* $Id: cout.cpp,v 1.2 1999-10-27 02:02:59 bird Exp $
     1/* $Id: cout.cpp,v 1.2.4.1 2000-09-02 20:49:21 bird Exp $
    22 *
    33 * cout - cout replacement.
     
    2525#include <stdarg.h>
    2626
     27#include "devSegDf.h"                   /* Win32k segment definitions. */
    2728#include "cout.h"
    2829#include "options.h"
  • branches/Grace/src/win32k/misc/log.c

    r847 r4162  
    1 /* $Id: log.c,v 1.1 1999-09-06 02:20:02 bird Exp $
     1/* $Id: log.c,v 1.1.4.1 2000-09-02 20:49:21 bird Exp $
    22 *
    33 * log - C-style logging - kprintf.
     
    2323#include <builtin.h>
    2424
     25#include "devSegDf.h"                   /* Win32k segment definitions. */
    2526#include "dev32.h"
    2627#include "options.h"
  • branches/Grace/src/win32k/misc/malloc.c

    r3834 r4162  
    1 /* $Id: malloc.c,v 1.6.4.1 2000-07-16 22:43:40 bird Exp $
     1/* $Id: malloc.c,v 1.6.4.2 2000-09-02 20:49:22 bird Exp $
    22 *
    33 * Common Heap - this forwards to the swappable heap!
     
    2020******************************************************************************/
    2121#include <os2.h>
     22#include "devSegDf.h"                   /* Win32k segment definitions. */
    2223#include "smalloc.h"
    2324#include "rmalloc.h"
  • branches/Grace/src/win32k/misc/new.cpp

    r2540 r4162  
    1 /* $Id: new.cpp,v 1.4 2000-01-27 23:46:57 bird Exp $
     1/* $Id: new.cpp,v 1.4.4.1 2000-09-02 20:49:22 bird Exp $
    22 *
    33 * new - new and delete operators.
     
    2121#include <os2.h>
    2222
     23#include "devSegDf.h"                   /* Win32k segment definitions. */
    2324#include "new.h"
    2425#include "rmalloc.h"
  • branches/Grace/src/win32k/misc/rmalloc.c

    r2507 r4162  
    1 /* $Id: rmalloc.c,v 1.3 2000-01-24 01:45:20 bird Exp $
     1/* $Id: rmalloc.c,v 1.3.4.1 2000-09-02 20:49:23 bird Exp $
    22 *
    33 * Resident Heap.
     
    5050******************************************************************************/
    5151#include <os2.h>
     52#include "devSegDf.h"                   /* Win32k segment definitions. */
    5253#ifdef RING0
    5354    #include "dev32hlp.h"
  • branches/Grace/src/win32k/misc/rmalloc_avl.c

    r2511 r4162  
    1 /* $Id: rmalloc_avl.c,v 1.5 2000-01-24 18:19:00 bird Exp $
     1/* $Id: rmalloc_avl.c,v 1.5.4.1 2000-09-02 20:49:23 bird Exp $
    22 *
    33 * Resident Heap - AVL.
     
    4747******************************************************************************/
    4848#include <os2.h>
     49#include "devSegDf.h"                   /* Win32k segment definitions. */
    4950#ifdef RING0
    5051    #include "dev32hlp.h"
     
    120121static PHEAPANCHOR  phaFirst;           /* Pointer to the first anchor block.*/
    121122static PHEAPANCHOR  phaLast;            /* Pointer to the last anchor block.*/
    122 static unsigned     cbResHeapMax;       /* Maximum amount of memory used by the heap. */
     123unsigned            cbResHeapMax;       /* Maximum amount of memory used by the heap. */
    123124
    124125#ifndef RING0
     
    898899
    899900/**
     901 * Get amount of used memory (in bytes)
     902 * @returns  Amount of used memory (in bytes).
     903 */
     904unsigned    _res_memused(void)
     905{
     906    PHEAPANCHOR pha = phaFirst;
     907    unsigned    cb;
     908
     909    #ifdef ALLWAYS_HEAPCHECK
     910    if (!_res_heap_check())
     911        kprintf(("_res_memused: _res_heap_check failed!\n"));
     912    #endif
     913
     914    for (cb = 0; pha != NULL; pha = pha->pNext)
     915        cb += pha->cbUsed;
     916
     917    return cb;
     918}
     919
     920
     921/**
     922 * Collects the heap state.
     923 * @returns     0 on success.
     924 *              -1 on error.
     925 * @param       pState  Pointer to a RES_HEAPSTATE structure which is
     926 *                      filled upon successful return.
     927 */
     928int         _res_state(PHEAPSTATE pState)
     929{
     930    PHEAPANCHOR pha;
     931
     932    #ifdef ALLWAYS_HEAPCHECK
     933    if (!_res_heap_check())
     934    {
     935        kprintf(("_res_state: _res_heap_check failed!\n"));
     936        return -1;
     937    }
     938    #endif
     939
     940    if (pState == NULL)
     941        return -1;
     942
     943    /*
     944     * Loop thru all the anchor blocks and all memory blocks
     945     * building the stats.
     946     */
     947    memset(pState, 0, sizeof(HEAPSTATE));
     948    for (pha = phaFirst; pha != NULL; pha = pha->pNext)
     949    {
     950        AVLENUMDATA     EnumData;
     951        PAVLENUMDATA    pEnumData = SSToDS(&EnumData);
     952        PMEMBLOCK       pmb;
     953
     954        /* count of free blocks */
     955        pmb = (PMEMBLOCK)AVLBeginEnumTree((PPAVLNODECORE)&pha->pmbFree, pEnumData, TRUE);
     956        while (pmb)
     957        {
     958            pState->cBlocksFree++;
     959            pmb = (PMEMBLOCK)AVLGetNextNode(pEnumData);
     960        }
     961
     962        /* count of used blocks */
     963        pmb = (PMEMBLOCK)AVLBeginEnumTree((PPAVLNODECORE)&pha->pmbUsed, pEnumData, TRUE);
     964        while (pmb)
     965        {
     966            pState->cBlocksUsed++;
     967            pmb = (PMEMBLOCK)AVLGetNextNode(pEnumData);
     968        }
     969
     970        /* sizes */
     971        pState->cbHeapSize  += pha->cbSize;
     972        pState->cbHeapFree  += pha->cbFree;
     973        pState->cbHeapUsed  += pha->cbUsed;
     974    }
     975
     976    return 0;
     977}
     978
     979
     980/**
    900981 * Checks heap integrety.
    901982 * @returns  TRUE  when ok.
  • branches/Grace/src/win32k/misc/smalloc_avl.c

    r2511 r4162  
    1 /* $Id: smalloc_avl.c,v 1.3 2000-01-24 18:19:00 bird Exp $
     1/* $Id: smalloc_avl.c,v 1.3.4.1 2000-09-02 20:49:24 bird Exp $
    22 *
    33 * Swappable Heap - AVL.
     
    5959******************************************************************************/
    6060#include <os2.h>
     61#include "devSegDf.h"                   /* Win32k segment definitions. */
    6162#ifdef RING0
    6263    #include "dev32hlp.h"
     
    140141static PHEAPANCHOR  phaFirst;           /* Pointer to the first anchor block.*/
    141142static PHEAPANCHOR  phaLast;            /* Pointer to the last anchor block.*/
    142 static unsigned     cbSwpHeapMax;       /* Maximum amount of memory used by the heap. */
    143 static PMEMBLOCKCHUNK pmcFirst;          /* Pointer to the first memblock chunk. */
     143unsigned            cbSwpHeapMax;       /* Maximum amount of memory used by the heap. */
     144static PMEMBLOCKCHUNK pmcFirst;         /* Pointer to the first memblock chunk. */
    144145
    145146#ifndef RING0
     
    10661067
    10671068    return cb;
     1069}
     1070
     1071
     1072/**
     1073 * Get amount of used memory (in bytes)
     1074 * @returns  Amount of used memory (in bytes).
     1075 */
     1076unsigned    _swp_memused(void)
     1077{
     1078    PHEAPANCHOR pha = phaFirst;
     1079    unsigned    cb;
     1080
     1081    #ifdef ALLWAYS_HEAPCHECK
     1082    if (!_swp_heap_check())
     1083        kprintf(("_swp_memused: _swp_heap_check failed!\n"));
     1084    #endif
     1085
     1086    for (cb = 0; pha != NULL; pha = pha->pNext)
     1087        cb += pha->cbUsed;
     1088
     1089    return cb;
     1090}
     1091
     1092
     1093/**
     1094 * Collects the heap state.
     1095 * @returns     0 on success.
     1096 *              -1 on error.
     1097 * @param       pState  Pointer to a HEAPSTATE structure which is
     1098 *                      filled upon successful return.
     1099 */
     1100int         _swp_state(PHEAPSTATE pState)
     1101{
     1102    PHEAPANCHOR pha;
     1103
     1104    #ifdef ALLWAYS_HEAPCHECK
     1105    if (!_res_heap_check())
     1106    {
     1107        kprintf(("_res_state: _res_heap_check failed!\n"));
     1108        return -1;
     1109    }
     1110    #endif
     1111
     1112    if (pState == NULL)
     1113        return -1;
     1114
     1115    /*
     1116     * Loop thru all the anchor blocks and all memory blocks
     1117     * building the stats.
     1118     */
     1119    memset(pState, 0, sizeof(HEAPSTATE));
     1120    for (pha = phaFirst; pha != NULL; pha = pha->pNext)
     1121    {
     1122        AVLENUMDATA     EnumData;
     1123        PAVLENUMDATA    pEnumData = SSToDS(&EnumData);
     1124        PMEMBLOCK       pmb;
     1125
     1126        /* count of free blocks */
     1127        pmb = (PMEMBLOCK)AVLBeginEnumTree((PPAVLNODECORE)&pha->pcoreFree, pEnumData, TRUE);
     1128        while (pmb)
     1129        {
     1130            pState->cBlocksFree++;
     1131            pmb = (PMEMBLOCK)AVLGetNextNode(pEnumData);
     1132        }
     1133
     1134        /* count of used blocks */
     1135        pmb = (PMEMBLOCK)AVLBeginEnumTree((PPAVLNODECORE)&pha->pcoreUsed, pEnumData, TRUE);
     1136        while (pmb)
     1137        {
     1138            pState->cBlocksUsed++;
     1139            pmb = (PMEMBLOCK)AVLGetNextNode(pEnumData);
     1140        }
     1141
     1142        /* sizes */
     1143        pState->cbHeapSize  += pha->cbSize;
     1144        pState->cbHeapFree  += pha->cbFree;
     1145        pState->cbHeapUsed  += pha->cbUsed;
     1146    }
     1147
     1148    return 0;
    10681149}
    10691150
  • branches/Grace/src/win32k/pe2lx/makefile

    r3041 r4162  
    11##############################################################################
    2 # $Id: makefile,v 1.20 2000-03-08 09:22:21 bird Exp $
     2# $Id: makefile,v 1.20.4.1 2000-09-02 20:49:25 bird Exp $
    33#
    44# PD-Win32 API
     
    2020OBJEXT          = pe_obj
    2121
    22 
    2322##############################################################################
    2423# Tools and Flags Addjustments
    2524##############################################################################
     25OBJDIR     = $(WIN32KOBJ)
    2626CINCLUDES  = -I$(WIN32KINCLUDE)
    2727
    2828CFLAGS     = $(CINCLUDES) $(CFLAGS) -DRING3 -DPE2LX \
    29              -Ge+ -Wall+ppt-ppc-inl-cnv-gnr-vft-gen-uni-ext- -Gm- -Gn- -Ti+ -Rn
     29             -Ge+ -Gm- -Gn- -Ti+ -Rn -Wall+ppt-ppc-inl-cnv-gnr-vft-gen-uni-ext-
    3030CXXFLAGS   = $(CINCLUDES) $(CXXFLAGS) -DRING3 -DPE2LX \
    31              -Ge+ -Wall+ppt-ppc-inl-cnv-gnr-vft- -Gm- -Gn- -Ti+ -Gx -Rn
     31             -Ge+ -Gm- -Gn- -Ti+ -Rn -Gx -Wall+ppt-ppc-inl-cnv-gnr-vft-
    3232
    33 LD         = ilink
    34 LDFLAGS    = /nologo /NOI /A:16 /NOE /packcode /packdata /pmtype:vio /Stack:4096 \
     33LD2FLAGS   = /nologo /NOI /A:16 /NOE /NOD /packcode /packdata /pmtype:vio /Stack:4096 \
    3534!ifdef DEBUG
    3635!ifndef NODEBUGINFO
     
    8584# Main targets.
    8685##############################################################################
    87 TARGET   = pe2lx
     86TARGET = pe2lx
    8887
    89 OBJS     =  $(OBJDIR)\pe2lx.$(OBJEXT)         \
    90             $(OBJDIR)\pe2lxmain.$(OBJEXT)     \
    91             $(OBJDIR)\modulebase.$(OBJEXT)    \
    92             $(OBJDIR)\malloc.$(OBJEXT)        \
    93             $(OBJDIR)\smalloc_avl.$(OBJEXT)   \
    94             $(OBJDIR)\avl.$(OBJEXT)           \
    95             $(OBJDIR)\rmalloc_avl.$(OBJEXT)   \
    96             $(OBJDIR)\new.$(OBJEXT)           \
    97             $(OBJDIR)\stricmp.$(OBJEXT)       \
    98             $(OBJDIR)\vprintf.$(OBJEXT)
     88OBJS =\
     89$(OBJDIR)\pe2lx.$(OBJEXT)\
     90$(OBJDIR)\pe2lxmain.$(OBJEXT)\
     91$(OBJDIR)\modulebase.$(OBJEXT)\
     92$(OBJDIR)\malloc.$(OBJEXT)\
     93$(OBJDIR)\smalloc_avl.$(OBJEXT)\
     94$(OBJDIR)\avl.$(OBJEXT)\
     95$(OBJDIR)\rmalloc_avl.$(OBJEXT)\
     96$(OBJDIR)\new.$(OBJEXT)\
     97$(OBJDIR)\stricmp.$(OBJEXT)\
     98$(OBJDIR)\vprintf.$(OBJEXT)
     99
     100LIBS =\
     101!if "$(CCENV)" == "VAC36"
     102    $(VACPATH)\lib\cpprni36.lib \
     103!else
     104    $(VACPATH)\lib\cppon30.lib  \
     105!endif
    99106
    100107
    101 
    102 all:      $(OBJDIR) $(OBJDIR)\$(TARGET).exe
     108all:    $(WIN32KBIN)\$(TARGET).exe
    103109
    104110
    105 $(OBJDIR)\$(TARGET).exe: $(OBJS)
     111$(WIN32KBIN)\$(TARGET).exe: $(OBJS) makefile
    106112    @echo linking $@
    107     $(LD) $(LDFLAGS) /OUT:$@ /MAP:$*.map $**
     113    $(LD2) @<<$(OBJDIR)\$(@B).lnk
     114$(LD2FLAGS)
     115/OUT:$@
     116/MAP:$*.map
     117$(OBJS: =^
     118)
     119$(LIBS)
     120os2386.lib
     121<<KEEP
    108122    $(CP) $@ $(PDWIN32_BIN)
    109123
     
    113127##############################################################################
    114128dep:
    115     $(DEPEND) -obj$(OBJEXT) -o$$(OBJDIR) $(CINCLUDES) ..\misc\*.c* ..\include\*.h
     129    $(DEPEND) -obj$(OBJEXT) -o$$(OBJDIR) $(CINCLUDES) \
     130        *.c* ..\misc\*.c* ..\include\*.h
    116131
    117132
Note: See TracChangeset for help on using the changeset viewer.