Fix unsafe use of alloca reported in bug #11138.
[emacs.git] / oldXMenu / XMenuInt.h
blob721652c95395b132cae0c40816a8756f35c4116c
1 /* Copyright Massachusetts Institute of Technology 1985 */
3 #include "copyright.h"
6 /*
7 * XMenu: MIT Project Athena, X Window system menu package
9 * XMenuInternal.h - Internal menu system include file for the
10 * MIT Project Athena XMenu X window system
11 * menu package.
13 * Author: Tony Della Fera, DEC
14 * October, 1985
17 #ifndef _XMenuInternal_h_
18 #define _XMenuInternal_h_
20 /* Avoid warnings about redefining NULL by including <stdio.h> first;
21 the other file which wants to define it (<stddef.h> on Ultrix
22 systems) can deal if NULL is already defined, but <stdio.h> can't. */
23 #include <stdio.h>
24 #include <X11/Xlib.h>
25 #include "X10.h"
26 #include "XMenu.h"
28 #define min(x, y) ((x) <= (y) ? (x) : (y))
29 #define max(x, y) ((x) >= (y) ? (x) : (y))
30 #define abs(a) ((a) < 0 ? -(a) : (a))
32 #define _X_FAILURE -1
34 #define _SUCCESS 1
35 #define _FAILURE -1
38 * XMenu internal event handler variable.
40 extern int (*_XMEventHandler)(XEvent*);
42 #ifndef Pixel
43 #define Pixel unsigned long
44 #endif
47 * Internal routine declarations.
49 void _XMWinQueInit(void);
50 int _XMWinQueAddPane(Display *display, XMenu *menu, XMPane *p_ptr);
51 int _XMWinQueAddSelection(Display *display, XMenu *menu, XMSelect *s_ptr);
52 int _XMWinQueFlush(Display *display, XMenu *menu, XMPane *pane, XMSelect *select);
53 XMPane *_XMGetPanePtr(XMenu *menu, int p_num);
54 XMSelect *_XMGetSelectionPtr(XMPane *p_ptr, int s_num);
55 void _XMRecomputeGlobals(Display *display, XMenu *menu);
56 int _XMRecomputePane(Display *display, XMenu *menu, XMPane *p_ptr, int p_num);
57 int _XMRecomputeSelection(Display *display, XMenu *menu, XMSelect *s_ptr, int s_num);
58 void _XMTransToOrigin(Display *display, XMenu *menu, XMPane *p_ptr, XMSelect *s_ptr, int x_pos, int y_pos, int *orig_x, int *orig_y);
59 void _XMRefreshPane(Display *display, XMenu *menu, XMPane *pane);
60 void _XMRefreshSelection(Display *display, XMenu *menu, XMSelect *select);
61 void emacs_insque (void *elem, void *prev);
62 void emacs_remque (void *elem);
63 void XDeleteAssoc(Display *dpy, XAssocTable *table, XID x_id);
64 void XDestroyAssocTable(XAssocTable *table);
65 void XMakeAssoc(Display *dpy, XAssocTable *table, XID x_id, void *data);
66 void XDeleteAssoc(Display *dpy, XAssocTable *table, XID x_id);
68 #endif
69 /* Don't add stuff after this #endif */