This library makes functions available with whose aid events can be recognized and processed. As a rule, program control is released to the operating system until the specified event has occurred. The following routines are available for this purpose:
• evnt_button | Waits for a mouse button press |
• evnt_dclick | Obtains/alters the double-click response rate |
• evnt_keybd | Waits for a keypress |
• evnt_mesag | Waits for a message |
• evnt_mouse | Waits for a move of the mouse pointer |
• evnt_multi | Reacts to several events |
• evnt_timer | Waits for a timer event |
• Standard messages | |
• Message-list | Overview of all known messages, including:
Messages from Geneva RSDAEMON messages |
Note: 'event' in this case should be understood as a message, key press, mouse movement and button activation, timer events etc.
See also: About the AES GEM Style guidelines
Name: | »Event button« - Wait for a mouse button event.
| |||||||||||||||||||||||||||||||||||||||||||||
Opcode: | 21
| |||||||||||||||||||||||||||||||||||||||||||||
Syntax: | int16_t evnt_button ( int16_t ev_bclicks, int16_t ev_bmask,
int16_t ev_bstate, int16_t *ev_bmx, int16_t *ev_bmy, int16_t
*ev_bbutton, int16_t *ev_bkstate );
| |||||||||||||||||||||||||||||||||||||||||||||
Description: | The call evnt_button waits for a button event, i.e. until the
mouse buttons specified in ev_bmask are set to the state
specified in ev_bstate. More exactly:
The function waits until the desired event has occurred once. This is followed by a wait to check if the event is repeated. If the event has occurred ev_bclickstimes or the time set with evnt_dclick has expired), the function returns immediately. The following apply:
Note: As of PC-GEM/3 the event functions support only one mouse button. Note 2: Specifying both left and right buttons in ev_bmask: ev_button(1,3,3,... will wait until *both* buttons are pressed simultaneously. If you wish to wait for *either* button to be pressed, then you must set bit 8 of *ev_bclicks*: ev_button(0x0101,3,3,... This was documented in the December 1992 issue of ATARI.RSC (the developer's newsletter) and is true for all releases of Atari TOS. | |||||||||||||||||||||||||||||||||||||||||||||
Return value: | The function returns the number of mouse clicks that were
actually made, or, more exactly, the number of times that the mouse
button state matched ev_bstate.
| |||||||||||||||||||||||||||||||||||||||||||||
Availability: | All AES versions.
| |||||||||||||||||||||||||||||||||||||||||||||
Group: | Event library
| |||||||||||||||||||||||||||||||||||||||||||||
See also: | Binding evnt_multi Messages
|
C: | int16_t evnt_button ( int16_t ev_bclicks, int16_t ev_bmask,
int16_t ev_bstate, int16_t *ev_bmx, int16_t *ev_bmy, int16_t
*ev_bbutton, int16_t *ev_bkstate );
| ||||||||||||||||||||||||||||||||||||||||||
Binding: |
int16_t evnt_button (int16_t ev_bclicks, int16_t ev_bmask, int16_t ev_bstate, int16_t *ev_bmx, int16_t *ev_bmy, int16_t *ev_bbutton, int16_t *ev_bkstate ) { int_in[0] = ev_bclicks; int_in[1] = ev_bmask; int_in[2] = ev_bstate; crys_if (21); *ev_bmx = int_out[1]; *ev_bmy = int_out[2]; *ev_bbutton = int_out[3]; *ev_bkstate = int_out[4]; return ( int_out[0] ); } | ||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event double-click« - Obtain or set the time delay between
the two clicks of a double-click.
| ||||||||
Opcode: | 26
| ||||||||
Syntax: | int16_t evnt_dclick ( int16_t ev_dnew, int16_t ev_dgetset );
| ||||||||
Description: | The call evnt_dclick sets or obtains the speed with which the
double-clicks of the mouse have to be made. The following apply:
Note: One should always bear in mind that there are people who have problems with too fast a speed, and can then no longer perform double-clicks! The function is also often named evnt_dclicks in older GEM documentation. | ||||||||
Return value: | The function returns the applicable response rate for
double-clicks.
| ||||||||
Availability: | All AES versions.
| ||||||||
Group: | Event library
| ||||||||
See also: | Binding Messages
|
C: | int16_t evnt_dclick ( int16_t ev_dnew, int16_t ev_dgetset );
| |||||||||||||||||||||||||||
Binding: |
int16_t evnt_dclick (int16_t ev_dnew, int16_t ev_dgetset) { int_in[0] = ev_dnew; int_in[1] = ev_dgetset; return ( crys_if(26) ); } | |||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event keyboard« - Wait for a keyboard event
|
Opcode: | 20
|
Syntax: | int16_t evnt_keybd ( void );
|
Description: | The call evnt_keybd waits for a keyboard event, and returns the
corresponding code.
Note: Keyboard events are always returned only to the application that 'owns' the active window. With TOS versions from 2.06 and 3.06 onwards, this function is disabled for keys [0] to [9] on the numeric keypad when pressed together with the [Alternate] key. These key combinations allow the entry of the complete range of ASCII values (001 .. 255) by holding down the [Alternate] key while typing in the decimal ASCII-code on the numeric keypad. Without [Alternate] the numeric keypad operates normally. |
Return value: | The function returns in bits 0..7 the ASCII-code, and in the
bits 8..15 the scancode of the pressed key.
|
Availability: | All AES versions.
|
Group: | Event library
|
See also: | Binding evnt_multi Messages
|
C: | int16_t evnt_keybd ( void );
| |||||||||||||||||||||
Binding: |
int16_t evnt_keybd (void) { return ( crys_if (20) ); } | |||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event message« - Wait for an AES message.
|
Opcode: | 23
|
Syntax: | int16_t evnt_mesag ( int16_t *msg );
|
Description: | The call evnt_mesag waits until a valid system message is
available in the message pipe of the application.
The parameter msg is a pointer to the 16 byte long message buffer. |
Return value: | This is always the value 1.
|
Availability: | All AES versions.
|
Group: | Event library
|
See also: | Binding Messages
|
C: | int16_t evnt_mesag ( int16_t *msg );
| ||||||||||||||||||||||||
Binding: |
int16_t evnt_mesag (int16_t *msg) { addr_in[0] = msg; return ( crys_if (23) ); } | ||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event mouse« - Wait for the mouse pointer to enter or leave
a specified area of the screen.
| ||||||||||||||||||||||||||||||||||
Opcode: | 22
| ||||||||||||||||||||||||||||||||||
Syntax: | int16_t evnt_mouse ( int16_t ev_moflags, int16_t ev_mox,
int16_t ev_moy, int16_t ev_mowidth, int16_t ev_moheight, int16_t
*ev_momx, int16_t *ev_momy, int16_t *ev_mobutton, int16_t *ev_mokstate
);
| ||||||||||||||||||||||||||||||||||
Description: | The call evnt_mouse waits until the mouse pointer enters or
leaves a specified area of the screen. The following apply:
| ||||||||||||||||||||||||||||||||||
Return value: | This is always the value 1.
| ||||||||||||||||||||||||||||||||||
Availability: | All AES versions.
| ||||||||||||||||||||||||||||||||||
Group: | Event library
| ||||||||||||||||||||||||||||||||||
See also: | Binding Messages
|
C: | int16_t evnt_mouse ( int16_t ev_moflags, int16_t ev_mox,
int16_t ev_moy, int16_t ev_mowidth, int16_t ev_moheight, int16_t
*ev_momx, int16_t *ev_momy, int16_t *ev_mobutton, int16_t *ev_mokstate
);
| ||||||||||||||||||||||||||||||||||||||||||||||||
Binding: |
int16_t evnt_mouse (int16_t ev_moflags, int16_t ev_mox, int16_t ev_moy, int16_t ev_mowidth, int16_t ev_moheight, int16_t *ev_momx, int16_t *ev_momy, int16_t *ev_mobutton, int16_t *ev_mokstate) { int_in[0] = ev_moflags; int_in[1] = ev_mox; int_in[2] = ev_moy; int_in[3] = ev_mowidth; int_in[4] = ev_moheight; crys_if (22); *ev_momx = int_out[1]; *ev_momy = int_out[2]; *ev_mobutton = int_out[3]; *ev_mokstate = int_out[4]; return (int_out[0]); } | ||||||||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event multi« - Wait for an arbitrary event.
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Opcode: | 25
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Syntax: | int16_t evnt_multi ( int16_t ev_mflags, int16_t ev_mbclicks,
int16_t ev_mbmask, int16_t ev_mbstate, int16_t ev_mm1flags, int16_t
ev_mm1x, int16_t ev_mm1y, int16_t ev_mm1width, int16_t ev_mm1height,
int16_t ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t
ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, int16_t
ev_mtlocount, int16_t ev_mthicount, int16_t *ev_mmox, int16_t
*ev_mmoy, int16_t *ev_mmbutton, int16_t *ev_mmokstate, int16_t
*ev_mkreturn, int16_t *ev_mbreturn );
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Description: | The evnt_multi call waits for a number of various events,
combining the functionality of evnt_button, evnt_keybd, evnt_mesag,
evnt_mouse and evnt_timer in one call. The following apply:
Note: Due to the large number of parameters to be passed this function consumes a relatively large amount of CPU time, since the parameters must first be stored on the stack, and then distributed to the GEM input fields. MU_WHEEL: This will only be sent if there is not a top window or the top window doesn't have arrow widgets. MU_MX: This reports ANY mouse movement to the application, (ev_mmox, ev_mmoy), with the state of the keyboard. MU_KEYBD4: Used internally in GEM/4 to check for a context-sensitive help request. MU_NORM_KEYBD: If the event mask MU_NORM_KEYBD is passed to evnt_multi the application will receive a normalized key-code (NKCC) instead of the standard AES key-code, together with the state of the mouse. The mask can be used together with MU_KEYBD; if both are passed, then MU_NORM_KEYBD prevails. The normalized key-code is in ev_mmokstate and ev_mkreturn, both having the same value. X_MU_DIALOG: If the ev_mflags parameter has its bit 14 set, (ev_mflags |= X_MU_DIALOG), then any mouse clicks and keyboard actions within windows containing dialogs will cause the ev_mwhich return value from evnt_multi to have bit 14 set. When this happens, ev_mmgpbuff WORD 2 contains the index of the object within the dialog which was selected. If the object was a TOUCHEXIT button and the user double-clicked on it, then bit 15 will be set, similar to the way form_do works. WORD 3 of the message buffer ev_mmgpbuff contains the window handle of the window in which the event occurred. This feature is used in conjunction with the wind_set option X_WF_DIALOG. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Return value: | The function returns the number of the occurring event(s) in
the format specified above.
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Availability: | All AES versions.
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Group: | Event library
| ||||||||||||||||||||||||||||||||||||||||||||||||||
See also: | Binding evnt_keybd evnt_button evnt_mouse evnt_mesag
evnt_timer evnt_dclick Messages
|
C: | int16_t evnt_multi ( int16_t ev_mflags, int16_t ev_mbclicks,
int16_t ev_mbmask, int16_t ev_mbstate, int16_t ev_mm1flags, int16_t
ev_mm1x, int16_t ev_mm1y, int16_t ev_mm1width, int16_t ev_mm1height,
int16_t ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t
ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, int16_t
ev_mtlocount, int16_t ev_mthicount, int16_t *ev_mmox, int16_t
*ev_mmoy, int16_t *ev_mmbutton, int16_t *ev_mmokstate, int16_t
*ev_mkreturn, int16_t *ev_mbreturn );
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Binding: |
int16_t evnt_multi (int16_t ev_mflags, int16_t ev_mbclicks, int16_t ev_mbmask, int16_t ev_mbstate, int16_t ev_mm1flags, int16_t ev_mm1x, int16_t ev_mm1y, int16_t ev_mm1width, int16_t ev_mm1height, int16_t ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, int16_t ev_mtlocount, int16_t ev_mthicount, int16_t *ev_mmox, int16_t *ev_mmoy, int16_t *ev_mmbutton, int16_t *ev_mmokstate, int16_t *ev_mkreturn, int16_t *ev_mbreturn) { int_in[0] = ev_mflags; int_in[1] = ev_mbclicks; int_in[2] = ev_mbmask; int_in[3] = ev_mbstate; int_in[4] = ev_mm1flags; int_in[5] = ev_mm1x; int_in[6] = ev_mm1y; int_in[7] = ev_mm1width; int_in[8] = ev_mm1height; int_in[9] = ev_mm2flags; int_in[10] = ev_mm2x; int_in[11] = ev_mm2y; int_in[12] = ev_mm2width; int_in[13] = ev_mm2height; int_in[14] = ev_mtlocount; int_in[15] = ev_mthicount; addr_in[0] = ev_mmgpbuff; crys_if (25); *ev_mmox = int_out[1]; *ev_mmoy = int_out[2]; *ev_mmbutton = int_out[3]; *ev_mmokstate = int_out[4]; *ev_mkreturn = int_out[5]; *ev_mbreturn = int_out[6]; return (intout[0]); } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event Timer« - Wait for a given time interval.
| ||||||
Opcode: | 24
| ||||||
Syntax: | int16_t evnt_timer ( int16_t ev_tlocount, int16_t ev_thicount
);
| ||||||
Description: | The call evnt_timer waits until a given time has passed before
releasing control to the operating system. The following apply:
Note: One should always use this function for delay loops in programs. The operating system can then allocate the CPU to another process (even without real multitasking). Under TOS 1.0, neither parameter may be set to 0 for a desk accessory, otherwise the system will hang. This function cannot be relied on as an accurate clock. The specified time is only the minimum time value, with the function returning at some point after this time has passed. | ||||||
Return value: | This is always the value 1.
| ||||||
Availability: | All AES versions.
| ||||||
Group: | Event library
| ||||||
See also: | Binding Messages
|
C: | int16_t evnt_timer ( int16_t ev_tlocount, int16_t ev_thicount
);
| |||||||||||||||||||||||||||
Binding: |
int16_t evnt_timer (int16_t ev_tlocount, int16_t ev_thicount) { int_in[0] = ev_tlocount; int_in[1] = ev_thicount; return ( crys_if (24) ); } | |||||||||||||||||||||||||||
GEM-Arrays: |
|
Standard messages of the screen-manager are built up as follows:
msg[0] | Message type
|
msg[1] | Application ID of sender
|
msg[2] | Length of additional data; if non-zero, use appl_read to read
the additional data. Always 0 in messages sent by the AES.
|
Types of standard messages:
Message | Meaning
| ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
AC_CLOSE (41) | This is sent to a desk accessory when the current application
terminates, the screen is cleared and the window manager is
reinitialized
Note: This message plays practically no role in multitasking systems any more, and is also no longer present in MagiC! | ||||||||||||||||||||||||||||||||||||||||
AC_OPEN (40) | A desk accessory has been activated
Geneva has the following extension: If an application sends an AC_OPEN message to another application, it can optionally set WORD 4 of the message to -1; in this case, Geneva will automatically substitute the correct menu identifier for the application in WORD 4. Example to open application with ID #5: int buf[8]im { AC_OPEN, 5, 0, my_apid, -1 }; appl_write( 5, 16, buf ); Sending an AC_OPEN message to a desk accessory will cause it to open if it is not already open, or it will make its window topmost (by sending a WM_TOPPED message) if the desk accessory has a window open; an application will receive a WM_TOPPED message, if it has a window open. | ||||||||||||||||||||||||||||||||||||||||
AP_DRAGDROP (63) | This is a part of the Drag&Drop protocol and is sent by the
sender to the receiver
Note: If a value of -1 is passed instead of a valid window ID, then the destination of the Drag&Drop operation is no specific window, but the application itself; in that case normally one should open an additional window for the specified data. | ||||||||||||||||||||||||||||||||||||||||
AP_RESCHG (57) | With this message, which is a sub-command only found as a
possible value in AP_TERM (50), the relevant application is informed
that a resolution change is to take place; the receiver of this
message should then terminate itself as soon as possible
| ||||||||||||||||||||||||||||||||||||||||
AP_TERM (50) | The operating system requests the application to terminate
itself; this may be necessary for a resolution change, for instance, or triggered
by a general Shutdown utility
Warning: Contrary to the usual convention, the value -1 must be entered in msg[1], as according to MagiC documentation one can not guarantee otherwise that the desktop will react to an [Alternate]-[Control]-[Delete] Shutdown sequence Note: Desk accesories will always be sent AC_CLOSE messages, not AP_TERM | ||||||||||||||||||||||||||||||||||||||||
AP_TFAIL (51) | This is sent by the receiver of an AC_CLOSE or AP_TERM message
if this does not wish to or cannot terminate itself
| ||||||||||||||||||||||||||||||||||||||||
CH_EXIT (90) | This is sent to the parent process when a child terminates
| ||||||||||||||||||||||||||||||||||||||||
CT_KEY (53) | This is sent by the modular control field XCONTROL to be able
to evaluate key-presses that can have no effect on editable fields,
such as [Help] or [Undo], for instance
| ||||||||||||||||||||||||||||||||||||||||
FNT_CHANGED (83) | This is sent if GDOS fonts were loaded or unloaded at run-time.
At the receipt of this message the reaction should be vst_unload_fonts, followed directly by vst_load_fonts; this ensures that the application can work with the current fonts. Then you should check, if the fonts you are using in open documents are still available.
| ||||||||||||||||||||||||||||||||||||||||
MN_SELECTED (10) | This is sent when a menu option is chosen
Note: The presence of the extended message (msg[5] and following) is best inquired with appl_getinfo (opcode 9) | ||||||||||||||||||||||||||||||||||||||||
PRN_CHANGED (82) | This message is sent by the GDOS configuration program to all
reachable applications, to inform them about changes to device
drivers; the following apply:
After receipt of this message, an application can re-open the corresponding workstation, for instance, obtain the current settings, and perhaps offer a new preview | ||||||||||||||||||||||||||||||||||||||||
RESCH_COMPLETED (61) | This message is sent to the application that initiated a
resolution change; if no error has arisen, this must now terminate itself
| ||||||||||||||||||||||||||||||||||||||||
SC_CHANGED (80) | This message should be sent by a program to all other
applications in the system when the contents of the GEM clipboard
have been changed
| ||||||||||||||||||||||||||||||||||||||||
SH_WDRAW (72) | This message should be sent by an application to the system
shell when the contents of a drive has been changed; following this
the shell can update the corresponding window
Note: A value of -1 means that the shell should update all windows | ||||||||||||||||||||||||||||||||||||||||
SHUT_COMPLETED (60) | This is sent by the operating system to the initiator of a
Shutdown when all other applications have already been informed about
this and have reacted positively
| ||||||||||||||||||||||||||||||||||||||||
SM_M_SPECIAL (101) | This message is only available under MagiC (as of Version
2.0), and must be sent to the screen-manager
Note: The codes 6..8 of msg[6] are available only as of MagiC Version 3.1. For "Perform a redraw" and "Unhide all applications" the ID to be passed must be that of the screen-manager (1). | ||||||||||||||||||||||||||||||||||||||||
THR_EXIT (88) | This message is sent to the thread or the application that
created the terminated thread; the following apply:
| ||||||||||||||||||||||||||||||||||||||||
WM_ALLICONIFY (36) | All windows of the application should be collected up in one
iconified window
| ||||||||||||||||||||||||||||||||||||||||
WM_ARROWED (24) | This message is sent to an application to tell it that one of
its slider widgets (arrow or scroll bar) was clicked on; the following
apply:
As of XaAES v0.960 there is an extension of this message, since it has new drivers for a wheeled mouse:
But there is also the possibility of obtaining with WF_WHEEL real messages about mouse-wheel
If WINX is installed one can get an extended WM_ARROWED message:
One should proceed as follows: If [5] >=0, then we are dealing with a normal scroll message If [5] < 0, then one negates the value and obtains the factor for [4] If [7] < 0, then one negates the value and obtains the factor for [6] Otherwise [6] will be ignored Example: If one receives [WM_ARROWED 1 0 win WA_DNLINE -2 WA_RTLINE -1] for instance, then one should scroll two lines downwards and one column to the right | ||||||||||||||||||||||||||||||||||||||||
WM_BACKDROPPED (31) |
The application receives this message when operating the backdrop button of the window. This message is present only in KAOS 1.4.2 as well as MagiC 1 and 2; since MagiC Version 3, WM_BOTTOMED is sent. | ||||||||||||||||||||||||||||||||||||||||
WM_BOTTOMED (33) | This is used by the screen-manager to request that the application
should place a window in the background. In some TOS versions this
is triggered by [Shift]-clicking on the window's mover bar; with MagiC
(as of version 3) there is an extra widget for this (3rd from the right at
the top).
Note: The window can then be simply placed by the application in the background with wind_set (msg[3], WF_BOTTOM, 0, 0 ,0, 0). Under MagiC 2.0 this message is still called WM_M_BDROPPED. | ||||||||||||||||||||||||||||||||||||||||
WM_CLOSED (22) | This message is sent when the user clicks on a window's
'Closer' widget (top left corner), signalling that the topped window
should be closed
| ||||||||||||||||||||||||||||||||||||||||
WM_FULLED (23) | This message is sent when the user clicks on the top window's
'Fuller' widget (top right corner)
| ||||||||||||||||||||||||||||||||||||||||
WM_HSLID (25) | This message is sent when the horizontal slider of the scroll bar has been
moved
| ||||||||||||||||||||||||||||||||||||||||
WM_ICONIFY (34) | This message is sent when the user clicks on the 'Iconify'
widget of a window (top, second rom the right), signifying that a
window of the application is to be iconified
| ||||||||||||||||||||||||||||||||||||||||
WM_M_BDROPPED (100) | This is used by the screen-manager to request that the application
should place a window in the background (say when the 'Backdrop' button
is activated). As of MagiC 3 this opcode is no longer sent, but
WM_BOTTOMED is used instead.
| ||||||||||||||||||||||||||||||||||||||||
WM_MOVED (28) | This message is sent when the user moves the whole window by
dragging a window's title-bar
| ||||||||||||||||||||||||||||||||||||||||
WM_NEWTOP (29) | This message is sent when a window has been topped (brought to
the front)
| ||||||||||||||||||||||||||||||||||||||||
WM_ONTOP (31) | This message is sent when a window (after closing or
deactivating another window) becomes the top (current or active) one
Note: By the time the message arrives the window stack may have already changed again; the message is sent only when the application has not itself issued a call to place the window in the foreground Messages of this type are coalesced in the AES message buffer. It follows from this that at all times the last message of this type will be received; thus there cannot be several of these messages in the buffer. | ||||||||||||||||||||||||||||||||||||||||
WM_REDRAW (20) | This message warns an application that a part of the window
area must be redrawn
| ||||||||||||||||||||||||||||||||||||||||
WM_SHADED (22360) | This message is sent when a window has been 'shaded' (by
double-clicking its title-bar so that only the title-bar remains visible
| ||||||||||||||||||||||||||||||||||||||||
WM_SIZED (27) | This message occurs when the user alters the window's size (by
dragging the window's 'Sizer' widget at the bottom right corner)
| ||||||||||||||||||||||||||||||||||||||||
WM_TOOLBAR (37) | This message is sent when a toolbar object is clicked on; the
following apply:
Note: All objects of the toolbox should have the TOUCHEXIT flag set. This does not apply for XaAES, for which there is an additional value:
| ||||||||||||||||||||||||||||||||||||||||
WM_TOPPED (21) | This message is sent when an application window which is not
currently topped is clicked on by the user to move it to the top (made
active)
| ||||||||||||||||||||||||||||||||||||||||
WM_UNICONIFY (35) | This message is sent when the user double-clicks one or more
iconified windows of an application to uniconify it/them; if several
windows are affected (WM_ALLICONIFY) then it is up to the application
alone to process this, as the AES does not make available any
information about the windows in question, including their positions
or dimensions
| ||||||||||||||||||||||||||||||||||||||||
WM_UNSHADED (22361) | This message is sent when a window has been 'unshaded' (by
again double-clicking its title-line) to make the whole window visible
| ||||||||||||||||||||||||||||||||||||||||
WM_UNTOPPED (30) | This message is sent when the current window has been sent
behind one or more windows due to another window becoming the active
one
Note: By the time the message arrives the window stack may have already changed again; the message is sent only when the application has not itself issued a call to place the window in the background | ||||||||||||||||||||||||||||||||||||||||
WM_VSLID (26) | This message indicates that the vertical slider of the scroll bar has
been moved
|
Support of the newer message types can be inquired with appl_getinfo (opcode 12). Incidentally, for user-defined messages Digital Research has suggested message numbers beyond 1024.
About the size of the message buffer:
An individual application should not use more than 16 windows under MagiC 2.0, as otherwise the message buffer of the system can overflow and possibly redraws can no longer be performed.
See also: evnt_multi evnt_mesag AV protocol OLGA protocol Drag&Drop
Hex | Dec | Name | Present in |
$000a | 10 | MN_SELECTED | |
$0014 | 20 | WM_REDRAW | |
$0015 | 21 | WM_TOPPED | |
$0016 | 22 | WM_CLOSED | |
$0017 | 23 | WM_FULLED | |
$0018 | 24 | WM_ARROWED | |
$0019 | 25 | WM_HSLID | |
$001a | 26 | WM_VSLID | |
$001b | 27 | WM_SIZED | |
$001c | 28 | WM_MOVED | |
$001d | 29 | WM_NEWTOP | |
$001e | 30 | WM_UNTOPPED | |
$001f | 31 | WM_ONTOP | |
$001f | 31 | WM_BACKDROPPED | KAOS 1.4.2 |
$0020 | 32 | WM_OFFTOP | MultiGEM |
$0021 | 33 | WM_BOTTOMED | |
$0022 | 34 | WM_ICONIFY | |
$0023 | 35 | WM_UNICONIFY | |
$0024 | 36 | WM_ALLICONIFY | |
$0025 | 37 | WM_TOOLBAR | |
$0026 | 38 | WM_REPOSED | XaAES |
$0028 | 40 | AC_OPEN | |
$0029 | 41 | AC_CLOSE | |
$002b | 43 | WM_ISTOP | MultiGEM |
$0032 | 50 | AP_TERM | |
$0032 | 50 | CT_UPDATE | DR |
$0033 | 51 | AP_TFAIL | |
$0033 | 51 | CT_MOVE | DR |
$0034 | 52 | CT_NEWTOP | DR |
$0034 | 52 | AP_AESTERM | N.AES |
$0035 | 53 | CT_KEY | XControl |
$0039 | 57 | AP_RESCHG | |
$003c | 60 | SHUT_COMPLETED | |
$003d | 61 | RESCH_COMPLETED | |
$003f | 63 | AP_DRAGDROP | |
$0046 | 70 | TDI_Question | TDI-Modula |
$0047 | 71 | TDI_Answer | TDI-Modula |
$0048 | 72 | SH_WDRAW | |
$0050 | 80 | SC_CHANGED | |
$0052 | 82 | PRN_CHANGED | NVDI |
$0053 | 83 | FNT_CHANGED | NVDI |
$0054 | 84 | COLORS_CHANGED | NVDI |
$0058 | 88 | THR_EXIT | |
$0059 | 89 | PA_EXIT | MagiC 3 |
$005a | 90 | CH_EXIT | |
$0064 | 100 | WM_M_BDROPPED | MagiC |
$0064 | 100 | Druckauftrag | CALCLOCK, from DR |
$0065 | 101 | SM_M_SPECIAL | MagiC |
$0065 | 101 | Druckauftrag emfpangen | CALCLOCK, from DR |
$0066..$006d | 102..109 | SM_M_RES | MagiC (intern) |
$006e..$00c7 | 110..199 | reserviert | Screen-Manager |
$00c8 | 200 | PRT_MSG | Output |
$00c9 | 201 | STRT_MSG | Output |
$00ca | 202 | QUIT_MSG | Output |
$00cb..$0158 | 203..344 | reserviert | Screen-Manager |
$0159 | 345 | WM_WHEEL | XaAES |
$015a..$03e7 | 346..999 | reserviert | Screen-Manager |
$03e8 | 1000 | SCRAP_OK | Scrap |
$03e9 | 1001 | SCRAP_NOTOK | Scrap |
$03ea | 1002 | SCRAP_UPDT | Scrap |
$03eb | 1003 | SCRAP_OPEN | Scrap |
$03ec..$03ff | 1004..1023 | reserviert | Screen-Manager |
$03fd | 1021 | SHOW | MultiGEM2 |
$03ff | 1023 | HIDE | MultiGEM2 |
$0400 | 1024 | ACC_ID | XAcc Protocol |
$0401 | 1025 | ACC_OPEN | XAcc Protocol |
$0402 | 1026 | ACC_CLOSE | XAcc Protocol |
$0403 | 1027 | ACC_ACC | XAcc Protocol |
$0404 | 1028 | ACC_EXIT | XAcc Protocol |
$0438 | 1080 | MYOSD_DISPLAY | MyOSD |
$0439 | 1081 | MYOSD_OK | MyOSD |
$043A | 1082 | MYOSD_NOK | MyOSD |
$0480 | 1152 | ACC_REQUEST | XAcc Protocol |
$0481 | 1153 | ACC_REPLY | XAcc Protocol |
$0500 | 1280 | ACC_ACK | XAcc Protocol |
$0501 | 1281 | ACC_TEXT | XAcc Protocol |
$0502 | 1282 | ACC_KEY | XAcc Protocol |
$0503 | 1283 | ACC_META | XAcc Protocol |
$0504 | 1284 | ACC_IMG | XAcc Protocol |
$0510 | 1296 | ACC_GETDSI | XAcc Protocol |
$0511 | 1297 | ACC_DSINFO | XAcc Protocol |
$0512 | 1298 | ACC_FILEINFO | XAcc Protocol |
$0513 | 1299 | ACC_GETFIELDS | XAcc Protocol |
$0514 | 1300 | ACC_FIELDINFO | XAcc Protocol |
$0520 | 1312 | ACC_FORCESDF | XAcc Protocol |
$0521 | 1313 | ACC_GETSDF | XAcc Protocol |
$0401 | 1025 | AC_HELP | PureC-Help Protocol |
$0402 | 1026 | AC_REPLY | PureC-Help Protocol |
$0403 | 1027 | AC_VERSION | PureC-Help Protocol |
$0404 | 1028 | AC_COPY | PureC-Help Protocol |
$0708..$0710 | 1800..1808 | interne Kommunikation | Hänisch Modula-2 |
$07d0 | 2000 | MSG_IDENTIFY | STalker |
$07d1 | 2001 | MSG_SLEEP | STalker |
$07d2 | 2002 | MSG_WAKE | STalker |
$07d3 | 2003 | MSG_DISPLAY | STalker |
$07d4 | 2004 | MSG_INFO | STalker |
$07d5 | 2005 | MSG_CONFIG | STalker |
$07d6 | 2006 | MSG_BUFFER | STalker |
$07d7 | 2007 | MSG_RESOURCE | STalker |
$07d8 | 2008 | MSG_SENDSTRING | STalker |
$07d9 | 2009 | MSG_KEYSTROKE | STalker |
$07da | 2010 | MSG_EXECUTE_SCRIPT | STalker |
$07db | 2011 | MSG_ENABLE | STalker |
$07db | 2011 | INST_CURSOR | HFB-Hausfinanzbuchhaltung |
$07dc | 2012 | CHANGE_MENU | HFB-Hausfinanzbuchhaltung |
$07dd | 2013 | PUT_VORGABE_DO2 | HFB-Hausfinanzbuchhaltung |
$07de | 2014 | PUT_VORGABE_EIGENT | HFB-Hausfinanzbuchhaltung |
$07df | 2015 | PUT_DATA_IN_BOX | HFB-Hausfinanzbuchhaltung |
$07e0 | 2016 | MY_WM_ONTOP | HFB-Hausfinanzbuchhaltung |
$0930 | 2352 | WM_MOUSEWHEEL | |
$0935 | 2357 | WIND_DATA | |
$0936 | 2358 | DO_WPOPUP | DirUp |
$0991 | 2449 | Holger Weets | |
$0994 | 2452 | ICON_MSG | ASH-EMailer |
$0995 | 2453 | RSDAEMON_MSG | PPP-Connect |
$0996 | 2454 | DD_STRING | |
$0997 | 2455 | WISEL_MSG | |
$0998 | 2456 | MSG_NOEVENT | |
$0999 | 2457 | WINCOM_MSG | |
$0a2b | 2603 | TOPW_OPENED | Manager |
$0a91 | 2705 | FILE_UPDATED | Manager |
$0c94 | 3220 | ASK_ALTA_LISTA | Alta Lista |
$0c95..$0c9d | 3221..3229 | reserviert | Alta Lista |
$0c9e | 3230 | AL_Reply | Alta Lista |
$0cf1 | 3313 | TWSTART | TosWin2, tw-call |
$0cf2 | 3314 | TWOK | TosWin2, tw-call |
$0cf3 | 3315 | TWWRITE | TosWin2, tw-call |
$0cf4 | 3316 | TWREAD | TosWin2, tw-call |
$0cf5 | 3317 | TWERR | TosWin2, tw-call |
$0cf6 | 3318 | TWTOP | TosWin2, tw-call |
$0cf7 | 3319 | TWSHELL | TosWin2, tw-call |
$0fa0 | 4000 | PENGUIN_Version | HomePage Penguin |
$0fa1 | 4001 | PENGUIN_Reply | HomePage Penguin |
$0fa2..$0faf | 4002..4015 | reserviert | HomePage Penguin |
$1000 | 4096 | WM_SAVE | Menü Protocol |
$1001 | 4097 | WM_SAVEAS | Menü Protocol |
$1002 | 4098 | WM_PRINT | Menü Protocol |
$1003 | 4099 | WM_UNDO | Menü Protocol |
$1004 | 4100 | WM_CUT | Menü Protocol |
$1005 | 4101 | WM_COPY | Menü Protocol |
$1006 | 4102 | WM_PASTE | Menü Protocol |
$1007 | 4103 | WM_SELECTALL | Menü Protocol |
$1008 | 4104 | WM_FIND | Menü Protocol |
$1009 | 4105 | WM_REPLACE | Menü Protocol |
$100a | 4106 | WM_FINDNEXT | Menü Protocol |
$100b | 4107 | WM_HELP | Menü Protocol |
$100c | 4108 | WM_DELETE | Menü Protocol |
$1065 | 4197 | IDC_FROM_ACC | IDC |
$10a5 | 4261 | IDC_WAKE_UP | IDC |
$10e5 | 4325 | IDC_FROM_APP | IDC |
$1150 | 4432 | JINNEE_MSG | |
$1235 | 4661 | GO_PRIVATE | ObjectGEM |
$1236 | 4662 | OLGA_INIT | OLGA-Protocol |
$1238 | 4664 | OLGA_UPDATE | OLGA-Protocol |
$1239 | 4665 | OLGA_ACK | OLGA-Protocol |
$123a | 4666 | OLGA_RENAME | OLGA-Protocol |
$123b | 4667 | OLGA_OPENDOC | OLGA-Protocol |
$123c | 4668 | OLGA_CLOSEDOC | OLGA-Protocol |
$123d | 4669 | OLGA_LINK | OLGA-Protocol |
$123e | 4670 | OLGA_UNLINK | OLGA-Protocol |
$123f | 4671 | OLGA_UPDATED | OLGA-Protocol |
$1240 | 4672 | OLGA_RENAMELINK | OLGA-Protocol |
$1241 | 4673 | OLGA_LINKRENAMED | OLGA-Protocol |
$1242 | 4674 | OLGA_GETOBJECTS | OLGA-Protocol |
$1243 | 4675 | OLGA_OBJECTS | OLGA-Protocol |
$1244 | 4676 | OLGA_BREAKLINK | OLGA-Protocol |
$1245 | 4677 | OLGA_LINKBROKEN | OLGA-Protocol |
$1246 | 4678 | OLGA_START | OLGA-Protocol |
$1247 | 4679 | OLGA_GETINFO | OLGA-Protocol |
$1248 | 4680 | OLGA_INFO | OLGA-Protocol |
$1249 | 4681 | OLGA_IDLE | OLGA-Protocol |
$124a | 4682 | OLGA_ACTIVATE | OLGA-Protocol |
$124b | 4683 | OLGA_EMBED | OLGA-Protocol |
$124c | 4684 | OLGA_EMBEDDED | OLGA-Protocol |
$124d | 4685 | OLGA_UNEMBED | OLGA-Protocol |
$124e | 4686 | OLGA_GETSETTINGS | OLGA-Protocol |
$124f | 4687 | OLGA_SETTINGS | OLGA-Protocol |
$1250 | 4688 | OLGA_REQUESTNOTIFICATION | OLGA-Protocol |
$1251 | 4689 | OLGA_RELEASENOTIFICATION | OLGA-Protocol |
$1252 | 4690 | OLGA_NOTIFY | OLGA-Protocol |
$1253 | 4691 | OLGA_NOTIFIED | OLGA-Protocol |
$1254 | 4692 | OLGA_SERVERTERMINATED | OLGA-Protocol |
$1255 | 4693 | OLGA_CLIENTTERMINATED | OLGA-Protocol |
$1256 | 4694 | OLGA_INPLACEUPDATE | OLGA-Protocol |
$1257 | 4695 | OLGA_ID4UPDATE | OLGA-Protocol |
$1258 | 4696 | OLGA_GETEXTENSION | OLGA-Protocol |
$1259 | 4697 | OLGA_EXTENSION | OLGA-Protocol |
$125a | 4698 | OLGA_GETSERVERPATH | OLGA-Protocol |
$125b | 4699 | OLGA_SERVERPATH | OLGA-Protocol |
$125c | 4700 | OLGA_IE_BUTTON | OLGA-Protocol |
$125d | 4701 | OLGA_IE_KEY | OLGA-Protocol |
$125e..$126f | 4702..4719 | reserviert | OLGA-Protocol |
$126f | 4719 | SSP_SRASR | System Services Protocol |
$1270 | 4720 | SSP_SSIR | System Services Protocol |
$1271 | 4721 | SSP_SPASI | System Services Protocol |
$1272 | 4722 | SSP_SSUR | System Services Protocol |
$1273 | 4723 | SSP_SPASA | System Services Protocol |
$1274 | 4724 | SSP_SSA | System Services Protocol |
$1275..$128d | 4725..4738 | reserved | System Services Protocol |
$1350 | 4944 | GS_REQUEST | GEMScript Protocol |
$1351 | 4945 | GS_REPLY | GEMScript Protocol |
$1352 | 4946 | GS_COMMAND | GEMScript Protocol |
$1353 | 4947 | GS_ACK | GEMScript Protocol |
$1354 | 4948 | GS_QUIT | GEMScript Protocol |
$1355 | 4949 | GS_OPENMACRO | GEMScript Protocol |
$1356 | 4950 | GS_MACRO | GEMScript Protocol |
$1357 | 4951 | GS_WRITE | GEMScript Protocol |
$1358 | 4952 | GS_CLOSEMACRO | GEMScript Protocol |
$1770 | 6000 | _ASSIGN | MIDI_COM |
$1771 | 6001 | _GOOD_BYE | MIDI_COM |
$1772 | 6002 | _SEND_DATA | MIDI_COM |
$1773 | 6003 | _PRINT | MIDI_COM |
$1774 | 6004 | _WAIT_TOKEN | MIDI_COM |
$1775 | 6005 | _FREE_TOKEN | MIDI_COM |
$1777 | 6007 | _UNITIME | MIDI_COM |
$1778 | 6008 | _STOP_RING | MIDI_COM |
$1779 | 6009 | _GET_VERW | MIDI_COM |
$178e | 6030 | _PRKONF | MIDI_COM |
$1795 | 6037 | _SHUTDOWN | MIDI_COM |
$1796 | 6038 | _VERSION | MIDI_COM |
$1970 | 6512 | RS_INITIATE | Relationships |
$1971 | 6513 | RS_TERMINATE | Relationships |
$1972 | 6514 | RS_ACK | Relationships |
$1973 | 6515 | RS_HELLO | Relationships |
$1974 | 6516 | RS_BYE | Relationships |
$1975 | 6517 | RS_LINK | Relationships |
$1976 | 6518 | RS_UNLINK | Relationships |
$1977 | 6519 | RS_DATA | Relationships |
$1978 | 6520 | RS_OPEN | Relationships |
$1a00 | 6656 | 1ADDR_INIT | 1st Address |
$1a01 | 6657 | 1ADDR_SEARCH | 1st Address |
$1a02 | 6658 | 1ADDR_INPUT | 1st Address |
$1a03 | 6659 | 1ADDR_SORT | 1st Address |
$1a04 | 6660 | 1ADDR_ALL | 1st Address |
$1a05 | 6661 | 1ADDR_REPLACE | 1st Address |
$1a06 | 6662 | 1ADDR_DELETE | 1st Address |
$1a80 | 6784 | 1ADDR_ANSW_INIT | 1st Address |
$1a81 | 6785 | 1ADDR_ANSW_SEARCH | 1st Address |
$1a82 | 6786 | 1ADDR_ANSW_INPUT | 1st Address |
$1a83 | 6787 | 1ADDR_ANSW_SORT | 1st Address |
$1a84 | 6788 | 1ADDR_ANSW_ALL | 1st Address |
$1a85 | 6789 | 1ADDR_ANSW_REPLACE | 1st Address |
$1a86 | 6790 | 1ADDR_ANSW_DELETE | 1st Address |
$1aff | 6911 | 1ADDR_QUIT | 1st Address |
$1f40 | 8000 | GM_SHOW_FILE | GREPIT |
$1f41 | 8001 | GM_OPEN_DIALOG | GREPIT |
$1f42 | 8002 | GM_OPEN_PRGINFO | GREPIT |
$2f10 | 12048 | KOBOLD_JOB | Kobold Protocol |
$2f11 | 12049 | KOBOLD_JOB_NO_WINDOW | Kobold Protocol |
$2f12 | 12050 | KOBOLD_ANSWER | Kobold Protocol |
$2f13 | 12051 | KOBOLD_CONFIG | Kobold Protocol |
$2f14 | 12052 | KOBOLD_FIRST_SLCT | Kobold Protocol |
$2f15 | 12053 | KOBOLD_NEXT_SLCT | Kobold Protocol |
$2f16 | 12054 | KOBOLD_CLOSE | Kobold Protocol |
$2f17 | 12055 | KOBOLD_FREE_DRIVES | Kobold Protocol |
$3d00..$3d7f | 15616..15743 | CAD-3D_Request_xxx | CAD-3D |
$3d80..$3dff | 15744..15871 | CAD-3D_Reply_xxx | CAD-3D |
$414B | 16715 | 'AK' | MG-Copy -> MagxDesk |
$4150 | 16720 | Aniplayer | |
$4200 | 16896 | SE_INIT | SE-Protocol |
$4201 | 16897 | SE_OK | SE-Protocol |
$4202 | 16898 | SE_ACK | SE-Protocol |
$4203 | 16899 | SE_OPEN | SE-Protocol |
$4204 | 16900 | SE_ERROR | SE-Protocol |
$4205 | 16901 | SE_ERRFILE | SE-Protocol |
$4206 | 16902 | SE_PROJECT | SE-Protocol |
$4207 | 16903 | SE_QUIT | SE-Protocol |
$4208 | 16904 | SE_TERMINATE | SE-Protocol |
$4209 | 16905 | SE_CLOSE | SE-Protocol |
$4240 | 16960 | ES_INIT | SE-Protocol |
$4241 | 16961 | ES_OK | SE-Protocol |
$4242 | 16962 | ES_ACK | SE-Protocol |
$4243 | 16963 | ES_COMPILE | SE-Protocol |
$4244 | 16964 | ES_MAKE | SE-Protocol |
$4245 | 16965 | ES_MAKEALL | SE-Protocol |
$4246 | 16966 | ES_LINK | SE-Protocol |
$4247 | 16967 | ES_EXEC | SE-Protocol |
$4248 | 16968 | ES_MAKEEXEC | SE-Protocol |
$4249 | 16969 | ES_PROJECT | SE-Protocol |
$424a | 16970 | ES_QUIT | SE-Protocol |
$424b | 16971 | ES_SHLCTRL | SE-Protocol |
$4400 | 17408 | WM_DESTROY | WinDom |
$4401 | 17409 | WM_MNSELECTED | WinDom |
$4402 | 17410 | WM_FORM | WinDom |
$4403 | 17411 | AP_LOADCONF | WinDom |
$4404 | 17412 | AP_BUTTON | WinDom |
$4405 | 17413 | AP_KEYBD | WinDom |
$4410 | 17424 | AP_DEBUG | WinDom |
$4411 | 17425 | WM_UPLINE | WinDom |
$4412 | 17426 | WM_DNLINE | WinDom |
$4413 | 17427 | WM_LFLINE | WinDom |
$4414 | 17428 | WM_RTLINE | WinDom |
$4415 | 17429 | WM_UPPAGE | WinDom |
$4416 | 17430 | WM_DNPAGE | WinDom |
$4417 | 17431 | WM_LFPAGE | WinDom |
$4418 | 17432 | WM_RTPAGE | WinDom |
$4419 | 17433 | WM_PREREDRAW | WinDom |
$4511 | 17681 | eb_dump_capture_fullscreen | EB DUMP |
$4512 | 17682 | eb_dump_capture_window | EB DUMP |
$4513 | 17683 | eb_dump_capture_mouse | EB DUMP |
$4514 | 17684 | eb_dump_disable_selector | EB DUMP |
$4515 | 17685 | eb_dump_enable_selector | EB DUMP |
$4516 | 17686 | eb_dump_disable_windframe | EB DUMP |
$4517 | 17687 | eb_dump_enable_windframe | EB DUMP |
$4560 | 17760 | FILE_SELECTED | Freedom |
$4564 | 17764 | AF_DOALERT | Freedom Protocol |
$4565 | 17765 | FA_ALERTISOPEN | Freedom Protocol |
$4566 | 17766 | FA_ALERTDONE | Freedom Protocol |
$4567 | 17767 | AF_DOFSELECT | Freedom Protocol |
$4568 | 17768 | FA_FSELISOPEN | Freedom Protocol |
$4569 | 17769 | FA_FSELCLOSED | Freedom Protocol |
$4570 | 17776 | AF_CLOSEACK | Freedom Protocol |
$4571 | 17777 | AF_SENDREDRAW | Freedom Protocol |
$4600 | 17920 | BA_BUBBLE_REQUEST | Trouble Bubble |
$4601 | 17921 | AB_OPEN_BUBBLE | Trouble Bubble |
$4602 | 17922 | BA_BUBBLE_OPENED | Trouble Bubble |
$4603 | 17923 | AB_CLOSE_BUBBLE | Trouble Bubble |
$4604 | 17924 | BA_BUBBLE_CLOSED | Trouble Bubble |
$46ff | 18175 | THING_CMD | Thing |
$4700 | 18176 | AV_PROTOKOLL | AV Protocol |
$4701 | 18177 | VA_PROTOSTATUS | AV Protocol |
$4703 | 18179 | AV_GETSTATUS | AV Protocol |
$4704 | 18180 | AV_STATUS | AV Protocol |
$4705 | 18181 | VA_SETSTATUS | AV Protocol |
$4709 | 18185 | AV_SENDCLICK | AV Protocol |
$4710 | 18192 | AV_SENDKEY | AV Protocol |
$4711 | 18193 | VA_START | AV Protocol |
$4712 | 18194 | AV_ASKFILEFONT | AV Protocol |
$4713 | 18195 | VA_FILEFONT | AV Protocol |
$4714 | 18196 | AV_ASKCONFONT | AV Protocol |
$4715 | 18197 | VA_CONFONT | AV Protocol |
$4716 | 18198 | AV_ASKOBJECT | AV Protocol |
$4717 | 18199 | VA_OBJECT | AV Protocol |
$4718 | 18200 | AV_OPENCONSOLE | AV Protocol |
$4719 | 18201 | VA_CONSOLEOPEN | AV Protocol |
$4720 | 18208 | AV_OPENWIND | AV Protocol |
$4721 | 18209 | VA_WINDOPEN | AV Protocol |
$4722 | 18210 | AV_STARTPROG | AV Protocol |
$4723 | 18211 | VA_PROGSTART | AV Protocol |
$4724 | 18212 | AV_ACCWINDOPEN | AV Protocol |
$4725 | 18213 | VA_DRAGACCWIND | AV Protocol |
$4726 | 18214 | AV_ACCWINDCLOSED | AV Protocol |
$4728 | 18216 | AV_COPY_DRAGGED | AV Protocol |
$4729 | 18217 | VA_COPY_COMPLETE | AV Protocol |
$4730 | 18224 | AV_PATH_UPDATE | AV Protocol |
$4732 | 18226 | AV_WHAT_IZIT | AV Protocol |
$4733 | 18227 | VA_THAT_IZIT | AV Protocol |
$4734 | 18228 | AV_DRAG_ON_WINDOW | AV Protocol |
$4735 | 18229 | VA_DRAG_COMPLETE | AV Protocol |
$4736 | 18230 | AV_EXIT | AV Protocol |
$4738 | 18232 | AV_STARTED | AV Protocol |
$4739 | 18233 | VA_FONTCHANGED | AV Protocol |
$4740 | 18240 | AV_XWIND | AV Protocol |
$4741 | 18241 | VA_XOPEN | AV Protocol |
$4742 | 18242 | GB | GFA-Basic Editor |
$4751 | 18257 | AV_VIEW | AV Protocol |
$4752 | 18258 | VA_VIEWED | AV Protocol |
$4753 | 18259 | AV_FILEINFO | AV Protocol |
$4754 | 18260 | VA_FILECHANGED | AV Protocol |
$4755 | 18261 | AV_COPYFILE | AV Protocol |
$4756 | 18262 | VA_FILECOPIED | AV Protocol |
$4757 | 18263 | AV_DELFILE | AV Protocol |
$4758 | 18264 | VA_FILEDELETED | AV Protocol |
$4759 | 18265 | AV_SETWINDPOS | AV Protocol |
$475a | 18266 | GZ_PRIVATE | GSZRZ Z-Modem |
$4760 | 18272 | VA_PATH_UPDATE | AV Protocol |
$4790..$4799 | 18320..18329 | Mafia 2 | |
$4798 | 18328 | VA_SERVER_INFO | AV-Server |
$4799 | 18329 | AV_SERVER_INFO | AV-Server |
$4800 | 18432 | MP_ACK | Paula Protocol |
$4801 | 18433 | MP_NAK | Paula Protocol |
$4802 | 18434 | MP_START | Paula Protocol |
$4803 | 18435 | MP_STOP | Paula Protocol |
$4804 | 18436 | MP_SHUTDOWN | Paula Protocol |
$4888 | 18568 | SEND_TRACE | Tracer |
$4889 | 18569 | ANSWER_TRACE | Tracer |
$494D | 18765 | IM_COM | Imagine graphic driver IM_COL.ACC |
$4950 | 18768 | OLE_INIT | OLE Protocol |
$4950 | 18768 | IP_DIAL_REQUEST | Qdialer |
$4951 | 18769 | OLE_EXIT | OLE Protocol |
$4951 | 18769 | IP_DIAL_HANGUP | Qdialer |
$4952 | 18770 | OLE_NEW | OLE Protocol |
$4952 | 18770 | IP_DIAL_DONE | Qdialer |
$4953 | 18771 | IP_DIAL_ERROR | Qdialer |
$4954 | 18772 | IP_HANGUP_DONE | Qdialer |
$4955 | 18773 | IP_STATUS_GET | Qdialer |
$4b48 | 19272 | DA_KNOWHOW | |
$4c01 | 19457 | AT_PERGAMON | PEGASUS, SCHECKS, EVER, TARKUS |
$4c4a | 19530 | LDG_QUIT | LDG |
$4c4d | 19533 | LDG_LOST_LIB | LDG |
$4d00 | 19712 | MOD_OK | Tetrax |
$4d01 | 19713 | MOD_NAK | Tetrax |
$4d02 | 19714 | MOD_PLAY | Tetrax |
$4d03 | 19715 | MOD_STOP | Tetrax |
$4d04 | 19716 | MOD_LOAD | Tetrax |
$4d05 | 19717 | MOD_CLEAR | Tetrax |
$4d50 | 19762 | M_PLAYER | |
$4e20 | 20000 | VTX_GET_BIN_PAGE | Videotext Protocol |
$4e21 | 20001 | VTX_GET_ASCII_PAGE | Videotext Protocol |
$4e52 | 20050 | VTX_FOUND | Videotext Protocol |
$4e53 | 20051 | VTX_NOTFOUND | Videotext Protocol |
$4e54 | 20052 | VTX_PROCESSKILLED | Videotext Protocol |
$4e55 | 20053 | VTX_TERM | Videotext Protocol |
$4f4d | 20301 | M_ASKVAR | Interface |
$4f4e | 20302 | M_SENDVAR | Interface |
$5000 | 20480 | PDF_AV_OPEN_FILE | MyPDF |
$5001 | 20481 | PDF_AV_CLOSE_FILE | MyPDF |
$5002 | 20482 | PDF_AV_PRINT_FILE | MyPDF |
$5003 | 20483 | PDF_AV_FIND_WORD | MyPDF |
$5004 | 20484 | PDF_AV_SHOW_INFO | MyPDF |
$5005 | 20485 | PDF_AV_GET_INFO | MyPDF |
$5010 | 20496 | MYTASK_START | MyTask |
$5011 | 20497 | MYTASK_NEW_COLOR | MyTask |
$5012 | 20498 | MYTASK_NEW_ICON | MyTask |
$5013 | 20499 | MYTASK_DELETE_ICON | MyTask |
$5014 | 20500 | MYTASK_ICON_CLICK | MyTask |
$5015 | 20501 | MYTASK_BUTTON | MyTask |
$5016 | 20502 | MYTASK_NEW_WINDOW | MyTask |
$5017 | 20503 | MYTASK_NAME | MyTask |
$5018 | 20504 | MYTASK_GET_SIZE | MyTask |
$5019 | 20505 | MYTASK_BUBBLE_CHANGE | MyTask |
$501a | 20506 | MYTASK_ICON_ERROR | MyTask |
$501b | 20507 | MYTASK_CHANGED_OPTIONS | MyTask |
$501c | 20508 | MYTASK_SEND_OPTIONS | MyTask |
$5208 | 21000 | OEP_OK | Object Exchange Protocol (OEP) |
$5209 | 21001 | OEP_CONFIG | Object Exchange Protocol (OEP) |
$520a | 21002 | OEP_INFO | Object Exchange Protocol (OEP) |
$520b | 21003 | OEP_LINK | Object Exchange Protocol (OEP) |
$520c | 21004 | OEP_RES | Object Exchange Protocol (OEP) |
$520d | 21005 | OEP_UPDATE | Object Exchange Protocol (OEP) |
$520e | 21006 | OEP_DATA | Object Exchange Protocol (OEP) |
$520f | 21007 | OEP_CHANGED | Object Exchange Protocol (OEP) |
$5210 | 21008 | OEP_SERVJOB | Object Exchange Protocol (OEP) |
$5211 | 21009 | OEP_TAKEOVER | Object Exchange Protocol (OEP) |
$5212 | 21010 | OEP_RES0 | Object Exchange Protocol (OEP) |
$5213 | 21011 | OEP_RES1 | Object Exchange Protocol (OEP) |
$5214 | 21012 | OEP_RES2 | Object Exchange Protocol (OEP) |
$5215 | 21013 | OEP_RES3 | Object Exchange Protocol (OEP) |
$5216 | 21014 | OEP_RES4 | Object Exchange Protocol (OEP) |
$5217 | 21015 | OEP_RES5 | Object Exchange Protocol (OEP) |
$5218 | 21016 | OEP_RES6 | Object Exchange Protocol (OEP) |
$5219 | 21017 | OEP_RES7 | Object Exchange Protocol (OEP) |
$521a | 21018 | OEP_RES8 | Object Exchange Protocol (OEP) |
$521b | 21019 | OEP_RES9 | Object Exchange Protocol (OEP) |
$5300 | 21248 | SRTY_SETUP | Security |
$5301 | 21249 | SRTY_GETDEVS | Security |
$5302 | 21250 | SRTY_DEVSTAT | Security |
$5343 | 21315 | SH_CHANGED | IFormats-CPXe |
$5346 | 21318 | STarFax | |
$5354 | 21332 | XaAESnap | |
$5600 | 22016 | VIEW_FILE | View Protocol |
$5601 | 22017 | VIEW_FAILED | View Protocol |
$5602 | 22018 | VIEW_OPEN | View Protocol |
$5603 | 22019 | VIEW_CLOSED | View Protocol |
$5604 | 22020 | VIEW_DATA | View Protocol |
$5610 | 22032 | VIEW_GETMFDB | View Protocol |
$5611 | 22033 | VIEW_SETMFDB | View Protocol |
$5612 | 22034 | VIEW_MFDB | View Protocol |
$5613..$56ff | 22035..22271 | reserved | View Protocol |
$5646 | 22086 | ViewFax | |
$5758 | 22360 | WM_SHADED | WINX |
$5759 | 22361 | WM_UNSHADED | WINX |
$6368 | 25448 | CHTW_MSG | Chatwin |
$6400 | 25600 | che_exist | CHEMCALC |
$6401 | 25601 | mes_ack | CHEMCALC |
$6403 | 25603 | set_modus | CHEMCALC |
$6411 | 25617 | app_exit | CHEMCALC |
$6414 | 25620 | get_menu_point | CHEMCALC |
$6415 | 25621 | send_menu_point | CHEMCALC |
$6420 | 25632 | request_file_ext | CHEMCALC |
$6421 | 25633 | send_file_ext | CHEMCALC |
$64ff | 25855 | error | CHEMCALC |
$6502 | 25858 | request_float | CHEMCALC |
$6503 | 25859 | send_float | CHEMCALC |
$6602 | 26114 | request_text | CHEMCALC |
$6603 | 26115 | send_text | CHEMCALC |
$6666 | 26214 | LOAD_FILE | Porthos |
$6667 | 26215 | READ_Header | Porthos |
$6668 | 26216 | READ_CATALOG | Porthos |
$6669 | 26217 | CHG_PAGE | Porthos |
$666a | 26218 | LOOK_PAGE | Porthos |
$666b | 26219 | SAVE_REG | Porthos |
$666c | 26220 | SEND_IMG | Porthos |
$666d | 26221 | WRK_NAVIG | Porthos |
$6702 | 26370 | decl_text | CHEMCALC |
$6704 | 26372 | send_decltext | CHEMCALC |
$6705 | 26373 | send_declfloat | CHEMCALC |
$7407 | 29703 | GEMJING_RETURN | GEMJing |
$78f1 | 30961 | WinChangeFont | TrueMagic |
$78f2..$7917 | 30962..30999 | TrueMagic | |
$7996 | 31126 | AES_Load | |
$7a00 | 31232 | OBJC_EDITED | EnhancedGEM |
$7a01 | 31233 | CURSOR_INIT | EnhancedGEM |
$7a02 | 31234 | OBJC_CHANGED | EnhancedGEM |
$7a03 | 31235 | OBJC_SIZED | EnhancedGEM |
$7a04 | 31236 | OBJC_DRAGGED | EnhancedGEM |
$7a05 | 31237 | MENU_INIT | EnhancedGEM |
$7a06 | 31238 | MOUSE_INIT | EnhancedGEM |
$7a08 | 31239 | POPUP_CHANGED | EnhancedGEM |
$7a08 | 31240 | SLIDER_CHANGED | EnhancedGEM |
$7a10 | 31248 | XACC_AV_INIT | EnhancedGEM |
$7a11 | 31249 | XACC_AV_EXIT | EnhancedGEM |
$7a12 | 31250 | XACC_AV_CLOSE | EnhancedGEM |
$7a13..$7a17 | 31251..31255 | EnhancedGEM | |
$7a18 | 31256 | FONT_CHANGED | Font Protocol |
$7a19 | 31257 | FONT_SELECT | Font Protocol |
$7a1a | 31258 | FONT_ACK | Font Protocol |
$7a1b | 31259 | XFONT_CHANGED | Font Protocol |
$7a1c..$7a1f | 31260..31263 | EnhancedGEM | |
$7a20 | 31264 | WIN_CHANGED | EnhancedGEM |
$7a21 | 31265 | WIN_SCROLLED | EnhancedGEM |
$7a22 | 31266 | WIN_TOPPED | EnhancedGEM |
$7a23 | 31267 | WIN_CLOSED | EnhancedGEM |
$7a24 | 31268 | WIN_VSLSIZE | EnhancedGEM |
$7a25 | 31269 | WIN_HSLSIZE | EnhancedGEM |
$7a26 | 31270 | WIN_NAME | EnhancedGEM |
$7a27 | 31271 | WIN_INFO | EnhancedGEM |
$7a28 | 31272 | WIN_HSLIDE | EnhancedGEM |
$7a29 | 31273 | WIN_VSLIDE | EnhancedGEM |
$7a2a | 31274 | WIN_SIZED | EnhancedGEM |
$7a2b | 31275 | WIN_NEWTOP | EnhancedGEM |
$7a2c..$7a4f | 31276..31311 | EnhancedGEM | |
$8000 | 32768 | CatMsg | CAT |
$8001 | 32769 | ExtCatMsg | CAT |
$8003 | 32771 | CatProtoMsg | CAT |
$9277 | 37495 | Suji, internally only | |
$9993 | 39315 | RC_ROTATE | Route It! / Circu It! |
$9995 | 39317 | RC_MOVE | Route It! / Circu It! |
$9996 | 39318 | RC_UNDO | Route It! / Circu It! |
$9997 | 39319 | CR_REDRAW | Route It! / Circu It! |
$9998 | 39320 | CR_PARA | Route It! / Circu It! |
$9999 | 39321 | RC_SENDPARA | Route It! / Circu It! |
$9a00 | 39424 | WR_REC | WinRec |
$9a01 | 39425 | WR_STOP | WinRec |
$9a02 | 39426 | WR_PLAY | WinRec |
$9a03 | 39427 | WR_TIME | WinRec |
$a081 | 41089 | QFax/Pro | |
$baba | 47802 | BUBBLEGEM_REQUEST | BubbleGEM |
$babb | 47803 | BUBBLEGEM_SHOW | BubbleGEM |
$babc | 47804 | BUBBLEGEM_ACK | BubbleGEM |
$babd | 47805 | BUBBLEGEM_ASKFONT | BubbleGEM |
$babe | 47806 | BUBBLEGEM_FONT | BubbleGEM |
$babf | 47807 | BUBBLEGEM_HIDE | BubbleGEM |
$c010 | 49168 | COLOR_ID | Color-Drag&Drop |
$c011 | 49169 | COLOR_RGB | Color-Drag&Drop |
$cab0 | 51888 | CAB_CHANGED | CAB Protocol |
$cab1 | 51889 | CAB_EXIT | CAB Protocol |
$cab2 | 51890 | CAB_PATH | CAB Protocol |
$cab3 | 51891 | CAB_VIEW | CAB Protocol |
$cab4 | 51892 | CAB_TERM | CAB Protocol |
$cab5 | 51893 | CAB_REQUESTSTATUS | CAB Protocol |
$cab6 | 51894 | CAB_RELEASESTATUS | CAB Protocol |
$cab7 | 51895 | CAB_STATUS | CAB Protocol |
$cab8 | 51896 | CAB_HELLO | CAB Protocol |
$cab9 | 51897 | CAB_MAIL | CAB Protocol |
$caba | 51898 | CAB_MAILSENT | CAB Protocol |
$cabb | 51899 | CAB_MAILSENT | CAB Protocol |
$cabc..$cabf | 51900..51903 | CAB Protocol | |
$cc00..$cc7f | 52224..52351 | CYBSMASH_Request_xxx | Cybersmash |
$cc80..$ccff | 52352..52479 | CYBSMASH_Reply_xxx | Cybersmash |
$cc60 | 52320 | MSG_CT60_TEMP | CT60-CPX |
$dadd | 56029 | DHST_ADD | Document History Protocol |
$dade | 56030 | DHST_ACK | Document History Protocol |
$de00..$de7f | 56832..56959 | DEGAS_Request_xxx | Degas |
$de80..$deff | 56960..57087 | DEGAS_Reply_xxx | Degas |
$e000 | 57344 | X_MN_SELECTED | Geneva |
$e100 | 57600 | X_WM_SELECTED | Geneva |
$e200 | 57856 | X_GET_HELP | Geneva |
$e400 | 58368 | X_WM_HSPLIT | Geneva |
$e600 | 58880 | X_WM_ARROWED2 | Geneva |
$e700 | 59136 | X_WM_HSLID2 | Geneva |
$e800 | 59392 | X_WM_VSLID2 | Geneva |
$e900 | 59648 | X_WM_OBJECT | Geneva |
$ea00 | 59904 | X_WM_VECKEY | Geneva Release 004 |
$ea01 | 59905 | X_WM_VECSW | Geneva Release 004 |
$ea02 | 59906 | X_WM_VECEVNT | Geneva Release 004 |
$ed00 | 60672 | ED_HELLO | STeno |
$ed01 | 60673 | ED_OPEN | STeno |
$ed02 | 60674 | ED_BYE | STeno |
$ed10 | 60688 | ED_LOADF | STeno |
$ed11 | 60676 | ED_NEW | STeno |
$ed12 | 60677 | ED_SAVEF | STeno |
$ed14 | 60692 | ED_CUT | STeno |
$ed15 | 60693 | ED_COPY | STeno |
$ed16 | 60694 | ED_PASTE | STeno |
$ed17 | 60695 | ED_DELETE | STeno |
$ed18 | 60696 | ED_FIND | STeno |
$ed19 | 60697 | ED_CHANGE | STeno |
$ed1a | 60698 | ED_PRINT | STeno |
$ed1d | 60701 | ED_LINE | STeno |
$ed1e | 60702 | ED_READ | STeno |
$ed1f | 60703 | ED_INQINF | STeno |
$ed30 | 60720 | ED_DCLICK | STeno |
$ed31 | 60721 | ED_SELECT | STeno |
$ed40 | 60736 | ED_MLOAD | STeno |
$ed41 | 60737 | ED_MNEW | STeno |
$ed42 | 60738 | ED_MSAVE | STeno |
$ed50 | 60752 | ED_CLOSE | STeno |
$ed51 | 60753 | ED_UNDOK | STeno |
$ed80 | 60800 | ED_REPLY (Answer to ED_HELLO) | STeno |
$ed9f | 60831 | Answer of ED_INQINF | STeno |
$f3d0 | 62416 | F3D_INIT | Focus 3D |
$f3d1 | 62417 | F3D_EXIT | Focus 3D |
$f3d2 | 62418 | F3D_REQUEST | Focus 3D |
$f3d3 | 62419 | F3D_RETURN | Focus 3D |
$f3d4..$f3df | 62420..62431 | reserviert | Focus 3D |
$f825 | 63525 | Answer of MSG_ENABLE | STalker |
-2011 | |||
$f826 | 63526 | Answer of MSG_EXECUTE_SCRIPT | STalker |
-2010 | |||
$f827 | 63527 | Answer of MSG_KEYSTROKE | STalker |
-2009 | |||
$f828 | 63528 | Answer of MSG_SENSTRING | STalker |
-2008 | |||
$f829 | 63529 | Answer of MSG_RESOURCE | STalker |
-2007 | |||
$f82a | 63530 | Answer of MSG_BUFFER | STalker |
-2006 | |||
$f82b | 63531 | Answer of MSG_CONFIG | STalker |
-2005 | |||
$f82c | 63532 | Answer of MSG_INFO | STalker |
-2004 | |||
$f82d | 63533 | Answer of MSG_DISPLAY | STalker |
-2003 | |||
$f82e | 63534 | Answer of MSG_WAKE | STalker |
-2002 | |||
$f82f | 63535 | Answer of MSG_SLEEP | STalker |
-2001 | |||
$f830 | 63536 | Answer of MSG_IDENTIFY | STalker |
-2000 | |||
$fe00 | 65034 | PRINTMON.APP (NVDI) | |
$fe01 | 65035 | PRINTMON.APP (NVDI) | |
$ff01 | 65281 | PRINTMON.APP (NVDI) | |
$fff0 | 65520 | XMESSAGE | XMSG - Message Server |
$fff1 | 65521 | XMSG_ASK | XMSG - Message Server |
$fff2 | 65522 | XMSG_OK | XMSG - Message Server |
The CAB protocol consists of a series of AES messages with whose aid any GEM programs can devolve certain tasks to CAB, or coordinate certain actions with CAB.
The contents of the environmental variable BROWSER= (if defined) holds CAB's access path. If CAB is not already in memory, then a program can launch CAB subsequently via this variable.
A possible application: If one offers further current information or updates for one's own programs on the internet, one could use the CAB protocol to provide access to this information from within these programs with little effort. CAB then takes care of the download of the data and its presentation.
Description of the messages
CAB_HELLO (0xCAB8) (message from CAB)
CAB transmits after its launch the following message to all
running programs:
msg[0] = 0xCAB8 msg[1] = Id von CAB msg[2] = 0 msg[3] = Version of the CAB protocol (0x0100 corresponds to V1.00) msg[4] = Bit-vector with the internet protocols supported by CAB (CAB.OVL): Bit 0: HTTP Bit 1: FTP Bit 2: GOPHER Bit 3: WAIS Bit 4: MAILTO Bit 5: NNTP Bit 6: TELNET Bit 7-15: 0 (reserved) msg[5] = Bit-vector with the CAB protocol messages supported by CAB: Bit 0: CAB_VIEW Bit 1: CAB_MAIL, CAB_MAILSENT Bit 2: CAB_REQUESTSTATUS, CAB_RELEASESTATUS, CAB_STATUS, CAB_EXIT Bit 3-15: 0 (reserved) msg[6] = 0 msg[7] = 0
CAB_SUPPORT (0xCABB) (message to CAB)
If this message is sent to CAB, then CAB sends back the message
CAB_HELLO. If CAB_HELLO is not returned, then an old version of CAB is
being used that does not yet support the CAB protocol. All programs
that are interested in the information that CAB_HELLO delivers should
send CAB_SUPPORT to CAB after their launch. If CAB is only launched
later, then CAB_HELLO is sent automatically to the program.
msg[0] = 0xCABB msg[1] = Id des PRGs msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_VIEW (0xCAB3) (message to CAB)
Similar to VA_START, but instead of a fielname a URL is passed.
CAB then displays this file.
msg[0] = 0xCAB3 msg[1] = ID of the PRG msg[2] = 0 msg[3] = \ Pointer to the URL msg[4] = / msg[5] = If a 1 was entered here CAB displays the URL in a new window; if a 0 was entered, the top CAB window will be used msg[6] = 0 msg[7] = 0
CAB_REQUESTSTATUS (0xCAB5) (message to CAB)
This can be sent to CAB to check whether CAB is currently online
or offline. CAB subsequently sends the message CAB_STATUS at each
change of the online/offline state.
msg[0] = 0xCAB5 msg[1] = ID of the PRG msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_RELEASESTATUS (0xCAB7) (message to CAB)
This should be sent to CAB when a program is no longer interested
in the on/offline information that was requested with
CAB_REQUESTSTATUS (e.g. because it terminates itself).
msg[0] = 0xCAB7 msg[1] = ID of the PRG msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_STATUS (0xCAB6) (message from CAB)
This is sent by CAB to all programs that have registered
themselves with CAB_REQUESTSTATUS.
msg[0] = 0xCAB6 msg[1] = ID of the PRG msg[2] = 0 msg[3] = 1 if CAB online; 0 if CAB offline msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_EXIT (0xCAB1) (message from CAB)
This is sent by CAB as soon as CAB terminates to all programs that
have registered themselves with CAB_REQUESTSTATUS. Before this a
CAB_STATUS is sent in which the offline state is reported.
msg[0] = 0xCAB1 msg[1] = ID of the PRG msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_MAIL (0xCAB9) (message to CAB)
This can be sent to CAB to transmit mails.
msg[0] = 0xCAB9 msg[1] = ID of the PRG msg[2] = 0 msg[3] = \ Pointer to the URL; a subject can be appended directly to msg[4] = / the URL, separated by a question mark msg[5] = \ Pointer to a file holding the mail contents, or NULL (in msg[6] = / which case CAB opens an editor into which the mail can be entered) msg[7] = Bit-vector with further options: Bit 0: 0 if the mail file is to be sent immediately, or 1 if the mail file is still to be edited/altered in CAB by the user Bit 1: With 1 the mail file will be deleted after it has been sent, while 0 means it will be retained Bit 2-15: 0 (reserved)
CAB_MAILSENT (0xCABA) (message from CAB)
This is sent by CAB to the program that has sent CAB_MAIL and
contains infomation whether sending of the mail worked correctly or
not.
msg[0] = 0xCABA msg[1] = ID of CAB msg[2] = 0 msg[3] = 1 if the mail was sent without error; 0 if an error occurred (in which case one can find the cause of the error in msg[4]) msg[4] = Contains an error number if msg[3]=0 0: No URL specified 1: Offline, net connection failed, server not accessible 2: User has aborted the action (if the mail is to be modified in CAB, the user has the option of aborting the action) 3: GEMDOS error on accessing the mail file 4: Editor for modifying the file could not be called msg[5] = 0 msg[6] = 0 msg[7] = 0
Special messages for 'Cache-Tools'
CAB_CHANGED (0xCAB0) (message to/from CAB)
The cache (or CACHE.CAB) has been changed and should be read in
anew.
msg[0] = 0xCAB0 msg[1] = ID of CAB/the PRG msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_EXIT (0xCAB1) (message to/from CAB)
CAB or the Cache-Tool terminates itself (as information for the
other PRG in each case).
msg[0] = 0xCAB1 msg[1] = ID of CAB/the PRG msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_PATH (0xCAB2) (message from CAB)
The local HTML directory and/or the cache directory was altered.
Further information is available in the Cache-Tools documentation.
msg[0] = 0xCAB2 msg[1] = ID of CAB msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_TERM (0xCAB4) (message from CAB)
The Cache-Tool should terminate itself.
msg[0] = 0xCAB4 msg[1] = ID of CAB msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
This message is either accompanied by the MU_MESAG bit of an
evnt_multi return, or is returned by the evnt_mesag call. When this
message occurs, the message buffer contains:
Portion | Contents |
msg[0] | 0xE000 |
msg[3] | The object index of the menu title selected |
msg[4] | The object index of the selected menu item |
msg[5], [6] | The object tree of the menu item selected |
msg[7] | The handle of the window containing the menu |
This message is received when the user clicks on a window gadget
in a window whose flags were modified with the wind_tree function. It
only occurs when the X_WTFL_CLICKS attribute is off. If the user
clicks on one of the normal scroll gadgets or arrows, a standard
WM_ARROWED message is sent to the application. However, when the user
clicks on any other gadget, an X_WM_SELECTED message is sent:
Portion | Contents |
msg[0] | 0xE100 |
msg[3] | The handle of the window containing the gadget |
msg[4] | The object index of the window tree object the user |
clicked on |
This message is sent to the Help display program when the user
requests help on a certain topic. The message is actually comprised of
two parts. When the application sees the X_GET_HELP message, it must
then use the appl_read function to get the entire remainder of the
message, whether it intends to use the whole thing or not. The first
part of the message is comprised of the following values:
Portion | Contents |
msg[0] | 0xE200 |
msg[1] | Application ID |
msg[2] | Length of the second part ofthe message |
msg[3] | Length of the topic portion of the message, including |
the NUL terminator | |
msg[4] | Length of the filename portion of the message, including |
the NUL terminator | |
msg[5] | Upper/lowercase sensitivity. If non-zero, the topic is |
case-sensitive. |
void read_string( char *s, int max, int size ) { char dummy; if( size<=max ) /* the whole string fits */ appl_read( my_application_id, size, s ); else { /* read what we can */ appl_read( my_application_id, max-1, s); s[max-1] = '\0'; /* terminate the string */ /* now, get the remaining bytes of the string */ for( size=size-(max-1); size>0; size-- ) appl_read( my_application_id, 1, &dummy ); } } main() { int msg[8], caps_sens; char topic[20], filename[100]; evnt_mesag( msg ); switch( msg[0] ) { case X_GET_HELP: caps_sens = msg[5]; /* Read the topic portion */ read_string( topic, sizeof(topic), msg[3] ); /* Read the filename portion */ read_string( filename, sizeof(filename). msg[4] ); /* Do whatever with it... */
This message is sent to an application when the position of the
horizontal split bar has changed:
Portion | Contents |
msg[0] | 0xE400 |
msg[1] | Application ID |
msg[2] | 0 |
msg[3] | Handle of the window being affected |
msg[4] | The new offset (in pixels) of the split bar |
This message is sent to an application when the user has licked on
one of the arrow or scroll bar gadgets which are not reported by the
normal WM_ARROWED message. X_WM_ARROWED2 reports changes in gadgets
which are below a vertical split bar and/or to the right of a
horizontal split bar. The format of a X_WM_ARROWED2 message is
identical to that of WM_ARROWED.
See the x_wind_create function for more information.
This message is sent to an application when the user has dragged
the second horizontal scroll gadget, which appears to the right of a
horizontal split bar. The format of this message is identical to that
of WM_HSLID.
See the x_wind_create function for more information.
This message is sent to an application when the user has dragged
the second vertical scroll gadget, which appears below a vertical
split bar. The format of this message is identical to that of
WM_VSLID.
See the x_wind_create function for more information.
This message type is returned to an application when it uses
wind_set mode X_WF_OBJHAND to affect the manner in which window
gadgets are handled.
If an application receives this message, it is because the
object tree handler routine instructed Geneva not to process the mouse
click on a window gadget as a normal event. Instead, a special message
is returned to the application:
Portion | Contents |
msg[0] | 0xE900 |
msg[1] | Application ID |
msg[2] | 0 |
msg[3] | Handle of the window containing the object |
msg[4] | Object tree index of the object which was clicked |
The RSDAEMON is a parallel-running application which assumes the task of the resolver with an AES message. It's intended as a kind of non-blocking gethostbyname, although the RSDAEMON only returns an IP, not a complete hostent-struct.
The RSDAEMON is normally started and terminated automatically by IConnect.
Utilization:
With appl_find("RSDAEMON") the App ID is to be obtained. In case of error one should fall back to the blocking gethostbyname, and only if nothing else is possible, break off with an error-message.
Now the RSDAEMON can be sent an AES message:
#include <rsdaemon.h> pbuf[0]=RSDAEMON_MSG pbuf[1]=<eigene App-ID> pbuf[2]=0 pbuf[3]=RSD_REQUEST_IP pbuf[4]=<Own freely choosable ID, to be able to assign the reply> pbuf[5/6]=<Pointer to the string that contains the nname of the host> (Pay attention to possible memory protection!) The RSDAEMON returns a reply of the following form: pbuf[0]=RSDAEMON_MSG pbuf[1]=<RSDAEMON ID> pbuf[2]=0 pbuf[3]=RSD_IP_UNKNOWN = IP could not be obtained. This may be due to various causes (user has not entered a DNS, the DNS does not recognize the host etc.) pbuf[4]=<Here the ID of the request is returned> or: pbuf[3]=RSD_IP_FOUND pbuf[4]=<Here the ID of the request is returned> pbuf[5/6]=<IP of the host as ulong>
And here still the RSDAEMON.H:
#ifndef __RSDAEMON__ #define __RSDAEMON__ #define RSDAEMON_MSG 0x995 #define RSD_REQUEST_IP 1 #define RSD_IP_FOUND 2 #define RSD_IP_UNKNOWN 3 #endif