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.
78 lines
1.8 KiB
C
78 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 */
|
|
|
|
|
|
|
|
|