blob: 6933b98fb2f2014089a7ce2f0df3437679c12ebc [file] [log] [blame]
Alexandre Julliardfa68b751995-04-03 16:55:37 +00001/*
2 * Global heap declarations
3 *
4 * Copyright 1995 Alexandre Julliard
5 */
6
7#ifndef __WINE_GLOBAL_H
8#define __WINE_GLOBAL_H
9
10#include "wintypes.h"
11
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000012typedef struct
13{
Alexandre Julliard1285c2f1996-05-06 16:06:24 +000014 HGLOBAL16 handle;
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000015 WORD sel;
16 int shmid;
17} SHMDATA;
18
Alexandre Julliardc7c217b1998-04-13 12:21:30 +000019/* memory/global.c */
Alexandre Julliard1285c2f1996-05-06 16:06:24 +000020extern HGLOBAL16 GLOBAL_CreateBlock( UINT16 flags, const void *ptr, DWORD size,
Alexandre Julliardd90840e1996-06-11 16:02:08 +000021 HGLOBAL16 hOwner, BOOL16 isCode,
22 BOOL16 is32Bit, BOOL16 isReadOnly,
Alexandre Julliard1285c2f1996-05-06 16:06:24 +000023 SHMDATA *shmdata);
Alexandre Julliardd90840e1996-06-11 16:02:08 +000024extern BOOL16 GLOBAL_FreeBlock( HGLOBAL16 handle );
Alexandre Julliardd30dfd21998-09-27 18:28:36 +000025extern BOOL16 GLOBAL_MoveBlock( HGLOBAL16 handle, const void *ptr, DWORD size );
Alexandre Julliard1285c2f1996-05-06 16:06:24 +000026extern HGLOBAL16 GLOBAL_Alloc( WORD flags, DWORD size, HGLOBAL16 hOwner,
Alexandre Julliardd90840e1996-06-11 16:02:08 +000027 BOOL16 isCode, BOOL16 is32Bit,
28 BOOL16 isReadOnly );
Alexandre Julliardf90efa91998-06-14 15:24:15 +000029
30extern WORD WINAPI GlobalHandleToSel( HGLOBAL16 handle );
Alexandre Julliardfa68b751995-04-03 16:55:37 +000031
Alexandre Julliardc7c217b1998-04-13 12:21:30 +000032/* memory/virtual.c */
Alexandre Julliarda845b881998-06-01 10:44:35 +000033extern BOOL32 VIRTUAL_Init( void );
Alexandre Julliardc7c217b1998-04-13 12:21:30 +000034extern DWORD VIRTUAL_GetPageSize(void);
35extern DWORD VIRTUAL_GetGranularity(void);
Turchanov Sergey19aa3a71998-10-18 13:31:43 +000036extern LPVOID VIRTUAL_MapFileW( LPCWSTR name );
Alexandre Julliardc7c217b1998-04-13 12:21:30 +000037
Alexandre Julliardebfc0fe1998-06-28 18:40:26 +000038typedef BOOL32 (*HANDLERPROC)(LPVOID, LPVOID);
39extern BOOL32 VIRTUAL_SetFaultHandler(LPVOID addr, HANDLERPROC proc, LPVOID arg);
40extern BOOL32 VIRTUAL_HandleFault(LPVOID addr);
41
Alexandre Julliard737fa071998-11-15 17:29:15 +000042/* memory/atom.c */
43extern BOOL32 ATOM_Init( WORD globalTableSel );
44
Alexandre Julliardfa68b751995-04-03 16:55:37 +000045#endif /* __WINE_GLOBAL_H */