wine/include/segmem.h
Alexandre Julliard 86a8d0f942 Release 0.7
Thu Jan 13 11:45:13 1994  John Richardson <jrichard@cs.uml.edu>

	* [window/win.c]
	Added functions EnableWindow, IsWindowEnabled, and helper 
	WIN_SetSensitive.
	
	* [window/event.c]
	Added checks for WS_DISABLED windows in EVENT_key, EVENT_MotionNotify,
	EVENT_ButtonPress, EVENT_ButtonRelease, EVENT_ConfigureNotify,
	EVENT_FocusIn, EVENT_FocusOut, and EVENT_EnterNotify.  Key and 
	button presses beep for a disabled window.  
	If anyone finds better places for these checks, please tell me.

Jan 17, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)

	* [misc/message.c]
	Cleanup on buttons answer value returned.

	* [control/combo.c]
	Now use OBM_COMBO bitmap dropdown button.

Mon Jan 17 21:56:45 1994  Erik Bos (erik@trashcan.hacktic.nl)

	* [misc/comm/c]
	A few bugfixes.

Tue Jan 18 06:36:48 1994  julliard@di.epfl.ch (Alexandre Julliard)

	* [loader/cursor.c]
	Added X cursor for IDC_SIZENS and IDC_SIZEWE.

	* [include/options.h] [misc/main.c]  (New files)
	Rewrote main() function to get rid of Xt application context,
	and added command-line option parsing.

	* [objects/color.c]
	Use of a private map now configurable with command-line option.

	* [windows/defwnd.c]
	Added WM_SYSCOMMAND handling, and better WM_SETCURSOR handling.

	* [windows/event.c]
	Removed ConfigureNotify event handler (no longer needed).

	* [windows/message.c]
	Send WM_SETCURSOR message on mouse events.

	* [windows/nonclient.c]
	Use OEM bitmaps for the drawing of the non-client area.
	Added caption bar buttons handling, and moving and resizing of
	the window via the window frame (bypassing the window manager).

	* [windows/painting.c]
	Bug fix in BeginPaint().

	* [windows/win.c]
	Set the override_redirect flag for windows (to bypass window
	manager).

	* [windows/winpos.c]
	Implemented WindowFromPoint(), ChildWindowFromPoint(),
	BringWindowToTop(), Get/SetInternalWindowPos(),
	Get/SetWindowPlacement().

Mon Jan 17 20:48:24 1994  Bob Amstadt  (bob@pooh)

	* [memory/heap.c]
	Added support for multiple local heaps.
1994-01-18 23:04:40 +00:00

79 lines
1.8 KiB
C

/* $Id: segmem.h,v 1.3 1993/07/04 04:04:21 root Exp root $
*/
/*
* Copyright Robert J. Amstadt, 1993
*/
#ifndef SEGMEM_H
#define SEGMEM_H
#ifdef __linux__
#define HAVE_IPC
#include <sys/ipc.h>
#include <sys/shm.h>
#endif
/*
* Array to track selector allocation.
*/
#define MAX_SELECTORS 512
#define SELECTOR_ISFREE 0x8000
#define SELECTOR_INDEXMASK 0x0fff
extern unsigned short SelectorMap[MAX_SELECTORS];
#ifdef HAVE_IPC
#define SAFEMAKEPTR(s, o) (((int) (s) << 16) | ((o) & 0xffff))
#define FIXPTR(p) (p)
#else
#define SAFEMAKEPTR(s, o) \
(((int) SelectorMap[SelectorMap[(s) >> 3] & SELECTOR_INDEXMASK] << 19) \
| 0x70000 | ((o) & 0xffff))
#define FIXPTR(p) SAFEMAKEPTR((unsigned long) (p) >> 16, (p))
#endif
/*
* Structure to hold info about each selector we create.
*/
typedef struct segment_descriptor_s
{
void *base_addr; /* Pointer to segment in flat memory */
unsigned int length; /* Length of segment */
unsigned int flags; /* Segment flags (see neexe.h and below)*/
unsigned short selector; /* Selector used to access this segment */
unsigned short owner; /* Handle of owner program */
unsigned char type; /* DATA or CODE */
#ifdef HAVE_IPC
key_t shm_key; /* Shared memory key or IPC_PRIVATE */
#endif
} SEGDESC;
/*
* Additional flags
*/
#define NE_SEGFLAGS_MALLOCED 0x00010000 /* Memory allocated with malloc() */
/*
* Global memory flags
*/
#define GLOBAL_FLAGS_MOVEABLE 0x0002
#define GLOBAL_FLAGS_ZEROINIT 0x0040
#define GLOBAL_FLAGS_CODE 0x00010000
#define GLOBAL_FLAGS_EXECUTEONLY 0x00020000
#define GLOBAL_FLAGS_READONLY 0x00020000
#define FIRST_SELECTOR 8
static __inline__ int Is16bitAddress(void *address)
{
return ((int) address >= (((FIRST_SELECTOR << 3) | 0x0007) << 16));
}
extern SEGDESC Segments[];
#endif /* SEGMEM_H */